From e116d104efa910f356feeb8fd7c79237ed2c2bbd Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Wed, 12 Feb 2025 15:06:54 +0100 Subject: [PATCH] Import gcc-14_14.2.0-17.debian.tar.xz [dgit import tarball gcc-14 14.2.0-17 gcc-14_14.2.0-17.debian.tar.xz] --- NEWS.gcc | 930 + NEWS.html | 1633 + README.Bugs.m4 | 333 + README.C++ | 35 + README.Debian | 45 + README.cross | 22 + README.libstdc++-baseline.in | 2 + README.maintainers | 190 + README.snapshot | 46 + README.source | 29 + README.ssp | 28 + TODO | 58 + ada/README.gnat | 39 + ada/confirm_debian_bugs.py | 899 + ada/libgnat_alihash | 39 + ada/test_ada_source_date_epoch.sh | 97 + bin-wrapper.in | 11 + changelog | 17554 + compat | 1 + control | 5668 + control.m4 | 4747 + copyright | 1532 + copyright.in | 1532 + cpp-BV-CRB.preinst.in | 11 + cpp-BV-doc.doc-base.cpp | 16 + cpp-BV-doc.doc-base.cppint | 17 + dh_doclink | 12 + dh_rmemptydirs | 10 + dummy-man.1 | 29 + dummy.texi | 1 + g++-BV-CRB.preinst.in | 11 + gcc-BV-CRB.preinst.in | 12 + gcc-BV-doc.doc-base.gcc | 14 + gcc-BV-doc.doc-base.gccint | 17 + gcc-BV-doc.doc-base.gomp | 15 + gcc-BV-doc.doc-base.itm | 16 + gcc-BV-doc.doc-base.qmath | 14 + gcc-BV-hppa64-linux-gnu.overrides | 3 + gcc-BV-multilib.overrides | 1 + gcc-BV-source.overrides | 5 + gcc-XX-BV.1 | 21 + gcc-dummy.texi | 41 + gcc-snapshot.overrides | 17 + gcc-snapshot.prerm | 6 + gcc.css | 150 + gccgo-BV-doc.doc-base | 17 + gen-libstdc-breaks.sh | 178 + gfortran-BV-CRB.preinst.in | 11 + gfortran-BV-doc.doc-base | 14 + gm2-BV-doc.doc-base | 14 + gnat-BV-doc.doc-base.rm | 16 + gnat-BV-doc.doc-base.style | 16 + gnat-BV-doc.doc-base.ug | 16 + gnat.1 | 43 + lib32asan8.symbols | 10 + lib32gccLC.postinst | 12 + lib32stdc++CXX.postinst | 12 + lib64asan8.symbols | 7 + lib64gccLC.postinst | 12 + lib64stdc++CXX.postinst | 12 + libasan.symbols.16 | 38 + libasan.symbols.32 | 26 + libasan.symbols.64 | 13 + libasan.symbols.common | 2976 + libasan8.symbols | 51 + libatomic.symbols | 4 + libcc1-0.symbols | 70 + libgcc-s.symbols | 31 + libgcc-s2.symbols.m68k | 169 + libgcc-s4.symbols.hppa | 103 + libgcc.symbols.aeabi | 69 + libgccjit0.symbols | 29 + libgfortran.symbols | 10 + libgm2.symbols | 1644 + libgomp.symbols | 37 + libgphobos.symbols | 2 + libgphobos5.symbols.amd64 | 21564 + libhwasan0.symbols | 999 + libitm.symbols | 3 + liblsan0.symbols | 249 + libobjc.symbols | 9 + libobjc.symbols.common | 205 + libobjc.symbols.gc | 522 + libquadmath.symbols | 4 + libstdc++-BV-doc.doc-base | 13 + libstdc++-BV-doc.overrides | 8 + libstdc++.symbols | 65 + libstdc++CXX.prerm | 13 + libtsan2.symbols | 3280 + libubsan1.symbols | 155 + libvtv0.symbols | 68 + libx32asan8.symbols | 6 + locale-gen | 51 + logwatch.sh | 125 + ...imeval-and-timespec-definitions-and-c.diff | 4395 + ...its-time-functions-from-GNU-libc-when.diff | 258 + patches/ada-749574.diff | 56 + patches/ada-armel-libatomic.diff | 90 + patches/ada-gcc-name.diff | 292 + patches/ada-gnat-name.diff | 32 + patches/ada-gnattools-cross.diff | 228 + patches/ada-hurd-amd64.diff | 37 + patches/ada-lib-info-source-date-epoch.diff | 121 + patches/ada-link-lib.diff | 168 + patches/ada-perl-shebang.diff | 10 + patches/ada-sjlj.diff | 498 + patches/ada-verbose.diff | 36 + patches/alpha-ieee-doc.diff | 26 + patches/alpha-ieee.diff | 17 + patches/alpha-no-ev4-directive.diff | 30 + patches/arc-stddef.diff | 29 + patches/arm-multilib-defaults.diff | 88 + patches/arm-multilib-soft-float.diff | 26 + patches/binutils-pr32491.diff | 72 + patches/bootstrap-no-unneeded-libs.diff | 30 + patches/canonical-cpppath.diff | 34 + patches/config-ml.diff | 52 + patches/cross-biarch.diff | 89 + patches/cross-fixes.diff | 57 + patches/cross-install-location.diff | 497 + patches/cross-no-locale-include.diff | 17 + patches/cuda-float128.diff | 46 + patches/disable-gdc-tests.diff | 17 + patches/dwarf5-revert-default-doc.diff | 14 + patches/dwarf5-revert-default.diff | 24 + patches/g++-multiarch-incdir.diff | 109 + patches/gcc-arm-disable-guality-tests.diff | 44 + patches/gcc-as-needed-gold.diff | 85 + patches/gcc-as-needed.diff | 285 + patches/gcc-auto-build.diff | 13 + patches/gcc-distro-specs-ubuntu-doc.diff | 78 + patches/gcc-distro-specs.diff | 321 + patches/gcc-driver-extra-langs.diff | 20 + patches/gcc-foffload-default.diff | 120 + patches/gcc-force-cross-layout.diff | 49 + patches/gcc-gfdl-build.diff | 39 + patches/gcc-hash-style-gnu.diff | 164 + patches/gcc-ice-apport.diff | 39 + patches/gcc-ice-dump.diff | 111 + patches/gcc-multiarch.diff | 189 + patches/gcc-multilib-multiarch.diff | 100 + patches/gcc-no-multilib-dejagnu.diff | 61 + patches/gcc-search-prefixed-as-ld.diff | 37 + patches/gcc-target-include-asm.diff | 13 + patches/gcc-textdomain.diff | 86 + patches/gcc-verbose-lto-link.diff | 13 + patches/gcc-vhdl.diff | 15 + patches/gccrs-bootstrap-mipsel.diff | 12 + patches/gdc-dynamic-link-phobos.diff | 17 + patches/gdc-multiarch.diff | 17 + patches/gdc-texinfo.diff | 53 + patches/git-doc-updates.diff | 600 + patches/git-updates.diff | 673307 +++++++++++++++ patches/gm2-bootstrap-compare.diff | 12 + patches/gm2-texinfo.diff | 30 + patches/go-testsuite.diff | 19 + patches/hppa64-libgcov-fallback.diff | 15 + patches/hurd-changes.diff | 20 + patches/hurd-multiarch.diff | 16 + patches/hurd-multilib-multiarch.diff | 23 + .../ia64-disable-selective-scheduling.diff | 16 + .../ignore-pie-specs-when-not-enabled.diff | 56 + patches/libasan-sparc.diff | 163 + patches/libffi-race-condition.diff | 33 + patches/libffi-ro-eh_frame_sect.diff | 13 + patches/libgo-cleanfiles.diff | 26 + patches/libgo-hurd-hack.diff | 22 + patches/libgo-hurd-syscall.diff | 47 + patches/libgo-revert-timeout-exp.diff | 10 + patches/libgo-setcontext-config.diff | 19 + patches/libgo-testsuite.diff | 76 + patches/libgomp-omp_h-multilib.diff | 32 + patches/libitm-no-fortify-source.diff | 17 + patches/libphobos-unittest.diff | 13 + patches/libphobos-zlib.diff | 72 + patches/libsanitizer-timebits.diff | 12 + patches/libstdc++-doclink.diff | 61 + .../libstdc++-doxygen-SOURCE_DATE_EPOCH.diff | 13 + patches/libstdc++-hurd.diff | 48 + patches/libstdc++-man-3cxx.diff | 63 + patches/libstdc++-no-testsuite.diff | 12 + patches/libstdc++-nothumb-check.diff | 38 + patches/libstdc++-pic.diff | 91 + patches/libstdc++-pythondir.diff | 22 + patches/libstdc++-test-installed.diff | 76 + patches/musl-ssp.diff | 21 + patches/newlib-amdgcn-locks.diff | 303 + patches/note-gnu-stack.diff | 125 + patches/pr104290-followup.diff | 14 + patches/pr107475.diff | 10 + patches/pr118045.diff | 78 + patches/pr118501.diff | 130 + patches/pr39491.diff | 132 + patches/pr66368.diff | 22 + patches/pr67590.diff | 36 + patches/pr67899.diff | 31 + patches/pr79724-revert.diff | 24 + patches/pr81829.diff | 308 + patches/pr87808.diff | 56 + patches/pr94253.diff | 48 + patches/pr99832-distro.diff | 46 + patches/rename-info-files.diff | 661 + patches/rust-enabled.diff | 23 + patches/skip-bootstrap-multilib.diff | 22 + patches/sparc64-biarch-long-double-128.diff | 33 + patches/t-libunwind-elf-Wl-z-defs.diff | 13 + patches/testsuite-glibc-warnings.diff | 18 + patches/testsuite-hardening-format.diff | 304 + patches/testsuite-hardening-printf-types.diff | 667 + patches/testsuite-hardening-updates.diff | 84 + porting.html | 30 + reduce-test-diff.awk | 33 + rules | 100 + rules.conf | 1346 + rules.d/binary-ada.mk | 263 + rules.d/binary-base.mk | 49 + rules.d/binary-cpp.mk | 143 + rules.d/binary-cxx.mk | 142 + rules.d/binary-d.mk | 314 + rules.d/binary-fortran.mk | 309 + rules.d/binary-gcc.mk | 385 + rules.d/binary-gcn.mk | 124 + rules.d/binary-go.mk | 423 + rules.d/binary-hppa64.mk | 39 + rules.d/binary-libasan.mk | 72 + rules.d/binary-libatomic.mk | 56 + rules.d/binary-libcc1.mk | 31 + rules.d/binary-libgcc.mk | 318 + rules.d/binary-libgccjit.mk | 95 + rules.d/binary-libgomp.mk | 57 + rules.d/binary-libhwasan.mk | 71 + rules.d/binary-libitm.mk | 57 + rules.d/binary-liblsan.mk | 67 + rules.d/binary-libobjc.mk | 137 + rules.d/binary-libquadmath.mk | 57 + rules.d/binary-libssp.mk | 155 + rules.d/binary-libstdcxx.mk | 498 + rules.d/binary-libtsan.mk | 70 + rules.d/binary-libubsan.mk | 67 + rules.d/binary-libvtv.mk | 64 + rules.d/binary-m2.mk | 326 + rules.d/binary-nof.mk | 51 + rules.d/binary-nvptx.mk | 99 + rules.d/binary-objc.mk | 118 + rules.d/binary-objcxx.mk | 111 + rules.d/binary-rust.mk | 334 + rules.d/binary-snapshot.mk | 208 + rules.d/binary-softfloat.mk | 31 + rules.d/binary-source.mk | 54 + rules.d/binary-toolchain.mk | 210 + rules.defs | 2211 + rules.parameters | 41 + rules.patch | 384 + rules.sonames | 94 + rules.source | 15 + rules.unpack | 210 + rules2 | 3078 + runcheck.sh | 23 + source/format | 1 + source/lintian-overrides | 9 + tests/control | 31 + tests/libc-link | 30 + tests/libgfortran-link | 22 + tests/libgm2-link | 26 + tests/libgnat-link | 24 + tests/libgo-link | 25 + tests/libgomp-link | 76 + tests/libgphobos-link | 32 + tests/libstdcxx-link | 26 + tests/runtime-libs | 29 + tests/shlib-build | 45 + usage-wrapper.py | 399 + watch | 3 + watch.snap | 3 + 274 files changed, 770639 insertions(+) create mode 100644 NEWS.gcc create mode 100644 NEWS.html create mode 100644 README.Bugs.m4 create mode 100644 README.C++ create mode 100644 README.Debian create mode 100644 README.cross create mode 100644 README.libstdc++-baseline.in create mode 100644 README.maintainers create mode 100644 README.snapshot create mode 100644 README.source create mode 100644 README.ssp create mode 100644 TODO create mode 100644 ada/README.gnat create mode 100644 ada/confirm_debian_bugs.py create mode 100755 ada/libgnat_alihash create mode 100644 ada/test_ada_source_date_epoch.sh create mode 100644 bin-wrapper.in create mode 100644 changelog create mode 100644 compat create mode 100644 control create mode 100644 control.m4 create mode 100644 copyright create mode 100644 copyright.in create mode 100644 cpp-BV-CRB.preinst.in create mode 100644 cpp-BV-doc.doc-base.cpp create mode 100644 cpp-BV-doc.doc-base.cppint create mode 100755 dh_doclink create mode 100755 dh_rmemptydirs create mode 100644 dummy-man.1 create mode 100644 dummy.texi create mode 100644 g++-BV-CRB.preinst.in create mode 100644 gcc-BV-CRB.preinst.in create mode 100644 gcc-BV-doc.doc-base.gcc create mode 100644 gcc-BV-doc.doc-base.gccint create mode 100644 gcc-BV-doc.doc-base.gomp create mode 100644 gcc-BV-doc.doc-base.itm create mode 100644 gcc-BV-doc.doc-base.qmath create mode 100644 gcc-BV-hppa64-linux-gnu.overrides create mode 100644 gcc-BV-multilib.overrides create mode 100644 gcc-BV-source.overrides create mode 100644 gcc-XX-BV.1 create mode 100644 gcc-dummy.texi create mode 100644 gcc-snapshot.overrides create mode 100644 gcc-snapshot.prerm create mode 100644 gcc.css create mode 100644 gccgo-BV-doc.doc-base create mode 100755 gen-libstdc-breaks.sh create mode 100644 gfortran-BV-CRB.preinst.in create mode 100644 gfortran-BV-doc.doc-base create mode 100644 gm2-BV-doc.doc-base create mode 100644 gnat-BV-doc.doc-base.rm create mode 100644 gnat-BV-doc.doc-base.style create mode 100644 gnat-BV-doc.doc-base.ug create mode 100644 gnat.1 create mode 100644 lib32asan8.symbols create mode 100644 lib32gccLC.postinst create mode 100644 lib32stdc++CXX.postinst create mode 100644 lib64asan8.symbols create mode 100644 lib64gccLC.postinst create mode 100644 lib64stdc++CXX.postinst create mode 100644 libasan.symbols.16 create mode 100644 libasan.symbols.32 create mode 100644 libasan.symbols.64 create mode 100644 libasan.symbols.common create mode 100644 libasan8.symbols create mode 100644 libatomic.symbols create mode 100644 libcc1-0.symbols create mode 100644 libgcc-s.symbols create mode 100644 libgcc-s2.symbols.m68k create mode 100644 libgcc-s4.symbols.hppa create mode 100644 libgcc.symbols.aeabi create mode 100644 libgccjit0.symbols create mode 100644 libgfortran.symbols create mode 100644 libgm2.symbols create mode 100644 libgomp.symbols create mode 100644 libgphobos.symbols create mode 100644 libgphobos5.symbols.amd64 create mode 100644 libhwasan0.symbols create mode 100644 libitm.symbols create mode 100644 liblsan0.symbols create mode 100644 libobjc.symbols create mode 100644 libobjc.symbols.common create mode 100644 libobjc.symbols.gc create mode 100644 libquadmath.symbols create mode 100644 libstdc++-BV-doc.doc-base create mode 100644 libstdc++-BV-doc.overrides create mode 100644 libstdc++.symbols create mode 100644 libstdc++CXX.prerm create mode 100644 libtsan2.symbols create mode 100644 libubsan1.symbols create mode 100644 libvtv0.symbols create mode 100644 libx32asan8.symbols create mode 100755 locale-gen create mode 100755 logwatch.sh create mode 100644 patches/0004-Ada-merge-all-timeval-and-timespec-definitions-and-c.diff create mode 100644 patches/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff create mode 100644 patches/ada-749574.diff create mode 100644 patches/ada-armel-libatomic.diff create mode 100644 patches/ada-gcc-name.diff create mode 100644 patches/ada-gnat-name.diff create mode 100644 patches/ada-gnattools-cross.diff create mode 100644 patches/ada-hurd-amd64.diff create mode 100644 patches/ada-lib-info-source-date-epoch.diff create mode 100644 patches/ada-link-lib.diff create mode 100644 patches/ada-perl-shebang.diff create mode 100644 patches/ada-sjlj.diff create mode 100644 patches/ada-verbose.diff create mode 100644 patches/alpha-ieee-doc.diff create mode 100644 patches/alpha-ieee.diff create mode 100644 patches/alpha-no-ev4-directive.diff create mode 100644 patches/arc-stddef.diff create mode 100644 patches/arm-multilib-defaults.diff create mode 100644 patches/arm-multilib-soft-float.diff create mode 100644 patches/binutils-pr32491.diff create mode 100644 patches/bootstrap-no-unneeded-libs.diff create mode 100644 patches/canonical-cpppath.diff create mode 100644 patches/config-ml.diff create mode 100644 patches/cross-biarch.diff create mode 100644 patches/cross-fixes.diff create mode 100644 patches/cross-install-location.diff create mode 100644 patches/cross-no-locale-include.diff create mode 100644 patches/cuda-float128.diff create mode 100644 patches/disable-gdc-tests.diff create mode 100644 patches/dwarf5-revert-default-doc.diff create mode 100644 patches/dwarf5-revert-default.diff create mode 100644 patches/g++-multiarch-incdir.diff create mode 100644 patches/gcc-arm-disable-guality-tests.diff create mode 100644 patches/gcc-as-needed-gold.diff create mode 100644 patches/gcc-as-needed.diff create mode 100644 patches/gcc-auto-build.diff create mode 100644 patches/gcc-distro-specs-ubuntu-doc.diff create mode 100644 patches/gcc-distro-specs.diff create mode 100644 patches/gcc-driver-extra-langs.diff create mode 100644 patches/gcc-foffload-default.diff create mode 100644 patches/gcc-force-cross-layout.diff create mode 100644 patches/gcc-gfdl-build.diff create mode 100644 patches/gcc-hash-style-gnu.diff create mode 100644 patches/gcc-ice-apport.diff create mode 100644 patches/gcc-ice-dump.diff create mode 100644 patches/gcc-multiarch.diff create mode 100644 patches/gcc-multilib-multiarch.diff create mode 100644 patches/gcc-no-multilib-dejagnu.diff create mode 100644 patches/gcc-search-prefixed-as-ld.diff create mode 100644 patches/gcc-target-include-asm.diff create mode 100644 patches/gcc-textdomain.diff create mode 100644 patches/gcc-verbose-lto-link.diff create mode 100644 patches/gcc-vhdl.diff create mode 100644 patches/gccrs-bootstrap-mipsel.diff create mode 100644 patches/gdc-dynamic-link-phobos.diff create mode 100644 patches/gdc-multiarch.diff create mode 100644 patches/gdc-texinfo.diff create mode 100644 patches/git-doc-updates.diff create mode 100644 patches/git-updates.diff create mode 100644 patches/gm2-bootstrap-compare.diff create mode 100644 patches/gm2-texinfo.diff create mode 100644 patches/go-testsuite.diff create mode 100644 patches/hppa64-libgcov-fallback.diff create mode 100644 patches/hurd-changes.diff create mode 100644 patches/hurd-multiarch.diff create mode 100644 patches/hurd-multilib-multiarch.diff create mode 100644 patches/ia64-disable-selective-scheduling.diff create mode 100644 patches/ignore-pie-specs-when-not-enabled.diff create mode 100644 patches/libasan-sparc.diff create mode 100644 patches/libffi-race-condition.diff create mode 100644 patches/libffi-ro-eh_frame_sect.diff create mode 100644 patches/libgo-cleanfiles.diff create mode 100644 patches/libgo-hurd-hack.diff create mode 100644 patches/libgo-hurd-syscall.diff create mode 100644 patches/libgo-revert-timeout-exp.diff create mode 100644 patches/libgo-setcontext-config.diff create mode 100644 patches/libgo-testsuite.diff create mode 100644 patches/libgomp-omp_h-multilib.diff create mode 100644 patches/libitm-no-fortify-source.diff create mode 100644 patches/libphobos-unittest.diff create mode 100644 patches/libphobos-zlib.diff create mode 100644 patches/libsanitizer-timebits.diff create mode 100644 patches/libstdc++-doclink.diff create mode 100644 patches/libstdc++-doxygen-SOURCE_DATE_EPOCH.diff create mode 100644 patches/libstdc++-hurd.diff create mode 100644 patches/libstdc++-man-3cxx.diff create mode 100644 patches/libstdc++-no-testsuite.diff create mode 100644 patches/libstdc++-nothumb-check.diff create mode 100644 patches/libstdc++-pic.diff create mode 100644 patches/libstdc++-pythondir.diff create mode 100644 patches/libstdc++-test-installed.diff create mode 100644 patches/musl-ssp.diff create mode 100644 patches/newlib-amdgcn-locks.diff create mode 100644 patches/note-gnu-stack.diff create mode 100644 patches/pr104290-followup.diff create mode 100644 patches/pr107475.diff create mode 100644 patches/pr118045.diff create mode 100644 patches/pr118501.diff create mode 100644 patches/pr39491.diff create mode 100644 patches/pr66368.diff create mode 100644 patches/pr67590.diff create mode 100644 patches/pr67899.diff create mode 100644 patches/pr79724-revert.diff create mode 100644 patches/pr81829.diff create mode 100644 patches/pr87808.diff create mode 100644 patches/pr94253.diff create mode 100644 patches/pr99832-distro.diff create mode 100644 patches/rename-info-files.diff create mode 100644 patches/rust-enabled.diff create mode 100644 patches/skip-bootstrap-multilib.diff create mode 100644 patches/sparc64-biarch-long-double-128.diff create mode 100644 patches/t-libunwind-elf-Wl-z-defs.diff create mode 100644 patches/testsuite-glibc-warnings.diff create mode 100644 patches/testsuite-hardening-format.diff create mode 100644 patches/testsuite-hardening-printf-types.diff create mode 100644 patches/testsuite-hardening-updates.diff create mode 100644 porting.html create mode 100755 reduce-test-diff.awk create mode 100755 rules create mode 100644 rules.conf create mode 100644 rules.d/binary-ada.mk create mode 100644 rules.d/binary-base.mk create mode 100644 rules.d/binary-cpp.mk create mode 100644 rules.d/binary-cxx.mk create mode 100644 rules.d/binary-d.mk create mode 100644 rules.d/binary-fortran.mk create mode 100644 rules.d/binary-gcc.mk create mode 100644 rules.d/binary-gcn.mk create mode 100644 rules.d/binary-go.mk create mode 100644 rules.d/binary-hppa64.mk create mode 100644 rules.d/binary-libasan.mk create mode 100644 rules.d/binary-libatomic.mk create mode 100644 rules.d/binary-libcc1.mk create mode 100644 rules.d/binary-libgcc.mk create mode 100644 rules.d/binary-libgccjit.mk create mode 100644 rules.d/binary-libgomp.mk create mode 100644 rules.d/binary-libhwasan.mk create mode 100644 rules.d/binary-libitm.mk create mode 100644 rules.d/binary-liblsan.mk create mode 100644 rules.d/binary-libobjc.mk create mode 100644 rules.d/binary-libquadmath.mk create mode 100644 rules.d/binary-libssp.mk create mode 100644 rules.d/binary-libstdcxx.mk create mode 100644 rules.d/binary-libtsan.mk create mode 100644 rules.d/binary-libubsan.mk create mode 100644 rules.d/binary-libvtv.mk create mode 100644 rules.d/binary-m2.mk create mode 100644 rules.d/binary-nof.mk create mode 100644 rules.d/binary-nvptx.mk create mode 100644 rules.d/binary-objc.mk create mode 100644 rules.d/binary-objcxx.mk create mode 100644 rules.d/binary-rust.mk create mode 100644 rules.d/binary-snapshot.mk create mode 100644 rules.d/binary-softfloat.mk create mode 100644 rules.d/binary-source.mk create mode 100644 rules.d/binary-toolchain.mk create mode 100644 rules.defs create mode 100644 rules.parameters create mode 100644 rules.patch create mode 100644 rules.sonames create mode 100644 rules.source create mode 100644 rules.unpack create mode 100644 rules2 create mode 100644 runcheck.sh create mode 100644 source/format create mode 100644 source/lintian-overrides create mode 100644 tests/control create mode 100755 tests/libc-link create mode 100755 tests/libgfortran-link create mode 100755 tests/libgm2-link create mode 100755 tests/libgnat-link create mode 100755 tests/libgo-link create mode 100755 tests/libgomp-link create mode 100755 tests/libgphobos-link create mode 100755 tests/libstdcxx-link create mode 100755 tests/runtime-libs create mode 100755 tests/shlib-build create mode 100755 usage-wrapper.py create mode 100644 watch create mode 100644 watch.snap diff --git a/NEWS.gcc b/NEWS.gcc new file mode 100644 index 0000000..660ba9a --- /dev/null +++ b/NEWS.gcc @@ -0,0 +1,930 @@ + +GCC 14 Release Series - Changes, New Features, and Fixes + +This page is a "brief" summary of some of the huge number of improvements in +GCC 14. You may also want to check out our Porting_to_GCC_14 page and the full +GCC_documentation. + +Caveats + + * C: Support for the GCC extension, a structure containing a C99 flexible + array member, or a union containing such a structure, is not the last + field of another structure, is deprecated. Refer to Zero_Length_Arrays. + Any code relying on this extension should be modifed to ensure that C99 + flexible array members only end up at the ends of structures. Please use + the warning option -Wflex-array-member-not-at-end to identify all such + cases in the source code and modify them. + * C: Certain warnings about are now errors, see Porting_to_GCC_14 for + details. + * -fcf-protection=[full|branch|return|none|check] is refactored, to + override -fcf-protection, -fcf-protection=none needs to be added and then + with -fcf-protection=xxx. + * Support for the ia64*-*- target ports which have been unmaintained for + quite a while has been declared obsolete in GCC 14. The next release of + GCC will have their sources permanently removed. + * Support for the nios2*-*- target ports has also been declared obsolete in + GCC 14, and the sources will also be removed in the next release of GCC. + * -fanalyzer is still only suitable for analyzing C code. In particular, + using it on C++ is unlikely to give meaningful output. + +General Improvements + + * For offload-device code generated via OpenMP and OpenACC, the math and + the Fortran runtime libraries will now automatically be linked, when the + user or compiler links them on the host side. Thus, it is no longer + required to explicitly pass -lm and/or -lgfortran to the offload-device + linker using the -foffload-options= flag. + * New configure options: --enable-host-pie, to build the compiler + executables as PIE; and --enable-host-bind-now, to link the compiler + executables with -Wl,-z,now in order to enable additional hardening. + * New option -fhardened, an umbrella option that enables a set of hardening + flags. The options it enables can be displayed using the --help=hardened + option. + * New option -fharden-control-flow-redundancy, to verify, at the end of + functions, that the visited basic blocks correspond to a legitimate + execution path, so as to detect and prevent attacks that transfer control + into the middle of functions. + * New type attribute hardbool, for C and Ada. Hardened booleans take user- + specified representations for true and false, presumably with higher + hamming distance than standard booleans, and get verified at every use, + detecting memory corruption and some malicious attacks. + * New type attribute strub to control stack scrubbing properties of + functions and variables. The stack frame used by functions marked with + the attribute gets zeroed-out upon returning or exception escaping. + Scalar variables marked with the attribute cause functions contaning or + accessing them to get stack scrubbing enabled implicitly. + * New option -finline-stringops, to force inline expansion of memcmp, + memcpy, memmove and memset, even when that is not an optimization, to + avoid relying on library implementations. + * New function attribute null_terminated_string_arg(PARAM_IDX) for + indicating parameters that are expected to be null-terminated strings. + * The vectorizer now supports vectorizing loops which contain any number of + early breaks. This means loops such as: + int z[100], y[100], x[100]; + int foo (int n) + { + int res = 0; + for (int i = 0; i < n; i++) + { + y[i] = x[i] * 2; + res += x[i] + y[i]; + + if (x[i] > 5) + break; + + if (z[i] > 5) + break; + + } + return res; + } + + can now be vectorized on a number of targets. In this first version any + input data sources must either have a statically known size at compile + time or the vectorizer must be able to determine based on auxillary + information that the accesses are aligned. + +New Languages and Language specific improvements + + * OpenMP + o The GNU_Offloading_and_Multi_Processing_Runtime_Library_Manual has + been updated and extended, improving especially the description of + ICVs, memory allocation, environment variables and OpenMP routines. + o The requires directive's unified_address requirement is now + fulfilled by both AMD GCN and nvptx devices. AMD GCN and nvptx + devices now support low-latency allocators as detailed_in_the + manual. Initial support for pinned-memory allocators has been added + and, on Linux, libnuma is now used for allocators requesting the + nearest-partition trait (both is described in the memory_allocation + section_of_the_manual). + o OpenMP 5.0: The allocate directive is now supported for stack + variables in C and Fortran, including the OpenMP 5.1 align + modifier. In C and C++ the map clause now accepts lvalue + expressions. For Fortran, OpenMP allocators can now be used for + allocatables and pointers using the allocate directive and its + OpenMP 5.2 replacement, the allocators directive; files using this + allocator and all files that might directly or indirectly + (intrinisic assignment, intent(out), ...) de- or reallocate such- + allocated variables must be compiled with the -fopenmp-allocators + option. + o OpenMP 5.1: Support was added for collapsing imperfectly nested + loops and using present as map-type modifier and in defaultmap. The + indirect clause is now supported. The performance of copying + strided data from or to nvptx and AMD GPU devices using the OpenMP + 5.1 routine omp_target_memcpy_rect has been improved. + o OpenMP 5.2: The OMP_TARGET_OFFLOAD=mandatory handling has been + updated for the clarifications and changes of the 5.2 + specification. For Fortran, the list of directives permitted in + Fortran pure procedures was extended. Additionally, the spec change + has been implemented for default implicit mapping of C/C++ pointers + pointing to unmapped storage. The destroy clause now optionally + accepts the depend object as argument. + o OpenMP 6.0 preview (TR11/TR12): The decl attribute is now supported + in C++ 11 and the directive, sequence and decl attributes are now + supported in C 23. + * OpenACC + o OpenACC 2.7: The self clause was added to be used on compute + constructs and the default clause for data constructs. + Additionally, the readonly modifier is now handled in the copyin + clause and cache directive. + o OpenACC 3.2: The following API routines are now available in + Fortran using the openacc module or the openacc_lib.h header file: + acc_malloc, acc_free, acc_map_data, acc_unmap_data, acc_deviceptr, + acc_hostptr, acc_memcpy_to_device, acc_memcpy_to_device_async, + acc_memcpy_from_device, and acc_memcpy_from_device_async. + +Ada + + * New implementation-defined aspects and pragmas: + o Local_Restrictions, which specifies that a particular subprogram + does not violate one or more local restrictions, nor can it call a + subprogram that is not subject to the same requirements. + o User_Aspect_Definition and User_Aspect, which provide a mechanism + for avoiding textual duplication if some set of aspect + specifications is needed in multiple places. + * New implementation-defined aspects and pragmas for verification of the + SPARK 2014 subset of Ada: + o Always_Terminates, which provides a condition for a subprogram to + necessarily complete (either return normally or raise an + exception). + o Ghost_Predicate, which introduces a subtype predicate that can + reference Ghost entities. + o Exceptional_Cases, which lists exceptions that might be propagated + by the subprogram with side effects in the context of its + precondition and associates them with a specific postcondition. + o Side_Effects, which indicates that a function should be handled + like a procedure with respect to parameter modes, Global contract, + exceptional contract and termination: it may have output + parameters, write global variables, raise exceptions and not + terminate. + * The new attributes and contracts have been applied to the relevant parts + of the Ada runtime library, which has been subsequently proven to be + correct with SPARK 2014. + * Support for the LoongArch architecture. + * Support for vxWorks 7 Cert RTP has been removed. + * Additional hardening improvements. For more information reltated to + hardening options, refer to the GCC_Instrumentation_Options and the GNAT + Reference_Manual,_Security_and_Hardening_Features. + * Improve style checking for redundant parentheses with -gnatyz + * New switch -gnateH to force reverse Bit_Order threshold to 64. + * Experimental features: + o Storage_Model: this feature proposes to redesign the concepts of + Storage Pools into a more efficient model allowing higher + performances and easier integration with low footprint embedded + run-times. + o String_Interpolation: allows for easier string formatting. + * Further clean up and improvements to the GNAT code. + +C family + * The Clang language extensions __has_feature and __has_extension have been + implemented in GCC. These are available from C, C++, and Objective-C(++). + This is primarily intended to aid the portability of code written against + Clang. + +C + + * Some more C23 features have been implemented: + o Bit-precise integer types (_BitInt (N) and unsigned _BitInt (N)): + integer types with a specified number of bits. These are only + supported on IA-32, x86-64 and AArch64 (little-endian) at present. + o Structure, union and enumeration types may be defined more than + once in the same scope with the same contents and the same tag; if + such types are defined with the same contents and the same tag in + different scopes, the types are compatible. + o The header for checked integer arithmetic. + * In addition to those C23 features, there are new command-line options - + std=c23, -std=gnu23 and -Wc11-c23-compat. These are equivalent to the + previous options -std=c2x, -std=gnu2x and -Wc11-c2x-compat, which are + deprecated but remain supported. + * GCC supports a new pragma #pragma GCC novector to indicate to the + vectorizer not to vectorize the loop annotated with the pragma. + +C++ + + * Several C++26 features have been implemented: + o P1854R4, Making non-encodable string literals ill-formed (PR110341) + o P2752R3, Static storage for braced initializers (PR110346) + o P2361R6, Unevaluated strings (PR110342) + o P2738R1, constexpr cast from void* (PR110344) + o P2741R3, User-generated static_assert messages (PR110348) + o P2169R4, Placeholder variables with no name (PR110349) + o P2864R2, Removing deprecated arithmetic conversion on enumerations + o P2748R5, Disallow binding a returned reference to a temporary + (PR114455) + o P2809R3, Trivial infinite loops are not undefined behavior + (PR114462) + * Several C++23 features have been implemented: + o P0847R7, Deducing this (PR102609) + o P2280R4, Using unknown references in constant expressions + (PR106650) + o P2564R3, consteval needs to propagate up (PR107687) + o P2582R1, Class template argument deduction from inherited + constructors (PR106653) + * Several C++ Defect Reports have been resolved, e.g.: + o DR_532, Member/nonmember operator template partial ordering + o DR_976, Deduction for const T& conversion operators + o DR_2262, Attributes for asm-definition + o DR_2359, Unintended copy initialization with designated + initializers + o DR_2386, tuple_size requirements for structured binding + o DR_2406, [[fallthrough]] attribute and iteration statements + o DR_2543, constinit and optimized dynamic initialization + o DR_2586, Explicit object parameter for assignment and comparison + o DR_2735, List-initialization and conversions in overload resolution + o DR_2799, Inheriting default constructors + * When a diagnostic occurrs involving a C++ template, GCC will now quote + the source code of the context at which the template is instantiated + ("required from here"), rather than just print filename and line/column + numbers. + * New built-in __type_pack_element to speed up traits such as std:: + tuple_element (PR100157) + * goto can cross the initialization of a trivially initialized object with + a non-trivial destructor (DR_2256) + * -Wdangling-reference false positives have been reduced. The warning does + not warn about std::span-like classes; there is also a new attribute + gnu::no_dangling to suppress the warning. See the_manual for more info. + * noexcept(expr) is now mangled as per the Itanium ABI + * the named return value optimization can now be performed even for + variables declared in an inner block of a function, see the test + * New -Wnrvo warning, to warn if the named return value optimization is not + performed although it is allowed by [class.copy.elision]. See the_manual + for more info. + * The backing array for std::initializer_list has been made static, + allowing combining multiple equivalent initializer-lists (git) + * New -Welaborated-enum-base warning, to warn if an additional enum-base is + used in an elaborated-type-specifier + * Better #include hints for missing headers (PR110164) + * The arguments of a variable template-id are coerced earlier than before, + so various problems are detected earlier (PR89442) + * -Wmissing-field-initializers is no longer emitted for empty classes + (PR110064) + * The constexpr code now tracks lifetimes in constant evaluation; this + change helps to detect bugs such as accessing a variable whose lifetime + has ended (PR70331, PR96630, PR98675) + * Array destruction can now be devirtualized + * In-class member variable template partial specializations are now + accepted (PR71954) + * Improved diagnostic for explicit conversion functions: when a conversion + doesn't work out only because the conversion function necessary to do the + conversion couldn't be used because it was marked explicit, explain that + to the user (git) + * Corrected mangling of static/thread_local structured bindings at + function/block scope (PR111069) + * [basic.scope.block]/2 violations are detected even in compound-stmt of + function-try-block and for block-scope external variables (PR52953) + * Improved "not a constant expression" diagnostic when taking the address + of a non-static constexpr variable (PR91483) + * Non-dependent simple assignments are checked even in templates (PR18474) + * Attributes hot and cold can be applied to classes as well. See the_manual + for more info. + * Function template constraints, as well as CTAD placeholders, are now + mangled + * Various decltype fixes: PR79620, PR79378, PR83167, PR96917 + * New option -fdiagnostics-all-candidates to note all candidates during + overload resolution failure + * -Walloc-size and -Wcalloc-transposed-args warnings are enabled for C++ as + well + * The DR 2237 code no longer gives an error, it emits a -Wtemplate-id-cdtor + warning instead + * GCC supports a new pragma #pragma GCC novector to indicate to the + vectorizer not to vectorize the loop annotated with the pragma. + * C++ module scanning for named modules is now available, based on the + format described in P1689R5, Format for describing dependencies of source + files. The -fdeps-format=, -fdeps-file=, and -fdeps-target= flags may be + used to generate dependency information. In GCC 14 p1689r5 is the only + valid argument for -fdeps-format=. + +Runtime Library (libstdc++) + + * The libstdc++exp.a library now includes all the Filesystem TS symbols + from the libstdc++fs.a library. The experimental symbols for the C++23 + std::stacktrace class are also in libstdc++exp.a, replacing the + libstdc++_libbacktrace.a library that GCC 13 provides. This means that - + lstdc++exp is the only library needed for all experimental libstdc++ + features. + * Improved experimental support for C++20, including: + o std::chrono::parse. + o Unicode-aware string handling in std::format. + * Improved experimental support for C++23, including: + o The std::ranges::to function for converting ranges to containers. + o The std::generator view for getting results from coroutines. + o The header is supported by default. + o std::print and std::println (requires linking with -lstdc++exp on + Windows). + o Formatters for std::thread::id and std::stacktrace. + o Smart pointer adaptors, std::out_ptr and std::inout_ptr. + o Some range adaptors now support move-only types. + * Experimental support for C++26, including: + o Native handles for filebuf, fstream, etc. + o Functions for saturation arithmetic on integers. + o std::to_string now uses std::format. + o Enhanced formatting of pointers with std::format. + o The std::runtime_format function to allow using non-literal format + strings with std::format. + o Testable result types for functions. + o The std::text_encoding class for identifying character sets + (requires linking with -lstdc++exp for some member functions). + * Faster numeric conversions using std::to_string and std::to_wstring. + * Updated parallel algorithms that are compatible with oneTBB. + * std::numeric_limits<_Float32> and std::numeric_limits<_Float64> are now + defined for all standard modes, not only for C++23. + * Added missing functions for float and long double to . + * Using the std::setfill manipulator with std::istream is deprecated. + +Fortran + + * The compiler now accepts the -std=f2023 option, which has been added in + preparation of support of Fortran 2023. This option increases the line- + length limit for source in free-form to 10000, and statements may have up + to 1 million characters. + * With the -save-temps option, preprocessed files with the .fii extension + will be generated from free-form source files such as .F90 and .fi from + fixed-form files such as .F. + +Modula-2 + * The automatic dependency generation options: -M, -MD, -MF, -MMD, -MP, -MQ + and -MT have been implemented in the compiler. + * The -Wcase-enum and -Wuninit-variable-checking= options have been + implemented to provide compile time warnings against missing case clauses + and uninitialized variables respectively. + +libgccjit + + * The libgccjit API gained 6 new entry points: + o gcc_jit_type_get_restrict for adding restrict to types + (LIBGCCJIT_ABI_25). + o 4 functions for setting attributes on functions and variables + (LIBGCCJIT_ABI_26): + # gcc_jit_function_add_attribute + # gcc_jit_function_add_string_attribute + # gcc_jit_function_add_integer_array_attribute + # gcc_jit_lvalue_add_string_attribute + o gcc_jit_context_new_sizeof for accessing the size of a type + (LIBGCCJIT_ABI_27). + +New Targets and Target Specific Improvements + +AArch64 + + * A number of new CPUs are supported through the -mcpu and -mtune options + (GCC identifiers in parentheses). + o Ampere-1B (ampere1b). + o Arm Cortex-A520 (cortex-a520). + o Arm Cortex-A720 (cortex-a720). + o Arm Cortex-X4 (cortex-x4). + o Microsoft Cobalt-100 (cobalt-100). + * Additionally, the identifiers generic, generic-armv8-a and generic-armv9- + a are added as arguments to -mcpu= and -mtune= to optimize code + generation aimed at a good blend of CPUs of a particular architecture + version. These tunings are also used as the default optimization targets + when compiling with the -march=armv8-a or -march=armv9-a options and + their point releases e.g. -march=armv8.2-a or -march=armv9.3-a. + * New features in the Arm architecture are supported in a number of ways: + o Support is added for the Arm Streaming Matrix Extensions SME and + SME2 through the +sme and +sme2 extensions to -march=. In + particular, this includes support for the Beta state of the SME + ACLE in the form of a new intrinsics arm_sme.h intrinsics header + and a number of new keyword attributes to manage use of the new + Streaming SVE state. For more information please refer to the ACLE + documentation. + o Libatomic is updated to implement 128-bit atomic operations + locklessly on systems with FEAT_LSE2. + o Support for FEAT_LRCPC3 is added through ACLE intrinsics in + arm_neon.h header and enabled through the +rcpc3 extension to - + march=. + * As well as numerous AArch64 code generation improvements, the following + optimization enhancements are noteworthy: + o A new AArch64-specific register allocation pass is added. It runs + in addition to standard register allocation. The pass's main + purpose is to make use of strided vector register operands in SME + instructions. However, it can also remove redundant moves in normal + Advanced SIMD and SVE code. The pass is controlled by the new + option -mearly-ra= that takes the arguments all, strided, none. - + mearly-ra=all is enabled by default at optimization levels -O2 and + above. + o A new optimization pass to fuse loads and stores to adjacent memory + locations into load and store-pair AArch64 instructions. The pass + is enabled by default when compiling with optimization and runs + twice in the optimization pipeline: before and after register + allocation. This can be controlled with the options -mearly-ldp- + fusion and -mlate-ldp-fusion. + * Conformance with the ACLE specification is improved and a number of + features aimed at helping developers deploy Arm architecture features are + added: + o Support for the Beta version of the Function_Multiversioning + Specification. This feature provides facilities to annotate + functions with attributes that allow the compiler to generate + multiple versions of the function, selected at runtime based on the + architecture features available in the system. Please refer to the + ACLE specification for more details. + o Support for more ACLE intrinsics in the arm_acle.h header, + including the Memory_prefetch_intrinsics and the Special_register + intrinsics. This also includes intrinsics for the extension to 128- + bit system registers, enabled through the +d128 extension to - + march=. + o Intrinsics enabled by the +dotprod, +fp16, +fp16fml, +i8mm, +sha3 + and +sm4 extensions to -march= no longer require -march=armv8.2- + a or higher to be specified. Likewise, the intrinsics enabled by + +memtag no longer require -march=armv8.5-a. + o Support for the NEON-SVE_Bridge_intrinsics. These are intrinsics + that allow conversions between NEON and SVE vectors, enabled + through the inclusion of the arm_neon_sve_bridge.h header. + * The option -mtp= is now supported for changing the TPIDR register used + for TLS accesses. For more details please refer to the documentation. + +AMD Radeon (GCN) + + * Initial support for the AMD Radeon gfx90c (GCN5), gfx1030, gfx1036 + (RDNA2), gfx1100 and gfx1103 (RDNA3) devices has been added. LLVM 15+ + (assembler and linker) is required_to_support_GFX11. + * Improved register usage and performance on CDNA Instinct MI100 and MI200 + series devices. + * The default device architecture is now gfx900 (Vega). + * Fiji (gfx803) device support is now deprecated and will be removed from a + future release. The default compiler configuration no longer uses Fiji as + the default device, and no longer includes the Fiji libraries. Both can + be restored by configuring with --with-arch=fiji. + +arm + + * The Cortex-M52 CPU is now supported through the cortex-m52 argument to + the -mcpu and -mtune options. + +AVR + + * On AVR64* and AVR128* devices, read-only data is now located in program + memory per default and no longer in RAM. + o Only a 32 KiB block of program memory can be used to store and + access .rodata in that way. Which block is used can be selected by + defining the symbol __flmap. As an alternative, the byte address of + the block can be specified by the symbol __RODATA_FLASH_START__ + which takes precedence over __flmap. For example, linking with - + Wl,--defsym,__RODATA_FLASH_START__=32k chooses the second 32 KiB + block. + o The default uses the last 32 KiB block, which is also the hardware + default for bit-field NVMCTRL_CTRLB.FLMAP. + o When a non-default block is used, then NVMCTRL_CTRLB.FLMAP must be + initialized accordingly by hand, or AVR-LibC v2.2 that + implements #931 can be used. The latter initializes + NVMCTRL_CTRLB.FLMAP in the startup code and according to the value + of __flmap or __RODATA_FLASH_START__. + o When AVR-LibC with #931 is used, then defining the symbol + __flmap_lock to a non-zero value will set bit + NVMCTRL_CTRLB.FLMAPLOCK. This will protect NVMCTRL_CTRLB.FLMAP from + any further changes — which would be Undefined Behaviour in C/C++. + If you prefer to define the symbol in a C/C++ file, an asm + statement can be used: + __asm (".global __flmap_lock" "\n\t" + "__flmap_lock = 1"); + o When you do not want the code from #931, then define a global + symbol __do_flmap_init and the linker will not pull in that code + from libmcu.a any more. + o In order to return to the old placement of read-only data in RAM, + the new compiler option -mrodata-in-ram can be used. This is + required on devices where the hardware revision is affected by a + silicon bug concerning the FLMAP functionality. + o Read-only data is located in output section .rodata, whereas it is + part of .text when located in RAM. + o The feature is only available when the compiler is configured with + a version of Binutils that implements PR31124, which is the case + for Binutils v2.42 and up. + o The implementation consists of two parts: + 1. Binutils support new emulations avrxmega2_flmap and + avrxmega4_flmap. The sole purpose of these emulations is to + provide adjusted default linker description files. Apart from + that, these emulations behave exactly the same like avrxmega2 + resp. avrxmega4. + 2. The compiler uses a device-specs file which links the program + with -mavrxmega2_flmap or -mavrxmega2 depending on -m[no- + ]rodata-in-ram; and similar for -mavrxmega4[_flmap]. + This means the feature can be used with older compiler or Binutils + versions; all what's needed is an adjusted linker script and a + custom device-specs file. + * A new compiler option -m[no-]rodata-in-ram has been added. The default is + to locate read-only data in program memory for devices that support it, + e.g. for AVR64* and AVR128* devices as explained above, and for devices + from the avrxmega3 and avrtiny families. + * The new built-in macro __AVR_RODATA_IN_RAM__ is supported on all devices. + It's defined to 0 or 1. + * A new optimization tries to improve code generation for indirect memory + accesses on Reduced_Tiny_devices. It can be controlled by the new + compiler option -mfuse-add=level where level may be 0, 1 or 2. + * On the Reduced Tiny devices, the meaning of register constraint "w" has + been changed. It now constrains the registers R24…R31 as is the case for + all the other devices. + +IA-32/x86-64 + + * New compiler option -m[no-]evex512 was added. The compiler switch + enables/disables 512-bit vector. It will be default on if AVX512F is + enabled. + * Part of new feature support for Intel APX was added, including EGPR, NDD, + PPX and PUSH2POP2. APX support is available via the -mapxf compiler + switch. + * For inline asm support with APX, by default the EGPR feature was disabled + to prevent potential illegal instruction with EGPR occurs. To invoke egpr + usage in inline asm, use new compiler option -mapx-inline-asm-use-gpr32 + and user should ensure the instruction supports EGPR. + * New ISA extension support for Intel AVX10.1 was added. AVX10.1 intrinsics + are available via the -mavx10.1 or -mavx10.1-256 compiler switch with + 256-bit vector size support. 512-bit vector size support for AVX10.1 + intrinsics are available via the -mavx10.1-512 compiler switch. + * New ISA extension support for Intel AVX-VNNI-INT16 was added. AVX-VNNI- + INT16 intrinsics are available via the -mavxvnniint16 compiler switch. + * New ISA extension support for Intel SHA512 was added. SHA512 intrinsics + are available via the -msha512 compiler switch. + * New ISA extension support for Intel SM3 was added. SM3 intrinsics are + available via the -msm3 compiler switch. + * New ISA extension support for Intel SM4 was added. SM4 intrinsics are + available via the -msm4 compiler switch. + * New ISA extension support for Intel USER_MSR was added. USER_MSR + intrinsics are available via the -muser_msr compiler switch. + * GCC now supports the Intel CPU named Clearwater Forest through - + march=clearwaterforest. Based on Sierra Forest, the switch further + enables the AVX-VNNI-INT16, PREFETCHI, SHA512, SM3, SM4 and USER_MSR ISA + extensions. + * GCC now supports the Intel CPU named Arrow Lake through -march=arrowlake. + Based on Alder Lake, the switch further enables the AVX-IFMA, AVX-NE- + CONVERT, AVX-VNNI-INT8 and CMPccXADD ISA extensions. + * GCC now supports the Intel CPU named Arrow Lake S through - + march=arrowlake-s. Based on Arrow Lake, the switch further enables the + AVX-VNNI-INT16, SHA512, SM3 and SM4 ISA extensions. + * GCC now supports the Intel CPU named Lunar Lake through -march=lunarlake. + Lunar Lake is based on Arrow Lake S. + * GCC now supports the Intel CPU named Panther Lake through - + march=pantherlake. Based on Arrow Lake S, the switch further enables the + PREFETCHI ISA extensions. + * Xeon Phi CPUs support (a.k.a. Knight Landing and Knight Mill) are marked + as deprecated. GCC will emit a warning when using the -mavx5124fmaps, - + mavx5124vnniw, -mavx512er, -mavx512pf, -mprefetchwt1, -march=knl, - + march=knm, -mtune=knl or -mtune=knm compiler switches. Support will be + removed in GCC 15. + * Hardware-assisted_AddressSanitizer now works for the x86-64 target with + LAM_U57. -fsanitize=hwaddress will enable -mlam=u57 by default. + * GCC now supports AMD CPUs based on the znver5 core via -march=znver5. In + addition to the ISA extensions enabled on a znver4 core, this switch + further enables the AVX512VP2INTERSECT, AVXVNNI, MOVDIR64B, MOVDIRI, and + PREFETCHI ISA extensions. + +MCore + + * Bitfields are now signed by default per GCC policy. If you need bitfields + to be unsigned, use -funsigned-bitfields. + +LoongArch + + * Support for the following -march parameters has been added: + o la64v1.0 + o la64v1.1 + o la664 + It is now recommended to use -march=la64v1.0 as the only compiler option + to describe the target ISA when building binaries for distribution. For + more information on LoongArch ISA versions, see Toolchain_Conventions_of + the_LoongArch™_Architecture. + * Support for the following -mtune parameters has been added: + o generic + o la664 + * New ISA Extension + o LSX (Loongson SIMD Extension): Support 128-bit vector instructions + and the intrinsics. + o LASX (Loongson Advanced SIMD Extension): Support 256-bit vector + instructions and the intrinsics. + o FRECIPE: Support frecipe.{s/d} and frsqrte.{s/d} instructions and + the intrinsics. + o DIV32: Support div.w[u] and mod.w[u] instructions with inputs not + sign-extended. + o LAM_BH: Support am{swap/add}[_db].{b/h} instructions. + o LAMCAS: Support amcas[_db].{b/h/w/d} instructions. + * New Built-in Macros + o __loongarch_arch: Target ISA preset as specified by -march=. For + example, compiling with -march=la64v1.0, the value of + __loongarch_arch is "la64v1.0". + o __loongarch_tune: Processor model as specified by -mtune or its + default value. + o __loongarch_{simd,sx,asx}: These macros are not defined, or defined + as 1. + o __loongarch_simd_width: The maximum SIMD bit-width enabled by the + compiler. (128 for lsx, and 256 for lasx). + o __loongarch_frecipe: It's defined to 1 or undefined. + o __loongarch_div32: It's defined to 1 or undefined. + o __loongarch_lam_bh: It's defined to 1 or undefined. + o __loongarch_lamcas: It's defined to 1 or undefined. + o __loongarch_ld_seq_sa: It's defined to 1 or undefined. + o __loongarch_version_major: The minimally required LoongArch ISA + version (major) to run the compiled program, defined to 1 or + undefined (iff no such version is known to the compiler). + o __loongarch_version_minor: The minimally required LoongArch ISA + version (minor) to run the compiled program, defined to 0 1 or + undefined (iff __loongarch_version_major is undefined). + o __FLOAT128_TYPE: It's defined to 1. + * New Intrinsics + o __builtin_thread_pointer + o __lsx_* + o __lasx_* + o __frecipe_{s/d}_and___frsqrte_{s/d} + * New Compiler Option + o -m[no-]lsx + o -m[no-]lasx + o -m[no-]frecipe + o -m[no-]div32 + o -m[no-]lam-bh + o -m[no-]lamcas + o -m[no-]ld-seq-sa + o -mrecip= + o -m[no-]recip + o -mexplicit-relocs={none,always,auto} + o -m[no-]relax + o -m[no-]pass-mrelax-to-as + o -mtls-dialect={trad,desc} + * Support for Ada and D. + * Support for libffi. + * Enable -free by default at -O2 or higher. + * Enable -fsched-pressure by default at -O1 or higher. + * Support the extreme code model using macro instructions (under -mno- + explicit-relocs). + * Support call36. + * Optimizing built-in functions for memory-model-aware atomic operations + using hierarchical dbar instructions. + * TLS descriptors support. It is not enabled by default, and can be enabled + with -mtls-dialect=desc. The default behavior can be configured with -- + with-tls=[trad|desc]. + +RISC-V + + * The SLP and loop vectorizer are now enabled for RISC-V when the vector + extension is enabled, thanks to Ju-Zhe Zhong from RiVAI, Pan Li from + Intel, and Robin Dapp from Ventana_Micro for contributing most of the + implementation! + * The -mrvv-max-lmul= option has been introduced for performance tuning of + the loop vectorizer. The default value is -mrvv-max-lmul=m1, which limits + the maximum LMUL to 1. The -mrvv-max-lmul=dynamic setting can dynamically + select the maximum LMUL value based on register pressure. + * Atomic code generation has been improved and is now in conformance with + the latest psABI specification, thanks to Patrick O'Neill from Rivos. + * Support for the vector intrinsics as specified in version_1.0_of_the + RISC-V_vector_intrinsic_specification. + * Support for the experimental vector crypto intrinsics as specified in + RISC-V_vector_intrinsic_specification, thanks to Feng Wang et al. from + ESWIN_Computing + * Support for the T-head vector intrinsics. + * Support for the scalar bitmanip and scalar crypto intrinsics, thanks to + Liao Shihua from PLCT. + * Support for the large code model via option -mcmodel=large, thanks to + Kuan-Lin Chen from Andes_Technology. + * Support for the standard vector calling convention variant, thanks to + Lehua Ding from RiVAI. + * Supports the target attribute, which allows users to compile a function + with specific extensions. + * -march= option no longer requires the architecture string to be in + canonical order, with only a few constraints remaining: the architecture + string must start with rv[32|64][i|g|e], and must use an underscore as + the separator after a multi-letter extension. + * -march=help option has been introduced to dump all supported extensions. + * Added experimental support for the -mrvv-vector-bits=zvl option and the + riscv_rvv_vector_bits attribute, which specify a fixed length for + scalable vector types. This option is optimized for specific vector core + implementations; however, the code generated with this option is NOT + portable between the core with different VLEN, thanks to Pan Li from + Intel. + * Support for TLS descriptors has been introduced, which can be enabled by + the -mtls-dialect=desc option. The default behavior can be configured + with --with-tls=[trad|desc]. + * Support for the TLS descriptors, this can be enabled by -mtls- + dialect=desc and the default behavior can be configure by --with-tls= + [trad|desc], and this feature require glibc 2.40, thanks to Tatsuyuki + Ishi from Blue_Whale_Systems + * Support for the following standard extensions has been added: + o Vector crypto extensions: + # Zvbb + # Zvkb + # Zvbc + # Zvkg + # Zvkned + # Zvkhna + # Zvkhnb + # Zvksed + # Zvksh + # Zvkn + # Zvknc + # Zvkng + # Zvks + # Zvksc + # Zvksg + # Zvkt + o Code size reduction extensions: + # Zca + # Zcb + # Zce + # Zcf + # Zcd + # Zcmp + # Zcmt + o Zicond + o Zfa + o Ztso + o Zvfbfmin + o Zvfhmin + o Zvfh + o Za64rs + o Za128rs + o Ziccif + o Ziccrse + o Ziccamoa + o Zicclsm + o Zic64b + o Smaia + o Smepmp + o Smstateen + o Ssaia + o Sscofpmf + o Ssstateen + o Sstc + o Svinval + o Svnapot + o Svpbmt + * Support for the following vendor extensions has been added: + o T-Head: + # XTheadVector + o CORE-V: + # XCVmac + # XCValu + # XCVelw + # XCVsimd + # XCVbi + o Ventana Micro: + # XVentanaCondops + * The following new CPUs are supported through the -mcpu option (GCC + identifiers in parentheses). + o SiFive's X280 (sifive-x280). + o SiFive's P450 (sifive-p450). + o SiFive's P670 (sifive-p670). + * The following new CPUs are supported through the -mtune option (GCC + identifiers in parentheses). + o Generic out-of-order core (generic-ooo). + o SiFive's P400 series (sifive-p400-series). + o SiFive's P600 series (sifive-p600-series). + o XiangShan's Nanhu microarchitecture (xiangshan-nanhu). + +SPARC + + * The implementation of calling conventions for small structures containing + arrays of floating-point components has been changed in 64-bit mode for + the Solaris port to match the implementation of the vendor compiler (and + the ABI). As a result, the code generated will not be binary compatible + with earlier releases in these cases. + +Documentation improvements + + * GCC's ability to provide clickable hyperlinks to the documentation + has been extended, so that whenever GCC refers to a command-line option + in quotes in a diagnostic message, the option is a clickable hyperlink + (assuming a suitably capable terminal). + +Improvements to Static Analyzer + + * New warnings: + o -Wanalyzer-infinite-loop warns about paths through the code which + appear to lead to an infinite loop. + o -Wanalyzer-overlapping-buffers warns for paths through the code in + which overlapping buffers are passed to an API for which the + behavior on such buffers is undefined. + o -Wanalyzer-undefined-behavior-strtok warns for paths through the + code in which a call is made to strtok with undefined behavior. + * Previously, the analyzer's "taint" tracking to be explicitly enabled via + -fanalyzer-checker=taint (along with -fanalyzer). This is now enabled by + default when -fanalyzer is selected, thus also enabling the 6 taint-based + warnings: + o -Wanalyzer-tainted-allocation-size + o -Wanalyzer-tainted-array-index + o -Wanalyzer-tainted-assertion + o -Wanalyzer-tainted-divisor + o -Wanalyzer-tainted-offset + o -Wanalyzer-tainted-size + * The analyzer will now simulate API calls that expect null-terminated + string arguments, and will warn about code paths in which such a call is + made with a buffer that isn't properly terminated, either due to a read + of an uninitialized byte or an out-of-range accesses seen before any zero + byte is seen. This applies to functions that use the new + null_terminated_string_arg(PARAM_IDX) attribute, functions that use the + format attribute, and to the library functions error (parameter 3), + error_at_line (parameter 5), putenv, strchr (parameter 1), and strcpy + (parameter 2). + * The analyzer now makes use of the function attribute alloc_size allowing + -fanalyzer to emit -Wanalyzer-allocation-size, -Wanalyzer-out-of-bounds, + and -Wanalyzer-tainted-allocation-size on execution paths involving + allocations using such functions. + * The analyzer's knowledge about the behavior of the standard library has + been extended to cover fopen, strcat, strncpy, and strstr. The + analyzer will also more precisely model the behavior of memcpy, memmove, + strcpy, strdup, strlen, and of various atomic built-in functions. + * The warning -Wanalyzer-out-of-bounds has been extended so that, where + possible, it will emit a text-based diagram visualizing the spatial + relationship between + 1. the memory region that the analyzer predicts would be accessed, + versus + 2. the range of memory that is valid to access + whether they overlap, are touching, are close or far apart; which one is + before or after in memory, the relative sizes involved, the direction of + the access (read vs write), and, in some cases, the values of data + involved. + Such "text art" diagrams can be controlled (or suppressed) via a new - + fdiagnostics-text-art-charset= option. + For example, given the out-of-bounds write in strcat in: + void test (void) + { + char buf[10]; + strcpy (buf, "hello"); + strcat (buf, " world!"); + } + it emits: + + ┌────┬────┬────┬────┬────┐┌─────┬─────┬─────┐ + │[0] │[1] │[2] │[3] │[4] ││ [5] │ [6] │ + [7] │ + + ├────┼────┼────┼────┼────┤├─────┼─────┼─────┤ + │' ' │'w' │'o' │'r' │'l' ││ 'd' │ '!' │ + NUL │ + + ├────┴────┴────┴────┴────┴┴─────┴─────┴─────┤ + │ string literal (type: 'char[8]') + │ + + └───────────────────────────────────────────┘ + │ │ │ │ │ │ │ + │ + │ │ │ │ │ │ │ + │ + v v v v v v v + v + + ┌─────┬────────────────────┬────┬──────────────┬────┐┌─────────────────┐ + │ [0] │ ... │[5] │ ... │[9] ││ + │ + ├─────┼────┬────┬────┬────┬┼────┼──────────────┴────┘│ + │ + │ 'h' │'e' │'l' │'l' │'o' ││NUL │ │after valid + range│ + ├─────┴────┴────┴────┴────┴┴────┴───────────────────┐│ + │ + │ 'buf' (type: 'char[10]') ││ + │ + + └───────────────────────────────────────────────────┘└─────────────────┘ + + ├─────────────────────────┬─────────────────────────┤├────────┬────────┤ + │ │ + ╭─────────┴────────╮ + ╭─────────┴─────────╮ + │capacity: 10 bytes│ │overflow of 3 + bytes│ + ╰──────────────────╯ + ╰───────────────────╯ + showing that the overflow occurs partway through the second string + fragment. + * The analyzer will now attempt to track execution paths involving + computed gotos, whereas previously it gave up on such paths. + +Improvements to SARIF support + + * The SARIF output from -fdiagnostics-format= now adds indentation and + newlines to reflect the logical JSON structure of the data. The previous + compact behavior can be restored via the new option -fno-diagnostics- + json-formatting. This also applies to the older output format named + "json". + * If profiling information about the compiler itself is requested via - + ftime-report, and a SARIF output format is requested via -fdiagnostics- + format=, then the timing and memory usage data is now written in JSON + form into the SARIF output, rather than as plain text to stderr. + +Improvements for plugin authors + + * GCC diagnostics have been able to have execution paths associated with + them since GCC 10, but previously these were required to be single- + threaded. As of GCC 14, these execution paths can have multipled named + threads associated with them, with each event being associated with one + of the threads. No existing GCC diagnostics take advantage of this, but + GCC plugins may find this useful for their own diagnostics; an example is + provided in the testsuite. + * GCC's diagnostics can now optionally add per-diagnostic property bags to + the SARIF output, allowing plugins to capture custom data as needed with + their diagnostics. + +GCC 14.1 + +This is the list_of_problem_reports_(PRs) from GCC's bug tracking system that +are known to be fixed in the 14.1 release. This list might not be complete +(that is, it is possible that some PRs that have been fixed are not listed +here). + + For questions related to the use of GCC, please consult these web + pages and the GCC_manuals. If that fails, the gcc-help@gcc.gnu.org + mailing list might help. Comments on these web pages and the + development of GCC are welcome on our developer list at + gcc@gcc.gnu.org. All of our_lists have public archives. + +Copyright (C) Free_Software_Foundation,_Inc. Verbatim copying and distribution +of this entire article is permitted in any medium, provided this notice is +preserved. + +These pages are maintained_by_the_GCC_team. Last modified 2024-05-07. diff --git a/NEWS.html b/NEWS.html new file mode 100644 index 0000000..fe0d914 --- /dev/null +++ b/NEWS.html @@ -0,0 +1,1633 @@ + + + + + + + + + +GCC 14 Release Series — Changes, New Features, and Fixes +- GNU Project + + + + + + + + + + +

GCC 14 Release Series
Changes, New Features, and Fixes

+ +

+This page is a "brief" summary of some of the huge number of improvements +in GCC 14. +You may also want to check out our +Porting to GCC 14 page and the +full GCC documentation. +

+ + +

Caveats

+
    +
  • C: + Support for the GCC extension, a structure containing a C99 flexible array + member, or a union containing such a structure, is not the last field of + another structure, is deprecated. Refer to + + Zero Length Arrays. + Any code relying on this extension should be modifed to ensure that + C99 flexible array members only end up at the ends of structures. + Please use the warning option + -Wflex-array-member-not-at-end to + identify all such cases in the source code and modify them. +
  • +
  • C: + Certain warnings about are now errors, see + Porting to GCC 14 + for details. +
  • +
  • -fcf-protection=[full|branch|return|none|check] + is refactored, to override -fcf-protection, + -fcf-protection=none needs to be added and then + with -fcf-protection=xxx. +
  • +
  • Support for the ia64*-*- target ports which have been + unmaintained for quite a while has been declared obsolete in GCC 14. + The next release of GCC will have their sources permanently removed. +
  • +
  • Support for the nios2*-*- target ports has also been + declared obsolete in GCC 14, and the sources will also be removed + in the next release of GCC. +
  • +
  • -fanalyzer + is still only suitable for analyzing C code. + In particular, using it on C++ is unlikely to give meaningful output. +
  • +
+ + + +

General Improvements

+ +
    +
  • For offload-device code generated via OpenMP and OpenACC, the math + and the Fortran runtime libraries will now automatically be linked, + when the user or compiler links them on the host side. Thus, it is no + longer required to explicitly pass -lm and/or + -lgfortran to the offload-device linker using the -foffload-options= flag. +
  • +
  • + New configure options: --enable-host-pie, to build the + compiler executables as PIE; and --enable-host-bind-now, + to link the compiler executables with -Wl,-z,now in order + to enable additional hardening. +
  • +
  • + New option + -fhardened, + an umbrella option that enables a set of hardening flags. + The options it enables can be displayed using the + --help=hardened option. +
  • +
  • + New option + -fharden-control-flow-redundancy, + to verify, at the end of functions, that the visited basic blocks + correspond to a legitimate execution path, so as to detect and + prevent attacks that transfer control into the middle of + functions. +
  • +
  • + New type attribute + hardbool, + for C and Ada. Hardened + booleans take user-specified representations for true + and false, presumably with higher hamming distance + than standard booleans, and get verified at every use, detecting + memory corruption and some malicious attacks. +
  • +
  • + New type attribute + strub + to control stack scrubbing + properties of functions and variables. The stack frame used by + functions marked with the attribute gets zeroed-out upon returning + or exception escaping. Scalar variables marked with the attribute + cause functions contaning or accessing them to get stack scrubbing + enabled implicitly. +
  • +
  • + New option + -finline-stringops, + to force inline + expansion of memcmp, memcpy, + memmove and memset, even when that is + not an optimization, to avoid relying on library + implementations. +
  • +
  • + + New function attribute + null_terminated_string_arg(PARAM_IDX) + for indicating parameters that are expected to be null-terminated + strings. +
  • +
  • + The vectorizer now supports vectorizing loops which contain any number of early breaks. + This means loops such as: +
    +	    int z[100], y[100], x[100];
    +	    int foo (int n)
    +	    {
    +	      int res = 0;
    +	      for (int i = 0; i < n; i++)
    +		{
    +		   y[i] = x[i] * 2;
    +		   res += x[i] + y[i];
    +
    +		   if (x[i] > 5)
    +		     break;
    +
    +		   if (z[i] > 5)
    +		     break;
    +
    +		}
    +	      return res;
    +	    }
    +	
    + can now be vectorized on a number of targets. In this first version any + input data sources must either have a statically known size at compile time + or the vectorizer must be able to determine based on auxillary information + that the accesses are aligned. +
  • +
+ +

New Languages and Language specific improvements

+ +
    +
  • OpenMP +
      +
    • + The GNU Offloading and + Multi Processing Runtime Library Manual has been updated and extended, + improving especially the description of ICVs, memory allocation, environment variables and OpenMP + routines. +
    • +
    • + The requires directive's unified_address + requirement is now fulfilled by both AMD GCN and nvptx devices. + AMD GCN and nvptx devices now support low-latency allocators as + detailed in the manual. Initial support for pinned-memory + allocators has been added and, on Linux, + libnuma is now used + for allocators requesting the nearest-partition trait (both is described + in the memory allocation section of the manual). +
    • +
    • OpenMP 5.0: The allocate directive is now + supported for stack variables in C and Fortran, including the OpenMP 5.1 + align modifier. In C and C++ the map clause now + accepts lvalue expressions. For Fortran, OpenMP allocators can now be + used for allocatables and pointers using the allocate + directive and its OpenMP 5.2 replacement, the allocators + directive; files using this allocator and all files that might directly + or indirectly (intrinisic assignment, intent(out), ...) + de- or reallocate such-allocated variables must be compiled with the + -fopenmp-allocators option. +
    • +
    • + OpenMP 5.1: Support was added for collapsing imperfectly nested loops and + using present as map-type modifier and in + defaultmap. The indirect clause is now + supported. The performance of copying strided data from or to nvptx + and AMD GPU devices using the OpenMP 5.1 routine + omp_target_memcpy_rect has been improved. +
    • +
    • + OpenMP 5.2: The OMP_TARGET_OFFLOAD=mandatory handling has + been updated for the clarifications and changes of the 5.2 specification. + For Fortran, the list of directives permitted in Fortran pure procedures + was extended. Additionally, the spec change has been implemented for + default implicit mapping of C/C++ pointers pointing to unmapped storage. + The destroy clause now optionally accepts the depend object + as argument. +
    • +
    • + OpenMP 6.0 preview (TR11/TR12): The decl attribute is now + supported in C++ 11 and the directive, sequence + and decl attributes are now supported in C 23. +
    • +
    +
  • +
  • OpenACC +
      +
    • OpenACC 2.7: The self clause was added to be used on + compute constructs and the default clause for data + constructs. Additionally, the readonly modifier is now + handled in the copyin clause and cache + directive.
    • +
    • OpenACC 3.2: The following API routines are now available in + Fortran using the openacc module or the + openacc_lib.h header file: + acc_malloc, acc_free, + acc_map_data, acc_unmap_data, + acc_deviceptr, acc_hostptr, + acc_memcpy_to_device, + acc_memcpy_to_device_async, + acc_memcpy_from_device, and + acc_memcpy_from_device_async. +
    +
  • +
+ +

Ada

+ +
    +
  • New implementation-defined aspects and pragmas: +
      +
    • Local_Restrictions, + which specifies that a particular subprogram does not violate one or more + local restrictions, nor can it call a subprogram that is not subject to + the same requirements.
    • +
    • User_Aspect_Definition + and User_Aspect, + which provide a mechanism for avoiding textual duplication if some set of + aspect specifications is needed in multiple places.
    • +
    +
  • +
  • New implementation-defined aspects and pragmas for verification of the + SPARK 2014 subset of Ada: +
      +
    • Always_Terminates, + which provides a condition for a subprogram to necessarily complete + (either return normally or raise an exception).
    • +
    • Ghost_Predicate, + which introduces a subtype predicate that can reference Ghost entities. +
    • +
    • Exceptional_Cases, + which lists exceptions that might be propagated by the subprogram with + side effects in the context of its precondition and associates them with a + specific postcondition. +
    • +
    • Side_Effects, + which indicates that a function should be handled like a procedure with + respect to parameter modes, Global contract, exceptional contract and + termination: it may have output parameters, write global variables, raise + exceptions and not terminate.
    • +
    +
  • +
  • The new attributes and contracts have been applied to the relevant parts + of the Ada runtime library, which has been subsequently proven to be correct + with SPARK 2014.
  • +
  • Support for the LoongArch architecture.
  • +
  • Support for vxWorks 7 Cert RTP has been removed.
  • +
  • Additional hardening improvements. For more information reltated to + hardening options, refer to + the GCC + Instrumentation Options and + the GNAT + Reference Manual, Security and Hardening Features. +
  • +
  • Improve style checking for redundant parentheses + with -gnatyz
  • +
  • New + switch -gnateH + to force reverse Bit_Order threshold to 64.
  • +
  • Experimental features: +
      +
    • Storage + Model: this feature proposes to redesign the concepts of Storage Pools + into a more efficient model allowing higher performances and easier + integration with low footprint embedded run-times.
    • +
    • String + Interpolation: allows for easier string formatting.
    • +
    +
  • +
  • Further clean up and improvements to the GNAT code.
  • +
+ +

C family

+
    +
  • The Clang language extensions __has_feature and + __has_extension have been implemented in GCC. These + are available from C, C++, and Objective-C(++). + This is primarily intended to aid the portability of code written + against Clang. +
  • +
+ +

C

+ +
    +
  • Some more C23 features have been implemented: +
      +
    • Bit-precise integer types (_BitInt (N) + and unsigned _BitInt (N)): integer types with + a specified number of bits. These are only supported on + IA-32, x86-64 and AArch64 (little-endian) at present.
    • +
    • Structure, union and enumeration types may be defined more + than once in the same scope with the same contents and the same + tag; if such types are defined with the same contents and the + same tag in different scopes, the types are compatible.
    • +
    • The <stdckdint.h> header for checked + integer arithmetic.
    • +
    +
  • +
  • In addition to those C23 features, there are new command-line + options -std=c23, -std=gnu23 + and -Wc11-c23-compat. These are equivalent to the + previous options -std=c2x, -std=gnu2x + and -Wc11-c2x-compat, which are deprecated but remain + supported.
  • +
  • GCC supports a new pragma #pragma GCC novector to + indicate to the vectorizer not to vectorize the loop annotated with the + pragma.
  • +
+ +

C++

+ +
    +
  • Several C++26 features have been implemented: + +
  • +
  • Several C++23 features have been implemented: + +
  • +
  • Several C++ Defect Reports have been resolved, e.g.: +
      +
    • DR 532, + Member/nonmember operator template partial ordering
    • +
    • DR 976, + Deduction for const T& conversion operators
    • +
    • DR 2262, + Attributes for asm-definition
    • +
    • DR 2359, + Unintended copy initialization with designated initializers
    • +
    • DR 2386, + tuple_size requirements for structured binding
    • +
    • DR 2406, + [[fallthrough]] attribute and iteration statements
    • +
    • DR 2543, + constinit and optimized dynamic initialization
    • +
    • DR 2586, + Explicit object parameter for assignment and comparison
    • +
    • DR 2735, + List-initialization and conversions in overload resolution
    • +
    • DR 2799, + Inheriting default constructors
    • +
    +
  • +
  • + + When a diagnostic occurrs involving a C++ template, + GCC will now quote the source code of the context at which + the template is instantiated ("required from here"), + rather than just print filename and line/column numbers. +
  • +
  • New built-in __type_pack_element to speed up traits + such as std::tuple_element + (PR100157)
  • +
  • goto can cross the initialization of a trivially initialized + object with a non-trivial destructor + (DR 2256)
  • +
  • -Wdangling-reference false positives have been reduced. The + warning does not warn about std::span-like classes; there is + also a new attribute gnu::no_dangling to suppress the + warning. See + the manual + for more info.
  • +
  • noexcept(expr) is now mangled as per the Itanium ABI
  • +
  • the named return value optimization can now be performed even for + variables declared in an inner block of a function, see the + + test
  • +
  • New -Wnrvo warning, to warn if the named return value + optimization is not performed although it is allowed by + [class.copy.elision]. See + the manual + for more info.
  • +
  • The backing array for std::initializer_list has been made + static, allowing combining multiple equivalent initializer-lists + (git) +
  • +
  • New -Welaborated-enum-base warning, to warn if an additional + enum-base is used in an elaborated-type-specifier
  • +
  • Better #include hints for missing headers + (PR110164)
  • +
  • The arguments of a variable template-id are coerced earlier than + before, so various problems are detected earlier + (PR89442)
  • +
  • -Wmissing-field-initializers is no longer emitted for + empty classes + (PR110064)
  • +
  • The constexpr code now tracks lifetimes in constant evaluation; this + change helps to detect bugs such as accessing a variable whose + lifetime has ended + (PR70331, + PR96630, + PR98675) +
  • +
  • Array destruction can now be devirtualized
  • +
  • In-class member variable template partial specializations are now + accepted (PR71954)
  • +
  • Improved diagnostic for explicit conversion functions: when a conversion + doesn't work out only because the conversion function necessary to do the + conversion couldn't be used because it was marked explicit, explain that + to the user + (git)
  • +
  • Corrected mangling of static/thread_local + structured bindings at function/block scope + (PR111069)
  • +
  • [basic.scope.block]/2 violations are detected even in compound-stmt of + function-try-block and for block-scope external variables + (PR52953)
  • +
  • Improved "not a constant expression" diagnostic when taking the address + of a non-static constexpr variable + (PR91483)
  • +
  • Non-dependent simple assignments are checked even in templates + (PR18474)
  • +
  • Attributes hot and cold can be applied to + classes as well. See + the manual + for more info.
  • +
  • Function template constraints, as well as CTAD placeholders, are + now mangled
  • +
  • Various decltype fixes: + PR79620, + PR79378, + PR83167, + PR96917
  • +
  • New option -fdiagnostics-all-candidates to note all + candidates during overload resolution failure
  • +
  • -Walloc-size and -Wcalloc-transposed-args + warnings are enabled for C++ as well
  • +
  • The DR 2237 code no longer gives an error, it emits + a -Wtemplate-id-cdtor warning instead
  • +
  • GCC supports a new pragma #pragma GCC novector to + indicate to the vectorizer not to vectorize the loop annotated with the + pragma.
  • +
  • C++ module scanning for named modules is now available, based on the + format described in P1689R5, + Format for describing dependencies of source files. + The -fdeps-format=, -fdeps-file=, and + -fdeps-target= flags may be used to generate dependency + information. In GCC 14 p1689r5 is the only valid argument + for -fdeps-format=.
  • +
+ +

Runtime Library (libstdc++)

+ +
    +
  • + The libstdc++exp.a library now includes all the Filesystem TS + symbols from the libstdc++fs.a library. + The experimental symbols for the C++23 std::stacktrace class + are also in libstdc++exp.a, replacing the + libstdc++_libbacktrace.a library that GCC 13 provides. + This means that -lstdc++exp is the only library needed for + all experimental libstdc++ features. +
  • +
  • Improved experimental support for C++20, including: +
      +
    • std::chrono::parse.
    • +
    • Unicode-aware string handling in std::format.
    • +
    +
  • +
  • Improved experimental support for C++23, including: +
      +
    • The std::ranges::to function for converting + ranges to containers. +
    • +
    • The std::generator view for getting results from + coroutines. +
    • +
    • The <stacktrace> header is supported by default. +
    • +
    • std::print and std::println + (requires linking with -lstdc++exp on Windows). +
    • +
    • Formatters for std::thread::id and + std::stacktrace. +
    • +
    • Smart pointer adaptors, std::out_ptr and + std::inout_ptr. +
    • +
    • Some range adaptors now support move-only types.
    • +
    +
  • +
  • Experimental support for C++26, including: +
      +
    • Native handles for filebuf, fstream, etc.
    • +
    • Functions for saturation arithmetic on integers.
    • +
    • std::to_string now uses std::format.
    • +
    • Enhanced formatting of pointers with std::format.
    • +
    • The std::runtime_format function to allow using + non-literal format strings with std::format.
    • +
    • Testable result types for <charconv> functions.
    • +
    • The std::text_encoding class for identifying character + sets (requires linking with -lstdc++exp for some member + functions). +
    • +
    +
  • +
  • Faster numeric conversions using std::to_string and + std::to_wstring. +
  • +
  • Updated parallel algorithms that are compatible with oneTBB.
  • +
  • std::numeric_limits<_Float32> and + std::numeric_limits<_Float64> are now defined + for all standard modes, not only for C++23. +
  • +
  • Added missing functions for float and + long double to <cmath>. +
  • +
  • Using the std::setfill manipulator with + std::istream is deprecated. +
  • +
+ + + +

Fortran

+
    +
  • The compiler now accepts the -std=f2023 option, which + has been added in preparation of support of Fortran 2023. This option + increases the line-length limit for source in free-form to 10000, and + statements may have up to 1 million characters. +
  • +
  • With the -save-temps option, preprocessed files + with the .fii extension will be generated from + free-form source files such as .F90 and + .fi from fixed-form files such as .F. +
  • +
+ + +

Modula-2

+
    +
  • The automatic dependency generation options: -M, + -MD, -MF, + -MMD, -MP, -MQ and + -MT have been implemented in the compiler. +
  • +
  • The -Wcase-enum + and -Wuninit-variable-checking= options have + been implemented to provide compile time warnings against + missing case clauses and uninitialized variables respectively. +
  • +
+ + +

libgccjit

+ + + +

New Targets and Target Specific Improvements

+ +

AArch64

+ +
    +
  • A number of new CPUs are supported through the -mcpu and + -mtune options (GCC identifiers in parentheses). +
      +
    • Ampere-1B (ampere1b).
    • +
    • Arm Cortex-A520 (cortex-a520).
    • +
    • Arm Cortex-A720 (cortex-a720).
    • +
    • Arm Cortex-X4 (cortex-x4).
    • +
    • Microsoft Cobalt-100 (cobalt-100).
    • +
  • +
  • Additionally, the identifiers generic, + generic-armv8-a and generic-armv9-a are added + as arguments to -mcpu= and -mtune= to optimize + code generation aimed at a good blend of CPUs of a particular architecture + version. These tunings are also used as the default optimization targets + when compiling with the -march=armv8-a or + -march=armv9-a options and their point releases e.g. + -march=armv8.2-a or -march=armv9.3-a.
  • + +
  • New features in the Arm architecture are supported in a number of ways: +
      +
    • Support is added for the Arm Streaming Matrix Extensions SME and SME2 + through the +sme and +sme2 extensions to + -march=. In particular, this includes support for the Beta state + of the + SME ACLE in the form of a new intrinsics arm_sme.h + intrinsics header and a number of new keyword attributes to manage use + of the new Streaming SVE state. For more information please refer to the + ACLE documentation.
    • +
    • Libatomic is updated to implement 128-bit atomic operations + locklessly on systems with FEAT_LSE2.
    • +
    • Support for FEAT_LRCPC3 is added through ACLE intrinsics in + arm_neon.h header and enabled through the +rcpc3 + extension to -march=.
    • +
  • +
  • As well as numerous AArch64 code generation improvements, the following + optimization enhancements are noteworthy: +
      +
    • A new AArch64-specific register allocation pass is added. + It runs in addition to standard register allocation. + The pass's main purpose is to make use of strided vector register + operands in SME instructions. However, it can also remove + redundant moves in normal Advanced SIMD and SVE code. + The pass is controlled by the new option -mearly-ra= + that takes the arguments all, strided, none. + -mearly-ra=all is enabled by default at optimization levels + -O2 and above.
    • +
    • A new optimization pass to fuse loads and stores to adjacent memory + locations into load and store-pair AArch64 instructions. The pass is + enabled by default when compiling with optimization and runs twice in the + optimization pipeline: before and after register allocation. This can be + controlled with the options -mearly-ldp-fusion and + -mlate-ldp-fusion.
    • +
  • +
  • Conformance with the ACLE specification is improved and a number of + features aimed at helping developers deploy Arm architecture features are + added: +
      +
    • Support for the Beta version of the + + Function Multiversioning Specification. This feature provides + facilities to annotate functions with attributes that allow the compiler + to generate multiple versions of the function, selected at runtime based + on the architecture features available in the system. Please refer to + the ACLE specification for more details.
    • +
    • Support for more ACLE intrinsics in the arm_acle.h + header, including the + + Memory prefetch intrinsics and the + + Special register intrinsics. + This also includes intrinsics for the extension to 128-bit system + registers, enabled through the +d128 extension to + -march=.
    • +
    • Intrinsics enabled by the +dotprod, +fp16, + +fp16fml, +i8mm, +sha3 and + +sm4 extensions to -march= no longer require + -march=armv8.2-a or higher to be specified. Likewise, the + intrinsics enabled by +memtag no longer require + -march=armv8.5-a.
    • +
    • Support for the + + NEON-SVE Bridge intrinsics. + These are intrinsics that allow conversions between NEON and SVE vectors, + enabled through the inclusion of the arm_neon_sve_bridge.h header. +
    • +
  • +
  • The option -mtp= is now supported for changing the TPIDR + register used for TLS accesses. For more details please refer to the + + documentation.
  • +
+ +

AMD Radeon (GCN)

+ +
    +
  • Initial support for the AMD Radeon gfx90c (GCN5), + gfx1030, gfx1036 (RDNA2), gfx1100 + and gfx1103 (RDNA3) devices has been added. LLVM 15+ + (assembler and linker) is required + to support GFX11. +
  • Improved register usage and performance on CDNA Instinct MI100 + and MI200 series devices.
  • +
  • The default device architecture is now gfx900 (Vega).
  • +
  • + Fiji (gfx803) device support is now deprecated and will be removed from + a future release. The default compiler configuration no longer uses Fiji + as the default device, and no longer includes the Fiji libraries. Both can + be restored by configuring with + + --with-arch=fiji + . +
  • +
+ + + +

arm

+
    +
  • The Cortex-M52 CPU is now supported through the cortex-m52 + argument to the -mcpu and -mtune options. +
  • +
+ +

AVR

+
    +
  • On AVR64* and AVR128* devices, read-only data is now located in program + memory per default and no longer in RAM. +
      +
    • Only a 32 KiB block of program memory can be used to store + and access .rodata in that way. Which block is used can be selected + by defining the symbol __flmap. + As an alternative, the byte address of the block can be specified + by the symbol __RODATA_FLASH_START__ which takes + precedence over __flmap. + For example, linking with + -Wl,--defsym,__RODATA_FLASH_START__=32k + chooses the second 32 KiB block.
    • +
    • The default uses the last 32 KiB block, which is also the + hardware default for bit-field NVMCTRL_CTRLB.FLMAP.
    • +
    • When a non-default block is used, + then NVMCTRL_CTRLB.FLMAP must be initialized accordingly + by hand, or AVR-LibC v2.2 that implements #931 + can be used. The latter initializes NVMCTRL_CTRLB.FLMAP + in the startup code and according to the value + of __flmap or + __RODATA_FLASH_START__.
    • +
    • When AVR-LibC with #931 is used, then defining the symbol + __flmap_lock to a non-zero value will set bit + NVMCTRL_CTRLB.FLMAPLOCK. This will protect + NVMCTRL_CTRLB.FLMAP from any further changes — + which would be Undefined Behaviour in C/C++. If you prefer to define + the symbol in a C/C++ file, an asm statement + can be used:
      +__asm (".global __flmap_lock"  "\n\t"
      +       "__flmap_lock = 1");
    • +
    • When you do not want the code from #931, then define a global + symbol __do_flmap_init and the linker will not pull in + that code from libmcu.a any more.
    • +
    • In order to return to the old placement of read-only data in RAM, + the new compiler option -mrodata-in-ram can be used. + This is required on devices where the hardware revision is + affected by a silicon bug concerning the FLMAP + functionality. +
    • +
    • Read-only data is located in output section .rodata, + whereas it is part of .text when located in RAM.
    • +
    • The feature is only available when the compiler is configured + with a version of Binutils that implements + PR31124, which is the + case for Binutils v2.42 and up.
    • +
    • The implementation consists of two parts: +
        +
      1. Binutils support new emulations avrxmega2_flmap and + avrxmega4_flmap. The sole purpose of these emulations + is to provide adjusted default linker description files. + Apart from that, these emulations behave exactly the same like + avrxmega2 resp. avrxmega4.
      2. +
      3. The compiler uses a + device-specs + file which links the program + with -mavrxmega2_flmap or -mavrxmega2 + depending on -m[no-]rodata-in-ram; and similar + for -mavrxmega4[_flmap].
      4. +
      + This means the feature can be used with older compiler or Binutils + versions; all what's needed is an adjusted linker script and + a custom device-specs file. +
    • +
    +
  • +
  • A new compiler option -m[no-]rodata-in-ram has been added. + The default is to locate read-only data in program memory for devices that + support it, e.g. for AVR64* and AVR128* devices as explained above, + and for devices from the + avrxmega3 + and + avrtiny families. +
  • +
  • The new built-in macro __AVR_RODATA_IN_RAM__ is supported + on all devices. It's defined to 0 or 1. +
  • +
  • + A new optimization tries to improve code generation for indirect memory + accesses on + Reduced Tiny devices. + It can be controlled by the new compiler option + -mfuse-add=level where level + may be 0, 1 or 2. +
  • +
  • + On the Reduced Tiny devices, + the meaning of register constraint "w" has been changed. + It now constrains the registers R24…R31 as is the case for all + the other devices. +
  • +
+ +

IA-32/x86-64

+
    +
  • New compiler option -m[no-]evex512 was added. + The compiler switch enables/disables 512-bit vector. + It will be default on if AVX512F is enabled. +
  • +
  • Part of new feature support for Intel APX was added, including EGPR, + NDD, PPX and PUSH2POP2. APX support is available via the + -mapxf compiler switch. +
  • +
  • For inline asm support with APX, by default the EGPR feature was + disabled to prevent potential illegal instruction with EGPR occurs. + To invoke egpr usage in inline asm, use new compiler option + -mapx-inline-asm-use-gpr32 and user should ensure the + instruction supports EGPR. +
  • +
  • New ISA extension support for Intel AVX10.1 was added. + AVX10.1 intrinsics are available via the -mavx10.1 or + -mavx10.1-256 compiler switch with 256-bit vector size + support. 512-bit vector size support for AVX10.1 intrinsics are + available via the -mavx10.1-512 compiler switch. +
  • +
  • New ISA extension support for Intel AVX-VNNI-INT16 was added. + AVX-VNNI-INT16 intrinsics are available via the -mavxvnniint16 + compiler switch. +
  • +
  • New ISA extension support for Intel SHA512 was added. + SHA512 intrinsics are available via the -msha512 + compiler switch. +
  • +
  • New ISA extension support for Intel SM3 was added. + SM3 intrinsics are available via the -msm3 + compiler switch. +
  • +
  • New ISA extension support for Intel SM4 was added. + SM4 intrinsics are available via the -msm4 + compiler switch. +
  • +
  • New ISA extension support for Intel USER_MSR was added. + USER_MSR intrinsics are available via the -muser_msr + compiler switch. +
  • +
  • GCC now supports the Intel CPU named Clearwater Forest through + -march=clearwaterforest. + Based on Sierra Forest, the switch further enables the AVX-VNNI-INT16, + PREFETCHI, SHA512, SM3, SM4 and USER_MSR ISA extensions. +
  • +
  • GCC now supports the Intel CPU named Arrow Lake through + -march=arrowlake. + Based on Alder Lake, the switch further enables the AVX-IFMA, + AVX-NE-CONVERT, AVX-VNNI-INT8 and CMPccXADD ISA extensions. +
  • +
  • GCC now supports the Intel CPU named Arrow Lake S through + -march=arrowlake-s. + Based on Arrow Lake, the switch further enables the AVX-VNNI-INT16, SHA512, + SM3 and SM4 ISA extensions. +
  • +
  • GCC now supports the Intel CPU named Lunar Lake through + -march=lunarlake. + Lunar Lake is based on Arrow Lake S. +
  • +
  • GCC now supports the Intel CPU named Panther Lake through + -march=pantherlake. + Based on Arrow Lake S, the switch further enables the PREFETCHI ISA + extensions. +
  • +
  • Xeon Phi CPUs support (a.k.a. Knight Landing and Knight Mill) are marked + as deprecated. GCC will emit a warning when using the + -mavx5124fmaps, -mavx5124vnniw, + -mavx512er, -mavx512pf, + -mprefetchwt1, -march=knl, + -march=knm, -mtune=knl or -mtune=knm + compiler switches. Support will be removed in GCC 15. +
  • +
  • Hardware-assisted + AddressSanitizer now works for the x86-64 target with LAM_U57. + -fsanitize=hwaddress will enable -mlam=u57 + by default. +
  • +
  • GCC now supports AMD CPUs based on the znver5 core via + -march=znver5. In addition to the ISA extensions + enabled on a znver4 core, this switch further enables the + AVX512VP2INTERSECT, AVXVNNI, MOVDIR64B, MOVDIRI, and PREFETCHI ISA + extensions. +
  • +
+ +

MCore

+
    +
  • Bitfields are now signed by default per GCC policy. If you need bitfields + to be unsigned, use -funsigned-bitfields. +
  • +
+ +

LoongArch

+
    +
  • Support for the following + + -march parameters has been added: +
      +
    • la64v1.0
    • +
    • la64v1.1
    • +
    • la664
    • +
    + It is now recommended to use -march=la64v1.0 as the only + compiler option to describe the target ISA when building binaries for + distribution. For more information on LoongArch ISA versions, see + + Toolchain Conventions of the LoongArch™ Architecture. +
  • +
  • Support for the following + + -mtune parameters has been added: +
      +
    • generic
    • +
    • la664
    • +
    +
  • +
  • New ISA Extension +
      +
    • LSX (Loongson SIMD Extension): Support 128-bit vector instructions + and the intrinsics. +
    • +
    • LASX (Loongson Advanced SIMD Extension): Support 256-bit vector + instructions and the intrinsics. +
    • +
    • FRECIPE: Support frecipe.{s/d} and + frsqrte.{s/d} instructions and the intrinsics. +
    • +
    • DIV32: Support div.w[u] and mod.w[u] + instructions with inputs not sign-extended. +
    • +
    • LAM_BH: Support am{swap/add}[_db].{b/h} instructions. +
    • +
    • LAMCAS: Support amcas[_db].{b/h/w/d} instructions. +
    • +
    +
  • +
  • New Built-in Macros +
      +
    • __loongarch_arch: Target ISA preset as specified by + -march=. For example, compiling with + -march=la64v1.0, the value of __loongarch_arch + is "la64v1.0". +
    • +
    • __loongarch_tune: Processor model as specified by + -mtune or its default value. +
    • +
    • __loongarch_{simd,sx,asx}: These macros are not defined, + or defined as 1. +
    • +
    • __loongarch_simd_width: The maximum SIMD bit-width + enabled by the compiler. (128 for lsx, and 256 for lasx). +
    • +
    • __loongarch_frecipe: It's defined to 1 or undefined. +
    • +
    • __loongarch_div32: It's defined to 1 or undefined.
    • +
    • __loongarch_lam_bh: It's defined to 1 or undefined.
    • +
    • __loongarch_lamcas: It's defined to 1 or undefined.
    • +
    • __loongarch_ld_seq_sa: It's defined to 1 or undefined. +
    • +
    • __loongarch_version_major: + The minimally required LoongArch ISA version (major) to run the + compiled program, defined to 1 or undefined (iff no such version is + known to the compiler). +
    • +
    • __loongarch_version_minor: + The minimally required LoongArch ISA version (minor) to run the + compiled program, defined to 0 1 or undefined (iff + __loongarch_version_major is undefined). +
    • +
    • __FLOAT128_TYPE: It's defined to 1.
    • +
    +
  • +
  • New Intrinsics + +
  • +
  • New Compiler Option + +
  • +
  • Support for Ada and D.
  • +
  • Support for libffi.
  • +
  • Enable -free by default at -O2 or higher.
  • +
  • Enable -fsched-pressure by default at -O1 or + higher. +
  • +
  • Support the extreme code model using macro instructions + (under -mno-explicit-relocs).
  • +
  • Support call36.
  • +
  • Optimizing built-in functions for memory-model-aware atomic operations + using hierarchical dbar instructions.
  • +
  • TLS descriptors support. It is not enabled by default, and can be enabled + with + -mtls-dialect=desc. The default behavior can be + configured with --with-tls=[trad|desc].
  • +
+ + + + + + + + + + + + + + + + + + + +

RISC-V

+
    +
  • The SLP and loop vectorizer are now enabled for RISC-V when the vector + extension is enabled, thanks to Ju-Zhe Zhong from + RiVAI, + Pan Li from Intel, and Robin Dapp + from Ventana Micro for + contributing most of the implementation!
  • +
  • The -mrvv-max-lmul= option has been introduced for + performance tuning of the loop vectorizer. The default value is + -mrvv-max-lmul=m1, which limits the maximum LMUL to 1. + The -mrvv-max-lmul=dynamic setting can dynamically select + the maximum LMUL value based on register pressure.
  • +
  • Atomic code generation has been improved and is now in conformance with + the latest psABI specification, thanks to Patrick O'Neill from + Rivos.
  • +
  • Support for the vector intrinsics as specified in + + version 1.0 of the RISC-V vector intrinsic specification.
  • +
  • Support for the experimental vector crypto intrinsics as specified in + + RISC-V vector intrinsic specification, thanks to Feng Wang et al. + from ESWIN Computing
  • +
  • Support for the T-head vector intrinsics.
  • +
  • Support for the scalar bitmanip and scalar crypto intrinsics, thanks to + Liao Shihua from PLCT.
  • +
  • Support for the large code model via option -mcmodel=large, + thanks to Kuan-Lin Chen from + Andes Technology.
  • +
  • Support for the standard vector calling convention variant, thanks to + Lehua Ding from RiVAI.
  • +
  • Supports the target attribute, which allows users to compile + a function with specific extensions.
  • +
  • -march= option no longer requires the architecture string + to be in canonical order, with only a few constraints remaining: the + architecture string must start with rv[32|64][i|g|e], and + must use an underscore as the separator after a multi-letter extension. +
  • +
  • -march=help option has been introduced to dump all + supported extensions.
  • +
  • Added experimental support for the -mrvv-vector-bits=zvl + option and the riscv_rvv_vector_bits attribute, which + specify a fixed length for scalable vector types. This option is + optimized for specific vector core implementations; however, the code + generated with this option is NOT portable between the core with + different VLEN, + thanks to Pan Li from Intel. +
  • +
  • Support for TLS descriptors has been introduced, which can be enabled by + the -mtls-dialect=desc option. The default behavior can be + configured with --with-tls=[trad|desc].
  • +
  • Support for the TLS descriptors, this can be enabled by + -mtls-dialect=desc and the default behavior can be configure + by --with-tls=[trad|desc], and this feature require glibc 2.40, + thanks to Tatsuyuki Ishi from + Blue Whale Systems +
  • +
  • Support for the following standard extensions has been added: +
      +
    • Vector crypto extensions: +
        +
      • Zvbb
      • +
      • Zvkb
      • +
      • Zvbc
      • +
      • Zvkg
      • +
      • Zvkned
      • +
      • Zvkhna
      • +
      • Zvkhnb
      • +
      • Zvksed
      • +
      • Zvksh
      • +
      • Zvkn
      • +
      • Zvknc
      • +
      • Zvkng
      • +
      • Zvks
      • +
      • Zvksc
      • +
      • Zvksg
      • +
      • Zvkt
      • +
      +
    • +
    • Code size reduction extensions: +
        +
      • Zca
      • +
      • Zcb
      • +
      • Zce
      • +
      • Zcf
      • +
      • Zcd
      • +
      • Zcmp
      • +
      • Zcmt
      • +
      +
    • +
    • Zicond
    • +
    • Zfa
    • +
    • Ztso
    • +
    • Zvfbfmin
    • +
    • Zvfhmin
    • +
    • Zvfh
    • +
    • Za64rs
    • +
    • Za128rs
    • +
    • Ziccif
    • +
    • Ziccrse
    • +
    • Ziccamoa
    • +
    • Zicclsm
    • +
    • Zic64b
    • +
    • Smaia
    • +
    • Smepmp
    • +
    • Smstateen
    • +
    • Ssaia
    • +
    • Sscofpmf
    • +
    • Ssstateen
    • +
    • Sstc
    • +
    • Svinval
    • +
    • Svnapot
    • +
    • Svpbmt
    • +
    +
  • +
  • Support for the following vendor extensions has been added: +
      +
    • T-Head: +
        +
      • XTheadVector
      • +
      +
    • +
    • CORE-V: +
        +
      • XCVmac
      • +
      • XCValu
      • +
      • XCVelw
      • +
      • XCVsimd
      • +
      • XCVbi
      • +
      +
    • +
    • Ventana Micro: +
        +
      • XVentanaCondops
      • +
      +
    • +
    +
  • +
  • The following new CPUs are supported through the -mcpu + option (GCC identifiers in parentheses). +
      +
    • SiFive's X280 (sifive-x280).
    • +
    • SiFive's P450 (sifive-p450).
    • +
    • SiFive's P670 (sifive-p670).
    • +
    +
  • +
  • The following new CPUs are supported through the -mtune + option (GCC identifiers in parentheses). +
      +
    • Generic out-of-order core (generic-ooo).
    • +
    • SiFive's P400 series (sifive-p400-series).
    • +
    • SiFive's P600 series (sifive-p600-series).
    • +
    • XiangShan's Nanhu microarchitecture (xiangshan-nanhu).
    • +
    +
  • +
+ + + + + +

SPARC

+ +
    +
  • + The implementation of calling conventions for small structures containing + arrays of floating-point components has been changed in 64-bit mode for + the Solaris port to match the implementation of the vendor compiler (and + the ABI). As a result, the code generated will not be binary compatible + with earlier releases in these cases. +
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Documentation improvements

+
    +
  • + + + + + + GCC's ability to provide clickable hyperlinks to the documentation + has been extended, so that whenever GCC refers to a command-line + option in quotes in a diagnostic message, the option is a clickable + hyperlink (assuming a suitably capable terminal). +
  • +
+ + +

Improvements to Static Analyzer

+
    +
  • + New warnings: + +
  • +
  • + + Previously, the analyzer's "taint" tracking to be explicitly enabled via + -fanalyzer-checker=taint + (along with + -fanalyzer). + This is now enabled by default when + -fanalyzer + is selected, thus also enabling the 6 taint-based warnings: + +
  • +
  • + + The analyzer will now simulate API calls that expect null-terminated + string arguments, and will warn about code paths in which such a call + is made with a buffer that isn't properly terminated, either due to + a read of an uninitialized byte or an out-of-range accesses seen + before any zero byte is seen. + This applies to functions that use the new + null_terminated_string_arg(PARAM_IDX) + attribute, + functions that use the + format + attribute, + and to the library functions + error (parameter 3), + error_at_line (parameter 5), + putenv, + strchr (parameter 1), and + strcpy (parameter 2). +
  • +
  • + + The analyzer now makes use of the function attribute + alloc_size + allowing + -fanalyzer + to emit + -Wanalyzer-allocation-size, + -Wanalyzer-out-of-bounds, + and + -Wanalyzer-tainted-allocation-size + on execution paths involving allocations using such functions. +
  • +
  • + The analyzer's knowledge about the behavior of the standard library has been extended to cover + fopen, + strcat, + strncpy, and + strstr. + The analyzer will also more precisely model the behavior of + memcpy, + memmove, + strcpy, + strdup, + strlen, + and of various atomic built-in functions. +
  • +
  • + + The warning + -Wanalyzer-out-of-bounds + has been extended so that, where possible, it will emit a text-based + diagram visualizing the spatial relationship between +
      +
    1. the memory region that the analyzer predicts would be + accessed, versus
    2. +
    3. the range of memory that is valid to access
    4. +
    + whether they overlap, are touching, are close or far apart; + which one is before or after in memory, the relative sizes involved, + the direction of the access (read vs write), and, in some cases, + the values of data involved. +

    Such "text art" diagrams can be controlled (or suppressed) via a new + -fdiagnostics-text-art-charset= option. +

    For example, given the out-of-bounds write in strcat in: + +

    +void test (void)
    +{
    +   char buf[10];
    +   strcpy (buf, "hello");
    +   strcat (buf, " world!");
    +}
    +
    +it emits: +
    +                                 ┌────┬────┬────┬────┬────┐┌─────┬─────┬─────┐
    +                                 │[0] │[1] │[2] │[3] │[4] ││ [5] │ [6] │ [7] │
    +                                 ├────┼────┼────┼────┼────┤├─────┼─────┼─────┤
    +                                 │' ' │'w' │'o' │'r' │'l' ││ 'd' │ '!' │ NUL │
    +                                 ├────┴────┴────┴────┴────┴┴─────┴─────┴─────┤
    +                                 │     string literal (type: 'char[8]')      │
    +                                 └───────────────────────────────────────────┘
    +                                   │    │    │    │    │      │     │     │
    +                                   │    │    │    │    │      │     │     │
    +                                   v    v    v    v    v      v     v     v
    +      ┌─────┬────────────────────┬────┬──────────────┬────┐┌─────────────────┐
    +      │ [0] │        ...         │[5] │     ...      │[9] ││                 │
    +      ├─────┼────┬────┬────┬────┬┼────┼──────────────┴────┘│                 │
    +      │ 'h' │'e' │'l' │'l' │'o' ││NUL │                    │after valid range│
    +      ├─────┴────┴────┴────┴────┴┴────┴───────────────────┐│                 │
    +      │             'buf' (type: 'char[10]')              ││                 │
    +      └───────────────────────────────────────────────────┘└─────────────────┘
    +      ├─────────────────────────┬─────────────────────────┤├────────┬────────┤
    +                                │                                   │
    +                      ╭─────────┴────────╮                ╭─────────┴─────────╮
    +                      │capacity: 10 bytes│                │overflow of 3 bytes│
    +                      ╰──────────────────╯                ╰───────────────────╯
    +
    + showing that the overflow occurs partway through the second string + fragment. +
  • +
  • + + The analyzer will now attempt to track execution paths involving + computed gotos, whereas previously it gave up on such paths. +
  • +
+ + +

Improvements to SARIF support

+
    +
  • + + The SARIF output from + -fdiagnostics-format= + now adds indentation and newlines to reflect the logical JSON structure of the data. The previous compact behavior can be restored via the new option + -fno-diagnostics-json-formatting. + This also applies to the older output format named "json". +
  • +
  • + + If profiling information about the compiler itself is requested via + -ftime-report, + and a SARIF output format is requested via + -fdiagnostics-format=, + then the timing and memory usage data is now written in JSON form into + the SARIF output, rather than as plain text to stderr. +
  • +
+ + +

Improvements for plugin authors

+
    +
  • + + GCC diagnostics have been able to have execution paths associated + with them since GCC 10, but previously these were required to be + single-threaded. + As of GCC 14, these execution paths can have multipled named threads + associated with them, with each event being associated with one of the + threads. + No existing GCC diagnostics take advantage of this, but GCC plugins + may find this useful for their own diagnostics; an + example + is provided in the testsuite. +
  • +
  • + + GCC's diagnostics can now optionally add per-diagnostic property + bags to the SARIF output, allowing plugins to capture custom data + as needed with their diagnostics. +
  • +
+ + + + + + + +

GCC 14.1

+ +

This is the list +of problem reports (PRs) from GCC's bug tracking system that are +known to be fixed in the 14.1 release. This list might not be +complete (that is, it is possible that some PRs that have been fixed +are not listed here).

+ + + + + + + + + + + + + + diff --git a/README.Bugs.m4 b/README.Bugs.m4 new file mode 100644 index 0000000..a2d1606 --- /dev/null +++ b/README.Bugs.m4 @@ -0,0 +1,333 @@ +Reporting Bugs in the GNU Compiler Collection for DIST +======================================================== + +Before reporting a bug, please +------------------------------ + +- Check that the behaviour really is a bug. Have a look into some + ANSI standards document. + +- Check the list of well known bugs: http://gcc.gnu.org/bugs.html#known + +- Try to reproduce the bug with a current GCC development snapshot. You + usually can get a recent development snapshot from the gcc-snapshot +ifelse(DIST,`Debian',`dnl + package in the unstable (or experimental) distribution. + + See: http://packages.debian.org/gcc-snapshot +', DIST, `Ubuntu',`dnl + package in the current development distribution. + + See: http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-snapshot/ +')dnl + +- Try to find out if the bug is a regression (an older GCC version does + not show the bug). + +- Check if the bug is already reported in the bug tracking systems. + +ifelse(DIST,`Debian',`dnl + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +', DIST, `Ubuntu',`dnl + Ubuntu: https://bugs.launchpad.net/~ubuntu-toolchain/+packagebugs + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org +')dnl + Upstream: http://gcc.gnu.org/bugzilla/ + + +Where to report a bug +--------------------- + +ifelse(DIST,`Debian',`dnl +Please report bugs found in the packaging of GCC to the Debian bug tracking +system. See http://www.debian.org/Bugs/ for instructions (or use the +reportbug script). +', DIST, `Ubuntu',`dnl +Please report bugs found in the packaging of GCC to Launchpad. See below +how issues should be reported. +')dnl + +DIST's current policy is to closely follow the upstream development and +only apply a minimal set of patches (which are summarized in the README.Debian +document). + +ifelse(DIST,`Debian',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Debian +GCC package maintainers, if you report the bug upstream and then submit +a bug report to the Debian BTS and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to the Debian BTS (but read "How to report a bug" +below). +', DIST, `Ubuntu',`dnl +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Ubuntu +GCC package maintainers, if you report the bug upstream and then submit +a bug report to Launchpad and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to Launchpad (but read "How to report a bug" below). + +Report the issue to https://bugs.launchpad.net/ubuntu/+source/SRCNAME. +')dnl + + +How to report a bug +------------------- + +There are complete instructions in the gcc info manual (found in the +gcc-doc package), section Bugs. + +The manual can be read using `M-x info' in Emacs, or if the GNU info +program is installed on your system by `info --node "(gcc)Bugs"'. Or see +the file BUGS included with the gcc source code. + +Online bug reporting instructions can be found at + + http://gcc.gnu.org/bugs.html + +[Some paragraphs taken from the above URL] + +The main purpose of a bug report is to enable us to fix the bug. The +most important prerequisite for this is that the report must be +complete and self-contained, which we explain in detail below. + +Before you report a bug, please check the list of well-known bugs and, +if possible in any way, try a current development snapshot. + +Summarized bug reporting instructions +------------------------------------- + +What we need + +Please include in your bug report all of the following items, the +first three of which can be obtained from the output of gcc -v: + + * the exact version of GCC; + * the system type; + * the options given when GCC was configured/built; + * the complete command line that triggers the bug; + * the compiler output (error messages, warnings, etc.); and + * the preprocessed file (*.i*) that triggers the bug, generated by + adding -save-temps to the complete compilation command, or, in + the case of a bug report for the GNAT front end, a complete set + of source files (see below). + +What we do not want + + * A source file that #includes header files that are left out + of the bug report (see above) + * That source file and a collection of header files. + * An attached archive (tar, zip, shar, whatever) containing all + (or some :-) of the above. + * A code snippet that won't cause the compiler to produce the + exact output mentioned in the bug report (e.g., a snippet with + just a few lines around the one that apparently triggers the + bug, with some pieces replaced with ellipses or comments for + extra obfuscation :-) + * The location (URL) of the package that failed to build (we won't + download it, anyway, since you've already given us what we need + to duplicate the bug, haven't you? :-) + * An error that occurs only some of the times a certain file is + compiled, such that retrying a sufficient number of times + results in a successful compilation; this is a symptom of a + hardware problem, not of a compiler bug (sorry) + * E-mail messages that complement previous, incomplete bug + reports. Post a new, self-contained, full bug report instead, if + possible as a follow-up to the original bug report + * Assembly files (*.s) produced by the compiler, or any binary files, + such as object files, executables, core files, or precompiled + header files + * Duplicate bug reports, or reports of bugs already fixed in the + development tree, especially those that have already been + reported as fixed last week :-) + * Bugs in the assembler, the linker or the C library. These are + separate projects, with separate mailing lists and different bug + reporting procedures + * Bugs in releases or snapshots of GCC not issued by the GNU + Project. Report them to whoever provided you with the release + * Questions about the correctness or the expected behavior of + certain constructs that are not GCC extensions. Ask them in + forums dedicated to the discussion of the programming language + + +Known Bugs and Non-Bugs +----------------------- + +[Please see /usr/share/doc/gcc/FAQ or http://gcc.gnu.org/faq.html first] + + +C++ exceptions don't work with C libraries +------------------------------------------ + +[Taken from the closed bug report #22769] C++ exceptions don't work +with C libraries, if the C code wasn't designed to be thrown through. +A solution could be to translate all C libraries with -fexceptions. +Mostly trying to throw an exception in a callback function (qsort, +Tcl command callbacks, etc ...). Example: + + #include + #include + + class A {}; + + static + int SortCondition(void const*, void const*) + { + printf("throwing 'sortcondition' exception\n"); + throw A(); + } + + int main(int argc, char *argv[]) + { + int list[2]; + + try { + SortCondition(NULL,NULL); + } catch (A) { + printf("caught test-sortcondition exception\n"); + } + try { + qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]), + &SortCondition); + } catch (A) { + printf("caught real-sortcondition exception\n"); + } + return 0; +} + +Andrew Macleod responded: + +When compiled with the table driven exception handling, exception can only +be thrown through functions which have been compiled with the table driven EH. +If a function isn't compiled that way, then we do not have the frame +unwinding information required to restore the registers when unwinding. + +I believe the setjmp/longjmp mechanism will throw through things like this, +but its produces much messier code. (-fsjlj-exceptions) + +The C compiler does support exceptions, you just have to turn them on +with -fexceptions. + +Your main options are to: + a) Don't use callbacks, or at least don't throw through them. + b) Get the source and compile the library with -fexceptions (You have to + explicitly turn on exceptions in the C compiler) + c) always use -fsjlj-exceptions (boo, bad choice :-) + + +g++: "undefined reference" to static const array in class +--------------------------------------------------------- + +The following code compiles under GNU C++ 2.7.2 with correct results, +but produces the same linker error with GNU C++ 2.95.2. +Alexandre Oliva responded: + +All of them are correct. A static data member *must* be defined +outside the class body even if it is initialized within the class +body, but no diagnostic is required if the definition is missing. It +turns out that some releases do emit references to the missing symbol, +while others optimize it away. + +#include + +class Test +{ + public: + Test(const char *q); + protected: + static const unsigned char Jam_signature[4] = "JAM"; +}; + +Test::Test(const char *q) +{ + if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0) + cerr << "Hello world!\n"; +} + +int main(void) +{ + Test::Test("JAM"); + return 0; +} + +g++: g++ causes passing non const ptr to ptr to a func with const arg + to cause an error (not a bug) +--------------------------------------------------------------------- + +Example: + +#include +void test(const char **b){ + printf ("%s\n",*b); +} +int main(void){ + char *test1="aoeu"; + test(&test1); +} + +make const +g++ const.cc -o const +const.cc: In function `int main()': +const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const' +make: *** [const] Error 1 + +Answer from "Martin v. Loewis" : + +> ok... maybe I missed something.. I haven't really kept up with the latest in +> C++ news. But I've never heard anything even remotly close to passing a non +> const var into a const arg being an error before. + +Thanks for your bug report. This is a not a bug in the compiler, but +in your code. The standard, in 4.4/4, puts it that way + +# A conversion can add cv-qualifiers at levels other than the first in +# multi-level pointers, subject to the following rules: +# Two pointer types T1 and T2 are similar if there exists a type T and +# integer n > 0 such that: +# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1) +# pointer to cv(1,n) T +# and +# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1) +# pointer to cv(2,n) T +# where each cv(i,j) is const, volatile, const volatile, or +# nothing. The n-tuple of cv-qualifiers after the first in a pointer +# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type +# T1, is called the cv-qualification signature of the pointer type. An +# expression of type T1 can be converted to type T2 if and only if the +# following conditions are satisfied: +# - the pointer types are similar. +# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) , +# and similarly for volatile. +# - if the cv(1,j) and cv(2,j) are different, then const is in every +# cv(2,k) for 0 < k < j. + +It is the last rule that your code violates. The standard gives then +the following example as a rationale: + +# [Note: if a program could assign a pointer of type T** to a pointer +# of type const T** (that is, if line //1 below was allowed), a +# program could inadvertently modify a const object (as it is done on +# line //2). For example, +# int main() { +# const char c = 'c'; +# char* pc; +# const char** pcc = &pc; //1: not allowed +# *pcc = &c; +# *pc = 'C'; //2: modifies a const object +# } +# - end note] + +If you question this line of reasoning, please discuss it in one of +the public C++ fora first, eg. comp.lang.c++.moderated, or +comp.std.c++. + + +cpp removes blank lines +----------------------- + +With the new cpp, you need to add -traditional to the "cpp -P" args, else +blank lines get removed. + +[EDIT ME: scan Debian bug reports and write some nice summaries ...] diff --git a/README.C++ b/README.C++ new file mode 100644 index 0000000..8cc40f8 --- /dev/null +++ b/README.C++ @@ -0,0 +1,35 @@ +libstdc++ is an implementation of the Standard C++ Library, including the +Standard Template Library (i.e. as specified by ANSI and ISO). + +Some notes on porting applications from libstdc++-2.90 (or earlier versions) +to libstdc++-v3 can be found in the libstdc++6-4.3-doc package. After the +installation of the package, look at: + + file:///usr/share/doc/gcc-4.3-base/libstdc++/html/17_intro/porting-howto.html + +On Debian GNU/Linux you find additional documentation in the +libstdc++6-4.3-doc package. After installing these packages, +point your browser to + + file:///usr/share/doc/libstdc++6-4.3-doc/libstdc++/html/index.html + +Other documentation can be found: + + http://www.sgi.com/tech/stl/ + +with a good, recent, book on C++. + +A great deal of useful C++ documentation can be found in the C++ FAQ-Lite, +maintained by Marshall Cline . It can be found at the +mirror sites linked from the following URL (this was last updated on +2010/09/11): + + http://www.parashift.com/c++-faq/ + +or use some search engin site to find it, e.g.: + + http://www.google.com/search?q=c%2B%2B+faq+lite + +Be careful not to use outdated mirors. + +Please send updates to this list as bug report for the g++ package. diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..b2275d4 --- /dev/null +++ b/README.Debian @@ -0,0 +1,45 @@ + The Debian GNU Compiler Collection setup + ======================================== + +Please see the README.Debian in /usr/share/doc/gcc, contained in the +gcc package for a description of the setup of the different compiler +versions. + +For general discussion about the Debian toolchain (GCC, glibc, binutils) +please use the mailing list debian-toolchain@lists.debian.org; for GCC +specific things, please use debian-gcc@lists.debian.org. When in doubt +use the debian-toolchain ML. + + +Maintainers of these packages +----------------------------- + +Matthias Klose +Ludovic Brenta (gnat) +Iain Buclaw (gdc) +Aurelien Jarno (mips*-linux) +Aurelien Jarno (s390X*-linux) + +The following ports lack maintenance in Debian: powerpc, ppc64, +sparc, sparc64 (unmentioned ports are usually handled by the Debian +porters). + +Former and/or inactive maintainers of these packages +---------------------------------------------------- + +Falk Hueffner (alpha-linux) +Ray Dassen +Jeff Bailey (hurd-i386) +Joel Baker (netbsd-i386) +Randolph Chung (ia64-linux) +Philip Blundell (arm-linux) +Ben Collins (sparc-linux) +Dan Jacobowitz (powerpc-linux) +Thiemo Seufer (mips*-linux) +Matt Taggart (hppa-linux) +Gerhard Tonn (s390-linux) +Roman Zippel (m68k-linux) +Arthur Loiret (gdc) + +=============================================================================== + diff --git a/README.cross b/README.cross new file mode 100644 index 0000000..ccf245b --- /dev/null +++ b/README.cross @@ -0,0 +1,22 @@ +Building cross-compiler Debian packages +--------------------------------------- + +The packaging for cross toolchains is now in the archive, including +all frontends, and targeting all release and ports architectures. + +Cross toolchains are built from the following source packages: + + - binutils + - cross-toolchain-base + - cross-toolchain-base-ports + - gcc-7-cross + - gcc-7-cross-ports + - gcc-8-cross + - gcc-8-cross-ports + - gcc-9-cross + - gcc-9-cross-ports + - gcc-defaults + - gcc-defaults-ports + +Issues about the cross toolchains should be filed for one of the +above source packages. diff --git a/README.libstdc++-baseline.in b/README.libstdc++-baseline.in new file mode 100644 index 0000000..e771c16 --- /dev/null +++ b/README.libstdc++-baseline.in @@ -0,0 +1,2 @@ +The libstdc++ baseline file is a list of symbols exported by the +libstdc++ library. diff --git a/README.maintainers b/README.maintainers new file mode 100644 index 0000000..9240455 --- /dev/null +++ b/README.maintainers @@ -0,0 +1,190 @@ +-*- Outline -*- + +Read this file if you are a Debian Developer or would like to become +one, or if you would like to create your own binary packages of GCC. + +* Overview + +From the GCC sources, Debian currently builds 3 source packages and +almost 100 binary packages, using a single set of build scripts. The +3 source packages are: + +gcc-x.y: C, C++, Fortran, Objective-C and Objective-C++, plus many + common libraries like libssp and libgcc. +gnat-x.y: Ada. + +The way we do this is quite peculiar, so listen up :) + +When we build from the gcc-x.y source package, we produce, among many +others, a gcc-x.y-source binary package that contains the pristine +upstream tarball and some Debian-specific patches. Any user can then +install this package on their Debian system, and will have the full +souces in /usr/src/gcc-x.y/gcc-.tar.bz2, along with the +Makefile snippets that unpack and patch them. + +The intended use for this package is twofold: (a) allow users to build +their own cross-compilers, and (b) build the other packages like +gnat-x.y. + +- gcc-x.y requires only a C compiler to build and produces C, C++, + Fortran, Go and Objective-C compilers and libraries. It also + produces the binary package gcc-x.y-source containing all the + sources and patches in a tarball. + +- gnat-x.y build-depends on gcc-x.y-source and an Ada compiler. It + does not even have an .orig.tar.bz2 package; it is a Debian native + package. + +The benefits of this split are many: + +- bootstrapping a subset of languages is much faster than + bootstrapping all languages and libraries (which can take a full + week on slow architectures like mips or arm) + +- the language maintainers don't have to wait for each other + +- for new ports, the absence of a port of, say, gnat-x.y does not + block the porting of gcc-x.y. + +gcc-x.y-source is also intended for interested users to build +cross-compiler packages. Debian cannot provide all possible +cross-compiler packages (i.e. all possible host, target, language and +library combinations), so instead tries to facilitate building them. + +* The build sequence + +As for all other Debian packages, you build GCC by calling +debian/rules. + +The first thing debian/rules does it to look at the top-most entry in +debian/changelog: this tells it which source package it is building. +For example, if the first entry in debian/changelog reads: + +gnat-6 (6.2.0-1) unstable; urgency=low + + * Upload as gnat-6. + + -- Ludovic Brenta Tue, 26 Jun 2007 00:26:42 +0200 + +then, debian/rules will build only the gnat binary packages. + +The second step is to build debian/control from debian/control.m4 and +a complex set of rules specified in debian/rules.conf. The resulting +control file contains only the binary packages to be built. + +The third step is to select which patches to apply (this is done in +debian/rules.defs), and then to apply the selected patches (see +debian/rules.patch). The result of this step is a generated +debian/patches/series file for use by quilt. + +The fourth step is to unpack the GCC source tarball. This tarball is +either in the build directory (when building gcc-x.y), or in +/usr/src/gcc-x.y/gcc-x.y.z.tar.xz (when building the other source +packages). + +The fifth step is to apply all patches to the unpacked sources with +quilt. + +The sixth step is to create a "build" directory, cd into it, call +../src/configure, and bootstrap the compiler and libraries selected. +This is in debian/rules2. + +The seventh step is to call "make install" in the build directory: +this installs the compiler and libraries into debian/tmp +(i.e. debian/tmp/usr/bin/gcc, etc.) + +The eighth step is to run the GCC test suite. This actually takes at +least as much time as bootstrapping, and you can disable it by setting +WITHOUT_CHECK to "yes" in the environment. + +The ninth step is to build the binary packages, i.e. the .debs. This +is done by a set of language- and architecture-dependent Makefile +snippets in the debian/rules.d/ directory, which move files from the +debian/tmp tree to the debian/ trees. + +* Making your own packages + +In this example, we will build our own gnat-x.y package. + +1) Install gcc-x.y-source, which contains the real sources: + +# aptitude install gcc-x.y-source + +2) Create a build directory: + +$ mkdir gnat-x.y-x.y.z; cd gnat-x.y-x.y.z + +3) Checkout from Subversion: + +$ svn checkout svn://svn.debian.org/gcccvs/branches/sid/gcc-x.y/debian + +4) Edit the debian/changelog file, adding a new entry at the top that + starts with "gnat-x.y". + +5) Generate the debian/control file, adjusted for gnat: + +$ debian/rules control + +8) Build: + +$ dpkg-buildpackage + +* Hints + +You need a powerful machine to build GCC. The larger, the better. +The build scripts take advantage of as many CPU threads as are +available in your box (for example: 2 threads on a dual-core amd64; 4 +threads on a dual-core POWER5; 32 threads on an 8-core UltraSPARC T1, +etc.). + +If you have 2 GB or more of physical RAM, you can achieve maximum +performance by building in a tmpfs, like this: + +1) as root, create the new tmpfs: + +# mount -t tmpfs -o size=1280m none /home/lbrenta/src/debian/ram + +By default, the tmpfs will be limited to half your physical RAM. The +beauty of it is that it only consumes as much physical RAM as +necessary to hold the files in it; deleting files frees up RAM. + +2) As your regular user, create the working directory in the tmpfs + +$ cp --archive ~/src/debian/gcc-x.y-x.y.z ~/src/debian/ram + +3) Build in there. On my dual-core, 2 GHz amd64, it takes 34 minutes + to build gnat, and the tmpfs takes 992 MiB of physical RAM but + exceeds 1 GiB during the build. + +Note that the build process uses a lot of temporary files. Your $TEMP +directory should therefore also be in a ram disk. You can achieve +that either by mounting it as tmpfs, or by setting TEMP to point to +~/src/debian/ram. + +Also note that each thread in your processor(s) will run a compiler in +it and use up RAM. Therefore your physical memory should be: + +Physical_RAM >= 1.2 + 0.4 * Threads (in GiB) + +(this is an estimate; your mileage may vary). If you have less +physical RAM than recommended, reduce the number of threads allocated +to the build process, or do not use a tmpfs to build. + +* Patching GCC + +Debian applies a large number of patches to GCC as part of the build +process. It uses quilt but the necessary debian/patches/series is not +part of the packaging scripts; instead, "debian/rules patch" generates +this file by looking at debian/control (which is itself generated!), +debian/changelog and other files. Then it applies all the patches. +At this point, you can use quilt as usual: + +$ cd ~/src/debian/gcc-x.y +$ export QUILT_PATCHES=$PWD/debian/patches +$ quilt series + +If you add new patches, remember to add them to the version control +system too. + +-- +Ludovic Brenta, 2012-04-02. diff --git a/README.snapshot b/README.snapshot new file mode 100644 index 0000000..5351938 --- /dev/null +++ b/README.snapshot @@ -0,0 +1,46 @@ +Debian gcc-snapshot package +=========================== + +This package contains a recent development SNAPSHOT of all files +contained in the GNU Compiler Collection (GCC). + +DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + +This package will NEVER hit the testing distribution. It's used for +tracking gcc bugs submitted to the Debian BTS in recent development +versions of gcc. + +To use this snapshot, you should set the following environment variables: + + LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} + PATH=/usr/lib/gcc-snapshot/bin${PATH:+:$PATH} + +You might also like to use a shell script to wrap up this +funcationality, e.g. + +place in /usr/local/bin/gcc-snapshot and chmod +x it + +----------- snip ---------- +#!/bin/sh +LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +PATH=/usr/lib/gcc-snapshot/bin${PATH:+:$PATH} +rpath="" +OLD_IFS="$IFS" +IFS=: +for i in $LD_RUN_PATH +do + rpath="$rpath -Wl,-rpath -Wl,$i" +done +IFS="$OLD_IFS" +exec gcc -Wl,-rpath -Wl,/usr/lib/gcc-snapshot/lib \ + -Wl,-rpath -Wl,/usr/lib/gcc-snapshot/lib32 \ + -Wl,-rpath -Wl,/usr/lib/gcc-snapshot/libx32 $rpath "$@" +----------- snip ---------- + +Make the same for g++, g77, cpp, ... + +Don't forget the quotes around the $@ or gcc will not parse it's +command line correctly! + +Unset these variables before building Debian packages destined for an +upload to ftp-master.debian.org. diff --git a/README.source b/README.source new file mode 100644 index 0000000..8eed2f0 --- /dev/null +++ b/README.source @@ -0,0 +1,29 @@ +Patches applied to the Debian version of GCC +-------------------------------------------- + +Debian specific patches can be found in the debian/patches directory. +Quilt is used as the patch system. See /usr/share/doc/quilt/README.source +for details about quilt. + +Patches are applied by calling `debian/rules patch'. The `series' +file is constructed on the fly based on the files found in the to +debian/rules.patch "debian_patches" variable, configure scripts are +regenerated in the `patch' target. The gcc source is unpacked under +src/ this needs to be reflected in the patch header. + +Running a single dejagnu test +----------------------------- + + - Find out the test suite containing the test, and the associated + target (e.g. check-gcc in /gcc, or check in /. + + - Find out the dejagnu test suite, e.g. guality.exp + - If you have a log of the original testsuite run, search back for the + .exp file before the fail. + - Find the directory with the test and then the .exp in the nearest + enclosing directory. + + - Set RUNTESTFLAGS to the testsuite name and the test name to run, e.g + RUNTESTFLAGS="guality.exp=pr54519-2.c" make -e check-gcc + The test name is just the base name, but might be the path relative + from gcc/testsuite for C++ tests. diff --git a/README.ssp b/README.ssp new file mode 100644 index 0000000..9facca7 --- /dev/null +++ b/README.ssp @@ -0,0 +1,28 @@ +Stack smashing protection is a feature of GCC that enables a program to +detect buffer overflows and immediately terminate execution, rather than +continuing execution with corrupt internal data structures. It uses +"canaries" and local variable reordering to reduce the likelihood of +stack corruption through buffer overflows. + +Options that affect stack smashing protection: + +-fstack-protector + Enables protection for functions that are vulnerable to stack + smashing, such as those that call alloca() or use pointers. + +-fstack-protector-all + Enables protection for all functions. + +-Wstack-protector + Warns about functions that will not be protected. Only active when + -fstack-protector has been used. + +Applications built with stack smashing protection should link with the +ssp library by using the option "-lssp" for systems with glibc-2.3.x or +older; glibc-2.4 and newer versions provide this functionality in libc. + +The Debian architectures alpha, hppa, ia64, m68k, mips, mipsel do not +have support for stack smashing protection. + +More documentation can be found at the project's website: +http://researchweb.watson.ibm.com/trl/projects/security/ssp/ diff --git a/TODO b/TODO new file mode 100644 index 0000000..05c8bf5 --- /dev/null +++ b/TODO @@ -0,0 +1,58 @@ +(It is recommended to edit this file with emacs' todoo mode) +Last updated: 2020-05-12 + +* General + +- Clean up the sprawl of debian/rules. I'm sure there are neater + ways to do some of it; perhaps split it up into some more files? + Partly done. + +- Make debian/rules control build the control file without unpacking + the sources or applying patches. Currently, it unpacks the sources, + patches them, creates the control file, and a subsequent + dpkg-buildpackage deletes the sources, re-unpacks them, and + re-patches them. + + This would require hard-coding things like soversions in some + places. Is it worth it? + +- Reorganise debian/rules.defs to decide which packages to build in a + more straightforward and less error-prone fashion: (1) start with + all languages; override the list of languages depending on the name + of the source package (gcc-4.3, gnat-4.3, gdc-4.3). (2) + filter the list of languages depending on the target platform; (3) + depending on the languages to build, decide on which libraries to + build. + + Now that we build all languages from one source package, should that + be changed? Building from separate packages makes building the + cross compilers more complicated. + +o [Ludovic Brenta] Ada + +- Done: Build both the zero-cost and setjump/longjump exceptions + versions of libgnat. In particular, gnat-glade (distributed systems) + works best with SJLJ. + This is disabled now in GCC 10. + +- Add support for multilib (not yet supported upstream). + + +* Testsuite + +- Only run libgo/x32, if the kernel is prepared to execute the x32 + executables. + +- PR target/94278: segfaults running the amdgcn target tools, based + on LLVM 9 and LLVM 10. https://bugs.llvm.org/show_bug.cgi?id=45887 + +- Investigate regressions for test failures, seen when turning on the + hardening flags by default. + +- Fix gm2 link errors when running the tests. + +- Fix asan test errors in g++. Seen when run locally, e.g. alloca_big_alignment.c + ==1453818==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD. + +- libstdc++ locale related test failures with recent glibc versions: + https://gcc.gnu.org/PR71367 diff --git a/ada/README.gnat b/ada/README.gnat new file mode 100644 index 0000000..09981e3 --- /dev/null +++ b/ada/README.gnat @@ -0,0 +1,39 @@ +If you want to develop Ada programs and libraries on Debian, please +read the Debian Policy for Ada: + +http://people.debian.org/~lbrenta/debian-ada-policy.html + +The default Ada compiler is and always will be the package `gnat'. +Debian contains many programs and libraries compiled with it, which +are all ABI-compatible. + +Starting with gnat-4.2, Debian provides both zero-cost and +setjump/longjump versions of the run-time library. The zero-cost +exception handling mechanism is the default as it provides the best +performance. The setjump/longjump exception handling mechanism is new +and only provided as a static library. It is necessary to use this +exception handling mechanism in distributed (annex E) programs. If +you wish to use the new sjlj library: + +1) call gnatmake with --RTS=sjlj +2) call gnatbind with -static + +Do NOT link your programs with libgnat-4.2.so, because it uses the ZCX +mechanism. + + +This package also includes small tools covering specific needs. + +* When linking objects compiled from both Ada and C sources, you need + to use compatible versions of the Ada and C compilers. The + required major version is the output of + # gnatmake --version | sed 's/.* \([0-9]\+\).*/\1/;q') + Then compile C sources with gcc-MAJOR instead of gcc. + For GPR projects, this should be sufficient: + # gprconfig --batch --config=Ada --config=C,,,,MAJOR + + The same advice applies to C++, Fortran and assembly. + +* When packaging Ada sources for Debian, you may want to read the + /usr/share/ada/debian_packaging.mk Makefile snippet from the gnat + package. diff --git a/ada/confirm_debian_bugs.py b/ada/confirm_debian_bugs.py new file mode 100644 index 0000000..fe1574b --- /dev/null +++ b/ada/confirm_debian_bugs.py @@ -0,0 +1,899 @@ +#!/usr/bin/python3 + +# Helper when migrating bugs from a gnat version to another. + +# Attempt to reproduce each known GNAT bug with version BV. +# Reports results as control@bugs.debian.org commands. +# Only remove temporary subdirectories when the bug is reproduced. + +# python3 confirm_debian_bugs.py same BV -> found | fixed +# python3 confirm_debian_bugs.py new BV -> reassign | retitle + +# flake8 confirm_debian_bugs.py +# pylint confirm_debian_bugs.py +# mypy confirm_debian_bugs.py +# rm -fr .mypy_cache/ + +# pylint: disable=too-many-lines +# pylint: disable=missing-module-docstring +# pylint: disable=missing-function-docstring + +import os.path +import re +import shutil +import subprocess +import sys +import tempfile +import typing + +Make: typing.TypeAlias = typing.Sequence[str] +Sources: typing.TypeAlias = typing.Iterable[tuple[str, str]] + +os.environ['LC_ALL'] = 'C' + +assert len(sys.argv) == 3, 'expected same|new new_version' +assert sys.argv[1] in ("same", "new") +SAME_GCC_BASE_VERSION = sys.argv[1] == "same" +new_version = sys.argv[2] + +for line in subprocess.check_output( + ("dpkg", "--status", f"gnat-{new_version}")).decode().split("\n"): + if line.startswith("Version: "): + deb_version = line[len("Version: "):] + break +# Will cause an error later if deb_version is not defined. + +# Each bug has its own subdirectory in WORKSPACE. +# Every bug subdir is removed if the bug is confirmed, +# and WORKSPACE is removed if empty. +workspace = tempfile.mkdtemp(suffix=f"-gnat-{new_version}-bugs") + + +def attempt_to_reproduce(bug: int, + make: Make, + sources: Sources, + ) -> tuple[str, int, str]: + tmp_dir = os.path.join(workspace, f"bug{bug}") + os.mkdir(tmp_dir) + + for (name, contents) in sources: + with open(os.path.join(tmp_dir, name), "w", encoding="UTF-8") as out_f: + out_f.write(contents) + + path = os.path.join(tmp_dir, "stderr.log") + with open(path, "w", encoding="UTF-8") as out_f: + status = subprocess.call(make, stderr=out_f, cwd=tmp_dir) + with open(path, "r", encoding="UTF-8") as in_f: + stderr = in_f.read() + return tmp_dir, status, stderr + + +def reassign_and_remove_dir(bug: int, tmp_dir: str) -> None: + if SAME_GCC_BASE_VERSION: + print(f"found {bug} {deb_version}") + else: + print(f"reassign {bug} gnat-{new_version} {deb_version}") + shutil.rmtree(tmp_dir) + + +def report(bug: int, message: str, output: str) -> None: + print(f"# {bug}: {message}.") + for report_line in output.split("\n"): + print(f"# {report_line}") + + +def report_and_retitle(bug: int, message: str, output: str) -> None: + report(bug, message, output) + if SAME_GCC_BASE_VERSION: + print(f"fixed {bug} {deb_version}") + else: + print(f"retitle {bug} [Fixed in {new_version}] ") + + +def check_compiles_but_should_not(bug: int, + make: Make, + sources: Sources, + ) -> None: + tmp_dir, status, stderr = attempt_to_reproduce(bug, make, sources) + if status == 0: + reassign_and_remove_dir(bug, tmp_dir) + else: + report_and_retitle(bug, "now fails to compile (bug is fixed?)", stderr) + + +def check_reports_an_error_but_should_not(bug: int, + make: Make, + sources: Sources, + regex: str, + ) -> None: + tmp_dir, status, stderr = attempt_to_reproduce(bug, make, sources) + if status == 0: + report_and_retitle(bug, "now compiles (bug is fixed?)", stderr) + elif re.search(regex, stderr): + reassign_and_remove_dir(bug, tmp_dir) + else: + report(bug, "still fails to compile, but with a new stderr", stderr) + + +def check_reports_error_but_forgets_one(bug: int, + make: Make, + sources: Sources, + regex: str, + ) -> None: + tmp_dir, status, stderr = attempt_to_reproduce(bug, make, sources) + if status == 0: + report(bug, "now compiles (?)", stderr) + elif re.search(regex, stderr): + report_and_retitle(bug, "now reports the error (bug is fixed ?)", + stderr) + else: + reassign_and_remove_dir(bug, tmp_dir) + + +def check_produces_a_faulty_executable(bug: int, + make: Make, + sources: Sources, + regex: str, + trigger: str, + ) -> None: + tmp_dir, status, stderr = attempt_to_reproduce(bug, make, sources) + if status != 0: + report(bug, "cannot compile the trigger anymore", stderr) + else: + output = subprocess.check_output((os.path.join(tmp_dir, trigger), ), + cwd=tmp_dir).decode() + if re.search(regex, output): + reassign_and_remove_dir(bug, tmp_dir) + else: + report_and_retitle(bug, + "output of the trigger changed (bug fixed?)", + output) + + +###################################################################### + +check_reports_an_error_but_should_not( + bug=244936, + make=(f"gnatmake-{new_version}", "p"), + regex='p[.]ads:3:25: error: ' + '"foo" is hidden within declaration of instance', + sources=( + ("foo.ads", """generic +procedure foo; +"""), + ("foo.adb", """procedure foo is +begin + null; +end foo; +"""), ("p.ads", """with foo; +package p is + procedure FOO is new foo; -- OK +end p; +"""))) + +check_reports_an_error_but_should_not( + bug=246187, + make=(f"gnatmake-{new_version}", "test_43"), + regex="Error detected at test_43.ads:11:4", + sources=( + ("test_43.ads", """package Test_43 is + type T1 is private; + +private + + type T2 is record + a: T1; + end record; + type T2_Ptr is access T2; + + type T1 is record + n: T2_Ptr := new T2; + end record; + +end Test_43; +"""),)) + +check_compiles_but_should_not( + bug=247013, + make=(f"gnatmake-{new_version}", "test_53"), + sources=( + ("test_53.ads", """generic + type T1 is private; +package Test_53 is + type T2 (x: integer) is new T1; -- ERROR: x not used +end Test_53; +"""),)) + +check_compiles_but_should_not( + bug=247017, + make=(f"gnatmake-{new_version}", "test_59"), + sources=( + ("test_59.adb", """procedure Test_59 is + + generic + type T1 (<>) is private; + procedure p1(x: out T1); + + procedure p1 (x: out T1) is + b: boolean := x'constrained; --ERROR: not a discriminated type + begin + null; + end p1; + +begin + null; +end Test_59; +"""),)) + +check_compiles_but_should_not( + bug=247018, + make=(f"gnatmake-{new_version}", "test_60"), + sources=( + ("pak1.ads", """package pak1 is + generic + package pak2 is + end pak2; +end pak1; +"""), + ("test_60.ads", """with pak1; +package Test_60 is + package PAK1 is new pak1.pak2; --ERROR: illegal reference to pak1 +end Test_60; +"""))) + +check_compiles_but_should_not( + bug=247019, + make=(f"gnatmake-{new_version}", "test_61"), + sources=( + ("test_61.adb", """procedure Test_61 is + procedure p1; + + generic + package pak1 is + procedure p2 renames p1; + end pak1; + + package new_pak1 is new pak1; + procedure p1 renames new_pak1.p2; --ERROR: circular renames +begin + p1; +end Test_61; +"""),)) + +check_produces_a_faulty_executable( + bug=247569, + make=(f"gnatmake-{new_version}", "test_75"), + trigger="test_75", + regex="failed: wrong p1 called", + sources=( + ("test_75.adb", """with text_io; +procedure Test_75 is + generic + package pak1 is + type T1 is null record; + end pak1; + + generic + with package A is new pak1(<>); + with package B is new pak1(<>); + package pak2 is + procedure p1(x: B.T1); + procedure p1(x: A.T1); + end pak2; + + package body pak2 is + + procedure p1(x: B.T1) is + begin + text_io.put_line("failed: wrong p1 called"); + end p1; + + procedure p1(x: A.T1) is + begin + text_io.put_line("passed"); + end p1; + + x: A.T1; + begin + p1(x); + end pak2; + + package new_pak1 is new pak1; + package new_pak2 is new pak2(new_pak1, new_pak1); -- (1) + +begin + null; +end Test_75; +"""),)) + +check_compiles_but_should_not( + bug=247570, + make=(f"gnatmake-{new_version}", "test_76"), + sources=( + ("test_76.adb", """procedure Test_76 is + + generic + procedure p1; + + pragma Convention (Ada, p1); + + procedure p1 is + begin + null; + end p1; + + procedure new_p1 is new p1; + pragma Convention (Ada, new_p1); --ERROR: new_p1 already frozen + +begin + null; +end Test_76; +"""),)) + +check_produces_a_faulty_executable( + bug=247571, + make=(f"gnatmake-{new_version}", "test_77"), + trigger="test_77", + regex="failed: wrong p1 called", + sources=( + ("pak.ads", """package pak is + procedure p1; + procedure p1(x: integer); + pragma export(ada, p1); +end pak; +"""), + ("pak.adb", """with text_io; use text_io; +package body pak is + procedure p1 is + begin + put_line("passed"); + end; + + procedure p1(x: integer) is + begin + put_line("failed: wrong p1 called"); + end; +end pak; +"""), + ("test_77.adb", """with pak; +procedure Test_77 is + procedure p1; + pragma import(ada, p1); +begin + p1; +end Test_77; +"""))) + +check_compiles_but_should_not( + bug=248166, + make=(f"gnatmake-{new_version}", "test_82"), + sources=( + ("test_82.adb", """procedure Test_82 is + package pak1 is + type T1 is tagged null record; + end pak1; + + package body pak1 is + -- type T1 is tagged null record; -- line 7 + + function "=" (x, y : T1'class) return boolean is -- line 9 + begin + return true; + end "="; + + procedure proc (x, y : T1'class) is + b : boolean; + begin + b := x = y; --ERROR: ambiguous "=" + end proc; + + end pak1; + +begin + null; +end Test_82; +"""),)) + +check_compiles_but_should_not( + bug=248168, + make=(f"gnatmake-{new_version}", "test_84"), + sources=( + ("test_84.adb", """procedure Test_84 is + package pak1 is + type T1 is abstract tagged null record; + procedure p1(x: in out T1) is abstract; + end pak1; + + type T2 is new pak1.T1 with null record; + + protected type T3 is + end T3; + + protected body T3 is + end T3; + + procedure p1(x: in out T2) is --ERROR: declared after body of T3 + begin + null; + end p1; + +begin + null; +end Test_84; +"""),)) + +check_compiles_but_should_not( + bug=248678, + make=(f"gnatmake-{new_version}", "test_80"), + sources=( + ("test_80.ads", """package Test_80 is + generic + type T1(<>) is private; + with function "=" (Left, Right : T1) return Boolean is <>; + package pak1 is + end pak1; + + package pak2 is + type T2 is abstract tagged null record; + package new_pak1 is new pak1 (T2'Class); --ERROR: no matching "=" + end pak2; +end Test_80; +"""),)) + +check_compiles_but_should_not( + bug=248681, + make=(f"gnatmake-{new_version}", "test_91"), + sources=( + ("test_91.adb", """-- RM 8.5.4(5) +-- ...the convention of the renamed subprogram shall not be +-- Intrinsic. +with unchecked_deallocation; +procedure Test_91 is + generic -- when non generic, we get the expected error + package pak1 is + type int_ptr is access integer; + procedure free(x: in out int_ptr); + end pak1; + + package body pak1 is + procedure deallocate is new + unchecked_deallocation(integer, int_ptr); + procedure free(x: in out int_ptr) renames + deallocate; --ERROR: renaming as body can't rename intrinsic + end pak1; +begin + null; +end Test_91; +"""),)) + +check_compiles_but_should_not( + bug=248682, + make=(f"gnatmake-{new_version}", "main"), + sources=( + ("main.adb", """-- RM 6.3.1(9) +-- The default calling convention is Intrinsic for ... an attribute +-- that is a subprogram; + +-- RM 8.5.4(5) +-- ...the convention of the renamed subprogram shall not be +-- Intrinsic. +procedure main is + package pak1 is + function f1(x: integer'base) return integer'base; + end pak1; + + package body pak1 is + function f1(x: integer'base) return integer'base renames + integer'succ; --ERROR: renaming as body can't rename intrinsic + end pak1; +begin + null; +end; +"""),)) + +check_reports_an_error_but_should_not( + bug=253737, + make=(f"gnatmake-{new_version}", "test_4"), + regex='test_4[.]ads:3:01: error: "pak2" not declared in "pak1"', + sources=( + ("parent.ads", """generic +package parent is +end parent; +"""), + ("parent-pak2.ads", """generic +package parent.pak2 is +end parent.pak2; +"""), + ("parent-pak2-pak3.ads", """generic +package parent.pak2.pak3 is +end parent.pak2.pak3; +"""), + ("parent-pak2-pak4.ads", """with parent.pak2.pak3; +generic +package parent.pak2.pak4 is + package pak3 is new parent.pak2.pak3; +end parent.pak2.pak4; +"""), + ("pak1.ads", """with parent; +package pak1 is new parent; +"""), + ("pak6.ads", """with parent.pak2; +with pak1; +package pak6 is new pak1.pak2; +"""), + ("test_4.ads", """with parent.pak2.pak4; +with pak6; +package Test_4 is new pak6.pak4; +"""))) + +check_compiles_but_should_not( + bug=269948, + make=(f"gnatmake-{new_version}", "test_119"), + sources=( + ("test_119.ads", """ +-- RM 3.9.3/11 A generic actual subprogram shall not be an abstract +-- subprogram. works OK if unrelated line (A) is commented out. +package Test_119 is + generic + with function "=" (X, Y : integer) return Boolean is <>; + -- Removing this allows GCC to detect the problem. + package pak1 is + function "=" (X, Y: float) return Boolean is abstract; + generic + with function Equal (X, Y : float) return Boolean is "="; --ERROR: + package pak2 is + end pak2; + end pak1; + + package new_pak1 is new pak1; + package new_pak2 is new new_pak1.pak2; +end Test_119; +"""),)) + +check_compiles_but_should_not( + bug=269951, + make=(f"gnatmake-{new_version}", "test_118"), + sources=( + ("pak1.ads", """generic +package pak1 is +end pak1; +"""), + ("pak1-foo.ads", """generic +package pak1.foo is +end pak1.foo; +"""), + ("test_118.ads", """with pak1.foo; +package Test_118 is + package pak3 is + foo: integer; + end pak3; + use pak3; + + package new_pak1 is new pak1; + use new_pak1; + + x: integer := foo; -- ERROR: foo hidden by use clauses +end Test_118; +"""),)) + +# As long as 24:14 is detected, it inhibits detection of 25:21. +check_reports_error_but_forgets_one( + bug=276224, + make=(f"gnatmake-{new_version}", "test_121"), + regex="test_121[.]adb:25:21: dynamically tagged expression not allowed", + sources=( + ("test_121.adb", + """-- If the expected type for an expression or name is some specific +-- tagged type, then the expression or name shall not be dynamically +-- tagged unless it is a controlling operand in a call on a +-- dispatching operation. +procedure Test_121 is + package pak1 is + type T1 is tagged null record; + function f1 (x1: T1) return T1; + end pak1; + + package body pak1 is + function f1 (x1: T1) return T1 is + begin + return x1; + end; + end pak1; + use pak1; + + type T2 is record + a1: T1; + end record; + + z0: T1'class := T1'(null record); + z1: T1 := f1(z0); -- ERROR: gnat correctly rejects + z2: T2 := (a1 => f1(z0)); -- ERROR: gnat mistakenly allows +begin + null; +end Test_121; +"""),)) + +check_reports_an_error_but_should_not( + bug=276227, + make=(f"gnatmake-{new_version}", "test_124"), + regex='test_124[.]ads:6:35: error: ' + 'size for "T_arr_constrained" too small, minimum allowed is 256', + sources=( + ("test_124.ads", """package Test_124 is + type T is range 1 .. 32; + type T_arr_unconstrained is array (T range <>) of boolean; + type T_arr_constrained is new T_arr_unconstrained (T); + pragma pack (T_arr_unconstrained); + for T_arr_constrained'size use 32; +end Test_124; +"""),)) + +check_reports_an_error_but_should_not( + bug=278687, + make=(f"gnatmake-{new_version}", "test_127"), + regex='test_127[.]adb:10:21: error: expected type "T2" defined at line 4', + sources=( + ("test_127.ads", + """-- The second parameter of T2'Class'Read is of type T2'Class, +-- which should match an object of type T3, which is derived +-- from T2. +package test_127 is + pragma elaborate_body; +end test_127; +"""), + ("test_127.adb", """with ada.streams; +package body test_127 is + type T1 is access all ada.streams.root_stream_type'class; + type T2 is tagged null record; + type T3 is new T2 with null record; + + x: T1; + y: T3; +begin + T2'class'read(x, y); +end test_127; +"""))) + +check_compiles_but_should_not( + bug=278831, + make=(f"gnatmake-{new_version}", "test_128"), + sources=( + ("test_128.ads", """package Test_128 is + package inner is + private + type T1; + end inner; + type T1_ptr is access inner.T1; -- line 9 ERROR: gnat mistakenly accepts +end Test_128; +"""), + ("test_128.adb", """package body test_128 is + package body inner is + type T1 is new Integer; + end inner; +end Test_128; +"""))) + +# Note that we also check the absence of the next inhibited message. +check_reports_an_error_but_should_not( + bug=279893, + make=(f"gnatmake-{new_version}", "test_129"), + regex='test_129[.]ads:13:49: error: ' + 'designated type of actual does not match that of formal "T2"', + sources=( + ("pak1.ads", + """-- legal instantiation rejected; illegal instantiation accepted +-- adapted from John Woodruff c.l.a. post + +generic + type T1 is private; +package pak1 is + subtype T3 is T1; +end pak1; +"""), + ("pak2.ads", """with pak1; +generic + type T2 is private; +package pak2 is + package the_pak1 is new pak1 (T1 => T2); +end pak2; +"""), + ("pak2-pak3.ads", """generic + type T2 is access the_pak1.T3; +package pak2.pak3 is +end pak2.pak3; +"""), + ("test_129.ads", """with pak1; +with pak2.pak3; +package Test_129 is + + type T4 is null record; + type T5 is null record; + subtype T3 is T5; -- line 9: triggers the bug at line 16 + + type T4_ptr is access T4; + type T5_ptr is access T5; + + package new_pak2 is new pak2 (T2 => T4); + package new_pak3a is new new_pak2.pak3(T2 => T4_ptr); -- line 15: Legal + package new_pak3b is new new_pak2.pak3(T2 => T5_ptr); -- line 16: Illegal +end Test_129; +"""))) + +print("# Please ignore the gnatlink message.") +check_reports_an_error_but_should_not( + bug=280939, + make=(f"gnatmake-{new_version}", "test_130"), + regex="test_130[.]adb:.*: undefined reference to [`]p2\'", + sources=( + ("pak1.ads", + """-- RM 10.1.5(4) "the pragma shall have an argument that is a name +-- denoting that declaration." +-- RM 8.1(16) "The children of a parent library unit are inside the +-- parent's declarative region." + +package pak1 is + pragma Pure; +end pak1; +"""), + ("pak1-p2.ads", """procedure pak1.p2; +pragma Pure (p2); -- ERROR: need expanded name +pragma Import (ada, p2); -- ERROR: need expanded name +pragma Inline (p2); -- ERROR: need expanded name +"""), + ("test_130.adb", """with Pak1.P2; +procedure Test_130 is +begin + Pak1.P2; +end Test_130; +"""))) + +check_compiles_but_should_not( + bug=283833, + make=(f"gnatmake-{new_version}", "test_132"), + sources=( + ("pak1.ads", + """-- RM 8.5.4(5) the convention of the renamed subprogram shall not +-- be Intrinsic, if the renaming-as-body completes that declaration +-- after the subprogram it declares is frozen. + +-- RM 13.14(3) the end of the declaration of a library package +-- causes freezing of each entity declared within it. + +-- RM 6.3.1(7) the default calling convention is Intrinsic for +-- any other implicitly declared subprogram unless it is a +-- dispatching operation of a tagged type. + +package pak1 is + type T1 is null record; + procedure p1 (x1: T1); + type T2 is new T1; +end pak1; +"""), + ("pak1.adb", """package body Pak1 is + procedure P1 (X1 : T1) is begin null; end P1; +end Pak1; +"""), + ("test_132.ads", """with pak1; +package Test_132 is + procedure p2 (x2: pak1.T2); +end Test_132; +"""), + ("test_132.adb", """package body Test_132 is + procedure p2 (x2: pak1.T2) renames pak1.p1; --ERROR: can't rename intrinsic +end Test_132; +"""))) + +check_compiles_but_should_not( + bug=283835, + make=(f"gnatmake-{new_version}", "test_133"), + sources=( + ("test_133.ads", """package Test_133 is + package pak1 is + type T1 is null record; + end pak1; + + package pak2 is + subtype boolean is standard.boolean; + function "=" (x, y: pak1.T1) return boolean; + end pak2; + + use pak1, pak2; + + x1: pak1.T1; + b1: boolean := x1 /= x1; -- ERROR: ambigous (gnat misses) + -- b2: boolean := x1 = x1; -- ERROR: ambigous +end Test_133; +"""), + ("test_133.adb", """package body test_133 is + package body pak2 is + function "=" (x, y: pak1.T1) return boolean is + begin + return true; + end "="; + end pak2; +end test_133; +"""))) + +check_compiles_but_should_not( + bug=416979, + make=(f"gnatmake-{new_version}", "pak1"), + sources=( + ("pak1.ads", """package pak1 is + -- RM 7.3(13), 4.9.1(1) + -- check that discriminants statically match + type T1(x1: integer) is tagged null record; + x2: integer := 2; + x3: constant integer := x2; + type T2 is new T1 (x2) with private; + type T3 is new T1 (x3) with private; +private + type T2 is new T1 (x2) with null record; --ERROR: nonstatic discriminant + type T3 is new T1 (x3) with null record; --ERROR: nonstatic discriminant +end pak1; +"""),)) + +check_reports_an_error_but_should_not( + bug=660698, + make=(f"gnatmake-{new_version}", "proc.adb"), + regex='proc[.]adb:17:28: error: ' + 'there is no applicable operator "And" for type "Standard[.]Integer"', + sources=( + ("proc.adb", """procedure Proc is + package P1 is + type T is new Integer; + function "and" (L, R : in Integer) return T; + end P1; + package body P1 is + function "and" (L, R : in Integer) return T is + pragma Unreferenced (L, R); + begin + return 0; + end "and"; + end P1; + use type P1.T; + package P2 is + use P1; + end P2; + G : P1.T := Integer'(1) and Integer'(2); +begin + null; +end Proc; +"""), )) + +check_produces_a_faulty_executable( + bug=864969, + make=(f"gnatmake-{new_version}", "main"), + trigger="main", + regex="ZZund", + sources=( + ("main.adb", """with Ada.Locales, Ada.Text_IO; +procedure Main is +begin + Ada.Text_IO.Put_Line (String (Ada.Locales.Country) + & String (Ada.Locales.Language)); +end Main; +"""),)) + +check_produces_a_faulty_executable( + bug=894225, + make=(f"gnatmake-{new_version}", "main"), + trigger="main", + sources=( + ("main.adb", + """with Ada.Directories, Ada.Text_IO; +procedure Main is +begin + Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("/a/b/")); + Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("a/b/")); + Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("b/")); +end Main; +"""), + ), + regex="""^/a/b +a/b +b$""") + +try: + os.rmdir(workspace) +except OSError: + print(f"Some unconfirmed, not removing directory {workspace}.") diff --git a/ada/libgnat_alihash b/ada/libgnat_alihash new file mode 100755 index 0000000..34d4481 --- /dev/null +++ b/ada/libgnat_alihash @@ -0,0 +1,39 @@ +#!/usr/bin/perl + +# Helper for debian/rules2. + +# Exit silently during builds without Ada. + +# If the gnat RTS directory contains .ali (Ada Library Information) files, +# output a dpkg-gencontrol command line argument setting the +# libgnat:Provides substitution variable +# to the XOR of the checksums in all such files, +# as 8 lowercase hexadecimal digits. + +# See https://people.debian.org/~lbrenta/debian-ada-policy.html. + +# Should be in sync with dh_ada_library in the dh-ada-library package. + +# perl -c $script +# perltidy $script -st | diff -u $script - +# perlcritic -1 --verbose=11 --exclude=Modules::RequireVersionVar $script + +use autodie; +use re '/amsx'; +use strict; +use warnings; + +my @ali_files = glob 'build/gcc/ada/rts/*.ali'; +if (@ali_files) { + my $result = 0; + for my $path (@ali_files) { + open my $fh, q{<}, $path; + while (<$fh>) { + if (m/ ^ D [ ] [^\t]+ \t+ \d{14} [ ] ( [[:xdigit:]]{8} ) /) { + $result ^= hex $1; + } + } + close $fh; + } + printf '-Vlibgnat:alihash=%08x', $result; +} diff --git a/ada/test_ada_source_date_epoch.sh b/ada/test_ada_source_date_epoch.sh new file mode 100644 index 0000000..5154341 --- /dev/null +++ b/ada/test_ada_source_date_epoch.sh @@ -0,0 +1,97 @@ +#!/bin/sh +# Basic checks for debian/patches/ada-lib-info-source-date-epoch.diff. + +# Copyright (C) 2020 Nicolas Boulenguez + +# Usage: +# build GCC +# sh debian/ada/test_ada_source_date_epoch.sh +# rm -fr build/test_ada_source_data_epoch + +set -C -e -u -x + +# Inside the GCC tree: +mkdir build/test_ada_source_data_epoch +cd build/test_ada_source_data_epoch +export LD_LIBRARY_PATH=../gcc/ada/rts:`echo ../*/libgnat_util/.libs` +gnatmake="../gcc/gnatmake --RTS=`echo ../*/libada` --GCC=../gcc/xgcc -c -v" +# For local tests: +# gnatmake="gnatmake -c -v" + +cat > lib.ads < main.adb < Wed, 12 Feb 2025 15:06:54 +0100 + +gcc-14 (14.2.0-16) unstable; urgency=medium + + * Update to git 20250130 from the gcc-14 branch. + - Fix PR target/110901 (AArch64), PR target/113257 (AArch64), + PR c++/118047, PR c++/118355, PR c++/117855, PR c++/107522, + PR fortran/118683, PR libstdc++/118413, PR libstdc++/118185, + PR libstdc++/100249. + * Also backport force_lowpart_subreg for PR target/118501. + + -- Matthias Klose Thu, 30 Jan 2025 08:50:29 +0100 + +gcc-14 (14.2.0-15) unstable; urgency=medium + + * Update to git 20250127 from the gcc-14 branch. + - Fix PR rtl-optimization/117186, PR target/118184 (AArch64), + PR target/118067 (x86), PR target/118329 (AVR), PR gcov-profile/116743, + PR c++/117153, PR c++/118509, PR c++/118049, PR c++/118255, + PR c++/118147, PR c++/117775, PR d/114434, PR d/115249, PR d/116373, + PR fortran/81978, PR libfortran/118571, PR libstdc++/109849, + PR libstdc++/90389. + * Fix nroff warnings for gcc-TOOL manpages (Bjarni Ingi Gislason). + Closes: #1094299, #1094300, #1094302. + * Fix PR target/118501, taken from the trunk. Closes: #1091161. + + -- Matthias Klose Mon, 27 Jan 2025 13:41:39 +0100 + +gcc-14 (14.2.0-14) unstable; urgency=medium + + * Update to git 20250115 from the gcc-14 branch. + - Fix PR middle-end/118140, PR c++/114630. + * Constrain the lib32 conflicts to non-mips architectures. + + -- Matthias Klose Wed, 15 Jan 2025 20:07:48 +0100 + +gcc-14 (14.2.0-13) unstable; urgency=medium + + * Update to git 20250111 from the gcc-14 branch. + - Fix PR tree-optimization/117912, PR target/114801 (ARM), + PR middle-end/118024, PR rtl-optimization/117095, PR sanitizer/117960, + PR rtl-optimization/113994, PR rtl-optimization/116799, + PR middle-end/117847, PR libgomp/117851, PR target/117642, PR c/117802, + PR middle-end/102674, PR middle-end/43374, PR tree-optimization/94589, + PR tree-optimization/117612, PR middle-end/117458, PR middle-end/117459, + PR tree-optimization/117439, PR tree-optimization/117439, + PR c/117641, PR c/117745, PR c++/118060, PR c++/117925, PR c++/117925, + PR c++/117792, PR c++/117985, PR c++/115430, PR c++/113108, + PR c++/102594, PR c++/116369, PR c++/115657, PR c++/114854, + PR c++/109859, PR c++/117825, PR c++/116108, PR c++/117614, + PR c++/117317, PR c++/100358, PR c++/115008, PR fortran/106692, + PR libstdc++/89624, PR libstdc++/108236, PR libstdc++/117962, + PR libstdc++/109517, PR libstdc++/109976, PR libstdc++/106212, + PR libstdc++/117966, PR libstdc++/118035, PR libstdc++/112349, + PR libstdc++/112641, PR libstdc++/118093. + + [ Nicolas Boulenguez ] + * Ada: remove 'Provides: gnat-V-HASH' from gnat-V (keep it in gnat-V-TARGET). + + [ Matthias Klose ] + * Only provide the gnat-V-HASH for native compilers. + * Enable the testsuite on alpha again. + * Add lib32 conflicts for libn32 packages. Closes: #1092571. + + -- Matthias Klose Sat, 11 Jan 2025 10:53:08 +0100 + +gcc-14 (14.2.0-12) unstable; urgency=medium + + * Update to git 20241230 from the gcc-14 branch. + - Fix PR c++/118069, PR target/114801 (ARM), PR target/117675 (ARM), + PR fortran/117797, PR fortran/117897, PR fortran/117730, + PR fortran/84674, PR modula2/117120. + * Add missing build dependency on gnat [hurd-amd64] (Samuel Thibault). + Closes: #1089930. + * Use GCC 14 as build dependency except on m68k. + * d/control: Add Rules-Requires-Root: binary-targets. Too late for trixie. + * Run the testsuite in parallel again. + * Apply proposed patch for PR modula2/118045. + * Drop the package-metadata spec, now implemented in the linkers. + Closes: #1090824. + * Fix check for assembler section merging support on ARM, see binutils + PR ld/32491. + + -- Matthias Klose Mon, 30 Dec 2024 11:54:30 +0100 + +gcc-14 (14.2.0-11) unstable; urgency=medium + + * Update to git 20241214 from the gcc-14 branch. + - Fix PR driver/117942, PR c++/117880, PR c++/117845, + PR target/117926 (x86), PR target/64242 (AVR), PR ada/117996, + PR c++/117615, PR fortran/109105, PR fortran/117843, + PR fortran/117791, PR modula2/115328, PR modula2/117948, + PR modula2/117904, PR modula2/117660, PR modula2/117371, + PR fortran/117819, PR fortran/117820. + * Remove the ada-nobiarch-check patch, superseded. + * Fix ada support on hurd-amd64 (Samuel Thibault). Closes: #1089743. + * Rewrite the logwatch script to look at all log files. + * Fix libphobos testsuite with sbuild's unshare backend. Closes: #1089007. + + -- Matthias Klose Sat, 14 Dec 2024 10:10:34 +0100 + +gcc-14 (14.2.0-10) unstable; urgency=medium + + * Update to git 20241204 from the gcc-14 branch. + - Fix PR tree-optimization/116463, PR tree-optimization/117594, + PR tree-optimization/117574, PR middle-end/117433, + PR tree-optimization/117417, PR tree-optimization/117333, + PR tree-optimization/117307, PR tree-optimization/117254, + PR tree-optimization/117142, PR target/117105, PR target/114942, + PR fortran/117774, PR fortran/105054, PR modula2/117371, + PR modula2/115328, PR modula2/116918, PR modula2/117555, + PR modula2/116181, PR modula2/116557, PR libstdc++/106676, + PR libstdc++/117560, PR libstdc++/117822. + + [ Nicolas Boulenguez ] + * Ada: link with libatomic on sparc and reenable sparc (as in gcc-13). + * Ada: update PR114065 patches to v12, only keep the changes fixing bugs. + + [ Matthias Klose ] + * Fix amdgcn-tools links for the amdgcn offload install. + * Fix PR libgomp/117851, taken from the trunk. + * Build-depend on git, needed for the gotools tests. + * Don't run the libgo tests for multilibs, that cannot run. + * Don't run the gnat and gm2 tests for multilibs, which are not built. + * Refresh patches. + * Bump standards version. + * Run the tests sequentially on architectures with failing builds. + + -- Matthias Klose Wed, 04 Dec 2024 12:24:10 +0100 + +gcc-14 (14.2.0-9) unstable; urgency=medium + + * Update to git 20241128 from the gcc-14 branch. + - Fix PR target/117564 (PA), PR target/117525 (PA), PR target/117408 (ARM), + PR target/117443 (PA), PR target/116999 (AArch64), + PR target/117045 (AArch64), PR target/116629 (AArch64), + PR target/116371 (AArch64), PR target/117304 (x86), + PR target/116371 (AArch64), PR tree-optimization/117398, + PR tree-optimization/117287, PR middle-end/117354, PR target/117296, + PR ada/117328, PR ada/113868, PR ada/113036, PR c++/117158, + PR c++/101463, PR c++/116634, PR fortran/115700, PR fortran/115700, + PR fortran/115070, PR fortran/115348, PR libstdc++/117520, + PR libstdc++/117406, PR target/117562 (x86), PR target/117744 (AVR), + PR other/116603, PR testsuite/109360, PR target/117357 (x86), + PR target/117659 (AVR), PR middle-end/116997, PR target/117418 (x86), + PR target/117500 (AVR), PR ada/115917, PR analyzer/115724, + PR analyzer/111475, PR fortran/117763, PR fortran/84869, + PR fortran/116388, PR fortran/109345, PR fortran/104819, + PR fortran/115700, PR fortran/115700, PR fortran/115070, + PR fortran/115348, PR fortran/79685, PR fortran/84868, PR fortran/100273, + PR fortran/116530, PR fortran/108889, PR modula2/116378, + PR modula2/116181, PR modula2/115823, PR modula2/116048, + PR modula2/115957, PR modula2/115804, PR modula2/115540, + PR modula2/115536, PR modula2/114529, PR modula2/115057, + PR modula2/115003, PR preprocessor/117118, PR modula2/115276. + * Update VCS attributes in the control file. + * Add sparc to any_archs (Adrian Glaubitz). + * Fix running the tests with exactly one dejagnu run. + + -- Matthias Klose Thu, 28 Nov 2024 11:50:57 +0100 + +gcc-14 (14.2.0-8) unstable; urgency=medium + + * Update to git 20241102 from the gcc-14 branch. + Fix PR target/114759 (PPC), PR jit/117275, + PR rtl-optimization/116783 (closes: #1080974), PR target/117318 (x86), + PR rtl-optimization/117327, PR target/116415 (PPC), + PR middle-end/117249, PR sanitizer/117209, PR target/116953 (AVR), + PR target/117240 (x86), PR middle-end/116891, PR middle-end/116891, + PR tree-optimization/117104, PR tree-optimization/116982, + PR tree-optimization/116907, PR tree-optimization/116481, + PR tree-optimization/116290, PR middle-end/115110, PR target/117159 (x86), + PR ada/116551, PR c/117230, PR c++/117259, PR c++/117107, PR c++/92687, + PR c++/116929, PR fortran/84868, PR fortran/79685. + * Re-enable rs on hurd-i386 and hurd-amd64 (Samuel Thibault). + Closes: #1086120. + * Add go support for hurd-amd64 (Samuel Thibault). Closes: #1086475. + * Remove hurd-alpha references. + * Disable the rust frontend on x32 temporarily (Adrian Glaubitz). + Closes: #1086022. + + -- Matthias Klose Sat, 02 Nov 2024 14:48:28 +0100 + +gcc-14 (14.2.0-7) unstable; urgency=medium + + * Update to git 20241019 from the gcc-14 branch. + - Fix PR ipa/115815, PR target/116883 (RISCV), PR c++/116534, + PR target/117116 (x86), PR ipa/109985, PR testsuite/116238 (AArch64), + PR tree-optimization/117041, PR middle-end/117086, + PR tree-optimization/116990, PR tree-optimization/116879, + PR tree-optimization/116850, PR tree-optimization/116768, + PR tree-optimization/116166, PR target/116921 (x86), + PR middle-end/116899, PR middle-end/116898, PR target/116627, + PR target/116738 (x86), PR ada/114593, PR ada/115535, PR ada/114640, + PR ada/114636, PR c++/117054, PR c++/116476, PR c++/116424, PR c++/116678, + PR libstdc++/90276, PR libstdc++/117085, PR libstdc++/117135, + PR libstdc++/117094. + + -- Matthias Klose Sat, 19 Oct 2024 09:24:57 +0200 + +gcc-14 (14.2.0-6) unstable; urgency=medium + + * Update to git 20241005 from the gcc-14 branch. + - PR target/116962 (x86), PR target/116953 (AVR), + PR tree-optimization/116585, PR target/116839 (x86), + PR target/115860 (S390), PR target/116237 (darwin), + PR tree-optimization/116460, PR middle-end/115426, + PR tree-optimization/116610, PR middle-end/116454, + PR tree-optimization/116380, PR tree-optimization/116274, + PR tree-optimization/116258, PR middle-end/115641, PR target/116621 (x86), + PR ada/116430, PR c++/115361, PR c++/115987, PR c++/116418, + PR c++/116492, PR c++/116676, PR fortran/100273, PR c++/116369, + PR libstdc++/116857, PR libstdc++/37475, PR libstdc++/90276, + PR libstdc++/116755, PR libstdc++/116529, PR libstdc++/116754, + PR libstdc++/116777, PR libstdc++/108619. + * Reapply the sparc64 bits to the gcc-as-needed patch. Closes: #1082624, + + -- Matthias Klose Sat, 05 Oct 2024 05:46:25 +0200 + +gcc-14 (14.2.0-5) unstable; urgency=medium + + * Update to git 20240915 from the gcc-14 branch. + - Fix PR ipa/116410, PR tree-optimization/116501, PR c++/116219, + PR target/112108 (AArch64), PR target/116512 (x86), PR c++/116567, + PR c++/116606, PR fortran/116530, PR libstdc++/113663, + PR libstdc++/116549, PR libstdc++/116381, PR lto/116361, + PR target/116617 (x86), PR c++/96097, PR c++/116636, PR c++/116449, + PR c++/116320, PR c++/116276, PR lto/116614, PR libstdc++/116159, + PR libstdc++/116641. + * Don't run the tests on the riscv64 buildds, timing out. + * For offloading, require the amdgcn tools based on LLVM 19. + + -- Matthias Klose Sun, 15 Sep 2024 10:44:10 +0200 + +gcc-14 (14.2.0-4) unstable; urgency=medium + + * Update to git 20240829 from the gcc-14 branch. + - Fix PR target/116390 (AVR), PR target/116407 (AVR), + PR c++/116384 (closes: #1078786). + * Disable running the tests on alpha and arm64, hanging on the buildds. + * gcc/configure.ac enables some features based on the binutils version. The + most recently checked binutils version is 2.36 for GCC 14. For now it is + safe to derive the binutils runtime dependency from the binutils build + dependency. + + -- Matthias Klose Fri, 30 Aug 2024 12:17:39 +0200 + +gcc-14 (14.2.0-3) unstable; urgency=medium + + * Update to git 20240817 from the gcc-14 branch. + - Fix PR target/85624 (AVR), PR target/115464 (AArch64), + PR target/116174 (x86), PR c++/116327, PR c++/104981, PR c++/115550. + - s390: Fix high-level builtins vec_gfmsum{,_accum}_128. LP: #2075567. + * Don't build gccrs on the Hurd. + * Disable building gnat on hurd-amd64, until it gets bootstrapped. + * Don't run dwz on hurd-*. + * Update symbols files for libasan, libgccjit, libstdc++ and libgphobos. + Closes: #1077492. + + -- Matthias Klose Sun, 18 Aug 2024 19:10:28 +0200 + +gcc-14 (14.2.0-2) unstable; urgency=medium + + * Update to git 20240811 from the gcc-14 branch. + - Fix PR target/116287 (x86), PR target/116295 (AVR), PR target/113384 (PA), + PR tree-optimization/116224, PR target/116189 (SH), + PR target/116033 (RISCV), PR tree-optimization/116156, + PR target/116043 (x86), PR target/115981 (x86), PR c++/116223, + PR c++/112632, PR c++/116071, PR c++/88313, PR c++/115897, + PR c++/115656, PR c++/115296, PR c++/112288, PR fortran/108889, + PR target/116007, PR libstdc++/116038, PR libstdc++/115399, + PR libstdc++/114387, PR libstdc++/115854, PR libstdc++/116070, + PR libstdc++/116070. + * Fix two lintian warnings for the control file. + * Build-depend on pkgconf instead of pkg-config. + * gnat: Use the GNATBIND/GNATMAKE passed from the toplevel makefile. + Provide local unversioned symlinks gnatmake and gnatbind for the build. + Closes: #1078144. + + -- Matthias Klose Sun, 11 Aug 2024 03:56:24 +0200 + +gcc-14 (14.2.0-1) unstable; urgency=medium + + * GCC 14.2.0 release. + + * Update to git 20240801 from the gcc-14 branch. + - Fix PR target/115981 (x86). + * Show bootstrap compilers in the build log. + * Configure with --disable-multilib on loong64. + * Use the versioned gnatbind and gnatmake binaries for the build. + * Emit the config.log when the configure step fails. + * Refresh patches. + + -- Matthias Klose Thu, 01 Aug 2024 17:43:39 +0200 + +gcc-14 (14.1.0-5) unstable; urgency=medium + + * Update to git 20240719 from the gcc-14 branch. + - Fix PR c++/115865, PR rtl-optimization/115049, PR target/115351 (x86), + PR ipa/113787, PR tree-optimization/113673, PR target/115526 (alpha), + PR middle-end/115887, PR middle-end/115527, PR tree-optimization/115382, + PR tree-optimization/115868, PR tree-optimization/115841, + PR tree-optimization/115843, PR tree-optimization/115701, + PR tree-optimization/115701, PR tree-optimization/115867, + PR tree-optimization/115843, PR target/115459 (alpha), + PR target/115554 (RISCV), PR target/115562 (RISCV), + PR target/113719 (x86), PR target/113719 (x86), PR target/115872, + PR target/115752 (loongarch), PR target/115840 (RISCV), + PR target/115611 (ARM), PR middle-end/115836, PR target/113715 (RISCV), + PR analyzer/114899, PR c++/115476, PR c++/115165, PR c++/111890, + PR c++/115897, PR c++/106760, PR c++/115754, PR c++/99242, PR c++/99241, + PR fortran/93635, PR fortran/99798, PR fortran/103312, + PR libstdc++/113376, PR libstdc++/115522. + * On loong64, also build-depend on the gdc-14 frontend. + * Build libitm1 on loong64 and riscv64. + * Disable running the tests on x32, hanging on the buildds. + + -- Matthias Klose Fri, 19 Jul 2024 12:09:39 +0200 + +gcc-14 (14.1.0-4) unstable; urgency=medium + + * Update to git 20240710 from the gcc-14 branch. + - Fix PR target/115591 (RISCV), PR target/115188 (ARM), + PR target/87376 (AVR), PR target/115475 (AArch64), + PR target/115691 (PARISC), PR target/98762 (AVR), PR target/106069 (PPC), + PR target/115355 (PPC), PR target/114936 (AArch64), + PR target/88236 (AVR), PR target/115726 (AVR), PR pch/115312, + PR c/114930, PR c/115502, PR c++/115623, PR fortran/114019, + PR fortran/55978, PR fortran/115390, PR target/114890 (AArch64), + PR target/115153 (ARM), PR target/115763 (RISCV), + PR tree-optimization/115723, PR tree-optimization/115694, + PR tree-optimization/115669, PR tree-optimization/115646, + PR fortran/84006, PR fortran/100027, PR fortran/98534, PR fortran/115700, + PR libstdc++/115807, PR libstdc++/115585. + * d/p/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff: + Adjust for the new glibc behaviour of defining __USE_TIME_BITS64 also + on native 64-bits platforms (Simon Chopin). Addresses: #1074577. + LP: #2071605. + * Pass --package-metadata on distros with supporting linkers (starting + with Debian trixie and Ubuntu noble). + The package metadata is constructed from the environment variables + ELF_PACKAGE_METADATA. + Setting NO_PKG_METADATA=1 disables the generation of the package metadata. + * Build target libraries with -mbranch-protection=standard to enable PAC/BTI + support on arm64 (Emanuele Rocca). Addresses: #1055711. + * Build target libraries with -fno-omit-frame-pointer, when enabled in + dpkg-buildflags. + * Strip again the executables. + + -- Matthias Klose Wed, 10 Jul 2024 12:12:12 +0200 + +gcc-14 (14.1.0-3) unstable; urgency=medium + + * Update to git 20240630 from the gcc-14 branch. + - Fix PR tree-optimization/115278, PR target/114846 (PPC), + PR tree-optimization/115508, PR driver/115440, PR target/115342 (AArch64), + PR target/106069 (PPC), PR target/115355 (PPC), PR target/114846 (PPC), + PR c++/115624, PR c/115587, PR c++/115504, PR c++/115198, PR c++/115358, + PR libstdc++/115668, PR libstdc++/115575, PR libstdc++/115454. + - Backport a fix for an ICE on riscv64. Closes: #1071140. + * Fix typo for loong64 build dependencies. + * Disable running the tests on the Ubuntu arm64 buildds (times out). + * Starting with Ubuntu 24.10, stop building s390x multilibs. + * Fix gccrs build dependencies on the Hurd. Closes: #1073830. + * Drop the sys-auxv-header patch. Closes: #1071555. + + -- Matthias Klose Sun, 30 Jun 2024 16:27:40 +0200 + +gcc-14 (14.1.0-2) unstable; urgency=medium + + * Update to git 20240619 from the gcc-14 branch. + - Fix PR target/109549 (S390), PR target/115253 (ARM), + PR rtl-optimization/115281, PR target/115353 (ARM), + PR middle-end/115352, PR tree-optimization/115337, PR middle-end/108789, + PR target/115324 (PPC), PR rtl-optimization/114902, + PR rtl-optimization/115092, PR tree-optimization/115307, + PR target/115297 (alpha), PR tree-optimization/115192, + PR target/113719 (x86), PR tree-optimization/115149, + PR tree-optimization/115197, PR tree-optimization/114921, + PR target/115169 (loongarch), PR tree-optimization/115232, + PR rtl-optimization/115038, PR tree-optimization/115152, + PR sanitizer/115172, PR target/115069 (x86), PR tree-optimization/115154, + PR tree-optimization/115143, PR tree-optimization/114998, + PR middle-end/114931, PR middle-end/114931, PR ada/114708, + PR ada/115270, PR c/115290, PR middle-end/114931, PR c/114493, + PR target/111343 PR c++/115511, PR c++/99678, PR c++/115239, + PR c++/115283, PR c++/115378, PR c++/115187, PR c++/114868, + PR c++/105320, PR c++/114275, PR c++/114983, PR libstdc++/107800, + PR c++/115139, PR c++/115114, PR c++/114994, PR fortran/83865, + PR fortran/115150, PR fortran/86100, PR fortran/115039, + PR fortran/114874, PR jit/115442, PR target/115360 (ARM), + PR target/115065 (AVR), PR libstdc++/115308, PR libstdc++/115247, + PR libstdc++/114958, PR libstdc++/115335, PR libstdc++/111641, + PR libstdc++/109849, PR libstdc++/115269, PR libstdc++/114940, + PR libstdc++/115099, PR libstdc++/115119, PR libstdc++/115015, + PR libstdc++/115063, PR libstdc++/114891, PR libstdc++/114866. + * Configure again with --enable-checking=release. Closes: #1072519. + * On loong64, build-depend on GCC 14 frontends. Closes: #1072635. + * Build gccrs on x32. Closes: #1072345, #1072327. + * Don't build Ada on sparc (32bit). Closes: #1072328. + + -- Matthias Klose Wed, 19 Jun 2024 09:44:29 +0200 + +gcc-14 (14.1.0-1) unstable; urgency=medium + + * GCC 14.1.0 release. + * Update to git 20240514 from the gcc-14 branch. + - Fix PR target/114975 (AVR), PR tree-optimization/114965, + PR middle-end/114907, PR sanitizer/114956, PR tree-optimization/114876, + PR ipa/92606, PR c++/89224, PR c++/114856, PR c++/114889, + PR target/69374, PR target/112959, PR target/114968 (x86), + PR driver/114980, PR c++/114974, PR c++/114901, PR c++/114903, + PR fortran/114827, PR target/114981 (AVR). + + [ Nicolas Boulenguez ] + * Improve the ada-lib-info-source-date-epoch patch. + * Ada: remove duplicate unused patches + * ada-749574.diff: update and apply again. + * Refresh the autogen part of ada-{armel-libatomic,link-lib}.diff. + * Ada: fix a typo in patch for PR ada/114065 breaking the build on hurd. + + [ Matthias Klose ] + * Refresh patches. + * Update NEWS files. + * gcc-14: Depend on cpp-14, lost with the -for-build/-for-host changes. + * Run the tests again during the build. + * Turn on again PGO and LTO builds. + + -- Matthias Klose Tue, 14 May 2024 09:22:26 +0200 + +gcc-14 (14-20240429-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240429. + + * Apply proposed patch for PR libquadmath/114533 (Simon Chopin). + Closes: #1064426. LP: #2052929. + * Don't build the libstdc++-doc package when the nodoc profile is enabled. + * Clean up some version restrictions on build-dependencies. + * Don't set the _FILE_OFFSET_BITS and _TIME_BITS macros, if the + _DISTRO_EVADE_TIME_BITS macro is defined. + See https://sourceware.org/bugzilla/show_bug.cgi?id=31624. + * Build-depend on amdgcn-tools-18, required for new gcn offload targets. + * Package the new gfx1030, gfx1036, gfx1100 and gfx1103 offload targets. + LP: #2060619. + * rs now requires cargo to bootstrap. Disable building gccrs on architectures + which don't have cargo. + Disable gccrs cross compilers. Not working upstream, more constraints + on rust macros. + * Build gnat, gdc and gm2 on loong64. Closes: #1069708. + * Integrate gnat patches from Nicolas: + - Update the ada-lib-info-source-date-epoch patch. + - Remove the pr114065-proposed patch. + - Add patches (v7) from PR ada/114065. Addresses: #1067453. + + -- Matthias Klose Mon, 29 Apr 2024 11:15:28 +0200 + +gcc-14 (14-20240330-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240330. + + * Make vhdl known to the PPC backend. + * Use the proposed patch to fix PR ada/114064, 64bit definitions for + time_t_bits type on 32bit archs. + * Move the _FORTIFY_SOURCE setting from cc1 to the driver. + * d/p/gcc-distro-defaults: Make -fstack-protector-explicit known. + * newlib: amdgcn: Implement proper locks, taken from newlib trunk. + * Refresh patches. + * Use gcc:SoftVersion for -for-host dependencies (Helmut Grohne). + Closes: #1067904. + + -- Matthias Klose Sat, 30 Mar 2024 13:27:56 +0100 + +gcc-14 (14-20240315-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240315. + + * Fix installation of the amdgcn offload compiler. Closes: #1065458. + * Fix installation of the nvptx offload compiler. Closes: #1065599. + * Add loong64 bits for the gcc-multilib-multiarch patch. Closes: #1061371. + * Enable Modula-2 on the Hurd (Samuel Thibault). Closes: #1066932. + + -- Matthias Klose Fri, 15 Mar 2024 20:35:12 +0100 + +gcc-14 (14-20240303-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240303. + * Build without gdb for now. + + -- Matthias Klose Sun, 03 Mar 2024 11:40:51 +0100 + +gcc-14 (14-20240221-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Upload to unstable to start the 64-bit time_t transition. + + -- Steve Langasek Mon, 26 Feb 2024 21:41:05 +0000 + +gcc-14 (14-20240221-2) experimental; urgency=medium + + * libgnat: Use Long_Long_Integer'Size for the definition of time_t_bits + for 32bit architectures using time_t64. + + -- Matthias Klose Thu, 22 Feb 2024 04:12:32 +0100 + +gcc-14 (14-20240221-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20240221. + + * Proposed fix for PR d/113772. + * Fix disabling go and m2 according to OS (Samuel Thibault). Closes: #1063643. + * Pass -D_TIME_BITS=64 together with -D_FILE_OFFSET_BITS=64 by default + on the 32bit architectures armel, armhf, hppa, m68k, mips, mipsel, + powerpc (-m32 only) and sh4. + * PR libstdc++/99832, std::chrono::system_clock::{from,to}_time_t: + Add ABI tag for timet64. + * Fix libsanitizer build with _TIME_BITS set. + + -- Matthias Klose Thu, 22 Feb 2024 00:27:13 +0100 + +gcc-14 (14-20240207-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20240207. + + * Enable sanitizer packages for loong64. + * Build libubsan1 for riscv64. + * Apply proposed patch for PR target/113720 (alpha). + * Drop the libgo-soname patch, use the bumped libgo upstream soname. + * Apply proposed patch for PR middle-end/113731. + + -- Matthias Klose Wed, 07 Feb 2024 05:39:32 +0100 + +gcc-14 (14-20240201-3) unstable; urgency=medium + + * Fix PR middle-end/113705 (ftbfs on arm64). Closes: #1062535. + + -- Matthias Klose Thu, 01 Feb 2024 22:53:33 +0100 + +gcc-14 (14-20240201-2) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240201. + + * Add more dependencies for -for-build and -for-host packages. + * For Ubuntu, only define _FORTIFY_SOURCE, if there are no options + -U_FORTIFY_SOURCE or -D_FORTIFY_SOURCE=N given. + * Update libgcc-s symbols files. + + -- Matthias Klose Thu, 01 Feb 2024 14:11:28 +0100 + +gcc-14 (14-20240131-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240131. + + [ Matthias Klose ] + * Fix and add dependencies for -for-build and -for-host packages. + * Add conflict to libgccjit-13-doc. Closes: #1061647. + * Fix some -for-{build,host} package descriptions. Closes: #1061670. + * Correct conflicts with old gnat-N versions. Addresses: #1061648. + * Apply proposed patch for PR target/113336 (ARM). Closes: #1061370. + * Build again gnat and gcc on armel. + + [ Aurelien Jarno ] + * Update libasan8 symbols for riscv64. + * Update liblsan0 symbols for riscv64. + + -- Matthias Klose Wed, 31 Jan 2024 10:40:26 +0100 + +gcc-14 (14-20240127-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240127. + * Disable the gccgo build on armel for now. See #1061370. + + -- Matthias Klose Sat, 27 Jan 2024 09:51:04 +0100 + +gcc-14 (14-20240126-2) unstable; urgency=medium + + * Update libgccjit symbols file. + * Bump autopkg test dependencies to GCC 14. + * Try harder to disable ada on armel. + + -- Matthias Klose Fri, 26 Jan 2024 15:05:36 +0100 + +gcc-14 (14-20240126-1) unstable; urgency=medium + + * Snapshot, taken from the trunk 20240126. + * Don't define _no_archs macros directly. + * Add missing libstdc++-{dbg,doc} conflicts. Closes: #1061345. + * Fix gm2-14 package description. Closes: #1061372. + * Re-add conflicts for gnat packages. + * Disable the ada build on armel for now. See #1061370. + + -- Matthias Klose Fri, 26 Jan 2024 12:42:52 +0100 + +gcc-14 (14-20240121-1) experimental; urgency=medium + + * Snapshot, taken from the trunk 20240121. + + [ Matthias Klose ] + * Update symbols files. + * Refresh patches. + * Drop KFreeBSD patches. + * Drop the KFreeBSD build support. + * Bump debhelper to v11. + * Configure with --disable-s390-excess-float-precision for sid/trixie and + Ubuntu noble (24.04 LTS). + * Update the gcc-as-needed patch for loong64. Addresses: #1054469. + * Remove the support to build ARM sf/hf multilib packages. + * Update the variants for the amdgcn offload compiler. + * Remove references to obsolete CPUs m32r and tilegx. + * Add changes for hurd-amd64 (Samuel Thibault). Addresses: #1057004. + * Don't build-depend on gdb on hurd-amd64 for now. + * Remove the packaging bits to build gdc as a separate source package. + * Remove the packaging bits to build gccgo as a separate source package. + * Build the nvptx offload compiler on arm64. + * Don't strip executables for the prerelease uploads. + * Disable LTO builds on hurd-amd64. + * Configure with --enable-checking=yes,extra,rtl for now. + * Bump libgm2 soname. + * Add support to build from a combined binutils/GCC tree. + * Use DEB_BUILD_OPTIONS='... gcc-ice=nodump,norepro' for turning off dumping + the preprocessed source to stdout. Addresses: #1057635. + * Set DEB_BUILD_OPTIONS='... gcc-ice=nodump,norepro' when running the + testsuite. + * Default to pie on loong64. Addresses: #1057433. + * Bump the libphobos soname to distinguish from GCC 13 (local patch) + * Bump the libgo soname to distinguish from GCC 13 (local patch) + * For Ubuntu 24.04 LTS and later, switch _FORTIFY_SOURCE to 3 by default + instead of 2 when optimization is enabled. LP: #2012440. + * Use "arch" macros instead of "cpu" macros for control file generation. + * Set {go,m2,rs}_no_archs macros for the generation of the control file. + * Remove trailing whitespace in control file. + * Build Enable LSan and TSan packages for riscv64. + * Remove empty directory in the snapshot package. Addresses: #1060080. + * Disable the LTO build on mips64el (requested by YunQiang Su). + * Configure with --enable-libstdcxx-backtrace. LP: #2048233. + * Update the testsuite-hardening patches, and apply them again. + * Fall-back to the host crypt.h for the target, required by cross builds. + See: #1014375. + * Build again gccrs. + * Update newlib to 4.4.0.20231231. + * Remove the support to create i586 symlinks on i386 and hurd-i386. + * Mark *-N-for-{build,host} packages as dependency packages. + * Don't include -Xliblto_plugin.so for dh_fixperms call. + * debian/copyright: Update copyright years, add libgm2 and libgrust. + + [ Nicolas Boulenguez ] + * Ada: Actually install README.gnat to the gnat-X package. + * Ada: Remove a duplicate conditional on with_separate_gnat. + * Ada: Stop installing unversioned symlinks to the shared libgnat. + * Ada: Stop installing the /usr/bin/gnatgcc symbolic link. + * Ada: Remove unversioned symbolic links to gnat tools. + * Ada: Remove the conflict between gnat-14 and previous versions. + * Ada: Stop searching gnatgcc in build dependencies. + * Ada: Remove the with_separate_gnat Make variable. + * Ada: Remove all stuff conditioned by PKGSOURCE=gnat. + + [ Helmut Grohne ] + * Add loong64 to any_archs. + * Always issue a build-dependency on debhelper. + * For cross toolchain builds, add a build dependency on target binutils. + * For cross toolchain builds, add build dependencies on the Ada, D and + Modula-2 frontends. + * Remove redundant sections and priorities for non-tools in the control file. + * Remove redundant sections and priorities for tools in the control file. + * Add support code for gcc-for-host. + - control.m4 macro for_each_arch iterates over all known architectures and + substitutes arch_deb (the Debian architecture name), arch_gnu (the GNU + triplet) and arch_gnusuffix (a package name suffix encoding the + architecture) variables. + - The substitution variable target:suffix can be used to interpolate the + current target architecture suffix for dependencies from the regular + tool packages on architecture-qualified tool packages. + * Build $triplet packages: + {cpp,gcc,g++,gfortran,gdc,gobjc,gobjc++,gccgo,gnat,gm2,gccrs}-14-$triplet + * Use cross_gencontrol for *-for-host packages. + * libgcc-s[124]: move libgcc_s.so.? to /usr for DEP17. Addresses: #1060001. + * Add packages {cpp,gcc,g++,gfortran,gdc,gobjc,gobjc++}-N-for-{build,host}. + * Add packages {gccgo,gnat,gm2,gccrs}-N-for-{build,host}. + * Restrict $tool-$v-$triplet packages via ${tool}_no_archs. + + -- Matthias Klose Sun, 21 Jan 2024 07:38:02 +0100 + +gcc-13 (13.2.0-5) unstable; urgency=medium + + * Update to git 20231005 from the gcc-13 branch. + - Fix PR tree-optimization/111331, PR tree-optimization/110386, + PR target/111121 (AArch64), PR tree-optimization/110315, + PR target/111411 (AArch64), PR target/111412 (riscv), + PR ada/110488, PR c++/111493, PR c++/111485, PR c++/99631, + PR c++/111471, PR fortran/37336, PR fortran/111674, PR fortran/92586, + PR fortran/68155, PR modula2/111510, PR libstdc++/111050, + PR libstdc++/111102, PR libstdc++/108046, PR libstdc++/111511, + PR c++/111512, PR c++/111357. + * Provide symlinks for the shared Modula-2 runtime libraries in + the private gcc library directory. Closes: #1052008. + * Install the static Modula-2 libraries. + * Add autopkg test for Modula-2. + * Don't assume that hppa64-linux-gnu has the sys/mman.h header, + use the fallback for libgcov. + * Update the libquadmath portions of the copyright file. Closes: #1052314. + + -- Matthias Klose Thu, 14 Dec 2023 18:38:37 +0100 + +gcc-13 (13.2.0-4) unstable; urgency=medium + + * Update to git 20230913 from the gcc-13 branch. + - Fix PR target/96762 (PPC), PR target/111340 (x86), + PR target/111306 (x86), PR target/111335 (x86), + PR modula2/111330. + - Address stack protector and stack clash protection weaknesses + on AArch64. CVE-2023-4039. + + [ Matthias Klose ] + * Fix PR fortran/88552, taken from the trunk. LP: #1842164. + + [ Aurelien Jarno ] + * Update libasan8 symbols for riscv64. + + -- Matthias Klose Wed, 13 Sep 2023 13:17:34 +0200 + +gcc-13 (13.2.0-3) unstable; urgency=medium + + * Update to git 20230902 from the gcc-13 branch. + - Fix PR target/111127 (x86), PR middle-end/111017 (x86), + PR tree-optimization/111070, PR tree-optimization/111039, + PR tree-optimization/111019, PR tree-optimization/110702, + PR tree-optimization/111109, PR debug/111080, PR target/111010 (x86), + PR c++/106652, PR c++/110927, PR c++/109678, PR c++/106310, + PR fortran/87477, PR modula2/110779, PR modula2/108119, + PR libgcc/110956, PR middle-end/111017, PR libstdc++/110860, + PR libstdc++/110990, PR libstdc++/110970, PR libstdc++/110974, + PR libstdc++/110968, PR target/110484 (loong64), + PR tree-optimization/110914, PR tree-optimization/111015, + PR target/109725 (riscv), PR c++/109751, PR c++/92407. + + [ Aurelien Jarno ] + * Fix PR target/110066 (RISCV), taken from the trunk. + + [ Matthias Klose ] + * Remove test protocols in clean target. Addresses: #1044154. + * Disable Ada, Go, D, Modula-2 frontends on loong64. + + [ Nicolas Boulenguez ] + * Ada: deprecate the gnatgcc symbolic link. + * Ada: move README.gnat to debian/ada/. + * Ada: remove the obsolete acats-killer script. + * Ada: let gnat-BV provide a versioned virtual package. + + -- Matthias Klose Sat, 02 Sep 2023 11:39:47 +0200 + +gcc-13 (13.2.0-2) unstable; urgency=medium + + * Update to git 20230810 from the gcc-13 branch. + - Fix PR target/110220 (AVR), PR target/110741 (PPC), + PR target/109713 (RISCV), PR target/89835 (RISCV), + PR tree-optimization/110280, PR modula2/110125, PR c++/110197, + PR c++/110566, PR c++/108179, PR fortran/109684, PR fortran/110825, + PR fortran/108961, PR modula2/110779, PR modula2/110161, + PR modula2/110865, PR modula2/110284, PR modula2/110174, + PR modula2/110631, PR modula2/110125, PR libstdc++/110860, + PR libstdc++/110917, PR libstdc++/110862. + * Stop building 32bit liblsan packages, where gcc-13 is not part of + the distro. Closes: #1042482. + * Update sanitizer symbols files. + * Address some lintian warnings: + - Be quiet about libstdc++-doc manpages. + - Don't complain about unstripped sanitizer libraries. + * Correct debhelper to mess up permissions in /usr/libexec. + * Strip again the executables. + + -- Matthias Klose Thu, 10 Aug 2023 05:49:00 +0200 + +gcc-13 (13.2.0-1) unstable; urgency=medium + + * GCC 13.2.0 release. + * Update to git 20230730 from the gcc-13 branch. + - Fix PR tree-optimization/110755, PR tree-optimization/110799, + PR tree-optimization/110766, PR c++/110809, PR modula2/109952, + PR modula2/109952, PR modula2/109586. + + [ Nicolas Boulenguez ] + * autopkgtests: compute GCC version, reuse AUTOPKGTEST_TMP + + [Matthias Klose] + * Stop building gccrs, not ready yet for GCC 13.2, and probably + won't be backported to GCC 13 at all. Just keep it building + for Ubuntu 23.04, where it cannot be removed from the release pocket. + * gcc-13-doc: Fix installation of the libitm info file. LP: #1936394. + * Refresh patches. + + -- Matthias Klose Sun, 30 Jul 2023 07:04:14 +0200 + +gcc-13 (13.1.0-9) unstable; urgency=medium + + * Update to git 20230720 from the gcc-13 branch (13.2 release candidate). + - Fix PR tree-optimization/110731, PR tree-optimization/110669, + PR target/110206, PR target/101469 (SH), PR target/106966 (alpha), + PR c++/110535, PR c++/110122, PR c++/110524, PR fortran/95947, + PR fortran/110658, PR fortran/110288, PR libgcc/110179, PR libgcc/109712, + PR libstdc++/109921, PR libstdc++/110432, PR libstdc++/110542, + PR libstdc++/110574, PR libstdc++/95048. + * Update libstdc++ symbols file for ppc64el. + * Update patches for backports. + * libgccjit-13-doc: Relax dependency on the gcc-13-base package. + * Fix some lintian warnings. + + -- Matthias Klose Thu, 20 Jul 2023 13:37:42 +0200 + +gcc-13 (13.1.0-8) unstable; urgency=medium + + * Update to git 20230711 from the gcc-13 branch. + - Fix PR tree-optimization/110557, PR c++/110595, + PR tree-optimization/110556, PR tree-optimization/110515, + PR tree-optimization/110392, PR tree-optimization/110381, + PR target/110560 (RISCV), PR target/105325 (PPC), + PR tree-optimization/110228, PR c++/110468, PR c++/110463, + PR d/108842, PR d/110516, PR d/110514, PR d/110471, PR fortran/110585, + PR testsuite/108835, PR d/103944, PR libstdc++/104299. + * Apply proposed patch for PR target/106966. Addresses: #1019011. + + -- Matthias Klose Tue, 11 Jul 2023 10:25:56 +0200 + +gcc-13 (13.1.0-7) unstable; urgency=medium + + * Update to git 20230630 from the gcc-13 branch. + - Fix PR tree-optimization/110298, PR debug/110295, PR middle-end/110055, + PR ipa/109983, PR tree-optimization/109143, PR target/110132 (AArch64), + PR target/110100 (AArch64), PR target/110100 (AArch64), + PR target/109932 (PPC), PR target/110011 (PPC), PR c++/110102, + PR c++/109247, PR rtl-optimization/110237, PR target/110309 (x86), + PR testsuite/66005, PR middle-end/110420, PR middle-end/103979, + PR middle-end/98619, PR ipa/110276, + PR target/110264 (RISCV, closes: #1038774), PR d/106977, + PR target/110406, PR d/110359, PR d/110113, PR fortran/86277, + PR libstdc++/110239, PR libstdc++/110149, PR libstdc++/109741, + PR libstdc++/100285. + + [ Nicolas Boulenguez ] + * ada/check_ali_update.sh: report checksum changes but ignore timestamps + + [Matthias Klose] + * Fix PR tree-optimization/110280, taken from the trunk. Closes: #1038768. + + -- Matthias Klose Fri, 30 Jun 2023 14:36:39 +0200 + +gcc-13 (13.1.0-6) unstable; urgency=medium + + * Update to git 20230617 from the gcc-13 branch. + - Fix PR target/110136 (loongarch), PR target/110227 (X86), + PR middle-end/110200. + * Ignore gccrs bootstrap comparison failures on mipsel. + * Remove obsolete gcn assembler patch. + * Mark libgcc-sN packages as protected/important for newer releases. + * Apply proposed patch for PR ipa/110276. Closes: #1037640. + + -- Matthias Klose Sat, 17 Jun 2023 11:34:12 +0200 + +gcc-13 (13.1.0-5) unstable; urgency=medium + + * Re-enable building gccrs. + + -- Matthias Klose Sun, 11 Jun 2023 17:12:06 +0200 + +gcc-13 (13.1.0-4) unstable; urgency=medium + + * Update to git 20230611 from the gcc-13 branch. + - Fix PR target/109650 (AVR), PR target/92729 (AVR), + PR tree-optimization/110165, PR tree-optimization/110166, + PR target/110044 (PPC), PR target/110108 (X86), PR target/109939 (ARM), + PR target/106907 (PPC), PR target/109800 (ARM), PR bootstrap/110085, + PR target/110088 (AVR), PR target/109954 (X86), PR target/110036 (RISCV), + PR target/109547 (RISCV), PR target/104327 (AVR), PR target/82931 (AVR), + PR tree-optimization/109505, PR target/105753 (AVR), PR fortran/96024, + PR fortran/100607, PR libgcc/109670, PR libgcc/109685, + PR libstdc++/108178, PR libstdc++/110139, PR libstdc++/109758, + PR libstdc++/109822, PR libstdc++/109261, PR libstdc++/109949, + PR libstdc++/109261. + * Configure --with-cpu=ev56 instead of --with-arch=ev56 for alpha. + * Also provide the liblto_plugin.so symlink in the old place. + Closes: #1036566. + + -- Matthias Klose Sun, 11 Jun 2023 13:48:04 +0200 + +gcc-13 (13.1.0-3) experimental; urgency=medium + + * Update to git 20230520 from the gcc-13 branch. + - PR c++/109884, PR target/104338 (RISCV), PR libstdc++/109816, + Fix PR target/109661 (AArch64), PR c++/109871, PR c++/109868, + PR c++/109774, PR c++/109745, PR c++/83258, PR c++/80488, PR c++/97700, + PR c++/109761, PR c++/109651, PR fortran/109846, PR fortran/109641, + PR target/104338 (RISCV), PR libstdc++/109816, PR libstdc++/109883, + PR libstdc++/109883. + * Update libgcc-s, libhwasan and libstdc++ symbols files. + * Patch libstdc++ to support SOURCE_DATE_EPOCH in documentation (Vagrant + Cascadian). Closes: #1036367. + * Configure --with-arch=ev56 for alpha. Closes: #1036158. + + -- Matthias Klose Sat, 20 May 2023 11:42:17 +0200 + +gcc-13 (13.1.0-2) experimental; urgency=medium + + * Update to git 20230510 from the gcc-13 branch. + - Fix PR tree-optimization/109778, PR target/108758 (PPC), + PR target/109069 (PPC), PR libgomp/108098, PR target/109762 (AArch64), + PR tree-optimization/109609, PR rtl-optimization/109585, + PR tree-optimization/109573, PR c/109409, PR c/107682, PR c/109412, + PR c/107041, PR debug/109676, PR target/109535 (RISCV), PR c++/109756, + PR c++/109642, PR c++/109640, PR c++/109671, PR c++/109666, PR c++/108099, + PR libstdc++/109694, PR libstdc++/108969, PR libstdc++/109703, + PR libstdc++/40380, PR fortran/109622, PR fortran/109622, + PR libffi/109447. + * Add build support for hurd-amd64 (Samuel Thibault). Closes: #1035614. + + -- Matthias Klose Wed, 10 May 2023 13:43:04 +0200 + +gcc-13 (13.1.0-1) experimental; urgency=medium + + * GCC 13.1.0 release. + * Update NEWS files. + * Refresh patches. + * Update cross-install-location patch (Helmut Grohne). Closes: #1034293. + + -- Matthias Klose Thu, 27 Apr 2023 11:28:53 +0200 + +gcc-13 (13-20230419-1) experimental; urgency=medium + + * New upstream snapshot, taken from the gcc-13 branch. + * Disable rust, as done upstream for the gcc-13 branch. + * Update libgphobos symbols. + + -- Matthias Klose Wed, 19 Apr 2023 23:22:03 +0200 + +gcc-13 (13-20230411-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + + -- Matthias Klose Tue, 11 Apr 2023 14:08:31 +0200 + +gcc-13 (13-20230320-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Pass GM2_FOR_TARGET for cross builds (Helmut Grohne). Addresses: #1032161. + + -- Matthias Klose Mon, 20 Mar 2023 12:31:54 +0100 + +gcc-13 (13-20230305-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * On x86, hwasan is only available for 64bit multilibs, don't generate + dependencies on any other hwasan multilib packages. + TODO: Package lib64hwasan for i386 and x32. + + -- Matthias Klose Sun, 05 Mar 2023 10:09:24 +0100 + +gcc-13 (13-20230215-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Fix gdc cross builds. + + -- Matthias Klose Wed, 15 Feb 2023 11:02:04 +0100 + +gcc-13 (13-20230210-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + + [Matthias Klose] + * Use the libexec subdir. + + [YunQiang Su] + * Update multiarch patches for mips r6. + * Update the update-patches target. + + -- Matthias Klose Fri, 10 Feb 2023 07:01:03 +0100 + +gcc-13 (13-20230127-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Update cross-install patches. + * Refresh patches. + + -- Matthias Klose Fri, 27 Jan 2023 07:14:40 +0100 + +gcc-13 (13-20230126-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Update newlib to 4.3.0. + + -- Matthias Klose Thu, 26 Jan 2023 10:01:37 +0100 + +gcc-13 (13-20230114-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Bump standards version. + + -- Matthias Klose Sat, 14 Jan 2023 08:49:10 +0100 + +gcc-13 (13-20230106-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Fix libstdc++ symbols file, not distinguishing versions for some + symbols. + * Ship hwasan on amd64. + * Bump libgm2 soversion. + * Refresh patches. + * Update libgomp, liblsan, libhwasan, libubsan and libstdc++ symbols files. + + -- Matthias Klose Fri, 06 Jan 2023 16:17:07 +0100 + +gcc-13 (13-20221231-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Fix gccrs symlink. Closes: #1027099. + * Update multiarch patch for looongson. Addresses: #1027278. + + -- Matthias Klose Sat, 31 Dec 2022 12:38:04 +0100 + +gcc-13 (13-20221226-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk (m2 and rs merged). + * Drop gdc build dependency on unsupported architectures. Closes: #1026201. + * Install versioned gm2 doc files. Closes: #1026245. + + -- Matthias Klose Mon, 26 Dec 2022 16:33:56 +0100 + +gcc-13 (13-20221214-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Update newlib to 4.2.0. + * Refresh patches. + * Update symbols files. + * Bump libgo and libgphobos sonames. + * Bump standards version. + * Split out a gm2-13-doc package. + * Don't strip executables for test builds. + * Fix PR ada/107475, proposed patch. + * Add conflicts to packages built from the gcc-12 source. + * Add gccrs packaging bits. + * Build libatomic in the rtlibs stage (Helmut Grohne). See: #1009286. + * Add multiarch support for loongarch. + + -- Matthias Klose Wed, 14 Dec 2022 08:22:59 +0100 + +gcc-12 (12.2.0-7) unstable; urgency=medium + + * Update to git 20221021 from the gcc-12 branch. + - Fix PR middle-end/100400, PR target/96072 (PPC), PR target/100645 (PPC). + * Fix the binary-arch only build. + + -- Matthias Klose Fri, 21 Oct 2022 10:19:56 +0200 + +gcc-12 (12.2.0-6) unstable; urgency=medium + + * Update to git 20221019 from the gcc-12 branch. + - Fix PR tree-optimization/106934, PR tree-optimization/106922, + PR tree-optimization/106892, PR tree-optimization/105937, + PR target/107064 (x86), PR fortran/106817, PR fortran/105012, + PR fortran/100040, PR fortran/100029, PR fortran/106579, + PR middle-end/106548, PR libstdc++/106320, PR libstdc++/106695, + PR libstdc++/106607, PR libstdc++/106589, PR libstdc++/105678, + PR target/99685 (PPC), PR tree-optimization/107254, + PR tree-optimization/107212, PR tree-optimization/107160, + PR tree-optimization/107107, PR tree-optimization/106922, + PR tree-optimization/106922, PR target/107248 (SPARC), PR c++/106925. + * Fix libstdc++ build on the Hurd. Closes: #1021357. + * gobjc: drop obsolete sparc-only conflict (Helmut Grohne). Closes: #1020599. + * gobjc: remove unused binary-without-manpage lintian overrides (Helmut + Grohne). Closes: #1020600. + * Include the Modula-2 documentation into the gm2-12 package. + * Handle the "bookworm" release name instead of "sid". + * Backport two newlib patches for the nvptx target. + + -- Matthias Klose Wed, 19 Oct 2022 07:38:40 +0200 + +gcc-12 (12.2.0-5) unstable; urgency=medium + + * Update libgcc symbols file for arc. + * Work around building libobjc on arc. + * Don't build Ada, D and Go on arc. + + -- Matthias Klose Mon, 03 Oct 2022 10:47:38 +0200 + +gcc-12 (12.2.0-4) unstable; urgency=medium + + * Update to git 20221004 from the gcc-12 branch. + - Fix PR target/107061 (x86), PR middle-end/106982, + PR target/106491 (AArch64), PR target/104482 (PPC), + PR target/105485 (PPC), PR fortran/100103, PR fortran/100132, + PR fortran/107054, PR fortran/82868, PR fortran/106985, + PR fortran/106986. + * Add multiarch patch for arc-linux-gnu. Closes: #989453. + + -- Matthias Klose Sun, 02 Oct 2022 12:12:08 +0200 + +gcc-12 (12.2.0-3) unstable; urgency=medium + + * Update to git 20220920 from the gcc-12 branch. + - Fix PR tree-optimization/106860, PR tree-optimization/106841, + PR tree-optimization/106809, PR c++/93259, PR c++/106893, PR c++/90451, + PR fortran/106857, PR fortran/100245, PR libstdc++/106320. + + -- Matthias Klose Tue, 20 Sep 2022 10:02:11 +0200 + +gcc-12 (12.2.0-2) unstable; urgency=medium + + * Update to git 20220908 from the gcc-12 branch. + - Fix PR target/101322 (PPC), PR rtl-optimization/106187, + PR target/105463 (ARM), PR other/106782, PR other/106782, + PR target/106524 (AArch64), PR target/106017 (PPC), + PR target/106714 (x86), PR target/106721 (x86), PR target/106704 (x86), + PR rtl-optimization/106590, PR target/106459 (loongarch), + PR tree-optimization/106322, PR target/103353 (PPC), PR middle-end/106548, + PR c++/106759, PR fortran/100136, PR fortran/106579, PR fortran/106579, + PR fortran/103694, PR fortran/106566, PR libstdc++/106695, + PR libstdc++/106607, PR libstdc++/106589, PR libstdc++/105678. + + -- Matthias Klose Thu, 08 Sep 2022 15:52:13 +0200 + +gcc-12 (12.2.0-1) unstable; urgency=medium + + * GCC 12.2.0 release. + * Strip the cc* executables again. Closes: #1015185. + * cpp-12: Suggest cpp-12-doc. Closes: #1016930. + * Refresh patches. + + -- Matthias Klose Mon, 22 Aug 2022 09:38:01 +0200 + +gcc-12 (12.1.0-8) unstable; urgency=medium + + * Update to git 20220809 from the gcc-12 branch. + - Fix PR testsuite/106345, PR target/106091 (PPC), PR middle-end/106449, + PR debug/106261, PR middle-end/106144, PR tree-optimization/106189, + PR lto/106129, PR tree-optimization/106087, PR tree-optimization/106063, + PR tree-optimization/105665, PR tree-optimization/100810, + PR middle-end/106331, PR tree-optimization/106131, PR middle-end/106027, + PR tree-optimization/106112, PR tree-optimization/105971, + PR tree-optimization/105969, PR middle-end/105965, PR target/105459, + PR tree-optimization/105946, PR analyzer/106225, PR analyzer/106204, + PR analyzer/105285, PR preprocessor/97498, PR c++/106311, PR c++/106230, + PR c++/105912, PR c++/105842, PR c++/53164, PR c++/105848, + PR c++/105637, PR c++/100374, PR c++/105758, PR c++/96363, + PR fortran/103504, PR fortran/101330, PR libfortran/106079, + PR libstdc++/104443, PR libstdc++/106248, PR libstdc++/105995, + PR libstdc++/105957, PR libstdc++/105844, PR libstdc++/100823, + PR libstdc++/88881, PR libstdc++/105880, PR d/106555 (closes: #1016701). + * Update watch file. + + -- Matthias Klose Tue, 09 Aug 2022 21:22:04 +0200 + +gcc-12 (12.1.0-7) unstable; urgency=medium + + * Remove the libphobos test forkgc2.d, hangs. See PR d/103944. + + -- Matthias Klose Mon, 18 Jul 2022 18:35:43 +0200 + +gcc-12 (12.1.0-6) unstable; urgency=medium + + * Update to git 20220717 from the gcc-12 branch. + - Fix PR rtl-optimization/105041, PR tree-optimization/105860, + PR target/105930 (x86), PR tree-optimization/106114, + PR target/105991 (PPC), PR target/106122 (x86), PR c++/106102, + PR target/103722 (SH), PR bootstrap/105551, PR target/106097, + PR c++/105626, PR c++/106024, PR c++/105541, PR c++/105779, + PR c++/106024, PR d/106139, PR fortran/104313, PR fortran/103137, + PR fortran/103138, PR fortran/103693, PR fortran/105243, + PR fortran/106121, PR fortran/105954, PR fortran/105691, + PR fortran/105813. + * Apply a hack to build libgo on the Hurd. Closes: #1005297. + + -- Matthias Klose Sun, 17 Jul 2022 11:18:47 +0200 + +gcc-12 (12.1.0-5) unstable; urgency=medium + + * Update to git 20220629 from the gcc-12 branch. + - Fix PR bootstrap/105551, PR rtl-optimization/106032, PR ipa/105600, + PR middle-end/106030, PR target/106096, PR tree-optimization/105736, + PR tree-optimization/105254, PR tree-optimization/105940, + PR tree-optimization/105940, PR target/105960 (x86), PR ipa/105739, + PR target/105209 (alpha), PR target/105970 (x86), PR middle-end/105998, + PR middle-end/105951, PR target/105981 (ARM), PR target/104871 (Darwin), + PR target/105599 (Darwin), PR target/105953 (x86), PR c++/105931, + PR c++/105925, PR c++/105885, PR c++/105964, PR c++/105908, + PR c++/106001, PR c++/105871, PR libgomp/106045. + + [ Matthias Klose ] + * Fix PR bootstrap/105551, taken from the trunk. + + [ Nicolas Boulenguez ] + * ada: move ada/debian_packaging.mk from the gcc-BV source package + back to gnat. + + -- Matthias Klose Wed, 29 Jun 2022 15:42:10 +0200 + +gcc-12 (12.1.0-4) unstable; urgency=medium + + * Update to git 20210616 from the gcc-12 branch. + - Fix PR target/105953 (x86). + * Fix PR bootstrap/105551, taken from the trunk. + + -- Matthias Klose Thu, 16 Jun 2022 07:16:59 +0200 + +gcc-12 (12.1.0-3) unstable; urgency=medium + + * Update to git 20220612 from the gcc-12 branch. + - Fix PR target/105879 (xtensa), PR target/105854 (x86), + PR tree-optimization/105786, PR tree-optimization/105726, + PR middle-end/105711, PR middle-end/105604, PR ipa/105639, + PR sanitizer/105729, PR sanitizer/105714, PR c/105635, PR target/101891, + PR other/105527, PR target/105556 (PPC), PR tree-optimization/103116, + PR tree-optimization/105618, PR rtl-optimization/105577, + PR tree-optimization/105562, PR rtl-optimization/105559, + PR middle-end/105537, PR tree-optimization/105431, + PR tree-optimization/105458, PR target/105162 (AArch64), + PR rtl-optimization/105455, PR c++/105756, PR c++/105852, PR c++/105761, + PR c++/105761, PR c++/105795, PR c++/105734, PR c++/105779, + PR c++/105491, PR c++/105652, PR c++/105655, PR c++/105623, + PR c++/102307, PR c++/105725, PR c++/105589, PR c++/105191, + PR c++/92385, PR c++/104470, PR c++/102651, PR c++/49387, + PR d/105544, PR fortran/105230, PR preprocessor/105732, + PR gcov-profile/105535, PR libgomp/105745, PR libstdc++/105671, + PR libstdc++/105681. + * Reenable the jit build on m68k. Closes: #1009026. + + -- Matthias Klose Sun, 12 Jun 2022 19:19:41 +0200 + +gcc-12 (12.1.0-2) unstable; urgency=medium + + * Update to git 20220513 from the gcc-12 branch. + - Fix PR ipa/100413, PR tree-optimization/105528, PR target/105292 (SPARC), + PR c++/105476, PR libstdc++/105284, PR libstdc++/105284, + PR libstdc++/104731. + * Refresh the cross-fixes patch. + * Update NEWS files for GCC 12.1. + + -- Matthias Klose Fri, 13 May 2022 12:55:15 +0200 + +gcc-12 (12.1.0-1) unstable; urgency=medium + + * GCC 12.1.0 release. + * Refresh patches. + + -- Matthias Klose Sun, 08 May 2022 15:44:36 +0200 + +gcc-12 (12-20220428-1) unstable; urgency=medium + + * New upstream snapshot, taken from the gcc-12 branch. + + [ Matthias Klose ] + * Don't enable -fcf-protection with -m16. LP: #1940029. + * Update libgccjit and libgphobos symbols files. + + [ Nicolas Boulenguez ] + * ada/confirm_debian_bugs.py: trivial update. + + -- Matthias Klose Thu, 28 Apr 2022 20:10:12 +0200 + +gcc-12 (12-20220319-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + - Import go 1.18.0. + * Disable the Ada ALI check before GCC 12 is released. + + -- Matthias Klose Sat, 19 Mar 2022 08:39:27 +0100 + +gcc-12 (12-20220313-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Use again GCC 11 for the bootstrap, and GCC 12 on alpha and m68k. + * Fix PR target/104890, applying proposed patch. + * Update libgphobos symbols file. + + -- Matthias Klose Mon, 14 Mar 2022 06:02:13 +0100 + +gcc-12 (12-20220302-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Reenable Ada on m68k; build using gcc-10 for the Ada bootstrap. + * Update libgphobos symbols file. + + -- Matthias Klose Wed, 02 Mar 2022 14:52:13 +0100 + +gcc-12 (12-20220222-1) unstable; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Reenable Ada on alpha. See PR target/98724. + * Don't apply Ada patches when not building Ada. + * Update the alpha-ieee patch for GCC 12. + * Follow-up patch for PR go/104290 (Hurd) (Svante Signell). + * Disable gnat on x32 with glibc << 2.35. + + -- Matthias Klose Tue, 22 Feb 2022 12:15:48 +0100 + +gcc-12 (12-20220214-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Bump libgo soname, golang-1.18 import. + + -- Matthias Klose Mon, 14 Feb 2022 04:01:08 +0100 + +gcc-12 (12-20220206-2) experimental; urgency=medium + + [ Matthias Klose ] + * New upstream snapshot, taken from the trunk. + * Update cross-build patches. + + [ Aurelien Jarno ] + * For riscv64, change --with-arch to rv64gc (from rv64imafd). + + -- Matthias Klose Sun, 06 Feb 2022 13:20:19 +0100 + +gcc-12 (12-20220126-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + + -- Matthias Klose Wed, 26 Jan 2022 11:49:18 +0100 + +gcc-12 (12-20220119-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Disable D on ia64, m68k, sh4 and sparc64. + * Disable D on KFreeBSD and the Hurd. + * Revert the PR ada/79724 patch, conflicting with the local ada-gcc-name + patch. + * Apply proposed patch for PR ada/103538 for x32. + + -- Matthias Klose Wed, 19 Jan 2022 10:31:16 +0100 + +gcc-12 (12-20220116-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Remove the gdc-driver-nophobos patch. + * Configure instead with --with-libphobos-druntime-only=yes. + + -- Matthias Klose Sun, 16 Jan 2022 16:43:31 +0100 + +gcc-12 (12-20220106-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Update symbols file for libgphobos. + + -- Matthias Klose Thu, 06 Jan 2022 11:30:02 +0100 + +gcc-12 (12-20211217-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Bump libgphobos soversion. + * Update libgccjit and libgphobos symbols files. + + -- Matthias Klose Fri, 17 Dec 2021 04:55:01 +0100 + +gcc-12 (12-20211211-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Use gnat-11/gdc-11 as bootstrap compilers for recent releases. + + -- Matthias Klose Sat, 11 Dec 2021 13:49:46 +0100 + +gcc-12 (12-20211206-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Add gdc as a build dependency for native builds. + * Update symbols files for libgcc-s, libgccjit, libgphobos. + + -- Matthias Klose Mon, 06 Dec 2021 11:03:14 +0100 + +gcc-12 (12-20211127-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + + -- Matthias Klose Sat, 27 Nov 2021 08:51:55 +0100 + +gcc-12 (12-20211126-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Lower severity of the gcc-N-base packages. Addresses: #997826. + * Fix gcc-12-locales build. Closes: #999764. + * Fix the gcc-12 cross builds (Helmut Grohne). Closes: #1000459. + * Configure --with-cpu=power9 on ppc64el on the Ubuntu development + release. + + -- Matthias Klose Fri, 26 Nov 2021 10:00:23 +0100 + +gcc-12 (12-20211117-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Drop brig/libhsail packaging bits. + * Update breaks/replaces, update textdomain. Closes: #999764. + * Move libtsan_preinit.o into libgcc-12-dev. Closes: #999752. + * Bump standards version. + + -- Matthias Klose Wed, 17 Nov 2021 22:08:35 +0100 + +gcc-12 (12-20211113-1) experimental; urgency=medium + + * New upstream snapshot, taken from the trunk. + * Configure with --enable-offload-defaulted. + + -- Matthias Klose Sat, 13 Nov 2021 15:13:11 +0100 + +gcc-11 (11.2.0-10) unstable; urgency=medium + + * Update to git 20211021 from the gcc-11 branch. + - Fix PR rtl-optimization/102627, PR target/100340 (Darwin), + PR target/102588 (SPARC), PR debug/102441, PR libstdc++/101583, + PR libstdc++/102592, PR libstdc++/100187, PR libstdc++/100237, + PR libstdc++/100249, PR libstdc++/100287, PR libstdc++/100285, + PR libstdc++/100863, PR libstdc++/100863, PR libstdc++/65816, + PR libstdc++/102048, PR libstdc++/90787, PR libstdc++/101599, + PR libstdc++/101589, PR libstdc++/101483, PR libstdc++/100606, + PR libstdc++/101960, PR c++/102535, PR libstdc++/101960, + PR libstdc++/101870, PR libstdc++/101923, PR libstdc++/102425, + PR libstdc++/101761, PR libstdc++/99876, PR libstdc++/102074, + PR libstdc++/102270, PR libstdc++/102270, PR libstdc++/102280, + PR libstdc++/102667, PR target/102761 (x86), PR target/100316 (RISCV), + PR target/100208 (GCN), PR ada/100486, PR c++/102642, PR fortran/102745, + PR fortran/102716. + + [ Nicolas Boulenguez ] + * ada/check_ali_update: add tests, print changed sources with changed .ali + files, always report, interrupt when DEB_CHECK_ALI_UPDATE. + * ada/debian_packaging.mk: drop BUILDER_JOBS now redundant with + dpkg/buildopts.mk. + * ada/debian_packaging.mk: update comments. + * ada: avoid -L for local links with freshly built objects. + * ada/confirm_debian_bugs.py: remove bugs fixed in gnat-11. + * libgnat: strip unreproducible build flags from libgnat-dev .ali files. + + [ Matthias Klose ] + * Backport amdgcn changes from the trunk: + - Fix register issue for global_load assembler functions. + - amdgcn: Add -mxnack and -msram-ecc [PR 100208]. + - amdgcn: Fix attributes for LLVM-12 [PR 100208]. + - Support LLVM 13 assembler syntax. + + -- Matthias Klose Thu, 21 Oct 2021 10:17:22 +0200 + +gcc-11 (11.2.0-9) unstable; urgency=medium + + * Update to git 20211010 from the gcc-11 branch. + - Fix PR debug/102441, PR c++/98216, PR c++/91292, PR debug/102373, + PR c++/64697, PR target/102498 (x86), PR tree-optimization/102400, + PR tree-optimization/102451, PR sanitizer/102515, PR c++/102640, + PR c++/99904, PR c++/102547, PR c++/102535, PR c++/95567, PR c++/102412, + PR c++/98486, PR c++/102163, PR c++/101344, PR c++/101803, + PR c++/101883, PR c++/102548, PR c++/102496, PR c++/102454, + PR d/102574, PR fortran/102458, PR fortran/102458, PR fortran/102520, + PR libgomp/96661. + + -- Matthias Klose Sun, 10 Oct 2021 18:52:10 +0200 + +gcc-11 (11.2.0-8) unstable; urgency=medium + + * Update to git 20210924 from the gcc-11 branch. + - Fix PR target/102107 (PPC), PR target/102107 (PPC), PR fortran/102366, + PR fortran/102287, PR fortran/102311, PR target/102222 (S390), + PR tree-optimization/102400, PR tree-optimization/102451. + * ARM: pass architecture extensions to assembler if supported. Backported + from the trunk. + + -- Matthias Klose Fri, 24 Sep 2021 08:44:25 +0200 + +gcc-11 (11.2.0-7) unstable; urgency=medium + + * Update to git 20210918 from the gcc-11 branch. + - Fix PR rtl-optimization/102306, PR target/101934 (AArch64), PR c++/88578, + PR c++/102295, PR target/97142 (PPC), PR ada/101970, PR c++/102305, + PR d/102185, PR fortran/85130, PR fortran/82314, PR fortran/98490, + PR fortran/101327. + * Fix libgcc-s1 symbols file for alpha. + * Don't build libjit on kfreebsd. See #994035. + + -- Matthias Klose Sun, 19 Sep 2021 10:08:56 +0200 + +gcc-11 (11.2.0-5) unstable; urgency=medium + + * Update to git 20210909 from the gcc-11 branch. + - Fix PR c++/60318, PR target/102224 (x86), PR target/102115 (xtensa), + PR tree-optimization/102046, PR tree-optimization/101925, + PR middle-end/101824, PR target/102166 (x86), PR target/101849 (PPC), + PR c++/100495, PR fortran/100950, PR fortran/100950, PR fortran/102113. + * Configure again with --enable-cet, amd64 and x32 only. Closes: #993626. + + -- Matthias Klose Thu, 09 Sep 2021 13:48:13 +0200 + +gcc-11 (11.2.0-4) unstable; urgency=medium + + * Update to git 20210902 from the gcc-11 branch. + - Fix PR target/101472 (x86), PR target/99744 (x86), PR target/101492 (x86), + PR target/101549 (x86), PR target/101471 (x86), PR target/102035 (ARM), + PR target/102035 (ARM), PR middle-end/101949, PR ipa/97565, + PR debug/101905, PR gcov-profile/89961, PR fortran/87737, + PR fortran/46691, PR fortran/99819, PR fortran/98411, PR libstdc++/101965, + PR libstdc++/100682, PR libstdc++/100285, PR libstdc++/100180, + PR libstdc++/100286, PR libstdc++/100351, PR libstdc++/100286, + PR libstdc++/100285, PR libstdc++/100180, PR c++/101592, + PR tree-optimization/102124, PR target/101472 (x86), + PR target/99744 (x86), PR target/101492 (x86), PR target/101549 (x86), + PR target/101471 (x86), PR target/102035 (ARM), PR target/102035 (ARM), + PR middle-end/101949, PR ipa/97565, PR debug/101905, + PR gcov-profile/89961, PR fortran/87737, PR fortran/46691, + PR fortran/99819, PR fortran/98411, PR libstdc++/101965, + PR libstdc++/100682, PR libstdc++/100285, PR libstdc++/100180, + PR libstdc++/100286, PR libstdc++/100351, PR libstdc++/100286, + PR libstdc++/100285, PR libstdc++/100180. + * Again, for armhf configure --with-arch=+fp, dropping the --with-fpu= + option; keep the old configure options for backports. + * Update libgcc-s1 symbols file for sh4. + * Remove trailing spaces in symbols files. + * Don't configure with --enable-cet on x86 for Debian (old hardware is more + valued than recent security features). Closes: #993162, #993172. + * Don't run the tests with the installed libstdc++ on slow buildds. + * Build again for mipsel and mips64el, too much hassle with separate sources. + * Disable the lto build on sparc64, memory issues on the buildd. + + -- Matthias Klose Thu, 02 Sep 2021 12:23:43 +0200 + +gcc-11 (11.2.0-3) unstable; urgency=high + + * Update to git 20210823 from the gcc-11 branch. + - Fix PR target/101723 (ARM), PR tree-optimization/101373, + PR tree-optimization/101868, PR ipa/100600, PR ipa/101261, + PR ipa/101726, PR c/100150, PR fortran/99351, PR libstdc++/100139. + + -- Matthias Klose Mon, 23 Aug 2021 12:15:54 +0200 + +gcc-11 (11.2.0-2) unstable; urgency=medium + + * Update to git 20210815 from the gcc-11 branch. + - Fix PR middle-end/101586, PR rtl-optimization/101562, PR d/101640, + PR d/101490, PR d/101441, PR d/101127, PR d/101619, PR d/96435, + PR d/101664, PR target/101531 (PPC), PR fortran/101536, + PR fortran/101514, PR fortran/101084, PR tree-optimization/101505, + PR target/100952 (PPC), PR target/94780 (MIPS), PR target/101132 (MIPS), + PR c/101512, PR sanitizer/101749, PR c++/101725, PR c++/100828, + PR fortran/101564, PR libstdc++/101866, PR libstdc++/101510, + PR libstdc++/101510, PR libstdc++/101056, PR libstdc++/101258, + PR gcov-profile/100788, PR middle-end/101624, PR c++/101759, + PR c++/101663, PR preprocessor/101638. + * Again, configure explicitly --with-fpu=vfpv3-d16 on armhf. + * Stop building the native compilers for mipsen targets from this source + package. See https://lists.debian.org/debian-gcc/2021/05/msg00011.html. + * Update binutils version requirements. + + -- Matthias Klose Sun, 15 Aug 2021 23:09:35 +0200 + +gcc-11 (11.2.0-1) experimental; urgency=medium + + * GCC 11.2.0 release. + * Update gm2 from the gm2 gcc-11 branch. + * Refresh patches. + * Update libgfortran symbols file. + * Update libgphobos symbols file. + + -- Matthias Klose Wed, 28 Jul 2021 15:36:39 +0200 + +gcc-11 (11.1.0-4) experimental; urgency=medium + + * Update to git 20210714 from the gcc-11 branch. + - Fix PR middle-end/101291, PR tree-optimization/101394, PR ipa/101066, + PR middle-end/101423, PR tree-optimization/100778, PR target/101377, + PR tree-optimization/100778, PR tree-optimization/101229, + PR tree-optimization/101173, PR tree-optimization/101280, + PR middle-end/101156, PR tree-optimization/100923, + PR tree-optimization/101088, PR tree-optimization/101025, + PR tree-optimization/101158, PR tree-optimization/101151, + PR tree-optimization/101105, PR middle-end/100672, PR target/101175, + PR middle-end/101167, PR inline-asm/100785, PR target/100310 (x86), + PR target/100856 (ARM), PR target/101016 (ARM), PR middle-end/101062, + PR middle-end/101062, PR target/100777 (PPC), PR target/99842 (PPC), + PR middle-end/100876, PR c++/100876, PR middle-end/100732, + PR middle-end/100684, PR middle-end/100574, PR middle-end/100307, + PR middle-end/100250, PR target/100871 (S390), PR target/101046, + PR rtl-optimization/101008, PR debug/100852, PR target/100887, + PR middle-end/100898, PR target/100887 (x86), PR middle-end/101009, + PR tree-optimization/100981, PR tree-optimization/100934, PR ipa/100791, + PR analyzer/99212, PR analyzer/101082, PR analyzer/99212, + PR analyzer/100615, PR analyzer/100244, PR c++/100879, PR c/100783, + PR c/100619, PR inline-asm/100785, PR c/100902, PR c++/101181, + PR c++/101247, PR c++/101247, PR c++/101194, PR c++/98832, + PR c++/101182, PR c++/100918, PR c++/97420, PR c++/101098, PR c++/100838, + PR c++/86355, PR c++/101087, PR c++/101040, PR c++/97566, PR c++/100752, + PR c++/101106, PR c/100902, PR c++/101078, PR c++/101029, PR c++/100946, + PR d/101273, PR d/101282, PR d/100999, PR d/100967, PR fortran/100227, + PR fortran/100283, PR fortran/101123, PR fortran/95501, + PR fortran/95502, PR fortran/100965, PR c++/100796, PR preprocessor/96391, + PR target/101235 (PPC), PR target/99939 (ARM), PR fortran/93524, + PR middle-end/101167, PR libstdc++/91488, PR d/100999, + PR libstdc++/100387, PR libstdc++/100806, PR libstdc++/95833, + PR libstdc++/91488, PR libstdc++/100940, PR libstdc++/100940, + PR libstdc++/100894, PR libstdc++/101034, PR libstdc++/101055, + PR libstdc++/100475, PR libstdc++/100982, PR libstdc++/98842, + PR libstdc++/100824, PR libstdc++/100824, PR libstdc++/100824, + PR libstdc++/100577, PR libstdc++/100770, PR libstdc++/100690, + PR libstdc++/100631, PR libstdc++/100631, PR libstdc++/100639. + * Fix -fstack-protector on musl (Helmut Grohne). Closes: #989521. + * Drop gdb build dependency on mipsel and mips64el for now. + Addresses: #990842. + + -- Matthias Klose Wed, 14 Jul 2021 10:19:29 +0200 + +gcc-11 (11.1.0-3) experimental; urgency=medium + + * Update to git 20210610 from the gcc-11 branch. + - Fix PR bootstrap/100731, PR c++/91859, PR middle-end/100576, + PR rtl-optimization/100590, PR c++/100580, PR rtl-optimization/100342, + PR target/94177 (PPC), PR target/100767 (ARM), PR target/99725 (ARM), + PR target/100626 (x86), PR tree-optimization/100519, PR ipa/100513, + PR middle-end/100509, PR tree-optimization/100492, PR target/99960 (ARM), + PR c++/100281, PR target/99977 (ARM), PR bootstrap/100552, + PR target/100419 (ARM), PR target/100563 (ARM), + PR tree-optimization/100566, PR middle-end/100508, PR middle-end/100471, + PR target/99988 (AArch64), PR c/100550, PR c++/91859, PR c++/100797, + PR c++/95719, PR c++/100666, PR c++/100502, PR c++/100489, + PR c++/100281, PR c++/100634, PR c++/100659, PR c++/100367, + PR c++/96299, PR c++/100261, PR c++/100372, PR c++/100644, + PR c++/100205, PR c++/93314, PR fortran/98411, PR fortran/100656, + PR fortran/100602, PR fortran/100551, PR fortran/100633, + PR preprocessor/100646, PR preprocessor/100392, PR middle-end/100471, + PR sanitizer/100379, PR libstdc++/100676, PR libstdc++/100833, + PR libstdc++/100768, PR libstdc++/99453, PR libstdc++/100479, + PR libstdc++/100361, PR libstdc++/100630, PR libstdc++/99006, + PR libstdc++/99453, PR target/100885 (x86), PR ipa/99122, + PR target/100333 (ARM), PR c/100920, PR c++/100065, PR c++/100963, + PR c++/91706, PR c++/100862, PR c++/100102, PR d/100964, PR d/100935, + PR d/100882, PR fortran/98301, PR fortran/99839, PR libstdc++/100889, + PR libstdc++/100900. + * gcc-snapshot: Remove compiler provides. Addresses: #921877. + * Update libasan6 symbols for riscv64 (Helmut Grohne). Closes: #989205. + + -- Matthias Klose Thu, 10 Jun 2021 10:05:34 +0200 + +gcc-11 (11.1.0-2) experimental; urgency=medium + + * Update to git 20210508 from the gcc-11 branch. + - Fix PR target/100200 (AArch64), PR target/100200 (AArch64), + PR tree-optimization/100239, PR rtl-optimization/100254, PR debug/100255, + PR rtl-optimization/100148, PR c++/89565, PR c++/93383, PR c++/95291, + PR c++/99200, PR c++/99683, PR c++/100161, PR c++/96380, + PR fortran/100218, PR fortran/100154, PR target/98952 (PPC), + PR libstdc++/100290, PR rtl-optimization/100225, PR target/100402 (x86), + PR rtl-optimization/84878, PR target/100217 (S390), PR target/100232, + PR rtl-optimization/100263, PR rtl-optimization/100411, + PR tree-optimization/100253, PR tree-optimization/100278, PR ipa/100308, + PR tree-optimization/100414, PR tree-optimization/100329, + PR target/100375 (nvptx), PR rtl-optimization/100230, + PR target/100311 (ARM), PR target/100302 (AArch64), + PR target/100305 (AArch64), PR target/100270 (AArch64), + PR target/100236 (ARM), PR target/100182 (x86), PR c++/100362, + PR c++/100319, PR fortran/100274, PR c/100450, PR target/98952 (PPC), + PR libgomp/100352, PR libstdc++/100384, PR libstdc++/100259, + PR libstdc++/100298, PR libstdc++/100290. + * Don't revert the PR 85678 patch anymore for backports (defaulting + to -fcommon everywhere). + * Remove obsolete verbose-lto-linker patch. + * Remove obsolete libgomp-no-werror patch. + * Remove the obsolete Linaro build support and patches. + * Fix building the libhwasan0-dbg package. + * Remove some obsolete breaks, conflicts, replaces. + * Fix running the libstdc++-v3 tests against the installed libstdc++6, + when the libstdc++6 package is not built from this source. + * README.source: Document how to run a single test. + * Don't run some tests from the guality test suite on armhf. These fail + on every target, but seem to hang on the buildds occasionally on armhf. + * Don't apply the arm-multilib-soft patch when building without + armhf/armsf multilib packages. + * Lower the dejagnu timeout on armhf from 600 to 300. + * For armhf configure --with-arch=+fp, dropping the --with-fpu= option. + * Explicitly call autoconf2.69 where necessary. + * Remove packaging support for oldish backports. Last supported releases + are Debian 8 (jessie) and Ubuntu 12.04 LTS (precise). + * Fix building the gcn offload compiler without the nvptx offload compiler. + * README.snapshot: Update wrapper script. Addresses: #862176. + + -- Matthias Klose Sat, 08 May 2021 13:50:11 +0200 + +gcc-11 (11.1.0-1) experimental; urgency=medium + + * GCC 11.1.0 release. + * Refresh patches. + * Update gm2 from the gm2 trunk. + * gm2: Ignore gm2version.o stage diff, needed at least on some + archtectures (m68k, riscv64) + * Only apply the gm2-texinfo patch for dfsg builds. + * Configure with --enable-checking=release. + * Disable usage stats for release builds. + * Update and re-apply the gcc-foffload-default patch. + * Update NEWS.html and gcc.css, remove fav.ico, and use the local gcc.css. + * html2text -ascii -style pretty debian/NEWS.html > debian/NEWS.gcc. + * Enable the address sanitizer for riscv64. + + -- Matthias Klose Tue, 27 Apr 2021 13:50:54 +0200 + +gcc-11 (11-20210424-1) experimental; urgency=medium + + * GCC 11 release candidate 2, taken from the gcc-11 branch (20210424) + + -- Matthias Klose Sat, 24 Apr 2021 08:00:02 +0200 + +gcc-11 (11-20210420-1) experimental; urgency=medium + + * GCC 11 release candidate 1, taken from the gcc-11 branch (20210420) + * Update gm2 from the gm2 trunk. + * Revert the fix for PR target/100067, breaking the ARM multilib build. + * Update watch file. + * Stop building sf/hf multilibs on upcoming Ubuntu releases. + * Update libgphobos symbols file. + + -- Matthias Klose Tue, 20 Apr 2021 15:31:57 +0200 + +gcc-11 (11-20210417-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210417) + * Use explicit autoconf version for bullseye. + * Update libgphobos symbols file. + + -- Matthias Klose Sat, 17 Apr 2021 11:29:15 +0200 + +gcc-11 (11-20210412-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210412) + * Update libgphobos symbols file. + + -- Matthias Klose Sun, 11 Apr 2021 13:46:08 +0200 + +gcc-11 (11-20210404-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210404) + * Update libgphobos symbols file. + + -- Matthias Klose Sun, 04 Apr 2021 13:42:51 +0200 + +gcc-11 (11-20210327-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210327) + - Fix bootstrap on s390x. + - Fix PR target/99422. Closes: #984870. + - Fix PR sanitizer/98920. Closes: #949192. + * Fix packaging of snapshot builds, really include the jit build in + the snapshot build. + + -- Matthias Klose Sat, 27 Mar 2021 13:19:03 +0100 + +gcc-11 (11-20210319-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210319) + * Fix --as-needed specs for -fsanitize=* options for backports. + * Export DEB_CHECK_ALI_UPDATE=1 (currently commented out). This should be + checked after the gnat transition has been prepared in experimental, and + just before doing the gnat's defaults change in unstable. + * debian/ada/check_ali_update.sh: Fix syntax errors. + Always run the script. + * Disable building gnat on alpha, see PR ada/98724. + * Also build unstripped frontends on mipsel/mips64el. + * Update libgphobos symbols file. + * Don't remove files in debian/tmp-{nvptx,gcn} when building the binary + targets. The installed offload compilers are needed to run the tests. + * Allow to save some disk space for the build, by + - saving the files needed for the hppa64 and jit builds, and removing + the build directories. + - saving the results from the check runs, and removing files created + during the check runs. + * Fix installation of the jit header files. + + -- Matthias Klose Fri, 19 Mar 2021 09:57:02 +0100 + +gcc-11 (11-20210310-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210310) + * Work around dwz issue on mips64el stripping go1. + * Replace @tie{} string with a space in the man pages. LP: #1405685. + * Don't run the memory usage stats on m68k. + + -- Matthias Klose Wed, 10 Mar 2021 11:46:55 +0100 + +gcc-11 (11-20210306-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210306) + * Update libgphobos symbols file. + * Fix unstripped gcc-snapshot builds. + + -- Matthias Klose Sat, 06 Mar 2021 11:55:56 +0100 + +gcc-11 (11-20210227-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210227) + * Build gnat/alpha again in snapshot and cross builds. + + -- Matthias Klose Sat, 27 Feb 2021 09:46:52 +0100 + +gcc-11 (11-20210220-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210220) + * Apply proposed patch for PR ada/98996. + * Update libgphobos symbols file. + * Update usage-wrapper script. + + -- Matthias Klose Sat, 20 Feb 2021 17:21:38 +0100 + +gcc-11 (11-20210207-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210207) + * Fix packaging logic to build libgphobos. + * Update libstdc++ symbols for ppc64 and ppc64el. + * Explicitly configure with --enable-s390-excess-float-precision on s390x + to match the behaviour of the default GCC (gcc-10). + * Update libgphobos symbols file. + * Don't build the gnat alpha cross compiler for now. PR ada/98724. + + -- Matthias Klose Sun, 07 Feb 2021 14:55:47 +0100 + +gcc-11 (11-20210130-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210130) + - libgo 1.16 release candidate 1. + * Remove the work around for PR ada/98228, fixed. + * Disable profiled bootstrap on powerpc as a test ... + * Disable lto build on ia64 as a test ... + * Don't turn on DWARF 5 by default, where GCC 11 is not the default.. + * Require binutils 2.25.2 when defaulting to DWARF 5. + * Update libgphobos symbols file. + * Bump standards version. + + -- Matthias Klose Sat, 30 Jan 2021 13:00:42 +0100 + +gcc-11 (11-20210123-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210123) + * Update gm2 from the gm2 trunk. + * Explicitly use autoconf2.69 where necessary. + * Use the same breaks relations for libgcc-s2 and libgcc-s4 as for + libgcc-s1. Addresses: #980770. + + -- Matthias Klose Sat, 23 Jan 2021 13:12:36 +0100 + +gcc-11 (11-20210116-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210116) + * Fix --enable-link-serialization=1, and enable LTO builds on ppc64el again. + * Update libgphobos symbols file. + * gcc: Prefix LLINKER with /usr/bin/time -v. + * Don't build runtime libraries for the jit build. + * Apply proposed fix for PR go/98496 (Svante Signell). + * Work around PR ada/98228, not using lto for gnat1 on s390x. + * PR sanitizer/98699: Don't enable --as-needed with -fsanitize=* options. + * Use --push-state/--pop-state for gold everywhere. + * Fix parallel linking of cc1gm2. + * Allow to build with some memory usage statistics. + + -- Matthias Klose Sat, 16 Jan 2021 15:49:18 +0100 + +gcc-11 (11-20210110-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210110) + * Build the gcn offload compiler based on amdgcn-tools (based on LLVM 9), + remove the conflict with gcc-10-offload-amdgcn. + * Limit lto links on sparc64. + + -- Matthias Klose Sun, 10 Jan 2021 13:01:43 +0100 + +gcc-11 (11-20210109-2) experimental; urgency=medium + + * Support link serialization for m2. + * Fix -Wformat-diag warnings for power*-linux builds. + + -- Matthias Klose Sat, 09 Jan 2021 20:27:49 +0100 + +gcc-11 (11-20210109-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210109) + * Provide timing and resource information for all builds. + * Build the offload compilers using newlib 4.1.0. + * gcc-11-source: Depend on time. + * Disable the lto build on s390x, PR ada/98228. + + -- Matthias Klose Sat, 09 Jan 2021 18:48:15 +0100 + +gcc-11 (11-20210102-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20210102) + * Bump libgo soname. + * Fix libgo build failures. + + -- Matthias Klose Sat, 02 Jan 2021 15:59:18 +0100 + +gcc-11 (11-20201228-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20201228) + * Build the gcn offload compiler based on amdgcn-tools (based on LLVM 9). + * Fix hppa64 snapshot builds. + * Fix cross installation of g++-mapper-server. + * Update libgcc-s1 symbols file for arm64. + + -- Matthias Klose Mon, 28 Dec 2020 20:02:27 +0100 + +gcc-11 (11-20201222-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20201222) + * Fix installation of g++-mapper-server. + * Apply proposed patch for PR bootstrap/98324. enable LTO builds again. + * Disable LTO build on s390x, see PR 976846. + + -- Matthias Klose Tue, 22 Dec 2020 14:41:42 +0100 + +gcc-11 (11-20201216-2) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20201216) + * Rely on the upstream GNU versioned symbols for libstdc++6. + * Bump phobos soname for GCC 11. + * Add an autopkg test for linking libphobos. + * Build gnat again, without building libgnat_util. + * Build the gcn offload compiler using LLVM 11, and work around the + broken as in LLVM 11. See also LLVM Bug 48201 for this issue and + https://reviews.llvm.org/D73999 for the patch causing the issue. + * Remove hsa offload packaging bits. + * For LTO builds, configure with --enable-link-serialization instead of + --enable-link-mutex. + * Package additional gnat files. + * Update the gm2 packaging. + * Add conflicts with binary packages built from gcc-10. + * Build libhwasan (AArch64 only). + * Don't strip the sanitizer libraries, these are only used for debugging. + LP: #1894166. + * Explicitly configure with --disable-cet when building for older releases. + * Don't run the libgphobos-link test on powerpc architectures. + * Install libstdc++6 gdb pretty printer files in /usr/share/gcc (unversioned). + * Don't mark the libgcc-sN cross packages with XB-Important/Protected: yes. + * Relax the libc-dev dependencies for kfreebsd. + * Limit checking when configuring with --enable-checking=extra,rtl. + * Apply proposed patch for PR bootstrap/95582. + * Enable profiled builds, LTO build for 64bit architectures. + * Add -doc conflicts with GCC 10. Closes: #977408. + * Don't install the lto-dump binary in the hppa64 package. Closes: #977461. + * Let the gcn offload compilers conflict, both shipping the linker tools, + which should be split out into a separate package. Addresses: #977461. + * Regenerate libgm2/configure. Closes: #977409. + * Install hwasan lib in libgcc-dev (arm64 only). + + -- Matthias Klose Wed, 16 Dec 2020 21:28:34 +0100 + +gcc-10 (10.2.0-17) unstable; urgency=medium + + * Update to git 20201111 from the gcc-10 branch. + - Fix PR tree-optimization/97764, PR target/97685 (x86), + PR target/97360 (PPC), PR lto/97508, PR c++/97412, PR fortran/97652, + PR fortran/92793, PR fortran/92793, PR target/85486, PR libstdc++/96269, + PR libstdc++/97731, PR libstdc++/97362, PR libstdc++/92285. + + -- Matthias Klose Wed, 11 Nov 2020 17:50:04 +0100 + +gcc-10 (10.2.0-16) unstable; urgency=medium + + * Update to git 20201029 from the gcc-10 branch. + - Fix PR rtl-optimization/97439, PR target/96759 (RISCV), + PR target/97506 (x86), PR target/97327 (ARM), PR target/96914 (ARM), + PR target/96914 (ARM), PR target/96914 (ARM), PR rtl-optimization/97386, + PR sanitizer/97294, PR target/97291 (ARM), PR ipa/96394, PR ipa/97404, + PR ipa/97295, PR target/97251 (ARM), PR target/97349 (AArch64), + PR tree-optimization/97357, PR tree-optimization/97255, PR c++/97197, + PR c++/97328, PR c++/97010, PR c++/97197, PR c++/96229, PR fortran/95979, + PR libstdc++/95322, PR libstdc++/97132, PR libstdc++/95788, + PR tree-optimization/97081, PR tree-optimization/97456, + PR c++/95132, PR c++/96241. + * Also enable the extra checking on amd64, arm64, ppc64el, s390x, and don't + strip the executables. This will be reverted within a few weeks, please + don't send bug reports about that. + * Mark libgcc-sN with XB-Important/Protected: yes. Addresses: #972936. + + -- Matthias Klose Thu, 29 Oct 2020 16:36:48 +0100 + +gcc-10 (10.2.0-15) unstable; urgency=medium + + * Update to git 20201011 from the gcc-10 branch. + - Fix PR target/97302, PR rtl-optimization/97313, PR middle-end/95189, + PR middle-end/95886, PR target/97150 (AArch64), PR target/96313 (AArch64), + PR tree-optimization/97236, PR target/96456 (S390), PR gcov-profile/97193, + PR c++/88115, PR libstdc++/97273, PR c++/96994, PR c++/97195, + PR c++/97145, PR fortran/97272, PR bootstrap/97163, PR gcov-profile/96913. + * On armel, armhf, configure with --enable-checking=yes,extra,rtl, and don't + strip the executables for now. + + -- Matthias Klose Sun, 11 Oct 2020 12:40:50 +0200 + +gcc-10 (10.2.0-14) experimental; urgency=medium + + * Update to git 20201002 from the gcc-10 branch. + - Fix PR gcov-profile/64636, PR tree-optimization/96979, + PR gcov-profile/97069, PR target/96795 (ARM), PR target/96827 (ARM), + PR bootstrap/97183, PR target/97184 (x86). + * Fix PR tree-optimization/97236, taken from the trunk. Stop reverting the + fixes for PR tree-optimization/97043, PR tree-optimization/96522. + Closes: #971027. + * Enable gnat on m68k again (Adrian Glaubitz). Closes: #971551. + + -- Matthias Klose Fri, 02 Oct 2020 14:12:39 +0200 + +gcc-10 (10.2.0-13) unstable; urgency=medium + + * Update to git 20200930 from the gcc-10 branch. + - Fix PR target/97247 (x86), PR target/97231 (x86), PR middle-end/97054. + - Backport SVE ACLE and stack-protector patches (ARM, AArch64). + * Revert the fix for PR tree-optimization/96522. See #971027. + + -- Matthias Klose Wed, 30 Sep 2020 12:29:35 +0200 + +gcc-10 (10.2.0-12) unstable; urgency=medium + + * Update to git 20200927 from the gcc-10 branch. + - Fix PR target/71233 (AArch64), PR middle-end/97073. + * Revert the fix for PR tree-optimization/97043. Addresses: #971027. + + -- Matthias Klose Tue, 29 Sep 2020 12:37:37 +0200 + +gcc-10 (10.2.0-11) unstable; urgency=medium + + * Update to git 20200927 from the gcc-10 branch. + - Fix PR middle-end/95464, PR target/96683 (ARM), PR target/97032, + PR target/97166 (PPC), PR fortran/96041, PR fortran/93423, + PR fortran/93423, PR libstdc++/97167, PR libstdc++/96803, + PR libstdc++/96803, PR libstdc++/94681, PR libstdc++/94681, + PR libstdc++/97101, PR libstdc++/94160. + - libgo: don't put golang.org packages in zstdpkglist.go. Closes: #970604. + + [ Samuel Thibault ] + * Limit systemtap-sdt-dev build dependency to linux architectures. + Closes: #970614. + + -- Matthias Klose Sun, 27 Sep 2020 12:19:01 +0200 + +gcc-10 (10.2.0-9) unstable; urgency=high + + * Update to git 20200918 from the gcc-10 branch. + - Fix PR preprocessor/96935, PR tree-optimization/97053, + PR target/97028 (x86), PR debug/96690, PR tree-optimization/96522, + PR tree-optimization/97043. + + -- Matthias Klose Fri, 18 Sep 2020 20:23:58 +0200 + +gcc-10 (10.2.0-8) unstable; urgency=medium + + * Update to git 20200914 from the gcc-10 branch. + - Fix PR tree-optimization/96579, PR tree-optimization/96370, + PR tree-optimization/96514, PR middle-end/96369, PR lto/96385, + PR tree-optimization/96349, PR bootstrap/96203, PR lto/95604, + PR debug/93865, PR debug/94235, PR c++/96901, PR lto/94311, + PR debug/96729, PR c++/96901, PR c++/96862, PR fortran/96859. + * Fix libstdc++ symbols file for armel, no pretty formatting allowed + in symbols files. + + -- Matthias Klose Mon, 14 Sep 2020 11:30:32 +0200 + +gcc-10 (10.2.0-7) unstable; urgency=medium + + * Update to git 20200910 from the gcc-10 branch. + - Fix PR c++/95164, PR target/85830 (PPC), PR tree-optimization/96820, + PR target/96808 (PPC), PR tree-optimization/96597, + PR tree-optimization/88240, PR tree-optimization/96854, + PR target/96551 (x86), PR d/96924, PR fortran/95398, PR fortran/94672, + PR libstdc++/92978, PR libstdc++/96851, PR target/96357 (AArch64), + PR fortran/95109, PR fortran/94690. + * Update libasan and libgfortran symbols files. + * Replace the libstdc++ symbols file on armel with one based on + symbol versions (versions different than for other architectures). + Closes: #954954. + + -- Matthias Klose Thu, 10 Sep 2020 17:24:36 +0200 + +gcc-10 (10.2.0-6) unstable; urgency=medium + + * Update to git 20200831 from the gcc-10 branch. + - Fix PR target/96744 (x86), PR target/94538 (ARM), PR middle-end/87256, + PR tree-optimization/96722, PR tree-optimization/96758, + PR target/95450, PR tree-optimization/96535, PR c/96549, PR fortran/93553, + PR middle-end/96459, PR tree-optimization/96730, PR ipa/95320, + PR target/96682 (ARM), PR target/96506 (PPC), PR target/96536 (x86), + PR target/96562 (x86), PR target/93897 (x86), PR lto/95362, + PR lto/95548, PR c/96545, PR c++/96497, PR c++/95428, PR c++/96199, + PR c++/96106, PR c++/96164, PR d/96157, PR d/96250, PR d/96254, + PR d/96301, PR fortran/95882, PR fortran/96486, PR fortran/93553, + PR middle-end/96459, PR libstdc++/71960, PR libstdc++/96766, + PR libstdc++/96718, PR target/96493 (PPC), PR ipa/96482, PR ipa/96291, + PR target/96243 (x86), PR target/96530 (PPC), PR target/96446 (PPC), + PR c++/96106, PR c++/96164, PR fortran/96312, PR libstdc++/89760, + PR libstdc++/95749. + * Disable go on sh4. Closes: #969221. + * Update patch for CUDA and __float128. Closes: #968672. + + -- Matthias Klose Mon, 31 Aug 2020 12:27:30 +0200 + +gcc-10 (10.2.0-5) unstable; urgency=medium + + * Update to git 20200808 from the gcc-10 branch. + - Fix PR target/96191 (ARM), PR target/96191 (AArch64), + PR tree-optimization/96483, PR middle-end/96426, PR debug/96354, + PR target/95435 (x86), PR tree-optimization/96058, PR middle-end/96335, + PR lto/45375, PR c/96377, PR c++/96082, PR c++/95591, PR c++/95599, + PR c++/95823, PR c++/95824, PR c++/95895, PR d/96140, + PR fortran/96319, PR fortran/95612, PR fortran/95585. + + -- Matthias Klose Sat, 08 Aug 2020 13:31:03 +0200 + +gcc-10 (10.2.0-3) unstable; urgency=medium + + * Update to git 20200725 from the gcc-10 branch. + - Fix PR target/96190 (SPARC), PR target/96236 (PPC), PR target/96260, + PR fortran/95980, PR fortran/95980, PR fortran/96086, PR fortran/89574, + PR fortran/96220, PR fortran/96018. + * Re-enable gm2, disabled by accident in 10.2.0-1. + * Refresh gm2 patches. + * Apply proposed gdc patch (Iain Buclaw). Closes: #966026. + * Apply proposed patch for PR bootstrap/96203, add -fcf-protection=check. + + -- Matthias Klose Sat, 25 Jul 2020 14:52:31 +0200 + +gcc-10 (10.2.0-1) unstable; urgency=medium + + * GCC 10.2.0 release. + - Fix PR target/95726 (AArch64), PR target/96174 (x86), PR middle-end/95114, + PR tree-optimization/96146, PR middle-end/96194, PR c++/95789, + PR c++/96104, PR c++/96179. + - Fix missing dependencies for selftests which occasionally causes + failed builds. Closes: #960913. + * Update gm2 from the gm2 gcc-10 branch. + * Update the patch for PR lto/95604, replacing the error with a warning. + * Build the GC enabled libobjc on arm64, mips and mipsel as well. + * libgo: Merge the 1.14.6 changes, taken from the trunk. + * Fix ASAN_INTERCEPT_VFORK related symbols. (Helmut Grohne). Closes: #965246. + + -- Matthias Klose Thu, 23 Jul 2020 12:15:54 +0200 + +gcc-10 (10.1.0-6) unstable; urgency=medium + + * Update to git 20200714 from the gcc-10 branch. + - Fix PR lto/95604, PR target/94891 (AArch64), PR target/94791 (AArch64), + PR ipa/96130, PR middle-end/94600, PR middle-end/95270, PR c++/96063, + PR c++/96077. + * Also package the nvptx offload compiler on arm64. + + -- Matthias Klose Tue, 14 Jul 2020 12:07:51 +0200 + +gcc-10 (10.1.0-5) unstable; urgency=medium + + * Update to git 20200713 from the gcc-10 branch. + - Fix PR bootstrap/94998, PR tree-optimization/94969, PR target/95018 (PPC), + PR target/95347 (PPC), PR target/95347 (PPC), PR target/95713, + PR target/94735 (ARM), PR target/94959 (ARM), PR c++/95505, PR c++/95508, + PR fortran/95707, PR fortran/95688, PR fortran/95687, PR fortran/95689, + PR fortran/95587, PR fortran/95088, PR lto/94848, PR c/95141, PR c++/95711, + PR c++/95736, PR c++/95519, PR c++/95518, PR c++/95813, PR c++/95477, + PR c++/95719, PR d/95250, PR fortran/95978, PR fortran/71706, + PR fortran/95743, PR fortran/95340, PR fortran/95880, PR fortran/95881, + PR fortran/95826, PR fortran/95828, PR fortran/95827, PR fortran/95812, + PR fortran/95708, PR target/95105 (AArch64), PR tree-optimization/96075, + PR ipa/96040, PR debug/95343, PR fortran/95709, PR fortran/93337, + PR fortran/95366, PR fortran/88379, PR fortran/9582 libstdc++/91807, + PR libstdc++/91153, PR target/93224, PR libstdc++/95282, PR libstdc++/94627, + PR tree-optimization/95857, PR target/95581 (PPC), PR target/96125 (PPC), + PR tree-optimization/96133, PR tree-optimization/95804, + PR tree-optimization/95638, PR target/95683 (RISCV), PR c++/96105, + PR c++/96052, PR c++/95976, PR libstdc++/95322, PR libstdc++/94936, + PR libstdc++/94087. + * distro-defaults.h: Don't define for offload compilers. + * Build the nvptx offload compiler on arm64. + * Update the patch for PR lto/95604. + + -- Matthias Klose Mon, 13 Jul 2020 13:12:42 +0200 + +gcc-10 (10.1.0-4) unstable; urgency=medium + + * Update to git 20200616 from the gcc-10 branch. + - Fix PR ipa/95113, PR target/95525 (x86), PR target/95420 (ARM), + PR target/94591 (ARM), PR gcov-profile/95332, PR testsuite/95361, + PR target/95355 (x86), PR web/95380, PR c++/95346, PR c++/95562, + PR c++/95345, PR c++/95050, PR c++/94817, PR c++/94829, PR c++/95087, + PR c++/93310, PR c++/95158, PR c++/92103, PR c++/92633, PR c++/92838, + PR c++/95020, PR c++/95386, PR c++/92652, PR c++/93698, PR c++/94128, + PR c++/95241, PR c++/95181, PR c++/95371, PR c++/95319, PR c++/95222, + PR c++/90212, PR c++/90479, PR c++/91529, PR c++/93822, + PR libfortran/95390, PR libfortran/95104, PR libfortran/95104, + PR libfortran/95191, PR libgomp/92854, PR libgomp/92854, + PR libstdc++/95322, PR libstdc++/77691, PR lto/94848, PR middle-end/95551, + PR target/95528, PR c++/95197, PR middle-end/95108, PR debug/95080, + PR sanitizer/95634, PR sanitizer/94910, PR c/95580, PR c++/95328, + PR c++/95197, PR c++/95440, PR c++/93467, PR c++/95350, PR c++/95560, + PR c++/95066, PR c++/94937, PR c++/95344, PR c++/94955, PR c++/90915, + PR c++/90915, PR c++/95137, PR fortran/95544, PR fortran/93366, + PR fortran/95503, PR fortran/94109, PR fortran/95611, PR fortran/95091, + PR libstdc++/95578. + * Fix PR lto/95604, proposed patch. + * Reorganize the distro defaults patches. + + -- Matthias Klose Tue, 16 Jun 2020 13:09:42 +0200 + +gcc-10 (10.1.0-3) unstable; urgency=medium + + * Update to git 20200525 from the gcc-10 branch. + - Fix PR target/95255 (x86), PR target/95258 (x86), PR lto/95190, + PR target/95169 (x86), PR target/95212 (x86), PR middle-end/94635, + PR middle-end/94940, PR d/94970, PR fortran/39695, PR libfortran/95119, + PR libstdc++/95289, PR libstdc++/93983. + * Configure --with-arch=i686 for the Hurd. Closes: #960929. + * Remove the last powerpcspe packaging bits, it's finally gone. + * Update watch file. + + -- Matthias Klose Mon, 25 May 2020 22:55:26 +0200 + +gcc-10 (10.1.0-2) unstable; urgency=medium + + * Update to git 20200515 from the gcc-10 branch. + - Fix PR ipa/94947, PR c/95040, PR middle-end/94724, + PR target/94950 (RISCV), PR target/94942 (x86), PR c/94968, PR c/94842, + PR c++/95003, PR c++/94885, PR c++/94938, PR c++/94951, PR c++/94907, + PR fortran/93497, PR fortran/94672, PR fortran/59107, PR libstdc++/94906, + PR libstdc++/94933, PR libstdc++/92894. + + [ Matthias Klose ] + * Remove the unmaintained neon packaging bits. + * Add build dependency on unzip to fix libphobos test failures. + * libphobos: Fix issue 19861 - core.cpuid reports the wrong number of + threads. Closes: #960150. + * Build using GCC 10 on recent distro versions. + * Fix gnat tests to find the libgnat_utils shared library. Closes: #960270. + * Run the testsuite with the offload compilers installed into the temporary + install location. + * Don't require root for the temp installation of the offload compilers. + * Use LLVM 10 for the amdgcn assembler and linker tools. + * Don't override the libstdc++ test results when running the libstdc++ abi + check. + * Update debian/TODO, remove obsolete items, add some testsuite items. + * Override some lintian warnings for snapshot builds. + * Include jit test results into the summary and the gcc-test-results package. + * Fix some lintian warnings. + * Don't strip the target object files for the amdgcn offload build. + * Stop building the libgcc compat packages for bullseye/sid. + + [ Nicolas Boulenguez ] + * Enable gnat autopkg tests. + + -- Matthias Klose Fri, 15 May 2020 17:11:03 +0200 + +gcc-10 (10.1.0-1) unstable; urgency=medium + + * GCC 10.1.0 release. + * lib*stdc++6: Depend on lib*gcc-sN instead of lib*gccN. + * Build libphobos on hppa-linux-gnu. + * Update NEWS files for GCC 10. + * Refresh patches. + + -- Matthias Klose Thu, 07 May 2020 13:44:26 +0200 + +gcc-10 (10-20200502-1) unstable; urgency=medium + + * GCC 10.1 release candidate. + * GCC snapshot, taken from the gcc-10 branch (20200502, 0118d0397f9). + - Fix PR objc/94637, @selector() broken for selectors containing repeated + colons. Closes: #959127. + * Increase the testsuite timeout on riscv64. + * Fix sparc64 multilib cross build (Helmut Grohne). Closes: #958909. + * Fix GDC Issue 19367 - std.net.curl does not understand HTTP/2 status lines. + LP: #1876293. + * Update libgphobos symbols files. + + -- Matthias Klose Sat, 02 May 2020 14:09:59 +0200 + +gcc-10 (10-20200425-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200425, cf3f7b309ffd). + - Fix PR middle-end/94647. Closes: #958062. + * Fix local patch for PR jit/87808. Closes: #954898. + * gcc-snapshot: Depend on nvptx-tools with the nvptx offload compiler. + * Provide symlinks for the offload target tools in /accel/. + * Don't include lib*gomp1 and libgcc4 in the control file, when not building + the common libraries. + * Build libphobos on powerpc*, libdruntime only. + + -- Matthias Klose Sat, 25 Apr 2020 18:07:48 +0200 + +gcc-10 (10-20200418-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200418, c5bac7d127f2). + - Fix PR lto/94612, offloading support. + - Fix PR rtl-optimization/93974, ICE on ppc64el with -O3. + + [ Nicolas Boulenguez ] + * Remove ada-lib-info-file-prefix-map.diff (see #87972). + + [ Matthias Klose ] + * libgcc-sN: Don't add the libgcc-N-dev breaks for backports. + * Include the complete offload compilers in the gcc-snapshot builds. + + -- Matthias Klose Sat, 18 Apr 2020 11:56:38 +0200 + +gcc-10 (10-20200411-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200411, f883c46b487). + * Fix gnat cross builds. + * Strip again the compiler executables. + + -- Matthias Klose Sun, 12 Apr 2020 15:12:15 +0200 + +gcc-10 (10-20200410-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200410, 7478addd84a). + + [ Matthias Klose ] + * Update libgccjit and libgphobos symbols files. + * Remove the libgcc-sN provides from the last upload. + * Don't install the empty gcc_lib_dir in gcc-N-base. + * Configure with -enable-libphobos-checking=release. + + [ Nicolas Boulenguez ] + * Remove some dependencies older than oldoldstable. + * Build gnat. Remove obsolete no_install option for libgnat. + * ada-lib-info-file-source-date-epoch.diff: port fix from gcc-9. + * ada: install libgnat-BV.so without adding a .1 suffix. + * Rename libgnatvsn to libgnat_util (following upstream). + Make the compatibility project abstract instead of generating twice. + * ada-changes-in-autogen-output.diff: keep more upstream default values in + order to reduce the diff noise. + + -- Matthias Klose Fri, 10 Apr 2020 14:45:04 +0200 + +gcc-10 (10-20200402-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200402, 86c92411320). + * Fix PR target/94254 (PPC), proposed patch. + * Update libstdc++6 symbols file for armel. Closes: #954954. + * libgcc-sN: Provide libgcc-sN with an epoch version to rebuild gcc-8. + Closes: #954826. + + -- Matthias Klose Thu, 02 Apr 2020 15:01:48 +0200 + +gcc-10 (10-20200324-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200324, 906b3eb9df6). + * libgcc-N-dev: Include sanitizer headers again. Closes: #954751. + * gm2: Define lang_register_spec_functions for jit. Closes: #954438. + + -- Matthias Klose Tue, 24 Mar 2020 13:38:16 +0100 + +gcc-10 (10-20200321-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200321, 497498c878d). + * Update gm2 from the gm2 trunk. + * Move limits.h and syslimits.h into /include, and remove + /include-fixed. + * Update libgphobos symbols file. + + -- Matthias Klose Sat, 21 Mar 2020 13:14:07 +0100 + +gcc-10 (10-20200312-2) unstable; urgency=medium + + * Ship the include-fixed directory again, for a working #include . + + -- Matthias Klose Fri, 13 Mar 2020 09:42:15 +0100 + +gcc-10 (10-20200312-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200312, daf2852b883). + * For all runtime libraries, generate dependencies on libgcc-sN instead + on libgccN. + * Use llvm 10 for the amdgcn offload compiler, when available. + * Update newlib to 3.3.0. + * Stop shipping the include-fixed directory. + * Build the snapshot package with the offload compilers included. + * Tighten dependency on libc6 for this upload. + + -- Matthias Klose Thu, 12 Mar 2020 21:41:07 +0100 + +gcc-10 (10-20200304-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200304, 94f7d7ec6eb). + * Update the autopkg tests to run GCC 10. + + -- Matthias Klose Wed, 04 Mar 2020 16:38:16 +0100 + +gcc-10 (10-20200222-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200222, e99b18cf710). + * Don't create doc directories for -dbg packages when not building those. + * Update libgphobos symbols file for amd64. + * Don't try to strip the target libs for the amdgcn offload compiler. + + -- Matthias Klose Sat, 22 Feb 2020 13:39:51 +0100 + +gcc-10 (10-20200211-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200211, a6ee556c765). + + [ Matthias Klose ] + * Let the libgcc-sN multilib cross packages provide libgccN. + * libgcc-sN: Move library back to /lib from /usr/lib, and add + a replaces to libgccN. Closes: #950624. + * libgcc-sN: Add break on cryptsetup-initramfs. Closes: #950551. + + [ Aurelien Jarno ] + * debian/libgcc-s.symbols: add mipsn32el to the list of architectures + with GCC_3.3.4, GCC_4.4.0 and CC_4.5.0 symbols. + * debian/rules.conf: libgcc-s1 and corresponding multilib packages are + epochless. Adjust DEB_LIBGCC_VERSION accordingly. + + -- Matthias Klose Tue, 11 Feb 2020 07:20:23 +0100 + +gcc-10 (10-20200204-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200204, 0303907ea5d). + * On architectures where libgcc_s.so is a symlink, replace the symlink with + a simple linker script. + * Add breaks on libgcc-N-dev packages on arm64, s390x and sparc64. + Closes: #950550, #950579. + + -- Matthias Klose Tue, 04 Feb 2020 15:52:16 +0100 + +gcc-10 (10-20200202-1) unstable; urgency=medium + + * GCC snapshot, taken from the trunk (20200202, 0303907ea5d). + + -- Matthias Klose Sun, 02 Feb 2020 11:43:57 +0100 + +gcc-10 (10-20200129-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20200129, 87c3fcfa6bb). + * Update gm2 from the gm2 trunk. + * Fix libgomp-plugin-amdgcn1 package description. + * Bump libgo soversion. + * Reset libgphobos version to 1. + * Apply proposed patch for PR bootstrap/93409. + * Fix building the amdgcn offload compiler with llvm 9. + * Bump standards version. + + -- Matthias Klose Wed, 29 Jan 2020 12:34:27 +0100 + +gcc-10 (10-20200117-2) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20200117, 507de5ee23e). + * Update gm2 from the gm2 trunk. + + [ Matthias Klose ] + * Update libgomp symbols files. + * Build-depend on libzstd-dev. + * Revert the fix for PR c/85678, not making -fno-common the default for + current releases and backports. + * Update libstdc++ symbols file. + * Install more AArch64 intrinsic headers. + * Prepare for git updates from a release branch. + * Allow retrying of a native build in case of unreproducible ICEs. + + [YunQiang Su] + * Fix buffer overflow in the gcc-search-prefixed-as-ld patch when + strlen(DEFAULT_REAL_TARGET_MACHINE) < multiarch_len. Addresses: #915194. + + -- Matthias Klose Fri, 17 Jan 2020 15:56:29 +0100 + +gcc-10 (10-20200104-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20200104, r279880). + * Update newlib to newlib-3.2.0. + * Update gm2 from the gm2 trunk. + + -- Matthias Klose Sat, 04 Jan 2020 11:26:06 +0100 + +gcc-10 (10-20191217-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20191217, r279456). + * Update newlib to a snapshot from trunk. + * Update gm2 from the gm2 trunk. + * Update symbols files. + * Build without gnat for a first build. + * Build an amdgcn offload compiler. + * Update debian/copyright for gm2, compiler is now GPL-3+, the runtime + libraries GPL-3+ plus GCC Runtime Library Exception, version 3.1. + * Fix libgo build on arm-linux-gnueabi*. + * Update debian/copyright for contrib/unicode. + * libgomp-plugin-nvptx1: Update cuda suggestions. Addresses: #946487. + * Fix buffer overflow in the gcc-search-prefixed-as-ld patch. + Addresses: #946792. + * Don't strip frontends for debugging purposes. + + -- Matthias Klose Tue, 17 Dec 2019 12:31:04 +0100 + +gcc-9 (9.2.1-21) unstable; urgency=medium + + * Update to SVN 20191130 (r278870) from the gcc-9-branch. + - Fix PR fortran/92100, PR tree-optimization/92222, PR ada/92489, + PR fortran/92629. + * Stop building -dbg packages, keep building the libstc++6-9-dbg package + containing just the libstdc++ debug build. + + -- Matthias Klose Sat, 30 Nov 2019 09:17:04 +0100 + +gcc-9 (9.2.1-20) unstable; urgency=medium + + * Update to SVN 20191126 (r278718) from the gcc-9-branch. + - Fix PR libstdc++/92267, PR tree-optimization/91355, PR other/92090, + PR middle-end/90796, PR middle-end/90840, PR target/90867 (x86), + PR c/90898, PR middle-end/91450, PR rtl-optimization/92430, + PR target/92389 (x86), PR tree-optimization/90930, PR target/87833 (x86), + PR c++/90767, PR c++/92504, PR fortran/92113, PR fortran/92321, + PR fortran/92470, PR fortran/92470, PR fortran/92569, PR fortran/92050, + PR ada/92362, PR ada/92575. + * Add a libgphobos symbols file. + * Enable LTO builds again. + + -- Matthias Klose Tue, 26 Nov 2019 08:16:37 +0100 + +gcc-9 (9.2.1-19) unstable; urgency=medium + + * Update to SVN 20191109 (r278002) from the gcc-9-branch. + - Fix PR sanitizer/92154, PR c++/92384, PR middle-end/92231, PR c++/90947, + PR c++/90998, PR c++/92343, PR c++/90947, PR tree-optimization/85887, + PR c++/92015, PR middle-end/92231, PR preprocessor/92296. + * Fix once more the gnat armel cross build. + + -- Matthias Klose Sat, 09 Nov 2019 15:47:17 +0100 + +gcc-9 (9.2.1-18) unstable; urgency=medium + + * Update to SVN 20191108 (r277978) from the gcc-9-branch. + - Fix PR target/91289 (PPC), PR fortran/92208, PR fortran/92277, + PR fortran/92208, PR fortran/92284, PR target/92095 (SPARC), + PR fortran/91253. + + [ Matthias Klose ] + * Update gm2 from the gcc_9_2_0_gm2 branch 20191107, more parallel + build issues and cross build fixes. + * Bump standards version. + * ada-libgnatvsn.diff: + - Regenerate with upstream automake 1.15.1 and autoconf 2.69. + + [ Nicolas Boulenguez ] + * Copy ada-lib-info-file-prefix-map.diff from gcc-8. + * ada-tools-move-ldflag.diff is obsolete with --as-needed as default. + * Enable all non-default linker checks for Ada. + + -- Matthias Klose Fri, 08 Nov 2019 17:51:22 +0100 + +gcc-9 (9.2.1-17) unstable; urgency=medium + + * Update to SVN 20191102 (r277743) from the gcc-9-branch. + * Update gm2 from the gcc_9_2_0_gm2 branch 20191031, more parallel + build issues. + * ada-libgnatvsn.diff: + - Copy some of configure.ac's common stuff from libatomic/libgomp. + - Regenerate with automake 1.15.1 and autoconf 2.69. + + -- Matthias Klose Sun, 03 Nov 2019 10:37:13 +0100 + +gcc-9 (9.2.1-16) unstable; urgency=medium + + * Update to SVN 20191030 (r277619) from the gcc-9-branch. + - Fix PR target/92225 (x86), PR rtl-optimization/92007, + PR target/70010 (PPC), PR target/65342 (PPC), PR target/67183, + PR fortran/91926, PR fortran/91863, PR fortran/86248, PR c++/92201. + * Use a proper configure check when linking with libatomic in libgnatvsn. + Closes: #943796. + * Enable gm2 on x32. + * Update gm2 from the gcc_9_2_0_gm2 branch 20191030, parallel build issues. + * Fix PR libstdc++/92267, taken from the trunk. + + -- Matthias Klose Wed, 30 Oct 2019 13:13:31 +0100 + +gcc-9 (9.2.1-15) unstable; urgency=medium + + * Update to SVN 20191027 (r277486) from the gcc-9-branch. + - Fix PR c++/85254. + * Update gm2 from the gcc_9_2_0_gm2 branch 20191026. + * Link libgnatvsn against libatomic. + + -- Matthias Klose Sun, 27 Oct 2019 18:08:50 +0100 + +gcc-9 (9.2.1-14) unstable; urgency=medium + + * Update to SVN 20191025 (r277460) from the gcc-9-branch. + - Fix PR libstdc++/90682, PR libstdc++/61761, PR libstdc++/89164, + PR libstdc++/92143, PR libstdc++/91456, PR libstdc++/92059, + PR libstdc++/91748, PR tree-optimization/91885, PR debug/91887, + PR tree-optimization/92131, PR c++/92062, PR fortran/92174, + PR target/88167 (ARM), PR middle-end/92153. + * Configure again with --enable-objc-gc=auto, somehow dropped in gcc-9. + Closes: #942049. + * Revert the libgnatvsn changes from 9.2.1-9. + + -- Matthias Klose Fri, 25 Oct 2019 19:31:48 +0200 + +gcc-9 (9.2.1-12) unstable; urgency=medium + + * Update to SVN 20191022 (r277294) from the gcc-9-branch. + - Fix PR c++/91925, PR c++/88203, PR c/91401, PR tree-optimization/92056, + PR tree-optimization/91734, PR bootstrap/90543, PR middle-end/91920, + PR tree-optimization/91723, PR tree-optimization/91665, + PR middle-end/91001, PR middle-end/91105, PR middle-end/91106, + PR go/91617, PR middle-end/91623, PR lto/91572, + PR tree-optimization/91351. PR target/86040 (AVR), PR target/59888, + PR target/89400 (ARM), PR target/87243, PR c++/92106, PR c++/91974, + PR c++/88203, PR c/91401, PR fortran/69455, PR fortran/91586, + PR fortran/83113, PR fortran/89943. + + [Nicolas Boulenguez] + * Fix race condition in libgnatvsn/Makefile. + + [ Matthias Klose ] + * Configure for s390x Ubuntu focal --with-arch=z13 --with-mtune=z15. + + -- Matthias Klose Tue, 22 Oct 2019 21:35:13 +0200 + +gcc-9 (9.2.1-11) unstable; urgency=medium + + [Nicolas Boulenguez] + * Fix diff index in libgnatvsn patch. Closes: #942442. + + -- Matthias Klose Thu, 17 Oct 2019 10:32:53 +0200 + +gcc-9 (9.2.1-10) unstable; urgency=medium + + * Update to SVN 20191016 (r277058) from the gcc-9-branch. + - Fix PR lto/91968, PR tree-optimization/91812, PR debug/91772, + PR tree-optimization/91790, PR target/92022 (ALPHA), + PR target/88630 (SH), PR c++/91606, PR c++/91740, PR ada/91995, + PR fortran/91715, PR fortran/91649, PR fortran/91801. + + [Nicolas Boulenguez] + * Rewrite libgnatvsn support with autotools. Closes: #746689. + * Converge towards similar gnat_util library. + * Cherry-pick repinfo stuff for latest ASIS. + + [ Matthias Klose ] + * gm2: Fix a time_t cast, and enable gm2 on x32. Closes: #942059, + * Fix PR lto/91307, reproducible LTO builds, taken from the trunk. + + -- Matthias Klose Wed, 16 Oct 2019 12:29:50 +0200 + +gcc-9 (9.2.1-9) unstable; urgency=medium + + * Update to SVN 20191008 (r276687) from the gcc-9-branch. + - Fix PR libstdc++/91748, PR rtl-optimization/89795, PR c++/91705, + PR target/86805 (SH), PR target/80672 (SH), PR rtl-optimization/88751, + PR target/91683 (riscv), PR target/91269 (SPARC), + PR target/91635 (riscv), PR c++/91923, PR fortran/91557, + PR fortran/91553, PR fortran/91566, PR fortran/91642, PR fortran/91588, + PR fortran/91727, PR fortran/91550, PR target/91275 (PPC), + PR target/91769 (MIPS), PR fortran/91716, PR target/88562 (SH), + PR driver/69471, PR fortran/84487, PR fortran/47054, PR fortran/91942, + PR fortran/91785, PR fortran/91864, PR fortran/91802, PR fortran/91714, + PR fortran/91641. + - Fix ICE on MIPS. Closes: #941263. + * Disable gm2 on hurd-i386, mc hangs there (Samuel Thibault). Closes: #940600. + * Apply proposed patch for PR target/92022. Addresses: #931815. + + [ Nicolas Boulenguez ] + * Update ada local patches. + + -- Matthias Klose Tue, 08 Oct 2019 10:21:22 +0200 + +gcc-9 (9.2.1-8) unstable; urgency=medium + + * Update to SVN 20190909 (r275519) from the gcc-9-branch. + - Fix PR fortran/91496, PR fortran/91496, PR fortran/91660, + PR fortran/91589, PR target/87853 (x86), PR target/91704 (x86). + * libstdc++: Fix GCC_LINUX_FUTEX to work with C99 compilers, taken from + the trunk. + * Make LTO link pick up compile-time -g (proposed patch). + + -- Matthias Klose Mon, 09 Sep 2019 17:18:48 +0200 + +gcc-9 (9.2.1-7) unstable; urgency=medium + + * Update to SVN 20190905 (r275396) from the gcc-9-branch. + - Fix PR libstdc++/91067, PR target/91481 (PPC), + PR tree-optimization/90278, PR tree-optimization/91568, + PR tree-optimization/90637, PR fortran/91565, PR fortran/91564, + PR fortran/91551, PR fortran/91587, PR pch/61250, PR c++/91155, + PR tree-optimization/91597, PR gcov-profile/91601, + PR target/91472 (SPARC), PR c++/91129, PR fortran/91552, + PR target/81800 (AArch64). + * Drop the gcc-alpha-bs-ignore patch, apparently not necessary anymore. + * For the omp.h header, use the configured OMP_NEST_LOCK_SIZE and + OMP_NEST_LOCK_ALIGN values for some non-multilib architectures. + Closes: #935750. + * Use Python3 to build the gm2 frontend. Closes: #936586. + * libgphobos76: Add breaks: dub (<< 1.16.0-1~). Addresses: #935275. + + -- Matthias Klose Thu, 05 Sep 2019 06:45:00 +0200 + +gcc-9 (9.2.1-6) unstable; urgency=medium + + * Update to SVN 20190827 (r274974) from the gcc-9-branch. + - Fix PR ipa/91508, PR ipa/91438, PR ipa/91404, PR lto/91287, + PR target/91533 (x86), PR ipa/91508, PR ipa/91438, PR ipa/91404, + PR c++/91521. + * Backport LTO jobserver support (-flto=auto). + * any_archs: Remove mips and powerpcspe, add riscv64. + + -- Matthias Klose Wed, 28 Aug 2019 01:01:47 +0200 + +gcc-9 (9.2.1-4) unstable; urgency=medium + + * Fix typo for gm2 enablement. + * Disable gm2 on powerpc, ppc64, sh4, kfreebsd-i386, kfreebsd-amd64. + See the build logs of 9.2.1-3 for the various issues. + + -- Matthias Klose Thu, 22 Aug 2019 12:12:07 +0200 + +gcc-9 (9.2.1-3) unstable; urgency=medium + + * Update to SVN 20190821 (r274792) from the gcc-9-branch. + - Fix PR rtl-optimization/91347, PR target/91386 (AArch64). + + [ Aurelien Jarno ] + * Enable Ada on riscv64. + + [ Matthias Klose ] + * Build the gm2 packages except on powerpc and x32. + * Update gm2 cross build dependencies. + * Fix gm2 build with -j32. + * Configure with --enable-libpth-m2 for gm2 cross builds. + * Configure --without-target-system-zlib for gdc cross builds. + * Remove not needed libpth-dev dependency for gm2 packages. + * Ignore M2Version.o for gm2 bootstrap comparison. + * Update gm2 from the gcc_9_2_0_gm2 branch 20190820. + + -- Matthias Klose Wed, 21 Aug 2019 12:15:27 +0200 + +gcc-9 (9.2.1-2) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20190819 (r274667) from the gcc-9-branch. + - Fix PR c++/90947, PR c++/91436, PR fortran/87991, PR fortran/90563, + PR fortran/88072, PR fortran/90561, PR fortran/89647, PR fortran/87993, + PR tree-optimization/91109, PR tree-optimization/91109, + PR tree-optimization/91445, PR tree-optimization/91091, + PR c++/90393, PR c++/81429, PR c++/87519, PR c++/90473, PR c++/90884, + PR libsanitizer/87880, PR fortran/91485, PR fortran/91471, + PR fortran/78739, PR fortran/78719, PR fortran/82992. + * More gm2/libgm2 packaging fixes. + * Disable lto build on sparc64 (if porters would only test that before + making a request to enable it ...). + * Bootstrap using gnat-9 on development distributions. + + [ Aurelien Jarno ] + * Fix libstdc++6.symbols.riscv64. + + [ Nicolas Boulenguez ] + * ada: update packaging Makefile snippet for gcc-9. + + -- Matthias Klose Mon, 19 Aug 2019 13:01:37 +0200 + +gcc-9 (9.2.1-1) unstable; urgency=medium + + * Update to SVN 20190813 (r274380) from the gcc-9-branch. + - Fix PR fortran/91422, PR lto/91375, PR driver/91130, PR driver/91130, + PR c++/91378, PR c++/90538, PR fortran/91424, PR fortran/91359, + PR fortran/42546, PR fortran/91414, PR libstdc++/90361. + * Minor updates to debian/copyright for GCC 9. + * Include a snapshot of the gm2 tarball. + * Add copyright information for gcc/gm2, gcc/testsuite/gm2 and libgm2. + + -- Matthias Klose Tue, 13 Aug 2019 15:43:49 +0200 + +gcc-9 (9.2.0-1) unstable; urgency=medium + + * GCC 9.2.0 release. + + [ Matthias Klose ] + * Enable pgo/lto build on sparc64 (ok, when done on landau buildd). + * Add initial gm2 packaging bits. + * Bump standards version. + + [ James Clarke ] + * ada-kfreebsd.diff: Fix fatal unreferenced formal parameter warnings. + + [ Aurelien Jarno ] + * Add libstdc++6.symbols.riscv64. + * Update debian/libgcc.symbols for riscv64. + + -- Matthias Klose Tue, 13 Aug 2019 12:24:04 +0200 + +gcc-9 (9.1.0-10) unstable; urgency=medium + + * Fix typo in libstdc++ symbols file. + + -- Matthias Klose Wed, 17 Jul 2019 21:56:07 +0200 + +gcc-9 (9.1.0-9) unstable; urgency=medium + + * Update to SVN 20190717 (r273554) from the gcc-9-branch. + - Fix PR c++/91125, PR c/91149, PR driver/90684, PR middle-end/78884, + PR rtl-optimization/90756, PR tree-optimization/91063, PR ipa/91062, + PR ipa/90982, PR tree-optimization/90972, PR debug/90914, PR debug/90900, + PR lto/90369, PR rtl-optimization/91136, PR tree-optimization/91108, + PR fortran/91077. + + [ Matthias Klose ] + * Make the lto-verbose-linker patch more robust for hppa (Dave Anglin). + * Avoid building stuff which is not needed for architecture independent + packages. Addresses: #900554. + * lib32gphobos-dev, libn32gphobos-dev: Remove dependency on non-existing + libz-dev multilib packages. + * Update libgfortran symbols files. + * Update libstdc++ symbols files. + + [ Nicolas Boulenguez ] + * Ada: update confirm_debian_bugs.py. + * Ada: fully port 50b8286b from the gcc-8 branch to gcc-9. + + -- Matthias Klose Wed, 17 Jul 2019 21:53:24 +0200 + +gcc-9 (9.1.0-8) unstable; urgency=medium + + * Update to SVN 20190707 (r273175) from the gcc-9-branch. + * Re-add a lost hunk to the add-kfreebsd patch (James Clarke). + * Dump config files on failed jit and nvptx builds. + * Disable the LTO builds on architectures where the buildds can't keep up. + + -- Matthias Klose Sun, 07 Jul 2019 12:10:25 +0200 + +gcc-9 (9.1.0-7) experimental; urgency=medium + + * Update to SVN 20190704 (r273081) from the gcc-9-branch. + - Fix PR libstdc++/91067, PR tree-optimization/90892, PR middle-end/90899. + - Fix gnat build failure on kfreebsd-* (James Clarke). Closes: #922496. + * Add ppc64el as architecture for the nvptx offload packages. + * Increase the timeouts for the LTO link builds. + * Fix PR rtl-optimization/90756, taken from the trunk. Addresses: #930012. + + -- Matthias Klose Thu, 04 Jul 2019 22:44:41 +0200 + +gcc-9 (9.1.0-6) experimental; urgency=medium + + * Update to SVN 20190703 (r273015) from the gcc-9-branch. + - Fix PR sanitizer/90954, PR c++/91024, PR target/90991 (x86), PR c/90760, + PR tree-optimization/90949, PR c++/90950, PR middle-end/64242, + PR c++/60223, PR c++/90490. + * Disable LTO builds for snapshot builds. + * Don't use --push-state/--pop-state options for old linkers. + * Fix explicit autoconf version for backport packages. + * Allow to build with the locales package instead of locales-all. + * Disable LTO and profiled builds for older binutils versions. + * Try to enable the LTO builds everywhere. + * Make the LTO link step a bit more verbose to avoid timeouts on + the buildds. + + -- Matthias Klose Wed, 03 Jul 2019 20:21:23 +0200 + +gcc-9 (9.1.0-5) experimental; urgency=medium + + * Update to SVN 20190628 (r272781) from the gcc-9-branch. + - Fix PR libstdc++/85494, PR libstdc++/91012, R libstdc++/90920, + PR libstdc++/90281, PR libstdc++/88881, PR libstdc++/90770, + PR libstdc++/90252, PR ipa/90939, PR tree-optimization/90930, + PR tree-optimization/90930, PR tree-optimization/90316, + PR middle-end/64242, PR c++/90825, PR c++/90832, PR c++/90736, + PR fortran/90937, PR fortran/90290, PR fortran/90002, PR fortran/89344, + PR fortran/87907, PR fortran/86587, PR fortran/77632, PR fortran/69499, + PR fortran/69398, PR fortran/68544, PR fortran/90577, PR fortran/90578. + * Fix cross building gdc (Iain Buclaw). + * Apply proposed fix for PR libgcc/90714 (ia64 only). Addresses: #930119. + + -- Matthias Klose Fri, 28 Jun 2019 13:13:25 +0200 + +gcc-9 (9.1.0-4) experimental; urgency=medium + + * Update to SVN 20190612 (r272183) from the gcc-9-branch. + - Fix PR target/90811 (nvidia), PR libgomp/90641, PR libgomp/90585, + PR c++/90598, PR libstdc++/90700, PR libstdc++/90686, PR libstdc++/90634, + PR c/90474, PR d/90778, PR target/90751 (PARISC), + PR tree-optimization/90450, PR tree-optimization/90402, + PR tree-optimization/90328, PR debug/90733, PR target/82920 (x86), + PR fortran/90329, PR fortran/90329, PR bootstrap/90543, + PR c++/90810, PR c++/90598, PR c++/90548, PR fortran/90744, + PR fortran/90329. + * Update the watch file. + + -- Matthias Klose Wed, 12 Jun 2019 17:56:59 +0200 + +gcc-9 (9.1.0-3) experimental; urgency=medium + + * Update to SVN 20190526 (r271629) from the gcc-9-branch. + - Fix PR libgomp/90527, PR c++/90532, PR libstdc++/90299, + PR libstdc++/90454, PR debug/90197, PR pch/90326, PR c++/90484, + PR tree-optimization/90385, PR c++/90383, PR tree-optimization/90303, + PR tree-optimization/90316, PR tree-optimization/90316, + PR libstdc++/90220, PR libstdc++/90557, PR sanitizer/90570, + PR target/90547 (x86), PR libfortran/90038, PR fortran/90498, + PR libfortran/90038, PR libfortran/90038, PR fortran/54613, + PR fortran/54613, PR libstdc++/85965, PR target/90530 (PARISC), + PR c++/90572. + * Turn on -fstack-clash-protection and -fcf-protection in Ubuntu 19.10 on + supported architectures. + * Fix PR bootstrap/87338 on ia64 (James Clarke). Addresses: #927976. + * Enable LTO builds on 64bit architectures. + * Update libstdc++ symbols files for gcc-4-compatible builds. + * Build the nvptx offload compiler on ppc64el. + * Build the libgomp-hsa plugin. + + -- Matthias Klose Sun, 26 May 2019 17:59:59 +0200 + +gcc-9 (9.1.0-2) experimental; urgency=medium + + * Update to SVN 20190514 (r271161) from the gcc-9-branch. + - Fix PR target/89424 (PPC), PR sanitizer/90312, PR c++/90265, + PR c++/90173, PR target/87835, PR libstdc++/81266, PR libstdc++/90397, + PR libstdc++/90239, PR tree-optimization/90416, PR gcov-profile/90380, + PR gcov-profile/90380, PR target/90357 (MIPS), PR target/89765 (PPC), + PR c++/78010, PR c++/90265, PR c++/90173, PR fortran/90093, + PR fortran/90352, PR fortran/90355, PR fortran/90351, PR fortran/90329, + PR target/90379, PR bootstrap/89864. + * Update the cross installation patch. + * Enable Go on sh4. + * Adjust some regex patterns used in the packaging for GCC 10. + * Drop the build dependency on binutils-multiarch (libgo-9-dev is now split + out into its own package). Closes: #804190. + * Ignore any distro default flags for the hppa64 cross build. + + -- Matthias Klose Tue, 14 May 2019 13:38:03 +0200 + +gcc-9 (9.1.0-1) experimental; urgency=medium + + * GCC 9.1.0 release. + * Update to SVN 20190504 (r270874) from the gcc-9-branch. + - Fix PR tree-optimization/90316. + * Merge some hardening defaults patches into one patch set. + * Turn on -fasynchronous-unwind-tables by default on supported architectures. + * Refresh patches. + + -- Matthias Klose Sat, 04 May 2019 17:17:23 +0200 + +gcc-9 (9-20190428-1) experimental; urgency=medium + + * GCC snapshot, taken from the gcc-9 branch (20190428, r270630). + * Build the phobos and D runtime on s390x and riscv64. + + -- Matthias Klose Sun, 28 Apr 2019 09:15:08 +0200 + +gcc-9 (9-20190420-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190420, r270466). + + -- Matthias Klose Sat, 20 Apr 2019 08:30:33 +0200 + +gcc-9 (9-20190402-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190402, r270074). + * Mark gcc-9-source as M-A: foreign. + + -- Matthias Klose Tue, 02 Apr 2019 08:22:27 +0200 + +gcc-9 (9-20190321-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190321, r269832). + * Split out lib*go-dev packages. + * Fix PR jit/87808: Don't rely on the gcc driver. Let libgccjit0 + depend on binutils and libgcc-dev. Addresses: #911668. + * Fix stripping the gcc-hppa64 package. + * Update libstdc++ and libgccjit symbols files. + + -- Matthias Klose Thu, 21 Mar 2019 12:39:47 +0100 + +gcc-9 (9-20190311-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190311, r269597). + + -- Matthias Klose Mon, 11 Mar 2019 23:23:20 +0100 + +gcc-9 (9-20190305-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190305, r269387). + + [ Aurelien Jarno ] + * Run the tests in parallel again on Debian/s390x, the libgo bug is + fixed. + + [ Matthias Klose ] + * Fix test dependencies for the Hurd and KFreeBSD. + + -- Matthias Klose Tue, 05 Mar 2019 10:51:09 +0100 + +gcc-9 (9-20190223-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190223, r269152). + + -- Matthias Klose Sat, 23 Feb 2019 11:00:00 +0100 + +gcc-9 (9-20190216-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190216, r268955). + * Fix libgo s390x biarch build. + * Run test suite on the Hurd and KFreeBSD. + * Fix linking libgphobos with the system zlib. + + -- Matthias Klose Sat, 16 Feb 2019 14:28:15 +0100 + +gcc-9 (9-20190215-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190215, r268943). + * Build libphobos on all mips variants. + * Build-depend on locales-all instead of locales, don't generate locales + during the build, and attribute test dependencies with . + * Don't run the tests on Debian/s390x in parallel, memory constraints on + the buildds. + * gdc-9: Include again the libgphobos spec file. + + -- Matthias Klose Fri, 15 Feb 2019 19:13:42 +0100 + +gcc-9 (9-20190208-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190208, r268704). + * Update the support to build without packages being built by the next GCC + version. + * Fix ISO_Fortran_binding.h installation for cross builds. + + -- Matthias Klose Fri, 08 Feb 2019 18:17:45 +0100 + +gcc-9 (9-20190202-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190202, r268474). + + -- Matthias Klose Sat, 02 Feb 2019 12:19:53 +0100 + +gcc-9 (9-20190125-2) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190125, r268260). + + [ Matthias Klose ] + * Turn on ld --as-needed by default on Debian development versions. + * Turn on profiled bootstrap on x86, AArch64, PPC64 and s390x + architectures for native builds. + * Relax the shlibs dependency for libgnat-8. Addresses: #920246. + + [ Nicolas Boulenguez ] + * Update the ada-kfreebsd patch. Closes: #919996. + + -- Matthias Klose Fri, 25 Jan 2019 11:58:44 +0100 + +gcc-9 (9-20190120-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190120, r268102). + - Updates to Go 1.12 beta2. + * Build libphobos on hppa. + * Drop libgo patch for the Hurd. + * Refresh patches. + * Update newlib to newlib-3.1.0.20181231. + + -- Matthias Klose Sun, 20 Jan 2019 11:28:26 +0100 + +gcc-9 (9-20190116-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190116, r267965). + * libgccjit-9-doc: Breaks libgccjit-8-doc. Closes: #918445. + * Update libstdc++6 symbols files. + * Override some libasan and gccgo lintian warnings. + * Build the Ada packages except for gnat-9-sjlj. + * Bump standards version. + + -- Matthias Klose Wed, 16 Jan 2019 09:42:19 +0100 + +gcc-9 (9-20190103-1) experimental; urgency=medium + + * GCC snapshot, taken from the trunk (20190103). + + [ Matthias Klose ] + * Update packaging, patches and symbols files. + * Remove libmpx packaging, removed upstream. + * Update newlib to the newlib-3.0.0.20180831 snapshot. + * Disable building Ada for now. + * Build D and libphobos from the now integrated upstream sources. + * gcc-9-base: Break gnat (<< 7). Addresses: #911633. + * gdc: Dynamically link the phobos library. + * Adopt gcc-snapshot build for the current trunk. + * Don't apply gcc-as-needed patch for snapshot builds. + * Fix control file generation for gphobos n32 multilibs. + * Disable gnat build on alpha. See PR ada/88200. + * powerpcspe support removed upstream. Remove the powerpcspe packaging + references and powerpcspe patches. + * gcc-9-source: Depend on lsb-release. + * Disable broken selective scheduling on ia64 (Adrian Glaubitz). + See PR rtl-optimization/85412. Addresses: #916591. + * Fix perl shebang for the gnathtml binary. + * Lower priority of libgcc[124] and libstdc++6 packages. + * Stop building the fixincludes package, never used by lintian. + * Remove the libstdc++6 breaks for the stretch release. + * libgccjit-doc: Install image files. + * Don't provide -compiler names for cross compiler packages. + Addresses: #916376. Not a final solution. + * Disable the gnat build for now, ftbfs in the sjlj variant. + * Bump the libgo soname. + + [ Nicolas Boulenguez ] + * Update Ada patches. + + -- Matthias Klose Thu, 03 Jan 2019 13:35:00 +0100 + +gcc-8 (8.2.0-8.1) UNRELEASED; urgency=medium + + * Update to SVN 20181020 (r265339) from the gcc-8-branch. + - Fix PR middle-end/87087, PR middle-end/87623, PR libstdc++/87641, + PR middle-end/87645. + * Update VCS attributes in the control file. + * Don't configure native builds with --with-sysroot. Apparently this cannot + be completely overridden with the command line option --sysroot. + + -- Matthias Klose Sat, 20 Oct 2018 09:25:48 +0200 + +gcc-8 (8.2.0-8) unstable; urgency=medium + + * Update to SVN 20181017 (r265234) from the gcc-8-branch. + - Fix PR libstdc++/86751, PR libstdc++/78595, PR libstdc++/87061, + PR libstdc++/70966, PR libstdc++/77854, PR libstdc++/87538, + PR libgcc/85334, PR middle-end/63155, PR target/87511 (AArch64), + PR middle-end/87610, PR tree-optimization/87465, PR target/87550 (x86), + PR target/87414 (x86), PR tree-optimization/86844, PR target/86731 (PPC), + PR target/87370 (x86), PR target/87517 (x86), PR target/87522 (x86), + PR other/87353, PR gcov-profile/86109, PR target/82699 (x86), + PR target/87467 (x86), PR target/87033 (PPC), PR sanitizer/85774, + PR rtl-optimization/86882, PR gcov-profile/85871, PR c++/87582, + PR c++/84940, PR gcov-profile/86109, PR c++/85070, PR c++/86881, + PR fortran/83999, PR fortran/86372, PR fortran/86111, PR fortran/85395, + PR fortran/86830, PR fortran/85954. + + -- Matthias Klose Wed, 17 Oct 2018 09:45:31 +0200 + +gcc-8 (8.2.0-7) unstable; urgency=medium + + * Update to SVN 20180917 (r264370) from the gcc-8-branch. + - Fix PR libstdc++/87278, PR target/85666 (mmix), PR middle-end/87188, + PR target/87224 (PPC), PR target/86989 (PPC), PR rtl-optimization/86771, + PR middle-end/87248, PR c++/87093, PR fortran/87284, PR fortran/87277. + + -- Matthias Klose Mon, 17 Sep 2018 17:46:50 +0200 + +gcc-8 (8.2.0-6) unstable; urgency=medium + + * Update to SVN 20180908 (r264168) from the gcc-8-branch. + - Fix PR c++/87137, PR bootstrap/87225, PR target/87198 (x86), + PR middle-end/87138, PR tree-optimization/86835, PR c++/87185, + PR c++/87095, PR c++/86836, PR c++/86738, PR c++/86706, PR fortran/86116. + * Apply proposed patch for PR go/87260. + * Apply proposed patch for PR tree-optimization/87188. Closes: #907586. + * Fix PR target/86731 (PPC), taken from the trunk. Closes: #905868. + + -- Matthias Klose Sun, 09 Sep 2018 14:43:43 +0200 + +gcc-8 (8.2.0-5) unstable; urgency=medium + + * Update to SVN 20180904 (r264075) from the gcc-8-branch. + - Fix PR sanitizer/86022, PR libstdc++/87116, PR other/86992, + PR tree-optimization/86914, PR middle-end/87099, + PR rtl-optimization/87065, PR target/86662, PR target/87014, + PR target/86640, PR gcov-profile/86817, PR tree-optimization/86871, + PR c++/86763, PR fortran/86837, PR libfortran/86704, + PR tree-optimization/85859, PR tree-optimization/87074, + PR tree-optimization/86927, PR middle-end/87024, PR middle-end/86505, + PR tree-optimization/86945, PR tree-optimization/86816, + PR lto/86456, PR c++/87155, PR c++/84707, PR c++/87122, + PR fortran/86328, PR fortran/86760. + * Remove ia64 boostrap work around (Jason Duerstock). Closes: #906675. + + -- Matthias Klose Tue, 04 Sep 2018 09:04:17 +0200 + +gcc-8 (8.2.0-4) unstable; urgency=medium + + * Update to SVN 20180814 (r263527) from the gcc-8-branch. + - Fix PR libstdc++/86597, PR libstdc++/84535, PR libstdc++/60555, + PR libstdc++/86874, PR libstdc++/86861, PR target/86386 (x86), + PR c++/86728, PR c++/86767, PR fortran/86906. + + [ Nicolas Boulenguez ] + * gnat: set ld_library_path for tested gnat tools. + * In the gnat autopkg test, tell gnatmake to report progress on stdout. + * gnat: Improve the ada-gcc-name patch. + * Update ada/debian_packaging.mk. + + -- Matthias Klose Tue, 14 Aug 2018 11:45:55 +0200 + +gcc-8 (8.2.0-3) unstable; urgency=medium + + * Update to SVN 20180803 (r263086) from the gcc-8-branch. + - Fix PR middle-end/86705, PR target/86820 (m68k). + * Build using ISL 0.20. + * Fix some autopkg tests (allow stderr, explicitly depend on libc-dev). + + -- Matthias Klose Fri, 03 Aug 2018 12:32:31 +0200 + +gcc-8 (8.2.0-2) unstable; urgency=medium + + * Update to SVN 20180802 (r263045) from the gcc-8-branch. + - Fix PR middle-end/86542, PR middle-end/86539, PR middle-end/86660, + PR middle-end/86627, PR target/86511, PR sanitizer/86759, PR c/85704, + PR libstdc++/86734, PR bootstrap/86724, PR target/86651, PR c/86617, + PR c++/86190. + - Fix PR libstdc++/84654, PR libstdc++/85672. LP: #1783705. + * Update cross-build patches for GCC 8.2. + * Refresh patches. + * Add some basic autopkg tests for Ada, C, C++, Go, OpenMP and Fortran. + * Backport r262835 to fix a wrong-code generation on m68k (Adrian Glaubits). + + -- Matthias Klose Thu, 02 Aug 2018 05:59:26 +0200 + +gcc-8 (8.2.0-1) unstable; urgency=medium + + * GCC 8.2.0 release. + * Update GDC to 20180726 from the gdc-8-stable branch.. + + -- Matthias Klose Thu, 26 Jul 2018 13:28:20 +0200 + +gcc-8 (8.1.0-12) unstable; urgency=medium + + * GCC 8.2.0 release candidate. + * Update to SVN 20180719 (r262861) from the gcc-8-branch. + - Fix PR middle-end/85602, PR c++/86480. + + [ Nicolas Boulenguez ] + * ada-verbose patch: Make the ada build more verbose. + * Update the ada-gcc-name patch again. See #856274. Closes: #903694. + + [ Matthias Klose ] + * Rewrite debian/README.cross. + + -- Matthias Klose Thu, 19 Jul 2018 17:39:39 +0200 + +gcc-8 (8.1.0-11) unstable; urgency=medium + + * Update to SVN 20180717 (r262818) from the gcc-8-branch. + - Fix PR c/86453, PR debug/86452, PR debug/86457, PR middle-end/85974, + PR middle-end/86076, PR tree-optimization/85935, + PR tree-optimization/86514, PR tree-optimization/86274, + PR target/84413 (x86), PR middle-end/86202, PR target/84829, + PR c++/3698, PR c++/86208, PR c++/86374, PR sanitizer/86406, + PR fortran/83184, PR fortran/86417, PR fortran/83183, + PR fortran/86325. + + [ Nicolas Boulenguez ] + * Update the ada-gcc-name patch, not appending the suffix twice. + Addresses: #856274. + + -- Matthias Klose Tue, 17 Jul 2018 14:09:13 +0200 + +gcc-8 (8.1.0-10) unstable; urgency=medium + + * Update to SVN 20180712 (r262577) from the gcc-8-branch. + - Fix PR libstdc++/86272, PR libstdc++/86127, PR target/85904, + PR libstdc++/85098, PR libstdc++/85671, PR libstdc++/83982, + PR libstdc++/86292, PR libstdc++/86138, PR libstdc++/84087, + PR libstdc++/86398, PR hsa/86371, PR tree-optimization/86492, + PR c++/86400, PR target/86285 (PPC), PR debug/86064, + PR target/86222 (PPC), PR rtl-optimization/85645, + PR rtl-optimization/85645, PR target/86314 (x86), PR sanitizer/86406, + PR c++/86398, PR c++/86378, PR c++/86320, PR c++/80290, + PR fortran/82969, PR fortran/86242, PR fortran/82865. + * Enable decimal float support on kfreebsd-amd64. Closes: #897416. + + -- Matthias Klose Thu, 12 Jul 2018 10:07:17 +0200 + +gcc-8 (8.1.0-9) unstable; urgency=medium + + * Update to SVN 20180626 (r262138) from the gcc-8-branch. + - Fix PR libstdc++/86138, PR libstdc++/82644, PR libgcc/86213, + PR c++/86210, PR c/86093, PR target/86197 (PPC), PR target/85358 (PPC), + PR tree-optimization/85989, PR target/85657 (PPC), PR target/85657 (PPC), + PR target/85994, PR rtl-optimization/86108, PR debug/86194, + PR tree-optimization/86231, PR c/82063, PR c++/86219, PR c++/86182, + PR c++/85634, PR c++/86200, PR c++/81060, PR fortran/83118, + PR libstdc++/86112, PR libstdc++/81092, PR fortran/82972, + PR fortran/83088, PR fortran/85851, PR c++/86291. + + [ Nicolas Boulenguez ] + * Remove Ludovic Brenta's work to let Ada build tools link with freshly + built libgnat.so, this is now handled by upstream testsuite. + + [ Iain Buclaw ] + * gdc: Explicitly set test action as compile in all dg tests. + + [ Matthias Klose ] + * Build using gnat-8. + + -- Matthias Klose Tue, 26 Jun 2018 10:45:36 +0200 + +gcc-8 (8.1.0-8) unstable; urgency=medium + + * Update to SVN 20180617 (r261686) from the gcc-8-branch. + - Fix PR libstdc++/86169, PR middle-end/86095, PR middle-end/85878, + PR middle-end/86123, PR middle-end/86122, PR c++/86147, PR c++/82882, + PR fortran/85703, PR fortran/85702, PR fortran/85701. + * Fix applying the powerpcspe patches. + + -- Matthias Klose Sun, 17 Jun 2018 12:56:15 +0200 + +gcc-8 (8.1.0-6) unstable; urgency=medium + + * Update to SVN 20180614 (r261597) from the gcc-8-branch. + - Fix PR libstdc++/86008, PR libstdc++/85930, PR libstdc++/85951, + PR target/85591 (x86), PR c++/85710, PR c++/80485, PR target/85755 (PPC), + PR target/85755 (PPC), PR target/81497 (ARM), PR target/85684 (x86), + PR target/63177 (PPC), PR tree-optimization/86038, + PR tree-optimization/85964, PR tree-optimization/85934, PR c++/86025, + PR tree-optimization/85863, PR c/85623, PR target/86003 (ARM), + PR tree-optimization/85712, PR target/85950 (x86), PR target/85984, + PR target/85829 (x86), PR c++/85792, PR c++/85963, PR c++/61806, + PR c++/85765, PR c++/85764, PR c++/85807, PR c++/85815, PR c++/86094, + PR c++/86060, PR c++/85847, PR c++/85976, PR c++/85731, PR c++/85739, + PR c++/85761, PR c++/85873, PR fortran/44491, PR fortran/85138, + PR fortran/85996, PR fortran/86051, PR fortran/86059, PR fortran/63514, + PR fortran/78278, PR fortran/38351, PR fortran/78571, PR fortran/85631, + PR fortran/86045, PR fortran/85641, PR fortran/85816, PR fortran/85975, + PR libgfortran/85840, PR target/85945, PR middle-end/86139, + PR other/77609, PR tree-optimization/86114, PR target/86048 (x86), + PR fortran/86110. + - libgo: update to Go 1.10.3 release. + + -- Matthias Klose Thu, 14 Jun 2018 16:57:14 +0200 + +gcc-8 (8.1.0-5) unstable; urgency=medium + + * Update to SVN 20180531 (r260992) from the gcc-8-branch. + - Fix PR sanitizer/86012, PR c/85696, PR c++/85662, PR target/85756 (x86), + PR target/85683 (x86), PR c++/85952, PR c/85696, PR c++/85662. + - Fix libsanitizer build on sparc64. + * libgo: Make the vet tool work with gccgo (taken from the trunk). + + -- Matthias Klose Thu, 31 May 2018 15:18:52 +0200 + +gcc-8 (8.1.0-4) unstable; urgency=medium + + * Update to SVN 20180529 (r260895) from the gcc-8-branch. + - Fix PR c++/85782, PR sanitizer/85835, PR libstdc++/85818, + PR libstdc++/85818, PR libstdc++/83891, PR libstdc++/84159, + PR libstdc++/67554, PR libstdc++/82966, PR bootstrap/85921, + PR sanitizer/85556, PR target/85900 (x86), PR target/85345 (x86), + PR c++/85912, PR target/85903 (x86), PR tree-optimization/85793, + PR middle-end/85874, PR tree-optimization/85822, PR middle-end/85643, + PR tree-optimization/85814, PR target/85698 (PPC), PR c++/85842, + PR c++/85864, PR c++/81420, PR c++/85866, PR c++/85782, PR fortran/85786, + PR fortran/85895, PR fortran/85780, PR fortran/85779, PR fortran/85543, + PR fortran/80657, PR fortran/49636, PR fortran/82275, PR fortran/82923, + PR fortran/66694, PR fortran/82617, PR fortran/85742, PR fortran/85542, + PR libgfortran/85906, PR libgfortran/85840. + + [ Nicolas Boulenguez ] + * Update ada/confirm_debian_bugs to gcc-8 and python3. + + [ Matthias Klose ] + * gnat-*: Don't search the target dirs when calling dh_shlibdeps. + * Stop shipping unstripped binaries with the final release. Closes: #894014. + + -- Matthias Klose Tue, 29 May 2018 14:34:37 +0200 + +gcc-8 (8.1.0-3) unstable; urgency=medium + + * Update to SVN 20180512 (r260194) from the gcc-8-branch. + - Fix PR ipa/85655, PR target/85733 (ARM), PR target/85606 (ARM), + PR fortran/70870, PR fortran/85521, PR fortran/85687, PR fortran/68846, + PR fortran/70864. + * Fix name of the g++ multiarch include directory. Closes: #898323. + * Fix PR sanitizer/85556, attribute no_sanitize does not accept multiple + options; taken from the trunk. Closes: #891489. + + -- Matthias Klose Sat, 12 May 2018 10:36:05 -0400 + +gcc-8 (8.1.0-2) unstable; urgency=medium + + * Update to SVN 20180510 (r260147) from the gcc-8-branch. + - Fix PR go/85630, PR target/85519 (nvptx), PR libstdc++/85642, + PR libstdc++/84769, PR libstdc++/85632, PR libstdc++/80506, + PR target/85512 (AArch64), PR c++/85305, PR ada/85635, PR ada/85540, + PR rtl-optimization/85638, PR middle-end/85588, PR middle-end/85588, + PR tree-optimization/85615, PR middle-end/85567, PR target/85658 (ARM), + PR tree-optimization/85597, PR middle-end/85627, PR c++/85659, + PR c++/85706, PR c++/85695, PR c++/85646, PR c++/85618, PR fortran/85507. + * Don't configure with --with-as and --with-ld, but search the triplet + prefixed as and ld in the same places as as/ld. Closes: #896057, #897896. + * Enable decimal float support on kfreebsd-amd64. Closes: #897416. + + -- Matthias Klose Thu, 10 May 2018 20:43:42 -0400 + +gcc-8 (8.1.0-1) unstable; urgency=medium + + * GCC 8.1.0 release. + * Stop providing the 8.x.y symlinks in gcc_lib_dir and incluce/c++. + * Configure powerpcspe with --enable-obsolete, will be gone with GCC 9. + * Build libmpx libraries when not building the common libs. + * Update NEWS files for GCC 8.1. + + -- Matthias Klose Wed, 02 May 2018 11:43:46 +0200 + +gcc-8 (8-20180425-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180425 (r259628). + + [ Matthias Klose ] + * Update nvptx-newlib to 20180424. + * Use the binutils in the build chroot if present. + * Don't use dwz for GCC backports. + * Install the movdirintrin.h header file. + + [ Aurelien Jarno ] + * Enable logwatch on riscv64. + + -- Matthias Klose Wed, 25 Apr 2018 06:56:58 +0200 + +gcc-8 (8-20180414-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180414 (r259383). + + [ Matthias Klose ] + * Update GDC to 20180410. + * Don't install i586 symlinks anymore for i386 builds in sid. + * Fix zlib-dev dependencies for the libphobos cross multilib packages. + * Fix dependency generation for libatomic and libquadmath cross packages. + * Use triplet-prefixed as and ld (Helmut Grohne). Closes: #895251. + * Link libasan, liblsan, libubsan always with --no-as-needed. LP: #1762683. + * Use --push-state --as-needed and --pop-state instead of --as-needed and + --no-as-needed for linking libgcc. + * Update the gcc-foffload-default patch. LP: #1721355. + + [ Svante Signell ] + * Reintroduce libgo patches for hurd-i386. Closes: #894080. + + -- Matthias Klose Sat, 14 Apr 2018 07:10:01 +0200 + +gcc-8 (8-20180402-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180402 (r259004). + * Build a native compiler with a cross directory layout using the + FORCE_CROSS_LAYOUT environment variable. + + -- Matthias Klose Mon, 02 Apr 2018 10:09:27 +0200 + +gcc-8 (8-20180331-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180331 (r258989). + - Fix PR/libstdc++/85040, std::less fails when operator< is + overloaded. Closes: #893517. + - Fix PR/target 84148, CET shouldn't be enabled in 32-bit run-time + libraries by default. Closes: #890092. + + [ Samuel Thibault ] + * Fix disabling go on hurd-i386 for now. + + [ Matthias Klose ] + * gdc: Link with the shared libphobos library by default. + * Fix control file generation for nolang=biarch builds (Helmut Grohne). + Closes: #891289. + * Simplify architecture to gnu-type mapping (Helmut Grohne). Closes: #893493. + + -- Matthias Klose Sat, 31 Mar 2018 15:14:44 +0800 + +gcc-8 (8-20180321-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180321 (r258712). + - Fix PR sanitizer/84761. Addresses: #892096. + * Update GDC to 20180320. + * Reenable building gdc. + + -- Matthias Klose Wed, 21 Mar 2018 19:47:27 +0800 + +gcc-8 (8-20180319-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180319 (r258631). + + [ Aurelien Jarno ] + * Default to PIE on riscv64. + * Temporarily do not build-depend on gdb on riscv64. + + -- Matthias Klose Mon, 19 Mar 2018 02:18:29 +0800 + +gcc-8 (8-20180312-2) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180312 (r258445). + * Update GDC to 20180311. + + [ Matthias Klose ] + * Fix typo in libasan and lib32asan symbols files for s390x. + + [ Aurelien Jarno ] + * Disable gnat on riscv64. + * Backport RISC-V libffi support from upstream. + + -- Matthias Klose Mon, 12 Mar 2018 12:33:10 +0100 + +gcc-8 (8-20180310-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180310 (r258410). + * Build libasan and libubsan packages on s390x. + * Update libasan symbols files for s390x. + + -- Matthias Klose Sat, 10 Mar 2018 10:54:02 +0700 + +gcc-8 (8-20180308-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180308 (r258348). + * Update GDC to 20180304. + + [ Matthias Klose ] + * Fix cross builds building without "common" libraries. + * Fix cross-building libgnat on armel, when not building the common libraries. + * Remove the go patches for the Hurd. Unmaintained. + * Update libcc1 symbols file. + * Install more intrinsic header files. + + [ Aurelien Jarno ] + * Configure s390x build with --with-arch=z196 on Debian. + * Drop libgo-s390x-default-isa.diff patch. + * Disable multilib on riscv64. + * Update gcc-as-needed.diff, gcc-hash-style-both.diff and + gcc-hash-style-gnu.diff for riscv64. + * Update gcc-multiarch.diff for riscv64. + + [ Karsten Merker ] + * Force the riscv64 ISA to rv64imafdc and ABI to lp64d. + + -- Matthias Klose Thu, 08 Mar 2018 14:17:37 +0700 + +gcc-8 (8-20180218-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180208 (r257477). + * Update GDC to 20180211. + * Store basename only in gfortran .mod files. Addresses: #889133. + * Disable go on the hurd, patches are out of date. + * Configure with --disable-libquadmath-support when not explicitly enabled. + * For armel multilib builds, explicitly set architecture and cpu for the + hard-float multilib. + + -- Matthias Klose Sun, 18 Feb 2018 16:11:11 +0700 + +gcc-8 (8-20180207-2) unstable; urgency=medium + + * Revert the fix for PR target/84145. + * Override patch-file-present-but-not-mentioned-in-series lintian warning. + + -- Matthias Klose Wed, 07 Feb 2018 13:09:23 +0100 + +gcc-8 (8-20180207-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180207 (r257435). + * Update GDC to 20180204. + * Refresh patches. + * Disable go on m68k again. Closes: #886103. + * Ignore bootstrap comparison failures in gcc/d on alpha. Addresses: #888951. + * Include amo.h header for Power architectures. + * Include arm_cmse.h header for ARM32 architectures. + * Update tsan symbols file arm64. + + -- Matthias Klose Wed, 07 Feb 2018 01:34:14 +0100 + +gcc-8 (8-20180130-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180130 (r257194). + * Update GDC to 20180130. + + -- Matthias Klose Tue, 30 Jan 2018 18:49:51 +0100 + +gcc-8 (8-20180123-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180123 (r257004). + * Update GDC to 20180123. + * Install the msa.h header for mips targets (YunQiang Su). Addresses: #887066. + * Fix mipsen r6 biarch configs (YunQiang Su). Closes: #886976. + + -- Matthias Klose Tue, 23 Jan 2018 23:10:51 +0100 + +gcc-8 (8-20180110-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180110 (r256425). + - Go 1.10 beta1 merged, bumping libgo soname. + * Update GDC to 20180108. + * debian/rules2: Fix typo for N32 conditions (YunQiang Su). Closes: #886459. + * More libffi mips r6 updates (YunQiang Su). Addresses: #886201. + * Default to PIE on the hurd (Samuel Thibault). Addresses: #885056. + * Use internal libunwind for ia64 cross-builds. Addresses: #885931. + * Strip -z,defs from linker options for internal libunwind (James Clarke). + Addresses: #885937. + * Fix rtlibs stage build with debhelper 10.9.1 (Helmut Grohne). + Closes: #879054. + + -- Matthias Klose Wed, 10 Jan 2018 12:23:12 +0100 + +gcc-8 (8-20171229-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171229. + * Update GDC to 20171227. + * Build the nvptx offload compiler again. + + -- Matthias Klose Fri, 29 Dec 2017 22:16:04 +0100 + +gcc-8 (8-20171223-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171223. + * Update GDC to 20171223. + * Don't build the nvptx offload compiler for now, see PR target/83524. + + -- Matthias Klose Sat, 23 Dec 2017 13:08:14 +0100 + +gcc-8 (8-20171215-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171215. + * Update GDC to 20171213. + * Move the .gox files into the gccgo packages. Addresses: #883136. + * libffi: mips/n32.S: disable .set mips4 on mips r6 (YunQiang Su). + * Fix shlibs search path for mips64 cross targets. Addresses: #883988. + * Set the armel port baseline to armv5te. Closes: #882174. + + -- Matthias Klose Fri, 15 Dec 2017 18:30:46 +0100 + +gcc-8 (8-20171209-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171209. + * Add more header files for builtins. Closes: #883423. + * Re-enable gccgo on m68k. Addresses: #883794. + + -- Matthias Klose Sat, 09 Dec 2017 21:23:08 +0100 + +gcc-8 (8-20171128-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171128. + + [ Matthias Klose ] + * Don't revert the fix for PR target/55947, fixed for GCC 8. + * Update libgfortran symbol versioning. + + [ Nicolas Boulenguez ] + * Fix the gnat bootstrap. + + -- Matthias Klose Tue, 28 Nov 2017 07:40:23 +0100 + +gcc-8 (8-20171122-1) experimental; urgency=medium + + [ Matthias Klose ] + * GCC 8 snapshot, taken from the trunk 20171122. + * Update GDC to 20171118. + * Port libgo to the Hurd (Svante Signell). + * Add support for a plethora of mips r6 packages (YunQiang Su). + * Remove the libcilkrts packaging bits. + * Remove libgphobos symbols files. + + [ Svante Signell ] + * Do not enable go on GNU/kFreeBSD. + + -- Matthias Klose Wed, 22 Nov 2017 14:02:35 +0100 + +gcc-8 (8-20171108-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171108. + * Update GDC to 20171106. Closes: #880548. + * libgcc-dev: Install the liblsan_preinit.o file. + * Compress debug symbols for compiler binaries with dwz. + + -- Matthias Klose Wed, 08 Nov 2017 20:00:30 +0100 + +gcc-8 (8-20171102-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171102. + * Bump libunwind (build-)dependency for ia64. Addresses: #879959. + * Drop the autogen build dependency. + * Install the gfniintrin.h header file. + * libgcc and libstdc++ symbols files updates for mipsn32. + * Remove the gcc-mips64-stack-spilling patch, applied upstream. + * Update libasan symbols files. + + -- Matthias Klose Thu, 02 Nov 2017 01:43:34 +0100 + +gcc-8 (8-20171031-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171031. + * Install cetintrin.h header. Closes: #879740. + * Update gnat patches (YunQiang Su). Closes: #879985. + * Build libphobos runtime library on x86 architectures again. + * Fix typo in libx32stdc++6-8-dbg conflicts. Closes: #879883. + + -- Matthias Klose Tue, 31 Oct 2017 02:22:07 +0100 + +gcc-8 (8-20171023-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171023. + * Mask __float128 from CUDA compilers. LP: #1717257. + * Update the gdc build support. + * Don't use quadmath on powerpc and ppc64. + * Bump asan and ubsan sonames. + * Adjust sanitizer symbols for the libsanitizer upstream merge. + * Install the gcov.h header file. + * Do the extra/optional dance ... + * Override hardening-no-pie lintian warnings for compiler executables. + + -- Matthias Klose Mon, 23 Oct 2017 10:57:54 +0200 + +gcc-8 (8-20171016-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171016. + * Update nvptx-newlib to 20171010. + * Fix lsan/tsan symbols files for arm64 and ppc64el. + * Add missing conflicts with GCC 7 packages. Closes: #877441. + * Fix builds without hppa64 cross compiler and new debhelper. See: #877589. + * Fix build dependency on realpath. + * Build the nvptx offload compiler again. + * Update symbols files. + * Fix build dependency on realpath. + * Set QUILT_PATCH_OPTS='-E' for applying patches. + + -- Matthias Klose Mon, 16 Oct 2017 14:56:04 +0200 + +gcc-8 (8-20170923-1) experimental; urgency=medium + + * GCC 8 snapshot. + * Disable Ada and D for a first build. + + -- Matthias Klose Tue, 26 Sep 2017 23:44:57 +0200 + +gcc-7 (7.2.0-7) unstable; urgency=medium + + * Update to SVN 20170923 (r253114) from the gcc-7-branch. + - Fix PR libstdc++/79162, PR libstdc++/79162, PR libstdc++/82262, + PR libstdc++/82254, PR target/81996 (PPC), PR target/71951 (AArch64), + PR sanitizer/81929. + * Fix PR go/82284, taken from the trunk. Closes: #876353. + + -- Matthias Klose Sat, 23 Sep 2017 11:31:21 +0200 + +gcc-7 (7.2.0-6) unstable; urgency=medium + + * Update to SVN 20170920 (r253002) from the gcc-7-branch. + - Fix PR target/82112 (PPC), PR c++/81355, PR tree-optimization/82084, + PR tree-optimization/82108, PR target/81325 (PPC), PR c++/81236, + PR c++/80767, PR c++/82030, PR c++/80935, PR c++/81671, PR c++/81525, + PR c++/81314, PR libgfortran/78387. + * Fix fortran cross compiler build with debhelper 10.9. Closes: #876246. + * Strip the compiler binaries again. Closes: #872672. + * Bump binutils dependency to 2.29.1 for sid/buster. + + -- Matthias Klose Wed, 20 Sep 2017 11:13:31 +0200 + +gcc-7 (7.2.0-5) unstable; urgency=medium + + * Update to SVN 20170915 (r252791) from the gcc-7-branch. + - Fix PR c/81687, PR c/45784, PR c++/81852, PR target/82181 (xtensa), + PR target/80695 (PPC), PR target/81988 (SPARC), PR middle-end/81768, + PR sanitizer/81923, PR target/81621, PR driver/81650, + PR middle-end/81052, PR tree-optimization/81987, PR bootstrap/81926, + PR libstdc++/79162, PR libstdc++/81468, PR libstdc++/81835, + PR libstdc++/70483, PR libstdc++/70483, PR target/81833 (PPC), + PR other/39851, PR ipa/81128, PR inline-asm/82001, PR c++/81355, + PR tree-opt/81696. + * Enable libgo tests and rebuilds with make -C (Svante Signell). + Closes: #873929. + * Fix PR sanitizer/77631, support separate debug info in libbacktrace. + * Update the Linaro support to the 7-2017.09 snapshot. + + -- Matthias Klose Fri, 15 Sep 2017 12:15:21 +0200 + +gcc-7 (7.2.0-4) unstable; urgency=medium + + * Update to SVN 20170906 (r251753) from the gcc-7-branch. + - Fix PR c++/82039, PR libstdc++/81912, PR libstdc++/81891, + PR libstdc++/81599, PR libstdc++/81338, PR tree-optimization/81503, + PR ada/79542, PR ada/62235, PR fortran/81770. + * Fix PR target/81833 (PPC), taken from the trunk. Closes: #871565. + + -- Matthias Klose Wed, 06 Sep 2017 10:38:05 +0200 + +gcc-7 (7.2.0-3) unstable; urgency=high + + * Update to SVN 20170901 (r251583) from the gcc-7-branch. + - Fix PR target/81504 (PPC), PR c++/82040. + * Apply proposed patch for PR target/81803 (James Cowgill), conditionally + for mips* targets. Closes: #871514. + * Bump standards version. + + -- Matthias Klose Sat, 02 Sep 2017 13:55:18 +0200 + +gcc-7 (7.2.0-2) unstable; urgency=medium + + * Update to SVN 20170830 (r251446) from the gcc-7-branch. + - Fix PR target/72804 (PPC), PR target/80210 (PPC), PR target/81910 (AVR), + PR target/79883 (AVR), PR fortran/81296, PR fortran/80164, + PR target/81593 (PPC), PR target/81170 (PPC), PR target/81295 (PPC), + PR tree-optimization/81977, PR debug/81993 (closes: #873609), + PR middle-end/81088, PR middle-end/81065, PR sanitizer/80932, + PR middle-end/81884, PR tree-optimization/81181, + PR tree-optimization/81723, PR target/81921 (x86), PR c++/81607. + * Update the Linaro support to the 7-2017.08 snapshot. + * Restore configuring with --with-mode=thumb on armhf. Closes: #873584. + * Default to PIE on powerpc again, now that PR target/81170 and + PR target/81295 are fixed. Closes: #856224. + + -- Matthias Klose Wed, 30 Aug 2017 11:47:42 +0200 + +gcc-7 (7.2.0-1) unstable; urgency=medium + + * GCC 7.2.0 release. + * Update libgcc1 symbols file for s390x. + * Apply proposed patch for PR driver/81829. Closes: #853537. + + -- Matthias Klose Fri, 18 Aug 2017 18:34:45 +0200 + +gcc-7 (7.1.0-13) unstable; urgency=medium + + * GCC 7.2 release candidate 2. + * Don't build the gc enabled libobjc for cross compilers. Closes: #870895. + * Configure cross-build-native builds with --program-prefix (Adrian + Glaubitz). Closes: #871034. + * Update build dependencies for powerpcspe. Closes: #868186. + * Fix PR tree-optimization/81723, taken from the trunk. Closes: #853345. + + -- Matthias Klose Tue, 08 Aug 2017 11:12:56 -0400 + +gcc-7 (7.1.0-12) unstable; urgency=medium + + * GCC 7.2 release candidate 1. + * Update to SVN 20170803 (r250853) from the gcc-7-branch. + + -- Matthias Klose Thu, 03 Aug 2017 09:20:48 -0400 + +gcc-7 (7.1.0-11) unstable; urgency=medium + + * Update to SVN 20170731 (r250749) from the gcc-7-branch. + + [ Matthias Klose ] + * Update sanitizer symbols for ppc64 and sparc64. + + [ Nicolas Boulenguez ] + * Only build gnatvsn as a native library. + + -- Matthias Klose Mon, 24 Jul 2017 13:41:34 +0200 + +gcc-7 (7.1.0-10) unstable; urgency=medium + + * Update to SVN 20170722 (r250453) from the gcc-7-branch. + + [ Nicolas Boulenguez ] + * libgnatvsn: embed xutil rident for version 2017 of asis package. + + [ Matthias Klose ] + * Fix gnat cross build on m68k (Adrian Glaubitz). Closes: #862927. + * Enable gnat cross build on m68k. Closes: #868365. + * Update the Linaro support to the 7-2017.07 snapshot. + * Stop ignoring symbol mismatches for runtime libraries. + + [ Aurelien Jarno ] + * libgo-s390x-default-isa.diff: do not build libgo with -march=z196, + use the default ISA instead. + + -- Matthias Klose Sat, 22 Jul 2017 15:06:36 +0200 + +gcc-7 (7.1.0-9) unstable; urgency=medium + + * Update to SVN 20170705 (r250006) from the gcc-7-branch. + + [ Matthias Klose ] + * gcc-linaro-revert-r49596.diff: fix build for the linaro branch. + * Don't configure powerpc with --enable-default-pie, fails to build. + See #856224, PR target/81295. + + [ Nicolas Boulenguez ] + * ada-gcc-name.diff: unpatch gnatchop. Addresses: #856274. + * Link libgnat with libatomic on armel. Closes: #861734. + * libgnat-dev: use multiarch paths in project and to install .ali files. + * Build Ada on armel, kfreebsd-*, hurd-i386; #86173[457] are closed. + + -- Matthias Klose Wed, 05 Jul 2017 19:21:55 +0200 + +gcc-7 (7.1.0-8) unstable; urgency=medium + + * Update to SVN 20170629 (r249793) from the gcc-7-branch. + + [ Matthias Klose ] + * Move the liblto_plugin from the cpp to the gcc package. + * libstdc++6: Add more Breaks to smoothen upgrades from jessie to stretch. + Addresses: #863845, #863745. + * Don't provide libobjc_gc symlinks for the libobjc multilib packages. + * Configure with --enable-default-pie on ppc64 (Adrian Glaubitz) and + powerpc (Mathieu Malaterre). Addresses: #856224. + + [ Nicolas Boulenguez ] + * Update ada/confirm_debian_bugs.py for gcc-7. + * Drop ada-driver-check.diff, the problem is unreproducible. + * Stop symlinking gcc-7-7 -> gcc-7. See #856274 and #814977. + * gnatmake: compile once even with SOURCE_DATE_EPOCH. Closes: #866029. + + -- Matthias Klose Thu, 29 Jun 2017 17:36:03 +0200 + +gcc-7 (7.1.0-7) unstable; urgency=medium + + * Update to SVN 20170618 (r249347) from the gcc-7-branch. + + [ Matthias Klose ] + * Don't build libada with -O3 (ftbfs on ppc64el). + * Update sanitizer symbol files (Helmut Grohne). Closes: #864835. + + [ Aurelien Jarno ] + * Remove proposed patch for PR65618, the issue has been fixed upstream + another way. + + [ Nicolas Boulenguez ] + * Ada: link system.ads to system-freebsd.ads on hurd and *freebsd + system-freebsd-x86.ads does not exist anymore. Closes: #861735, #861737. + * Ada: prevent parallel gnatmake invokations for gnattools. Closes: #857831. + * Drop generated and obsolete debian/source.lintian-overrides. + * Drop debian/relink, never executed and redundant with ada patches. + * Ada: Drop dpkg-buildflags usage in patches. Closes: #863289. + * ada: Drop references to obsolete termio-h.diff. Closes: #845159. + * ada-749574.diff: replace work-around with fix and forward it. + * ada-kfreebsd.diff: reduce a lot thanks to Ada2012 syntax. + * ada-link-lib.diff: remove dubious parts. + + -- Matthias Klose Sun, 18 Jun 2017 15:31:39 +0200 + +gcc-7 (7.1.0-6) experimental; urgency=medium + + * Update to SVN 20170522 (r248347) from the gcc-7-branch. + - Fix PR libstdc++/80796, PR libstdc++/80478, PR libstdc++/80761, + PR target/80799 (x86), PR ada/80784, PR fortran/78659, PR fortran/80752, + PR libgfortran/80727. + + [ Matthias Klose ] + * Re-add unwind support on kfreebsd-amd64 (James Clarke). + * Work around #814977 (gnat calling gcc-7-7) by providing a gcc-7-7 + symlink. + * Fix gnat build dependencies on x32. + * Build gnat on mips64 and powerpcspe. + * Update the Linaro support to the 7-2017.05 snapshot. + * Fix libmpx dependency generation for cross builds. + * Build again gnat cross compilers on 32bit archs targeting 64bit targets. + + [ Nicolas Boulenguez ] + * Remove ada-gnattools-noparallel patch, apparently fixed. Closes: #857831. + * Reduce diff with upstream in ada-gnattools-cross patch. + * debian/rules2: Simplify build flags transmission. + * Append build flags from dpkg during Ada target builds. + + -- Matthias Klose Mon, 22 May 2017 12:43:09 -0700 + +gcc-7 (7.1.0-5) experimental; urgency=medium + + * Update to SVN 20170514 (r248033) from the gcc-7-branch. + * Disable offload compilers for snapshot builds. + * Build libgo when not building common libs. + * Fix building libgfortran and libgphobos when building without common libs. + * Build gnat on x32. + + -- Matthias Klose Sun, 14 May 2017 08:50:34 -0700 + +gcc-7 (7.1.0-4) experimental; urgency=medium + + * Update to SVN 20170505 (r247630) from the gcc-7-branch. + * Add sh3 support to gcc-multiarch patch. Closes: #861760. + * Remove libquadmath/gdtoa license from debian/copyright (files removed). + * Fix gdc build on sh4 (sh5 support was removed upstream). + * Disable gnat on KFreeBSD (see #861737) and the Hurd (see #861735) for now. + * Disable running the testsuite on KFreeBSD and the Hurd, hanging on + the buildds. + + -- Matthias Klose Fri, 05 May 2017 11:27:27 +0200 + +gcc-7 (7.1.0-3) experimental; urgency=medium + + * Update to SVN 20170503 (r247549) from the gcc-7-branch. + * Fix gdc build on sparc. + * Update the gdc-cross-install-location patch for GCC 7. + * Bump libgphobos soname. + * dpkg-buildflags stopped fiddling around with spec files; remove + the code removing and warning about dpkg's specs. + * Don't build the native gnat on armel. See issue #861734. + + -- Matthias Klose Wed, 03 May 2017 16:51:15 +0200 + +gcc-7 (7.1.0-2) experimental; urgency=medium + + * Update the disable-gdc-tests patch for GCC 7.1. + + -- Matthias Klose Tue, 02 May 2017 18:35:14 +0200 + +gcc-7 (7.1.0-1) experimental; urgency=medium + + * GCC 7.1.0 release. + * Update NEWS.html and NEWS.gcc. + * Update gdc to the gdc-7 branch 20170502. + * Add multiarch bits for non-glibc architectures (musl, uclibc) (Helmut + Grohne). Closes: #861588. + * Fix dependency on gcc-base package for rtlibs stage build (Helmut Grohne). + Closes: #859938. + + -- Matthias Klose Tue, 02 May 2017 18:07:07 +0200 + +gcc-7 (7-20170407-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170407. + * Install gcov-dump and gcov-tool manual pages. + + -- Matthias Klose Fri, 07 Apr 2017 13:16:00 +0200 + +gcc-7 (7-20170316-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170316. + * Install the gcov-dump utility. + * Allow to use lld with -fuse-ld=ld.lld. + * Build gnattools sequentially (fails with parallel build). See #857831. + * Add profile to the autogen build dependency. + * Re-add the generated Makefile.in changes to the gdc-libphobos-build patch. + + -- Matthias Klose Thu, 16 Mar 2017 12:34:18 +0100 + +gcc-7 (7-20170314-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170314. + + [ Matthias Klose ] + * Bump binutils version requirement to 2.28. + * Fix libcc1.so symlink for cross compilers. Addresses: #856875. + * Fix base package name for rtlibs stage build (Helmut Grohne). + Closes: #857074. + * Update the cross-install-location patch (Helmut Grohne). Closes: #855565. + * Fix symlinks to man pages in the hppa64 package. Addresses: #857583. + * Don't ship the gnatgcc manpage symlink when building GFDL packages. + Addresses: #857384. + * Allow bootstrapping with libc headers installed in multiarch location. + (Helmut Grohne). Closes: #857535 + * gccbrig: Depend on hsail-tools. + + [ Nicolas Boulenguez ] + * Create the libgnatsvn packages again. Closes: #857606. + * Replace libgnat-BV.overrides with a fixed command. + * Install gnatvsn.gpr project into /u/s/gpr instead of + /u/s/ada/adainclude. Debian is migrating to GPRbuild's upstream layout. + * Avoid hardcoding the version in the ada-gcc-name patch. + * Reorganize Ada patches. See #857606 for details. + + -- Matthias Klose Tue, 14 Mar 2017 10:42:24 +0100 + +gcc-7 (7-20170302-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170302. + + [ Matthias Klose ] + * Update gdc to trunk 20170227. + * Update libcc1 symbols file. + * Bump binutils version requirement. + * Allow to disable brig in DEB_BUILD_OPTIONS. Closes: #856452. + * Build the nvptx offload compilers. + * Add the newlib copyright, used for the gcc-7-offload-nvptx package. + * Install the libcp1plugin. + * Fix the installation directory of the ada-sjlj includes and libraries. + + [ Nicolas Boulenguez ] + * Use SOURCE_DATE_EPOCH for reproducible ALI timestamps. Closes: #856042. + * Remove obsolete references to libgnatprj, but keep existing + references to libgnatvsn as it will be restored. Closes: #844367. + * Drop obsolete and unapplied ada-default-project-path.diff. + + -- Matthias Klose Thu, 02 Mar 2017 10:12:34 +0100 + +gcc-7 (7-20170226-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170226. + + -- Matthias Klose Sun, 26 Feb 2017 17:00:48 +0100 + +gcc-7 (7-20170221-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170221. + * Update gdc to trunk 20170221. + + [ Matthias Klose ] + * Fix some hppa64 related build issues. Addresses: #853023. + * Allow setting offload targets by OFFLOAD_TARGET_DEFAULT. + * Again, disable go on m68k. Closes: #853906. + * Configure with --enable-default-pie on sparc and sparc64 (James Clarke). + Addresses: #854090. + * Configure with --enable-default-pie on kfreebsd-* (Steven Chamberlain). + * Build gccbrig and the libhsail-rt library for i386. + * Configure staged builds with --disable-libmpx and --disable-libhsail-rt. + * Fix target architecture for sparc non-multilib builds (Adrian Glaubitz). + Addresses: #855197. + * Bump binutils version requirement. + + [ Aurelien Jarno ] + * Disable lxc1/sxc1 instruction on mips and mipsel. + * Disable madd4 instructions on mipsel, mips64el and mipsn32el. + + -- Matthias Klose Tue, 21 Feb 2017 14:54:12 +0100 + +gcc-7 (7-20170129-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170129. + * Fix removing the RUNPATH from the asan, tsan, ubsan, cilkrts, gfortran + and gphobos runtime libraries. + * Let the gnatgcc symlinks point to the versioned names. Addresses: #839209. + * Build the BRIG frontend on amd64. + * Install new intrinsics headers. Closes: #852551. + * libgo version bumped to 11. + * Package gccbrig and the libhsail-rt library. + + -- Matthias Klose Sun, 29 Jan 2017 13:51:35 +0100 + +gcc-7 (7-20170121-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170121. + * Configure --with-gcc-major-version-only, drop the gcc-base-version, + gccgo-version and gdc-base-version patches. + * Adjust the g++-multiarch-incdir patch for reverted upstream patch, + causing bootstrap regression (PR 78880). Closes: #852104. + + -- Matthias Klose Sat, 21 Jan 2017 21:57:22 +0100 + +gcc-7 (7-20170118-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170118. + * Always configure sparc builds --with-cpu-32=ultrasparc (James Clarke). + * Enable gccgo on m68k (John Paul Adrian Glaubitz). Addresses: #850749. + * Install the unprefixed man pages for gcc-ar, -nm and ranlib. + Closes: #851698. + + -- Matthias Klose Wed, 18 Jan 2017 22:41:11 +0100 + +gcc-7 (7-20161230-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161230. + * Update gdc to trunk 20161229. Closes: #844704. + * Build the cilk runtime on armel, armhf, sparc and sparc64. + * Use --push-state/--pop-state for gold as well when linking libtsan. + * In GCC ICE dumps, prefix each line with the PID of the driver. + * Apply proposed patch for PR target/78748. + * Apply proposed patch for PR libstdc++/64735. + * Don't mark libphobos multilib packages as M-A: same. + * Configure libphobos builds with --with-target-system-zlib. + * Ignore dpkg's pie specs when pie is not enabled. Addresses: #848129. + * Drop m68k specific ada patches. Closes: #846872. + + -- Matthias Klose Fri, 30 Dec 2016 05:19:15 +0100 + +gcc-7 (7-20161201-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161201. + + * Install missing vecintrin.h header on s390x. + * Install missing avx512 intrinsics headers on x86*. Closes: #846075. + + -- Matthias Klose Thu, 01 Dec 2016 14:38:26 +0100 + +gcc-7 (7-20161125-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161125. + + [ Matthias Klose ] + * Update libgphobos symbol files. + * libphobos: Fix ARM32 multilib detection for system zlib. + * Update libgphobos symbols files for ARM32 targets. + * Build the GC enabled libobjc using the system libgc when available + * Mark libgphobos symbols changing with the file location (sic!) as optional. + * Add pkg-config to the build dependencies. + * Drop the work around for PR libstdc++/65913. + * gdc: Link with the shared libgphobos runtime by default. + * Fix PR middle-end/78501, proposed patch. + * Fix dependency generation for libgphobos multilib builds. + * Drop the ada-revert-pr63225 patch, only needed for libgnatvsn. + * Always apply the ada patches. + + [ YunQiang Su ] + * Update gnat patches for GCC 7, stop building libgnatvsn and libgnatprj. + Addresses: #844367. + + -- Matthias Klose Fri, 25 Nov 2016 12:41:07 +0100 + +gcc-7 (7-20161116-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161116. + * Build shared phobos runtime libraries (not yet enabled by default). + * Add symbols for libobjc_gc library. + + -- Matthias Klose Wed, 16 Nov 2016 19:16:39 +0100 + +gcc-7 (7-20161115-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161115. + * More symbol files updates. + * Update gdc to the trunk 20161113. + * Update conflicts with GCC 6 packages. Closes: #844296. + + -- Matthias Klose Tue, 15 Nov 2016 13:02:02 +0100 + +gcc-7 (7-20161112-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161112. + * Remove gij/gcj packages, removed upstream. + * Don't build gdc and gnat for now. + + -- Matthias Klose Sat, 12 Nov 2016 11:17:17 +0100 + +gcc-6 (6.2.0-13) unstable; urgency=medium + + * Update to SVN 20161109 (r241998, 6.2.1) from the gcc-6-branch. + - Fix PR c/71115, PR target/78229 (closes: #843379), + PR tree-optimization/77768, PR c++/78039 (closes: #841316), + PR libgcc/78064, PR driver/78206. + * Fix using the gcc-6-source package (Stephen Kitt). Closes: #843476. + * Fix PR target/77822 (AArch64), taken from the trunk. Closes: #839249. + * Fix PR target/77822 (s390x), proposed patch. + * Update libiberty to the trunk 20161108. Addresses security issues: + CVE-2016-6131, CVE-2016-4493, CVE-2016-4492, CVE-2016-4490, + CVE-2016-4489, CVE-2016-4488, CVE-2016-4487, CVE-2016-2226. + + -- Matthias Klose Wed, 09 Nov 2016 20:42:53 +0100 + +gcc-6 (6.2.0-11) unstable; urgency=medium + + * Update to SVN 20161103 (r241817, 6.2.1) from the gcc-6-branch. + - Fix PR debug/77773, PR middle-end/72747, PR tree-optimization/78047, + PR tree-optimization/77879, PR tree-optimization/77839, + PR tree-optimization/77745, PR tree-optimization/77648, + PR target/78166 (PA), PR rtl-optimization/78038, PR middle-end/78128, + PR middle-end/71002, PR fortran/69544, PR fortran/78178, + PR fortran/71902, PR fortran/67219, PR fortran/71891, PR lto/78129, + PR libgfortran/78123. + * Fix symlinks for gcj manual pages. Closes: #842407. + * Fix ICE in tree_to_shwi, Linaro issue #2575. + + -- Matthias Klose Thu, 03 Nov 2016 14:10:24 +0100 + +gcc-6 (6.2.0-10) unstable; urgency=medium + + * Update to SVN 20161027 (r241619, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77288, PR libstdc++/77727, PR libstdc++/78052, + PR tree-optimization/77550, PR tree-optimization/77916, + PR fortran/71895, PR fortran/77763, PR fortran/61420, PR fortran/78013, + PR fortran/78021, PR fortran/72832, PR fortran/78092, PR fortran/78108, + PR target/78057 (x86), PR target/78037 (x86). + * Include go-relocation-test-gcc620-sparc64.obj.uue to fix libgo's + debug/elf TestDWARFRelocations test case (James Clarke). + * Reapply fix for PR c++/71912, apply proposed fix for PR c++/78039. + Closes: #841292. + * Don't install alternatives for go and gofmt. The preferred way to do that + is to install the golang-any package. + * For Debian builds, don't enable bind now by default when linking with pie + by default. + + -- Matthias Klose Thu, 27 Oct 2016 15:27:07 +0200 + +gcc-6 (6.2.0-9) unstable; urgency=medium + + * Regenerate the control file. + + -- Matthias Klose Thu, 20 Oct 2016 10:46:44 +0200 + +gcc-6 (6.2.0-8) unstable; urgency=medium + + * Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77990, PR target/77991 (x86). + * Install arm_fp16.h header on arm* architectures for Linaro builds. + * Backport upstream revisions from trunk (James Clarke). Closes: #840574. + - r240457 (add getrandom for MIPS/SPARC) + - r241051 (fix getrandom on sparc64 and clone on sparc*) + - r241072 (make rawClone no_split_stack) + - r241084 (don't use pt_regs; unnecessary, and seemingly not defined by + the included headers on arm64) + - r241171 (sparc64 relocations, e1fc2925 in go master, now also in + gofrontend/gccgo) + * Revert fix for PR c++/71912, causing PR c++/78039. Addresses: #841292. + + -- Matthias Klose Wed, 19 Oct 2016 08:57:23 +0200 + +gcc-6 (6.2.0-7) unstable; urgency=medium + + * Update to SVN 20161018 (r241301, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77987, PR libstdc++/77322, PR libstdc++/72820, + PR libstdc++/77994, PR tree-optimization/77937, PR c++/71912, + PR tree-optimization/77937, PR tree-optimization/77943, + PR bootstrap/77995, PR fortran/77978, PR fortran/77915, PR fortran/77942. + + [ Matthias Klose ] + * Backport Mips go closure support, taken from libffi. Closes: #839132. + * Configure with --enable-default-pie and pass -z now when pie is enabled; + on amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x. + Closes: #835148. + * Update the Linaro support to the 6-2016.10 snapshot. + + [ Aurelien Jarno ] + * Enable logwatch on mips64el. + + -- Matthias Klose Tue, 18 Oct 2016 13:53:00 +0200 + +gcc-6 (6.2.0-6) unstable; urgency=medium + + * Update to SVN 20161010 (r240906, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/68323, PR libstdc++/77794, PR libstdc++/77795, + PR libstdc++/77801, PR libgcc/77519, PR target/77756 (x86), + PR target/77670 (PPC), PR rtl-optimization/71709, PR c++/77804, + PR fortran/41922, PR fortran/60774, PR fortran/61318, PR fortran/68566, + PR fortran/69514, PR fortran/69867, PR fortran/69962, PR fortran/70006, + PR fortran/71067, PR fortran/71730, PR fortran/71799, PR fortran/71859, + PR fortran/71862, PR fortran/77260, PR fortran/77351, PR fortran/77372, + PR fortran/77380, PR fortran/77391, PR fortran/77420, PR fortran/77429, + PR fortran/77460, PR fortran/77506, PR fortran/77507, PR fortran/77612, + PR fortran/77694, PR libgfortran/77707, PR libstdc++/70101, + PR libstdc++/77864, PR libstdc++/70564, PR target/77874 (x86), + PR target/77759 (sparc), PR fortran/77406, PR fortran/58991, + PR fortran/58992. + * Really fix gij installation on hppa. Closes: #838111. + * Install alternatives for go and gofmt. Closes: #840190. + + -- Matthias Klose Mon, 10 Oct 2016 05:20:07 +0200 + +gcc-6 (6.2.0-5) unstable; urgency=medium + + * Update to SVN 20160927 (r240553, 6.2.1) from the gcc-6-branch. + - Fix PR sanitizer/77396, PR libstdc++/77645, PR libstdc++/77645, + PR target/77326 (AVR), PR target/77349 (PPC), PR middle-end/77594, + PR sanitizer/68260, PR fortran/77516, PR target/69255 (x86), + PR c++/77553, PR c++/77539, PR fortran/77500, PR c/77450, + PR middle-end/77436, PR tree-optimization/77514, PR middle-end/77544, + PR tree-optimization/77514, PR middle-end/77605, PR middle-end/77679, + PR tree-optimization/77621, PR target/77621 (x86), PR c++/71979. + * Fix gij installation on hppa. Closes: #838111. + * Fix PR rtl-optimization/71709, taken from the trunk. LP: #1628207. + * Apply workaround for PR libstdc++/77686. Addresses: #838438. + + -- Matthias Klose Wed, 28 Sep 2016 15:53:28 +0200 + +gcc-6 (6.2.0-4) unstable; urgency=medium + + * Update to SVN 20160914 (r240133, 6.2.1) from the gcc-6-branch. + - Fix PR rtl-optimization/77452, PR c++/77427. + * gcj: Depend on the ecj1 standalone binary. + * Configure native builds using --with-program-prefix. + * Fix ICE in gdc symbol mangling (Iain Buclaw). LP: #1620681. + * Backport from libffi trunk (Stefan Bühler): + - Always check for PaX MPROTECT on linux, make EMUTRAMP experimental. + - dlmmap_locked always needs locking as it always modifies execsize. + + -- Matthias Klose Thu, 15 Sep 2016 19:22:35 +0200 + +gcc-6 (6.2.0-3) unstable; urgency=medium + + * Update to SVN 20160901 (r239944, 6.2.1) from the gcc-6-branch. + - Fix PR fortran/71014, PR libstdc++/77395, PR tree-optimization/72866, + PR debug/77363, PR middle-end/77377, PR middle-end/77259, + PR target/71910 (cygwin), PR target/77281 (ARM), + PR tree-optimization/71077, PR tree-optimization/68542, PR fortran/77352, + PR fortran/77374, PR fortran/71014, PR fortran/69281. + * Fix setting the stage1 C++ compiler. + * gdc: Always link with -ldl when linking with -lgphobos. + Closes: #835255, #835757. + * Fix building D code with external C++ references. + + -- Matthias Klose Sun, 04 Sep 2016 12:38:47 +0200 + +gcc-6 (6.2.0-2) unstable; urgency=medium + + * Update to SVN 20160830 (r239868, 6.2.1) from the gcc-6-branch. + - Fix PR libstdc++/77334, PR tree-optimization/76783, + PR tree-optimization/72851, PR target/72867 (x86), PR middle-end/71700, + PR target/77403 (x86), PR target/77270 (x86), PR target/77270 (x86), + PR lto/70955, PR target/72863 (PPC), PR tree-optimization/76490, + PR fortran/77358. + * Call default_file_start from s390_asm_file_start, taken from the trunk. + * Update multiarch patches for mips* r6 (YunQiang Su). + * Fix install location of D header files for cross builds (YunQiang Su). + Closes: #835847. + * Fix PR c++/77379, taken from the trunk. + * Update the Linaro support to the 6-2016.08 snapshot. + + -- Matthias Klose Wed, 31 Aug 2016 12:28:38 +0200 + +gcc-6 (6.2.0-1) unstable; urgency=medium + + * GCC 6.2 release. + * Update gdc to the gdc-6 branch 20160822. + + -- Matthias Klose Mon, 22 Aug 2016 14:15:21 +0200 + +gcc-6 (6.1.1-12) unstable; urgency=medium + + * GCC 6.2 release candidate 1. + * Update to SVN 20160815 (r239482, 6.1.1) from the gcc-6-branch. + Fix PR target/71869 (PPC), PR target/72805 (x86), PR target/70677 (AVR), + PR c++/72415, PR sanitizer/71042, PR libstdc++/71964, PR libstdc++/70940, + PR c/67410, PR c/72816, PR driver/72765, PR debug/71906, + PR tree-optimization/73434, PR tree-optimization/72824, PR target/76342, + PR target/72843, PR c/71512, PR tree-optimization/71083, PR target/72819, + PR target/72853, PR tree-optimization/72824, PR ipa/71981, PR ipa/68273, + PR tree-optimization/71881, PR target/72802, PR target/72802, + PR rtl-optimization/71976, PR c++/71972, PR c++/72868, PR c++/73456, + PR c++/72800, PR c++/68724, PR debug/71906, PR fortran/71936, + PR fortran/72698, PR fortran/70524, PR fortran/71795, PR libgfortran/71123, + PR libgfortran/73142. + + [ Matthias Klose ] + * Fix running the libjava testsuite. + * Revert fix for PR target/55947, causing PR libstdc++/72813. LP: #1610220. + * Update the Linaro support to the 6-2016.07 snapshot. + + [ Aurelien Jarno ] + * Replace proposed fix for PR ipa/68273 by the corresponding patch taken + from trunk. + + -- Matthias Klose Mon, 15 Aug 2016 17:51:10 +0200 + +gcc-6 (6.1.1-11) unstable; urgency=medium + + * Update to SVN 20160802 (r238981, 6.1.1) from the gcc-6-branch. + - Fix PR target/72767 (AVR), PR target/71151 (AVR), PR c/7652, + PR target/71216 (PPC), PR target/72103 (PPC), PR c++/72457, PR c++/71576, + PR c++/71833, PR fortran/71883. + + [ Nicolas Boulenguez ] + * debian/ada/confirm_debian_bugs.py: Update for GCC 6. Closes: #832799. + + [ Matthias Klose ] + * Backport AArch64 Vulcan cost models (Dann Frazier). LP: #1603587. + + -- Matthias Klose Wed, 03 Aug 2016 21:53:37 +0200 + +gcc-6 (6.1.1-10) unstable; urgency=medium + + * Update to SVN 20160724 (r238695, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/71856, PR libstdc++/71320, PR c++/71214, + PR sanitizer/71953, PR fortran/71688, PR rtl-optimization/71916, + PR debug/71855, PR middle-end/71874, PR target/71493 (PPC), + PR rtl-optimization/71634, PR target/71733 (PPC), PR ipa/71624, + PR target/71805 (PPC), PR target/70098 (PPC), PR target/71763 (PPC), + PR middle-end/71758, PR tree-optimization/71823, PR middle-end/71606, + PR tree-optimization/71518, PR target/71806 (PPC), PR target/71720 (PPC), + PR middle-end/64516, PR tree-optimization/71264, PR middle-end/71423, + PR tree-optimization/71521, PR tree-optimization/71452, PR target/50739, + PR tree-optimization/71522, PR c++/55922, PR c++/63151, PR c++/70709, + PR c++/70778, PR c++/71738, PR c++/71350, PR c++/71748, PR c++/52746, + PR c++/69223, PR c++/71630, PR c++/71913, PR c++/71728, PR c++/71941, + PR c++/70822, PR c++/70106, PR c++/67565, PR c++/67579, PR c++/71843, + PR c++/70781, PR c++/71896, PR c++/71092, PR c++/71117, PR c++/71495, + PR c++/71511, PR c++/71513, PR c++/71604, PR c++/54430, PR c++/71711, + PR c++/71814, PR c++/71718, PR c++/70824, PR c++/71909, PR c++/71835, + PR c++/71828, PR c++/71822, PR c++/71871, PR c++/70869, PR c++/71054, + PR fortran/71807, PR fortran/70842, PR fortran/71764, PR fortran/71623, + PR fortran/71783. + + [ Matthias Klose ] + * Build-depend on gnat-6 instead of gnat-5 on development distros. + + [ Aurelien Jarno ] + * Replace libjava-mips64el-proposed.diff by the corresponding patch + taken from trunk. + + -- Matthias Klose Sun, 24 Jul 2016 19:42:10 +0200 + +gcc-6 (6.1.1-9) unstable; urgency=medium + + * Update to SVN 20160705 (r237999, 6.1.1) from the gcc-6-branch. + - Fix PR fortran/71717, PR libstdc++/71313, PR c/71685, PR c++/71739, + PR target/71670 (PPC), PR middle-end/71626, PR target/71559 (x86), + PR target/71656 (PPC), PR target/71698 (PPC), PR driver/71651, + PR fortran/71687, PR fortran/71704, PR fortran/71705. + * Mark cross compilers as M-A: foreign. Addresses: #827136. + * On sparc64, configure with --with-cpu-32=ultrasparc, drop the + sparc-force-cpu patch. Closes: #809509. + + -- Matthias Klose Tue, 05 Jul 2016 11:19:50 +0200 + +gcc-6 (6.1.1-8) unstable; urgency=medium + + * Update to SVN 20160630 (r237878, 6.1.1) from the gcc-6-branch. + - Fix PR tree-optimization/71647, PR target/30417 (AVR), + PR target/71103 (AVR), PR tree-optimization/71588, PR middle-end/71581, + PR c++/71528, PR fortran/70673, PR middle-end/71693. + + [ Aurelien Jarno ] + * Apply proposed patch from Matthew Fortune to fix libjava on mips64el. + + [ Matthias Klose ] + * Add AArch64 Vulcan cpu support (Dann Frazier). LP: #1594452. + * gfortran: Suggest libcoarrays-dev. Closes: #827995. + * cpp: Breaks libmagics++-dev (<< 2.28.0-4). Closes: #825278. + * Optimize for mips32r2 for o32 (YunQiang Su). Closes: #827801. + + -- Matthias Klose Thu, 30 Jun 2016 14:12:55 +0200 + +gcc-6 (6.1.1-7) unstable; urgency=medium + + * Update to SVN 20160620 (r237590, 6.1.1) from the gcc-6-branch. + - Fix PR middle-end/71373, PR c/71381, PR libstdc++/71545, PR c/68657, + PR sanitizer/71498, PR middle-end/71529, PR target/71103 (AVR), + PR target/71554 (x86), PR middle-end/71494, PR c++/71448, + PR tree-optimization/71405, PR tree-optimization/71505, + PR target/71379 (s390), PR target/71186 (PPC), PR target/70915 (PPC), + PR c++/70572, PR c++/71516, PR c/71381. + * Fix libgnatprj build to avoid undefined symbols (YunQiang Su). + Closes: #826503. + * Add build support for tilegx (Helmut Grohne). Closes: #827578. + * Drop support for loongson 2f (YunQiang Su). Closes: #827554. + + -- Matthias Klose Mon, 20 Jun 2016 13:41:44 +0200 + +gcc-6 (6.1.1-6) unstable; urgency=medium + + * Update to SVN 20160609 (r237267, 6.1.1) from the gcc-6-branch. + - Fix PR target/71389 (x86), PR tree-optimization/71259, + PR target/70830 (ARM), PR target/67310 (x86), PR c++/71442, + PR c++/70847, PR c++/71330, PR c++/71393, PR fortran/69659. + * gdc: Fix linking the runtime library. Addresses: #826645. + * Fix building libgnatprj on powerpc, and on PIE enabled builds (YunQiang Su). + Closes: #826365. + + -- Matthias Klose Thu, 09 Jun 2016 18:19:42 +0200 + +gcc-6 (6.1.1-5) unstable; urgency=medium + + * Update to SVN 20160603 (r237075, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/70762, PR libstdc++/69703, PR libstdc++/69703, + PR libstdc++/71038, PR libstdc++/71036, PR libstdc++/71037, + PR libstdc++/71005, PR libstdc++/71004, PR libstdc++/70609, PR c/71171, + PR middle-end/71279, PR c++/71147, PR c++/71257, + PR tree-optimization/70884, PR c++/71210, PR tree-optimization/71031, + PR c++/69872, PR c++/71257, PR c++/70344, PR c++/71184, PR fortran/66461, + PR fortran/71204, PR libffi/65567, PR c++/71349, PR target/71201, + PR middle-end/71371, PR debug/71057, PR target/71056 (ARM32), + PR tree-optimization/69068, PR middle-end/71002, PR bootstrap/71071, + PR c++/71372, PR c++/70972, PR c++/71166, PR c++/71227, PR c++/60095, + PR c++/69515, PR c++/69009, PR c++/71173, PR c++/70522, PR c++/70584, + PR c++/70735, PR c++/71306, PR c++/71349, PR c++/71105, PR c++/71147, + PR ada/71358, PR ada/71317, PR fortran/71156, PR middle-end/71387. + * Fix cross building libgnatprj on i386 targeting 64bit archs (YunQiang Su). + Closes: #823126. + * Detect hard float for non-linux or non-glibc arm-*-*eabihf builds (Helmut + Grohne). Closes: #823894. + * Update embedded timestamp setting patch, backported from the trunk. + * gccgo: Combine combine gccgo's ld() and ldShared() methods + in cmd/go (Michael Hudson-Doyle). LP: #1586872. + + -- Matthias Klose Fri, 03 Jun 2016 18:58:40 +0200 + +gcc-6 (6.1.1-4) unstable; urgency=medium + + * Update to SVN 20160519 (r236478, 6.1.1) from the gcc-6-branch. + - Fix PR sanitizer/71160, PR c++/70498, PR target/71161 (x86), + PR fortran/70856, PR c++/71100, PR target/71145 (alpha), PR c++/70466, + PR target/70860 (nvptx), PR target/70809 (AArch64), PR hsa/70857, + PR driver/68463, PR target/70947 (PPC), PR ipa/70760, PR middle-end/70931, + PR middle-end/70941, PR tree-optimization/71006, PR target/70830 (ARM), + PR fortran/69603, PR fortran/71047, PR fortran/56226, PR ipa/70646. + * libgnat{prj,svn}-dev: Don't recommend gnat when building cross compiler + packages. + + -- Matthias Klose Thu, 19 May 2016 18:40:49 +0200 + +gcc-6 (6.1.1-3) unstable; urgency=medium + + * Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch. + - Fix PR libstdc++/71049, PR middle-end/70877, PR tree-optimization/70876, + PR target/70963, PR tree-optimization/70916, PR debug/70935. + * Enable gdc for sh4. + + -- Matthias Klose Wed, 11 May 2016 22:35:33 +0200 + +gcc-6 (6.1.1-2) unstable; urgency=medium + + * Update to SVN 20160510 (r236071, 6.1.1) from the gcc-6-branch. + - Fix PR tree-optimization/70956, PR sanitizer/70875, PR sanitizer/70342, + PR ada/70969, PR ada/70900. + + [ Matthias Klose ] + * Call dh_makeshlibs with the --noscripts option when building a + cross compiler. + * Fix building cross gnat libs when not building the common libs. + * Fix building cross mips* multilibs when not building the common libs. + * Re-enable gnat build on some architectures for snapshot builds. + * Don't build gnat cross compilers on 32bit archs targeting 64bit targets. + Addresses: #823126. + * Avoid empty architecture lists in build dependencies. Closes: #823280. + * Tighten debhelper build dependency for cross build dependencies. + * Allow build dependencies for musl configurations (Helmut Grohne). + Closes: #823769. + * Fix dependency resolution for libraries not built anymore from + this source package. + + [ Samuel Thibault ] + * patches/ada-hurd.diff: Fix Get_Page_Size type. + + -- Matthias Klose Tue, 10 May 2016 13:34:49 +0200 + +gcc-6 (6.1.1-1) unstable; urgency=medium + + * GCC 6.1.0 release. + - Fix PR bootstrap/70704, PR tree-optimization/70780, PR libgfortran/70684, + PR middle-end/70626, PR java/70839, PR target/70858, PR ada/70759, + PR ada/70786, PR c++/70540, PR middle-end/70626. + * Update to SVN 20160430 (r235678, 6.1.1) from the gcc-6-branch. + - Fix PR middle-end/70680, PR target/70750 (x86), PR ipa/70785, + PR sanitizer/70712, PR target/70728 (x86). + - Don't encode the minor version in the gcj abi version. + + [ Aurelien Jarno ] + * Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to + (invalid?) peeking at alignments in function_arg) on mips and mipsel. + + [ Matthias Klose ] + * Always configure with --enable-targets=powerpcle-linux on ppc64el. + * Stop building libcc1 and libgccjit0, when not building common libs. + * Rename libgccjit-5-dbg to libgccjit0-dbg. + * Fix libjava testsuite with dejagnu 1.6, taken from the trunk. + * Allow embedded timestamps by C/C++ macros to be set externally (Eduard + Sanou). + * Add missing libstdc++ symbol to symbols file. + * libstdc++-doc: Ignore warnings about formulas and long identifiers in + man pages. + * Default the 32bit x86 architectures to i686, keep i585 symlinks. + See https://lists.debian.org/debian-devel/2015/09/msg00589.html + * Build-depend on debhelper (>= 9) and dpkg-dev (>= 1.17.14). + * Update gdc to the gdc-6 branch 20160430. + + -- Matthias Klose Sat, 30 Apr 2016 13:31:12 +0200 + +gcc-6 (6.0.1-2) unstable; urgency=medium + + * GCC 6.1 release candidate 2. + - Fix PR c++/68206, PR c++/70522, PR middle-end/70747, PR target/64971, + PR c++/66543, PR tree-optimization/70725, PR tree-optimization/70726, + PR target/70674 (s390x), PR tree-optimization/70724, PR c++/70690, + PR c++/70505, PR target/70711 (ARM32), PR c++/70685, + PR target/70662 (x86). + * Update gdc to the trunk 20160423. + + -- Matthias Klose Sat, 23 Apr 2016 17:56:52 +0200 + +gcc-6 (6.0.1-1) experimental; urgency=medium + + * GCC 6.1 release candidate 1. + + [ Michael Hudson-Doyle ] + * cmd/go: deduplicate gccgo afiles by package path, not *Package. + LP: #1566552. + + -- Matthias Klose Fri, 15 Apr 2016 18:32:25 +0200 + +gcc-6 (6-20160405-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160405. + + -- Matthias Klose Tue, 05 Apr 2016 16:39:49 +0200 + +gcc-6 (6-20160319-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160319. + * Stop providing alternative for /usr/bin/go. (Michael Hudson-Doyle). + LP: #1555856. + * Disable gnat on powerpcspe. Closes: #816051. + + -- Matthias Klose Sat, 19 Mar 2016 11:54:57 +0100 + +gcc-6 (6-20160312-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160312. + * Update gdc to the trunk 20160306. + * Remove powerpcspe specific patch, integrated upstream. Addresses: #816048. + * When configured to link with --as-needed by default, always link the + sanitizer libraries with --no-as-needed. + + -- Matthias Klose Sat, 12 Mar 2016 10:21:28 +0100 + +gcc-6 (6-20160228-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160228. + + [ Matthias Klose ] + * libgo: Port syscall.SetsockoptUcred from golang (Michael Vogt). + + [ Svante Signell ] + * patches/ada-hurd.diff: Update. + + -- Matthias Klose Sun, 28 Feb 2016 13:28:41 +0100 + +gcc-6 (6-20160225-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160225. + * Update gdc to the trunk 20160224. + * Install missing architecture specific plugin header files. + * Fix PR target/69885, bootstrap error on m68k. + + -- Matthias Klose Thu, 25 Feb 2016 02:00:57 +0100 + +gcc-6 (6-20160220-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160220. + - Fix PR tree-optimization/68021. Closes: #812245. + - Fix PR ipa/69241. Closes: #812060. + - Fix PR libstdc++/56158. Closes: #789369. + * Update symbols files. + * libgccjit-6-doc: Really conflict with libgccjit-5-doc. Closes: #814527. + * Update conflict for gnat cross build packages. Closes: #810809. + * Disable the m68k gnat build, currently fails. See: #814221. + * Fix running the acats tests (Svante Signell): Addresses part of #814978. + + -- Matthias Klose Sat, 20 Feb 2016 16:58:47 +0100 + +gcc-6 (6-20160205-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160205. + - Fix PR tree-optimization/69320. Closes: #811921. + - Fix PR c++/68782. Closes: #812287. + - Fix PR tree-optimization/69328. Closes: #812247. + - Fix PR target/69421. Closes: #812246. + - Fix PR c++/69379. Closes: #812068. + - Fix PR lto/69393. Closes: #812062. + - Fix PR tree-optimization/69166. Closes: #812061. + * Update gdc to the trunk 20160205. + - Fix data corruption bug when passing around longdoubles. + Closes: #812080. + * Add more conflicts to GCC 5's debug and doc packages. Closes: #813081. + * Fix dependency generation for armel/armhf multilib cross targets. + * Fix libc dependency generation for multilib cross targets. + * Build libitm on alpha, s390x, sh4, sparc64. + + -- Matthias Klose Fri, 05 Feb 2016 18:08:37 +0100 + +gcc-6 (6-20160122-1) experimental; urgency=medium + + * Fix gnat build failure on KFreeBSD (Steven Chamberlain). Closes: #811372. + * Fix dependencies on target libraries which are not built anymore + from this source. + * Bump libmpx soname. Closes: #812084. + * Apply proposed patch for PR target/69129. Closes: #810081. + * Apply proposed patch for PR go/66904, pass linker flags from + "#cgo pkg-config:" directives (Michael Hudson). + * Configure with --enable-fix-cortex-a53-843419 on AArch64. + + -- Matthias Klose Fri, 22 Jan 2016 13:33:19 +0100 + +gcc-6 (6-20160117-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160117. + * Update gdc to the trunk 20160115. + * Update libgnatvsn/libgnatprj conflicts. Closes: #810809. + * Fix gnat build failures on the Hurd and KFreeBSD (Svante Signell). + Closes: #811063. + * Build libstdc++-6-doc with a fixed doxygen. Closes: #810717. + + -- Matthias Klose Sun, 17 Jan 2016 12:14:39 +0100 + +gcc-6 (6-20160109-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160109. + * Install new header file pkuintrin.h. Closes: #809807. + * Fix libcc1-0 dependency for cross compilers. + + -- Matthias Klose Sat, 09 Jan 2016 11:49:50 +0100 + +gcc-6 (6-20160103-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160101. + + -- Matthias Klose Sun, 03 Jan 2016 12:47:13 +0100 + +gcc-6 (6-20160101-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160101. + * Build native gnat on sh4. Addresses: #809498. + + -- Matthias Klose Fri, 01 Jan 2016 21:18:38 +0100 + +gcc-6 (6-20151220-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151220. + * Update libstdc++-dbg conflicts. Closes: #807885. + * Set target tools and build dependencies for cross builds. + * Relax gcj-6-{jre,jre-headless,jdk} dependencies on libgcj16. + * Fix cross build issues. + + -- Matthias Klose Sun, 20 Dec 2015 13:46:12 +0100 + +gcc-6 (6-20151213-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151213. + * Update the ada-kfreebsd and ada-m68k patches. + * Fix cross-building without having the common cross libraries installed. + * Allow unstripped, non-optimized debug builds with setting DEB_BUILD_OPTIONS + including gccdebug. + * Remove obsolete libgccmath packaging support. + * Define SONAME macros whether the libraries are built or not. + + -- Matthias Klose Sun, 13 Dec 2015 16:04:56 +0100 + +gcc-6 (6-20151211-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20151211. + * Update gnat and gdc patches, re-enable gnat and gdc. + + -- Matthias Klose Fri, 11 Dec 2015 12:35:03 +0100 + +gcc-6 (6-20151210-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from 20151210. + + -- Matthias Klose Thu, 10 Dec 2015 22:09:13 +0100 + +gcc-5 (5.3.1-3) unstable; urgency=medium + + * Update to SVN 20151207 (r231361, 5.3.1) from the gcc-5-branch. + * Remove upstreamed chunks from the ada-kfreebsd patch. + + -- Matthias Klose Tue, 08 Dec 2015 02:10:51 +0100 + +gcc-5 (5.3.1-2) unstable; urgency=medium + + * Update to SVN 20151206 (r231339, 5.3.1) from the gcc-5-branch. + * Re-enable building gdc/libphobos, fixing the profiled build. + * Fix PR sanitizer/67899, build failure on sparc/sparc64. + + -- Matthias Klose Sun, 06 Dec 2015 19:15:46 +0100 + +gcc-5 (5.3.1-1) unstable; urgency=medium + + * Update to SVN 20151205 (r231314, 5.3.1) from the gcc-5-branch. + + -- Matthias Klose Sat, 05 Dec 2015 20:45:53 +0100 + +gcc-5 (5.3.0-3) unstable; urgency=medium + + * Update libgcc symbols file. + * Restore libgcc.symbols.aebi. + * Disabled profiled bootstraps for backports. + + -- Matthias Klose Sat, 05 Dec 2015 07:50:48 +0100 + +gcc-5 (5.3.0-1) experimental; urgency=medium + + * GCC 5.3 release. + - Fix PR libstdc++/65142 (CVE-2015-5276). + * Update gdc to the gcc-5 branch 20151130. + * Enable the profiled bootstrap on amd64, arm64, armel armhf, i386, powerpc, + ppc64, ppc64el, s390x, x32 (excluding builds from the Linaro branch). + * Move test summary into the gcc-test-results package. + * Simplify libatomic, libcilkrts, libgcc, libgfortran, libgomp, libitm, + libmpx, libquadmath symbols files using versioned symbol references. + Closes: #806784. + * Only build the hppa64 cross compiler when either building the native compiler, + or when cross building the native compiler. Closes: #806479. + * Configure staged build with --enable-linker-build-id. + + -- Matthias Klose Fri, 04 Dec 2015 12:01:04 +0100 + +gcc-5 (5.2.1-27) unstable; urgency=medium + + * Update to SVN 20151129 (r231053, 5.2.1) from the gcc-5-branch. + * Don't strip cc1plus when shipping with unstripped frontends. + * Relax libgnatvsn5-dev-*-cross and libgnatprj5-dev-*-cross dependencies + on gnat-5-*-linux-gnu. + * Fix setting the explicit libc dependency for cross builds. + * Don't build m4-nofpu multilibs on sh4, install the default multilib + into the standard location. + * Stop building gnat on mips64, see https://gcc.gnu.org/PR65337 (#806370). + * Update the patch for PR go/67508 and re-enable Go on sparc and sparc64. + * Fix gnat sparc/sparc64 architecture detection. + * Update libgcc and libstdc++ symbols files. + * Don't ship the gcov tools in the gcc-hppa64-linux-gnu package. + * Run the autoconf generation in parallel. + * Add --enable-default-pie option to GCC configure, taken from the trunk. + * Enable gnat for m68k cross builds. + * Link gnat tools, gnat libs and libgccjit with the defaults LDFLAGS. + * Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds. + * Ship an empty debian/rules.parameters in the gcc-5-source package. + + -- Matthias Klose Sun, 29 Nov 2015 23:48:58 +0100 + +gcc-5 (5.2.1-26) unstable; urgency=medium + + * Update to SVN 20151125 (r230897, 5.2.1) from the gcc-5-branch. + * Fix the rtlibs stage build. Closes: #806186. + * Fix packaging the cross libphobos package. + * Build the hppa64 cross compiler on x86 architectures. + * gcc-5-hppa64-linux-gnu: Stop providing unversioned tools using + alternatives. Build a gcc-hppa64-linux-gnu package instead. + * Split out a gcc-5-test-results package from g++-5, allowing a post + build analysis, and reducing the size of the g++-5 package. + + -- Matthias Klose Wed, 25 Nov 2015 20:33:08 +0100 + +gcc-5 (5.2.1-25) unstable; urgency=medium + + * Update to SVN 20151123 (r230734, 5.2.1) from the gcc-5-branch. + * Fix libgcc4-dbg dependency on libgcc4. Closes: #805839. + * Fix building epoch prefixed cross packages. + + -- Matthias Klose Mon, 23 Nov 2015 05:48:00 +0100 + +gcc-5 (5.2.1-24) unstable; urgency=medium + + * Update to SVN 20151121 (r230703, 5.2.1) from the gcc-5-branch. + * Fix PR libstdc++/56158, taken from the trunk. Closes: #804521. LP: #1514309. + * Don't try to build a gnat cross compiler when there is no gnat compiler + for the build architecture. + * Update gnat build dependencies for backports. + * Parallelize building documentation and parallelize the packaging step. + * Update the Linaro support to the 5-2015.11 snapshot. + + -- Matthias Klose Sat, 21 Nov 2015 11:22:16 +0100 + +gcc-5 (5.2.1-23) unstable; urgency=medium + + * Update to SVN 20151028 (r229478, 5.2.1) from the gcc-5-branch. + + [ Matthias Klose ] + * Update the Linaro support to the 5-2015.10 snapshot. + * gcj: On ppc64el, use the same jvm archdir name as for openjdk (ppc64le). + * gcj: Fix priority of java alternatives. Closes: #803055. + * gnat-5: Reintroduce the unversioned gnatgcc name. Closes: #802838. + + [ Aurelien Jarno ] + * Replace proposed patch for PR rtl-optimization/67736 by the one + committed on trunk. + + -- Matthias Klose Wed, 28 Oct 2015 10:36:54 +0100 + +gcc-5 (5.2.1-22) unstable; urgency=medium + + * Update to SVN 20151010 (r228681, 5.2.1) from the gcc-5-branch. + - Fix PR libstdc++/65913, PR libstdc++/67173, PR libstdc++/67747, + PR c/67730, PR middle-end/67563, PR lto/67699, PR tree-optimization/67821, + PR debug/58315. + + [ Matthias Klose ] + * Restore the work around for PR libstdc++/65913, still needed at least + for powerpc. + * Rename gcc-5-hppa64 to gcc-5-hppa64-linux-gnu, update (build) dependency + on binutils. Closes: #800563. + * Adjust setting DH_COMPAT for dh_movefiles with updated debhelper supporting + globbing of arguments. Closes: #800250. + * Build-depend on gnat-5 instead of gnat-4.9. + + [ Aurelien Jarno ] + * Do not Use --with-mips-plt on mips and mipsel. Closes: #799811. + + -- Matthias Klose Sat, 10 Oct 2015 22:17:09 +0200 + +gcc-5 (5.2.1-21) unstable; urgency=medium + + * Update to SVN 20151003 (r228449, 5.2.1) from the gcc-5-branch. + * Fix building gnat. Closes: #800781. + + -- Matthias Klose Sat, 03 Oct 2015 17:28:45 +0200 + +gcc-5 (5.2.1-20) unstable; urgency=medium + + * Update to SVN 20151002 (r228373, 5.2.1) from the gcc-5-branch. + * Fix packaging the ada cross library packages. + + -- Matthias Klose Fri, 02 Oct 2015 10:24:38 +0200 + +gcc-5 (5.2.1-19) unstable; urgency=medium + + * Update to SVN 20150930 (r228302, 5.2.1) from the gcc-5-branch. + - Fix PR ipa/66424. Closes: #800318. + + [ Matthias Klose ] + * Update the Linaro support to the 5-2015.09 snapshot. + * Fix PR libstdc++/67707, taken from the trunk. LP: #1499564. + * Ship libgcj.spec in gcj-5 instead of gcj-5-jdk. Closes: #800010. + * gcj-5: Suggest gcj-5-jdk. + * Fix base dependency for ada cross library packages. + * Add ${shlibs:Depends} for libgnatvsn and libgnatprj. + * Link lrealpath.o into libgnatprj. Closes: #800045. + * libgnat{svn,prj}-dev: For cross builds, move adainclude and adalib files + into the gcc libdir. + * Default to POWER8 on ppc64el. + * armv8: Fix slt lda missing conditional code (taken from the trunk). + * Fix lintian pre-depends-directly-on-multiarch-support warnings. + + [ Aurelien Jarno ] + * Apply proposed patch for PR rtl-optimization/67736 when building for + mips64 or mips64el. Closes: #800321. + + -- Matthias Klose Wed, 30 Sep 2015 20:36:50 +0200 + +gcc-5 (5.2.1-18) unstable; urgency=medium + + * Update to SVN 20150922 (r228023, 5.2.1) from the gcc-5-branch. + + [ Matthias Klose ] + * gcc-5-plugin-dev: Depend on libmpc-dev. Closes: #798997. + * Fix PR libstdc++/65913, taken from the trunk. Closes: #797577. + + [ YunQiang Su ] + * Build again the gnat-5-sjlj package. Closes: #798782. + * Fix gnat cross builds, and cross building gnat. + + -- Matthias Klose Tue, 22 Sep 2015 23:15:17 +0200 + +gcc-5 (5.2.1-17) unstable; urgency=medium + + * Update to SVN 20150911 (r227671, 5.2.1) from the gcc-5-branch. + - Fix PR c++/67369, ICE on valid code. LP: #1489173. + + [ Matthias Klose ] + * Build-depend on linux-libc-dev [m68k] for gcc and gcc-snapshot builds. + Closes: #796906. + * Don't ignore anymore bootstrap comparison failures on sh4. Closes: #796939. + * Fix stage1 cross build for KFreeBSD. Closes: #796901. + * libgo: Fix PR go/67508, rewrite lfstack packing/unpacking to look more + like that in Go (Michael Hudson). LP: #1472650. + * Fix PR target/67143 (AArch64), ICE on valid code. LP: #1481333. + + [ Aurelien Jarno ] + * Use --with-mips-plt on mips*. + * Build for R2 ISA on mips, mips64 and mips64el. + * Optimize for R2 ISA on mipsel. + * Only apply mips-fix-loongson2f-nop on mipsel. + + [ YunQiang Su ] + * Fix running the acats tests. Closes: #798531. + + -- Matthias Klose Fri, 11 Sep 2015 03:17:20 +0200 + +gcc-5 (5.2.1-16) unstable; urgency=medium + + * Update to SVN 20150903 (r227431, 5.2.1) from the gcc-5-branch. + - Backport the filesystem TS library. + * libstdc++-dev: Install libstdc++fs.a. + * Again, configure with --enable-targets=powerpcle-linux on ppc64el. + * Apply proposed patch for PR target/67211 (ppc64el). + * libgo-dev: Install libgolibbegin.a. + * Apply proposed patch for PR target/67280 (ARM). LP: #1482320. + + -- Matthias Klose Thu, 03 Sep 2015 12:16:15 +0200 + +gcc-5 (5.2.1-15) unstable; urgency=medium + + * Update to SVN 20150808 (r226731, 5.2.1) from the gcc-5-branch. + * Adjust libstdc++-breaks: Break libantlr-dev instead of antlr; + adjust libreoffice version (closes: #794203), drop xxsd break (see + #793289), remove cython breaks (closes: #794511), add breaks for + packages built using cython (chemps2, fiona, guiqwt, htseq, imposm, + pysph, pytaglib, python-scipy, python-sfml, rasterio). + * Ignore missing libstdc++ symbols on sparc64 (work around #792204). + + -- Matthias Klose Sat, 08 Aug 2015 11:18:24 +0200 + +gcc-5 (5.2.1-14) unstable; urgency=high + + * Fix libstdc++6 breaks. + + -- Matthias Klose Fri, 31 Jul 2015 04:12:08 +0200 + +gcc-5 (5.2.1-13) unstable; urgency=high + + * Upload to unstable (https://wiki.debian.org/GCC5). See also + https://lists.debian.org/debian-devel-announce/2015/07/msg00000.html + * Update to SVN 20150730 (r226411, 5.2.1) from the gcc-5-branch. + - Fix PR libstdc++/67015. Closes: #793784. + * Fix version macros in the plugin-header.h header. Closes: #793478. + * libstdc++6: Add breaks for issues tagged with gcc-pr66145. + * Add libcpprest2.4 to libstdc++6 breaks. Closes: #784655. + * Fix PR c++/66857, taken from the trunk. + * Ignore differences in gcc/real.o in the bootstrap build for + sh*-*linux-gnu targets. According to PR 67002, "A rare indeterminacy + of the register choice. Both codes are valid. It seems very hard to + find where has this indeterminacy come from". Suggested by Adrian + Glaubitz. + + -- Matthias Klose Thu, 30 Jul 2015 21:51:25 +0200 + +gcc-5 (5.2.1-12) experimental; urgency=medium + + * Update to SVN 20150723 (r226105, 5.2.1) from the gcc-5-branch. + * Fix PR libstdc++/66145, std::ios_base::failure objects thrown from + libstdc++.so using the gcc4-compatible ABI. + Just build src/c++11/functexcept.cc using the new ABI. It will break + code, which will be handled in the archive by adding Breaks for the + affected packages. Third party code using such code will need a rebuild. + * Remove the work around to build with -O1 on sh4. + + -- Matthias Klose Thu, 23 Jul 2015 14:18:44 +0200 + +gcc-5 (5.2.1-11) experimental; urgency=medium + + * Configure without --disable-libstdcxx-dual-abi. + * Configure with --with-default-libstdcxx-abi=c++11. + + -- Matthias Klose Fri, 17 Jul 2015 08:13:08 +0200 + +gcc-5 (5.2.1-1) experimental; urgency=medium + + * GCC 5.2 release. + * Update to SVN 20150716 (r225880, 5.2.1) from the gcc-5-branch. + * Require version 5.2 for the libstdc++6 cxx symbols. + * Ignore missing libstdc++ symbols on sparc64 (work around #792204). + * Go escape analysis: analyze multiple result type assertions (taken + from the trunk). + + -- Matthias Klose Thu, 16 Jul 2015 15:35:44 +0200 + +gcc-5 (5.1.1-14) unstable; urgency=medium + + * Update to SVN 20150711 (r225710, 5.1.1) from the gcc-5-branch. + + -- Matthias Klose Sat, 11 Jul 2015 11:57:19 +0200 + +gcc-5 (5.1.1-13) unstable; urgency=medium + + * Update to SVN 20150706 (r225471, 5.1.1) from the gcc-5-branch. + * Update libasan symbol files. + * Configure --with-fp-32=xx on all mips targets, setting MIPS O32 default + to FPXX (YunQiang Su). Closes: #789612. + * Update libgccjit symbol file. + * Add x32 symbols files for libgcc1 and libstdc++6. + * libgccjit0: Add breaks for python-gccjit and python3-gccjit. + + -- Matthias Klose Mon, 06 Jul 2015 19:55:08 +0200 + +gcc-5 (5.1.1-12) unstable; urgency=medium + + * Update to SVN 20150622 (r224724, 5.1.1) from the gcc-5-branch. + * Update symbols files for mips64 libatomic and libstdc++ (YunQiang Su). + Closes: #788990. + * Fix "empty-binary-package" lintian warnings. + + -- Matthias Klose Mon, 22 Jun 2015 14:37:49 +0200 + +gcc-5 (5.1.1-11) unstable; urgency=medium + + * Update to SVN 20150616 (r224519, 5.1.1) from the gcc-5-branch. + * gccgo: escape: Analyze binary expressions (taken from the trunk). + * Explicitly build with -Wl,--no-relax on alpha again. + * Build with -O1 on sh4 (try to work around PR target/66358). + + -- Matthias Klose Tue, 16 Jun 2015 16:11:59 +0200 + +gcc-5 (5.1.1-10) unstable; urgency=medium + + * Update to SVN 20150613 (r224454, 5.1.1) from the gcc-5-branch. + * Make removal of byte-compiled libstdc++ pretty printer files more + robust. Closes: #787630. + * Fix mips 32bit (o32) multilib builds (YunQiang Su). + * Build target libraries with -Wl,-z,relro. + * Build libstdc++6 when building the common libraries. + * Fix a bunch of lintian warnings. + + -- Matthias Klose Sat, 13 Jun 2015 12:59:17 +0200 + +gcc-5 (5.1.1-9) unstable; urgency=medium + + * Update to SVN 20150602 (r224029, 5.1.1) from the gcc-5-branch. + * Remove byte-compiled libstdc++ pretty printer files on upgrade. + Closes: #785939. + * Fix dangling libgccjit.so symlink. + * Fix base dependency for rtlibs stage builds. + * Fix build failure of the hppa64 cross compiler, introduced by the + gnat cross patches. Closes: #786692. + * Update README.source (Michael Vogt). + * libgo: syscall.Sendfile(): Apply proposed patch for PR go/66378. + (Michael Vogt). LP: #1460530. + * Set CC and CXX matching the same GCC version for the stage1 build. + * Work around PR go/66368, build libgo with -fno-stack-protector. + LP: #1454183. + + -- Matthias Klose Wed, 03 Jun 2015 00:49:41 +0200 + +gcc-5 (5.1.1-8) unstable; urgency=medium + + * Update to SVN 20150528 (r223816, 5.1.1) from the gcc-5-branch. + * Set the priorities of the *-dev-*-cross packages to extra. + * Prepare to change the base dependency for *-cross packages. + * Fix dependencies for stage1 and stage2 builds. + * Relax dependencies on binary indep *-dev-*-cross packages. + * Disable building gdc on sh4 (bootstrap comparison failure). + + -- Matthias Klose Thu, 28 May 2015 15:51:00 +0200 + +gcc-5 (5.1.1-7) unstable; urgency=medium + + * Update to SVN 20150522 (r223579, 5.1.1) from the gcc-5-branch. + * Add description for the ada-gnattools-cross patch (YunQiang Su). + * Provide a rtlibs stage to build a subset of target library packages. + * Make symbols file symlinking for cross builds more robust. + * Prefer gnatgcc-5 over gnatgcc when building native packages. + * Various fixes to build a gnat cross compiler: + - Fix dependencies of packages. + - Fix building libgnatprj and libgnatvsn (still needed to figure + out if these are target or host libraries). + * Fix building cross compilers with dpkg 1.18. + + -- Matthias Klose Fri, 22 May 2015 18:20:01 +0200 + +gcc-5 (5.1.1-6) unstable; urgency=medium + + * Update to SVN 20150519 (r223346, 5.1.1) from the gcc-5-branch. + * Don't build gdc-multilib on armel. + * Remove old CFLAGS/LDFLAGS settings to build gdc. + * Remove reference to .ico file in NEWS.html. + * Fix gcc's dependency on libcc1-0 for native builds. + * Fix stripping the rpath when cross-building cross compilers. + * Remove work arounds to build 64bit multilibs on 32bit targets, + now properly fixed upstream. + * Partially apply patches to build a gnat cross compiler (submitted + by YunQiang Su). + - gnatmake: Call the versioned gnatbind and gnatlink commands. + Closes: #782257. + - Allow libgnatprj and libgnatvsn to cross build. Addresses: #783372. + - New patch ada-gnattools-cross.diff (no documentation). + * Backport patch for gccgo: + - gccgo: If unary & does not escape, the var does not escape. + * Apply the backported patches for the go escape analysis. Need to + be enabled with -fgo-optimize-alloc (this option may go away again). + * Re-enable running the tests. + + -- Matthias Klose Tue, 19 May 2015 10:33:40 +0200 + +gcc-5 (5.1.1-5) unstable; urgency=medium + + * Update to SVN 20150507 (r222873, 5.1.1) from the gcc-5-branch. + * Fix 32bit libstdc++ symbols files for kfreebsd-amd64. + * libx32phobos-dev: Don't depend on libx32z-dev, when not available. + * Fix gotools configury. + * Configure with + --disable-libstdcxx-dual-abi --with-default-libstdcxx-abi=c++98 + While libstdc++ provides a dual ABI to support both the c++98 and c++11 + ABI, there is no committment on compatibility of the old experimental + c++11 ABI from GCC 4.9 and the stable c++11 ABI in GCC 5. + Closes: #784655. + + -- Matthias Klose Fri, 08 May 2015 18:48:49 +0200 + +gcc-5 (5.1.1-4) unstable; urgency=medium + + * Update to SVN 20150503 (r222751, 5.1.1) from the gcc-5-branch. + - Fix build failure on alpha. + * Fix applying the cross-biarch patch for stage1 builds. + * Fix libstdc++ symbols files for kfreebsd-amd64. + * Remove libn32phobos-5-dev from the control file. + * Really disable gnat on x32. + + -- Matthias Klose Sat, 02 May 2015 19:18:57 +0200 + +gcc-5 (5.1.1-3) unstable; urgency=high + + * Update to SVN 20150430 (r222660, 5.1.1) from the gcc-5-branch. + * Fix libstdc++ symbols files for kfreebsd-i386. + * PR libstdc++/62258, fix for std::uncaught_exception, taken from the trunk. + LP: #1439451. + * Backport patches for gccgo (not yet applied): + - Consider multi-result calls in escape analysis. + - Propagate escape info from closures to enclosed variables. + - Analyze function values and conversions. + - Use backend interface for stack allocation. + * More libstdc++ symbols updates for the Hurd and KFreeBSD. + * config-ml.in: Add D support. + * Update cross-biarch.diff to support D and Go. + * Apply the cross-biarch patch for every cross build. + + -- Matthias Klose Thu, 30 Apr 2015 15:42:05 +0200 + +gcc-5 (5.1.1-2) unstable; urgency=medium + + * Update to SVN 20150428 (r222550, 5.1.1) from the gcc-5-branch. + * Fix the gnat build dependency. + * Don't build go and gofmt for cross compilers. + + -- Matthias Klose Tue, 28 Apr 2015 23:57:14 +0200 + +gcc-5 (5.1.1-1) unstable; urgency=medium + + * GCC 5.1.0 release. + * Update to SVN 20150424 (r222416, 5.1.1) from the gcc-5-branch. + * Update NEWS files. + * Apply the ada-bootstrap-compare patch for snapshot builds as well. + * Update libasan, libgomp and libstdc++ symbols files. + * Don't ignore errors in dh_makeshlibs and dh_shlibdeps anymore, symbols + files should be uptodate now. + * Split out the sjlj build related things from the ada-acats patch into + a new ada-acats-sjlj patch. + * Don't build libx32phobos-5-dev when not building x32 multilibs. + * Fix standard C++ include directory for cross builds. Closes: #783241. + * Ignore bootstrap comparison failure on ia64. Filed upstream as + PR middle-end/65874. + * gccgo: Add (don't yet apply) a patch to implement escape analysis (taken + from the trunk). Turned off by default, enable with -fgo-optimize-alloc. + + -- Matthias Klose Fri, 24 Apr 2015 18:42:39 +0200 + +gcc-5 (5.1~rc1-1) experimental; urgency=medium + + * GCC 5.1 release candidate 1. + * Update to SVN 20150414 (r222066) from the gcc-5-branch. + * Update GDC to the gcc-5 branch, 20140414. + * Don't build libobjc, when not building the common libraries. + * Don't run the gccjit tests on KFreeBSD. Works around #782444:. + * Fix not building libs built by the next GCC version. + + -- Matthias Klose Tue, 14 Apr 2015 02:03:53 +0200 + +gcc-5 (5-20150410-1) experimental; urgency=medium + + * Update to SVN 20150410 + + [ Matthias Klose ] + * Fix /usr/include/c++/5.0.0 symlink. + * Re-enable building the D frontend. Closes: #782254. + * gccgo: Install libnetgo. + + [ Samuel Thibault ] + * Fix ada builds on the Hurd and KFreeBSD. Closes: #781424. + + -- Matthias Klose Sat, 11 Apr 2015 02:24:08 +0200 + +gcc-5 (5-20150404-1) experimental; urgency=medium + + * Update to SVN 20150404. + * Don't explicitly configure --with-gxx-include-dir and an absolute path, + so the toolchain remains relocatible. Instead, canonicalize the include + path names at runtime. + * Don't link libgnatprj using --no-allow-shlib-undefined on older releases. + * Don't build libmpx on older releases. + * Remove the work around to build libgccjit on arm64. + * Fix the libgccjit build using the just built compiler. + * Don't break other gcc, gcj, gnat -base packages for backports, only + needed for dist-upgrades. + * Don't add -gtoggle to STAGE3_CFLAGS (disabling the bootstrap comparison). + Instead, ignore the one differing file (gcc/ada/a-except.o) for now. + See #781457, PR ada/65618. + * Update libasan, libtsan, libgfortran and libstdc++ symbols files. + * Add symbols files for libmpx, libgccjit and libcc1. + + -- Matthias Klose Sat, 04 Apr 2015 21:53:45 +0200 + +gcc-5 (5-20150329-1) experimental; urgency=medium + + * Update to SVN 20150329. + * Fix building the gnat-5-doc package. + * Fix gnat build dependencies. + * Fix installation of the gnat upstream ChangeLog. Closes: #781451. + * Restore the bootstrap-debug.mk patch to the ada-mips patch + for debugging purposes. See #781457. + + -- Matthias Klose Sun, 29 Mar 2015 18:53:29 +0200 + +gcc-5 (5-20150327-1) experimental; urgency=medium + + * Update to SVN 20150327. + * Update libcc1 build support. + * Fix syntax in libstdc++ symbols file. Closes: #780991. + * Fix PR go/65417: Add support for PPC32 relocs to debug/elf. LP: #1431388. + * Fix PR go/65462: Fix go get dependencies. LP: #1432497. + * Limit the omp.h multilib fix to Linux. Closes: #778440. + * For ICEs, dump the preprocessed source file to stderr when in a + distro build environment. + * Remove the bootstrap-debug.mk patch from the ada-mips patch. + * gnat related work (partly based on #780640): + - Update patches for GCC 5. + - Build the gnat packages from the gcc-5 source package. + - Don't build a gnat-base package from the gcc-5 source. + - Stop building the gnat-5-sjlj package for now, patch needs an update. + - Fix the packaging when not building the gnat-5-sjlj package. + - Don't apply the ada-symbolic-tracebacks, patch needs an update. + - Fix the libgnatprj build, build with -DIN_GCC. + * Replace cloog/ppl build bits with isl build bits. + + -- Matthias Klose Fri, 27 Mar 2015 21:05:16 +0100 + +gcc-5 (5-20150321-1) experimental; urgency=medium + + * Update to SVN 20150321. + * Move the libcc1plugin from the gcc-5-plugin-dev package into the + gcc-5 package. + + -- Matthias Klose Sat, 21 Mar 2015 15:01:15 +0100 + +gcc-5 (5-20150316-1) experimental; urgency=medium + + * Update to SVN 20150316. + - Fix bootstrap failures on armel, armhh and arm64. + * Configure with --enable-checking=yes (instead of =release). + + -- Matthias Klose Tue, 17 Mar 2015 00:30:27 +0100 + +gcc-5 (5-20150314-1) experimental; urgency=medium + + * Update to SVN 20150314. + - libgo: Add arm64 to the pointer size map (Michael Hudson). + - libgo: Add ppc to the pointer size map. + - PR go/65404, enable cgo on arm64 and powerpc. LP: #1431032. + - Fix PR/tree-optimization 65418. Closes: #778163. + - Fix PR c++/65370. Closes: #778073. + * Enable libmpx builds on amd64 and i386. + * Update the gcc-multiarch patch for mips64 (YunQiang Su). + Closes: #776402, #780271. + * Remove pr52306 and pr52714 patches, applied upstream. Closes: #780468. + + -- Matthias Klose Sat, 14 Mar 2015 14:48:19 +0100 + +gcc-5 (5-20150307-1) experimental; urgency=medium + + * Update to SVN 20150307. + - Update gccgo to Go 1.4.2. + * Enable libsanitizer for AArch64 and POWERPC LE (asan, ubsan). + * Remove the support to build empty libsanitizer packages on powerpc + and ppc64; libsanitizer should be stable on these architectures. + * Fix libcc1.so symlink. Closes: #779341. + * Revert the fix for PR65150 on armel and armhf to restore bootstrap. + * Don't strip the libgo library, or some things won't work as documented, + like runtime.Callers. Still keep the -dbg packages and check if some + debug information can be stripped. + * gccgo-5: Install alternatives for go and gofmt. + + -- Matthias Klose Sat, 07 Mar 2015 12:20:59 +0100 + +gcc-5 (5-20150226-1) experimental; urgency=medium + + * Update to SVN 20150226. + - Fix PR c/65040 (closes: #778514), PR tree-optimization/65053 + (closes: #778070, #778071), PR c++/64898 (closes: #778472). + * Allow not to strip the compiler executables to be able to print backtraces + for ICEs. + * Fix gnat build on mips64el (James Cowgill). Addresses: #779191. + * Fix the hppa64 cross build (John David Anglin). Closes: #778658. + * Fix libstdc++ pretty printers for Python3. Closes: #778436. + + -- Matthias Klose Thu, 26 Feb 2015 08:18:23 +0100 + +gcc-5 (5-20150205-1) experimental; urgency=medium + + * Update to SVN 20150205. + * Update GDC for GCC 5. + * Build GDC multilib packages. + * Update cross-install-location.diff for gcc-5. Closes: #776100. + * Configure --with-default-libstdcxx-abi=c++11 for development, + --with-default-libstdcxx-abi=c++98 for backports. + * Apply proposed patch for PR target/64893 (AArch64), build using + 4.9 on AArch64 for now. + * Don't disable bootstrap mode for the jit build on arm64, gets + miscompiled. + * Allow one to build using gettext built with a newer GCC. + + -- Matthias Klose Thu, 05 Feb 2015 18:31:17 +0100 + +gcc-5 (5-20150127-1) experimental; urgency=medium + + * Update to SVN 20150127. + * More symbol file updates. + * Fix libbacktrace and libsanitizer multilib builds. + * Fix libssp builds on 64bit architectures. + * Update hardening testsuite patches for GCC 5. + + -- Matthias Klose Tue, 27 Jan 2015 14:10:30 +0100 + +gcc-5 (5-20150121-1) experimental; urgency=medium + + * GCC 5 (SVN trunk 20150121). + * Build new binary packages libcc1-0, libgccjit0, libgccjit-5-dev, + libgccjit-5-dbg, libgccjit-5-doc. + * Update symbols files (still incomplete). + + -- Matthias Klose Wed, 21 Jan 2015 21:02:05 +0100 + +gcc-4.9 (4.9.2-10) UNRELEASED; urgency=medium + + * Update to SVN 20150120 (r219885) from the gcc-4_9-branch. + - Fix PR libstdc++/64476, PR libstdc++/60966, PR libstdc++/64239, + PR libstdc++/64649, PR libstdc++/64584, PR libstdc++/64585, + PR libstdc++/64646, + PR middle-end/63704 (ice on valid), PR target/64513 (x86), + PR rtl-optimization/64286 (wrong code), PR tree-optimization/64563 (ice), + PR middle-end/64391 (ice on valid), PR c++/54442 (ice on valid), + PR target/64358 (rs6000, wrong code), PR target/63424 (AArch64, ice on + valid), PR target/64479 (SH), PR rtl-optimization/64536, PR target/64505 + (rs6000), PR target/61413 (ARM, wrong code), PR target/64507 (SH), + PR target/64409 (x32, ice on valid), PR c++/64487 (ice on valid), + PR c++/64352, PR c++/64251 (rejects valid), PR c++/64297 (ice on valid), + PR c++/64029 (ice on valid), PR c++/63657 (diagnostic), PR c++/38958 + (diagnostic), PR c++/63658 (rejects valid), PR ada/64492 (build), + PR fortran/64528 (ice on valid), PR fortran/63733 (wrong code), + PR fortran/56867 (wrong code), PR fortran/64244 (ice on valid). + * Update the Linaro support to the 4.9-2015.01 release. + + -- Matthias Klose Tue, 20 Jan 2015 12:45:13 +0100 + +gcc-4.9 (4.9.2-10) unstable; urgency=medium + + * Really add x32 multilib packages for i386 cross builds to the control file. + Closes: #773265. + * Use the final binutils 2.25 release. + * Tighten the gcc-4.9 dependency on libgcc-4.9-dev (YunQiang Su). + + -- Matthias Klose Thu, 25 Dec 2014 18:10:51 +0100 + +gcc-4.9 (4.9.2-9) unstable; urgency=medium + + * Update to SVN 20141220 (r218987) from the gcc-4_9-branch. + - Fix PR libstdc++/64302, PR libstdc++/64303, PR c++/60955, + PR rtl-optimization/64010 (wrong code), PR sanitizer/64265 (wrong code). + * Add x32 multilib packages for i386 cross builds to the control file. + Closes: #773265. + * Fix mips64el multilib cross builds. Closes: #772665. + * libphobos-4.x-dev: Stop providing libphobos-dev, now a real package. + + -- Matthias Klose Sat, 20 Dec 2014 07:47:15 +0100 + +gcc-4.9 (4.9.2-8) unstable; urgency=medium + + * Update to SVN 20141214 (r218721) from the gcc-4_9-branch. + - Fix PR tree-optimization/62021 (ice), PR middle-end/64225 (missed + optimization), PR libstdc++/64239, PR rtl-optimization/64037 (wrong + code), PR target/64200 (x86, ice), PR tree-optimization/64269 (ice). + * Don't build libphobos multilibs, there is no gdc-multilib build. + * Really disable the sanitizer libs on powerpc, ppc64 and ppc64el. + * Paste config.log files to stdout in case of build errors. + + -- Matthias Klose Sun, 14 Dec 2014 18:43:49 +0100 + +gcc-4.9 (4.9.2-7) unstable; urgency=medium + + * Update to SVN 20141210 (r218575) from the gcc-4_9-branch. + - Fix PR libstdc++/64203, PR target/55351 (SH), PR tree-optimization/61686, + PR bootstrap/64213. + - libgcc hppa backports. + * Fix cross builds with dpkg-architecture unconditionally exporting + target variables. For now specify the target architecture + in debian/target. This still needs to work with older dpkg versions, + so don't "simplify" the packaging. Closes: #768167. + + -- Matthias Klose Wed, 10 Dec 2014 13:32:42 +0100 + +gcc-4.9 (4.9.2-6) unstable; urgency=medium + + * Update to SVN 20141209 (r218510) from the gcc-4_9-branch. + - Fix PR libstdc++/63840, PR libstdc++/61947, PR libstdc++/64140, + PR target/50751 (SH), PR target/64108 (x86, ice), + PR rtl-optimization/64037 (wrong-code), PR c++/56493 (performance), + PR c/59708, PR ipa/64153, PR target/64167) (wrong code, + closes: #771974), PR target/59593 (ARM, wrong code), + PR middle-end/63762 (ARM. wrong code), PR target/63661 (x86, + wrong code), PR target/64113 (alpha, wrong code), PR c++/64191. + - Allow one to build with ISL 0.14. + + -- Matthias Klose Tue, 09 Dec 2014 11:00:08 +0100 + +gcc-4.9 (4.9.2-5) unstable; urgency=medium + + * Update to SVN 20141202 (r218271) from the gcc-4_9-branch. + - Fix PR middle-end/64111 (ice), PR ipa/63551 (wrong code). + PR libstdc++/64102 (closes: #770843), PR target/64115 (powerpc). + * Move libphobos2.a into the gcc_lib_dir. Closes: #771647. + * Fix typo in last powerpcspe patch. Closes: #771654. + + -- Matthias Klose Tue, 02 Dec 2014 17:42:07 +0100 + +gcc-4.9 (4.9.2-4) unstable; urgency=medium + + * Update to SVN 20141128 (r218142) from the gcc-4_9-branch. + -PR PR target/56846 (ARM), PR libstdc++/63497, + PR middle-end/63738 (wrong code), PR tree-optimization/62238 (ice), + PR tree-optimization/61927 (wrong code), + PR tree-optimization/63605 (wrong code), PR middle-end/63665 (wrong code), + PR fortran/63938 (OpenMP), PR middle-end/64067 (ice), + PR tree-optimization/63915 (wrong code), PR sanitizer/63913 (ice valid), + PR rtl-optimization/63659 (wrong code). + * Don't let stage1 multilib builds depend on the multilib libc-dev. + Closes: #771243. + * Fix an exception problem on powerpcspe (Roland Stigge). Closes: #771324. + * Remove unsupported with_deps_on_target_arch_pkgs configurations. + Closes: #760770, #766924, #770413. + + -- Matthias Klose Fri, 28 Nov 2014 15:26:23 +0100 + +gcc-4.9 (4.9.2-3) unstable; urgency=medium + + * Update to SVN 20141125 (r218048) from the gcc-4_9-branch. + - PR target/53976 (SH), PR target/63783 (SH), PR target/51244 (SH), + PR target/60111 (SH), PR target/63673 (ppc), + PR tree-optimization/61750 (ice), PR target/63947 (x86, wrong code), + PR tree-optimization/62167 (wrong code), PR c++/63849 (ice), + PR ada/47500. + + [ Aurelien Jarno ] + * Always configure sh4-linux with --with-multilib-list=m4,m4-nofpu, + even with multilib disabled, as it doesn't produce additional + libraries. + + [ Matthias Klose ] + * gcc-4.9-base: Add Breaks: gcc-4.7-base (<< 4.7.3). Closes: #770025. + + -- Matthias Klose Tue, 25 Nov 2014 17:04:19 +0100 + +gcc-4.9 (4.9.2-2) unstable; urgency=medium + + * Update to SVN 20141117 (r217768) from the gcc-4_9-branch. + - Fix PR rtl-optimization/63475, PR rtl-optimization/63483 (gfortran + aliasing fixes for alpha), PR target/63538 (x86), PR ipa/63838 (wrong + code), PR target/61535 (sparc), PR c++/63265 (diagnostic), PR ada/42978. + * Fix PR c/61553 (ice on illegal code), backported from the trunk. + Closes: #767668. + * Disable building the sanitizer libs on powerpc and ppc64. Not yet + completely ported, and causing kernel crashes running the tests. + * Update the Linaro support to the 4.9-2014.11 release. + + -- Matthias Klose Tue, 18 Nov 2014 00:34:01 +0100 + +gcc-4.9 (4.9.2-1) unstable; urgency=medium + + * GCC 4.9.2 release. + * Update GDC from the 4.9 branch. + + [ Matthias Klose ] + * Allow one to build the gcc-base package only. + + [Ludovic Brenta] + Merge from gnat-4.9 (4.9.1-4) unstable; urgency=low. + * debian/patches/ada-libgnatvsn.diff: compile the version.o of + libgnatvsn.{a,so} with -DBASEVER=$(FULLVER) to align it with the + change made in gcc-base-version.diff, which is compiled into gcc and + gnat1. Fixes: #759038. + * debian/patches/ada-revert-pr63225.diff: new; preserve the aliversion + compatibility of libgnatvsn4.9-dev with -3. + + Merge from gnat-4.9 (4.9.1-3) unstable; urgency=low + Merge from gnat-4.9 (4.9.1-2) unstable; urgency=low + + [Svante Signell] + * debian/patches/ada-hurd.diff: update and bring up to par with + ada-kfreebsd.diff. + + [Ludovic Brenta] + * Rebuild with newer dpkg. Fixes: #761248. + + Merge from gnat-4.9 (4.9.1-1) unstable; urgency=low + + * New upstream release. Build-depend on gcc-4.9-source (>= 4.9.1). + Fixes: #755490. + * debian/rules.d/binary-ada.mk: install the test-summary file in package + gnat-4.9 instead of gnat-4.9-base. test-summary is actually + architecture-dependent. This change reflects what happens in gcc-4.9 + and gcc-4.9-base as well. Fixes: #749869. + + Merge from gnat-4.9 (4.9.0-2) unstable; urgency=low + + * Lintian warnings: + * debian/control.m4 (gnat-4.9-base): Multi-Arch: same. + * debian/patches/ada-749574.diff: new. Fixes: #749574. + + -- Matthias Klose Tue, 04 Nov 2014 02:58:33 +0100 + +gcc-4.9 (4.9.1-19) unstable; urgency=medium + + * GCC 4.9.2 release candidate. + * Update to SVN 20141023 (r216594) from the gcc-4_9-branch. + * Install sanitizer header files. + * Apply patch for PR 60655, taken from the trunk. + * Fix typo in the libstdc++ HTML docs. Closes: #766498. + * Use doxygen's copy of jquery.js for the libstdc++ docs. Closes: #766499. + * Force self-contained cross builds. + * Don't build functionally non-equivalent cross compilers. + * Update the Linaro support to the 4.9-2014.10-1 release. + + -- Matthias Klose Fri, 24 Oct 2014 14:20:00 +0200 + +gcc-4.9 (4.9.1-18) unstable; urgency=medium + + * Update to SVN 20141018 (r216426) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Update libstdc++ symbols file for powerpcspe (Roland Stigge). + Closes: #765078. + + -- Matthias Klose Sat, 18 Oct 2014 16:28:09 +0200 + +gcc-4.9 (4.9.1-17) unstable; urgency=medium + + * Update to SVN 20141015 (r216240) from the gcc-4_9-branch. + - Fix PR c++/63405 (ice) Closes: #761549. + - Fix PR ipa/61144 (wrong code). Closes: #748681. + + -- Matthias Klose Wed, 15 Oct 2014 10:29:23 +0200 + +gcc-4.9 (4.9.1-16) unstable; urgency=medium + + * Update to SVN 20140930 (r215717) from the gcc-4_9-branch. + * Don't suggest libvtv and binutils-gold. Closes: #761612. + + -- Matthias Klose Tue, 30 Sep 2014 11:37:48 +0200 + +gcc-4.9 (4.9.1-15) unstable; urgency=medium + + * Update to SVN 20140919 (r215401) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Extend the fix for PR target/63190 (AArch64). Closes: #758964. + * Apply proposed fix for Linaro #331, LP: #1353729 (AArch64). + + [ Aurelien Jarno ] + * Default to mips64 ISA on mips64el, with tuning for mips64r2. + + -- Matthias Klose Fri, 19 Sep 2014 20:17:27 +0200 + +gcc-4.9 (4.9.1-14) unstable; urgency=medium + + * Update to SVN 20140912 (r215228) from the gcc-4_9-branch. + * Update the Linaro support to the 4.9-2014.09 release. + * Fix installation of the libstdc++ documentation. Closes: #760872. + + -- Matthias Klose Fri, 12 Sep 2014 19:15:23 +0200 + +gcc-4.9 (4.9.1-13) unstable; urgency=medium + + * Update to SVN 20140908 (r215008) from the gcc-4_9-branch. + * Enable cgo on AArch64 (Michael Hudson). LP: #1361940. + * Update the Linaro support from the Linaro/4.9 branch. + * Fix PR target/63190 (AArch64), taken from the trunk. Closes: #758964. + + -- Matthias Klose Mon, 08 Sep 2014 09:56:50 +0200 + +gcc-4.9 (4.9.1-12) unstable; urgency=medium + + [ Samuel Thibault ] + * boehm-gc: use anonymous mmap instead of brk also on hurd-*. + Closes: #753791. + + -- Matthias Klose Sun, 31 Aug 2014 18:40:46 +0200 + +gcc-4.9 (4.9.1-11) unstable; urgency=medium + + * Update to SVN 20140830 (r214759) from the gcc-4_9-branch. + * Update cross installation patches for the branch. + * Use the base version (4.9) when accessing files in gcc_lib_dir. + + -- Matthias Klose Sat, 30 Aug 2014 22:05:47 +0200 + +gcc-4.9 (4.9.1-10) unstable; urgency=medium + + * Update to SVN 20140830 (r214751) from the gcc-4_9-branch. + * Fix jni symlinks in /usr/lib/jvm. Closes: #759558. + * Update the Linaro support from the Linaro/4.9 branch. + - Fixes Aarch64 cross build on i386. + + -- Matthias Klose Sat, 30 Aug 2014 04:47:19 +0200 + +gcc-4.9 (4.9.1-9) unstable; urgency=medium + + * Update to SVN 20140824 (r214405) from the gcc-4_9-branch. + * Fix -dumpversion output to print the full version number. + Addresses: #759038. LP: #1360404. + Use the GCC base version for the D include dir name. + + -- Matthias Klose Sun, 24 Aug 2014 10:09:28 +0200 + +gcc-4.9 (4.9.1-8) unstable; urgency=medium + + * Update to SVN 20140820 (r214215) from the gcc-4_9-branch. + * Fix PR middle-end/61294, -Wmemset-transposed-args, taken from the trunk. + LP: #1352836. + * Update the Linaro support to 4.9-2014.08. + * Fix PR tree-optimization/59586, graphite segfault, taken from the trunk. + LP: #1227789. + * Fix multilib castrated cross builds on mips64el (YunQiang Su, Helmut + Grohne). Closes: #758408. + * Apply Proposed patch for PR target/62040 (AArch64). LP: #1351227. + Closes: #757738. + + -- Matthias Klose Wed, 20 Aug 2014 11:36:40 +0200 + +gcc-4.9 (4.9.1-7) unstable; urgency=medium + + * Build-depend on dpkg-dev (>= 1.17.11). + + -- Matthias Klose Thu, 14 Aug 2014 22:12:29 +0200 + +gcc-4.9 (4.9.1-6) unstable; urgency=medium + + * Update to SVN 20140813 (r213955) from the gcc-4_9-branch. + * Really fix the GFDL build on AArch64. Closes: #757153. + * Disable Ada for snapshot builds on kfreebsd-i386, kfreebsd-amd64. + Local patch needs an update and upstreaming. + * Apply the local ada-mips patch for snapshot builds too. + * Disable Ada for snapshot builds on mips, mipsel. Bootstrap comparision + failure. Local patch needs upstreaming. + * Disable Ada for snapshot builds on hurd-i386, build dependencies are + not installable. + * Don't build the sanitizer libs for sparc snapshot builds. + * Proposed backport for PR libstdc++/61841. Closes: #749290. + + -- Matthias Klose Thu, 14 Aug 2014 17:53:43 +0200 + +gcc-4.9 (4.9.1-5) unstable; urgency=medium + + * Update to SVN 20140808 (r213759) from the gcc-4_9-branch. + - Fix PR tree-optimization/61964. LP: #1347147. + * Fix libphobos cross build. + + -- Matthias Klose Fri, 08 Aug 2014 17:28:55 +0200 + +gcc-4.9 (4.9.1-4) unstable; urgency=high + + * Update to SVN 20140731 (r213317) from the gcc-4_9-branch. + - CVE-2014-5044, fix integer overflows in array allocation in libgfortran. + Closes: #756325. + * Build libphobos on armel and armhf. Closes: #755390. + * Fix java.security symlink. Closes: #756484. + + -- Matthias Klose Thu, 31 Jul 2014 10:15:27 +0200 + +gcc-4.9 (4.9.1-3) unstable; urgency=medium + + * Update to SVN 20140727 (r213100) from the gcc-4_9-branch. + * Fix the GFDL build on AArch64. + * Fix PR libobjc/61920, libobjc link failure on powerpc*. Closes: #756096. + + -- Matthias Klose Sun, 27 Jul 2014 15:25:24 +0200 + +gcc-4.9 (4.9.1-2) unstable; urgency=medium + + * Update to SVN 20140724 (r213031) from the gcc-4_9-branch. + + * Fix installing test logs and summaries. + * Warn about ppc ELFv2 ABI issues, which will change in GCC 4.10. + * Don't gzip the xz compressed testsuite logs and summaries. + * Build libphobos on armel and armhf. Closes: #755390. + * Update the Linaro support to the 4.9-2014.07 release. + + -- Matthias Klose Thu, 24 Jul 2014 23:59:49 +0200 + +gcc-4.9 (4.9.1-1) unstable; urgency=medium + + * GCC 4.9.1 release. + * Update GDC form the 4.9 branch (20140712). + + -- Matthias Klose Wed, 16 Jul 2014 17:15:14 +0200 + +gcc-4.9 (4.9.0-11) unstable; urgency=medium + + * GCC 4.9.1 release candidate 1. + * Update to SVN 20140712 (r212479) from the gcc-4_9-branch. + - Fix PR middle-end/61725. Closes: #754548. + + * Add libstdc++ symbols files for mips64 and mips64el (Yunqiang Su). + Closes: #745372. + * Set java_cpu to ppc64 on ppc64el. + * Build AArch64 from the Linaro 4.9-2014.06 release. + * Re-enable running the testsuite on KFreeBSD and the Hurd. + * Re-enable running the libstdc++ testsuite on arm*, mips* and hppa. + + -- Matthias Klose Sat, 12 Jul 2014 13:10:46 +0200 + +gcc-4.9 (4.9.0-10) unstable; urgency=medium + + * Update to SVN 20140704 (r212295) from the gcc-4_9-branch. + + * Explicitly set cpu_32 to ultrasparc for sparc64 builds. + * Fix --with-long-double-128 for sparc32 when defaulting to 64-bit. + * Ignore missing libstdc++ symbols on armel and hppa. The future and + exception_ptr implementation is incomplete. For more information see + https://gcc.gnu.org/ml/gcc/2014-07/msg00000.html. + + -- Matthias Klose Fri, 04 Jul 2014 15:55:09 +0200 + +gcc-4.9 (4.9.0-9) unstable; urgency=medium + + * Update to SVN 20140701 (r212192) from the gcc-4_9-branch. + * Update libstdc++ symbols files for ARM. + * Configure --with-cpu-32=ultrasparc on sparc64. + + -- Matthias Klose Tue, 01 Jul 2014 10:47:11 +0200 + +gcc-4.9 (4.9.0-8) unstable; urgency=medium + + * Update to SVN 20140624 (r211959) from the gcc-4_9-branch. + + * Don't ignore dpkg-shlibdeps errors for libstdc++6, left over from initial + 4.9 uploads. + * Update libgcc1 symbols for sh4. Closes: #751919. + * Stop building the libvtv packages. Not usable unless the build is + configured with --enable-vtable-verify, which comes with a performance + penalty just for the stubs in libstdc++. + * Update libstdc++ and libvtv symbols files for builds configured with + --enable-vtable-verify. + * Remove version requirement for dependency on make. Closes: #751891. + * Fix removal of python byte-code files in libstdc++6. Closes: #751435. + * Fix a segfault in the driver from calling free on non-malloc'd area. + * Drop versioned build dependency on gdb, and apply the pretty printer + patch for libstdc++ based on the release. + * Add support to build with isl-0.13. + + -- Matthias Klose Wed, 25 Jun 2014 20:08:09 +0200 + +gcc-4.9 (4.9.0-7) unstable; urgency=medium + + * Update to SVN 20140616 (r211699) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Fix patch application for powerpcspe (Helmit Grohne). Closes: #751001. + + Update context for powerpc_remove_many. + + Drop gcc-powerpcspe-ldbl-fix applied upstream. + + [ Aurelien Jarno ] + * Fix PR c++/61336, taken from the trunk. + + -- Matthias Klose Mon, 16 Jun 2014 10:59:16 +0200 + +gcc-4.9 (4.9.0-6) unstable; urgency=medium + + * Update to SVN 20140608 (r211353) from the gcc-4_9-branch. + * Fix -Wno-format when -Wformat-security is the default (Steve Beattie). + LP: #1317305. + * Don't install the libstdc++ pretty printer file into the debug directory, + but into the gdb auto-load directory. + * Fix the removal of the libstdc++6 package, removing byte-compiled pretty + printer files and pycache directories. + * Fix PR c++/61046, taken from the trunk. LP: #1313102. + * Fix installation of gcc-{ar,nm,ranlib} man pages for snapshot builds. + Closes: #745906. + * Update patches for snapshot builds. + + -- Matthias Klose Sun, 08 Jun 2014 11:57:07 +0200 + +gcc-4.9 (4.9.0-5) unstable; urgency=medium + + * Update to SVN 20140527 (r210956) from the gcc-4_9-branch. + * Limit systemtap-sdt-dev build dependency to enumerated linux architectures. + * Build libitm on AArch64, patch taken from the trunk. + * Update the testsuite to allow more testcases to pass with hardening options + turned on (Steve Beattie). LP: #1317307. + * Revert the fix for PR rtl-optimization/60969, causing bootstrap failure + on ppc64el. + * Fix PR other/61257, check for working sys/sdt.h. + * Drop the libstdc++-arm-wno-abi patch, not needed anymore in 4.9. + + -- Matthias Klose Tue, 27 May 2014 08:58:07 +0200 + +gcc-4.9 (4.9.0-4) unstable; urgency=medium + + * Update to SVN 20140518 (r210592) from the gcc-4_9-branch. + * Update the local ada-libgnatprj patch for AArch64. Addresses: #748233. + * Update the libstdc++v-python3 patch. Closes: #748317, #738341, 747903. + * Build-depend on systemtap-sdt-dev, on every architecure, doesn't seem to hurt + on architectures where it is not supported. Closes: #748315. + * Update the gcc-default-format-security patch (Steve Beattie). LP: #1317305. + * Apply the proposed patch for PR c/57653. Closes: #734345. + + -- Matthias Klose Sun, 18 May 2014 23:29:43 +0200 + +gcc-4.9 (4.9.0-3) unstable; urgency=medium + + * Update to SVN 20140512 (r210323) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Update build dependencies for ada enabled snapshot builds. + * Fix PR tree-optimization/60902, taken from the trunk. Closes: #746944. + * Ensure that the common libs (built from the next GCC version) are + available when building without common libs. + * Fix java.security symlink in libgcj15. Addresses: #746786. + * Move the libstdc++ gdb pretty printers into libstdc++6, install the + -gdb.py files into /usr/share/gdb/auto-load. + * Set the 'Multi-Arch: same' attribute for packages, cross built with + with_deps_on_target_arch_pkgs=yes (Helmit Grohne). Closes: #716795. + * Build the gcc-X.Y-base package with with_deps_on_target_arch_pkgs=yes + (Helmit Grohne). Addresses: #744782. + * Apply the proposed patches for PR driver/61106, PR driver/61126. + Closes: #747345. + + [ Aurelien Jarno ] + * Fix libasan1 symbols file for sparc and sparc64. + + -- Matthias Klose Tue, 13 May 2014 02:15:27 +0200 + +gcc-4.9 (4.9.0-2) unstable; urgency=medium + + * Update to SVN 20140503 (r210033) from the gcc-4_9-branch. + - Fix PR go/60931, garbage collector issue with non 4kB system page size. + LP: #1304754. + + [Matthias Klose] + * Fix libgcc-dev dependency on gcc, when not building libgcc. + * Fix gnat for snapshot builds on ppc64el. + * Update the libsanitizer build fix for sparc. + * Install only versioned gcc-ar gcc-nm gcc-ranlib binaries for the hppa64 + cross compiler. Install hppa64 alternatives. Addresses: #745967. + * Fix the as and ld symlinks for the hppa64 cross compiler. + * Add the gnat backport for AArch64. + * Update gnat patches not to use tabs and too long lines. + * libgnatvsn: Use CC and CXX passed from the toplevel makefile, drop gnat + build dependency on g++. Addresses: #746688. + + Merge from gnat-4.9 (4.9.0-1) unstable; urgency=low: + + [Ludovic Brenta] + * debian/patches/ada-hurd.diff: refresh for new upstream version that + restores POSIX compliance in System.OS_Interface.timespec. + * debian/patches/ada-kfreebsd.diff: make System.OS_Interface.To_Timespec + consistent with s-osinte-posix.adb. + [Nicolas Boulenguez] + * rules.conf (Build-Depends): mention gnat before gnat-x.y so that + buildds can bootstrap 4.9 in unstable. Fixes: #744724. + + -- Matthias Klose Sat, 03 May 2014 14:00:41 +0200 + +gcc-4.9 (4.9.0-1) unstable; urgency=medium + + * GCC 4.9.0 release. + * Update to SVN 20140423 (r209695) from the gcc-4_9-branch. + + [Matthias Klose] + * Fix PR target/59758 (sparc), libsanitizer build failure (proposed patch). + * Update gold architectures. + * Update NEWS files. + * Remove more mudflap left overs. Closes: #742606. + * Add new libraries src/libvtv and src/libcilkrts to + cross-ma-install-location.diff (Helmur Grohne). Closes: #745267. + * Let lib*gcc-dev depend on the corresponding libtsan packages. + * Build the liblsan packages (amd64 only). + * Install the libcilkrts spec file. + * Build the D frontend and libphobos from the gdc trunk. + + Merge from gnat-4.9 (4.9-20140411-1) unstable; urgency=medium + + [Nicolas Boulenguez] + * Revert g4.9-base to Architecture: all. Fixes: #743833. + * g4.9 Breaks/Replaces -base 4.6.4-2 and 4.9-20140330-1. Fixes: #743376. + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff: refresh. + + Merge from gnat-4.9 (4.9-20140406-1) experimental; urgency=low + + * debian/patches/ada-arm.diff: new. Improve support for ZCX on this + architecture. + * debian/patches/rules.patch: apply architecture- and Ada-specific + patches before Debian-specific patches. + * debian/patches/ada-link-lib.diff, + debian/patches/ada-libgnatvsn.diff, + debian/patches/ada-libgnatprj.diff: refresh for the new upstream + sources. + + Merge from gnat-4.9 (4.9-20140330-3) experimental; urgency=low + + [Nicolas Boulenguez] + * Install debian_packaging.mk to gnat-x.y, not -base. Fixes: #743375. + * rules.conf (Build-Depends): gnatgcc symlink provided by gnat-4.9 | + gnat-4.6 (>= 4.6.4-2) | gnat (>= 4.1 and << 4.6.1). + + Merge from gnat-4.9 (4.9-20140330-2) experimental; urgency=medium + + * Uploading to unstable was a mistake. Upload to experimental. + + Merge from gnat-4.9 (4.9-20140330-1) unstable; urgency=medium + + [Nicolas Boulenguez] + * patches/ada-ppc64.diff: replace undefined variable arch with + target_cpu; this overrides the patch proposed by Ulrich Weigand as + it is more correct; approved by Ludovic Brenta. Fixes: #742590. + * control.m4: Break/Replace: dh-ada-library 5.9. Fixes: #743219. + + Merge from gnat-4.9 (4.9-20140322-1) experimental; urgency=low + + [Nicolas Boulenguez] + * debian/control.m4: + (Suggests): suggest the correct version of ada-reference-manual. + (Vcs-Svn): specify the publicly accessible repository. + * Receive debian_packaging.mk from dh-ada-library (not library specific). + * Receive gnatgcc symlink from gnat (useful outside default compiler). + * debian/source/local-options: new. + + [Ludovic Brenta] + * debian/control.m4: conflict with gnat-4.7, gnat-4.8. + * debian/patches/ada-default-project-path.diff: when passed options such + as -m32 or -march, do not look for the RTS in + /usr/share/ada/adainclude but in + /usr/lib/gcc/$target_triplet/$version/{,rts-}$arch. Still look + for project files in /usr/share/ada/adainclude. + * debian/rules.d/binary-ada.mk, debian/rules.defs, debian/rules.patch: + Switch to ZCX by default on arm, armel, armhf; built SJLJ as the + package gnat-4.9-sjlj like on all other architectures. This is made + possible by the new upstream version. + * debian/patches/ada-hurd.diff (s-osinte-gnu.ads): change the type of + timespec.tv_nsec from long to time_t, for compatibility with + s-osinte-posix.adb, even though this violates POSIX. Better solution + to come from upstream. Fixes: #740286. + + -- Matthias Klose Wed, 23 Apr 2014 13:35:43 +0200 + +gcc-4.9 (4.9-20140411-2) unstable; urgency=medium + + * Disable running the testsuite on kfreebsd, hangs the buildds. + * Stop building the sanitizer libs on sparc, fails to build. No reaction + from the Debian port maintainers and upstream. See PR sanitize/59758. + + -- Matthias Klose Sat, 12 Apr 2014 15:42:34 +0200 + +gcc-4.9 (4.9-20140411-1) unstable; urgency=medium + + * GCC 4.9.0 release candidate 1. + * Configure for i586-linux-gnu on i386. + + -- Matthias Klose Fri, 11 Apr 2014 19:57:07 +0200 + +gcc-4.9 (4.9-20140406-1) experimental; urgency=medium + + [Matthias Klose] + * Include include and include-fixed header files into the stage1 + gcc-4.9 package. + * Explicitly configure with --disable-multilib on sparc64 when no + multilibs are requested (Helmut Grohne). Addresses: #743342. + * Drop mudflap from cross-install-location.diff since mudflap was removed + from gcc 4.9. Closes: #742606 + * Build gnat in ppc64el snapshot builds. + * Apply the ada-ppc64 patch for snapshot builds as well. + * Fix PR target/60609 (ARM), proposed patch (Charles Baylis). LP: #1295653. + * Include the gnu triplet prefixed gcov and gcc-{ar,nm,ranlib} binaries. + * Add replaces when upgrading from a standalone gccgo build. + + [Yunqiang Su] + * Lower default optimization for mips64/n32 to mips3/mips64(32). + Closes: #742617. + + -- Matthias Klose Sun, 06 Apr 2014 02:24:16 +0200 + +gcc-4.9 (4.9-20140330-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140330. + + [Matthias Klose] + * Update symbols files. + * debian/patches/ada-ppc64.diff: Fix for ppc64el (Ulrich Weigand). + * Fix cross building targeting x32 (Helmut Grohne). Addresses: #742539. + + [Ludovic Brenta] + * debian/control.m4 (Build-Depends), debian/rules.conf: remove + AUTOGEN_BUILD_DEP and hardcode autogen. It is called by + fixincludes/genfixes during bootstrap and also when building gnat-*, + not just when running checks on gcc-*. + + -- Matthias Klose Sun, 30 Mar 2014 09:46:29 +0100 + +gcc-4.9 (4.9-20140322-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140322. + - Fixes build error on the Hurd. Closes: #740153. + + [Matthias Klose] + * Re-apply lost patch for config.gcc for mips64el. Closes: #741543. + + Merge from gnat-4.9 (4.9-20140218-3) UNRELEASED; urgency=low + + [Nicolas Boulenguez] + * debian/control.m4: suggest the correct version of + ada-reference-manual. + + [Ludovic Brenta] + * debian/control.m4: conflict with gnat-4.7, gnat-4.8. + + Merge from gnat-4.9 (4.9-20140218-2) experimental; urgency=low + + * debian/patches/ada-hurd.diff (Makefile.in): match *86-pc-gnu but + not *86-linux-gnu, the target tripled used by GNU/Linux. + + Merge from gnat-4.9 (4.9-20140218-1) experimental; urgency=low + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff: refresh and fix compiler + warnings. + * debian/patches/ada-link-lib.diff (.../ada/gcc-interface/Make-lang.in): + do not try to install the gnattools, this is the job of + gnattools/Makefile.in. + * debian/patches/ada-ajlj.diff: specify EH_MECHANISM to sub-makes even + when making install-gnatlib. + + [Xavier Grave] + * debian/patches/ada-kfreebsd.diff: refresh. + * debian/rules.patch: re-enable the above. + + -- Matthias Klose Sat, 22 Mar 2014 14:19:43 +0100 + +gcc-4.9 (4.9-20140303-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140303. + + -- Matthias Klose Tue, 04 Mar 2014 02:13:20 +0100 + +gcc-4.9 (4.9-20140218-1) experimental; urgency=medium + + * Fix gij wrapper script on hppa. Closes: #739224. + + -- Matthias Klose Tue, 18 Feb 2014 23:59:31 +0100 + +gcc-4.9 (4.9-20140205-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140205. + * Install the libsanitizer spec file. + * Fix building standalone gccgo, including the libgcc packages. + * On AArch64, use "generic" target, if no other default. + + -- Matthias Klose Wed, 05 Feb 2014 12:53:52 +0100 + +gcc-4.9 (4.9-20140122-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140122. + * Update libstdc++ -dbg and -doc conflicts. + * Link libstdc++ tests requiring libpthread symbols with --no-as-needed. + * armhf: Fix ffi_call_VFP with no VFP arguments (Will Newton). + * Apply proposed patch for PR target/59799, allow passing arrays in + registers on AArch64 (Michael Hudson). + + -- Matthias Klose Wed, 22 Jan 2014 21:28:56 +0100 + +gcc-4.9 (4.9-20140116-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140116. + * Fix PR target/59588 (AArch64), backport proposed patch. LP: #1263576. + * Fix call frame information in ffi_closure_SYSV on AArch64. + + -- Matthias Klose Fri, 17 Jan 2014 00:31:19 +0100 + +gcc-4.9 (4.9-20140111-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140111. + * Update libstdc++ -dbg and -doc conflicts. Closes: #734913. + * Disable libcilkrts on KFreeBSD and the Hurd. See #734973. + + -- Matthias Klose Sat, 11 Jan 2014 13:11:16 +0100 + +gcc-4.9 (4.9-20140110-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140110. + + -- Matthias Klose Fri, 10 Jan 2014 18:03:07 +0100 + +gcc-4.9 (4.9-20140109-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot. + + -- Matthias Klose Thu, 09 Jan 2014 18:57:46 +0100 + +gcc-4.8 (4.8.2-11) unstable; urgency=low + + * Update to SVN 20131230 (r206241) from the gcc-4_8-branch. + * Don't build x32 multilibs for wheezy backports. + * Set the goarch to arm64 for aarch64-linux-gnu. + * Fix statically linked gccgo binaries on AArch64 (Michael Hudson). + LP: #1261604. + * Merge accumulated Ada changes from gnat-4.8. + * Update gnat build dependencies when not built from a separate source. + * Default to -mieee on alpha again (Michael Cree). Closes: #733291. + * Prepare gnat package for cross builds. + + -- Matthias Klose Mon, 30 Dec 2013 08:52:29 +0100 + +gcc-4.8 (4.8.2-10) unstable; urgency=low + + * Update to SVN 20131213 (r205948) from the gcc-4_8-branch. + * Add missing commit in libjava for gcc-linaro. + + -- Matthias Klose Fri, 13 Dec 2013 01:01:47 +0100 + +gcc-4.8 (4.8.2-9) unstable; urgency=low + + * Update to SVN 20131212 (r205924) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Fix libitm symbols files for ppc64. + * Update libatomic symbol file for arm64 and ppc64. + * libgcj-dev: Drop dependencies on gcj-jre-lib and gcj-jdk. + * Fix permissions of some override files. + * Let cross compilers conflict with gcc-multilib (providing + /usr/include/asm for the non-default multilib). + * Configure --with-long-double-128 on powerpcspe (Roland Stigge). + Closes: #731941. + * Update the Linaro support to the 4.8-2013.12 release. + * Update the ibm branch to 20131212. + + [ Aurelien Jarno ] + * patches/note-gnu-stack.diff: restore and rebase lost parts. + + -- Matthias Klose Thu, 12 Dec 2013 12:34:55 +0100 + +gcc-4.8 (4.8.2-8) unstable; urgency=medium + + * Update to SVN 20131203 (r205647) from the gcc-4_8-branch. + * Fix PR libgcc/57363, taken from the trunk. + + -- Matthias Klose Wed, 04 Dec 2013 01:21:10 +0100 + +gcc-4.8 (4.8.2-7) unstable; urgency=low + + * Update to SVN 20131129 (r205535) from the gcc-4_8-branch. + * Introduce aarch64 goarch. + * libgo: Backport fix for calling a function or method that takes or returns + an empty struct via reflection. + * go frontend: Backport fix for the generated hash functions of types that + are aliases for structures containing unexported fields. + * Skip Go testcase on AArch64 which hangs on the buildds. + * Fix freetype includes in libjava/classpath. + + -- Matthias Klose Fri, 29 Nov 2013 18:19:12 +0100 + +gcc-4.8 (4.8.2-6) unstable; urgency=low + + * Update to SVN 20131128 (r205478) from the gcc-4_8-branch. + + [ Matthias Klose ] + * gcc-4.8-base: Breaks gcc-4.4-base (<< 4.4.7). Closes: #729963. + * Update the gcc-as-needed patch for mips*. Closes: #722067. + * Use dpkg-vendor information for distribution specific settings. + Closes: #697805. + * Check for the sys/auxv.h header file. + * On AArch64, make the frame grow downwards, taken from the trunk. + Enable ssp on AArch64. + * Pass -fuse-ld=gold to gccgo on targets supporting split-stack. + + [ Aurelien Jarno ] + * Update README.Debian for s390 and s390x. + + [ Thorsten Glaser ] + * m68k-ada.diff: Add gcc-4.8.0-m68k-ada-pr48835-2.patch and + gcc-4.8.0-m68k-ada-pr51483.patch by Mikael Pettersson, to + fix more CC0-specific and m68k/Ada-specific problems. + * m68k-picflag.diff: New, backport from trunk, by Andreas Schwab, + to avoid relocation errors when linking big shared objects. + * pr58369.diff: New, backport from trunk, by Jeffrey A. Law, + to fix ICE while building boost 1.54 on m68k. + * pr52306.diff: Disables -fauto-inc-dec by default on m68k to + work around ICE when building C++ code (e.g. Qt-related). + + -- Matthias Klose Thu, 28 Nov 2013 10:29:09 +0100 + +gcc-4.8 (4.8.2-5) unstable; urgency=low + + * Update to SVN 20131115 (r204839) from the gcc-4_8-branch. + * Update the Linaro support to the 4.8-2013.11 release. + * Add missing replaces in libgcj14. Closes: #729022. + + -- Matthias Klose Sat, 16 Nov 2013 20:15:09 +0100 + +gcc-4.8 (4.8.2-4) unstable; urgency=low + + * Really fix disabling the gdc tests. + + -- Matthias Klose Wed, 13 Nov 2013 00:44:35 +0100 + +gcc-4.8 (4.8.2-3) unstable; urgency=low + + * Update to SVN 20131112 (r204704) from the gcc-4_8-branch. + * Don't ship java.security in both libgcj14 and gcj-4.8-headless. + Closes: #729022. + * Disable gdc tests on architectures without libphobos port. + + -- Matthias Klose Tue, 12 Nov 2013 18:08:44 +0100 + +gcc-4.8 (4.8.2-2) unstable; urgency=low + + * Update to SVN 20131107 (r204496) from the gcc-4_8-branch. + * Build ObjC, Obj-C++ and Go for AArch64. + * Fix some gcj symlinks. Closes: #726792, #728403. + * Stop building libmudflap (removed in GCC 4.9). + + -- Matthias Klose Thu, 07 Nov 2013 01:40:15 +0100 + +gcc-4.8 (4.8.2-1) unstable; urgency=low + + * GCC 4.8.2 release. + + * Update to SVN 20131017 (r203751) from the gcc-4_8-branch. + * Update the Linaro support to the 4.8-2013.10 release. + * Fix PR c++/57850, option -fdump-translation-unit not working. + * Don't run the testsuite on aarch64. + * Fix PR target/58578, wrong-code regression on ARM. LP: #1232017. + * [ARM] Fix bug in add patterns due to commutativity modifier, + backport from trunk. LP: #1234060. + * Build libatomic on AArch64. + * Fix dependency generation for the cross gcc-4.8 package. + * Make the libstdc++ pretty printers compatible with Python3, if + gdb is built with Python3 support. + * Fix loading of libstdc++ pretty printers. Closes: #701935. + * Don't let gcc-snapshot build-depend on gnat on AArch64. + + -- Matthias Klose Thu, 17 Oct 2013 14:37:55 +0200 + +gcc-4.8 (4.8.1-10) unstable; urgency=low + + * Update to SVN 20130904 (r202243) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Don't rely on the most recent Debian release name for configuration + of the package. Addresses: #720263. Closes: #711824. + * Fix a cross build issue without DEB_* env vars set (Eleanor Chen). + Closes: #718614. + * Add packaging support for mips64(el) and mipsn32(el) including multilib + configurations (YunQiang Su). Addresses: #708143. + * Fix gcc dependencies for stage1 builds (YunQiang Su). Closes: #710240. + * Fix boehm-gc test failures with a linker defaulting to + --no-copy-dt-needed-entries. + * Fix libstdc++ and libjava test failures with a linker defaulting + to --as-needed. + * Mark the libjava/sourcelocation test as expected to fail on amd64 cpus. + * Fix some gcc and g++ test failures for a compiler with hardening + defaults enabled. + * Fix gcc-default-format-security.diff for GCC 4.8. + * Run the testsuite again on armel and armhf. + * Disable running the testsuite on mips. Fails on the buildds, preventing + migration to testing for three months. No feedback from the mips porters. + + [ Thorsten Glaser ] + * Merge several old m68k-specific patches from gcc-4.6 package: + - libffi-m68k: Rebased against gcc-4.8 and libffi 3.0.13-4. + - m68k-revert-pr45144: Needed for Ada. + - pr52714: Revert optimisation that breaks CC0 arch. + * Fix PR49847 (Mikael Pettersson). Closes: #711558. + * Use -fno-auto-inc-dec for PR52306 (Mikael Pettersson). + + -- Matthias Klose Wed, 04 Sep 2013 21:30:07 +0200 + +gcc-4.8 (4.8.1-9) unstable; urgency=low + + * Update to SVN 20130815 (r201764) from the gcc-4_8-branch. + * Enable gomp on AArch64. + * Update the Linaro support to the 4.8-2013.08 release. + + -- Matthias Klose Thu, 15 Aug 2013 10:47:38 +0200 + +gcc-4.8 (4.8.1-8) unstable; urgency=low + + * Fix PR rtl-optimization/57878, taken from the 4.8 branch. + * Fix PR target/57909 (ARM), Linaro only. + + -- Matthias Klose Mon, 22 Jul 2013 13:03:57 +0200 + +gcc-4.8 (4.8.1-7) unstable; urgency=low + + * Update to SVN 20130717 (r200995) from the gcc-4_8-branch. + - Go 1.1.1 updates. + * Define CPP_SPEC for aarch64. + * Don't include in libgcc/libgcc2.c, taken from the trunk. + Closes: #696267. + * boehm-gc: use mmap instead of brk also on kfreebsd-* (Petr Salinger). + Closes: #717024. + + -- Matthias Klose Thu, 18 Jul 2013 02:02:13 +0200 + +gcc-4.8 (4.8.1-6) unstable; urgency=low + + * Update to SVN 20130709 (r200810) from the gcc-4_8-branch. + + [ Aurelien Jarno ] + * Add 32-bit biarch packages on sparc64. + + [ Matthias Klose ] + * Fix multiarch include path for aarch64. + * Update the Linaro support to the 4.8-2013.07 release. + * Revert the proposed fix for PR target/57637 (ARM only). + * Let gfortran-4.8 provide gfortran-mod-10. Addresses #714730. + + [ Iain Buclaw ] + * Avoid compiler warnings redefining D builtin macros. + + -- Matthias Klose Tue, 09 Jul 2013 16:18:16 +0200 + +gcc-4.8 (4.8.1-5) unstable; urgency=low + + * Update to SVN 20130629 (r200565) from the gcc-4_8-branch. + + [ Aurelien Jarno ] + * Don't pass --with-mips-plt on mips/mipsel. + + [ Matthias Klose ] + * Fix documentation builds with texinfo-5.1. + * Update the ARM libsanitizer backport from the 4.8 Linaro branch. + * libphobos-4.8-dev provides libphobos-dev (Peter de Wachter). + * The gdc cross compiler doesn't depend on libphobos-4.8-dev. + * Work around libgo build failure on ia64. PR 57689. #714090. + * Apply proposed fix for PR target/57637 (ARM only). + + -- Matthias Klose Sat, 29 Jun 2013 14:59:45 +0200 + +gcc-4.8 (4.8.1-4) unstable; urgency=low + + * Update to SVN 20130619 (r200219) from the gcc-4_8-branch. + - Bump the libgo soname (change in type layout for functions that take + function arguments). + - Fix finding the liblto_plugin.so without x permissions set (see + PR driver/57651). Closes: #712704. + * Update maintainer list. + * Fall back to the binutils version of the binutils build dependency + if the binutils version used for the build cannot be determined. + * For ARM multilib builds, use libsf/libhf system directories to lookup + files for the non-default multilib (for now, only for the cross compilers). + * Split out a gcj-4.8 package, allow to build a gcj cross compiler. + * Allow one to cross build gcj. + * Don't include object.di in the D cross compiler, but depend on gdc instead. + * Allow one to cross build gdc. + * Pass --hash-style=gnu instead of --hash-style=both to the linker. + + -- Matthias Klose Wed, 19 Jun 2013 23:48:02 +0200 + +gcc-4.8 (4.8.1-3) unstable; urgency=low + + * Update to SVN 20130612 (r200018) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Prepare gdc for cross builds, and multiarch installation. + * Prepare gnat to build out of the gcc-4.8 source package, not + building the gnat-4.8-base package anymore. + * Don't build a gcj cross compiler by default (not yet tested). + * Disable D on s390 (doesn't terminate the D testsuite). + * Build libphobos on x32. + * Fix build with DEB_BUILD_OPTIONS="nolang=d". + * Disable D for arm64. + * Update the Linaro support to the 4.8-2013.06 release. + * Fix cross building a native compiler. + * Work around dh_shlibdeps not working on target libraries (see #698881). + * Add build dependency on kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any]. + * Add handling for unwind inside signal trampoline for kfreebsd (Petr + Salinger). Closes: #712016. + * Let gcc depend on the binutils upstream version it was built with. + Addresses #710142. + * Force a build using binutils 2.23.52 in unstable. + + [ Iain Buclaw ] + * Update gdc to 20130610. + * Build libphobos on kFreeBSD. + + -- Matthias Klose Wed, 12 Jun 2013 16:47:25 +0200 + +gcc-4.8 (4.8.1-2) unstable; urgency=low + + * Update to SVN 20130604 (r199596) from the gcc-4_8-branch. + * Force arm mode for libjava on armhf. + * Fix gdc build failure on kFreeBSD and the Hurd. + + -- Matthias Klose Tue, 04 Jun 2013 17:28:06 +0200 + +gcc-4.8 (4.8.1-1) unstable; urgency=low + + * GCC 4.8.1 release. + Support for C++11 ref-qualifiers has been added to GCC 4.8.1, making G++ + the first C++ compiler to implement all the major language features of + the C++11 standard. + * Update to SVN 20130603 (r199596) from the gcc-4_8-branch. + * Build java packages from this source package. Works aroud ftp-master's + overly strict interpretation of the Built-Using attribute. + * Build D and libphobos packages from this source package. + * Disable the non-default multilib test runs for libjava and gnat. + + -- Matthias Klose Mon, 03 Jun 2013 09:28:11 +0200 + +gcc-4.8 (4.8.0-9) unstable; urgency=low + + * Update to SVN 20130529 (r199410) from the gcc-4_8-branch. + * Drop build dependency on automake, not used anymore. + * Build with binutils from unstable (the 4.8.0-8 package was accidentally + built with binutils from experimental). Closes: #710142. + * Explicity configure with --disable-lib{atomic,quadmath,sanitizer} when + not building these libraries. Closes: #710224. + + -- Matthias Klose Wed, 29 May 2013 16:59:50 +0200 + +gcc-4.8 (4.8.0-8) unstable; urgency=medium + + * Update to SVN 20130527 (r199350) from the gcc-4_8-branch (4.8.1 rc2). + - Fix PR tree-optimization/57230 (closes: #707118). + + * Remove gdc-doc.diff. + * libgo: Overwrite the setcontext_clobbers_tls check on mips*, fails + on some buildds. + * Update the Linaro support to the 4.8-2013.05 release. + * Use the %I spec when building the object file for the gcj main function. + * Fix PR c++/57211, don't warn about unused parameters of defaulted + functions. Taken from the trunk. Closes: #705066. + * Update symbols files for powerpcspe (Roland Stigge). Closes: #709383. + * Build zh_TW.UTF-8 locale to fix libstdc++ test failures. + * Keep prev-* symlinks to fix plugin.exp test failures. + + -- Matthias Klose Mon, 27 May 2013 15:43:08 +0200 + +gcc-4.8 (4.8.0-7) unstable; urgency=medium + + * Update to SVN 20130512 (r198804) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Revert the r195826 patch, backported for the 4.8 branch. + * Tighten build dependency on libmpc-dev to ensure using libmpc3. + * Re-add build dependency on locales. + * Enable multilib build for gdc. + * Add build-deps on libn32gcc1 and lib64gcc1 on mips/mipsel. + * Fix libgcc-dbg dependencies on hppa and m68k. Closes: #707745. + * Install host specific libstdc++ headers into the host include dir. + Closes: #707753. + * Enable Go for sparc64. + * Fix host specific c++ include dir on kfreebsd-amd64. Closes: #707957. + + [ Thorsten Glaser ] + * Regenerate m68k patches. Closes: #707766. + + [ Aurelien Jarno ] + * Fix libgcc1 symbols file for sparc64. + + -- Matthias Klose Sun, 12 May 2013 19:26:50 +0200 + +gcc-4.8 (4.8.0-6) unstable; urgency=low + + * Update to SVN 20130507 (r198699) from the gcc-4_8-branch. + + [ Samuel Thibault ] + * Backport r195826 to fix gdb build on hurd-i386. + + [ Matthias Klose ] + * Drop build dependency on locales for this upload. + + -- Matthias Klose Wed, 08 May 2013 01:17:15 +0200 + +gcc-4.8 (4.8.0-5) unstable; urgency=low + + * Update to SVN 20130506 (r198641) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Stop building the spu cross compilers on powerpc and ppc64. + * Merge back changes from gnat-4.8 4.8.0-1~exp2. + + [Ludovic Brenta] + * debian/patches/ada-libgnatprj.diff: do not include indepsw.o in the + library, it is used only in the gnattools. + + -- Matthias Klose Mon, 06 May 2013 21:49:44 +0200 + +gcc-4.8 (4.8.0-4) experimental; urgency=low + + * Update to SVN 20130421 (r198115) from the gcc-4_8-branch. + * Ignore the return value for dh_shlibdeps for builds on precise/ARM. + * Use target specific names for libstdc++ baseline files. LP: #1168267. + * Update gcc-d-lang.diff for GDC port. + * Don't use extended libstdc++-doc build dependencies for older releases. + * In gnatlink, pass the options and libraries after objects to the + linker to avoid link failures with --as-needed. Addresses: #680292. + * Build gcj for aarch64-linux-gnu. + * Update the Linaro support to the 4.8-2013.04 release. + * Fix gdc build on architectures not providing libphobos. + + -- Matthias Klose Mon, 22 Apr 2013 01:36:19 +0200 + +gcc-4.8 (4.8.0-3) experimental; urgency=low + + * Update to SVN 20130411 (r197813) from the gcc-4_8-branch. + + [ Iain Buclaw ] + * Port GDC to GCC 4.8.0 release. + + -- Matthias Klose Thu, 11 Apr 2013 19:18:24 +0200 + +gcc-4.8 (4.8.0-2) experimental; urgency=low + + * Update to SVN 20130328 (r197185) from the gcc-4_8-branch. + * Update NEWS files. + * Apply proposed patch for PR c++/55951. Closes: #703945. + * Configure with --disable-libatomic for hppa64. Closes: #704020. + + -- Matthias Klose Thu, 28 Mar 2013 06:10:29 +0100 + +gcc-4.8 (4.8.0-1) experimental; urgency=low + + * GCC 4.8.0 release. + * Fix build failure on powerpcspe (Roland Stigge). Closes: #703074. + + -- Matthias Klose Fri, 22 Mar 2013 07:47:12 -0700 + +gcc-4.8 (4.8-20130318-1) experimental; urgency=low + + * GCC snapshot 20130318, taken from the trunk. + - Fix the build failures on ARM. + * Install the libasan_preinit.o files. Closes: #703229. + + -- Matthias Klose Mon, 18 Mar 2013 16:18:25 -0700 + +gcc-4.8 (4.8-20130315-1) experimental; urgency=low + + * GCC snapshot 20130315, taken from the trunk. + + -- Matthias Klose Fri, 15 Mar 2013 18:51:15 -0700 + +gcc-4.8 (4.8-20130308-1) experimental; urgency=low + + * GCC snapshot 20130308, taken from the trunk. + + -- Matthias Klose Fri, 08 Mar 2013 12:08:12 +0800 + +gcc-4.8 (4.8-20130222-1) experimental; urgency=low + + * GCC snapshot 20130222, taken from the trunk. + * Update libasan symbols files. + + -- Matthias Klose Sat, 23 Feb 2013 04:47:15 +0100 + +gcc-4.8 (4.8-20130217-1) experimental; urgency=low + + * GCC snapshot 20130217, taken from the trunk. + + * Update libasan symbols files. + * On alpha, link with --no-relax. Update libgcc1 symbols files (Michael + Cree). Closes: #699220. + + -- Matthias Klose Mon, 18 Feb 2013 03:12:31 +0100 + +gcc-4.8 (4.8-20130209-1) experimental; urgency=low + + * GCC snapshot 20130209, taken from the trunk. + + [ Matthias Klose ] + * Add a Build-Using attribute for each binary package, which can be + built from the gcc-4.7-source package (patch derived from a proposal by + Ansgar Burchardt). + - Use it for cross-compiler packages. + - Not yet used when building gcj, gdc or gnat using the gcc-source package. + These packages don't require an exact version of the gcc-source package, + but just a versions which is specified by the build dependencies. + * Fix dh_shlibdeps calls for the libgo packages. + * libstdc-doc: Depend on libjs-jquery. + * Update libstdc++ symbols files. + * Downgrade the priority of the non-default multilib libasan packages. + + [ Thibaut Girka ] + * Fix dh_shlibdeps and dh_gencontrol cross-build mangling for + libgfortran-dev packages. + + -- Matthias Klose Sat, 09 Feb 2013 17:00:06 +0100 + +gcc-4.8 (4.8-20130127-1) experimental; urgency=low + + * GCC snapshot 20130127, taken from the trunk. + + [ Matthias Klose ] + * Fix MULTILIB_OS_DIRNAME for the default multilib on x32. + + [ Thibaut Girka ] + * Fix installation path for libatomic and libsanitizer when building a + cross-compiler with with_deps_on_target_arch_pkgs. + * Fix regexp used to list patched autotools files. + + -- Matthias Klose Sun, 27 Jan 2013 21:02:34 +0100 + +gcc-4.8 (4.8-20130113-1) experimental; urgency=low + + * GCC snapshot 20130113, taken from the trunk. + * Always configure --with-system-zlib. + * Search library dependencies in the build-sysroot too. + * Don't complain about missing .substvars files when trying to mangle + these files. + * Add ARM multilib packages to the control file for staged cross builds. + * Fix ARM multilib shlibs dependency generation for cross builds. + * Don't call dh_shlibdeps for staged cross builds. These packages + are never shipped, and the information is irrelevant. + * Build the libasan and libtsan packages before libstdc++. + * Bump build dependencies on isl and cloog. + * Don't ship libiberty.a in gcc-4.8-hppa64. Closes: #659556. + + -- Matthias Klose Sun, 13 Jan 2013 16:42:33 +0100 + +gcc-4.8 (4.8-20130105-1) experimental; urgency=low + + * GCC snapshot 20130105, taken from the trunk. + * Keep the debug link for libstdc++6. Closes: #696854. + * Update libgfortran symbols file for the trunk. + * Fix libstdc++ symbols files for sparc 128bit symbols. + * Update libgcc and libstdc++ symbols files for s390. + * Keep the rt.jar symlink in the gcj-jre-headless package. + * Explicitly search multiarch and multilib system directories when + calling dh_shlibdeps. + * Let gjdoc accept -source 1.5|1.6|1.7. Addresses: #678945. + * Fix build configured with --enable-java-maintainer-mode. + * Don't ship .md5 files in the libstdc++-doc package. + + -- Matthias Klose Sat, 05 Jan 2013 13:47:51 +0100 + +gcc-4.8 (4.8-20130102-1) experimental; urgency=low + + * GCC snapshot 20130102, taken from the trunk. + + [ Matthias Klose ] + * Resolve libgo dependencies with the built runtime libraries. + * Fix g++-4.8-multilib dependencies. + + [ Thibaut Girka ] + * Prepare for optional dependencies on the packages built on the + target architecture. + * When using the above, + - use the same settings for gcc_lib_dir, sysroot, header and C++ header + locations as for the native build. + - install libraries into the multiarch directories. + - use cpp-4.x- instead of gcc-4.x-base to collect doc files. + + -- Matthias Klose Wed, 02 Jan 2013 14:51:59 +0100 + +gcc-4.8 (4.8-20121218-1) experimental; urgency=low + + * GCC snapshot 20121217, taken from the trunk. + * Fix dependency generation for asan and atomic multilibs. + * Fix libobjc-dbg dependencies on libgcc-dbg packages. + * Fix MULTIARCH_DIRNAME definition for powerpcspe (Roland Stigge). + Closes: #695661. + * Move .jar symlinks from the -jre-lib into the -jre-headless package. + + -- Matthias Klose Tue, 18 Dec 2012 16:44:42 +0100 + +gcc-4.8 (4.8-20121217-1) experimental; urgency=low + + * GCC snapshot 20121217, taken from the trunk. + * Fix package builds with the common libraries provided by a newer + gcc-X.Y package. + * Drop build-dependency on libelf. + * Drop the g++-multilib build dependency, use the built compiler to + check which multilib variants can be run. Provide an asm symlink for + the build. + * Stop configuring cross compilers --with-headers --with-libs. + * Always call dh_shlibdeps with -l, pointing to the correct dependency + packages. + * Fix cross build stage1 package installation, only including the target + files in the gcc package. + * Explicitly configure with --enable-multiarch when doing builds + supporting the multiarch layout. + * Only configure --with-sysroot, --with-build-sysroot when values are set. + * Revert: For stage1 builds, include gcc_lib_dir files in the gcc package. + * Allow multilib enabled stage1 and stage2 cross builds. + * Don't check glibc version to configure --with-long-double-128. + * Don't auto-detect multilib osdirnames. + * Don't set a LD_LIBRARY_PATH when calling dh_shlibdeps in cross builds. + * Allow building a gcj cross compiler. + * Pretend that wheezy has x32 support (sid is now known as wheezy :-/). + + -- Matthias Klose Mon, 17 Dec 2012 18:37:14 +0100 + +gcc-4.8 (4.8-20121211-1) experimental; urgency=low + + * GCC snapshot 20121211, taken from the trunk. + * Fix build failure on multilib configurations. + + -- Matthias Klose Tue, 11 Dec 2012 08:04:30 +0100 + +gcc-4.8 (4.8-20121210-1) experimental; urgency=low + + * GCC snapshot 20121210, taken from the trunk. + * For cross builds, don't use the multiarch location for the C++ headers. + * For cross builds, fix multilib inter package dependencies. + * For cross builds, fix libc6 dependencies for non-default multilib packages. + * Build libasan packages on powerpc, ppc64. + * Only run the libgo testsuite for flags configured in RUNTESTFLAGS. + * Remove the cross-includes patch, not needed anymore with --with-sysroot=/. + * For cross builds, install into /usr/lib/gcc-cross to avoid file conflicts + with the native compiler for the target architecture. + * For cross builds, don't add /usr/local/include to the standard include + path, however /usr/local/include/ is still on the path. + * For cross builds, provide symbols files based on the symbols files for + the native build. Not picked up by dh_makeshlibs yet. + * Drop the g++-multilib build dependency, use the built compiler to + check which multilib variants can be run. + * Fix spu cross build on powerpc/ppc64. + * Make libgcj packages Multi-Arch: same, append the Debian architecture + name to the gcj java home. + * Don't encode versioned build dependencies on binutils and dpkg-dev in + the control file (makes the package cross-buildable). + * Only include gengtype for native builds. Needs upstream changes. + See #645018. + * Fix cross build failure with --enable-libstdcxx-debug. + * Only install libbacktrace if it is built. + * When cross building the native compiler, configure --with-sysroot=/ + and without --without-isl. + + -- Matthias Klose Mon, 10 Dec 2012 14:40:14 +0100 + +gcc-4.8 (4.8-20121128-1) experimental; urgency=low + + [ Matthias Klose ] + * Update patches for GCC 4.8. + * Update debian/copyright for libatomic, libbacktrace, libsanitizer. + * Remove the soversion from the libstdc++*-dev packages. + * Build libatomic and libasan packages. + * Install the static libbacktrace library and header files. + * Update build-indep dependencies for building the libstdc++ docs. + * Fix build failure in libatomic with x32 multilibs, handle -mx32 like -m64. + * Apply proposed fix for PR fortran/55395, supposed to fix the build + failure on armhf and powerpc. + * For hardened builds, disable gcc-default-format-security for now, causing + build failure building the target libstdc++ library. + * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead. + * Fix gnat build failure on kfreebsd. + * Rename the gccgo info to gccgo-4.8 on installation. + * Install the libitm documentation (if built). + * Rename the gccgo info to gccgo-4.8 on installation, install into gccgo-4.8. + * Include libquadmath documentation in the gcc-4.8-doc package. + * Build libtsan packages. + * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139. + * For stage1 builds, include gcc_lib_dir files in the gcc package. + * Point to gcc's README.Bugs when building gcj packages. Addresses: #623987. + + [ Thibaut Girka ] + * Fix libstdc++ multiarch include path for cross builds. + + -- Matthias Klose Sun, 28 Nov 2012 12:55:27 +0100 + +gcc-4.7 (4.7.2-12) experimental; urgency=low + + * Update to SVN 20121127 (r193840) from the gcc-4_7-branch. + - Fix PR middle-end/55331 (ice on valid), PR tree-optimization/54976 (ice + on valid), PR tree-optimization/54894 (ice on valid), + PR middle-end/54735 (ice on valid), PR c++/55446 (wrong code), + PR fortran/55314 (rejects valid). + + [ Matthias Klose ] + * Fix x32 multiarch name (x86_64-linux-gnux32). + * gcc-4.7-base: Add break to gcc-4.4-base (<< 4.4.7). Closes: #690172. + * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139. + * For stage1 builds, include gcc_lib_dir files in the gcc package. + + [ Thibaut Girka ] + * Fix libstdc++ multiarch include path for cross builds. + + -- Matthias Klose Tue, 27 Nov 2012 11:02:10 +0100 + +gcc-4.7 (4.7.2-11) experimental; urgency=low + + * Update to SVN 20121124 (r193776) from the gcc-4_7-branch. + - Fix PR libgomp/55411, PR libstdc++/55413, PR middle-end/55142, + PR fortran/55352. + + * Update build-indep dependencies for building the libstdc++ docs. + * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead. + * Pass --hash-style=gnu instead of --hash-style=both. + * Link using --hash-style=gnu on arm64 by default. + * Split multiarch patches into local and upstreamed parts. + * Fix PR54974: Thumb literal pools don't handle PC rounding (Matthew + Gretton-Dann). LP: #1049614, #1065509. + * Rename the gccgo info to gccgo-4.7 on installation, install into gccgo-4.7. + * Include libquadmath documentation in the gcc-4.7-doc package. + * Don't pretend to understand .d files, no D frontend available for 4.7. + * Fix the multiarch c++ include path for multilib'd targets. LP: #1082344. + * Make explicit --{en,dis}able-multiarch options effecitive (Thorsten Glaser). + + -- Matthias Klose Sat, 24 Nov 2012 03:57:00 +0100 + +gcc-4.7 (4.7.2-10) experimental; urgency=low + + * Update to SVN 20121118 (r193598) from the gcc-4_7-branch. + - Fix PR target/54892 (ARM, LP: #1065122), PR rtl-optimization/54870, + PR rtl-optimization/53701, PR target/53975 (ia64), + PR tree-optimization/54902 (LP: #1065559), PR middle-end/54945, + PR target/55019 (ARM), PR c++/54984, PR target/55175, + PR tree-optimization/53708, PR tree-optimization/54985, + PR libstdc++/55169, PR libstdc++/55047, PR libstdc++/55123, + PR libstdc++/54075, PR libstdc++/28811, PR libstdc++/54482, + PR libstdc++/55028, PR libstdc++/55215, PR middle-end/55219, + PR tree-optimization/54986, PR target/55204, PR debug/54828, + PR tree-optimization/54877, PR c++/54988, PR other/52438, + PR fortran/54917, PR libstdc++/55320, PR libstdc++/53841. + + [ Matthias Klose ] + * Update the Linaro support to the 4.7-2012.11 release. + * Define MULTIARCH_DIRNAME for arm64 (Wookey). + * Let the lib*objc-dev packages depend on the lib*gcc-dev packages. + * Let the libstdc++-dev package depend on the libgcc-dev package. + * Drop the dependency of the libstdc++-dev package on g++, make + libstdc++-dev and libstdc++-pic Multi-Arch: same. Closes: #678623. + * Install override files before calling dh_fixperms. + * Backport the libffi arm64 port. + * Build libx32gcc-dev, libx32objc-dev and libx32gfortran-dev packages. + * Allow conditional building of the x32 multilibs. + * Fix libmudflap build failure for x32 multilibs. + * Fix dependency on glibc for triarch builds. + * Add build-{arch,indep} targets. + * Fix libquadmath x32 multilib builds on kernels which don't support x32. + * Fix location of x32 specific C++ header files. + * Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++, + only if the optimization level is > 0. + * Keep the host alias when building multilib libraries which need to + be cross-built on some architectures/buildds. + * Update arm64 from the aarch64 branch 20121105. + * Fix PR other/54411, libiberty: objalloc_alloc integer overflows + (CVE-2012-3509). + * Use /usr/include//c++/4.x as the include directory + for host dependent c++ header files. + * Add alternative libelf-dev build dependency. Closes: #690952. + * Always build the aarch64-linux-gnu target from the Linaro branch. + * Add __gnu_* symbols to the libgcc1 symbols file for armel and armhf. + * For powerpcspe prevent floating point register handling when there + are none available (Roland Stigge). Closes: #693328. + * Don't apply hurd-pthread.diff for trunk builds, integrated + upstream (Samuel Thibault). Addresses: #692538. + * Again, suggest graphite runtime dependencies. + * Clean up libstdc++ man pages. Closes: #692445. + + [ Thibaut Girka ] + * Split out lib*gcc-dev packages. + * Split out lib*objc-dev packages. + * Split out lib*gfortran-dev packages. + + [ Daniel Schepler ] + * Add support for x32. Closes: #667005. + * New patch hjl-x32-gcc-4_7-branch.diff to incorporate changes from + that branch, including --with-abi=mx32 option. + * Split out lib*stdc++-dev packages. + + [ Marcin Juszkiewicz ] + * lib*-dev packages for cross builds are not Multi-Arch: same. LP: #1070694. + * Remove conflicts for armhf/armel cross packages. + + -- Matthias Klose Sun, 18 Nov 2012 17:54:15 +0100 + +gcc-4.7 (4.7.2-4) unstable; urgency=low + + * Fix PR c++/54858 (ice on valid), taken from the branch. + * Build again Go on armel and armhf. + + -- Matthias Klose Tue, 09 Oct 2012 12:00:59 +0200 + +gcc-4.7 (4.7.2-3) unstable; urgency=low + + * Revert the fix PR c/33763, and just disable the sorry message, + taken from the branch. Closes: #678589. LP: #1062343. + * Update libgo to 1.0.3. + * Go fixes: + - Fix a, b, c := b, a, 1 when a and b already exist. + - Fix some type reflection strings. + - Fix parse of (<- chan <- chan <- int)(x). + - Fix handling of omitted expression in switch. + - Better error for switch on non-comparable type. + * Fix PR debug/53135 (ice on valid), PR target/54703 (x86, wrong code), + PR c++/54777 (c++11, rejects valid), taken from the 4.7 branch. + * gcc-4.7-base: ensure smooth upgrades from squeeze by adding + Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~) + as in gcc-4.4-base (multiarch patches re-worked in 4.6.1-8/4.4.6-9). + Fixes some squeeze->wheezy upgrade paths where apt chooses to hold back + gcc-4.4-base and keep gcj-4.4-base installed instead of upgrading + gcc-4.4-base and removing the obsolete gcj-4.4-base (Andreas Beckmann). + Closes: #677582. + * Add arm64 support, partly based on Wookey's patches (only applied for + arm64). Disabled for arm64 are ssp, gomp, mudflap, boehm-gc, Ada, ObjC, + Obj-C++ and Java). + + -- Matthias Klose Fri, 05 Oct 2012 20:00:30 +0200 + +gcc-4.7 (4.7.2-2) unstable; urgency=low + + * Fix PR tree-optimization/54563 (ice on valid), PR target/54564 (fma builtin + fix), PR c/54552 (ice on valid), PR lto/54312 (memory hog), PR c/54103 (ice + on valid), PR middle-end/54638 (memory corruption), taken from the 4.7 + branch. + * Go fixes, taken from the 4.7 branch. + * On ARM, don't warn anymore that 4.4 has changed the `va_list' mangling, + taken from the trunk. + * Mention the NEWS changes for all uploads. Closes: #688278. + + -- Matthias Klose Fri, 21 Sep 2012 11:58:10 +0200 + +gcc-4.7 (4.7.2-1) unstable; urgency=low + + * GCC 4.7.2 release. + * Issues addressed after the release candidate: + - PR c++/53661 (wrong warning), LTO backport from trunk, documentation fix. + * Update NEWS files. + + -- Matthias Klose Thu, 20 Sep 2012 12:19:07 +0200 + +gcc-4.7 (4.7.1-9) unstable; urgency=low + + * GCC 4.7.2 release candidate 1. + * Update to SVN 20120914 (r191306) from the gcc-4_7-branch. + - Fix PR libstdc++/54388, PR libstdc++/54172, PR libstdc++/54172, + PR debug/54534, PR target/54536 (AVR), PR middle-end/54515 (ice on valid), + PR c++/54506 (rejects valid), PR c++/54341 (ice on valid), + PR c++/54253 (ice on valid), PR c/54559 (closes: #687496), + PR gcov-profile/54487, PR c++/53839, PR c++/54511, PR c++/53836, + PR fortran/54556. + * Update the Linaro support to the 4.7-2012.09 release. + - Adds support for the NEON vext instruction when shuffling. + - Backports improvements to scheduling transfers between VFP and core + registers. + - Backports support for the UBFX instruction on certain bit extract idioms. + + -- Matthias Klose Fri, 14 Sep 2012 19:12:47 +0200 + +gcc-4.7 (4.7.1-8) unstable; urgency=low + + * Update to SVN 20120908 (r191092) from the gcc-4_7-branch. + - Fix PR libstdc++/54376, PR libstdc++/54297, PR libstdc++/54351, + PR libstdc++/54297, PR target/54461 (AVR), PR target/54476 (AVR), + PR target/54220 (AVR), PR fortran/54208 (rejects valid), + PR middle-end/53667 (wrong code), PR target/54252 (ARM, wrong code), + PR rtl-optimization/54455 (ice on valid), PR driver/54335 (docs), + PR tree-optimization/54498 (wrong code), PR target/45070 (wrong code), + PR tree-optimization/54494 (wrong code), PR target/54436 (x86), + PR c/54428 (ice on valid), PR c/54363 (ice on valid, closes: #684635), + PR rtl-optimization/54369 (mips, sparc, wrong code), PR middle-end/54146, + PR target/46254 (ice on valid), PR rtl-optimization/54088 (ice on valid), + PR target/54212 (ARM, wrong code), PR c++/54197 (wrong code), + PR lto/53572, PR tree-optimization/53922 (wrong code). + - Go fixes. + + [ Nobuhiro Iwamatsu ] + * Remove sh4-enable-ieee.diff, -mieee enabled by default. Closes: #685975. + + [ Matthias Klose ] + * Fix PR c++/54341, PR c++/54253, taken from the trunk. Closes: #685430. + * Update libitm package description. Closes: #686802. + + -- Matthias Klose Fri, 07 Sep 2012 22:16:55 +0200 + +gcc-4.7 (4.7.1-7) unstable; urgency=low + + * Update to SVN 20120814 (r190380) from the gcc-4_7-branch. + - Fix PR libstdc++/54036, PR target/53961 (x86), PR libstdc++/54185, + PR rtl-optimization/53942, PR rtl-optimization/54157. + + [ Thibaut Girka ] + * Fix cross compilers for 64bit architectures when using + DEB_CROSS_NO_BIARCH. + * Fix glibc dependency for multiarch enabled builds for architectures + with a different libc-dev package name. + + [ Aurelien Jarno ] + * powerpc64: Fix non-multilib builds. + + [ Matthias Klose ] + * Fix syntax error generating the control file for cross builds. + Closes: #682104. + * spu build: Move static libraries to version specific directories. + Closes: #680022. + * Don't run the libstdc++ tests on mipsel, times out on the buildds. + * Update the Linaro support to the 4.7-2012.08 release. + + -- Matthias Klose Tue, 14 Aug 2012 13:58:03 +0200 + +gcc-4.7 (4.7.1-6) unstable; urgency=low + + * Update to SVN 20120731 (r190015) from the gcc-4_7-branch. + - Fix PR libstdc++/54075, PR libstdc++/53270, PR libstdc++/53978, + PR target/33135 (SH), PR target/53877 (x86), PR rtl-optimization/52250, + PR middle-end/54017, PR target/54029, PR target/53961 (x86), + PR target/53110 (x86), PR rtl-optimization/53908, PR c++/54038, + PR c++/54026, PR c++/53995, PR c++/53989, PR c++/53549 (closes: #680931), + PR c++/53953. + + -- Matthias Klose Tue, 31 Jul 2012 20:00:56 +0200 + +gcc-4.7 (4.7.1-5) unstable; urgency=high + + * Update to SVN 20120713 (r189464) from the gcc-4_7-branch. + - Fix PR libstdc++/53657, PR c++/53733 (DR 1402), PR target/53811, + PR target/53853. + + -- Matthias Klose Fri, 13 Jul 2012 16:59:59 +0200 + +gcc-4.7 (4.7.1-4) unstable; urgency=medium + + * Update to SVN 20120709 (r189388) from the gcc-4_7-branch. + - Fix PR libstdc++/53872, PR libstdc++/53830, PR bootstrap/52947, + PR middle-end/52786, PR middle-end/50708, PR tree-optimization/53693, + PR middle-end/52621, PR middle-end/53433, PR fortran/53732, + PR libstdc++/53578, PR c++/53882 (closes: #680521), PR c++/53826. + * Update the Linaro support to the 4.7-2012.07 release. + * Fix build on pre-multiarch releases (based on a patch from Chip Salzenberg). + Closes: #680590. + + -- Matthias Klose Mon, 09 Jul 2012 18:58:47 +0200 + +gcc-4.7 (4.7.1-3) unstable; urgency=low + + * Update to SVN 20120703 (r189219) from the gcc-4_7-branch. + - Fix PR preprocessor/37215, PR middle-end/38474, PR target/53595 (AVR), + PR middle-end/53790, PR debug/53682, PR target/53759 (x86), + PR c++/53816, PR c++/53821, PR c++/51214, PR c++/53498, PR c++/53305, + PR c++/52988 (wrong code), PR c++/53202 (wrong code), PR c++/53594. + - The change for PR libstdc++/49561 was reverted. The std::list size is + now the same again in c++98 and c++11 mode. + * Revert the local std::list work around. + * Build using isl instead of ppl for snapshot builds. + + -- Matthias Klose Tue, 03 Jul 2012 15:07:14 +0200 + +gcc-4.7 (4.7.1-2) unstable; urgency=medium + + * Update to SVN 20120623 (r188906) from the gcc-4_7-branch. + - Fix PR rtl-optimization/53700 (closes: #677678), PR target/52908, + PR libstdc++/53270, PR libstdc++/53678, PR gcov-profile/53744, + PR c++/52637, PR middle-end/53470, PR c++/53651, PR c++/53137, + PR c++/53599, PR fortran/53691, PR fortran/53685, PR ada/53592. + * Update NEWS files for 4.7.1. + * Bump gcc/FULL-VERSION to 4.7.1. + * Update the Linaro support to the 4.7-2012.06 release. + * Restore std::list ABI compatibility in c++11 mode. The upstream behaviour + can be enabled defining __CXX0X_STD_LIST_ABI_INCOMPAT__. This work around + will be replaced with an upstream solution. + * Fix PR debug/53682, taken from the trunk. Closes: #677606. + * Use $(with_gccbase) and $(with_gccxbase) to determine whether to enable it + in the control file (Thibaut Girka). + * When building a cross-compiler, runtime libraries for the target + architecture may be cross-built. Tell debhelper/dpkg-dev those packages + are indeed for a foreign architecture (Thibaut Girka). + + -- Matthias Klose Sat, 23 Jun 2012 11:58:35 +0200 + +gcc-4.7 (4.7.1-1) unstable; urgency=low + + * GCC 4.7.1 release. + + -- Matthias Klose Fri, 15 Jun 2012 00:38:27 +0200 + +gcc-4.7 (4.7.0-13) unstable; urgency=low + + * Update to SVN 20120612 (r188457) from the gcc-4_7-branch. + - Fix PR c++/53602 (LP: #1007616). + + * Document the changed ssp-buffer-size default in Ubuntu 10.10 and + later (Kees Cook). LP: #990141. + * Fix PR c++/26155, ICE after error with namespace alias. LP: #321883. + * Fix PR c++/53599 (reverting the fix for PR c++/53137). + Closes: #676729. LP: #1010896. + * Fix manual page names for cross builds (Thibaut Girka). Closes: #675516. + * Remove dpkg-cross build dependency for cross builds (Thibaut Girka). + Closes: #675511. + + -- Matthias Klose Tue, 12 Jun 2012 15:47:57 +0200 + +gcc-4.7 (4.7.0-12) unstable; urgency=low + + * Update to SVN 20120606 (r188261) from the gcc-4_7-branch (release + candidate 1 or 4.7.1). + - Fix PR libstdc++/52007, PR c++/53524, PR target/53559, + PR middle-end/47530, PR middle-end/53471, PR middle-end/52979, + PR target/46261, PR tree-optimization/53550, PR middle-end/52080, + PR middle-end/52097, PR middle-end/48124, PR middle-end/53501, + PR target/52667, PR target/52642, PR middle-end/48493, PR c++/53524, + PR c++/52973, PR c++/52725, PR c++/53137, PR c++/53484, PR c++/53500, + PR c++/52905, PR fortran/53521. + - Go and libgo updates. + * Include README.Debian in README.Debian.. + * Fix PR c/33763, proposed patch from the issue. Closes: #672411. + * Fix build failure in libgo with hardening defaults. + + -- Matthias Klose Wed, 06 Jun 2012 13:22:27 +0200 + +gcc-4.7 (4.7.0-11) unstable; urgency=low + + * Update to SVN 20120530 (r188035) from the gcc-4_7-branch. + - Fix PR c++/53356, PR c++/53491, PR c++/53503, PR c++/53220, + PR middle-end/53501, PR rtl-optimization/53519, + PR tree-optimization/53516, PR tree-optimization/53438, + PR target/52999, PR middle-end/53008. + + [ Matthias Klose ] + * Build-depend on netbase when building Go. Closes: #674306. + + [ Marcin Juszkiewicz ] + * Use the multiarch default for staged builds. + + -- Matthias Klose Thu, 31 May 2012 08:25:08 +0800 + +gcc-4.7 (4.7.0-10) unstable; urgency=low + + * Update to SVN 20120528 (r187927) from the gcc-4_7-branch. + - Fix PR rtl-optimization/52528, PR lto/52178, PR target/53435, + PR ada/52362, PR target/53385, PR middle-end/53460, + PR tree-optimization/53465, PR target/53448, PR tree-optimization/53408, + PR ada/52362, PR fortran/53389. + * Fix warning building libiberty/md5.c. PR other/53285. Closes: #674830. + + -- Matthias Klose Mon, 28 May 2012 11:30:36 +0800 + +gcc-4.7 (4.7.0-9) unstable; urgency=low + + * Update to SVN 20120522 (r187756) from the gcc-4_7-branch. + - Fix PR bootstrap/53183, PR tree-optimization/53436, + PR tree-optimization/53366, PR tree-optimization/53409, + PR tree-optimization/53410, PR c/53418, PR target/53416, + PR middle-end/52584, PR debug/52727, PR tree-optimization/53364, + PR target/53358, PR rtl-optimization/52804, PR target/46098, + PR target/53256, PR c++/53209, PR c++/53301, PR ada/52494, + PR fortran/53310 + * Update the Linaro support to the 4.7-2012.05 release. + + -- Matthias Klose Tue, 22 May 2012 13:01:33 +0800 + +gcc-4.7 (4.7.0-8) unstable; urgency=low + + * Update to SVN 20120509 (r187339) from the gcc-4_7-branch. + - Fix PR libstdc++/53193, PR target/53272, PR tree-optimization/53239, + PR tree-optimization/53195, PR target/52999, PR target/53228, + PR tree-optimization/52633, PR tree-optimization/52870, PR target/48496, + PR target/53199, PR target/52684, PR lto/52605, PR plugins/53126, + PR debug/53174, PR target/53187, PR tree-optimization/53144, + PR c++/53186, PR fortran/53255, PR fortran/53111, PR fortran/52864. + - Fix plugin check in gcc-{ar,nm,ranlib}-4.7. + * Install man pages for gcc-{ar,nm,ranlib}-4.7. + + -- Matthias Klose Mon, 07 May 2012 21:56:42 +0200 + +gcc-4.7 (4.7.0-7) unstable; urgency=low + + * Update to SVN 20120502 (r187039) from the gcc-4_7-branch. + - Fix PR libstdc++/53115, PR tree-optimization/53163, + PR rtl-optimization/53160, PR middle-end/53136, PR fortran/53148. + - libgo fix for mips. + * Fix setting MULTILIB_DEFAULTS for ARM multilib builds. + * Build Go on mips. + * Revert: Don't build multilib gnat on armel and armhf. + * Fix multiarch patch for alpha (Michael Cree). Closes: #670571. + * Fix Go multilib packaging issue for mips and mipsel. + + -- Matthias Klose Wed, 02 May 2012 12:42:01 +0200 + +gcc-4.7 (4.7.0-6) unstable; urgency=low + + * Update to SVN 20120430 (r186964) from the gcc-4_7-branch. + - Fix PR target/53138. + * Build Go on ARM. + * Treat wheezy the same as sid in more places (Peter Green). + Addresses: #670821. + + -- Matthias Klose Mon, 30 Apr 2012 13:06:21 +0200 + +gcc-4.7 (4.7.0-5) unstable; urgency=medium + + * Update to SVN 20120428 (r186932) from the gcc-4_7-branch. + - Fix PR c/52880, PR target/53065, PR tree-optimization/53085, + PR c/51527, PR target/53120. + + [ Matthias Klose ] + * Don't build multilib gnat on armel and armhf. + * Don't try to run the libstdc++ testsuite if the C++ frontend isn't built. + * Install the unwind-arm-common.h header file. + * Fix ARM biarch package builds. + + [ Aurelien Jarno ] + * Reenable parallel builds on GNU/kFreeBSD. + * Fix libgcc building on MIPS N32/64. Closes: #669858. + * Add libn32gcc1 and lib64gcc1 symbols files on mips and mipsel. + + -- Matthias Klose Sat, 28 Apr 2012 11:59:36 +0200 + +gcc-4.7 (4.7.0-4) unstable; urgency=low + + * Update to SVN 20120424 (r186746) from the gcc-4_7-branch. + - Fix PR libstdc++/52924, PR libstdc++/52591, PR middle-end/52894, + PR testsuite/53046, PR libstdc++/53067, PR libstdc++/53027, + PR libstdc++/52839, PR bootstrap/52840, PR libstdc++/52689, + PR libstdc++/52699, PR libstdc++/52822, PR libstdc++/52942, + PR middle-end/53084, PR middle-end/52999, PR c/53060, + PR tree-optimizations/52891, PR target/53033, PR target/53020, + PR target/52932, PR middle-end/52939, PR tree-optimization/52969, + PR c/52862, PR target/52775, PR tree-optimization/52943, PR c++/53003, + PR c++/38543, PR c++/50830, PR c++/50303, PR c++/52292, PR c++/52380, + PR c++/52465, PR c++/52824, PR c++/52906. + + [ Matthias Klose ] + * Update the Linaro support to the 4.7-2012.04 release. + * Set the ARM hard-float linker path according to the consensus: + http://lists.linaro.org/pipermail/cross-distro/2012-April/000261.html + * Reenable the spu build on ppc64. Closes: #668272. + * Update and reenable the gcc-cloog-dl patch. + + [ Samuel Thibault ] + * ada-s-osinte-gnu.adb.diff, ada-s-osinte-gnu.ads.diff, + ada-s-taprop-gnu.adb.diff, gcc_ada_gcc-interface_Makefile.in.diff: + Add ada support for GNU/Hurd, thanks Svante Signell for the patches + and bootstrap! (Closes: #668426). + + -- Matthias Klose Tue, 24 Apr 2012 08:44:15 +0200 + +gcc-4.7 (4.7.0-3) unstable; urgency=low + + * Update to SVN 20120409 (r186249) from the gcc-4_7-branch. + - Fix PR libitm/52854, PR libstdc++/52476, PR target/52717, + PR tree-optimization/52406, PR c++/52596, PR c++/52796, + PR fortran/52893, PR fortran/52668. + + [ Matthias Klose ] + * Re-add missing dependency on libgcc in gcc-multilib. Closes: #667519. + * Add support for GNU locales for GNU/Hurd (Svante Signell). + Closes: #667662. + * Reenable the spu build on ppc64. Closes: #664617. + * Apply proposed patch for PR52894, stage1 bootstrap failure on hppa + (John David Anglin). Closes: #667969. + + [ Nobuhiro Iwamatsu ] + * Fix cross build targeting sh4. Closes: #663028. + * Enable -mieee by default on sh4. Closes: #665328. + + -- Matthias Klose Mon, 09 Apr 2012 22:24:14 +0200 + +gcc-4.7 (4.7.0-2) unstable; urgency=low + + * Update to SVN 20120403 (r186107) from the gcc-4_7-branch. + - Fix PR middle-end/52547, PR libstdc++/52540, PR libstdc++/52433, + PR target/52507, PR target/52505, PR target/52461, PR target/52508, + PR c/52682, PR target/52610, PR middle-end/52640, PR target/50310, + PR target/48596, PR target/48806, PR middle-end/52547, R target/52496, + PR rtl-optimization/52543, PR target/52461, PR target/52488, + PR target/52499, PR target/52148, PR target/52496, PR target/52484, + PR target/52506, PR target/52505, PR target/52461, PR other/52545, + PR c/52577, PR c++/52487, PR c++/52671, PR c++/52582, PR c++/52521, + PR fortran/52452, PR target/52737, PR target/52698, PR middle-end/52693, + PR middle-end/52691, PR middle-end/52750, PR target/52692, + PR middle-end/51893, PR target/52737, PR target/52736, PR middle-end/52720, + PR c++/52672, PR c++/52718, PR c++/52685, PR c++/52759, PR c++/52743, + PR c++/52746, PR libstdc++/52799, PR libgfortran/52758, + PR middle-end/52580, PR middle-end/52493, PR tree-optimization/52678, + PR tree-optimization/52701, PR tree-optimization/52754, + PR tree-optimization/52835. + + [ Matthias Klose ] + * Update NEWS files for 4.7. + * Include -print-multiarch option in gcc --help output. Closes: #656998. + * Don't build Go on MIPS. + * Update alpha-ieee.diff for 4.7. + * Update gcc-multiarch.diff for sh4 (untested). Closes: #665935. + * Update gcc-multiarch.diff for hppa (untested). Closes: #666162. + * Re-add build dependency on doxygen. + + [ Samuel Thibault ] + * debian/patches/ada-bug564232.diff: Enable on hurd too. + * debian/patches/ada-libgnatprj.diff: Add hurd configuration. + + -- Matthias Klose Tue, 03 Apr 2012 16:30:58 +0200 + +gcc-4.7 (4.7.0-1) unstable; urgency=low + + * GCC 4.7.0 release. + + -- Matthias Klose Fri, 23 Mar 2012 05:44:37 +0100 + +gcc-4.7 (4.7.0~rc2-1) experimental; urgency=low + + * GCC-4.7 release candidate 2 (r185376). + * libgo: Work around parse error of struct timex_ on ARM. + * Update libstdc++6 symbols files. + * Allow building Go from a separate source package. + * Don't configure with --enable-gnu-unique-object on kfreebsd and hurd. + * Include -print-multiarch option in gcc --help output. Closes: #656998. + * Disable Go on mips* (PR go/52586). + + -- Matthias Klose Wed, 14 Mar 2012 15:49:39 +0100 + +gcc-4.7 (4.7.0~rc1-2) experimental; urgency=low + + * Update to SVN 20120310 (r185183) from the gcc-4_6-branch. + * Always configure with --enable-gnu-unique-object. LP: #949805. + * Enable Go for ARM on releases with working getcontext/setcontext. + + -- Matthias Klose Sat, 10 Mar 2012 23:29:45 +0100 + +gcc-4.7 (4.7.0~rc1-1) experimental; urgency=low + + * GCC-4.7 release candidate 1 (r184777). + + [ Marcin Juszkiewicz ] + * Fix ARM sf/hf multilib dpkg-shlibdeps dependency generation. + + [ Matthias Klose ] + * PR go/52218, don't build Go on ARM, getcontext/setcontext exists, + but return ENOSYS. + * Fix multiarch build on ia64. + * Fix path calculation for the libstdc++ -gdb.py file when installed into + multiarch locations. Closes: #661385. LP: #908163. + * Disable Go on sparc (libgo getcontext/setcontext check failing). + + [ Thorsten Glaser ] + * Apply patch from Alan Hourihane to fix err_bad_abi testcase on m68k. + + [ Jonathan Nieder ] + * libstdc++6: Depends on libc (>= 2.11) for STB_GNU_UNIQUE support + (Eugene V. Lyubimkin). Closes: #584572. + * libstdc++6, libobjc2, libgfortran3, libmudflap0, libgomp1: Breaks + pre-multiarch gcc. Closes: #651550. + * libstdc++6: Lower priority from required to important. Closes: #661118. + + [Samuel Thibault] + * Remove local patch, integrated upstream. Closes: ##661859. + + -- Matthias Klose Fri, 02 Mar 2012 18:42:56 +0100 + +gcc-4.7 (4.7-20120210-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120210 (r184114). + * kbsd-gnu.diff: Remove, integrated upstream. + * Strip whitespace from with_libssp definition. Closes: #653255. + * Remove soft-float symbols from 64bit powerpc libgcc1 symbols files. + * Fix control file generation for cross packages. LP: #913734. + + -- Matthias Klose Fri, 10 Feb 2012 21:38:12 +0100 + +gcc-4.7 (4.7-20120205-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120205 (r183903). + * Enable Go on arm*, ia64, mips*, powerpc, s390*, sparc*. + * libgo: Fix ioctl macro extracton. + * Fix PR middle-end/52074, ICE in libgo on powerpc. + * Revert: * Install static libc++{98,11} libraries. + * Don't strip a `/' sysroot from the C++ include directories. + Closes: #658442. + + -- Matthias Klose Sun, 05 Feb 2012 09:16:03 +0100 + +gcc-4.7 (4.7-20120129-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120129 (r183674). + * Configure --with-sysroot for wheezy and sid. + * Install static libc++{98,11} libraries. + * Install libstdc++ gdb.py file into /usr/lib/debug. + * Just copy libstdc++convenience.a for the libstdc++_pic installation. + * Remove trailing dir separator from system root. + + -- Matthias Klose Sun, 29 Jan 2012 08:19:27 +0100 + +gcc-4.7 (4.7-20120121-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120121 (r183370). + + [ Matthias Klose ] + * Fix C++ include paths when configured --with-system-root. + + [ Marcin Juszkiewicz ] + * Fix control file generation for ARM multiarch cross builds. + + -- Matthias Klose Sat, 21 Jan 2012 20:24:29 +0100 + +gcc-4.7 (4.7-20120107-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120107 (r182981). + + * On armel/armhf, allow g*-multilib installation using the runtime + libraries of the corresponding multiarch architecture. + * Fix location of .jinfo files. Addresses: #654579. + * Replace Fortran 95 with Fortran in package descriptions. + + -- Matthias Klose Sat, 07 Jan 2012 21:24:56 +0100 + +gcc-4.7 (4.7-20111231-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20111231 (r182754). + + [ Aurelien Jarno ] + * Re-enable parallel builds on kfreebsd-i386, as the problem from bug + #637236 only affects kfreebsd-amd64. + + [ Matthias Klose ] + * Fix generating libphobos dependency for gdc. Addresses: #653078. + * Link libmudflapth.so with -lpthread. + + -- Matthias Klose Sat, 31 Dec 2011 09:42:13 +0100 + +gcc-4.7 (4.7-20111222-1) experimental; urgency=low + + * Update to SVN 20111222 (r182617) from the trunk. + + [Matthias Klose] + * Remove obsolete ARM patch. + * Install loongson.h header. + * Update libgcc and libstdc++ symbols files. + + [Samuel Thibault] + * Update hurd patch for 4.7, fixing build failure. Closes: #652693. + + [Robert Millan] + * Update kbsd-gnu.diff for the trunk. + + -- Matthias Klose Thu, 22 Dec 2011 10:52:01 +0100 + +gcc-4.7 (4.7-20111217-2) experimental; urgency=low + + * Don't provide 4.6.x symlinks. + * Disable multilib for armhf. + * Fix spu installation. + + -- Matthias Klose Sun, 18 Dec 2011 17:22:10 +0100 + +gcc-4.7 (4.7-20111217-1) experimental; urgency=low + + * GCC-4.7 snapshot build. + - Including the GFDL documentation; will stay in experimental + until the 4.7.0 release sometime next year. + * Update patches for the trunk. + * Update symbols files. + * Build libitm packages. + + -- Matthias Klose Sat, 17 Dec 2011 23:19:46 +0100 + +gcc-4.6 (4.6.2-9) unstable; urgency=medium + + * Update to SVN 20111217 (r182430) from the gcc-4_6-branch. + - Fix PR c++/51331. + * Fix build dependencies for armel/armhf. + + -- Matthias Klose Sat, 17 Dec 2011 10:40:26 +0100 + +gcc-4.6 (4.6.2-8) unstable; urgency=low + + * Update to SVN 20111216 (r182407) from the gcc-4_6-branch. + - Fix PR tree-optimization/51485, PR tree-optimization/50569, PR c++/51248, + PR c++/51406, PR c++/51161, PR rtl-optimization/49720, PR fortran/50923, + PR fortran/51338, PR fortran/51550, PR fortran/47545, PR fortran/49050, + PR fortran/51075. + + [ Matthias Klose ] + * gdc-4.6: Provide -{gdc,gdmd}-4.6 symlinks. + + [Ludovic Brenta] + Merge from gnat-4.6 (4.6.2-2) unstable; urgency=low + [Євгеній Мещеряков] + * debian/patches/pr47818.diff: new. Fixes: #614402. + * debian/rules.patch: apply it. + + Merge from gnat-4.6 (4.6.2-1) unstable; urgency=low + [Ludovic Brenta] + * Suggest ada-reference-manual-{html,info,pdf,text} instead of just + ada-reference-manual which no longer exists. + * Do not suggest gnat-gdb, superseded by gdb. + * Downgrade libgnat{vsn,prj}4.6-dev to priority extra; they conflict + with their 4.4 counterparts and priority optional packages may not + conflict with one another, per Policy 2.5. + + -- Matthias Klose Fri, 16 Dec 2011 16:59:30 +0100 + +gcc-4.6 (4.6.2-7) unstable; urgency=medium + + * Update to SVN 20111210 (r182189) from the gcc-4_6-branch. + - Fix PR rtl-optimization/51469, PR tree-optimization/51466, + PR tree-optimization/50078, PR target/51408, PR fortran/51310, + PR fortran/51448. + + -- Matthias Klose Sat, 10 Dec 2011 20:12:33 +0100 + +gcc-4.6 (4.6.2-6) unstable; urgency=low + + * Update to SVN 20111208 (r182120) from the gcc-4_6-branch. + - Fix PR c++/51265, PR bootstrap/50888, PR target/51393 (ix86), + PR target/51002 (AVR), PR target/51345 (AVR), PR debug/48190, + PR fortran/50684, PR fortran/51218, PR target/50906 (closes: #650318), + PR tree-optimization/51315 (closes: #635126), PR tree-optimization/50622, + PR fortran/51435, PR debug/51410, PR c/51339, PR rtl-optimization/48721, + PR middle-end/51323 (LP: #897583), PR middle-end/50074, + PR middle-end/50074. + + [ Matthias Klose ] + * Run the libstdc++ testsuite on all architectures again. Closes: #622699. + * Apply proposed patch for PR target/50906 (powerpcspe only). Closes: #650318. + * Fix PR target/49030 (ARM), taken from Linaro. Closes: #633479. + * Fix PR target/50193 (ARM), taken from Linaro. Closes: #642127. + * Install the libstdc++.so-gdb.py file. LP: #883269. + * Fix PR c++/50114, backport from trunk. LP: #827806. + * Merge changes to allow gcc-snapshot cross builds, taken from Linaro. + * Update the Linaro support to the 4.6 branch. + + [ Marcin Juszkiewicz ] + * Fix issues with gcc-snapshot cross builds. + * Allow building Linaro binary packages in a single package. + * Apply hardening patches for cross builds when enabled for native builds. + + -- Matthias Klose Thu, 08 Dec 2011 17:14:35 +0100 + +gcc-4.6 (4.6.2-5) unstable; urgency=low + + * Update to SVN 20111121 (r181596) from the gcc-4_6-branch. + - Fix PR c++/50870, PR c++/50608, PR target/47997, PR target/48108, + PR target/45233, PR middle-end/51077, PR target/30282, PR c++/50608, + PR target/50979, PR target/4810, PR rtl-optimization/51187, + PR target/50493, PR target/49992, PR target/49641, PR c++/51150, + PR target/50678, PR libstdc++/51142, PR libstdc++/51133. + + [ Matthias Klose ] + * Use the default gcc as stage1 compiler for all architectures. + + [ Marcin Juszkiewicz ] + * debian/control.m4: Use BASEDEP in more places. + * Work around debhelper not calling the correct strip for cross builds. + * Drop dpkg-cross build dependency for cross builds. + + -- Matthias Klose Mon, 21 Nov 2011 22:26:49 +0100 + +gcc-4.6 (4.6.2-4) unstable; urgency=low + + * Update to SVN 20111103 (r180830) from the gcc-4_6-branch. + - Fix PR target/50691, PR c++/50901, PR target/50945, + PR rtl-optimization/47918, PR libstdc++/50880. + + * Configure the armel build by explicitly passing --with-arch=armv4t + --with-float=soft. + * libffi: Simplify PowerPC assembly and avoid CPU-specific string + instructions (Kyle Moffett). + * Fix MULTIARCH_DIRNAME on powerpcspe (Kyle Moffett). Closes: #647324. + + -- Matthias Klose Thu, 03 Nov 2011 12:03:41 -0400 + +gcc-4.6 (4.6.2-3) unstable; urgency=low + + * disable parallel builds on kfreebsd-* even if DEB_BUILD_OPTIONS + enables them (continued investigation for #637236). + + -- Ludovic Brenta Sat, 29 Oct 2011 00:42:46 +0200 + +gcc-4.6 (4.6.2-2) unstable; urgency=low + + * Update to SVN 20111028 (r180603) from the gcc-4_6-branch. + - Fix PR target/50875. + + * Fix gcj, gdc and gnat builds, broken by the stage1 cross-compiler + package dependency fixes. + * Update the Linaro support to the 4.6 branch. + * Fix gcc-4.6-hppa64 installation. Closes: #646805. + * For ARM hard float, set the dynamic linker to + /lib/arm-linux-gnueabihf/ld-linux.so.3. + * Don't use parallel builds on kfreebsd. + + -- Matthias Klose Fri, 28 Oct 2011 16:36:55 +0200 + +gcc-4.6 (4.6.2-1) unstable; urgency=low + + * GCC 4.6.2 release. + + * Fix libgcc installation into /usr/lib/gcc//4.6. Closes: #645021. + * Fix stage1 cross-compiler package dependencies (Kyle Moffett). + Closes: #644439. + + -- Matthias Klose Wed, 26 Oct 2011 13:10:44 +0200 + +gcc-4.6 (4.6.1-16) unstable; urgency=medium + + * Update to SVN 20111019 (r180208) from the gcc-4_6-branch. + - Fix PR target/49967 (ia64), PR tree-optimization/50189, PR fortran/50273, + PR tree-optimization/50700, PR c/50565 (closes: #642144), + PR target/49965 (sparc), PR middle-end/49801, PR c++/49216, + PR c++/49855, PR c++/49896, PR c++/44473, PR c++/50611, PR fortran/50659, + PR tree-optimization/50723, PR tree-optimization/50712, PR obj-c++/48275, + PR c++/50618, PR fortran/47023, PR fortran/50570, PR fortran/50718, + PR libobjc/49883, PR libobjc/50002, PR target/50350, PR middle-end/50386, + PR middle-end/50326, PR target/50737, PR c++/50787, PR c++/50531, + PR fortran/50016, PR target/50737. + + [ Matthias Klose ] + * Fix libjava installation into /usr/lib/gcc//4.6. + * Fix powerpc and ppc64 libffi builds (Kyle Moffett). + * Apply proposed patch for PR target/50350. Closes: #642313. + * Re-apply the fix for PR tree-optimization/49911 on ia64. + * Apply proposed patch for PR target/50106 (ARM). + + [Xavier Grave] + * debian/patches/address-clauses-timed-entry-calls.diff: new; backport + bug fix about address clauses and timed entry calls. + + [Ludovic Brenta] + * debian/patches/ada-kfreebsd-gnu.diff: new; provide dummy + implementations of some optional POSIX Threads functions missing in + GNU/kFreeBSD. Closes: #642128. + + -- Matthias Klose Thu, 20 Oct 2011 00:24:13 +0200 + +gcc-4.6 (4.6.1-15) unstable; urgency=low + + * Update to SVN 20111010 (r179753) from the gcc-4_6-branch. + - Fix PR target/50652. + * Update the Linaro support to the 4.6-2011.10-1 release. + * Fix gcc-spu installation. + * Restore symlink for subminor GCC version. Closes: #644849. + + -- Matthias Klose Mon, 10 Oct 2011 17:10:40 +0200 + +gcc-4.6 (4.6.1-14) unstable; urgency=low + + * Update to SVN 20111008 (r179710) from the gcc-4_6-branch. + - Fix PR inline-asm/50571, PR c++/46105, PR c++/50508, PR libstdc++/50529, + PR libstdc++/49559, PR c++/40831, PR fortran/48706, PR target/49049, + PR tree-optimization/49279, PR fortran/50585, PR fortran/50625, + PR libstdc++/48698. + + [ Matthias Klose ] + * Configure and build to install into /usr/lib/gcc//4.6. + Closes: #643891. + * libgcc1: Versioned break to gcc-4.3. + * Fix gcc-multiarch for i386-linux-gnu with disabled multilibs. + * libffi: Fix PowerPC soft-floating-point support (Kyle Moffett). + + [ Marcin Juszkiewicz ] + * Enable gcc-snapshot cross builds. + + [ Iain Buclaw ] + * Port gdc to GCC-4.6. + + [ Aurelien Jarno ] + * Backport fix for PR target/49696 from the trunk (Closes: #633443). + + -- Matthias Klose Sat, 08 Oct 2011 14:40:49 +0200 + +gcc-4.6 (4.6.1-13) unstable; urgency=low + + * Update to SVN 20110926 (r179207) from the gcc-4_6-branch. + - Fix PR tree-optimization/50472, PR tree-optimization/50413, + PR tree-optimization/50412, PR c++/20039, PR c++/42844, + PR libstdc++/50510, PR libstdc++/50509. + * Revert the fix for PR tree-optimization/49911, bootstrap error on ia64. + * libffi: Define FFI_MMAP_EXEC_WRIT on kfreebsd-* (Petr Salinger). + + -- Matthias Klose Mon, 26 Sep 2011 19:59:55 +0200 + +gcc-4.6 (4.6.1-12) unstable; urgency=low + + * Update to SVN 20110924 (r179140) from the gcc-4_6-branch. + - Fix PR target/50464, PR target/50341, PR middle-end/49886, + PR target/50091, PR c++/50491, PR c++/50442 (Closes: #642176). + + -- Matthias Klose Sat, 24 Sep 2011 10:39:32 +0200 + +gcc-4.6 (4.6.1-11) unstable; urgency=low + + * Update to SVN 20110917 (r178926) from the gcc-4_6-branch. + - Fix PR c++/50424, PR c++/48320, PR fortran/49479. + + [ Matthias Klose ] + * Update the Linaro support to the 4.6-2011.09-1 release. + + [ Aurelien Jarno ] + * gcc.c (for_each_path): Allocate memory for multiarch suffix. + + -- Matthias Klose Sat, 17 Sep 2011 10:53:36 +0200 + +gcc-4.6 (4.6.1-10) unstable; urgency=medium + + * Update to SVN 20110910 (r178746) from the gcc-4_6-branch. + - Fix PR middle-end/50266, PR tree-optimization/49911, + PR tree-optimization/49518, PR tree-optimization/49628, + PR tree-optimization/49628, PR target/50310, PR target/50289, + PR c++/50255, PR c++/50309, PR c++/49267, PR libffi/49594. + - Revert fix for PR middle-end/49886, causing PR middle-end/50295. + + -- Matthias Klose Sat, 10 Sep 2011 03:38:48 +0200 + +gcc-4.6 (4.6.1-9) unstable; urgency=low + + * Update to SVN 20110903 (r178501) from the gcc-4_6-branch. + - Fix PR target/50090, PR middle-end/50116, PR target/50202, PR c/50179, + PR c++/50157, PR fortran/50163, PR libfortran/50192, + PR middle-end/49886, PR tree-optimization/50178, PR c++/50207, + PR c++/50089, PR c++/50220, PR c++/50234, PR c++/50224, + PR libstdc++/50268. + + [ Matthias Klose ] + * Fix gcc --print-multilib-osdir for non-biarch architectures. + * Fix multiarch for non-biarch builds. Closes: #635860. + * Move the lto plugin to the cpp packge. Closes: #639531. + + [ Thorsten Glaser ] + * [m68k] Disable multilib. Closes: #639303. + + -- Matthias Klose Sat, 03 Sep 2011 20:11:50 +0200 + +gcc-4.6 (4.6.1-8) unstable; urgency=low + + * Update to SVN 20110824 (r178027) from the gcc-4_6-branch. + Fix PR fortran/49792, PR tree-optimization/48739, PR target/50092, + PR c++/50086, PR c++/50054, PR fortran/50050, PR fortran/50130, + PR fortran/50129, PR fortran/49792, PR fortran/50109, PR c++/50024, + PR c++/46862. + + * Properly disable multilib builds for selected libraries on armel and armhf. + * Update and re-enable the gcc-ice patch. + * Update and re-enable the gcc-cloog-dl patch. + * Fix [ARM] PR target/50090: aliases in libgcc.a with default visibility, + taken from the trunk. + * Re-work the multiarch patches. + * Break older gcj-4.6 and gnat-4.6 versions, changed gcc_lib_dir. + * Omit the target alias from the go libdir. + * Linaro updates from the 4.6-2011.07-stable branch. + * Revert: + - libjava: Build with the system libffi PIC library. + * For native builds, gcc -print-file-name now resolve . and .., + and removes the subminor version number. + + -- Matthias Klose Wed, 24 Aug 2011 10:22:42 +0200 + +gcc-4.6 (4.6.1-7) unstable; urgency=low + + * Update to SVN 20110816 (r177780) from the gcc-4_6-branch. + - Fix PR middle-end/49923. + + [ Matthias Klose ] + * gcc-4.6-multilib: Depend on biarch quadmath library. Closes: #637174. + * Don't hard-code build dependency on gcc-multilib. + * Build-depends on python when building java. + * Fix thinko in java::lang::Class::finalize (taken from the trunk). + * Add support for ARM 64bit sync intrinsics (David Gilbert). Only + enable for armv7 or better. + * libjava: Build with the system libffi PIC library. + * Disable gnat multilib builds on armel and armhf. + + Merge from gnat-4.6 (4.6.1-4) unstable; urgency=low + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff + (src/gcc/ada/gcc-interface/Makefile.in): pass -iquote instead of -I- + to gnatgcc; fixes FTBFS on i386 and closes: #637418. + + Merge from gnat-4.6 (4.6.1-3) unstable; urgency=low + + [Євгеній Мещеряков] + * debian/patches/ada-mips.diff: do not use the alternate stack on mips, + as on mipsel. Closes: #566234. + + [Ludovic Brenta] + * debian/patches/pr49940.diff: new; copy the definition of function + lwp_self from s-osinte-freebsd.ads to s-osinte-kfreebsd-gnu.ads. + Closes: #636291. + * debian/patches/pr49944.diff: new. Closes: #636692. + * debian/patches/pr49819.diff: drop, merged upstream. + + -- Matthias Klose Tue, 16 Aug 2011 13:11:25 +0200 + +gcc-4.6 (4.6.1-6) unstable; urgency=low + + * Update to SVN 20110807 (r177547) from the gcc-4_6-branch. + - Fix PR rtl-optimization/49799, PR debug/49871, PR target/47364, + PR target/49866, PR tree-optimization/49671, PR target/39386, + PR ada/4981, PR fortran/45586, PR fortran/49791, PR middle-end/49897, + PR middle-end/49898, PR target/49920, PR target/47908 (closes: #635919), + PR c++/43886, PR c++/49593, PR c++/49803, PR c++/49924, PR c++/49260, + PR fortran/49885, PR fortran/48876, PR libstdc++/49925, PR target/50001, + PR tree-optimization/49948, PR c++/48993, PR c++/49921, PR c++/49669, + PR c++/49988, PR fortran/49112. + + [ Aurelien Jarno ] + * Update patches/kbsd-gnu.diff for recent changes. Closes: #635195. + * Add s390x support. + + [ Marcin Juszkiewicz ] + * Fixes for multilib cross builds. LP: #816852, #819147. + + [ Matthias Klose ] + * Fix libgo installation for cross builds. + * Only apply arm-multilib when building for multilib. + + -- Matthias Klose Sun, 07 Aug 2011 18:20:00 +0200 + +gcc-4.6 (4.6.1-5) unstable; urgency=low + + * Update to SVN 20110723 (r176672) from the gcc-4_6-branch. + - Fix PR target/49541, PR tree-optimization/49768, PR middle-end/49675, + PR target/49746, PR middle-end/49732, PR tree-optimization/49725, + PR target/49723, PR target/49541, PR tree-opt/49309, PR c++/49785, + PR ada/48711, PR ada/46350, PR fortran/49648, PR testsuite/49753, + PR tree-optimization/49309, PR tree-optimization/45819, PR target/49600, + PR fortran/49708, PR libstdc++/49293. + * Update the Linaro support to the 4.6-2011.07-0 release. + - Fix PR target/49335. LP: #791327. + * Update gcc-multiarch: + - Add -print-multiarch option. + - Fix library path for non-default multilib(s). + - Handle `.' in MULTILIB_DIRNAMES. + * Add support to build multilib on armel and armhf, only enable it for + Ubuntu/oneiric. LP: #810360. + * cpp-4.6: Add empty multiarch directories for the non-default multilibs, + needed for relative lookups from startfile_prefixes. + * Fix PR c++/49756, backport from trunk. LP: #721378. + * libgcc1: Add breaks to gcc-4.1 and gcc-4.3. Closes: #634821. + * Configure for DEB_TARGET_MULTIARCH defaults. + + -- Matthias Klose Sat, 23 Jul 2011 08:15:50 +0200 + +gcc-4.6 (4.6.1-4) unstable; urgency=low + + * Update to SVN 20110714 (r176280) from the gcc-4_6-branch. + - Fix PR tree-optimization/49094, PR target/39633, PR c++/49672, + PR fortran/49698, PR fortran/49690, PR fortran/49562, PR libfortran/49296, + PR target/49487, PR tree-optimization/49651, PR ada/48711. + + [ Matthias Klose ] + * Build Go on alpha for gcc-snapshot builds. + * For multicore ARM, clear both caches, not just the dcache (proposed + patch by Andrew Haley). + * Fix for PR rtl-optimization/{48830,48808,48792}, taken from the trunk. + LP: #807573. + * Fix PR tree-optimization/49169, optimisations strip the Thumb/ARM mode bit + off function pointers (Richard Sandiford). LP: #721531. + + [ Marcin Juszkiewicz ] + * Define DEB_TARGET_MULTIARCH macro. + * debian/rules2: Macro and configuration consolidation. + + -- Matthias Klose Thu, 14 Jul 2011 19:38:49 +0200 + +gcc-4.6 (4.6.1-3) unstable; urgency=medium + + * Update to SVN 20110709 (r176108) from the gcc-4_6-branch. + - Fix PR target/49335, PR tree-optimization/49618, PR c++/49598, + PR fortran/49479, PR target/49621, PR target/46779, PR target/49660, + PR c/49644, PR debug/49522, PR debug/49522, PR middle-end/49640, + PR c++/48157, PR c/49644, PR fortran/48926. + - Apparently fixes a boost issue. Closes: #632938. + * Apply proposed patch for PR fortran/49690. Closes: #631204. + + * README.Debian: New section 'Former and/or inactive maintainers'. + + -- Matthias Klose Sun, 10 Jul 2011 00:04:34 +0200 + +gcc-4.6 (4.6.1-2) unstable; urgency=medium + + * Update to SVN 20110705 (r175840) from the gcc-4_6-branch. + - Fix PR target/47997, PR c++/49528, PR c++/49440, PR c++/49418, + PR target/44643, PR tree-optimization/49615, PR tree-optimization/49572, + PR target/34734, PR tree-optimization/49539, PR tree-optimizations/49516, + PR target/49089, PR rtl-optimization/49014, PR target/48273, + PR fortran/49466, PR libfortran/49296, PR libffi/46660, PR debug/49262, + PR rtl-optimization/49472, PR rtl-optimization/49619, PR fortran/49623, + PR fortran/49540. + + [Ludovic Brenta, Євгеній Мещеряков, Xavier Grave] + * Adjust patches to GCC 4.6. + * Remove patches merged upstream: + - debian/patches/ada-arm-eabi.diff + - debian/patches/ada-bug589164.diff + - debian/patches/ada-bug601133.diff + - debian/patches/ada-gnatvsn.diff + - debian/patches/ada-mips.diff + - debian/patches/ada-polyorb-dsa.diff + + [Ludovic Brenta] + * debian/patches/ada-acats.diff: set LD_LIBRARY_PATH, ADA_INCLUDE_PATH + and ADA_OBJECTS_PATH so that the GNAT testsuite runs. + * debian/patches/adalibgnat{vsn,prj}.diff, + debian/rules.d/binary-ada.mk: install libgnat{vsn,prj}.so.* in the correct + multiarch directory. + * debian/control.m4, debian/rules.d/binary-ada.mk: move the SJLJ version + of the Ada run-time library to a new package, gnat-4.6-sjlj. + * debian/control.m4 (libgnatvsn4.6, libgnatvsn4.6-dbg, libgnatprj4.6, + libgnatprj4.6-dbg): pre-depend on multiarch-support and add + Multi-Arch: same. + + [Nicolas Boulenguez] + * debian/rules.d/binary-ada.mk: add gnathtml to the package gnat-4.6. + * debian/gnat.1: remove the version number of GCC. Mention gnathtml. + + [ Matthias Klose ] + * Do not install the spu and hppa64 cross compilers into the multiarch path. + * Update the Linaro support to 20110704. + + [ Thorsten Glaser ] + * Apply changes from src:gcc-4.4 for m68k support. Closes: #632380. + - debian/rules.defs: Remove m68k from locale_no_cpus. + - debian/patches/gcc-multiarch.diff: Add m68k multiarch_mappings. + - debian/patches/pr43804.diff: Fix backported from SVN. + - debian/rules.patch: Add pr43804. + + -- Matthias Klose Tue, 05 Jul 2011 10:45:56 +0200 + +gcc-4.6 (4.6.1-1) unstable; urgency=low + + * GCC 4.6.1 release. + + [Ludovic Brenta] + * debian/patches/ada-gnatvsn.diff, + debian/patches/ada-polyorb-dsa.diff: remove backports, no longer + needed. + + [ Matthias Klose ] + * Fix plugin header installation. Closes: #631082. + * Stop passing -Wno-error=unused-but-set-parameter and + -Wno-error=unused-but-set-variable if -Werror is present. + This was a temporary workaround introduced in 4.6.0~rc1-2. Closes: #615157. + * gcc-4.6-spu: Install the lto plugin. Closes: #631772. + + -- Matthias Klose Mon, 27 Jun 2011 13:54:04 +0200 + +gcc-4.6 (4.6.0-14) unstable; urgency=low + + * Update to SVN 20110616 (r175102) from the gcc-4_6-branch. + - Fix PR debug/48459, PR fortran/49103, PR rtl-optimization/49390, + PR c++/49117, PR c++/49369, PR c++/49290, PR target/44618, + PR tree-optimization/49419 (closes: #630567). + * Update the Linaro support to the 4.6-2011.06-0 release. + + -- Matthias Klose Thu, 16 Jun 2011 16:10:33 +0200 + +gcc-4.6 (4.6.0-13) unstable; urgency=low + + * Update to SVN 20110611 (r174958) from the gcc-4_6-branch. + * Extend multiarch support for mips/mipsel. + * Fix control files for gcj multiarch builds. + * Update libstdc++ symbols files. + + -- Matthias Klose Sat, 11 Jun 2011 20:49:42 +0200 + +gcc-4.6 (4.6.0-12) unstable; urgency=medium + + * Update to SVN 20110608 (r174800) from the gcc-4_6-branch. + - PR target/49186, PR rtl-optimization/49235, PR tree-optimization/48702, + PR tree-optimization/49243, PR c++/49134, PR target/49238, + PR gcov-profile/49299, PR c++/48780, PR c++/49298, PR fortran/49268. + * Fix c++ biarch header installation on i386. LP: #793411. + * Enable multiarch. + * Add multiarch attributes for gnat and libgnat packages. + * Add multiarch attributes for libgcj* packages. + * Adjust build dependency on multiarch glibc. + + -- Matthias Klose Wed, 08 Jun 2011 11:26:52 +0200 + +gcc-4.6 (4.6.0-11) unstable; urgency=low + + * Update to SVN 20110604 (r174637) from the gcc-4_6-branch. + - Fix PR c++/49165, PR tree-optimization/49218, PR target/45263, + PR target/43700, PR target/43995, PR tree-optimization/49217, + PR c++/49223, PR c++/47049, PR c++/47277, PR c++/48284, PR c++/48657, + PR c++/49176, PR fortran/48955, PR tree-optimization/49038, + PR tree-optimization/49093, PR middle-end/48985, PR middle-end/48953, + PR c++/49276, PR fortran/49265, PR fortran/45786. + * Configure the hppa64 and spu cross builds with --enable-plugin. + + -- Matthias Klose Sat, 04 Jun 2011 16:12:27 +0200 + +gcc-4.6 (4.6.0-10) unstable; urgency=high + + * Update to SVN 20110526 (r174290) from the gcc-4_6-branch. + - Fix PR target/44643, PR c++/49165, PR tree-optimization/49161, + PR target/49128, PR tree-optimization/44897, PR target/49133, + PR c++/44994, PR c++/49156, PR c++/45401, PR c++/44311, PR c++/44311, + PR c++/45698, PR c++/46145, PR c++/46245, PR c++/46696, PR c++/47184, + PR c++/48935, PR c++/45418, PR c++/45080, PR c++/48292, PR c++/49136, + PR c++/49042, PR c++/48884, PR c++/49105, PR c++/47263, PR c++/47336, + PR c++/47544, PR c++/48617, PR c++/48424, PR libstdc++/49141, + PR libobjc/48177. + * Proposed fix for PR tree-optimization/48702, PR tree-optimization/49144. + Closes: #627795. + * Proposed fix for PR fortran/PR48955. + * Add some conditionals to build the package on older releases. + + -- Matthias Klose Thu, 26 May 2011 16:00:49 +0200 + +gcc-4.6 (4.6.0-9) unstable; urgency=low + + * Update to SVN 20110524 (r174102) from the gcc-4_6-branch. + - Fix PR lto/49123, PR debug/49032, PR c/49120, PR middle-end/48973, + PR target/49104, PR middle-end/49029, PR c++/48647, PR c++/48945, + PR c++/48780, PR c++/49066, PR libstdc++/49058, PR target/49104. + * Use gcc-4.4 as the bootstrap compiler for kfreebsd to work around + a bootstrap issue. + + -- Matthias Klose Tue, 24 May 2011 09:41:35 +0200 + +gcc-4.6 (4.6.0-8) unstable; urgency=low + + * Update to SVN 20110521 (r173994) from the gcc-4_6-branch. + - Fix PR target/48986, PR preprocessor/48677, PR tree-optimization/48975, + PR tree-optimization/48822, PR debug/48967, PR debug/48159, + PR target/48857, PR target/48495, PR tree-optimization/48837, + PR tree-optimization/48611, PR tree-optimization/48794, PR c++/48859, + PR c++/48574, PR fortran/48889, PR target/49002, PR lto/48207, + PR tree-optimization/49039, PR tree-optimization/49018, PR lto/48703, + PR tree-optimization/48172, PR tree-optimization/48172, PR c++/48873, + PR tree-optimization/49000, PR c++/48869, PR c++/49043, PR c++/49082, + PR c++/48948, PR c++/48745, PR c++/48736, PR bootstrap/49086, + PR tree-optimization/49079, PR tree-optimization/49073. + * Update the Linaro support to the 4.6-2011.05-0 release. + * pr45979.diff: Update to the version from the trunk. + + -- Matthias Klose Sat, 21 May 2011 12:19:10 +0200 + +gcc-4.6 (4.6.0-7) unstable; urgency=low + + * Update to SVN 20110507 (r173528) from the gcc-4_6-branch. + - Fix PR middle-end/48597, PR c++/48656, PR fortran/48112, + PR fortran/48279, PR fortran/48788, PR tree-optimization/48809, + PR target/48262, PR fortran/48462, PR fortran/48746, + PR fortran/48810, PR fortran/48800, PR libstdc++/48760, + PR libgfortran/48030, PR preprocessor/48192, PR lto/48846, + PR target/48723, PR fortran/48894, PR target/48900, PR target/48252, + PR c++/40975, PR target/48252, PR target/48774, PR c++/48838, + PR c++/48749, PR ada/48844, PR fortran/48720, PR libstdc++/48750, + PR c++/48909, PR c++/48911, PR c++/48446, PR c++/48089. + + * Fix issue with volatile bitfields vs. inline asm memory constraints, + taken from the trunk, apply for ARM only. Addresses: #625825. + + -- Matthias Klose Sat, 07 May 2011 14:54:51 +0200 + +gcc-4.6 (4.6.0-6) unstable; urgency=low + + * Update to SVN 20110428 (r173059) from the gcc-4_6-branch. + - Fix PR c/48685 (closes: #623161), PR tree-optimization/48717, PR c/48716, + PR c/48742, PR debug/48768, PR tree-optimization/48734, + PR tree-optimization/48731, PR other/48748, PR c++/42687, PR c++/48726, + PR c++/48707, PR fortran/48588, PR libstdc++/48521, PR c++/48046, + PR preprocessor/48740. + * Update the ibm/gcc-4_6-branch to 20110428. + * Use gcc-4.6 as bootstrap compiler on kfreebsd-*. + + -- Matthias Klose Thu, 28 Apr 2011 10:33:52 +0200 + +gcc-4.6 (4.6.0-5) unstable; urgency=low + + * Update to SVN 20110421 (r172845) from the gcc-4_6-branch. + - Fix PR target/48288, PR tree-optimization/48611, PR lto/48148, + PR lto/48492, PR fortran/47976, PR c++/48594, PR c++/48657, + PR c++/46304, PR target/48708, PR middle-end/48695. + + * Update the Linaro support to the 4.6-2011.04-0 release. + + -- Matthias Klose Thu, 21 Apr 2011 22:50:25 +0200 + +gcc-4.6 (4.6.0-4) unstable; urgency=medium + + * Update to SVN 20110419 (r172584) from the gcc-4_6-branch. + - Fix PR target/48678, PR middle-end/48661, PR tree-optimization/48616, + PR lto/48538, PR c++/48537, PR c++/48632, PR testsuite/48675, + PR libstdc++/48635, PR libfortran/47571. + + [ Aurelien Jarno ] + * Enable SSP on mips/mipsel. + + [ Matthias Klose ] + * (Build-)depend on binutils 2.21.51. + + -- Matthias Klose Tue, 19 Apr 2011 23:45:16 +0200 + +gcc-4.6 (4.6.0-3) unstable; urgency=high + + * Update to SVN 20110416 (r172584) from the gcc-4_6-branch. + - Fix PR rtl-optimization/48143, PR target/48142, PR target/48349, + PR debug/48253, PR fortran/48291, PR target/16292, PR c++/48280, + PR c++/48212, PR c++/48369, PR c++/48281, PR c++/48265, PR lto/48246, + PR libstdc++/48398, PR bootstrap/48431, PR tree-optimization/48377, + PR debug/48343, PR rtl-optimization/48144, PR debug/48466, PR c/48517, + PR middle-end/48335, PR c++/48450, PR target/47829, PR c++/48534, + PR c++/48523, PR libstdc++/48566, PR libstdc++/48541, PR target/48366, + PR libstdc++/48465, PR middle-end/48591, PR target/48605, + PR middle-end/48591, PR target/48090, PR tree-optimization/48195, + PR rtl-optimization/48549, PR c++/48594, PR c++/48570, PR c++/48574, + PR fortran/48360, PR fortran/48456, PR libstdc++/48631, + PR libstdc++/48635, PR libstdc++/48476. + + [ Matthias Klose ] + * libjava-jnipath.diff: Add /usr/lib//jni as jnipath too. + * Add mudflap support for varargs (patch taken from the trunk). + * gcc-4.6-plugin-dev: Install gtype.state. + * Bootstrap with gcc-4.4 -g -O2 on armel. + * Fix linker plugin configuration. Closes: #620661. + * Update the Linaro support for GCC-4.6. + * gcc-snapshot builds: + - Fix build with multiarch changes. + - Use gcc-snapshot as the bootstrap compiler on armel. + - Re-enable building java in the gcc-snapshot package. + * Build supporting multiarch on wheezy/sid. + * Adjust (build)-dependency to new libgmp-dev name. + + [ Marcin Juszkiewicz ] + * Configure stage1 cross builds with --disable-libquadmath. + + -- Matthias Klose Sat, 16 Apr 2011 17:02:30 +0200 + +gcc-4.6 (4.6.0-2) unstable; urgency=low + + * Update to SVN 20110329 (r171700) from the gcc-4_6-branch. + - Fix PR bootstrap/48135, PR target/47553, PR middle-end/48269, + PR tree-optimization/48228, PR middle-end/48134, PR middle-end/48031, + PR other/48179, PR other/48221, PR other/48234, PR target/48237, + PR debug/48204, PR c/42544, PR c/48197, PR rtl-optimization/48141, + PR rtl-optimization/48141, PR c++/48166, PR c++/48296, PR c++/48289, + PR c++/47999, PR c++/48313, Core 1232, Core 1148, PR c++/47504, + PR c++/47570, PR preprocessor/48248, PR c++/48319. + + [ Matthias Klose ] + * Update NEWS files. + * Configure the hppa64 cross build with --disable-libquadmath. + * Don't build armhf from the Linaro branch. + * Don't try to build Go on sh4. + + [ Marcin Juszkiewicz ] + * Fixes issues with staged cross builds. LP: #741855, #741853. + * Fix libdir setting for multiarch enabled cross builds. LP: #741846. + * Drop alternatives for cross builds. LP: #676454. + + -- Matthias Klose Tue, 29 Mar 2011 23:22:07 +0200 + +gcc-4.6 (4.6.0-1) unstable; urgency=low + + * GCC 4.6.0 release. + + * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618865. + * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX, + taken from the trunk. + * Fix PR target/47487 ICE building libgo, taken from the trunk. + * Merge multiarch changes from the gcc-4.5 package. + * Apply proposed patch to reduce the overhead of dwarf2 location tracking. + Addresses: #618748. + + -- Matthias Klose Sat, 26 Mar 2011 03:03:21 +0100 + +gcc-4.6 (4.6.0~rc1-3) experimental; urgency=low + + * GCC 4.6.0 release candidate 2. + + -- Matthias Klose Tue, 22 Mar 2011 22:11:42 +0100 + +gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low + + [ Loic Minier ] + * Rework config/vxworks-dummy.h installation snippet to test + DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips% + sh% sparc%) as to also install this header on other ports targetting the + relevant upstream CPUs such as armhf. Add a comment pointing at the + upstream bug. + * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches + arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals + armel. Add a comment pointing at the Debian bug and indicating that this + is only useful for older dpkg-dev versions. + * debian/rules.def: fix "armel" entry to "arm" in list of + DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries. + * debian/rules2: drop commented out GCC #42509 workaround as this was fixed + upstream in 4.4+. + * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for + arm as ths is what the Debian arm, armel and armhf port use. + * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid + duplication, as a comment called out for. + * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding + whether to enable profiledbootstrap. + * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well. + * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU. + * Patched a couple of comments mentioning armel to also mention armhf. + * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported + from a patch sent on the upstream mailing-list. + + [ Matthias Klose ] + * Update libstdc++ symbols files. + * Update libgfortran symbols files. + + -- Matthias Klose Sun, 20 Mar 2011 13:53:48 +0100 + +gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low + + * Update to SVN 20110320 (r171192) from the gcc-4_6-branch. + + [ Matthias Klose ] + * Update gcc-default-ssp* patches for the release candidate. + * Pass -Wno-error=unused-but-set-parameter if -Werror is present (temporary + for rebuild tests). + * Always configure --with-plugin-ld, always install liblto_plugin.so. + + [ Marcin Juszkiewicz ] + * Add conflicts with -4.5-*dev packages. Closes: #618450. + + [ Petr Salinger] + * Disable lock-2.c test on kfreebsd-*. Closes: #618988. + * Re-enable parallel builds on kfreebsd. + * Package lto_plugin for kfreebsd-* and Hurd. + + -- Matthias Klose Sun, 20 Mar 2011 13:53:48 +0100 + +gcc-4.6 (4.6.0~rc1-1) experimental; urgency=low + + * Build from the GCC 4.6.0 release candidate tarball. + + [ Matthias Klose ] + * Disable Go on powerpc. Closes: #615827. + * Fix lintian errors for the -plugin-dev package. + * Update kbsd-gnu.diff (Petr Salinger). Closes: #615826. + * Disable parallel builds on kfreebsd (Petr Salinger). + * Update gmp (build) dependencies. + * Update GFDL compliant builds. Closes: #609161. + * For GFDL compliant builds, build a dummy s-tm-texi without access + to the texinfo sources. + + [ Aurelien Jarno ] + * Import symbol files for kfreebsd-amd64, kfreebsd-i386, sh4 and + sparc64 from gcc-4.5. + + -- Matthias Klose Mon, 14 Mar 2011 19:01:08 +0100 + +gcc-4.6 (4.6-20110227-1) experimental; urgency=low + + [ Matthias Klose ] + * Update libquadmath symbols file. + * gcc-4.6-plugin-dev: Install gengtype. + + [ Sebastian Andrzej Siewior ] + * Remove -many on powerpcspe (__SPE__). + * Remove classic FPU opcodes from libgcc if target has no support for them + (powerpcspe). + + -- Matthias Klose Sun, 27 Feb 2011 22:33:45 +0100 + +gcc-4.6 (4.6-20110216-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Pass --no-add-needed by default to the linker. See + http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols + in indirect dependent shared libraries" for more information. + + -- Matthias Klose Wed, 16 Feb 2011 23:55:32 +0100 + +gcc-4.6 (4.6-20110125-1) experimental; urgency=low + + * debian/copyright: Add unicode copyright for + libjava/classpath/resource/gnu/java/locale/* files. Addresses: #609161. + + -- Matthias Klose Wed, 26 Jan 2011 03:42:10 +0100 + +gcc-4.6 (4.6-20110123-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Don't run the libstdc++ testsuite on mipsel, times out on the buildd. + + [ Marcin Juszkiewicz ] + * Fix biarch/triarch cross builds. + - dpkg-shlibdeps failed to find libraries for 64 or n32 builds + - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs. + + -- Matthias Klose Sun, 23 Jan 2011 12:14:49 +0100 + +gcc-4.6 (4.6-20110116-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Update patches for the trunk. + * Pass -Wno-error=unused-but-set-variable if -Werror is present (temporary + for rebuild tests). + * Work around PR libffi/47248, force a read only eh frame section. + + -- Matthias Klose Sun, 16 Jan 2011 23:28:28 +0100 + +gcc-4.6 (4.6-20110105-1) experimental; urgency=low + + [ Matthias Klose ] + * Rename and update libobjc symbols files. + * Update cloog/ppl build dependencies. + * Adjust libstdc++ configure and paths for stylesheets and dtds. + * Update copyright for libquadmath, libgo, gcc/go/gofrontend. + * Enable Go for more architectures. + * DP: libgo: Fix GOARCH for i386 biarch, add GOARCH for powerpc + + [ Kees Cook ] + * Update hardening patches for GCC-4.6. LP: #696990. + + -- Matthias Klose Wed, 05 Jan 2011 22:29:57 +0100 + +gcc-4.6 (4.6-20101220-1) maverick; urgency=low + + * GCC snapshot, taken from the trunk. + + -- Matthias Klose Tue, 21 Dec 2010 00:16:19 +0100 + +gcc-4.5 (4.5.2-7) unstable; urgency=low + + * Update to SVN 20110323 (r171351) from the gcc-4_5-branch. + - Fix PR c++/47125, PR fortran/47348, PR libstdc++/48114, + PR libfortran/48066, PR target/48171, PR target/47862. + PR preprocessor/48192. + + [ Steve Langasek ] + * Make dpkg-dev versioned build-dependency conditional on whether we want + to build for multiarch. + * Add a new patch, gcc-multiarch+biarch.diff, used only when building for + multiarch to set our multilib paths to the correct relative directories. + * debian/rules.defs: support turning on multiarch build by architecture; + but don't enable this yet, we still need to wait for dpkg-dev. + * When DEB_HOST_MULTIARCH is available (i.e., with the next dpkg upload), + use it as our multiarch path. + * debian/rules.d/binary-java.mk: jvm-exports path is /usr/lib/jvm-exports, + not $(libdir)/jvm-exports. + * OTOH, libgcj_bc *is* in $(libdir). + * the spu build is not a multiarch build; look in the correct + non-multiarch directory. + * debian/rules2: pass --libdir also for stageX builds, needed in order to + successfully build for multiarch. + * debian/rules2: $(usr_lib) for a cross-build should not include the + multiarch dir as part of the path. + * debian/patches/gcc-multiarch+biarch.diff: restore the original intent of + the patch, namely, that the multilib dir for the default variant is + always equal to libdir (the multiarch dir), and we walk up the tree + to find lib for the secondary variant. + * debian/patches/gcc-multiarch+biarch32.diff: apply the same multilib + directory rewriting for biarch paths with multiarch as we do without; + still needed in the near term. + * Put our list of patches in README.Debian.$(DEB_TARGET_ARCH) instead of + in README.Debian, so that the individual files are architecture-neutral + and play nicely with multiarch. LP: #737846. + * Add a comment at the bottom of README.Debian with a pointer to the new + file listing the patches. + + [ Loic Minier ] + * Rework config/vxworks-dummy.h installation snippet to test + DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips% + sh% sparc%) as to also install this header on other ports targetting the + relevant upstream CPUs such as armhf. Add a comment pointing at the + upstream bug. + * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches + arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals + armel. Add a comment pointing at the Debian bug and indicating that this + is only useful for older dpkg-dev versions. + * debian/rules.def: fix "armel" entry to "arm" in list of + DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries. + * debian/rules2: drop commented out GCC #42509 workaround as this was fixed + upstream in 4.4+. + * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for + arm as ths is what the Debian arm, armel and armhf port use. + * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid + duplication, as a comment called out for. + * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding + whether to enable profiledbootstrap. + * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well. + * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU. + * Patched a couple of comments mentioning armel to also mention armhf. + * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported + from a patch sent on the upstream mailing-list. + + [ Matthias Klose ] + * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX, + taken from the trunk. + * Fix PR preprocessor/48192, make conditional macros not defined for + #ifdef, proposed patch. + * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618864. + * Fix issue with volatile bitfields, default to -fstrict-volatile-bitfields + again on armel for Linaro builds. LP: #675347. + + -- Matthias Klose Wed, 23 Mar 2011 15:44:01 +0100 + +gcc-4.5 (4.5.2-6) unstable; urgency=low + + * Update to SVN 20110312 (r170895) from the gcc-4_5-branch. + - Fix PR tree-optimization/45967, PR tree-optimization/47278, + PR target/47862, PR c++/44629, PR c++/45651, PR c++/47289, PR c++/47705, + PR c++/47488, PR libgfortran/47778, PR c++/48029. + + [ Steve Langasek ] + * Make sure our libs Pre-Depend on 'multiarch-support' when building for + multiarch. + * debian/patches/gcc-multiarch*, debian/rules.patch: use i386 in the + multiarch path for amd64 / kfreebsd-amd64, not i486 or i686. This lets + us use a common set of paths on both Debian and Ubuntu, regardless of + the target default optimization level. + * debian/rules.conf: when building for multiarch, we need to be sure we + are building against a libc-dev that supports the corresponding paths. + (the referenced version number for this needs to be bumped once this is + officially in the archive.) + + [ Matthias Klose ] + * Don't run the libmudflap testsuite on hppa; times out on the buildd. + * Don't run the libstdc++ testsuite on mipsel; times out on the buildd. + * Post Linaro 4.5-2011.03-0 release changes (up to 20110313). + * Undefine LINK_EH_SPEC before redefining it to turn off warnings on + powerpc. + * Update gmp (build) dependencies. + + [ Aurelien Jarno ] + * Add symbol files on kfreebsd-i386. + * Add symbol files on kfreebsd-amd64. + * Add symbol files on sparc64. + * Add symbol files on sh4. + + -- Matthias Klose Sun, 13 Mar 2011 17:30:48 +0100 + +gcc-4.5 (4.5.2-5) unstable; urgency=low + + * Update to SVN 20110305 (r170696) from the gcc-4_5-branch. + - Fix PR target/43810, PR fortran/47886, PR tree-optimization/47615, + PR middle-end/47639, PR tree-optimization/47890, PR libfortran/47830, + PR tree-optimization/46723, PR target/45261, PR target/45808, + PR c++/46159, PR c++/47904, PR fortran/47886, PR libstdc++/47433, + PR target/42240, PR fortran/47878, PR libfortran/47694. + * Update the Linaro support to the 4.5-2011.03-0 release. + - Fix LP: #705689, LP: #695302, LP: #710652, LP: #710623, LP: #721021, + LP: #721021, LP: #709453. + + -- Matthias Klose Sun, 06 Mar 2011 02:58:01 +0100 + +gcc-4.5 (4.5.2-4) unstable; urgency=low + + * Update to SVN 20110222 (r170382) from the gcc-4_5-branch. + - Fix PR target/43653, PR fortran/47775, PR target/47840, + PR libfortran/47830. + + [ Matthias Klose ] + * Don't apply a patch twice. + * Build libgcc_s with -fno-stack-protector, when not building from the + Linaro branch. + * Backport proposed fix for PR tree-optimization/46723 from the trunk. + + [ Steve Langasek ] + * debian/control.m4: add missing Multi-Arch: same for libgcc4; make sure + Multi-Arch: same doesn't get set for libmudflap when building an + Architecture: all cross-compiler package. + * debian/rules2: use $libdir for libiberty.a. + * debian/patches/gcc-multiarch-*.diff: make sure we're using the same + set_multiarch_path definition for all variants. + + [ Sebastian Andrzej Siewior ] + * PR target/44364 + * Remove -many on powerpcspe (__SPE__) + * Remove classic FPU opcodes from libgcc if target has no support for them + (powerpcspe) + + -- Matthias Klose Wed, 23 Feb 2011 00:35:54 +0100 + +gcc-4.5 (4.5.2-3) experimental; urgency=low + + * Update to SVN 20110215 (r170181) from the gcc-4_5-branch. + - Fix PR rtl-optimization/44469, PR tree-optimization/47411, + PR bootstrap/44699, PR target/44392, PR fortran/47331, PR fortran/47448, + PR pch/14940, PR rtl-optimization/47166, PR target/47272, PR target/47580, + PR tree-optimization/47541, PR target/44606, PR boehm-gc/34544, + PR fortran/47569, PR libstdc++/47709, PR libstdc++/46914, PR libffi/46661. + * Update the Linaro support to the 4.5 2011.02-0 release. + * Pass --no-add-needed by default to the linker. See + http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols + in indirect dependent shared libraries" for more information. + + -- Matthias Klose Wed, 16 Feb 2011 15:29:26 +0100 + +gcc-4.5 (4.5.2-2) experimental; urgency=low + + * Update to SVN 20110123 (r169142) from the gcc-4_5-branch. + - Fix PR target/46915, PR target/46729, PR libgcj/46774, PR target/47038, + PR target/46685, PR target/45447, PR tree-optimization/46758, + PR tree-optimization/45552, PR tree-optimization/43023, + PR middle-end/46734, PR fortran/45338, PR preprocessor/39213, + PR target/43309, PR fortran/46874, PR tree-optimization/47286, + PR tree-optimization/44592, PR target/47201, PR c/47150, PR target/46880, + PR middle-end/45852, PR tree-optimization/43655, PR debug/46893, + PR rtl-optimization/46804, PR rtl-optimization/46865, PR target/41082, + PR tree-optimization/46864, PR fortran/45777, PR tree-optimization/47365, + PR tree-optimization/47167, PR target/47318, PR target/46655, + PR fortran/47394, PR libstdc++/47354. + + [ Matthias Klose ] + * Update the Linaro support to the 4.5 2011.01-1 release. + * Don't build packages now built from the gcc-4.6 package for architectures + with a sucessful gcc-4.6 build. + + [ Kees Cook ] + * debian/patches/gcc-default-ssp.patch: do not ignore -fstack-protector-all + (LP: #691722). + + [ Marcin Juszkiewicz ] + * Fix biarch/triarch cross builds. + - dpkg-shlibdeps failed to find libraries for 64 or n32 builds + - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs. + + -- Matthias Klose Sun, 23 Jan 2011 11:54:52 +0100 + +gcc-4.5 (4.5.2-1) experimental; urgency=low + + * GCC 4.5.2 release. + + -- Matthias Klose Sat, 18 Dec 2010 14:14:38 +0100 + +gcc-4.5 (4.5.1-12) experimental; urgency=low + + * Update to SVN 20101129 (r167272) from the gcc-4_5-branch. + - Fix PR fortran/45742, PR tree-optimization/46498, PR target/45807, + PR target/44266, PR rtl-optimization/46315, PR tree-optimization/44545, + PR tree-optimization/46491, PR rtl-optimization/46571, PR target/31100, + PR c/46547, PR fortran/46638, PR tree-optimization/46675, PR debug/46258, + PR ada/40777. + + [ Matthias Klose ] + * Use lib instead of lib64 as the 64bit system dir on biarch + architectures defaulting to 64bit. Closes: #603597. + * Fix powerpc and s390 builds when biarch is disabled. + * Backport PR bootstrap/44768, miscompilation of dpkg on ARM + with -O2 (Chung-Lin Tang). LP: #674146. + * Update libgcc2 symbols file. Closes: #602099. + + [ Marcin Juszkiewicz ] + * Do not depend on target mpfr and zlib -dev packages for cross builds. + LP: #676027. + + [ Konstantinos Margaritis ] + * Add support for new target architecture `armhf'. Closes: #603948. + + -- Matthias Klose Mon, 22 Nov 2010 08:12:08 +0100 + +gcc-4.5 (4.5.1-11) experimental; urgency=low + + * Update to SVN 20101114 (r166728) from the gcc-4_5-branch. + - Fix PR fortran/45742. + * Don't hardcode debian/patches when referencing patches. Closes: #600502. + + -- Matthias Klose Sun, 14 Nov 2010 08:36:27 +0100 + +gcc-4.5 (4.5.1-10) experimental; urgency=low + + * Update to SVN 20101112 (r166653) from the gcc-4_5-branch. + - Fix PR rtl-optimization/44691, PR tree-optimization/46355, + PR tree-optimization/46177, PR c/44772, PR tree-optimization/46099, + PR middle-end/43690, PR tree-optimization/46165, PR middle-end/46419, + PR tree-optimization/46107, PR tree-optimization/45314, PR debug/45939, + PR rtl-optimization/46237, PR middle-end/44569, PR middle-end/44569, + PR tree-optimization/45902, PR target/46153, PR rtl-optimization/46226, + PR tree-optimization/46167, PR target/46098, PR target/45946, + PR fortran/42169, PR middle-end/46019, PR c/45969, PR c++/45894, + PR c++/46160, PR c++/45983, PR fortran/46152, PR fortran/46140, + PR libstdc++/45999, PR libgfortran/46373, PR libgfortran/46010, + PR fortran/46007, PR c++/46024. + * Update the Linaro support to the 4.5 2010.11 release. + * Update gcc-4.5 source dependencies. Closes: #600503. + * ARM: Fix Thumb-1 reload ICE with nested functions (Julian Brown), + taken from the trunk. + * Fix earlyclobbers on some arm.md DImode shifts (may miscompile "x >> 1"), + taken from the trunk. Closes: #600888. + + -- Matthias Klose Fri, 12 Nov 2010 18:34:47 +0100 + +gcc-4.5 (4.5.1-9) experimental; urgency=low + + * Update to SVN 20101014 (r165474) from the gcc-4_5-branch. + - Fix PR target/45820, PR tree-optimization/45854, PR target/45843, + PR target/43764, PR rtl-optimization/43358, PR bootstrap/44621, + PR libffi/45677, PR middle-end/45869, PR middle-end/45569, + PR tree-optimization/45752, PR fortran/45748, PR libstdc++/45403, + PR libstdc++/45924, PR libfortran/45710, PR bootstrap/44455, + PR java/43839, PR debug/45656, PR debug/44832, PR libstdc++/45711, + PR tree-optimization/45982. + + [ Matthias Klose ] + * Update the Linaro support to the 4.5 2010.10 release. + * Just try to build java on mips/mipsel (was disabled in 4.5.0-9, when + java was built from the same source package). Addresses: #599976. + * Remove the gpc packaging support. + * Fix libmudflap.so symlink. Addresses: #600161. + * Fix pch test failures with heap randomization on armel (PR pch/45979). + + [ Kees Cook ] + * Don't enable -fstack-protector with -ffreestanding. + + -- Matthias Klose Thu, 14 Oct 2010 19:17:41 +0200 + +gcc-4.5 (4.5.1-8) experimental; urgency=low + + * Update to SVN 20100925 (r164618) from the gcc-4_5-branch. + - Fix PR middle-end/44763, PR java/44095, PR target/35664, + PR rtl-optimization/41085, PR rtl-optimization/45051, + PR target/45694, PR middle-end/45678, PR middle-end/45678, + PR middle-end/45704, PR rtl-optimization/45728, PR libfortran/45532, + PR rtl-optimization/45695, PR rtl-optimization/42775, PR target/45726, + PR tree-optimization/45623, PR tree-optimization/45709, PR debug/43628, + PR tree-optimization/45709, PR rtl-optimization/45593, PR fortran/45081, + * Find 32bit system libraries on sparc64, s390x. + * Remove README.Debian from the source package to avoid confusion for + readers of the packaging. + * Don't include info files and man pages in hppa64 and spu builds. + Closes: #597435. + * Apply proposed patch for PR mudflap/24619 (instrumentation of dlopen) + (Brian M. Carlson) Closes: #507514. + + -- Matthias Klose Sat, 25 Sep 2010 14:11:39 +0200 + +gcc-4.5 (4.5.1-7) experimental; urgency=low + + * Update to SVN 20100914 (r164279) from the gcc-4_5-branch. + - Fix PR target/40959, PR middle-end/45567, PR debug/45660, + PR rtl-optimization/41087, PR rtl-optimization/44919, PR target/36502, + PR target/42313, PR target/44651. + * Add support to build from the Linaro 4.5 2010.09 release. + * gcc-4.5-plugin-dev: Install config/arm/arm-cores.def. + * Remove non-existing URL's in README.c++ (Osamu Aoki). Closes: #596406. + * Don't provide c++abi2-dev for g++ cross builds. + * Don't pass -mimplicit-it=thumb if -mthumb to as on ARM, rejected upstream. + + -- Matthias Klose Tue, 14 Sep 2010 12:52:34 +0200 + +gcc-4.5 (4.5.1-6) experimental; urgency=low + + * Update to SVN 20100909 (r164132) from the gcc-4_5-branch. + - Fix PR middle-end/45312, PR bootstrap/43847, PR middle-end/44554, + PR middle-end/40386, PR other/45443, PR c++/45200, PR c++/45293, + PR c++/45558, PR fortran/45595, PR fortran/45530, PR fortran/45489, + PR fortran/45019, PR libstdc++/45398. + + [ Matthias Klose ] + * Tighten binutils dependencies to 2.20.1-14. + + [ Marcin Juszkiewicz ] + * Fix the gcc-4.5-plugin-dev package name for cross builds. LP: #631474. + * Build the gcc-4.5-plugin-dev for stage1 cross builds. + * Fix priorities and sections for some cross packages. + + [ Al Viro ] + * Fix installation of libgcc_s.so as a linker script for biarch builds. + + [ Kees Cook ] + * Push glibc stack traces into stderr when building the package. + * debian/patches/gcc-default-ssp.patch: Lower ssp-buffer-size to 4. + + -- Matthias Klose Fri, 10 Sep 2010 21:25:37 +0200 + +gcc-4.5 (4.5.1-5) experimental; urgency=low + + * Always add dependencies on multilib library packages in *-multilib + packages. + * Fix installation of libgcc_s.so on architectures when libgcc_s.so is + a linker script, not a symlink (Steve Langasek). Closes: #595474. + * Remove the lib32gcc1 preinst script. Closes: #595495. + + -- Matthias Klose Sat, 04 Sep 2010 12:41:40 +0200 + +gcc-4.5 (4.5.1-4) experimental; urgency=low + + * Update to SVN 20100903 (r163833) from the gcc-4_5-branch. + - Fix PR target/45070, PR middle-end/45458, PR rtl-optimization/45353, + PR middle-end/45423, PR c/45079, PR tree-optimization/45393, + PR c++/44991, PR middle-end/45484, PR debug/45500, PR lto/45496. + + [ Matthias Klose ] + * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package + on armel, mipsel and sparc64 too. + * Cleanup packaging files in gcc-source package. + * [ARM] Provide __builtin_expect() hints in linux-atomic.c (backport). + + [ Al Viro ] + * Fix builds with disabled biarch library packages. + * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch + to using them in rules.d/*; as the result, most of the explicit pathnames + in there are gone _and_ we get uniformity across different flavours. + * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch + to using them in rules.d/*; as the result, most of the explicit pathnames + in there are gone _and_ we get uniformity across different flavours. + * Merge bi-/tri-arch stuff in binary-gcc.mk. + * Merge rules for libgcc biarch variants. + * Merge rules for libstdc++ biarch variants. Fix n32 variant of + libstdc++-dbg removing _pic.a from the wrong place. + * Merge libgfortran rules. + * Merge rules for cxx-multi and objc-multi packages. + * Enable gcc-hppa64 in cross-gcc-to-hppa build. + + [ Marcin Juszkiewicz ] + * Create libgcc1 and gcc-*-base packages for stage2 cross builds. + LP: #628855. + + -- Matthias Klose Fri, 03 Sep 2010 18:09:40 +0200 + +gcc-4.5 (4.5.1-3) experimental; urgency=low + + * Update to SVN 20100829 (r163627) from the gcc-4_5-branch. + - Fix PR target/45327, PR middle-end/45292, PR fortran/45344, + PR target/41484, PR rtl-optimization/44858, PR rtl-optimization/45400, + PR tree-optimization/45260, PR c++/45315. + + [ Matthias Klose ] + * Don't run the libstdc++ testsuite on armel on the buildds. + * Integrate and extend bi/tri-arch cross builds patches. + * Fix dependencies for mips* triarch library packages depend on *both* lib64* + and libn32* packages. Closes: #594540. + * Tighten binutils dependencies to 2.20.1-13. + * Update LAST_UPDATED file when applying upstream updates. + + [ Al Viro ] + * Bi/tri-arch cross builds patches. + * Fix installation paths in bi/tri-arch libobjc and libmudflap packages. + * Merge rules for all flavours of libgomp, libmudflap, libobjc. + * Crossbuild fix for lib32gomp (use $(PFL)/lib32 instead of $(lib32)). + * gcc-4.5: libgcc_s.so.1 symlink creation on cross-builds. + * Enable gcc-multilib for cross-builds and fix what needs fixing. + * Enable g++-multilib for cross-builds, fix pathnames. + * Enable gobjc/gobjc++ multilib for cross-builds, fixes. + * Enable gfortran multilib for cross-builds, fix paths. + * Multilib dependency fixes for cross-builds. + + -- Matthias Klose Sun, 29 Aug 2010 18:24:37 +0200 + +gcc-4.5 (4.5.1-2) experimental; urgency=low + + * Update to SVN 20100818 (r163323) from the gcc-4_5-branch. + - Fix PR target/41089, PR tree-optimization/44914, PR c++/45112, + PR fortran/44929, PR middle-end/45262, PR debug/45259, PR debug/45055, + PR target/44805, PR middle-end/45034, PR tree-optimization/45109, + PR target/44942, PR fortran/31588, PR fortran/43954, PR fortran/44660, + PR fortran/42051, PR fortran/44064, PR fortran/45151, PR libstdc++/44963, + PR tree-optimization/45241, PR middle-end/44632 (closes: #585925), + PR libstdc++/45283, PR target/45296. + + [ Matthias Klose ] + * Allow overwriting of the PF macro used in the build from the environment + (Jim Heck). Closes: #588381. + * Fix libc-dbg build dependency for java enabled builds. Addresses: #591424. + * gcj: Align data in .rodata.jutf8.* sections, patch taken from the trunk. + * Configure with --enable-checking+release. LP: #612822. + * Add the complete packaging to the -source package. LP: #608650. + * Drop the gcc-ix86-asm-generic32.diff patch. + * Tighten (build-) dependency on cloog-ppl (>= 0.15.9-2). + * Apply proposed patch for PR middle-end/45292. + * Re-enable running the libstdc++ testsuite on armel and ia64 on the buildds. + + [ Steve Langasek ] + * s,/lib/,/$(libdir)/, throughout debian/rules*; a no-op in the current + case, but required for us to find the libraries when building for + multiarch + * Don't append multiarch paths to any multilib paths except for the default; + our biarch (multilib) builds need to remain independent of multiarch in + the near term, so we want to make sure we can find /usr/lib32 without + /usr/lib/i486-linux-gnu being available. + * debian/control.m4, debian/rules.conf: conditionally set packages to be + Multi-Arch: yes when MULTIARCH is defined. + + [ Marcin Juszkiewicz ] + * Allow building intermediate stages for cross builds. LP: #603497. + + -- Matthias Klose Wed, 18 Aug 2010 07:00:12 +0200 + +gcc-4.5 (4.5.1-1) experimental; urgency=low + + * GCC-4.5.1 release. + * Update to SVN 20100731 (r162781) from the gcc-4_5-branch. + - Fix PR tree-optimization/45052, PR target/43698. + * Apply proposed fixes for PR c++/45112, PR c/45079. + * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package + on armel, mips, mipsel, sh4, sparc, sparc64. Closes: #590054. + * Link executables statically when `static' is passed in DEB_BUILD_OPTIONS + (Jim Heck). Closes: #590102. + * Stop building java packages from the gcc-4.5 source package. + + -- Matthias Klose Sat, 31 Jul 2010 16:30:20 +0200 + +gcc-4.5 (4.5.0-10) experimental; urgency=low + + * Update to SVN 20100725 (r162508) from the gcc-4_5-branch. + - Fix PR tree-optimization/45047, PR c++/43016, PR c++/45008. + * Disable building gcj/libjava on mips/mipsel (fails to link libgcj). + * Update libstdc++6 symbols files. + + -- Matthias Klose Sun, 25 Jul 2010 16:39:11 +0200 + +gcc-4.5 (4.5.0-9) experimental; urgency=low + + * Update to SVN 20100723 (r162448) from the gcc-4_5-branch (post + GCC-4.5.1 release candidate 1). + - Fix PR debug/45015, PR target/44942, PR tree-optimization/44900, + PR tree-optimization/44977, PR c++/44996, PR fortran/44929, + PR fortran/30668, PR fortran/31346, PR fortran/34260, + PR fortran/40011. + + [ Marcin Juszkiewicz ] + * Fix dependencies on cross library packages. + * Copy all debian/rules* files to the -source package. + + [ Matthias Klose ] + * Fix versioned build dependency on gcc-4.x-source package for cross builds. + LP: #609060. + * Set Vcs attributes in control file. + + -- Matthias Klose Fri, 23 Jul 2010 13:08:07 +0200 + +gcc-4.5 (4.5.0-8) experimental; urgency=low + + * Update to SVN 20100718 (r161892) from the gcc-4_5-branch. + - Fixes: PR target/44531, PR bootstrap/44820, PR target/44597, + PR target/44705, PR middle-end/44777, PR debug/44694, PR c++/44039, + PR tree-optimization/43801, PR target/44575, PR debug/44104, + PR middle-end/44671, PR middle-end/44686, PR tree-optimization/44357, + PR debug/44694, PR middle-end/43866, PR debug/42278, PR c++/44059, + PR tree-optimization/43905, PR middle-end/44133, PR tree-optimize/44063, + PR tree-optimization/44683, PR rtl-optimization/43332, PR debug/44610, + PR middle-end/44684, PR tree-optimization/44393, PR middle-end/44674, + PR c++/44628, PR c++/44587, PR fortran/44582, PR fortran/43841, + PR fortran/43843, PR libstdc++/44708, PR tree-optimization/44886, + PR target/43888, PR tree-optimization/44284, PR middle-end/44828, + PR middle-end/41355, PR c++/44703, PR ada/43731, PR fortran/44773, + PR fortran/44847. + + [ Marcin Juszkiewicz ] + * debian/rules2: Merge rules.d includes. + * Properly -name -dbg packages for cross builds. + * Various cross build fixes. + * Build libmudflap packages for cross builds. + * Fix generation of maintainer scripts for cross packages. + * Build a gcc-base package for cross builds. + + [ Kees Cook ] + * Fix additional libstdc++ testsuite failures for hardening defaults. + + [ Samuel Thibault ] + * Update hurd patch for 4.5, fixing build failure. Closes: #584819. + + [ Matthias Klose ] + * gcc-arm-implicit-it.diff: Only pass -mimplicit-it=thumb when in + thumb mode (Andrew Stubbs). + + -- Matthias Klose Sun, 18 Jul 2010 10:53:51 +0200 + +gcc-4.5 (4.5.0-7) experimental; urgency=low + + * Update to SVN 20100625 (r161383) from the gcc-4_5-branch. + - Fixes: PR bootstrap/44426, PR target/44546, PR target/44261, + PR target/43740, PR libstdc++/44630 (closes: #577458), + PR c++/44627 (LP: #503668), PR target/39690, PR target/44615, + PR fortran/44556, PR c/44555. + - Update libstdc++'s pretty printer for python2.6. Closes: #585202. + + [ Matthias Klose ] + * Fix libstdc++ symbols files for powerpc and sparc. + * Add maintainer scripts for cross packages. + + [ Samuel Thibault ] + * Update hurd patch for 4.5, fixing build failure. Closes: #584454, + #584819. + + [ Marcin Juszkiewicz ] + * Merge the rules.d/binary-*-cross.mk files into rules.d/binary-*.mk. + + -- Matthias Klose Fri, 25 Jun 2010 15:57:38 +0200 + +gcc-4.5 (4.5.0-6) experimental; urgency=low + + [ Matthias Klose ] + + * Update to SVN 20100617 (r161901) from the gcc-4_5-branch. Fixes: + PR target/44169, PR bootstrap/43170, PR objc/35996, PR objc++/32052, + PR objc++/23716, PR lto/44464, PR rtl-optimization/42461, PR fortran/44536, + PR tree-optimization/44258, PR tree-optimization/44423, PR target/44534, + PR bootstrap/44426, PR tree-optimization/44508, PR tree-optimization/44507, + PR lto/42776, PR target/44481, PR debug/41371, PR bootstrap/37304, + PR target/44067, PR debug/41371, PR debug/41371, PR target/44075, + PR c++/44366, PR c++/44401, PR fortran/44347, PR fortran/44430, + PR lto/42776, PR libstdc++/44487, PR other/43838, PR libgcj/44216. + * debian/patches/cross-fixes.diff: Update for 4.5 (Marcin Juszkiewicz). + * debian/patches/libstdc++-pic.diff: Fix installation for cross builds. + * Fix PR bootstrap/43847, --enable-plugin for cross builds. + * Export long double versions of "C" math library for arm-linux-gnueabi, + m68k-linux-gnu (ColdFire), mips*-linux-gnu (o32 ABI), sh*-linux-gnu + (not 32 bit). Merge the libstdc++-*-ldbl-compat.diff patches. + * Merge binary-libgcc.mk packaging changes into binary-libgcc-cross.mk + (Loic Minier). + * Update libgcc and libstdc++ symbols files. + + [ Aurelien Jarno ] + + * libstdc++-mips-ldbl-compat.diff: On MIPS provide the long double + versions of "C" math functions in libstdc++ as we need to keep the + ABI. Closes: #584610. + + -- Matthias Klose Thu, 17 Jun 2010 14:56:14 +0200 + +gcc-4.5 (4.5.0-5) experimental; urgency=low + + * Update to SVN 20100602 (r160097) from the gcc-4_5-branch. Fixes: + PR target/44338, PR middle-end/44337, PR tree-optimization/44182, + PR target/44161, PR c++/44358, PR fortran/44360, PR lto/44385. + * Fix PR target/44261, taken from the trunk. Closes: #582787. + * Fix passing the expanded -iplugindir option. + * Disable broken profiled bootstrap on alpha. + * On ix86, pass -mtune=generic32 in 32bit mode to the assembler, when + configured for i586-linux-gnu or i686-linux-gnu. + + -- Matthias Klose Thu, 03 Jun 2010 00:44:37 +0200 + +gcc-4.5 (4.5.0-4) experimental; urgency=low + + * Update to SVN 20100527 (r160047) from the gcc-4_5-branch. Fixes: + PR rtl-optimization/44164, PR middle-end/44069, PR target/44199, + PR lto/44196, PR target/43733, PR target/44245, PR target/43869, + PR debug/44223, PR tree-optimization/44038, PR tree-optimization/43949, + PR debug/44205, PR debug/44178, PR bootstrap/43870, PR target/44202, + PR target/44074, PR lto/43455, PR lto/42653, PR lto/42425, PR lto/43080, + PR lto/43946, PR c++/43382, PR c++/41510, PR c++/44193, PR c++/44157, + PR c++/44158, PR lto/44256, PR libstdc++/44190, PR lto/44312, + PR target/43636, PR target/43726, PR c++/43555PR libstdc++/40497. + + [ Matthias Klose ] + + * Enable multilibs again on powerpcspe. Closes: #579780. + * Fix setting CC for REVERSE_CROSS build (host == target,host != build). + Closes: #579779. + * Fix setting biarch_cpu macro. + * Don't bother with un-normalized paths in .la files, just remove them. + * debian/locale-gen: Update locales needed for the libstdc++-v3 testsuite. + * If libstdc++6 is built from newer gcc-4.x source, run the libstdc++-v3 + testsuite against the installed lib too. + * Configure with --enable-secureplt on powerpcspe. + + [ Aurelien Jarno ] + + * Fix $(distrelease) on non-official archives. Fix powerpcspe, sh4 and + sparc64 builds. + + -- Matthias Klose Sun, 30 May 2010 12:52:02 +0200 + +gcc-4.5 (4.5.0-3) experimental; urgency=low + + * Update to SVN 20100519 (r159556) from the gcc-4_5-branch. Fixes: + PR c++/43704, PR fortran/43339, PR middle-end/43337, PR target/43635, + PR tree-optimization/43783, PR tree-optimization/43796, PR middle-end/43570, + PR libgomp/43706, PR libgomp/43569, PR middle-end/43835, PR c/43893, + PR tree-optimization/43572, PR tree-optimization/43845, PR libgcj/40860, + PR target/43744, PR debug/43370, PR c++/43880, PR middle-end/43671, + PR debug/43972, PR target/43921, PR c++/38064, PR c++/43953, + PR fortran/43985, PR fortran/43592, PR fortran/40539, PR c++/43787, + PR middle-end/44085, PR middle-end/44071, PR middle-end/43812, + PR debug/44028, PR rtl-optimization/44012, PR target/44046, + PR documentation/44016, PR fortran/44036, PR fortran/40728, + PR libstdc++/44014, PR lto/44184, PR bootstrap/42347, PR middle-end/44102, + PR c++/44127, PR debug/44136, PR target/44088, PR tree-optimization/44124, + PR fortran/43591, PR fortran/44135, PR libstdc++/43259. + + [ Matthias Klose ] + * Revert gcj-arm-no-merge-exidx-entries patch, fixed by PR libgcj/40860. + * Don't run the libstdc++-v3 testsuite on the ia64 buildds. Timeouts. + * Backport two libjava fixes from the trunk to run josm with gcj. + * Ubuntu only: + - Pass --hash-style=gnu instead of --hash-style=both to the linker. + * Preliminary architecture port for powerpcspe (Kyle Moffett). + Closes: #579780. + * Update configury to be able to target i686 instead of i486 on i386. + + [ Aurelien Jarno] + * Don't link with --hash-style=both on mips/mipsel as GNU hash is not + compatible with the MIPS ABI. + * Default to -mplt on mips(el), -march=mips2 and -mtune=mips32 on 32-bit + mips(el), -march=mips3 and -mtune=mips64 on 64-bit mips(el). + + -- Matthias Klose Wed, 19 May 2010 09:48:20 +0200 + +gcc-4.5 (4.5.0-2) experimental; urgency=low + + * Update to SVN 20100419 from the gcc-4_5-branch. + - Fix PR tree-optimization/43627, c++/43641, PR c++/43621, PR c++/43611, + PR fortran/31538, PR fortran/30073, PR target/43662, + PR tree-optimization/43572, PR tree-optimization/43771. + * Install the linker plugin. + * Search the linker plugin as a readable, not an executable file. + * Link with --hash-style=both on mips/mipsel. + * On mips, pass -mfix-loongson2f-nop to as, if -mno-fix-loongson2f-nop + is not passed. + * Sequel to PR40521, fix -g to generate .eh_frame on ARM. + * On ARM, let gcj pass --no-merge-exidx-entries to the linker. + * Build-depend/depend on binutils snapshot. + * Update NEWS.html and NEWS.gcc. + + -- Matthias Klose Mon, 19 Apr 2010 15:22:55 +0200 + +gcc-4.5 (4.5.0-1) experimental; urgency=low + + * GCC 4.5.0 release. + * Always apply biarch patches. + * Build the lto-linker plugin again. Closes: #575448. + * Run the libstdc++v3 testsuite on armel again. + * Fix --enable-libstdcxx-time documentation, show configure result. + * On linux targets always pass --no-add-needed to the linker. + * Update the patch to search for plugins in a default plugin directory. + * Fix java installations in snapshot builds. + * Configure --with-plugin-ld=ld.gold. + * Linker selection: ld is used by default, to use the gold linker, + pass -fuse-linker-plugin (no other side effects if -flto/-fwhopr + is not passed). To force ld.bfd or ld.gold, pass -B/usr/lib/compat-ld + for ld.bfd or /usr/lib/gold-ld for ld.gold. + * Don't apply the gold-and-ld patch for now. + * Stop building the documentation for dfsg compliant builds. Closes: #571759. + + -- Matthias Klose Wed, 14 Apr 2010 13:29:20 +0200 + +gcc-4.5 (4.5-20100404-1) experimental; urgency=low + + * Update to SVN 20100404 from the trunk. + * Fix build failures building cross compilers configure --with-ld. + * lib32gcc1: Set priority to `extra'. + * Apply proposed patch to search for plugins in a default plugin directory. + * In snapshot builds, use for javac/ecj1 the jvm provided by the package. + * libstdc++-arm-ldbl-compat.diff: On ARM provide the long double versions + of "C" math functions in libstdc++; these are dropped when built + against glibc-2.11. + + -- Matthias Klose Sun, 04 Apr 2010 15:51:25 +0200 + +gcc-4.5 (4.5-20100321-1) experimental; urgency=low + + * Update to SVN 20100321 from the trunk. + * gcj-4.5-jre-headless: Stop providing java-virtual-machine. + * gcj-4.5-plugin-dev: Don't suggest mudflap packages. + * Apply proposed patch to enable both gold and ld in a single toolchain. + New option -fuse-ld=ld.bfd, -fuse-ld=gold. + + -- Matthias Klose Sun, 21 Mar 2010 11:45:48 +0100 + +gcc-4.5 (4.5-20100227-1) experimental; urgency=low + + * Update to SVN 20100227 from the trunk. + * Don't run the libstdc++-v3 testsuite on arm*-*-linux-gnueabi, when + defaulting to thumb mode (Timeouts on the Ubuntu buildd). + + -- Matthias Klose Sat, 27 Feb 2010 08:29:55 +0100 + +gcc-4.5 (4.5-20100222-1) experimental; urgency=low + + * Update to SVN 20100222 from the trunk. + - Install additional header files needed by plugins. Closes: #562881. + * gcc-4.5-plugin-dev: Should depend on libgmp3-dev. Closes: #566366. + * Update libstdc++6 symbols files. + + -- Matthias Klose Tue, 23 Feb 2010 02:16:22 +0100 + +gcc-4.5 (4.5-20100216-0ubuntu1~ppa1) lucid; urgency=low + + * Update to SVN 20100216 from the trunk. + * Don't call dh_makeshlibs with -V for shared libraries with + symbol files. + * Don't run the libstdc++-v3 testsuite in thumb mode on armel + to work around buildd timeout (see PR target/42509). + + -- Matthias Klose Wed, 17 Feb 2010 02:06:02 +0100 + +gcc-4.5 (4.5-20100204-1) experimental; urgency=low + + * Update to SVN 20100204 from the trunk. + + -- Matthias Klose Thu, 04 Feb 2010 19:44:19 +0100 + +gcc-4.5 (4.5-20100202-1) experimental; urgency=low + + * Update to SVN 20100202 from the trunk. + - gcc-stack_chk_fail-check.diff: Remove, applied upstream. + * Update libstdc++6 symbol files. + * Build gnat in snapshot builds on arm. + * Configure with --enable-checking=yes for snapshot builds, and for + 4.5 builds before the release. + * Temporary workaround: On arm-linux-gnueabi run the libstdc++v3 testsuite + with -Wno-abi. + * When building the hppa64 cross compiler, add $(builddir)/gcc to + LD_LIBRARY_PATH to find the just built libgcc6. Closes: #565862. + * On sh4-linux, use sh as java architecture name instead of sh4. + * On armel, build gnat-4.5 using gcc-snapshot. + * Revert the bump of the libgcc soversion on hppa (6 -> 4). + + -- Matthias Klose Tue, 02 Feb 2010 19:35:25 +0100 + +gcc-4.5 (4.5-20100107-1) experimental; urgency=low + + [ Matthias Klose ] + * Update to SVN 20100107 from the trunk. + * Revert the workaround for the alpha build (PR bootstrap/42511 is fixed). + * testsuite-hardening-format.diff: Add a fix for the libstdc++ testsuite. + * Build-depend again on autogen. + * Work around PR lto/41569 (installation bug when configured with + --enabled-gold). + * On armel run the testsuite both in arm and thumb mode, when the + distribution is supporthing tumb processors. + * Work around PR target/42509 (armel), not setting BOOT_CFLAGS, but + applying libcpp-arm-workaround.diff. + + [ Nobuhiro Iwamatsu ] + * Update gcc-multiarch patch for sh4. + + -- Matthias Klose Thu, 07 Jan 2010 16:34:57 +0100 + +gcc-4.5 (4.5-20100106-0ubuntu1) lucid; urgency=low + + * Update to SVN 20100106 from the trunk. + * gcj-4.5-jdk: Include /usr/lib/jvm-exports. + * Rename libgcc symbols file for hppa. + * On alpha and armel, set BOOT_CFLAGS to -g -O1 to work around bootstrap + failures (see PR target/42509 (armel) and PR bootstrap/42511 (alpha)). + * Base the source build-dependency on the package version instead of the + gcc version. + + -- Matthias Klose Wed, 06 Jan 2010 14:17:29 +0100 + +gcc-4.5 (4.5-20100103-1) experimental; urgency=low + + * Update to SVN 20100103 from the trunk. + + [ Samuel Thibault ] + * Update hurd patch for 4.5. Closes: #562802. + + [ Aurelien Jarno ] + * Remove patches/kbsd-gnu-ada.diff (merged upstream). + + [ Matthias Klose ] + * libgcj11: Move .so symlinks into gcj-4.5-jdk. Addresses: #563280. + * gcc-snapshot: On sparc64, use gcc-snapshot as bootstrap compiler. + * Don't use expect-tcl8.3 on hppa anymore. + * Merge gnat-4.4 changes back from 4.4.2-5. + * Bump libgcc soversion on hppa (4 -> 6). + * Default to v9a (ultrasparc) on sparc*-linux. + + -- Matthias Klose Sun, 03 Jan 2010 17:25:27 +0100 + +gcc-4.5 (4.5-20091226-1) experimental; urgency=low + + * Update to SVN 20091226 from the trunk. + * Fix powerpc spu installation. + * Enable multiarch for sh4. + * Fix libffi multilib test runs. + * Configure the hppa -> hppa64 cross compiler --with-system-zlib. + * gcc-4.5-hppa64: Don't ship info dir file. + * lib32stdc++6{,-dbg}: Add dependency on 32bit glibc. + + -- Matthias Klose Sat, 26 Dec 2009 15:38:23 +0100 + +gcc-4.5 (4.5-20091223-1) experimental; urgency=low + + * Update to SVN 20091223 from the trunk. + + [ Matthias Klose ] + * Update hardening patches for 4.5. + * Don't call install-info directly, depend on dpkg | install-info instead. + * Add conflicts with packages built from GCC 4.4 sources. + * On ARM, pass --hash-style=both to ld. + * Update libgfortran3 symbols file. + * Update libstdc++6 symbols file. + + [ Arthur Loiret ] + * debian/rules.conf (gen_no_archs): Handle multiple arm ports. + + -- Matthias Klose Wed, 23 Dec 2009 18:02:24 +0100 + +gcc-4.5 (4.5-20091220-1) experimental; urgency=low + + * Update to SVN 20091220 from the trunk. + - Remove patches applied upstream: arm-boehm-gc-locks.diff, + arm-gcc-gcse.diff, deb-protoize.diff, gcc-arm-thumb2-sched.diff, + gcc-atom-doc.diff, gcc-atom.diff, gcc-build-id.diff, + gcc-unwind-debug-hook.diff, gcj-use-atomic-builtins-doc.diff, + gcj-use-atomic-builtins.diff, libjava-atomic-builtins-eabi.diff, + libjava-nobiarch-check-snap.diff, lp432222.diff, pr25509-doc.diff, + pr25509.diff, pr39429.diff, pr40133.diff, pr40134.diff, rev146451.diff, + s390-biarch-snap.diff, sh4-scheduling.diff, sh4_atomic_update.diff. + - Update patches: gcc-multiarch.diff, gcc-textdomain.diff, + libjava-nobiarch-check.diff, libjava-subdir.diff, libstdc++-doclink.diff, + libstdc++-man-3cxx.diff, libstdc++-pic.diff, note-gnu-stack.diff, + rename-info-files.diff, s390-biarch.diff. + * Stop building the protoize package, removed from the GCC 4.5 sources. + * gcc-4.5: Install lto1, lto-wrapper, and new header files for intrinsics. + * libstdc++6-4.5-dbg: Install the python files for use with gdb. + * Build java packages from the gcc-4.5 source package. + + -- Matthias Klose Sun, 20 Dec 2009 10:56:56 +0100 + +gcc-4.4 (4.4.2-6) unstable; urgency=low + + * Update to SVN 20091220 from the gcc-4_4-branch (r155367). + Fix PR c++/42387, PR c++/41183. + + [ Matthias Klose ] + * Apply svn-doc-updates.diff for non DFSG builds. + * gcc-snapshot: + - Remove patches integrated upstream: pr40133.diff. Closes: #561550. + + [ Nobuhiro Iwamatsu ] + * Backport linux atomic ops changes for sh4 from the trunk. Closes: #561550. + * Backport from trunk: [SH] Not run scheduling before reload as default. + Closes: #561429. + + [ Arthur Loiret ] + * Apply spu patches independently of the hardening patches; fix build + failure on powerpc. + + -- Matthias Klose Sun, 20 Dec 2009 10:20:19 +0100 + +gcc-4.4 (4.4.2-5) unstable; urgency=low + + * Update to SVN 20091212 from the gcc-4_4-branch (r155122). + Revert the fix for PR libstdc++/42261, fix PR fortran/42268, + PR target/42263, PR target/42263, PR target/41196, PR target/41939, + PR rtl-optimization/41574. + + [ Matthias Klose ] + * Regenerate svn-updates.diff. + * Disable biarch testsuite runs for libffi (broken and unused). + * Support xz compression of source tarballs. + * Fix typo in PR libstdc++/40133 to do the link tests. + * gcc-snapshot: + - Remove patches integrated upstream: pr40134-snap.diff. + - Update s390-biarch.diff for trunk. + + [ Aurelien Jarno ] + * Add sparc64 support: disable multilib and install the libraries + in /lib. + + -- Matthias Klose Sun, 13 Dec 2009 10:28:19 +0100 + +gcc-4.4 (4.4.2-4) unstable; urgency=low + + * Update to SVN 20091210 from the gcc-4_4-branch (r155122), Fixes: + PR target/42165, PR target/42113, PR libgfortran/42090, + PR middle-end/42049, PR c++/42234, PR fortran/41278, PR libstdc++/42261, + PR libstdc++/42273 PR java/41991. + + [ Matthias Klose ] + * gcc-arm-thumb2-sched.diff: Don't restrict reloads to LO_REGS for Thumb-2. + * PR target/40134: Don't redefine LIB_SPEC on hppa. + * PR target/42263, fix wrong code bugs in SMP support on ARM, backport from + the trunk. + * Pass -mimplicit-it=thumb to as by default on ARM, when configured + --with-mode=thumb. + * Fix boehm-gc build on ARM --with-mode=thumb. + * ARM: Don't copy uncopyable instructions in gcse.c (backport from trunk). + * Build the spu cross compiler for powerpc from the cell-4_4-branch. + * gcj: add option -fuse-atomic-builtins (backport from the trunk). + + [ Arthur Loiret ] + * Make svn update interdiffs more readable. + + -- Matthias Klose Thu, 10 Dec 2009 04:29:36 +0100 + +gcc-4.4 (4.4.2-3) unstable; urgency=low + + * Update to SVN 20091118 from the gcc-4_4-branch (r154294). + Fix PR PR c++/9381, PR c++/21008, PR c++/35067, PR c++/36912, PR c++/37037, + PR c++/37093, PR c++/38699, PR c++/39786, c++/36959, PR c++/41754, + PR c++/41876, PR c++/41967, PR c++/41972, PR c++/41994, PR c++/42059, + PR c++/42061, + PR fortran/41772, PR fortran/41850, PR fortran/41909, + PR middle-end/40946, PR middle-end/41317, R tree-optimization/41643, + PR target/41900, PR rtl-optimization/41917, PR middle-end/41963, + PR middle-end/42029. + * Snapshot builds: + - Patch updates. + - Configure with --disable-browser-plugin. + * Configure with --disable-libstdcxx-pch on hppa. + * Backport armel patches form the trunk: + - Fix PR objc/41848 - workaround ObjC and -fsection-anchors. + - Enable scheduling for Thumb-2, including the fix for PR target/42031. + - Fix PR target/41939, EABI violation in accessing values below the stack. + + -- Matthias Klose Wed, 18 Nov 2009 08:37:18 -0600 + +gcc-4.4 (4.4.2-2) unstable; urgency=low + + * Update to SVN 20091031 from the gcc-4_4-branch (r153603). + - Fix PR debug/40521, PR target/40913, PR middle-end/22072, + PR target/41665, PR c++/38798, PR c++/40092, PR c++/37875, + PR c++/37204, PR fortran/41755, PR libstdc++/40654, PR libstdc++/40826, + PR target/41702, PR c/41842, PR target/41762, PR c++/40808, + PR fortran/41777, PR libstdc++/40852. + * Snapshot builds: + - Configure with --enable-plugin, disable the gcjwebplugin by a patch. + Addresses: #551200. + - Proposed patch for PR lto/41652, compile lto-plugin with + -D_FILE_OFFSET_BITS=64 + - Allow disabling the ada build via DEB_BUILD_OPTIONS nolang=ada. + * Fixes for reverse cross builds. + * On sparc default to v9 in 32bit mode. + * Fix __stack_chk_fail check for cross builds configured --with-headers. + * Apply some fixes for uClibc cross builds (Jonas Meyer, Hector Oron). + + -- Matthias Klose Sat, 31 Oct 2009 14:16:03 +0100 + +gcc-4.4 (4.4.2-1) unstable; urgency=low + + * GCC 4.4.2 release. + - Fixes PR target/26515, PR target/41680, PR rtl-optimization/41646, + PR c++/39863, PR c++/41038. + * Fix setting timeout for testsuite runs. + * gcj-4.4/gcc-snapshot: Drop build-dependency on libgconf2-dev, disabled + by default. + * gcj-4.4: Run the libffi testsuite as well. + * Add explicit build dependency on zlib1g-dev. + * Fix cross builds, add support for gomp and gfortran (only tested for + non-biarch targets). + * (Build-)depend on binutils-2.20. + * Fix up omp.h for multilibs (taken from Fedora). + + -- Matthias Klose Sun, 18 Oct 2009 02:31:32 +0200 + +gcc-4.4 (4.4.1-6) unstable; urgency=low + + * Snapshot builds: + - Add build dependency on libelfg0-dev (>= 0.8.12). + - Add build dependency on binutils-gold where available. + - Suggest binutils-gold; not perfect, it is required when using + -use-linker-plugin. + - Work around installation failure in the lto-plugin (PR lto/41569). + - Install java home symlinks in /usr/lib/jvm. + - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521. + * PR debug/40521: + - Apply patch for PR debug/40521, taken from the trunk. + - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521. + - Depend on binutils (>= 2.19.91.20091005). + * Update to SVN 20091005 from the gcc-4_4-branch (r152450). + - Fixes PR fortran/41479. + * In the test summary, add more information about package versions + used for the build. + + -- Matthias Klose Wed, 07 Oct 2009 02:12:56 +0200 + +gcc-4.4 (4.4.1-5) unstable; urgency=medium + + * Update to SVN 20091003 from the gcc-4_4-branch (r152174). + - Fixes PR target/22093, PR c/39779, PR libffi/40242, PR target/40473, + PR debug/40521, PR c/41049, PR debug/41065, PR ada/41100, + PR tree-optimization/41101, PR libgfortran/41328, PR libffi/41443, + PR fortran/41515. + * Updates for snapshot builds: + - Fix build dependency on automake for snapshot builds. + - Update patches pr40134-snap and libjava-nobiarch-check-snap. + * Fix lintian errors in libstdc++ packages and lintian warnings in the + source package. + * Add debian/README.source. + * Don't apply PR libstdc++/39491 for the trunk anymore. + * Install java home symlinks for snapshot builds in /usr/lib/jvm, + including javac. Depend on ecj. Addresses #536102. + * Fix build failure on armel with -mfloat-abi=softfp. + * Don't pessimize the code for newer armv6 and armv7 processors. + * libjava: Use atomic builtins For Linux ARM/EABI, backported from the + trunk. + * Proposed patch to fix wrong-code on powerpc (Alan Modra). LP: #432222. + * Link against -ldl instead of -lcloog -lppl. Exit with an error when using + the Graphite loop transformation infrastructure without having the + libcloog-ppl0 package installed (patch taken from Fedora). Packages + using these optimizations should build-depend on libcloog-ppl0. + gcc-4.4: Suggest the cloog runtime libraries. + * Install a hook _Unwind_DebugHook, called during unwinding. Intended as + a hook for a debugger to intercept exceptions. CFA is the CFA of the + target frame. HANDLER is the PC to which control will be transferred + (patch taken from Fedora). + + -- Matthias Klose Sat, 03 Oct 2009 13:33:05 +0100 + +gcc-4.4 (4.4.1-4) unstable; urgency=low + + * Update to SVN 20090911 from the gcc-4_4-branch (r151649). + - Fixes PR target/34412, PR middle-end/41094, PR target/40718, + PR fortran/41062, PR libstdc++/41005, PR target/41184, + PR bootstrap/41180, PR c++/41127, PR fortran/41258, + PR rtl-optimization/40861, PR target/41315, PR fortran/39876. + + [ Matthias Klose ] + * Avoid underscores in doc-base document id's to workaround a + dh_installdocs bug. + * Update file names for the Ada user's guide. + * Set Homepage attribute for packages. + * Update the patch for gnat on armel. + * gcj-4.4-jdk: Depend on libantlr-java. Addresses: #546062. + * Backport patch for PR tree-optimization/41101 from the trunk. + Closes: #541816. + * Update libstdc++6.symbols for symbols introduced with the fix + for PR libstdc++/41005. + * Apply proposed patches for PR libstdc++/40133 and PR target/40134. + Add symbols exception propagation support in libstdc++ on armel + to the libstdc++6 symbols. + + [ Ludovic Brenta] + Merge from gnat-4.4 (4.4.1-3) unstable; urgency=low + * debian/rules.defs, debian/rules.d/binary-ada.mk, debian/rules.patch: + better support for architectures that support only one exception + handling mechanism (SJLJ or ZCX). + + -- Matthias Klose Sat, 12 Sep 2009 03:18:17 +0200 + +gcc-4.4 (4.4.1-3) unstable; urgency=low + + * Update to SVN 20090822 from the gcc-4_4-branch (r151011). + - Fixes PR tree-optimization/41016, PR tree-optimization/41011, + PR tree-optimization/41008, PR tree-optimization/40991, + PR tree-optimization/40964, PR target/8603 (closes: #161432), + PR target/41019, PR target/41015, PR target/40957, PR target/40934, + PR rtl-optimization/41033, PR middle-end/41047, PR middle-end/41006, + PR fortran/41070, PR fortran/40995, PR fortran/40847, PR debug/40990, + PR debug/37801, PR c/41046, PR c/40948, PR c/40866, PR bootstrap/41018, + PR middle-end/41123,PR target/40971, PR c++/41131, PR fortran/41102, + PR libfortran/40962. + + [ Arthur Loiret ] + * Only use -fno-stack-protector when known to the stage1 compiler. + + [ Aurelien Jarno ] + * lib32* packages: remove the Pre-Depends: libc6-i386 (>= 2.9-18) and + upgrade the Conflicts: libc6-i386 from (<< 2.9-18) to (<< 2.9-22). + Closes: #537466. + * kbsd-gnu-ada.dpatch: add support for kfreebsd-amd64. + + [ Matthias Klose ] + * Build gnat on armel, the gnat-4.4 build still failing, gcc-snapshot + builds good enough to build itself. + * Merge enough of the gnat-4.4 changes back to allow a combined build + from the gcc-4.4 source. + * Build libgnatprj for armel. + * On armel build just one version of the ada run-time library. + * Update auto* build dependencies for snapshot builds. + * Apply proposed patch for PR target/40718. + + -- Matthias Klose Sun, 23 Aug 2009 11:50:38 +0200 + +gcc-4.4 (4.4.1-2) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090808 from the gcc-4_4-branch (r150577). + - Fixes PR target/40832, PR rtl-optimization/40710, + PR tree-optimization/40321, PR build/40010, PR fortran/40727, + PR build/40010, PR rtl-optimization/40924, PR c/39902, + PR middle-end/40943, PR target/40577, PR c++/39987, PR debug/39706, + PR c++/40948, PR c++/40749, PR fortran/40851, PR fortran/40878, + PR target/40906. + * Bump GCC version required in dependencies to 4.4.1. + * Enable Ada for snapshot builds on all archs with a gnat package + available in the archive. + * Build-depend on binutils 2.19.51.20090805, needed at least for armel. + + [ Aurelien Jarno ] + * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD. + + -- Matthias Klose Sat, 08 Aug 2009 10:17:39 +0200 + +gcc-4.4 (4.4.1-1) unstable; urgency=low + + * GCC 4.4.1 release. + - Fixes PR target/39943, PR tree-optimization/40792, PR c++/40780, + PR middle-end/40747, PR libstdc++/40691, PR libfortran/40714, + PR tree-optimization/40813 (ICE in OpenJDK build on sparc). + * Apply proposed patch for PR target/39429, an ARM wrong-code error. + * Fix a typo in the arm back-end (proposed patch). + * Build-depend on libmpc-dev for snapshot builds. + * Fix build failure in cross builds (Hector Oron). Closes: #522597. + * Run the testsuite as part of the build target, not the install target. + + -- Matthias Klose Wed, 22 Jul 2009 13:24:39 +0200 + +gcc-4.4 (4.4.0-11) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20090715 from the gcc-4_4-branch (r149690). + - Corresponds to the 4.4.1 release candidate. + - Fixes PR target/38900, PR debug/40666, PR middle-end/40669, + PR middle-end/40328, PR target/40587, PR middle-end/40585, + PR c++/40566, PR tree-optimization/40542, PR c/39902, + PR tree-optimization/40579, PR tree-optimization/40550, PR c++/40684, + PR c++/35828, PR c++/37816, PR c++/40639, PR c++/40633, PR c++/40619, + PR c++/40595, PR fortran/40440, PR fortran/40551, PR fortran/40638, + PR fortran/40443, PR libstdc++/40600, PR rtl-optimization/40667, PR c++/40740, + PR c++/36628, PR c++/37206, PR c++/40689, PR c++/40502, PR middle-end/40747. + * Backport of PR c/25509, new option -Wno-unused-result. LP: #305176. + * gcc-4.4: Depend on libgomp1, even if not building the libgomp1 package. + * Add proposed patches for PR libstdc++/40133, PR target/40134; don't apply + yet. + + [Emilio Pozuelo Monfort] + * Backport build-id support, configure with --enable-linker-build-id. + + -- Matthias Klose Tue, 14 Jul 2009 16:09:33 -0400 + +gcc-4.4 (4.4.0-10) unstable; urgency=low + + [ Arthur Loiret ] + * debian/rules.patch: Record the auto* calls to run them once only. + + [ Matthias Klose ] + * Update to SVN 20090627 from the gcc-4_4-branch (r149023). + - Fixes PR other/40024. + * Fix typo, adding blacklisted symbols to the libgcc1 symbols file on armel. + * On mips/mipsel use -O2 in STAGE1_CFLAGS until binutils is updated. + + -- Matthias Klose Sun, 28 Jun 2009 10:13:08 +0200 + +gcc-4.4 (4.4.0-9) unstable; urgency=high + + * Update to SVN 20090624 from the gcc-4_4-branch (r148821). + - Fix PR objc/28050 (LP: #362217), PR libstdc++/40297, PR c++/40342. + * Continue the well planned lib32 transition on amd64, adding pre-dependencies + on libc6-i386 (>= 2.9-18) on Debian. Closes: #533767. + * Enable SSP on arm and armel, run the testsuite with -fstack-protector. + LP: #375189. + * Fix spu fortran build in gcc-snapshot builds. + * Add missing symbols for 64bit libgfortran library. + * Update libstdc++ symbol files for sparc 64bit, adding symbols + for exception propagation support. + * Explicitely add __aeabi symbols to the libgcc1 symbols file on armel. + Closes: #533843. + + -- Matthias Klose Wed, 24 Jun 2009 23:46:02 +0200 + +gcc-4.4 (4.4.0-8) unstable; urgency=medium + + * Let all 32bit libs conflict with libc6-i386 (<< 2.9-17). Closes: #533767. + * Update to SVN 20090620 from the gcc-4_4-branch (r148747). + - Fixes PR fortran/39800, PR fortran/40402. + * Work around tar bug on kfreebsd unpacking java class file updates (#533356). + + -- Matthias Klose Sat, 20 Jun 2009 15:15:22 +0200 + +gcc-4.4 (4.4.0-7) unstable; urgency=medium + + * Update to SVN 20090618 from the gcc-4_4-branch (r148685). + - Fixes PR middle-end/40446, PR middle-end/40389, PR middle-end/40460, + PR fortran/40168, PR target/40470. + * On amd64, install 32bit libraries into /lib32 and /usr/lib32. + * lib32gcc1, lib32gomp1, lib32stdc++6: Conflict with libc6-i386 (= 2.9-15), + libc6-i386 (= 2.9-16). + * Handle serialver alternative in -jdk install scripts, not in -jre-headless. + + -- Matthias Klose Fri, 19 Jun 2009 01:36:00 +0200 + +gcc-4.4 (4.4.0-6) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090612 from the gcc-4_4-branch (r148433). + - Fixes PR c++/38064, PR c++/40139, PR target/40017, PR target/40266, + PR bootstrap/40027, PR tree-optimization/40087, PR target/39856, + PR rtl-optimization/40105, PR target/39942, PR middle-end/40204, + PR debug/40109, PR tree-optimization/39999, PR libfortran/37754, + PR fortran/22423, PR libfortran/39667, PR libfortran/39782, + PR libfortran/38668, PR libfortran/39665, PR libfortran/39702, + PR libfortran/39709, PR libfortran/39665i, PR libgfortran/39664, + PR fortran/38654, PR libfortran/37754, PR libfortran/37754, + PR libfortran/25561, PR libfortran/37754, PR middle-end/40291, + PR target/40017, PR middle-end/40340, PR c++/40308, PR c++/40311, + PR c++/40306, PR c++/40307, PR c++/40370, PR c++/40372, PR c++/40373, + PR c++/40381, PR fortran/40019, PR fortran/39893. + * gcj-4.4-jdk: Depend on libecj-java-gcj instead of libecj-java. + * Let gjdoc --version use the Configuration class instead of + version.properties (Alexander Sack). LP: #385682. + * Preserve libgcc_s.so linker scripts. Closes: #532263. + + [Ludovic Brenta] + * debian/patches/ppc64-ada.dpatch, + debian/patches/ada-mips.dpatch, + debian/patches/ada-mipsel.dpatch: remove, merged upstream. + * debian/patches/*ada*.dpatch: + - rename to *.diff; + - remove the dpatch prologue shell script + - refresh with quilt -p ab and without time stamps + - adjust to GCC 4.4 + * debian/patches/ada-library-project-files-soname.diff, + debian/patches/ada-polyorb-dsa.diff, + debian/patches/pr39856.diff: new. + * debian/rules.patch: adjust accordingly. + * debian/rules.defs: re-enable Ada. + * debian/rules2: do a lean bootstrap when building Ada. + * debian/rules.d/binary-ada.mk: do not build gnatbl or gprmake anymore, + removed upstream. + + -- Matthias Klose Fri, 12 Jun 2009 18:34:13 +0200 + +gcc-4.4 (4.4.0-5) unstable; urgency=medium + + * Update to SVN 20090517 from the gcc-4_4-branch (r147630). + - Fixes PR tree-optimization/40062, PR middle-end/39986, + PR middle-end/40057, PR fortran/39879, PR libstdc++/40038, + PR middle-end/40035, PR target/37179, PR middle-end/39666, + PR tree-optimization/40074, PR fortran/40018, PR fortran/38863, + PR middle-end/40147, PR fortran/40018, PR target/40153. + + [ Matthias Klose ] + * Update libstdc++ symbols files. + * Update libgcc, libobjc, libstdc++ symbols files for armel. + * Fix version symlink in gcc_lib_dir. Closes: #527837. + * Fix symlinks for javac and header files in /usr/lib/jvm. + Closes: #528084. + * Don't build the stage1 compiler with -O with recent binutils (trunk). + * Revert doing link tests to check for the atomic builtins, disabling + exception propagation support in libstdc++ on armel. See PR40133, PR40134. + * On mips/mipsel don't run the java testsuite with -mabi=64. + * Default to armv4 for the gcc-snapshot package as well. Closes: #523936. + * Mention GCC trunk in the gcc-snapshot package description. Closes: #526309. + * Remove unneed '..' elements from symlinks in JAVA_HOME. + * Fix some lintian warnings for gcc-snapshot. + + [ Arthur Loiret ] + * Add missing dir separator to multiarch path. Closes: #527537. + + -- Matthias Klose Sun, 17 May 2009 11:15:52 +0200 + +gcc-4.4 (4.4.0-4) unstable; urgency=medium + + * Update to SVN 20090506 from the gcc-4_4-branch (r147161). + - Fixes PR rtl-optimization/39914, PR testsuite/39776, + PR tree-optimization/40022, PR libstdc++/39909. + + [ Matthias Klose ] + * gcc-4.4-source: Don't depend on gcc-4.4-base, depend on quilt + and patchutils. + * On armel, link the shared libstdc++ with both -lgcc_s and -lgcc. + * Update libgcc and libstdc++ symbol files for mips and mipsel. + * Update libstdc++ symbol files for armel and hppa, adding symbols + for exception propagation support. + * Add ARM EABI symbols to libstdc++ symbol files for armel. + * Add libobjc symbols file for armel. + * Fix PR libstdc++/40038, missing ceill/tanhl symbols in libstdc++. + + [ Aurelien Jarno ] + * Fix libc name for biarch packages on kfreebsd-amd64. + + -- Matthias Klose Wed, 06 May 2009 15:10:36 +0200 + +gcc-4.4 (4.4.0-3) unstable; urgency=low + + * libstdc++-doc: Install the man pages again. + * Fix build configuration for the GC enabled ObjC runtime library. + * Fix thinko in autotools_files, resulting in autoconf not run in + some cases. + * Do link tests to check for the atomic builtins, enables exception + propagation support in libstdc++ on armel and hppa. + + -- Matthias Klose Sun, 03 May 2009 23:38:56 +0200 + +gcc-4.4 (4.4.0-2) unstable; urgency=low + + [ Samuel Thibault ] + * Enable java build on the hurd. + + [ Matthias Klose ] + * libobjc2.symbols.armel: Remove, use the default one. + * Address PR libstdc++/39491, removing __signbitl from the libstdc++6 + symbols file on hppa. + * libstdc++6.symbols.armel: Fix error introduced with copy from the + arm symbols file. + * libstdc++6.symbols.*: Don't assume exception propagation support + enabled for all architectures (although it should on armel, hppa, + sparc). + * Disable the build of the ObjC garbage collection library on mips*, + working around a build failure. + + -- Matthias Klose Sat, 02 May 2009 14:22:35 +0200 + +gcc-4.4 (4.4.0-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090429 from the gcc-4_4-branch (r146989). + * Configure java enabled builds with --enable-java-home. + * Integrate the bits previously found in java-gcj-compat. + * Rename the packages using the naming schema used for OpenJDK: + gcj-X.Y-{jre-headless,jre,jre-lib,jdk,source}. The packages + {gij,gcj,gappletviewer}-X.Y and libgcjN-{jar,source} are gone. + * Build the libgcj documentation with the just built gjdoc. + * Don't use profiled bootstrap when building the gcj source. + * Apply proposed patch for PR target/39856. + * Fix some lintian warnings. + * Don't include debug symbols for libstdc++.so.6, if the library is + built by a newer GCC version. + * Adjust hrefs to point to the local libstdc++ documentation. LP: #365414. + * Update libgcc, libgfortran, libobjc, libstdc++ symbol files. + * gcc-4.4: Include libssp_nonshared.a. + * For ix86, set the java architecture directory to i386. + + [ Samuel Thibault ] + * Update Hurd changes. + * Configure with --enable-clocale=gnu on hurd-i386. + * debian/patches/hurd-pthread.diff: Reapply. + + -- Matthias Klose Thu, 30 Apr 2009 00:30:20 +0200 + +gcc-4.4 (4.4.0-1~exp2) experimental; urgency=low + + * Update to SVN 20090423 from the gcc-4_4-branch. + + [ Aurelien Jarno ] + * kbsd-gnu.diff: remove parts merged upstream. + + [ Matthias Klose ] + * Remove conflicts/replaces for *-spu packages. + * Configure the spu cross compiler without --with-sysroot and + --enable-multiarch. + * Fix and reenable the gfortran-spu build. + * Work around build failures with missing libstdc++ baseline files. + * Install gjdoc man page. + * Fix java configuration with --enable-java-home and include symlinks + for JAVA_HOME in /usr/lib/jvm. + * Apply proposed fix for PR middle-end/39794. + * Install libstdc++ man pages with suffix .3cxx instead of .3. + Closes: #525244. + * lib*stdc++6-{dbg,doc}: Add conflicts to the corresponding 4.3 packages. + + -- Matthias Klose Thu, 23 Apr 2009 18:11:49 +0200 + +gcc-4.4 (4.4.0-1~exp1) experimental; urgency=low + + * Final GCC 4.4.0 release. + + * Don't build the Fortran SPU cross compiler, currently broken. + * spu cross build: Build without spucache and spumea64. + * Configure --with-arch-32=i486 on amd64, i386, and kfreebsd-{amd64,i386}, + --with-arch-32=i586 on hurd-i386, --with-cpu=atom on lpia. + * Build using profiled bootstrap. + * Remove the gcc-4.4-base.postinst. Addresses: #524708. + * Update debian/copyright: Include runtime library exception, remove + D and Phobas license. + * Apply proposed patch for PR libstdc++/39491, missing symbol in libstdc++ + on hppa. + * Remove unsused soft-fp functions in the 64bit libgcc on powerpc (PR39828). + * Update NEWS files for 4.4. + * Build again libgfortran for the non-default multilib configuration. + * Restore missing chunks in note-gnu-stack.diff, lost during the conversion + to quilt. + + -- Matthias Klose Wed, 22 Apr 2009 00:53:16 +0200 + +gcc-4.4 (4.4-20090418-1) experimental; urgency=low + + * Update to SVN 20090418 from the gcc-4_4-branch. + + [ Arthur Loiret ] + * Update patches: + - boehm-gc-nocheck, cross-include, libjava-rpath, link-libs: + Rebase on trunk. + - gcc-m68k-pch, libjava-debuginfo, libjava-loading-constraints: + Remove, merged in trunk. + - cell-branch, cell-branch-doc: Remove, there is no upstream cell 4.4 + branch yet. + - gdc-fix-build-kbsd-gnu, svn-gdc-updates, gpc-4.1, gpc-gcc-4.x, + gpc-names: Remove, gpc and gdc are not ported to GCC 4.4 yet. + - svn-class-updates, svn-doc-updates, svn-updates: Make empty. + - Refresh all others, and convert them all to quilt. + + * Build system improvements: + - Partial rewrite/refactor of rules files. + - Switch patch system to quilt. + - Autogenerate debian/copyright. + - Use the autoconf2.59 package. + + * multilib/multiarch support improvements: Closes: #369064, #484589. + - mips-triarch.diff: Replace with a newer version (approved upstream). + - s390-biarch.diff: Ditto. + - debian/rules2: Configure with --enable-targets=all on mips-linux, + mipsel-linux and s390-linux. + - gcc-multiarch.diff: New, add multiarch include directories and + libraries path to the system paths. + - debian/rules2: Configure with --enable-multiarch. Configure spu build + with --with-multiarch-defaults=spu-elf. + - multiarch-include.diff: Remove. + - debian/multiarch.inc: Ditto. + + * cross-compilers changes: + - Never build a separated -base package, don't symlink any doc dir. + - Build gobjc again. + + * Run the 64-bit tests with -mabi=64 instead of -m64 on mips/mipsel to + hopefully fix the massive failure. + * Always set $(distribution) to "Debian" on mips/mipsel, workarounds FTBFS + on those archs due to a kernel bug triggered by lsb_release call. + Adresses: #524416. + * debian/rules.patch: Only apply the ada-nobiarch-check patch when ada is + enabled. Remove gpc and gdc patches. + * debian/rules.unpack (install_autotools_stamp): Remove. + * debian/rules.defs (configure_dependencies): Remove autotools dependency. + * debian/rules.conf: Add a copyright-file target. + * debian/control.m4: Build-Depends on autoconf2.59 and patchutils. + Make gcc-4.4-source Depends on autoconf2.59. + Add myself to Uploaders. + * debian/rules.d/binary-source.mk: Don't build and install an embedded + copy or autoconf2.59 in gcc-4.4-source. + * debian/copyright.in: New. + + [ Matthias Klose ] + * Build gcj on hppa. + * Add support to build vfp optimized runtime libraries on armel. + * gcc-4.4-spu: Depend on newlib-spu. + * Fix sections of -dbg and java packages. + * gcc-default-ssp.dpatch: Set the default as well, when calling the + preprocessor. LP: #346126. + * Build-depend on quilt. + * Keep the copyright file in the archive. + * Remove conflict of the gcc-X.Y-source packages. + * Update removal of gfdl doc files for 4.4. + * Don't re-run the autotools (introduced with the switch to quilt). + * On arm and armel, install the arm_neon.h header. LP: #360819. + * When hardening options are turned on by default, patch the testsuite + to handle the hardening defaults (Kees Cook). + * Only run the patch target once. Avoids multiple autotool runs, but + doesn't reflect changes in the series file anymore. + * libgcj-doc: Fix documentation title. + * Fix gcj source build with recent build changes. + * Don't check for libraries in DEB_BUILD_OPTIONS/nolang. + * gappletviewer: Include missing binary. + + [ Aurelien Jarno ] + * Remove: patches/kbsd-gnu-ada.dpatch (merged upstream). + * kbsd-gnu.diff: add fix for stuff broken by upstream. + + -- Matthias Klose Mon, 20 Apr 2009 01:34:26 +0200 + +gcc-4.4 (4.4-20090317-1) experimental; urgency=low + + * Initial upload of GCC-4.4, based on trunk 20090317 (r144904). + + [Matthias Klose] + * Branch from the gcc-4.3 packaging. + * Remove *-trunk patches, update remaining patches for the trunk. + * Remove patches integrated upstream: libobjc-gc-link, libjava-file-support, + libjava-realloc-leak, libjava-armel-ldflags, libstdc++-symbols-hppa, + gcc-m68k-pch, libjava-extra-cflags, libjava-javah-bridge-tgts, + hppa-atomic-builtins, armel-atomic-builtins, libssp-gnu, libobjc-armel, + gfortran-armel-updates, sparc-biarch, libjava-xulrunner-1.9. + * Update patches for 4.4, mostly using the patches converted for quilt by + Arthur Loiret. + * debian/patches/libjava-soname.dpatch: Remove, unmodifed upstream library. + * debian/patches/gcc-driver-extra-langs.dpatch: Search Ada files in subdir. + * debian/rules.unpack, debian/rules.d/binary-source.mk: Update for included + autoconf tarball. + * debian/rules.d/binary-{gcc,java}.mk: Install new header files. + * debian/libgfortran3.symbols.common: Remove symbol not generated by + gfortran (__iso_c_binding_c_f_procpointer@GFORTRAN_1.0), PR38871. + * debian/rules.conf: Update for 4.4. + * Fix build dependencies and configure options for 4.4, which were applied + for snapshot builds only. + + [Arthur Loiret] + * Update patches from debian/patches: + - Remove backported fixes: + PR ada: pr10768.dpatch, pr15808.dpatch, pr15915.dpatch, pr16086.dpatch, + pr16087.dpatch, pr16098.dpatch, pr17985.dpatch, pr18680.dpatch, + pr22255.dpatch, pr22387.dpatch, pr28305.dpatch, pr28733.dpatch, + pr29015.dpatch, pr30740.dpatch, pr30827.dpatch pr33688.dpatch, + pr34466.dpatch, pr35050.dpatch, pr35792.dpatch. + PR target: pr27880.dpatch, pr28102.dpatch, pr30961.dpatch, + pr35965.dpatch, pr37661.dpatch. + PR libgcj: pr24170.dpatch, pr35020.dpatch. + PR gcov-profile: pr38292.dpatch. + PR other: pr28322.dpatch. + * debian/rules.patch: Update. + * debian/symbols/libgomp1.symbols.common: Add new symbols from OpenMP 3.0. + + -- Matthias Klose Tue, 17 Mar 2009 02:28:01 +0100 + +gcc-4.3 (4.3.3-5) unstable; urgency=low + + Merge from gnat-4.3 (4.3.3-1): + + [Petr Salinger] + * debian/patches/ada-libgnatprj.dpatch: enable support for GNU/kFreeBSD. + Fixes: #512277. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: attempt to fix ACATS tests (not entirely + successful yet). + * New upstream version. Fixes: #514565. + + [Matthias Klose] + * Update to SVN 20090301 from the gcc-4_3-branch. + - Fix PR c/35446, PR c++/38950, PR fortran/38852, PR fortran/39006, + PR c++/39225 (closes: #516727), PR c++/38950, PR target/38056, + PR target/39228, PR middle-end/36578, PR inline-asm/39058, + PR middle-end/37861. + * Don't provide the 4.3.2 symlink in gcc_lib_dir anymore. + * Require binutils-2.19.1. + + -- Matthias Klose Sun, 01 Mar 2009 14:18:09 +0100 + +gcc-4.3 (4.3.3-4) unstable; urgency=low + + * Fix Fix PR gcov-profile/38292 (wrong profile information), taken + from the trunk. + * Update to SVN 20090215 from the gcc-4_3-branch. + Fix PR c/35435, PR tree-optimization/39100, PR rtl-optimization/39076, + PR c/35433, PR tree-optimization/39041, PR target/38988, + PR middle-end/38969, PR c++/36897, PR c++/39054, PR c/39035, PR c/35434, + PR c/36432, PR target/38991, PR c/39084, PR target/39118. + * Reapply the fix for PR middle-end/38615. + * Include autoconf-2.59 sources into the source package, and install as + part of the gcc-4.3-source package. + * Explicitely use autoconf-1.9. + * Disable building the gcjwebplugin. + * Don't configure with --enable-cld on amd64 and i386. + + -- Matthias Klose Sun, 15 Feb 2009 23:40:09 +0100 + +gcc-4.3 (4.3.3-3) unstable; urgency=medium + + * Revert fix for PR middle-end/38615. Closes: #513420. + + -- Matthias Klose Thu, 29 Jan 2009 07:05:15 +0100 + +gcc-4.3 (4.3.3-2) unstable; urgency=low + + * Update to SVN 20090127 from the gcc-4_3-branch. + - Fix PR tree-optimization/38359. Closes: #492505. + - Fix PR tree-optimization/38932 (ice-on-valid-code), PR target/38931 + (ice-on-valid-code), PR rtl-optimization/38879 (wrong-code), + PR c++/23287 (rejects-valid), PR fortran/38907 (ice-on-valid-code), + PR fortran/38859 (wrong-code), PR fortran/38657 (rejects-valid), + PR fortran/38672 (ice-on-valid-code). + * Fix PR middle-end/38969, taken from the trunk. Closes: #513007. + + -- Matthias Klose Tue, 27 Jan 2009 23:42:45 +0100 + +gcc-4.3 (4.3.3-1) unstable; urgency=low + + * GCC-4.3.3 release (no changes compared to the 4.3.2-4 upload). + * Fix PR middle-end/38615 (wrong code, taken from the trunk). + + -- Matthias Klose Sat, 24 Jan 2009 14:43:09 +0100 + +gcc-4.3 (4.3.2-4) unstable; urgency=medium + + * Update to SVN 20090119 from the gcc-4_3-branch. + - Fix PR tree-optimization/36765 (wrong code). + * Remove patch for PR 34571, applied upstream (fix build failure on alpha). + * Apply proposed patch for PR middle-end/38902 (wrong code). + + -- Matthias Klose Tue, 20 Jan 2009 00:22:41 +0100 + +gcc-4.3 (4.3.2-3) unstable; urgency=low + + * Update to SVN 20090117 from the gcc-4_3-branch (4.3.3 release candidate). + - Fix PR target/34571, PR debug/7055, PR tree-optimization/37194, + PR tree-optimization/38529, PR fortran/38763, PR fortran/38765, + PR fortran/38669, PR fortran/38487, PR fortran/35681, PR fortran/38657, + PR c++/36019, PR c++/31488, PR c++/37646, PR c++/36334, PR c++/38357, + PR c++/31260, PR c++/38877, PR libstdc++/36801, PR libgcj/38396. + - debian/patches/libgcj-bc.dpatch: Remove, applied upstream. + * Fix PR middle-end/38616 (wrong code with -fstack-protector). + * Update backport for PR28322 (Gunther Nikl). + + -- Matthias Klose Sat, 17 Jan 2009 21:09:35 +0100 + +gcc-4.3 (4.3.2-2) unstable; urgency=low + + * Update to SVN 20090110 from the gcc-4_3-branch. + - Fix PR target/36654, PR tree-optimization/38752, PR fortran/38675, + PR fortran/37469, PR libstdc++/38000. + + -- Matthias Klose Sat, 10 Jan 2009 18:32:34 +0100 + +gcc-4.3 (4.3.2-2~exp5) experimental; urgency=low + + * Adjust build-dependencies for cross builds. Closes: #499998. + * Update to SVN 20081231 from the gcc-4_3-branch. + - Fix PR middle-end/38565, PR target/38062, PR bootstrap/38383, + PR target/38402, PR testsuite/35677, PR tree-optimization/38478, + PR target/38054, PR middle-end/29056, PR testsuite/28870, + PR target/38254. + - Fix PR libstdc++/37144, PR c++/37582, PR libstdc++/38080. + - Fix PR fortran/38602, PR fortran/38602, PR fortran/38487, + PR fortran/38113, PR fortran/35983, PR fortran/35937, PR testsuite/36889. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081217. + * debian/patches/libobjc-armel.dpatch: Don't define EH_USES. + * Apply the Atomic builtins patch for PARISC. + + -- Matthias Klose Thu, 18 Dec 2008 00:34:46 +0100 + +gcc-4.3 (4.3.2-2~exp4) experimental; urgency=low + + * Update to SVN 20081130 from the gcc-4_3-branch. + - Fix PR bootstrap/33304, PR middle-end/37807, PR middle-end/37809, + PR rtl-optimization/37489, PR target/35574, PR c/37924, + PR tree-optimization/37879, PR middle-end/37858, PR middle-end/37870, + PR target/38016, PR target/37939, PR rtl-optimization/37769, + PR target/37909, PR fortran/37597, PR fortran/35820, PR fortran/37445, + PR fortran/PR35769, PR fortran/37903, PR fortran/37749. + - Fix PR target/37640, PR tree-optimization/37868, PR bootstrap/33100, + PR other/38214, PR c++/37142, PR c++/35405, PR c++/37563, PR c++/38030, + PR c++/37932, PR c++/38007. + - Fix PR fortran/37836, PR fortran/38171, PR fortran/35681, + PR fortran/37792, PR fortran/37926, PR fortran/38033, PR fortran/36526. + - Fix PR target/38287. Closes: #506713. + * Atomic builtins using kernel helpers for PARISC and ARM Linux/EABI, taken + from the trunk. + + -- Matthias Klose Mon, 01 Dec 2008 01:29:51 +0100 + +gcc-4.3 (4.3.2-2~exp3) experimental; urgency=low + + * Update to SVN 20081117 from the gcc-4_3-branch. + * Add build dependencies on spu packages for snapshot builds. + * Add build dependency on libantlr-java for snapshot builds. + * Disable fortran on spu for snapshot builds. + * Add dependency on binutils-{hppa64,spu} for snapshot builds. + + -- Matthias Klose Mon, 17 Nov 2008 21:57:51 +0100 + +gcc-4.3 (4.3.2-2~exp2) experimental; urgency=low + + * Update to SVN 20081023 from the gcc-4_3-branch. + - General regression fixes: PR rtl-optimization/37882 (wrong code), + - Fortran regression fixes: PR fortran/37787, PR fortran/37723. + * Use gij-4.3 for builds in java maintainer mode. + * Don't run the testsuite with -fstack-protector for snapshot builds. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081023. + Don't disable multilibs, install additional components in the gcc-4.3-spu + package. + * Enable building the spu cross compiler for powerpc and ppc64 snapshot + builds. + * Apply proposed patch for PR tree-optimization/37868 (wrong code). + * Apply proposed patch to parallelize make check. + * For biarch builds, disable the gnat testsuite for the non-default + architecture (no biarch support in gnat yet). + + -- Matthias Klose Thu, 23 Oct 2008 22:06:38 +0200 + +gcc-4.3 (4.3.2-2~exp1) experimental; urgency=low + + * Update to SVN 20081017 from the gcc-4_3-branch. + - General regression fixes: PR rtl-optimization/37408 (wrong code), + PR tree-optimization/36630, PR tree-optimization/37102 (wrong code), + PR c/35437 (ice on invalid code), PR middle-end/37731 (wrong code), + PR target/37603 (wrong code, hppa), PR tree-optimization/35737 (ice on + valid code), PR middle-end/36575 (wrong code), PR c/37645 (ice on valid + code), PR tree-optimization/37539 (compile time hog), PR middle-end/37236 + (ice on invalid code), PR tree-optimization/36343 (wrong code), + PR rtl-optimization/37544 (wrong code), PR target/35620 (ice on valid + code), PR target/35713 (ice on valid code, wrong code), PR c/35712 (wrong + code), PR target/37466 (wrong code, AVR). + - C++ regression fixes: PR c++/37389 (LP: #252301), PR c++/37555 (ice on + invalid code). + - Fortran regression fixes: PR fortran/37199, PR fortran/36214, + PR fortran/35770, PR fortran/36454, PR fortran/36374, PR fortran/37274, + PR fortran/37583, PR fortran/36700, PR fortran/35945, PR fortran/37626, + PR fortran/37504, PR fortran/37580, PR fortran/37706, PR fortran/35680, + PR fortran/37794. + * Remove obsolete patches: ada-driver.dpatch, pr33148.dpatch. + * Fix naming of bridge targets in gjavah (wrong header generation). + * Fix PR target/37661, SPARC64 int-to-TFmode conversions. + * Include the complete test summaries in a binary package, to allow + regression checking from the previous build. + * Tighten inter-package dependencies to (>= 4.3.2-1). + * Drop the 4.3.1 symlink in gcc_lib_dir, add a 4.3.3 symlink to 4.3. + + -- Matthias Klose Fri, 17 Oct 2008 23:26:50 +0200 + +gcc-4.3 (4.3.2-1) unstable; urgency=medium + + [Matthias Klose] + * Final gcc-4.3.2 release (regression fixes). + - Remove the generated install docs from the tarball (GFDL licensed). + - C++ regression fixes: PR debug/37156. + - general regression fixes: PR debug/37156, PR target/37101. + - Java regression fixes: PR libgcj/8995. + * Update to SVN 20080905 from the gcc-4_3-branch. + - C++ regression fixes: PR c++/36741 (wrong diagnostic), + - general regression fixes: PR target/37184 (ice on valid code), + PR target/37191 (ice on valid code), PR target/37197 (ice on valid code), + PR middle-end/36817 (ice on valid code), PR middle-end/36548 (wrong code), + PR middle-end/37125 (wrong code), PR c/37261 (wrong diagnostic), + PR target/37168 (ice on valid code), PR middle-end/36449 (wrong code), + PR middle-end/37248 (missed optimization), PR target/36332 (wrong code). + - Fortran regression fixes: PR fortran/37193 (rejects valid code). + * Move symlinks in gcc_lib_dir from cpp-4.3 to gcc-4.3-base. Closes: #497369. + * Don't build-depend on autogen on architectures where it is not installable + (needed for the fixincludes testsuite only); don't build-depend on it for + source packages not running the fixincludes testsuite. + + [Ludovic Brenta] + * Add sdefault.ads to libgnatprj4.3-dev. Fixes: #492866. + * turn gnatvsn.gpr and gnatprj.gpr into proper library project files. + * Unconditionally build-depend on gnat when building gnat-4.3. + Fixes: #487564. + * (debian/rules.d/binary-ada.mk): Add a symlink libgnat.so to + /usr/lib/libgnat-4.3.so in the adalib directory. Fixes: #493814. + * (debian/patches/ada-sjlj.dpatch): remove dangling symlinks from all + adalib directories. + * debian/patches/ada-alpha.dpatch: remove, applied upstream. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16086.dpatch: new; backport from GCC 4.4. + Closes: #248172. + * debian/patches/pr35792.dpatch: new; backport from GCC 4.4. + * debian/patches/pr15808.dpatch (fixes: #246392), + debian/patches/pr30827.dpatch: new; backport from the trunk. + + -- Matthias Klose Fri, 05 Sep 2008 22:52:58 +0200 + +gcc-4.3 (4.3.1-9) unstable; urgency=low + + * Update to SVN 20080814 from the gcc-4_3-branch. + - C++/libstdc++ regression fixes: PR c++/36688, PR c++/37016, PR c++/36999, + PR c++/36405, PR c++/36767, PR c++/36852. + - general regression fixes: PR target/36613, PR rtl-optimization/36998, + PR middle-end/37042, PR middle-end/35432, PR target/35659, + PR middle-end/37026, PR middle-end/36691, PR tree-optimization/36991, + PR rtl-optimization/35542, PR bootstrap/35752, PR rtl-optimization/36419, + PR debug/36278, PR preprocessor/36649, PR rtl-optimization/36929, + PR tree-optimization/36830, PR c/35746, PR middle-end/37014, + PR middle-end/37103. + - Fortran regression fixes: PR fortran/36132. + - Java regression fixes: PR libgcj/31890. + - Fixes PR middle-end/37090. Closes: #494815. + + -- Matthias Klose Thu, 14 Aug 2008 18:02:52 +0000 + +gcc-4.3 (4.3.1-8) unstable; urgency=low + + * Undo Revert PR tree-optimization/36262 on i386 (PR 36917 is invalid). + + -- Matthias Klose Fri, 25 Jul 2008 21:47:52 +0200 + +gcc-4.3 (4.3.1-7) unstable; urgency=low + + * Update to SVN 20080722 from the gcc-4_3-branch. + - Fix PR middle-end/36811, infinite loop building with -O3. + - C++/libstdc++ regression fixes: PR c++/36407, PR c++/34963, + PR libstdc++/36832, PR libstdc++/36552, PR libstdc++/36729. + - Fortran regression fixes: PR fortran/36366, PR fortran/36824. + - general regression fixes: PR middle-end/36877, PR target/36780, + PR target/36827, PR rtl-optimization/35281, PR rtl-optimization/36753, + PR target/36827, PR target/36784, PR target/36782, PR middle-end/36369, + PR target/36780, PR target/35492, PR middle-end/36811, + PR rtl-optimization/36419, PR target/35802, PR target/36736, + PR target/34780. + * Revert PR tree-optimization/36262 on i386, causing miscompilation of + OpenJDK hotspot. + * gij/gcj: Don't remove alternatives on upgrade. Addresses: #479950. + + -- Matthias Klose Tue, 22 Jul 2008 23:55:54 +0200 + +gcc-4.3 (4.3.1-6) unstable; urgency=low + + * Start the logwatch script on alpha as well to avoid timeouts in + the testsuite. + + -- Matthias Klose Mon, 07 Jul 2008 11:31:58 +0200 + +gcc-4.3 (4.3.1-5) unstable; urgency=low + + * Update to SVN 20080705 from the gcc-4_3-branch. + - Fix PR target/36634, wrong-code on powerpc with -msecure-plt. + * Fix PR target/35965, PIC + -fstack-protector on arm/armel. Closes: #469517. + * Don't run the libjava testsuite with -mabi=n32. + * Update patch for PR other/28322, that unknown -Wno-* options do not + cause errors, but warnings instead. + * On m68k, add -fgnu89-inline when in gnu99 mode (requested by Michael + Casadeval for the m68k port). Closes: #489234. + + -- Matthias Klose Sun, 06 Jul 2008 01:39:30 +0200 + +gcc-4.3 (4.3.1-4) unstable; urgency=low + + * Revert: debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * Remove obsolete multiarch-lib patch. + + -- Matthias Klose Mon, 30 Jun 2008 23:05:17 +0200 + +gcc-4.3 (4.3.1-3) unstable; urgency=medium + + [Arthur Loiret] + * debian/rules2: + - configure sh4-linux with --with-multilib-list=m4,m4-nofpu + and --with-cpu=sh4. + - configure sparc-linux with --enable-targets=all on snapshot builds + (change already in 4.3.1-1). + * debian/rules.patch: Don't apply sh4-multilib.dpatch. + + [Matthias Klose] + * Update to SVN 20080628 from the gcc-4_3-branch. + - Fix PR target/36533, wrong-code with incorrectly assumed aligned_operand. + Closes: #487115. + * debian/rules.defs: Remove hurd-i386 from ssp_no_archs (Samuel Thibault). + Closes: #483613. + * Do not create a /usr/lib/gcc//4.3.0 symlink. + * debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * libjava/classpath: Set and use EXTRA_CFLAGS (taken from the trunk). + + -- Matthias Klose Sat, 28 Jun 2008 16:00:38 +0200 + +gcc-4.3 (4.3.1-2) unstable; urgency=low + + * Update to SVN 20080610 from the gcc-4_3-branch. + - config.gcc: Fix quoting for in the enable_cld test. + * Use GNU locales on hurd-i386 (Samuel Thibault). Closes: #485395. + * libstdc++-doc: Fix URL's for locally installed docs. Closes: #485133. + * libjava: On armel apply kludge to fix unwinder infinitely looping 'til + it runs out of memory. + * Adjust dependencies to require GCC 4.3.1. + + -- Matthias Klose Wed, 11 Jun 2008 00:35:38 +0200 + +gcc-4.3 (4.3.1-1) unstable; urgency=high + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16087.dpatch: new. Fixes: #248173. + * Correct the patches from the previous upload. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: really run the just-built gnat, not the + bootstrap gnat. + * debian/rules2: when running the Ada test suite, do not run the multilib + tests as gnat does not support multilib yet. + * Run the ACATS testsuite again (patch it so it correctly finds gnatmake). + + [Thiemo Seufer] + * debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-mips{,el}.dpatch: complete support for mips and mipsel. + Fixes: #482433. + + [Matthias Klose] + * GCC-4.3.1 release. + * Do not include standard system paths in libgcj pkgconfig file. + * Suggest the correct libmudflap0-dbg package. + * Fix PR libjava/35020, taken from the trunk. + * Apply proposed patch for PR tree-optimization/36343. + * On hurd-i386 with -fstack-protector do not link with libssp_nonshared + (Samuel Thibault). Closes: #483613. + * Apply proposed patch for PR tree-optimization/34244. + * Remove debian-revision in symbols files. + * Fix installation of all biarch -multilib packages which are not triarch. + * Fix some lintian warnings. + * Include library symlinks in gobjc and gfortran multilib packages, when + not building the library packages. + * Fix sections in doc-base files. + * Don't apply the sparc-biarch patch when building the gcc-snapshot package. + * libjava: Add @file support for gjavah & gjar. + * Apply patch for PR rtl-optimization/36111, taken from the trunk. + + * Closing reports reported against gcc-4.0 and fixed in gcc-4.3: + - General + + Fix PR optimization/3511, inlined strlen() could be smarter. + Close: #86251. + - C + + Fix PR c/9072, Split of -Wconversion in two different flags. + Closes: #128950, #226952. + - C++/libstdc++ + + PR libstdc++/24660, implement versioning weak symbols in libstdc++. + Closes: #328421. + - Architecture specific: + - mips + + PR target/26560, unable to find a register to spill in class + 'FP_REGS'. Closes: #354439. + - sparc + + Fix PR rtl-optimization/23454, ICE in invert_exp_1. Closes: #340951. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR tree-optimization/30132, ICE in find_lattice_value. Closes: #400484. + + PR other/29534, ICE in "gcc -O -ftrapv" with decreasing array index. + Closes: #405065. + + Incorrect SSE2 code generation for vector initialization. + Closes: #406442. + + Fix segfault in cc1 due to infinite loop in error() when using -ftrapv. + Closes: #458072. + + Fix regression in code size with -Os compared to GCC-3.3. + Closes: #348298. + - C++ + + Fix initialization of global variables with non-constant initializer. + Closes: #446067. + + Fix ICE building muse. Closes: #429385. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.3: + - C++ + + PR c++/28705, ICE: in type_dependent_expression_p. Closes: #406324. + + PR c++/7302, -Wnon-virtual-dtor should't complain of protected dtor. + Closes: #356316. + + PR c++/28316, PR c++/24791, PR c++/20133, ICE in instantiate_decl. + Closes: #327346, #355909. + - Fortran + + PR fortran/31639, ICE in gfc_conv_constant. Closes: #401496. + - Java + + Fix ICE using gcj with --coverage. Closes: #416326. + + PR libgcj/29869, LogManager class loading failure. Closes: #399251 + + PR swing/29547 setText (String) of JButton does not work + with HTML code. Closes: #392791. + + PR libgcj/29178, CharsetEncoder.canEncode() gives different results + than Sun version. Closes: #388596. + + PR java/8923, ICE when modifying a variable decleared "final static". + Closes: #351512. + + PR java/22507, segfault building Apache Cocoon. Closes: #318534. + + PR java/2499, class members should be inherited from implemented + interfaces. Closes: #225434. + + PR java/10581, ICE compiling freenet. Closes: #186922. + + PR libgcj/28340, gij ignores -Djava.security.manager. Closes: #421098. + + PR java/32846, build failure on GNU/Hurd. Closes: #408888. + + PR java/29194, fails to import package from project. Closes: #369873. + + PR libgcj/31700, -X options not recognised by JNI_CreateJavaVM. + Closes: #426742. + + java.util.Calendar.setTimeZone fails to set ZONE_OFFSET. + Closes: #433636. + - Architecture specific: + - alpha + + C++, fix segfault in constructor with -Os. Closes: #438436. + - hppa + + PR target/30131, ICE in propagate_one_insn. Closes: #397341. + - m32r + + PR target/28508, assembler error (operand out of range). + Closes: #417542. + - m68k + + PR target/34688, ICE in output_operand. Closes: #459429. + * Closing reports reported against gcc-4.2 and fixed in gcc-4.3: + - General + + PR tree-optimization/33826, wrong code generation for infinitely + recursive functions. Closes: #445536. + - C++ + + PR c++/24791, ICE on invalid instantiation of template's static member. + Closes: #446698. + + [Aurelien Jarno] + * Really apply arm-funroll-loops.dpatch on arm and armel. Closes: #476460. + + -- Matthias Klose Sat, 07 Jun 2008 23:16:21 +0200 + +gcc-4.3 (4.3.0-5) unstable; urgency=medium + + * Update to SVN 20080523 from the gcc-4_3-branch. + - Remove gcc-i386-emit-cld patch. + - On Debian amd64 and i386 configure with --enable-cld. + * Fix PR tree-optimization/36129, ICE with -fprofile-use. + * Add spu build dependencies independent of the architecture. + * Move arm -funroll-loops fix to arm-funroll-loops from + gfortran-armel-updates. Apply it on both arm and armel. + Closes: #476460. + * Use iceape-dev as a build dependency for Java enabled builds. + * Build the sru cross compiler from a separate source dir without applying + the hardening patches. + + -- Matthias Klose Fri, 23 May 2008 10:12:02 +0200 + +gcc-4.3 (4.3.0-4) unstable; urgency=low + + [ Aurelien Jarno ] + * Fix gnat-4.3 build on mips/mipsel. + * Update libgcc1 symbols for hurd-i386. + + [ Arthur Loiret ] + * Make gcc-4.3-spu Recommends newlib-spu. Closes: #476088 + * Build depend on spu build dependencies only when building + as gcc-4.x source package. + * Disable spu for snapshot builds. + * Support sh4 targets: + - sh4-multilib.dpatch: Add, fix multilib (m4/m4-nofpu) for sh4-linux + - multiarch-include.dpatch: Don't apply on sh4. + + [ Matthias Klose ] + * Stop building libffi packages. + * Update to SVN 20080501 from the gcc-4_3-branch. + - Fix PR target/35662, wrong gfortran code on mips/mipsel. Closes: #476427. + - Fixes mplayer build on powerpc. Closes: #475153. + * Stop building gij/gcj on alpha, arm and hppa. Closes: #459560. + * libstdc++6-4.3-doc: Fix file location in doc-base file. Closes: #476253. + * debian/patches/template.dpatch: Remove the `exit 0' line. + * Fix alternative names for amd64 cross builds. Addresses: #466422. + * debian/copyright: Update to GPLv3, remove the text of the GFDL + and reference the copy in common-licenses. + * Generate the locale data for the testsuite, if the locales package + is installed (not a dependency on all archs). + * Update libgcc2 symbols for m68k, libstdc++6 symbols for arm, m68k, mips + and mipsel. + * Do not include a symbols file for libobjc_gc.so. + * Add four more symbols to libgcj_bc, patch taken from the trunk. + * Adjust names of manual pages in the spu build on powerpc. + * ARM EABI (armel) updates (Andrew Jenner, Julian Brown): + - Add Objective-C support. + - Fortran support patches. + - Fix ICE in gfortran.dg/vector_subscript_1.f90 for -Os -mthumb reload. + * Build ObjC and Obj-C++ packages on armel. + * Reenable running the testsuite on m68k. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/gnalasup_to_lapack.dpatch: new. + * debian/patches/pr34466.dpatch, + debian/patches/pr22255.dpatch, + debian/patches/pr33688.dpatch, + debian/patches/pr10768.dpatch, + debian/patches/pr28305.dpatch, + debian/patches/pr17985.dpatch (#278685) + debian/patches/pr15915.dpatch, + debian/patches/pr16098.dpatch, + debian/patches/pr18680.dpatch, + debian/patches/pr28733.dpatch, + debian/patches/pr22387.dpatch, + debian/patches/pr29015.dpatch: new; backport Ada bug fixes from GCC 4.4. + * debian/patches/rules.patch: apply them. + * debian/patches/pr35050.dpatch: update. + + [Andreas Jochens] + * debian/patches/ppc64-ada.dpatch: update, adding support for ppc64. + (#476868). + + [Ludovic Brenta] + * Apply ppc64-ada.dpatch whenever we build libgnat, not just on ppc64. + * debian/patches/pr28322.dpatch: never pass -Wno-overlength-strings to + the bootstrap compiler, as the patch breaks the detection of whether + the bootstrap compiler supports this option or not. + Fixes: #471192. Works around #471767. + * Merge Aurélien Jarno's mips patch. Fixes: #472854. + + [ Samuel Tardieu ] + * debian/patches/pr30740.dpatch: new Ada bug fix. + * debian/patches/pr35050.dpatch: new Ada bug fix. + + [ Xavier Grave ] + * debian/patches/ada-mips{,el}.dpatch: new; split mips/mipsel support + into new patches, out of ada-sjlj.dpatch. + * debian/rules.d/binary-ada.mk: fix the version number of libgnarl-4.3.a. + + [Roman Zippel] + * PR target/25343, fix gcc.dg/pch/pch for m68k. + + -- Matthias Klose Thu, 01 May 2008 21:08:09 +0200 + +gcc-4.3 (4.3.0-3) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20080401 from the gcc-4_3-branch. + - Fix PR middle-end/35705 (hppa only). + * Update libstdc++6 symbols for hurd-i386. Closes: #472334. + * Update symbol files for libgomp (ppc64). + * Only apply the gcc-i386-emit-cld patch on amd64 and i386 architectures. + * Update libstdc++ baseline symbols for hppa. + * Install powerpc specific header files new in 4.3. + * gcc-4.3-hppa64: Don't include the install tools in the package. + + [ Aurelien Jarno ] + * Fix gobjc-4.3-multilib dependencies. Closes: #473455. + * Fix gnat-4.3 build on mips/mipsel. + * patches/ada-alpha.dpatch: new patch to fix gnat-4.3 build on alpha. + Closes: #472852. + * patches/config-ml.dpatch: also check for n32 multidir. + + [ Arthur Loiret ] + * Build-Depends on binutils (>= 2.18.1~cvs20080103-2) on mips and mipsel, + required for triarch. + * libstdc++-pic.dpatch: Update, don't fail anymore if shared lib is disabled. + + [ Andreas Jochens ] + * Fix build failures on ppc64. Closes: #472917. + - gcc-multilib64dir.dpatch: Remove "msoft-float" and "nof" from MULTILIB + variables. + - Removed ppc64-biarch.dpatch. + - Add debian/lib32gfortan3.symbols.ppc64. + + [ Arthur Loiret, Matthias Klose ] + * Build compilers for spu-elf target on powerpc and ppc64. + - Add gcc-4.3-spu, g++-4.3-spu and gfortran-4.3-spu packages. + - Partly based on the work in Ubuntu on the spu toolchain. + + -- Matthias Klose Tue, 01 Apr 2008 23:29:21 +0000 + +gcc-4.3 (4.3.0-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080321 from the gcc-4_3-branch. + - Remove some broken code that attempts to enforce linker + constraints. Closes: #432541. + * Temporary fix, will be removed once a fixed kernel is available + in testing: Emit cld instruction when stringops are used (i386). + Do not expose the -mcld option until added upstream. Closes: #469567. + * Update NEWS files. + * libjava: Don't leak upon failed realloc (taken from the trunk). + * debian/rules2: The build is not yet prepared to take variables from + the environment; unexport and unset those. + + [Arthur Loiret/Aurelien Jarno] + * MIPS tri-arch support: + - mips-triarch.dpatch: new patch to default to o32 and follow the + glibc convention for n32 & 64 bit names. + - Rename $(biarch) and related vars into $(biarch64). + - Fix biarchsubdir to allow triarch. + - Add biarchn32 support. + - Add mips and mipsel to biarch64 and biarchn32 archs. + - Update binary rules for biarchn32 and libn32 targets. + - Fix multilib deps for triarch. + - control.m4: Add libn32 packages. + + -- Matthias Klose Sat, 22 Mar 2008 00:06:33 +0100 + +gcc-4.3 (4.3.0-1) unstable; urgency=low + + [Matthias Klose] + * GCC-4.3.0, final release. + * Update to SVN 20080309 from the gcc-4_3-branch. + * Build from a modified tarball, without GFDL documentation with + invariant sections and cover texts. + * debian/rules.unpack: Avoid make warnings. + * debian/rules.d/binary-cpp.mk: Add 4.3.0 symlink in gcclibdir. + * Stop building treelang (removed upstream). + * gcj-4.3: Hardcode libgcj-bc dependency, don't run dh_shlibdeps on ecj1. + + [Aurelien Jarno] + * Update libssp-gnu.dpatch and reenable it. + + -- Matthias Klose Sun, 09 Mar 2008 15:18:08 +0100 + +gcc-4.3 (4.3.0~rc2-1) unstable; urgency=medium + + * Update to SVN 20080301 from the gcc-4_3-branch. + * Include the biarch libobjc_gc library in the packages. + * Link libobjc_gc with libgcjgc_convenience.la. + * Add new symbols to libstdc++6 symbol files, remove the symbols for + support (reverted upstream for the 4.3 branch). + * Disable running the testsuite on m68k. + * Update PR other/28322, ignore only unknown -W* options. + + -- Matthias Klose Sat, 01 Mar 2008 15:09:16 +0100 + +gcc-4.3 (4.3-20080227-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080227 from the gcc-4_3-branch. + * Fix PR other/28322, GCC new warnings and compatibility. + Addresses: #367657. + + [Hector Oron] + * Fix cross-compile builds. Closes: #467471. + + -- Matthias Klose Thu, 28 Feb 2008 00:30:38 +0100 + +gcc-4.3 (4.3-20080219-1) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20080219 from the gcc-4_3-branch. + * Apply proposed patch for PR target/34571 (alpha). + * libgcj9-dev: Don't claim that the package contains the static + libraries. + * libjava-xulrunner1.9.dpatch: Add configure check for xulrunner-1.9. + Name the alternative xulrunner-1.9-javaplugin.so. + * libgcj-doc: Don't include the examples; these cannot be built + with the existing Makefile anyway. Addresses: #449608. + * Manpages for gc-analyze and grmic are GFDL. Don't include these when + building DFSG compliant packages. + * Fix build failure building amd64 cross-target libstdc++ packages + (Tim Bagot). Addresses: #464365. + * Fix typos in rename-info-files patch (Richard Guenther). + * Fix PR libgcj/24170. + + [Aurelien Jarno] + * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD. + + [Ludovic Brenta] + * debian/rules.defs: Temporarily disable the testsuite when building gnat. + * debian/patches/libffi-configure.dpatch: run autoconf in the top-level + directory, where we've changed configure.ac; not in src/gcc. + * debian/patches/ada-sjlj.dpatch: do not run autoconf since we don't + change configure.ac. + * debian/control.m4 (gnat-4.3-doc): conflict with gnat-4.[12]-doc. + Closes: #464801. + + -- Matthias Klose Tue, 19 Feb 2008 23:20:45 +0000 + +gcc-4.3 (4.3-20080202-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080202 from the trunk. + - Fix PR c/35017, pedwarns about valid code. Closes: #450506. + - Fix PR target/35045, wrong code generation with -O3 on i386. + Closes: #463478. + * gcj-4.3: On armel depend on g++-4.3. + * Re-enable build of libobjc_gc, using the internal version of boehm-gc. + Closes: #212248. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch, + debian/patches/ada-gcc-name.dpatch, + debian/patches/ada-symbolic-tracebacks.dpatch, + debian/patches/ada-link-lib.dpatch, + debian/patches/ada-libgnatvsn.dpatch, + debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-sjlj.dpatch: adjust to GCC 4.3. + * debian/README.gnat, debian/TODO, + debian/rules.d/binary-ada.mk: merge from gnat-4.2. + * debian/README.maintainers: add instructions for patching GCC. + * debian/patches/ada-driver.dpatch: remove, no longer used. + * debian/patches/libffi-configure.dpatch: do not patch the top-level + configure anymore; instead, rerun autoconf. This allows removing the + patch cleanly. + * debian/rules2: use gnatgcc as the bootstrap compiler, not gcc-4.2. + + -- Matthias Klose Sat, 02 Feb 2008 19:58:48 +0100 + +gcc-4.3 (4.3-20080127-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080126 from the trunk. + * Tighten build dependency on doxygen. + * Update libstdc++ patches to current svn. + * gij-4.3: Provide java*-runtime-headless instead of java*-runtime. + + [ Aurelien Jarno] + * debian/multiarch.inc: change mipsel64 into mips64el. + + -- Matthias Klose Sun, 27 Jan 2008 01:33:35 +0100 + +gcc-4.3 (4.3-20080116-1) unstable; urgency=medium + + * Update to SVN 20080116 from the trunk. + * Update debian/watch. + * Build libgomp documentation without building libgomp. Addresses: #460660. + * Handle lzma compressed tarballs. + * Fix dependency generation for the gcc-snapshot package: Addresses: #454667. + * Restore lost chunk in libjava-subdir.dpatch. + + -- Matthias Klose Wed, 16 Jan 2008 20:33:50 +0100 + +gcc-4.3 (4.3-20080112-1) unstable; urgency=low + + * Update to SVN 20080112 from the trunk. + * Tighten build-dependency on dpkg-dev (closes: #458894). + * Update symbol definitions for alpha. + * Build-depend on libmpfr-dev for all source packages. + + -- Matthias Klose Sun, 13 Jan 2008 00:40:28 +0100 + +gcc-4.3 (4.3-20080104-1) unstable; urgency=low + + * Update to SVN 20080104 from the trunk. + * Update symbol definitions for alpha, hppa, ia64, mips, mipsel, powerpc, + s390, sparc. + + -- Matthias Klose Fri, 04 Jan 2008 07:34:15 +0100 + +gcc-4.3 (4.3-20080102-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080102 from the trunk. + - Fix 64bit biarch builds (addresses: #447443). + * debian/rules.d/binary-java.mk: Reorder packaging to get shlibs + dependencies right. + * Use lib instead of lib64 as multilibdir on amd64 and ppc64. + * Build the java plugin always using libxul-dev. + * Add libgcj_bc to the libgcj9-0 shlibs file. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2, libgfortran3, + lib32gfortran3, lib64gfortran3. + Adjust build dependencies on dpkg-dev and debhelper. + * Do not build the java packages from the gcc-4.3 source package. + + [ Aurelien Jarno ] + * Disable amd64-biarch patch on kfreebsd-amd64. + + -- Matthias Klose Wed, 02 Jan 2008 23:48:14 +0100 + +gcc-4.3 (4.3-20071124-1) experimental; urgency=low + + [ Matthias Klose ] + * Update to SVN 20071124 from the trunk. + * Fix dependencies of lib*gcc1-dbg packages. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + + [ Aurelien Jarno ] + * Update kbsd-gnu patch. + * Remove kbsd-gnu-ada patch (merged upstream). + + -- Matthias Klose Sat, 24 Nov 2007 13:14:29 +0100 + +gcc-4.3 (4.3-20070930-1) experimental; urgency=low + + [Matthias Klose] + * Update to SVN 20070929 from the trunk. + * Update debian patches to the current trunk. + * Regenerate the control file. + * On powerpc-linux-gnu and i486-linux-gnu cross-compile the 64bit + multilib libraries to allow a sucessful build on 32bit kernels + (our buildds). Although we won't get 64bit test results this way ... + * Remove the build dependency on expect-tcl8.3. + * Fix MULTILIB_OSDIRNAMES for cross builds targeted for amd64 and ppc64. + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Always set STAGE1_CFLAGS to -g -O2, only pass other settings + when configuring when required. + * Configure --with-bugurl, adjust the bug reporting instructions. + * gcc-4.3: Install new cpuid.h header. + * Fix installation of the s390 libstdc++ biarch headers. + * Install new bmmintrin.h, mmintrin-common.h headers. + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + -- Matthias Klose Sun, 30 Sep 2007 12:06:02 +0200 + +gcc-4.3 (4.3-20070902-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sun, 2 Sep 2007 20:51:16 +0200 + +gcc-4.3 (4.3-20070902-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070902 from the trunk. + * Fix the build logic for the Ubuntu i386 buildd; we can't build biarch. + * Only remove libgcj9's classmap db if no other libgcj9* library is + installed. + * A lot more updates for 4.3 packaging. + + -- Matthias Klose Sat, 01 Sep 2007 21:01:43 +0200 + +gcc-4.3 (4.3-20070901-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070901 from the trunk. + * First gcc-4.3 package build. + - Update patches for the *-linux-gnu builds. + - Update build files for 4.3. + * Add proposed patch for PR middle-end/33029. + * gcj-4.3: Install gc-analyze. + + -- Matthias Klose Sat, 1 Sep 2007 20:52:16 +0200 + +gcc-4.2 (4.2.2-7) unstable; urgency=low + + * Update to SVN 20080114 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34762. LP: #182412. + * Update debian/watch. Closes: #459259. Addresses: #459391, #459392. + * Build libgomp documentation without building libgomp. Closes: #460660. + * Restore gomp development files. Closes: #460736. + + -- Matthias Klose Mon, 14 Jan 2008 23:20:04 +0100 + +gcc-4.2 (4.2.2-6) unstable; urgency=low + + * Update to SVN 20080113 from the ubuntu/gcc-4_2-branch. + * Adjust build-dependency on debhelper, dpkg-dev. + * Fix gnat-4.2 build failure (addresses: #456867). + * Do not build packages built from the gcc-4.3 source. + + -- Matthias Klose Sun, 13 Jan 2008 13:48:49 +0100 + +gcc-4.2 (4.2.2-5) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080102 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/32889, ICE in delete_output_reload. + Closes: #444873, #445336, #451047. + - Fix PR target/34215, ICE in assign_386_stack_local. + Closes: #446714, #452451. + - Fix PR target/33848, reference to non-existent label at -O1 on + mips/mipsel. Closes: #441633. + * debian/rules.d/binary-java.mk: dpkg-shlibsdeps can't handle the dangling + symlink to libgcj_bc.so.1. Remove it temporarily. + * Add libgcj_bc to the libgcj8-1 shlibs file. + * Fix build failures for gnat-4.2, gpc-4.2, gdc-4.2 introduced by recent + gdc changes. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2. Adjust build + dependencies on dpkg-dev and debhelper. + Adjust build-dependency on dpkg-dev. + + [Arthur Loiret] + * Fix gdc-4.2 build failure. + * Update gdc to upstream SVN 20071124. + - d-bi-attrs: Support attributes on declarations in other modules. + - d-codegen.cc (IRState::attributes): Support constant declarations as + string arguments. + * Enable libphobos: + - gdc-4.2.dpatch: Fix ICEs. + - gdc-4.2-build.dpatch: Update, make it cleaner. + * Install libphobos in the private gcc lib dir. + * gdc-4.2.dpatch: Update from gdc-4.1.dpatch. + - gcc/tree-sra.c: Do not use SRA on structs with aliased fields created + for anonymous unions. + - gcc/predict.c: Add null-pointer check. + * debian/rules.defs: Disable phobos on hurd-i386. + - gdc-hurd-proc_maps.dpatch: Remove. + + -- Matthias Klose Wed, 02 Jan 2008 15:49:30 +0100 + +gcc-4.2 (4.2.2-4) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20071123 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34130, wrong code with some __builtin_abs expressions. + Closes: #452108. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + * Use gcc-multilib as build-dependency instead of gcc-4.1-mulitlib. + * Support for fast-math on hurd-i386 (Michael Banck). Closes: #451520. + * Fix again profiling support on the Hurd (Thomas Schwinge). Closes: #434937. + + [Arthur Loiret] + * Merge gdc-4.1 patches and build infrastructure: + - gdc-4.2.dpatch: Add, setup gcc-4.2.x for D. + - gdc-4.2-build.dpatch: Add, update gdc builtins and driver objs. + - gdc-driver-zlib.dpatch: Add, use up-to-date system zlib. + - gdc-driver-defaultlib.dpatch: Add, add -defaultlib/-debuglib switches. + - gdc-driver-nophobos.dpatch: Add, disable libphobos when unsupported. + - gdc-libphobos-build.dpatch: Add, enable libphobos build when supported. + - gdc-fix-build.dpatch: Add, fix build on non-biarched 64bits targets. + - gdc-libphobos-std-format.dpatch: Add, replace assert when formating a + struct on non-x86_64 archs by a FormatError. + - gdc-arm-unwind_ptr.dpatch: Add, fix build on arm. + - gdc-mips-gcc-config.dpatch: Add, fix build on mips. + - gdc-hurd-proc_maps.dpatch: Add, fix build on hurd. + + -- Matthias Klose Sat, 24 Nov 2007 12:01:06 +0100 + +gcc-4.2 (4.2.2-3) unstable; urgency=low + + * Update to SVN 20071014 from the ubuntu/gcc-4_2-branch. + - Fix build failure in libjava on mips/mipsel. + * Make 4.2.2-2 a requirement for frontends built from separate sources. + Addresses: #446596. + + -- Matthias Klose Sun, 14 Oct 2007 14:13:00 +0200 + +gcc-4.2 (4.2.2-2) unstable; urgency=low + + * Update to SVN 20071011 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33448, ICE in create_tmp_var. Closes: #439687. + - Remove debian/patches/pr31899.dpatch, applied upstream. + - Remove debian/patches/pr33381.dpatch, applied upstream. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + + -- Matthias Klose Thu, 11 Oct 2007 23:41:52 +0200 + +gcc-4.2 (4.2.2-1) unstable; urgency=low + + * Update to SVN 20071008 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.2 release. + * Fix dependencies of lib*gcc1-dbg packages. Closes: #445190. + * Remove libjava-armeabi patch integrated upstream. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * Apply proposed patch for PR debug/31899. Closes: #445268. + + * Add niagara2 optimization support (David Miller). + + -- Matthias Klose Mon, 08 Oct 2007 21:12:41 +0200 + +gcc-4.2 (4.2.1-6) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070929 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33382, ICE (closes: #441481). + - Fix PR tree-optimization/28544 (4.2.1, closes: #380482). + - Fix PR libffi/28313, port to mips64 (closes: #358235). + * Fix PR tree-optimization/33099, PR tree-optimization/33381, + wrong code generation with VRP/SCEV. Closes: #440545, #443576. + * Update Hurd fixes (Samuel Thibault). + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Add -g to BOOT_CFLAGS, set STAGE1_CFLAGS to -g -O, only pass + other settings when required. + * Fix installation of the s390 libstdc++ biarch headers. + * Allow the powerpc build on a 32bit machine (without running the + biarch testsuite). + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Drop the build dependency on expect-tcl8.3 (the hppa testsuite seems + to complete sucessfully with the expect package). + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR rtl-optimization/21299, error in invalid asm statement. + Closes: #380121. + - C++ + + PR libstdc++/19664, libstdc++ headers have pop/push of the visibility + around the declarations (closes: #307207, #324290, #423547). + + PR c++/21581, functions in anonymous namespaces default to "hidden" + visibility (closes: #278310). + + PR c++/4882, specialization of inner template using outer template + argument (closes: #269513). + + PR c++/6634, wrong parsing of "long long double" (closes: #247112). + + PR c++/10891, code using dynamic_cast causes segfaults when -fno-rtti + is used (closes: #188943). + + PR libstdc++/14991, stream::attach(int fd) porting entry out-of-date. + Closes: #178561. + + PR libstdc++/31638, string usage leads to warning with -Wcast-align. + Closes: #382153. + + Fix memory hog seen with g++-4.1. Closes: #411234. + - Fortran + + PR fortran/29228, ICE in gfc_trans_deferred_array (closes: #387222). + + PR fortran/24285, allow dollars everywhere in format (closes: #324600). + + PR libfortran/28354, 0.99999 printed as 0. instead of 1. by + format(f3.0). Closes: #397671. + + Fix ICE in gfc_get_extern_function_decl (closes: #396292). + - Architecture specific: + - i386 + + Fix error with -m64 (unable to find a register to spill in class + 'DIREG'). Closes: #430049. + - mips + + Fix ICE in tsubst (closes: #422303). + - s390 + + Fix ICE (segmentation fault) building dcmtk (closes: #435736). + + [Roman Zippel] + * Update the m68k patches. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + [Ludovic Brenta and Xavier Grave] + * Add a version of the Ada run-time library using the setjump/longjump + exception handling mechanism (static library only). Use with + gnatmake --RTS=sjlj. Particularly useful for distributed (Annex E) + programs. + * Restore building libgnatvsn-dev and libgnatprj-dev. + + -- Matthias Klose Sat, 29 Sep 2007 11:19:40 +0200 + +gcc-4.2 (4.2.1-5) unstable; urgency=low + + * Update to SVN 20070825 from the ubuntu/gcc-4_2-branch. + - Fix PR debug/32610, LP: #121911. + * Apply proposed patches: + - Improve debug info for packed arrays with constant bounds + (PR fortran/22244). + - Fix ICE in rtl_for_decl_init on const vector initializers + (PR debug/32914). + - Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148). + - Fix libgcc.a(tramp.o) on ppc32. + - Fix redundant reg/mem stores/moves (PR target/30961). + * Update the -fdirectives-only backport. + * gappletviewer-4.2: Include the gcjwebplugin binary. LP: #131114. + * Update gpc patches and build support (not yet enabled). + * Fix gcc-snapshot hppa64 install target. + * Set the priority of the source package to optional. + * Remove .la files from the biarch libstdc++ debug packages, + conflict with the 3.4 package. Closes: #440490. + + [Arthur Loiret] + * Add build support for GDC. + + -- Matthias Klose Mon, 27 Aug 2007 01:39:32 +0200 + +gcc-4.2 (4.2.1-4) unstable; urgency=medium + + * gcc-4.2: Include missing std*.h header files. + + -- Matthias Klose Tue, 14 Aug 2007 11:14:35 +0200 + +gcc-4.2 (4.2.1-3) unstable; urgency=low + + * Update to SVN 20070812 from the ubuntu/gcc-4_2-branch. + * debian/rules.defs: Fix typo, run the checks in biarch mode too. + * libgcj8-awt: Loosen dependency on gcj-4.2-base. + * Build only needed multilib libraries when building as gcj or gnat. + * Always build biarch libgomp in biarch builds. + * debian/rules2: Adjust testsuite logs files for logwatch.sh. + * Include header files from $/gcc_lib_dir)/include-fixed. + * Backport from trunk: -fdirectives-only (when preprocessing, handle + directives, but do not expand macros). + * Report an ICE to apport (if apport is available and the environment + variable GCC_NOAPPORT is not set) + * Fix gcj build failure on the Hurd (Samuel Thibault). Closes: #437470. + + -- Matthias Klose Sun, 12 Aug 2007 21:11:00 +0200 + +gcc-4.2 (4.2.1-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070804 from the ubuntu/gcc-4_2-branch (20070804): + - Merge gcc-4_2-branch SVN 20070804. + - Imported classpath CVS 20070727. + - Bump the libgcj soname, add conflict with java-gcj-compat (<< 1.0.76-4). + - Remove patches integrated in the branches: pr32862. + - Update patches: libjava-subdir, libjava-jar. + - Add regenerated class files: svn-class-updates. + + * Fix profiling support on the Hurd (Michael Casadeval). Closes: #434937. + * Fix build on kfreebsd-amd64 (Aurelien Jarno). Closes: #435053. + * Period of grace is over, run the testsuite on m68k-linux again. + * Update infrastructure for the gcc-source package (Bastian Blank). + * Update profiling on the Hurd (Samuel Thibault, Michael Casadevall). + Closes: #433539. + * debian/rules2: Allow DEB_BUILD_OPTIONS=parallel= to overwrite NJOBS. + * Allow lang=, nolang= in DEB_BUILD_OPTIONS; deprecating + WITHOUT_LANG, and WITHOUT_CHECK. + * debian/rules.defs, debian/rules.conf: Cache some often used macros. + + * Preliminary work: Enable Java for ARM EABI (Andrew Haley), build + libffi for armel. + * gcj: Don't build the browser plugin in gcc-snapshot builds to get + rid of the xulrunner dependency. + * gcjwebplugin: Register for more browsers (package currently not built). + * gij/boehm-gc: Use sysconf as fallback, if reading /proc/stat fails. + Closes: #422469. + * libjava: Avoid dependency on MAXHOSTNAMELEN (Samuel Thibault). + * gcj: On arm and armel, use the ecj1 binary built from the ecj package. + * gcj: Don't require javac without java maintainer mode, remove build + dependencies on gcj and ecj, add build dependency on libecj-java. + + -- Matthias Klose Sun, 05 Aug 2007 15:56:07 +0200 + +gcc-4.2 (4.2.1-1) unstable; urgency=medium + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.c: remove all trace of + the function convert_addresses from adaint.c. Fixes FTBFS on alpha, + s390 and possibly other platforms. Closes: #433633. + * debian/control.m4: list myself as uploader if the source package name + is gnat. Relax build-dependency on gnat-4.2-source. + * debian/control.m4, debian/rules.conf: Build-depend on libmpfr-dev only + if building Fortran. + + [Matthias Klose] + * debian/rules.conf: Fix breakage of Fortran build dependencies introduced + by merge of the Ada bits. + * Don't include the gccbug binary anymore in the gcc package; upstream bug + reports should be reported to the upstream bug tracker at + http://gcc.gnu.org/bugzilla. + * Don't build and test libjava for the biarch architecture. + * Install gappletviewer man page. Addresses: #423094. + * debian/patches/m68k-java.dpatch: Readd. + * gjar: support @ arguments. + * Update to SVN 20070726 from the ubuntu/gcc-4_2-branch. + - Fix mips/mipsel builds. + * libmudflap0: Fix update leaving an empty doc dir. Closes: #428306. + * arm/armel doesn't have ssp support. Closes: #433172. + * Update kbsd-gnu-ada patch (Aurelien Jarno): Addresses: #434754. + * gcj-4.2: Build depend on gcj-4.2 to build the classpath examples files + for the binary-indep target. + * Fix PR java/32862, bugs in EnumMap implementation. Addresses: #423160. + + [Arthur Loiret] + * Fix cross builds targeting x86_64. Closes: LP: #121834. + + -- Matthias Klose Thu, 26 Jul 2007 21:46:03 +0200 + +gcc-4.2 (4.2.1-0) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070719 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.1 release. + - debian/patches/arm-gij.dpatch: Remove. Closes: #433714. + * Apply proposed patch for PR tree-optimization/32723. + * Tighten build dependency on libmpfr-dev. + * On ia64, apply proposed patch for PR target/27880. Closes: #433719. + + [Hector Oron] + * Fix cross and reverse-cross builds. Closes: #432356. + + -- Matthias Klose Thu, 19 Jul 2007 17:59:37 +0200 + +gnat-4.2 (4.2-20070712-1) unstable; urgency=low + + * debian/rules.d/binary-ada.mk, debian/control.m4: + disable building libgnatvsn-dev and libgnatprj-dev, as they conflict + with packages from gnat-4.1. Will reenable them for the transition to + gnat-4.2. + * Upload as gnat-4.2. Closes: #432525. + + -- Ludovic Brenta Sat, 14 Jul 2007 15:12:34 +0200 + +gcc-4.2 (4.2-20070712-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070712 from the ubuntu/gcc-4_2-branch. + - 4.2.1 RC2, built from SVN. + - same as gcc-4_2-branch, plus backport of gcc/java, boehm-gc, libffi, + libjava, zlib from the trunk. + - debian/patches/arm-libffi.dpatch: Remove. + - Fixes ICE in update_equiv_regs. Closes: #432604. + * debian/control.m4: Restore build dependency on dejagnu. + * debian/patches/arm-gij.dpatch: Update. + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #432599. + + -- Matthias Klose Fri, 13 Jul 2007 08:07:51 +0200 + +gcc-4.2 (4.2-20070707-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070707 from the ubuntu/gcc-4_2-branch. + - debian/patches/libjava-soname.dpatch: Remove. + - debian/patches/disable-configure-run-check.dpatch: Update. + * Only suggest multilib packages on multilib architectures. + * Point ICE messages to the 4.2 docdir. + * Explicitely use fastjar to build gcj-4.1. Addresses: #416001. + * Configure with --enable-libgcj on m32r (Kazuhiro Inaoka). + * Include the hppa64 cross compiler on hppa snapshot builds. + * debian/patches/arm-libffi.dpatch: Update. + * libgcj-doc: Include the generated documentation. + * Fix building the libjava/classpath examples. + * Support reverse cross builds (Neil Williams). Closes: #431086. + + -- Matthias Klose Sat, 07 Jul 2007 10:59:26 +0200 + +gcc-4.2 (4.2-20070627-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN gcc-4_2-branch/20070626. + * Update to SVN trunk/20070626 (gcc/java, libjava, libffi, boehm-gc). + * On mips*-linux, always imply -lpthread for -pthread (Thiemo Seufer). + Addresses: #428741. + * Fix libstdc++ cross builds (Arthur Loiret). Closes: #430395. + * README.Debian: Point to debian-toolchain for general toolchain topics. + * Use the generated locales for the libstdc++ build to fix the setting + of the gnu locale model. Closes: #428926, #429660. + * For ix86 lpia targets, configure --with-tune=i586. + * Make build dependency on gcc-4.1-multilib architecture specific. + * Do not ignore bootstrap comparision failure on ia64. + + [Ludovic Brenta] + * ada-link-lib.dpatch: update to apply cleanly on GCC 4.2. + * ada-libgnat{vsn,prj}.dpatch: adjust to GCC 4.2. Reenable in rules.patch. + * rules.conf: do not build libgomp as part of gnat-4.2. + * rules.conf, control.m4: build-depend on libz-dev, lib32z-dev or + lib64-dev only when building Java. + * rules2, rules.defs: $(with_mudflap): remove, use $(with_libmudflap) only. + * config.m4, binary-ada.mk: tighten dependencies; no Ada package depends + on gcc-4.2-base anymore. + * TODO: rewrite. + * README.gnat: include in gnat-4.2-base. Remove outdated information. + * README.maintainers: new. Include in gnat-4.2-base. + + [Hector Oron] + * Merge DEB_CROSS_INDEPENDENT with DEB_CROSS. + * Disables libssp0 for arm and armel targets when cross compiling. + * Updates README.cross. + * Fixes linker mapping problem on binary-libstdcxx-cross.mk. Closes: #430688. + + -- Matthias Klose Wed, 27 Jun 2007 21:54:08 +0200 + +gcc-4.2 (4.2-20070609-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070609. + - Remove patches integrated upstream: pr30052, hppa-caller-save-pic-tls. + * Update to SVN trunk/20070609 (gcc/java, libjava, libffi, boehm-gc). + - Remove patches integrated upstream: libjava-qt-peer, + classpath-config-guess. + * Do not build with --enable-java-maintainer-mode. + * debian/rules.patch: Comment out m68k-peephole, requires m68k-split_shift. + * Add target to apply patches up to a specific patch (Wouter Verhelst). + Closes: #424855. + * libstdc++6-4.2-*: Add conflicts with 4.1 packages. Closes: #419511. + * Apply proposed fix for PR target/28102. Closes: #426905. + * Fix build failure for cross compiler builds (Jiri Palecek). Closes: #393897. + * Update build macros for kfreebsd-amd64. Closes: #424693. + + -- Matthias Klose Sat, 9 Jun 2007 06:54:13 +0200 + +gcc-4.2 (4.2-20070528-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070528. + * Add backport for PR middle-end/20218. + * Add proposed PTA solver backport, PR tree-optimization/30052. + * Add backport for PR target/31868. + * Reenable the testsuite for arm, mips, mipsel. + + -- Matthias Klose Mon, 28 May 2007 09:03:04 +0200 + +gcc-4.2 (4.2-20070525-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070525. + * Update to SVN trunk/20070520 (gcc/java, libjava, libffi, boehm-gc). + * Do not explicitely configure for __cxa_atexit. + * libstdc++6-4.2-doc: Conflict with libstdc++6-4.1-doc. Closes: #424896. + * Update m68k patches: + - Remove patches applied upstream: m68k-jumptable, m68k-gc, + - Reenable patches: m68k-save_pic, m68k-dwarf, m68k-limit_reload, + m68k-prevent-qipush, m68k-peephole, m68k-return, m68k-sig-unwind, + m68k-align-code m68k-align-stack, m68k-symbolic-operand, + m68k-bitfield-offset. + - Update: m68k-return, m68k-secondary-addr-reload, m68k-notice-move + m68k-secondary-addr-reload, m68k-notice-move. + - TODO: m68k-split_shift, m68k-dwarf3, m68k-fpcompare. + * Update the kfreebsd and arm patches (Aurelien Jarno). Closes: #425011. + * Temporarily disable the testsuite on slow architectures to get the + package built soon. + + -- Matthias Klose Fri, 25 May 2007 07:14:36 +0200 + +gcc-4.2 (4.2-20070516-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070516. + * Update to SVN trunk/20070516 (gcc/java, libjava, libffi, boehm-gc). + * Merge changes from gcc-4.1_4.1.2-7. + * Update NEWS files. + + -- Matthias Klose Wed, 16 May 2007 02:33:57 +0200 + +gcc-4.2 (4.2-20070502-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070502. + - Remove pr11953 patch, integrated upstream. + * Update to SVN trunk/20070502 (gcc/java, libjava, libffi, boehm-gc). + * Adjust tetex/tex-live build dependency. + * Fix gobjc-4.2's, gobjc++-4.2's dependency on libobjc2. + * Tighten (build) dependency on binutils. Addresses: #421197. + * gfortran-4.2: Depend on libgfortran2, provide the libgfortran.so + symlink. Adresses: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + + -- Matthias Klose Wed, 2 May 2007 18:46:57 +0200 + +gcc-4.2 (4.2-20070405-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070405. + * Update to SVN trunk/20070405 (gcc/java, libjava, libffi, boehm-gc). + * gcc-4.2-hppa64: Don't depend on libc6-dev. + * Robustify setting of make's -j flag. Closes: #410919. + * gcc-snapshot: Use the install_snap_stamp target for installation. + + -- Matthias Klose Thu, 5 Apr 2007 23:56:35 +0200 + +gcc-4.2 (4.2-20070307-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070307. + * Update to SVN trunk/20070307 (gcc/java, libjava, libffi, boehm-gc). + * Build gnat from separate sources. + * Merge changes from gcc-4.1-4.1.2-1. + * Install into /usr/lib/gcc//4.2, to ease upgrades + between subminor versions. + * Configure --with-gxx-include-dir=/usr/include/c++/4.2 + + -- Matthias Klose Thu, 8 Mar 2007 02:52:00 +0100 + +gcc-4.2 (4.2-20070210-1) experimental; urgency=low + + * Merge Java backport from Ubuntu: + - Update to SVN gcc-4_2-branch/20070210. + - Update to SVN trunk/20070210 (gcc/java, libjava). + - Backout trunk specific gcc/java changes. + - Build-depend on gcj-4.1 and ecj-bootstrap. + - gcj-4.2: Depend on ecj-bootstrap, recommend ecj-bootstrap-gcj. + - Merge libgcj8-awt-gtk back into libgcj8-awt; the Qt peers + are disabled by upstream again. + - Generate manual pages for the classpath tools from the classpath + documentation. + - Adopt packaging for the merged libjava. + - Update patches for the merged libjava: libjava-lib32-properties, + i386-biarch, reporting, libjava-soname, libjava-subdir, + libjava-lib32subdir. + - Remove obsolete patches: libjava-plugin-binary, libjava-ia32fix, + libstdc++-docfixes. + + * Set priority of development packages to optional. + * debian/libgcjGCJ.postrm: Don't fail on purge when directories + don't exist anymore. Closes: #406017. + * debian/patches/gcc-textdomain.dpatch: Update for 4.2. + * Generate and install libgomp docs into gcc-4.2-doc. + + -- Matthias Klose Sat, 10 Feb 2007 16:53:11 +0100 + +gcc-4.2 (4.2-20070105-1) experimental; urgency=low + + * Update to SVN 20070105. + * Add tetex-extra to Build-Depend-Indep (libstd++ doxygen docs), + fix doxygen build (libstdc++-docfixes.dpatch). + * Enable parallel build by default on SMP machines. + + -- Matthias Klose Fri, 5 Jan 2007 22:42:18 +0100 + +gcc-4.2 (4.2-20061217-1) experimental; urgency=low + + * Update to SVN 20061217. + * Merge changes from gcc-4.1_4.1.1-16 to gcc-4.1_4.1.1-21. + * Update patches to the current branch. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + + -- Matthias Klose Sun, 17 Dec 2006 15:54:54 +0100 + +gcc-4.2 (4.2-20061003-1) experimental; urgency=low + + * libgcj.postinst: Remove /var/lib/gcj-4.2 on package removal. + * Don't install backup files in the doc directory, only one gcc-4.1 + upgrade was broken. Closes: #389366. + * Merge gcc-biarch-generic.dpatch into i386-biarch.dpatch. + * Update link-libs.dpatch. + * Merge libgfortran2-dev into gfortran-4.2. + + -- Matthias Klose Tue, 3 Oct 2006 16:26:38 +0000 + +gcc-4.2 (4.2-20060923-1) experimental; urgency=low + + * Update to SVN 20060923. + * Remove patches applied upstream: kbsd-gnu-java, kbsd-gnu. + + -- Matthias Klose Sat, 23 Sep 2006 15:11:36 +0200 + +gcc-4.2 (4.2-20060905-1) experimental; urgency=low + + * Update to SVN 20060905. + * Merge changes from gcc-4.1 (4.1.1-10 - 4.1.1-12). + * Move gomp development files into gcc and gfortran. + * Build-depend on binutils (>= 2.17). + + -- Matthias Klose Tue, 5 Sep 2006 03:33:00 +0200 + +gcc-4.2 (4.2-20060818-1) experimental; urgency=low + + * Update to SVN 20060818. + - libjava-libgcjbc.dpatch: Remove, applied upstream. + * Merge changes from the Ubuntu gcj-4.2 package: + - libjava-soname.dpatch: Remove, applied upstream. + - libjava-native-libdir.dpatch: update. + - libffi-without-libgcj.dpatch: Remove, new libffi-configure to + enable --disable-libffi. + - Changes required for the classpath-0.92 update: + - New packages gappletviewer-4.2, gcjwebplugin-4.2. + - gij-4.2: Add keytool alternative. + - gcj-4.2: Add jarsigner alternative. + - libgcj8-dev: Remove conflicts with older libgcjX-dev packages. + - lib32gcj8: Populate the /usr/lib32/gcj-4.2 directory. + - libjava-library-path.dpatch: + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Adresses: #364820. + - Add more debugging symbols to libgcj8-dbg. Adresses: #383705. + - Fix and renable the biarch build for sparc. + * Disable gnat for alpha, fails to build. + * Configure without --enable-objc-gc, fails to build. + + -- Matthias Klose Sat, 19 Aug 2006 18:25:50 +0200 + +gcc-4.2 (4.2-20060709-1) experimental; urgency=low + + * Test build, SVN trunk 20060709. + * Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + * Rename libmudflap0-dev to libmudflap0-4.2-dev. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. + * Merge changes from the gcc-4.1 package. + + -- Matthias Klose Sun, 9 Jul 2006 14:28:03 +0200 + +gcc-4.2 (4.2-20060617-1) experimental; urgency=low + + * Test build, SVN trunk 20060617. + + [Matthias Klose] + * Configure using --enable-objc-gc, using the internal boehm-gc. + * Build-depend on bison (>= 1:2.3). + * Build the QT based awt peer library, not yet the same functionality + as the GTK based peer library. + * Update libjava-* patches. + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and + DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 17 Jun 2006 19:02:01 +0200 + +gcc-4.2 (4.2-20060606-1) experimental; urgency=low + + * Test build, SVN trunk 20060606. + * Remove obsolete patches, update patches for 4.2. + * Update the biarch-include patches to work with mips-triarch. + * Disable Ada, not yet updated. + * New packages: libgomp*. + * Remove fastjar, not included upstream anymore. + + -- Matthias Klose Tue, 6 Jun 2006 10:52:28 +0200 + +gcc-4.1 (4.1.2-12) unstable; urgency=high + + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #427185. + * m68k-libffi2.dpatch: Update. Closes: #425399. + + -- Matthias Klose Mon, 4 Jun 2007 23:53:23 +0200 + +gcc-4.1 (4.1.2-11) unstable; urgency=low + + * Update to SVN 20070601. + * Build the libmudflap0-dev package again. + * Don't build libffi, when the packages are not built. + + -- Matthias Klose Fri, 1 Jun 2007 23:55:22 +0200 + +gcc-4.1 (4.1.2-10) unstable; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 30 May 2007 00:29:29 +0200 + +gcc-4.1 (4.1.2-9) unstable; urgency=low + + * Update to SVN 20070528. + * Don't build packages now built from the gcc-4.2 source (arm, m68k, + mips, mipsel). + * Add backport for PR middle-end/20218. + * Add backport for PR target/31868. + + -- Matthias Klose Tue, 29 May 2007 00:01:12 +0200 + +gcc-4.1 (4.1.2-8) unstable; urgency=low + + * Update to SVN 20070518. + * Don't build packages now built from the gcc-4.2 source. + + [ Aurelian Jarno ] + * Update libffi patch for ARM. Closes: #425011. + * arm-pr30486, arm-pr28516, arm-unbreak-eabi-armv4t: New. + * Disable FFI, Java, ObjC for armel. + + -- Matthias Klose Sun, 20 May 2007 10:31:24 +0200 + +gcc-4.1 (4.1.2-7) unstable; urgency=low + + * Update to SVN 20070514. + * Link using --hash-style=both on supported architectures. Addresses: #421790. + * On hppa, build ecjx as a native binary. + * note-gnu-stack.dpatch: Fix ARM comment marker (Daniel Jacobowitz). + Closes: #422978. + * Add build dependency on libxul-dev for *-freebsd. Closes: #422995. + * Update config.guess/config.sub and build gcjwebplugin on GNU/kFreeBSD + (Aurelian Jarno). Closes: #422995. + * Disable ssp on hurd-i386. Closes: #423757. + + -- Matthias Klose Mon, 14 May 2007 08:40:08 +0200 + +gcc-4.1 (4.1.2-6) unstable; urgency=low + + * Update libjava from the gcc-4.1 Fedora branch 20070504. + * gfortran-4.1: Fix the target of the libgfortran.so symlink. + Closes: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * Readd build dependency on binutils on arm. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + * Fix wrong code generation on hppa when TLS variables are used. + Closes: #422421. + + -- Matthias Klose Sun, 6 May 2007 10:00:23 +0200 + +gcc-4.1 (4.1.2-5) unstable; urgency=low + + * Update to SVN 20070429. + * Update libjava from the gcc-4.1 Fedora branch 20070428. + * Update m68k patches: + - Remove pr25514, pr27736, applied upstream. + - Update m68k-java. + * Link using --hash-style=gnu/both. + * Tighten (build) dependency on binutils. Closes: #421197. + * gij-4.1: Add a conflict with java-gcj-compat (<< 1.0.69). + * gfortran-4.1: Depend on libgfortran1, provide the libgfortran.so + symlink. Closes: #421362. + * gcc-4.1, gcc-4.1-multilib: Fix compatibility symlinks. Closes: #421382. + * Temporarily remove build dependency on locales on arm, hppa, m68k, mipsel. + * Temporarily remove build dependency on binutils on arm. + * Fix FTBFS on GNU/kFreeBSD (Aurelian Jarno). Closes: #421423. + * gij-4.1 postinst: Create /var/lib/gcj-4.1. Closes: #421526. + + -- Matthias Klose Mon, 30 Apr 2007 08:13:32 +0200 + +gcc-4.1 (4.1.2-4) unstable; urgency=medium + + * Update to SVN 20070423. + - Remove pr11953, applied upstream. + - Fix ld version detection in libstdc++v3. + * Update libjava from the gcc-4.1 Fedora branch 20070423. + * Merge libgfortran1-dev into gfortran-4.1. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Don't link using --hash-style=gnu/both; loosen dependency on binutils. + * Don't revert the patch to fix PR c++/27227. + + -- Matthias Klose Mon, 23 Apr 2007 23:13:14 +0200 + +gcc-4.1 (4.1.2-3) experimental; urgency=low + + * Update to SVN 20070405. + * Update libjava from the gcc-4.1 Fedora branch 20070405. + * Robustify setting of make's -j flag. Closes: #414316. + * Only build the libssp packages, when building the common libraries. + * gcc-4.1-hppa64: Don't depend on libc6-dev. + + -- Matthias Klose Fri, 6 Apr 2007 00:28:29 +0200 + +gcc-4.1 (4.1.2-2) experimental; urgency=low + + * Update to SVN 20070306. + * Update libjava from the gcc-4.1 Fedora branch 20070306. + + [Matthias Klose] + * Don't install gij-wrapper anymore, directly register gij as a java + alternative. + * Don't install gcjh-wrapper anymore. + * Don't use exact versioned dependencies on gcj-base for libgcj and + libgcj-awt. + * Fix glibc build dependency for alpha. + * Support -ffast-math on hurd-i386 (Samuel Thibault). Closes: #413342. + * Update kfreebsd-amd64 patches (Aurelien Jarno). Closes: #406015. + * gij: Consistently use $(dbexecdir) to reference the gcj sub dir. + * Install into /usr/lib/gcc//4.1, to ease upgrades + between minor versions. + Add compatibility symlinks in /4.1.2 to build gnat-4.1 + and gcj-4.1 from separate sources. + + -- Matthias Klose Wed, 7 Mar 2007 03:51:47 +0100 + +gcc-4.1 (4.1.2-1) experimental; urgency=low + + [Matthias Klose] + * Update to gcc-4.1.2. + * Update libjava backport patches, split out boehm-gc-backport patch. + * Enable the cpu-default-generic patch (i386, amd64), backport from 4.2. + * Correct mfctl instruction syntax (hppa), backport from the trunk. + * Backport PR java/9861 (name mangling updates). + * gcc.c (main): Call expandargv (backport from 4.2). + * Apply gcc dwarf2 unwinding patches from the trunk. + * Apply backport for PR 20208 on amd64 i386 powerpc ppc64 sparc s390. + * Apply patches from the 4.1 branch for PR rtl-optimization/28772, + PR middle-end/30313, PR middle-end/30473, PR c++/30536, PR debug/30189, + PR fortran/30478, PR rtl-optimization/30787, PR tree-optimization/30823, + PR rtl-optimization/28173, PR ada/30684, bug in pointer dependency test, + PR rtl-optimization/30931, PR fortran/25392, PR fortran/30400, + PR libgfortran/30910, PR libgfortran/30918, PR fortran/29441, + PR target/30634. + * Update NEWS files. + * Include a backport of the ecj+generics java updates as + gcj-ecj-20070215.tar.bz2. Install it into the gcc-4.1-source package. + * Do not build fastjar anymore from this source. + * debian/control.m4: Move expect-tcl8.3 before dejagnu. + * Work around firefox/icewhatever dropping plugin dependencies on xpcom. + * Refactor naming of libgcj packages in the build files. + * Make libstdc++-doc's build dependencies depending on the source package. + * Do not build packages on architectures, which are already built by gcc-4.2. + + * Merge the gcj generics backport from Ubuntu: + + - Merge the Java bits (eclipse based compiler, 1.5 compatibility, + classpath generics) from the gcc-4.1 Fedora branch. + - Drop all previous patches from the classpath-0.93 merge, keep + the boehm-gc backport (splitted out as a separate patch). + - Add a gcj-ecj-generics.tar.bz2 tarball, containing gcc/java, libjava, + config/unwind_ipinfo.m4, taken from the Fedora branch. + - Drop the libjava-hppa, libjava-plugin-binary, pr29362, pr29805 patches + integrated in the backport. + - Update patches for the merge: reporting, libjava-subdir, i386-biarch, + classpath-tooldoc, pr26885 + - Add libjava-dropped, libjava-install; dropped chunks from the merge. + - Add pr9861-nojava mangling changes, non-java parts for PR 9861. + - Add gcc-expandv, expand `@' parameters on the commandline; backport + from the trunk. + - Disable the m68k-gc patch, needs update for the merge. + - Configure --with-java-home set for 1.5.0. + - Configure with --enable-java-maintainer-mode to build the header + and class files on the fly. + - Add build dependency on ecj-bootstrap, configure --with-ecj-jar. + - Build an empty libgcj-doc package; gjdoc currently cannot handle + generics. + - Apply gcc dwarf2 unwinding patches from the trunk, allowing the Events + testcase to pass. + - Tighten dependencies on shared libraries. + - Use /usr/lib/gcj-4-1-71 as private gcj subdir. + - Bump the libgcj soversion to 71, rename the libgcj7-0 package + to libgcj7-1, rename the libgcj7-awt package to libgcj7-1-awt. + - gij-4.1: Add and provide alternatives for gorbd, grmid, gserialver. + - gcj-4.1: Remove gcjh, gcjh-wrapper, gjnih. + - gcj-4.1: Add and provide alternatives for jar, javah, native2ascii, + tnameserv. + - gcj-4.1: Add dependency on ecj-bootstrap, recommend fastjar, + ecj-bootstrap-gcj. + - Add build dependency on ecj-bootstrap version providing the GCCMain + class. + - libgcj7-1: Recommend libgcj7-1-awt. + - Add build dependency on libmagic-dev. + - Build-depend on gcj-4.1; build our own ecj1 and gjdoc before + starting the build. + - Make ecj1 available when running the testsuite. + - Fix build failure on sparc-linux. + - Fix gjavah compatibility problems (PR cp-tools/3070[67]). + - Fixed driver issue source files (PR driver/30714). + - Add (rudimentary) manual pages for classpath tools. + + [Kevin Brown] + * debian/control.m4, debian/rules.d/binary-ada.mk: provide new packages + containing debugging symbols for Ada libraries: libgnat-4.1-dbg, + libgnatprj4.1-dbg, and libgnatvsn4.1-dbg. Adresses: #401385. + + -- Matthias Klose Sat, 3 Mar 2007 23:12:08 +0100 + +gcc-4.1 (4.1.1ds2-30) experimental; urgency=low + + * Update to SVN 20070106. + * Do not revert the fixes for PR 25878, PR 29138, PR 29408. + * Don't build the packages built by gcc-4.2 source. + * debian/patches/note-gnu-stack.dpatch: Add .note.GNU-stack sections + for gcc's crt files, libffi and boehm-gc. Taken from FC. Closes: #382741. + * Merge from Ubuntu: + - Backport g++ visibility patches from the FC gcc-4_1-branch. + - Update the long-double patches; require glibc-2.4 as a build dependency + on alpha, powerpc, sparc, s390. Bump the shlibs dependencies to + require 4.1.1-21. + - On powerpc-linux configure using --enable-secureplt. Closes: #382748. + - When using the cpu-default-generic patch, build for generic x86-64 + on amd64 and i386 biarch. + - Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + * gij-4.1: Recommends libgcj7-awt instead of suggesting it. Closes: #394917. + * Split the gcc-long-double patch into a code and doc part. + * Set priority of development packages to optional. + * Add support for kfreebsd-amd64 (Aurelian Jarno). Closes: #406015. + + -- Matthias Klose Sat, 6 Jan 2007 10:35:42 +0100 + +gcc-4.1 (4.1.1ds2-22) unstable; urgency=high + + * Enable -pthread for GNU/Hurd (Michael Banck). Closes: #400031. + * Update the m68k-fpcompare patch (Roman Zippel). Closes: #401585. + + -- Matthias Klose Sun, 10 Dec 2006 12:35:06 +0100 + +gcc-4.1 (4.1.1ds2-20) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061115. + - Fix PR tree-optimization/27891, ICE in tree_split_edge. + Closes: #370248, #391657, #394630. + - Fix PR tree-optimization/9814, duplicate of PR tree-optimization/29797. + Closes: #181096. + * Apply the libjava/net backport from the redhat/gcc-4_1-branch. + * Apply proposed patch for PR java/29805. + + [Roman Zippel] + * Build the ObjC and ObjC++ compilers in cross builds. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize + symbolic operands in addresses. + * debian/patches/m68k-bitfield-offset.dpatch: Only use constant offset + for register bitfields (combine expects shifts, but does a rotate). + * debian/patches/m68k-bitfield-offset.dpatch: Update and apply. + + [Daniel Jacobowitz] + * Don't try to use _Unwind_Backtrace on SJLJ targets. + See bug #387875, #388505, GCC PR 29206. + + -- Matthias Klose Wed, 15 Nov 2006 08:59:53 -0800 + +gcc-4.1 (4.1.1ds2-19) unstable; urgency=low + + * Fix typo in arm-pragma-pack.dpatch. + + -- Matthias Klose Sat, 28 Oct 2006 11:04:00 +0200 + +gcc-4.1 (4.1.1ds2-18) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20061028. + * Fix #pragma pack on ARM (Paul Brook). Closes: #394703. + * Revert PR c++/29138, PR c++/29408. Closes: #392559. + * Revert PR c++/25878. Addresses: #387989. + * fastjar: Provide jar. Closes: #395397. + + [Ludovic Brenta] + * debian/control.m4 (libgnatprj-dev): depend on libgnatvsn-dev. + debian/gnatprj.gpr: with gnatvsn.gpr. Closes: #395000. + + -- Matthias Klose Thu, 26 Oct 2006 23:51:10 +0200 + +gcc-4.1 (4.1.1ds2-17) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061020. + - Fix PR debug/26881, ICE in dwarf2out_finish. Closes: #377613. + - Fix PR PR c++/29408, parse error for valid code. Closes: #392327, #393010. + - Fix PR c++/29435, segfault with sizeof and templates. Closes: #393071. + - Fix PR target/29338, segfault with -finline-limit on arm. Closes: 390620. + - Fix 3.4/4.0 backwards compatibility problem in libstdc++. + * Fix PR classpath/29362, taken from the redhat/gcc-4_1-branch. + * Remove the INSTALL directory from the source tarball. Closes: #392974. + * Disable building the static libgcj; non-functional, and cutting + down build times. + * libgcj7-0: Tighten dependency on libgcj-common. + * libgcj7-dev: Install .pc file as libgcj-4.1.pc. + * README.cross: Updated (Hector Oron). Addresses: #380251. + * config-ml.dpatch: Use *-linux-gnu as *_GNU_TYPE. Closes: #394034. + + [Nikita V. Youshchenko] + * Fix typo in the cross build scripts. Closes: #391445. + + [Falk Hueffner] + * alpha-no-ev4-directive.dpatch: Fix kernel build failure. + + [Roman Zippel] + * debian/patches/m68k-align-code.dpatch: Use "move.l %a4,%a4" to advance + within code. + * debian/patches/m68k-align-stack.dpatch: Try to keep the stack word aligned. + * debian/patches/m68k-dwarf3.dpatch: Emit correct dwarf info for cfa offset + and register with -fomit-frame-pointer. + * debian/patches/m68k-fpcompare.dpatch: Bring fp compare early to its + desired form to relieve reload. Closes: #390879. + * debian/patches/m68k-prevent-swap.dpatch: Don't swap operands + during reloads. + * debian/patches/m68k-reg-inc.dpatch: Reinsert REG_INC notes after splitting + an instruction. + * debian/patches/m68k-secondary-addr-reload.dpatch: Add secondary reloads + to allow reload to get byte values into addr regs. Closes: #385327. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize symbolic + operands in addresses. + * debian/patches/m68k-limit_reload.dpatch: Remove, superseded by + m68k-secondary-addr-reload.dpatch. + * debian/patches/m68k-notice-move.dpatch: Apply, was checked in in -16. + * debian/patches/m68k-autoinc.dpatch: Updated, don't attempt to increment + the register, if it's used multiple times in the instruction . + + -- Matthias Klose Sat, 21 Oct 2006 00:25:05 +0200 + +gcc-4.1 (4.1.1ds1-16) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061008. + - Fix PR c++/29226, ICE in make_decl_rtl. Closes: #388263. + * libgcj7-0: Fix package removal. Closes: #390874. + * Configure with --disable-libssp on architectures that don't + support it (alpha, hppa, ia64, m68k, mips, mipsel). + * On hppa, remove build-dependency on dash. + * gij/gcj: Do not install slave links for the non DFSG manpages. + Closes: #390425, #390532. + * libgcj-common: rebuild-gcj-db: Don't do anything, if no classmap + files are found. Closes: #390966. + * Fix PR libstdc++/11953, extended for all linux architectures. + Closes: #391268. + * libffi4-dev: Conflict with libffi. Closes: #387561. + * Backport PR target/27880 to the gcc-4_1-branch. Patch by Steve Ellcey. + Closes: #390693. + * On ia64, don't use _Unwind_GetIPInfo in libjava and libstdc++. + * Add a README.ssp with minimal documentation about stack smashing + protection. Closes: #366094. + * Do not build libgcj-common from the gcc-4.1/gcj-4.1 sources anymore. + + [Roman Zippel] + * debian/patches/m68k-notice-move.dpatch: Don't set cc_status + for fp move without fp register. + + -- Matthias Klose Sun, 8 Oct 2006 02:21:49 +0200 + +gcc-4.1 (4.1.1ds1-15) unstable; urgency=medium + + * Update to SVN 20060927. + - Fix PR debug/29132, exception handling on mips. Closes: #389468, #390042. + - Fix typo in gcc documentation. Closes: #386180. + - Fix PR target/29230, wrong code generation on arm. Closes: #385505. + * libgcj-common: Ignore exit value of gcj-dbtool in rebuild-gcj-db on + arm, m68k, hppa. Adresses: #388505. + * libgcj-common: Replaces java-gcj-compat-dev and java-gcj-compat. + Closes: #389539. + * libgcj-common: /usr/share/gcj/debian_defaults: Define gcj_native_archs. + * Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-27; + remove libjava-str2double.dpatch, pr28661.dpatch. + * Disable ssp on hppa, not supported. + * i386-biarch.dpatch: Avoid warnings about macro redefinitions. + + -- Matthias Klose Fri, 29 Sep 2006 22:32:41 +0200 + +gcc-4.1 (4.1.1ds1-14) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060920. + - Fix PR c++/26957. Closes: #373257, #386910. + - Fix PR rtl-optimization/28243. Closes: #378325. + * Remove patch for PR rtl-optimization/28634, applied upstream. + * Fix FTBFS on GNU/kFreeBSD (fallout from the backport of classpath-0.92). + (Petr Salinger). Closes: #385974. + * Merge from Ubuntu: + - Do not encode the subminor version in the jar files. + - Fix typo for the versioned gcj subdirectory in lib32gcj-0. + - When running the i386 binaries on amd64, adjust the properties + java.home, gnu.classpath.home.url, sun.boot.class.path, + gnu.gcj.precompiled.db.path. + - Configure the 32bit build on amd64 + --with-java-home=/usr/lib32/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre. + - Configure --with-long-double-128 for glibc-2.4 on alpha, powerpc, ppc64, + s390, s390x, sparc, sparc64. + - Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-20. + - Fix PR java/29013, invalid byte code generation. Closes: #386926. + - debian/patches/gcc-pfrs-2.dpatch: Apply a fix for a regression in the + backport of PR 28946 from the trunk (H.J. Lu). + * Backport PR classpath/28661 from the trunk. + * Don't ship the .la files for the java modules. Closes: #386228. + * gcj-4.1: Remove dangling symlink. Closes: #386430. + * gij: Suggest java-gcj-compat, gcj: Suggest java-gcj-compat-dev. + Closes: #361942. + * Fix infinite loop in string-to-double conversion on 64bit targets. + Closes: #348792. + * gij-4.1: Ignore exit value of gcj-dbtool in postinst. Adresses: #388505. + * libgcj-common: Move rebuild-gcj-db from java-gcj-compat into libgcj-common. + * On hppa, install a wrapper around gij-4.1 to ignore unaligned memory + accesses. Works around buildd configurations enabling this check by + default. Addresses: #364819. + + [Ludovic Brenta] + * debian/patches/ada-libgnatprj.dpatch: Build mlib-tgt-linux.adb instead of + mlib-tgt.adb. Closes: #387826. + * debian/patches/ada-pr15802.dpatch: Backport from the trunk. + Closes: #246384. + * debian/control.m4 (gnat-4.1): do not provide gnat (supplied by + gcc-defaults instead); conflict with gnat-4.2 which will soon be in + unstable. + + [Roman Zippel] + * debian/patches/m68k-dwarf2.dpatch: Recognize stack adjustments also + in the src of an instruction. + * debian/patches/m68k-jumptable.dpatch: Don't force byte offset when + accessing the jumptable, gas can generate the correct offset size instead. + * debian/patches/m68k-peephole.dpatch: Convert some text peepholes to rtl + peepholes, so the correct DWARF2 information can be generated for stack + manipulations (Keep a few peepholes temporarily disabled). + * debian/patches/m68k-peephole-note.dpatch: Don't choke on notes while + reinserting REG_EH_REGION notes. + * debian/patches/m68k-return.dpatch: Don't use single return if fp register + have to be restored. Closes: #386864. + * debian/patches/m68k-sig-unwind.dpatch: Add support for unwinding over + signal frames. + * Fix PR rtl-optimization/27736, backport from the trunk. + * Add java support for m68k. Closes: #312830, #340874, #381022. + + -- Matthias Klose Sun, 24 Sep 2006 19:36:31 +0200 + +gcc-4.1 (4.1.1ds1-13) unstable; urgency=medium + + * Update to SVN 20060901; remove patches applied upstream: + - PR target/24367. + - PR c++/26670. + * Apply proposed patch for PR fortran/28908. + * Fix biarch symlinks in lib64stdc++ for cross builds. + * Fix biarch symlinks in lib32objc on amd64. + + -- Matthias Klose Fri, 1 Sep 2006 00:04:05 +0200 + +gcc-4.1 (4.1.1ds1-12) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060830. + * Add backport of PR other/26208, bump libgcc1 shlibs dependency. + * Add backport of PR c++/26670. Closes: #356548. + * Apply proposed patch for PR target/24367 (s390). + * Add /usr/lib/jni to the libjava dlsearch path. Closes: #364820. + * Build without GFDL licensed docs. Closes: #384036. + - debian/patches/{svn-doc-updates,pr25524-doc,pr26885-doc}.dpatch: + Split out -doc specific patches. + - debian/*.texi, debian/porting.html: Add dummy documentation. + - debian/rules.unpack, debian/rules.patch: Update for non-gfdl build. + - fastjar.texi: Directly define the gcctabopt and gccoptlist macros. + + * Merge from Ubuntu: + - Backport the classpath-0.92, libjava, gcc/java merge from the + redhat/gcc-4_1-branch branch. + - Apply the proposed patch for PR libgcj/28698. + - Change the libgcj/libgij sonames. Rename libgcj7 to libgcj7-0. + - Do not remove the rpath from libjvm.so and libjawt.so. Some + configure scripts rely on being able to link that libraries + directly. + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Closes: #364820. + - Add debugging symbols for more binary packages to libgcj7-dbg. + Closes: #383705. + - libgcj7-dev: Remove conflicts with older libgcjX-dev packages. + - Do not build the libgcj-bc and lib32gcj-bc packages anymore from + the gcj-4.1 source. + + [Roman Zippel] + * debian/patches/m68k-limit_reload.dpatch: Correctly limit reload class. + Closes: #375522. + * debian/patches/m68k-split_shift.dpatch: Use correct predicates for long long + shifts and use more splits. Closes: #381572. + * debian/patches/m68k-prevent-qipush.dpatch: Prevent combine from creating + a byte push on the stack (invalid on m68k). Closes: #385021. + * debian/patches/m68k-autoinc.dpatch: Recognize a few more autoinc possibilities. + * debian/patches/pr25514.dpatch: Backport from the trunk. + * debian/patches/m68k-gc.dpatch: Change STACKBOTTOM to LINUX_STACKBOTTOM + so it works with 2.6 kernels. + * Other m68k bug reports fixed in 4.1.1-11 and 4.1.1-12: + Closes: #378599, #345574, #344041, #323426, #340293. + * Build the stage1 compiler using -g -O2; saves a few hours build time + and apparently is working at the moment. + + -- Matthias Klose Tue, 29 Aug 2006 21:37:28 +0200 + +gcc-4.1 (4.1.1-11) unstable; urgency=low + + * The "Our priority are our users, remove the documentation!" release. + + [Matthias Klose] + * Fix build failure building the hppa->hppa64 cross compiler. + * Update to SVN 20060814. + - Fix directory traversal vulnerability in fastjar. Closes: #368397. + CVE-2006-3619. + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + * Remove patch for PR rtl-optimization/28075, applied upstream. + * Apply proposed patch for PR rtl-optimization/28634, rounding problem with + -fdelayed-branch on hppa/mips. Closes: #381710. + * Fixed at least in 4.1.1-10: boost::date_time build failure. + Closes: #382352. + * Build-depend on make (>= 3.81), add make (>= 3.81) as dependency to + gcc-4.1-source. Closes: #381117. + * Backport of libffi from the trunk; needed for the java backport in + experimental. + * libffi4-dev: Install the libffi_convenience library as libffi_pic.a. + * When building a package without the GFDL'd documentation, don't create + the alternative's slave links for manual pages for the java tools. + * Do not build the -doc packages and derived manual pages licensed under + the GFDL with invariant sections or cover texts. + * Only build the libssp package, if the target libc doesn't provide + ssp support. + * Run the complete testsuite, when building a standalone gcj package. + + [Roman Zippel] + * debian/patches/m68k-fjump.dpatch: + Always use as fjcc pseudo op, we rely heavily on as to generate the + right size for the jump instructions. Closes: #359281. + * debian/patches/m68k-gc.dpatch: + The thread suspend handler has to save all registers. + Reenable MPROTECT_VDB, it should work, otherwise it's probably a kernel bug. + * debian/patches/m68k-save_pic.dpatch: + Correctly save the pic register, when not done by reload(). + (fixes _Unwind_RaiseException and thus exception handling). + * debian/patches/m68k-libffi.dpatch: Add support for closures. + * debian/patches/m68k-bitfield.dpatch: Avoid propagation of mem expression + past a zero_extract lvalue. + * debian/patches/m68k-dwarf.dpatch: Correct the dwarf frame information, + but preserve compatibility. + + [Christian Aichinger] + * Fix building a cross compiler targeted for ia64. Closes: #382627. + + -- Matthias Klose Tue, 15 Aug 2006 00:41:00 +0200 + +gcc-4.1 (4.1.1-10) unstable; urgency=low + + * Update to SVN 20060729. + - Fix PR c++/28225, segfault in type_dependent_expression_p. + Closes: #376148. + * Apply proposed patch for PR rtl-optimization/28075. + Closes: #373820. + * Apply proposed backport and proposed patch for PR rtl-optimization/28221. + Closes: #376084. + * libgcj7-jar: Loosen dependency on gcj-4.1-base. + * Add ssp header files to the private gcc includedir. + * Do not build the Ada packages from the gcc-4.1 source, introducing + a new gnat-4.1 source package. + * Build libgnat on alpha and s390 as well. + * Do not build the gnat-4.1-doc package (GFDL with invariant sections or + cover texts). + * Remove references to the stl-manual package. Closes: #378698. + + -- Matthias Klose Sat, 29 Jul 2006 22:08:59 +0200 + +gcc-4.1 (4.1.1-9) unstable; urgency=low + + * Update to SVN 20060715. + - Fix PR c++/28016, do not emit uninstantiated static data members. + Closes: #373895, #376871. + * Revert the patch to fix PR c++/27227. Closes: #378321. + * multiarch-include.dpatch: Renamed from biarch-include.dpatch; + apply for all architectures. + * Do not build the java compiler in gcc-4.1 package, just include the + options and specs in the gcc driver. + * Remove gnat-4.0 as an alternative build dependency. + * Add a patch to enable -fstack-protector by default for C, C++, ObjC, ObjC++. + The patch is disabled by default. + + -- Matthias Klose Sat, 15 Jul 2006 17:07:29 +0200 + +gcc-4.1 (4.1.1-8) unstable; urgency=medium + + * Update to SVN 20060708. + - Fix typo in gcov documentation. Closes: #375140. + - Fix typo in gccint documentation. Closes: #376412. + - [alpha], Fix -fvisibility-inlines-hidden segfaults on reference to + static method. PR target/27082. Closes: #369642. + + * Fix ppc64 architecture string in debian/multiarch.inc. Closes: #374535. + * Fix conflict, replace and provide libssp0-dev for cross compilers. + Closes: #377012. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. Closes: #376660. + * Backport fix for PR libmudflap/26864 from the trunk. Closes: #26864. + * README.C++: Remove non-existing URL. Closes: #347601. + * gij-4.1: Provide java2-runtime. Closes: #360906. + + * Closed reports reported against gcc-3.0 and fixed in gcc-4.1: + - C++ + + PR libstdc++/13943, call of overloaded `llabs(int)' is ambiguous. + Closes: #228645. + - Java + + Fixed segmentation fault on compiling bad program. Closes: #165635 + * Closed reports reported against gcc-3.3 and fixed in gcc-4.1: + - Stack protector available. Closes: #213994, #233208. + - Better documentation of -finline-limit option. Closes: #296047. + * Closed reports reported against gcc-3.4 and fixed in gcc-4.1: + - General + + Fixed [unit-at-a-time] Using -O2 cannot detect missing return + statement in a function. Closes: #276843. + - C++ + + PR13943, call of overloaded `llabs(int)' is ambiguous. Closes: #228645. + + PR c++/21280, #pragma interface, templates, and "inline function used + but never defined". Closes: #364412. + - Architecture specific: + - m68k + + Segfault building glibc. Closes: #353618. + + ICE when trying to build boost. Closes: #321486. + * Closed reports reported against gcc-4.0 and fixed in gcc-4.1: + - General + + Handling of #pragma GCC visibility for builtin functions. + Closes: #330279. + + gettext interpretation the two conditional strings as one. + Closes: #227193. + + ICE due to if-conversion. Closes: #335078. + + Fix unaligned accesses with __attribute__(packed) and memcpy. + Closes: #355297. + + Fix ICE in expand_expr_real_1, at expr.c. Closes: #369817. + - Ada + + Link error not finding -laddr2line. Closes: #322849. + + ICE on invalid code. Closes: #333564. + - C++ + + libstdc++: bad thousand separator with fr_FR.UTF-8. Closes: #351786. + + The Compiler uses less memory than 4.0. Closes: #336225. + + Fix "fails to compare reverse map iterators". Closes: #362840. + + Fix "fail to generate code for base destructor defined inline with + pragma interface". Closes: #356435. + + Fix ICE in cp_expr_size, at cp/cp-objcp-common.c. Closes: #317455. + + Fix wrong warning: control may reach end of non-void function. + Closes: #319309. + + Fix bogus warning "statement has no effect" with template and + statement-expression. Closes: #336915. + + Fixed segfault on syntax error. Closes: #349087. + + Fix ICE with __builtin_constant_p in template argument. + Closes: #353366. + + Implement DR280 (fixing "no operator!= for const_reverse_iterator"). + Closes: #244894. + - Fortran + + Fix wrong behaviour in unformatted writing. Closes: #369547. + - Java + + Fixed segfault on -fdump-tree-all-all. Closes: #344265. + + Fixed ant code completion in eclipse generating a nullpointer + exception. Closes: #337510. + + Fixed abort in gnu_java_awt_peer_gtk_GtkImage.c. Closes: #343112. + + Fixed assertion failure in gij with rhdb-explain. Closes: #335650. + + Fixed assertion failure when calling JTabbedPane.addTab(null, ...). + Closes: #314704. + + Fixed error when displaying empty window with bound larger than the + displayed content. Closes: #324502. + + Fixed: Exception in JComboBox.removeAllItems(). Closes: #314706. + + Fixed assertian error in gnu_java_awt_peer_gtk_GtkImage.c. + Closes: #333733. + - libmudflap + + PR libmudflap/23170, libmudflap should not use functions marked + obsolescent by POSIX/SUS. Closes: #320398. + - Architecture specific: + - m68k + + FTBFS building tin. Closes: #323016. + + ICE with -g -fomit-frame-pointer. Closes: #331150. + + ICE in instantiate_virtual_regs_lossage. Closes: #333536. + + Wrong code generation with loop unrolling. Closes: #342121. + + ICEs while building gst-ffmpeg. Closes: #343692. + - mips + + Fix gjdoc build failure. Closes: #344986. + + Fix link failure for static libs and object files when xgot + needs to be used. Closes: #274942. + * gnat bug reports fixed since gnat-3.15p: + - GNAT miscounts UTF8 characters in string with -gnaty. Closes: #66175. + - Bug box from "with Text_IO" when compiling optimized. Closes: #243795. + - Nonconforming parameter lists not detected. Closes: #243796. + - Illegal use clause not detected. Closes: #243797. + - Compiler enters infinite loop on illegal program with tagged records. + Closes: #243799. + - Compiler crashes on illegal program (missing discriminant, unconstrained + parent). Closes: #243800. + - Bug box at sinfo.adb:1215 on illegal program. Closes: #243801. + - Bug box at sinfo.adb:1651 on illegal program. Closes: #243802. + - Illegal program not detected (entry families). Closes: #243803. + - Illegal program not detected, RM 10.1.1(14). Closes: #243807. + - Bug box at exp_ch9.adb:7254 on illegal code. Closes: #243812. + - Illegal program not detected, RM 4.1.4(14). Closes: #243816. + - Bug box in Gigi, code=116, on legal program. Closes: #244225. + - Illegal program not detected, 12.7(10) (generic parameter is visible, + shouldn't be). Closes: #244483. + - Illegal program not detected, ambiguous aggregate. Closes: #244496. + - Bug box at sem_ch3.adb:8003. Closes: #244940. + - Bug box in Gigi, code=103, on illegal program. Closes: #244945. + - Legal program rejected, overloaded procedures. Closes: #246188. + - Bug box in Gigi, code=999, on legal program. Closes: #246388. + - Illegal program not detected, RM 10.1.6(3). Closes: #246389. + - Illegal program not detected, RM 3.10.2(24). Closes: #247014. + - Illegal program not detected, RM 3.9(17). Closes: #247015. + - Legal program rejected. Closes: #247016. + - Legal program rejected. Closes: #247021. + - Illegal program not detected, RM 4.7(3). Closes: #247022. + - Illegal program not detected, RM 3.10.2(27). Closes: #247562. + - Legal program rejected, "limited type has no stream attributes". + Closes: #247563. + - Wrong output from legal program. Closes: #247565. + - Compiler enters infinite loop on illegal program. Closes: #247567. + - Illegal program not detected, RM 8.6(31). Closes: #247568. + - Legal program rejected, visible declaration not seen. Closes: #247572. + - Illegal program not detected, RM 8.2(9). Closes: #247573. + - Wrong output from legal program, dereferencing access all T'Class. + Closes: #248171. + - Compiler crashes on illegal program, RM 5.2(6). Closes: #248174. + - Cannot find generic package body, RM 1.1.3(4). Closes: #248677. + - Illegal program not detected, RM 3.4.1(5). Closes: #248679. + - Compiler ignores legal override of abstract subprogram. Closes: #248686. + - Bug box, Assert_Failure at sinfo.adb:2365 on illegal program. + Closes: #251266. + - Ada.Numerics.Generic_Elementary_Functions.Log erroneout with -gnatN. + Closes: #263498. + - Bug box, Assert_Failure at atree.adb:2906 or Gigi abort, code=102 + with -gnat -gnatc. Closes: #267788. + - Bug box in Gigi, code=116, 'Unrestricted_Access of a protected + subprogram. Closes: #269775. + - Stack overflow on illegal program, AI-306. Closes: #276225. + - Illegal program not detected, RM B.1(24). Closes: #276226. + - Wrong code generated with -O -fPIC. Closes: #306833. + - Obsolete: bashism's in debian/rules file. Closes: #370681. + - Supports more debian architectures. Closes: #171477. + + -- Matthias Klose Sat, 8 Jul 2006 16:24:47 +0200 + +gcc-4.1 (4.1.1-7) unstable; urgency=low + + * Prefer gnat-4.1 over gnat-4.0 as a build dependency. + * libssp0: Set priority to standard. + + -- Matthias Klose Sun, 2 Jul 2006 10:22:50 +0000 + +gcc-4.1 (4.1.1-6) unstable; urgency=low + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Matthias Klose] + * libjava: Change the default for enable_hash_synchronization_default + on PA-RISC. Tighten the libgcj7 shlibs version on hppa. + * Update to SVN 20060630. + * Apply proposed patch for PR 26991. + * Don't use the version for the libstdc++ shlibs dependency for the libgcj + shlibs dependency. + * Merge from Ubuntu edgy: + - Fix %g7 usage in TLS, add patch sparc-g7.dpatch, fixes glibc-2.4 build + failure on sparc (Fabio M. Di Nitto). + - Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + - Run the testsuite with -fstack-protector as well. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 1 Jul 2006 01:49:55 +0200 + +gcc-4.1 (4.1.1-5) unstable; urgency=low + + * Fix build error running with dpkg-buildpackage -rsudo. + + -- Matthias Klose Wed, 14 Jun 2006 01:54:13 +0200 + +gcc-4.1 (4.1.1-4) unstable; urgency=low + + * Really do not backout the fix for PR c++/26068. + Closes: #372152, #372559. + * Update fastjar version string to 4.1. + * Disable pascal again. + + -- Matthias Klose Mon, 12 Jun 2006 20:29:57 +0200 + +gcc-4.1 (4.1.1-3) unstable; urgency=low + + * Update to SVN 20060608, do not revert the fix for PR c++/26068. + Closes: #372152, #372559. + * Fix build failures for Pascal, enable Pascal on all architectures. + * Fix another build failure on GNU/kFreeBSD (Aurelien Jarno). + Closes: #370661. + * Fix build fauilure in gcc/p with parallel make. + * Remove cross-configure patch (Kazuhiro Inaoka). Closes: #370649. + * Only build the gcc-4.1-source package, when building from the gcc-4.1 + source. + * Fix upgrade problem from standalone gcj-4.1. + * Fix build error using bison-2.2, build-depend on bison (>= 2.3). + Closes: #372605. + * Backport PR libstdc++/25524 from the trunk, update the biarch-include + patch. mips triarch support can be added more easily. + + -- Matthias Klose Mon, 12 Jun 2006 00:23:45 +0200 + +gcc-4.1 (4.1.1-2) unstable; urgency=low + + * Update to SVN 20060604. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + - Fix PR target/27158, ICE in extract_insn with -maltivec. + Closes: #362307. + * Revert PR c++/26068 to work around PR c++/27884 (Martin Michlmayr). + Closes: #370308. + * Mention Ada in copyright, update copyright file (Ludovic Brenta). + Closes: #366744. + * Fix kbsd-gnu-java.dpatch (Petr Salinger). Closes: #370320. + * Don't include version control files in gcc-4.1-source. + + -- Matthias Klose Sun, 4 Jun 2006 19:13:37 +0000 + +gcc-4.1 (4.1.1-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20060601. + * Reenable the gpc build. + * PR libgcj/26483, libffi patch for IA-64 denorms, taken from trunk. + * Disable Ada for m32r targets. Closes: #367595. + * lib32gfortran1: Do not create empty directory /usr/lib32. Closes: #367999. + * gcc-4.1: Add a conflict to the gcj-4.1 version with a different + gcc_libdir. + * Build gij/gcj for GNU/k*BSD. Closes: #367166. + * Update hurd-changes patch (Michael Banck). Closes: #369690. + * debian/copyright: Add exception for the gpc runtime library. + * Update gpc/gpc-doc package descriptions. + + [Ludovic Brenta] + * patches/ada-libgnatprj.dpatch: add prj-pars.ad[bs] and sfn_scan.ad[bs] + to libgnatprj; remove them from gnatmake. + + -- Matthias Klose Thu, 1 Jun 2006 20:35:54 +0200 + +gcc-4.1 (4.1.0-4) unstable; urgency=low + + [Ludovic Brenta] + * Fix a stupid bug whereby fname.ad{b,s} would be included in both + libgnatvsn-dev and libgnatprj-dev, preventing use of gnatprj.gpr. + Closes: #366733. + + -- Matthias Klose Thu, 11 May 2006 04:34:50 +0200 + +gcc-4.1 (4.1.0-3) unstable; urgency=low + + * Update to SVN 20060507. + * debian/rules.d/binary-java.mk: Use $(lib32) everywhere. Closes: #365388. + * Always configure hppa64-linux-gnu with + --includedir=/usr/hppa64-linux-gnu/include. + * Make libgnatvsn4.1 and libgnatprj4.1 priority optional. Closes: #365900. + * Call autoconf2.13 explicitely in the Ada patches, build-depend on + autoconf2.13. Closes: #365780. + * Fix libgnatprj-dev and libgnatvsn-dev dependencies on their shared + libraries. + * Deduce softfloat and vfp (ARM) configure options (Pjotr Kourzanov). + * Update proposed patch for PR26885 (May 2 version). + * Build the libxxstdc++-dbg packages, when not building the library pacakges. + * Do not include the _pic library in the libxxstdc++-dbg packages. + + -- Matthias Klose Sun, 7 May 2006 15:29:53 +0200 + +gcc-4.1 (4.1.0-2) unstable; urgency=medium + + * Update to SVN 20060428. + * Apply proposed patches for PR26885. + + * Keep libffi doc files in its own directory. Closes: #360466. + * Update ppc64 patches for 4.1 (Andreas Jochens). Closes: #360498. + * Fix PR tree-optimization/26763, wrong-code, taken from the 4.1 branch. + Closes: #356896. CVE-2006-1902. + * hppa-cbranch, hppa-cbranch2 patches: Fix for PR target/26743, + PR target/11254, PR target/10274, backport from trunk (Randolph Chung). + * Let libgccN provide -dcv1 when cross-compiling (Pjotr Kourzanov). + Closes: #363289. + * (Build-)depend on glibc-2.3.6-7. Closes: #360895, #361904. + * Fix a pedantic report about a package description. Add a hint that + we do not like bug reports with locales other than "C". Closes: #361409. + * Enable the libjava interpreter on mips/mipsel. + * gcc-4.1-source: Depend on gcc-4.1-base. + * gnat-4.1: Fix permissions of .ali files. + * Build lib32gcj7 on amd64. + * debian/patches/ada-gnatvsn.dpatch: New. Apply proposed fix for + PR27194. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch: new. Change the + default search path for project files to the one specified + by the Debian Policy for Ada: /usr/share/ada/adainclude. + * debian/patches/ada-symbolic-tracebacks.dpatch: new. Enable support for + symbolic tracebacks in exceptions. + * debian/patches/ada-missing-lib.dpatch: remove, superseded by the above. + * debian/patches/ada-link-lib.dpatch: changed. + - Instead of building libada as a target library only, build it as + both a host and, if different, target library. + - Build the GNAT tools in their top-level directory; do not use + recursive makefiles. + - Link the GNAT tools dynamically against libgnat. + - Apply proposed fix for PR27300. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatvsn.dpatch: new. + - Introduce a new shared library named libgnatvsn, containing + common components of GNAT under the GNAT-Modified GPL, for + use in GNAT tools, ASIS, GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatprj.dpatch: new. + - Introduce a new shared library named libgnatprj, containing the + GNAT Project Manager, i.e. the parts of GNAT that parses project + files (*.gpr). Licensed under pure GPL; for use in GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-acats.dpatch: new. + - When running the ACATS, look for the gnat tools in their new + directory (build/gnattools), and for the shared libraries in + build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj. + * debian/gnatvsn.gpr, debian/gnatprj.gpr: new. + * debian/rules.d/binary-ada.mk, debian/control.m4: new binary packages: + libgnatvsn-dev, libgnatvsn4.1, libgnatprj-dev, libgnatprj4.1. Place + the *.gpr files in their respective -dev packages. + + -- Matthias Klose Sat, 29 Apr 2006 00:32:09 +0200 + +gcc-4.1 (4.1.0-1) unstable; urgency=low + + * libstdc++CXX-BV-dev.preinst: Remove (handling of c++ include dir for 4.0). + * libgcj-common: Move removal of docdir from preinst into postinst. + * libgcj7: Move removal of docdir from preinst into postinst. + * Drop alternative build dependency on gnat-3.4, not built anymore. + * Fix PR libgcj/26103, wrong exception thrown (4.1 branch). + * debian/patches/libjava-stacktrace.dpatch: Add support to print file names + and line numbers in stacktraces. + * Add debugging symbols for libgcjawt and lib-gnu-java-awt-peer-gtk + in the libgcj7-dbg and lib32gcj7-dbg packages. + * Remove dependency of the libgcj-dbg packages on the libgcj-dev packages, + add recommendations on binutils and libgcj-dev. Mention the requirement + of binutils for the stacktraces. + * Fix upgrade from version 4.0.2-9, loosing the Debian changelog. + Closes: #355439. + * gij/gcj: Install one alternative for each command, do not use slave + links for rmiregistry, javah, rmic. Ubuntu #26781. Closes: #342557. + * Fix for PR tree-optimization/26587, taken from the 4.1 branch. + * Fix PR libstdc++/26526 (link failure when _GLIBCXX_DEBUG is defined). + * Configure with --enable-clocale=gnu, even if not building C++ packages. + * Remove runtime path from biarch libraries as well. + * PR middle-end/26557 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #349083. + * PR tree-optimization/26672 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #356231. + * PR middle-end/26004 (rejects-vaild-code, regression), taken from + the gcc-4_1-branch. + * When building as standalone gcj, build libgcc4 (hppa only) and fastjar. + * Configure --with-cpu=v8 on sparc. + * debian/patches/libjava-hppa.dpatch: pa/pa32-linux.h + (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O is defined. + (John David Anglin). Closes: #353346. + * Point to the 4.1 version of README.Bugs (closes: #356230). + * Disable the libmudflap testsuite on alpha (getting killed). + + -- Matthias Klose Sat, 18 Mar 2006 23:00:39 +0100 + +gcc-4.1 (4.1.0-0) experimental; urgency=low + + * GCC 4.1.0 final release. + * Build the packages for the Java language from a separate source. + * Update NEWS.html, NEWS.gcc. + * libgcj-doc: Auto generated API documentation for libgcj7, classpath + example programs. + * Add gjdoc to Build-Depends-Indep. + * On amd64, build-depend on libc6-dev-i386 instead of ia32-libs-dev. + * Internal ssp headers now installed in the gcc libdir. + * Do not build gcj-4.1-base when building the gcc-4.1 packages. + * When building as gcj-4.1, use the tarball from the gcc-4.1-source + package. + + [Ludovic Brenta] + * Allow one to enable and disable NLS and bootstrapping from the environment. + - Adding "nls" to WITHOUT_LANG disables NLS support. + - If WITH_BOOTSTRAP is set, debian/rules2 calls configure + --enable-bootstrap=$(WITH_BOOTSTRAP) and just "make". If + WITH_BOOTSTRAP is unset, it calls configure without a bootstrapping + option and calls "make profiledbootstrap" or "make bootstrap-lean" + depending on the target CPU. + Currently overwritten to default to "bootstrap". + + -- Matthias Klose Thu, 2 Mar 2006 00:03:45 +0100 + +gcc-4.1 (4.1ds9-0exp9) experimental; urgency=low + + * Update to GCC 4.1.0 release candidate 1 (gcc-4.1.0-20060219 tarball). + * Update gcc-version patch for gcc-4.1. + * libgccN, libstdc++N*: Fix upgrade of /usr/share/doc symlinks. + * libjava awt & swing update, taken from trunk 2006-02-16. + * libgcj7-dev: Suggest libgcj-doc, built from a separate source package. + * Shorten build-dependency line (work around buildd problems + on arm* and mips*). + * New patch gcc-ice-hack (saving the preprocessed source on an ICE), + taken from Fedora. + + -- Matthias Klose Mon, 20 Feb 2006 10:07:23 +0100 + +gcc-4.1 (4.1ds8-0exp8) experimental; urgency=low + + * Update to SVN 20060212, taken from the 4.1 release branch. + * libgccN: Fix upgrade of /usr/share/doc/libgccN symlink. + + -- Matthias Klose Sun, 12 Feb 2006 19:48:31 +0000 + +gcc-4.1 (4.1ds7-0exp7) experimental; urgency=low + + * Update to SVN 20060127, taken from the 4.1 release branch. + - On hppa, bump the libgcc soversion to 4. + * Add an option not to depend on the system -base package for cross compiler + (Ian Wienand). Closes: #347484. + * Remove workaround increasing the stack size limit for some architectures, + not needed anymore on ia64. + * On amd64, build-depend on libc6-dev-i386, depend on libc6-i386, where + available. + * libstdc++6: Properly upgrade the doc directory. Closes: #346171. + * libstdc++6: Add a conflict to scim (<< 1.4.2-1). Closes: #343313. + * Set default 32bit ix86 architecture to i486. + + -- Matthias Klose Fri, 27 Jan 2006 22:23:22 +0100 + +gcc-4.1 (4.1ds6-0ubuntu6) experimental; urgency=low + + * Update to SVN 20060107, taken from the 4.1 release branch. + - Remove fix for PR ada/22533, fixed by patch for PR c++/23171. + * Remove binary packages from the control file, which aren't built + yet on any architecture. + * gcc-hppa64: Use /usr/hppa64-linux-gnu/include as location for the glibc + headers, tighten glibc (build-)dependency. + * libffi [arm]: Add support for closures, libjava [arm]: enable the gij + interpreter (Phil Blundell). Addresses: #337263. + * For the gcj standalone build, include cc1 into the gcj-4.1 package, + needed for linking java programs compiled to native code. + + -- Matthias Klose Sat, 7 Jan 2006 03:36:33 +0100 + +gcc-4.1 (4.1ds4-0exp4) experimental; urgency=low + + * Update to SVN 20051210, taken from the 4.1 release branch. + * Prepare to build the java packages from it's own source (merged + from Ubuntu). + - Build the java packages from the gcc-4.1 source, as long as packages + are prepared for experimental. + - When built as gcj, run only the libjava testsuite, don't build the + libstdc++ debug packages, don't package the gcc source. + - Loosen package dependencies, when java packages are built from + separate sources. + - Fix gcj hppa build, when java packages are built from separate sources. + - gij-4.1: Install test-summary, when doing separate builds. + - Allow java packages be installed independent from other packages built + from the source package. + - Rename libgcj7-common to libgcj7-jar. + - Introduce a gcj-4.1-base package to completely separate the two and not + duplicate the changelog in each gcj/gij package. + * Java related changes: + - libjava-xml-transform: Update from classpath trunk, needed for + eclipse (Michael Koch), applied upstream. + - Fix java wrapper scripts to point to 4.1 (closes: #341710). + - Reenable java on mips and mipsel. + - Fix libgcj6 dependency. Ubuntu #19935. + - Add libxt-dev as a java build dependency. autoconf explicitely checks + for X11/Intrinsic.h. + * Ada related changes: + - Apply proposed fix for PR ada/22533, reenable ada on alpha, powerpc, + mips, mipsel and s390. + - Add Ada support for GNU/kFreeBSD (Aurelien Jarno). Closes: #341356. + - Remove ada bootstrap workaround for alpha. + * Build a separate gcc-4.1-source package (Bastian Blank). Closes: #333922. + * Remove obsolete patch: libstdc++-automake. + * Remove patch integrated upstream: libffi-mips. + * Fix the installation of the hppa64 compiler in snapshot builds. + * Rename libgfortran0* to libgfortran1* (upstream soversion change). + * Add a dependency on libc-dev for all compilers / -dev packages except + gcc (which can be used for kernel builds without libc-dev). + * libffi4-dev: Fix package description. + * On amd64, install 32bit libraries into /emul/ia32-linux/usr/lib. + Addresses: #341147. + * Fix installation of biarch libstdc++ headers on amd64. + * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with + -mtune=pentium4). Remove the cpu-default-* patches. + * debian/control.m4: Fix libxxgcc package names. + * Update the build infrastructure to build cross compilers + (Nikita V. Youshchenko). + * Tighten binutils (build-)dependency. Closes: #342484. + * Symlink more doc directories. + * debian/control.m4: Explicitely set Architecture for biarch packages. + + -- Matthias Klose Sat, 10 Dec 2005 16:56:45 +0100 + +gcc-4.1 (4.1ds1-0ubuntu1) UNRELEASED; urgency=low + + * Build Java packages only. + * Update to SVN 20051121, taken from the 4.1 release branch. + - Remove libjava-saxdriver-fix patch, applied upstream. + - Remove ada-gnat-version patch, applied upstream. + * Fix FTBFS in biarch builds on 32bit kernels. + * Update libstdc++-doc doc-base file (closes: #339046). + * Remove obsolete patch: gcc-alpha-ada_fix. + * Fix installation of biarch libstdc++ headers (Ubuntu #19655). + * Fix sparc and s390 biarch patches to build the 64bit libffi. + * Work around biarch build failure in libjava/classpath/native/jni/midi-alsa. + * Install spe.h header on powerpc. + * Add libasound build dependencies. + * libgcj: Fix installation of libgjsmalsa library. + * Remove patches not used anymore: libjava-no-rpath, i386-config-ml-nomf, + libobjc, multiarch-include, disable-biarch-check-mf, gpc-profiled, + gpc-no-gpidump, libgpc-shared, acats-expect. + * Fix references to manuals in gnat(1). Ubuntu #19772. + * Remove build dependency on xlibs-dev, add libxtst-dev. + * Do not configure with --disable-werror. + * Merge *-config-ml patches into one config-ml patch, configure the biarch + libs in debian/rules.defs. + * debian/gcj-wrapper: Accept -Xss. + * Do not build biarch java on Debian (missing biarch libasound). + * Do not build the java packages from this source package, avoiding + dependencies on X. + + -- Matthias Klose Mon, 21 Nov 2005 20:29:43 +0100 + +gcc-4.1 (4.1ds0-0exp0) experimental; urgency=low + + * Configure libstdc++ using the default allocator. + * Update to 20051112, taken from the svn trunk. + + -- Matthias Klose Sat, 12 Nov 2005 23:47:01 +0100 + +gcc-4.1 (4.1ds0-0ubuntu0) breezy; urgency=low + + * UNRELEASED + * First snapshot of gcc-4.1 (CVS 20051019). + - adds SSP support (closes: #213994, #233208). + * Remove patches applied upstream/not needed anymore. + * Update patches for 4.1: link-libs, gcc-textdomain, libjava-dlsearch-path, + rename-info-files, reporting, classmap-path, i386-biarch, sparc-biarch, + libjava-biarch-awt, ada-gcc-name. + * Disable patches: + - 323016, m68k, necessary for 4.1? + * debian/copyright: Update for 4.1. + * debian/control, debian/control.m4, debian/rules.defs, debian/rules.conf: + Update for 4.1, add support for Obj-C++ and SSP. + * Fix generation of Ada docs in info format. + * Set Ada library version to 4.1. + * Drop gnat-3.3 as an alternative build dependency. + * Use fortran instead of f95 for the build files. + * Update build support for awt peer libs. + * Add packaging support for SSP library. + * Add packaging support for Obj-C++. + * Run the testsuite for -march=i686 on i386 and amd64 as well. + * Fix generation of Pascal docs in html format. + * Update config-ml patches to build libssp biarch. + * Disable libssp for hppa64 build. + * libgcj7-dev: Install jni_md.h. + * Disable gnat for powerpc, currently fails to build. + * Add biarch runtime lib packages for ssp, mudflap, ffi. + * Do not explicitely configure with --enable-java-gc=boehm, which is the + default. + * libjava-saxdriver-fix: Fix a problem in the Aelfred2 SAX parser. + * libstdc++6-4.0-dev: Depend on the libc-dev package. Ubuntu #18885. + * Build-depend on expect-tcl8.3 on all architectures. + * Build-depend on lib32z1-dev on amd64 and ppc64, drop build dependency on + amd64-libs. + * Disable ada on alpha mips mipsel powerpc s390, currently broken. + + -- Matthias Klose Wed, 19 Oct 2005 11:02:31 +0200 + +gcc-4.0 (4.0.2-3) unstable; urgency=low + + * Update to CVS 20051015, taken from the gcc-4_0-branch. + - gcc man page fixes (closes: #327254, #330099). + - PR java/19870, PR java/20338, PR java/21844, PR java/21540: + Remove Debian patches. + - Applied libjava-echo-fix patch. + - Fix PR target/24284, ICE (Segmentation fault) on sparc-linux. + Closes: #329840. + - Fix PR c++/23797, ICE on typename outside template. Closes: #325545. + - Fix PR c++/22551, ICE in tree_low_cst. Closes: #318932. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.2-3 (new symbol). + * Update generated Ada files. + * Fix logic to disable mudflap and Obj-C++ via the environment. + * Remove f77 build bits. + * gij-4.0: Remove /var/lib/gcj-4.0/classmap.db on purge (closes: #330800). + * Let gcj-4.0 depend on libgcj6-dev, instead of recommending it. This is + not necessary for byte-code compilations, but for compilations to native + code. For compilations to byte-code, use a better compiler like ecj + for now (found in the ecj-bootstrap package). + * Disable biarch setup in cross compilers (Josh Triplett). Closes: #333952. + * Fix with_libnof logic for cross-compilations (Josh Triplett). + Closes: #333951. + * Depend on binutils (>= 2.16.1cvs20050902-1) on the alpha architecture. + Closes: #333954. + * On i386, build-depend on libc6-dev-amd64. Closes: #329108. + * (Build-)depend on glibc 2.3.5-5. + + -- Matthias Klose Sun, 2 Oct 2005 14:25:54 +0200 + +gcc-4.0 (4.0.2-2) unstable; urgency=low + + * Update to CVS 20051001, taken from the gcc-4_0-branch. Includes the + changes between 4.0.2 RC3 and the final 4.0.2 release, missing from + the upstream tarball. Remove patches applied upstream (gcc-c-decl, + pr23182, pr23043, pr23367, pr23891, pr21418, pr24018). + * On ix86 architectures run the testsuite for -march=i686 as well. + * Build libffi on the Hurd (closes: #328705). + * Add big-endian arm (armeb) support (Lennert Buytenhek). Closes: #330730. + * Update libjava xml to classpath CVS HEAD 20050930 (Michael Koch). + * Reapply patch to make -mieee the default on alpha-linux. Closes: #330826. + * Add workaround not to make libmudflap _start/_end not small data on + mips/mipsel, taken from CVS HEAD. + * Don't build the nof libraries on powerpc. + * Number crunching time on m68k, reenable gfortran on m68k-linux-gnu. + + -- Matthias Klose Sat, 1 Oct 2005 15:42:10 +0200 + +gcc-4.0 (4.0.2-1) unstable; urgency=low + + * GCC 4.0.2 release. + * lib64stdc++6: Set priority to optional. + * Fix bug in StreamSerializer, seen with eclipse-3.1 (Ubuntu 12744). + Backport from CVS HEAD, Michael Koch. + * Apply java patches, proposed for the 4.0 branch: PR java/24018, + PR libgcj/23182, PR java/19870, PR java/21844, PR libgcj/23367, + PR java/20338. + * Update the expect/pty test to actually call expect directly, rather + than test for the existence of PTYs, since a working expect is what + we really care about, not random device files (Adam Conrad). + Closes: #329715. + * Add build dependencies on lib64z1-dev. + * gcc-c-decl.dpatch: Fix C global decl handling regression in 4.0.2 from + 4.0.1 + + -- Matthias Klose Thu, 29 Sep 2005 19:50:08 +0200 + +gcc-4.0 (4.0.1-9) unstable; urgency=low + + * Update to CVS 20050922, taken from the gcc-4_0-branch (4.0.2 RC3). + * Apply patches: + - Fix PR java/21418: Order of source files matters when compiling, + backported from mainline. + - Fix for PR 23043, backported form mainline. + - Proposed patch for #323016 (m68k only). Patch by Roman Zippel. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.1-9 (new symbol). + * Fail the build early, if the system doesn't have any pty devices + created in /dev. Needed for running the testsuite. + * Update hurd changes again (closes: #328973). + + -- Matthias Klose Thu, 22 Sep 2005 07:28:18 +0200 + +gcc-4.0 (4.0.1-8) unstable; urgency=medium + + * Update to CVS 20050917, taken from the gcc-4_0-branch. + - Fix FTBFS for boost, introduced in 4.0.1-7 (closes: #328684). + * Fix PR java/23891, eclipse bootstrap. + * Set priority of gcc-4.0-hppa64 package to standard. + * Bump standards version to 3.6.2. + * Fix java wrapper script, mishandles command line options with arguments. + Patch from Olly Betts. Closes: #296456. + * Bump epoch of the lib32gcc1 package to the same epoch as for the the + libgcc1 and lib64gcc1 packages. + * Fix some lintian warnings. + * Build libffi on the Hurd (closes: #328705). + * For biarch builds, disable the testsuite for the non-default architecture + for runtime libraries, which are not built by default (libjava). + * Add gsfonts-x11 to Build-Depends-Indep to avoid warnings from doxygen. + * Install Ada .ali files read-only. + + -- Matthias Klose Sat, 17 Sep 2005 10:35:23 +0200 + +gcc-4.0 (4.0.1-7) unstable; urgency=low + + * Update to CVS 20050913, taken from the gcc-4_0-branch. + - Fix PR c++/19004, ICE in uses_template_parms (closes: #284777). + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR libstdc++/23417, make bits/stl_{list,tree}.h -Weffc++ clean. + Closes: ##322170. + * Install 'altivec.h' on ppc64 (closes: #323945). + * Install locale data with the versioned package name (closes: #321591). + * Fix fastjar build without building libjava. + * On hppa, don't build using gcc-3.3 when ada is disabled. + * On m68k, don't build the stage1 compiler using -O. + + * Ludovic Brenta + - Allow the choice whether or not to build with NLS. + - Fix a typo whereby libffi was always enabled on i386. + + -- Matthias Klose Tue, 13 Sep 2005 23:23:11 +0200 + +gcc-4.0 (4.0.1-6) unstable; urgency=low + + * Update to CVS 20050821, taken from the gcc-4_0-branch. + - debian/patches/pr21562.dpatch: Removed, applied upstream. + - debian/patches/libjava-awt-name.dpatch: Updated. + - debian/patches/classpath-20050618.dpatch: Updated. + * Use all available CPU's for the check target, unless USE_NJOBS == no. + * debian/patches/biarch-include.dpatch: Include + /usr/local/include/-linux-gnu before including /usr/local/include. + * Fix biarch system include directories for the non-default architecture. + * Prefer gnat-4.0 over gnat-3.4 over gnat-3.3 as a build-dependency. + + -- Matthias Klose Thu, 18 Aug 2005 18:36:23 +0200 + +gcc-4.0 (4.0.1-5) unstable; urgency=low + + * Update to CVS 20050816, taken from the gcc-4_0-branch. + - Fix PR middle-end/23369, wrong code generation for funcptr comparison + on hppa. Closes: #321785. + - Fix PR fortran/23368 ICE with NAG routines (closes: #322912). + * Build-depend on libcairo2-dev (they say, that's the final package name ...) + * libgcj: Search /usr/lib/gcj-4.0 for dlopened libraries, place a copy + of the .la files in the libgcj6 package into this directory. + Closes: #322576. + * Tighten the dependencies between the compiler packages to the same + version and release. Use some substitution variables for control file + generation. + * Remove build dependencies for gpc. + * Don't use '/emul/ia32-linux' on ppc64 (closes: #322890). + * Synchronize with Ubuntu. + + -- Matthias Klose Tue, 16 Aug 2005 22:45:47 +0200 + +gcc-4.0 (4.0.1-4ubuntu1) breezy; urgency=low + + * Jeff Bailey + + Enable i386 biarch using biarch glibc (not yet enabled for unstable). + - debian/rules.d/binary-libgcc.mk: Make i386 lib64gcc1 depend on + libc6-amd64 + - debian/control.m4: Suggest libc6-amd64 rather than amd64-libs. + - debian/rules.conf: Build-Dep on libc6-dev-amd64 [i386] + Build-Dep on binutils >= 2.16.1-2ubuntu3 + - debian/rules2: Enable biarch build in Ubuntu. + + * Matthias Klose + + - Add shlibs file and dependency information for the lib32gcc1 package. + - debian/patches/gcc-textdomain.dpatch: Update (closes: #321591). + - Set priority of gcc-4.0-base and libstdc++6 packages to `required'. + Closes: #321016. + - libffi-hppa.dpatch: Remove, applied upstream. + + -- Matthias Klose Mon, 8 Aug 2005 19:39:02 +0200 + +gcc-4.0 (4.0.1-4) unstable; urgency=low + + * Enable the biarch compiler for powerpc (closes: #268023). + * Update to CVS 20050806, taken from the gcc-4_0-branch. + * Build depend on libcairo0.6.0-dev (closes: #321540). + * Fix Ada build on the hurd (closes: #321350). + * Update libffi for mips (Thiemo Seufer). Closes: #321100. + * Fix segfault on 64bit archs in the AWT Gtk peer library (Dan Frazier). + Closes: #320915. + * Add libXXgcc1 build dependencies for biarch builds. + + -- Matthias Klose Sun, 7 Aug 2005 07:01:59 +0000 + +gcc-4.0 (4.0.1-3) unstable; urgency=medium + + * Update to CVS 20050725, taken from the gcc-4_0-branch. + - Fix ICE with -O and -mno-ieee-fp/-ffast-math (closes: #319087). + * Synchronize with Ubuntu. + * Fix applying hurd specific patches for the hurd build (closes: #318443). + * Do not build-depend on libmpfr-dev on architectures, where fortran + is not built. + * Apply biarch include patch on ppc64 as well (closes: #318603). + * Correct libstdc++-dev package description (closes: #319082). + * debian/rules.defs: Replace DEB_TARGET_GNU_CPU with DEB_TARGET_ARCH_CPU. + * gcc-4.0-hppa64: Rename hppa64-linux-gcc to hppa64-linux-gnu-gcc. + Closes: #319818. + + -- Matthias Klose Mon, 25 Jul 2005 10:43:06 +0200 + +gcc-4.0 (4.0.1-2ubuntu3) breezy; urgency=low + + * Update to CVS 20050720, taken from the gcc-4_0-branch. + - Fix PR22278, volatile issues, seen when building xorg. + * Build against new libcairo1-dev (0.5.2). + + -- Matthias Klose Wed, 20 Jul 2005 12:29:50 +0200 + +gcc-4.0 (4.0.1-2ubuntu2) breezy; urgency=low + + * Acknowledge that i386 biarch builds still need to be fixed for glibc-2.3.5. + + -- Matthias Klose Tue, 19 Jul 2005 08:29:30 +0000 + +gcc-4.0 (4.0.1-2ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + * Update to CVS 20050718, taken from the gcc-4_0-branch. + - Fix PR c++/22132 (closes: #318488), upcasting a const class pointer + to struct the class derives from generates wrong code. + * Build biarch runtime libraries for Fortran and ObjC. + * Apply proposed patch for PR22309 (crash with mt_allocator if libstdc++ + is dlclosed). Closes: #293466. + + -- Matthias Klose Mon, 18 Jul 2005 17:10:18 +0200 + +gcc-4.0 (4.0.1-2) unstable; urgency=low + + * Don't apply the patch to make -mieee the default on alpha-linux-gnu. + Causes the bootstrap to fail on alpha-linux-gnu. + + -- Matthias Klose Tue, 12 Jul 2005 00:14:12 +0200 + +gcc-4.0 (4.0.1-1) unstable; urgency=high + + * GCC 4.0.1 final release. See /usr/share/doc/gcc-4.0/NEWS.{gcc,html}. + * Build fastjar on mips/mipsel, fix fastjar build without building java. + * Disable the comparision check on unstable/ia64. adaint.o differs, + currently cannot be reproduced with glibc-2.3.5 and binutils-2.16.1. + * libffi/hppa: Fix handling of 3 and 5-7 byte struct returns. + * amd64: Fix libgcc symlinks to point to /usr/lib32, instead of /lib32. + * On powerpc, don't build with -j >1, apparently doesn't succeeds + on the Debian buildd. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (Tyson Whitehead). + * Disable multiarch-includes; redo biarch-includes to include the paths + for the non-default biarch, when called with -m32/-m64. + * Move new java headers from libstdc++-dev to libgcj-dev, add replaces + line. + * Update classpath patch to work with cairo-0.5.1. Patch provided by + Michael Koch. + * Further classpath updates for gnu.xml and javax.swing.text.html. + Patch provided by Michael Koch. + * Require binutils (>= 2.16.1) as a build dependency and a dependency. + * On i386, require amd64-libs-dev (>= 1.2). + * Update debian/NEWS.{html,gcc}. + + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.3 and fixed in gcc-3.4: + - General: + + PR rtl-optimization/2960: Duplicate loop conditions even with -Os + Closes: #94701. + + PR optimization/3995: i386 optimisation: joining tests. + Closes: #105309. + + PR rtl-optimization/11635: Unnecessary store onto stack, more + curefully expand union cast (closes: #202016). + + PR target/7618: vararg disallowed in virtual function. Closes: #205404. + + Large array problem on 64 bit platforms (closes: #209152). + + Mark more strings as translatable (closes: #227129). + + PR gcc/14711: ICE when compiling a huge source file Closes: #234711. + + Better code generation for if(!p) return NULL;return p; + Closes: #242318. + + PR rtl-optimization/16152: Perl ftbfs on {ia64,arm,m68k}-linux. + Closes: #255801. + + ICE (segfault) while compiling Linux 2.6.9 (closes: #277206). + + Link error building memtest (closes: #281445). + - Ada: + + PR ada/12450: Constraint error for valid input (closes: #210844). + + PR ada/13620: miscompilation of array initializer with + -O3 -fprofile-arcs. Closes: #226244. + - C: + + PR c/6897: Code produced with -fPIC reserves EBX, but compiles + bad __asm__ anyway (closes: #73065). + + PR c/9209: On i386, gcc-3.0 allows $ in indentifiers but not the asm. + Closes: #121282. + + PR c/11943: Accepts invalid declaration "int x[2, 3];" in C99 mode. + Closes: #177303. + + PR c/11942: restrict keyword broken in C99 mode. Closes: #187091. + + PR other/11370: -Wunreachable-code gives false complaints. + Closes: #196600. + + PR c/11369: Too relaxed checking with -Wstrict-prototypes. + Closes: #197504. + + PR c/11445: False positive warning with -Wunreachable-code. + Closes: #200140. + + PR c/11459: -stdc=c90 -pedantic warns about C90's non long-long + support when in C99 mode. Closes: #200392. + + PR c/456: Handling of constant expressions. Closes: #225935. + + ICE on invalid #define with -traditional (closes: #242916). + + No warning when initializing a variable with itself, new option + -Winit-self (closes: #293957). + - C++: + + C++ parse error (closes: #42946). + + PR libstdc++/9073: Replacement for __STL_ASSERTIONS (libstdc++v3 + debug mode). Closes: #128993. + + Parse errors in nested constructor calls (closes: #138561). + + PR optimization/1823: -ftrapv aborts with pointer difference due to + division optimization. Closes: #169862. + + ICE on invalid code (closes: #176101). + + PR c++/10199: ICE handling method parametrized by template. + Closes: #185604. + + High memory usage building packages OpenOffice.org and MythTV. + Closes: #194345, #194513. + + Improved documentation of std::lower_bound (closes: #196380). + + ICE in regenerate_decl_from_template (closes: #197674). + + PR c++/11444: Function fails to propagate up class tree + (template-related). Closes: #198042. + + ICE when using namespaced typedef of primitive type as struct. + Closes: #198261. + + Bug using streambuf / iostream to read from a named pipe. + Closes: #216105. + + PR c++/11437: ICE in lookup_name_real (closes: #200011). + + Add large file support (LFS) in libstdc++ (closes: #220000). + + PR c++/13621: ICE compiling a statement expression returning type + string (closes: #224413). + + g++ doesn't find inherited inner class after template instantiation. + Closes: #227518. + + PR libstdc++/13928: Add whatis info in man pages generated by doxygen. + Closes: #229642. + + Missing symbol _M_setstate in libstdc++ (closes: #232709). + + Unable to parse declaration of inline constructor explicit + specialization (closes: #234709). + + ICE (segfault) on invalid C++ code (closes: #246031). + + ICE in lookup_tempate_function (closes: #262441). + + Undefined symbols in libstdc++, when using specials char_traits. + Closes: #266110. + + PR libstdc++/16011: Outputting numbers with ostream in the locale fr_BE + causes infinite recursion (closes: #270795). + + ICE in tree_low_cst (closes: #276291). + + ICE in in expand_call (closes: #283503). + + typeof operator is misparsed in a template function (closes: #288555). + + ICE in tree_low_cs (closes: #291374). + + Improve uninformative error messages (closes: #292961, #293076). + + ICE on array initialization (closes: #294560). + + Failure to build xine-lib with -finline-functions (closes: #306854). + - Java: + + Fix error finding files in subdirectories (closes: #195480). + + Implement java.text.CollationElementIterator lacks getOffset(). + Closes: #259789. + - Treelang: + + Pointer truncation on 64bit architectures (closes: #308367). + - Architecture specific: + - alpha + + PR debug/10695: ICE on alpha while building agistudio. + Closes: #192568. + + ICE when building fceu (closes: #228018, #252764). + - amd64 + + Miscompilation of Objective-C code (closes: #250174). + + g++ hangs compiling k3d on amd64 (closes: #285364). + - arm + + PR target/19008: gcc -O3 -fPIC produces wrong code via auto inlining. + Closes: #285238. + - i386 + + PR target/4106: i386 -fPIC asm ebx clobber no error. + Closes: #153472. + + PR target/10984: x86/sse2 ICEs on vector intrinsics. Closes: #166940. + + Wrong code generation on at least ix86 (closes: #275655). + - m68k + + PR target/9201: ICE compiling octave-2.1 (closes: #175478). + + ICE in verify_initial_elim_offsets (closes: #204407, #257012). + + g77 generates invalid assembly code (closes: #225621). + + ICE in verify_local_live_at_start (closes #245584). + - powerpc + + PR optimization/12828: -floop-optimize is unstable on PowerPC (float + to int conversion problem). Closes: #218219. + + PR target/13619: ICE building altivec code in ffmpeg. + Closes: #226148. + + PR target/20046: Miscompilation of bind 9.3.0. Closes: #292958. + - sparc + + ICE (segfault) while building atlas3 on sparc32 (closes: #249108). + + Wrong optimization on sparc32 when building linux kernel. + Closes: #254626. + + * Closed reports reported against gcc-3.3 or gcc-3.4 and fixed in gcc-4.0: + - General: + + PR rtl-optimization/6901: Optimizer improvement (removing unused + local variables). Closes: #67206. + + PR middle-end/179: Failure to detect use of unitialized variable + with -O -Wall. Closes: #117765. + + ICE building glibc's nptl on amd64 (closes: #260710, #307993). + + PR middle-end/17827: ICE in make_decl_rtl. Closes: #270854. + + PR middle-end/21709: ICE on compile-time complex NaN. Closes: #305344. + - Ada: + + PR ada/10889: Convention Fortran matrices mishandled in generics. + Closes: #192135. + + PR ada/13897: Implement tasking on powerpc. Closes: #225346. + - C: + + PR c/13072: Bogus warning with VLA in switch. Closes: #218803. + + PR c/13519: typeof(nonconst+const) is const. Closes: #208981. + + PR c/12867: Incorrect warning message (void format, should be void* + format). Closes: #217360. + + PR c/16066: PR 16066] i386 loop strength reduction bug. + Closes: #254659. + - C++: + + PR c++/13518: -Wnon-virtual-dtor doesn't always work. Closes: #212260. + + PR translation/16025: ICE with unsupported locale(closes: #242158). + + PR c++/15125: -Wformat doesn't warn for different types in fprintf. + Closes: #243507. + + PR c++/15214: Warn only if the dtor is non-private or the class has + friends. (closes: #246639). + + PR libstdc++/17218: Unknown subjects in generated libstdc++ manpages. + Closes: #262934. + + PR libstdc++/17223: Missing .so references in generated libstdc++ + manpages. Closes: #262956. + + libstdc++-doc: Improve man pages (closes: #280910). + + PR c++/19006: ICE in tree_low_cst. Closes: #285692. + + g++ does not check arguments to fprintf. Closes: #281847. + - Java: + + PR java/7304: gcj ICE (closes: #152501). + + PR libgcj/7305: Installation of headers not directly in /usr/include. + Closes: #195483. + + PR libgcj/11941: libgcj timezone handling (closes: #203212). + + PR java/14709: gcj fails to wait for its child processes on exec(). + Closes: #238432. + + PR libgcj/21703: gcj hangs when rapidly calling String.intern(). + Closes: #275547. + + SocketChannel.get(ByteBuffer) returns 0 at EOF. Closes: #281602. + + PR java/19711: gcj segfaults instead of reporting the ambiguous + expression. Closes: #286715. + + Static libgcj contains repeated archive members (closes: #298263). + - Architecture specific: + - alpha + + Unaligned accesses with ?-operator (closes: #301983). + - arm + + Compilation error of glibc-2.3.4 on arm (closes: #298508). + - m68k + + ICE in add_insn_before (closes: #248432). + - mips + + Fix o32 ABI breakage in gcc 3.3/3.4 (closes: #270620). + - powerpc + + ICE in extract_insn (closes: #311128). + + * Closing bug reports as wontfix: + - g++ defines _GNU_SOURCE when using the libstdc++ header files. + Behaviour did change since 3.0. Closes: #126703, #164872. + + -- Matthias Klose Sat, 9 Jul 2005 17:10:54 +0000 + +gcc-4.0 (4.0.0ds2-12) unstable; urgency=high + + * Update to CVS 20050701, taken from the gcc-4_0-branch. + * Apply proposed patch for MMAP configure fix; aka PR 19877. Backport + from mainline. + * Disable Fortran on m68k. Currently FTBFS. + * Split multiarch-include/lib patches. Update multiarch-include patch. + * Fix FTBFS of the hppa64-linux cross compiler. Don't add the + multiarch include dirs when cross compiling. + * Configure --with-java-home, as used by java-gcj-compat. + Closes: #315646. + * Make libgcj-dbg packages priority extra. + * Set the path of classmap.db to /var/lib/gcj-@gcc_version@. + * On m68k, do not create the default classmap.db in the gcj postinst. + See #312830. + * On amd64, install the 32bit libraries into /emul/ia32-linux/usr/lib. + Restore the /usr/lib32 symlink. + * On amd64, don't reference lib64, but instead lib (lib64 is a symlink + to lib). Closes: #293050. + * Remove references to build directories from the .la files. + * Make cpp-X.Y conflict with earlier versions of gcc-X.Y, g++-X.Y, gobjc-X.Y, + gcj-X.Y, gfortran-X.Y, gnat-X.Y, treelang-X.Y, if a path component in + the gcc library path changes (i.e. version or target alias). + * Disable Ada for sh3 sh3eb sh4 sh4eb. + * For gcj-4.0, add a conflict to libgcj4-dev and libgcj5-dev. + Closes: #316499. + + -- Matthias Klose Sat, 2 Jul 2005 11:04:35 +0200 + +gcc-4.0 (4.0.0ds1-11) unstable; urgency=low + + * debian/rules.defs: Disable Ada for alpha. + * debian/rules.conf: Fix typo in type-handling replacement code. + * Don't ship an empty libgcj6-dbg package. + + -- Matthias Klose Thu, 23 Jun 2005 09:03:21 +0200 + +gcc-4.0 (4.0.0ds1-10) unstable; urgency=medium + + * debian/patches/libstdc++-api-compat.dpatch: Apply proposed patch + to fix libstdc++ 3.4.5/4.0 compatibility. + * type-handling output became insane. Don't use it anymore. + * Drop the reference to the stl-manual package (closes: #314983). + * Disable java on GNU/kFreeBSD targets, requested by Robert Millan. + Closes: #315140. + * Terminate the acats-killer process, even if the build is aborted + by the user (closes: #314405). + * debian/rules.defs: Define DEB_TARGET_ARCH_{OS,CPU}. + * Start converting the use of DEB_*_GNU_* to DEB_*_ARCH_* in the build + files. + * Do not configure with --enable-gtk-cairo. Needs newer gtk. Drop + build dependency on libcairo-dev. + * Fix setting of the system header directory for the hurd (Michael Banck). + Closes: #315386. + * Fix FTBFS on hurd-i386: MAXPATHLEN issue (Michael Banck). Closes: #315384. + + -- Matthias Klose Wed, 22 Jun 2005 19:45:50 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu2) breezy; urgency=low + + * Fix version number in libgcj shlibs file. + + -- Matthias Klose Sun, 19 Jun 2005 10:34:02 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu1) breezy; urgency=low + + * Update to 4.0.1, release candidate 2. + * libstdc++ shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Rename libawt to libgcjawt to avoid conflicts with other + libawt implementations (backport from HEAD). + * Update classpath awt, swing and xml parser for HTML support in swing. + Taken from classpath CVS HEAD 2005-06-18. Patch provided by Michael Koch. + * Remove the libgcj-buffer-strategy path, part of the classpath update. + * libgcj shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Require cairo-0.5 as build dependency. + * gij-4.0: Provide java1-runtime. + * gij-4.0: Provide an rmiregistry alternative (using grmiregistry-4.0). + * gcj-4.0: Provide an rmic alternative (using grmic-4.0). + * libgcj6-dev conflicts with libgcj5-dev, libgcj4-dev, not libgcj6. + Closes: #312741. + * libmudflap-entry-point.dpatch: Correct name of entry point on mips/mipsel. + * Apply proposed patch for PR 18421 and PR 18719 (m68k only). + * Apply proposed path for PR 21562. + * Add build dependency on dpkg (>= 1.13.7). + * On linux systems, configure for -linux-gnu. + * Configure the hppa64 cross compiler to target hppa64-linux-gnu. + * (Build-)depend on binutils-2.16.1. + * libstdc{32,64}++6-4.0-dbg: Depend on libstdc++6-4.0-dev. + * gnat-4.0: only depend on libgnat, when a shared libgnat is built. + * gfortran-4.0: Depend on libgmp3c2 | libgmp3. + * On hppa, explicitely use gcc-3.3 as a build dependency in the case + that Ada is disabled. + * libmudflap: Always build the library for the non-default biarch + architecture, or else the test results show link failures. + + -- Matthias Klose Sat, 18 Jun 2005 00:42:55 +0000 + +gcc-4.0 (4.0.0-9) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 25 May 2005 19:02:20 +0200 + +gcc-4.0 (4.0.0-8ubuntu3) breezy; urgency=low + + * debian/control: Regenerate. + + -- Matthias Klose Sat, 4 Jun 2005 10:56:27 +0200 + +gcc-4.0 (4.0.0-8ubuntu2) breezy; urgency=low + + * Fix powerpc-config-ml patch. + + -- Matthias Klose Fri, 3 Jun 2005 15:47:52 +0200 + +gcc-4.0 (4.0.0-8ubuntu1) breezy; urgency=low + + * powerpc biarch support: + - Enable powerpc biarch support, build lib64gcc1 on powerpc. + - Add patch to disable libstdc++'s configure checking, if it can't run + 64bit binaries on 32bit kernels (Sven Luther). + - Apply the same patch to the other runtime librararies as well. + - Run the testsuite with -m64, if we can execute 64bit binaries. + - Add libc6-dev-ppc64 as build dependency for powerpc. + * 32bit gcj libs for amd64. + * debian/logwatch.sh: Don't remove logwatch pid file on exit (suggested + by Ryan Murray). + * Update to CVS 20050603, taken from the gcc-4_0-branch. + * g++-4.0 provides c++abi2-dev. + * Loosen dependencies on packages of architecture `all' to not break + binary only uploads. + * Build libgfortran for biarch as well, else the testsuite will fail. + + -- Matthias Klose Fri, 3 Jun 2005 13:38:19 +0200 + +gcc-4.0 (4.0.0-8) experimental; urgency=low + + * Synchronize with Ubuntu. + + -- Matthias Klose Mon, 23 May 2005 01:56:28 +0000 + +gcc-4.0 (4.0.0-7ubuntu7) breezy; urgency=low + + * Fix build failures for builds with disabled testsuite. + * Adjust debian/rules conditionals to work with all dpkg versions. + * Build separate lib32stdc6-4.0-dbg/lib64stdc6-4.0-dbg packages. + * Add the debugging symbols of the optimzed libstdc++ build in the + lib*stdc++6-dbg packages as well. + * Build a libgcj6-dbg package. + * Update to CVS 20050522, taken from the gcc-4_0-branch. + * Add Ada support for the ppc64 architecture (Andreas Jochens): + * debian/patches/ppc64-ada.dpatch + - Add gcc/ada/system-linux-ppc64.ads, which has been copied from + gcc/ada/system-linux-ppc.ads and changed to use 'Word_Size' 64 + instead of 32. + - gcc/ada/Makefile.in: Use gcc/ada/system-linux-ppc64.ads on powerpc64. + * debian/rules.patch + - Use ppc64-ada patch on ppc64. + * debian/rules.d/binary-ada.mk + Place the symlinks libgnat.so, libgnat-4.0.so, libgnarl.so, + libgnarl-4.0.so in '/usr/lib' instead of '/adalib'. + Closes: #308948. + * Add libc6-dev-i386 as an alternative build dependency for amd64. + Closes: #305690. + + -- Matthias Klose Sun, 22 May 2005 22:14:20 +0200 + +gcc-4.0 (4.0.0-7ubuntu6) breezy; urgency=low + + * Don't trust dpkg-architecture (1.13.4), it "hurds" ... + + -- Matthias Klose Wed, 18 May 2005 11:36:38 +0200 + +gcc-4.0 (4.0.0-7ubuntu5) breezy; urgency=low + + * libgcj6-dev: Don't provide libgcj-dev. + + -- Matthias Klose Wed, 18 May 2005 00:30:32 +0000 + +gcc-4.0 (4.0.0-7ubuntu4) breezy; urgency=low + + * Update to CVS 20050517, taken from the gcc-4_0-branch. + * Apply proposed patch for PR21293. + + -- Matthias Klose Tue, 17 May 2005 23:05:40 +0000 + +gcc-4.0 (4.0.0-7ubuntu2) breezy; urgency=low + + * Update to CVS 20050515, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 15 May 2005 23:48:00 +0200 + +gcc-4.0 (4.0.0-7ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + + -- Matthias Klose Mon, 9 May 2005 19:35:29 +0200 + +gcc-4.0 (4.0.0-7) experimental; urgency=low + + * Update to CVS 20050509, taken from the gcc-4_0-branch. + * Remove the note from the fastjar package description, stating, that + fastjar is incomplete compared to the "standard" jar utility. + * Fix typo in build depends. dpkg-checkbuilddeps doesn't like a comma + inside []. + * Tighten shlibs dependencies to require the current version. + + -- Matthias Klose Mon, 9 May 2005 19:02:03 +0200 + +gcc-4.0 (4.0.0-6) experimental; urgency=low + + * Update to CVS 20050508, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 8 May 2005 14:08:28 +0200 + +gcc-4.0 (4.0.0-5ubuntu1) breezy; urgency=low + + * Temporarily disable the i386 biarch build. Remove the amd64-libs-dev + build dependency, add (build-)conflict (<= 1.1ubuntu1). + + -- Matthias Klose Sat, 7 May 2005 16:56:21 +0200 + +gcc-4.0 (4.0.0-5) breezy; urgency=low + + * gnat-3.3 and gnat-4.0 are alternative build dependencies (closes: #308002). + * Update to CVS 20050507, taken from the gcc-4_0-branch. + * gcj-4.0: Install gjnih. + * Add libgcj buffer strategy framework (Thomas Fitzsimmons), needed for OOo2. + Backport from 4.1. + * Fix all lintian errors and most of the warnings. + + -- Matthias Klose Sat, 7 May 2005 12:26:15 +0200 + +gcc-4.0 (4.0.0-4) breezy; urgency=low + + * Still prefer gnat-3.3 over gnat-4.0 as a build dependency. + + -- Matthias Klose Fri, 6 May 2005 22:30:43 +0200 + +gcc-4.0 (4.0.0-3) breezy; urgency=low + + * Update to CVS 20050506, taken from the gcc-4_0-branch. + * Update priority of java alternatives to 40. + * Move gcj-dbtool to gij package, move the default classmap.db to + /var/lib/gcj-4.0/classmap.db. Create it in the postinst. + * Fix gcc-4.0-hppa64 postinst (closes: #307762). + * Fix gcc-4.0-hppa64, gij-4.0 and gcj-4.0 postinst, to not ignore errors + from update-alternatives. + * Fix gcc-4.0-hppa64, fastjar, gij-4.0 and gcj-4.0 prerm, + to not ignore errors from update-alternatives. + + -- Matthias Klose Fri, 6 May 2005 17:50:58 +0200 + +gcc-4.0 (4.0.0-2) experimental; urgency=low + + * GCC 4.0.0 release. + * Update to CVS 20050503, taken from the gcc-4_0-branch. + * Add gnat-4.0 as an alternative build dependency (closes: #305690). + + -- Matthias Klose Tue, 3 May 2005 15:41:26 +0200 + +gcc-4.0 (4.0.0-1) experimental; urgency=low + + * GCC 4.0.0 release. + + -- Matthias Klose Sun, 24 Apr 2005 11:28:42 +0200 + +gcc-4.0 (4.0ds11-0pre11) breezy; urgency=low + + * CVS 20050413, taken from the gcc-4_0-branch. + * Add proposed patches for PR20126, PR20490, PR20929. + + -- Matthias Klose Wed, 13 Apr 2005 09:43:00 +0200 + +gcc-4.0 (4.0ds10-0pre10) experimental; urgency=low + + * gcc-4.0.0-20050410 release candidate 1, built from the prerelease tarball. + - C++ fix for "optimizer breaks function inlining". Closes: #302989. + * Append the GCC version to the fastjar/grepjar version string. + * Use short file names in the libstdc++ docs (closes: #301140). + * Fix libstdc++-dbg dependencies (closes: #303866). + + -- Matthias Klose Mon, 11 Apr 2005 13:16:01 +0200 + +gcc-4.0 (4.0ds9-0pre9) experimental; urgency=low + + * CVS 20050326, taken from the gcc-4_0-branch. + * Reenable Ada on ia64. + * Build libgnat on hppa, sparc, s390 again. + * ppc64 support (Andreas Jochens): + * debian/control.m4 + - Add libc6-dev-powerpc [ppc64] to the Build-Depends. + - Change the Description for lib32gcc1: s/ia32/32 bit Version/ + * debian/rules.defs + - Define 'biarch_ia32' for ppc64 to use the same 32 bit multilib + facilities as amd64. + * debian/rules.d/binary-gcc.mk + - Correct an error in the 'files_gcc' definition for biarch_ia32 + (replace '64' by '32'). + * debian/rules2 + - Do not use '--disable-multilib' on powerpc64-linux. + Use '--disable-nof --disable-softfloat' instead. + * debian/rules.d/binary-libstdcxx.mk + - Put the 32 bit libstdc++ files in '/usr/lib32'. + * debian/rules.patch + - Apply 'ppc64-biarch' patch on ppc64. + * debian/patches/ppc64-biarch.dpatch + - MULTILIB_OSDIRNAMES: Use /lib for native 64 bit libraries and + /lib32 for 32 bit libraries. + - Add multilib handling to src/config-ml.in (taken from + amd64-biarch.dpatch). + * Rename biarch_ia32 to biarch32, as suggsted by Andreas. + * Use /bin/dash on hppa. + * Reenable the build of the hppa64 compiler. + * Enable parallel builds by defaults (set environment variale USE_NJOBS=no + or USE_NJOBS= to modify the default, which is to use the + number of available processors). + + -- Matthias Klose Sat, 26 Mar 2005 19:07:30 +0100 + +gcc-4.0 (4.0ds8-0pre8) experimental; urgency=low + + * CVS 20050322, taken from the gcc-4_0-branch. + - Add proposed fix for PR19406. + * Configure --with-gtk-cairo only if version 0.3.0 is found. + * Split out gcc-4.0-locales package. Better chance of getting + bug reports in english language. + + -- Matthias Klose Tue, 22 Mar 2005 14:20:24 +0100 + +gcc-4.0 (4.0ds7-0pre7) experimental; urgency=low + + * CVS 20050304, taken from the gcc-4_0-branch. + * Build the treelang compiler. + + -- Matthias Klose Fri, 4 Mar 2005 21:29:56 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu6) hoary; urgency=low + + * Fix lib32gcc1 symlink on amd64. Ubuntu #7099. + + -- Matthias Klose Thu, 3 Mar 2005 00:17:26 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu5) hoary; urgency=low + + * Add patch from PR20160, avoid creating archives with components + that have duplicate basenames. + + -- Matthias Klose Wed, 2 Mar 2005 14:22:04 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu4) hoary; urgency=low + + * CVS 20050301, taken from the gcc-4_0-branch. + Test builds on i386, amd64, powerpc, ia64, check libgcc_s.so.1. + * Add fastjar-4.0 binary and manpage. Some java packages append it + for all java related tools. + * Add libgcj6-src package for source code availability in IDE's. + * On hppa, disable the build of the hppa64 cross compiler, disable + java, disable running the testsuite (request by Lamont). + * On amd64, lib32gcc1 replaces ia32-libs.openoffice.org (<< 1ubuntu3). + * Build-Depend on libcairo1-dev, configure with --enable-gtk-cairo. + Work around libtool problems install libjawt. + Install jawt header files in libgcj6-dev. + * Add workaround for PR debug/19769. + + -- Matthias Klose Tue, 1 Mar 2005 11:26:19 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu3) hoary; urgency=low + + * Drop libgmp3-dev (<< 4.1.4-3) as an alterntative build dependency. + + -- Matthias Klose Thu, 10 Feb 2005 15:16:27 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu2) hoary; urgency=low + + * Disable Ada for powerpc. + + -- Matthias Klose Wed, 9 Feb 2005 16:47:07 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu1) hoary; urgency=low + + * Avoid build dependency on type-handling. + * Install 32bit libs on amd64 in /lib32 and /usr/lib32. + + -- Matthias Klose Wed, 9 Feb 2005 08:27:21 +0100 + +gcc-4.0 (4.0ds5-0pre6) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050208. + * Build-depend on graphviz (moved to main), remove the pregenerated + libstdc++ docs from the diff. + * Fix PR19162, libobjc build failure on arm-linux (closes: #291497). + + -- Matthias Klose Tue, 8 Feb 2005 11:47:31 +0000 + +gcc-4.0 (4.0ds4-0pre5) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050125. + * Call the 4.0 gcx versions in the java wrappers (closes: #291075). + * Correctly install libgij (closes: #291077). + * libgcj6-dev: Add conflicts to other libgcj-dev packages (closes: #290950). + + -- Matthias Klose Mon, 24 Jan 2005 23:59:54 +0100 + +gcc-4.0 (4.0ds3-0pre4) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050115. + * Update cross build patches (Nikita V. Youshchenko). + * Enable Ada on i386, amd64, mips, mipsel, powerpc, sparc, s390. + Doesn't yet bootstrap on alpha, hppa, ia64. + + -- Matthias Klose Sat, 15 Jan 2005 18:44:03 +0100 + +gcc-4.0 (4.0ds2-0pre3) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041224. + + -- Matthias Klose Wed, 22 Dec 2004 00:31:44 +0100 + +gcc-4.0 (4.0ds1-0pre2) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041205. + * Lot's of merges and updates from the gcc-3.4 packages. + + -- Matthias Klose Sat, 04 Dec 2004 12:14:51 +0100 + +gcc-4.0 (4.0ds0-0pre1) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041114. + - Addresses many issues with the libstdc++ man pages (closes: #278549). + * Disable Ada on hppa, ia64, mips, mipsel, powerpc, s390 and sparc, at least + these are known to be broken at the time of the snapshot. + * Minor kbsd.gnu build fixes (Robert Millan). Closes: #273004. + * For amd64, add missing libstdc++ files to 'libstdc++6-dev' package. + (Andreas Jochens). Fixes: #274362. + * Update libffi-mips patch (closes: #274096). + * Updated i386-biarch patch. Don't build 64bit libstdc++, ICE. + * Update sparc biarch patch. + * Fix symlinks for gfortran manpage (closes: #278548). + * Update cross build patches (Nikita V. Youshchenko). + * Update Ada patches (Ludovic Brenta). + + -- Matthias Klose Sat, 13 Nov 2004 10:38:25 +0100 + +gcc-4.0 (4.0-0pre0) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20040912. + + * Matthias Klose + + - Integrate accumulated packaging patches from gcc-3.4. + - Rename libstdc++6-* packages to libstdc++6-4-* (closes: #261693). + - libffi4-dev: conflict with libffi3-dev (closes: #265939). + + * Robert Millan + + * control.m4: + - s/locale_no_archs !hurd-i386/locale_no_archs/g + (This is now handled in rules.defs. [1]) + - s/procps [check_no_archs]/procps [linux_gnu_archs]/g [2] + - Add type-handling to build-deps. [3] + * rules.conf: + - Don't require (>= $(libc_ver)) for libc0.1-dev. [4] + - Generate *_no_archs variables with type-handling and use them for + for m4's -D parameters. [3] + * rules.defs: + - use filter instead of findstring [1]. + - s/netbsd-elf-gnu/netbsdelf-gnu/g [5]. + - enable java for kfreebsd-gnu [6] + - enable ffi for kfreebsd-gnu and knetbsd-gnu [6] + - enable libgc for kfreebsd-gnu [6] + - enable checks for kfreebsd-gnu and knetbsd-gnu [7] + - enable locales for kfreebsd-gnu and gnu [1] [8]. + * Closes: #264025. + + -- Matthias Klose Sun, 12 Sep 2004 12:52:56 +0200 + +gcc-3.5 (3.5ds1-0pre1) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040724. + * Install locale data with versioned package name (closes: #260497). + * Fix libgnat symlinks. + + -- Matthias Klose Sat, 24 Jul 2004 21:26:23 +0200 + +gcc-3.5 (3.5-0pre0) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040718. + + -- Matthias Klose Sun, 18 Jul 2004 12:26:00 +0200 + +gcc-3.4 (3.4.1-1) experimental; urgency=low + + * gcc-3.4.1 final release. + - configured wth --enable-libstdcxx-allocator=mt. + * Fixes for generating cross compiler packages (Jeff Bailey). + + -- Matthias Klose Fri, 2 Jul 2004 22:49:05 +0200 + +gcc-3.4 (3.4.0-4) experimental; urgency=low + + * gcc-3.4.1 release candidate 1. + * Add logic to build biarch compiler on powerpc (disabled, needs lib64c). + * Don't build the libg2c0 package on mipsel-linux (no clear answer on + debian-mips, if the libg2c0's built by gcc-3.3 and gcc-3.4 are compatible + (post-sarge issue). + * Don't use gcc-2.95 as bootstrap compiler on m68k anymore. + + -- Matthias Klose Sat, 26 Jun 2004 22:40:20 +0200 + +gcc-3.4 (3.4.0-3) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040613. + * On sparc, set the the build target to sparc64-linux, build with + switch defaulting to code generation for v7. To generate code for + sparc64, use the -m64 switch. + * Add missing doc-base files to -doc packages. + * Add portability patches and kbsd-gnu patch (Robert Millan). + Closes: #251293, #251294. + * Apply fixes for cross build (Nikita V. Youshchenko). + * Do not include the precompiled libstdc++ header files into the -dev + package (still experimental). Closes: #251707. + * Reflect renaming of Ada user's guide. + * Move AWT peer libraries for libgcj into it's own package (fixes: #247791). + + -- Matthias Klose Mon, 14 Jun 2004 00:03:18 +0200 + +gcc-3.4 (3.4.0-2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040516. + * Do not provide the /usr/hppa64-linux/include in the gcc-hppa64 package, + migrated to libc6-dev. Adjust dependencies. + * Integrate gpc test results into the GCC test summary. + * gnatchop calls gcc-3.4 (closes: #245438). + * debian/locale-gen.sh: Update for recent libstdc+++ testsuite. + * debian/copyright: Add libstdc++-v3's exception clause. + * Add libffi update for mips (Thiemo Seufer). + * Reference Debian specific bug reporting instructions. + * Update README.Bugs. + * Fix FTBFS for libstdc++-doc. + * Update libjava patch for hppa (Randolph Chung). + * Fix installation of ffitarget.h header file. + * On amd64-linux, configure --without-multilib, disable Ada. + + -- Matthias Klose Sun, 16 May 2004 07:53:39 +0200 + +gcc-3.4 (3.4.0-1) experimental; urgency=low + + * gcc-3.4.0 final release. + + * Why experimental? + - Do not interfer with packages currently built from gcc-3.3 sources, + i.e. libgcc1, libobjc1, libffi2, libffi2-dev, libg2c0. + - Biarch sparc compiler doesn't built yet. + - Use of configure flags affecting binary ABI's not yet determined. + - Several ABI bugs have been fixed. Unfortunately, these changes will break + binary compatibility with earlier releases on several architectures: + alpha, mips, sparc, + - hppa and m68k changed sjlj based exception handling to dwarf2 based + exception handling. + + See NEWS.html or http://gcc.gnu.org/gcc-3.4/changes.html for more + specific information. + + -- Matthias Klose Tue, 20 Apr 2004 20:54:56 +0200 + +gcc-3.4 (3.4ds3-0pre4) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040403. + * Add gpc tarball, gpc patches for 3.4 (Waldek Hebisch). + * Reenable sparc-biarch patches (closes: #239856). + * Build the shared libgnat library, needed to fix FTBFS for some + Ada library packages (Ludovic Brenta). + Currently enabled for hppa, i386, ia64. + + -- Matthias Klose Sat, 3 Apr 2004 08:47:55 +0200 + +gcc-3.4 (3.4ds1-0pre2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040320. + * For libstdc++6-doc, add a conflict to libstdc++5-3.3-doc (closes: #236560). + * For libstdc++6-dbg, add a conflict to libstdc++5-3.3-dbg (closes: #236798). + * Reenable s390-biarch patches. + * Update the cross compiler build files (Nikita V. Youshchenko). + + -- Matthias Klose Sat, 20 Mar 2004 09:15:10 +0100 + +gcc-3.4 (3.4ds0-0pre1) experimental; urgency=low + + * Start gcc-3.4 packaging, get rid of the epoch for most of the + packages. + + -- Matthias Klose Sun, 22 Feb 2004 16:00:03 +0100 + +gcc-3.3 (1:3.3.3ds6-6) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040401. + - Fixed ICE in emit_move_insn_1 on legal code (closed: #223215). + - Fix PR 14755, miscompilation of loops with bitfield counter. + Closes: #241255. + - Fix PR 16040, crash in function initializing const data with + reinterpret_cast-ed pointer-to-member function crashes (closes: #238621). + - Remove patches integrated upstream. + * Reenable build of gpidump on powerpc and s390. + + -- Matthias Klose Thu, 1 Apr 2004 23:51:54 +0200 + +gcc-3.3 (1:3.3.3ds6-5) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040321. + - Fix PR target/13889 (ICE on valid code on m68k). + * Fix FTFBS on s390. Do not build gpc's gpidump on s390. + * Reenable gpc on arm. + + -- Matthias Klose Mon, 22 Mar 2004 07:37:26 +0100 + +gcc-3.3 (1:3.3.3ds6-4) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040320. + - Revert patch for PR14640 (with this, at least mozilla-firefox was + miscompiled on x86 (closes: #238621). + * Update the gpc tarball (there were two releases with the same name ...). + * Reenable gpc on alpha and ia64. + + -- Matthias Klose Sat, 20 Mar 2004 07:39:24 +0100 + +gcc-3.3 (1:3.3.3ds5-3) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040314. + - Fixes miscompilation with -O -funroll-loops on powerpc (closes: #229567). + - Fix ICE in dwarf-2 on code using altivec (closes: #203835). + * Update hurd-changes patch. + * Add libgcj4-dev as a recommendation for gcj (closes: #236547). + * debian/copyright: Added exemption to static linking of libgcc. + + * Phil Blundell: + - debian/patches/arm-ldm.dpatch, debian/patches/arm-gotoff.dpatch: Update. + + -- Matthias Klose Sun, 14 Mar 2004 09:56:06 +0100 + +gcc-3.3 (1:3.3.3ds5-2) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040306. + - Fixes bootstrap comparision error on ia64. + - Allows ghc build with gcc-3.3. + - On amd64, don't imply 3DNow! for -m64 by default. + - Some arm specific changes + - Fix C++/13944: exception in constructor of a class to be thrown is not + caught. Closes: #228099. + * Enable the build of gcc-3.3-hppa64 on hppa. + Add symlinks for as and ld to point to hppa64-linux-{as,ld}. + * gcj-3.3 depends on g++-3.3, recommends gij-3.3. gij-3.3 suggests gcj-3.3. + * Fix libgc2c-pic compatibility links (closes: #234333). + The link will be removed for gcc-3.4. + * g77-3.3: Conflict with other g77-x.y packages. + * Tighten shlibs dependencies to latest released versions. + + * Phil Blundell: + - debian/patches/arm-233633.dpatch: New Fixes problems with half-word + loads on ARMv3 architecture. (Closes: #233633) + - debian/patches/arm-ldm.dpatch: New. Avoids inefficient epilogue for + leaf functions in PIC code on ARM. + + -- Matthias Klose Sat, 6 Mar 2004 10:57:14 +0100 + +gcc-3.3 (1:3.3.3ds5-1) unstable; urgency=medium + + * gcc-3.3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + + -- Matthias Klose Mon, 16 Feb 2004 08:59:52 +0100 + +gcc-3.3 (1:3.3.3ds4-0pre4) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040214 (2nd gcc-3.3.3 prerelease). + * Fix title of libstdc++'s html main index (closes: #196381). + * Move libg2c libraray files out of the gcc specific libdir to /usr/lib. + For g77-3.3 add conflicts to other g77 packages. Closes: #224848. + * Update the stack protector patch to 3.3-7, but don't apply it by default. + Closes: #230338. + * On arm, use arm6 as the cpu default (backport from mainline, PR12527). + * Add libffi and libjava support for hppa (Randolph Chung). Closes: #232615. + + -- Matthias Klose Sat, 14 Feb 2004 09:26:15 +0100 + +gcc-3.3 (1:3.3.3ds3-0pre3) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040125. + - Fixed PR11350, undefined labels with -Os -fPIC (closes: #195911). + - Fixed PR11793, ICE in extract_insn, at recog.c (closes: #203835). + - Fixed PR13544, removed backport for PR12862. + - Integrated backport for PR12441. + * Fixed since 3.3: java: not implemented interface methods of abstract + classes not found (closes: #225438). + * Disable pascal on arm architecture (currently broken). + * Update the build files to build a cross compiler (Nikita V. Youshchenko). + See debian/README.cross in the source package. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (closes: #212912). + (Tyson Whitehead) + + -- Matthias Klose Sun, 25 Jan 2004 17:41:04 +0100 + +gcc-3.3 (1:3.3.3ds2-0pre2) unstable; urgency=medium + + * Update to gcc-3.3.3 CVS 20040110. + - Fixes compilation not terminating at -O1 on hppa (closes: #207516). + * Add backport to fix PR12441 (closes: #224576). + * Revert backport to 3.3 branch to fix PR12862, which introduced another + regression (PR13544). Closes: #225663. + * Tighten dependency of gnat-3.3 on gcc-3.3 (closes: #226273). + * Disable treelang build for cross compiler build. + * Disable pascal on alpha and ia64 architectures (currently broken). + + -- Matthias Klose Sat, 10 Jan 2004 12:33:59 +0100 + +gcc-3.3 (1:3.3.3ds1-0pre1) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031229. + - Fixes bootstrap error on ia64-linux. + - Fix -pthread on mips{,el}-linux (closes: #224875). + - Fix -Wformat for C++ (closes: #217075). + * Backport from mainline: Preserve inline-ness when redeclaring + a function template (closes: #195264). + * Add missing intrinsics headers on ix86 (closes: #224593). + * Fix location of libg2c libdir in libg2c.la file (closes: #224848). + + -- Matthias Klose Mon, 29 Dec 2003 10:36:29 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0.1) unstable; urgency=high + + * NMU + * Fixed mips(el) spec file for -pthread: (Closes: #224875) + * [debian/patches/mips-pthread.dpatch] New. + * [debian/rules.patch] Added it to debian_patches. + + -- J.H.M. Dassen (Ray) Sat, 27 Dec 2003 15:51:47 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031206. + - Fixes ICE in verify_local_live_at_start (hppa). Closes: #201550. + - Fixes miscompilation of linux-2.6/sound/core/oss/rate.c. + Closes: #219949. + * Add missing unwind.h to gcc package (closes: #220846). + * Regenerate control file to fix build dependencies for m68k. + * More gpc only patches to fix test failures on m68k. + * Reenable gpc for the Hurd (closes: #189851). + + -- Matthias Klose Sat, 6 Dec 2003 10:29:07 +0100 + +gcc-3.3 (1:3.3.2ds5-4) unstable; urgency=low + + * Update libffi-dev package description (closes: #219508). + * For gij and libgcj fix dependency on the libstdc++ package, if + the latter isn't installed during the build. + * Apply patch to emit .note.GNU-stack section on linux arches + which by default need executable stack. + * Prefer gnat-3.3 over gnat-3.2 as a build dependency. + * Update the pascal tarball (different version released with the + same name). + * Add pascal patches to address various gpc testsuite failures. + On alpha and ia64, build gpc from the 20030830 version. Reenable + the build on m68k. + Remove the 20030507 gpc version from the tarball. + * Apply patch to build the shared ada libs and link the ada tools + against the shared libs. Not enabled by default, because gnat + and gnatlib are rebuilt during install. (Ludovic Brenta) + + -- Matthias Klose Sun, 9 Nov 2003 22:34:33 +0100 + +gcc-3.3 (1:3.3.2ds4-3) unstable; urgency=low + + * Fix rules to omit inclusion of gnatpsta in mips(el) gnat package. + + -- Matthias Klose Sun, 2 Nov 2003 14:29:59 +0100 + +gcc-3.3 (1:3.3.2ds4-2) unstable; urgency=medium + + * s390-ifcvt patch added. Fixes gcl miscompilation (closes: #217240). + (Gerhard Tonn) + * Fix an infinite loop in g++ compiling lufs, regression from 3.3.1. + * Fix a wrong code generation bug on alpha. + (Falk Hueffner) + * Update NEWS files. + * Add Falk Hueffner to the Debian GCC maintainers. + * Enable ada on mips and mipsel, but don't build the gnatpsta tool. + + -- Matthias Klose Wed, 29 Oct 2003 00:12:37 +0100 + +gcc-3.3 (1:3.3.2ds4-1) unstable; urgency=medium + + * Update to gcc-3.3.2. + * Update NEWS files. + * Miscompilation in the pari package at -O3 fixed (closes: #198172). + * On alpha-linux, revert -mieee as the default (Falk Hueffner). + Reopens: #212912. + * Add ia64-unwind patch (Jeff Bailey). + * Closed reports reported against gcc-2.96 (ia64), fixed at least in gcc-3.3: + - ICE in verify_local_live_at_start, at flow.c:2733 (closes: #135404). + - Compilation failure of stlport (closes: #135224). + - Infinite loop compiling cssc's pfile.cc with -O2 (closes: #115390). + - Added missing some string::compare() members (closes: #141199). + - header declares std::pow (closes: #161853). + - does have at() method (closes: #59776). + - Fixed error in stl_deque.h (closes: #69530). + - Fixed problem with bastring (closes: #75759, #96539). + - bad_alloc and std:: namespace problem (closes: #75120). + - Excessive warnings from headers with -Weffc++ (closes: #76827). + + -- Matthias Klose Fri, 17 Oct 2003 08:07:01 +0200 + +gcc-3.3 (1:3.3.2ds3-0pre5) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20031005. + - Fixes cpp inserting a spurious newline (closes: #210478, #210482). + - Fixes generation of unrecognizable insn compiling kernel source + on alpha (closes: #202762). + - Fixes ICE in add_abstract_origin_attribute (closes: #212406). + - Fixes forward declaration in libstdc++ (closes: #209386). + - Fixes ICE in in extract_insn, at recog.c on alpha (closes: #207564). + * Make libgcj-common architecture all (closes: #211909). + * Build depend on: flex-old | flex (<< 2.5.31). + * Fix spec linking libraries with -pthread on powerpc (closes: #211054). + * debian/patches/arm-gotoff.dpatch: fix two kinds of PIC lossage. + (Phil Blundell) + * debian/patches/arm-common.dpatch: fix excessive alignment of common + blocks causing binutils testsuite failures. + (Phil Blundell) + * Update priorities in debian/control to match the archive. + (Ryan Murray) + * s390-nonlocal-goto patch added. Fixes some pascal testcase failures. + (Gerhard Tonn) + * On alpha-linux, make -mieee default and add -mieee-disable switch + to turn default off (closes: #212912). + (Tyson Whitehead) + * Add gpc upstream patch for memory corruption fix. + + -- Matthias Klose Sun, 5 Oct 2003 19:53:49 +0200 + +gcc-3.3 (1:3.3.2ds2-0pre4) unstable; urgency=low + + * Add gcc-unsharing_lhs patch (closes: #210848) + + -- Ryan Murray Fri, 19 Sep 2003 22:51:19 -0600 + +gcc-3.3 (1:3.3.2ds2-0pre3) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030908. + * PR11716 (Michael Eager, Dan Jacobowitz): + Make GCC think that the maximum length of a short branch is + 64K instead of 128K. It's a big hammer, but it works. + Closes: #207915. + * Downgrade gpc to 20030507 on alpha and ia64 (closes: #208717). + + -- Matthias Klose Mon, 8 Sep 2003 21:49:52 +0200 + +gcc-3.3 (1:3.3.2ds1-0pre2) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030831. + - Fix java NullPointerException detection with 2.6 kernels. + Closes: #206377. + - Fix bug in C++ typedef handling (closes: #205402). + - Fix -Wunreachable-code giving false complaints (closes: #196600). + * Update to gpc-20030830. + * Don't include /usr/share/java/repository into the class path according + to the new version of th Debian Java policy (closes: #205643). + * Build-Depend/Depend on libgc-dev. + + -- Matthias Klose Sun, 31 Aug 2003 08:56:53 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre1) unstable; urgency=low + + * Remove the build dependency on locales for now. + + -- Matthias Klose Fri, 15 Aug 2003 07:48:18 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.2 CVS 20030812. + - Fixes generation of wrong code for XDM-AUTHORIZATION-1 key generation + and/or validation. Closes: #196090. + * Update NEWS files. + * Change ix86 default CPU type for code generation: + - i386-linux -> i486-linux + - i386-gnu -> i586-gnu + - i386-freebsd-gnu -> i486-freebsd-gnu + Use -march=i386 to target i386 CPUs. + + -- Matthias Klose Tue, 12 Aug 2003 10:31:28 +0200 + +gcc-3.3 (1:3.3.1ds3-1) unstable; urgency=low + + * gcc-3.3.1 (taken from CVS 20030805). + - C++: Fix declaration conflicts (closes: #203351). + - Fix ICE on ia64 (closes: #203840). + + -- Matthias Klose Tue, 5 Aug 2003 20:38:02 +0200 + +gcc-3.3 (1:3.3.1ds2-0rc2) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030728. + - Fix ICE in extract_insn, at recog.c:2148 on m68k. + Closes: #177840, #180375, #190818. + - Fix ICE while building libquicktime on alpha (closes: #192576). + - Fix failure to deal with using and private inheritance (closes: #202696). + * On sparc, /usr/lib was added to the library search path. Fix it. + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Fix error building the gcl package on arm (closes: #199835). + + -- Matthias Klose Mon, 28 Jul 2003 20:39:07 +0200 + +gcc-3.3 (1:3.3.1ds1-0rc1) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030722 (3.3.1 release candidate 1). + - Fix ICE in copy_to_mode_reg on 64-bit targets (closes: #189365). + - Remove documentation about multi-line strings (closes: #194391). + - Correctly document -falign-* parameters (closes: #198269). + - out-of-class specialization of a private nested template class. + Closes: #193830. + - Tighten shlibs dependency due to new symbols in libgcc. + * README.Debian for libg2c0, describing the need for g77-x.y when + working with the g2c header and library (closes: #189059). + * Call make with -j, if USE_NJOBS is set and non-empty + in the environment. + * Add another two m68k patches, partly replacing the workarounds provided + by Roman Zippel. + * Add the stack protector patch, but don't apply it by default. Edit + debian/rules.patch to apply it (closes: #171699, #189494). + * Remove wrong symlinks from gnat package (closes: #201882). + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - SMP kernel compilation on alpha (closes: #134197, #146883). + - ICE on arm while building imagemagick (closes: #173475). + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Miscompilation of octave2.1 on hppa (closes: #192296, #193804). + + -- Matthias Klose Sun, 13 Jul 2003 10:26:30 +0200 + +gcc-3.3 (1:3.3.1ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.1 CVS 20030626. + - Fix ICE on arm compiling xfree86 (closes: #195424). + - Fix ICE on arm compiling fftw (closes: #186185). + - Fix ICE on arm in change_address_1, affecting a few packages. + Closes: #197099. + - Fix ICE in merge_assigned_reloads building Linux 2.4.2x sched.c. + Closes: #195237. + - Do not warn about failing to inline functions declared in system headers. + Closes: #193049. + - Fix ICE on mips{,el} in propagate_one_insn (closes: #194330, #196091). + - Fix ICE on m68k in reg_overlap_mentioned_p (closes: #194749). + - Build crtbeginT.o on m68k (closes: #197613). + * Fix g++ man page symlink (closes: #196271). + * mips/mipsel: Depend on binutils (>= 2.14.90.0.4). Closes: #196744. + * Disable treelang on powerpc (again). Closes: #196915. + * Pass -encoding in gcj-wrapper. + + -- Matthias Klose Fri, 27 Jun 2003 00:14:43 +0200 + +gcc-3.3 (1:3.3ds9-3) unstable; urgency=low + + * Closing more reports, fixed in 3.2/3.3: + - ICE building texmacs on m68k (closes: #177433). + - libstdc++: doesn't define trunc(...) (closes: #105285). + - libstdc++: setw is ignored for strings output (closes: #52382, #76645). + * Add build support to omit the manual pages and info docs from the + packages, disabled by default. Wait for a Debian statement, which can + be cited. Adresses: #193787. + * Reenable the m68k-const patch, don't run the g77 testsuite on m68k. + Addresses ICEs (#177840, #190818). + * Update arm-xscale patch. + * libstdc++: use __attribute__(__unknown__), instead of (unknown). + Closes: #195796. + * Build-Depend on glibc (>= 2.3.1) to prevent incorrect builds on woody. + Request from Adrian Bunk. + * Add treelang-update patch (Tim Josling), reenable treelang on powerpc. + * Add -{cpp,gcc,g++,gcj,g77} symlinks (addresses: #189466). + * Make sure not to build using binutils-2.14.90.0.[12]. + + -- Matthias Klose Mon, 2 Jun 2003 22:35:45 +0200 + +gcc-3.3 (1:3.3ds9-2) unstable; urgency=medium + + * Correct autoconf-related snafu in newly added ARM patches (Phil Blundell). + * Correct libgcc1 dependency (closes: #193689). + * Work around ldd/dpkg-shlibs failure on s390x. + + -- Matthias Klose Sun, 18 May 2003 09:40:15 +0200 + +gcc-3.3 (1:3.3ds9-1) unstable; urgency=low + + * gcc-3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + * First merge of i386/x86-64 biarch support (Arnd Bergmann). + Disabled by default. Closes: #190066. + * New gpc-20030507 version. + * Upstream gpc update to fix netbsd build failure (closes: #191407). + * Add arm-xscale.dpatch, arm-10730.dpatch, arm-tune.dpatch, copied + from gcc-3.2 (Phil Blundell). + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.1.x, gcc-3.2.x and fixed in gcc-3.3: + - General: + + GCC accepts multi-line strings without \ or " " &c (closes: #2910). + + -print-file-name sometimes fails (closes: #161615). + + ICE: reporting routines re-entered (closes: #179597, #180937). + + Misplaced paragraph in gcc documentation (closes: #179363). + + Error: suffix or operands invalid for `div' (closes: #150558). + + builtin memcmp() could be optimised (closes: #85535). + - Ada: + + Preelaborate, exceptions, and -gnatN (closes: #181679). + - C: + + Duplicate loop conditions even with -Os (closes: #94701). + + ICE (signal 11) (closes: #65686). + - C++: + + C++ error on virtual function which uses ... (closes: #165829). + + ICE when warning about cleanup nastiness in switch statements + (closes: #184108). + + Fails to compile virtual inheritance with variable number of + argument method (closes: #151357). + + xmmintrin.h broken for c++ (closes: #168310). + + Stack corruption with variable-length automatic arrays and virtual + destructors (closes: #188527). + + ICE on illegal code (closes: #184862). + + _attribute__((unused)) is ignored in C++ (closes: #45440). + + g++ handles &(void *)foo bizzarely (closes: #79225). + + ICE (with wrong code, though) (closes: #81122). + - Java: + + Broken zip file handling (closes: #180567). + - ObjC: + + @protocol forward definitions do not work (closes: #80468). + - Architecture specific: + - alpha + + va_start is off by one (closes: #186139). + + ICE while building kseg/ddd (closes: #184753). + + g++ -O2 optimization error (closes: #70743). + - arm + + ICE with -O2 in change_address_1 (closes: #180750). + + gcc optimization error with -O2, affecting bison (closes: #185903). + - hppa + + ICE in insn_default_length (closes: #186447). + - ia64 + + gcc-3.2 fails w/ optimization (closes: #178830). + - i386 + + unnecessary generation of instruction cwtl (closes: #95318). + + {athlon} ICE building mplayer (closes: #184800). + + {pentium4} ICE while compiling mozilla with -march=pentium4 + (closes: #187910). + + i386 optimisation: joining tests (closes: #105309). + - m68k + + ICE in instantiate_virtual_regs_1 (closes: #180493). + + gcc optimizer bug on m68k (closes: #64832). + - powerpc + + ICE in extract_insn, at recog.c:2175 building php3 (closes: #186299). + + ICE with -O -Wunreachable-code (closes: #189702). + - s390 + + Operand out of range at assembly time when using -O2 + (closes: #178596). + - sparc + + gcc-3.2 regression (wrong code) (closes: #176387). + + ICE in mem_loc_descriptor when optimizing (closes: #178909). + + ICE in gen_reg_rtx when optimizing (closes: #178965). + + Optimisation leads to unaligned access in memcpy (closes: #136659). + + * Closed reports reported against gcc-3.0 and fixed in gcc-3.2.x: + - General: + + Use mkstemp instead of mktemp (closed: #127802). + - Preprocessor: + + Fix redundant error message from cpp (closed: #100722). + - C: + + Optimization issue on ix86 (pointless moving) (closed: #97904). + + Miscompilation of allegro on ix86 (closed: #105741). + + Fix generation of ..ng references for static aliases (alpha-linux). + (closed: #108036). + + ICE compiling pari on hppa (closed: #111613). + + ICE on ia64 in instantiate_virtual_regs_1 (closed: #121668). + + ICE in c-typeck.c (closed: #123687). + + ICE in gen_subprogram_die on alpha (closed: #127890). + + SEGV in initialization of flexible char array member (closed: #131399). + + ICE on arm compiling lapack (closed: #135967). + + ICE in incomplete_type_error (closed: #140606). + + Fix -Wswitch (also part of -Wall) (closed: #140995). + + Wrong code in mke2fs on hppa (closed: #150232). + + sin(a) * sin(b) gives wrong result (closed: #164135). + - C++: + + Error in std library headers on arm (closed: #107633). + + ICE nr. 19970302 (closed: #119635). + + std::wcout does not perform encoding conversions (closed: #128026). + + SEGV, when compiling iostream.h with -fPIC (closed: #134315). + + Fixed segmentation fault in included code for (closed: #137017). + + Fix with exception handling and -O (closed: #144232). + + Fix octave-2.1 build failure on ia64 (closed: #144584). + + nonstandard overloads in num_get facet (closed: #155900). + + ICE in expand_end_loop with -O (closed: #158371). + - Fortran: + + Fix blas build failure on arm (closed: #137959). + - Java: + + Interface members are public by default (closed: #94974). + + Strange message with -fno-bounds-check in combination with -W. + (closed: #102353). + + Crash in FileWriter using IOException (closed: #116128). + + Fix ObjectInputStream.readObject() calling constructors. + (closed: #121636). + + gij: better error reporting on `class not found' (closed: #125649). + + Lockup during .java->.class compilation (closed: #141899). + + Compile breaks using temporary inner class instance (closed: #141900). + + Default constructor for inner class causes broken bytecode. + (closed: #141902). + + gij-3.2 linked against libgcc1 (closed: #165180). + + gij-wrapper understands -classpath parameter (closed: #146634). + + gij-3.2 doesn't ignore -jar when run as "java" (closed: #167673). + - ObjC: + + ICE on alpha (closed: #172353). + + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - General: + + Undocumented option -pthread (closes: #165110). + + stdbool.h broken (closes: #167439). + + regparm/profiling breakage (closes: #20695). + + another gcc optimization error (closes: #51456). + + ICE in `output_fix_trunc' (closes: #55967). + + Fix "Unable to generate reloads for" (closes: #58219, #131890). + + gcc -c -MD x/y.c -o x/y.o leaves y.d in cwd (closes: #59232). + + Compiler error with -O2 (closes: #67631). + + ICE (unrecognizable insn) compiling php4 (closes: #83550, #84969). + + Another ICE (closes: #90666). + + man versus info inconsistency (-W and -Wall) (closes: #93708). + + ICE on invalid extended asm (closes: #136630). + + ICE in `emit_no_conflict_block' compiling perl (closes: #154599). + + ICE in `gen_tagged_type_instantiation_die'(closes: #166766). + + ICE on __builtin_memset(s, 0, -1) (closes: #170994). + + -Q option to gcc appears twice in the documentation (closes: #137382). + + New options for specifying targets:- -MQ and -MT (closes: #27878). + + Configure using --enable-nls (closes: #51651). + + gcc -dumpspecs undocumented (closes: #65406). + - Preprocessor: + + cpp fails to parse macros with varargs correctly(closes: #154767). + + __VA_ARGS__ stringification crashes preprocessor if __VA_ARGS__ is + empty (closes: #152709). + + gcc doesn't handle empty args in macro function if there is only + one arg(closes: #156450). + - C: + + Uncaught floating point exception causes ICE (closes: #33786). + + gcc -fpack-struct doesn't pack structs (closes: #64628). + + ICE in kernel (matroxfb) code (closes: #151196). + + gcc doesn't warn about unreachable code (closes: #158704). + + Fix docs for __builtin_return_address(closes: #165992). + + C99 symbols in limits.h not defined (closes: #168346). + + %zd printf spec generates warning, even in c9x mode (closes: #94891). + + Update GCC attribute syntax (closes: #12253, #43119). + - C++ & libstdc++-v3: + + template and virtual inheritance bug (closes: #152315). + + g++ has some troubles with nested templates (closes: #21255). + + vtable thunks implementation is broken (closes: #34876, #35477). + + ICE for templated friend (closes: #42662). + + ICE compiling mnemonic (closes: #42989). + + Deprecated: result naming doesn't work for functions defined in a + class (closes: #43170). + + volatile undefined ... (closes: #50529). + + ICE concerning templates (closes: #53698). + + Program compiled -O3 -malign-double segfaults in ofstream::~ofstream + (closes: #56867). + + __attribute__ ((constructor)) doesn't work with C++ (closes: #61806). + + Another ICE (closes: #65687). + + ICE in `const_hash' (closes: #72933). + + ICE on illegal code (closes: #83221). + + Wrong code with -O2 (closes: #83363). + + ICE on template class (closes: #85934). + + No warning for missing return in non-void member func (closes: #88260). + + Not a bug/fixed in libgcc1: libgcc.a symbols end up exported by + shared libraries (closes: #118670). + + ICE using nested templates (closes: #118781). + + Another ICE with templates (closes: #127489). + + More ICEs (closes: #140427, #141797). + + ICE when template declared after use(closes: #148603). + + template function default arguments are not handled (closes: #157292). + + Warning when including stl.h (closes: #162074). + + g++ -pedantic-errors -D_GNU_SOURCE cannot #include + (closes: #151671). + + c++ error message improvement suggestion (closes: #46181). + + Compilation error in stl_alloc.h with -fhonor-std (closes: #59005). + + libstdc++ has no method at() in stl_= (closes: #68963). + - Fortran: + + g77 crash (closes: #130415). + - ObjC: + + ICE: program cc1obj got fatal signal 11 (closes: #62309). + + Interface to garbage collector is undocumented. (closes: #68987). + - Architecture specific: + - alpha + + Can't compile with define gnu_source with stdio and curses + (closes: #97603). + + Header conflicts on alpha (closes: #134558). + + lapack-dev: cannot link on alpha (closes: #144602). + + ICE `fixup_var_refs_1' (closes: #43001). + + Mutt segv on viewing list of attachments (closes: #47981). + + ICE building open-amulet (closes: #48530). + + ICE compiling hatman (closes: #55291). + + dead code removal in switch() broken (closes: #142844). + - arm + + Miscompilation using -fPIC on arm (closes: #90363). + + infinite loop with -O on arm (closes: #151675). + - i386 + + ICE when using -mno-ieee-fp and -march=i686 (closes: #87540). + - m68k + + Optimization (-O2) broken on m68k (closes: #146006). + - mips + + g++ exception catching does not work... (closes: #105569). + + update-menus gets Bus Error (closes: #120333). + - mipsel + + aspell: triggers ICE on mipsel (closes: #128367). + - powerpc + + -O2 produces wrong code (gnuchess example) (closes: #131454). + - sparc + + Misleading documentation for -malign-{jump,loop,function}s + (closes: #114029). + + Sparc GCC issue with -mcpu=ultrasparc (closes: #172956). + + flightgear: build failure on sparc (closes: #88694). + + -- Matthias Klose Fri, 16 May 2003 07:13:57 +0200 + +gcc-3.3 (1:3.3ds8-0pre9) unstable; urgency=high + + * gcc-3.3 second prerelease. + - Fixing exception handling on s390 (urgency high). + * Reenabled gpc build (I had it disabled ...). Closes: #192347. + + -- Matthias Klose Fri, 9 May 2003 07:32:14 +0200 + +gcc-3.3 (1:3.3ds8-0pre8) unstable; urgency=low + + * gcc-3.3 prerelease. + - Fixes gcj ICE (closes: #189545). + * For libstdc++ use the i486 atomicity implementation, introduced with + 0pre6, left out in 0pre7 (closes: #191684). + * Add README.Debian for treelang (closes: #190812). + * Apply NetBSD changes (Joel Baker). Closes: #191551. + * New symbols in libgcc1, tighten the shlibs dependency. + * Disable testsuite run on mips/mipsel because of an outdated libc-dev + package. + * Do not build libffi with debug information, although configuring + with --enable-debug. + + -- Matthias Klose Tue, 6 May 2003 06:53:49 +0200 + +gcc-3.3 (1:3.3ds7-0pre7) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030429). + * Revert upstream libstdc++ change (closes: #191145, #191147, #191148, + #191149, #149159, #149151, and other reports). + Sorry for not detecting this before the upload, seems to be + broken on i386 "only". + * hurd-i386: Use /usr/include, not /include. + * Disable gpc on hurd-i386 (closes: #189851). + * Disable building the debug version of libstdc++ on powerpc-linux + (fixes about 200 java test cases). + * Install libstdc++v3 man pages (closes: #127263). + + -- Matthias Klose Tue, 29 Apr 2003 23:28:44 +0200 + +gcc-3.3 (1:3.3ds6-0pre6) unstable; urgency=high + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030426). + * libstdc++-doc: Fix index.html link (closes: #189424). + * Revert back to the i486 atomicity implementation, that was used + for gcc-3.2 as well. Reopens: #184446, #185662. Closes: #189983. + For this reason, tighten the libstdc++5 shlibs dependency. See + http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01895.html + Don't build the ix86 specfic libstdc++ libs anymore. + + -- Matthias Klose Sun, 27 Apr 2003 19:47:54 +0200 + +gcc-3.3 (1:3.3ds5-0pre5) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030415). + * Disable treelang on powerpc. + * Disable gpc on m68k. + * Install locale data. Conflict with gcc-3.2 (<= 1:3.2.3-0pre8). + * Fix generated bits/atomicity.h (closes: #189183). + * Tighten libgcc1 shlibs dependency (new symbol _Unwind_Backtrace). + + -- Matthias Klose Wed, 16 Apr 2003 00:37:05 +0200 + +gcc-3.3 (1:3.3ds4-0pre4) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030412). + * Avoid sparc64 dependencies for libgcc1 on sparc (Clint Adams). + * Make the default sparc 32bit target v8 instead of v7. This mainly + enables hardmul, which should speed up v8 and v9 systems by a large + margin (Ben Collins). + * Tighten binutils dependency for sparc. + * On i386, build libstdc++ optimized for i486 and above. The library + in /usr/lib is built for i386. Closes: #184446, #185662. + * Add gpc build (from gcc-snapshot package). + * debian/control: Include all packages, that _can_ be built from + this source package (except the cross packages). + * Add m68k patches: m68k-const, m68k-subreg, m68k-loop. + * Run the 3.3 testsuite a second time with the installed gcc-3.2 + to check for regressions (promised, only this time, and for the + final release ;). Add build dependencies (gobjc-3.2, g77-3.2, g++-3.2). + + -- Matthias Klose Sat, 12 Apr 2003 10:11:11 +0200 + +gcc-3.3 (1:3.3ds3-0pre3) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030331). + * Reenable java on arm. + * Build-Depend on binutils-2.13.90.0.18-1.3 on m68k. Fixes all + bprob/gcov testsuite failures. + * Enable C++ build on arm. + * Enable the sparc64 build. + + -- Matthias Klose Mon, 31 Mar 2003 23:24:54 +0200 + +gcc-3.3 (1:3.3ds2-0pre2) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030317). + * Disable building the gcc-3.3-nof package. + * Disable Ada on mips and mipsel. + * Remove the workaround to build Ada on powerpc. + * Add GNU Free documentation license to copyright file. + * Update the sparc64 build patches (Clint Adams). Not yet enabled. + * Disable C++ on arm (Not yet tested). + * Add fix for ICE on powerpc (see: #184684). + + -- Matthias Klose Sun, 16 Mar 2003 21:40:57 +0100 + +gcc-3.3 (1:3.3ds1-0pre1) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030310). + * Add gccbug manpage. + * Don't build libgnat package (no shared library). + * Configure with --enable-sjlj-exceptions on hppa and m68k for + binary compatibility with libstdc++ built with gcc-3.2. + * Disable Java on arm-linux (never seen it sucessfully bootstrap). + * Install non-conflicting baseline README. + * multilib *.so and *.a moved to /usr/lib/gcc-lib/... , so that several + compiler versions can be installed concurrently. + * Remove libstdc++-incdir patch applied upstream. + * libstdc++ 64 bit development files now handled in -dev target. + (Gerhard Tonn) + * Drop build dependencies for gpc (tetex-bin, help2man, libncurses5-dev). + * Add libstdc++5-3.3-dev confict to libstdc++5-dev (<= 1:3.2.3-0pre3). + * Enable builds on m68k (all but C++ for the moment). gcc-3.3 bootstraps, + while gcc-3.2 doesn't. + + -- Matthias Klose Mon, 10 Mar 2003 23:41:00 +0100 + +gcc-3.3 (1:3.3ds0-0pre0) unstable; urgency=low + + * First gcc-3.3 package, built for s390 only. All other architectures + build the gcc-3.3-base package only. + To build the package on other architectures, edit debian/rules.defs + (macro no_dummy_archs). + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030301). + * Don't include the gcc locale files (would conflict with 3.2). + * Remove libffi-install-fix patch. + * Fix netbsd-i386 patches. + * Change priority of libstdc++5 and gcc-3.2-base to important. + * Install gcjh-wrapper for javah. + * gij suggests fastjar, gcj recommends fastjar. + * Allow builds using automake1.4 | automake (<< 1.5). + * Backport fix for to output more correct line numbers. + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Apply cross compilation patches submitted by Bastian Blank. + * Replace s390-biarch patch and copy s390-config-ml patch from 3.2 + (Gerhard Tonn). + * Configure using --enable-debug. + * Add infrastructure to only build a subset of binary packages. + * Rename libstdc++-{dev,dbg,pic,doc} packages. + * Build treelang compiler. + + -- Matthias Klose Sat, 1 Mar 2003 12:56:42 +0100 + +gcc-3.2 (1:3.2.3ds2-0pre3) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030228) + - Fixes bootstrap failure on alpha-linux. + - Fixes ICE on m68k (closes: #177016). + * Build Pascal with -O1 on powerpc, disable Pascal on arm, m68k and + sparc (due to wrong code generation for fwrite in glibc, + see PR optimization/9279). + * Apply cross compilation patches submitted by Bastian Blank. + + -- Matthias Klose Fri, 28 Feb 2003 20:26:30 +0100 + +gcc-3.2 (1:3.2.3ds1-0pre2) unstable; urgency=medium + + * gcc-3.2.3 prerelease (CVS 20030221) + - Fixes ICE on hppa (closes: #181813). + * Patch for ffitest in s390-java.dpatch deleted, since already fixed + upstream. (Gerhard Tonn) + * Build crtbeginT.o on m68k-linux (closes: #179807). + * Install gcjh-wrapper for javah (closes: #180218). + * gij suggests fastjar, gcj recommends fastjar (closes: #179298). + * Allow builds using automake1.4 | automake (<< 1.5) (closes: #180048). + * Backport fix for to output more correct line numbers (closes: #153965). + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Disable gpc on arm due to wrong code generation for fwrite in + glibc (see PR optimization/9279). + + -- Matthias Klose Sat, 22 Feb 2003 19:58:20 +0100 + +gcc-3.2 (1:3.2.3ds0-0pre1) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030210) + - Fixes long millicode calls on hppa (closes: #180520) + * New gpc-20030209 version. Remove gpc-update.dpatch and gpc-testsuite.dptch + as they are no longer needed. + * Fix netbsd-i386 patches (closes: #180129, #179931) + * m68k-bootstrap.dpatch: backport gcse.c changes from 3.3/MAIN to 3.2 + * Change priority of libstdc++5 and gcc-3.2-base to important. + + -- Ryan Murray Tue, 11 Feb 2003 06:18:09 -0700 + +gcc-3.2 (1:3.2.2ds8-1) unstable; urgency=low + + * gcc-3.2.2 release. + - Fixes ICE, regression from 2.95 (closes: #176117). + - Fixes ICE, regression from 2.95 (closes: #179161). + * libstdc++ for biarch installs now upstream to usr/lib64, + therefore mv usr/lib/64 usr/lib64 no longer necessary. (Gerhard Tonn) + + -- Ryan Murray Wed, 5 Feb 2003 01:35:29 -0700 + +gcc-3.2 (1:3.2.2ds7-0pre8) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030130). + * update s390 libffi patch + * debian/control: add myself to uploaders and change libc12-dev depends to + libc-dev on i386 (closes: #179128) + * Build-Depend on procps so that ps is available for logwatch + + -- Ryan Murray Fri, 31 Jan 2003 04:00:15 -0700 + +gcc-3.2 (1:3.2.2ds6-0pre7) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030128). + - Update needed for hppa. + - Fixes ICE on arm, regression from 2.95.x (closes: #168086). + - Can use default bison (1.875). + * Apply netbsd build patches (closes: #177674, #178328, #178325, + #178326, #178327). + * Run the logwatch script on "slow" architectures (arm, m68k) only. + * autoreconf.dpatch: Only update libtool.m4, which is newer conceptually + than libtool 1.4 (Ryan Murray). + * Apply autoreconf patch universally (Ryan Murray). + * More robust gij/gcj wrapper scripts, include /usr/lib/jni in default + JNI search path (Ben Burton). Closes: #167932. + * Build crtbeginT.o on m68k (closes: #177036). + * Fixed libc-dev source dependency (closes: #178602). + * Tighten shlib dependency to the current package version; should be + 1:3.2.2-1 for the final release (closes: #178867). + + -- Matthias Klose Tue, 28 Jan 2003 21:59:30 +0100 + +gcc-3.2 (1:3.2.2ds5-0pre6) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20030123). + * Build locales needed by the libstdc++ testsuite. + * Update config.{guess,sub} files from autotools-dev (closes: #177674). + * Disable Ada and Java on netbsd-i386 (closes: #177679). + * gnat: Add suggests for gnat-doc and ada-reference-manual. + + -- Matthias Klose Thu, 23 Jan 2003 22:16:53 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre5.1) unstable; urgency=low + + * Readd build dependency `locales' on arm. locales is now installable + * Add autoreconf patch for mips{,el}. (closes: #176311) + + -- Ryan Murray Wed, 22 Jan 2003 14:31:14 -0800 + +gcc-3.2 (1:3.2.2ds4-0pre5) unstable; urgency=low + + * Remove build dependency `libc6-dev-sparc64 [sparc]' for now. + * Remove build dependency `locales' on arm. locales is uninstallable + on arm due to the missing glibc-2.3. + * Use bison-1.35. bison-1.875 causes an hard error on the reduce/reduce + conflict in objc-parse.y. + + -- Matthias Klose Fri, 10 Jan 2003 10:10:43 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre4) unstable; urgency=low + + * Try building with gcc-2.95 on m68k-linux. Building gcc-3.2 with gcc-3.2 + does not work for me. m68k-linux doesn't look good at all ... + * Fix s390 build error. + * Add locales to build dependencies. A still unsolved issue is the + presence of the locales de_DE, en_PH, en_US, es_MX, fr_FR and it_IT, + or else some tests in the libstdc++ testsuite will fail. + * Put all -nof files in the -nof package (closes: #175253). + * Correctly exit logwatch script (closes: #175251). + * Install linker-map.gnu file for libstdc++_pic (closes: #175144). + * Install versioned gpcs docs only (closes: #173844). + * Include gpc test results in gpc package. + * Link local libstdc++ documentation to local source-level documentation. + * Clarify libstdc++ description (so version and library version). + Closes: #175799. + * Include library in libstdc++-dbg package (closes: #176005). + + -- Matthias Klose Wed, 8 Jan 2003 23:39:50 +0100 + +gcc-3.2 (1:3.2.2ds3-0pre3) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021231). + - Fix loop count computation for preconditioned unrolled loops. + Closes: #162919. + - Fix xmmintrin.h (_MM_TRANSPOSE4_PS) CVS 20021027 (closes: #163647). + - Fix [PR 8601] strlen/template interaction causes ICE CVS 20021201. + Closes: #166143. + * Watch the log files, which are written during the testsuite runs and print + out a message, if there is still activity. No more buildd timeouts on arm + and m68k ... + * Remove gpc's reference to librx1g-dev package (closes: #172953). + * Remove trailing dots on package descriptions. + * Fix external reference to cpp.info in gcc.info (closes: #174598). + + -- Matthias Klose Tue, 31 Dec 2002 13:47:52 +0100 + +gcc-3.2 (1:3.2.2ds2-0pre2) unstable; urgency=medium + + * Friday, 13th upload, so what do you expect ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021212). + * Fix gnat build (autobuild maintainers: please revert back to gnat-3.2 + (<= 1:3.2.1ds6-1) for building gnat-3.2, if the build fails building + gnatlib and gnattools). + * Really disable sparc64 support. + + -- Matthias Klose Fri, 13 Dec 2002 00:26:37 +0100 + +gcc-3.2 (1:3.2.2ds1-0pre1) unstable; urgency=low + + * A candidate for the transition ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021210). + - doc/invoke.texi: Remove last reference to -a (closes: #171748). + * Disable sparc64 support. For now please use egcs64 to build sparc64 + kernels. + * Disable Pascal on the sparc architecture (doesn't bootstrap). + + -- Matthias Klose Tue, 10 Dec 2002 22:33:13 +0100 + +gcc-3.2 (1:3.2.2ds0-0pre0) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021202). + - Should fix _Pragma expansion within macros (closes: #157416). + * New gpc-20021128 version. Run check using EXTRA_TEST_PFLAGS=-g0 + * Add tetex-bin to build dependencies (gpc needs it). Closes: #171203. + + -- Matthias Klose Tue, 3 Dec 2002 08:22:33 +0100 + +gcc-3.2 (1:3.2.1ds6-1) unstable; urgency=low + + * gcc-3.2.1 final release. + * Build gpc-20021111 for all architectures. hppa and i386 are + known to work. For the other architectures, send the usual FTBFS ... + WARNING: this gpc version is an alpha version, especially debug info + doesn't work well, so use -g0 for compiling. If you need a stable + gpc compiler, use gpc-2.95. + * Encode the gpc upstream version in the package name, the gpc release + date in the version number (requested by gpc upstream). + * Added libncurses5-dev and libgmp3-dev as build dependencies for the + gpc tests and runtime. + * Clean CVS files as well (closes: #169101). + * s390-biarch.dpatch added, backported from CVS (Gerhard Tonn). + * s390-config-ml.dpatch added, disables biarch for java, + libffi and boehm-gc on s390. They need a 64 bit runtime + during build which is not yet available on s390 (Gerhard Tonn). + * Biarch support for packaging adapted (Gerhard Tonn). + biarch variable added and with-sparc64 variable substituted in + most places by biarch. + dh_shlibdeps is applied only to 32 bit libraries on s390, since + ldd for 64 bit libraries don't work on 32 bit runtime. + Build dependency to libc6-dev-s390x added. + + -- Matthias Klose Wed, 20 Nov 2002 00:20:58 +0100 + +gcc-3.2 (1:3.2.1ds5-0pre6) unstable; urgency=medium + + * gcc-3.2.1 prerelease. + * Removed arm patch integrated upstream. + * Adjust gnat build dependency (closes: #167116). + * Always configure with --enable-clocale=gnu. The autobuilders do have + locales installed, but not generated the "de_DE" locale needed for + the autoconf test in libstdcc++-v3/aclocal.m4. + * libstdc++ documentaion: Don't compresss '*.txt' referenced by html pages. + + -- Matthias Klose Tue, 12 Nov 2002 07:19:44 +0100 + +gcc-3.2 (1:3.2.1ds4-0pre5) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20021103). + * sparc64-build.dpatch: Updated. Lets sparc boostrap again. + * s390-loop.dpatch removed, already fixed upstream (Gerhard Tonn). + * bison.dpatch: Removed, patch submitted upstream. + * backport-java-6865.dpatch: Apply again during build. + * Tighten glibc dependency (closes: #166703). + + -- Matthias Klose Sun, 3 Nov 2002 12:22:02 +0100 + +gcc-3.2 (1:3.2.1ds3-0pre4) unstable; urgency=high + + * gcc-3.2.1 snapshot (CVS 20021020). + - Expansion of _Pragma within macros fixed (closes: #157416). + * FTBFS: With the switch to bison-1.50 (and 1.75), gcc-3.2 fails to build from + source on Debian unstable systems. This is fixed in gcc HEAD, but not on + the current release branch. + HELP NEEDED: + - check what is missing from the patches in debian/patches/bison.dpatch. + This is a backport of the bison related patches, but showing regressions + in the gcc testsuite, so it cannot be applied. + - build gcc using byacc (bootstrap currently fails using byacc). + - build bison-1.35 in it's own package (the current 1.35-3 package fails + to build form source). + - and finally ask upstream to backport the patch to the branch. It's not + helpful not beeing able to follow the stable branch. Maybe we should + just switch to gcc HEAD as BSD does ... + As a terrible workaround, build the sources from CVS first on a machine, + with bison-1.35 installed, then package the tarball, so the bison + generated files are not rebuilt. + + * re-add lost patch: configure with --enable-__cxa_atexit (closes: #163422), + Therefore urgency high. + * gcj-wrapper, gij-wrapper: Accept names starting with `.' (closes: #163172, + #164009). + * Point g++ manpage to correct g++ version (closes: #162843). + * Support for i386-freebsd-gnu (closes: #163883). + * s390-java.dpatch replaced with backport from cvs head (Gerhard Tonn). + * Disable the testsuite run on the Hurd (closes: #159650). + * s390-loop.dpatch added, fixes runtime problem (Gerhard Tonn). + * debian/patches/bison.dpatch: Backport for bison-1.75 compatibility. + Don't use it due to regressions. + * debian/patches/backport-java-6865.dpatch: Directly applied in the + included tarball because of bison problems. + * Make fixincludes priority optional, so linda can depend on it. + * Tighten binutils dependency. + + -- Matthias Klose Sun, 20 Oct 2002 10:52:49 +0200 + +gcc-3.2 (1:3.2.1ds2-0pre3) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020923). + * Run the libstdc++ check-abi script. Results are put into the file + /usr/share/doc/libstdc++5/README.libstdc++-baseline in the libstdc++5-dev + package. This file contains a new baseline, if no baseline for this + architecture is included in the gcc sources. + * gcj-wrapper: Accept files starting with an underscore, accept + path names (closes: #160859, #161517). + * Explicitely call automake-1.4 when rebuilding Makefiles (closes: #161438). + * Let installed fixincludes script find files in /usr/lib/fixincludes. + * debian/rules.patch: Add .NOTPARALLEL as target, so that patches are + applied sequentially (closes: #159395). + + -- Matthias Klose Tue, 24 Sep 2002 07:36:56 +0200 + +gcc-3.2 (1:3.2.1ds1-0pre2) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020913). Welcome back m68k in bootstrap land! + * Fix arm-tune.dpatch (closes: #159354). + * Don't overwrite LD_LIBRARY_PATH in build (closes: #158459). + * --disable-__cxa_atexit on NetBSD (closes: #159620). + * Reenable installation of message catalogs (disabled in 3.2-0pre2). + Closes: #160175. + * Ben Collins + - Re-enable sparc64 build. This time, it's part of the default compiler. + I have disabled 64/alt libraries as they are too much overhead. All + libraries build 64bit, but currently only libgcc/libstdc++ include the + 64bit libraries. + Closes: #160404. + * Depend on autoconf2.13, instead of autoconf. + * Phil Blundell + - debian/patches/arm-update.dpatch: Fix python2.2 build failure. + + -- Matthias Klose Sat, 7 Sep 2002 08:05:02 +0200 + +gcc-3.2 (1:3.2.1ds0-0pre1) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20020829). + New g++ option -Wabi: + Warn when G++ generates code that is probably not compatible with the + vendor-neutral C++ ABI. Although an effort has been made to warn about + all such cases, there are probably some cases that are not warned about, + even though G++ is generating incompatible code. There may also be + cases where warnings are emitted even though the code that is generated + will be compatible. + The current version of the ABI is 102, defined by the __GXX_ABI_VERSION + macro. + * debian/NEWS.*: Updated. + * Fix libstdc++-dev dependency on libc-dev for the Hurd (closes: #157004). + * Add versioned expect build dependency. + * Tighten binutils dependency to 2.13.90.0.4. + * debian/patches/arm-tune.dpatch: Increase stack limit for configure. + * 3.2-0pre4 did build gnat-3.2 compilers for all architectures. Build-Depend + on gnat-3.2 now (closes: #156734). + * Remove bashism's in gcj-wrapper (closes: #157982). + * Add -cp and -classpath options to gij(1). Backport from HEAD (#146634). + * Add fastjar documentation. + + -- Matthias Klose Fri, 30 Aug 2002 10:35:00 +0200 + +gcc-3.2 (1:3.2ds0-0pre4) unstable; urgency=low + + * Correct build dependency on gnat-3.1. + + -- Matthias Klose Mon, 12 Aug 2002 01:21:58 +0200 + +gcc-3.2 (1:3.2ds0-0pre3) unstable; urgency=low + + * gcc-3.2 upstream prerelease. + * Disable all configure options, which are standard: + --enable-threads=posix --enable-long-long, --enable-clocale=gnu + + -- Matthias Klose Fri, 9 Aug 2002 21:59:08 +0200 + +gcc-3.2 (1:3.2ds0-0pre2) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020802). + * Fix g++-include dir. + * Don't install the locale files (temporarily, until we don't build + gcc-3.1 anymore). + * New package libgcj-common to avoid conflict with classpath package. + + -- Matthias Klose Sat, 3 Aug 2002 09:08:34 +0200 + +gcc-3.2 (1:3.2ds0-0pre1) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020729). + + -- Matthias Klose Mon, 29 Jul 2002 20:36:54 +0200 + +gcc-3.1 (1:3.1.1ds3-1) unstable; urgency=low + + * gcc-3.1.1 release. Following this release we will have a gcc-3.2 + release soon, which is gcc-3.1.1 plus some C++ ABI changes. Once + gcc-3.2 hits the archives, gcc-3.1.1 will go away. + * Don't build the sparc64 compiler. The packaging/patches are + currently broken. + * Add missing headers on m68k and powerpc. + * Install libgcc_s_nof on powerpc. + * Install libffi's copyright and doc files (closes: #152198). + * Remove dangling symlink (closes: #149002). + * libgcj3: Add a conflict to the classpath package (closes: #148664). + * README.C++: Fix URLs. + * libstdc++-dbg: Install into /usr/lib/debug, document it. + * backport-java-6865.dpatch: backport from HEAD. + * Fix typo in gcj docs (closes: #148890). + * Change libstdc++ include dir: /usr/include/c++/3.1. + * libstdc++-codecvt.dpatch: New patch (closes: #149776). + * Build libstdc++-pic package. + * Move 64bit libgcc in its own package libgcc1-64 (closes: #147249). + * Tighten glibc dependency. + + -- Matthias Klose Mon, 29 Jul 2002 00:34:49 +0200 + +gcc-3.1 (1:3.1.1ds2-0pre3) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch). + * Updated s390-java patch (Gerhard Tonn). + * Don't use -O in STAGE1_FLAGS on m68k. + * Fix `-classpath' option in gcj-wrapper script (closes: #150142). + * Remove g++-cxa-atexit patch, use --enable-__cxa_atexit configure option. + + -- Matthias Klose Wed, 3 Jul 2002 23:52:58 +0200 + +gcc-3.1 (1:3.1.1ds1-0pre2) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch), fixing an ObjC regression. + * Welcome m68k to bootstrap land (thanks to Andreas Schwab). + * Add javac wrapper for gcj-3.1 (Michael Koch). + * Remove dangling symlink in /usr/share/doc/gcc-3.1 (closes: #149002). + + -- Matthias Klose Fri, 7 Jun 2002 00:26:05 +0200 + +gcc-3.1 (1:3.1.1ds0-0pre1) unstable; urgency=low + + * Updated to CVS 2002-05-31 (gcc-3_1-branch). + * Change priorities from fastjar and gij-wrapper-3.1 from 30 to 31. + * Update arm-tune patch. + * Install xmmintrin.h header on i386 (closes: #148181). + * Install altivec.h header on powerpc. + * Call correct gij in gij-wrapper (closes: #148662, #148682). + + -- Matthias Klose Wed, 29 May 2002 22:47:40 +0200 + +gcc-3.1 (1:3.1ds2-2) unstable; urgency=low + + * Tighten binutils dependency. + * Fix libstdc include dir for multilibs (Dan Jacobowitz). + + -- Matthias Klose Tue, 21 May 2002 08:03:49 +0200 + +gcc-3.1 (1:3.1ds2-1) unstable; urgency=low + + * GCC 3.1 release. + * Ada cannot be built by the autobuilders for the first time. Do it by hand. + gnatgcc and gnatbind need to be in the PATH. + * Build with CC=gnatgcc, when building the Ada compiler. + * Hurd fixes. + * Don't build the sparc64 compiler; the hack isn't up to date and glibc + isn't converted to use /lib64 and /usr/lib64. + * m68k-linux shows bootstrap comparision failures. If you want to build + the compiler anyway and ignore the bootstrap comparision failure, edit + debian/rules.patch and uncomment the patch to ignore the failure. See + /usr/share/doc/gcc-3.1/BOOTSTRAP_COMPARISION_FAILURE for the differences. + + -- Matthias Klose Wed, 15 May 2002 09:53:00 +0200 + +gcc-3.1 (1:3.1ds1-0pre6) unstable; urgency=low + + * Build from the "final prerelease" tarball (gcc-3.1-20020508.tar.gz). + * Build gnat-3.1-doc package. + * Build fastjar package without building java packages. + * Hurd fixes. + * Updated sparc64-build patch. + * Add s390-ada patch (Gerhard Tonn). + * Undo the dwarf2 support for hppa from -0pre5. + + -- Matthias Klose Thu, 9 May 2002 17:21:09 +0200 + +gcc-3.1 (1:3.1ds0-0pre5) unstable; urgency=low + + * Use /usr/include/g++-v3-3.1 as C++ include dir. + * Update s390-java patch (Gerhard Tonn). + * Tighten binutils dependency (gas patch for m68k-linux). + * Use gnat-3.1 as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * dwarf2 support hppa: a snapshot of the gcc/config/pa directory + from the trunk dated 2002-05-02. + + -- Matthias Klose Fri, 3 May 2002 22:51:37 +0200 + +gcc-3.1 (1:3.1ds0-0pre4) unstable; urgency=low + + * Use gnat-5.00w as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * Don't build the shared libgnat library. It assumes an existing shared + libiberty library. + * Don't install the libgcjgc library. + + -- Matthias Klose Thu, 25 Apr 2002 08:48:04 +0200 + +gcc-3.1 (1:3.1ds0-0pre3) unstable; urgency=low + + * Build fastjar on all architectures. + * Update m68k patches. + * Update s390-java patch (Gerhard Tonn). + + -- Matthias Klose Sun, 14 Apr 2002 15:34:47 +0200 + +gcc-3.1 (1:3.1ds0-0pre2) unstable; urgency=low + + * Add Ada support. To successfully build, a working gnatbind and gcc + driver with Ada support is needed. + * Apply needed arm patches from 3.0.4. + + -- Matthias Klose Sat, 6 Apr 2002 13:17:08 +0200 + +gcc-3.1 (1:3.1ds0-0pre1) unstable; urgency=low + + * First try for gcc-3.1. + + -- Matthias Klose Mon, 1 Apr 2002 23:39:30 +0200 + +gcc-3.0 (1:3.0.4ds3-6) unstable; urgency=medium + + * Second try at fixing sparc build problems. + + -- Phil Blundell Sun, 24 Mar 2002 14:49:26 +0000 + +gcc-3.0 (1:3.0.4ds3-5) unstable; urgency=medium + + * Enable java on ARM. + * Create missing directory to fix sparc build. + + -- Phil Blundell Fri, 22 Mar 2002 20:21:59 +0000 + +gcc-3.0 (1:3.0.4ds3-4) unstable; urgency=low + + * Link with system zlib (closes: #136359). + + -- Matthias Klose Tue, 12 Mar 2002 20:47:59 +0100 + +gcc-3.0 (1:3.0.4ds3-3) unstable; urgency=low + + * Build libf2c (pic and non-pic) with -mieee on alpha-linux. + + -- Matthias Klose Sun, 10 Mar 2002 00:37:24 +0100 + +gcc-3.0 (1:3.0.4ds3-2) unstable; urgency=medium + + * Apply hppa-build patch (Randolph Chung). Closes: #136731. + * Make libgcc1 conflict/replace with libgcc1-sparc64. Closes: #135709. + * gij-3.0 provides the `java' command. Closes: #128947. + * Depend on binutils (>= 2.11.93.0.2-2), allows stripping of libgcj.a + again. Closes: #99307. + * Update README.cross pointing to the README of the toolchain-source + package. + + -- Matthias Klose Wed, 6 Mar 2002 21:53:34 +0100 + +gcc-3.0 (1:3.0.4ds3-1) unstable; urgency=low + + * Final gcc-3.0.4 release. + * debian/rules.d/binary-java.mk: Fix dormant typo, exposed by removing the + duplicate libgcj dependency and adding the gij-3.0 package. + Closes: #134005. + * New patch by Phil Blundell to fix scalapack build error on m68k. + + -- Matthias Klose Wed, 20 Feb 2002 23:59:43 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020210) unstable; urgency=low + + * Make the base package dependent on the binary-arch target. Closes: #133433. + * Get libstdc++ on arm woring (define _GNU_SOURCE). Closes: #133435. + + -- Matthias Klose Mon, 11 Feb 2002 20:31:12 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020209) unstable; urgency=high + + * Update to CVS sources (20020209 gcc-3_0-branch). + * Apply patch to fix bootstrap error on arm-linux (submitted upstream + by Phil Blundell). Closes: #130422. + * Make base package architecture any. + * Decouple versioned shlib dependencies from release number for + libobjc as well. + + -- Matthias Klose Sat, 9 Feb 2002 01:30:11 +0100 + +gcc-3.0 (1:3.0.4ds1-0pre020203) unstable; urgency=medium + + * One release critical bug outstanding: + - bootstrap error on arm. + * Update to CVS sources (20020203 gcc-3_0-branch). + * Fixed upstream: PR c/3504: Correct documentation of __alignof__. + Closes: #85445. + * Remove libgcc-powerpc patch, integrated upstream (closes: #131977). + * Tighten binutils build dependency (to address #126162). + * Move jv-convert to gcj package (closes: #131985). + + -- Matthias Klose Sun, 3 Feb 2002 14:47:14 +0100 + +gcc-3.0 (1:3.0.4ds0-0pre020127) unstable; urgency=low + + * Two release critical bugs outstanding: + - bootstrap error on arm. + - bus errors for C++ and java executables on sparc (see the testsuite + results). + * Update to CVS sources (20020125 gcc-3_0-branch). + * Enable java support for s390 architecture (patch from Gerhard Tonn). + * Updated NEWS file for 3.0.3. + * Disable building the gcc-sparc64, but build a multilibbed compiler + for sparc as the default. + * Disabled the subreg-byte patch for sparc (request from Ben Collins). + * Fixed reference to libgcc1 package in README (closes: #126218). + * Do recommend libc-dev, not depend on it. For low-end or embedded systems + the dependency on libc-dev can make the difference between + having enough or having too little space to build a kernel. + * README.cross: Updated by Hakan Ardo. + * Decouple versioned shlib dependencies from release number. Closes: #118391. + * Fix diversions for gcc-3.0-sparc64 package (closes: #128178), + unconditionally remove `sparc64-linux-gcc' alternative. + * g77/README.libg2c.Debian: New file mentioning `libg2c-pic'. The next + g77 version (3.1) does build a static and shared library (closes: #104250). + * Fix formatting errors in the synopsis of the java man pages. Maybe the + reason for #127571. Closes: #127571. + * fastjar: Fail for the (currently incorrect) -u option. Addresses: #116145. + Add alternative for `jar' using priority 30 (closes: #118648). + * jv-convert: Add --help option and man page. Backport from HEAD branch. + * libgcj2-dev: Remove duplicate dependency (closes: #127805). + * Giving up and make just another new package gij-X.Y with only the gij-X.Y + binary for policy conformance (closes: #127111). + * gij: Provides an alternative for `java' (priority 30) using a wrapper + script (Stephen Zander) (closes: #128974). Added simple manpage. + + -- Matthias Klose Sun, 27 Jan 2002 13:33:41 +0100 + +gcc-3.0 (1:3.0.3ds3-1) unstable; urgency=low + + * Final gcc-3.0.3 release. + * Do not compress .txt files in libstdc++ docs referenced from html + pages (closes: #124136). + * libstdc++-dev suggests libstdc++-doc. + * debian/patches/gcc-ia64-NaT.dpatch: Update (closes: #123685). + + -- Matthias Klose Fri, 21 Dec 2001 02:54:11 +0100 + +gcc-3.0 (1:3.0.3ds2-0pre011215) unstable; urgency=low + + * Update to CVS sources (011215). + * libstdc++ documentation updated upstream (closes: #123790). + * debian/patches/gcc-ia64-NaT.dpatch: Disable. Fixes bootstrap error + on ia64 (#123685). + + -- Matthias Klose Sat, 15 Dec 2001 14:43:21 +0100 + +gcc-3.0 (1:3.0.3ds1-0pre011210) unstable; urgency=medium + + * Update to CVS sources (011208). + * Supposed to fix powerpc build error (closes: #123155). + + -- Matthias Klose Thu, 13 Dec 2001 07:26:05 +0100 + +gcc-3.0 (1:3.0.3ds0-0pre011209) unstable; urgency=medium + + * Update to CVS sources (011208). Frozen for upstream 3.0.3 release. + * Apply contrib/PR3145.patch, a backport of Nathan Sidwell's patch to + fix PR c++/3145, the infamous "virtual inheritance" bug. This affected + especially KDE2 (eg. artsd). Franz Sirl + * cc1plus segfault in strength reduction fixed upstream. Closes: #122547. + * debian/patches/gcc-ia64-NaT.dpatch: Add patch to avoid a bug that can + cause miscompiled userapps to crash the kernel. Closes: #121924. + * Reenable shared libgcc for powerpc. Fixed upstream. + http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00340.html + debian/patches/libgcc-powerpc.dpatch: New patch. + * Add upstream changelogs. + * Remove gij alternative. Move to gij package. + + -- Matthias Klose Sun, 9 Dec 2001 09:36:48 +0100 + +gcc-3.0 (1:3.0.2ds4-4) unstable; urgency=medium + + * Disable building of libffi on mips and mipsel. + (closes: #117503). + * Enable building of shared libgcc on s390 + (closes: #120452). + + -- Christopher C. Chimelis Sat, 1 Dec 2001 06:15:29 -0500 + +gcc-3.0 (1:3.0.2ds4-3) unstable; urgency=medium + + * Fix logic to build libffi without java (closes: #117503). + + -- Matthias Klose Sun, 4 Nov 2001 14:34:50 +0100 + +gcc-3.0 (1:3.0.2ds4-2) unstable; urgency=medium + + * Enable java for ia64 (Jeff Licquia). Closes: #116798. + * Allow building of libffi without gcj (Jeff Licquia). + New libffi packages for arm hurd-i386 mips mipsel, + still missing: hppa, s390. + * debian/NEWS.gcc: Add 3.0.2 release notes. + * debian/patches/hppa-align.dpatch: New patch from Alan Modra, + submitted by Randolph Tausq. + + -- Matthias Klose Thu, 25 Oct 2001 23:59:31 +0200 + +gcc-3.0 (1:3.0.2ds4-1) unstable; urgency=medium + + * Final gcc-3.0.2 release. The source tarball is not the released + tarball, but taken from CVS 011024). + * Remove patch for s390, included upstream. + + -- Matthias Klose Wed, 24 Oct 2001 00:49:40 +0200 + +gcc-3.0 (1:3.0.2ds3-0pre011014) unstable; urgency=low + + * Update to CVS sources (011014). Frozen for upstream 3.0.2 release. + Closes: #109351, #114099, #114216, #105741 (allegro3938). + * Added debian/patches/fastjar.dpatch, which makes fastjar extract + filenames correctly (previously, some had incorrect names on extract). + Closes: #113236. + * Priorities fixed in the past (closes: #94404). + + -- Matthias Klose Sun, 14 Oct 2001 13:19:43 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010923) unstable; urgency=low + + * Bootstraps on powerpc again (closes: #112777). + + -- Matthias Klose Sun, 23 Sep 2001 01:32:11 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010922) unstable; urgency=low + + * Update to CVS sources (010922). + * Fixed upstream (closes: #111801). #105569 on hppa. + * Update hppa patch (Matt Taggart). + * Fix libstdc++-dev package description (closes: #112758). + * debian/rules.d/binary-objc.mk: Fix build error (closes: #112462). + * Make gobjc-3.0 conflict with gcc-3.0-sparc64 (closes: #111772). + + -- Matthias Klose Sat, 22 Sep 2001 09:34:49 +0200 + +gcc-3.0 (1:3.0.2ds1-0pre010908) unstable; urgency=low + + * Update to CVS sources (010908). + * Update hppa patch (Matt Taggart). + * Depend on libgc6-dev, not libgc5-dev, which got obsolete (during + the freeze ...). However adds s390 support (closes: #110189). + * debian/patches/m68k-reload.dpatch: New patch (Roman Zippel). + Fixes #89023. + * debian/patches/gcc-sparc.dpatch: New patch ("David S. Miller"). + Fixes libstdc++ testsuite failures on sparc. + + -- Matthias Klose Sat, 8 Sep 2001 14:26:20 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010826) unstable; urgency=low + + * gcc-3.0-nof: Fix symlink to gcc-3.0-base doc directory. + * debian/patches/gcj-without-rpath: New patch. + * Remove self dependency on libgcj package. + * Handle diversions for upgrades from 3.0 and 3.0.1 -> 3.0.2 + in gcc-3.0-sparc64 package. + * Build libg2c.a with -fPIC -DPIC and name the result libg2c-pic.a. + Link with this library to avoid linking with non-pic code. + Use this library when building dynamically loadable objects (python + modules, gimp plugins, ...), which need to be linked against g2c or + a library which is linked against g2c (i.e. lapack). + Packages needing '-lg2c-pic' must have a build dependency on + 'g77-3.0 (>= 1:3.0.2-0pre010826). + + -- Matthias Klose Sun, 26 Aug 2001 13:59:03 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010825) unstable; urgency=low + + * Update to CVS sources (010825). + * Add libc6-dev-sparc64 to gcc-3.0-sparc64 and to sparc build dependencies. + * Remove conflicts on egcc package (closes: #109718). + * Fix gcc-3.0-nof dependency. + * s390 patches against gcc-3.0.1 (Gerhard Tonn). + * debian/control: Require binutils (>= 2.11.90.0.27) + + -- Matthias Klose Sat, 25 Aug 2001 10:59:15 +0200 + +gcc-3.0 (1:3.0.1ds3-1) unstable; urgency=low + + * Final gcc-3.0.1 release. + * Changed upstream: default of -flimit-inline is 600 (closes: #106716). + * Add fastjar man page (submitted by "The Missing Man Pages Project", + http://www.netmeister.org/misc/m2p2i/) (closes: #103051). + * Fixed in last upload as well: #105246. + * debian/patches/cpp-memory-leak.dpatch: New patch + * Disable installation of shared libgcc on s390 (Gerhard Tonn). + + -- Matthias Klose Mon, 20 Aug 2001 20:47:13 +0200 + +gcc-3.0 (1:3.0.1ds2-0pre010811) unstable; urgency=high + + * Update to CVS sources (010811). Includes s390 support. + * Add xlibs-dev to Build-Depends (libgcj). + * Enable java for powerpc, disable java for ia64. + * Enable ObjC garbage collection for all archs, which have a libgc5-dev + package. + * New patch libstdc++-codecvt (Michael Piefel) (closes: #104614). + * Don't strip static libgcj library (work around binutils bug #107812). + * Handle diversions for upgrade 3.0 -> 3.0.1 in gcc-3.0-sparc64 package + (closes: #107569). + + -- Matthias Klose Sat, 11 Aug 2001 20:42:15 +0200 + +gcc-3.0 (1:3.0.1ds1-0pre010801) unstable; urgency=high + + * Update to CVS sources (010801). (closes: #107012). + * Remove build dependency on non-free graphviz and include pregenerated + docs (closes: #107124). + * Fixed in 3.0.1 (closes: #99307). + * Updated m68k-updates patch (Roman Zippel). + * Another fix for ia64 packaging bits (Randolph Chung). + + -- Matthias Klose Tue, 31 Jul 2001 21:52:55 +0200 + +gcc-3.0 (1:3.0.1ds0-0pre010727) unstable; urgency=high + + * Update to CVS sources (010727). + * Add epoch to source version. Change '.dsx' to 'dsx', so that + 3.1.1ds0 gt 3.1ds7 (closes: #106538). + + -- Matthias Klose Sat, 28 Jul 2001 09:56:29 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010723) unstable; urgency=high + + * ia64 packaging bits (Randolph Chung) (closes: #106252). + + -- Matthias Klose Mon, 23 Jul 2001 23:02:03 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010721) unstable; urgency=high + + * Update to CVS sources (010721). + - Remove patches applied upstream: libstdc++-limits.dpatch, + objc-data-references + - Updated other patches. + * Fix gij alternative (closes: #103468, #103883). + * Patch to fix bootstrap on sparc (closes: #103568). + * Corrected (closes: #105371) and updated README.Debian. + * m68k patches for sucessful bootstrap (Roman Zippel). + * Add libstdc++v3 porting hints to README.Debian and README.C++. + * m68k md fix (#105622) (Roman Zippel). + * debian/rules2: Disable non-functional ulimit on Hurd (#105884). + * debian/control: Require binutils (>= 2.11.90.0.24) + * Java is enabled for alpha (closes: #87300). + + -- Matthias Klose Sun, 22 Jul 2001 08:24:04 +0200 + +gcc-3.0 (3.0.ds9-4) unstable; urgency=high + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. If sparc doesn't build, + then IMHO it's better to remove it from testing. + * debian/control.m4: Set uploaders field. Adjust description of + gcc-3.0 (binary) package (closes: #102271, #102620). + * Separate gij.1 in it's own pseudo man page (closes: #99523). + * debian/patches/java-manpages.dpatch: New patch. + * libgcj: Install unversioned gij. + + -- Matthias Klose Tue, 3 Jul 2001 07:38:08 +0200 + +gcc-3.0 (3.0.ds9-3) unstable; urgency=high + + * Reenable configuration with posix threads on i386 (lost in hurd-i386 + merge). + + -- Matthias Klose Sun, 24 Jun 2001 22:21:45 +0200 + +gcc-3.0 (3.0.ds9-2) unstable; urgency=medium + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. + * Add libgcc0 and libgcc300 to the build conflicts (#102041). + * debian/README.FIRST: Removed (#101534). + * Updated subreg-byte patch (doc files). + * Disable java for the Hurd, mips and mipsel (#101570). + * Patch for building on the Hurd (#101708) (Jeff Bailey ). + * Packaging fixes for the Hurd (#101711) (Jeff Bailey ). + * Include pregenerated doxygen (1.2.6) docs for libstdc++-v3 (#101557). + The current doxygen-1.2.8.1 segaults. + * C++: Enable -fuse-cxa-atexit by default (#101901). + * Correct mail address in gccbug (#101743). + * Make rules resumable after failure in binary-xxx targets (#101637). + + -- Matthias Klose Sun, 24 Jun 2001 16:04:53 +0200 + +gcc-3.0 (3.0.ds9-1) unstable; urgency=low + + * Final 3.0 release. + * Update libgcc version number (#100983, #100988, #101069, #101115, #101328). + * Updated hppa-build patch (Matt Taggart ). + * Disable java for hppa. + * Updated subreg-byte patch for sparc (Ben Collins). + + -- Matthias Klose Mon, 18 Jun 2001 18:26:04 +0200 + +gcc-3.0 (3.0.ds8-0pre010613) unstable; urgency=low + + * Update patches for recent (010613 23:13 +0200) CVS sources. + * Fix packaging bugs (#100459, #100447, #100483). + * Build-Depend on gawk, mawk doesn't work well with test_summary. + + -- Matthias Klose Wed, 13 Jun 2001 23:13:38 +0200 + +gcc-3.0 (3.0.ds7-0pre010609) unstable; urgency=low + + * Fix build dependency for the hurd (#99164). + * Update patches for recent (010609) CVS sources. + * Disable java on powerpc (link error in libjava). + * gcc-3.0-base.postinst: Don't prompt for non-interactive installs (#100110). + + -- Matthias Klose Sun, 10 Jun 2001 09:45:57 +0200 + +gcc-3.0 (3.0.ds6-0pre010526) unstable; urgency=high + + * Urgency "high" for replacing the gcc-3.0 snapshots in testing, which + now are incompatile due to the changed ABIs. + * Upstream begins tagging with "gcc-3_0_pre_2001mmdd". + * Tighten dependencies to install only binary packages derived from + one source (#98851). Tighten libc6-dev dependency to match libc6. + + -- Matthias Klose Sun, 27 May 2001 11:35:31 +0200 + +gcc-3.0 (3.0.ds6-0pre010525) unstable; urgency=low + + * ATTENTION: The ABI (exception handling) changed. No upgrade path from + earlier snapshots (you had been warned in the postinst ...) + Closing #93597, #94576, #96448, #96461. + You have to rebuild + * HELP is appreciated for scanning the Debian BTS and sending followups + to bug reports!!! + * Should we name debian gcc uploads? What about a "still seeking + g++ maintainer" upload? + * Fixed in gcc-3.0: #97030 + * Update patches for recent (010525) CVS sources. + * Make check depend on build target (fakeroot problmes). + * debian/rules.d/binary-libgcc.mk: new file, build first. + * Free memory detection on the hurd for running the testsuite. + * Update debhelper build dependency. + * libstdc++-doc: Include doxygen generated docs. + * Fix boring packaging bugs, too tired for appropriate changelogs ... + #93343, #96348, #96262, #97134, #97905, #96451, #95812, #93157 + * Fixed bugs: #87000. + + -- Matthias Klose Sat, 26 May 2001 23:10:42 +0200 + +gcc-3.0 (3.0.ds5-0pre010510) unstable; urgency=low + + * Update patches for recent (010506) CVS sources. + * New version of source, as of 2001-05-10 + * New version of gpc source, as of 2001-05-06 (disabled by default). + * Make gcc-3.0-sparc64 provide an alternative for sparc64-linux-gcc, + since it can build kernels just fine (it seems) + * Add hppa patch from Matt Taggart + * Fix objc info inclusion...now merged with gcc info + * Do not install the .la for libstdc++, since it confuses libtool linked + applications when libstdc++3-dev and libstdc++2.10-dev are both + installed (closes #97905). + * Fixed gcc-base and libgcc section/prio to match overrides + + -- Ben Collins Mon, 7 May 2001 00:08:52 +0200 + +gcc-3.0 (3.0.ds5-0pre010427) unstable; urgency=low + + * Fixed priority for fastjar from optional to extra + * New version of source, as of 2001-04-27 + * Fix description of libgcj-dev + * libffi-install: Make libffi installable + * Add libffi and libffi-dev packages. libffi is only enabled for java + targets right now. Perhaps more will be enabled later. + * Fixes to build cross compiler package (for avr) + (Hakan Ardo ). + * Better fixincludes description (#93157). + * Remove all remnants of libg++ + * Remove all hacks around libstdc++ version. Since we are strictly v3 now, + we can treat it like a normal shared lib, and not worry about all those + ABI changes. + * Remove all cruft control scripts. Note, debhelper will create scripts + that it needs to. It will do the doc link stuff and the ldconfig stuff + explicitly. + * Clean up the SONAME parsing stuff, make it a little more cleaner over + all the lib packages + * Make libffi install when built (IOW, whenever java is enabled). This + should obsolete the libffi package, which is old and broken + * Revert to normal sonames, except for ia64 (for now) + * Remove all references to dh_testversion, since they are deprecated for + Build-Depends + * Fix powerpc nof build + * Remove all references to the MULTILIB stuff, since the arches are + using specialized builds anyway (nof, softfloat). + * Added 64bit sparc64 package (gcc-3.0-sparc64, libgcc0-sparc64) + * Removed obsolete shlibs.local file + + -- Ben Collins Sun, 15 Apr 2001 21:33:15 -0400 + +gcc-3.0 (3.0.ds4-0pre010403) unstable; urgency=low + + * debian/README: Updated for gcc-3.0 + * debian/rules.patch: Added subreg-byte patch for sparc + * debian/rules.unpack: Update to current CVS for gcc tarball name + * debian/patches/subreg-byte.dpatch: sparc subreg-byte support + * debian/patches/gcc-rawhide.dpatch: Removed + debian/patches/gpc-2.95.dpatch: Removed + debian/patches/sparc32-rfi.dpatch: Removed + debian/patches/temporary.dpatch: Removed + * Moving to unstable now + * debian/patches/gcc-ppc-disable-shared-libgcc.dpatch: New patch, + disables shared libgcc for powerpc target, since it isn't compatible + with the EABI objects. + * Create $(with_shared_libgcc) var + * debian/rules.d/binary-gcc.mk: Use this new variable to determine if + the libgcc package actually has any files + + -- Ben Collins Tue, 3 Apr 2001 23:00:55 -0400 + +gcc-3.0 (3.0.ds2-0pre010223) experimental; urgency=low + + * New snapshot. Use distinct shared object names for shared libraries: + we don't know if binary API's still change until the final release. + * Versioned package names. + * debian/control.m4: New file. Add gcc-base, libgcc0, libobjc1, + libstdc++-doc, libgcj1, libgcj1-dev, fastjar, fixincludes packages. + Remove gcc-docs package. + * debian/gcov.1: Remove. + * debian/*: Remove 2.95.x support. Prepare for 3.0. + * debian/patches: Remove 2.95.x patches. + * Changed source package name. It's not allowed anymore to overwrite + source packages with different content. Introducing a 'debian source + element' (.ds), which is stripped again from the version number + for the binary packages. + * Fixed bugs and added functionality: + #26436, #27878, #33786, #34876, #35477, #42662, #46181, #42989, + #47981, #48530, #50529, #51227, #51456, #51651, #52382, #53698, + #55291, #55967, #56867, #58219, #59005, #59232, #59776, #64628, + #65687, #67631, #68632, #68963, #68987, #69530, #72933, #75120, + #75759, #76645, #76827, #83221, #87540 + * libgcj fixes: 42894, #51266, #68560, #71187, #79984 + + -- Matthias Klose Sat, 24 Feb 2001 13:41:11 +0100 + +gcc-2.95 (2.95.3-2.001222) experimental; urgency=low + + * New upstream version 2.95.3 experimental (CVS 20001222). + * debian/control.in: Versioned package names, removal of snapshot logic. + Remove fake gcc-docs package. + * Reserve -1 release numbers for woody. + * Updated to gpc-20001218. + + -- Matthias Klose Fri, 22 Dec 2000 19:53:03 +0100 + +gcc (2.95.2-20) unstable; urgency=low + + * Apply patch from gcc-2_95-branch; remove ulimit for make check. + + -- Matthias Klose Sun, 10 Dec 2000 17:01:13 +0100 + +gcc (2.95.2-19) unstable; urgency=low + + * Added testsuite-20001207 from current snapshots. We'll need results + for 2.95.2 to make sure there are no regressions against that release. + Dear build daemons and porters to other architectures, please send an + email to gcc-testresults@gcc.gnu.org. + You can do this by running "debian/rules mail-summary". + * Updated to gpc-20001206. + * Added S/390 patch prepared by Chu-yeon Park (#78983). + * debian/patches/libio.dpatch: Fix iostream doc (fixes #77647). + * debian/patches/gcc-doc.dpatch: Update URL (fixes #77542). + * debian/patches/gcc-reload1.dpatch Patch from the gcc-bug list which + fixes a problem in "long long" on i[345]86 (i686 was not affected). + + -- Matthias Klose Sat, 9 Dec 2000 12:30:32 +0100 + +gcc (2.95.2-18) unstable; urgency=low + + * debian/control.in: Fix syntax errors (fixes #76146, #76458). + Disable gpc on the hurd by request (#75686). + * debian/patches/arm-various.dpatch: Patches from Philip Blundell + for ARM arch (fixes #75801). + * debian/patches/gcc-alpha-mi-thunk.dpatch: Patches from Chris Chimelis + for alpha arch. + * debian/patches/g77-docs.dpatch: Adjust g77 docs (fixes #72594). + * Update gpc to gpc-20001118. + * Reenable gpc for alpha. + * debian/README.C++: Merge debian/README.libstdc++ and C++ FAQ information + provided by Matt Zimmermann. + * Build gcj only on architectures, where libgcj-2.95.1 can be built as well. + Probably needs some adjustments ... + * Conditionalize for chill, fortran, java, objc and chill. + + * NOT APPLIED: + debian/patches/libstdc++-bastring.dpatch: Apply fix (fixes #75759). + + -- Matthias Klose Sun, 19 Nov 2000 10:40:41 +0100 + +gcc (2.95.2-17) unstable; urgency=low + + * Disable gpc for alpha. + * Include gpc-cpp in gpc package (fixes #74492). + * Don't build gcc-docs compatibility package anymore. + + -- Matthias Klose Wed, 11 Oct 2000 06:16:53 +0200 + +gcc (2.95.2-16) unstable; urgency=low + + * Applied the emdebian/cross compiler patch and documentation + (Frank Smith ). + * Applied patch for avr target (Hakan Ardo ). + * debian/control.in: Add awk to Build-Depends. + Tighten libc6-dev dependency for libstdc++-dev (fixes #73031, + #72531, #72534). + * Disable libobjc_gc for m68k again (fixes #74380). + * debian/patches/arm-namespace.dpatch: Apply patch from Philip + Blundell to fix name space pollution on arm + (fixes #70937). + * Fix more warnings in STL headers (fixes #69352, #71943). + + -- Matthias Klose Mon, 9 Oct 2000 21:51:41 +0200 + +gcc (2.95.2-15) unstable; urgency=low + + * debian/control.in: Add libgc5-dev to build depends (fixes #67015). + * debian/rules.def: Build GC enabled ObjC runtime for sparc. + * Bug #58741 fixed (in some version since 2.95.2-5). + * debian/control.in: Recommend librx1g-dev, libgmp2-dev, libncurses5-dev + (unit dependencies). + * Patches from Marcus Brinkmann for the hurd (fixes #67763): + - debian/rules.defs: Disable objc_gc on hurd-i386. + Disable libg++ on GNU systems. + - debian/rules2: Set correct names of libstdc++/libg++ + libraries on GNU systems. + Write out correct shlibs and shlibs.local file content. + - Keep _G_config.h for the Hurd. + * Apply patch for ObjC linker warnings. + * Don't apply gcj backport patch for sparc. + * Apply libio compatability patch + * debian/glibcver.sh: generate appropriate version for glibc + * debian/rules.conf: for everything after glibc 2.1, we always append + "-glibc$(ver)" to the C++ libs for linux. + * Back down gpc to -13 version (-14 wont compile on anything but i386 + and m68k becuase of gpc). + * Remove extraneous and obsolete sparc64 patches/files from debian/* + + -- Ben Collins Thu, 21 Sep 2000 08:08:35 -0400 + +gcc-snapshot (20000901-2.2) experimental; urgency=low + + * New snapshot. + * debian/rules2: Move tradcpp0 to cpp package. + + -- Matthias Klose Sat, 2 Sep 2000 01:14:28 +0200 + +gcc-snapshot (20000802-2.1) experimental; urgency=low + + * New snapshot. + * debian/rules2: Fixes. tradcpp0 is in gcc package, not cpp. + + -- Matthias Klose Thu, 3 Aug 2000 07:40:05 +0200 + +gcc-snapshot (20000720-2) experimental; urgency=low + + * New snapshot. + * Enable libstdc++-v3. + * debian/rules2: Don't use -D for /usr/bin/install. + + -- Matthias Klose Thu, 20 Jul 2000 22:33:37 +0200 + +gcc (2.95.2-14) unstable; urgency=low + + * Update gpc patch. + + -- Matthias Klose Wed, 5 Jul 2000 20:51:16 +0200 + +gcc (2.95.2-13) frozen unstable; urgency=low + + * Update debian/README: document how to compile 2.0.xx kernels; don't + register gcc272 as an alternative for gcc (closes #62419). + Clarify compiler setup (closes #65548). + * debian/control.in: Make libstdc++-dev depend on current version of g++. + * Undo CVS update from release -8 (problems on alpha, #55263). + + -- Matthias Klose Mon, 19 Jun 2000 23:06:48 +0200 + +gcc (2.95.2-12) frozen unstable; urgency=low + + * debian/gpc.postinst: Correct typo introduced with -11 (fixes #64193). + * debian/patches/gcc-rs600.dpatch: ppc codegen fix (fixes #63933). + + -- Matthias Klose Sun, 21 May 2000 15:56:05 +0200 + +gcc (2.95.2-11) frozen unstable; urgency=medium + + * Upload to unstable again (fixes critical #63784). + * Fix doc-base files (fixes important #63810). + * gpc wasn't built in -10 (fixes #63977). + * Make /usr/bin/pc an alternative (fixes #63888). + * Add SYSCALLS.c.X to gcc package. + + -- Matthias Klose Sun, 14 May 2000 22:17:44 +0200 + +gcc (2.95.2-10) frozen; urgency=low + + * debian/control.in: make gcc conflict on any version of egcc + (slink to potato upgrade problem, fixes grave #62084). + * Build protoize programs, separate out in new package (fixes #59436, + #62911). + * Create dummy gcc-docs package for smooth update from slink (fixes #62537). + * Add doc-base support for all -doc packages (fixes #63380). + + -- Matthias Klose Mon, 1 May 2000 22:24:28 +0200 + +gcc (2.95.2-9) frozen unstable; urgency=low + + * Disable the sparc-bi-arch.dpatch (patch from Ben Collins, built + for sparc as NMU 8.1) (fixes critical #61529 and #61511). + "Seems that when you compile gcc 2.95.x for sparc64-linux and compile + sparc32 programs, the code is not the same as sparc-linux compile for + sparc32 (this is a bug, and is fixed in gcc 2.96 CVS)." + * debian/patches/gcj-vs-iconv.dpatch: Option '--encoding' for + encoding of input files. Patch from Tom Tromey + backported to 2.95.2 (fixes #42895). + Compile a Latin-1 encoded file with `gcj --encoding=Latin1 ...'. + * debian/control.in: gcc, g++ and gobjc suggest their corresponding + task packages (fixes #59623). + + -- Matthias Klose Sat, 8 Apr 2000 20:19:15 +0200 + +gcc (2.95.2-8) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000313. + * debian/rules2: configure with --enable-java-gc=no for sparc. Fixes + gcj side of #60535. + * debian/rules.patch: Disable gcc-emit-rtl patch for all archs but + alpha. Disable g++-is-tree patch ("just for 2.95.1"). + * debian/README: Update for gcc-2.95. + + -- Matthias Klose Mon, 27 Mar 2000 00:03:16 +0200 + +gcc (2.95.2-7) frozen unstable; urgency=low + + * debian/patches/gcc-empty-struct-init.dpatch; Apply patch from + http://gcc.gnu.org/ml/gcc-patches/2000-02/msg00637.html. Fixes + compilation of 2.3.4x kernels. + * debian/patches/gcc-emit-rtl.dpatch: Apply patch from David Huggins-Daines + (backport from 2.96 CVS to fix #55263). + * debian/patches/gcc-pointer-arith.dpatch: Apply patch from Jim Kingdon + (backport from 2.96 CVS to fix #54951). + + -- Matthias Klose Thu, 2 Mar 2000 23:16:43 +0100 + +gcc (2.95.2-6) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000220. + * Remove dangling symlink probably left over from libstdc++2.9 + package (fixes #53661). + * debian/patches/gcc-alpha-complex-float.dpatch: Fixed patch by + David Huggins-Daines (fixes #58486). + * debian/g++.{postinst,prerm}: Remove outdated g++FAQ registration + (fixes #58253). + * debian/control.in: gcc-doc replaces gcc-docs (fixes #58108). + * debian/rules2: Include some fixed headers (asm, bits, linux, ...). + * debian/patches/{gcc-alpha-ev5-fix,libstdc++-valarray}.dpatch: Remove. + Applied upstream. + * debian/patches/libstdc++-bastring.dpatch: Add patch from + sicard@bigruth.solsoft.fr (fixes #56715). + + -- Matthias Klose Sun, 20 Feb 2000 15:08:13 +0100 + +gcc (2.95.2-5) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000116. + * Add more build dependencies (fixes #53204). + * debian/patches/gcc-alpha-complex-float.dpatch: Patch from + Joel Klecker to compile glibc correctly on alpha. + "Should fix the g77 problems too." + * debian/patches/{libio,libstdc++-wall2}.dpatch. Remove patches + applied upstream. + + -- Matthias Klose Sun, 16 Jan 2000 19:16:54 +0100 + +gcc (2.95.2-4) unstable; urgency=low + + * debian/patches/libio.dpatch: Patch from Martin v. Loewis. + (fixes: #35628). + * debian/patches/libstdc++-deque.dpatch: Patch from Martin v. Loewis. + (fixes: #52689). + * debian/control.in: Updated Build-Depends, removed outdated README.build. + Fixes #51246. + * Tighten dependencies to cpp (>= 2.95.2-4) (closes: #50294). + * debian/rules.patch: Really do not apply patches/gcj-backport.dpatch. + Fixes #51636. + * Apply updated sparc-bi-arch.dpatch from Ben Collins. + * libstdc++: Define wstring type, if __ENABLE_WSTRING is defined. Request + from the author of the War FTP Daemon for Linux ("Jarle Aase" + ). + * debain/g++.preinst: Remove dangling sysmlinks (fixes #52359). + + -- Matthias Klose Sun, 19 Dec 1999 21:53:48 +0100 + +gcc (2.95.2-3) unstable; urgency=low + + * debian/rules2: Don't install $(gcc_lib_dir)/include/asm; these are + headers fixed for glibc-1.x (closes: #49434). + * debian/patches/cpp-dos-newlines.dpatch: Keep CR's without + following LF (closes: #49186). + * Bug #37358 (internal compiler errors when building vdk_0.6.0-5) + fixed in gcc-2.95.? (closes: #37358). + * Apply patch gcc-alpha-ev5-fix from Richard Henderson + (should fix #48527 and #46963). + * debian/README.Bugs: Documented non bug #44554. + * Applied patch from Alexandre Oliva to fix gpc boostrap on alpha. + Reenabled gpc on all architectures. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991108. + * Explicitely generate postinst/prerm chunks for usr/doc transition. + debhelper currently doesn't handle generation for packages with + symlinked directories. + * debian/patches/libstdc++-wall3.dpatch: Fix warnings in stl_deque.h + and stl_rope.h (closes: #46444, #46720). + * debian/patches/gcj-backport.dpatch: Add file, don't apply (yet). + + -- Matthias Klose Wed, 10 Nov 1999 18:58:45 +0100 + +gcc (2.95.2-2) unstable; urgency=low + + * New gpc-19991030 snapshot. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991103. + * Reintegrated sparc patches (bcollins@debian.org), which were lost + in 2.95.2-1. + * debian/rules2: Only install $(gcc_lib_dir)/include/asm, when existing. + * debian/patches/gpc-2.95.{dpatch,diff}: updated patch to drop + initialization in stor-layout.c. + * debian/NEWS.gcc: Updated for gcc-2.95.2. + * debian/bugs/bug-...: Removed testcases for fixed bugs. + * debian/patches/...dpatch: Removed patches applied upstream. + * debian/{rules2,g++.postinst,g++.prerm}: Handle c++ alternative. + * debian/changelog: Merged gcc272, egcs and snapshot changelogs. + + -- Matthias Klose Tue, 2 Nov 1999 23:09:23 +0200 + +gcc (2.95.2-1.1) unstable; urgency=low + + * Most of the powerpc patches have been applied upstream. Remove all + but ppc-ice, ppc-andrew-dwarf-eh, and ppc-descriptions. + * mulilib-install.dpatch was definitely a bad idea. Fix it properly + by using install -D. + * Also, don't make directories before installing any more. Simplifies + rules a (tiny) bit. + * Do not build with LDFLAGS=-s. Everything gets stripped out anyway by + dh_strip -a -X_debug; so leave the binaries in the build tree with + debugging symbols for simplified debugging of the packages. + + -- Daniel Jacobowitz Sat, 30 Oct 1999 12:40:12 -0400 + +gcc (2.95.2-1) unstable; urgency=low + + * gcc-2.95.2 release (taken from the CVS archive). -fstrict-aliasing + is disabled upstream. + + -- Matthias Klose Mon, 25 Oct 1999 10:26:19 +0200 + +gcc (2.95.2-0pre4) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991021. + * Updated gpc to gpc-19991018 snapshot (closes: #33037, #47453). + Enable gpc for all architectures ... + * Document gcc exit codes (closes: #43863). + * According to the bug submitter (Sergey V Kovalyov ) + the original source of these CERN librarties is outdated now. The latest + version of cernlibs compiles and works fine with slink (closes #31546). + * According to the bug submitter (Gergely Madarasz ), + the problem triggered on i386 cannot be reproduced with the current + jade and php3 versions anymore (closes: #35215). + * Replace corrupted m68k-pic.dpatch (from Roman Hodek and Andreas Schwab + and apply to + all architectures (closes: #48011). + * According to the bug submitter (Herbert Xu ) + this bug "probably has been fixed". Setting it to severity "fixed" + (fixes: #39616), will close it later ... + * debian/README.Bugs: Document throwing C++ exceptions "through" C + libraries (closes: #22769). + + -- Matthias Klose Fri, 22 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre3) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991019. + * Apply NMU patches (closes: #46217). + * debian/control.in: Fix egcs64 conflict-dependency for sparc + architecture (closes: #47088). + * debian/rules2: dbg-packages share doc dir with lib packages + (closes #45067). + * debian/patches/gcj-debian-policy.dpatch: Patch from Stephane + Bortzmeyer to conform to Debian policy (closes: #44463). + * debian/bugs/bug-*: Added test cases for new bug reports. + * debian/patches/libstdc++-bastring.dpatch: Patch by Richard Kettlewell + (closes #46550). + * debian/rules.patch: Apply libstdc++-wall2 patch (closes #46609). + * debian/README: Fix typo (closes: #45253). + * debian/control.in: Remove primary/secondary distinction; + dbg-packages don't provide their normal counterparts (closes #45206). + * debian/rules.patch: gcc-combine patch applied upstream. + * debian/rules2: Only use mail if with_check is set (off by default). + * debian/rules.conf: Tighten binutils dependency to 2.9.5.0.12. + + -- Matthias Klose Tue, 19 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre2.0.2) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for another bug; the patch + is in CVS already, too. + * Applied another patch by Andreas Schwab to fix %a5 restauration in + some cases. + + -- Roman Hodek Thu, 30 Sep 1999 16:09:15 +0200 + +gcc (2.95.2-0pre2.0.1) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for serious bugs; the patches + are already checked into gcc CVS and should be in the next official + version, too. + * Applied two patches by Andreas Schwab to fix -fpic and loop optimization. + + -- Roman Hodek Mon, 27 Sep 1999 15:32:49 +0200 + +gcc (2.95.2-0pre2) unstable; urgency=low + + * Fixed in 2.95.2 (closes: #43478). + * Previous version had Pascal examples missing in doc directory. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.2-0pre1) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19990828. + * Apply work around memory corruption (just for 2.95.1) by + Daniel Jacobowitz . + * debian/patches/libstdc++-wall2.dpatch: Patch from Franck Sicard + to fix some warnings (closes: #44670). + * debian/patches/libstdc++-valarray.dpatch: Patch from Hideaki Fujitani + to fix a bug in valarray_array.h. + * Applied NMU from Jim Pick minus the jump.c and fold-const.c patches + already in the gcc-2_95-branch (closes: #44690). + * Conform to debian-java policy (closes: #44463). + * Move docs to /usr/share/doc (closes: #44782). + * Remove debian/patches/gcc-align.dpatch applied upstream. + * debian/*.postinst: Call install-info only, when configuring. + * debian/*.{postinst,prerm}: Add #DEBHELPER# comments to handle + /usr/doc -> /usr/share/doc transition. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * ARM platform no longer needs library-prefix patch. + * Updated patches from Philip Blundell. + + -- Jim Pick Wed, 8 Sep 1999 20:14:07 -0700 + +gcc (2.95.1-2) unstable; urgency=low + + * debian/gcc.{postinst,prerm}: gcc provides an alternative for + sparc64-linux-gcc. + * Applied patch from Ben Collins to enable bi-architecture (32/64) + support for sparc. + * Rebuild debian/control and debian/rules.parameters after unpacking. + * debian/rules2: binary-indep. Conditionalize on with_pascal. + + -- Matthias Klose Sat, 4 Sep 1999 13:47:30 +0200 + +gcc (2.95.1-1) unstable; urgency=low + + * Updated to release gcc-2.95.1 and cvs updates of the gcc-2_95-branch + until 19990828. + * debian/README.gcc: Updated NEWS file to include 2.95 and 2.95.1 news. + * debian/README.java: New file. + * debian/rules.defs: Disabled gpc for alpha, arm. Disabled ObjC-GC + for alpha. + * debian/rules [clean]: Remove debian/rules.parameters. + * debian/rules2 [binary-arch]: Call dh_shlibdeps with LD_LIBRARY_PATH set + to installation dir of libstdc++. Why isn't this the default? + * debian/control.in: *-dev packages do not longer conflict with + libg++272-dev package. + * Apply http://egcs.cygnus.com/ml/gcc-patches/1999-08/msg00599.html. + * Only define BAD_THROW_ALLOC, when using exceptions (fixes #43462). + * For ObjC (when configured with GC) recommend libgc4-dev, not libgc4. + * New version of 68060 build patch. + * debian/rules.conf: For m68k, depend on binutils version 2.9.1. + + -- Matthias Klose Sat, 28 Aug 1999 18:16:31 +0200 + +gcc (2.95.1-0pre2) unstable; urgency=medium + + * gpc is back again (fixes grave #43022). + * debian/patches/gpc-updates.dpatch: Patches sent to upstream authors. + * Work around the fatal dependtry assertion failure bug in dpkg (hint + from "Antti-Juhani Kaijanaho" , fixes important #43072). + + -- Matthias Klose Mon, 16 Aug 1999 19:34:14 +0200 + +gcc (2.95.1-0pre1) unstable; urgency=low + + * Updated to cvs 19990815 gcc-2_95-branch; included install docs and + FAQ from 2.95 release; upload source package as well. + * Source package contains tarballs only (gcc, libg++, installdocs). + * debian/rules: Splitted into debian/rules{,.unpack,.patch,.conf,2}. + * debian/gcc.postinst: s/any key/RETURN; warn only when upgrading from + pre 2.95 version; reference /usr/doc, not /usr/share/doc. + * Checked syntax for attributes of functions; checked for #35068; + checked for bad gmon.out files (at least with libc6 2.1.2-0pre5 and + binutils 2.9.1.0.25-2 the problem doesn't show up anymore). + * debian/patches/cpp-macro-doc.dpatch: Document macro varargs in cpp.texi. + * gcc is primary compiler for all platforms but m68k. Setting + severity of #22513 to fixed. + * debian/patches/gcc-default-arch.dpatch: New patch to enable generation + of i386 instruction as default (fixes #42743). + * debian/rules: Removed outdated gcc NEWS file (fixes #42742). + * debian/patches/libstdc++-out-of-mem.dpatch: Throw exception instead + of aborting when out of memory (fixes #42622). + * debian/patches/cpp-dos-newlines.dpatch: Handle ibackslashes after + DOS newlines (fixes #29240). + * Fixed in gcc-2.95.1: #43001. + * Bugs closed in this version: + Closes: #11525, #12253, #22513, #29240, #35068, #36182, #42584, #42585, + #42602, #42622, #42742 #42743, #43001, #43002. + + -- Matthias Klose Sun, 15 Aug 1999 10:31:50 +0200 + +gcc (2.95-3) unstable; urgency=high + + * Provide /lib/cpp again (fixes important bug #42524). + * Updated to cvs 19990805 gcc-2_95-branch. + * Build with the default scheduler. + * Apply install-multilib patch from Dan Jacobowitz. + * Apply revised cpp-A- patch from Dan Jacobowitz. + + -- Matthias Klose Fri, 6 Aug 1999 07:25:19 +0200 + +gcc (2.95-2) unstable; urgency=low + + * Remove /lib/cpp. This driver uses files from /usr/lib/gcc-lib anyway. + * The following bugs are fixed (compared to egcs-1.1.2). + Closes: #4429, #20889, #21122, #26369, #28417, #28261, #31416, #35261, + #35900, #35906, #38246, #38872, #39098, #39526, #40659, #40991, #41117, + #41290, #41302, #41313. + * The following by Joel Klecker: + - Adopt dpkg-architecture variables. + - Go back to SHELL = bash -e or it breaks where /bin/sh is not bash. + - Disabled the testsuite, it is not included in the gcc 2.95 release. + + -- Matthias Klose Sat, 31 Jul 1999 18:00:42 +0200 + +gcc (2.95-1) unstable; urgency=low + + * Update for official gcc-2.95 release. + * Built without gpc. + * debian/rules: Remove g++FAQ from rules, which is outdated. + For ix86, build for i386, not i486. + * Apply patch from Jim Pick for building multilib package on arm. + + -- Matthias Klose Sat, 31 Jul 1999 16:38:21 +0200 + +gcc (2.95-0pre10) unstable; urgency=low + + * Use ../builddir-gcc-$(VER) by default instead of ./builddir; upstream + strongly advises configuring outside of the source tree, and it makes + some things much easier. + * Add patch to prevent @local branches to weak symbols on powerpc (fixes + apt compilation). + * Add patch to make cpp -A- work as expected. + * Renamed debian/patches/ppc-library-prefix.dpatch to library-prefix.dpatch; + apply on all architectures. + * debian/control.in: Remove snapshot dependencies. + * debian/*.postinst: Reflect use of /usr/share/{info,man}. + + -- Daniel Jacobowitz Thu, 22 Jul 1999 19:27:12 -0400 + +gcc (2.95-0pre9) unstable; urgency=low + + * The following bugs are fixed (compared to egcs-1.1.2): #4429, #20889, + #21122, #26369, #28417, #28261, #35261, #38246, #38872, #39526, #40659, + #40991, #41117, #41290. + * Updated to CVS gcc-19990718 snapshot. + * debian/control.in: Removed references to egcs in descriptions. + Changed gcj's Recommends libgcj-dev to Depends. + * debian/rules: Apply ppc-library-prefix for alpha as well. + * debian/patches/arm-config.dpatch: Updated patch sent by Jim Pick. + + -- Matthias Klose Sun, 18 Jul 1999 12:21:07 +0200 + +gcc (2.95-0pre8) unstable; urgency=low + + * Updated CVS. + * debian/copyright: s%doc/copyright%share/common-licenses% + * debian/README.Bugs: s/egcs.cygnus.com/gcc.gnu.org/ s/egcs-bugs/gcc-bugs/ + * debian/patches/reporting.dpatch: Remake diff for current sources. + * debian/libstdc++-dev.postinst: It's /usr/share/info/iostream.info. + * debian/rules: Current dejagnu snapshot reports a framework version + of 1.3.1. + + -- Joel Klecker Sun, 18 Jul 1999 02:09:57 -0700 + +gcc-snapshot (19990714-0pre6) experimental; urgency=low + + * Updated to CVS gcc-19990714 snapshot. + * Applied ARM patch (#40515). + * Converted DOS style linefeeds in debian/patches/ppc-* files. + * debian/rules: Reflect change in gcc/version.c; use sh -e as shell: + for some obscure reason, bash -e doesn't work. + * Reflect version change for libstdc++ (2.10). Remove libg++-name + patch; libg++ now has version 2.8.1.3. Removed libc version from + the package name. + + -- Matthias Klose Wed, 14 Jul 1999 18:43:57 +0200 + +gcc-snapshot (19990625-0pre5.1) experimental; urgency=low + + * Non-maintainer upload. + * Added ARM specific patch. + + -- Jim Pick Tue, 29 Jun 1999 22:36:08 -0700 + +gcc-snapshot (19990625-0pre5) experimental; urgency=low + + * Updated to CVS gcc-19990625 snapshot. + + -- Matthias Klose Fri, 25 Jun 1999 16:11:53 +0200 + +gcc-snapshot (19990609-0pre4.1) experimental; urgency=low + + * Added and re-added a few last PPC patches. + + -- Daniel Jacobowitz Sat, 12 Jun 1999 16:48:01 -0500 + +gcc-snapshot (19990609-0pre4) experimental; urgency=low + + * Updated to CVS egcs-19990611 snapshot. + + -- Matthias Klose Fri, 11 Jun 1999 10:20:09 +0200 + +gcc-snapshot (19990609-0pre3) experimental; urgency=low + + * CVS gcc-19990609 snapshot. + * New gpc-19990607 snapshot. + + -- Matthias Klose Wed, 9 Jun 1999 19:40:44 +0200 + +gcc-snapshot (19990524-0pre1) experimental; urgency=low + + * egcs-19990524 snapshot. + * First snapshot of the gcc-2_95-branch. egcs-1.2 is renamed to gcc-2.95, + which is now the "official" successor to gcc-2.8.1. The full version + name is: gcc-2.95 19990521 (prerelease). + * debian/control.in: Changed maintainers to `Debian GCC maintainers'. + * Moved all version numbers to epoch 1. + * debian/rules: Major changes. The support for secondary compilers + was already removed for the egcs-1.2 snapshots. Many fixes by + Joel Klecker . + - Send mail to Debian maintainers for successful builds. + - Fix VER and VERNO sed expressions. + - Replace remaining GNUARCH occurrences. + * New gpc snapshot (but don't build). + * debian/patches/valarray.dpatch: Backport from libstdc++-v3. + * debian/gcc-doc.*: Info is now gcc.info* (Joel Klecker ). + * Use cpp driver provided by the package. + * New script c89 (fixes #28261). + + -- Matthias Klose Sat, 22 May 1999 16:10:36 +0200 + +egcs (1.1.2-2) unstable; urgency=low + + * Integrate NMU's for arm and sparc (fixes #37582, #36857). + * Apply patch for the Hurd (fixes #37753). + * Describe open bugs in TODO.Debian. Please have a look if you can help. + * Update README / math functions section (fixes #35906). + * Done by J.H.M. Dassen (Ray) : + - At Richard Braakman's request, made -dbg packages for libstdc++ + and libg++. + - Provide egcc(1) (fixes lintian error). + + -- Matthias Klose Sun, 16 May 1999 14:30:56 +0200 + +egcs-snapshot (19990502-1) experimental; urgency=low + + * New snapshot. + + -- Matthias Klose Thu, 6 May 1999 11:51:02 +0200 + +egcs-snapshot (19990418-2) experimental; urgency=low + + * Merged Rays changes to build debug packages. + + -- Matthias Klose Wed, 21 Apr 1999 16:54:56 +0200 + +egcs-snapshot (19990418-1) experimental; urgency=low + + * New snapshot. + * Disable cpplib. + + -- Matthias Klose Mon, 19 Apr 1999 11:32:19 +0200 + +egcs (1.1.2-1.2) unstable; urgency=low + + * NMU for arm + * Added arm-optimizer.dpatch with optimizer workaround for ARM + + -- Jim Pick Mon, 19 Apr 1999 06:17:13 -0700 + +egcs (1.1.2-1.1) unstable; urgency=low + + * NMU for sparc + * Included dpatch to modify the references to gcc/crtstuff.c so that + __register_frame_info is not a weak reference. This allows potato to + remain binary compatible with slink, while still retaining compatibility + with other sparc/egcs1.1.2 distributions. Diff in .dpatch format has + been sent to the maintainer with a note it may not be needed for 1.1.3. + + -- Ben Collins Tue, 27 Apr 1999 10:15:03 -0600 + +egcs (1.1.2-1) unstable; urgency=low + + * Final egcs-1.1.2 release built for potato as primary compiler + for all architectures except m68k. + + -- J.H.M. Dassen (Ray) Thu, 8 Apr 1999 13:14:29 +0200 + +egcs-snapshot (19990321-1) experimental; urgency=low + + * New snapshot. + * Disable gpc. + * debian/rules: Simplified (no secondary compiler, bumped all versions + to same epoch, libapi patch is included upstream). + * Separated out cpp documentation to cpp-doc package. + * Fixed in this version: #28417. + + -- Matthias Klose Tue, 23 Mar 1999 02:11:18 +0100 + +egcs (1.1.2-0slink2) stable; urgency=low + + * Applied H.J.Lu's egcs-19990315.linux patch. + * Install faq.html and egcs-1.1.2 announcment. + + -- Matthias Klose Tue, 23 Mar 1999 01:14:54 +0100 + +egcs (1.1.2-0slink1) stable; urgency=low + + * Final egcs-1.1.2 release; compiled with glibc-2.0 for slink on i386. + * debian/control.in: gcc provides egcc, when FIRST_PRIMARY defined. + * Fixes #30767, #32278, #34252, #34352. + * Don't build the libstdc++.so.2.9 library on architectures, which have + switched to glibc-2.1. + + -- Matthias Klose Wed, 17 Mar 1999 12:55:59 +0100 + +egcs (1.1.1.63-2.2) unstable; urgency=low + + * Non-maintainer upload. + * Incorporate patch from Joel Klecker to fix snapshot packages + by moving/removing the application of libapi. + * Disable the new libstdc++-dev-config and the postinst message in + glibc 2.1 versions. + + -- Daniel Jacobowitz Mon, 12 Mar 1999 14:16:02 -0500 + +egcs (1.1.1.63-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Compile with glibc 2.1 release version. + * New upstream version egcs-1.1.2 pre3. + * Miscellaneous rules updates (see changelog.snapshot). + * New set of powerpc-related patches from Franz Sirl, + . + * Disable libgcc.dpatch (new solution implemented upstream). Remove it. + * Also pass $target to config.if. + * Enable Dwarf2 EH for powerpc. Bump the C++ binary version. No + loss in -backwards- compatibility as far as I can tell, so add a + compatibility symlink, and add to shlibs file. + * Add --no-backup-if-mismatch to the debian/patches/*.dpatch files, + to prevent bogus .orig's in diffs. + * Merged with (unreleased) 1.1.1.62-1 and 1.1.1.63-{1,2} packages from + Matthias Klose . + * Stop adding a backwards compatibility link for egcs-nof on powerpc. + To my knowledge, nothing uses it. Do add the libstdc++ API change + link, though. + + -- Daniel Jacobowitz Mon, 8 Mar 1999 14:24:01 -0500 + +egcs (1.1.1.63-2) stable; urgency=low + + * Provide a libstdc++ with a shared object name, which is compatible + to other distributions. Documented the change in README.Debian, + the libstdc++-2.9.postinst and the libstdc++-dev-config script. + + -- Matthias Klose Fri, 12 Mar 1999 00:36:20 +0100 + +egcs (1.1.1.63-1.1) unstable; urgency=low + + * Non-Maintainer release. + * Build against glibc 2.1. + * Make egcs the primary compiler on i386. + * Also confilct with egcc (<< FIRST_PRIMARY) + if FIRST_PRIMARY is defined. + (this tells dpkg that gcc completely obsoletes egcc) + * Remove hjl-12 patch again, HJL says it should not be + necessary with egcs 1.1.2. + (as per forwarded reply from Christopher Chimelis) + * Apply libapi patch in clean target before regenerating debian/control + and remove the patch afterward. Otherwise, the libstdc++ and libg++ + package names are generated wrong on a glibc 2.1 system. + + -- Joel Klecker Tue, 9 Mar 1999 15:31:02 -0800 + +egcs (1.1.1.63-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre3. + * Applied improved libstdc++ warning patch from Rob Browning. + + -- Matthias Klose Tue, 9 Mar 1999 16:14:07 +0100 + +egcs (1.1.1.62-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre2. + * New upstream version libg++-2.8.1.3. + * Readded ARM support + * Readded hjl-12 per request from Christopher C Chimelis + + + -- Matthias Klose Fri, 26 Feb 1999 09:54:01 +0100 + +egcs-snapshot (19990224-0.1) experimental; urgency=low + + * New snapshot. + * Add the ability to disable CPPLIB by setting CPPLIB=no in + the environment. + * Disable gpc for powerpc; I spent a long time getting it to + make correctly, and then it goes and ICEs. + + -- Daniel Jacobowitz Tue, 24 Feb 1999 23:34:12 -0500 + +egcs (1.1.1.61-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre1. + * debian/control.in: Applied patch from bug report #32987. + * Split up H.J.Lu's hjl-19990115-linux patch into several small + chunks: libapi, arm-mips, libgcc, hjl-other. The changelog.Linux + aren't included in the separate chunks. Please refer to the + unmodified hjl-19990115-linux patch file in the egcs source pkg. + * Apply warning patch to fix the annoying spew you get if you try to + use ropes or deques with -Wall (which makes -Wall mostly useless for + spotting errors in your own code). Fixes #32996. + * debian/rules: Unapply patches in the exact reverse order they were + applied. + + -- Matthias Klose Sat, 20 Feb 1999 22:06:21 +0100 + +egcs (1.1.1-5) frozen unstable; urgency=medium + + * Move libgcc.map file to g++ package, where gcc is the secondary + compiler (fixes #32329, #32605, #32631). + * Prepare to rename libstdc++2.9 package for glibc-2.1 (fixes #32148). + * Apply NMU patch for arm architecure (fixes #32367). + * Don't apply hjl-12 patch for alpha architectures (requested by the + alpha developers, Christopher C Chimelis ). + * Call makeinfo with --no-validate to fix obscure build failure on alpha. + * Build gpc info files in doc subdirectory. + * Remove c++filt diversion (C++ name demangling patch is now in binutils, + fixes #30820 and #32502). + + -- Matthias Klose Sun, 31 Jan 1999 23:19:35 +0100 + +egcs (1.1.1-4.1) unstable; urgency=low + + * Non-maintainer upload. + * Pascal doesn't build for ARM. + + -- Jim Pick Sun, 24 Jan 1999 16:13:34 -0800 + +egcs (1.1.1-4) frozen unstable; urgency=high + + * Don't strip compiler libraries libgcc.a libobjc.a libg2c.a libgpc.a + * Move Pascal examples to the right place (fixes #32149, part 1). + * Add dependencies for switching from secondary to primary compiler, + if FIRST_PRIMARY is defined (fixes #32149, part 2). + + -- Matthias Klose Wed, 20 Jan 1999 16:51:30 +0100 + +egcs (1.1.1-3) frozen unstable; urgency=low + + * Updated with the H.J.Lu's hjl-19990115-linux patch (fixes the + __register_frame_info problems, mips and arm port included). + * Update gpc to 19990118 (beta release candidate). + * Strip static libraries (fixes #31247 and #31248). + * Changed maintainer address. + + -- Matthias Klose Tue, 19 Jan 1999 16:34:28 +0100 + +egcs (1.1.1-2) frozen unstable; urgency=low + + * Moved egcs-docs, g77-doc and gpc-doc packages to doc section. + * Downgraded Recommends: egcs-docs to Suggests: egcs-docs dependencies + (for archs, where egcs is the primary compiler). + * Add 'Suggests: stl-manual' dependency to libstdc++2.9-dev. + * Applied one more alpha patch: + ftp://ftp.yggdrasil.com/private/hjl/egcs/1.1.1/egcs-1.1.1.diff.12.gz + * Applied PPro optimization patch. + * Apply emit-rtl-nan patch. + * Upgraded to libg++-2.8.1.2a-19981218.tar.gz. + * Upgraded to gpc-19981218. + * Make symlinks for gobjc, libstdc++2.9-dev and libg++2.8.2 doc directories. + + -- Matthias Klose Wed, 23 Dec 1998 18:04:53 +0200 + +egcs-snapshot (19981211-1) experimental; urgency=low + + * New snapshot. + * Adapted gpc to egcs-2.92.x (BOOT_CFLAGS must include -g). + * New libg++-2.8.1.2a-19981209.tar.gz. + * debian/rules: new target mail-summary. + + -- Matthias Klose Fri, 11 Dec 1998 18:14:53 +0200 + +egcs (1.1.1-1) frozen unstable; urgency=high + + * Final egcs-1.1.1 release. + * The last version depended on a versioned libc6 again. + * Add lost dependency for libg++ on libstdc++. + * Added debian-libstdc++.sh script to generate a libstdc++ on a Linux + system, which doesn't use the libapi patch. + + -- Matthias Klose Wed, 2 Dec 1998 12:06:15 +0200 + +egcs (1.1.0.91.59-2) frozen unstable; urgency=high + + * Fixes bugs from libc6 2.0.7u-6 upload without dependency line + Conflicts: libstdc++-2.9 (<< 2.91.59): #30019, #30066, #30078. + * debian/copyright: Updated URLs. + * gcc --help now mentions /usr/doc/debian/bug-reporting.txt. + * Install README.Debian and include information about patches applied. + * Depend on unversioned libc6 on i386, such that libstdc++2.9 can be used + on a hamm system. + + -- Matthias Klose Fri, 27 Nov 1998 18:32:02 +0200 + +egcs (1.1.0.91.59-1) frozen unstable; urgency=low + + * This is egcs-1.1.1 prerelease #3, compiled with libc6 2.0.7u-6. + * Added dependency for libstdc++2.9-dev on g++ (fixes #29631). + * Package g77 provides f77 (fixes #29817). + * Already fixed in earlier egcs-1.1 releases: #2493, #25271, #10620. + * Bugs reported for gcc-2.7.x and fixed in the egcs version of gcc: + #2493, #4430, #4954, #5367, #6047, #10612, #12375, #20606, #24788, #26100. + * Upgraded libg++ to libg++-2.8.1.2a-19981114. + * Upgraded gpc to gpc-19981124. + * Close #25869: egcs and splay maintainers are unable to reproduce this + bug with the current Debian packages. Bug submitter doesn't respond. + * Close #25407: egcs maintainer cannot reproduce this bug with the current + Debian compiler. Bug submitter doesn't respond. + * Use debhelper 1.2.7 for building. + * Replace the libstdc++ and libg++ compatibility links with fake libraries. + + -- Matthias Klose Wed, 25 Nov 1998 12:11:42 +0200 + +egcs (1.1.0.91.58-5) frozen unstable; urgency=low + + * Applied patch to build on the m68060. + * Added c++filt and c++filt.1 to the g++ package. + * Updated gpc to gpc-981105; fixes some regressions compared to egcs-1.1. + * Separated out g77 and gpc doumentation to new packages g77-doc and gpc-doc. + * Closed bugs (#22158). + * Close #20248; on platforms where gas and gld are the default versions, + it makes no difference to configure with or without enable-ld. + * Close #24349. The bugs are in the amulet source. + See http://www.cs.cmu.edu/afs/cs/project/amulet/www/FAQ.html#GCC28x + * Rename gcc.info* files to egcs.info* (fixes #24088). + * Documented known bugs (and workarounds) in BUGS.Debian. + * Fixed demangling of C++ names (fixes #28787). + * Applied patch form aspell to libstdc++/stl/stl_rope.h. + * Updated from cvs 16 Nov 1998. + + -- Matthias Klose Tue, 17 Nov 1998 09:41:24 +0200 + +egcs-snapshot (19981115-2) experimental; urgency=low + + * New snapshot. Disabled gpc. + * New packages g77-doc and gpc-doc. + + -- Matthias Klose Mon, 16 Nov 1998 12:48:09 +0200 + +egcs (1.1.0.91.58-3) frozen unstable; urgency=low + + * Previous version installed in potato, not slink. + * Updated from cvs 3 Nov 1998. + + -- Matthias Klose Tue, 3 Nov 1998 18:34:44 +0200 + +egcs (1.1.0.91.58-2) unstable; urgency=low + + * [debian/rules]: added targets to apply and unapply patches. + * [debian/README.patches]: New file. + * Moved patches dir to debian/patches. debian/rules has to select + the patches to apply. + * Manual pages for genclass and gcov (fixes #5995, #20950, #22196). + * Apply egcs-1.1-reload patch needed for powerpc architecture. + * Fixed bugs (#17768, #20252, #25508, #27788). + * Reapplied alpha patch (#20875). + * Fixes first part of #22513, extended README.Debian (combining C & C++). + * Already fixed in earlier egcs-1.1 releases: #17963, #20252, #20524, + #20640, #22450, #24244, #24288, #28520. + + -- Matthias Klose Fri, 30 Oct 1998 13:41:45 +0200 + +egcs (1.1.0.91.58-1) experimental; urgency=low + + * New upstream version. That's the egcs-1.1.1 prerelease plus patches from + the cvs archive upto 29 Oct 1998. + * Merged files from the egcs and snapshot packages. + * Updated libg++ to libg++-2.8.1.2 (although the Debian package name is still + 2.8.2). + * Moved patches dir to patches-1.1. + * Dan Jacobowitz: + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this branch). + * Fake snapshots drop the -snap-main. + + -- Matthias Klose Thu, 29 Oct 1998 15:15:19 +0200 + +egcs-snapshot (1.1-19981019-5.1) experimental; urgency=low + + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this + branch). + * Fake snapshots drop the -snap-main. + + -- Daniel Jacobowitz Mon, 19 Oct 1998 22:19:23 -0400 + +egcs (1.1b-5) unstable; urgency=low + + * [debian/control.in] Fixed typo in dependencies (#28076, #28087, #28092). + + -- J.H.M. Dassen (Ray) Sun, 18 Oct 1998 22:56:51 +0200 + +egcs (1.1b-4) unstable; urgency=low + + * Strengthened g++ dependency on libstdc++_LIB_SO_-dev from + `Recommends' to `Depends'. + * Updated README.Debian for egcs-1.1. + * Updated TODO. + + -- Matthias Klose Thu, 15 Oct 1998 12:38:47 +0200 + +egcs-snapshot (19981005-0.1) experimental; urgency=low + + * Make libstdc++2.9-snap-main and libg++-snap-main provide + their mainstream equivalents and put those equivalents into + their shlibs file. + * Package gcj, the GNU Compiler for Java(TM). + + * New upstream version of egcs (The -regcs_latest_snapshot branch). + * Build without libg++ entirely. + * Leave out gpc for now - the internals are sufficiently different + that it does not trivially compile. + * Include an experimental reload patch for powerpc - this is, + in the words of its author, not release quality, but it allows + powerpc linuxthreads to function. + * On architectures where we are the primary compiler, let snapshots + build with --prefix=/usr and conflict with the stable versions. + * Package chill, a front end for the language Chill. + * Other applied patches from debian/patches/: egcs-patches and + builtin-apply-patch. + * Use reload.c revision 1.43 to avoid a nasty bug. + + -- Daniel Jacobowitz Wed, 7 Oct 1998 00:27:42 -0400 + +egcs (1.1b-3.1) unstable; urgency=low + + * NMU to fix the egcc -> gcc link once and for all + + -- Christopher C. Chimelis Tue, 22 Sep 1998 16:11:19 -0500 + +egcs (1.1b-3) unstable; urgency=low + + * Oops. The egcc -> gcc link on archs where gcc is egcc was broken. + Thanks to Chris Chimelis for pointing this out. + + -- J.H.M. Dassen (Ray) Mon, 21 Sep 1998 20:51:35 +0200 + +egcs (1.1b-2) unstable; urgency=low + + * New upstream spellfix release (Debian revision is 2 as the internal + version numbers didn't change). + * Added egcc -> gcc symlink on architectures where egcc is the primary C + compiler. Thus, maintainers of packages that require egcc, can now + simply use "egcc" without conditionals. + * Porters: we hope/plan to make egcs's gcc the default C compiler on all + platforms once the 2.2.x kernels are available. Please test this version + thoroughly, and give us a GO / NO GO for your architecture. + * Some symbols cpp used to predefine were removed upstream in order to clean + up the cpp namespace, but imake requires them for determining the proper + settings for LinuxMachineDefines (see /usr/X11R6/lib/X11/{Imake,linux}.cf), + thus we put them back. Thanks to Paul Slootman for reporting his imake + problems on Alpha. + * [gcc/config/alpha/linux.h] Added -D__alpha to CPP_PREDEFINES . + Thanks to Chris Chimelis for the alpha-only 1.1a-1.1 NMU which fixed + this already. + * [gcc/config/i386/linux.h] Added -D__i386__ to CPP_PREDEFINES . + * [gcc/config/sparc/linux.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/sparc/linux64.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/m68k/linux.h] Has -Dmc68000 in CPP_PREDEFINES . + * [gcc/config/rs6000/linux.h] Has -Dpowerpc in CPP_PREDEFINES . + * [gcc/config/arm/linux.h] Has -Darm in CPP_PREDEFINES . + * [gcc/config/i386/gnu.h] Has -Di386 in CPP_PREDEFINES . + * Small fixes and updates in README. + * Changes affecting the source package only: + * [gcc/Makefile.in, gcc/cp/Make-lang.in, gcc/p/Make-lang.in] + Daniel Jacobowitz: Ugly hacks of various kinds to make cplib2.txt get + properly regenerated with multilib. + * [debian/TODO] Created. + * [INSTALL/index.html] Fixed broken link. + + -- J.H.M. Dassen (Ray) Sun, 20 Sep 1998 14:05:15 +0200 + +egcs (1.1a-1) unstable; urgency=low + + * New upstream release. + * Added README.libstdc++ . + * Updated Standards-Version. + * Matthias: + * Downgraded gobjc dependency on egcs-docs from Recommends: to Suggests: . + * [libg++/Makefile.in] Patched not to rely on a `-f' flag of `ln'. + + -- J.H.M. Dassen (Ray) Wed, 2 Sep 1998 19:57:43 +0200 + +egcs (1.1-1) unstable; urgency=low + + * egcs-1.1 prerelease (from the last Debian package only the version file + changed). + * "Final" gpc Beta 2.1 gpc-19980830. + * Included libg++ and gpc in the .orig tarball. so that diffs are getting + smaller. + * debian/control.in: Changed maintainer address to galenh-egcs@debian.org. + * debian/copyright: Updated URLs. + + -- Matthias Klose Mon, 31 Aug 1998 12:43:13 +0200 + +egcs (1.0.99.56-0.1) unstable; urgency=low + + * New upstream snapshot 19980830 from CVS (called egcs-1.1 19980830). + * New libg++ snapshot 980828. + * Put all patches patches subdirectory; see patches/README in the source. + * debian/control.in: readded for libg++2.8.2-dev: + Replaces: libstdc++2.8-dev (<= 2.90.29-0.5) + * Renamed libg++2.9 package to libg++2.8.2. + * gcc/p/gpc-decl.c: Fix from Peter@Gerwinski.de; fixes optimization errors. + * patches/gpc-patch2: Fix from Peter@Gerwinski.de; fixes alpha errors. + * debian/rules: New configuration flag for building with and without + libstdc++api patch; untested without ... + + -- Matthias Klose Sun, 30 Aug 1998 12:04:22 +0200 + +egcs (1.0.99-0.6) unstable; urgency=low + + * PowerPC fixes. + * On powerpc, generate the -msoft-float libs and package them + as egcs-nof. + * Fix signed char error in gpc. + * Create a libg++.so.2.9 compatibility symlink. + + -- Daniel Jacobowitz Tue, 25 Aug 1998 11:44:09 -0400 + +egcs (1.0.99-0.5) unstable; urgency=low + + * New upstream snapshot 19980824. + * New gpc snapshot gpc-980822; reenabled gpc for alpha. + + -- Matthias Klose Tue, 25 Aug 1998 01:21:08 +0200 + +egcs (1.0.99-0.4) unstable; urgency=low + + * New upstream snapshot 19980819. Should build glibc 2.0.9x on PPC. + + -- Matthias Klose Wed, 19 Aug 1998 14:18:07 +0200 + +egcs (1.0.99-0.3) unstable; urgency=low + + * New upstream snapshot 19980816. + * debian/rules: build correct debian/control and debian/*.shlibs + * Enabled Haifa scheduler for ix86. + + -- Matthias Klose Mon, 17 Aug 1998 16:29:35 +0200 + +egcs (1.0.99-0.2) unstable; urgency=low + + * New upstream snapshot: egcs-19980812, minor changes only. + * Fixes for building on `primary' targets. + * Disabled gpc on `alpha' architecture. + * Uses debhelper 1.1.6 + * debian/control.in: Replace older snapshot versions in favor of newer + normal versions. + * debian/rules: Fixes building of binary-arch target only. + + -- Matthias Klose Thu, 13 Aug 1998 11:59:41 +0200 + +egcs (1.0.99-0.1) unstable; urgency=low + + * New upstream version: pre egcs-1.1 version. + * Many changes ... for details see debian/changelog.snapshot in the + source package. + * New packages libstdc++2.9 and libstdc++2.9-dev. + * New libg++ snapshot 980731: new packages libg++2.9 and libg++2.9-dev. + * New gpc snapshot gpc-980729: new package gpc. + * Uses debhelper 1.1 + + -- Matthias Klose Mon, 10 Aug 1998 13:00:27 +0200 + +egcs-snapshot (19980803-4) experimental; urgency=low + + * rebuilt debian/control. + + -- Matthias Klose Wed, 5 Aug 1998 08:51:47 +0200 + +egcs-snapshot (19980803-3) experimental; urgency=low + + * debian/rules: fix installation locations of NEWS, header and + `undocumented' files. + * man pages aren't compressed for the snapshot package. + + -- Matthias Klose Tue, 4 Aug 1998 17:34:31 +0200 + +egcs-snapshot (19980803-2) experimental; urgency=low + + * debian/rules: Uses debhelper. Old in debian/rules.old. + renamed postinst, prerm files for use with debhelper. + * debian/{libg++2.9,libstdc++2.9}/postinst: call ldconfig only, + when called for configure. + * egcs-docs is architecture independent package. + * new libg++ snapshot 980731. + * installed libstdc++ api patch (still buggy). + + -- Matthias Klose Mon, 3 Aug 1998 13:20:59 +0200 + +egcs-snapshot (19980729-1) experimental; urgency=low + + * New snapshot version 19980729 from CVS archive. + * New gpc snapshot gpc-980729. + * Let gcc/configure decide about using the Haifa scheduler. + * Remove -DDEBIAN. That was needed for the security improvements with + regard to the /tmp problem. egcs-1.1 chooses another approach. + * Save test-protocol and extract gpc errors to gpc-test-summary. + * Tighten binutils dependency to 2.9.1. + * debian/rules: new build-info target + * debian/{control.in,rules}: _SO_ and BINUTILSV substitution. + * debian/rules: add dependency for debian/control. + * debian/rules: remove bin/c++filt + * TODO: next version will use debhelper; the unorganized moving of + files becomes unmanageable ... + * TODO: g++ headers in stdc++ package? check! + + -- Matthias Klose Thu, 30 Jul 1998 12:10:20 +0200 + +egcs-snapshot (19980721-1) experimental; urgency=low + + * Unreleased. Infinite loops in executables made by gpc. + + -- Matthias Klose Wed, 22 Jul 1998 18:07:20 +0200 + +egcs-snapshot (19980715-1) experimental; urgency=low + + * New snapshot version from CVS archive. + * New gpc snapshot gpc-980715. + * New libg++ version libg++-2.8.2-980708. Changed versioning + schema for library. The major versions of libc, libstdc++ and the + g++ interface are coded in the library name. Use this new schema, + but provide a symlink to our previous schema, since the library + seems to be binary compatible. + * [debian/rules]: Fixed bug in build target, when bootstrap returns + with an error + + -- Matthias Klose Wed, 15 Jul 1998 10:55:05 +0200 + +egcs-snapshot (19980701-1) experimental; urgency=low + + * New snapshot version from CVS archive. + Two check programs in libg++ had to be manually killed to finish the + testsuite (tBag and tSet). + * New gpc snapshot gpc-980629. + * Incorporated debian/rules changes from egcs-1.0.3a-0.5 (but don't remove + gcc/cp/parse.c gcc/c-parse.c gcc/c-parse.y gcc/objc/objc-parse.c + gcc/objc/objc-parse.y, since these files are part of the release). + * Disable the -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP -DDEBIAN flags for the + snapshot. egcs-1.1 will have another solution. + * Don't bootstrap the snapshot with -fno-force-mem. Internal compiler + error :-( + * libf2c.a and f2c.h have changed names to libg2c.a and g2c.h and + have moved again into the gcc-lib dir. They are installed under + libg2c.a and g2c.h. Is it necessary to provide links f2c -> g2c ? + * debian/rules: reflect change of build dir of libraries. + + -- Matthias Klose Wed, 2 Jul 1998 13:15:28 +0200 + +egcs-snapshot (19980628-0.1) experimental; urgency=low + + * New upstream snapshot version. + * Non-maintainer upload; Matthias appears to be absent currently. + * Updated shlibs. + * Merged changes from regular egcs: + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, + so the .diff.gz becomes smaller. + * [debian/rules] Partial sync/update with the one for the regular egcs + version. + * [debian/rules] Make gcc/p/configure executable. + + -- J.H.M. Dassen (Ray) Wed, 1 Jul 1998 07:12:15 +0200 + +egcs (1.0.3a-0.6) frozen unstable; urgency=low + + * Some libg++ development files were in libstdc++2.8-dev rather than + libg++2.8-dev. Fixed this and dealt with upgrading from the earlier + versions (fixes #23908; this bug is not marked release-critical, but + is annoying and can be quite confusing for users. Therefore, I think + this fix should go in 2.0). + + -- J.H.M. Dassen (Ray) Tue, 30 Jun 1998 11:10:14 +0200 + +egcs (1.0.3a-0.5) frozen unstable; urgency=low + + * Fixed location of .hP files (Fixes #23448). + * [debian/rules] simplified extraction of the files for libg++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 17 Jun 1998 09:33:41 +0200 + +egcs (1.0.3a-0.4) frozen unstable; urgency=low + + * [gcc/gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; #ifdef HAVE_MKSTEMP delete the tempfile created + as a side effect. (fixes #23123 for egcs). + * [gcc/collect2.c] There's still a vulnerability here; I don't see how + I can fix it without leaving behind tempfiles though. + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, so the + .diff.gz becomes smaller. + + -- J.H.M. Dassen (Ray) Sat, 13 Jun 1998 09:06:52 +0200 + +egcs-snapshot (19980608-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 9 Jun 1998 14:07:44 +0200 + +egcs (1.0.3a-0.3) frozen unstable; urgency=high (security fixes) + + * [gcc/toplev.c] set flag_force_mem to 1 at optimisation level 3 or higher. + This works around #17768 which is considered release-critical. + * Changes by Matthias: + * [debian/README] Documentation of the compiler situation for Objective C. + * [debian/rules, debian/control.*] Generate control file from a master + file. + * [debian/rules] Updates for Pascal and Fortran parts; brings it in sync + with the one for the egcs snapshots. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + * Really compile -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP (really fixes #19453 + for egcs). + * [gcc/gcc.c] A couple of temp files weren't marked for deletion. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:56:22 +0200 + +egcs (1.0.3a-0.2) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for egcs). + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [gcc/choose-temp.c, libiberty/choose-temp.c]: use mktemp(3) if compiled + -DUSE_MKSTEMP . + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc/gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [gcc/f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + * Run the testsuite (this requires the dejagnu package in experimental; + unfortunately, it is difficult to distinguish this version from the one + in frozen). + if possible, and log the results in warn_summary and bootstrap-summary. + * [gcc/choose-temp.c, libiberty/choose-temp.c]: s|returh|return| in + comment. + * Added notes on the Debian compiler setup [debian/README] to the + development packages. + * Matthias: + * [libg++/etc/lf/Makefile.in] Replaced "-ltermcap" by "-lncurses". + * [debian/rules] Updated so it can be used for both egcs releases and + snapshots easily; added support for the GNU Pascal Compiler gpc. + * [contrib/test_summary, contrib/warn_summary] Added from CVS. + * Run compiler checks and include results in /usr/doc/. + * Updates to the README. + * [debian/rules] Use assignments to speed up startup. + * [debian/rules] Show the important variables at the start of the build + process. + * [debian/control.secondary] Added a dependency of gobjc on egcc on + architectures where egcs provides the secondary compiler, as + /usr/bin/egcc is the compiler driver for gobjc. (Fixes #22829). + * [debian/control.*] Bumped Standards-Version; used shorter version + numbers in the dependency relationships (esthetic difference only); + fixed typo. + + -- J.H.M. Dassen (Ray) Tue, 26 May 1998 21:47:41 +0200 + +egcs-snapshot (19980525-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 26 May 1998 18:04:06 +0200 + +egcs-snapshot (19980517-1) experimental; urgency=low + + * "Initial" release of the egcs-snapshot package; many debian/* files + derived from the egcs-1.0.3a-0.1 package (maintained by Galen Hazelwood + , NMU's by J.H.M. Dassen (Ray) ) + * The egcs-snapshot packages can coexist with the packages of the + egcs release. Package names have a '-ss' appended. + * All packages are installed in a separate tree (/usr/lib/egcs-ss following + the FHSS). + * Made all snapshot packages extra, all snapshot packages conflict + with correspondent egcs packages, which are newer than the snapshot. + * Included libg++-2.8.1-980505. + * Included GNU Pascal (gpc-980511). + * Haifa scheduler enabled for all snapshot packages. + * Run compiler checks and include results in /usr/doc/. + * Further information in /usr/doc//README.snapshot. + + -- Matthias Klose Wed, 20 May 1998 11:14:06 +0200 + +egcs (1.0.3a-0.1) frozen unstable; urgency=low + + * New upstream release egcs-2.90.29 980515 (egcs-1.0.3 release) + (we were using 1.0.3-prerelease). This includes the Haifa patches + we had since 1.0.3-0.2 and the gcc/objc/thr-posix.c patch we had + since 1.0.3-0.1; the differences with 1.0.3-prerelease + patches + we had is negligable. + * iostream info documentation was in the wrong package (libg++2.8-dev). + Now it's in libstdc++2.8-dev. (Thanks to Jens Rosenboom for bringing + this to my attention). As 1.0.3-0.3 didn't make it out of Incoming, + I'm not adding "Replaces:" for this; folks who had 1.0.3-0.3 installed + already know enough to use --force-overwrite. + * [gcc/objc/objc-act.c] Applied patch Matthias Klose supplied me with that + demangles Objective C method names in gcc error messages. + * Explicitly disable Haifa scheduling on Alpha, to make it easier to use + this package's diff with egcs snapshots, which may turn on Haifa + scheduling even though it is still unstable. (Requested by Chris Chimelis) + * Don't run "configure" again if builddir already exists (makes it faster + to restart builds in case one is hacking internals). Requested by + Johnnie Ingram. + * [gcc/gbl-ctors.h] Don't use extern declaration for atexit on glibc 2.1 + and higher (the prototype has probably changed; having the declaration + broke Sparc compiles). + * [debian/rules] Determine all version number automatically (from the + version string in gcc/version.c). + * [debian/copyright] Updated FTP locations; added text about libg++ (fixes + #22465). + + -- J.H.M. Dassen (Ray) Sat, 16 May 1998 17:41:44 +0200 + +egcs (1.0.3-0.3) frozen unstable; urgency=low + + * Made an "egcs-doc" package containing documentation for egcs (e)gcc, + g++, gobjc, so that administrators can choose whether to have this + documenation or the documentation that comes with the GNU gcc package. + Dependency on this is Recommends: on architectures where egcs provides + the primary C compiler; Suggests: on the others (where GNU gcc is still + the primary C compiler). + * Use the g++ FAQ from gcc/cp rather than libg++, as that version is more + up to date. + * Added iostream info documentation to libstdc++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 13 May 1998 08:46:10 +0200 + +egcs (1.0.3-0.2) frozen unstable; urgency=low + + * Added libg++ that works with egcs, found at + ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980505.tar.gz + (fixes #20587 (Severity: important)). + * The "libg++" and "libg++-dev" virtual packages now refer to the GNU + extensions. + * Added the g++ FAQ that comes with libg++ to the g++ package. + * libg++/Makefile.in: added $(srcdir) to rule for g++FAQ.info so that it + builds OK in builddir. + * Added -D__i386__ to the cpp predefines on intel. + * Patches Matthias supplied me with: + * Further 1.0.3 prerelease patches from CVS. + This includes patches to the Haifa scheduler. Alpha porters, please + check if this makes the Haifa scheduler OK again. + * Objective C patches from CVS. + + -- J.H.M. Dassen (Ray) Fri, 8 May 1998 14:43:20 +0200 + +egcs (1.0.3-0.1) frozen unstable; urgency=low (high for maintainers that use objc) + + * bug fixes only in new upstream version + * Applied patches from egcs CVS archive (egcs_1_03_prerelease) + (see gcc/ChangeLog in the egcs source package). + * libstdc++2.8-dev no longer Provides: libg++-dev (fixes #21153). + * libstdc++2.8-dev now Conflicts: libg++27-dev (bo), + libg++272-dev (hamm) [regular packages] rather than + Conflicts: libg++-dev [virtual package] to prepare the way for "libg++" + to be used as a virtual package for a new libg++ package (i.e. an up to + date one, which not longer contains libstdc++, but only the GNU + extensions) that is compatible with the egcs g++ packages. Such a package + isn't available yet. Joel Klecker tried building libg++2.8.1.1a within + egcs's libstdc++ setup, but it appears to need true gcc 2.8.1 . + * Filed Severity: important bugs against wxxt1-dev (#21707) because these + still depend on libg++-dev, which is removed in this version. + A fixed libsidplay1-dev has already been uploaded. + * libstdc++2.8 is now Section: base and Priority: required (as dselect is + linked against it). + * Disabled Haifa scheduling on Alpha again; Chris Chimelis reported + that this caused problems on some machines. + * [gcc/extend.texi] + ftp://maya.idiap.ch/pub/tmb/usenix88-lexic.ps.Z is no longer available; + use http://master.debian.org/~karlheg/Usenix88-lexic.pdf . + (fixes the egcs part of #20002). + * Updated Standards-Version. + * Changed chmod in debian/rules at Johnie Ingram's request. + * Rather than hardwire the Debian part of the packages' version number, + extract it from debian/changelog . + * Use gcc/objc/thr-posix.c from 980418 egcs snapshot to make objc work. + (Fixes #21192). + * Applied workaround for the GNUstep packages on sparc systems. + See README.sparc (on sparc packages only) in the doc directory. + This affects the other compilers as well. + * Already done in 1.0.2-0.7: the gobjc package now provides a virtual + package objc-compiler. + + -- J.H.M. Dassen (Ray) Tue, 28 Apr 1998 12:05:28 +0200 + +egcs (1.0.2-0.7) frozen unstable; urgency=low + + * Separated out Objective-C compiler. + * Applied patch from http://www.cygnus.com/ml/egcs/1998-Apr/0614.html + + -- Matthias Klose Fri, 17 Apr 1998 10:25:48 +0200 + +egcs (1.0.2-0.6) frozen unstable; urgency=low + + * Due to upstream changes (libg++ is now only the GNU specific C++ + classes, and is no longer maintained; libstdc++ contains the C++ + standard library, including STL), the virtual "libg++-dev" + package's meaning has become confusing. Therefore, new or updated + packages should no longer use the virtual "libg++-dev" package. + * Corrected g++'s Recommends to libstdc++2.8-dev (>=2.90.27-0.1). + The previous version had Recommends: libstdc++-dev (>=2.90.27-0.1) + which doesn't work, as libstc++-dev is a virtual package. + * Bumped Standards-Version. + + -- J.H.M. Dassen (Ray) Tue, 14 Apr 1998 11:52:08 +0200 + +egcs (1.0.2-0.5) frozen unstable; urgency=low (high for maintainers of packages that use libstdc++) + + * Modified shlibs file for libstdc++ to generate versioned dependencies, + as it is not link compatible with the 1.0.1-x versions in + project/experimental. (Fixes #20247, #20033) + Packages depending on libstd++ should be recompiled to fix their + dependencies. + * Strenghtened g++'s Recommends: libstdc++-dev to the 1.0.2 version or + newer. + * Fixed problems with the unknown(7) symlink for gcov. + * Reordering links now works. + + -- Adam Heath Sun, 12 Apr 1998 13:09:30 -0400 + +egcs (1.0.2-0.4) frozen unstable; urgency=low + + * Unreleased. This is the version Adam Heath received from me. + * Replaces: gcc (<= 2.7.2.3-3) so that the overlap with the older gcc + packages (including bo's gcc_2.7.2.1-8) is handled properly + (fixes #19931, #19672, #20217, #20593). + * Alpha architecture (fixes #20875): + * Patched gcc/config/alpha/linux.h for the gmon functions to operate + properly. + * Made egcs the primary C compiler. + * Enabled Hafia scheduling. + * Lintian-detected problems: + * E: libstdc++2.8: ldconfig-symlink-before-shlib-in-deb usr/lib/libstdc++.so.2.8 + * E: egcc: binary-without-manpage gcov + Reported as wishlist bug; added link to undocumented(7). + * W: libstdc++2.8: non-standard-executable-perm usr/lib/libstdc++.so.2.8.0 0555 + * E: libstdc++2.8: shlib-with-executable-bit usr/lib/libstdc++.so.2.8.0 0555 + + -- J.H.M. Dassen (Ray) Fri, 10 Apr 1998 14:46:46 +0200 + +egcs (1.0.2-0.3) frozen unstable; urgency=low + + * Really fixed dependencies. + + -- J.H.M. Dassen (Ray) Mon, 30 Mar 1998 11:30:26 +0200 + +egcs (1.0.2-0.2) frozen unstable; urgency=low + + * Fixed dependencies. + + -- J.H.M. Dassen (Ray) Sat, 28 Mar 1998 13:58:58 +0100 + +egcs (1.0.2-0.1) frozen unstable; urgency=low + + * New upstream version; it now has -Di386 in CPP_PREDEFINES. + * Only used the debian/* patches from 1.0.1-2; the rest of it appears + to be in 1.0.2 already. + + -- J.H.M. Dassen (Ray) Fri, 27 Mar 1998 11:47:14 +0100 + +egcs (1.0.1-2) unstable; urgency=low + + * Integrated pre-release 1.0.2 patches + * Split out g++ + * egcs may now provide either the primary or secondary C compiler + + -- Galen Hazelwood Sat, 14 Mar 1998 14:15:32 -0700 + +egcs (1.0.1-1) unstable; urgency=low + + * New upstream version + * egcs is now the standard Debian gcc! + * gcc now provides c-compiler (#15248 et al.) + * g77 now provides fortran77-compiler + * g77 dependencies now correct (#16991) + * /usr/doc/gcc/changelog.gz now has correct permissions (#16139) + + -- Galen Hazelwood Sat, 7 Feb 1998 19:22:30 -0700 + +egcs (1.0-1) experimental; urgency=low + + * First official release + + -- Galen Hazelwood Thu, 4 Dec 1997 16:30:11 -0700 + +egcs (970917-1) experimental; urgency=low + + * New upstream snapshot (There's a lot of stuff here as well, including + a new libstdc++, but it _still_ won't build...) + * eg77 driver now works properly + + -- Galen Hazelwood Wed, 17 Sep 1997 20:44:29 -0600 + +egcs (970904-1) experimental; urgency=low + + * New upstream snapshot + + -- Galen Hazelwood Sun, 7 Sep 1997 18:25:06 -0600 + +egcs (970814-1) experimental; urgency=low + + * Initial packaging (of initial snapshot!) + + -- Galen Hazelwood Wed, 20 Aug 1997 00:36:28 +0000 + +gcc272 (2.7.2.3-12) unstable; urgency=low + + * Compiled on a glibc-2.0 based system. + * Reflect move of manpage to /usr/share in gcc.postinst as well. + * Moved gcc272-docs to section doc, priority optional. + + -- Matthias Klose Sat, 28 Aug 1999 13:42:13 +0200 + +gcc272 (2.7.2.3-11) unstable; urgency=low + + * Follow Debian policy for GNU system type (fixes #42657). + * config/i386/linux.h: Remove %[cpp_cpu] from CPP_SPEC. Stops gcc-2.95 + complaining about obsolete spec operators (using gcc -V 2.7.2.3). + Patch suggested by Zack Weinberg . + + -- Matthias Klose Sun, 15 Aug 1999 20:12:21 +0200 + +gcc272 (2.7.2.3-10) unstable; urgency=low + + * Renamed source package to gcc272. The egcs source package is renamed + to gcc, because it's now the "official" GNU C compiler. + * Changed maintainer address to "Debian GCC maintainers". + * Install info and man stuff to /usr/share. + + -- Matthias Klose Thu, 27 May 1999 12:29:23 +0200 + +gcc (2.7.2.3-9) unstable; urgency=low + + * debian/{postinst,prerm}-doc: handle gcc272.info, not gcc.info. + Fixes #36306. + + -- Matthias Klose Tue, 20 Apr 1999 07:32:58 +0200 + +gcc (2.7.2.3-8) unstable; urgency=low + + * Make gcc-2.7 the secondary compiler. Rename gcc package to gcc272. + On i386, sparc and m68k, this package is compiled against glibc2.0. + * The cpp package is built from the egcs source package. + + -- Matthias Klose Mon, 29 Mar 1999 22:48:50 +0200 + +gcc (2.7.2.3-7) frozen unstable; urgency=low + + * Separated out ObjC compiler to gobjc27 package. + * Changed maintainer address. + * Synchronized README.Debian with egcs-1.1.1-3. + + -- Matthias Klose Tue, 29 Dec 1998 19:05:26 +0100 + +gcc (2.7.2.3-6) frozen unstable; urgency=low + + * Link with -lc on i386, m68k, sparc, when building shared libraries + (fixes #25122). + + -- Matthias Klose Thu, 3 Dec 1998 12:12:12 +0200 + +gcc (2.7.2.3-5) frozen unstable; urgency=low + + * Updated maintainer info. + * Updated Standards-Version; made lintian-clean. + * gcc-docs can coexist with the latest egcs-docs, so added (<= version) to + the Conflicts. + * Updated the README and renamed it to README.Debian . + * Put a reference to /usr/doc/gcc/README.Debian in the info docs. + * Updated description of g++272 . + * Clean up generated info files, to keep the diff small. + + -- J.H.M. Dassen (Ray) Tue, 17 Nov 1998 20:05:59 +0100 + +gcc (2.7.2.3-4.8) frozen unstable; urgency=high + + * Non-maintainer release + * Fix type in extended description + * Removed wrong test in postinst + * Add preinst to clean up some stuff from an older gcc package properly + and stop man complaining about dangling symlinks + + -- Wichert Akkerman Fri, 17 Jul 1998 18:48:32 +0200 + +gcc (2.7.2.3-4.7) frozen unstable; urgency=high + + * Really fixed gcc-docs postinst (Fixes #23470), so that `gcc-docs' + becomes installable. + + -- J.H.M. Dassen (Ray) Mon, 15 Jun 1998 07:53:40 +0200 + +gcc (2.7.2.3-4.6) frozen unstable; urgency=high + + * [gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; + #ifdef HAVE_MKSTEMP delete the tempfile created as a side effect. + (fixes #23123 for gcc). + * gcc-docs postinst was broken (due to a broken line) (fixes #23391, #23401). + * [debian/control] description for gcc-docs said `egcs' where it should have + said `gcc' (fixes #23396). + + -- J.H.M. Dassen (Ray) Thu, 11 Jun 1998 12:48:50 +0200 + +gcc (2.7.2.3-4.5) frozen unstable; urgency=high + + * The previous version left temporary files behind, as they were not + marked for deletion afterwards. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:49:14 +0200 + +gcc (2.7.2.3-4.4) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for gcc): + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [cp/g++.c, collect2.c, gcc.c] If compiled -DHAVE_MKSTEMP use mkstemp(3) + rather than mktemp(3). + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + + -- J.H.M. Dassen (Ray) Sat, 30 May 1998 17:27:03 +0200 + +gcc (2.7.2.3-4.3) frozen unstable; urgency=high + + * The "alpha" patches from -4 affected a lot more than alpha support, + and in all likeliness broke compilation of libc6 2.0.7pre3-1 + and 2.0.7pre1-4 . I removed them by selective application of the + diff between -4 and -4. (should fix #22292). + * Fixed reference to the trampolines paper (fixes #20002 for Debian; + this still needs to be forwarded). + * This is for frozen too. (obsoletes #22390 (request to move -4.2 to + frozen)). + * Split of gcc-docs package, so that the gcc can be succesfully installed + on systems that have egcs-docs installed. + * Added the README on the compiler situation that's already in the egcs + packages. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + + -- J.H.M. Dassen (Ray) Thu, 28 May 1998 20:03:59 +0200 + +gcc (2.7.2.3-4.2) unstable; urgency=low + + * Still for unstable, as I have received no feedback about the g++272 + package yet. + * gcc now Provides: objc-compiler . + * Clean up /etc/alternatives/{g++,g++.1.gz} if they are dangling. + (fixes #19765, #20563) + + -- J.H.M. Dassen (Ray) Wed, 22 Apr 1998 12:40:45 +0200 + +gcc (2.7.2.3-4.1) unstable; urgency=low + + * Bumped Standards-Version. + * Forked off a g++272 package (e.g. for code that uses the GNU extensions + in libg++); for now this is in "unstable" only; feedback appreciated. + * Some cleanup (lintian): permissions, absolute link, gzip manpage. + + -- J.H.M. Dassen (Ray) Fri, 17 Apr 1998 13:05:25 +0200 + +gcc (2.7.2.3-4) unstable; urgency=low + + * Added alpha patches + * Only build C and objective-c compilers, split off g++ + + -- Galen Hazelwood Sun, 8 Mar 1998 21:16:39 -0700 + +gcc (2.7.2.3-3) unstable; urgency=low + + * Added patches for m68k + * Added patches for sparc (#13968) + + -- Galen Hazelwood Fri, 17 Oct 1997 18:25:21 -0600 + +gcc (2.7.2.3-2) unstable; urgency=low + + * Added g77 support (g77 0.5.21) + + -- Galen Hazelwood Wed, 10 Sep 1997 18:44:54 -0600 + +gcc (2.7.2.3-1) unstable; urgency=low + + * New upstream version + * Now using pristine source + * Removed misplaced paragraph in cpp.texi (#10877) + * Fix security bug for temporary files (#5298) + * Added Suggests: libg++-dev (#12335) + * Patched objc/thr-posix.c to support conditions (#12502) + + -- Galen Hazelwood Mon, 8 Sep 1997 12:20:07 -0600 + +gcc (2.7.2.2-7) unstable; urgency=low + + * Made cc and c++ managed through alternates mechanism (for egcs) + + -- Galen Hazelwood Tue, 19 Aug 1997 22:37:03 +0000 + +gcc (2.7.2.2-6) unstable; urgency=low + + * Tweaked Objective-C thread support (#11069) + + -- Galen Hazelwood Wed, 9 Jul 1997 11:56:57 -0600 + +gcc (2.7.2.2-5) unstable; urgency=low + + * More updated m68k patches + * Now conflicts with libc5-dev (#10006, #10112) + * More strict Depends: cpp, prevents version mismatch (#9954) + + -- Galen Hazelwood Thu, 19 Jun 1997 01:29:02 -0600 + +gcc (2.7.2.2-4) unstable; urgency=low + + * Moved to unstable + * Temporarily removed fortran support (waiting for new g77) + * Updated m68k patches + + -- Galen Hazelwood Fri, 9 May 1997 13:35:14 -0600 + +gcc (2.7.2.2-3) experimental; urgency=low + + * Built against libc6 (fixes bug #8511) + + -- Galen Hazelwood Fri, 4 Apr 1997 13:30:10 -0700 + +gcc (2.7.2.2-2) experimental; urgency=low + + * Fixed configure to build crt{begin,end}S.o on i386 + + -- Galen Hazelwood Tue, 11 Mar 1997 16:15:02 -0700 + +gcc (2.7.2.2-1) experimental; urgency=low + + * Built for use with libc6-dev (experimental purposes only!) + * Added m68k patches from Andreas Schwab + + -- Galen Hazelwood Fri, 7 Mar 1997 12:44:17 -0700 + +gcc (2.7.2.1-7) unstable; urgency=low + + * Patched to support g77 0.5.20 + + -- Galen Hazelwood Thu, 6 Mar 1997 22:20:23 -0700 + +gcc (2.7.2.1-6) unstable; urgency=low + + * Added (small) manpage for protoize/unprotoize (fixes bug #6904) + * Removed -lieee from specs file (fixes bug #7741) + * No longer builds aout-gcc + + -- Galen Hazelwood Mon, 3 Mar 1997 11:10:20 -0700 + +gcc (2.7.2.1-5) unstable; urgency=low + + * debian/control now lists cpp in section "interpreters" + * Re-added Objective-c patches for unstable + + -- Galen Hazelwood Wed, 22 Jan 1997 10:27:52 -0700 + +gcc (2.7.2.1-4) stable unstable; urgency=low + + * Changed original source file so dpkg-source -x works + * Removed Objective-c patches (unsafe for stable) + * Built against rex's libc, so fixes placed in -3 are available to + those still using rex + + -- Galen Hazelwood Tue, 21 Jan 1997 11:11:53 -0700 + +gcc (2.7.2.1-3) unstable; urgency=low + + * New (temporary) maintainer + * Updated to new standards and source format + * Integrated aout-gcc into gcc source package + * Demoted aout-gcc to Priority "extra" + * cpp package description more clear (fixes bug #5428) + * Removed cpp "Replaces: gcc" (fixes bug #5762) + * Minor fix to invoke.texi (fixes bug #2909) + * Added latest Objective-C patches for GNUstep people (fixes bug #4657) + + -- Galen Hazelwood Sun, 5 Jan 1997 09:57:36 -0700 diff --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..32405f2 --- /dev/null +++ b/control @@ -0,0 +1,5668 @@ +Source: gcc-14 +Section: devel +Priority: optional +Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 4.7.0 +Build-Depends: debhelper (>= 11), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32] , + libc6.1-dev (>= 2.23-1~) [alpha ia64] | libc0.3-dev (>= 2.23-1~) [hurd-amd64 hurd-i386] | libc6-dev (>= 2.23-1~), libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], lib32gcc-s1 [amd64 ppc64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc-s1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc-s1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc-s1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-amd64 hurd-i386] | libc6-dbg, + linux-libc-dev [m68k], + m4, libtool, autoconf2.69, + dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64], + gawk, lzma, xz-utils, patchutils, + libzstd-dev, zlib1g-dev, systemtap-sdt-dev [linux-any], + binutils:native (>= 2.39), binutils-hppa64-linux-gnu:native (>= 2.39) [hppa amd64 i386 x32], + gperf, bison, flex, + gettext, nvptx-tools [amd64 arm64 ppc64el], amdgcn-tools-19 [amd64], + texinfo, locales-all, sharutils, + procps, gnat-14:native [!arc !ia64 !sh3 !sh3eb !sh4eb !m68k], g++-14:native [!m68k], gnat-13:native [m68k], g++-13:native [m68k], netbase, gdc-14:native [!alpha !arc !ia64 !m68k !sh4 !s390 !sparc64 !hurd-amd64 !hurd-i386], python3:any, cargo [!alpha !hppa !ia64 !m68k !sh4 !x32], + libisl-dev (>= 0.20), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64], lib64z1-dev [i386], unzip , + dejagnu , git , coreutils, chrpath, lsb-release, quilt, time, + pkgconf, libgc-dev, + g++-14-for-host , gobjc-14-for-host [!avr] , gfortran-14-for-host , gdc-14-for-host [!alpha !arc !ia64 !m68k !sh4 !s390 !sparc64 !hurd-amd64 !hurd-i386] , gccgo-14-for-host [!arc !avr !hppa !loong64 !m68k !sh4] , gnat-14-for-host [!arc !ia64 !sh3 !sh3eb !sh4eb] , gm2-14-for-host [!powerpc !ppc64 !sh4] , +Build-Depends-Indep: doxygen , graphviz , ghostscript , texlive-latex-base , xsltproc , libxml2-utils , docbook-xsl-ns , +Homepage: http://gcc.gnu.org/ +Vcs-Browser: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-14-debian +Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-14-debian +XS-Testsuite: autopkgtest +Rules-Requires-Root: binary-targets + +Package: gcc-14-base +Architecture: any +Multi-Arch: same +Section: libs +Depends: ${misc:Depends} +Replaces: ${base:Replaces} +Breaks: ${base:Breaks} +Description: GCC, the GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). + +Package: libgcc-s1 +X-DH-Build-For-Type: target +Architecture: any +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: libgcc1 (= ${gcc:EpochVersion}), +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +XB-Important: yes +Protected: yes +Breaks: ${libgcc:Breaks} +Replaces: libgcc1 (<< 1:10) +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc-s2 +X-DH-Build-For-Type: target +Architecture: m68k +Section: libs +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +XB-Important: yes +Protected: yes +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: libgcc2 (= ${gcc:EpochVersion}), +Breaks: ${libgcc:Breaks} +Replaces: libgcc2 (<< 1:10) +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc-s4 +X-DH-Build-For-Type: target +Architecture: hppa +Multi-Arch: same +XB-Important: yes +Protected: yes +Pre-Depends: ${misc:Pre-Depends} +Provides: libgcc4 (= ${gcc:EpochVersion}) +Breaks: ${libgcc:Breaks} +Replaces: libgcc4 (<< 1:10) +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libgcc-14-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Recommends: ${dep:libcdev} +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm}, + ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan}, + ${dep:libtsan}, ${dep:libubsan}, ${dep:libhwasan}, ${dep:libvtv}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +Breaks: libtsan2 (<< 12-20211113-2~) +Replaces: libtsan2 (<< 12-20211113-2~) +Multi-Arch: same +Description: GCC support library (development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: lib64gcc-s1 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Breaks: lib64gcc1 (<< 1:10) +Replaces: lib64gcc1 (<< 1:10) +Description: GCC support library (64bit) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: lib64gcc-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Recommends: ${dep:libcdev} +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library (64bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: lib32gcc-s1 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: ${confl:lib32} +Breaks: lib32gcc1 (<< 1:10) +Replaces: lib32gcc1 (<< 1:10) +Description: GCC support library (32 bit Version) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: lib32gcc-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Recommends: ${dep:libcdev} +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library (32 bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libn32gcc-s1 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Breaks: libn32gcc1 (<< 1:10) +Replaces: libn32gcc1 (<< 1:10) +Conflicts: lib32gcc-s1 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: GCC support library (n32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libn32gcc-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Recommends: ${dep:libcdev} +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library (n32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: libx32gcc-s1 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Breaks: libx32gcc1 (<< 1:10) +Replaces: libx32gcc1 (<< 1:10) +Description: GCC support library (x32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. + +Package: libx32gcc-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Recommends: ${dep:libcdev} +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library (x32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. + +Package: gcc-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: cpp-14-alpha-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-alpha-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-alpha-linux-gnu +Description: GNU C compiler for the alpha-linux-gnu architecture + This is the GNU C compiler for the alpha-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: cpp-14-x86-64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-x86-64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-x86-64-linux-gnu +Description: GNU C compiler for the x86_64-linux-gnu architecture + This is the GNU C compiler for the x86_64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: cpp-14-arm-linux-gnueabi (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-arm-linux-gnueabi (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-arm-linux-gnueabi +Description: GNU C compiler for the arm-linux-gnueabi architecture + This is the GNU C compiler for the arm-linux-gnueabi architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: cpp-14-arm-linux-gnueabihf (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-arm-linux-gnueabihf (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-arm-linux-gnueabihf +Description: GNU C compiler for the arm-linux-gnueabihf architecture + This is the GNU C compiler for the arm-linux-gnueabihf architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: cpp-14-aarch64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-aarch64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-aarch64-linux-gnu +Description: GNU C compiler for the aarch64-linux-gnu architecture + This is the GNU C compiler for the aarch64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: cpp-14-i686-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-i686-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-i686-linux-gnu +Description: GNU C compiler for the i686-linux-gnu architecture + This is the GNU C compiler for the i686-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: cpp-14-loongarch64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-loongarch64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-loongarch64-linux-gnu +Description: GNU C compiler for the loongarch64-linux-gnu architecture + This is the GNU C compiler for the loongarch64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: cpp-14-mipsel-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsel-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsel-linux-gnu +Description: GNU C compiler for the mipsel-linux-gnu architecture + This is the GNU C compiler for the mipsel-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: cpp-14-mips64-linux-gnuabi64 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mips64-linux-gnuabi64 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mips64-linux-gnuabi64 +Description: GNU C compiler for the mips64-linux-gnuabi64 architecture + This is the GNU C compiler for the mips64-linux-gnuabi64 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: cpp-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mips64el-linux-gnuabi64 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mips64el-linux-gnuabi64 +Description: GNU C compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU C compiler for the mips64el-linux-gnuabi64 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: cpp-14-mips64-linux-gnuabin32 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mips64-linux-gnuabin32 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mips64-linux-gnuabin32 +Description: GNU C compiler for the mips64-linux-gnuabin32 architecture + This is the GNU C compiler for the mips64-linux-gnuabin32 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: cpp-14-powerpc-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-powerpc-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-powerpc-linux-gnu +Description: GNU C compiler for the powerpc-linux-gnu architecture + This is the GNU C compiler for the powerpc-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: cpp-14-powerpc64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-powerpc64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-powerpc64-linux-gnu +Description: GNU C compiler for the powerpc64-linux-gnu architecture + This is the GNU C compiler for the powerpc64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: cpp-14-powerpc64le-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-powerpc64le-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-powerpc64le-linux-gnu +Description: GNU C compiler for the powerpc64le-linux-gnu architecture + This is the GNU C compiler for the powerpc64le-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: cpp-14-m68k-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-m68k-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-m68k-linux-gnu +Description: GNU C compiler for the m68k-linux-gnu architecture + This is the GNU C compiler for the m68k-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: cpp-14-riscv64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-riscv64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-riscv64-linux-gnu +Description: GNU C compiler for the riscv64-linux-gnu architecture + This is the GNU C compiler for the riscv64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Depends: cpp-14-sh4-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-sh4-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-sh4-linux-gnu +Description: GNU C compiler for the sh4-linux-gnu architecture + This is the GNU C compiler for the sh4-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: cpp-14-sparc-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-sparc-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-sparc-linux-gnu +Description: GNU C compiler for the sparc-linux-gnu architecture + This is the GNU C compiler for the sparc-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: cpp-14-sparc64-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-sparc64-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-sparc64-linux-gnu +Description: GNU C compiler for the sparc64-linux-gnu architecture + This is the GNU C compiler for the sparc64-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: cpp-14-s390x-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-s390x-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-s390x-linux-gnu +Description: GNU C compiler for the s390x-linux-gnu architecture + This is the GNU C compiler for the s390x-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: cpp-14-x86-64-linux-gnux32 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-x86-64-linux-gnux32 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-x86-64-linux-gnux32 +Description: GNU C compiler for the x86_64-linux-gnux32 architecture + This is the GNU C compiler for the x86_64-linux-gnux32 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: cpp-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mips64el-linux-gnuabin32 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mips64el-linux-gnuabin32 +Description: GNU C compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU C compiler for the mips64el-linux-gnuabin32 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: cpp-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa32r6-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa32r6-linux-gnu +Description: GNU C compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU C compiler for the mipsisa32r6-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: cpp-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa32r6el-linux-gnu (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa32r6el-linux-gnu +Description: GNU C compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU C compiler for the mipsisa32r6el-linux-gnu architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: cpp-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa64r6-linux-gnuabi64 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa64r6-linux-gnuabi64 +Description: GNU C compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU C compiler for the mipsisa64r6-linux-gnuabi64 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: cpp-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa64r6el-linux-gnuabi64 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa64r6el-linux-gnuabi64 +Description: GNU C compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU C compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: cpp-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa64r6-linux-gnuabin32 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa64r6-linux-gnuabin32 +Description: GNU C compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU C compiler for the mipsisa64r6-linux-gnuabin32 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: cpp-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils-mipsisa64r6el-linux-gnuabin32 (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler-mipsisa64r6el-linux-gnuabin32 +Description: GNU C compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU C compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + a fairly portable optimizing compiler for C. + +Package: gcc-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), + cpp-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU C compiler for the host architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gcc-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gcc-14 (>= ${gcc:Version}), cpp-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU C compiler for the build architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package. + +Package: gcc-14 +Architecture: any +Depends: gcc-14${target:suffix} (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), + cpp-14 (= ${gcc:Version}), + binutils (>= ${binutils:Version}), + ${misc:Depends} +Recommends: ${dep:libcdev} +Replaces: cpp-14 (<< 7.1.1-8) +Suggests: ${gcc:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}), + gcc-14-locales (>= ${gcc:SoftVersion}), +Provides: c-compiler +Description: GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU C compiler (multilib support) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gcc-14-test-results +Architecture: any +Depends: gcc-14-base (= ${gcc:Version}), ${misc:Depends} +Replaces: g++-5 (<< 5.2.1-28) +Description: Test results for the GCC test suite + This package contains the test results for running the GCC test suite + for a post build analysis. + +Package: gcc-14-plugin-dev +Architecture: any +Depends: gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), libgmp-dev (>= 2:5.0.1~), libmpc-dev (>= 1.0), ${shlibs:Depends}, ${misc:Depends} +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. + +Package: gcc-14-hppa64-linux-gnu +Architecture: hppa amd64 i386 x32 +Depends: gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), + binutils-hppa64-linux-gnu | binutils-hppa64, + ${shlibs:Depends}, ${misc:Depends} +Description: GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: cpp-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for alpha-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for alpha-linux-gnu architecture but not + the compiler. + +Package: cpp-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for x86_64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for x86_64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for arm-linux-gnueabi + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for arm-linux-gnueabi architecture but not + the compiler. + +Package: cpp-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for arm-linux-gnueabihf + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for arm-linux-gnueabihf architecture but not + the compiler. + +Package: cpp-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for aarch64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for aarch64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for i686-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for i686-linux-gnu architecture but not + the compiler. + +Package: cpp-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for loongarch64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for loongarch64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsel-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsel-linux-gnu architecture but not + the compiler. + +Package: cpp-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mips64-linux-gnuabi64 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mips64-linux-gnuabi64 architecture but not + the compiler. + +Package: cpp-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mips64el-linux-gnuabi64 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mips64el-linux-gnuabi64 architecture but not + the compiler. + +Package: cpp-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mips64-linux-gnuabin32 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mips64-linux-gnuabin32 architecture but not + the compiler. + +Package: cpp-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for powerpc-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for powerpc-linux-gnu architecture but not + the compiler. + +Package: cpp-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for powerpc64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for powerpc64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for powerpc64le-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for powerpc64le-linux-gnu architecture but not + the compiler. + +Package: cpp-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for m68k-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for m68k-linux-gnu architecture but not + the compiler. + +Package: cpp-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for riscv64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for riscv64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for sh4-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for sh4-linux-gnu architecture but not + the compiler. + +Package: cpp-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for sparc-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for sparc-linux-gnu architecture but not + the compiler. + +Package: cpp-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for sparc64-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for sparc64-linux-gnu architecture but not + the compiler. + +Package: cpp-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for s390x-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for s390x-linux-gnu architecture but not + the compiler. + +Package: cpp-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for x86_64-linux-gnux32 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for x86_64-linux-gnux32 architecture but not + the compiler. + +Package: cpp-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mips64el-linux-gnuabin32 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mips64el-linux-gnuabin32 architecture but not + the compiler. + +Package: cpp-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa32r6-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa32r6-linux-gnu architecture but not + the compiler. + +Package: cpp-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa32r6el-linux-gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa32r6el-linux-gnu architecture but not + the compiler. + +Package: cpp-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa64r6-linux-gnuabi64 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa64r6-linux-gnuabi64 architecture but not + the compiler. + +Package: cpp-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa64r6el-linux-gnuabi64 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa64r6el-linux-gnuabi64 architecture but not + the compiler. + +Package: cpp-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa64r6-linux-gnuabin32 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa64r6-linux-gnuabin32 architecture but not + the compiler. + +Package: cpp-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}), cpp-14-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor for mipsisa64r6el-linux-gnuabin32 + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for mipsisa64r6el-linux-gnuabin32 architecture but not + the compiler. + +Package: cpp-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), cpp-14${target:suffix} (>= ${gcc:SoftVersion}), ${misc:Depends} +Description: GNU C preprocessor for the host architecture + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for the host architecture but not + the compiler. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: cpp-14-for-build +Architecture: all +Multi-Arch: foreign +Section: interpreters +Depends: gcc-14-base (>= ${gcc:SoftVersion}), cpp-14 (>= ${gcc:Version}), ${misc:Depends} +Description: GNU C preprocessor for the build architecture + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for the build architecture but not + the compiler. + . + This is a dependency package. + +Package: cpp-14 +Architecture: any +Section: interpreters +Depends: gcc-14-base (= ${gcc:Version}), cpp-14${target:suffix} (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-locales (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +Description: GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + +Package: gcc-14-locales +Architecture: all +Depends: gcc-14-base (>= ${gcc:SoftVersion}), cpp-14 (>= ${gcc:SoftVersion}), ${misc:Depends} +Recommends: gcc-14 (>= ${gcc:SoftVersion}) +Description: GCC, the GNU compiler collection (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. + +Package: g++-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-alpha-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-alpha-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for alpha-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for alpha-linux-gnu architecture. + +Package: g++-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-x86-64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for x86_64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for x86_64-linux-gnu architecture. + +Package: g++-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabi (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-arm-linux-gnueabi +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for arm-linux-gnueabi architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for arm-linux-gnueabi architecture. + +Package: g++-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabihf (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-arm-linux-gnueabihf +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for arm-linux-gnueabihf architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for arm-linux-gnueabihf architecture. + +Package: g++-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-aarch64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-aarch64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for aarch64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for aarch64-linux-gnu architecture. + +Package: g++-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-i686-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-i686-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for i686-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for i686-linux-gnu architecture. + +Package: g++-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-loongarch64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-loongarch64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for loongarch64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for loongarch64-linux-gnu architecture. + +Package: g++-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsel-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsel-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsel-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsel-linux-gnu architecture. + +Package: g++-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabi64 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mips64-linux-gnuabi64 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mips64-linux-gnuabi64 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mips64-linux-gnuabi64 architecture. + +Package: g++-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mips64el-linux-gnuabi64 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mips64el-linux-gnuabi64 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mips64el-linux-gnuabi64 architecture. + +Package: g++-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabin32 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mips64-linux-gnuabin32 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mips64-linux-gnuabin32 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mips64-linux-gnuabin32 architecture. + +Package: g++-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-powerpc-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for powerpc-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for powerpc-linux-gnu architecture. + +Package: g++-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-powerpc64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for powerpc64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for powerpc64-linux-gnu architecture. + +Package: g++-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64le-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-powerpc64le-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for powerpc64le-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for powerpc64le-linux-gnu architecture. + +Package: g++-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-m68k-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-m68k-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for m68k-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for m68k-linux-gnu architecture. + +Package: g++-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-riscv64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-riscv64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for riscv64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for riscv64-linux-gnu architecture. + +Package: g++-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sh4-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-sh4-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for sh4-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for sh4-linux-gnu architecture. + +Package: g++-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-sparc-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for sparc-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for sparc-linux-gnu architecture. + +Package: g++-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc64-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-sparc64-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for sparc64-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for sparc64-linux-gnu architecture. + +Package: g++-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-s390x-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-s390x-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for s390x-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for s390x-linux-gnu architecture. + +Package: g++-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnux32 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-x86-64-linux-gnux32 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for x86_64-linux-gnux32 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for x86_64-linux-gnux32 architecture. + +Package: g++-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mips64el-linux-gnuabin32 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mips64el-linux-gnuabin32 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mips64el-linux-gnuabin32 architecture. + +Package: g++-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa32r6-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa32r6-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa32r6-linux-gnu architecture. + +Package: g++-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa32r6el-linux-gnu +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa32r6el-linux-gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa32r6el-linux-gnu architecture. + +Package: g++-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa64r6-linux-gnuabi64 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa64r6-linux-gnuabi64 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa64r6-linux-gnuabi64 architecture. + +Package: g++-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa64r6el-linux-gnuabi64 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa64r6el-linux-gnuabi64 architecture. + +Package: g++-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa64r6-linux-gnuabin32 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa64r6-linux-gnuabin32 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa64r6-linux-gnuabin32 architecture. + +Package: g++-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler-mipsisa64r6el-linux-gnuabin32 +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Description: GNU C++ compiler for mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for mipsisa64r6el-linux-gnuabin32 architecture. + +Package: g++-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), g++-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU C++ compiler for the host architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for the host architecture. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: g++-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14 (>= ${gcc:Version}), ${misc:Depends}, + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}) +Description: GNU C++ compiler for the build architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for arch_gnu architecture. + . + This is a dependency package. + +Package: g++-14 +Architecture: any +Depends: g++-14${target:suffix} (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${misc:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: ${gxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + +Package: g++-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), g++-14 (= ${gcc:Version}), gcc-14-multilib (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libcxxbiarchdbg} +Description: GNU C++ compiler (multilib support) + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgomp1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib32gomp1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: lib64gomp1 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libn32gomp1 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32gomp1 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: GCC OpenMP (GOMP) support library (n32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libx32gomp1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP (GOMP) support library (x32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +Package: libitm1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib32itm1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GNU Transactional Memory Library (32bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +Package: lib64itm1 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library (64bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32itm`'ITM_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32itm`'ITM_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32 debug symbols) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +Package: libx32itm1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Transactional Memory Library (x32) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. + +Package: libatomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib32atomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: support library providing __atomic built-in functions (32bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: lib64atomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (64bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libn32atomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32atomic1 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: support library providing __atomic built-in functions (n32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libx32atomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: support library providing __atomic built-in functions (x32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +Package: libasan8 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib32asan8 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: AddressSanitizer -- a fast memory error detector (32bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: lib64asan8 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (64bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32asan`'ASAN_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32asan`'ASAN_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libx32asan8 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector (x32) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: libhwasan0 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (HWASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +Package: liblsan0 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: LeakSanitizer -- a memory leak detector (runtime) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +Package: libtsan2 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +Package: libubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (runtime) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib32ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: UBSan -- undefined behaviour sanitizer (32bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: lib64ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (64bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +#Package: libn32ubsan`'UBSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32ubsan`'UBSAN_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. + +Package: libx32ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: UBSan -- undefined behaviour sanitizer (x32) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +Package: libquadmath0 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib32quadmath0 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GCC Quad-Precision Math Library (32bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: lib64quadmath0 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (64bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +#Package: libn32quadmath`'QMATH_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32quadmath`'QMATH_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. The library is used to provide on such +# targets the REAL(16) type in the GNU Fortran compiler. + +Package: libx32quadmath0 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: GCC Quad-Precision Math Library (x32) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +Package: libcc1-0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GCC cc1 plugin for GDB + libcc1 is a plugin for GDB. + +Package: libgccjit0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), libgcc-14-dev, binutils, ${dep:libcdev}, + ${shlibs:Depends}, ${misc:Depends} +Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4) +Description: GCC just-in-time compilation (shared library) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit-14-doc +Section: doc +Architecture: all +Depends: gcc-14-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-doc, libgccjit-8-doc, + libgccjit-9-doc, libgccjit-10-doc, libgccjit-11-doc, libgccjit-12-doc, + libgccjit-13-doc, +Description: GCC just-in-time compilation (documentation) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit-14-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), libgccjit0 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Suggests: libgccjit-14-dbg +Description: GCC just-in-time compilation (development files) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: gobjc++-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-alpha-linux-gnu (= ${gcc:Version}), g++-14-alpha-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-alpha-linux-gnu +Description: GNU Objective-C++ compiler for the alpha-linux-gnu architecture + This is the GNU Objective-C++ compiler for the alpha-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-x86-64-linux-gnu (= ${gcc:Version}), g++-14-x86-64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-x86-64-linux-gnu +Description: GNU Objective-C++ compiler for the x86_64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the x86_64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-arm-linux-gnueabi (= ${gcc:Version}), g++-14-arm-linux-gnueabi (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-arm-linux-gnueabi +Description: GNU Objective-C++ compiler for the arm-linux-gnueabi architecture + This is the GNU Objective-C++ compiler for the arm-linux-gnueabi architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-arm-linux-gnueabihf (= ${gcc:Version}), g++-14-arm-linux-gnueabihf (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-arm-linux-gnueabihf +Description: GNU Objective-C++ compiler for the arm-linux-gnueabihf architecture + This is the GNU Objective-C++ compiler for the arm-linux-gnueabihf architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-aarch64-linux-gnu (= ${gcc:Version}), g++-14-aarch64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-aarch64-linux-gnu +Description: GNU Objective-C++ compiler for the aarch64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the aarch64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-i686-linux-gnu (= ${gcc:Version}), g++-14-i686-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-i686-linux-gnu +Description: GNU Objective-C++ compiler for the i686-linux-gnu architecture + This is the GNU Objective-C++ compiler for the i686-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-loongarch64-linux-gnu (= ${gcc:Version}), g++-14-loongarch64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-loongarch64-linux-gnu +Description: GNU Objective-C++ compiler for the loongarch64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the loongarch64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsel-linux-gnu (= ${gcc:Version}), g++-14-mipsel-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsel-linux-gnu +Description: GNU Objective-C++ compiler for the mipsel-linux-gnu architecture + This is the GNU Objective-C++ compiler for the mipsel-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mips64-linux-gnuabi64 (= ${gcc:Version}), g++-14-mips64-linux-gnuabi64 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mips64-linux-gnuabi64 +Description: GNU Objective-C++ compiler for the mips64-linux-gnuabi64 architecture + This is the GNU Objective-C++ compiler for the mips64-linux-gnuabi64 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), g++-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mips64el-linux-gnuabi64 +Description: GNU Objective-C++ compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU Objective-C++ compiler for the mips64el-linux-gnuabi64 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mips64-linux-gnuabin32 (= ${gcc:Version}), g++-14-mips64-linux-gnuabin32 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mips64-linux-gnuabin32 +Description: GNU Objective-C++ compiler for the mips64-linux-gnuabin32 architecture + This is the GNU Objective-C++ compiler for the mips64-linux-gnuabin32 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-powerpc-linux-gnu (= ${gcc:Version}), g++-14-powerpc-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-powerpc-linux-gnu +Description: GNU Objective-C++ compiler for the powerpc-linux-gnu architecture + This is the GNU Objective-C++ compiler for the powerpc-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-powerpc64-linux-gnu (= ${gcc:Version}), g++-14-powerpc64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-powerpc64-linux-gnu +Description: GNU Objective-C++ compiler for the powerpc64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the powerpc64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-powerpc64le-linux-gnu (= ${gcc:Version}), g++-14-powerpc64le-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-powerpc64le-linux-gnu +Description: GNU Objective-C++ compiler for the powerpc64le-linux-gnu architecture + This is the GNU Objective-C++ compiler for the powerpc64le-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-m68k-linux-gnu (= ${gcc:Version}), g++-14-m68k-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-m68k-linux-gnu +Description: GNU Objective-C++ compiler for the m68k-linux-gnu architecture + This is the GNU Objective-C++ compiler for the m68k-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-riscv64-linux-gnu (= ${gcc:Version}), g++-14-riscv64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-riscv64-linux-gnu +Description: GNU Objective-C++ compiler for the riscv64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the riscv64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-sh4-linux-gnu (= ${gcc:Version}), g++-14-sh4-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-sh4-linux-gnu +Description: GNU Objective-C++ compiler for the sh4-linux-gnu architecture + This is the GNU Objective-C++ compiler for the sh4-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-sparc-linux-gnu (= ${gcc:Version}), g++-14-sparc-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-sparc-linux-gnu +Description: GNU Objective-C++ compiler for the sparc-linux-gnu architecture + This is the GNU Objective-C++ compiler for the sparc-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-sparc64-linux-gnu (= ${gcc:Version}), g++-14-sparc64-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-sparc64-linux-gnu +Description: GNU Objective-C++ compiler for the sparc64-linux-gnu architecture + This is the GNU Objective-C++ compiler for the sparc64-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-s390x-linux-gnu (= ${gcc:Version}), g++-14-s390x-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-s390x-linux-gnu +Description: GNU Objective-C++ compiler for the s390x-linux-gnu architecture + This is the GNU Objective-C++ compiler for the s390x-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-x86-64-linux-gnux32 (= ${gcc:Version}), g++-14-x86-64-linux-gnux32 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-x86-64-linux-gnux32 +Description: GNU Objective-C++ compiler for the x86_64-linux-gnux32 architecture + This is the GNU Objective-C++ compiler for the x86_64-linux-gnux32 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), g++-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mips64el-linux-gnuabin32 +Description: GNU Objective-C++ compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU Objective-C++ compiler for the mips64el-linux-gnuabin32 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), g++-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa32r6-linux-gnu +Description: GNU Objective-C++ compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU Objective-C++ compiler for the mipsisa32r6-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), g++-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa32r6el-linux-gnu +Description: GNU Objective-C++ compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU Objective-C++ compiler for the mipsisa32r6el-linux-gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), g++-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa64r6-linux-gnuabi64 +Description: GNU Objective-C++ compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU Objective-C++ compiler for the mipsisa64r6-linux-gnuabi64 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), g++-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa64r6el-linux-gnuabi64 +Description: GNU Objective-C++ compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU Objective-C++ compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), g++-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa64r6-linux-gnuabin32 +Description: GNU Objective-C++ compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU Objective-C++ compiler for the mipsisa64r6-linux-gnuabin32 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), g++-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler-mipsisa64r6el-linux-gnuabin32 +Description: GNU Objective-C++ compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU Objective-C++ compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc++-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gobjc++-14${target:suffix} (>= ${gcc:SoftVersion}), + gobjc-14-for-host (= ${gcc:Version}), g++-14-for-host (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Objective-C++ compiler for the host architecture + This is the GNU Objective-C++ compiler for the host architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gobjc++-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gobjc++-14 (>= ${gcc:Version}), + gobjc-14-for-build (= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), g++-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Objective-C++ compiler for the build architecture + This is the GNU Objective-C++ compiler for the build architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gobjc++-14 +Architecture: any +Depends: gcc-14-base (= ${gcc:Version}), gobjc++-14${target:suffix} (= ${gcc:Version}), gobjc-14 (= ${gcc:Version}), g++-14 (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc++-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), gobjc++-14 (= ${gcc:Version}), g++-14-multilib (= ${gcc:Version}), gobjc-14-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Objective-C++ compiler (multilib support) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: gobjc-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-alpha-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-alpha-linux-gnu +Description: GNU Objective-C compiler for the alpha-linux-gnu architecture + This is the GNU Objective-C compiler for the alpha-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-x86-64-linux-gnu +Description: GNU Objective-C compiler for the x86_64-linux-gnu architecture + This is the GNU Objective-C compiler for the x86_64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabi (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-arm-linux-gnueabi +Description: GNU Objective-C compiler for the arm-linux-gnueabi architecture + This is the GNU Objective-C compiler for the arm-linux-gnueabi architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabihf (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-arm-linux-gnueabihf +Description: GNU Objective-C compiler for the arm-linux-gnueabihf architecture + This is the GNU Objective-C compiler for the arm-linux-gnueabihf architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-aarch64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-aarch64-linux-gnu +Description: GNU Objective-C compiler for the aarch64-linux-gnu architecture + This is the GNU Objective-C compiler for the aarch64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-i686-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-i686-linux-gnu +Description: GNU Objective-C compiler for the i686-linux-gnu architecture + This is the GNU Objective-C compiler for the i686-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-loongarch64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-loongarch64-linux-gnu +Description: GNU Objective-C compiler for the loongarch64-linux-gnu architecture + This is the GNU Objective-C compiler for the loongarch64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsel-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsel-linux-gnu +Description: GNU Objective-C compiler for the mipsel-linux-gnu architecture + This is the GNU Objective-C compiler for the mipsel-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabi64 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mips64-linux-gnuabi64 +Description: GNU Objective-C compiler for the mips64-linux-gnuabi64 architecture + This is the GNU Objective-C compiler for the mips64-linux-gnuabi64 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mips64el-linux-gnuabi64 +Description: GNU Objective-C compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU Objective-C compiler for the mips64el-linux-gnuabi64 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabin32 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mips64-linux-gnuabin32 +Description: GNU Objective-C compiler for the mips64-linux-gnuabin32 architecture + This is the GNU Objective-C compiler for the mips64-linux-gnuabin32 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-powerpc-linux-gnu +Description: GNU Objective-C compiler for the powerpc-linux-gnu architecture + This is the GNU Objective-C compiler for the powerpc-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-powerpc64-linux-gnu +Description: GNU Objective-C compiler for the powerpc64-linux-gnu architecture + This is the GNU Objective-C compiler for the powerpc64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64le-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-powerpc64le-linux-gnu +Description: GNU Objective-C compiler for the powerpc64le-linux-gnu architecture + This is the GNU Objective-C compiler for the powerpc64le-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-m68k-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-m68k-linux-gnu +Description: GNU Objective-C compiler for the m68k-linux-gnu architecture + This is the GNU Objective-C compiler for the m68k-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-riscv64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-riscv64-linux-gnu +Description: GNU Objective-C compiler for the riscv64-linux-gnu architecture + This is the GNU Objective-C compiler for the riscv64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sh4-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-sh4-linux-gnu +Description: GNU Objective-C compiler for the sh4-linux-gnu architecture + This is the GNU Objective-C compiler for the sh4-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-sparc-linux-gnu +Description: GNU Objective-C compiler for the sparc-linux-gnu architecture + This is the GNU Objective-C compiler for the sparc-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc64-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-sparc64-linux-gnu +Description: GNU Objective-C compiler for the sparc64-linux-gnu architecture + This is the GNU Objective-C compiler for the sparc64-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-s390x-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-s390x-linux-gnu +Description: GNU Objective-C compiler for the s390x-linux-gnu architecture + This is the GNU Objective-C compiler for the s390x-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnux32 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-x86-64-linux-gnux32 +Description: GNU Objective-C compiler for the x86_64-linux-gnux32 architecture + This is the GNU Objective-C compiler for the x86_64-linux-gnux32 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mips64el-linux-gnuabin32 +Description: GNU Objective-C compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU Objective-C compiler for the mips64el-linux-gnuabin32 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa32r6-linux-gnu +Description: GNU Objective-C compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU Objective-C compiler for the mipsisa32r6-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa32r6el-linux-gnu +Description: GNU Objective-C compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU Objective-C compiler for the mipsisa32r6el-linux-gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa64r6-linux-gnuabi64 +Description: GNU Objective-C compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU Objective-C compiler for the mipsisa64r6-linux-gnuabi64 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa64r6el-linux-gnuabi64 +Description: GNU Objective-C compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU Objective-C compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa64r6-linux-gnuabin32 +Description: GNU Objective-C compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU Objective-C compiler for the mipsisa64r6-linux-gnuabin32 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-14-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc-14-doc (>= ${gcc:SoftVersion}), +Provides: objc-compiler-mipsisa64r6el-linux-gnuabin32 +Description: GNU Objective-C compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU Objective-C compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gobjc-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Objective-C compiler for the host architecture + This is the GNU Objective-C compiler for the host architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gobjc-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gobjc-14 (>= ${gcc:Version}), ${misc:Depends}, + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}) +Description: GNU Objective-C compiler for the build architecture + This is the GNU Objective-C compiler for the build architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gobjc-14 +Architecture: any +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14${target:suffix} (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjc:multilib}, gcc-14-doc (>= ${gcc:SoftVersion}) +Provides: objc-compiler +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), gobjc-14 (= ${gcc:Version}), gcc-14-multilib (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Objective-C compiler (multilib support) + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libobjc-14-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgcc-14-dev (= ${gcc:Version}), libobjc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: Runtime library for GNU Objective-C applications (development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib64objc-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib64gcc-14-dev (= ${gcc:Version}), lib64objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (64bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib32objc-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib32gcc-14-dev (= ${gcc:Version}), lib32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (32bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libn32objc-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libn32gcc-14-dev (= ${gcc:Version}), libn32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (n32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libx32objc-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libx32gcc-14-dev (= ${gcc:Version}), libx32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (x32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libobjc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libn32objc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32objc4 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: Runtime library for GNU Objective-C applications (n32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: libx32objc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Objective-C applications (x32) + Library needed for GNU ObjC applications linked against the shared library. + +Package: gfortran-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-alpha-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the alpha-linux-gnu architecture + This is the GNU Fortran compiler for the alpha-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the x86_64-linux-gnu architecture + This is the GNU Fortran compiler for the x86_64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabi (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the arm-linux-gnueabi architecture + This is the GNU Fortran compiler for the arm-linux-gnueabi architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabihf (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the arm-linux-gnueabihf architecture + This is the GNU Fortran compiler for the arm-linux-gnueabihf architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-aarch64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the aarch64-linux-gnu architecture + This is the GNU Fortran compiler for the aarch64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-i686-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the i686-linux-gnu architecture + This is the GNU Fortran compiler for the i686-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-loongarch64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the loongarch64-linux-gnu architecture + This is the GNU Fortran compiler for the loongarch64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsel-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsel-linux-gnu architecture + This is the GNU Fortran compiler for the mipsel-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabi64 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mips64-linux-gnuabi64 architecture + This is the GNU Fortran compiler for the mips64-linux-gnuabi64 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU Fortran compiler for the mips64el-linux-gnuabi64 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabin32 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mips64-linux-gnuabin32 architecture + This is the GNU Fortran compiler for the mips64-linux-gnuabin32 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the powerpc-linux-gnu architecture + This is the GNU Fortran compiler for the powerpc-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the powerpc64-linux-gnu architecture + This is the GNU Fortran compiler for the powerpc64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64le-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the powerpc64le-linux-gnu architecture + This is the GNU Fortran compiler for the powerpc64le-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-m68k-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the m68k-linux-gnu architecture + This is the GNU Fortran compiler for the m68k-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-riscv64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the riscv64-linux-gnu architecture + This is the GNU Fortran compiler for the riscv64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sh4-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the sh4-linux-gnu architecture + This is the GNU Fortran compiler for the sh4-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the sparc-linux-gnu architecture + This is the GNU Fortran compiler for the sparc-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc64-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the sparc64-linux-gnu architecture + This is the GNU Fortran compiler for the sparc64-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-s390x-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the s390x-linux-gnu architecture + This is the GNU Fortran compiler for the s390x-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnux32 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the x86_64-linux-gnux32 architecture + This is the GNU Fortran compiler for the x86_64-linux-gnux32 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU Fortran compiler for the mips64el-linux-gnuabin32 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU Fortran compiler for the mipsisa32r6-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU Fortran compiler for the mipsisa32r6el-linux-gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU Fortran compiler for the mipsisa64r6-linux-gnuabi64 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU Fortran compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU Fortran compiler for the mipsisa64r6-linux-gnuabin32 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), libgfortran-14-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran-14-doc, + libcoarrays-dev +Description: GNU Fortran compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU Fortran compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + +Package: gfortran-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gfortran-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Fortran compiler for the host architecture + This is the GNU Fortran compiler for the host architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gfortran-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gfortran-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Fortran compiler for the build architecture + This is the GNU Fortran compiler for the build architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gfortran-14 +Architecture: any +Depends: gfortran-14${target:suffix} (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${misc:Depends} +Provides: fortran95-compiler, ${fortran:mod-version} +Suggests: ${gfortran:multilib}, gfortran-14-doc +Description: GNU Fortran compiler + This is the GNU Fortran compiler, which compiles + Fortran on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gfortran-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), gfortran-14 (= ${gcc:Version}), gcc-14-multilib (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU Fortran compiler (multilib support) + This is the GNU Fortran compiler, which compiles Fortran on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgfortran-14-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgcc-14-dev (= ${gcc:Version}), libgfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: Runtime library for GNU Fortran applications (development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib64gfortran-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib64gcc-14-dev (= ${gcc:Version}), lib64gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib32gfortran-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib32gcc-14-dev (= ${gcc:Version}), lib32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libn32gfortran-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libn32gcc-14-dev (= ${gcc:Version}), libn32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libx32gfortran-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libx32gcc-14-dev (= ${gcc:Version}), libx32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libgfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib64gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libn32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32gfortran5 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: Runtime library for GNU Fortran applications (n32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libx32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Fortran applications (x32) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: gccgo-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-alpha-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the alpha-linux-gnu architecture + This is the GNU Go compiler for the alpha-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the x86_64-linux-gnu architecture + This is the GNU Go compiler for the x86_64-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabi (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the arm-linux-gnueabi architecture + This is the GNU Go compiler for the arm-linux-gnueabi architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-arm-linux-gnueabihf (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the arm-linux-gnueabihf architecture + This is the GNU Go compiler for the arm-linux-gnueabihf architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-aarch64-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the aarch64-linux-gnu architecture + This is the GNU Go compiler for the aarch64-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-i686-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the i686-linux-gnu architecture + This is the GNU Go compiler for the i686-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsel-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsel-linux-gnu architecture + This is the GNU Go compiler for the mipsel-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabi64 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mips64-linux-gnuabi64 architecture + This is the GNU Go compiler for the mips64-linux-gnuabi64 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabi64 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU Go compiler for the mips64el-linux-gnuabi64 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64-linux-gnuabin32 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mips64-linux-gnuabin32 architecture + This is the GNU Go compiler for the mips64-linux-gnuabin32 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the powerpc-linux-gnu architecture + This is the GNU Go compiler for the powerpc-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the powerpc64-linux-gnu architecture + This is the GNU Go compiler for the powerpc64-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-powerpc64le-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the powerpc64le-linux-gnu architecture + This is the GNU Go compiler for the powerpc64le-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-riscv64-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the riscv64-linux-gnu architecture + This is the GNU Go compiler for the riscv64-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the sparc-linux-gnu architecture + This is the GNU Go compiler for the sparc-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-sparc64-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the sparc64-linux-gnu architecture + This is the GNU Go compiler for the sparc64-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-s390x-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the s390x-linux-gnu architecture + This is the GNU Go compiler for the s390x-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-x86-64-linux-gnux32 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the x86_64-linux-gnux32 architecture + This is the GNU Go compiler for the x86_64-linux-gnux32 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mips64el-linux-gnuabin32 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU Go compiler for the mips64el-linux-gnuabin32 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU Go compiler for the mipsisa32r6-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa32r6el-linux-gnu (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU Go compiler for the mipsisa32r6el-linux-gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabi64 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU Go compiler for the mipsisa64r6-linux-gnuabi64 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabi64 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU Go compiler for the mipsisa64r6el-linux-gnuabi64 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6-linux-gnuabin32 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU Go compiler for the mipsisa64r6-linux-gnuabin32 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (= ${gcc:Version}), gcc-14-mipsisa64r6el-linux-gnuabin32 (= ${gcc:Version}), libgo-14-dev (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +Description: GNU Go compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU Go compiler for the mipsisa64r6el-linux-gnuabin32 architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + +Package: gccgo-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gccgo-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Go compiler for the host architecture + This is the GNU Go compiler for the host architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gccgo-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gccgo-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Go compiler for the build architecture + This is the GNU Go compiler for the build architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + . + This is a dependency package. + +Package: gccgo-14 +Architecture: any +Depends: gcc-14-base (= ${gcc:Version}), gccgo-14${target:suffix} (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${misc:Depends} +Provides: go-compiler +Suggests: ${go:multilib}, gccgo-14-doc, , +Conflicts: ${golang:Conflicts} +Description: GNU Go compiler + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +Package: gccgo-14-multilib +Architecture: amd64 i386 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: gcc-14-base (= ${gcc:Version}), gccgo-14 (= ${gcc:Version}), gcc-14-multilib (= ${gcc:Version}), ${dep:libgobiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libgobiarchdbg} +Description: GNU Go compiler (multilib support) + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgo-14-dev +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgcc-14-dev (= ${gcc:Version}), libgo23 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: lib64go-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib64gcc-14-dev (= ${gcc:Version}), lib64go23 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: lib32go-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib32gcc-14-dev (= ${gcc:Version}), lib32go23 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: libn32go-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libn32gcc-14-dev (= ${gcc:Version}), libn32go23 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: libx32go-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libx32gcc-14-dev (= ${gcc:Version}), libx32go23 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: libgo23 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications + Library needed for GNU Go applications linked against the + shared library. + +Package: lib64go23 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (64bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: lib32go23 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: Runtime library for GNU Go applications (32bit) + Library needed for GNU Go applications linked against the + shared library. + +Package: libn32go23 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32go23 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: Runtime library for GNU Go applications (n32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libx32go23 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Description: Runtime library for GNU Go applications (x32) + Library needed for GNU Go applications linked against the + shared library. + +Package: libstdc++6 +X-DH-Build-For-Type: target +Architecture: any +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), ${dep:libc}, ${shlibs:Depends}, ${misc:Depends} +Provides: +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++6-14-dbg (<< 4.9.0-3) +Description: GNU Standard C++ Library v3 + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib32stdc++6 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), lib32gcc-s1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +Description: GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + +Package: lib64stdc++6 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), lib64gcc-s1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Standard C++ Library v3 (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libn32stdc++6 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), libn32gcc-s1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32stdc++6 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: GNU Standard C++ Library v3 (n32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libx32stdc++6 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), libx32gcc-s1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Standard C++ Library v3 (x32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++-14-dev +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgcc-14-dev (= ${gcc:Version}), + libstdc++6 (>= ${gcc:Version}), ${dep:libcdev}, ${misc:Depends} +Suggests: libstdc++-14-doc +Provides: libstdc++-dev +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++-14-pic +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (shared library subset kit) + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. + +Package: libstdc++6-14-dbg +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Depends: gcc-14-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + , ${shlibs:Depends}, ${misc:Depends} +Provides: +Multi-Arch: same +Recommends: libstdc++-14-dev (= ${gcc:Version}) +Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, + libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg, + libstdc++6-4.3-dbg, libstdc++6-4.4-dbg, libstdc++6-4.5-dbg, + libstdc++6-4.6-dbg, libstdc++6-4.7-dbg, libstdc++6-4.8-dbg, + libstdc++6-4.9-dbg, libstdc++6-5-dbg, libstdc++6-6-dbg, + libstdc++6-7-dbg, libstdc++6-8-dbg, libstdc++6-9-dbg, + libstdc++6-10-dbg, libstdc++6-11-dbg, libstdc++6-12-dbg, + libstdc++6-13-dbg, +Description: GNU Standard C++ Library v3 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +Package: lib32stdc++-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib32gcc-14-dev (= ${gcc:Version}), + lib32stdc++6 (>= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib32stdc++6-14-dbg +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Depends: gcc-14-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), , + ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32stdc++6-dbg, lib32stdc++6-4.0-dbg, + lib32stdc++6-4.1-dbg, lib32stdc++6-4.2-dbg, lib32stdc++6-4.3-dbg, + lib32stdc++6-4.4-dbg, lib32stdc++6-4.5-dbg, lib32stdc++6-4.6-dbg, + lib32stdc++6-4.7-dbg, lib32stdc++6-4.8-dbg, lib32stdc++6-4.9-dbg, + lib32stdc++6-5-dbg, lib32stdc++6-6-dbg, lib32stdc++6-7-dbg, + lib32stdc++6-8-dbg, lib32stdc++6-9-dbg, lib32stdc++6-10-dbg, + lib32stdc++6-11-dbg, lib32stdc++6-12-dbg, lib32stdc++6-13-dbg, +Description: GNU Standard C++ Library v3 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +Package: lib64stdc++-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib64gcc-14-dev (= ${gcc:Version}), + lib64stdc++6 (>= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib64stdc++6-14-dbg +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Depends: gcc-14-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), , + ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib64stdc++6-dbg, lib64stdc++6-4.0-dbg, + lib64stdc++6-4.1-dbg, lib64stdc++6-4.2-dbg, lib64stdc++6-4.3-dbg, + lib64stdc++6-4.4-dbg, lib64stdc++6-4.5-dbg, lib64stdc++6-4.6-dbg, + lib64stdc++6-4.7-dbg, lib64stdc++6-4.8-dbg, lib64stdc++6-4.9-dbg, + lib64stdc++6-5-dbg, lib64stdc++6-6-dbg, lib64stdc++6-7-dbg, + lib64stdc++6-8-dbg, lib64stdc++6-9-dbg, lib64stdc++6-10-dbg, + lib64stdc++6-11-dbg, lib64stdc++6-12-dbg, lib64stdc++6-13-dbg, +Description: GNU Standard C++ Library v3 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +Package: libn32stdc++-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libn32gcc-14-dev (= ${gcc:Version}), + libn32stdc++6 (>= ${gcc:Version}), libstdc++-14-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libn32stdc++6-14-dbg +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: debug +Depends: gcc-14-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), , + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libn32stdc++6-dbg, libn32stdc++6-4.0-dbg, + libn32stdc++6-4.1-dbg, libn32stdc++6-4.2-dbg, libn32stdc++6-4.3-dbg, + libn32stdc++6-4.4-dbg, libn32stdc++6-4.5-dbg, libn32stdc++6-4.6-dbg, + libn32stdc++6-4.7-dbg, libn32stdc++6-4.8-dbg, libn32stdc++6-4.9-dbg, + libn32stdc++6-5-dbg, libn32stdc++6-6-dbg, libn32stdc++6-7-dbg, + libn32stdc++6-8-dbg, libn32stdc++6-9-dbg, libn32stdc++6-10-dbg, + libn32stdc++6-11-dbg, libn32stdc++6-12-dbg, libn32stdc++6-13-dbg, +Description: GNU Standard C++ Library v3 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +Package: libx32stdc++-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libx32gcc-14-dev (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), ${misc:Depends} +Description: GNU Standard C++ Library v3 (development files) + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libx32stdc++6-14-dbg +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Depends: gcc-14-base (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-14-dev (= ${gcc:Version}), , + ${shlibs:Depends}, ${misc:Depends} +Conflicts: libx32stdc++6-dbg, libx32stdc++6-4.6-dbg, + libx32stdc++6-4.7-dbg, libx32stdc++6-4.8-dbg, libx32stdc++6-4.9-dbg, + libx32stdc++6-5-dbg, libx32stdc++6-6-dbg, libx32stdc++6-7-dbg, + libx32stdc++6-8-dbg, libx32stdc++6-9-dbg, libx32stdc++6-10-dbg, + libx32stdc++6-11-dbg, libx32stdc++6-12-dbg, libx32stdc++6-13-dbg, +Description: GNU Standard C++ Library v3 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +Package: libstdc++-14-doc +Build-Profiles: +Architecture: all +Section: doc +Depends: gcc-14-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, + libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc, + libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc, + libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc, + libstdc++-7-doc, libstdc++-8-doc, libstdc++-9-doc, libstdc++-10-doc, + libstdc++-11-doc, libstdc++-12-doc, libstdc++-13-doc, +Description: GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. + +Package: gnat-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the alpha-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the x86_64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the arm-linux-gnueabi architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the arm-linux-gnueabihf architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the aarch64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the i686-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the loongarch64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsel-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mips64-linux-gnuabi64 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mips64el-linux-gnuabi64 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mips64-linux-gnuabin32 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the powerpc-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the powerpc64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the powerpc64le-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the m68k-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the riscv64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-sh4-linux-gnu +Architecture: sh4 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the sh4-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the sparc-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the sparc64-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the s390x-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the x86_64-linux-gnux32 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mips64el-linux-gnuabin32 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa32r6-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa32r6el-linux-gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa64r6-linux-gnuabi64 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa64r6el-linux-gnuabi64 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa64r6-linux-gnuabin32 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), gcc-14${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012 +Provides: gnat-14-${libgnat:alihash} +Conflicts: gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9, + gnat-10, gnat-11, gnat-12, gnat-13, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +Description: GNU Ada compiler for the mipsisa64r6el-linux-gnuabin32 architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: gnat-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gnat-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Ada compiler for the host architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gnat-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gnat-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Ada compiler for the build architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + . + This is a dependency package. + +Package: gnat-14 +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: gnat-14${target:suffix} (= ${gcc:Version}), gcc-14-base (= ${gcc:Version}), gcc-14 (>= ${gcc:SoftVersion}), ${misc:Depends} +Suggests: gnat-14-doc, ada-reference-manual-2012, gnat-14-sjlj +Description: GNU Ada compiler + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + +Package: libgnat-14 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: runtime for applications compiled with GNAT (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library. + +Package: gdc-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-x86-64-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the x86_64-linux-gnu architecture + This is the GNU D compiler for the x86_64-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabi (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the arm-linux-gnueabi architecture + This is the GNU D compiler for the arm-linux-gnueabi architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabihf (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the arm-linux-gnueabihf architecture + This is the GNU D compiler for the arm-linux-gnueabihf architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-aarch64-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the aarch64-linux-gnu architecture + This is the GNU D compiler for the aarch64-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-i686-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the i686-linux-gnu architecture + This is the GNU D compiler for the i686-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-loongarch64-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the loongarch64-linux-gnu architecture + This is the GNU D compiler for the loongarch64-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsel-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsel-linux-gnu architecture + This is the GNU D compiler for the mipsel-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mips64-linux-gnuabi64 architecture + This is the GNU D compiler for the mips64-linux-gnuabi64 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mips64el-linux-gnuabi64 architecture + This is the GNU D compiler for the mips64el-linux-gnuabi64 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mips64-linux-gnuabin32 architecture + This is the GNU D compiler for the mips64-linux-gnuabin32 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the powerpc-linux-gnu architecture + This is the GNU D compiler for the powerpc-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc64-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the powerpc64-linux-gnu architecture + This is the GNU D compiler for the powerpc64-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc64le-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the powerpc64le-linux-gnu architecture + This is the GNU D compiler for the powerpc64le-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-riscv64-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the riscv64-linux-gnu architecture + This is the GNU D compiler for the riscv64-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-sparc-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the sparc-linux-gnu architecture + This is the GNU D compiler for the sparc-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-s390x-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the s390x-linux-gnu architecture + This is the GNU D compiler for the s390x-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-x86-64-linux-gnux32 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the x86_64-linux-gnux32 architecture + This is the GNU D compiler for the x86_64-linux-gnux32 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mips64el-linux-gnuabin32 architecture + This is the GNU D compiler for the mips64el-linux-gnuabin32 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa32r6-linux-gnu architecture + This is the GNU D compiler for the mipsisa32r6-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6el-linux-gnu (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa32r6el-linux-gnu architecture + This is the GNU D compiler for the mipsisa32r6el-linux-gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU D compiler for the mipsisa64r6-linux-gnuabi64 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU D compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU D compiler for the mipsisa64r6-linux-gnuabin32 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2) for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU D compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gdc-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU D compiler (version 2) for the host architecture + This is the GNU D compiler for the host architecture, which compiles D on + platforms supported by gcc. It uses the gcc backend to generate optimised + code. + . + This compiler supports D language version 2. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gdc-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gdc-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU D compiler (version 2) for the build architecture + This is the GNU D compiler for the build architecture, which compiles D on + platforms supported by gcc. It uses the gcc backend to generate optimised + code. + . + This compiler supports D language version 2. + . + This is a dependency package. + +Package: gdc-14 +Architecture: any +Depends: gdc-14${target:suffix} (= ${gcc:Version}), gcc-14-base (>= ${gcc:SoftVersion}), g++-14 (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${misc:Depends} +Provides: gdc, d-compiler, d-v2-compiler +Replaces: gdc (<< 4.4.6-5) +Description: GNU D compiler (version 2) + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. + +Package: gdc-14-multilib +Architecture: any +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gdc-14 (= ${gcc:Version}), gcc-14-multilib (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends} +Description: GNU D compiler (version 2, multilib support) + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). + +Package: libgphobos-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 arm64 armel armhf i386 x32 hppa mips mips64 mipsel mips64el mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el riscv64 s390x loong64 powerpc ppc64 ppc64el +Multi-Arch: same +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgphobos5 (>= ${gdc:Version}), + zlib1g-dev, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos-14-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib64gphobos5 (>= ${gdc:Version}), + lib64gcc-14-dev (= ${gcc:Version}), lib64z1-dev [!mips !mipsel !mipsn32 !mipsn32el !mipsr6 !mipsr6el !mipsn32r6 !mipsn32r6el], + ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (64bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), lib32gphobos5 (>= ${gdc:Version}), + lib32gcc-14-dev (= ${gcc:Version}), lib32z1-dev [!mipsn32 !mipsn32el !mips64 !mips64el !mipsn32r6 !mipsn32r6el !mips64r6 !mips64r6el], + ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (32bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libn32gphobos-14-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libn32gphobos5 (>= ${gdc:Version}), + libn32gcc-14-dev (= ${gcc:Version}), libn32z1-dev [!mips !mipsel !mips64 !mips64el !mipsr6 !mipsr6el !mips64r6 !mips64r6el], + ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (n32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos-14-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libx32gphobos5 (>= ${gdc:Version}), + libx32gcc-14-dev (= ${gcc:Version}), ${dep:libx32z}, ${shlibs:Depends}, ${misc:Depends} +Description: Phobos D standard library (x32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libgphobos5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 arm64 armel armhf i386 x32 hppa mips mips64 mipsel mips64el mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el riscv64 s390x loong64 powerpc ppc64 ppc64el +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libgphobos68 +Breaks: dub (<< 1.16.0-1~) +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos5 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: lib32gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libn32gphobos5 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Conflicts: lib32phobos5 [amd64 ppc64 s390x sparc64 x32 mipsn32 mipsn32el mipsn32r6 mipsn32r6el] +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: libx32gphobos5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32gphobos68 +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: gm2-14-alpha-linux-gnu +Architecture: alpha +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-alpha-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the alpha-linux-gnu architecture + This is the GNU Modula-2 compiler for the alpha-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-x86-64-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the x86_64-linux-gnu architecture + This is the GNU Modula-2 compiler for the x86_64-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabi (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the arm-linux-gnueabi architecture + This is the GNU Modula-2 compiler for the arm-linux-gnueabi architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabihf (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the arm-linux-gnueabihf architecture + This is the GNU Modula-2 compiler for the arm-linux-gnueabihf architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-aarch64-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the aarch64-linux-gnu architecture + This is the GNU Modula-2 compiler for the aarch64-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-i686-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the i686-linux-gnu architecture + This is the GNU Modula-2 compiler for the i686-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-loongarch64-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the loongarch64-linux-gnu architecture + This is the GNU Modula-2 compiler for the loongarch64-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsel-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsel-linux-gnu architecture + This is the GNU Modula-2 compiler for the mipsel-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mips64-linux-gnuabi64 architecture + This is the GNU Modula-2 compiler for the mips64-linux-gnuabi64 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mips64el-linux-gnuabi64 architecture + This is the GNU Modula-2 compiler for the mips64el-linux-gnuabi64 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mips64-linux-gnuabin32 architecture + This is the GNU Modula-2 compiler for the mips64-linux-gnuabin32 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc64le-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the powerpc64le-linux-gnu architecture + This is the GNU Modula-2 compiler for the powerpc64le-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-m68k-linux-gnu +Architecture: m68k +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-m68k-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the m68k-linux-gnu architecture + This is the GNU Modula-2 compiler for the m68k-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-riscv64-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the riscv64-linux-gnu architecture + This is the GNU Modula-2 compiler for the riscv64-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-sparc-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the sparc-linux-gnu architecture + This is the GNU Modula-2 compiler for the sparc-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-sparc64-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the sparc64-linux-gnu architecture + This is the GNU Modula-2 compiler for the sparc64-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-s390x-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the s390x-linux-gnu architecture + This is the GNU Modula-2 compiler for the s390x-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-x86-64-linux-gnux32 +Architecture: x32 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-x86-64-linux-gnux32 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the x86_64-linux-gnux32 architecture + This is the GNU Modula-2 compiler for the x86_64-linux-gnux32 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mips64el-linux-gnuabin32 architecture + This is the GNU Modula-2 compiler for the mips64el-linux-gnuabin32 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa32r6-linux-gnu architecture + This is the GNU Modula-2 compiler for the mipsisa32r6-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6el-linux-gnu (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa32r6el-linux-gnu architecture + This is the GNU Modula-2 compiler for the mipsisa32r6el-linux-gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa64r6-linux-gnuabi64 architecture + This is the GNU Modula-2 compiler for the mipsisa64r6-linux-gnuabi64 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabi64 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa64r6el-linux-gnuabi64 architecture + This is the GNU Modula-2 compiler for the mipsisa64r6el-linux-gnuabi64 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa64r6-linux-gnuabin32 architecture + This is the GNU Modula-2 compiler for the mipsisa64r6-linux-gnuabin32 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabin32 (>= ${gcc:Version}), ${dep:gm2cross}, libgm2-14-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 compiler for the mipsisa64r6el-linux-gnuabin32 architecture + This is the GNU Modula-2 compiler for the mipsisa64r6el-linux-gnuabin32 architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + +Package: gm2-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gm2-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Modula-2 compiler for the host architecture + This is the GNU Modula-2 compiler for the host architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gm2-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gm2-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Modula-2 compiler for the build architecture + This is the GNU Modula-2 compiler for the build architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + . + This is a dependency package. + +Package: gm2-14 +Architecture: any +Depends: gm2-14${target:suffix} (= ${gcc:Version}), gcc-14-base (>= ${gcc:SoftVersion}), g++-14 (>= ${gcc:SoftVersion}), ${dep:gm2cross}, ${misc:Depends} +Provides: gm2, m2-compiler +Description: GNU Modula-2 compiler (version 2) + This is the GNU Modula-2 compiler, which compiles Modula-2 on platforms + supported by gcc. It uses the gcc backend to generate optimised code. + +Package: libgm2-14-dev +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: gcc-14-base (= ${gcc:Version}), libgm2-19 (>= ${gm2:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 standard library + This is the Modula-2 standard library that comes with the gm2 compiler. + +Package: libgm2-19 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +Package: gm2-14-doc +Architecture: all +Section: doc +Depends: gcc-14-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Suggests: gm2-14 +Description: Documentation for the GNU Modula-2 compiler (gm2) + Documentation for the GNU Modula-2 compiler in HTML and info format. + +Package: gccrs-14-x86-64-linux-gnu +Architecture: amd64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-x86-64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the x86_64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-arm-linux-gnueabi +Architecture: armel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabi (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the arm-linux-gnueabi architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-arm-linux-gnueabihf +Architecture: armhf +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-arm-linux-gnueabihf (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the arm-linux-gnueabihf architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-aarch64-linux-gnu +Architecture: arm64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-aarch64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the aarch64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-i686-linux-gnu +Architecture: i386 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-i686-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the i686-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-loongarch64-linux-gnu +Architecture: loong64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-loongarch64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the loongarch64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsel-linux-gnu +Architecture: mipsel +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsel-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsel-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mips64-linux-gnuabi64 +Architecture: mips64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabi64 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mips64-linux-gnuabi64 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mips64el-linux-gnuabi64 +Architecture: mips64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabi64 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mips64el-linux-gnuabi64 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mips64-linux-gnuabin32 +Architecture: mipsn32 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64-linux-gnuabin32 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mips64-linux-gnuabin32 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-powerpc-linux-gnu +Architecture: powerpc +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the powerpc-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-powerpc64-linux-gnu +Architecture: ppc64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the powerpc64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-powerpc64le-linux-gnu +Architecture: ppc64el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-powerpc64le-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the powerpc64le-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-riscv64-linux-gnu +Architecture: riscv64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-riscv64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the riscv64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-sparc-linux-gnu +Architecture: sparc +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-sparc-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the sparc-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-sparc64-linux-gnu +Architecture: sparc64 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-sparc64-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the sparc64-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-s390x-linux-gnu +Architecture: s390x +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-s390x-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the s390x-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mips64el-linux-gnuabin32 +Architecture: mipsn32el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mips64el-linux-gnuabin32 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mips64el-linux-gnuabin32 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa32r6-linux-gnu +Architecture: mipsr6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa32r6-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa32r6el-linux-gnu +Architecture: mipsr6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa32r6el-linux-gnu (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa32r6el-linux-gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa64r6-linux-gnuabi64 +Architecture: mips64r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabi64 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa64r6-linux-gnuabi64 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa64r6el-linux-gnuabi64 +Architecture: mips64r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabi64 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa64r6el-linux-gnuabi64 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa64r6-linux-gnuabin32 +Architecture: mipsn32r6 +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6-linux-gnuabin32 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa64r6-linux-gnuabin32 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-mipsisa64r6el-linux-gnuabin32 +Architecture: mipsn32r6el +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), g++-14-mipsisa64r6el-linux-gnuabin32 (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +Description: GNU Rust compiler for the mipsisa64r6el-linux-gnuabin32 architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +Package: gccrs-14-for-host +Architecture: any +X-DH-Build-For-Type: target +Multi-Arch: same +Depends: gcc-14-base (= ${gcc:Version}), gccrs-14${target:suffix} (>= ${gcc:SoftVersion}), + gcc-14-for-host (= ${gcc:Version}), ${misc:Depends} +Description: GNU Rust compiler for the host architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gccrs-14-for-build +Architecture: all +Multi-Arch: foreign +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gccrs-14 (>= ${gcc:Version}), + cpp-14-for-build (= ${gcc:Version}), gcc-14-for-build (= ${gcc:Version}), + ${misc:Depends} +Description: GNU Rust compiler for the build architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + This is a dependency package. + +Package: gccrs-14 +Architecture: any +Depends: gcc-14-base (>= ${gcc:SoftVersion}), gccrs-14${target:suffix} (= ${gcc:Version}), g++-14 (>= ${gcc:SoftVersion}), ${misc:Depends} +Provides: gccrs, rust-compiler +Description: GNU Rust compiler + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + +#Package: gcc`'PV-soft-float +#Architecture: arm armel armhf +#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends} +#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float +#BUILT_USING`'dnl +#Description: GCC soft-floating-point gcc libraries (ARM) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. + +Package: gcc-14-offload-nvptx +Architecture: amd64 arm64 ppc64el +Depends: gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${dep:libcdev}, + nvptx-tools, libgomp-plugin-nvptx1 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: GCC offloading compiler to NVPTX + The package provides offloading support for NVidia PTX. OpenMP and OpenACC + programs linked with -fopenmp will by default add PTX code into the binaries, + which can be offloaded to NVidia PTX capable devices if available. + +Package: libgomp-plugin-nvptx1 +Architecture: amd64 arm64 ppc64el +Multi-Arch: same +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), libgomp1, ${shlibs:Depends}, ${misc:Depends} +Suggests: libcuda1 [amd64] | libnvidia-tesla-cuda1 [amd64 ppc64el] | libcuda1-any +Description: GCC OpenMP v4.5 plugin for offloading to NVPTX + This package contains libgomp plugin for offloading to NVidia + PTX. The plugin needs libcuda.so.1 shared library that has to be + installed separately. + +Package: gcc-14-offload-amdgcn +Architecture: amd64 +Depends: gcc-14-base (= ${gcc:Version}), gcc-14 (= ${gcc:Version}), ${dep:libcdev}, + libgomp-plugin-amdgcn1 (>= ${gcc:Version}), + amdgcn-tools-19 [amd64], ${shlibs:Depends}, ${misc:Depends} +Description: GCC offloading compiler to GCN + The package provides offloading support for AMD GCN. OpenMP and OpenACC + programs linked with -fopenmp will by default add GCN code into the binaries, + which can be offloaded to AMD GCN capable devices if available. + +Package: libgomp-plugin-amdgcn1 +Architecture: amd64 +Multi-Arch: same +Section: libs +Depends: gcc-14-base (= ${gcc:Version}), libgomp1, ${shlibs:Depends}, ${misc:Depends} +Description: GCC OpenMP v4.5 plugin for offloading to GCN + This package contains libgomp plugin for offloading to AMD GCN. + +Package: gcc-14-source +Multi-Arch: foreign +Architecture: all +Depends: make, quilt, patchutils, sharutils, gawk, lsb-release, time, m4, libtool, autoconf2.69, + ${misc:Depends} +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). diff --git a/control.m4 b/control.m4 new file mode 100644 index 0000000..7a3b3b6 --- /dev/null +++ b/control.m4 @@ -0,0 +1,4747 @@ +divert(-1) + +define(`checkdef',`ifdef($1, , `errprint(`error: undefined macro $1 +')m4exit(1)')') +define(`errexit',`errprint(`error: undefined macro `$1' +')m4exit(1)') + +dnl The following macros must be defined, when called: +dnl ifdef(`SRCNAME', , errexit(`SRCNAME')) +dnl ifdef(`PV', , errexit(`PV')) +dnl ifdef(`ARCH', , errexit(`ARCH')) + +dnl The architecture will also be defined (-D__i386__, -D__powerpc__, etc.) + +define(`PN', `$1') +define(`MAINTAINER', `Debian GCC Maintainers ') + +define(`depifenabled', `ifelse(index(enabled_languages, `$1'), -1, `', `$2')') +define(`ifenabled', `ifelse(index(enabled_languages, `$1'), -1, `dnl', `$2')') + +ifdef(`TARGET',`ifdef(`CROSS_ARCH',`',`undefine(`MULTIARCH')')') +define(`CROSS_ARCH', ifdef(`CROSS_ARCH', CROSS_ARCH, `all')) +define(`libdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +define(`libdevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +define(`libidevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +ifdef(`TARGET',`ifelse(CROSS_ARCH,`all',` +define(`libidevdep', `lib$2$1`'LS`'AQ (>= ifelse(`$4',`',`${gcc:SoftVersion}',`$4'))') +')') +ifelse(index(enabled_languages, `libdbg'), -1, ` +define(`libdbgdep', `') +',` +define(`libdbgdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +')`'dnl libdbg + +define(`BUILT_USING', ifelse(add_built_using,yes,`Built-Using: ${Built-Using} +')) +define(`TARGET_PACKAGE',`X-DH-Build-For-Type: target +') +define(`_for_each',`ifelse(`$3',`',`',`pushdef(`$1',`$3')$2`'popdef(`$1')`'$0(`$1',`$2',shift(shift(shift($@))))')') +define(`for_each_arch',`_for_each(`_arch',`dnl +pushdef(`arch_deb',`patsubst(_arch,`=.*',`')')dnl +pushdef(`arch_gnu',`patsubst(_arch,`.*=',`')')dnl +pushdef(`arch_gnusuffix',`-patsubst(arch_gnu,`_',`-')')dnl +$1`'popdef(`arch_gnusuffix')popdef(`arch_gnu')popdef(`arch_deb')',dnl +patsubst(ARCH_GNUTYPE_MAP,`\s+',`,'))') + +divert`'dnl +dnl -------------------------------------------------------------------------- +Source: SRCNAME +Section: devel +Priority: optional +ifelse(DIST,`Ubuntu',`dnl +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: MAINTAINER +', `dnl +Maintainer: MAINTAINER +')dnl DIST +Uploaders: Matthias Klose +Standards-Version: 4.7.0 +ifdef(`TARGET',`dnl cross +Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP + LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP + linux-libc-dev [m68k], + dwz, LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP AUTO_BUILD_DEP + SOURCE_BUILD_DEP CROSS_BUILD_DEP + ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP, + libzstd-dev, zlib1g-dev, BINUTILS_BUILD_DEP, + gawk, lzma, xz-utils, patchutils, + PKGCONF_BUILD_DEP libgc-dev, + zlib1g-dev, SDT_BUILD_DEP USAGE_BUILD_DEP + bison, flex, GNAT_BUILD_DEP GDC_BUILD_DEP GM2_BUILD_DEP + coreutils, lsb-release, quilt, time +',`dnl native +Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP GCC_MULTILIB_BUILD_DEP + LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBC_DBG_DEP + linux-libc-dev [m68k], + AUTO_BUILD_DEP BASE_BUILD_DEP + dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64], + gawk, lzma, xz-utils, patchutils, + libzstd-dev, zlib1g-dev, SDT_BUILD_DEP USAGE_BUILD_DEP + BINUTILS_BUILD_DEP, BUILD_DEP_FOR_BINUTILS + gperf, bison, flex, + gettext, OFFLOAD_BUILD_DEP + texinfo, LOCALES, sharutils, + procps, FORTRAN_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP GM2_BUILD_DEP RS_BUILD_DEP + ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP PHOBOS_BUILD_DEP + CHECK_BUILD_DEP coreutils, chrpath, lsb-release, quilt, time, + PKGCONF_BUILD_DEP libgc-dev, + TARGET_TOOL_BUILD_DEP +Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP +')dnl +ifelse(regexp(SRCNAME, `gdc'),0,`dnl +Homepage: http://gdcproject.org/ +', `dnl +Homepage: http://gcc.gnu.org/ +')dnl SRCNAME +Vcs-Browser: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-14-debian +Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-14-debian +XS-Testsuite: autopkgtest +Rules-Requires-Root: binary-targets + +ifelse(regexp(SRCNAME, `gcc-snapshot'),0,`dnl +Package: gcc-snapshot`'TS +Architecture: any +Depends: binutils`'TS (>= ${binutils:Version}), + ${dep:libcbiarchdev}, ${dep:libcdev}, ${dep:libunwinddev}, python3, + ${snap:depends}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${snap:recommends} +BUILT_USING`'dnl +Description: SNAPSHOT of the GNU Compiler Collection + This package contains a recent development SNAPSHOT of all files + contained in the GNU Compiler Collection (GCC). + . + The source code for this package has been exported from SVN trunk. + . + DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + . + This package will NEVER hit the testing distribution. It is used for + tracking gcc bugs submitted to the Debian BTS in recent development + versions of gcc. +',`dnl regexp SRCNAME +ifelse(regexp(SRCNAME, `gcc-toolchain'),0,`dnl +Package: gcc-toolchain`'PV`'TS +Architecture: any +Depends: + ${dep:libcbiarchdev}, ${dep:libcdev}, ${dep:libunwinddev}, python3, + ${snap:depends}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${snap:recommends} +BUILT_USING`'dnl +Description: Backport of the GNU Compiler Collection + This package contains the default GCC and binutils as found + in a newer Ubuntu LTS release. +',`dnl regexp SRCNAME +dnl default base package dependencies +define(`BASEDEP', `gcc`'PV`'TS-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'PV`'TS-base (>= ${gcc:SoftVersion})') + +ifdef(`TARGET',` +define(`BASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH,`all',`-cross')-base`'GCC_PORTS_BUILD (= ${gcc:Version})') +define(`SOFTBASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH, `all',`-cross')-base`'GCC_PORTS_BUILD (>= ${gcc:SoftVersion})') +',`dnl +define(`BASELDEP', `BASEDEP') +define(`SOFTBASELDEP', `SOFTBASEDEP') +') + +ifenabled(`gccbase',` +Package: gcc`'PV`'TS-base +Architecture: any +Multi-Arch: same +ifdef(`TARGET',`dnl',`Section: libs') +Depends: ${misc:Depends} +Replaces: ${base:Replaces} +Breaks: ${base:Breaks} +BUILT_USING`'dnl +Description: GCC, the GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl gccbase + +ifenabled(`gcclbase',` +Package: gcc`'PV-cross-base`'GCC_PORTS_BUILD +Architecture: all +ifdef(`TARGET',`dnl',`Section: libs') +Depends: ${misc:Depends} +BUILT_USING`'dnl +Description: GCC, the GNU Compiler Collection (library base package) + This empty package contains changelog and copyright files common to + all libraries contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl gcclbase + +ifenabled(`libgcc',` +Package: libgcc-s1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Provides: libgcc1`'LS (= ${gcc:EpochVersion}), ifdef(`TARGET',`libgcc-s1-TARGET-dcv1',`') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +ifdef(`LIBGCCPROTECTED', `XB-Important: yes +Protected: yes +')`'dnl +ifdef(`TARGET',`dnl +Breaks: libgcc1`'LS (<< 1:10) +Replaces: libgcc1`'LS (<< 1:10) +',`dnl +Breaks: ${libgcc:Breaks} +Replaces: libgcc1`'LS (<< 1:10) +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libgcc-s1`'LS (>= ${gcc:Version}), ${misc:Depends}, ${shlibs:Depends} +Provides: ifdef(`TARGET',`libgcc1-TARGET-dcv1',`') +ifdef(`MULTIxxxARCH', `Multi-Arch: same +Breaks: ${multiarch:breaks} +')`'dnl +BUILT_USING`'dnl +Description: GCC support library (dependency package)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: libgcc-s1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(gcc-s1,,=,${gcc:Version}), ${misc:Depends} +ifdef(`MULTIARCH',`Multi-Arch: same +')dnl +Breaks: libgcc1-dbg`'LS (<< 1:10) +Replaces: libgcc1-dbg`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libgcc-s1-dbg`'LS, libdep(gcc1,,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`MULTIxxxARCH',`Multi-Arch: same +')dnl +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg + +Package: libgcc-s2`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +ifdef(`TARGET',`dnl',`Section: libs') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +ifdef(`LIBGCCPROTECTED', `XB-Important: yes +Protected: yes +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Provides: libgcc2`'LS (= ${gcc:EpochVersion}), ifdef(`TARGET',`libgcc-s2-TARGET-dcv1')`' +ifdef(`TARGET',`dnl +Breaks: libgcc2`'LS (<< 1:10) +Replaces: libgcc2`'LS (<< 1:10) +',`dnl +Breaks: ${libgcc:Breaks} +Replaces: libgcc2`'LS (<< 1:10) +')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc2`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libgcc-s2`'LS (>= ${gcc:Version}), ${misc:Depends}, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libgcc-s2-TARGET-dcv1 +')`'dnl +ifdef(`MULTIxxxARCH', `Multi-Arch: same +Breaks: ${multiarch:breaks} +')`'dnl +BUILT_USING`'dnl +Description: GCC support library (dependency package)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: libgcc-s2-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: debug +Depends: BASELDEP, libdep(gcc-s2,,=,${gcc:Version}), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Breaks: libgcc2-dbg`'LS (<< 1:10) +Replaces: libgcc2-dbg`'LS (<< 1:10) +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc2-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: debug +Depends: BASELDEP, libgcc-s2-dbg`'LS, libdep(gcc2,,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`MULTIxxxARCH',`Multi-Arch: same +')dnl +BUILT_USING`'dnl +Description: GCC support library (debug symbols, debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg + +Package: libgcc-s4`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`MULTIARCH', `Multi-Arch: same +ifdef(`LIBGCCPROTECTED', `XB-Important: yes +Protected: yes +')`'dnl +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Provides: libgcc4`'LS (= ${gcc:EpochVersion}) +ifdef(`TARGET',`dnl +Breaks: libgcc4`'LS (<< 1:10) +Replaces: libgcc4`'LS (<< 1:10) +',`dnl +Breaks: ${libgcc:Breaks} +Replaces: libgcc4`'LS (<< 1:10) +')`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc4`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libgcc-s4`'LS (>= ${gcc:Version}), ${misc:Depends}, ${shlibs:Depends} +ifdef(`MULTIxxxARCH', `Multi-Arch: same +Breaks: ${multiarch:breaks} +')`'dnl +BUILT_USING`'dnl +Description: GCC support library (dependency package)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: libgcc-s4-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: debug +Depends: BASELDEP, libdep(gcc-s4,,=,${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Breaks: libgcc4-dbg`'LS (<< 1:10) +Replaces: libgcc4-dbg`'LS (<< 1:10) +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libgcc4-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +Section: debug +Depends: BASELDEP, libgcc-s4-dbg`'LS, libdep(gcc4,,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`MULTIxxxARCH',`Multi-Arch: same +')dnl +BUILT_USING`'dnl +Description: GCC support library (debug symbols, debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg +')`'dnl libgcc + +ifenabled(`cdev',` +Package: libgcc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm}, + ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan}, + ${dep:libtsan}, ${dep:libubsan}, ${dep:libhwasan}, ${dep:libvtv}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +Breaks: libtsan`'TSAN_SO`'LS (<< 12-20211113-2~) +Replaces: libtsan`'TSAN_SO`'LS (<< 12-20211113-2~) +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC support library (development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`lib64gcc',` +Package: lib64gcc-s1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64gcc1`'LS (= ${gcc:EpochVersion}), lib64gcc-s1-TARGET-dcv1 +',`')`'dnl +Breaks: lib64gcc1`'LS (<< 1:10) +Replaces: lib64gcc1`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (64bit) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: lib64gcc1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, lib64gcc-s1`'LS (>= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library (dependency package)`'ifdef(`TARGET',` (TARGET)', `') (64bit) + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: lib64gcc-s1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(gcc-s1,64,=,${gcc:Version}), ${misc:Depends} +Breaks: lib64gcc1-dbg`'LS (<< 1:10) +Replaces: lib64gcc1-dbg`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: lib64gcc1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, lib64gcc-s1-dbg`'LS, libdep(gcc1,64,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg +')`'dnl lib64gcc + +ifenabled(`cdev',` +Package: lib64gcc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (64bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`lib32gcc',` +Package: lib32gcc-s1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +Conflicts: ${confl:lib32} +Breaks: lib32gcc1`'LS (<< 1:10) +Replaces: lib32gcc1`'LS (<< 1:10) +ifdef(`TARGET',`Provides: lib32gcc1`'LS (= ${gcc:EpochVersion}), lib32gcc-s1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library (32 bit Version) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: lib32gcc1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, lib32gcc-s1`'LS (>= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +Conflicts: ${confl:lib32} +ifdef(`TARGET',`Provides: lib32gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library (dependency package, 32bit) + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: lib32gcc-s1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(gcc-s1,32,=,${gcc:Version}), ${misc:Depends} +Breaks: lib32gcc1-dbg`'LS (<< 1:10) +Replaces: lib32gcc1-dbg`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: lib32gcc1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, lib32gcc-s1-dbg`'LS, libdep(gcc1,32,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg +')`'dnl lib32gcc1 + +ifenabled(`cdev',` +Package: lib32gcc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (32 bit development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`libn32gcc',` +Package: libn32gcc-s1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32gcc1`'LS (= ${gcc:EpochVersion}), libn32gcc-s1-TARGET-dcv1 +',`')`'dnl +Breaks: libn32gcc1`'LS (<< 1:10) +Replaces: libn32gcc1`'LS (<< 1:10) +ifdef(`TARGET',`dnl',`Conflicts: lib32gcc-s1 [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (n32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libn32gcc1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libn32gcc-s1`'LS, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32gcc1-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: lib32gcc1 [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (n32) + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: libn32gcc-s1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(gcc-s1,n32,=,${gcc:Version}), ${misc:Depends} +Breaks: libn32gcc1-dbg`'LS (<< 1:10) +Replaces: libn32gcc1-dbg`'LS (<< 1:10) +ifdef(`TARGET',`dnl',`Conflicts: lib32gcc-s1-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libn32gcc1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libn32gcc-s1-dbg`'LS, libdep(gcc1,n32,=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32gcc1-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg +')`'dnl libn32gcc + +ifenabled(`cdev',` +Package: libn32gcc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (n32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl cdev + +ifenabled(`libx32gcc',` +Package: libx32gcc-s1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32gcc1`'LS (= ${gcc:EpochVersion}), libx32gcc-s1-TARGET-dcv1 +',`')`'dnl +Breaks: libx32gcc1`'LS (<< 1:10) +Replaces: libx32gcc1`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (x32) + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libx32gcc1`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libx32gcc-s1`'LS (>= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32gcc1-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (x32) + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc + +ifenabled(`libdbg',` +Package: libx32gcc-s1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(gcc-s1,x32,=,${gcc:Version}), ${misc:Depends} +Breaks: libx32gcc1-dbg`'LS (<< 1:10) +Replaces: libx32gcc1-dbg`'LS (<< 1:10) +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + Debug symbols for the GCC support library. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`libcompatgcc',` +Package: libx32gcc1-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libx32gcc-s1-dbg`'LS, libdep(gcc1,x32,=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `') + This is a dependency package, and can be safely removed after upgrade. +')`'dnl libcompatgcc +')`'dnl libdbg +')`'dnl libx32gcc + +ifenabled(`cdev',` +ifenabled(`x32dev',` +Package: libx32gcc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Recommends: ${dep:libcdev} +Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch}, + ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch}, + ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch}, + ${dep:libtsanbiarch}, ${dep:libubsanbiarch}, ${dep:libhwasanbiarch}, + ${dep:libvtvbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC support library (x32 development files) + This package contains the headers and static library files necessary for + building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. +')`'dnl x32dev +')`'dnl cdev + +ifenabled(`cdev',`dnl +for_each_arch(` +Package: gcc`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: cpp`'PV`'arch_gnusuffix (= ${gcc:Version}),ifenabled(`gccbase',` BASEDEP,') + ifenabled(`gccxbase',` BASEDEP,') + ${dep:libcc1}, + binutils`'arch_gnusuffix (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}), + gcc`'PV-locales (>= ${gcc:SoftVersion}), + libdbgdep(gcc-s`'GCC_SO-dbg,,>=,${libgcc:Version}), + libdbgdep(gomp`'GOMP_SO-dbg,), + libdbgdep(itm`'ITM_SO-dbg,), + libdbgdep(atomic`'ATOMIC_SO-dbg,), + libdbgdep(asan`'ASAN_SO-dbg,), + libdbgdep(lsan`'LSAN_SO-dbg,), + libdbgdep(tsan`'TSAN_SO-dbg,), + libdbgdep(ubsan`'UBSAN_SO-dbg,), + libdbgdep(hwasan`'HWASAN_SO-dbg,), +ifenabled(`libvtv',`',` + libdbgdep(vtv`'VTV_SO-dbg,), +')`'dnl + libdbgdep(quadmath`'QMATH_SO-dbg,), +Provides: c-compiler`'arch_gnusuffix +ifdef(`TARGET',`Conflicts: gcc-multilib +')`'dnl +BUILT_USING`'dnl +Description: GNU C compiler for the arch_gnu architecture + This is the GNU C compiler for the arch_gnu architecture, + a fairly portable optimizing compiler for C. +')`'dnl for_each_arch + +Package: gcc`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gcc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + cpp`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler for the host architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gcc`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gcc`'PV (>= ${gcc:Version}), cpp`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler for the build architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package. + +Package: gcc`'PV +Architecture: any +Depends: gcc`'PV`'${target:suffix} (= ${gcc:Version}),ifenabled(`gccbase',` BASEDEP,') + ifenabled(`gccxbase',` BASEDEP,') + cpp`'PV (= ${gcc:Version}), + binutils (>= ${binutils:Version}), + ${misc:Depends} +Recommends: ${dep:libcdev} +Replaces: cpp`'PV (<< 7.1.1-8) +Suggests: ${gcc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), + gcc`'PV-locales (>= ${gcc:SoftVersion}), + libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), + libdbgdep(gomp`'GOMP_SO-dbg,), + libdbgdep(itm`'ITM_SO-dbg,), + libdbgdep(atomic`'ATOMIC_SO-dbg,), + libdbgdep(asan`'ASAN_SO-dbg,), + libdbgdep(lsan`'LSAN_SO-dbg,), + libdbgdep(tsan`'TSAN_SO-dbg,), + libdbgdep(ubsan`'UBSAN_SO-dbg,), +ifenabled(`libvtv',`',` + libdbgdep(vtv`'VTV_SO-dbg,), +')`'dnl + libdbgdep(quadmath`'QMATH_SO-dbg), +Provides: c-compiler +BUILT_USING`'dnl +Description: GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. +')`'dnl + +ifenabled(`multilib',` +Package: gcc`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`testresults',` +Package: gcc`'PV-test-results +Architecture: any +Depends: BASEDEP, ${misc:Depends} +Replaces: g++-5 (<< 5.2.1-28) +BUILT_USING`'dnl +Description: Test results for the GCC test suite + This package contains the test results for running the GCC test suite + for a post build analysis. +')`'dnl testresults + +ifenabled(`plugindev',` +Package: gcc`'PV-plugin-dev`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), GMP_BUILD_DEP MPC_BUILD_DEP ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +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. +')`'dnl plugindev +')`'dnl cdev + +ifenabled(`cdev',` +Package: gcc`'PV-hppa64-linux-gnu +Architecture: ifdef(`TARGET',`any',hppa amd64 i386 x32) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), + binutils-hppa64-linux-gnu | binutils-hppa64, + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. +')`'dnl cdev + +ifenabled(`cdev',`dnl +for_each_arch(` +Package: cpp`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +ifdef(`TARGET',`dnl',`Section: interpreters') +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}), cpp`'PV-doc (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +BUILT_USING`'dnl +Description: GNU C preprocessor for arch_gnu + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for arch_gnu architecture but not + the compiler. +')`'dnl for_each_arch + +Package: cpp`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Section: ifdef(`TARGET',`devel',`interpreters') +Depends: BASEDEP, cpp`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C preprocessor for the host architecture + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for the host architecture but not + the compiler. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: cpp`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Section: ifdef(`TARGET',`devel',`interpreters') +Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C preprocessor for the build architecture + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor configured for the build architecture but not + the compiler. + . + This is a dependency package. + +Package: cpp`'PV +Architecture: any +Section: interpreters +Depends: BASEDEP, cpp`'PV`'${target:suffix} (= ${gcc:Version}), ${misc:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}) +Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3) +BUILT_USING`'dnl +Description: GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. +')`'dnl + +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: cpp`'PV-doc +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info `format'. +')`'dnl gfdldoc +')`'dnl native + +ifdef(`TARGET', `', ` +Package: gcc`'PV-locales +Architecture: all +Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:SoftVersion}), ${misc:Depends} +Recommends: gcc`'PV (>= ${gcc:SoftVersion}) +Description: GCC, the GNU compiler collection (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. +')`'dnl native +')`'dnl cdev + +ifenabled(`c++',` +ifenabled(`c++dev',`dnl +for_each_arch(` +Package: g++`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: BASEDEP, gcc`'PV`'arch_gnusuffix (= ${gcc:Version}), libidevdep(stdc++`'PV-dev,,=), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler`'arch_gnusuffix +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(stdc++CXX_SO`'PV-dbg,) +BUILT_USING`'dnl +Description: GNU C++ compiler for arch_gnu architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for arch_gnu architecture. +')`'dnl for_each_arch + +Package: g++`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, g++`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU C++ compiler for the host architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for the host architecture. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: g++`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, g++`'PV (>= ${gcc:Version}), ${misc:Depends}, + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}) +BUILT_USING`'dnl +Description: GNU C++ compiler for the build architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This package contains C++ cross-compiler for arch_gnu architecture. + . + This is a dependency package. + +Package: g++`'PV +Architecture: any +Depends: g++`'PV`'${target:suffix} (= ${gcc:Version}), BASEDEP, gcc`'PV (= ${gcc:Version}), ${misc:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: ${gxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +BUILT_USING`'dnl +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. +')`'dnl TARGET + +ifenabled(`multilib',` +Package: g++`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libcxxbiarchdbg} +BUILT_USING`'dnl +Description: GNU C++ compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl c++dev +')`'dnl c++ + +ifdef(`TARGET', `', ` +ifenabled(`ssp',` +Package: libssp`'SSP_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: any +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Section: libs +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC stack smashing protection library + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib32ssp`'SSP_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: biarch32_archs +Section: libs +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC stack smashing protection library (32bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib64ssp`'SSP_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: biarch64_archs +Section: libs +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +BUILT_USING`'dnl +Description: GCC stack smashing protection library (64bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libn32ssp`'SSP_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: biarchn32_archs +Section: libs +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +ifdef(`TARGET',`dnl',`Conflicts: lib32ssp`'SSP_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC stack smashing protection library (n32) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libx32ssp`'SSP_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: biarchx32_archs +Section: libs +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: libssp0 (<< 4.1) +BUILT_USING`'dnl +Description: GCC stack smashing protection library (x32) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. +')`'dnl +')`'dnl native + +ifenabled(`libgomp',` +Package: libgomp`'GOMP_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +ifenabled(`libdbg',` +Package: libgomp`'GOMP_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(gomp`'GOMP_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. +')`'dnl libdbg + +Package: lib32gomp`'GOMP_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +ifenabled(`libdbg',` +Package: lib32gomp`'GOMP_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(gomp`'GOMP_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (32 bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. +')`'dnl libdbg + +Package: lib64gomp`'GOMP_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +ifenabled(`libdbg',` +Package: lib64gomp`'GOMP_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(gomp`'GOMP_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (64bit debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. +')`'dnl libdbg + +Package: libn32gomp`'GOMP_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32gomp`'GOMP_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (n32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +ifenabled(`libdbg',` +Package: libn32gomp`'GOMP_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(gomp`'GOMP_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32ssp`'GOMP_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (n32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers +')`'dnl libdbg + +ifenabled(`libx32gomp',` +Package: libx32gomp`'GOMP_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (x32) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers + in the GNU Compiler Collection. + +ifenabled(`libdbg',` +Package: libx32gomp`'GOMP_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(gomp`'GOMP_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP (GOMP) support library (x32 debug symbols) + GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers +')`'dnl libdbg +')`'dnl libx32gomp +')`'dnl libgomp + +ifenabled(`libitm',` +Package: libitm`'ITM_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +ifenabled(`libdbg',` +Package: libitm`'ITM_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(itm`'ITM_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. +')`'dnl libdbg + +Package: lib32itm`'ITM_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (32bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +ifenabled(`libdbg',` +Package: lib32itm`'ITM_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(itm`'ITM_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (32 bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. +')`'dnl libdbg + +Package: lib64itm`'ITM_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (64bit) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. + +ifenabled(`libdbg',` +Package: lib64itm`'ITM_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(itm`'ITM_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (64bit debug symbols) + GNU Transactional Memory Library (libitm) provides transaction support for + accesses to the memory of a process, enabling easy-to-use synchronization of + accesses to shared memory by several threads. +')`'dnl libdbg + +#Package: libn32itm`'ITM_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32itm`'ITM_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +#Package: libn32itm`'ITM_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32itm`'ITM_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GNU Transactional Memory Library (n32 debug symbols) +# GNU Transactional Memory Library (libitm) provides transaction support for +# accesses to the memory of a process, enabling easy-to-use synchronization of +# accesses to shared memory by several threads. + +ifenabled(`libx32itm',` +Package: libx32itm`'ITM_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (x32) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. + +ifenabled(`libdbg',` +Package: libx32itm`'ITM_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(itm`'ITM_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Transactional Memory Library (x32 debug symbols) + This manual documents the usage and internals of libitm. It provides + transaction support for accesses to the memory of a process, enabling + easy-to-use synchronization of accesses to shared memory by several threads. +')`'dnl libdbg +')`'dnl libx32itm +')`'dnl libitm + +ifenabled(`libatomic',` +Package: libatomic`'ATOMIC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libdbg',` +Package: libatomic`'ATOMIC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libdbg + +Package: lib32atomic`'ATOMIC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (32bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libdbg',` +Package: lib32atomic`'ATOMIC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (32 bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libdbg + +Package: lib64atomic`'ATOMIC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (64bit) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libdbg',` +Package: lib64atomic`'ATOMIC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (64bit debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libdbg + +Package: libn32atomic`'ATOMIC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32atomic`'ATOMIC_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (n32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libdbg',` +Package: libn32atomic`'ATOMIC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32atomic`'ATOMIC_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (n32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libdbg + +ifenabled(`libx32atomic',` +Package: libx32atomic`'ATOMIC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (x32) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. + +ifenabled(`libdbg',` +Package: libx32atomic`'ATOMIC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: support library providing __atomic built-in functions (x32 debug symbols) + library providing __atomic built-in functions. When an atomic call cannot + be turned into lock-free instructions, GCC will make calls into this library. +')`'dnl libdbg +')`'dnl libx32atomic +')`'dnl libatomic + +ifenabled(`libasan',` +Package: libasan`'ASAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libdbg',` +Package: libasan`'ASAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(asan`'ASAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libdbg + +Package: lib32asan`'ASAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (32bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libdbg',` +Package: lib32asan`'ASAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(asan`'ASAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (32 bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libdbg + +Package: lib64asan`'ASAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (64bit) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libdbg',` +Package: lib64asan`'ASAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(asan`'ASAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (64bit debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libdbg + +#Package: libn32asan`'ASAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32asan`'ASAN_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +#Package: libn32asan`'ASAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32asan`'ASAN_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols) +# AddressSanitizer (ASan) is a fast memory error detector. It finds +# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libx32asan',` +Package: libx32asan`'ASAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (x32) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libdbg',` +Package: libx32asan`'ASAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(asan`'ASAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (x32 debug symbols) + AddressSanitizer (ASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libdbg +')`'dnl libx32asan +')`'dnl libasan + +ifenabled(`libhwasan',` +Package: libhwasan`'HWASAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector + AddressSanitizer (HWASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. + +ifenabled(`libdbg',` +Package: libhwasan`'HWASAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(hwasan`'LSAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: AddressSanitizer -- a fast memory error detector (debug symbols) + AddressSanitizer (HWASan) is a fast memory error detector. It finds + use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. +')`'dnl libdbg +')`'dnl libhwasan + +ifenabled(`liblsan',` +Package: liblsan`'LSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (runtime) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. + +ifenabled(`libdbg',` +Package: liblsan`'LSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(lsan`'LSAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer. +')`'dnl libdbg + +ifenabled(`lib32lsan',` +Package: lib32lsan`'LSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (32bit) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +ifenabled(`libdbg',` +Package: lib32lsan`'LSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(lsan`'LSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). +')`'dnl libdbg +')`'dnl lib32lsan + +ifenabled(`lib64lsan',` +#Package: lib64lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +ifenabled(`libdbg',` +#Package: lib64lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,64,=), ${misc:Depends} +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (64bit debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. +')`'dnl libdbg +')`'dnl lib64lsan + +ifenabled(`libn32lsan',` +#Package: libn32lsan`'LSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32lsan`'LSAN_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. + +ifenabled(`libdbg',` +#Package: libn32lsan`'LSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32lsan`'LSAN_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols) +# LeakSanitizer (Lsan) is a memory leak detector which is integrated +# into AddressSanitizer. +')`'dnl libdbg +')`'dnl libn32lsan + +ifenabled(`libx32lsan',` +Package: libx32lsan`'LSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (x32) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). + +ifenabled(`libdbg',` +Package: libx32lsan`'LSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(lsan`'LSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: LeakSanitizer -- a memory leak detector (x32 debug symbols) + LeakSanitizer (Lsan) is a memory leak detector which is integrated + into AddressSanitizer (empty package). +')`'dnl libdbg +')`'dnl libx32lsan +')`'dnl liblsan + +ifenabled(`libtsan',` +Package: libtsan`'TSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`libdbg',` +Package: libtsan`'TSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(tsan`'TSAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libdbg + +ifenabled(`lib32tsan',` +Package: lib32tsan`'TSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (32bit) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`libdbg',` +Package: lib32tsan`'TSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(tsan`'TSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (32 bit debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libdbg +')`'dnl lib32tsan + +ifenabled(`lib64tsan',` +Package: lib64tsan`'TSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`libdbg',` +Package: lib64tsan`'TSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(tsan`'TSAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libdbg +')`'dnl lib64tsan + +ifenabled(`libn32tsan',` +Package: libn32tsan`'TSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32tsan`'TSAN_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`libdbg',` +Package: libn32tsan`'TSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(tsan`'TSAN_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32tsan`'TSAN_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32 debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libdbg +')`'dnl libn32tsan + +ifenabled(`libx32tsan',` +Package: libx32tsan`'TSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. + +ifenabled(`libdbg',` +Package: libx32tsan`'TSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(tsan`'TSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32 debug symbols) + ThreadSanitizer (Tsan) is a data race detector for C/C++ programs. + The Linux and Mac versions are based on Valgrind. +')`'dnl libdbg +')`'dnl libx32tsan +')`'dnl libtsan + +ifenabled(`libubsan',` +Package: libubsan`'UBSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (runtime) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +ifenabled(`libdbg',` +Package: libubsan`'UBSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libdbg + +ifenabled(`lib32ubsan',` +Package: lib32ubsan`'UBSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (32bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +ifenabled(`libdbg',` +Package: lib32ubsan`'UBSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (32 bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libdbg +')`'dnl lib32ubsan + +ifenabled(`lib64ubsan',` +Package: lib64ubsan`'UBSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (64bit) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +ifenabled(`libdbg',` +Package: lib64ubsan`'UBSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (64bit debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libdbg +')`'dnl lib64ubsan + +ifenabled(`libn32ubsan',` +#Package: libn32ubsan`'UBSAN_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32ubsan`'UBSAN_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. + +ifenabled(`libdbg',` +#Package: libn32ubsan`'UBSAN_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32ubsan`'UBSAN_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: UBSan -- undefined behaviour sanitizer (n32 debug symbols) +# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. +# Various computations will be instrumented to detect undefined behavior +# at runtime. Available for C and C++. +')`'dnl libdbg +')`'dnl libn32ubsan + +ifenabled(`libx32ubsan',` +Package: libx32ubsan`'UBSAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (x32) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. + +ifenabled(`libdbg',` +Package: libx32ubsan`'UBSAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: UBSan -- undefined behaviour sanitizer (x32 debug symbols) + UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined. + Various computations will be instrumented to detect undefined behavior + at runtime. Available for C and C++. +')`'dnl libdbg +')`'dnl libx32ubsan +')`'dnl libubsan + +ifenabled(`libvtv',` +Package: libvtv`'VTV_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (runtime) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`libdbg',` +Package: libvtv`'VTV_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(vtv`'VTV_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GNU vtable verification library (debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libdbg + +ifenabled(`lib32vtv',` +Package: lib32vtv`'VTV_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GNU vtable verification library (32bit) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`libdbg',` +Package: lib32vtv`'VTV_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(vtv`'VTV_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (32 bit debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libdbg +')`'dnl lib32vtv + +ifenabled(`lib64vtv',` +Package: lib64vtv`'VTV_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (64bit) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`libdbg',` +Package: lib64vtv`'VTV_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(vtv`'VTV_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (64bit debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libdbg +')`'dnl lib64vtv + +ifenabled(`libn32vtv',` +Package: libn32vtv`'VTV_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32vtv`'VTV_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GNU vtable verification library (n32) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`libdbg',` +Package: libn32vtv`'VTV_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(vtv`'VTV_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32vtv`'VTV_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GNU vtable verification library (n32 debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libdbg +')`'dnl libn32vtv + +ifenabled(`libx32vtv',` +Package: libx32vtv`'VTV_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (x32) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. + +ifenabled(`libdbg',` +Package: libx32vtv`'VTV_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(vtv`'VTV_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU vtable verification library (x32 debug symbols) + Vtable verification is a new security hardening feature for GCC that + is designed to detect and handle (during program execution) when a + vtable pointer that is about to be used for a virtual function call is + not a valid vtable pointer for that call. +')`'dnl libdbg +')`'dnl libx32vtv +')`'dnl libvtv + +ifenabled(`libbacktrace',` +Package: libbacktrace`'BTRACE_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libdbg',` +Package: libbacktrace`'BTRACE_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: stack backtrace library (debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libdbg + +Package: lib32backtrace`'BTRACE_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: stack backtrace library (32bit) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libdbg',` +Package: lib32backtrace`'BTRACE_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (32 bit debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libdbg + +Package: lib64backtrace`'BTRACE_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (64bit) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libdbg',` +Package: lib64backtrace`'BTRACE_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (64bit debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libdbg + +Package: libn32backtrace`'BTRACE_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32backtrace`'BTRACE_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: stack backtrace library (n32) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libdbg',` +Package: libn32backtrace`'BTRACE_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32backtrace`'BTRACE_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: stack backtrace library (n32 debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libdbg + +ifenabled(`libx32backtrace',` +Package: libx32backtrace`'BTRACE_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (x32) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. + +ifenabled(`libdbg',` +Package: libx32backtrace`'BTRACE_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: stack backtrace library (x32 debug symbols) + libbacktrace uses the GCC unwind interface to collect a stack trace, + and parses DWARF debug info to get file/line/function information. +')`'dnl libdbg +')`'dnl libx32backtrace +')`'dnl libbacktrace + +ifenabled(`libqmath',` +Package: libquadmath`'QMATH_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +ifenabled(`libdbg',` +Package: libquadmath`'QMATH_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,,=), ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libdbg + +Package: lib32quadmath`'QMATH_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (32bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +ifenabled(`libdbg',` +Package: lib32quadmath`'QMATH_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (32 bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libdbg + +Package: lib64quadmath`'QMATH_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (64bit) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +ifenabled(`libdbg',` +Package: lib64quadmath`'QMATH_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (64bit debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libdbg + +#Package: libn32quadmath`'QMATH_SO`'LS +#Section: ifdef(`TARGET',`devel',`libs') +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Priority: optional +#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32quadmath`'QMATH_SO [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. The library is used to provide on such +# targets the REAL(16) type in the GNU Fortran compiler. + +ifenabled(`libdbg',` +#Package: libn32quadmath`'QMATH_SO-dbg`'LS +#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +#Section: debug +#Priority: optional +#Depends: BASELDEP, libdep(quadmath`'QMATH_SO,n32,=), ${misc:Depends} +#ifdef(`TARGET',`dnl',`Conflicts: lib32quadmath`'QMATH_SO-dbg [biarch32_conflicts]') +#BUILT_USING`'dnl +#Description: GCC Quad-Precision Math Library (n32 debug symbols) +# A library, which provides quad-precision mathematical functions on targets +# supporting the __float128 datatype. +')`'dnl libdbg + +ifenabled(`libx32qmath',` +Package: libx32quadmath`'QMATH_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (x32) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. The library is used to provide on such + targets the REAL(16) type in the GNU Fortran compiler. + +ifenabled(`libdbg',` +Package: libx32quadmath`'QMATH_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(quadmath`'QMATH_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: GCC Quad-Precision Math Library (x32 debug symbols) + A library, which provides quad-precision mathematical functions on targets + supporting the __float128 datatype. +')`'dnl libdbg +')`'dnl libx32qmath +')`'dnl libqmath + +ifenabled(`libcc1',` +Package: libcc1-`'CC1_SO +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC cc1 plugin for GDB + libcc1 is a plugin for GDB. +')`'dnl libcc1 + +ifenabled(`libjit',` +Package: libgccjit`'GCCJIT_SO +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, libgcc`'PV-dev, binutils, ${dep:libcdev}, + ${shlibs:Depends}, ${misc:Depends} +Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4) +BUILT_USING`'dnl +Description: GCC just-in-time compilation (shared library) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +ifenabled(`libdbg',` +Package: libgccjit`'GCCJIT_SO-dbg +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, libgccjit`'GCCJIT_SO (= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC just-in-time compilation (debug information) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. +')`'dnl libdbg +')`'dnl libjit + +ifenabled(`jit',` +Package: libgccjit`'PV-doc +Section: doc +Architecture: all +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-doc, libgccjit-8-doc, + libgccjit-9-doc, libgccjit-10-doc, libgccjit-11-doc, libgccjit-12-doc, + libgccjit-13-doc, +Description: GCC just-in-time compilation (documentation) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. + +Package: libgccjit`'PV-dev +ifdef(`TARGET',`dnl',`Section: libdevel') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, libgccjit`'GCCJIT_SO (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Suggests: libgccjit`'PV-dbg +Description: GCC just-in-time compilation (development files) + libgccjit provides an embeddable shared library with an API for adding + compilation to existing programs using GCC. +')`'dnl jit + +ifenabled(`objpp',` +ifenabled(`objppdev',` +for_each_arch(` +Package: gobjc++`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: BASEDEP, gobjc`'PV`'arch_gnusuffix (= ${gcc:Version}), g++`'PV`'arch_gnusuffix (= ${gcc:Version}), ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler`'arch_gnusuffix +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler for the arch_gnu architecture + This is the GNU Objective-C++ compiler for the arch_gnu architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. +')`'dnl for_each_arch + +Package: gobjc++`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gobjc++`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gobjc`'PV`'-for-host (= ${gcc:Version}), g++`'PV`'-for-host (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler for the host architecture + This is the GNU Objective-C++ compiler for the host architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gobjc++`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gobjc++`'PV (>= ${gcc:Version}), + gobjc`'PV`'-for-build (= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), g++`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler for the build architecture + This is the GNU Objective-C++ compiler for the build architecture, + which compiles Objective-C++ on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gobjc++`'PV +Architecture: any +Depends: BASEDEP, gobjc++`'PV`'${target:suffix} (= ${gcc:Version}), gobjc`'PV (= ${gcc:Version}), g++`'PV (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl TARGET +')`'dnl obcppdev + +ifenabled(`multilib',` +Package: gobjc++`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gobjc++`'PV`'TS (= ${gcc:Version}), g++`'PV-multilib`'TS (= ${gcc:Version}), gobjc`'PV-multilib`'TS (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C++ compiler (multilib support) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib +')`'dnl obcpp + +ifenabled(`objc',` +ifenabled(`objcdev',` +for_each_arch(` +Package: gobjc`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: BASEDEP, gcc`'PV`'arch_gnusuffix (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends} +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(objc`'OBJC_SO-dbg,) +Provides: objc-compiler`'arch_gnusuffix +BUILT_USING`'dnl +Description: GNU Objective-C compiler for the arch_gnu architecture + This is the GNU Objective-C compiler for the arch_gnu architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. +')`'dnl for_each_arch + +Package: gobjc`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gobjc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C compiler for the host architecture + This is the GNU Objective-C compiler for the host architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gobjc`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gobjc`'PV (>= ${gcc:Version}), ${misc:Depends}, + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}) +BUILT_USING`'dnl +Description: GNU Objective-C compiler for the build architecture + This is the GNU Objective-C compiler for the build architecture, + which compiles Objective-C on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gobjc`'PV +Architecture: any +Depends: BASEDEP, gobjc`'PV`'${target:suffix} (= ${gcc:Version}), gcc`'PV (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc-compiler +BUILT_USING`'dnl +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl ifndef TARGET +ifenabled(`multilib',` +Package: gobjc`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Objective-C compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +Package: libobjc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(objc`'OBJC_SO,), ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib64objc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(objc`'OBJC_SO,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: lib32objc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(objc`'OBJC_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32bit development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +Package: libn32objc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(objc`'OBJC_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. + +ifenabled(`x32dev',` +Package: libx32objc`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(objc`'OBJC_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32 development files) + This package contains the headers and static library files needed to build + GNU ObjC applications. +')`'dnl libx32objc +')`'dnl objcdev + +ifenabled(`libobjc',` +Package: libobjc`'OBJC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +ifelse(OBJC_SO,`2',`Breaks: ${multiarch:breaks} +',`')')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +ifenabled(`libdbg',` +Package: libobjc`'OBJC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, libdep(objc`'OBJC_SO,,=), libdbgdep(gcc-s`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libdbg +')`'dnl libobjc + +ifenabled(`lib64objc',` +Package: lib64objc`'OBJC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +ifenabled(`libdbg',` +Package: lib64objc`'OBJC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, libdep(objc`'OBJC_SO,64,=), libdbgdep(gcc-s`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (64 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libdbg +')`'dnl lib64objc + +ifenabled(`lib32objc',` +Package: lib32objc`'OBJC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +ifenabled(`libdbg',` +Package: lib32objc`'OBJC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, libdep(objc`'OBJC_SO,32,=), libdbgdep(gcc-s`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (32 bit debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libdbg +')`'dnl lib32objc + +ifenabled(`libn32objc',` +Package: libn32objc`'OBJC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32objc`'OBJC_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32) + Library needed for GNU ObjC applications linked against the shared library. + +ifenabled(`libdbg',` +Package: libn32objc`'OBJC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, libdep(objc`'OBJC_SO,n32,=), libdbgdep(gcc-s`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32objc`'OBJC_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (n32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libdbg +')`'dnl libn32objc + +ifenabled(`libx32objc',` +Package: libx32objc`'OBJC_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32) + Library needed for GNU ObjC applications linked against the shared library. + +ifenabled(`libdbg',` +Package: libx32objc`'OBJC_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, libdep(objc`'OBJC_SO,x32,=), libdbgdep(gcc-s`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Objective-C applications (x32 debug symbols) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libdbg +')`'dnl libx32objc +')`'dnl objc + +ifenabled(`fortran',` +ifenabled(`fdev',`dnl +for_each_arch(`ifelse(index(` 'fortran_no_archs` ',` !'arch_deb` '),`-1',` +Package: gfortran`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: BASEDEP, gcc`'PV`'arch_gnusuffix (= ${gcc:Version}), libidevdep(gfortran`'PV-dev,,=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gfortran`'PV-doc, + libdbgdep(gfortran`'FORTRAN_SO-dbg), + libcoarrays-dev +BUILT_USING`'dnl +Description: GNU Fortran compiler for the arch_gnu architecture + This is the GNU Fortran compiler for the arch_gnu architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. +')')`'dnl for_each_arch + +Package: gfortran`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gfortran`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Fortran compiler for the host architecture + This is the GNU Fortran compiler for the host architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gfortran`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gfortran`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Fortran compiler for the build architecture + This is the GNU Fortran compiler for the build architecture, + which compiles Fortran on platforms supported by the gcc compiler. + It uses the gcc backend to generate optimized code. + . + This is a dependency package. + +Package: gfortran`'PV +Architecture: any +Depends: gfortran`'PV`'${target:suffix} (= ${gcc:Version}), BASEDEP, gcc`'PV (= ${gcc:Version}), ${misc:Depends} +Provides: fortran95-compiler, ${fortran:mod-version} +Suggests: ${gfortran:multilib}, gfortran`'PV-doc +BUILT_USING`'dnl +Description: GNU Fortran compiler + This is the GNU Fortran compiler, which compiles + Fortran on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl TARGET + +ifenabled(`multilib',` +Package: gfortran`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gfortran`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Fortran compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU Fortran compiler, which compiles Fortran on platforms + supported by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`gfdldoc',` +Package: gfortran`'PV-doc +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran compiler in info `format'. +')`'dnl gfdldoc + +Package: libgfortran`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',), libdep(gfortran`'FORTRAN_SO,), ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib64gfortran`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',64), libdep(gfortran`'FORTRAN_SO,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: lib32gfortran`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',32), libdep(gfortran`'FORTRAN_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +Package: libn32gfortran`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',n32), libdep(gfortran`'FORTRAN_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. + +ifenabled(`x32dev',` +Package: libx32gfortran`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev`',x32), libdep(gfortran`'FORTRAN_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Fortran applications. +')`'dnl libx32gfortran +')`'dnl fdev + +ifenabled(`libgfortran',` +Package: libgfortran`'FORTRAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libgfortran`'FORTRAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,,=), libdbgdep(gcc-s`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libdbg +')`'dnl libgfortran + +ifenabled(`lib64gfortran',` +Package: lib64gfortran`'FORTRAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: lib64gfortran`'FORTRAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (64bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libdbg +')`'dnl lib64gfortran + +ifenabled(`lib32gfortran',` +Package: lib32gfortran`'FORTRAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: lib32gfortran`'FORTRAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (32 bit debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libdbg +')`'dnl lib32gfortran + +ifenabled(`libn32gfortran',` +Package: libn32gfortran`'FORTRAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32gfortran`'FORTRAN_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32) + Library needed for GNU Fortran applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libn32gfortran`'FORTRAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32gfortran`'FORTRAN_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (n32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libdbg +')`'dnl libn32gfortran + +ifenabled(`libx32gfortran',` +Package: libx32gfortran`'FORTRAN_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32) + Library needed for GNU Fortran applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libx32gfortran`'FORTRAN_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Fortran applications (x32 debug symbols) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl libdbg +')`'dnl libx32gfortran +')`'dnl fortran + +ifenabled(`ggo',` +ifenabled(`godev',` +for_each_arch(`ifelse(index(` 'go_no_archs` ',` !'arch_deb` '),`-1',` +Package: gccgo`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: BASEDEP, ifdef(`STANDALONEGO',`${dep:libcc1}, ',`gcc`'PV`'arch_gnusuffix (= ${gcc:Version}), ')libidevdep(go`'PV-dev,,>=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg), +Conflicts: ${golang:Conflicts} +Breaks: libgo12`'LS (<< 8-20171209-2) +Replaces: libgo12`'LS (<< 8-20171209-2) +BUILT_USING`'dnl +Description: GNU Go compiler for the arch_gnu architecture + This is the GNU Go compiler for the arch_gnu architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. +')')`'dnl for_each_arch + +Package: gccgo`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gccgo`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Go compiler for the host architecture + This is the GNU Go compiler for the host architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gccgo`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gccgo`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Go compiler for the build architecture + This is the GNU Go compiler for the build architecture, which + compiles Go on platforms supported by the gcc compiler. It uses the gcc + backend to generate optimized code. + . + This is a dependency package. + +Package: gccgo`'PV +Architecture: any +Depends: BASEDEP, gccgo`'PV`'${target:suffix} (= ${gcc:Version}), ifdef(`STANDALONEGO',`',`gcc`'PV (= ${gcc:Version}), ')${misc:Depends} +Provides: go-compiler +Suggests: ${go:multilib}, gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg), +Conflicts: ${golang:Conflicts} +BUILT_USING`'dnl +Description: GNU Go compiler + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. +')`'dnl no-TARGET + +ifenabled(`multilib',` +Package: gccgo`'PV-multilib`'TS +Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS) +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gccgo`'PV`'TS (= ${gcc:Version}), ifdef(`STANDALONEGO',,`gcc`'PV-multilib`'TS (= ${gcc:Version}), ')${dep:libgobiarchdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libgobiarchdbg} +BUILT_USING`'dnl +Description: GNU Go compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU Go compiler, which compiles Go on platforms supported + by the gcc compiler. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`gfdldoc',` +Package: gccgo`'PV-doc +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +BUILT_USING`'dnl +Description: Documentation for the GNU Go compiler (gccgo) + Documentation for the GNU Go compiler in info `format'. +')`'dnl gfdldoc + +Package: libgo`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(go`'GO_SO,), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: lib64go`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(go`'GO_SO,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (64bit development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: lib32go`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(go`'GO_SO,32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (32bit development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +Package: libn32go`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(go`'GO_SO,n32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (n32 development files) + This package contains the headers and static library files needed to build + GNU Go applications. + +ifenabled(`x32dev',` +Package: libx32go`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(go`'GO_SO,x32), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (x32 development files) + This package contains the headers and static library files needed to build + GNU Go applications. +')`'dnl libx32go +')`'dnl godev + +ifenabled(`libggo',` +Package: libgo`'GO_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications + Library needed for GNU Go applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libgo`'GO_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, libdep(go`'GO_SO,,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libdbg +')`'dnl libgo + +ifenabled(`lib64ggo',` +Package: lib64go`'GO_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (64bit) + Library needed for GNU Go applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: lib64go`'GO_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, libdep(go`'GO_SO,64,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (64bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libdbg +')`'dnl lib64go + +ifenabled(`lib32ggo',` +Package: lib32go`'GO_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (32bit) + Library needed for GNU Go applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: lib32go`'GO_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, libdep(go`'GO_SO,32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (32 bit debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libdbg +')`'dnl lib32go + +ifenabled(`libn32ggo',` +Package: libn32go`'GO_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32go`'GO_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (n32) + Library needed for GNU Go applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libn32go`'GO_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, libdep(go`'GO_SO,n32,=), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32go`'GO_SO-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (n32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libdbg +')`'dnl libn32go + +ifenabled(`libx32ggo',` +Package: libx32go`'GO_SO`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (x32) + Library needed for GNU Go applications linked against the + shared library. + +ifenabled(`libdbg',` +Package: libx32go`'GO_SO-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, libdep(go`'GO_SO,x32,=), ${misc:Depends} +BUILT_USING`'dnl +Description: Runtime library for GNU Go applications (x32 debug symbols) + Library needed for GNU Go applications linked against the + shared library. This currently is an empty package, because the + library is completely unstripped. +')`'dnl libdbg +')`'dnl libx32go +')`'dnl ggo + +ifenabled(`c++',` +ifenabled(`libcxx',` +Package: libstdc++CXX_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, ${dep:libc}, ${shlibs:Depends}, ${misc:Depends} +Provides: ifdef(`TARGET',`libstdc++CXX_SO-TARGET-dcv1',`') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++CXX_SO`'PV-dbg`'LS (<< 4.9.0-3) +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libcxx + +ifenabled(`lib32cxx',` +Package: lib32stdc++CXX_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libdep(gcc-s1,32), ${shlibs:Depends}, ${misc:Depends} +Conflicts: ${confl:lib32} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32cxx + +ifenabled(`lib64cxx',` +Package: lib64stdc++CXX_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libdep(gcc-s1,64), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64cxx + +ifenabled(`libn32cxx',` +Package: libn32stdc++CXX_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libdep(gcc-s1,n32), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +ifdef(`TARGET',`dnl',`Conflicts: lib32stdc++`'CXX_SO [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (n32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libn32cxx + +ifenabled(`libx32cxx',` +Package: libx32stdc++CXX_SO`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +ifdef(`TARGET',`dnl',`Section: libs') +Depends: BASELDEP, libdep(gcc-s1,x32), ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (x32) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libx32cxx + +ifenabled(`c++dev',` +Package: libstdc++`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev,,=), + libdep(stdc++CXX_SO,,>=), ${dep:libcdev}, ${misc:Depends} +ifdef(`TARGET',`',`dnl native +Suggests: libstdc++`'PV-doc +')`'dnl native +Provides: libstdc++-dev`'LS`'ifdef(`TARGET',`, libstdc++-dev-TARGET-dcv1') +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++`'PV-pic`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdep(stdc++CXX_SO,), + libdevdep(stdc++`'PV-dev,), ${misc:Depends} +ifdef(`TARGET',`Provides: libstdc++-pic-TARGET-dcv1 +',`')`'dnl +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (shared library subset kit)`'ifdef(`TARGET',` (TARGET)', `') + This is used to develop subsets of the libstdc++ shared libraries for + use on custom installation floppies and in embedded systems. + . + Unless you are making one of those, you will not need this package. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Depends: BASELDEP, libdep(stdc++CXX_SO,), + libdbgdep(gcc-s`'GCC_SO-dbg,,>=,${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: ifdef(`TARGET',`libstdc++CXX_SO-dbg-TARGET-dcv1',`') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Recommends: libdevdep(stdc++`'PV-dev,) +Conflicts: libstdc++5-dbg`'LS, libstdc++5-3.3-dbg`'LS, libstdc++6-dbg`'LS, + libstdc++6-4.0-dbg`'LS, libstdc++6-4.1-dbg`'LS, libstdc++6-4.2-dbg`'LS, + libstdc++6-4.3-dbg`'LS, libstdc++6-4.4-dbg`'LS, libstdc++6-4.5-dbg`'LS, + libstdc++6-4.6-dbg`'LS, libstdc++6-4.7-dbg`'LS, libstdc++6-4.8-dbg`'LS, + libstdc++6-4.9-dbg`'LS, libstdc++6-5-dbg`'LS, libstdc++6-6-dbg`'LS, + libstdc++6-7-dbg`'LS, libstdc++6-8-dbg`'LS, libstdc++6-9-dbg`'LS, + libstdc++6-10-dbg`'LS, libstdc++6-11-dbg`'LS, libstdc++6-12-dbg`'LS, + libstdc++6-13-dbg`'LS, +BUILT_USING`'dnl +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), + libdep(stdc++CXX_SO,32), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++CXX_SO`'PV-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Depends: BASELDEP, libdep(stdc++CXX_SO,32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc-s`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib32stdc++6-dbg`'LS, lib32stdc++6-4.0-dbg`'LS, + lib32stdc++6-4.1-dbg`'LS, lib32stdc++6-4.2-dbg`'LS, lib32stdc++6-4.3-dbg`'LS, + lib32stdc++6-4.4-dbg`'LS, lib32stdc++6-4.5-dbg`'LS, lib32stdc++6-4.6-dbg`'LS, + lib32stdc++6-4.7-dbg`'LS, lib32stdc++6-4.8-dbg`'LS, lib32stdc++6-4.9-dbg`'LS, + lib32stdc++6-5-dbg`'LS, lib32stdc++6-6-dbg`'LS, lib32stdc++6-7-dbg`'LS, + lib32stdc++6-8-dbg`'LS, lib32stdc++6-9-dbg`'LS, lib32stdc++6-10-dbg`'LS, + lib32stdc++6-11-dbg`'LS, lib32stdc++6-12-dbg`'LS, lib32stdc++6-13-dbg`'LS, +BUILT_USING`'dnl +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), + libdep(stdc++CXX_SO,64), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++CXX_SO`'PV-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Depends: BASELDEP, libdep(stdc++CXX_SO,64), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc-s`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib64stdc++6-dbg`'LS, lib64stdc++6-4.0-dbg`'LS, + lib64stdc++6-4.1-dbg`'LS, lib64stdc++6-4.2-dbg`'LS, lib64stdc++6-4.3-dbg`'LS, + lib64stdc++6-4.4-dbg`'LS, lib64stdc++6-4.5-dbg`'LS, lib64stdc++6-4.6-dbg`'LS, + lib64stdc++6-4.7-dbg`'LS, lib64stdc++6-4.8-dbg`'LS, lib64stdc++6-4.9-dbg`'LS, + lib64stdc++6-5-dbg`'LS, lib64stdc++6-6-dbg`'LS, lib64stdc++6-7-dbg`'LS, + lib64stdc++6-8-dbg`'LS, lib64stdc++6-9-dbg`'LS, lib64stdc++6-10-dbg`'LS, + lib64stdc++6-11-dbg`'LS, lib64stdc++6-12-dbg`'LS, lib64stdc++6-13-dbg`'LS, +BUILT_USING`'dnl +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32stdc++`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), + libdep(stdc++CXX_SO,n32), libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libn32stdc++CXX_SO`'PV-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Depends: BASELDEP, libdep(stdc++CXX_SO,n32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc-s`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: libn32stdc++6-dbg`'LS, libn32stdc++6-4.0-dbg`'LS, + libn32stdc++6-4.1-dbg`'LS, libn32stdc++6-4.2-dbg`'LS, libn32stdc++6-4.3-dbg`'LS, + libn32stdc++6-4.4-dbg`'LS, libn32stdc++6-4.5-dbg`'LS, libn32stdc++6-4.6-dbg`'LS, + libn32stdc++6-4.7-dbg`'LS, libn32stdc++6-4.8-dbg`'LS, libn32stdc++6-4.9-dbg`'LS, + libn32stdc++6-5-dbg`'LS, libn32stdc++6-6-dbg`'LS, libn32stdc++6-7-dbg`'LS, + libn32stdc++6-8-dbg`'LS, libn32stdc++6-9-dbg`'LS, libn32stdc++6-10-dbg`'LS, + libn32stdc++6-11-dbg`'LS, libn32stdc++6-12-dbg`'LS, libn32stdc++6-13-dbg`'LS, +BUILT_USING`'dnl +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifenabled(`x32dev',` +Package: libx32stdc++`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +ifdef(`TARGET',`dnl',`Section: libdevel') +Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(stdc++CXX_SO,x32), + libdevdep(stdc++`'PV-dev,), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl x32dev + +ifenabled(`libx32dbgcxx',` +Package: libx32stdc++CXX_SO`'PV-dbg`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Depends: BASELDEP, libdep(stdc++CXX_SO,x32), + libdevdep(stdc++`'PV-dev,), libdbgdep(gcc-s`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), + ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: libx32stdc++6-dbg`'LS, libx32stdc++6-4.6-dbg`'LS, + libx32stdc++6-4.7-dbg`'LS, libx32stdc++6-4.8-dbg`'LS, libx32stdc++6-4.9-dbg`'LS, + libx32stdc++6-5-dbg`'LS, libx32stdc++6-6-dbg`'LS, libx32stdc++6-7-dbg`'LS, + libx32stdc++6-8-dbg`'LS, libx32stdc++6-9-dbg`'LS, libx32stdc++6-10-dbg`'LS, + libx32stdc++6-11-dbg`'LS, libx32stdc++6-12-dbg`'LS, libx32stdc++6-13-dbg`'LS, +BUILT_USING`'dnl +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libx32dbgcxx + +ifdef(`TARGET', `', ` +Package: libstdc++`'PV-doc +Build-Profiles: +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, + libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc, + libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc, + libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc, + libstdc++-7-doc, libstdc++-8-doc, libstdc++-9-doc, libstdc++-10-doc, + libstdc++-11-doc, libstdc++-12-doc, libstdc++-13-doc, +Description: GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +')`'dnl native +')`'dnl c++dev +')`'dnl c++ + +ifenabled(`ada',` +for_each_arch(`ifelse(index(` 'ada_no_archs` ',` !'arch_deb` '),`-1',` +Package: gnat`'-GNAT_V`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, gcc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat`'PV-doc, ada-reference-manual-2012 +ifdef(`TARGET',`',`dnl +Provides: gnat`'-GNAT_V-${libgnat:alihash} +')`'dnl +Conflicts: gnat-4.9, gnat-5`'TS, gnat-6`'TS, gnat-7`'TS, gnat-8`'TS, gnat-9`'TS, + gnat-10`'TS, gnat-11`'TS, gnat-12`'TS, gnat-13`'TS, +# Previous versions conflict for (at least) /usr/bin/gnatmake. +BUILT_USING`'dnl +Description: GNU Ada compiler for the arch_gnu architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. +')')`'dnl for_each_arch + +Package: gnat`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gnat`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Ada compiler for the host architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gnat`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gnat`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Ada compiler for the build architecture + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. + . + This is a dependency package. + +Package: gnat`'-GNAT_V +Architecture: any +ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: gnat`'-GNAT_V`'${target:suffix} (= ${gcc:Version}), BASEDEP, gcc`'PV (>= ${gcc:SoftVersion}), ${misc:Depends} +Suggests: gnat`'PV-doc, ada-reference-manual-2012, gnat`'-GNAT_V-sjlj +BUILT_USING`'dnl +Description: GNU Ada compiler + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides the compiler, tools and runtime library that handles + exceptions using the default zero-cost mechanism. +')`'dnl no-TARGET + +ifenabled(`adasjlj',` +Package: gnat`'-GNAT_V-sjlj`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASEDEP, gnat`'-GNAT_V`'TS (= ${gnat:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Ada compiler (setjump/longjump runtime library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + This package provides an alternative runtime library that handles + exceptions using the setjump/longjump mechanism (as a static library + only). You can install it to supplement the normal compiler. +')`'dnl adasjlj + +ifenabled(`libgnat',` +Package: libgnat`'-GNAT_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library. + +ifenabled(`libdbg',` +Package: libgnat`'-GNAT_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Depends: BASELDEP, libgnat`'-GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (debugging symbols) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the debugging symbols. +')`'dnl libdbg +')`'dnl libgnat + +ifenabled(`lib64gnat',` +Package: lib64gnat`'-GNAT_V +Section: libs +Architecture: biarch64_archs +Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: runtime for applications compiled with GNAT (64 bits shared library) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the runtime shared library for 64 bits architectures. +')`'dnl libgnat + +ifenabled(`gfdldoc',` +Package: gnat`'PV-doc +Architecture: all +Section: doc +Depends: ${misc:Depends} +Suggests: gnat`'PV +Conflicts: gnat-4.9-doc, + gnat-5-doc, gnat-6-doc, gnat-7-doc, gnat-8-doc, gnat-9-doc, gnat-10-doc, + gnat-11-doc, gnat-12-doc, gnat-13-doc, +BUILT_USING`'dnl +Description: GNU Ada compiler (documentation) + GNAT is a compiler for the Ada programming language. It produces optimized + code on platforms supported by the GNU Compiler Collection (GCC). + . + The libgnat library provides runtime components needed by most + applications produced with GNAT. + . + This package contains the documentation in info `format'. +')`'dnl gfdldoc +')`'dnl ada + +ifenabled(`d ',`dnl +for_each_arch(`ifelse(index(` 'd_no_archs` ',` !'arch_deb` '),`-1',` +Package: gdc`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: SOFTBASEDEP, g++`'PV`'arch_gnusuffix (>= ${gcc:Version}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU D compiler (version 2) for the arch_gnu architecture + This is the GNU D compiler for the arch_gnu architecture, + which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. +')')`'dnl for_each_arch + +Package: gdc`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gdc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU D compiler (version 2) for the host architecture + This is the GNU D compiler for the host architecture, which compiles D on + platforms supported by gcc. It uses the gcc backend to generate optimised + code. + . + This compiler supports D language version 2. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gdc`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gdc`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU D compiler (version 2) for the build architecture + This is the GNU D compiler for the build architecture, which compiles D on + platforms supported by gcc. It uses the gcc backend to generate optimised + code. + . + This compiler supports D language version 2. + . + This is a dependency package. + +Package: gdc`'PV +Architecture: any +Depends: gdc`'PV`'${target:suffix} (= ${gcc:Version}), SOFTBASEDEP, g++`'PV (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${misc:Depends} +Provides: gdc, d-compiler, d-v2-compiler +Replaces: gdc (<< 4.4.6-5) +BUILT_USING`'dnl +Description: GNU D compiler (version 2) + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This compiler supports D language version 2. +')`'dnl TARGET + +ifenabled(`multilib',` +Package: gdc`'PV-multilib`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: SOFTBASEDEP, gdc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU D compiler (version 2, multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU D compiler, which compiles D on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multilib + +ifenabled(`libdevphobos',` +Package: libgphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: libdevel +Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + zlib1g-dev, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib64gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,64), ifdef(`TARGET',`',`lib64z1-dev [!mips !mipsel !mipsn32 !mipsn32el !mipsr6 !mipsr6el !mipsn32r6 !mipsn32r6el],') + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (64bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +Package: lib32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,32), ifdef(`TARGET',`',`lib32z1-dev [!mipsn32 !mipsn32el !mips64 !mips64el !mipsn32r6 !mipsn32r6el !mips64r6 !mips64r6el],') + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (32bit development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdevn32phobos',` +Package: libn32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,n32), ifdef(`TARGET',`',`libn32z1-dev [!mips !mipsel !mips64 !mips64el !mipsr6 !mipsr6el !mips64r6 !mips64r6el],') + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (n32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libn32phobos + +ifenabled(`libdevx32phobos',` +Package: libx32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,x32), ifdef(`TARGET',`',`${dep:libx32z},') ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: Phobos D standard library (x32 development files) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libx32phobos +')`'dnl libdevphobos + +ifenabled(`libphobos',` +Package: libgphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libgphobos68`'LS +Breaks: dub (<< 1.16.0-1~) +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdbg',` +Package: libgphobos`'PHOBOS_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libgphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libdbg + +Package: lib64gphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdbg',` +Package: lib64gphobos`'PHOBOS_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: lib64gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libdbg + +Package: lib32gphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib32gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdbg',` +Package: lib32gphobos`'PHOBOS_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: lib32gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libdbg + +ifenabled(`libn32phobos',` +Package: libn32gphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32phobos`'PHOBOS_V [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdbg',` +Package: libn32gphobos`'PHOBOS_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32phobos`'PHOBOS_V-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libdbg +')`'dnl libn32phobos + +ifenabled(`libx32phobos',` +Package: libx32gphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: libx32gphobos68`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (runtime library) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ + +ifenabled(`libdbg',` +Package: libx32gphobos`'PHOBOS_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends} +Replaces: libx32gphobos68-dbg`'LS +BUILT_USING`'dnl +Description: Phobos D standard library (debug symbols) + This is the Phobos standard library that comes with the D2 compiler. + . + For more information check http://www.dlang.org/phobos/ +')`'dnl libdbg +')`'dnl libx32phobos + +')`'dnl libphobos +')`'dnl d + +ifenabled(`m2 ',`dnl +for_each_arch(`ifelse(index(` 'm2_no_archs` ',` !'arch_deb` '),`-1',` +Package: gm2`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: SOFTBASEDEP, g++`'PV`'arch_gnusuffix (>= ${gcc:Version}), ${dep:gm2cross}, libidevdep(gm2`'PV-dev,,=), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 compiler for the arch_gnu architecture + This is the GNU Modula-2 compiler for the arch_gnu architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. +')')`'dnl for_each_arch + +Package: gm2`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gm2`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 compiler for the host architecture + This is the GNU Modula-2 compiler for the host architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. +ifdef(`TARGET',`',` +Package: gm2`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gm2`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 compiler for the build architecture + This is the GNU Modula-2 compiler for the build architecture, + which compiles Modula-2 on platforms supported by gcc. It uses the gcc + backend to generate optimised code. + . + This is a dependency package. + +Package: gm2`'PV +Architecture: any +Depends: gm2`'PV`'${target:suffix} (= ${gcc:Version}), SOFTBASEDEP, g++`'PV (>= ${gcc:SoftVersion}), ${dep:gm2cross}, ${misc:Depends} +Provides: gm2, m2-compiler +BUILT_USING`'dnl +Description: GNU Modula-2 compiler (version 2) + This is the GNU Modula-2 compiler, which compiles Modula-2 on platforms + supported by gcc. It uses the gcc backend to generate optimised code. +')`'dnl TARGET + +ifenabled(`multigm2lib',` +Package: gm2`'PV-multilib`'TS +Architecture: any +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: SOFTBASEDEP, gm2`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libgm2biarchdev}${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `') + This is the GNU Modula-2 compiler, which compiles Modula-2 on platforms supported by gcc. + It uses the gcc backend to generate optimised code. + . + This is a dependency package, depending on development packages + for the non-default multilib architecture(s). +')`'dnl multigm2lib + +ifenabled(`libdevgm2',` +Package: libgm2`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: libdevel +Depends: BASELDEP, libgm2`'-GM2_V`'LS (>= ${gm2:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library + This is the Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`multigm2lib',` +Package: lib64gm2`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Depends: BASELDEP, lib64gm2`'-GM2_V`'LS (>= ${gm2:Version}), + libdevdep(gcc`'PV-dev,64), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (64bit development files) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +Package: lib32gm2`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Depends: BASELDEP, lib32gm2`'-GM2_V`'LS (>= ${gm2:Version}), + libdevdep(gcc`'PV-dev,32), ifdef(`TARGET',`',`lib32z1-dev,') ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (32bit development files) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdevn32gm2',` +Package: libn32gm2`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Depends: BASELDEP, libn32gm2`'-GM2_V`'LS (>= ${gm2:Version}), + libdevdep(gcc`'PV-dev,n32), ifdef(`TARGET',`',`libn32z1-dev,') ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (n32 development files) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libn32gm2 + +ifenabled(`libdevx32gm2',` +Package: libx32gm2`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Depends: BASELDEP, libx32gm2`'-GM2_V`'LS (>= ${gm2:Version}), + libdevdep(gcc`'PV-dev,x32), ifdef(`TARGET',`',`${dep:libx32z},') ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (x32 development files) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libx32gm2 +')`'dnl multigm2lib +')`'dnl libdevgm2 + +ifenabled(`libgm2',` +Package: libgm2`'-GM2_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdbg',` +Package: libgm2`'-GM2_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Depends: BASELDEP, libgm2`'-GM2_V`'LS (= ${gm2:Version}), ${misc:Depends} +Replaces: libgm268-dbg`'LS +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (debug symbols) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libdbg + +ifenabled(`multigm2lib',` +Package: lib64gm2`'-GM2_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib64gm268`'LS +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdbg',` +Package: lib64gm2`'-GM2_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Depends: BASELDEP, lib64gm2`'-GM2_V`'LS (= ${gm2:Version}), ${misc:Depends} +Replaces: lib64gm268-dbg`'LS +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (debug symbols) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libdbg + +Package: lib32gm2`'-GM2_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +Replaces: lib32gm268`'LS +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdbg',` +Package: lib32gm2`'-GM2_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Depends: BASELDEP, lib32gm2`'-GM2_V`'LS (= ${gm2:Version}), ${misc:Depends} +Replaces: lib32gm268-dbg`'LS +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (debug symbols) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libdbg + +ifenabled(`libn32gm2',` +Package: libn32gm2`'-GM2_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32-gm2`'GM2_V [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdbg',` +Package: libn32gm2`'-GM2_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Depends: BASELDEP, libn32gm2`'-GM2_V`'LS (= ${gm2:Version}), ${misc:Depends} +ifdef(`TARGET',`dnl',`Conflicts: lib32-gm2`'GM2_V-dbg [biarch32_conflicts]') +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (debug symbols) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libdbg +')`'dnl libn32gm2 + +ifenabled(`libx32gm2',` +Package: libx32gm2`'-GM2_V`'LS +TARGET_PACKAGE`'dnl +ifdef(`TARGET',`dnl',`Section: libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (runtime library) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. + +ifenabled(`libdbg',` +Package: libx32gm2`'-GM2_V-dbg`'LS +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Depends: BASELDEP, libx32gm2`'-GM2_V`'LS (= ${gm2:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Modula-2 standard library (debug symbols) + This is the GNU Modula-2 standard library that comes with the gm2 compiler. +')`'dnl libdbg +')`'dnl libx32gm2 +')`'dnl multigm2lib +')`'dnl libgm2 + +Package: gm2`'PV-doc +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Suggests: gm2`'PV +Description: Documentation for the GNU Modula-2 compiler (gm2) + Documentation for the GNU Modula-2 compiler in HTML and info `format'. +')`'dnl m2 + +ifenabled(`rust ',` +for_each_arch(`ifelse(index(` 'rs_no_archs` ',` !'arch_deb` '),`-1',` +Package: gccrs`'PV`'arch_gnusuffix +Architecture: ifdef(`TARGET',`any',arch_deb) +Multi-Arch: foreign +Depends: SOFTBASEDEP, g++`'PV`'arch_gnusuffix (>= ${gcc:SoftVersion}), ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Rust compiler for the arch_gnu architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! +')')`'dnl for_each_arch + +Package: gccrs`'PV`'-for-host +Architecture: ifdef(`TARGET',`TARGET',`any') +TARGET_PACKAGE`'dnl +Multi-Arch: same +Depends: BASEDEP, gccrs`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), + gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Rust compiler for the host architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + When using this package, tools must be invoked with an architecture prefix. + . + This is a dependency package. + +Package: gccrs`'PV`'-for-build +Architecture: all +Multi-Arch: foreign +Depends: SOFTBASEDEP, gccrs`'PV (>= ${gcc:Version}), + cpp`'PV`'-for-build (= ${gcc:Version}), gcc`'PV`'-for-build (= ${gcc:Version}), + ${misc:Depends} +BUILT_USING`'dnl +Description: GNU Rust compiler for the build architecture + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + This is a dependency package. + +Package: gccrs`'PV +Architecture: any +Depends: SOFTBASEDEP, gccrs`'PV`'${target:suffix} (= ${gcc:Version}), g++`'PV (>= ${gcc:SoftVersion}), ${misc:Depends} +Provides: gccrs, rust-compiler +BUILT_USING`'dnl +Description: GNU Rust compiler + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! + . + gccrs is a full alternative implementation of the Rust + language ontop of GCC with the goal to become fully + upstream with the GNU toolchain. + . + !!!!! Please note, the compiler is in a very early stage + and not usable yet for compiling real Rust programs !!!!! +')`'dnl rust + +ifdef(`TARGET',`',`dnl +ifenabled(`libs',` +#Package: gcc`'PV-soft-float +#Architecture: arm armel armhf +#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends} +#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float +#BUILT_USING`'dnl +#Description: GCC soft-floating-point gcc libraries (ARM) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl commonlibs +')`'dnl + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: gcc`'PV-doc +Architecture: all +Section: doc +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends} +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info `format'. +')`'dnl gfdldoc +')`'dnl native +')`'dnl cdev + +ifenabled(`olnvptx',` +Package: gcc`'PV-offload-nvptx +Architecture: nvptx_archs +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev}, + nvptx-tools, libgomp-plugin-nvptx`'GOMP_SO (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC offloading compiler to NVPTX + The package provides offloading support for NVidia PTX. OpenMP and OpenACC + programs linked with -fopenmp will by default add PTX code into the binaries, + which can be offloaded to NVidia PTX capable devices if available. + +ifenabled(`gompnvptx',` +Package: libgomp-plugin-nvptx`'GOMP_SO +Architecture: nvptx_archs +Multi-Arch: same +Section: libs +Depends: BASEDEP, libgomp`'GOMP_SO`'LS, ${shlibs:Depends}, ${misc:Depends} +Suggests: libcuda1 [amd64] | libnvidia-tesla-cuda1 [amd64 ppc64el] | libcuda1-any +BUILT_USING`'dnl +Description: GCC OpenMP v4.5 plugin for offloading to NVPTX + This package contains libgomp plugin for offloading to NVidia + PTX. The plugin needs libcuda.so.1 shared library that has to be + installed separately. +')`'dnl gompnvptx +')`'dnl olnvptx + +ifenabled(`olgcn',` +Package: gcc`'PV-offload-amdgcn +Architecture: gcn_archs +ifdef(`TARGET',`Multi-Arch: foreign +')dnl +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev}, + libgomp-plugin-amdgcn`'GOMP_SO (>= ${gcc:Version}), + LLVM_DEP ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC offloading compiler to GCN + The package provides offloading support for AMD GCN. OpenMP and OpenACC + programs linked with -fopenmp will by default add GCN code into the binaries, + which can be offloaded to AMD GCN capable devices if available. + +ifenabled(`gompgcn',` +Package: libgomp-plugin-amdgcn`'GOMP_SO +Architecture: gcn_archs +Multi-Arch: same +Section: libs +Depends: BASEDEP, libgomp`'GOMP_SO`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP v4.5 plugin for offloading to GCN + This package contains libgomp plugin for offloading to AMD GCN. +')`'dnl gompgcn +')`'dnl olgcn + +ifenabled(`olhsa',` +ifenabled(`gomphsa',` +Package: libgomp-plugin-hsa`'GOMP_SO +Architecture: amd64 +Multi-Arch: same +Section: libs +Depends: BASEDEP, libgomp`'GOMP_SO`'LS, ${shlibs:Depends}, ${misc:Depends} +BUILT_USING`'dnl +Description: GCC OpenMP v4.5 plugin for offloading to HSA + This package contains libgomp plugin for offloading to HSA. +')`'dnl gomphsa +')`'dnl olhsa + +ifdef(`TARGET',`',`dnl +ifenabled(`libnof',` +#Package: gcc`'PV-nof +#Architecture: powerpc +#Depends: BASEDEP, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (= ${gcc:Version})'), ${misc:Depends} +#Conflicts: gcc-3.2-nof +#BUILT_USING`'dnl +#Description: GCC no-floating-point gcc libraries (powerpc) +# These are versions of basic static libraries such as libgcc.a compiled +# with the -msoft-float option, for CPUs without a floating-point unit. +')`'dnl libnof +')`'dnl + +ifenabled(`source',` +Package: gcc`'PV-source +Multi-Arch: foreign +Architecture: all +Depends: make, quilt, patchutils, sharutils, gawk, lsb-release, time, AUTO_BUILD_DEP + ${misc:Depends} +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). +')`'dnl source +dnl +')')`'dnl regexp SRCNAME +dnl last line in file diff --git a/copyright b/copyright new file mode 100644 index 0000000..991ef28 --- /dev/null +++ b/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-14 source package is taken from the git gcc-14-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-14 libgnat-14 gnat-14-doc +C gcc-14 gcc-14-doc +C++ g++-14 libstdc++6 libstdc++6-14-doc +D gdc-14 +Fortran 95 gfortran-14 libgfortran5 gfortran-14-doc +Go gccgo-14 libgo0 +Objective C gobjc-14 libobjc4 +Objective C++ gobjc++-14 +Modula-2 gm2-14 libgm2 +Rust gccrs-14 + +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-14-dbg libstdc++6-14-pic +D libphobos-14-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-14-base Base files common to all compilers +gcc-14-soft-float Software floating point (ARM only) +gcc-14-source The sources with patches + +Ada: +libgnat-util14-dev, libgnat-util14 GNAT version library + +C: +cpp-14, cpp-14-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-2024 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 + - libgm2 + - libgomp + - libgrust + - libitm + - libssp + - libstdc++-v3 + - libobjc + - libgfortran + - The libgnat-14 Ada support library and libgnat-util14 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-2011 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-2023 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-14 GNU D Compiler +libphobos-14-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 +Copyright (C) 2015-2024 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. + +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-3'. + +The DMD Compiler implementation of the D programming language: + - d/dmd/* + +Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved +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: + - zlib/* + + (C) 1995-2016 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: + - libphobos/* + +Unless otherwise marked within the file, each file in the source +is under the following licenses: + +Copyright (C) 2004-2022 by Digital Mars, www.digitalmars.com +Written by Walter Bright +Copyright (C) 2018-2023, The D Language Foundation + +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-2024 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-2024 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-2024 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +Copyright (C) 2001-2024 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +gcc/m2/examples: +Copyright (C) 2005-2024 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-2024 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-2024 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/copyright.in b/copyright.in new file mode 100644 index 0000000..1213a45 --- /dev/null +++ b/copyright.in @@ -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-@BV@ source package is taken from the git @SVN_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-@BV@ libgnat-@BV@ gnat-@BV@-doc +C gcc-@BV@ gcc-@BV@-doc +C++ g++-@BV@ libstdc++6 libstdc++6-@BV@-doc +D gdc-@BV@ +Fortran 95 gfortran-@BV@ libgfortran5 gfortran-@BV@-doc +Go gccgo-@BV@ libgo0 +Objective C gobjc-@BV@ libobjc4 +Objective C++ gobjc++-@BV@ +Modula-2 gm2-@BV@ libgm2 +Rust gccrs-@BV@ + +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-@BV@-dbg libstdc++6-@BV@-pic +D libphobos-@BV@-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-@BV@-base Base files common to all compilers +gcc-@BV@-soft-float Software floating point (ARM only) +gcc-@BV@-source The sources with patches + +Ada: +libgnat-util@BV@-dev, libgnat-util@BV@ GNAT version library + +C: +cpp-@BV@, cpp-@BV@-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-2024 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 + - libgm2 + - libgomp + - libgrust + - libitm + - libssp + - libstdc++-v3 + - libobjc + - libgfortran + - The libgnat-@BV@ Ada support library and libgnat-util@BV@ 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-2011 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-2023 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-@BV@ GNU D Compiler +libphobos-@BV@-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 +Copyright (C) 2015-2024 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. + +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-3'. + +The DMD Compiler implementation of the D programming language: + - d/dmd/* + +Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved +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: + - zlib/* + + (C) 1995-2016 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: + - libphobos/* + +Unless otherwise marked within the file, each file in the source +is under the following licenses: + +Copyright (C) 2004-2022 by Digital Mars, www.digitalmars.com +Written by Walter Bright +Copyright (C) 2018-2023, The D Language Foundation + +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-2024 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-2024 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-2024 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +Copyright (C) 2001-2024 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +gcc/m2/examples: +Copyright (C) 2005-2024 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-2024 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-2024 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/cpp-BV-CRB.preinst.in b/cpp-BV-CRB.preinst.in new file mode 100644 index 0000000..408889b --- /dev/null +++ b/cpp-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-cpp /usr/bin/@TARGET@-cpp-@BV@ +fi + +#DEBHELPER# + +exit 0 diff --git a/cpp-BV-doc.doc-base.cpp b/cpp-BV-doc.doc-base.cpp new file mode 100644 index 0000000..d64e86f --- /dev/null +++ b/cpp-BV-doc.doc-base.cpp @@ -0,0 +1,16 @@ +Document: cpp-@BV@ +Title: The GNU C preprocessor +Author: Various +Abstract: The C preprocessor is a "macro processor" that is used automatically + by the C compiler to transform your program before actual compilation. + It is called a macro processor because it allows you to define "macros", + which are brief abbreviations for longer constructs. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cpp.html +Files: /usr/share/doc/gcc-@BV@-base/cpp.html + +Format: info +Index: /usr/share/info/cpp-@BV@.info.gz +Files: /usr/share/info/cpp-@BV@* diff --git a/cpp-BV-doc.doc-base.cppint b/cpp-BV-doc.doc-base.cppint new file mode 100644 index 0000000..151d319 --- /dev/null +++ b/cpp-BV-doc.doc-base.cppint @@ -0,0 +1,17 @@ +Document: cppinternals-@BV@ +Title: The GNU C preprocessor (internals) +Author: Various +Abstract: This brief manual documents the internals of cpplib, and + explains some of the tricky issues. It is intended that, along with + the comments in the source code, a reasonably competent C programmer + should be able to figure out what the code is doing, and why things + have been implemented the way they have. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cppinternals.html +Files: /usr/share/doc/gcc-@BV@-base/cppinternals.html + +Format: info +Index: /usr/share/info/cppinternals-@BV@.info.gz +Files: /usr/share/info/cppinternals-@BV@* diff --git a/dh_doclink b/dh_doclink new file mode 100755 index 0000000..8372658 --- /dev/null +++ b/dh_doclink @@ -0,0 +1,12 @@ +#! /bin/sh + +pkg=`echo $1 | sed 's/^-p//'` +target=$2 + +[ -d debian/$pkg/usr/share/doc ] || mkdir -p debian/$pkg/usr/share/doc +if [ -d debian/$pkg/usr/share/doc/$p -a ! -h debian/$pkg/usr/share/doc/$p ] +then + echo "WARNING: removing doc directory $pkg" + rm -rf debian/$pkg/usr/share/doc/$pkg +fi +ln -sf $target debian/$pkg/usr/share/doc/$pkg diff --git a/dh_rmemptydirs b/dh_rmemptydirs new file mode 100755 index 0000000..4a010c7 --- /dev/null +++ b/dh_rmemptydirs @@ -0,0 +1,10 @@ +#! /bin/sh -e + +pkg=`echo $1 | sed 's/^-p//'` + +: # remove empty directories, when all components are in place +for d in `find debian/$pkg -depth -type d -empty 2> /dev/null`; do \ + while rmdir $d 2> /dev/null; do d=`dirname $d`; done; \ +done + +exit 0 diff --git a/dummy-man.1 b/dummy-man.1 new file mode 100644 index 0000000..966d935 --- /dev/null +++ b/dummy-man.1 @@ -0,0 +1,29 @@ +.TH @NAME@ 1 "May 24, 2003" @name@ "Debian Free Documentation" +.SH NAME +@name@ \- A program with a man page covered by the GFDL with invariant sections +.SH SYNOPSIS +@name@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fB@name@\fR is documented by a man page, which is covered by the "GNU +Free Documentation License" (GFDL) containing invariant sections. +.P +In November 2002, version 1.2 of the GNU Free Documentation License (GNU +FDL) was released by the Free Software Foundation after a long period +of consultation. Unfortunately, some concerns raised by members of the +Debian Project were not addressed, and as such the GNU FDL can apply +to works that do not pass the Debian Free Software Guidelines (DFSG), +and may thus only be included in the non-free component of the Debian +archive, not the Debian distribution itself. + +.SH "SEE ALSO" +.BR http://gcc.gnu.org/onlinedocs/ +for the complete documentation, +.BR http://lists.debian.org/debian-legal/2003/debian-legal-200304/msg00307.html +for a proposed statement of Debian with respect to the GFDL, +.BR gfdl(7) + +.SH AUTHOR +This manual page was written by the Debian GCC maintainers, +for the Debian GNU/Linux system. diff --git a/dummy.texi b/dummy.texi new file mode 100644 index 0000000..127ccaa --- /dev/null +++ b/dummy.texi @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) diff --git a/g++-BV-CRB.preinst.in b/g++-BV-CRB.preinst.in new file mode 100644 index 0000000..b69c8f8 --- /dev/null +++ b/g++-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-g++ /usr/bin/@TARGET@-g++-@BV@ +fi + +#DEBHELPER# + +exit 0 diff --git a/gcc-BV-CRB.preinst.in b/gcc-BV-CRB.preinst.in new file mode 100644 index 0000000..ca34796 --- /dev/null +++ b/gcc-BV-CRB.preinst.in @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-gcc /usr/bin/@TARGET@-gcc-@BV@ + update-alternatives --quiet --remove @TARGET@-gcov /usr/bin/@TARGET@-gcov-@BV@ +fi + +#DEBHELPER# + +exit 0 diff --git a/gcc-BV-doc.doc-base.gcc b/gcc-BV-doc.doc-base.gcc new file mode 100644 index 0000000..106e18d --- /dev/null +++ b/gcc-BV-doc.doc-base.gcc @@ -0,0 +1,14 @@ +Document: gcc-@BV@ +Title: The GNU C and C++ compiler +Author: Various +Abstract: This manual documents how to run, install and port the GNU compiler, + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gcc.html +Files: /usr/share/doc/gcc-@BV@-base/gcc.html + +Format: info +Index: /usr/share/info/gcc-@BV@.info.gz +Files: /usr/share/info/gcc-@BV@* diff --git a/gcc-BV-doc.doc-base.gccint b/gcc-BV-doc.doc-base.gccint new file mode 100644 index 0000000..85f4af1 --- /dev/null +++ b/gcc-BV-doc.doc-base.gccint @@ -0,0 +1,17 @@ +Document: gccint-@BV@ +Title: Internals of the GNU C and C++ compiler +Author: Various +Abstract: This manual documents the internals of the GNU compilers, + including how to port them to new targets and some information about + how to write front ends for new languages. It corresponds to GCC + version @BV@.x. The use of the GNU compilers is documented in a + separate manual. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gccint.html +Files: /usr/share/doc/gcc-@BV@-base/gccint.html + +Format: info +Index: /usr/share/info/gccint-@BV@.info.gz +Files: /usr/share/info/gccint-@BV@* diff --git a/gcc-BV-doc.doc-base.gomp b/gcc-BV-doc.doc-base.gomp new file mode 100644 index 0000000..69ccede --- /dev/null +++ b/gcc-BV-doc.doc-base.gomp @@ -0,0 +1,15 @@ +Document: gcc-@BV@-gomp +Title: The GNU OpenMP Implementation (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage of libgomp, the GNU implementation + of the OpenMP Application Programming Interface (API) for multi-platform + shared-memory parallel programming in C/C++ and Fortran. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libgomp.html +Files: /usr/share/doc/gcc-@BV@-base/libgomp.html + +Format: info +Index: /usr/share/info/libgomp-@BV@.info.gz +Files: /usr/share/info/libgomp-@BV@* diff --git a/gcc-BV-doc.doc-base.itm b/gcc-BV-doc.doc-base.itm new file mode 100644 index 0000000..130a70f --- /dev/null +++ b/gcc-BV-doc.doc-base.itm @@ -0,0 +1,16 @@ +Document: gcc-@BV@-itm +Title: The GNU Transactional Memory Library (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage and internals of libitm, + the GNU Transactional Memory Library. It provides transaction support + for accesses to a process' memory, enabling easy-to-use synchronization + of accesses to shared memory by several threads. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libitm.html +Files: /usr/share/doc/gcc-@BV@-base/libitm.html + +Format: info +Index: /usr/share/info/libitm-@BV@.info.gz +Files: /usr/share/info/libitm-@BV@* diff --git a/gcc-BV-doc.doc-base.qmath b/gcc-BV-doc.doc-base.qmath new file mode 100644 index 0000000..bdc2d4c --- /dev/null +++ b/gcc-BV-doc.doc-base.qmath @@ -0,0 +1,14 @@ +Document: gcc-@BV@-qmath +Title: The GCC Quad-Precision Math Library (for GCC @BV@) +Author: Various +Abstract: This manual documents the usage of libquadmath, the GCC + Quad-Precision Math Library Application Programming Interface (API). +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/libquadmath.html +Files: /usr/share/doc/gcc-@BV@-base/libquadmath.html + +Format: info +Index: /usr/share/info/libquadmath-@BV@.info.gz +Files: /usr/share/info/libquadmath-@BV@* diff --git a/gcc-BV-hppa64-linux-gnu.overrides b/gcc-BV-hppa64-linux-gnu.overrides new file mode 100644 index 0000000..9f7ebd0 --- /dev/null +++ b/gcc-BV-hppa64-linux-gnu.overrides @@ -0,0 +1,3 @@ +gcc-@BV@-hppa64-linux-gnu binary: binary-from-other-architecture +gcc-@BV@-hppa64-linux-gnu binary: binary-without-manpage +gcc-@BV@-hppa64-linux-gnu binary: hardening-no-pie diff --git a/gcc-BV-multilib.overrides b/gcc-BV-multilib.overrides new file mode 100644 index 0000000..545ca0e --- /dev/null +++ b/gcc-BV-multilib.overrides @@ -0,0 +1 @@ +gcc-@BV@-multilib binary: binary-from-other-architecture diff --git a/gcc-BV-source.overrides b/gcc-BV-source.overrides new file mode 100644 index 0000000..46e8559 --- /dev/null +++ b/gcc-BV-source.overrides @@ -0,0 +1,5 @@ +gcc-@BV@-source: changelog-file-not-compressed + +# these are patches taken over unmodified from 4.3 +gcc-@BV@-source: script-not-executable +gcc-@BV@-source: shell-script-fails-syntax-check diff --git a/gcc-XX-BV.1 b/gcc-XX-BV.1 new file mode 100644 index 0000000..f02b309 --- /dev/null +++ b/gcc-XX-BV.1 @@ -0,0 +1,21 @@ +.TH GCC-@TOOL@-@BV@ 1 "May 8, 2012" gcc-@TOOL@-@BV@ "" +.SH NAME +gcc-@TOOL@ \- a wrapper around @TOOL@ adding the \-\-plugin option + +.SH SYNOPSIS +gcc-@TOOL@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fBgcc-@TOOL@\fR is a wrapper around +.BR @TOOL@ (1) +adding the appropriate +\fB\-\-plugin\fR option for the GCC @BV@ compiler. + +.SH OPTIONS +See +.BR @TOOL@ (1) +for a list of options that nm understands. + +.SH "SEE ALSO" +.BR @TOOL@ (1) diff --git a/gcc-dummy.texi b/gcc-dummy.texi new file mode 100644 index 0000000..b84b670 --- /dev/null +++ b/gcc-dummy.texi @@ -0,0 +1,41 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header + +@settitle The GNU Compiler Collection (GCC) + +@c Create a separate index for command line options. +@defcodeindex op +@c Merge the standard indexes into a single one. +@syncodeindex fn cp +@syncodeindex vr cp +@syncodeindex ky cp +@syncodeindex pg cp +@syncodeindex tp cp + +@paragraphindent 1 + +@c %**end of header + +@copying +The current documentation is licensed under the same terms as the Debian packaging. +@end copying +@ifnottex +@dircategory Programming +@direntry +* @name@: (@name@). The GNU Compiler Collection (@name@). +@end direntry +@sp 1 +@end ifnottex + +@summarycontents +@contents +@page + +@node Top +@top Introduction +@cindex introduction +The official GNU compilers' documentation is released under the terms +of the GNU Free Documentation License with cover texts. This has been +considered non free by the Debian Project. Thus you will find it in the +non-free section of the Debian archive. +@bye diff --git a/gcc-snapshot.overrides b/gcc-snapshot.overrides new file mode 100644 index 0000000..124c256 --- /dev/null +++ b/gcc-snapshot.overrides @@ -0,0 +1,17 @@ +gcc-snapshot binary: bad-permissions-for-ali-file +gcc-snapshot binary: non-standard-file-perm + +# libphobos non-multilib builds +gcc-snapshot binary: embedded-library + +gcc-snapshot binary: binary-from-other-architecture +gcc-snapshot binary: extra-license-file +gcc-snapshot binary: triplet-dir-and-architecture-mismatch +gcc-snapshot binary: unstripped-binary-or-object +gcc-snapshot binary: missing-prerequisite-for-gfortran-module + +# intended +gcc-snapshot binary: hardening-no-pie + +# nvptx offload, silly lintian +gcc-snapshot binary: no-code-sections diff --git a/gcc-snapshot.prerm b/gcc-snapshot.prerm new file mode 100644 index 0000000..000148c --- /dev/null +++ b/gcc-snapshot.prerm @@ -0,0 +1,6 @@ +#! /bin/sh -e + +find /usr/lib/gcc-snapshot/share/gcc/python -name '*.py[co]' | xargs -r rm -f +find /usr/lib/gcc-snapshot/share/gcc/python -name __pycache__ -type d | xargs -r rm -rf + +#DEBHELPER# diff --git a/gcc.css b/gcc.css new file mode 100644 index 0000000..77d01ee --- /dev/null +++ b/gcc.css @@ -0,0 +1,150 @@ +/* CSS for the GCC web site. + + Gerald Pfeifer + */ + +body { background-color: white; color: black; } + +a:link { color: #0066bb; text-decoration: none; } +a:visited { color: #003399; text-decoration: none; } +a:hover { color: darkorange; text-decoration: none; } + +h1 { color: darkslategray; text-align:center; } +h2 { color: darkslategray; } + +.highlight{ color: darkslategray; font-weight:bold; } +.smaller { font-size: 80%; } + +.left { text-align:left; } +.right { text-align:right; } +.center { text-align:center; margin-left:auto; margin-right:auto; } +.top { vertical-align:top; } +.middle { vertical-align:middle; } + +.width33 { width:33%; } +.border0 { border-width:0; } + +.no-margin-top { margin-top:0; } +.twocolumns { column-count:2; } +.imgleft { margin: 5px 20px; float: left; } + +img.right { float: right; } + +td.news { width: 50%; padding-right: 8px; vertical-align: top; } +td.news h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 2%; } +td.news dl { margin-top:0; } +td.news dt { color:darkslategrey; font-weight:bold; margin-top:0.3em; } +td.news dd { margin-left:3ex; margin-top:0.1em; margin-bottom:0.1em; } +td.news .date { color:darkslategrey; font-size:90%; margin-left:0.1ex; } + +td.status { width: 50%; padding-left: 12px; vertical-align: top; + border-left: #3366cc thin solid; } +td.status h2 { font-size: 1.2em; margin-top:0; margin-bottom: 1%; } +td.status dl { margin-top:0; } +td.status .version { font-weight:bold; } +td.status .regress { font-size: 80%; } +td.status dd { margin-left:3ex; } + +table.nav { + padding-left: 32px; + border-spacing: 0pt; +} + +table.nav td { + border-width: 0; +} + +table.navitem { + width: 100%; + border-spacing: 0pt; +} + +table.navitem tr:nth-child(1) { + border-color: #3366cc; + border-style: solid; + border-width: thin; + color: #f2f2f9; + background-color: #0066dd; + font-weight: bold; +} +table.navitem tr:nth-child(2) { + padding-top: 3px; + padding-left: 8px; + padding-bottom: 3px; + background-color: #f2f2f9; + font-size: smaller; +} + +div.copyright { + clear: both; + font-size: smaller; + background: #f2f2f9; + border: 2px solid #3366cc; + border-style: solid; + border-width: thin; + padding: 4px; +} +div.copyright p:nth-child(3) { margin-bottom: 0; } + +.bold { font-weight:bold; } +.boldcyan { font-weight:bold; color:cyan; } +.boldlime { font-weight:bold; color:lime; } +.boldmagenta { font-weight:bold; color:magenta; } +.boldred { font-weight:bold; color:red; } +.boldgreen { font-weight:bold; color:green; } +.boldblue { font-weight:bold; color:blue; } +.red { color:red; } +.green { color:green; } +.blue { color:blue; } +.blackbg { color:white; background-color: #000000; } + +/* Quote an e-mail. The first
has the sender, the second the quote. */ +blockquote.mail div:nth-child(2) { border-left: solid blue; padding-left: 4pt; } + +/* This comes close to , alas a bit less bordersome. */ +table.border th { border:2px solid; } + +/* C++ status tables. */ +table.cxxstatus th, table.cxxstatus td { border: 1px solid gray; } +table.cxxstatus td:nth-child(3) { text-align:center; } +table.cxxstatus tr.separator { background: #f2f2f9; } + +/* C++ Defect Report table. */ +table.cxxdrstatus th, table.cxxdrstatus td { border: 1px solid gray; } +table.cxxdrstatus td:nth-child(4) { text-align:center; } +table.cxxdrstatus tr.separator { background: #f2f2f9; } +table.cxxdrstatus { width: 65%; } + +/* OpenMP status tables. */ +table.ompstatus thead th, table.cxxstatus thead td { border: 1px solid gray; } +table.ompstatus tbody td:nth-child(2) { text-align:center; } +table.ompstatus thead tr { background: #f2f2f9; } + +/* Padded tables. */ +table.padding5 th, td { border: 1px solid gray; padding:5px; } + +.supported { background-color: lightgreen; } +.unsupported { background-color: lightsalmon; } +.other { background-color: lightgray; } +.partial { background-color: lightyellow; } +.open { color: #AAAAAA; } + +/* Online documentation. */ + +pre.smallexample { + font-size: medium; + background: #f2f2f9; + padding: 4px; + display: inline-block; +} + +/* Classpath versus libgcj merge status page. */ + +.classpath-only { background-color: #FFFFAA; } +.libgcj-only { background-color: #FFFFAA; } +.VM-specific { background-color: #CCCCFF; } +.GCJ-specific { background-color: #CCCCFF; } +.needsmerge { background-color: #FF9090; } +.merged { background-color: #22FF22; } +.merged-expected-diff { background-color: #22FF22; } +.merged-unexpected-diff { background-color: #FF4444; } diff --git a/gccgo-BV-doc.doc-base b/gccgo-BV-doc.doc-base new file mode 100644 index 0000000..86ce258 --- /dev/null +++ b/gccgo-BV-doc.doc-base @@ -0,0 +1,17 @@ +Document: gccgo-@BV@ +Title: The GNU Go compiler (version @BV@) +Author: Various +Abstract: This manual describes how to use gccgo, the GNU compiler for + the Go programming language. This manual is specifically about + gccgo. For more information about the Go programming + language in general, including language specifications and standard + package documentation, see http://golang.org/. +Section: Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gccgo.html +Files: /usr/share/doc/gcc-@BV@-base/gccgo.html + +Format: info +Index: /usr/share/info/gccgo-@BV@.info.gz +Files: /usr/share/info/gccgo-@BV@* diff --git a/gen-libstdc-breaks.sh b/gen-libstdc-breaks.sh new file mode 100755 index 0000000..de35a4a --- /dev/null +++ b/gen-libstdc-breaks.sh @@ -0,0 +1,178 @@ +#! /bin/sh + +# https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=gcc-pr66145;users=debian-gcc@lists.debian.org + +vendor=Debian +if dpkg-vendor --derives-from Ubuntu; then + vendor=Ubuntu +fi + +if [ "$vendor" = Debian ]; then + : + pkgs=$(echo ' +antlr +libaqsis1 +libassimp3 +blockattack +boo +libboost-date-time1.54.0 +libboost-date-time1.55.0 +libcpprest2.4 +printer-driver-brlaser +c++-annotations +clustalx +libdavix0 +libdballe6 +dff +libdiet-sed2.8 +libdiet-client2.8 +libdiet-admin2.8 +digikam-private-libs +emscripten +ergo +fceux +flush +libfreefem++ +freeorion +fslview +fwbuilder +libgazebo5 +libgetfem4++ +libgmsh2 +gnote +gnudatalanguage +python-healpy +innoextract +libinsighttoolkit4.7 +libdap17 +libdapclient6 +libdapserver7 +libkolabxml1 +libpqxx-4.0 +libreoffice-core +librime1 +libwibble-dev +lightspark +libmarisa0 +mira-assembler +mongodb +mongodb-server +ncbi-blast+ +libogre-1.8.0 +libogre-1.9.0 +openscad +libopenwalnut1 +passepartout +pdf2djvu +photoprint +plastimatch +plee-the-bear +povray +powertop +psi4 +python3-taglib +realtimebattle +ruby-passenger +libapache2-mod-passenger +schroot +sqlitebrowser +tecnoballz +wesnoth-1.12-core +widelands +libwreport2 +xflr5 +libxmltooling6') +else + pkgs=$(echo ' +antlr +libaqsis1 +libassimp3 +blockattack +boo +libboost-date-time1.55.0 +libcpprest2.2 +printer-driver-brlaser +c++-annotations +chromium-browser +clustalx +libdavix0 +libdballe6 +dff +libdiet-sed2.8 +libdiet-client2.8 +libdiet-admin2.8 +libkgeomap2 +libmediawiki1 +libkvkontakte1 +emscripten +ergo +fceux +flush +libfreefem++ +freeorion +fslview +fwbuilder +libgazebo5 +libgetfem4++ +libgmsh2 +gnote +gnudatalanguage +python-healpy +innoextract +libinsighttoolkit4.6 +libdap17 +libdapclient6 +libdapserver7 +libkolabxml1 +libpqxx-4.0 +libreoffice-core +librime1 +libwibble-dev +lightspark +libmarisa0 +mira-assembler +mongodb +mongodb-server +ncbi-blast+ +libogre-1.8.0 +libogre-1.9.0 +openscad +libopenwalnut1 +passepartout +pdf2djvu +photoprint +plastimatch +plee-the-bear +povray +powertop +psi4 +python3-taglib +realtimebattle +ruby-passenger +libapache2-mod-passenger +sqlitebrowser +tecnoballz +wesnoth-1.12-core +widelands +libwreport2 +xflr5 +libxmltooling6') +fi + +fn=debian/libstdc++-breaks.$vendor +rm -f $fn +echo $pkgs +for p in $pkgs; do + #echo $p + if ! apt-cache show --no-all-versions $p >/dev/null; then + echo "not found: $p" + fi + v=$(apt-cache show --no-all-versions $p | awk '/^Version/ {print $2}') + case "$p" in + libboost-date-time*) + echo "$p," >> $fn + ;; + *) + echo "$p (<= $v)," >> $fn + esac +done diff --git a/gfortran-BV-CRB.preinst.in b/gfortran-BV-CRB.preinst.in new file mode 100644 index 0000000..f6e7cfd --- /dev/null +++ b/gfortran-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then + update-alternatives --quiet --remove @TARGET@-gfortran /usr/bin/@TARGET@-gfortran-@BV@ +fi + +#DEBHELPER# + +exit 0 diff --git a/gfortran-BV-doc.doc-base b/gfortran-BV-doc.doc-base new file mode 100644 index 0000000..485d458 --- /dev/null +++ b/gfortran-BV-doc.doc-base @@ -0,0 +1,14 @@ +Document: gfortran-@BV@ +Title: The GNU Fortran Compiler +Author: Various +Abstract: This manual documents how to run, install and port `gfortran', + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming/Fortran + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html +Files: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html + +Format: info +Index: /usr/share/info/gfortran-@BV@.info.gz +Files: /usr/share/info/gfortran-@BV@* diff --git a/gm2-BV-doc.doc-base b/gm2-BV-doc.doc-base new file mode 100644 index 0000000..63315b5 --- /dev/null +++ b/gm2-BV-doc.doc-base @@ -0,0 +1,14 @@ +Document: gm2-@BV@ +Title: The GNU Modula-2 Compiler +Author: Various +Abstract: This manual documents how to run, install and port `gm2', + as well as its new features and incompatibilities, and how to report bugs. +Section: Programming/Modula-2 + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/m2/gm2-@BV@.html +Files: /usr/share/doc/gcc-@BV@-base/m2/gm2-@BV@.html + +Format: info +Index: /usr/share/info/gm2-@BV@.info.gz +Files: /usr/share/info/gm2-@BV@* diff --git a/gnat-BV-doc.doc-base.rm b/gnat-BV-doc.doc-base.rm new file mode 100644 index 0000000..7957275 --- /dev/null +++ b/gnat-BV-doc.doc-base.rm @@ -0,0 +1,16 @@ +Document: gnat-rm-@BV@ +Title: GNAT (GNU Ada) Reference Manual +Author: Various +Abstract: This manual contains useful information in writing programs + using the GNAT compiler. It includes information on implementation + dependent characteristics of GNAT, including all the information + required by Annex M of the standard. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html + +Format: info +Index: /usr/share/info/gnat_rm-@BV@.info.gz +Files: /usr/share/info/gnat_rm-@BV@* diff --git a/gnat-BV-doc.doc-base.style b/gnat-BV-doc.doc-base.style new file mode 100644 index 0000000..db6dfc8 --- /dev/null +++ b/gnat-BV-doc.doc-base.style @@ -0,0 +1,16 @@ +Document: gnat-style-@BV@ +Title: GNAT Coding Style +Author: Various +Abstract: Most of GNAT is written in Ada using a consistent style to + ensure readability of the code. This document has been written to + help maintain this consistent style, while having a large group of + developers work on the compiler. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat-style.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat-style.html + +Format: info +Index: /usr/share/info/gnat-style-@BV@.info.gz +Files: /usr/share/info/gnat-style-@BV@* diff --git a/gnat-BV-doc.doc-base.ug b/gnat-BV-doc.doc-base.ug new file mode 100644 index 0000000..00dedf1 --- /dev/null +++ b/gnat-BV-doc.doc-base.ug @@ -0,0 +1,16 @@ +Document: gnat-ugn-@BV@ +Title: GNAT User's Guide for Unix Platforms +Author: Various +Abstract: This guide describes the use of GNAT, a compiler and + software development toolset for the full Ada 95 programming language. + It describes the features of the compiler and tools, and details how + to use them to build Ada 95 applications. +Section: Programming/Ada + +Format: html +Index: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html +Files: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html + +Format: info +Index: /usr/share/info/gnat_ugn-@BV@.info.gz +Files: /usr/share/info/gnat_ugn-@BV@* diff --git a/gnat.1 b/gnat.1 new file mode 100644 index 0000000..33a42c7 --- /dev/null +++ b/gnat.1 @@ -0,0 +1,43 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" Copyright (C) 2011 Nicolas Boulenguez +.\" +.\" This is free software; you can 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, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.\" +.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux" +.SH NAME +gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnathtml, gnatkr, gnatlink, +gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \- +GNAT toolbox +.SH DESCRIPTION +Those programs are part of GNU GNAT, a freely available Ada 95 compiler. +.PP +For accessing the full GNAT manuals, use +.B info gnat-ug-4.8 +and +.B info gnat-rm-4.8 +for the sections related to the reference manual. +If those sections cannot be found, you will have to install the +gnat-4.4-doc package as well (since these manuals contain invariant parts, +the package is located in the non-free part of the Debian archive). +You may also browse +.B http://gcc.gnu.org/onlinedocs +which provides the GCC online documentation. +.SH AUTHOR +This manpage has been written by Samuel Tardieu , for the +Debian GNU/Linux project. diff --git a/lib32asan8.symbols b/lib32asan8.symbols new file mode 100644 index 0000000..046f6e5 --- /dev/null +++ b/lib32asan8.symbols @@ -0,0 +1,10 @@ +libasan.so.8 lib32asan8 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" + (arch=s390x)__interceptor___tls_get_addr_internal@Base 7 + (arch=s390x)__interceptor___tls_get_offset@Base 7 + (arch=s390x)__tls_get_addr_internal@Base 7 + (arch=s390x)__tls_get_offset@Base 7 + (arch=amd64)__interceptor___tls_get_addr@Base 13 + (arch=amd64)__tls_get_addr@Base 13 + diff --git a/lib32gccLC.postinst b/lib32gccLC.postinst new file mode 100644 index 0000000..0163e03 --- /dev/null +++ b/lib32gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# diff --git a/lib32stdc++CXX.postinst b/lib32stdc++CXX.postinst new file mode 100644 index 0000000..0ebbeb0 --- /dev/null +++ b/lib32stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# diff --git a/lib64asan8.symbols b/lib64asan8.symbols new file mode 100644 index 0000000..b12a118 --- /dev/null +++ b/lib64asan8.symbols @@ -0,0 +1,7 @@ +libasan.so.8 lib64asan8 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.64" + (arch=i386)__interceptor___tls_get_addr@Base 13 + (arch=i386)__interceptor_ptrace@Base 13 + (arch=i386)__tls_get_addr@Base 13 + (arch=i386)ptrace@Base 13 diff --git a/lib64gccLC.postinst b/lib64gccLC.postinst new file mode 100644 index 0000000..f671fd6 --- /dev/null +++ b/lib64gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# diff --git a/lib64stdc++CXX.postinst b/lib64stdc++CXX.postinst new file mode 100644 index 0000000..1c8e979 --- /dev/null +++ b/lib64stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# diff --git a/libasan.symbols.16 b/libasan.symbols.16 new file mode 100644 index 0000000..c6ae6da --- /dev/null +++ b/libasan.symbols.16 @@ -0,0 +1,38 @@ + __sanitizer_syscall_post_impl_chown16@Base 5 + __sanitizer_syscall_post_impl_fchown16@Base 5 + __sanitizer_syscall_post_impl_getegid16@Base 5 + __sanitizer_syscall_post_impl_geteuid16@Base 5 + __sanitizer_syscall_post_impl_getgid16@Base 5 + __sanitizer_syscall_post_impl_getgroups16@Base 5 + __sanitizer_syscall_post_impl_getresgid16@Base 5 + __sanitizer_syscall_post_impl_getresuid16@Base 5 + __sanitizer_syscall_post_impl_getuid16@Base 5 + __sanitizer_syscall_post_impl_lchown16@Base 5 + __sanitizer_syscall_post_impl_setfsgid16@Base 5 + __sanitizer_syscall_post_impl_setfsuid16@Base 5 + __sanitizer_syscall_post_impl_setgid16@Base 5 + __sanitizer_syscall_post_impl_setgroups16@Base 5 + __sanitizer_syscall_post_impl_setregid16@Base 5 + __sanitizer_syscall_post_impl_setresgid16@Base 5 + __sanitizer_syscall_post_impl_setresuid16@Base 5 + __sanitizer_syscall_post_impl_setreuid16@Base 5 + __sanitizer_syscall_post_impl_setuid16@Base 5 + __sanitizer_syscall_pre_impl_chown16@Base 5 + __sanitizer_syscall_pre_impl_fchown16@Base 5 + __sanitizer_syscall_pre_impl_getegid16@Base 5 + __sanitizer_syscall_pre_impl_geteuid16@Base 5 + __sanitizer_syscall_pre_impl_getgid16@Base 5 + __sanitizer_syscall_pre_impl_getgroups16@Base 5 + __sanitizer_syscall_pre_impl_getresgid16@Base 5 + __sanitizer_syscall_pre_impl_getresuid16@Base 5 + __sanitizer_syscall_pre_impl_getuid16@Base 5 + __sanitizer_syscall_pre_impl_lchown16@Base 5 + __sanitizer_syscall_pre_impl_setfsgid16@Base 5 + __sanitizer_syscall_pre_impl_setfsuid16@Base 5 + __sanitizer_syscall_pre_impl_setgid16@Base 5 + __sanitizer_syscall_pre_impl_setgroups16@Base 5 + __sanitizer_syscall_pre_impl_setregid16@Base 5 + __sanitizer_syscall_pre_impl_setresgid16@Base 5 + __sanitizer_syscall_pre_impl_setresuid16@Base 5 + __sanitizer_syscall_pre_impl_setreuid16@Base 5 + __sanitizer_syscall_pre_impl_setuid16@Base 5 diff --git a/libasan.symbols.32 b/libasan.symbols.32 new file mode 100644 index 0000000..053fbfa --- /dev/null +++ b/libasan.symbols.32 @@ -0,0 +1,26 @@ + (arch=!ppc64 !sparc64)__interceptor_ptrace@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdaPvj@Base 5 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdaPvjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdlPvj@Base 5 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdlPvjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_Znaj@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajRKSt9nothrow_t@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajSt11align_val_tRKSt9nothrow_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_Znwj@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnwjRKSt9nothrow_t@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnwjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnwjSt11align_val_tRKSt9nothrow_t@Base 7 + (arch=s390x)_ZdaPvm@Base 7.3 + (arch=s390x)_ZdaPvmSt11align_val_t@Base 7.3 + (arch=s390x)_ZdlPvm@Base 7.3 + (arch=s390x)_ZdlPvmSt11align_val_t@Base 7.3 + (arch=s390x)_Znam@Base 7.3 + (arch=s390x)_ZnamRKSt9nothrow_t@Base 7.3 + (arch=s390x)_ZnamSt11align_val_t@Base 7.3 + (arch=s390x)_ZnamSt11align_val_tRKSt9nothrow_t@Base 7.3 + (arch=s390x)_Znwm@Base 7.3 + (arch=s390x)_ZnwmRKSt9nothrow_t@Base 7.3 + (arch=s390x)_ZnwmSt11align_val_t@Base 7.3 + (arch=s390x)_ZnwmSt11align_val_tRKSt9nothrow_t@Base 7.3 + (arch=!ppc64 !sparc64)ptrace@Base 7 diff --git a/libasan.symbols.64 b/libasan.symbols.64 new file mode 100644 index 0000000..2ce8280 --- /dev/null +++ b/libasan.symbols.64 @@ -0,0 +1,13 @@ + _ZdaPvm@Base 5 + _ZdaPvmSt11align_val_t@Base 7 + _ZdlPvm@Base 5 + _ZdlPvmSt11align_val_t@Base 7 + _Znam@Base 4.8 + _ZnamRKSt9nothrow_t@Base 4.8 + _ZnamSt11align_val_t@Base 7 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 7 + _Znwm@Base 4.8 + _ZnwmRKSt9nothrow_t@Base 4.8 + _ZnwmSt11align_val_t@Base 7 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 7 + shmctl@Base 4.9 diff --git a/libasan.symbols.common b/libasan.symbols.common new file mode 100644 index 0000000..82ddc5d --- /dev/null +++ b/libasan.symbols.common @@ -0,0 +1,2976 @@ + _Unwind_RaiseException@Base 9 + _ZdaPv@Base 4.8 + _ZdaPvRKSt9nothrow_t@Base 4.8 + _ZdaPvSt11align_val_t@Base 7 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 7 + _ZdlPv@Base 4.8 + _ZdlPvRKSt9nothrow_t@Base 4.8 + _ZdlPvSt11align_val_t@Base 7 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 7 + ___interceptor__Unwind_RaiseException@Base 14 + ___interceptor___b64_ntop@Base 14 + ___interceptor___b64_pton@Base 14 + ___interceptor___bzero@Base 14 + ___interceptor___cxa_atexit@Base 14 + ___interceptor___cxa_throw@Base 14 + ___interceptor___fprintf_chk@Base 14 + ___interceptor___getdelim@Base 14 + ___interceptor___isoc23_fscanf@Base 14 + ___interceptor___isoc23_scanf@Base 14 + ___interceptor___isoc23_sscanf@Base 14 + ___interceptor___isoc23_strtoimax@Base 14 + ___interceptor___isoc23_strtol@Base 14 + ___interceptor___isoc23_strtoll@Base 14 + ___interceptor___isoc23_strtoumax@Base 14 + ___interceptor___isoc23_vfscanf@Base 14 + ___interceptor___isoc23_vscanf@Base 14 + ___interceptor___isoc23_vsscanf@Base 14 + ___interceptor___isoc99_fprintf@Base 14 + ___interceptor___isoc99_fscanf@Base 14 + ___interceptor___isoc99_printf@Base 14 + ___interceptor___isoc99_scanf@Base 14 + ___interceptor___isoc99_snprintf@Base 14 + ___interceptor___isoc99_sprintf@Base 14 + ___interceptor___isoc99_sscanf@Base 14 + ___interceptor___isoc99_vfprintf@Base 14 + ___interceptor___isoc99_vfscanf@Base 14 + ___interceptor___isoc99_vprintf@Base 14 + ___interceptor___isoc99_vscanf@Base 14 + ___interceptor___isoc99_vsnprintf@Base 14 + ___interceptor___isoc99_vsprintf@Base 14 + ___interceptor___isoc99_vsscanf@Base 14 + ___interceptor___libc_memalign@Base 14 + ___interceptor___longjmp_chk@Base 14 + ___interceptor___lxstat64@Base 14 + ___interceptor___lxstat@Base 14 + ___interceptor___overflow@Base 14 + ___interceptor___snprintf_chk@Base 14 + ___interceptor___sprintf_chk@Base 14 + ___interceptor___strdup@Base 14 + ___interceptor___strndup@Base 14 + ___interceptor___strxfrm_l@Base 14 + ___interceptor___tls_get_addr@Base 14 + ___interceptor___uflow@Base 14 + ___interceptor___underflow@Base 14 + ___interceptor___vsnprintf_chk@Base 14 + ___interceptor___vsprintf_chk@Base 14 + ___interceptor___wcsxfrm_l@Base 14 + ___interceptor___woverflow@Base 14 + ___interceptor___wuflow@Base 14 + ___interceptor___wunderflow@Base 14 + ___interceptor___xpg_strerror_r@Base 14 + ___interceptor___xstat64@Base 14 + ___interceptor___xstat@Base 14 + ___interceptor__exit@Base 14 + ___interceptor__longjmp@Base 14 + ___interceptor__obstack_begin@Base 14 + ___interceptor__obstack_begin_1@Base 14 + ___interceptor__obstack_newchunk@Base 14 + ___interceptor_accept4@Base 14 + ___interceptor_accept@Base 14 + ___interceptor_aligned_alloc@Base 14 + ___interceptor_argp_parse@Base 14 + ___interceptor_asctime@Base 14 + ___interceptor_asctime_r@Base 14 + ___interceptor_asprintf@Base 14 + ___interceptor_atoi@Base 14 + ___interceptor_atol@Base 14 + ___interceptor_atoll@Base 14 + ___interceptor_backtrace@Base 14 + ___interceptor_backtrace_symbols@Base 14 + ___interceptor_bcmp@Base 14 + ___interceptor_bsearch@Base 14 + ___interceptor_bzero@Base 14 + ___interceptor_calloc@Base 14 + ___interceptor_canonicalize_file_name@Base 14 + ___interceptor_capget@Base 14 + ___interceptor_capset@Base 14 + (arch=!riscv64)___interceptor_cfree@Base 14 + ___interceptor_clock_getcpuclockid@Base 14 + ___interceptor_clock_getres@Base 14 + ___interceptor_clock_gettime@Base 14 + ___interceptor_clock_settime@Base 14 + ___interceptor_confstr@Base 14 + ___interceptor_ctermid@Base 14 + ___interceptor_ctime@Base 14 + ___interceptor_ctime_r@Base 14 + ___interceptor_dlclose@Base 14 + ___interceptor_dlopen@Base 14 + ___interceptor_dn_comp@Base 14 + ___interceptor_dn_expand@Base 14 + ___interceptor_drand48_r@Base 14 + ___interceptor_endgrent@Base 14 + ___interceptor_endpwent@Base 14 + ___interceptor_ether_aton@Base 14 + ___interceptor_ether_aton_r@Base 14 + ___interceptor_ether_hostton@Base 14 + ___interceptor_ether_line@Base 14 + ___interceptor_ether_ntoa@Base 14 + ___interceptor_ether_ntoa_r@Base 14 + ___interceptor_ether_ntohost@Base 14 + ___interceptor_eventfd_read@Base 14 + ___interceptor_eventfd_write@Base 14 + ___interceptor_fclose@Base 14 + ___interceptor_fdopen@Base 14 + ___interceptor_fflush@Base 14 + ___interceptor_fgetgrent@Base 14 + ___interceptor_fgetgrent_r@Base 14 + ___interceptor_fgetpwent@Base 14 + ___interceptor_fgetpwent_r@Base 14 + ___interceptor_fgets@Base 14 + ___interceptor_fgetxattr@Base 14 + ___interceptor_flistxattr@Base 14 + ___interceptor_fmemopen@Base 14 + ___interceptor_fopen64@Base 14 + ___interceptor_fopen@Base 14 + ___interceptor_fopencookie@Base 14 + ___interceptor_fprintf@Base 14 + ___interceptor_fputs@Base 14 + ___interceptor_fread@Base 14 + ___interceptor_free@Base 14 + ___interceptor_freopen64@Base 14 + ___interceptor_freopen@Base 14 + ___interceptor_frexp@Base 14 + ___interceptor_frexpf@Base 14 + ___interceptor_frexpl@Base 14 + ___interceptor_fscanf@Base 14 + ___interceptor_fstatfs64@Base 14 + ___interceptor_fstatfs@Base 14 + ___interceptor_fstatvfs64@Base 14 + ___interceptor_fstatvfs@Base 14 + ___interceptor_ftime@Base 14 + ___interceptor_fwrite@Base 14 + ___interceptor_get_current_dir_name@Base 14 + ___interceptor_getaddrinfo@Base 14 + ___interceptor_getcwd@Base 14 + ___interceptor_getdelim@Base 14 + ___interceptor_getentropy@Base 14 + ___interceptor_getgrent@Base 14 + ___interceptor_getgrent_r@Base 14 + ___interceptor_getgrgid@Base 14 + ___interceptor_getgrgid_r@Base 14 + ___interceptor_getgrnam@Base 14 + ___interceptor_getgrnam_r@Base 14 + ___interceptor_getgrouplist@Base 14 + ___interceptor_getgroups@Base 14 + ___interceptor_gethostbyaddr@Base 14 + ___interceptor_gethostbyaddr_r@Base 14 + ___interceptor_gethostbyname2@Base 14 + ___interceptor_gethostbyname2_r@Base 14 + ___interceptor_gethostbyname@Base 14 + ___interceptor_gethostbyname_r@Base 14 + ___interceptor_gethostent@Base 14 + ___interceptor_gethostent_r@Base 14 + ___interceptor_getifaddrs@Base 14 + ___interceptor_getitimer@Base 14 + ___interceptor_getline@Base 14 + ___interceptor_getloadavg@Base 14 + ___interceptor_getmntent@Base 14 + ___interceptor_getmntent_r@Base 14 + ___interceptor_getnameinfo@Base 14 + ___interceptor_getnetbyaddr@Base 14 + ___interceptor_getnetbyname@Base 14 + ___interceptor_getnetent@Base 14 + ___interceptor_getpass@Base 14 + ___interceptor_getpeername@Base 14 + ___interceptor_getprotobyname@Base 14 + ___interceptor_getprotobyname_r@Base 14 + ___interceptor_getprotobynumber@Base 14 + ___interceptor_getprotobynumber_r@Base 14 + ___interceptor_getprotoent@Base 14 + ___interceptor_getprotoent_r@Base 14 + ___interceptor_getpwent@Base 14 + ___interceptor_getpwent_r@Base 14 + ___interceptor_getpwnam@Base 14 + ___interceptor_getpwnam_r@Base 14 + ___interceptor_getpwuid@Base 14 + ___interceptor_getpwuid_r@Base 14 + ___interceptor_getrandom@Base 14 + ___interceptor_getresgid@Base 14 + ___interceptor_getresuid@Base 14 + ___interceptor_getsockname@Base 14 + ___interceptor_getsockopt@Base 14 + ___interceptor_getusershell@Base 14 + ___interceptor_getutent@Base 14 + ___interceptor_getutid@Base 14 + ___interceptor_getutline@Base 14 + ___interceptor_getutxent@Base 14 + ___interceptor_getutxid@Base 14 + ___interceptor_getutxline@Base 14 + ___interceptor_getxattr@Base 14 + ___interceptor_glob64@Base 14 + ___interceptor_glob@Base 14 + ___interceptor_gmtime@Base 14 + ___interceptor_gmtime_r@Base 14 + ___interceptor_iconv@Base 14 + ___interceptor_if_indextoname@Base 14 + ___interceptor_if_nametoindex@Base 14 + ___interceptor_index@Base 14 + ___interceptor_inet_aton@Base 14 + ___interceptor_inet_ntop@Base 14 + ___interceptor_inet_pton@Base 14 + ___interceptor_initgroups@Base 14 + ___interceptor_ioctl@Base 14 + ___interceptor_lgamma@Base 14 + ___interceptor_lgamma_r@Base 14 + ___interceptor_lgammaf@Base 14 + ___interceptor_lgammaf_r@Base 14 + ___interceptor_lgammal@Base 14 + ___interceptor_lgammal_r@Base 14 + ___interceptor_lgetxattr@Base 14 + ___interceptor_listxattr@Base 14 + ___interceptor_llistxattr@Base 14 + ___interceptor_localtime@Base 14 + ___interceptor_localtime_r@Base 14 + ___interceptor_longjmp@Base 14 + ___interceptor_lrand48_r@Base 14 + ___interceptor_lstat64@Base 14 + ___interceptor_lstat@Base 14 + ___interceptor_makecontext@Base 14 + ___interceptor_mallinfo@Base 14 + ___interceptor_malloc@Base 14 + ___interceptor_malloc_stats@Base 14 + ___interceptor_malloc_usable_size@Base 14 + ___interceptor_mallopt@Base 14 + ___interceptor_mbsnrtowcs@Base 14 + ___interceptor_mbsrtowcs@Base 14 + ___interceptor_mbstowcs@Base 14 + ___interceptor_mcheck@Base 14 + ___interceptor_mcheck_pedantic@Base 14 + ___interceptor_memalign@Base 14 + ___interceptor_memchr@Base 14 + ___interceptor_memcmp@Base 14 + ___interceptor_memcpy@Base 14 + ___interceptor_memmem@Base 14 + ___interceptor_memmove@Base 14 + ___interceptor_memrchr@Base 14 + ___interceptor_memset@Base 14 + ___interceptor_mincore@Base 14 + ___interceptor_mktime@Base 14 + ___interceptor_mlock@Base 14 + ___interceptor_mlockall@Base 14 + ___interceptor_mmap64@Base 14 + ___interceptor_mmap@Base 14 + ___interceptor_modf@Base 14 + ___interceptor_modff@Base 14 + ___interceptor_modfl@Base 14 + ___interceptor_mprobe@Base 14 + ___interceptor_mprotect@Base 14 + ___interceptor_msgrcv@Base 14 + ___interceptor_msgsnd@Base 14 + ___interceptor_munlock@Base 14 + ___interceptor_munlockall@Base 14 + ___interceptor_munmap@Base 14 + ___interceptor_name_to_handle_at@Base 14 + ___interceptor_open_by_handle_at@Base 14 + ___interceptor_open_memstream@Base 14 + ___interceptor_open_wmemstream@Base 14 + ___interceptor_opendir@Base 14 + ___interceptor_pclose@Base 14 + ___interceptor_poll@Base 14 + ___interceptor_popen@Base 14 + ___interceptor_posix_memalign@Base 14 + ___interceptor_posix_spawn@Base 14 + ___interceptor_posix_spawnp@Base 14 + ___interceptor_ppoll@Base 14 + ___interceptor_prctl@Base 14 + ___interceptor_pread64@Base 14 + ___interceptor_pread@Base 14 + ___interceptor_preadv64@Base 14 + ___interceptor_preadv@Base 14 + ___interceptor_printf@Base 14 + ___interceptor_process_vm_readv@Base 14 + ___interceptor_process_vm_writev@Base 14 + ___interceptor_pthread_attr_getaffinity_np@Base 14 + ___interceptor_pthread_attr_getdetachstate@Base 14 + ___interceptor_pthread_attr_getguardsize@Base 14 + ___interceptor_pthread_attr_getinheritsched@Base 14 + ___interceptor_pthread_attr_getschedparam@Base 14 + ___interceptor_pthread_attr_getschedpolicy@Base 14 + ___interceptor_pthread_attr_getscope@Base 14 + ___interceptor_pthread_attr_getstack@Base 14 + ___interceptor_pthread_attr_getstacksize@Base 14 + ___interceptor_pthread_barrierattr_getpshared@Base 14 + ___interceptor_pthread_condattr_getclock@Base 14 + ___interceptor_pthread_condattr_getpshared@Base 14 + ___interceptor_pthread_create@Base 14 + ___interceptor_pthread_detach@Base 14 + ___interceptor_pthread_exit@Base 14 + ___interceptor_pthread_getaffinity_np@Base 14 + ___interceptor_pthread_getcpuclockid@Base 14 + ___interceptor_pthread_getname_np@Base 14 + ___interceptor_pthread_getschedparam@Base 14 + ___interceptor_pthread_join@Base 14 + ___interceptor_pthread_mutexattr_getprioceiling@Base 14 + ___interceptor_pthread_mutexattr_getprotocol@Base 14 + ___interceptor_pthread_mutexattr_getpshared@Base 14 + ___interceptor_pthread_mutexattr_getrobust@Base 14 + ___interceptor_pthread_mutexattr_getrobust_np@Base 14 + ___interceptor_pthread_mutexattr_gettype@Base 14 + ___interceptor_pthread_rwlockattr_getkind_np@Base 14 + ___interceptor_pthread_rwlockattr_getpshared@Base 14 + ___interceptor_pthread_setcancelstate@Base 14 + ___interceptor_pthread_setcanceltype@Base 14 + ___interceptor_pthread_setname_np@Base 14 + ___interceptor_pthread_sigmask@Base 14 + ___interceptor_pthread_timedjoin_np@Base 14 + ___interceptor_pthread_tryjoin_np@Base 14 + ___interceptor_ptrace@Base 14 + ___interceptor_ptsname@Base 14 + ___interceptor_ptsname_r@Base 14 + ___interceptor_puts@Base 14 + ___interceptor_pututxline@Base 14 + ___interceptor_pvalloc@Base 14 + ___interceptor_pwrite64@Base 14 + ___interceptor_pwrite@Base 14 + ___interceptor_pwritev64@Base 14 + ___interceptor_pwritev@Base 14 + ___interceptor_qsort@Base 14 + ___interceptor_qsort_r@Base 14 + ___interceptor_rand_r@Base 14 + ___interceptor_random_r@Base 14 + ___interceptor_read@Base 14 + ___interceptor_readdir64@Base 14 + ___interceptor_readdir64_r@Base 14 + ___interceptor_readdir@Base 14 + ___interceptor_readdir_r@Base 14 + ___interceptor_readlink@Base 14 + ___interceptor_readlinkat@Base 14 + ___interceptor_readv@Base 14 + ___interceptor_realloc@Base 14 + ___interceptor_reallocarray@Base 14 + ___interceptor_realpath@Base 14 + ___interceptor_recv@Base 14 + ___interceptor_recvfrom@Base 14 + ___interceptor_recvmmsg@Base 14 + ___interceptor_recvmsg@Base 14 + ___interceptor_regcomp@Base 14 + ___interceptor_regerror@Base 14 + ___interceptor_regexec@Base 14 + ___interceptor_regfree@Base 14 + ___interceptor_remquo@Base 14 + ___interceptor_remquof@Base 14 + ___interceptor_remquol@Base 14 + ___interceptor_scandir64@Base 14 + ___interceptor_scandir@Base 14 + ___interceptor_scanf@Base 14 + ___interceptor_sched_getaffinity@Base 14 + ___interceptor_sched_getparam@Base 14 + ___interceptor_sem_destroy@Base 14 + ___interceptor_sem_getvalue@Base 14 + ___interceptor_sem_init@Base 14 + ___interceptor_sem_open@Base 14 + ___interceptor_sem_post@Base 14 + ___interceptor_sem_timedwait@Base 14 + ___interceptor_sem_trywait@Base 14 + ___interceptor_sem_unlink@Base 14 + ___interceptor_sem_wait@Base 14 + ___interceptor_send@Base 14 + ___interceptor_sendmmsg@Base 14 + ___interceptor_sendmsg@Base 14 + ___interceptor_sendto@Base 14 + ___interceptor_setbuf@Base 14 + ___interceptor_setbuffer@Base 14 + ___interceptor_setgrent@Base 14 + ___interceptor_setitimer@Base 14 + ___interceptor_setlinebuf@Base 14 + ___interceptor_setlocale@Base 14 + ___interceptor_setpwent@Base 14 + ___interceptor_setvbuf@Base 14 + (arch=!armel !armhf)___interceptor_shmctl@Base 14 + ___interceptor_sigaction@Base 14 + ___interceptor_sigaltstack@Base 14 + ___interceptor_sigandset@Base 14 + ___interceptor_sigemptyset@Base 14 + ___interceptor_sigfillset@Base 14 + ___interceptor_siglongjmp@Base 14 + ___interceptor_signal@Base 14 + ___interceptor_sigorset@Base 14 + ___interceptor_sigpending@Base 14 + ___interceptor_sigprocmask@Base 14 + ___interceptor_sigtimedwait@Base 14 + ___interceptor_sigwait@Base 14 + ___interceptor_sigwaitinfo@Base 14 + ___interceptor_sincos@Base 14 + ___interceptor_sincosf@Base 14 + ___interceptor_sincosl@Base 14 + ___interceptor_snprintf@Base 14 + ___interceptor_sprintf@Base 14 + ___interceptor_sscanf@Base 14 + ___interceptor_stat64@Base 14 + ___interceptor_stat@Base 14 + ___interceptor_statfs64@Base 14 + ___interceptor_statfs@Base 14 + ___interceptor_statvfs64@Base 14 + ___interceptor_statvfs@Base 14 + ___interceptor_strcasecmp@Base 14 + ___interceptor_strcasestr@Base 14 + ___interceptor_strcat@Base 14 + ___interceptor_strchr@Base 14 + ___interceptor_strchrnul@Base 14 + ___interceptor_strcmp@Base 14 + ___interceptor_strcpy@Base 14 + ___interceptor_strcspn@Base 14 + ___interceptor_strdup@Base 14 + ___interceptor_strerror@Base 14 + ___interceptor_strerror_r@Base 14 + ___interceptor_strlen@Base 14 + ___interceptor_strncasecmp@Base 14 + ___interceptor_strncat@Base 14 + ___interceptor_strncmp@Base 14 + ___interceptor_strncpy@Base 14 + ___interceptor_strndup@Base 14 + ___interceptor_strnlen@Base 14 + ___interceptor_strpbrk@Base 14 + ___interceptor_strptime@Base 14 + ___interceptor_strrchr@Base 14 + ___interceptor_strspn@Base 14 + ___interceptor_strstr@Base 14 + ___interceptor_strtoimax@Base 14 + ___interceptor_strtok@Base 14 + ___interceptor_strtol@Base 14 + ___interceptor_strtoll@Base 14 + ___interceptor_strtoumax@Base 14 + ___interceptor_strxfrm@Base 14 + ___interceptor_strxfrm_l@Base 14 + ___interceptor_swapcontext@Base 14 + ___interceptor_sysinfo@Base 14 + ___interceptor_tcgetattr@Base 14 + ___interceptor_tempnam@Base 14 + ___interceptor_textdomain@Base 14 + ___interceptor_time@Base 14 + ___interceptor_timerfd_gettime@Base 14 + ___interceptor_timerfd_settime@Base 14 + ___interceptor_times@Base 14 + ___interceptor_tmpnam@Base 14 + ___interceptor_tmpnam_r@Base 14 + ___interceptor_tsearch@Base 14 + ___interceptor_ttyname@Base 14 + ___interceptor_ttyname_r@Base 14 + ___interceptor_uname@Base 14 + ___interceptor_valloc@Base 14 + ___interceptor_vasprintf@Base 14 + ___interceptor_vfork@Base 14 + ___interceptor_vfprintf@Base 14 + ___interceptor_vfscanf@Base 14 + ___interceptor_vprintf@Base 14 + ___interceptor_vscanf@Base 14 + ___interceptor_vsnprintf@Base 14 + ___interceptor_vsprintf@Base 14 + ___interceptor_vsscanf@Base 14 + ___interceptor_wait3@Base 14 + ___interceptor_wait4@Base 14 + ___interceptor_wait@Base 14 + ___interceptor_waitid@Base 14 + ___interceptor_waitpid@Base 14 + ___interceptor_wcrtomb@Base 14 + ___interceptor_wcscat@Base 14 + ___interceptor_wcsdup@Base 14 + ___interceptor_wcslen@Base 14 + ___interceptor_wcsncat@Base 14 + ___interceptor_wcsnlen@Base 14 + ___interceptor_wcsnrtombs@Base 14 + ___interceptor_wcsrtombs@Base 14 + ___interceptor_wcstombs@Base 14 + ___interceptor_wcsxfrm@Base 14 + ___interceptor_wcsxfrm_l@Base 14 + ___interceptor_wctomb@Base 14 + ___interceptor_wordexp@Base 14 + ___interceptor_write@Base 14 + ___interceptor_writev@Base 14 + ___interceptor_xdr_bool@Base 14 + ___interceptor_xdr_bytes@Base 14 + ___interceptor_xdr_char@Base 14 + ___interceptor_xdr_destroy@Base 14 + ___interceptor_xdr_double@Base 14 + ___interceptor_xdr_enum@Base 14 + ___interceptor_xdr_float@Base 14 + ___interceptor_xdr_hyper@Base 14 + ___interceptor_xdr_int16_t@Base 14 + ___interceptor_xdr_int32_t@Base 14 + ___interceptor_xdr_int64_t@Base 14 + ___interceptor_xdr_int8_t@Base 14 + ___interceptor_xdr_int@Base 14 + ___interceptor_xdr_long@Base 14 + ___interceptor_xdr_longlong_t@Base 14 + ___interceptor_xdr_quad_t@Base 14 + ___interceptor_xdr_short@Base 14 + ___interceptor_xdr_string@Base 14 + ___interceptor_xdr_u_char@Base 14 + ___interceptor_xdr_u_hyper@Base 14 + ___interceptor_xdr_u_int@Base 14 + ___interceptor_xdr_u_long@Base 14 + ___interceptor_xdr_u_longlong_t@Base 14 + ___interceptor_xdr_u_quad_t@Base 14 + ___interceptor_xdr_u_short@Base 14 + ___interceptor_xdr_uint16_t@Base 14 + ___interceptor_xdr_uint32_t@Base 14 + ___interceptor_xdr_uint64_t@Base 14 + ___interceptor_xdr_uint8_t@Base 14 + ___interceptor_xdrmem_create@Base 14 + ___interceptor_xdrrec_create@Base 14 + ___interceptor_xdrstdio_create@Base 14 + __asan_addr_is_in_fake_stack@Base 5 + __asan_address_is_poisoned@Base 4.8 + __asan_after_dynamic_init@Base 4.8 + __asan_alloca_poison@Base 6.2 + __asan_allocas_unpoison@Base 6.2 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_syminfo_to_full_callback@Base 11 + __asan_backtrace_syminfo_to_full_error_callback@Base 11 + __asan_backtrace_uncompress_lzma@Base 11 + __asan_backtrace_uncompress_zdebug@Base 8 + __asan_backtrace_uncompress_zstd@Base 13 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_before_dynamic_init@Base 4.8 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_default_options@Base 8 + __asan_default_suppressions@Base 8 + __asan_describe_address@Base 4.8 + __asan_exp_load16@Base 6.2 + __asan_exp_load1@Base 6.2 + __asan_exp_load2@Base 6.2 + __asan_exp_load4@Base 6.2 + __asan_exp_load8@Base 6.2 + __asan_exp_loadN@Base 6.2 + __asan_exp_store16@Base 6.2 + __asan_exp_store1@Base 6.2 + __asan_exp_store2@Base 6.2 + __asan_exp_store4@Base 6.2 + __asan_exp_store8@Base 6.2 + __asan_exp_storeN@Base 6.2 + __asan_get_alloc_stack@Base 5 + __asan_get_current_fake_stack@Base 5 + __asan_get_free_stack@Base 5 + __asan_get_report_access_size@Base 5 + __asan_get_report_access_type@Base 5 + __asan_get_report_address@Base 5 + __asan_get_report_bp@Base 5 + __asan_get_report_description@Base 5 + __asan_get_report_pc@Base 5 + __asan_get_report_sp@Base 5 + __asan_get_shadow_mapping@Base 5 + __asan_handle_no_return@Base 4.8 + __asan_handle_vfork@Base 10 + __asan_init@Base 6.2 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __asan_load16@Base 5 + __asan_load16_noabort@Base 6.2 + __asan_load1@Base 5 + __asan_load1_noabort@Base 6.2 + __asan_load2@Base 5 + __asan_load2_noabort@Base 6.2 + __asan_load4@Base 5 + __asan_load4_noabort@Base 6.2 + __asan_load8@Base 5 + __asan_load8_noabort@Base 6.2 + __asan_loadN@Base 5 + __asan_loadN_noabort@Base 6.2 + __asan_load_cxx_array_cookie@Base 5 + __asan_locate_address@Base 5 + __asan_memcpy@Base 5 + __asan_memmove@Base 5 + __asan_memset@Base 5 + __asan_on_error@Base 8 + __asan_option_detect_stack_use_after_return@Base 4.9 + __asan_poison_cxx_array_cookie@Base 5 + __asan_poison_intra_object_redzone@Base 5 + __asan_poison_memory_region@Base 4.8 + __asan_poison_stack_memory@Base 4.8 + __asan_print_accumulated_stats@Base 4.8 + __asan_region_is_poisoned@Base 4.8 + __asan_register_elf_globals@Base 8 + __asan_register_globals@Base 4.8 + __asan_register_image_globals@Base 7 + __asan_report_error@Base 4.8 + __asan_report_exp_load16@Base 6.2 + __asan_report_exp_load1@Base 6.2 + __asan_report_exp_load2@Base 6.2 + __asan_report_exp_load4@Base 6.2 + __asan_report_exp_load8@Base 6.2 + __asan_report_exp_load_n@Base 6.2 + __asan_report_exp_store16@Base 6.2 + __asan_report_exp_store1@Base 6.2 + __asan_report_exp_store2@Base 6.2 + __asan_report_exp_store4@Base 6.2 + __asan_report_exp_store8@Base 6.2 + __asan_report_exp_store_n@Base 6.2 + __asan_report_load16@Base 4.8 + __asan_report_load16_noabort@Base 6.2 + __asan_report_load1@Base 4.8 + __asan_report_load1_noabort@Base 6.2 + __asan_report_load2@Base 4.8 + __asan_report_load2_noabort@Base 6.2 + __asan_report_load4@Base 4.8 + __asan_report_load4_noabort@Base 6.2 + __asan_report_load8@Base 4.8 + __asan_report_load8_noabort@Base 6.2 + __asan_report_load_n@Base 4.8 + __asan_report_load_n_noabort@Base 6.2 + __asan_report_present@Base 5 + __asan_report_store16@Base 4.8 + __asan_report_store16_noabort@Base 6.2 + __asan_report_store1@Base 4.8 + __asan_report_store1_noabort@Base 6.2 + __asan_report_store2@Base 4.8 + __asan_report_store2_noabort@Base 6.2 + __asan_report_store4@Base 4.8 + __asan_report_store4_noabort@Base 6.2 + __asan_report_store8@Base 4.8 + __asan_report_store8_noabort@Base 6.2 + __asan_report_store_n@Base 4.8 + __asan_report_store_n_noabort@Base 6.2 + __asan_rt_version@Base 5 + __asan_set_death_callback@Base 4.8 + __asan_set_error_report_callback@Base 4.8 + __asan_set_shadow_00@Base 7 + __asan_set_shadow_01@Base 13 + __asan_set_shadow_02@Base 13 + __asan_set_shadow_03@Base 13 + __asan_set_shadow_04@Base 13 + __asan_set_shadow_05@Base 13 + __asan_set_shadow_06@Base 13 + __asan_set_shadow_07@Base 13 + __asan_set_shadow_f1@Base 7 + __asan_set_shadow_f2@Base 7 + __asan_set_shadow_f3@Base 7 + __asan_set_shadow_f5@Base 7 + __asan_set_shadow_f8@Base 7 + __asan_shadow_memory_dynamic_address@Base 7 + __asan_stack_free_0@Base 4.9 + __asan_stack_free_10@Base 4.9 + __asan_stack_free_1@Base 4.9 + __asan_stack_free_2@Base 4.9 + __asan_stack_free_3@Base 4.9 + __asan_stack_free_4@Base 4.9 + __asan_stack_free_5@Base 4.9 + __asan_stack_free_6@Base 4.9 + __asan_stack_free_7@Base 4.9 + __asan_stack_free_8@Base 4.9 + __asan_stack_free_9@Base 4.9 + __asan_stack_malloc_0@Base 4.9 + __asan_stack_malloc_10@Base 4.9 + __asan_stack_malloc_1@Base 4.9 + __asan_stack_malloc_2@Base 4.9 + __asan_stack_malloc_3@Base 4.9 + __asan_stack_malloc_4@Base 4.9 + __asan_stack_malloc_5@Base 4.9 + __asan_stack_malloc_6@Base 4.9 + __asan_stack_malloc_7@Base 4.9 + __asan_stack_malloc_8@Base 4.9 + __asan_stack_malloc_9@Base 4.9 + __asan_stack_malloc_always_0@Base 13 + __asan_stack_malloc_always_10@Base 13 + __asan_stack_malloc_always_1@Base 13 + __asan_stack_malloc_always_2@Base 13 + __asan_stack_malloc_always_3@Base 13 + __asan_stack_malloc_always_4@Base 13 + __asan_stack_malloc_always_5@Base 13 + __asan_stack_malloc_always_6@Base 13 + __asan_stack_malloc_always_7@Base 13 + __asan_stack_malloc_always_8@Base 13 + __asan_stack_malloc_always_9@Base 13 + __asan_store16@Base 5 + __asan_store16_noabort@Base 6.2 + __asan_store1@Base 5 + __asan_store1_noabort@Base 6.2 + __asan_store2@Base 5 + __asan_store2_noabort@Base 6.2 + __asan_store4@Base 5 + __asan_store4_noabort@Base 6.2 + __asan_store8@Base 5 + __asan_store8_noabort@Base 6.2 + __asan_storeN@Base 5 + __asan_storeN_noabort@Base 6.2 + __asan_test_only_reported_buggy_pointer@Base 5 + __asan_unpoison_intra_object_redzone@Base 5 + __asan_unpoison_memory_region@Base 4.8 + __asan_unpoison_stack_memory@Base 4.8 + __asan_unregister_elf_globals@Base 8 + __asan_unregister_globals@Base 4.8 + __asan_unregister_image_globals@Base 7 + __asan_update_allocation_context@Base 10 + __asan_version_mismatch_check_v8@Base 7 + __b64_ntop@Base 13 + __b64_pton@Base 13 + __bzero@Base 10 + __cxa_atexit@Base 4.9 + __cxa_throw@Base 4.8 + __fprintf_chk@Base 9 + __getdelim@Base 5 + __interceptor__Unwind_RaiseException@Base 9 + __interceptor___b64_ntop@Base 13 + __interceptor___b64_pton@Base 13 + __interceptor___bzero@Base 10 + __interceptor___cxa_atexit@Base 4.9 + __interceptor___cxa_throw@Base 4.8 + __interceptor___fprintf_chk@Base 9 + __interceptor___getdelim@Base 5 + __interceptor___isoc23_fscanf@Base 14 + __interceptor___isoc23_scanf@Base 14 + __interceptor___isoc23_sscanf@Base 14 + __interceptor___isoc23_strtoimax@Base 14 + __interceptor___isoc23_strtol@Base 14 + __interceptor___isoc23_strtoll@Base 14 + __interceptor___isoc23_strtoumax@Base 14 + __interceptor___isoc23_vfscanf@Base 14 + __interceptor___isoc23_vscanf@Base 14 + __interceptor___isoc23_vsscanf@Base 14 + __interceptor___isoc99_fprintf@Base 5 + __interceptor___isoc99_fscanf@Base 4.8 + __interceptor___isoc99_printf@Base 5 + __interceptor___isoc99_scanf@Base 4.8 + __interceptor___isoc99_snprintf@Base 5 + __interceptor___isoc99_sprintf@Base 5 + __interceptor___isoc99_sscanf@Base 4.8 + __interceptor___isoc99_vfprintf@Base 5 + __interceptor___isoc99_vfscanf@Base 4.8 + __interceptor___isoc99_vprintf@Base 5 + __interceptor___isoc99_vscanf@Base 4.8 + __interceptor___isoc99_vsnprintf@Base 5 + __interceptor___isoc99_vsprintf@Base 5 + __interceptor___isoc99_vsscanf@Base 4.8 + __interceptor___libc_memalign@Base 4.8 + __interceptor___longjmp_chk@Base 8 + __interceptor___lxstat64@Base 7 + __interceptor___lxstat@Base 7 + __interceptor___overflow@Base 5 + __interceptor___snprintf_chk@Base 9 + __interceptor___sprintf_chk@Base 9 + __interceptor___strdup@Base 7 + __interceptor___strndup@Base 8 + __interceptor___strxfrm_l@Base 9 + __interceptor___uflow@Base 5 + __interceptor___underflow@Base 5 + __interceptor___vsnprintf_chk@Base 9 + __interceptor___vsprintf_chk@Base 9 + __interceptor___wcsxfrm_l@Base 9 + __interceptor___woverflow@Base 5 + __interceptor___wuflow@Base 5 + __interceptor___wunderflow@Base 5 + __interceptor___xpg_strerror_r@Base 4.9 + __interceptor___xstat64@Base 7 + __interceptor___xstat@Base 7 + __interceptor__exit@Base 4.9 + __interceptor__longjmp@Base 4.8 + __interceptor__obstack_begin@Base 5 + __interceptor__obstack_begin_1@Base 5 + __interceptor__obstack_newchunk@Base 5 + __interceptor_accept4@Base 4.9 + __interceptor_accept@Base 4.9 + __interceptor_aligned_alloc@Base 5 + __interceptor_argp_parse@Base 14 + __interceptor_asctime@Base 4.8 + __interceptor_asctime_r@Base 4.8 + __interceptor_asprintf@Base 5 + __interceptor_atoi@Base 4.8 + __interceptor_atol@Base 4.8 + __interceptor_atoll@Base 4.8 + __interceptor_backtrace@Base 4.9 + __interceptor_backtrace_symbols@Base 4.9 + __interceptor_bcmp@Base 10 + __interceptor_bsearch@Base 13 + __interceptor_bzero@Base 10 + __interceptor_calloc@Base 4.8 + __interceptor_canonicalize_file_name@Base 4.9 + __interceptor_capget@Base 5 + __interceptor_capset@Base 5 + (arch=!riscv64)__interceptor_cfree@Base 4.8 + __interceptor_clock_getcpuclockid@Base 11 + __interceptor_clock_getres@Base 4.9 + __interceptor_clock_gettime@Base 4.9 + __interceptor_clock_settime@Base 4.9 + __interceptor_confstr@Base 4.9 + __interceptor_ctermid@Base 7 + __interceptor_ctime@Base 4.8 + __interceptor_ctime_r@Base 4.8 + __interceptor_dlclose@Base 5 + __interceptor_dlopen@Base 5 + __interceptor_dn_comp@Base 13 + __interceptor_dn_expand@Base 13 + __interceptor_drand48_r@Base 4.9 + __interceptor_endgrent@Base 5 + __interceptor_endpwent@Base 5 + __interceptor_ether_aton@Base 4.9 + __interceptor_ether_aton_r@Base 4.9 + __interceptor_ether_hostton@Base 4.9 + __interceptor_ether_line@Base 4.9 + __interceptor_ether_ntoa@Base 4.9 + __interceptor_ether_ntoa_r@Base 4.9 + __interceptor_ether_ntohost@Base 4.9 + __interceptor_eventfd_read@Base 7 + __interceptor_eventfd_write@Base 7 + __interceptor_fclose@Base 5 + __interceptor_fdopen@Base 5 + __interceptor_fflush@Base 5 + __interceptor_fgetgrent@Base 5 + __interceptor_fgetgrent_r@Base 5 + __interceptor_fgetpwent@Base 5 + __interceptor_fgetpwent_r@Base 5 + __interceptor_fgets@Base 9 + __interceptor_fgetxattr@Base 5 + __interceptor_flistxattr@Base 5 + __interceptor_fmemopen@Base 5 + __interceptor_fopen64@Base 5 + __interceptor_fopen@Base 5 + __interceptor_fopencookie@Base 6.2 + __interceptor_fprintf@Base 5 + __interceptor_fputs@Base 9 + __interceptor_fread@Base 8 + __interceptor_free@Base 4.8 + __interceptor_freopen64@Base 5 + __interceptor_freopen@Base 5 + __interceptor_frexp@Base 4.9 + __interceptor_frexpf@Base 4.9 + __interceptor_frexpl@Base 4.9 + __interceptor_fscanf@Base 4.8 + __interceptor_fstatfs64@Base 4.9 + __interceptor_fstatfs@Base 4.9 + __interceptor_fstatvfs64@Base 4.9 + __interceptor_fstatvfs@Base 4.9 + __interceptor_ftime@Base 5 + __interceptor_fwrite@Base 8 + __interceptor_get_current_dir_name@Base 4.9 + __interceptor_getaddrinfo@Base 4.9 + __interceptor_getcwd@Base 4.9 + __interceptor_getdelim@Base 4.9 + __interceptor_getentropy@Base 14 + __interceptor_getgrent@Base 5 + __interceptor_getgrent_r@Base 5 + __interceptor_getgrgid@Base 4.9 + __interceptor_getgrgid_r@Base 4.9 + __interceptor_getgrnam@Base 4.9 + __interceptor_getgrnam_r@Base 4.9 + __interceptor_getgrouplist@Base 13 + __interceptor_getgroups@Base 4.9 + __interceptor_gethostbyaddr@Base 4.9 + __interceptor_gethostbyaddr_r@Base 4.9 + __interceptor_gethostbyname2@Base 4.9 + __interceptor_gethostbyname2_r@Base 4.9 + __interceptor_gethostbyname@Base 4.9 + __interceptor_gethostbyname_r@Base 4.9 + __interceptor_gethostent@Base 4.9 + __interceptor_gethostent_r@Base 4.9 + __interceptor_getifaddrs@Base 5 + __interceptor_getitimer@Base 4.9 + __interceptor_getline@Base 4.9 + __interceptor_getloadavg@Base 8 + __interceptor_getmntent@Base 4.9 + __interceptor_getmntent_r@Base 4.9 + __interceptor_getnameinfo@Base 4.9 + __interceptor_getnetbyaddr@Base 13 + __interceptor_getnetbyname@Base 13 + __interceptor_getnetent@Base 13 + __interceptor_getpass@Base 5 + __interceptor_getpeername@Base 4.9 + __interceptor_getprotobyname@Base 11 + __interceptor_getprotobyname_r@Base 11 + __interceptor_getprotobynumber@Base 11 + __interceptor_getprotobynumber_r@Base 11 + __interceptor_getprotoent@Base 11 + __interceptor_getprotoent_r@Base 11 + __interceptor_getpwent@Base 5 + __interceptor_getpwent_r@Base 5 + __interceptor_getpwnam@Base 4.9 + __interceptor_getpwnam_r@Base 4.9 + __interceptor_getpwuid@Base 4.9 + __interceptor_getpwuid_r@Base 4.9 + __interceptor_getrandom@Base 10 + __interceptor_getresgid@Base 5 + __interceptor_getresuid@Base 5 + __interceptor_getsockname@Base 4.9 + __interceptor_getsockopt@Base 4.9 + __interceptor_getusershell@Base 10 + __interceptor_getutent@Base 8 + __interceptor_getutid@Base 8 + __interceptor_getutline@Base 8 + __interceptor_getutxent@Base 8 + __interceptor_getutxid@Base 8 + __interceptor_getutxline@Base 8 + __interceptor_getxattr@Base 5 + __interceptor_glob64@Base 4.9 + __interceptor_glob@Base 4.9 + __interceptor_gmtime@Base 4.8 + __interceptor_gmtime_r@Base 4.8 + __interceptor_iconv@Base 4.9 + __interceptor_if_indextoname@Base 5 + __interceptor_if_nametoindex@Base 5 + __interceptor_index@Base 4.8 + __interceptor_inet_aton@Base 4.9 + __interceptor_inet_ntop@Base 4.9 + __interceptor_inet_pton@Base 4.9 + __interceptor_initgroups@Base 4.9 + __interceptor_ioctl@Base 4.9 + __interceptor_lgamma@Base 4.9 + __interceptor_lgamma_r@Base 4.9 + __interceptor_lgammaf@Base 4.9 + __interceptor_lgammaf_r@Base 4.9 + __interceptor_lgammal@Base 4.9 + __interceptor_lgammal_r@Base 4.9 + __interceptor_lgetxattr@Base 5 + __interceptor_listxattr@Base 5 + __interceptor_llistxattr@Base 5 + __interceptor_localtime@Base 4.8 + __interceptor_localtime_r@Base 4.8 + __interceptor_longjmp@Base 4.8 + __interceptor_lrand48_r@Base 4.9 + __interceptor_lstat64@Base 13 + __interceptor_lstat@Base 13 + __interceptor_makecontext@Base 14 + __interceptor_mallinfo@Base 4.8 + __interceptor_malloc@Base 4.8 + __interceptor_malloc_stats@Base 4.8 + __interceptor_malloc_usable_size@Base 4.8 + __interceptor_mallopt@Base 4.8 + __interceptor_mbsnrtowcs@Base 4.9 + __interceptor_mbsrtowcs@Base 4.9 + __interceptor_mbstowcs@Base 4.9 + __interceptor_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __interceptor_memalign@Base 4.8 + __interceptor_memchr@Base 5 + __interceptor_memcmp@Base 4.8 + __interceptor_memcpy@Base 4.8 + __interceptor_memmem@Base 7 + __interceptor_memmove@Base 4.8 + __interceptor_memrchr@Base 5 + __interceptor_memset@Base 4.8 + __interceptor_mincore@Base 6.2 + __interceptor_mktime@Base 5 + __interceptor_mlock@Base 4.8 + __interceptor_mlockall@Base 4.8 + __interceptor_mmap64@Base 9 + __interceptor_mmap@Base 9 + __interceptor_modf@Base 4.9 + __interceptor_modff@Base 4.9 + __interceptor_modfl@Base 4.9 + __interceptor_mprobe@Base 8 + __interceptor_mprotect@Base 9 + __interceptor_msgrcv@Base 11 + __interceptor_msgsnd@Base 11 + __interceptor_munlock@Base 4.8 + __interceptor_munlockall@Base 4.8 + __interceptor_munmap@Base 14 + __interceptor_name_to_handle_at@Base 9 + __interceptor_open_by_handle_at@Base 9 + __interceptor_open_memstream@Base 5 + __interceptor_open_wmemstream@Base 5 + __interceptor_opendir@Base 6.2 + __interceptor_pclose@Base 10 + __interceptor_poll@Base 4.9 + __interceptor_popen@Base 10 + __interceptor_posix_memalign@Base 4.8 + __interceptor_posix_spawn@Base 13 + __interceptor_posix_spawnp@Base 13 + __interceptor_ppoll@Base 4.9 + __interceptor_prctl@Base 4.8 + __interceptor_pread64@Base 4.8 + __interceptor_pread@Base 4.8 + __interceptor_preadv64@Base 4.9 + __interceptor_preadv@Base 4.9 + __interceptor_printf@Base 5 + __interceptor_process_vm_readv@Base 6.2 + __interceptor_process_vm_writev@Base 6.2 + __interceptor_pthread_attr_getaffinity_np@Base 4.9 + __interceptor_pthread_attr_getdetachstate@Base 4.9 + __interceptor_pthread_attr_getguardsize@Base 4.9 + __interceptor_pthread_attr_getinheritsched@Base 4.9 + __interceptor_pthread_attr_getschedparam@Base 4.9 + __interceptor_pthread_attr_getschedpolicy@Base 4.9 + __interceptor_pthread_attr_getscope@Base 4.9 + __interceptor_pthread_attr_getstack@Base 4.9 + __interceptor_pthread_attr_getstacksize@Base 4.9 + __interceptor_pthread_barrierattr_getpshared@Base 5 + __interceptor_pthread_condattr_getclock@Base 5 + __interceptor_pthread_condattr_getpshared@Base 5 + __interceptor_pthread_create@Base 4.8 + __interceptor_pthread_detach@Base 14 + __interceptor_pthread_exit@Base 14 + __interceptor_pthread_getaffinity_np@Base 13 + __interceptor_pthread_getcpuclockid@Base 13 + __interceptor_pthread_getname_np@Base 9 + __interceptor_pthread_getschedparam@Base 4.9 + __interceptor_pthread_join@Base 6.2 + __interceptor_pthread_mutexattr_getprioceiling@Base 5 + __interceptor_pthread_mutexattr_getprotocol@Base 5 + __interceptor_pthread_mutexattr_getpshared@Base 5 + __interceptor_pthread_mutexattr_getrobust@Base 5 + __interceptor_pthread_mutexattr_getrobust_np@Base 5 + __interceptor_pthread_mutexattr_gettype@Base 5 + __interceptor_pthread_rwlockattr_getkind_np@Base 5 + __interceptor_pthread_rwlockattr_getpshared@Base 5 + __interceptor_pthread_setcancelstate@Base 6.2 + __interceptor_pthread_setcanceltype@Base 6.2 + __interceptor_pthread_setname_np@Base 4.9 + __interceptor_pthread_sigmask@Base 10 + __interceptor_pthread_timedjoin_np@Base 14 + __interceptor_pthread_tryjoin_np@Base 14 + __interceptor_pvalloc@Base 4.8 + __interceptor_ptsname@Base 11 + __interceptor_ptsname_r@Base 11 + __interceptor_puts@Base 9 + __interceptor_pututxline@Base 10 + __interceptor_pwrite64@Base 4.8 + __interceptor_pwrite@Base 4.8 + __interceptor_pwritev64@Base 4.9 + __interceptor_pwritev@Base 4.9 + __interceptor_qsort@Base 11 + __interceptor_qsort_r@Base 11 + __interceptor_rand_r@Base 5 + __interceptor_random_r@Base 4.9 + __interceptor_read@Base 4.8 + __interceptor_readdir64@Base 4.9 + __interceptor_readdir64_r@Base 4.9 + __interceptor_readdir@Base 4.9 + __interceptor_readdir_r@Base 4.9 + __interceptor_readlink@Base 9 + __interceptor_readlinkat@Base 9 + __interceptor_readv@Base 4.9 + __interceptor_realloc@Base 4.8 + __interceptor_reallocarray@Base 10 + __interceptor_realpath@Base 4.9 + __interceptor_recv@Base 7 + __interceptor_recvfrom@Base 7 + __interceptor_recvmmsg@Base 9 + __interceptor_recvmsg@Base 4.9 + __interceptor_regcomp@Base 10 + __interceptor_regerror@Base 10 + __interceptor_regexec@Base 10 + __interceptor_regfree@Base 10 + __interceptor_remquo@Base 4.9 + __interceptor_remquof@Base 4.9 + __interceptor_remquol@Base 4.9 + __interceptor_scandir64@Base 4.9 + __interceptor_scandir@Base 4.9 + __interceptor_scanf@Base 4.8 + __interceptor_sched_getaffinity@Base 4.9 + __interceptor_sched_getparam@Base 6.2 + __interceptor_sem_destroy@Base 6.2 + __interceptor_sem_getvalue@Base 6.2 + __interceptor_sem_init@Base 6.2 + __interceptor_sem_open@Base 13 + __interceptor_sem_post@Base 6.2 + __interceptor_sem_timedwait@Base 6.2 + __interceptor_sem_trywait@Base 6.2 + __interceptor_sem_unlink@Base 13 + __interceptor_sem_wait@Base 6.2 + __interceptor_send@Base 7 + __interceptor_sendmmsg@Base 9 + __interceptor_sendmsg@Base 7 + __interceptor_sendto@Base 7 + __interceptor_setbuf@Base 10 + __interceptor_setbuffer@Base 10 + __interceptor_setgrent@Base 5 + __interceptor_setitimer@Base 4.9 + __interceptor_setlinebuf@Base 10 + __interceptor_setlocale@Base 4.9 + __interceptor_setpwent@Base 5 + __interceptor_setvbuf@Base 10 + __interceptor_sigaction@Base 4.8 + __interceptor_sigaltstack@Base 11 + __interceptor_sigandset@Base 11 + __interceptor_sigemptyset@Base 4.9 + __interceptor_sigfillset@Base 4.9 + __interceptor_siglongjmp@Base 4.8 + __interceptor_signal@Base 4.8 + __interceptor_sigorset@Base 11 + __interceptor_sigpending@Base 4.9 + __interceptor_sigprocmask@Base 4.9 + __interceptor_sigtimedwait@Base 4.9 + __interceptor_sigwait@Base 4.9 + __interceptor_sigwaitinfo@Base 4.9 + __interceptor_sincos@Base 4.9 + __interceptor_sincosf@Base 4.9 + __interceptor_sincosl@Base 4.9 + __interceptor_snprintf@Base 5 + __interceptor_sprintf@Base 5 + __interceptor_sscanf@Base 4.8 + __interceptor_stat64@Base 13 + __interceptor_stat@Base 13 + __interceptor_statfs64@Base 4.9 + __interceptor_statfs@Base 4.9 + __interceptor_statvfs64@Base 4.9 + __interceptor_statvfs@Base 4.9 + __interceptor_strcasecmp@Base 4.8 + __interceptor_strcasestr@Base 6.2 + __interceptor_strcat@Base 4.8 + __interceptor_strchr@Base 4.8 + __interceptor_strchrnul@Base 7 + __interceptor_strcmp@Base 4.8 + __interceptor_strcpy@Base 4.8 + __interceptor_strcspn@Base 6.2 + __interceptor_strdup@Base 4.8 + __interceptor_strerror@Base 4.9 + __interceptor_strerror_r@Base 4.9 + __interceptor_strlen@Base 4.8 + __interceptor_strncasecmp@Base 4.8 + __interceptor_strncat@Base 4.8 + __interceptor_strncmp@Base 4.8 + __interceptor_strncpy@Base 4.8 + __interceptor_strndup@Base 8 + __interceptor_strnlen@Base 4.8 + __interceptor_strpbrk@Base 6.2 + __interceptor_strptime@Base 4.9 + __interceptor_strrchr@Base 7 + __interceptor_strspn@Base 6.2 + __interceptor_strstr@Base 6.2 + __interceptor_strtoimax@Base 4.9 + __interceptor_strtok@Base 8 + __interceptor_strtol@Base 4.8 + __interceptor_strtoll@Base 4.8 + __interceptor_strtoumax@Base 4.9 + __interceptor_strxfrm@Base 9 + __interceptor_strxfrm_l@Base 9 + __interceptor_swapcontext@Base 4.8 + __interceptor_sysinfo@Base 4.9 + __interceptor_tcgetattr@Base 4.9 + __interceptor_tempnam@Base 4.9 + __interceptor_textdomain@Base 4.9 + __interceptor_time@Base 4.9 + __interceptor_timerfd_gettime@Base 5 + __interceptor_timerfd_settime@Base 5 + __interceptor_times@Base 4.9 + __interceptor_tmpnam@Base 4.9 + __interceptor_tmpnam_r@Base 4.9 + __interceptor_trampoline__Unwind_RaiseException@Base 14 + __interceptor_trampoline___b64_ntop@Base 14 + __interceptor_trampoline___b64_pton@Base 14 + __interceptor_trampoline___bzero@Base 14 + __interceptor_trampoline___cxa_atexit@Base 14 + __interceptor_trampoline___cxa_throw@Base 14 + __interceptor_trampoline___fprintf_chk@Base 14 + __interceptor_trampoline___getdelim@Base 14 + __interceptor_trampoline___isoc23_fscanf@Base 14 + __interceptor_trampoline___isoc23_scanf@Base 14 + __interceptor_trampoline___isoc23_sscanf@Base 14 + __interceptor_trampoline___isoc23_strtoimax@Base 14 + __interceptor_trampoline___isoc23_strtol@Base 14 + __interceptor_trampoline___isoc23_strtoll@Base 14 + __interceptor_trampoline___isoc23_strtoumax@Base 14 + __interceptor_trampoline___isoc23_vfscanf@Base 14 + __interceptor_trampoline___isoc23_vscanf@Base 14 + __interceptor_trampoline___isoc23_vsscanf@Base 14 + __interceptor_trampoline___isoc99_fprintf@Base 14 + __interceptor_trampoline___isoc99_fscanf@Base 14 + __interceptor_trampoline___isoc99_printf@Base 14 + __interceptor_trampoline___isoc99_scanf@Base 14 + __interceptor_trampoline___isoc99_snprintf@Base 14 + __interceptor_trampoline___isoc99_sprintf@Base 14 + __interceptor_trampoline___isoc99_sscanf@Base 14 + __interceptor_trampoline___isoc99_vfprintf@Base 14 + __interceptor_trampoline___isoc99_vfscanf@Base 14 + __interceptor_trampoline___isoc99_vprintf@Base 14 + __interceptor_trampoline___isoc99_vscanf@Base 14 + __interceptor_trampoline___isoc99_vsnprintf@Base 14 + __interceptor_trampoline___isoc99_vsprintf@Base 14 + __interceptor_trampoline___isoc99_vsscanf@Base 14 + __interceptor_trampoline___libc_memalign@Base 14 + __interceptor_trampoline___longjmp_chk@Base 14 + __interceptor_trampoline___lxstat64@Base 14 + __interceptor_trampoline___lxstat@Base 14 + __interceptor_trampoline___overflow@Base 14 + __interceptor_trampoline___snprintf_chk@Base 14 + __interceptor_trampoline___sprintf_chk@Base 14 + __interceptor_trampoline___strdup@Base 14 + __interceptor_trampoline___strndup@Base 14 + __interceptor_trampoline___strxfrm_l@Base 14 + __interceptor_trampoline___tls_get_addr@Base 14 + __interceptor_trampoline___uflow@Base 14 + __interceptor_trampoline___underflow@Base 14 + __interceptor_trampoline___vsnprintf_chk@Base 14 + __interceptor_trampoline___vsprintf_chk@Base 14 + __interceptor_trampoline___wcsxfrm_l@Base 14 + __interceptor_trampoline___woverflow@Base 14 + __interceptor_trampoline___wuflow@Base 14 + __interceptor_trampoline___wunderflow@Base 14 + __interceptor_trampoline___xpg_strerror_r@Base 14 + __interceptor_trampoline___xstat64@Base 14 + __interceptor_trampoline___xstat@Base 14 + __interceptor_trampoline__exit@Base 14 + __interceptor_trampoline__longjmp@Base 14 + __interceptor_trampoline__obstack_begin@Base 14 + __interceptor_trampoline__obstack_begin_1@Base 14 + __interceptor_trampoline__obstack_newchunk@Base 14 + __interceptor_trampoline_accept4@Base 14 + __interceptor_trampoline_accept@Base 14 + __interceptor_trampoline_aligned_alloc@Base 14 + __interceptor_trampoline_argp_parse@Base 14 + __interceptor_trampoline_asctime@Base 14 + __interceptor_trampoline_asctime_r@Base 14 + __interceptor_trampoline_asprintf@Base 14 + __interceptor_trampoline_atoi@Base 14 + __interceptor_trampoline_atol@Base 14 + __interceptor_trampoline_atoll@Base 14 + __interceptor_trampoline_backtrace@Base 14 + __interceptor_trampoline_backtrace_symbols@Base 14 + __interceptor_trampoline_bcmp@Base 14 + __interceptor_trampoline_bsearch@Base 14 + __interceptor_trampoline_bzero@Base 14 + __interceptor_trampoline_calloc@Base 14 + __interceptor_trampoline_canonicalize_file_name@Base 14 + __interceptor_trampoline_capget@Base 14 + __interceptor_trampoline_capset@Base 14 + (arch=!riscv64)__interceptor_trampoline_cfree@Base 14 + __interceptor_trampoline_clock_getcpuclockid@Base 14 + __interceptor_trampoline_clock_getres@Base 14 + __interceptor_trampoline_clock_gettime@Base 14 + __interceptor_trampoline_clock_settime@Base 14 + __interceptor_trampoline_confstr@Base 14 + __interceptor_trampoline_ctermid@Base 14 + __interceptor_trampoline_ctime@Base 14 + __interceptor_trampoline_ctime_r@Base 14 + __interceptor_trampoline_dlclose@Base 14 + __interceptor_trampoline_dlopen@Base 14 + __interceptor_trampoline_dn_comp@Base 14 + __interceptor_trampoline_dn_expand@Base 14 + __interceptor_trampoline_drand48_r@Base 14 + __interceptor_trampoline_endgrent@Base 14 + __interceptor_trampoline_endpwent@Base 14 + __interceptor_trampoline_ether_aton@Base 14 + __interceptor_trampoline_ether_aton_r@Base 14 + __interceptor_trampoline_ether_hostton@Base 14 + __interceptor_trampoline_ether_line@Base 14 + __interceptor_trampoline_ether_ntoa@Base 14 + __interceptor_trampoline_ether_ntoa_r@Base 14 + __interceptor_trampoline_ether_ntohost@Base 14 + __interceptor_trampoline_eventfd_read@Base 14 + __interceptor_trampoline_eventfd_write@Base 14 + __interceptor_trampoline_fclose@Base 14 + __interceptor_trampoline_fdopen@Base 14 + __interceptor_trampoline_fflush@Base 14 + __interceptor_trampoline_fgetgrent@Base 14 + __interceptor_trampoline_fgetgrent_r@Base 14 + __interceptor_trampoline_fgetpwent@Base 14 + __interceptor_trampoline_fgetpwent_r@Base 14 + __interceptor_trampoline_fgets@Base 14 + __interceptor_trampoline_fgetxattr@Base 14 + __interceptor_trampoline_flistxattr@Base 14 + __interceptor_trampoline_fmemopen@Base 14 + __interceptor_trampoline_fopen64@Base 14 + __interceptor_trampoline_fopen@Base 14 + __interceptor_trampoline_fopencookie@Base 14 + __interceptor_trampoline_fprintf@Base 14 + __interceptor_trampoline_fputs@Base 14 + __interceptor_trampoline_fread@Base 14 + __interceptor_trampoline_free@Base 14 + __interceptor_trampoline_freopen64@Base 14 + __interceptor_trampoline_freopen@Base 14 + __interceptor_trampoline_frexp@Base 14 + __interceptor_trampoline_frexpf@Base 14 + __interceptor_trampoline_frexpl@Base 14 + __interceptor_trampoline_fscanf@Base 14 + __interceptor_trampoline_fstatfs64@Base 14 + __interceptor_trampoline_fstatfs@Base 14 + __interceptor_trampoline_fstatvfs64@Base 14 + __interceptor_trampoline_fstatvfs@Base 14 + __interceptor_trampoline_ftime@Base 14 + __interceptor_trampoline_fwrite@Base 14 + __interceptor_trampoline_get_current_dir_name@Base 14 + __interceptor_trampoline_getaddrinfo@Base 14 + __interceptor_trampoline_getcwd@Base 14 + __interceptor_trampoline_getdelim@Base 14 + __interceptor_trampoline_getentropy@Base 14 + __interceptor_trampoline_getgrent@Base 14 + __interceptor_trampoline_getgrent_r@Base 14 + __interceptor_trampoline_getgrgid@Base 14 + __interceptor_trampoline_getgrgid_r@Base 14 + __interceptor_trampoline_getgrnam@Base 14 + __interceptor_trampoline_getgrnam_r@Base 14 + __interceptor_trampoline_getgrouplist@Base 14 + __interceptor_trampoline_getgroups@Base 14 + __interceptor_trampoline_gethostbyaddr@Base 14 + __interceptor_trampoline_gethostbyaddr_r@Base 14 + __interceptor_trampoline_gethostbyname2@Base 14 + __interceptor_trampoline_gethostbyname2_r@Base 14 + __interceptor_trampoline_gethostbyname@Base 14 + __interceptor_trampoline_gethostbyname_r@Base 14 + __interceptor_trampoline_gethostent@Base 14 + __interceptor_trampoline_gethostent_r@Base 14 + __interceptor_trampoline_getifaddrs@Base 14 + __interceptor_trampoline_getitimer@Base 14 + __interceptor_trampoline_getline@Base 14 + __interceptor_trampoline_getloadavg@Base 14 + __interceptor_trampoline_getmntent@Base 14 + __interceptor_trampoline_getmntent_r@Base 14 + __interceptor_trampoline_getnameinfo@Base 14 + __interceptor_trampoline_getnetbyaddr@Base 14 + __interceptor_trampoline_getnetbyname@Base 14 + __interceptor_trampoline_getnetent@Base 14 + __interceptor_trampoline_getpass@Base 14 + __interceptor_trampoline_getpeername@Base 14 + __interceptor_trampoline_getprotobyname@Base 14 + __interceptor_trampoline_getprotobyname_r@Base 14 + __interceptor_trampoline_getprotobynumber@Base 14 + __interceptor_trampoline_getprotobynumber_r@Base 14 + __interceptor_trampoline_getprotoent@Base 14 + __interceptor_trampoline_getprotoent_r@Base 14 + __interceptor_trampoline_getpwent@Base 14 + __interceptor_trampoline_getpwent_r@Base 14 + __interceptor_trampoline_getpwnam@Base 14 + __interceptor_trampoline_getpwnam_r@Base 14 + __interceptor_trampoline_getpwuid@Base 14 + __interceptor_trampoline_getpwuid_r@Base 14 + __interceptor_trampoline_getrandom@Base 14 + __interceptor_trampoline_getresgid@Base 14 + __interceptor_trampoline_getresuid@Base 14 + __interceptor_trampoline_getsockname@Base 14 + __interceptor_trampoline_getsockopt@Base 14 + __interceptor_trampoline_getusershell@Base 14 + __interceptor_trampoline_getutent@Base 14 + __interceptor_trampoline_getutid@Base 14 + __interceptor_trampoline_getutline@Base 14 + __interceptor_trampoline_getutxent@Base 14 + __interceptor_trampoline_getutxid@Base 14 + __interceptor_trampoline_getutxline@Base 14 + __interceptor_trampoline_getxattr@Base 14 + __interceptor_trampoline_glob64@Base 14 + __interceptor_trampoline_glob@Base 14 + __interceptor_trampoline_gmtime@Base 14 + __interceptor_trampoline_gmtime_r@Base 14 + __interceptor_trampoline_iconv@Base 14 + __interceptor_trampoline_if_indextoname@Base 14 + __interceptor_trampoline_if_nametoindex@Base 14 + __interceptor_trampoline_index@Base 14 + __interceptor_trampoline_inet_aton@Base 14 + __interceptor_trampoline_inet_ntop@Base 14 + __interceptor_trampoline_inet_pton@Base 14 + __interceptor_trampoline_initgroups@Base 14 + __interceptor_trampoline_ioctl@Base 14 + __interceptor_trampoline_lgamma@Base 14 + __interceptor_trampoline_lgamma_r@Base 14 + __interceptor_trampoline_lgammaf@Base 14 + __interceptor_trampoline_lgammaf_r@Base 14 + __interceptor_trampoline_lgammal@Base 14 + __interceptor_trampoline_lgammal_r@Base 14 + __interceptor_trampoline_lgetxattr@Base 14 + __interceptor_trampoline_listxattr@Base 14 + __interceptor_trampoline_llistxattr@Base 14 + __interceptor_trampoline_localtime@Base 14 + __interceptor_trampoline_localtime_r@Base 14 + __interceptor_trampoline_longjmp@Base 14 + __interceptor_trampoline_lrand48_r@Base 14 + __interceptor_trampoline_lstat64@Base 14 + __interceptor_trampoline_lstat@Base 14 + __interceptor_trampoline_makecontext@Base 14 + __interceptor_trampoline_mallinfo@Base 14 + __interceptor_trampoline_malloc@Base 14 + __interceptor_trampoline_malloc_stats@Base 14 + __interceptor_trampoline_malloc_usable_size@Base 14 + __interceptor_trampoline_mallopt@Base 14 + __interceptor_trampoline_mbsnrtowcs@Base 14 + __interceptor_trampoline_mbsrtowcs@Base 14 + __interceptor_trampoline_mbstowcs@Base 14 + __interceptor_trampoline_mcheck@Base 14 + __interceptor_trampoline_mcheck_pedantic@Base 14 + __interceptor_trampoline_memalign@Base 14 + __interceptor_trampoline_memchr@Base 14 + __interceptor_trampoline_memcmp@Base 14 + __interceptor_trampoline_memcpy@Base 14 + __interceptor_trampoline_memmem@Base 14 + __interceptor_trampoline_memmove@Base 14 + __interceptor_trampoline_memrchr@Base 14 + __interceptor_trampoline_memset@Base 14 + __interceptor_trampoline_mincore@Base 14 + __interceptor_trampoline_mktime@Base 14 + __interceptor_trampoline_mlock@Base 14 + __interceptor_trampoline_mlockall@Base 14 + __interceptor_trampoline_mmap64@Base 14 + __interceptor_trampoline_mmap@Base 14 + __interceptor_trampoline_modf@Base 14 + __interceptor_trampoline_modff@Base 14 + __interceptor_trampoline_modfl@Base 14 + __interceptor_trampoline_mprobe@Base 14 + __interceptor_trampoline_mprotect@Base 14 + __interceptor_trampoline_msgrcv@Base 14 + __interceptor_trampoline_msgsnd@Base 14 + __interceptor_trampoline_munlock@Base 14 + __interceptor_trampoline_munlockall@Base 14 + __interceptor_trampoline_munmap@Base 14 + __interceptor_trampoline_name_to_handle_at@Base 14 + __interceptor_trampoline_open_by_handle_at@Base 14 + __interceptor_trampoline_open_memstream@Base 14 + __interceptor_trampoline_open_wmemstream@Base 14 + __interceptor_trampoline_opendir@Base 14 + __interceptor_trampoline_pclose@Base 14 + __interceptor_trampoline_poll@Base 14 + __interceptor_trampoline_popen@Base 14 + __interceptor_trampoline_posix_memalign@Base 14 + __interceptor_trampoline_posix_spawn@Base 14 + __interceptor_trampoline_posix_spawnp@Base 14 + __interceptor_trampoline_ppoll@Base 14 + __interceptor_trampoline_prctl@Base 14 + __interceptor_trampoline_pread64@Base 14 + __interceptor_trampoline_pread@Base 14 + __interceptor_trampoline_preadv64@Base 14 + __interceptor_trampoline_preadv@Base 14 + __interceptor_trampoline_printf@Base 14 + __interceptor_trampoline_process_vm_readv@Base 14 + __interceptor_trampoline_process_vm_writev@Base 14 + __interceptor_trampoline_pthread_attr_getaffinity_np@Base 14 + __interceptor_trampoline_pthread_attr_getdetachstate@Base 14 + __interceptor_trampoline_pthread_attr_getguardsize@Base 14 + __interceptor_trampoline_pthread_attr_getinheritsched@Base 14 + __interceptor_trampoline_pthread_attr_getschedparam@Base 14 + __interceptor_trampoline_pthread_attr_getschedpolicy@Base 14 + __interceptor_trampoline_pthread_attr_getscope@Base 14 + __interceptor_trampoline_pthread_attr_getstack@Base 14 + __interceptor_trampoline_pthread_attr_getstacksize@Base 14 + __interceptor_trampoline_pthread_barrierattr_getpshared@Base 14 + __interceptor_trampoline_pthread_condattr_getclock@Base 14 + __interceptor_trampoline_pthread_condattr_getpshared@Base 14 + __interceptor_trampoline_pthread_create@Base 14 + __interceptor_trampoline_pthread_detach@Base 14 + __interceptor_trampoline_pthread_exit@Base 14 + __interceptor_trampoline_pthread_getaffinity_np@Base 14 + __interceptor_trampoline_pthread_getcpuclockid@Base 14 + __interceptor_trampoline_pthread_getname_np@Base 14 + __interceptor_trampoline_pthread_getschedparam@Base 14 + __interceptor_trampoline_pthread_join@Base 14 + __interceptor_trampoline_pthread_mutexattr_getprioceiling@Base 14 + __interceptor_trampoline_pthread_mutexattr_getprotocol@Base 14 + __interceptor_trampoline_pthread_mutexattr_getpshared@Base 14 + __interceptor_trampoline_pthread_mutexattr_getrobust@Base 14 + __interceptor_trampoline_pthread_mutexattr_getrobust_np@Base 14 + __interceptor_trampoline_pthread_mutexattr_gettype@Base 14 + __interceptor_trampoline_pthread_rwlockattr_getkind_np@Base 14 + __interceptor_trampoline_pthread_rwlockattr_getpshared@Base 14 + __interceptor_trampoline_pthread_setcancelstate@Base 14 + __interceptor_trampoline_pthread_setcanceltype@Base 14 + __interceptor_trampoline_pthread_setname_np@Base 14 + __interceptor_trampoline_pthread_sigmask@Base 14 + __interceptor_trampoline_pthread_timedjoin_np@Base 14 + __interceptor_trampoline_pthread_tryjoin_np@Base 14 + __interceptor_trampoline_ptrace@Base 14 + __interceptor_trampoline_ptsname@Base 14 + __interceptor_trampoline_ptsname_r@Base 14 + __interceptor_trampoline_puts@Base 14 + __interceptor_trampoline_pututxline@Base 14 + __interceptor_trampoline_pvalloc@Base 14 + __interceptor_trampoline_pwrite64@Base 14 + __interceptor_trampoline_pwrite@Base 14 + __interceptor_trampoline_pwritev64@Base 14 + __interceptor_trampoline_pwritev@Base 14 + __interceptor_trampoline_qsort@Base 14 + __interceptor_trampoline_qsort_r@Base 14 + __interceptor_trampoline_rand_r@Base 14 + __interceptor_trampoline_random_r@Base 14 + __interceptor_trampoline_read@Base 14 + __interceptor_trampoline_readdir64@Base 14 + __interceptor_trampoline_readdir64_r@Base 14 + __interceptor_trampoline_readdir@Base 14 + __interceptor_trampoline_readdir_r@Base 14 + __interceptor_trampoline_readlink@Base 14 + __interceptor_trampoline_readlinkat@Base 14 + __interceptor_trampoline_readv@Base 14 + __interceptor_trampoline_realloc@Base 14 + __interceptor_trampoline_reallocarray@Base 14 + __interceptor_trampoline_realpath@Base 14 + __interceptor_trampoline_recv@Base 14 + __interceptor_trampoline_recvfrom@Base 14 + __interceptor_trampoline_recvmmsg@Base 14 + __interceptor_trampoline_recvmsg@Base 14 + __interceptor_trampoline_regcomp@Base 14 + __interceptor_trampoline_regerror@Base 14 + __interceptor_trampoline_regexec@Base 14 + __interceptor_trampoline_regfree@Base 14 + __interceptor_trampoline_remquo@Base 14 + __interceptor_trampoline_remquof@Base 14 + __interceptor_trampoline_remquol@Base 14 + __interceptor_trampoline_scandir64@Base 14 + __interceptor_trampoline_scandir@Base 14 + __interceptor_trampoline_scanf@Base 14 + __interceptor_trampoline_sched_getaffinity@Base 14 + __interceptor_trampoline_sched_getparam@Base 14 + __interceptor_trampoline_sem_destroy@Base 14 + __interceptor_trampoline_sem_getvalue@Base 14 + __interceptor_trampoline_sem_init@Base 14 + __interceptor_trampoline_sem_open@Base 14 + __interceptor_trampoline_sem_post@Base 14 + __interceptor_trampoline_sem_timedwait@Base 14 + __interceptor_trampoline_sem_trywait@Base 14 + __interceptor_trampoline_sem_unlink@Base 14 + __interceptor_trampoline_sem_wait@Base 14 + __interceptor_trampoline_send@Base 14 + __interceptor_trampoline_sendmmsg@Base 14 + __interceptor_trampoline_sendmsg@Base 14 + __interceptor_trampoline_sendto@Base 14 + __interceptor_trampoline_setbuf@Base 14 + __interceptor_trampoline_setbuffer@Base 14 + __interceptor_trampoline_setgrent@Base 14 + __interceptor_trampoline_setitimer@Base 14 + __interceptor_trampoline_setlinebuf@Base 14 + __interceptor_trampoline_setlocale@Base 14 + __interceptor_trampoline_setpwent@Base 14 + __interceptor_trampoline_setvbuf@Base 14 + (arch=!armel !armhf)__interceptor_trampoline_shmctl@Base 14 + __interceptor_trampoline_sigaction@Base 14 + __interceptor_trampoline_sigaltstack@Base 14 + __interceptor_trampoline_sigandset@Base 14 + __interceptor_trampoline_sigemptyset@Base 14 + __interceptor_trampoline_sigfillset@Base 14 + __interceptor_trampoline_siglongjmp@Base 14 + __interceptor_trampoline_signal@Base 14 + __interceptor_trampoline_sigorset@Base 14 + __interceptor_trampoline_sigpending@Base 14 + __interceptor_trampoline_sigprocmask@Base 14 + __interceptor_trampoline_sigtimedwait@Base 14 + __interceptor_trampoline_sigwait@Base 14 + __interceptor_trampoline_sigwaitinfo@Base 14 + __interceptor_trampoline_sincos@Base 14 + __interceptor_trampoline_sincosf@Base 14 + __interceptor_trampoline_sincosl@Base 14 + __interceptor_trampoline_snprintf@Base 14 + __interceptor_trampoline_sprintf@Base 14 + __interceptor_trampoline_sscanf@Base 14 + __interceptor_trampoline_stat64@Base 14 + __interceptor_trampoline_stat@Base 14 + __interceptor_trampoline_statfs64@Base 14 + __interceptor_trampoline_statfs@Base 14 + __interceptor_trampoline_statvfs64@Base 14 + __interceptor_trampoline_statvfs@Base 14 + __interceptor_trampoline_strcasecmp@Base 14 + __interceptor_trampoline_strcasestr@Base 14 + __interceptor_trampoline_strcat@Base 14 + __interceptor_trampoline_strchr@Base 14 + __interceptor_trampoline_strchrnul@Base 14 + __interceptor_trampoline_strcmp@Base 14 + __interceptor_trampoline_strcpy@Base 14 + __interceptor_trampoline_strcspn@Base 14 + __interceptor_trampoline_strdup@Base 14 + __interceptor_trampoline_strerror@Base 14 + __interceptor_trampoline_strerror_r@Base 14 + __interceptor_trampoline_strlen@Base 14 + __interceptor_trampoline_strncasecmp@Base 14 + __interceptor_trampoline_strncat@Base 14 + __interceptor_trampoline_strncmp@Base 14 + __interceptor_trampoline_strncpy@Base 14 + __interceptor_trampoline_strndup@Base 14 + __interceptor_trampoline_strnlen@Base 14 + __interceptor_trampoline_strpbrk@Base 14 + __interceptor_trampoline_strptime@Base 14 + __interceptor_trampoline_strrchr@Base 14 + __interceptor_trampoline_strspn@Base 14 + __interceptor_trampoline_strstr@Base 14 + __interceptor_trampoline_strtoimax@Base 14 + __interceptor_trampoline_strtok@Base 14 + __interceptor_trampoline_strtol@Base 14 + __interceptor_trampoline_strtoll@Base 14 + __interceptor_trampoline_strtoumax@Base 14 + __interceptor_trampoline_strxfrm@Base 14 + __interceptor_trampoline_strxfrm_l@Base 14 + __interceptor_trampoline_swapcontext@Base 14 + __interceptor_trampoline_sysinfo@Base 14 + __interceptor_trampoline_tcgetattr@Base 14 + __interceptor_trampoline_tempnam@Base 14 + __interceptor_trampoline_textdomain@Base 14 + __interceptor_trampoline_time@Base 14 + __interceptor_trampoline_timerfd_gettime@Base 14 + __interceptor_trampoline_timerfd_settime@Base 14 + __interceptor_trampoline_times@Base 14 + __interceptor_trampoline_tmpnam@Base 14 + __interceptor_trampoline_tmpnam_r@Base 14 + __interceptor_trampoline_tsearch@Base 14 + __interceptor_trampoline_ttyname@Base 14 + __interceptor_trampoline_ttyname_r@Base 14 + __interceptor_trampoline_uname@Base 14 + __interceptor_trampoline_valloc@Base 14 + __interceptor_trampoline_vasprintf@Base 14 + __interceptor_trampoline_vfork@Base 14 + __interceptor_trampoline_vfprintf@Base 14 + __interceptor_trampoline_vfscanf@Base 14 + __interceptor_trampoline_vprintf@Base 14 + __interceptor_trampoline_vscanf@Base 14 + __interceptor_trampoline_vsnprintf@Base 14 + __interceptor_trampoline_vsprintf@Base 14 + __interceptor_trampoline_vsscanf@Base 14 + __interceptor_trampoline_wait3@Base 14 + __interceptor_trampoline_wait4@Base 14 + __interceptor_trampoline_wait@Base 14 + __interceptor_trampoline_waitid@Base 14 + __interceptor_trampoline_waitpid@Base 14 + __interceptor_trampoline_wcrtomb@Base 14 + __interceptor_trampoline_wcscat@Base 14 + __interceptor_trampoline_wcsdup@Base 14 + __interceptor_trampoline_wcslen@Base 14 + __interceptor_trampoline_wcsncat@Base 14 + __interceptor_trampoline_wcsnlen@Base 14 + __interceptor_trampoline_wcsnrtombs@Base 14 + __interceptor_trampoline_wcsrtombs@Base 14 + __interceptor_trampoline_wcstombs@Base 14 + __interceptor_trampoline_wcsxfrm@Base 14 + __interceptor_trampoline_wcsxfrm_l@Base 14 + __interceptor_trampoline_wctomb@Base 14 + __interceptor_trampoline_wordexp@Base 14 + __interceptor_trampoline_write@Base 14 + __interceptor_trampoline_writev@Base 14 + __interceptor_trampoline_xdr_bool@Base 14 + __interceptor_trampoline_xdr_bytes@Base 14 + __interceptor_trampoline_xdr_char@Base 14 + __interceptor_trampoline_xdr_destroy@Base 14 + __interceptor_trampoline_xdr_double@Base 14 + __interceptor_trampoline_xdr_enum@Base 14 + __interceptor_trampoline_xdr_float@Base 14 + __interceptor_trampoline_xdr_hyper@Base 14 + __interceptor_trampoline_xdr_int16_t@Base 14 + __interceptor_trampoline_xdr_int32_t@Base 14 + __interceptor_trampoline_xdr_int64_t@Base 14 + __interceptor_trampoline_xdr_int8_t@Base 14 + __interceptor_trampoline_xdr_int@Base 14 + __interceptor_trampoline_xdr_long@Base 14 + __interceptor_trampoline_xdr_longlong_t@Base 14 + __interceptor_trampoline_xdr_quad_t@Base 14 + __interceptor_trampoline_xdr_short@Base 14 + __interceptor_trampoline_xdr_string@Base 14 + __interceptor_trampoline_xdr_u_char@Base 14 + __interceptor_trampoline_xdr_u_hyper@Base 14 + __interceptor_trampoline_xdr_u_int@Base 14 + __interceptor_trampoline_xdr_u_long@Base 14 + __interceptor_trampoline_xdr_u_longlong_t@Base 14 + __interceptor_trampoline_xdr_u_quad_t@Base 14 + __interceptor_trampoline_xdr_u_short@Base 14 + __interceptor_trampoline_xdr_uint16_t@Base 14 + __interceptor_trampoline_xdr_uint32_t@Base 14 + __interceptor_trampoline_xdr_uint64_t@Base 14 + __interceptor_trampoline_xdr_uint8_t@Base 14 + __interceptor_trampoline_xdrmem_create@Base 14 + __interceptor_trampoline_xdrrec_create@Base 14 + __interceptor_trampoline_xdrstdio_create@Base 14 + __interceptor_tsearch@Base 5 + __interceptor_ttyname@Base 10 + __interceptor_ttyname_r@Base 7 + __interceptor_uname@Base 11 + __interceptor_valloc@Base 4.8 + __interceptor_vasprintf@Base 5 + (arch=armel armhf arm64 any-i386 any-amd64 riscv64)__interceptor_vfork@Base 10 + __interceptor_vfprintf@Base 5 + __interceptor_vfscanf@Base 4.8 + __interceptor_vprintf@Base 5 + __interceptor_vscanf@Base 4.8 + __interceptor_vsnprintf@Base 5 + __interceptor_vsprintf@Base 5 + __interceptor_vsscanf@Base 4.8 + __interceptor_wait3@Base 4.9 + __interceptor_wait4@Base 4.9 + __interceptor_wait@Base 4.9 + __interceptor_waitid@Base 4.9 + __interceptor_waitpid@Base 4.9 + __interceptor_wcrtomb@Base 6.2 + __interceptor_wcscat@Base 8 + __interceptor_wcsdup@Base 10 + __interceptor_wcslen@Base 4.9 + __interceptor_wcsncat@Base 8 + __interceptor_wcsnlen@Base 8 + __interceptor_wcsnrtombs@Base 4.9 + __interceptor_wcsrtombs@Base 4.9 + __interceptor_wcstombs@Base 4.9 + __interceptor_wcsxfrm@Base 9 + __interceptor_wcsxfrm_l@Base 9 + __interceptor_wctomb@Base 10 + __interceptor_wordexp@Base 4.9 + __interceptor_write@Base 4.8 + __interceptor_writev@Base 4.9 + __interceptor_xdr_bool@Base 5 + __interceptor_xdr_bytes@Base 5 + __interceptor_xdr_char@Base 5 + __interceptor_xdr_destroy@Base 11 + __interceptor_xdr_double@Base 5 + __interceptor_xdr_enum@Base 5 + __interceptor_xdr_float@Base 5 + __interceptor_xdr_hyper@Base 5 + __interceptor_xdr_int16_t@Base 5 + __interceptor_xdr_int32_t@Base 5 + __interceptor_xdr_int64_t@Base 5 + __interceptor_xdr_int8_t@Base 5 + __interceptor_xdr_int@Base 5 + __interceptor_xdr_long@Base 5 + __interceptor_xdr_longlong_t@Base 5 + __interceptor_xdr_quad_t@Base 5 + __interceptor_xdr_short@Base 5 + __interceptor_xdr_string@Base 5 + __interceptor_xdr_u_char@Base 5 + __interceptor_xdr_u_hyper@Base 5 + __interceptor_xdr_u_int@Base 5 + __interceptor_xdr_u_long@Base 5 + __interceptor_xdr_u_longlong_t@Base 5 + __interceptor_xdr_u_quad_t@Base 5 + __interceptor_xdr_u_short@Base 5 + __interceptor_xdr_uint16_t@Base 5 + __interceptor_xdr_uint32_t@Base 5 + __interceptor_xdr_uint64_t@Base 5 + __interceptor_xdr_uint8_t@Base 5 + __interceptor_xdrmem_create@Base 5 + __interceptor_xdrrec_create@Base 11 + __interceptor_xdrstdio_create@Base 5 + __isoc23_fscanf@Base 14 + __isoc23_scanf@Base 14 + __isoc23_sscanf@Base 14 + __isoc23_strtoimax@Base 14 + __isoc23_strtol@Base 14 + __isoc23_strtoll@Base 14 + __isoc23_strtoumax@Base 14 + __isoc23_vfscanf@Base 14 + __isoc23_vscanf@Base 14 + __isoc23_vsscanf@Base 14 + __isoc99_fprintf@Base 5 + __isoc99_fscanf@Base 4.8 + __isoc99_printf@Base 5 + __isoc99_scanf@Base 4.8 + __isoc99_snprintf@Base 5 + __isoc99_sprintf@Base 5 + __isoc99_sscanf@Base 4.8 + __isoc99_vfprintf@Base 5 + __isoc99_vfscanf@Base 4.8 + __isoc99_vprintf@Base 5 + __isoc99_vscanf@Base 4.8 + __isoc99_vsnprintf@Base 5 + __isoc99_vsprintf@Base 5 + __isoc99_vsscanf@Base 4.8 + __libc_memalign@Base 4.8 + __longjmp_chk@Base 8 + __lsan_default_options@Base 11 + __lsan_disable@Base 4.9 + __lsan_do_leak_check@Base 4.9 + __lsan_do_recoverable_leak_check@Base 6.2 + __lsan_enable@Base 4.9 + __lsan_ignore_object@Base 4.9 + __lsan_register_root_region@Base 5 + __lsan_unregister_root_region@Base 5 + __lxstat64@Base 7 + __lxstat@Base 7 + __overflow@Base 5 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_acquire_crash_state@Base 9 + __sanitizer_annotate_contiguous_container@Base 4.9 + __sanitizer_annotate_double_ended_contiguous_container@Base 14 + __sanitizer_contiguous_container_find_bad_address@Base 6.2 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_bool_flag_init@Base 11 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_load16@Base 13 + __sanitizer_cov_load1@Base 13 + __sanitizer_cov_load2@Base 13 + __sanitizer_cov_load4@Base 13 + __sanitizer_cov_load8@Base 13 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __sanitizer_cov_store16@Base 13 + __sanitizer_cov_store1@Base 13 + __sanitizer_cov_store2@Base 13 + __sanitizer_cov_store4@Base 13 + __sanitizer_cov_store8@Base 13 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6.2 + __sanitizer_cov_trace_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6.2 + __sanitizer_double_ended_contiguous_container_find_bad_address@Base 14 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_finish_switch_fiber@Base 7 + __sanitizer_free_hook@Base 13 + __sanitizer_get_allocated_begin@Base 14 + __sanitizer_get_allocated_size@Base 5 + __sanitizer_get_allocated_size_fast@Base 14 + __sanitizer_get_current_allocated_bytes@Base 5 + __sanitizer_get_estimated_allocated_size@Base 5 + __sanitizer_get_free_bytes@Base 5 + __sanitizer_get_heap_size@Base 5 + __sanitizer_get_module_and_offset_for_pc@Base 8 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_report_path@Base 13 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_internal_memcpy@Base 14 + __sanitizer_internal_memmove@Base 14 + __sanitizer_internal_memset@Base 14 + __sanitizer_malloc_hook@Base 13 + __sanitizer_on_print@Base 10 + __sanitizer_print_memory_profile@Base 8 + __sanitizer_print_stack_trace@Base 4.9 + __sanitizer_ptr_cmp@Base 5 + __sanitizer_ptr_sub@Base 5 + __sanitizer_purge_allocator@Base 9 + __sanitizer_report_error_summary@Base 4.8 + __sanitizer_sandbox_on_notify@Base 4.8 + __sanitizer_set_death_callback@Base 6.2 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.8 + __sanitizer_start_switch_fiber@Base 7 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + __sanitizer_syscall_post_impl_accept4@Base 4.9 + __sanitizer_syscall_post_impl_accept@Base 4.9 + __sanitizer_syscall_post_impl_access@Base 4.9 + __sanitizer_syscall_post_impl_acct@Base 4.9 + __sanitizer_syscall_post_impl_add_key@Base 4.9 + __sanitizer_syscall_post_impl_adjtimex@Base 4.9 + __sanitizer_syscall_post_impl_alarm@Base 4.9 + __sanitizer_syscall_post_impl_bdflush@Base 4.9 + __sanitizer_syscall_post_impl_bind@Base 4.9 + __sanitizer_syscall_post_impl_brk@Base 4.9 + __sanitizer_syscall_post_impl_capget@Base 4.9 + __sanitizer_syscall_post_impl_capset@Base 4.9 + __sanitizer_syscall_post_impl_chdir@Base 4.9 + __sanitizer_syscall_post_impl_chmod@Base 4.9 + __sanitizer_syscall_post_impl_chown@Base 4.9 + __sanitizer_syscall_post_impl_chroot@Base 4.9 + __sanitizer_syscall_post_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_post_impl_clock_getres@Base 4.9 + __sanitizer_syscall_post_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_post_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_clock_settime@Base 4.9 + __sanitizer_syscall_post_impl_close@Base 4.9 + __sanitizer_syscall_post_impl_connect@Base 4.9 + __sanitizer_syscall_post_impl_creat@Base 4.9 + __sanitizer_syscall_post_impl_delete_module@Base 4.9 + __sanitizer_syscall_post_impl_dup2@Base 4.9 + __sanitizer_syscall_post_impl_dup3@Base 4.9 + __sanitizer_syscall_post_impl_dup@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create@Base 4.9 + __sanitizer_syscall_post_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_post_impl_epoll_pwait2@Base 13 + __sanitizer_syscall_post_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_post_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_post_impl_eventfd2@Base 4.9 + __sanitizer_syscall_post_impl_eventfd@Base 4.9 + __sanitizer_syscall_post_impl_exit@Base 4.9 + __sanitizer_syscall_post_impl_exit_group@Base 4.9 + __sanitizer_syscall_post_impl_faccessat@Base 4.9 + __sanitizer_syscall_post_impl_fchdir@Base 4.9 + __sanitizer_syscall_post_impl_fchmod@Base 4.9 + __sanitizer_syscall_post_impl_fchmodat@Base 4.9 + __sanitizer_syscall_post_impl_fchown@Base 4.9 + __sanitizer_syscall_post_impl_fchownat@Base 4.9 + __sanitizer_syscall_post_impl_fcntl64@Base 4.9 + __sanitizer_syscall_post_impl_fcntl@Base 4.9 + __sanitizer_syscall_post_impl_fdatasync@Base 4.9 + __sanitizer_syscall_post_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_flistxattr@Base 4.9 + __sanitizer_syscall_post_impl_flock@Base 4.9 + __sanitizer_syscall_post_impl_fork@Base 4.9 + __sanitizer_syscall_post_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_fstat64@Base 4.9 + __sanitizer_syscall_post_impl_fstat@Base 4.9 + __sanitizer_syscall_post_impl_fstatat64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs@Base 4.9 + __sanitizer_syscall_post_impl_fsync@Base 4.9 + __sanitizer_syscall_post_impl_ftruncate@Base 4.9 + __sanitizer_syscall_post_impl_futimesat@Base 4.9 + __sanitizer_syscall_post_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_getcpu@Base 4.9 + __sanitizer_syscall_post_impl_getcwd@Base 4.9 + __sanitizer_syscall_post_impl_getdents64@Base 4.9 + __sanitizer_syscall_post_impl_getdents@Base 4.9 + __sanitizer_syscall_post_impl_getegid@Base 4.9 + __sanitizer_syscall_post_impl_geteuid@Base 4.9 + __sanitizer_syscall_post_impl_getgid@Base 4.9 + __sanitizer_syscall_post_impl_getgroups@Base 4.9 + __sanitizer_syscall_post_impl_gethostname@Base 4.9 + __sanitizer_syscall_post_impl_getitimer@Base 4.9 + __sanitizer_syscall_post_impl_getpeername@Base 4.9 + __sanitizer_syscall_post_impl_getpgid@Base 4.9 + __sanitizer_syscall_post_impl_getpgrp@Base 4.9 + __sanitizer_syscall_post_impl_getpid@Base 4.9 + __sanitizer_syscall_post_impl_getppid@Base 4.9 + __sanitizer_syscall_post_impl_getpriority@Base 4.9 + __sanitizer_syscall_post_impl_getrandom@Base 10 + __sanitizer_syscall_post_impl_getresgid@Base 4.9 + __sanitizer_syscall_post_impl_getresuid@Base 4.9 + __sanitizer_syscall_post_impl_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_getrusage@Base 4.9 + __sanitizer_syscall_post_impl_getsid@Base 4.9 + __sanitizer_syscall_post_impl_getsockname@Base 4.9 + __sanitizer_syscall_post_impl_getsockopt@Base 4.9 + __sanitizer_syscall_post_impl_gettid@Base 4.9 + __sanitizer_syscall_post_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_post_impl_getuid@Base 4.9 + __sanitizer_syscall_post_impl_getxattr@Base 4.9 + __sanitizer_syscall_post_impl_init_module@Base 4.9 + __sanitizer_syscall_post_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init@Base 4.9 + __sanitizer_syscall_post_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_post_impl_io_cancel@Base 4.9 + __sanitizer_syscall_post_impl_io_destroy@Base 4.9 + __sanitizer_syscall_post_impl_io_getevents@Base 4.9 + __sanitizer_syscall_post_impl_io_setup@Base 4.9 + __sanitizer_syscall_post_impl_io_submit@Base 4.9 + __sanitizer_syscall_post_impl_ioctl@Base 4.9 + __sanitizer_syscall_post_impl_ioperm@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_post_impl_ipc@Base 4.9 + __sanitizer_syscall_post_impl_kexec_load@Base 4.9 + __sanitizer_syscall_post_impl_keyctl@Base 4.9 + __sanitizer_syscall_post_impl_kill@Base 4.9 + __sanitizer_syscall_post_impl_lchown@Base 4.9 + __sanitizer_syscall_post_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_link@Base 4.9 + __sanitizer_syscall_post_impl_linkat@Base 4.9 + __sanitizer_syscall_post_impl_listen@Base 4.9 + __sanitizer_syscall_post_impl_listxattr@Base 4.9 + __sanitizer_syscall_post_impl_llistxattr@Base 4.9 + __sanitizer_syscall_post_impl_llseek@Base 4.9 + __sanitizer_syscall_post_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_post_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_lseek@Base 4.9 + __sanitizer_syscall_post_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_lstat64@Base 4.9 + __sanitizer_syscall_post_impl_lstat@Base 4.9 + __sanitizer_syscall_post_impl_madvise@Base 4.9 + __sanitizer_syscall_post_impl_mbind@Base 4.9 + __sanitizer_syscall_post_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_post_impl_mincore@Base 4.9 + __sanitizer_syscall_post_impl_mkdir@Base 4.9 + __sanitizer_syscall_post_impl_mkdirat@Base 4.9 + __sanitizer_syscall_post_impl_mknod@Base 4.9 + __sanitizer_syscall_post_impl_mknodat@Base 4.9 + __sanitizer_syscall_post_impl_mlock@Base 4.9 + __sanitizer_syscall_post_impl_mlockall@Base 4.9 + __sanitizer_syscall_post_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_post_impl_mount@Base 4.9 + __sanitizer_syscall_post_impl_move_pages@Base 4.9 + __sanitizer_syscall_post_impl_mprotect@Base 4.9 + __sanitizer_syscall_post_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_post_impl_mq_notify@Base 4.9 + __sanitizer_syscall_post_impl_mq_open@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_post_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_post_impl_mremap@Base 4.9 + __sanitizer_syscall_post_impl_msgctl@Base 4.9 + __sanitizer_syscall_post_impl_msgget@Base 4.9 + __sanitizer_syscall_post_impl_msgrcv@Base 4.9 + __sanitizer_syscall_post_impl_msgsnd@Base 4.9 + __sanitizer_syscall_post_impl_msync@Base 4.9 + __sanitizer_syscall_post_impl_munlock@Base 4.9 + __sanitizer_syscall_post_impl_munlockall@Base 4.9 + __sanitizer_syscall_post_impl_munmap@Base 4.9 + __sanitizer_syscall_post_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_newfstat@Base 4.9 + __sanitizer_syscall_post_impl_newfstatat@Base 4.9 + __sanitizer_syscall_post_impl_newlstat@Base 4.9 + __sanitizer_syscall_post_impl_newstat@Base 4.9 + __sanitizer_syscall_post_impl_newuname@Base 4.9 + __sanitizer_syscall_post_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_post_impl_nice@Base 4.9 + __sanitizer_syscall_post_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_old_mmap@Base 4.9 + __sanitizer_syscall_post_impl_old_readdir@Base 4.9 + __sanitizer_syscall_post_impl_old_select@Base 4.9 + __sanitizer_syscall_post_impl_oldumount@Base 4.9 + __sanitizer_syscall_post_impl_olduname@Base 4.9 + __sanitizer_syscall_post_impl_open@Base 4.9 + __sanitizer_syscall_post_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_openat@Base 4.9 + __sanitizer_syscall_post_impl_pause@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_post_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_post_impl_personality@Base 4.9 + __sanitizer_syscall_post_impl_pipe2@Base 4.9 + __sanitizer_syscall_post_impl_pipe@Base 4.9 + __sanitizer_syscall_post_impl_pivot_root@Base 4.9 + __sanitizer_syscall_post_impl_poll@Base 4.9 + __sanitizer_syscall_post_impl_ppoll@Base 4.9 + __sanitizer_syscall_post_impl_pread64@Base 4.9 + __sanitizer_syscall_post_impl_preadv@Base 4.9 + __sanitizer_syscall_post_impl_prlimit64@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_post_impl_pselect6@Base 4.9 + __sanitizer_syscall_post_impl_ptrace@Base 4.9 + __sanitizer_syscall_post_impl_pwrite64@Base 4.9 + __sanitizer_syscall_post_impl_pwritev@Base 4.9 + __sanitizer_syscall_post_impl_quotactl@Base 4.9 + __sanitizer_syscall_post_impl_read@Base 4.9 + __sanitizer_syscall_post_impl_readlink@Base 4.9 + __sanitizer_syscall_post_impl_readlinkat@Base 4.9 + __sanitizer_syscall_post_impl_readv@Base 4.9 + __sanitizer_syscall_post_impl_reboot@Base 4.9 + __sanitizer_syscall_post_impl_recv@Base 4.9 + __sanitizer_syscall_post_impl_recvfrom@Base 4.9 + __sanitizer_syscall_post_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_post_impl_recvmsg@Base 4.9 + __sanitizer_syscall_post_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_post_impl_removexattr@Base 4.9 + __sanitizer_syscall_post_impl_rename@Base 4.9 + __sanitizer_syscall_post_impl_renameat@Base 4.9 + __sanitizer_syscall_post_impl_request_key@Base 4.9 + __sanitizer_syscall_post_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_post_impl_rmdir@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigaction@Base 7 + __sanitizer_syscall_post_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_post_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_post_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_yield@Base 4.9 + __sanitizer_syscall_post_impl_select@Base 4.9 + __sanitizer_syscall_post_impl_semctl@Base 4.9 + __sanitizer_syscall_post_impl_semget@Base 4.9 + __sanitizer_syscall_post_impl_semop@Base 4.9 + __sanitizer_syscall_post_impl_semtimedop@Base 4.9 + __sanitizer_syscall_post_impl_send@Base 4.9 + __sanitizer_syscall_post_impl_sendfile64@Base 4.9 + __sanitizer_syscall_post_impl_sendfile@Base 4.9 + __sanitizer_syscall_post_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendto@Base 4.9 + __sanitizer_syscall_post_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_post_impl_setdomainname@Base 4.9 + __sanitizer_syscall_post_impl_setfsgid@Base 4.9 + __sanitizer_syscall_post_impl_setfsuid@Base 4.9 + __sanitizer_syscall_post_impl_setgid@Base 4.9 + __sanitizer_syscall_post_impl_setgroups@Base 4.9 + __sanitizer_syscall_post_impl_sethostname@Base 4.9 + __sanitizer_syscall_post_impl_setitimer@Base 4.9 + __sanitizer_syscall_post_impl_setns@Base 4.9 + __sanitizer_syscall_post_impl_setpgid@Base 4.9 + __sanitizer_syscall_post_impl_setpriority@Base 4.9 + __sanitizer_syscall_post_impl_setregid@Base 4.9 + __sanitizer_syscall_post_impl_setresgid@Base 4.9 + __sanitizer_syscall_post_impl_setresuid@Base 4.9 + __sanitizer_syscall_post_impl_setreuid@Base 4.9 + __sanitizer_syscall_post_impl_setrlimit@Base 4.9 + __sanitizer_syscall_post_impl_setsid@Base 4.9 + __sanitizer_syscall_post_impl_setsockopt@Base 4.9 + __sanitizer_syscall_post_impl_settimeofday@Base 4.9 + __sanitizer_syscall_post_impl_setuid@Base 4.9 + __sanitizer_syscall_post_impl_setxattr@Base 4.9 + __sanitizer_syscall_post_impl_sgetmask@Base 4.9 + __sanitizer_syscall_post_impl_shmat@Base 4.9 + __sanitizer_syscall_post_impl_shmctl@Base 4.9 + __sanitizer_syscall_post_impl_shmdt@Base 4.9 + __sanitizer_syscall_post_impl_shmget@Base 4.9 + __sanitizer_syscall_post_impl_shutdown@Base 4.9 + __sanitizer_syscall_post_impl_sigaction@Base 7 + __sanitizer_syscall_post_impl_sigaltstack@Base 11 + __sanitizer_syscall_post_impl_signal@Base 4.9 + __sanitizer_syscall_post_impl_signalfd4@Base 4.9 + __sanitizer_syscall_post_impl_signalfd@Base 4.9 + __sanitizer_syscall_post_impl_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_socket@Base 4.9 + __sanitizer_syscall_post_impl_socketcall@Base 4.9 + __sanitizer_syscall_post_impl_socketpair@Base 4.9 + __sanitizer_syscall_post_impl_splice@Base 4.9 + __sanitizer_syscall_post_impl_spu_create@Base 4.9 + __sanitizer_syscall_post_impl_spu_run@Base 4.9 + __sanitizer_syscall_post_impl_ssetmask@Base 4.9 + __sanitizer_syscall_post_impl_stat64@Base 4.9 + __sanitizer_syscall_post_impl_stat@Base 4.9 + __sanitizer_syscall_post_impl_statfs64@Base 4.9 + __sanitizer_syscall_post_impl_statfs@Base 4.9 + __sanitizer_syscall_post_impl_stime@Base 4.9 + __sanitizer_syscall_post_impl_swapoff@Base 4.9 + __sanitizer_syscall_post_impl_swapon@Base 4.9 + __sanitizer_syscall_post_impl_symlink@Base 4.9 + __sanitizer_syscall_post_impl_symlinkat@Base 4.9 + __sanitizer_syscall_post_impl_sync@Base 4.9 + __sanitizer_syscall_post_impl_syncfs@Base 4.9 + __sanitizer_syscall_post_impl_sysctl@Base 4.9 + __sanitizer_syscall_post_impl_sysfs@Base 4.9 + __sanitizer_syscall_post_impl_sysinfo@Base 4.9 + __sanitizer_syscall_post_impl_syslog@Base 4.9 + __sanitizer_syscall_post_impl_tee@Base 4.9 + __sanitizer_syscall_post_impl_tgkill@Base 4.9 + __sanitizer_syscall_post_impl_time@Base 4.9 + __sanitizer_syscall_post_impl_timer_create@Base 4.9 + __sanitizer_syscall_post_impl_timer_delete@Base 4.9 + __sanitizer_syscall_post_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_post_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timer_settime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_post_impl_times@Base 4.9 + __sanitizer_syscall_post_impl_tkill@Base 4.9 + __sanitizer_syscall_post_impl_truncate@Base 4.9 + __sanitizer_syscall_post_impl_umask@Base 4.9 + __sanitizer_syscall_post_impl_umount@Base 4.9 + __sanitizer_syscall_post_impl_uname@Base 4.9 + __sanitizer_syscall_post_impl_unlink@Base 4.9 + __sanitizer_syscall_post_impl_unlinkat@Base 4.9 + __sanitizer_syscall_post_impl_unshare@Base 4.9 + __sanitizer_syscall_post_impl_uselib@Base 4.9 + __sanitizer_syscall_post_impl_ustat@Base 4.9 + __sanitizer_syscall_post_impl_utime@Base 4.9 + __sanitizer_syscall_post_impl_utimensat@Base 4.9 + __sanitizer_syscall_post_impl_utimes@Base 4.9 + __sanitizer_syscall_post_impl_vfork@Base 4.9 + __sanitizer_syscall_post_impl_vhangup@Base 4.9 + __sanitizer_syscall_post_impl_vmsplice@Base 4.9 + __sanitizer_syscall_post_impl_wait4@Base 4.9 + __sanitizer_syscall_post_impl_waitid@Base 4.9 + __sanitizer_syscall_post_impl_waitpid@Base 4.9 + __sanitizer_syscall_post_impl_write@Base 4.9 + __sanitizer_syscall_post_impl_writev@Base 4.9 + __sanitizer_syscall_pre_impl_accept4@Base 4.9 + __sanitizer_syscall_pre_impl_accept@Base 4.9 + __sanitizer_syscall_pre_impl_access@Base 4.9 + __sanitizer_syscall_pre_impl_acct@Base 4.9 + __sanitizer_syscall_pre_impl_add_key@Base 4.9 + __sanitizer_syscall_pre_impl_adjtimex@Base 4.9 + __sanitizer_syscall_pre_impl_alarm@Base 4.9 + __sanitizer_syscall_pre_impl_bdflush@Base 4.9 + __sanitizer_syscall_pre_impl_bind@Base 4.9 + __sanitizer_syscall_pre_impl_brk@Base 4.9 + __sanitizer_syscall_pre_impl_capget@Base 4.9 + __sanitizer_syscall_pre_impl_capset@Base 4.9 + __sanitizer_syscall_pre_impl_chdir@Base 4.9 + __sanitizer_syscall_pre_impl_chmod@Base 4.9 + __sanitizer_syscall_pre_impl_chown@Base 4.9 + __sanitizer_syscall_pre_impl_chroot@Base 4.9 + __sanitizer_syscall_pre_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_getres@Base 4.9 + __sanitizer_syscall_pre_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_clock_settime@Base 4.9 + __sanitizer_syscall_pre_impl_close@Base 4.9 + __sanitizer_syscall_pre_impl_connect@Base 4.9 + __sanitizer_syscall_pre_impl_creat@Base 4.9 + __sanitizer_syscall_pre_impl_delete_module@Base 4.9 + __sanitizer_syscall_pre_impl_dup2@Base 4.9 + __sanitizer_syscall_pre_impl_dup3@Base 4.9 + __sanitizer_syscall_pre_impl_dup@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_pwait2@Base 13 + __sanitizer_syscall_pre_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd2@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd@Base 4.9 + __sanitizer_syscall_pre_impl_exit@Base 4.9 + __sanitizer_syscall_pre_impl_exit_group@Base 4.9 + __sanitizer_syscall_pre_impl_faccessat@Base 4.9 + __sanitizer_syscall_pre_impl_fchdir@Base 4.9 + __sanitizer_syscall_pre_impl_fchmod@Base 4.9 + __sanitizer_syscall_pre_impl_fchmodat@Base 4.9 + __sanitizer_syscall_pre_impl_fchown@Base 4.9 + __sanitizer_syscall_pre_impl_fchownat@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl64@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl@Base 4.9 + __sanitizer_syscall_pre_impl_fdatasync@Base 4.9 + __sanitizer_syscall_pre_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flock@Base 4.9 + __sanitizer_syscall_pre_impl_fork@Base 4.9 + __sanitizer_syscall_pre_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_fstat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstat@Base 4.9 + __sanitizer_syscall_pre_impl_fstatat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs@Base 4.9 + __sanitizer_syscall_pre_impl_fsync@Base 4.9 + __sanitizer_syscall_pre_impl_ftruncate@Base 4.9 + __sanitizer_syscall_pre_impl_futimesat@Base 4.9 + __sanitizer_syscall_pre_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_getcpu@Base 4.9 + __sanitizer_syscall_pre_impl_getcwd@Base 4.9 + __sanitizer_syscall_pre_impl_getdents64@Base 4.9 + __sanitizer_syscall_pre_impl_getdents@Base 4.9 + __sanitizer_syscall_pre_impl_getegid@Base 4.9 + __sanitizer_syscall_pre_impl_geteuid@Base 4.9 + __sanitizer_syscall_pre_impl_getgid@Base 4.9 + __sanitizer_syscall_pre_impl_getgroups@Base 4.9 + __sanitizer_syscall_pre_impl_gethostname@Base 4.9 + __sanitizer_syscall_pre_impl_getitimer@Base 4.9 + __sanitizer_syscall_pre_impl_getpeername@Base 4.9 + __sanitizer_syscall_pre_impl_getpgid@Base 4.9 + __sanitizer_syscall_pre_impl_getpgrp@Base 4.9 + __sanitizer_syscall_pre_impl_getpid@Base 4.9 + __sanitizer_syscall_pre_impl_getppid@Base 4.9 + __sanitizer_syscall_pre_impl_getpriority@Base 4.9 + __sanitizer_syscall_pre_impl_getrandom@Base 10 + __sanitizer_syscall_pre_impl_getresgid@Base 4.9 + __sanitizer_syscall_pre_impl_getresuid@Base 4.9 + __sanitizer_syscall_pre_impl_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_getrusage@Base 4.9 + __sanitizer_syscall_pre_impl_getsid@Base 4.9 + __sanitizer_syscall_pre_impl_getsockname@Base 4.9 + __sanitizer_syscall_pre_impl_getsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_gettid@Base 4.9 + __sanitizer_syscall_pre_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_getuid@Base 4.9 + __sanitizer_syscall_pre_impl_getxattr@Base 4.9 + __sanitizer_syscall_pre_impl_init_module@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_pre_impl_io_cancel@Base 4.9 + __sanitizer_syscall_pre_impl_io_destroy@Base 4.9 + __sanitizer_syscall_pre_impl_io_getevents@Base 4.9 + __sanitizer_syscall_pre_impl_io_setup@Base 4.9 + __sanitizer_syscall_pre_impl_io_submit@Base 4.9 + __sanitizer_syscall_pre_impl_ioctl@Base 4.9 + __sanitizer_syscall_pre_impl_ioperm@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_pre_impl_ipc@Base 4.9 + __sanitizer_syscall_pre_impl_kexec_load@Base 4.9 + __sanitizer_syscall_pre_impl_keyctl@Base 4.9 + __sanitizer_syscall_pre_impl_kill@Base 4.9 + __sanitizer_syscall_pre_impl_lchown@Base 4.9 + __sanitizer_syscall_pre_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_link@Base 4.9 + __sanitizer_syscall_pre_impl_linkat@Base 4.9 + __sanitizer_syscall_pre_impl_listen@Base 4.9 + __sanitizer_syscall_pre_impl_listxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llseek@Base 4.9 + __sanitizer_syscall_pre_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_pre_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_lseek@Base 4.9 + __sanitizer_syscall_pre_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_lstat64@Base 4.9 + __sanitizer_syscall_pre_impl_lstat@Base 4.9 + __sanitizer_syscall_pre_impl_madvise@Base 4.9 + __sanitizer_syscall_pre_impl_mbind@Base 4.9 + __sanitizer_syscall_pre_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mincore@Base 4.9 + __sanitizer_syscall_pre_impl_mkdir@Base 4.9 + __sanitizer_syscall_pre_impl_mkdirat@Base 4.9 + __sanitizer_syscall_pre_impl_mknod@Base 4.9 + __sanitizer_syscall_pre_impl_mknodat@Base 4.9 + __sanitizer_syscall_pre_impl_mlock@Base 4.9 + __sanitizer_syscall_pre_impl_mlockall@Base 4.9 + __sanitizer_syscall_pre_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_pre_impl_mount@Base 4.9 + __sanitizer_syscall_pre_impl_move_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mprotect@Base 4.9 + __sanitizer_syscall_pre_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_pre_impl_mq_notify@Base 4.9 + __sanitizer_syscall_pre_impl_mq_open@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_pre_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_mremap@Base 4.9 + __sanitizer_syscall_pre_impl_msgctl@Base 4.9 + __sanitizer_syscall_pre_impl_msgget@Base 4.9 + __sanitizer_syscall_pre_impl_msgrcv@Base 4.9 + __sanitizer_syscall_pre_impl_msgsnd@Base 4.9 + __sanitizer_syscall_pre_impl_msync@Base 4.9 + __sanitizer_syscall_pre_impl_munlock@Base 4.9 + __sanitizer_syscall_pre_impl_munlockall@Base 4.9 + __sanitizer_syscall_pre_impl_munmap@Base 4.9 + __sanitizer_syscall_pre_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_newfstat@Base 4.9 + __sanitizer_syscall_pre_impl_newfstatat@Base 4.9 + __sanitizer_syscall_pre_impl_newlstat@Base 4.9 + __sanitizer_syscall_pre_impl_newstat@Base 4.9 + __sanitizer_syscall_pre_impl_newuname@Base 4.9 + __sanitizer_syscall_pre_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_nice@Base 4.9 + __sanitizer_syscall_pre_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_old_mmap@Base 4.9 + __sanitizer_syscall_pre_impl_old_readdir@Base 4.9 + __sanitizer_syscall_pre_impl_old_select@Base 4.9 + __sanitizer_syscall_pre_impl_oldumount@Base 4.9 + __sanitizer_syscall_pre_impl_olduname@Base 4.9 + __sanitizer_syscall_pre_impl_open@Base 4.9 + __sanitizer_syscall_pre_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_openat@Base 4.9 + __sanitizer_syscall_pre_impl_pause@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_pre_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_pre_impl_personality@Base 4.9 + __sanitizer_syscall_pre_impl_pipe2@Base 4.9 + __sanitizer_syscall_pre_impl_pipe@Base 4.9 + __sanitizer_syscall_pre_impl_pivot_root@Base 4.9 + __sanitizer_syscall_pre_impl_poll@Base 4.9 + __sanitizer_syscall_pre_impl_ppoll@Base 4.9 + __sanitizer_syscall_pre_impl_pread64@Base 4.9 + __sanitizer_syscall_pre_impl_preadv@Base 4.9 + __sanitizer_syscall_pre_impl_prlimit64@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_pre_impl_pselect6@Base 4.9 + __sanitizer_syscall_pre_impl_ptrace@Base 4.9 + __sanitizer_syscall_pre_impl_pwrite64@Base 4.9 + __sanitizer_syscall_pre_impl_pwritev@Base 4.9 + __sanitizer_syscall_pre_impl_quotactl@Base 4.9 + __sanitizer_syscall_pre_impl_read@Base 4.9 + __sanitizer_syscall_pre_impl_readlink@Base 4.9 + __sanitizer_syscall_pre_impl_readlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_readv@Base 4.9 + __sanitizer_syscall_pre_impl_reboot@Base 4.9 + __sanitizer_syscall_pre_impl_recv@Base 4.9 + __sanitizer_syscall_pre_impl_recvfrom@Base 4.9 + __sanitizer_syscall_pre_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_recvmsg@Base 4.9 + __sanitizer_syscall_pre_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_pre_impl_removexattr@Base 4.9 + __sanitizer_syscall_pre_impl_rename@Base 4.9 + __sanitizer_syscall_pre_impl_renameat@Base 4.9 + __sanitizer_syscall_pre_impl_request_key@Base 4.9 + __sanitizer_syscall_pre_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_rmdir@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigaction@Base 7 + __sanitizer_syscall_pre_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_yield@Base 4.9 + __sanitizer_syscall_pre_impl_select@Base 4.9 + __sanitizer_syscall_pre_impl_semctl@Base 4.9 + __sanitizer_syscall_pre_impl_semget@Base 4.9 + __sanitizer_syscall_pre_impl_semop@Base 4.9 + __sanitizer_syscall_pre_impl_semtimedop@Base 4.9 + __sanitizer_syscall_pre_impl_send@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile64@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile@Base 4.9 + __sanitizer_syscall_pre_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendto@Base 4.9 + __sanitizer_syscall_pre_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_pre_impl_setdomainname@Base 4.9 + __sanitizer_syscall_pre_impl_setfsgid@Base 4.9 + __sanitizer_syscall_pre_impl_setfsuid@Base 4.9 + __sanitizer_syscall_pre_impl_setgid@Base 4.9 + __sanitizer_syscall_pre_impl_setgroups@Base 4.9 + __sanitizer_syscall_pre_impl_sethostname@Base 4.9 + __sanitizer_syscall_pre_impl_setitimer@Base 4.9 + __sanitizer_syscall_pre_impl_setns@Base 4.9 + __sanitizer_syscall_pre_impl_setpgid@Base 4.9 + __sanitizer_syscall_pre_impl_setpriority@Base 4.9 + __sanitizer_syscall_pre_impl_setregid@Base 4.9 + __sanitizer_syscall_pre_impl_setresgid@Base 4.9 + __sanitizer_syscall_pre_impl_setresuid@Base 4.9 + __sanitizer_syscall_pre_impl_setreuid@Base 4.9 + __sanitizer_syscall_pre_impl_setrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_setsid@Base 4.9 + __sanitizer_syscall_pre_impl_setsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_settimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_setuid@Base 4.9 + __sanitizer_syscall_pre_impl_setxattr@Base 4.9 + __sanitizer_syscall_pre_impl_sgetmask@Base 4.9 + __sanitizer_syscall_pre_impl_shmat@Base 4.9 + __sanitizer_syscall_pre_impl_shmctl@Base 4.9 + __sanitizer_syscall_pre_impl_shmdt@Base 4.9 + __sanitizer_syscall_pre_impl_shmget@Base 4.9 + __sanitizer_syscall_pre_impl_shutdown@Base 4.9 + __sanitizer_syscall_pre_impl_sigaction@Base 7 + __sanitizer_syscall_pre_impl_sigaltstack@Base 11 + __sanitizer_syscall_pre_impl_signal@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd4@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd@Base 4.9 + __sanitizer_syscall_pre_impl_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_socket@Base 4.9 + __sanitizer_syscall_pre_impl_socketcall@Base 4.9 + __sanitizer_syscall_pre_impl_socketpair@Base 4.9 + __sanitizer_syscall_pre_impl_splice@Base 4.9 + __sanitizer_syscall_pre_impl_spu_create@Base 4.9 + __sanitizer_syscall_pre_impl_spu_run@Base 4.9 + __sanitizer_syscall_pre_impl_ssetmask@Base 4.9 + __sanitizer_syscall_pre_impl_stat64@Base 4.9 + __sanitizer_syscall_pre_impl_stat@Base 4.9 + __sanitizer_syscall_pre_impl_statfs64@Base 4.9 + __sanitizer_syscall_pre_impl_statfs@Base 4.9 + __sanitizer_syscall_pre_impl_stime@Base 4.9 + __sanitizer_syscall_pre_impl_swapoff@Base 4.9 + __sanitizer_syscall_pre_impl_swapon@Base 4.9 + __sanitizer_syscall_pre_impl_symlink@Base 4.9 + __sanitizer_syscall_pre_impl_symlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_sync@Base 4.9 + __sanitizer_syscall_pre_impl_syncfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysctl@Base 4.9 + __sanitizer_syscall_pre_impl_sysfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysinfo@Base 4.9 + __sanitizer_syscall_pre_impl_syslog@Base 4.9 + __sanitizer_syscall_pre_impl_tee@Base 4.9 + __sanitizer_syscall_pre_impl_tgkill@Base 4.9 + __sanitizer_syscall_pre_impl_time@Base 4.9 + __sanitizer_syscall_pre_impl_timer_create@Base 4.9 + __sanitizer_syscall_pre_impl_timer_delete@Base 4.9 + __sanitizer_syscall_pre_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_pre_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timer_settime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_pre_impl_times@Base 4.9 + __sanitizer_syscall_pre_impl_tkill@Base 4.9 + __sanitizer_syscall_pre_impl_truncate@Base 4.9 + __sanitizer_syscall_pre_impl_umask@Base 4.9 + __sanitizer_syscall_pre_impl_umount@Base 4.9 + __sanitizer_syscall_pre_impl_uname@Base 4.9 + __sanitizer_syscall_pre_impl_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_unlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_unshare@Base 4.9 + __sanitizer_syscall_pre_impl_uselib@Base 4.9 + __sanitizer_syscall_pre_impl_ustat@Base 4.9 + __sanitizer_syscall_pre_impl_utime@Base 4.9 + __sanitizer_syscall_pre_impl_utimensat@Base 4.9 + __sanitizer_syscall_pre_impl_utimes@Base 4.9 + __sanitizer_syscall_pre_impl_vfork@Base 4.9 + __sanitizer_syscall_pre_impl_vhangup@Base 4.9 + __sanitizer_syscall_pre_impl_vmsplice@Base 4.9 + __sanitizer_syscall_pre_impl_wait4@Base 4.9 + __sanitizer_syscall_pre_impl_waitid@Base 4.9 + __sanitizer_syscall_pre_impl_waitpid@Base 4.9 + __sanitizer_syscall_pre_impl_write@Base 4.9 + __sanitizer_syscall_pre_impl_writev@Base 4.9 + __sanitizer_unaligned_load16@Base 4.9 + __sanitizer_unaligned_load32@Base 4.9 + __sanitizer_unaligned_load64@Base 4.9 + __sanitizer_unaligned_store16@Base 4.9 + __sanitizer_unaligned_store32@Base 4.9 + __sanitizer_unaligned_store64@Base 4.9 + __sanitizer_verify_contiguous_container@Base 5 + __sanitizer_verify_double_ended_contiguous_container@Base 14 + __sanitizer_weak_hook_memcmp@Base 8 + __sanitizer_weak_hook_memmem@Base 8 + __sanitizer_weak_hook_strcasecmp@Base 8 + __sanitizer_weak_hook_strcasestr@Base 8 + __sanitizer_weak_hook_strcmp@Base 8 + __sanitizer_weak_hook_strncasecmp@Base 8 + __sanitizer_weak_hook_strncmp@Base 8 + __sanitizer_weak_hook_strstr@Base 8 + __snprintf_chk@Base 9 + __sprintf_chk@Base 9 + __strdup@Base 7 + __strndup@Base 8 + __strxfrm_l@Base 9 + __uflow@Base 5 + __underflow@Base 5 + __vsnprintf_chk@Base 9 + __vsprintf_chk@Base 9 + __wcsxfrm_l@Base 9 + __woverflow@Base 5 + __wuflow@Base 5 + __wunderflow@Base 5 + __xpg_strerror_r@Base 4.9 + __xstat64@Base 7 + __xstat@Base 7 + _exit@Base 4.9 + _longjmp@Base 4.8 + _obstack_begin@Base 5 + _obstack_begin_1@Base 5 + _obstack_newchunk@Base 5 + accept4@Base 4.9 + accept@Base 4.9 + aligned_alloc@Base 5 + argp_parse@Base 14 + asctime@Base 4.8 + asctime_r@Base 4.8 + asprintf@Base 5 + atoi@Base 4.8 + atol@Base 4.8 + atoll@Base 4.8 + backtrace@Base 4.9 + backtrace_symbols@Base 4.9 + bcmp@Base 10 + bsearch@Base 13 + bzero@Base 10 + calloc@Base 4.8 + canonicalize_file_name@Base 4.9 + capget@Base 5 + capset@Base 5 + (arch=!riscv64)cfree@Base 4.8 + clock_getcpuclockid@Base 11 + clock_getres@Base 4.9 + clock_gettime@Base 4.9 + clock_settime@Base 4.9 + confstr@Base 4.9 + ctermid@Base 7 + ctime@Base 4.8 + ctime_r@Base 4.8 + dlclose@Base 5 + dlopen@Base 5 + dn_comp@Base 13 + dn_expand@Base 13 + drand48_r@Base 4.9 + endgrent@Base 5 + endpwent@Base 5 + ether_aton@Base 4.9 + ether_aton_r@Base 4.9 + ether_hostton@Base 4.9 + ether_line@Base 4.9 + ether_ntoa@Base 4.9 + ether_ntoa_r@Base 4.9 + ether_ntohost@Base 4.9 + eventfd_read@Base 7 + eventfd_write@Base 7 + fclose@Base 5 + fdopen@Base 5 + fflush@Base 5 + fgetgrent@Base 5 + fgetgrent_r@Base 5 + fgetpwent@Base 5 + fgetpwent_r@Base 5 + fgets@Base 9 + fgetxattr@Base 5 + flistxattr@Base 5 + fmemopen@Base 5 + fopen64@Base 5 + fopen@Base 5 + fopencookie@Base 6.2 + fprintf@Base 5 + fputs@Base 9 + fread@Base 8 + free@Base 4.8 + freopen64@Base 5 + freopen@Base 5 + frexp@Base 4.9 + frexpf@Base 4.9 + frexpl@Base 4.9 + fscanf@Base 4.8 + fstatfs64@Base 4.9 + fstatfs@Base 4.9 + fstatvfs64@Base 4.9 + fstatvfs@Base 4.9 + ftime@Base 5 + fwrite@Base 8 + get_current_dir_name@Base 4.9 + getaddrinfo@Base 4.9 + getcwd@Base 4.9 + getdelim@Base 4.9 + getentropy@Base 14 + getgrent@Base 5 + getgrent_r@Base 5 + getgrgid@Base 4.9 + getgrgid_r@Base 4.9 + getgrnam@Base 4.9 + getgrnam_r@Base 4.9 + getgrouplist@Base 13 + getgroups@Base 4.9 + gethostbyaddr@Base 4.9 + gethostbyaddr_r@Base 4.9 + gethostbyname2@Base 4.9 + gethostbyname2_r@Base 4.9 + gethostbyname@Base 4.9 + gethostbyname_r@Base 4.9 + gethostent@Base 4.9 + gethostent_r@Base 4.9 + getifaddrs@Base 5 + getitimer@Base 4.9 + getline@Base 4.9 + getloadavg@Base 8 + getmntent@Base 4.9 + getmntent_r@Base 4.9 + getnameinfo@Base 4.9 + getnetbyaddr@Base 13 + getnetbyname@Base 13 + getnetent@Base 13 + getpass@Base 5 + getpeername@Base 4.9 + getprotobyname@Base 11 + getprotobyname_r@Base 11 + getprotobynumber@Base 11 + getprotobynumber_r@Base 11 + getprotoent@Base 11 + getprotoent_r@Base 11 + getpwent@Base 5 + getpwent_r@Base 5 + getpwnam@Base 4.9 + getpwnam_r@Base 4.9 + getpwuid@Base 4.9 + getpwuid_r@Base 4.9 + getrandom@Base 10 + getresgid@Base 5 + getresuid@Base 5 + getsockname@Base 4.9 + getsockopt@Base 4.9 + getusershell@Base 10 + getutent@Base 8 + getutid@Base 8 + getutline@Base 8 + getutxent@Base 8 + getutxid@Base 8 + getutxline@Base 8 + getxattr@Base 5 + glob64@Base 4.9 + glob@Base 4.9 + gmtime@Base 4.8 + gmtime_r@Base 4.8 + iconv@Base 4.9 + if_indextoname@Base 5 + if_nametoindex@Base 5 + index@Base 4.8 + inet_aton@Base 4.9 + inet_ntop@Base 4.9 + inet_pton@Base 4.9 + initgroups@Base 4.9 + ioctl@Base 4.9 + lgamma@Base 4.9 + lgamma_r@Base 4.9 + lgammaf@Base 4.9 + lgammaf_r@Base 4.9 + lgammal@Base 4.9 + lgammal_r@Base 4.9 + lgetxattr@Base 5 + listxattr@Base 5 + llistxattr@Base 5 + localtime@Base 4.8 + localtime_r@Base 4.8 + longjmp@Base 4.8 + lrand48_r@Base 4.9 + lstat64@Base 13 + lstat@Base 13 + makecontext@Base 14 + mallinfo@Base 4.8 + malloc@Base 4.8 + malloc_stats@Base 4.8 + malloc_usable_size@Base 4.8 + mallopt@Base 4.8 + mbsnrtowcs@Base 4.9 + mbsrtowcs@Base 4.9 + mbstowcs@Base 4.9 + mcheck@Base 8 + mcheck_pedantic@Base 8 + memalign@Base 4.8 + memchr@Base 5 + memcmp@Base 4.8 + memcpy@Base 4.8 + memmem@Base 7 + memmove@Base 4.8 + memrchr@Base 5 + memset@Base 4.8 + mincore@Base 6.2 + mktime@Base 5 + mlock@Base 4.8 + mlockall@Base 4.8 + mmap64@Base 9 + mmap@Base 9 + modf@Base 4.9 + modff@Base 4.9 + modfl@Base 4.9 + mprobe@Base 8 + mprotect@Base 9 + msgrcv@Base 11 + msgsnd@Base 11 + munlock@Base 4.8 + munlockall@Base 4.8 + munmap@Base 14 + name_to_handle_at@Base 9 + open_by_handle_at@Base 9 + open_memstream@Base 5 + open_wmemstream@Base 5 + opendir@Base 6.2 + pclose@Base 10 + poll@Base 4.9 + popen@Base 10 + posix_memalign@Base 4.8 + posix_spawn@Base 13 + posix_spawnp@Base 13 + ppoll@Base 4.9 + prctl@Base 4.8 + pread64@Base 4.8 + pread@Base 4.8 + preadv64@Base 4.9 + preadv@Base 4.9 + printf@Base 5 + process_vm_readv@Base 6.2 + process_vm_writev@Base 6.2 + pthread_attr_getaffinity_np@Base 4.9 + pthread_attr_getdetachstate@Base 4.9 + pthread_attr_getguardsize@Base 4.9 + pthread_attr_getinheritsched@Base 4.9 + pthread_attr_getschedparam@Base 4.9 + pthread_attr_getschedpolicy@Base 4.9 + pthread_attr_getscope@Base 4.9 + pthread_attr_getstack@Base 4.9 + pthread_attr_getstacksize@Base 4.9 + pthread_barrierattr_getpshared@Base 5 + pthread_condattr_getclock@Base 5 + pthread_condattr_getpshared@Base 5 + pthread_create@Base 4.8 + pthread_detach@Base 14 + pthread_exit@Base 14 + pthread_getaffinity_np@Base 13 + pthread_getcpuclockid@Base 13 + pthread_getname_np@Base 9 + pthread_getschedparam@Base 4.9 + pthread_join@Base 6.2 + pthread_mutexattr_getprioceiling@Base 5 + pthread_mutexattr_getprotocol@Base 5 + pthread_mutexattr_getpshared@Base 5 + pthread_mutexattr_getrobust@Base 5 + pthread_mutexattr_getrobust_np@Base 5 + pthread_mutexattr_gettype@Base 5 + pthread_rwlockattr_getkind_np@Base 5 + pthread_rwlockattr_getpshared@Base 5 + pthread_setcancelstate@Base 6.2 + pthread_setcanceltype@Base 6.2 + pthread_setname_np@Base 4.9 + pthread_sigmask@Base 10 + pthread_timedjoin_np@Base 14 + pthread_tryjoin_np@Base 14 + pvalloc@Base 4.8 + ptsname@Base 11 + ptsname_r@Base 11 + puts@Base 9 + pututxline@Base 10 + pwrite64@Base 4.8 + pwrite@Base 4.8 + pwritev64@Base 4.9 + pwritev@Base 4.9 + qsort@Base 11 + qsort_r@Base 11 + rand_r@Base 5 + random_r@Base 4.9 + read@Base 4.8 + readdir64@Base 4.9 + readdir64_r@Base 4.9 + readdir@Base 4.9 + readdir_r@Base 4.9 + readlink@Base 9 + readlinkat@Base 9 + readv@Base 4.9 + realloc@Base 4.8 + reallocarray@Base 10 + realpath@Base 4.9 + recv@Base 7 + recvfrom@Base 7 + recvmmsg@Base 9 + recvmsg@Base 4.9 + regcomp@Base 10 + regerror@Base 10 + regexec@Base 10 + regfree@Base 10 + remquo@Base 4.9 + remquof@Base 4.9 + remquol@Base 4.9 + scandir64@Base 4.9 + scandir@Base 4.9 + scanf@Base 4.8 + sched_getaffinity@Base 4.9 + sched_getparam@Base 6.2 + sem_destroy@Base 6.2 + sem_getvalue@Base 6.2 + sem_init@Base 6.2 + sem_open@Base 13 + sem_post@Base 6.2 + sem_timedwait@Base 6.2 + sem_trywait@Base 6.2 + sem_unlink@Base 13 + sem_wait@Base 6.2 + send@Base 7 + sendmmsg@Base 9 + sendmsg@Base 7 + sendto@Base 7 + setbuf@Base 10 + setbuffer@Base 10 + setgrent@Base 5 + setitimer@Base 4.9 + setlinebuf@Base 10 + setlocale@Base 4.9 + setpwent@Base 5 + setvbuf@Base 10 + sigaction@Base 4.8 + sigaltstack@Base 11 + sigandset@Base 11 + sigemptyset@Base 4.9 + sigfillset@Base 4.9 + siglongjmp@Base 4.8 + signal@Base 4.8 + sigorset@Base 11 + sigpending@Base 4.9 + sigprocmask@Base 4.9 + sigtimedwait@Base 4.9 + sigwait@Base 4.9 + sigwaitinfo@Base 4.9 + sincos@Base 4.9 + sincosf@Base 4.9 + sincosl@Base 4.9 + snprintf@Base 5 + sprintf@Base 5 + sscanf@Base 4.8 + stat64@Base 13 + stat@Base 13 + statfs64@Base 4.9 + statfs@Base 4.9 + statvfs64@Base 4.9 + statvfs@Base 4.9 + strcasecmp@Base 4.8 + strcasestr@Base 6.2 + strcat@Base 4.8 + strchr@Base 4.8 + strchrnul@Base 7 + strcmp@Base 4.8 + strcpy@Base 4.8 + strcspn@Base 6.2 + strdup@Base 4.8 + strerror@Base 4.9 + strerror_r@Base 4.9 + strlen@Base 4.8 + strncasecmp@Base 4.8 + strncat@Base 4.8 + strncmp@Base 4.8 + strncpy@Base 4.8 + strndup@Base 8 + strnlen@Base 4.8 + strpbrk@Base 6.2 + strptime@Base 4.9 + strrchr@Base 7 + strspn@Base 6.2 + strstr@Base 6.2 + strtoimax@Base 4.9 + strtok@Base 8 + strtol@Base 4.8 + strtoll@Base 4.8 + strtoumax@Base 4.9 + strxfrm@Base 9 + strxfrm_l@Base 9 + swapcontext@Base 4.8 + sysinfo@Base 4.9 + tcgetattr@Base 4.9 + tempnam@Base 4.9 + textdomain@Base 4.9 + time@Base 4.9 + timerfd_gettime@Base 5 + timerfd_settime@Base 5 + times@Base 4.9 + tmpnam@Base 4.9 + tmpnam_r@Base 4.9 + tsearch@Base 5 + ttyname@Base 10 + ttyname_r@Base 7 + uname@Base 11 + valloc@Base 4.8 + vasprintf@Base 5 + (arch=armel armhf arm64 any-i386 any-amd64 riscv64)vfork@Base 10 + vfprintf@Base 5 + vfscanf@Base 4.8 + vprintf@Base 5 + vscanf@Base 4.8 + vsnprintf@Base 5 + vsprintf@Base 5 + vsscanf@Base 4.8 + wait3@Base 4.9 + wait4@Base 4.9 + wait@Base 4.9 + waitid@Base 4.9 + waitpid@Base 4.9 + wcrtomb@Base 6.2 + wcscat@Base 8 + wcsdup@Base 10 + wcslen@Base 4.9 + wcsncat@Base 8 + wcsnlen@Base 8 + wcsnrtombs@Base 4.9 + wcsrtombs@Base 4.9 + wcstombs@Base 4.9 + wcsxfrm@Base 9 + wcsxfrm_l@Base 9 + wctomb@Base 10 + wordexp@Base 4.9 + write@Base 4.8 + writev@Base 4.9 + xdr_bool@Base 5 + xdr_bytes@Base 5 + xdr_char@Base 5 + xdr_destroy@Base 11 + xdr_double@Base 5 + xdr_enum@Base 5 + xdr_float@Base 5 + xdr_hyper@Base 5 + xdr_int16_t@Base 5 + xdr_int32_t@Base 5 + xdr_int64_t@Base 5 + xdr_int8_t@Base 5 + xdr_int@Base 5 + xdr_long@Base 5 + xdr_longlong_t@Base 5 + xdr_quad_t@Base 5 + xdr_short@Base 5 + xdr_string@Base 5 + xdr_u_char@Base 5 + xdr_u_hyper@Base 5 + xdr_u_int@Base 5 + xdr_u_long@Base 5 + xdr_u_longlong_t@Base 5 + xdr_u_quad_t@Base 5 + xdr_u_short@Base 5 + xdr_uint16_t@Base 5 + xdr_uint32_t@Base 5 + xdr_uint64_t@Base 5 + xdr_uint8_t@Base 5 + xdrmem_create@Base 5 + xdrrec_create@Base 11 + xdrstdio_create@Base 5 diff --git a/libasan8.symbols b/libasan8.symbols new file mode 100644 index 0000000..c23e3dd --- /dev/null +++ b/libasan8.symbols @@ -0,0 +1,51 @@ +libasan.so.8 libasan8 #MINVER# +#include "libasan.symbols.common" +(arch-bits=32)#include "libasan.symbols.32" +(arch-bits=64)#include "libasan.symbols.64" +(arch=armel armhf sparc64 x32)#include "libasan.symbols.16" +# these are missing on some archs ... + (arch=!s390x)__interceptor___tls_get_addr@Base 5 + (arch=!powerpc !ppc64 !ppc64el !s390x)__tls_get_addr@Base 5 + (arch=powerpc ppc64 ppc64el)__tls_get_addr_opt@Base 7 + (arch=s390x)__interceptor___tls_get_addr_internal@Base 8 + (arch=s390x)__interceptor___tls_get_offset@Base 8 + (arch=s390x)__tls_get_addr_internal@Base 8 + (arch=s390x)__tls_get_offset@Base 8 + (arch=!powerpc !sparc !sparc64)__interceptor_ptrace@Base 4.9 + (arch=!powerpc !sparc !sparc64)ptrace@Base 4.9 + (arch=armel armhf)__interceptor___aeabi_memclr4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memclr8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memclr@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset@Base 5 + (arch=armel armhf)___interceptor___aeabi_memclr4@Base 5 + (arch=armel armhf)___interceptor___aeabi_memclr8@Base 5 + (arch=armel armhf)___interceptor___aeabi_memclr@Base 5 + (arch=armel armhf)___interceptor___aeabi_memcpy4@Base 5 + (arch=armel armhf)___interceptor___aeabi_memcpy8@Base 5 + (arch=armel armhf)___interceptor___aeabi_memcpy@Base 5 + (arch=armel armhf)___interceptor___aeabi_memmove4@Base 5 + (arch=armel armhf)___interceptor___aeabi_memmove8@Base 5 + (arch=armel armhf)___interceptor___aeabi_memmove@Base 5 + (arch=armel armhf)___interceptor___aeabi_memset4@Base 5 + (arch=armel armhf)___interceptor___aeabi_memset8@Base 5 + (arch=armel armhf)___interceptor___aeabi_memset@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memclr4@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memclr8@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memclr@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memcpy4@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memcpy8@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memcpy@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memmove4@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memmove8@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memmove@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memset4@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memset8@Base 5 + (arch=armel armhf)__interceptor_trampoline___aeabi_memset@Base 5 diff --git a/libatomic.symbols b/libatomic.symbols new file mode 100644 index 0000000..f50770d --- /dev/null +++ b/libatomic.symbols @@ -0,0 +1,4 @@ +libatomic.so.1 #PACKAGE# #MINVER# + (symver)LIBATOMIC_1.0 4.8 + (symver)LIBATOMIC_1.1 4.9 + (symver)LIBATOMIC_1.2 6 diff --git a/libcc1-0.symbols b/libcc1-0.symbols new file mode 100644 index 0000000..5af2e06 --- /dev/null +++ b/libcc1-0.symbols @@ -0,0 +1,70 @@ +libcc1.so.0 libcc1-0 #MINVER# + (optional=abi_c++98)_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@Base 5 + (optional=abi_c++98)_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs@Base 5 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 6 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base 6 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_@Base 6 + (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8 + (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 8 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 8 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 10 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 10 + (optional=abi_c++11)_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits@Base 12 + _xexit_cleanup@Base 5 + concat@Base 5 + concat_copy2@Base 5 + concat_copy@Base 5 + concat_length@Base 5 + gcc_c_fe_context@Base 5 + gcc_cp_fe_context@Base 7 + htab_clear_slot@Base 5 + htab_collisions@Base 5 + htab_create@Base 5 + htab_create_alloc@Base 5 + htab_create_alloc_ex@Base 5 + htab_create_typed_alloc@Base 5 + htab_delete@Base 5 + htab_elements@Base 5 + htab_empty@Base 5 + htab_eq_pointer@Base 5 + htab_eq_string@Base 12 + htab_find@Base 5 + htab_find_slot@Base 5 + htab_find_slot_with_hash@Base 5 + htab_find_with_hash@Base 5 + htab_hash_pointer@Base 5 + htab_hash_string@Base 5 + htab_remove_elt@Base 5 + htab_remove_elt_with_hash@Base 5 + htab_set_functions_ex@Base 5 + htab_size@Base 5 + htab_traverse@Base 5 + htab_traverse_noresize@Base 5 + htab_try_create@Base 5 + iterative_hash@Base 5 + libiberty_concat_ptr@Base 5 + reconcat@Base 5 + xcalloc@Base 5 + xexit@Base 5 + xmalloc@Base 5 + xmalloc_failed@Base 5 + xmalloc_set_program_name@Base 5 + xre_comp@Base 5 + xre_compile_fastmap@Base 5 + xre_compile_pattern@Base 5 + xre_exec@Base 5 + xre_match@Base 5 + xre_match_2@Base 5 + xre_max_failures@Base 5 + xre_search@Base 5 + xre_search_2@Base 5 + xre_set_registers@Base 5 + xre_set_syntax@Base 5 + xre_syntax_options@Base 5 + xrealloc@Base 5 + xregcomp@Base 5 + xregerror@Base 5 + xregexec@Base 5 + xregfree@Base 5 + xstrdup@Base 7 diff --git a/libgcc-s.symbols b/libgcc-s.symbols new file mode 100644 index 0000000..4b31e77 --- /dev/null +++ b/libgcc-s.symbols @@ -0,0 +1,31 @@ +libgcc_s.so.1 #PACKAGE# #MINVER# + (symver)GCC_3.0 3.0 + (symver)GCC_3.3 3.3 + (symver)GCC_3.3.1 3.3.1 +# __gcc_personality_sj0, __gcc_personality_v0 + (symver|arch=ia64)GCC_3.3.2 3.3.2 + (symver|arch=arc armel armhf mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc sh4)GCC_3.3.4 3.3.4 + (symver)GCC_3.4 3.4 + (symver)GCC_3.4.2 3.4.2 +#(symver|arch-bits=32)GCC_3.4.4 3.4.4 + (symver|arch=!arc !armel !armhf !any-i386 !mips !mipsel !powerpc !s390 !sh4 !sparc)GCC_3.4.4 3.4.4 + (symver|arch=armel armhf|ignore-blacklist)GCC_3.5 3.5 + (symver)GCC_4.0.0 4.0 + (symver|arch=powerpc s390 s390x)GCC_4.1.0 4.1 + (symver)GCC_4.2.0 4.2 + (symver)GCC_4.3.0 4.3 + (symver|arch=any-i386 ia64 mips mipsel mipsn32 mipsn32el mips64 mips64el riscv64 sh4)GCC_4.4.0 4.4 + (symver|arch=arm64 any-i386 mipsn32 mipsn32el mips64 mips64el riscv64)GCC_4.5.0 4.5 +#(symver|optional)GCC_4.6.0 4.6 + (symver)GCC_4.7.0 4.7 + (symver|arch=any-amd64 any-i386 x32)GCC_4.8.0 4.8 + (symver|arch=!arc !any-amd64 !x32 !sparc64 !s390x !sh4)GLIBC_2.0 4.2 + (symver|arch=s390x sh4 sparc64)GLIBC_2.2 4.2 + (symver|arch=sparc)GCC_LDBL_3.0 3.0 + (symver|arch=alpha sparc)GCC_LDBL_4.0.0 4.0 + (symver)GCC_7.0.0 7 + (symver|arch=arm64)GCC_11.0 11 + (symver|arch=amd64 i386 x32)GCC_12.0.0 12 + (symver|arch=amd64 arm64 i386 x32)GCC_13.0.0 13 + (symver|arch=arm64)GCC_14.0 14 + (symver)GCC_14.0.0 14 diff --git a/libgcc-s2.symbols.m68k b/libgcc-s2.symbols.m68k new file mode 100644 index 0000000..d43214d --- /dev/null +++ b/libgcc-s2.symbols.m68k @@ -0,0 +1,169 @@ +libgcc_s.so.2 libgcc-s2 #MINVER# + GCC_14.0.0@GCC_14.0.0 14 + GCC_3.0@GCC_3.0 4.2.1 + GCC_3.3.1@GCC_3.3.1 4.2.1 + GCC_3.3.4@GCC_3.3.4 4.4.5 + GCC_3.3@GCC_3.3 4.2.1 + GCC_3.4.2@GCC_3.4.2 4.2.1 + GCC_3.4@GCC_3.4 4.2.1 + GCC_4.0.0@GCC_4.0.0 4.2.1 + GCC_4.2.0@GCC_4.2.0 4.2.1 + GCC_4.3.0@GCC_4.3.0 4.3.0 + GCC_4.5.0@GCC_4.5.0 4.5 + GCC_4.7.0@GCC_4.7.0 4.7 + GCC_7.0.0@GCC_7.0.0 7.0 + GLIBC_2.0@GLIBC_2.0 4.2.1 + _Unwind_Backtrace@GCC_3.3 4.2.1 + _Unwind_DeleteException@GCC_3.0 4.2.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.2.1 + _Unwind_Find_FDE@GCC_3.0 4.2.1 + _Unwind_ForcedUnwind@GCC_3.0 4.2.1 + _Unwind_GetCFA@GCC_3.3 4.2.1 + _Unwind_GetDataRelBase@GCC_3.0 4.2.1 + _Unwind_GetGR@GCC_3.0 4.2.1 + _Unwind_GetIP@GCC_3.0 4.2.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.2.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.2.1 + _Unwind_GetRegionStart@GCC_3.0 4.2.1 + _Unwind_GetTextRelBase@GCC_3.0 4.2.1 + _Unwind_RaiseException@GCC_3.0 4.2.1 + _Unwind_Resume@GCC_3.0 4.2.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.2.1 + _Unwind_SetGR@GCC_3.0 4.2.1 + _Unwind_SetIP@GCC_3.0 4.2.1 + __absvdi2@GCC_3.0 4.2.1 + __absvsi2@GCC_3.0 4.2.1 + __adddf3@GCC_3.0 4.4.5 + __addsf3@GCC_3.0 4.4.5 + __addvdi3@GCC_3.0 4.2.1 + __addvsi3@GCC_3.0 4.2.1 + __addxf3@GCC_3.0 4.4.5 + __ashldi3@GCC_3.0 4.2.1 + __ashrdi3@GCC_3.0 4.2.1 + __bswapdi2@GCC_4.3.0 4.3.0 + __bswapsi2@GCC_4.3.0 4.3.0 + __clear_cache@GCC_3.0 4.2.1 + __clrsbdi2@GCC_4.7.0 4.7 + __clrsbsi2@GCC_4.7.0 4.7 + __clzdi2@GCC_3.4 4.2.1 + __clzsi2@GCC_3.4 4.2.1 + __cmpdi2@GCC_3.0 4.2.1 + __ctzdi2@GCC_3.4 4.2.1 + __ctzsi2@GCC_3.4 4.2.1 + __deregister_frame@GLIBC_2.0 4.2.1 + __deregister_frame_info@GLIBC_2.0 4.2.1 + __deregister_frame_info_bases@GCC_3.0 4.2.1 + __divdc3@GCC_4.0.0 4.2.1 + __divdf3@GCC_3.0 4.4.5 + __divdi3@GLIBC_2.0 4.2.1 + __divmoddi4@GCC_7.0.0 7.0 + __divsc3@GCC_4.0.0 4.2.1 + __divsf3@GCC_3.0 4.4.5 + __divsi3@GCC_3.0 4.4.5 + __divxc3@GCC_4.0.0 4.2.1 + __divxf3@GCC_3.0 4.4.5 + __emutls_get_address@GCC_4.3.0 4.3.0 + __emutls_register_common@GCC_4.3.0 4.3.0 + __enable_execute_stack@GCC_3.4.2 4.2.1 + __eqdf2@GCC_3.0 4.4.5 + __eqsf2@GCC_3.0 4.4.5 + __eqxf2@GCC_3.0 4.4.5 + __extenddfxf2@GCC_3.0 4.4.5 + __extendsfdf2@GCC_3.0 4.4.5 + __extendsfxf2@GCC_3.0 4.4.5 + __ffsdi2@GCC_3.0 4.2.1 + __ffssi2@GCC_4.3.0 4.3.0 + __fixdfdi@GCC_3.0 4.2.1 + __fixdfsi@GCC_3.0 4.4.5 + __fixsfdi@GCC_3.0 4.2.1 + __fixsfsi@GCC_3.0 4.4.5 + __fixunsdfdi@GCC_3.0 4.2.1 + __fixunsdfsi@GCC_3.0 4.2.1 + __fixunssfdi@GCC_3.0 4.2.1 + __fixunssfsi@GCC_3.0 4.2.1 + __fixunsxfdi@GCC_3.0 4.2.1 + __fixunsxfsi@GCC_3.0 4.2.1 + __fixxfdi@GCC_3.0 4.2.1 + __fixxfsi@GCC_3.0 4.4.5 + __floatdidf@GCC_3.0 4.2.1 + __floatdisf@GCC_3.0 4.2.1 + __floatdixf@GCC_3.0 4.2.1 + __floatsidf@GCC_3.0 4.4.5 + __floatsisf@GCC_3.0 4.4.5 + __floatsixf@GCC_3.0 4.4.5 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __floatundixf@GCC_4.2.0 4.2.1 + __floatunsidf@GCC_4.2.0 4.4.5 + __floatunsisf@GCC_4.2.0 4.4.5 + __floatunsixf@GCC_4.2.0 4.4.5 + __frame_state_for@GLIBC_2.0 4.2.1 + __gcc_personality_v0@GCC_3.3.1 4.2.1 + __gedf2@GCC_3.0 4.4.5 + __gesf2@GCC_3.0 4.4.5 + __gexf2@GCC_3.0 4.4.5 + __gtdf2@GCC_3.0 4.4.5 + __gtsf2@GCC_3.0 4.4.5 + __gtxf2@GCC_3.0 4.4.5 + __hardcfr_check@GCC_14.0.0 14 + __ledf2@GCC_3.0 4.4.5 + __lesf2@GCC_3.0 4.4.5 + __lexf2@GCC_3.0 4.4.5 + __lshrdi3@GCC_3.0 4.2.1 + __ltdf2@GCC_3.0 4.4.5 + __ltsf2@GCC_3.0 4.4.5 + __ltxf2@GCC_3.0 4.4.5 + __moddi3@GLIBC_2.0 4.2.1 + __modsi3@GCC_3.0 4.4.5 + __muldc3@GCC_4.0.0 4.2.1 + __muldf3@GCC_3.0 4.4.5 + __muldi3@GCC_3.0 4.2.1 + __mulsc3@GCC_4.0.0 4.2.1 + __mulsf3@GCC_3.0 4.4.5 + __mulsi3@GCC_3.0 4.4.5 + __mulvdi3@GCC_3.0 4.2.1 + __mulvsi3@GCC_3.0 4.2.1 + __mulxc3@GCC_4.0.0 4.2.1 + __mulxf3@GCC_3.0 4.4.5 + __nedf2@GCC_3.0 4.4.5 + __negdf2@GCC_3.0 4.4.5 + __negdi2@GCC_3.0 4.2.1 + __negsf2@GCC_3.0 4.4.5 + __negvdi2@GCC_3.0 4.2.1 + __negvsi2@GCC_3.0 4.2.1 + __negxf2@GCC_3.0 4.4.5 + __nesf2@GCC_3.0 4.4.5 + __nexf2@GCC_3.0 4.4.5 + __paritydi2@GCC_3.4 4.2.1 + __paritysi2@GCC_3.4 4.2.1 + __popcountdi2@GCC_3.4 4.2.1 + __popcountsi2@GCC_3.4 4.2.1 + __powidf2@GCC_4.0.0 4.2.1 + __powisf2@GCC_4.0.0 4.2.1 + __powixf2@GCC_4.0.0 4.2.1 + __register_frame@GLIBC_2.0 4.2.1 + __register_frame_info@GLIBC_2.0 4.2.1 + __register_frame_info_bases@GCC_3.0 4.2.1 + __register_frame_info_table@GLIBC_2.0 4.2.1 + __register_frame_info_table_bases@GCC_3.0 4.2.1 + __register_frame_table@GLIBC_2.0 4.2.1 + __strub_enter@GCC_14.0.0 14 + __strub_leave@GCC_14.0.0 14 + __strub_update@GCC_14.0.0 14 + __subdf3@GCC_3.0 4.4.5 + __subsf3@GCC_3.0 4.4.5 + __subvdi3@GCC_3.0 4.2.1 + __subvsi3@GCC_3.0 4.2.1 + __subxf3@GCC_3.0 4.4.5 + __truncdfsf2@GCC_3.0 4.4.5 + __truncxfdf2@GCC_3.0 4.4.5 + __truncxfsf2@GCC_3.0 4.4.5 + __ucmpdi2@GCC_3.0 4.2.1 + __udivdi3@GLIBC_2.0 4.2.1 + __udivmoddi4@GCC_3.0 4.2.1 + __udivsi3@GCC_3.0 4.4.5 + __umoddi3@GLIBC_2.0 4.2.1 + __umodsi3@GCC_3.0 4.4.5 + __unorddf2@GCC_3.3.4 4.4.5 + __unordsf2@GCC_3.3.4 4.4.5 + __unordxf2@GCC_4.5.0 4.7 diff --git a/libgcc-s4.symbols.hppa b/libgcc-s4.symbols.hppa new file mode 100644 index 0000000..b3d17c8 --- /dev/null +++ b/libgcc-s4.symbols.hppa @@ -0,0 +1,103 @@ +libgcc_s.so.4 libgcc-s4 #MINVER# + GCC_14.0.0@GCC_14.0.0 14 + GCC_3.0@GCC_3.0 4.1.1 + GCC_3.3.1@GCC_3.3.1 4.1.1 + GCC_3.3@GCC_3.3 4.1.1 + GCC_3.4.2@GCC_3.4.2 4.1.1 + GCC_3.4@GCC_3.4 4.1.1 + GCC_4.0.0@GCC_4.0.0 4.1.1 + GCC_4.2.0@GCC_4.2.0 4.1.1 + GCC_4.3.0@GCC_4.3.0 4.3 + GCC_4.7.0@GCC_4.7.0 4.7 + GCC_7.0.0@GCC_7.0.0 7.0 + GLIBC_2.0@GLIBC_2.0 4.1.1 + _Unwind_Backtrace@GCC_3.3 4.1.1 + _Unwind_DeleteException@GCC_3.0 4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.1.1 + _Unwind_Find_FDE@GCC_3.0 4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 4.1.1 + _Unwind_GetCFA@GCC_3.3 4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 4.1.1 + _Unwind_GetGR@GCC_3.0 4.1.1 + _Unwind_GetIP@GCC_3.0 4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.1.1 + _Unwind_GetRegionStart@GCC_3.0 4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 4.1.1 + _Unwind_RaiseException@GCC_3.0 4.1.1 + _Unwind_Resume@GCC_3.0 4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.1.1 + _Unwind_SetGR@GCC_3.0 4.1.1 + _Unwind_SetIP@GCC_3.0 4.1.1 + __absvdi2@GCC_3.0 4.1.1 + __absvsi2@GCC_3.0 4.1.1 + __addvdi3@GCC_3.0 4.1.1 + __addvsi3@GCC_3.0 4.1.1 + __ashldi3@GCC_3.0 4.1.1 + __ashrdi3@GCC_3.0 4.1.1 + __bswapdi2@GCC_4.3.0 4.3 + __bswapsi2@GCC_4.3.0 4.3 + __clear_cache@GCC_3.0 4.1.1 + __clrsbdi2@GCC_4.7.0 4.7 + __clrsbsi2@GCC_4.7.0 4.7 + __clzdi2@GCC_3.4 4.1.1 + __clzsi2@GCC_3.4 4.1.1 + __cmpdi2@GCC_3.0 4.1.1 + __ctzdi2@GCC_3.4 4.1.1 + __ctzsi2@GCC_3.4 4.1.1 + __deregister_frame@GLIBC_2.0 4.1.1 + __deregister_frame_info@GLIBC_2.0 4.1.1 + __deregister_frame_info_bases@GCC_3.0 4.1.1 + __divdc3@GCC_4.0.0 4.1.1 + __divdi3@GLIBC_2.0 4.1.1 + __divmoddi4@GCC_7.0.0 7.0 + __divsc3@GCC_4.0.0 4.1.1 + __emutls_get_address@GCC_4.3.0 4.3 + __emutls_register_common@GCC_4.3.0 4.3 + __enable_execute_stack@GCC_3.4.2 4.1.1 + __ffsdi2@GCC_3.0 4.1.1 + __ffssi2@GCC_4.3.0 4.3 + __fixdfdi@GCC_3.0 4.1.1 + __fixsfdi@GCC_3.0 4.1.1 + __fixunsdfdi@GCC_3.0 4.1.1 + __fixunsdfsi@GCC_3.0 4.1.1 + __fixunssfdi@GCC_3.0 4.1.1 + __fixunssfsi@GCC_3.0 4.1.1 + __floatdidf@GCC_3.0 4.1.1 + __floatdisf@GCC_3.0 4.1.1 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __frame_state_for@GLIBC_2.0 4.1.1 + __gcc_personality_v0@GCC_3.3.1 4.1.1 + __hardcfr_check@GCC_14.0.0 14 + __lshrdi3@GCC_3.0 4.1.1 + __moddi3@GLIBC_2.0 4.1.1 + __muldc3@GCC_4.0.0 4.1.1 + __muldi3@GCC_3.0 4.1.1 + __mulsc3@GCC_4.0.0 4.1.1 + __mulvdi3@GCC_3.0 4.1.1 + __mulvsi3@GCC_3.0 4.1.1 + __negdi2@GCC_3.0 4.1.1 + __negvdi2@GCC_3.0 4.1.1 + __negvsi2@GCC_3.0 4.1.1 + __paritydi2@GCC_3.4 4.1.1 + __paritysi2@GCC_3.4 4.1.1 + __popcountdi2@GCC_3.4 4.1.1 + __popcountsi2@GCC_3.4 4.1.1 + __powidf2@GCC_4.0.0 4.1.1 + __powisf2@GCC_4.0.0 4.1.1 + __register_frame@GLIBC_2.0 4.1.1 + __register_frame_info@GLIBC_2.0 4.1.1 + __register_frame_info_bases@GCC_3.0 4.1.1 + __register_frame_info_table@GLIBC_2.0 4.1.1 + __register_frame_info_table_bases@GCC_3.0 4.1.1 + __register_frame_table@GLIBC_2.0 4.1.1 + __strub_enter@GCC_14.0.0 14 + __strub_leave@GCC_14.0.0 14 + __strub_update@GCC_14.0.0 14 + __subvdi3@GCC_3.0 4.1.1 + __subvsi3@GCC_3.0 4.1.1 + __ucmpdi2@GCC_3.0 4.1.1 + __udivdi3@GLIBC_2.0 4.1.1 + __udivmoddi4@GCC_3.0 4.1.1 + __umoddi3@GLIBC_2.0 4.1.1 diff --git a/libgcc.symbols.aeabi b/libgcc.symbols.aeabi new file mode 100644 index 0000000..9e70dc2 --- /dev/null +++ b/libgcc.symbols.aeabi @@ -0,0 +1,69 @@ + __aeabi_cdcmpeq@GCC_3.5 3.5 + __aeabi_cdcmple@GCC_3.5 3.5 + __aeabi_cdrcmple@GCC_3.5 3.5 + __aeabi_cfcmpeq@GCC_3.5 3.5 + __aeabi_cfcmple@GCC_3.5 3.5 + __aeabi_cfrcmple@GCC_3.5 3.5 + __aeabi_d2f@GCC_3.5 3.5 + __aeabi_d2iz@GCC_3.5 3.5 + __aeabi_d2lz@GCC_3.5 3.5 + __aeabi_d2uiz@GCC_3.5 3.5 + __aeabi_d2ulz@GCC_3.5 3.5 + __aeabi_dadd@GCC_3.5 3.5 + __aeabi_dcmpeq@GCC_3.5 3.5 + __aeabi_dcmpge@GCC_3.5 3.5 + __aeabi_dcmpgt@GCC_3.5 3.5 + __aeabi_dcmple@GCC_3.5 3.5 + __aeabi_dcmplt@GCC_3.5 3.5 + __aeabi_dcmpun@GCC_3.5 3.5 + __aeabi_ddiv@GCC_3.5 3.5 + __aeabi_dmul@GCC_3.5 3.5 + __aeabi_dneg@GCC_3.5 3.5 + __aeabi_drsub@GCC_3.5 3.5 + __aeabi_dsub@GCC_3.5 3.5 + __aeabi_f2d@GCC_3.5 3.5 + __aeabi_f2iz@GCC_3.5 3.5 + __aeabi_f2lz@GCC_3.5 3.5 + __aeabi_f2uiz@GCC_3.5 3.5 + __aeabi_f2ulz@GCC_3.5 3.5 + __aeabi_fadd@GCC_3.5 3.5 + __aeabi_fcmpeq@GCC_3.5 3.5 + __aeabi_fcmpge@GCC_3.5 3.5 + __aeabi_fcmpgt@GCC_3.5 3.5 + __aeabi_fcmple@GCC_3.5 3.5 + __aeabi_fcmplt@GCC_3.5 3.5 + __aeabi_fcmpun@GCC_3.5 3.5 + __aeabi_fdiv@GCC_3.5 3.5 + __aeabi_fmul@GCC_3.5 3.5 + __aeabi_fneg@GCC_3.5 3.5 + __aeabi_frsub@GCC_3.5 3.5 + __aeabi_fsub@GCC_3.5 3.5 + __aeabi_i2d@GCC_3.5 3.5 + __aeabi_i2f@GCC_3.5 3.5 + __aeabi_idiv@GCC_3.5 3.5 + __aeabi_idiv0@GCC_3.5 1:4.5.0 + __aeabi_idivmod@GCC_3.5 3.5 + __aeabi_l2d@GCC_3.5 3.5 + __aeabi_l2f@GCC_3.5 3.5 + __aeabi_lasr@GCC_3.5 3.5 + __aeabi_lcmp@GCC_3.5 3.5 + __aeabi_ldivmod@GCC_3.5 3.5 + __aeabi_ldiv0@GCC_3.5 1:4.5.0 + __aeabi_llsl@GCC_3.5 3.5 + __aeabi_llsr@GCC_3.5 3.5 + __aeabi_lmul@GCC_3.5 3.5 + __aeabi_ui2d@GCC_3.5 3.5 + __aeabi_ui2f@GCC_3.5 3.5 + __aeabi_uidiv@GCC_3.5 3.5 + __aeabi_uidivmod@GCC_3.5 3.5 + __aeabi_ul2d@GCC_3.5 3.5 + __aeabi_ul2f@GCC_3.5 3.5 + __aeabi_ulcmp@GCC_3.5 3.5 + __aeabi_uldivmod@GCC_3.5 3.5 + __aeabi_unwind_cpp_pr0@GCC_3.5 3.5 + __aeabi_unwind_cpp_pr1@GCC_3.5 3.5 + __aeabi_unwind_cpp_pr2@GCC_3.5 3.5 + __aeabi_uread4@GCC_3.5 3.5 + __aeabi_uread8@GCC_3.5 3.5 + __aeabi_uwrite4@GCC_3.5 3.5 + __aeabi_uwrite8@GCC_3.5 3.5 diff --git a/libgccjit0.symbols b/libgccjit0.symbols new file mode 100644 index 0000000..60c41cf --- /dev/null +++ b/libgccjit0.symbols @@ -0,0 +1,29 @@ +libgccjit.so.0 #PACKAGE# #MINVER# + (symver)LIBGCCJIT_ABI_0 5.1 + (symver)LIBGCCJIT_ABI_1 5.1 + (symver)LIBGCCJIT_ABI_2 5.1 + (symver)LIBGCCJIT_ABI_3 5.1 + (symver)LIBGCCJIT_ABI_4 6 + (symver)LIBGCCJIT_ABI_5 6 + (symver)LIBGCCJIT_ABI_6 7 + (symver)LIBGCCJIT_ABI_7 8 + (symver)LIBGCCJIT_ABI_8 8 + (symver)LIBGCCJIT_ABI_9 8 + (symver)LIBGCCJIT_ABI_10 8 + (symver)LIBGCCJIT_ABI_11 8 + (symver)LIBGCCJIT_ABI_12 10 + (symver)LIBGCCJIT_ABI_13 10 + (symver)LIBGCCJIT_ABI_14 11 + (symver)LIBGCCJIT_ABI_15 11 + (symver)LIBGCCJIT_ABI_16 12 + (symver)LIBGCCJIT_ABI_17 12 + (symver)LIBGCCJIT_ABI_18 12 + (symver)LIBGCCJIT_ABI_19 12 + (symver)LIBGCCJIT_ABI_20 12 + (symver)LIBGCCJIT_ABI_21 12 + (symver)LIBGCCJIT_ABI_22 12 + (symver)LIBGCCJIT_ABI_23 12 + (symver)LIBGCCJIT_ABI_24 12 + (symver)LIBGCCJIT_ABI_25 14 + (symver)LIBGCCJIT_ABI_26 14 + (symver)LIBGCCJIT_ABI_27 14.2 diff --git a/libgfortran.symbols b/libgfortran.symbols new file mode 100644 index 0000000..1ec57f1 --- /dev/null +++ b/libgfortran.symbols @@ -0,0 +1,10 @@ +libgfortran.so.5 #PACKAGE# #MINVER# + (symver)GFORTRAN_8 8 + (symver)GFORTRAN_9 9 + (symver)GFORTRAN_9.2 9.1 + (symver)GFORTRAN_10 10 + (symver)GFORTRAN_10.2 10.2 + (symver)GFORTRAN_12 11.2 + (symver)GFORTRAN_13 13 + (symver)GFORTRAN_C99_8 8 + (symver)GFORTRAN_F2C_8 8 diff --git a/libgm2.symbols b/libgm2.symbols new file mode 100644 index 0000000..39758b6 --- /dev/null +++ b/libgm2.symbols @@ -0,0 +1,1644 @@ +libm2cor.so.19 #PACKAGE# #MINVER# + Debug_DebugString@Base 10 + Debug_Halt@Base 10 + Debug_PushOutput@Base 10 + Executive_DebugProcess@Base 10 + Executive_GetCurrentProcess@Base 10 + Executive_InitProcess@Base 10 + Executive_InitSemaphore@Base 10 + Executive_KillProcess@Base 10 + Executive_ProcessName@Base 10 + Executive_Ps@Base 10 + Executive_Resume@Base 10 + Executive_RotateRunQueue@Base 10 + Executive_Signal@Base 10 + Executive_Suspend@Base 10 + Executive_Wait@Base 10 + Executive_WaitForIO@Base 10 + KeyBoardLEDs_SwitchCaps@Base 10 + KeyBoardLEDs_SwitchLeds@Base 10 + KeyBoardLEDs_SwitchNum@Base 10 + KeyBoardLEDs_SwitchScroll@Base 10 + SYSTEM_IOTRANSFER@Base 10 + SYSTEM_LISTEN@Base 10 + SYSTEM_ListenLoop@Base 10 + SYSTEM_NEWPROCESS@Base 10 + SYSTEM_RotateLeft@Base 10 + SYSTEM_RotateRight@Base 10 + SYSTEM_RotateVal@Base 10 + SYSTEM_ShiftLeft@Base 10 + SYSTEM_ShiftRight@Base 10 + SYSTEM_ShiftVal@Base 10 + SYSTEM_TRANSFER@Base 10 + SYSTEM_TurnInterrupts@Base 10 + TimerHandler_ArmEvent@Base 10 + TimerHandler_Cancel@Base 10 + TimerHandler_GetTicks@Base 10 + TimerHandler_ReArmEvent@Base 10 + TimerHandler_Sleep@Base 10 + TimerHandler_WaitOn@Base 10 + _M2_Debug_finish@Base 10 + _M2_Debug_init@Base 10 + _M2_Executive_finish@Base 10 + _M2_Executive_init@Base 10 + _M2_KeyBoardLEDs_finish@Base 10 + _M2_KeyBoardLEDs_init@Base 10 + _M2_SYSTEM_finish@Base 10 + _M2_SYSTEM_init@Base 10 + _M2_TimerHandler_finish@Base 10 + _M2_TimerHandler_init@Base 10 +libm2iso.so.18 #PACKAGE# #MINVER# + COROUTINES_ATTACH@Base 10 + COROUTINES_CURRENT@Base 10 + COROUTINES_DETACH@Base 10 + COROUTINES_HANDLER@Base 10 + COROUTINES_IOTRANSFER@Base 10 + COROUTINES_IsATTACHED@Base 10 + COROUTINES_LISTEN@Base 10 + COROUTINES_NEWCOROUTINE@Base 10 + COROUTINES_PROT@Base 10 + COROUTINES_TRANSFER@Base 10 + COROUTINES_TurnInterrupts@Base 10 + CharClass_IsControl@Base 10 + CharClass_IsLetter@Base 10 + CharClass_IsLower@Base 10 + CharClass_IsNumeric@Base 10 + CharClass_IsUpper@Base 10 + CharClass_IsWhiteSpace@Base 10 + ClientSocket_Close@Base 10 + ClientSocket_IsSocket@Base 10 + ClientSocket_OpenSocket@Base 10 + ComplexMath_IsCMathException@Base 10 + ComplexMath_abs@Base 10 + ComplexMath_arccos@Base 10 + ComplexMath_arcsin@Base 10 + ComplexMath_arctan@Base 10 + ComplexMath_arg@Base 10 + ComplexMath_conj@Base 10 + ComplexMath_cos@Base 10 + ComplexMath_exp@Base 10 + ComplexMath_ln@Base 10 + ComplexMath_polarToComplex@Base 10 + ComplexMath_power@Base 10 + ComplexMath_scalarMult@Base 10 + ComplexMath_sin@Base 10 + ComplexMath_sqrt@Base 10 + ComplexMath_tan@Base 10 + ConvStringLong_RealToEngString@Base 10 + ConvStringLong_RealToFixedString@Base 10 + ConvStringLong_RealToFloatString@Base 10 + ConvStringReal_RealToEngString@Base 10 + ConvStringReal_RealToFixedString@Base 10 + ConvStringReal_RealToFloatString@Base 10 + EXCEPTIONS_AllocateSource@Base 10 + EXCEPTIONS_CurrentNumber@Base 10 + EXCEPTIONS_GetMessage@Base 10 + EXCEPTIONS_IsCurrentSource@Base 10 + EXCEPTIONS_IsExceptionalExecution@Base 10 + EXCEPTIONS_RAISE@Base 10 + ErrnoCategory_GetOpenResults@Base 10 + ErrnoCategory_IsErrnoHard@Base 10 + ErrnoCategory_IsErrnoSoft@Base 10 + ErrnoCategory_UnAvailable@Base 10 + GeneralUserExceptions_GeneralException@Base 10 + GeneralUserExceptions_IsGeneralException@Base 10 + GeneralUserExceptions_RaiseGeneralException@Base 10 + IOChan_ChanException@Base 10 + IOChan_CurrentFlags@Base 10 + IOChan_DeviceError@Base 10 + IOChan_Flush@Base 10 + IOChan_GetName@Base 10 + IOChan_InvalidChan@Base 10 + IOChan_IsChanException@Base 10 + IOChan_Look@Base 10 + IOChan_RawRead@Base 10 + IOChan_RawWrite@Base 10 + IOChan_ReadResult@Base 10 + IOChan_Reset@Base 10 + IOChan_SetReadResult@Base 10 + IOChan_Skip@Base 10 + IOChan_SkipLook@Base 10 + IOChan_TextRead@Base 10 + IOChan_TextWrite@Base 10 + IOChan_WriteLn@Base 10 + IOLink_AllocateDeviceId@Base 10 + IOLink_DeviceTablePtrValue@Base 10 + IOLink_IOException@Base 10 + IOLink_IsDevice@Base 10 + IOLink_IsIOException@Base 10 + IOLink_MakeChan@Base 10 + IOLink_RAISEdevException@Base 10 + IOLink_UnMakeChan@Base 10 + IOResult_ReadResult@Base 10 + LongComplexMath_IsCMathException@Base 10 + LongComplexMath_abs@Base 10 + LongComplexMath_arccos@Base 10 + LongComplexMath_arcsin@Base 10 + LongComplexMath_arctan@Base 10 + LongComplexMath_arg@Base 10 + LongComplexMath_conj@Base 10 + LongComplexMath_cos@Base 10 + LongComplexMath_exp@Base 10 + LongComplexMath_ln@Base 10 + LongComplexMath_polarToComplex@Base 10 + LongComplexMath_power@Base 10 + LongComplexMath_scalarMult@Base 10 + LongComplexMath_sin@Base 10 + LongComplexMath_sqrt@Base 10 + LongComplexMath_tan@Base 10 + LongConv_FormatReal@Base 10 + LongConv_IsRConvException@Base 10 + LongConv_LengthEngReal@Base 10 + LongConv_LengthFixedReal@Base 10 + LongConv_LengthFloatReal@Base 10 + LongConv_ScanReal@Base 10 + LongConv_ValueReal@Base 10 + LongIO_ReadReal@Base 10 + LongIO_WriteEng@Base 10 + LongIO_WriteFixed@Base 10 + LongIO_WriteFloat@Base 10 + LongIO_WriteReal@Base 10 + LongMath_IsRMathException@Base 10 + LongMath_arccos@Base 10 + LongMath_arcsin@Base 10 + LongMath_arctan@Base 10 + LongMath_cos@Base 10 + LongMath_exp@Base 10 + LongMath_ln@Base 10 + LongMath_power@Base 10 + LongMath_round@Base 10 + LongMath_sin@Base 10 + LongMath_sqrt@Base 10 + LongMath_tan@Base 10 + LongStr_RealToEng@Base 10 + LongStr_RealToFixed@Base 10 + LongStr_RealToFloat@Base 10 + LongStr_RealToStr@Base 10 + LongStr_StrToReal@Base 10 + LongWholeIO_ReadCard@Base 10 + LongWholeIO_ReadInt@Base 10 + LongWholeIO_WriteCard@Base 10 + LongWholeIO_WriteInt@Base 10 + LowLong_IsLowException@Base 10 + LowLong_currentMode@Base 10 + LowLong_exponent@Base 10 + LowLong_fraction@Base 10 + LowLong_fractpart@Base 10 + LowLong_intpart@Base 10 + LowLong_pred@Base 10 + LowLong_round@Base 10 + LowLong_scale@Base 10 + LowLong_setMode@Base 10 + LowLong_sign@Base 10 + LowLong_succ@Base 10 + LowLong_synthesize@Base 10 + LowLong_trunc@Base 10 + LowLong_ulp@Base 10 + LowReal_IsLowException@Base 10 + LowReal_currentMode@Base 10 + LowReal_exponent@Base 10 + LowReal_fraction@Base 10 + LowReal_fractpart@Base 10 + LowReal_intpart@Base 10 + LowReal_pred@Base 10 + LowReal_round@Base 10 + LowReal_scale@Base 10 + LowReal_setMode@Base 10 + LowReal_sign@Base 10 + LowReal_succ@Base 10 + LowReal_synthesize@Base 10 + LowReal_trunc@Base 10 + LowReal_ulp@Base 10 + LowShort_IsLowException@Base 10 + LowShort_currentMode@Base 10 + LowShort_exponent@Base 10 + LowShort_fraction@Base 10 + LowShort_fractpart@Base 10 + LowShort_intpart@Base 10 + LowShort_pred@Base 10 + LowShort_round@Base 10 + LowShort_scale@Base 10 + LowShort_setMode@Base 10 + LowShort_sign@Base 10 + LowShort_succ@Base 10 + LowShort_synthesize@Base 10 + LowShort_trunc@Base 10 + LowShort_ulp@Base 10 + M2EXCEPTION_IsM2Exception@Base 10 + M2EXCEPTION_M2Exception@Base 10 + M2RTS_AssignmentException@Base 10 + M2RTS_CaseException@Base 10 + M2RTS_DecException@Base 10 + M2RTS_DynamicArraySubscriptException@Base 10 + M2RTS_ErrorMessage@Base 10 + M2RTS_ExclException@Base 10 + M2RTS_ExecuteInitialProcedures@Base 10 + M2RTS_ExecuteTerminationProcedures@Base 10 + M2RTS_ExitOnHalt@Base 10 + M2RTS_ForLoopBeginException@Base 10 + M2RTS_ForLoopEndException@Base 10 + M2RTS_ForLoopToException@Base 10 + M2RTS_HALT@Base 10 + M2RTS_Halt@Base 10 + M2RTS_HasHalted@Base 10 + M2RTS_IncException@Base 10 + M2RTS_InclException@Base 10 + M2RTS_InstallInitialProcedure@Base 10 + M2RTS_InstallTerminationProcedure@Base 10 + M2RTS_IsTerminating@Base 10 + M2RTS_Length@Base 10 + M2RTS_NoException@Base 10 + M2RTS_NoReturnException@Base 10 + M2RTS_ParameterException@Base 10 + M2RTS_PointerNilException@Base 10 + M2RTS_RealValueException@Base 10 + M2RTS_ReturnException@Base 10 + M2RTS_RotateException@Base 10 + M2RTS_ShiftException@Base 10 + M2RTS_StaticArraySubscriptException@Base 10 + M2RTS_WholeNonPosDivException@Base 10 + M2RTS_WholeNonPosModException@Base 10 + M2RTS_WholeValueException@Base 10 + M2RTS_WholeZeroDivException@Base 10 + M2RTS_WholeZeroRemException@Base 10 + MemStream_Close@Base 10 + MemStream_IsMem@Base 10 + MemStream_OpenRead@Base 10 + MemStream_OpenWrite@Base 10 + MemStream_Reread@Base 10 + MemStream_Rewrite@Base 10 + Processes_Activate@Base 10 + Processes_Attach@Base 10 + Processes_Create@Base 10 + Processes_Detach@Base 10 + Processes_Handler@Base 10 + Processes_IsAttached@Base 10 + Processes_IsProcessesException@Base 10 + Processes_Me@Base 10 + Processes_MyParam@Base 10 + Processes_ProcessesException@Base 10 + Processes_Start@Base 10 + Processes_StopMe@Base 10 + Processes_SuspendMe@Base 10 + Processes_SuspendMeAndActivate@Base 10 + Processes_Switch@Base 10 + Processes_UrgencyOf@Base 10 + Processes_Wait@Base 10 + ProgramArgs_ArgChan@Base 10 + ProgramArgs_IsArgPresent@Base 10 + ProgramArgs_NextArg@Base 10 + RTco_currentInterruptLevel@Base 10 + RTco_currentThread@Base 10 + RTco_init@Base 10 + RTco_initSemaphore@Base 10 + RTco_initThread@Base 10 + RTco_select@Base 10 + RTco_signal@Base 10 + RTco_signalThread@Base 10 + RTco_transfer@Base 10 + RTco_turnInterrupts@Base 10 + RTco_wait@Base 10 + RTco_waitThread@Base 10 + RTdata_GetData@Base 10 + RTdata_InitData@Base 10 + RTdata_KillData@Base 10 + RTdata_MakeModuleId@Base 10 + RTentity_DelKey@Base 10 + RTentity_GetKey@Base 10 + RTentity_InitGroup@Base 10 + RTentity_IsIn@Base 10 + RTentity_KillGroup@Base 10 + RTentity_PutKey@Base 10 + RTfio_dogeterrno@Base 10 + RTfio_dorbytes@Base 10 + RTfio_doreadchar@Base 10 + RTfio_dounreadchar@Base 10 + RTfio_dowbytes@Base 10 + RTfio_dowriteln@Base 10 + RTfio_iseof@Base 10 + RTfio_iseoln@Base 10 + RTfio_iserror@Base 10 + RTgen_InitChanDev@Base 10 + RTgen_KillChanDev@Base 10 + RTgen_RaiseEOFinLook@Base 10 + RTgen_RaiseEOFinSkip@Base 10 + RTgen_checkErrno@Base 10 + RTgen_doLook@Base 10 + RTgen_doReadLocs@Base 10 + RTgen_doReadText@Base 10 + RTgen_doSkip@Base 10 + RTgen_doSkipLook@Base 10 + RTgen_doWriteLn@Base 10 + RTgen_doWriteLocs@Base 10 + RTgen_doWriteText@Base 10 + RTgenif_InitGenDevIF@Base 10 + RTgenif_KillGenDevIF@Base 10 + RTgenif_doGetErrno@Base 10 + RTgenif_doRBytes@Base 10 + RTgenif_doReadChar@Base 10 + RTgenif_doUnReadChar@Base 10 + RTgenif_doWBytes@Base 10 + RTgenif_doWrLn@Base 10 + RTgenif_getDID@Base 10 + RTgenif_isEOF@Base 10 + RTgenif_isEOLN@Base 10 + RTgenif_isError@Base 10 + RTio_GetDeviceId@Base 10 + RTio_GetDevicePtr@Base 10 + RTio_GetFile@Base 10 + RTio_InitChanId@Base 10 + RTio_KillChanId@Base 10 + RTio_NilChanId@Base 10 + RTio_SetDeviceId@Base 10 + RTio_SetDevicePtr@Base 10 + RTio_SetFile@Base 10 + RandomNumber_RandomBytes@Base 10 + RandomNumber_RandomCard@Base 10 + RandomNumber_RandomInit@Base 10 + RandomNumber_RandomInt@Base 10 + RandomNumber_RandomLongCard@Base 10 + RandomNumber_RandomLongInt@Base 10 + RandomNumber_RandomLongReal@Base 10 + RandomNumber_RandomReal@Base 10 + RandomNumber_RandomShortCard@Base 10 + RandomNumber_RandomShortInt@Base 10 + RandomNumber_RandomShortReal@Base 10 + RandomNumber_Randomize@Base 10 + RawIO_Read@Base 10 + RawIO_Write@Base 10 + RealConv_FormatReal@Base 10 + RealConv_IsRConvException@Base 10 + RealConv_LengthEngReal@Base 10 + RealConv_LengthFixedReal@Base 10 + RealConv_LengthFloatReal@Base 10 + RealConv_ScanReal@Base 10 + RealConv_ValueReal@Base 10 + RealIO_ReadReal@Base 10 + RealIO_WriteEng@Base 10 + RealIO_WriteFixed@Base 10 + RealIO_WriteFloat@Base 10 + RealIO_WriteReal@Base 10 + RealMath_IsRMathException@Base 10 + RealMath_arccos@Base 10 + RealMath_arcsin@Base 10 + RealMath_arctan@Base 10 + RealMath_cos@Base 10 + RealMath_exp@Base 10 + RealMath_ln@Base 10 + RealMath_power@Base 10 + RealMath_round@Base 10 + RealMath_sin@Base 10 + RealMath_sqrt@Base 10 + RealMath_tan@Base 10 + RealStr_RealToEng@Base 10 + RealStr_RealToFixed@Base 10 + RealStr_RealToFloat@Base 10 + RealStr_RealToStr@Base 10 + RealStr_StrToReal@Base 10 + RndFile_Close@Base 10 + RndFile_CurrentPos@Base 10 + RndFile_EndPos@Base 10 + RndFile_IsRndFile@Base 10 + RndFile_IsRndFileException@Base 10 + RndFile_NewPos@Base 10 + RndFile_OpenClean@Base 10 + RndFile_OpenOld@Base 10 + RndFile_SetPos@Base 10 + RndFile_StartPos@Base 10 + SIOResult_ReadResult@Base 10 + SLongIO_ReadReal@Base 10 + SLongIO_WriteEng@Base 10 + SLongIO_WriteFixed@Base 10 + SLongIO_WriteFloat@Base 10 + SLongIO_WriteReal@Base 10 + SLongWholeIO_ReadCard@Base 10 + SLongWholeIO_ReadInt@Base 10 + SLongWholeIO_WriteCard@Base 10 + SLongWholeIO_WriteInt@Base 10 + SRawIO_Read@Base 10 + SRawIO_Write@Base 10 + SRealIO_ReadReal@Base 10 + SRealIO_WriteEng@Base 10 + SRealIO_WriteFixed@Base 10 + SRealIO_WriteFloat@Base 10 + SRealIO_WriteReal@Base 10 + SShortIO_ReadReal@Base 10 + SShortIO_WriteEng@Base 10 + SShortIO_WriteFixed@Base 10 + SShortIO_WriteFloat@Base 10 + SShortIO_WriteReal@Base 10 + SShortWholeIO_ReadCard@Base 10 + SShortWholeIO_ReadInt@Base 10 + SShortWholeIO_WriteCard@Base 10 + SShortWholeIO_WriteInt@Base 10 + STextIO_ReadChar@Base 10 + STextIO_ReadRestLine@Base 10 + STextIO_ReadString@Base 10 + STextIO_ReadToken@Base 10 + STextIO_SkipLine@Base 10 + STextIO_WriteChar@Base 10 + STextIO_WriteLn@Base 10 + STextIO_WriteString@Base 10 + SWholeIO_ReadCard@Base 10 + SWholeIO_ReadInt@Base 10 + SWholeIO_WriteCard@Base 10 + SWholeIO_WriteInt@Base 10 + SYSTEM_RotateLeft@Base 10 + SYSTEM_RotateRight@Base 10 + SYSTEM_RotateVal@Base 10 + SYSTEM_ShiftLeft@Base 10 + SYSTEM_ShiftRight@Base 10 + SYSTEM_ShiftVal@Base 10 + Semaphores_Claim@Base 10 + Semaphores_CondClaim@Base 10 + Semaphores_Create@Base 10 + Semaphores_Destroy@Base 10 + Semaphores_Release@Base 10 + SeqFile_Close@Base 10 + SeqFile_IsSeqFile@Base 10 + SeqFile_OpenAppend@Base 10 + SeqFile_OpenRead@Base 10 + SeqFile_OpenWrite@Base 10 + SeqFile_Reread@Base 10 + SeqFile_Rewrite@Base 10 + ServerSocket_Close@Base 10 + ServerSocket_IsSocket@Base 10 + ServerSocket_OpenAccept@Base 10 + ServerSocket_OpenSocketBindListen@Base 10 + ShortComplexMath_IsCMathException@Base 10 + ShortComplexMath_abs@Base 10 + ShortComplexMath_arccos@Base 10 + ShortComplexMath_arcsin@Base 10 + ShortComplexMath_arctan@Base 10 + ShortComplexMath_arg@Base 10 + ShortComplexMath_conj@Base 10 + ShortComplexMath_cos@Base 10 + ShortComplexMath_exp@Base 10 + ShortComplexMath_ln@Base 10 + ShortComplexMath_polarToComplex@Base 10 + ShortComplexMath_power@Base 10 + ShortComplexMath_scalarMult@Base 10 + ShortComplexMath_sin@Base 10 + ShortComplexMath_sqrt@Base 10 + ShortComplexMath_tan@Base 10 + ShortIO_ReadReal@Base 10 + ShortIO_WriteEng@Base 10 + ShortIO_WriteFixed@Base 10 + ShortIO_WriteFloat@Base 10 + ShortIO_WriteReal@Base 10 + ShortWholeIO_ReadCard@Base 10 + ShortWholeIO_ReadInt@Base 10 + ShortWholeIO_WriteCard@Base 10 + ShortWholeIO_WriteInt@Base 10 + SimpleCipher_InsertCipherLayer@Base 10 + SimpleCipher_RemoveCipherLayer@Base 10 + StdChans_ErrChan@Base 10 + StdChans_InChan@Base 10 + StdChans_NullChan@Base 10 + StdChans_OutChan@Base 10 + StdChans_SetErrChan@Base 10 + StdChans_SetInChan@Base 10 + StdChans_SetOutChan@Base 10 + StdChans_StdErrChan@Base 10 + StdChans_StdInChan@Base 10 + StdChans_StdOutChan@Base 10 + Storage_ALLOCATE@Base 10 + Storage_DEALLOCATE@Base 10 + Storage_IsStorageException@Base 10 + Storage_REALLOCATE@Base 10 + Storage_StorageException@Base 10 + StreamFile_Close@Base 10 + StreamFile_IsStreamFile@Base 10 + StreamFile_Open@Base 10 + StringChan_writeFieldWidth@Base 10 + StringChan_writeString@Base 10 + Strings_Append@Base 10 + Strings_Assign@Base 10 + Strings_CanAppendAll@Base 10 + Strings_CanAssignAll@Base 10 + Strings_CanConcatAll@Base 10 + Strings_CanDeleteAll@Base 10 + Strings_CanExtractAll@Base 10 + Strings_CanInsertAll@Base 10 + Strings_CanReplaceAll@Base 10 + Strings_Capitalize@Base 10 + Strings_Compare@Base 10 + Strings_Concat@Base 10 + Strings_Delete@Base 10 + Strings_Equal@Base 10 + Strings_Extract@Base 10 + Strings_FindDiff@Base 10 + Strings_FindNext@Base 10 + Strings_FindPrev@Base 10 + Strings_Insert@Base 10 + Strings_Length@Base 10 + Strings_Replace@Base 10 + SysClock_CanGetClock@Base 10 + SysClock_CanSetClock@Base 10 + SysClock_GetClock@Base 10 + SysClock_IsValidDateTime@Base 10 + SysClock_SetClock@Base 10 + TERMINATION_HasHalted@Base 10 + TERMINATION_IsTerminating@Base 10 + TermFile_Close@Base 10 + TermFile_IsTermFile@Base 10 + TermFile_Open@Base 10 + TextIO_ReadChar@Base 10 + TextIO_ReadRestLine@Base 10 + TextIO_ReadString@Base 10 + TextIO_ReadToken@Base 10 + TextIO_SkipLine@Base 10 + TextIO_WriteChar@Base 10 + TextIO_WriteLn@Base 10 + TextIO_WriteString@Base 10 + WholeConv_FormatCard@Base 10 + WholeConv_FormatInt@Base 10 + WholeConv_IsWholeConvException@Base 10 + WholeConv_LengthCard@Base 10 + WholeConv_LengthInt@Base 10 + WholeConv_ScanCard@Base 10 + WholeConv_ScanInt@Base 10 + WholeConv_ValueCard@Base 10 + WholeConv_ValueInt@Base 10 + WholeIO_ReadCard@Base 10 + WholeIO_ReadInt@Base 10 + WholeIO_WriteCard@Base 10 + WholeIO_WriteInt@Base 10 + WholeStr_CardToStr@Base 10 + WholeStr_IntToStr@Base 10 + WholeStr_StrToCard@Base 10 + WholeStr_StrToInt@Base 10 + _M2_COROUTINES_finish@Base 10 + _M2_COROUTINES_init@Base 10 + _M2_ChanConsts_finish@Base 10 + _M2_ChanConsts_init@Base 10 + _M2_CharClass_finish@Base 10 + _M2_CharClass_init@Base 10 + _M2_ClientSocket_finish@Base 10 + _M2_ClientSocket_init@Base 10 + _M2_ComplexMath_finish@Base 10 + _M2_ComplexMath_init@Base 10 + _M2_ConvStringLong_finish@Base 10 + _M2_ConvStringLong_init@Base 10 + _M2_ConvStringReal_finish@Base 10 + _M2_ConvStringReal_init@Base 10 + _M2_ConvTypes_finish@Base 10 + _M2_ConvTypes_init@Base 10 + _M2_EXCEPTIONS_finish@Base 10 + _M2_EXCEPTIONS_init@Base 10 + _M2_ErrnoCategory_finish@Base 10 + _M2_ErrnoCategory_init@Base 10 + _M2_GeneralUserExceptions_finish@Base 10 + _M2_GeneralUserExceptions_init@Base 10 + _M2_IOChan_finish@Base 10 + _M2_IOChan_init@Base 10 + _M2_IOConsts_finish@Base 10 + _M2_IOConsts_init@Base 10 + _M2_IOLink_finish@Base 10 + _M2_IOLink_init@Base 10 + _M2_IOResult_finish@Base 10 + _M2_IOResult_init@Base 10 + _M2_LongComplexMath_finish@Base 10 + _M2_LongComplexMath_init@Base 10 + _M2_LongConv_finish@Base 10 + _M2_LongConv_init@Base 10 + _M2_LongIO_finish@Base 10 + _M2_LongIO_init@Base 10 + _M2_LongMath_finish@Base 10 + _M2_LongMath_init@Base 10 + _M2_LongStr_finish@Base 10 + _M2_LongStr_init@Base 10 + _M2_LongWholeIO_finish@Base 10 + _M2_LongWholeIO_init@Base 10 + _M2_LowLong_finish@Base 10 + _M2_LowLong_init@Base 10 + _M2_LowReal_finish@Base 10 + _M2_LowReal_init@Base 10 + _M2_LowShort_finish@Base 10 + _M2_LowShort_init@Base 10 + _M2_M2EXCEPTION_finish@Base 10 + _M2_M2EXCEPTION_init@Base 10 + _M2_M2RTS_finish@Base 10 + _M2_M2RTS_init@Base 10 + _M2_MemStream_finish@Base 10 + _M2_MemStream_init@Base 10 + _M2_Processes_finish@Base 10 + _M2_Processes_init@Base 10 + _M2_ProgramArgs_finish@Base 10 + _M2_ProgramArgs_init@Base 10 + _M2_RTco_finish@Base 10 + _M2_RTco_init@Base 10 + _M2_RTdata_finish@Base 10 + _M2_RTdata_init@Base 10 + _M2_RTentity_finish@Base 10 + _M2_RTentity_init@Base 10 + _M2_RTfio_finish@Base 10 + _M2_RTfio_init@Base 10 + _M2_RTgen_finish@Base 10 + _M2_RTgen_init@Base 10 + _M2_RTgenif_finish@Base 10 + _M2_RTgenif_init@Base 10 + _M2_RTio_finish@Base 10 + _M2_RTio_init@Base 10 + _M2_RandomNumber_finish@Base 10 + _M2_RandomNumber_init@Base 10 + _M2_RawIO_finish@Base 10 + _M2_RawIO_init@Base 10 + _M2_RealConv_finish@Base 10 + _M2_RealConv_init@Base 10 + _M2_RealIO_finish@Base 10 + _M2_RealIO_init@Base 10 + _M2_RealMath_finish@Base 10 + _M2_RealMath_init@Base 10 + _M2_RealStr_finish@Base 10 + _M2_RealStr_init@Base 10 + _M2_RndFile_finish@Base 10 + _M2_RndFile_init@Base 10 + _M2_SIOResult_finish@Base 10 + _M2_SIOResult_init@Base 10 + _M2_SLongIO_finish@Base 10 + _M2_SLongIO_init@Base 10 + _M2_SLongWholeIO_finish@Base 10 + _M2_SLongWholeIO_init@Base 10 + _M2_SRawIO_finish@Base 10 + _M2_SRawIO_init@Base 10 + _M2_SRealIO_finish@Base 10 + _M2_SRealIO_init@Base 10 + _M2_SShortIO_finish@Base 10 + _M2_SShortIO_init@Base 10 + _M2_SShortWholeIO_finish@Base 10 + _M2_SShortWholeIO_init@Base 10 + _M2_STextIO_finish@Base 10 + _M2_STextIO_init@Base 10 + _M2_SWholeIO_finish@Base 10 + _M2_SWholeIO_init@Base 10 + _M2_SYSTEM_finish@Base 10 + _M2_SYSTEM_init@Base 10 + _M2_Semaphores_finish@Base 10 + _M2_Semaphores_init@Base 10 + _M2_SeqFile_finish@Base 10 + _M2_SeqFile_init@Base 10 + _M2_ServerSocket_finish@Base 10 + _M2_ServerSocket_init@Base 10 + _M2_ShortComplexMath_finish@Base 10 + _M2_ShortComplexMath_init@Base 10 + _M2_ShortIO_finish@Base 10 + _M2_ShortIO_init@Base 10 + _M2_ShortWholeIO_finish@Base 10 + _M2_ShortWholeIO_init@Base 10 + _M2_SimpleCipher_finish@Base 10 + _M2_SimpleCipher_init@Base 10 + _M2_StdChans_finish@Base 10 + _M2_StdChans_init@Base 10 + _M2_Storage_finish@Base 10 + _M2_Storage_init@Base 10 + _M2_StreamFile_finish@Base 10 + _M2_StreamFile_init@Base 10 + _M2_StringChan_finish@Base 10 + _M2_StringChan_init@Base 10 + _M2_Strings_finish@Base 10 + _M2_Strings_init@Base 10 + _M2_SysClock_finish@Base 10 + _M2_SysClock_init@Base 10 + _M2_TERMINATION_finish@Base 10 + _M2_TERMINATION_init@Base 10 + _M2_TermFile_finish@Base 10 + _M2_TermFile_init@Base 10 + _M2_TextIO_finish@Base 10 + _M2_TextIO_init@Base 10 + _M2_WholeConv_finish@Base 10 + _M2_WholeConv_init@Base 10 + _M2_WholeIO_finish@Base 10 + _M2_WholeIO_init@Base 10 + _M2_WholeStr_finish@Base 10 + _M2_WholeStr_init@Base 10 + _M2_wrapsock_finish@Base 10 + _M2_wrapsock_init@Base 10 + _M2_wraptime_finish@Base 10 + _M2_wraptime_init@Base 10 + currentThread@Base 10 + wrapsock_clientOpen@Base 10 + wrapsock_clientOpenIP@Base 10 + wrapsock_getClientHostname@Base 10 + wrapsock_getClientIP@Base 10 + wrapsock_getClientPortNo@Base 10 + wrapsock_getClientSocketFd@Base 10 + wrapsock_getPushBackChar@Base 10 + wrapsock_getSizeOfClientInfo@Base 10 + wrapsock_setPushBackChar@Base 10 + wraptime_GetDST@Base 10 + wraptime_GetDay@Base 10 + wraptime_GetFractions@Base 10 + wraptime_GetHour@Base 10 + wraptime_GetMinute@Base 10 + wraptime_GetMonth@Base 10 + wraptime_GetSecond@Base 10 + wraptime_GetSummerTime@Base 10 + wraptime_GetYear@Base 10 + wraptime_InitTM@Base 10 + wraptime_InitTimeval@Base 10 + wraptime_InitTimezone@Base 10 + wraptime_KillTM@Base 10 + wraptime_KillTimeval@Base 10 + wraptime_KillTimezone@Base 10 + wraptime_SetTimeval@Base 10 + wraptime_SetTimezone@Base 10 + wraptime_gettimeofday@Base 10 + wraptime_localtime_r@Base 10 + wraptime_settimeofday@Base 10 +libm2log.so.18 #PACKAGE# #MINVER# + BitBlockOps_BlockAnd@Base 10 + BitBlockOps_BlockNot@Base 10 + BitBlockOps_BlockOr@Base 10 + BitBlockOps_BlockRol@Base 10 + BitBlockOps_BlockRor@Base 10 + BitBlockOps_BlockShl@Base 10 + BitBlockOps_BlockShr@Base 10 + BitBlockOps_BlockXor@Base 10 + BitByteOps_ByteAnd@Base 10 + BitByteOps_ByteNot@Base 10 + BitByteOps_ByteOr@Base 10 + BitByteOps_ByteRol@Base 10 + BitByteOps_ByteRor@Base 10 + BitByteOps_ByteSar@Base 10 + BitByteOps_ByteShl@Base 10 + BitByteOps_ByteShr@Base 10 + BitByteOps_ByteXor@Base 10 + BitByteOps_GetBits@Base 10 + BitByteOps_HighNibble@Base 10 + BitByteOps_LowNibble@Base 10 + BitByteOps_SetBits@Base 10 + BitByteOps_Swap@Base 10 + BitWordOps_GetBits@Base 10 + BitWordOps_HighByte@Base 10 + BitWordOps_LowByte@Base 10 + BitWordOps_SetBits@Base 10 + BitWordOps_Swap@Base 10 + BitWordOps_WordAnd@Base 10 + BitWordOps_WordNot@Base 10 + BitWordOps_WordOr@Base 10 + BitWordOps_WordRol@Base 10 + BitWordOps_WordRor@Base 10 + BitWordOps_WordSar@Base 10 + BitWordOps_WordShl@Base 10 + BitWordOps_WordShr@Base 10 + BitWordOps_WordXor@Base 10 + BlockOps_BlockClear@Base 10 + BlockOps_BlockEqual@Base 10 + BlockOps_BlockMoveBackward@Base 10 + BlockOps_BlockMoveForward@Base 10 + BlockOps_BlockPosition@Base 10 + BlockOps_BlockSet@Base 10 + Break_DisableBreak@Base 10 + Break_EnableBreak@Base 10 + Break_InstallBreak@Base 10 + Break_UnInstallBreak@Base 10 + CardinalIO_Done@Base 10 + CardinalIO_ReadCardinal@Base 10 + CardinalIO_ReadHex@Base 10 + CardinalIO_ReadLongCardinal@Base 10 + CardinalIO_ReadLongHex@Base 10 + CardinalIO_ReadShortCardinal@Base 10 + CardinalIO_ReadShortHex@Base 10 + CardinalIO_WriteCardinal@Base 10 + CardinalIO_WriteHex@Base 10 + CardinalIO_WriteLongCardinal@Base 10 + CardinalIO_WriteLongHex@Base 10 + CardinalIO_WriteShortCardinal@Base 10 + CardinalIO_WriteShortHex@Base 10 + Conversions_ConvertCardinal@Base 10 + Conversions_ConvertHex@Base 10 + Conversions_ConvertInteger@Base 10 + Conversions_ConvertLongInt@Base 10 + Conversions_ConvertOctal@Base 10 + Conversions_ConvertShortInt@Base 10 + Delay_Delay@Base 10 + Display_Write@Base 10 + ErrorCode_ExitToOS@Base 10 + ErrorCode_GetErrorCode@Base 10 + ErrorCode_SetErrorCode@Base 10 + FileSystem_Close@Base 10 + FileSystem_Create@Base 10 + FileSystem_Delete@Base 10 + FileSystem_Doio@Base 10 + FileSystem_GetPos@Base 10 + FileSystem_Length@Base 10 + FileSystem_Lookup@Base 10 + FileSystem_ReadByte@Base 10 + FileSystem_ReadChar@Base 10 + FileSystem_ReadNBytes@Base 10 + FileSystem_ReadWord@Base 10 + FileSystem_Rename@Base 10 + FileSystem_Reset@Base 10 + FileSystem_SetModify@Base 10 + FileSystem_SetOpen@Base 10 + FileSystem_SetPos@Base 10 + FileSystem_SetRead@Base 10 + FileSystem_SetWrite@Base 10 + FileSystem_WriteByte@Base 10 + FileSystem_WriteChar@Base 10 + FileSystem_WriteNBytes@Base 10 + FileSystem_WriteWord@Base 10 + FloatingUtilities_Float@Base 10 + FloatingUtilities_Floatl@Base 10 + FloatingUtilities_Frac@Base 10 + FloatingUtilities_Fracl@Base 10 + FloatingUtilities_Round@Base 10 + FloatingUtilities_Roundl@Base 10 + FloatingUtilities_Trunc@Base 10 + FloatingUtilities_Truncl@Base 10 + InOut_CloseInput@Base 10 + InOut_CloseOutput@Base 10 + InOut_Done@Base 10 + InOut_OpenInput@Base 10 + InOut_OpenOutput@Base 10 + InOut_Read@Base 10 + InOut_ReadCard@Base 10 + InOut_ReadInt@Base 10 + InOut_ReadS@Base 10 + InOut_ReadString@Base 10 + InOut_Write@Base 10 + InOut_WriteCard@Base 10 + InOut_WriteHex@Base 10 + InOut_WriteInt@Base 10 + InOut_WriteLn@Base 10 + InOut_WriteOct@Base 10 + InOut_WriteS@Base 10 + InOut_WriteString@Base 10 + InOut_termCH@Base 10 + Keyboard_KeyPressed@Base 10 + Keyboard_Read@Base 10 + LongIO_Done@Base 10 + LongIO_ReadLongInt@Base 10 + LongIO_WriteLongInt@Base 10 + Random_RandomBytes@Base 10 + Random_RandomCard@Base 10 + Random_RandomInit@Base 10 + Random_RandomInt@Base 10 + Random_RandomLongReal@Base 10 + Random_RandomReal@Base 10 + Random_Randomize@Base 10 + RealConversions_LongRealToString@Base 10 + RealConversions_RealToString@Base 10 + RealConversions_SetNoOfExponentDigits@Base 10 + RealConversions_StringToLongReal@Base 10 + RealConversions_StringToReal@Base 10 + RealInOut_Done@Base 10 + RealInOut_ReadLongReal@Base 10 + RealInOut_ReadReal@Base 10 + RealInOut_ReadShortReal@Base 10 + RealInOut_SetNoOfDecimalPlaces@Base 10 + RealInOut_WriteLongReal@Base 10 + RealInOut_WriteLongRealOct@Base 10 + RealInOut_WriteReal@Base 10 + RealInOut_WriteRealOct@Base 10 + RealInOut_WriteShortReal@Base 10 + RealInOut_WriteShortRealOct@Base 10 + Strings_Assign@Base 10 + Strings_CompareStr@Base 10 + Strings_ConCat@Base 10 + Strings_Copy@Base 10 + Strings_Delete@Base 10 + Strings_Insert@Base 10 + Strings_Length@Base 10 + Strings_Pos@Base 10 + Termbase_AssignRead@Base 10 + Termbase_AssignWrite@Base 10 + Termbase_KeyPressed@Base 10 + Termbase_Read@Base 10 + Termbase_UnAssignRead@Base 10 + Termbase_UnAssignWrite@Base 10 + Termbase_Write@Base 10 + Terminal_KeyPressed@Base 10 + Terminal_Read@Base 10 + Terminal_ReadAgain@Base 10 + Terminal_ReadString@Base 10 + Terminal_Write@Base 10 + Terminal_WriteLn@Base 10 + Terminal_WriteString@Base 10 + TimeDate_CompareTime@Base 10 + TimeDate_GetTime@Base 10 + TimeDate_SetTime@Base 10 + TimeDate_TimeToString@Base 10 + TimeDate_TimeToZero@Base 10 + _M2_BitBlockOps_finish@Base 10 + _M2_BitBlockOps_init@Base 10 + _M2_BitByteOps_finish@Base 10 + _M2_BitByteOps_init@Base 10 + _M2_BitWordOps_finish@Base 10 + _M2_BitWordOps_init@Base 10 + _M2_BlockOps_finish@Base 10 + _M2_BlockOps_init@Base 10 + _M2_CardinalIO_finish@Base 10 + _M2_CardinalIO_init@Base 10 + _M2_Conversions_finish@Base 10 + _M2_Conversions_init@Base 10 + _M2_DebugPMD_finish@Base 10 + _M2_DebugPMD_init@Base 10 + _M2_DebugTrace_finish@Base 10 + _M2_DebugTrace_init@Base 10 + _M2_Delay_finish@Base 10 + _M2_Delay_init@Base 10 + _M2_Display_finish@Base 10 + _M2_Display_init@Base 10 + _M2_ErrorCode_finish@Base 10 + _M2_ErrorCode_init@Base 10 + _M2_FileSystem_finish@Base 10 + _M2_FileSystem_init@Base 10 + _M2_FloatingUtilities_finish@Base 10 + _M2_FloatingUtilities_init@Base 10 + _M2_InOut_finish@Base 10 + _M2_InOut_init@Base 10 + _M2_Keyboard_finish@Base 10 + _M2_Keyboard_init@Base 10 + _M2_LongIO_finish@Base 10 + _M2_LongIO_init@Base 10 + _M2_NumberConversion_finish@Base 10 + _M2_NumberConversion_init@Base 10 + _M2_Random_finish@Base 10 + _M2_Random_init@Base 10 + _M2_RealConversions_finish@Base 10 + _M2_RealConversions_init@Base 10 + _M2_RealInOut_finish@Base 10 + _M2_RealInOut_init@Base 10 + _M2_Strings_finish@Base 10 + _M2_Strings_init@Base 10 + _M2_Termbase_finish@Base 10 + _M2_Termbase_init@Base 10 + _M2_Terminal_finish@Base 10 + _M2_Terminal_init@Base 10 + _M2_TimeDate_finish@Base 10 + _M2_TimeDate_init@Base 10 +libm2min.so.18 #PACKAGE# #MINVER# + M2RTS_ExecuteInitialProcedures@Base 10 + M2RTS_ExecuteTerminationProcedures@Base 10 + M2RTS_HALT@Base 10 + M2RTS_NoException@Base 10 + _M2_M2RTS_finish@Base 10 + _M2_M2RTS_init@Base 10 + _M2_SYSTEM_finish@Base 10 + _M2_SYSTEM_init@Base 10 + abort@Base 10 + exit@Base 10 +libm2pim.so.18 #PACKAGE# #MINVER# + Args_GetArg@Base 10 + Args_Narg@Base 10 + Assertion_Assert@Base 10 + Builtins_alloca@Base 10 + Builtins_alloca_trace@Base 10 + Builtins_atan2@Base 10 + Builtins_atan2f@Base 10 + Builtins_atan2l@Base 10 + Builtins_cabs@Base 10 + Builtins_cabsf@Base 10 + Builtins_cabsl@Base 10 + Builtins_carccos@Base 10 + Builtins_carccosf@Base 10 + Builtins_carccosl@Base 10 + Builtins_carcsin@Base 10 + Builtins_carcsinf@Base 10 + Builtins_carcsinl@Base 10 + Builtins_carctan@Base 10 + Builtins_carctanf@Base 10 + Builtins_carctanl@Base 10 + Builtins_carg@Base 10 + Builtins_cargf@Base 10 + Builtins_cargl@Base 10 + Builtins_ccos@Base 10 + Builtins_ccosf@Base 10 + Builtins_ccosl@Base 10 + Builtins_cexp@Base 10 + Builtins_cexpf@Base 10 + Builtins_cexpl@Base 10 + Builtins_cln@Base 10 + Builtins_clnf@Base 10 + Builtins_clnl@Base 10 + Builtins_conj@Base 10 + Builtins_conjf@Base 10 + Builtins_conjl@Base 10 + Builtins_cos@Base 10 + Builtins_cosf@Base 10 + Builtins_cosl@Base 10 + Builtins_cpower@Base 10 + Builtins_cpowerf@Base 10 + Builtins_cpowerl@Base 10 + Builtins_csin@Base 10 + Builtins_csinf@Base 10 + Builtins_csinl@Base 10 + Builtins_csqrt@Base 10 + Builtins_csqrtf@Base 10 + Builtins_csqrtl@Base 10 + Builtins_ctan@Base 10 + Builtins_ctanf@Base 10 + Builtins_ctanl@Base 10 + Builtins_exp10@Base 10 + Builtins_exp10f@Base 10 + Builtins_exp10l@Base 10 + Builtins_exp@Base 10 + Builtins_expf@Base 10 + Builtins_expl@Base 10 + Builtins_fabs@Base 10 + Builtins_fabsf@Base 10 + Builtins_fabsl@Base 10 + Builtins_frame_address@Base 10 + Builtins_huge_val@Base 10 + Builtins_huge_valf@Base 10 + Builtins_huge_vall@Base 10 + Builtins_ilogb@Base 10 + Builtins_ilogbf@Base 10 + Builtins_ilogbl@Base 10 + Builtins_index@Base 10 + Builtins_isfinite@Base 10 + Builtins_isfinitef@Base 10 + Builtins_isfinitel@Base 10 + Builtins_log10@Base 10 + Builtins_log10f@Base 10 + Builtins_log10l@Base 10 + Builtins_log@Base 10 + Builtins_logf@Base 10 + Builtins_logl@Base 10 + Builtins_longjmp@Base 10 + Builtins_memcmp@Base 10 + Builtins_memcpy@Base 10 + Builtins_memmove@Base 10 + Builtins_memset@Base 10 + Builtins_modf@Base 10 + Builtins_modff@Base 10 + Builtins_modfl@Base 10 + Builtins_nextafter@Base 10 + Builtins_nextafterf@Base 10 + Builtins_nextafterl@Base 10 + Builtins_nexttoward@Base 10 + Builtins_nexttowardf@Base 10 + Builtins_nexttowardl@Base 10 + Builtins_return_address@Base 10 + Builtins_rindex@Base 10 + Builtins_scalb@Base 10 + Builtins_scalbf@Base 10 + Builtins_scalbl@Base 10 + Builtins_scalbln@Base 10 + Builtins_scalblnf@Base 10 + Builtins_scalblnl@Base 10 + Builtins_scalbn@Base 10 + Builtins_scalbnf@Base 10 + Builtins_scalbnl@Base 10 + Builtins_setjmp@Base 10 + Builtins_signbit@Base 10 + Builtins_signbitf@Base 10 + Builtins_signbitl@Base 10 + Builtins_significand@Base 10 + Builtins_significandf@Base 10 + Builtins_significandl@Base 10 + Builtins_sin@Base 10 + Builtins_sinf@Base 10 + Builtins_sinl@Base 10 + Builtins_sqrt@Base 10 + Builtins_sqrtf@Base 10 + Builtins_sqrtl@Base 10 + Builtins_strcat@Base 10 + Builtins_strchr@Base 10 + Builtins_strcmp@Base 10 + Builtins_strcpy@Base 10 + Builtins_strcspn@Base 10 + Builtins_strlen@Base 10 + Builtins_strncat@Base 10 + Builtins_strncmp@Base 10 + Builtins_strncpy@Base 10 + Builtins_strpbrk@Base 10 + Builtins_strrchr@Base 10 + Builtins_strspn@Base 10 + Builtins_strstr@Base 10 + CmdArgs_GetArg@Base 10 + CmdArgs_Narg@Base 10 + Debug_DebugString@Base 10 + Debug_Halt@Base 10 + DynamicStrings_Add@Base 10 + DynamicStrings_Assign@Base 10 + DynamicStrings_ConCat@Base 10 + DynamicStrings_ConCatChar@Base 10 + DynamicStrings_CopyOut@Base 10 + DynamicStrings_Dup@Base 10 + DynamicStrings_DupDB@Base 10 + DynamicStrings_Equal@Base 10 + DynamicStrings_EqualArray@Base 10 + DynamicStrings_EqualCharStar@Base 10 + DynamicStrings_Fin@Base 10 + DynamicStrings_Index@Base 10 + DynamicStrings_InitString@Base 10 + DynamicStrings_InitStringChar@Base 10 + DynamicStrings_InitStringCharDB@Base 10 + DynamicStrings_InitStringCharStar@Base 10 + DynamicStrings_InitStringCharStarDB@Base 10 + DynamicStrings_InitStringDB@Base 10 + DynamicStrings_KillString@Base 10 + DynamicStrings_Length@Base 10 + DynamicStrings_Mark@Base 10 + DynamicStrings_Mult@Base 10 + DynamicStrings_MultDB@Base 10 + DynamicStrings_PopAllocation@Base 10 + DynamicStrings_PopAllocationExemption@Base 10 + DynamicStrings_PushAllocation@Base 10 + DynamicStrings_RIndex@Base 10 + DynamicStrings_RemoveComment@Base 10 + DynamicStrings_RemoveWhitePostfix@Base 10 + DynamicStrings_RemoveWhitePrefix@Base 10 + DynamicStrings_Slice@Base 10 + DynamicStrings_SliceDB@Base 10 + DynamicStrings_ToLower@Base 10 + DynamicStrings_ToUpper@Base 10 + DynamicStrings_char@Base 10 + DynamicStrings_string@Base 10 + Environment_GetEnvironment@Base 10 + FIO_Close@Base 10 + FIO_EOF@Base 10 + FIO_EOLN@Base 10 + FIO_Exists@Base 10 + FIO_FindPosition@Base 10 + FIO_FlushBuffer@Base 10 + FIO_FlushOutErr@Base 10 + FIO_GetFileName@Base 10 + FIO_GetUnixFileDescriptor@Base 10 + FIO_IsActive@Base 10 + FIO_IsNoError@Base 10 + FIO_OpenForRandom@Base 10 + FIO_OpenToRead@Base 10 + FIO_OpenToWrite@Base 10 + FIO_ReadCardinal@Base 10 + FIO_ReadChar@Base 10 + FIO_ReadNBytes@Base 10 + FIO_ReadString@Base 10 + FIO_SetPositionFromBeginning@Base 10 + FIO_SetPositionFromEnd@Base 10 + FIO_StdErr@Base 10 + FIO_StdIn@Base 10 + FIO_StdOut@Base 10 + FIO_UnReadChar@Base 10 + FIO_WasEOLN@Base 10 + FIO_WriteCardinal@Base 10 + FIO_WriteChar@Base 10 + FIO_WriteLine@Base 10 + FIO_WriteNBytes@Base 10 + FIO_WriteString@Base 10 + FIO_exists@Base 10 + FIO_getFileName@Base 10 + FIO_getFileNameLength@Base 10 + FIO_openForRandom@Base 10 + FIO_openToRead@Base 10 + FIO_openToWrite@Base 10 + FormatStrings_HandleEscape@Base 10 + FormatStrings_Sprintf0@Base 10 + FormatStrings_Sprintf1@Base 10 + FormatStrings_Sprintf2@Base 10 + FormatStrings_Sprintf3@Base 10 + FormatStrings_Sprintf4@Base 10 + FpuIO_LongIntToStr@Base 10 + FpuIO_LongRealToStr@Base 10 + FpuIO_ReadLongInt@Base 10 + FpuIO_ReadLongReal@Base 10 + FpuIO_ReadReal@Base 10 + FpuIO_RealToStr@Base 10 + FpuIO_StrToLongInt@Base 10 + FpuIO_StrToLongReal@Base 10 + FpuIO_StrToReal@Base 10 + FpuIO_WriteLongInt@Base 10 + FpuIO_WriteLongReal@Base 10 + FpuIO_WriteReal@Base 10 + GetOpt_AddLongOption@Base 10 + GetOpt_GetOpt@Base 10 + GetOpt_GetOptLong@Base 10 + GetOpt_GetOptLongOnly@Base 10 + GetOpt_InitLongOptions@Base 10 + GetOpt_KillLongOptions@Base 10 + IO_BufferedMode@Base 10 + IO_EchoOff@Base 10 + IO_EchoOn@Base 10 + IO_Error@Base 10 + IO_Read@Base 10 + IO_UnBufferedMode@Base 10 + IO_Write@Base 10 + Indexing_DebugIndex@Base 10 + Indexing_DeleteIndice@Base 10 + Indexing_ForeachIndiceInIndexDo@Base 10 + Indexing_GetIndice@Base 10 + Indexing_HighIndice@Base 10 + Indexing_InBounds@Base 10 + Indexing_IncludeIndiceIntoIndex@Base 10 + Indexing_InitIndex@Base 10 + Indexing_IsIndiceInIndex@Base 10 + Indexing_KillIndex@Base 10 + Indexing_LowIndice@Base 10 + Indexing_PutIndice@Base 10 + Indexing_RemoveIndiceFromIndex@Base 10 + LMathLib0_arctan@Base 10 + LMathLib0_cos@Base 10 + LMathLib0_entier@Base 10 + LMathLib0_exp@Base 10 + LMathLib0_ln@Base 10 + LMathLib0_sin@Base 10 + LMathLib0_sqrt@Base 10 + LMathLib0_tan@Base 10 + M2EXCEPTION_IsM2Exception@Base 10 + M2EXCEPTION_M2Exception@Base 10 + M2RTS_AssignmentException@Base 10 + M2RTS_CaseException@Base 10 + M2RTS_DecException@Base 10 + M2RTS_DynamicArraySubscriptException@Base 10 + M2RTS_ErrorMessage@Base 10 + M2RTS_ExclException@Base 10 + M2RTS_ExecuteInitialProcedures@Base 10 + M2RTS_ExecuteTerminationProcedures@Base 10 + M2RTS_ExitOnHalt@Base 10 + M2RTS_ForLoopBeginException@Base 10 + M2RTS_ForLoopEndException@Base 10 + M2RTS_ForLoopToException@Base 10 + M2RTS_HALT@Base 10 + M2RTS_Halt@Base 10 + M2RTS_IncException@Base 10 + M2RTS_InclException@Base 10 + M2RTS_InstallInitialProcedure@Base 10 + M2RTS_InstallTerminationProcedure@Base 10 + M2RTS_Length@Base 10 + M2RTS_NoException@Base 10 + M2RTS_NoReturnException@Base 10 + M2RTS_ParameterException@Base 10 + M2RTS_PointerNilException@Base 10 + M2RTS_RealValueException@Base 10 + M2RTS_ReturnException@Base 10 + M2RTS_RotateException@Base 10 + M2RTS_ShiftException@Base 10 + M2RTS_StaticArraySubscriptException@Base 10 + M2RTS_Terminate@Base 10 + M2RTS_WholeNonPosDivException@Base 10 + M2RTS_WholeNonPosModException@Base 10 + M2RTS_WholeValueException@Base 10 + M2RTS_WholeZeroDivException@Base 10 + M2RTS_WholeZeroRemException@Base 10 + MathLib0_arctan@Base 10 + MathLib0_cos@Base 10 + MathLib0_entier@Base 10 + MathLib0_exp@Base 10 + MathLib0_ln@Base 10 + MathLib0_sin@Base 10 + MathLib0_sqrt@Base 10 + MathLib0_tan@Base 10 + MemUtils_MemCopy@Base 10 + MemUtils_MemZero@Base 10 + NumberIO_BinToStr@Base 10 + NumberIO_CardToStr@Base 10 + NumberIO_HexToStr@Base 10 + NumberIO_IntToStr@Base 10 + NumberIO_OctToStr@Base 10 + NumberIO_ReadBin@Base 10 + NumberIO_ReadCard@Base 10 + NumberIO_ReadHex@Base 10 + NumberIO_ReadInt@Base 10 + NumberIO_ReadOct@Base 10 + NumberIO_StrToBin@Base 10 + NumberIO_StrToBinInt@Base 10 + NumberIO_StrToCard@Base 10 + NumberIO_StrToHex@Base 10 + NumberIO_StrToHexInt@Base 10 + NumberIO_StrToInt@Base 10 + NumberIO_StrToOct@Base 10 + NumberIO_StrToOctInt@Base 10 + NumberIO_WriteBin@Base 10 + NumberIO_WriteCard@Base 10 + NumberIO_WriteHex@Base 10 + NumberIO_WriteInt@Base 10 + NumberIO_WriteOct@Base 10 + OptLib_ConCat@Base 10 + OptLib_Dup@Base 10 + OptLib_GetArgc@Base 10 + OptLib_GetArgv@Base 10 + OptLib_IndexStrCmp@Base 10 + OptLib_IndexStrNCmp@Base 10 + OptLib_InitOption@Base 10 + OptLib_KillOption@Base 10 + OptLib_Slice@Base 10 + PushBackInput_Close@Base 10 + PushBackInput_Error@Base 10 + PushBackInput_GetCh@Base 10 + PushBackInput_GetColumnPosition@Base 10 + PushBackInput_GetCurrentLine@Base 10 + PushBackInput_GetExitStatus@Base 10 + PushBackInput_Open@Base 10 + PushBackInput_PutCh@Base 10 + PushBackInput_PutString@Base 10 + PushBackInput_SetDebug@Base 10 + PushBackInput_WarnError@Base 10 + PushBackInput_WarnString@Base 10 + RTExceptions_BaseExceptionsThrow@Base 10 + RTExceptions_DefaultErrorCatch@Base 10 + RTExceptions_GetBaseExceptionBlock@Base 10 + RTExceptions_GetExceptionBlock@Base 10 + RTExceptions_GetExceptionSource@Base 10 + RTExceptions_GetNumber@Base 10 + RTExceptions_GetTextBuffer@Base 10 + RTExceptions_GetTextBufferSize@Base 10 + RTExceptions_InitExceptionBlock@Base 10 + RTExceptions_IsInExceptionState@Base 10 + RTExceptions_KillExceptionBlock@Base 10 + RTExceptions_PopHandler@Base 10 + RTExceptions_PushHandler@Base 10 + RTExceptions_Raise@Base 10 + RTExceptions_SetExceptionBlock@Base 10 + RTExceptions_SetExceptionSource@Base 10 + RTExceptions_SetExceptionState@Base 10 + RTExceptions_SwitchExceptionState@Base 10 + RTint_AttachVector@Base 10 + RTint_ExcludeVector@Base 10 + RTint_GetTimeVector@Base 10 + RTint_IncludeVector@Base 10 + RTint_Init@Base 10 + RTint_InitInputVector@Base 10 + RTint_InitOutputVector@Base 10 + RTint_InitTimeVector@Base 10 + RTint_Listen@Base 10 + RTint_ReArmTimeVector@Base 10 + SArgs_GetArg@Base 10 + SArgs_Narg@Base 10 + SCmdArgs_GetArg@Base 10 + SCmdArgs_Narg@Base 10 + SEnvironment_GetEnvironment@Base 10 + SFIO_Exists@Base 10 + SFIO_OpenForRandom@Base 10 + SFIO_OpenToRead@Base 10 + SFIO_OpenToWrite@Base 10 + SFIO_ReadS@Base 10 + SFIO_WriteS@Base 10 + SMathLib0_arctan@Base 10 + SMathLib0_cos@Base 10 + SMathLib0_entier@Base 10 + SMathLib0_exp@Base 10 + SMathLib0_ln@Base 10 + SMathLib0_sin@Base 10 + SMathLib0_sqrt@Base 10 + SMathLib0_tan@Base 10 + Scan_CloseSource@Base 10 + Scan_DefineComments@Base 10 + Scan_GetNextSymbol@Base 10 + Scan_OpenSource@Base 10 + Scan_TerminateOnError@Base 10 + Scan_WriteError@Base 10 + Selective_FdClr@Base 10 + Selective_FdIsSet@Base 10 + Selective_FdSet@Base 10 + Selective_FdZero@Base 10 + Selective_GetTime@Base 10 + Selective_GetTimeOfDay@Base 10 + Selective_InitSet@Base 10 + Selective_InitTime@Base 10 + Selective_KillSet@Base 10 + Selective_KillTime@Base 10 + Selective_MaxFdsPlusOne@Base 10 + Selective_ReadCharRaw@Base 10 + Selective_Select@Base 10 + Selective_SetTime@Base 10 + Selective_WriteCharRaw@Base 10 + StdIO_GetCurrentInput@Base 10 + StdIO_GetCurrentOutput@Base 10 + StdIO_PopInput@Base 10 + StdIO_PopOutput@Base 10 + StdIO_PushInput@Base 10 + StdIO_PushOutput@Base 10 + StdIO_Read@Base 10 + StdIO_Write@Base 10 + Storage_ALLOCATE@Base 10 + Storage_Available@Base 10 + Storage_DEALLOCATE@Base 10 + Storage_REALLOCATE@Base 10 + StrCase_Cap@Base 10 + StrCase_Lower@Base 10 + StrCase_StrToLowerCase@Base 10 + StrCase_StrToUpperCase@Base 10 + StrIO_ReadString@Base 10 + StrIO_WriteLn@Base 10 + StrIO_WriteString@Base 10 + StrLib_IsSubString@Base 10 + StrLib_StrConCat@Base 10 + StrLib_StrCopy@Base 10 + StrLib_StrEqual@Base 10 + StrLib_StrLen@Base 10 + StrLib_StrLess@Base 10 + StrLib_StrRemoveWhitePrefix@Base 10 + StringConvert_CardinalToString@Base 10 + StringConvert_IntegerToString@Base 10 + StringConvert_LongCardinalToString@Base 10 + StringConvert_LongIntegerToString@Base 10 + StringConvert_LongrealToString@Base 10 + StringConvert_ShortCardinalToString@Base 10 + StringConvert_StringToCardinal@Base 10 + StringConvert_StringToInteger@Base 10 + StringConvert_StringToLongCardinal@Base 10 + StringConvert_StringToLongInteger@Base 10 + StringConvert_StringToLongreal@Base 10 + StringConvert_StringToShortCardinal@Base 10 + StringConvert_ToSigFig@Base 10 + StringConvert_bstoc@Base 10 + StringConvert_bstoi@Base 10 + StringConvert_ctos@Base 10 + StringConvert_hstoc@Base 10 + StringConvert_hstoi@Base 10 + StringConvert_itos@Base 10 + StringConvert_ostoc@Base 10 + StringConvert_ostoi@Base 10 + StringConvert_stoc@Base 10 + StringConvert_stoi@Base 10 + StringConvert_stolr@Base 10 + StringConvert_stor@Base 10 + SysExceptions_InitExceptionHandlers@Base 10 + SysStorage_ALLOCATE@Base 10 + SysStorage_Available@Base 10 + SysStorage_DEALLOCATE@Base 10 + SysStorage_Init@Base 10 + SysStorage_REALLOCATE@Base 10 + TimeString_GetTimeString@Base 10 + UnixArgs_ArgC@Base 10 + UnixArgs_ArgV@Base 10 + _M2_ASCII_finish@Base 10 + _M2_ASCII_init@Base 10 + _M2_Args_finish@Base 10 + _M2_Args_init@Base 10 + _M2_Assertion_finish@Base 10 + _M2_Assertion_init@Base 10 + _M2_Break_finish@Base 10 + _M2_Break_init@Base 10 + _M2_Builtins_finish@Base 10 + _M2_Builtins_init@Base 10 + _M2_COROUTINES_finish@Base 10 + _M2_COROUTINES_init@Base 10 + _M2_CmdArgs_finish@Base 10 + _M2_CmdArgs_init@Base 10 + _M2_Debug_finish@Base 10 + _M2_Debug_init@Base 10 + _M2_DynamicStrings_finish@Base 10 + _M2_DynamicStrings_init@Base 10 + _M2_Environment_finish@Base 10 + _M2_Environment_init@Base 10 + _M2_FIO_finish@Base 10 + _M2_FIO_init@Base 10 + _M2_FormatStrings_finish@Base 10 + _M2_FormatStrings_init@Base 10 + _M2_FpuIO_finish@Base 10 + _M2_FpuIO_init@Base 10 + _M2_GetOpt_finish@Base 10 + _M2_GetOpt_init@Base 10 + _M2_IO_finish@Base 10 + _M2_IO_init@Base 10 + _M2_Indexing_finish@Base 10 + _M2_Indexing_init@Base 10 + _M2_LMathLib0_finish@Base 10 + _M2_LMathLib0_init@Base 10 + _M2_LegacyReal_finish@Base 10 + _M2_LegacyReal_init@Base 10 + _M2_M2EXCEPTION_finish@Base 10 + _M2_M2EXCEPTION_init@Base 10 + _M2_M2RTS_finish@Base 10 + _M2_M2RTS_init@Base 10 + _M2_MathLib0_finish@Base 10 + _M2_MathLib0_init@Base 10 + _M2_MemUtils_finish@Base 10 + _M2_MemUtils_init@Base 10 + _M2_NumberIO_finish@Base 10 + _M2_NumberIO_init@Base 10 + _M2_OptLib_finish@Base 10 + _M2_OptLib_init@Base 10 + _M2_PushBackInput_finish@Base 10 + _M2_PushBackInput_init@Base 10 + _M2_RTExceptions_finish@Base 10 + _M2_RTExceptions_init@Base 10 + _M2_RTint_finish@Base 10 + _M2_RTint_init@Base 10 + _M2_SArgs_finish@Base 10 + _M2_SArgs_init@Base 10 + _M2_SCmdArgs_finish@Base 10 + _M2_SCmdArgs_init@Base 10 + _M2_SEnvironment_finish@Base 10 + _M2_SEnvironment_init@Base 10 + _M2_SFIO_finish@Base 10 + _M2_SFIO_init@Base 10 + _M2_SMathLib0_finish@Base 10 + _M2_SMathLib0_init@Base 10 + _M2_SYSTEM_finish@Base 10 + _M2_SYSTEM_init@Base 10 + _M2_Scan_finish@Base 10 + _M2_Scan_init@Base 10 + _M2_Selective_finish@Base 10 + _M2_Selective_init@Base 10 + _M2_StdIO_finish@Base 10 + _M2_StdIO_init@Base 10 + _M2_Storage_finish@Base 10 + _M2_Storage_init@Base 10 + _M2_StrCase_finish@Base 10 + _M2_StrCase_init@Base 10 + _M2_StrIO_finish@Base 10 + _M2_StrIO_init@Base 10 + _M2_StrLib_finish@Base 10 + _M2_StrLib_init@Base 10 + _M2_StringConvert_finish@Base 10 + _M2_StringConvert_init@Base 10 + _M2_SysExceptions_finish@Base 10 + _M2_SysExceptions_init@Base 10 + _M2_SysStorage_finish@Base 10 + _M2_SysStorage_init@Base 10 + _M2_TimeString_finish@Base 10 + _M2_TimeString_init@Base 10 + _M2_UnixArgs_finish@Base 10 + _M2_UnixArgs_init@Base 10 + _M2_dtoa_finish@Base 10 + _M2_dtoa_init@Base 10 + _M2_errno_finish@Base 10 + _M2_errno_init@Base 10 + _M2_gdbif_finish@Base 10 + _M2_gdbif_init@Base 10 + _M2_getopt_finish@Base 10 + _M2_getopt_init@Base 10 + _M2_ldtoa_finish@Base 10 + _M2_ldtoa_init@Base 10 + _M2_sckt_finish@Base 10 + _M2_sckt_init@Base 10 + _M2_termios_finish@Base 10 + _M2_termios_init@Base 10 + _M2_wrapc_finish@Base 10 + _M2_wrapc_init@Base 10 + connectSpin@Base 10 + doSetUnset@Base 10 + dtoa_calcdecimal@Base 10 + dtoa_calcmaxsig@Base 10 + dtoa_calcsign@Base 10 + dtoa_dtoa@Base 10 + dtoa_strtod@Base 10 + errno_geterrno@Base 10 + exp10@Base 10 + exp10f@Base 10 + exp10l@Base 10 + finishSpin@Base 10 + getLocalIP@Base 10 + getopt_GetLongOptionArray@Base 10 + getopt_InitOptions@Base 10 + getopt_KillOptions@Base 10 + getopt_SetOption@Base 10 + getopt_getopt@Base 10 + getopt_getopt_long@Base 10 + getopt_getopt_long_only@Base 10 + getopt_optarg@Base 10 + getopt_opterr@Base 10 + getopt_optind@Base 10 + getopt_optopt@Base 10 + ldtoa_ldtoa@Base 10 + ldtoa_strtold@Base 10 + localExit@Base 10 + sleepSpin@Base 10 + tcpClientConnect@Base 10 + tcpClientIP@Base 10 + tcpClientPortNo@Base 10 + tcpClientSocket@Base 10 + tcpClientSocketFd@Base 10 + tcpClientSocketIP@Base 10 + tcpServerAccept@Base 10 + tcpServerClientIP@Base 10 + tcpServerClientPortNo@Base 10 + tcpServerEstablish@Base 10 + tcpServerEstablishPort@Base 10 + tcpServerIP@Base 10 + tcpServerPortNo@Base 10 + tcpServerSocketFd@Base 10 + termios_GetChar@Base 10 + termios_GetFlag@Base 10 + termios_InitTermios@Base 10 + termios_KillTermios@Base 10 + termios_SetChar@Base 10 + termios_SetFlag@Base 10 + termios_cfgetispeed@Base 10 + termios_cfgetospeed@Base 10 + termios_cfmakeraw@Base 10 + termios_cfsetispeed@Base 10 + termios_cfsetospeed@Base 10 + termios_cfsetspeed@Base 10 + termios_tcdrain@Base 10 + termios_tcflowoffi@Base 10 + termios_tcflowoffo@Base 10 + termios_tcflowoni@Base 10 + termios_tcflowono@Base 10 + termios_tcflushi@Base 10 + termios_tcflushio@Base 10 + termios_tcflusho@Base 10 + termios_tcgetattr@Base 10 + termios_tcsdrain@Base 10 + termios_tcsendbreak@Base 10 + termios_tcsetattr@Base 10 + termios_tcsflush@Base 10 + termios_tcsnow@Base 10 + wrapc_fileinode@Base 10 + wrapc_filemtime@Base 10 + wrapc_filesize@Base 10 + wrapc_getnameuidgid@Base 10 + wrapc_getrand@Base 10 + wrapc_getusername@Base 10 + wrapc_isfinite@Base 10 + wrapc_isfinitef@Base 10 + wrapc_isfinitel@Base 10 + wrapc_signbit@Base 10 + wrapc_signbitf@Base 10 + wrapc_signbitl@Base 10 + wrapc_strtime@Base 10 diff --git a/libgomp.symbols b/libgomp.symbols new file mode 100644 index 0000000..8d4efc4 --- /dev/null +++ b/libgomp.symbols @@ -0,0 +1,37 @@ +libgomp.so.1 #PACKAGE# #MINVER# + (symver)GOACC_2.0 5 + (symver)GOACC_2.0.1 6 + (symver)GOACC_2.0.2 12 + (symver)GOMP_1.0 4.2.1 + (symver)GOMP_2.0 4.4 + (symver)GOMP_3.0 4.7 + (symver)GOMP_4.0 4.9 + (symver)GOMP_4.0.1 5 + (symver)GOMP_4.5 6 + (symver)GOMP_5.0 9 + (symver)GOMP_5.0.1 11 + (symver)GOMP_5.1 12 + (symver)GOMP_5.1.1 13 + (symver)GOMP_5.1.2 14 + (symver)GOMP_PLUGIN_1.0 5 + (symver)GOMP_PLUGIN_1.1 6 + (symver)GOMP_PLUGIN_1.2 9 + (symver)GOMP_PLUGIN_1.3 10 + (symver)GOMP_PLUGIN_1.4 13 + (symver)OACC_2.0 5 + (symver)OACC_2.0.1 8 + (symver)OACC_2.5 9 + (symver)OACC_2.5.1 10 + (symver)OACC_2.6 10 + (symver)OMP_1.0 4.2.1 + (symver)OMP_2.0 4.2.1 + (symver)OMP_3.0 4.4 + (symver)OMP_3.1 4.7 + (symver)OMP_4.0 4.9 + (symver)OMP_4.5 6 + (symver)OMP_5.0 9 + (symver)OMP_5.0.1 11 + (symver)OMP_5.0.2 12 + (symver)OMP_5.1 12 + (symver)OMP_5.1.1 13 + (symver)OMP_5.2 13 diff --git a/libgphobos.symbols b/libgphobos.symbols new file mode 100644 index 0000000..edf9d14 --- /dev/null +++ b/libgphobos.symbols @@ -0,0 +1,2 @@ +libgdruntime.so.5 #PACKAGE# #MINVER# +libgphobos.so.5 #PACKAGE# #MINVER# diff --git a/libgphobos5.symbols.amd64 b/libgphobos5.symbols.amd64 new file mode 100644 index 0000000..2d7bc3d --- /dev/null +++ b/libgphobos5.symbols.amd64 @@ -0,0 +1,21564 @@ +libgdruntime.so.5 libgphobos5 #MINVER# + CPU_ALLOC@Base 13 + CPU_ALLOC_SIZE@Base 13 + CPU_COUNT@Base 13 + CPU_COUNT_S@Base 13 + CPU_FREE@Base 13 + CPU_ISSET@Base 13 + CPU_SET@Base 13 + LOG_MASK@Base 13 + LOG_UPTO@Base 13 + SIGRTMAX@Base 13 + SIGRTMIN@Base 13 + S_TYPEISMQ@Base 13 + S_TYPEISSEM@Base 13 + S_TYPEISSHM@Base 13 + TPACKET_ALIGN@Base 14 + _D101TypeInfo_E4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7AddType6__initZ@Base 13 + _D101TypeInfo_S4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D102TypeInfo_xE4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7AddType6__initZ@Base 13 + _D103TypeInfo_S4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D105TypeInfo_E4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10IsDelegate6__initZ@Base 13 + _D10TypeInfo_a6__initZ@Base 13 + _D10TypeInfo_a6__vtblZ@Base 13 + _D10TypeInfo_a7__ClassZ@Base 13 + _D10TypeInfo_b6__initZ@Base 13 + _D10TypeInfo_b6__vtblZ@Base 13 + _D10TypeInfo_b7__ClassZ@Base 13 + _D10TypeInfo_c6__initZ@Base 13 + _D10TypeInfo_c6__vtblZ@Base 13 + _D10TypeInfo_c7__ClassZ@Base 13 + _D10TypeInfo_d6__initZ@Base 13 + _D10TypeInfo_d6__vtblZ@Base 13 + _D10TypeInfo_d7__ClassZ@Base 13 + _D10TypeInfo_e6__initZ@Base 13 + _D10TypeInfo_e6__vtblZ@Base 13 + _D10TypeInfo_e7__ClassZ@Base 13 + _D10TypeInfo_f6__initZ@Base 13 + _D10TypeInfo_f6__vtblZ@Base 13 + _D10TypeInfo_f7__ClassZ@Base 13 + _D10TypeInfo_g6__initZ@Base 13 + _D10TypeInfo_g6__vtblZ@Base 13 + _D10TypeInfo_g7__ClassZ@Base 13 + _D10TypeInfo_h6__initZ@Base 13 + _D10TypeInfo_h6__vtblZ@Base 13 + _D10TypeInfo_h7__ClassZ@Base 13 + _D10TypeInfo_i6__initZ@Base 13 + _D10TypeInfo_i6__vtblZ@Base 13 + _D10TypeInfo_i7__ClassZ@Base 13 + _D10TypeInfo_j6__initZ@Base 13 + _D10TypeInfo_j6__vtblZ@Base 13 + _D10TypeInfo_j7__ClassZ@Base 13 + _D10TypeInfo_k6__initZ@Base 13 + _D10TypeInfo_k6__vtblZ@Base 13 + _D10TypeInfo_k7__ClassZ@Base 13 + _D10TypeInfo_l6__initZ@Base 13 + _D10TypeInfo_l6__vtblZ@Base 13 + _D10TypeInfo_l7__ClassZ@Base 13 + _D10TypeInfo_m6__initZ@Base 13 + _D10TypeInfo_m6__vtblZ@Base 13 + _D10TypeInfo_m7__ClassZ@Base 13 + _D10TypeInfo_n6__initZ@Base 13 + _D10TypeInfo_n6__vtblZ@Base 13 + _D10TypeInfo_n7__ClassZ@Base 13 + _D10TypeInfo_o6__initZ@Base 13 + _D10TypeInfo_o6__vtblZ@Base 13 + _D10TypeInfo_o7__ClassZ@Base 13 + _D10TypeInfo_p6__initZ@Base 13 + _D10TypeInfo_p6__vtblZ@Base 13 + _D10TypeInfo_p7__ClassZ@Base 13 + _D10TypeInfo_q6__initZ@Base 13 + _D10TypeInfo_q6__vtblZ@Base 13 + _D10TypeInfo_q7__ClassZ@Base 13 + _D10TypeInfo_r6__initZ@Base 13 + _D10TypeInfo_r6__vtblZ@Base 13 + _D10TypeInfo_r7__ClassZ@Base 13 + _D10TypeInfo_s6__initZ@Base 13 + _D10TypeInfo_s6__vtblZ@Base 13 + _D10TypeInfo_s7__ClassZ@Base 13 + _D10TypeInfo_t6__initZ@Base 13 + _D10TypeInfo_t6__vtblZ@Base 13 + _D10TypeInfo_t7__ClassZ@Base 13 + _D10TypeInfo_u6__initZ@Base 13 + _D10TypeInfo_u6__vtblZ@Base 13 + _D10TypeInfo_u7__ClassZ@Base 13 + _D10TypeInfo_v6__initZ@Base 13 + _D10TypeInfo_v6__vtblZ@Base 13 + _D10TypeInfo_v7__ClassZ@Base 13 + _D10TypeInfo_w6__initZ@Base 13 + _D10TypeInfo_w6__vtblZ@Base 13 + _D10TypeInfo_w7__ClassZ@Base 13 + _D113TypeInfo_S4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D115TypeInfo_S4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D115TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D115TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D116TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D116TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D118TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__initZ@Base 13 + _D118TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__initZ@Base 13 + _D11TypeInfo_Aa6__initZ@Base 13 + _D11TypeInfo_Aa6__vtblZ@Base 13 + _D11TypeInfo_Aa7__ClassZ@Base 13 + _D11TypeInfo_Ab6__initZ@Base 13 + _D11TypeInfo_Ab6__vtblZ@Base 13 + _D11TypeInfo_Ab7__ClassZ@Base 13 + _D11TypeInfo_Ac6__initZ@Base 13 + _D11TypeInfo_Ac6__vtblZ@Base 13 + _D11TypeInfo_Ac7__ClassZ@Base 13 + _D11TypeInfo_Ad6__initZ@Base 13 + _D11TypeInfo_Ad6__vtblZ@Base 13 + _D11TypeInfo_Ad7__ClassZ@Base 13 + _D11TypeInfo_Ae6__initZ@Base 13 + _D11TypeInfo_Ae6__vtblZ@Base 13 + _D11TypeInfo_Ae7__ClassZ@Base 13 + _D11TypeInfo_Af6__initZ@Base 13 + _D11TypeInfo_Af6__vtblZ@Base 13 + _D11TypeInfo_Af7__ClassZ@Base 13 + _D11TypeInfo_Ag6__initZ@Base 13 + _D11TypeInfo_Ag6__vtblZ@Base 13 + _D11TypeInfo_Ag7__ClassZ@Base 13 + _D11TypeInfo_Ah6__initZ@Base 13 + _D11TypeInfo_Ah6__vtblZ@Base 13 + _D11TypeInfo_Ah7__ClassZ@Base 13 + _D11TypeInfo_Ai6__initZ@Base 13 + _D11TypeInfo_Ai6__vtblZ@Base 13 + _D11TypeInfo_Ai7__ClassZ@Base 13 + _D11TypeInfo_Aj6__initZ@Base 13 + _D11TypeInfo_Aj6__vtblZ@Base 13 + _D11TypeInfo_Aj7__ClassZ@Base 13 + _D11TypeInfo_Ak6__initZ@Base 13 + _D11TypeInfo_Ak6__vtblZ@Base 13 + _D11TypeInfo_Ak7__ClassZ@Base 13 + _D11TypeInfo_Al6__initZ@Base 13 + _D11TypeInfo_Al6__vtblZ@Base 13 + _D11TypeInfo_Al7__ClassZ@Base 13 + _D11TypeInfo_Am6__initZ@Base 13 + _D11TypeInfo_Am6__vtblZ@Base 13 + _D11TypeInfo_Am7__ClassZ@Base 13 + _D11TypeInfo_Ao6__initZ@Base 13 + _D11TypeInfo_Ao6__vtblZ@Base 13 + _D11TypeInfo_Ao7__ClassZ@Base 13 + _D11TypeInfo_Ap6__initZ@Base 13 + _D11TypeInfo_Ap6__vtblZ@Base 13 + _D11TypeInfo_Ap7__ClassZ@Base 13 + _D11TypeInfo_Aq6__initZ@Base 13 + _D11TypeInfo_Aq6__vtblZ@Base 13 + _D11TypeInfo_Aq7__ClassZ@Base 13 + _D11TypeInfo_Ar6__initZ@Base 13 + _D11TypeInfo_Ar6__vtblZ@Base 13 + _D11TypeInfo_Ar7__ClassZ@Base 13 + _D11TypeInfo_As6__initZ@Base 13 + _D11TypeInfo_As6__vtblZ@Base 13 + _D11TypeInfo_As7__ClassZ@Base 13 + _D11TypeInfo_At6__initZ@Base 13 + _D11TypeInfo_At6__vtblZ@Base 13 + _D11TypeInfo_At7__ClassZ@Base 13 + _D11TypeInfo_Au6__initZ@Base 13 + _D11TypeInfo_Au6__vtblZ@Base 13 + _D11TypeInfo_Au7__ClassZ@Base 13 + _D11TypeInfo_Av6__initZ@Base 13 + _D11TypeInfo_Av6__vtblZ@Base 13 + _D11TypeInfo_Av7__ClassZ@Base 13 + _D11TypeInfo_Aw6__initZ@Base 13 + _D11TypeInfo_Aw6__vtblZ@Base 13 + _D11TypeInfo_Aw7__ClassZ@Base 13 + _D11TypeInfo_Oa6__initZ@Base 13 + _D11TypeInfo_Ou6__initZ@Base 13 + _D11TypeInfo_xa6__initZ@Base 13 + _D11TypeInfo_xb6__initZ@Base 13 + _D11TypeInfo_xd6__initZ@Base 13 + _D11TypeInfo_xe6__initZ@Base 13 + _D11TypeInfo_xf6__initZ@Base 13 + _D11TypeInfo_xh6__initZ@Base 13 + _D11TypeInfo_xi6__initZ@Base 13 + _D11TypeInfo_xk6__initZ@Base 13 + _D11TypeInfo_xm6__initZ@Base 13 + _D11TypeInfo_xt6__initZ@Base 13 + _D11TypeInfo_xv6__initZ@Base 13 + _D11TypeInfo_ya6__initZ@Base 13 + _D11TypeInfo_yk6__initZ@Base 13 + _D120TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__initZ@Base 13 + _D12TypeInfo_AOa6__initZ@Base 13 + _D12TypeInfo_AOu6__initZ@Base 13 + _D12TypeInfo_Axa6__initZ@Base 13 + _D12TypeInfo_Axa6__vtblZ@Base 13 + _D12TypeInfo_Axa7__ClassZ@Base 13 + _D12TypeInfo_Axv6__initZ@Base 13 + _D12TypeInfo_Aya6__initZ@Base 13 + _D12TypeInfo_Aya6__vtblZ@Base 13 + _D12TypeInfo_Aya7__ClassZ@Base 13 + _D12TypeInfo_G8h6__initZ@Base 13 + _D12TypeInfo_Oxk6__initZ@Base 13 + _D12TypeInfo_Pxh6__initZ@Base 13 + _D12TypeInfo_Pxv6__initZ@Base 13 + _D12TypeInfo_xAa6__initZ@Base 13 + _D12TypeInfo_xAv6__initZ@Base 13 + _D12TypeInfo_xPh6__initZ@Base 13 + _D12TypeInfo_xPv6__initZ@Base 13 + _D12TypeInfo_yAa6__initZ@Base 13 + _D13TypeInfo_AAya6__initZ@Base 13 + _D13TypeInfo_AxPv6__initZ@Base 13 + _D13TypeInfo_AyAa6__initZ@Base 13 + _D13TypeInfo_Enum6__initZ@Base 13 + _D13TypeInfo_Enum6__vtblZ@Base 13 + _D13TypeInfo_Enum7__ClassZ@Base 13 + _D13TypeInfo_G12a6__initZ@Base 13 + _D13TypeInfo_G48a6__initZ@Base 13 + _D13TypeInfo_xAPv6__initZ@Base 13 + _D13TypeInfo_xAya6__initZ@Base 13 + _D13TypeInfo_xG8h6__initZ@Base 13 + _D14TypeInfo_Array6__initZ@Base 13 + _D14TypeInfo_Array6__vtblZ@Base 13 + _D14TypeInfo_Array7__ClassZ@Base 13 + _D14TypeInfo_AxAya6__initZ@Base 13 + _D14TypeInfo_Class6__initZ@Base 13 + _D14TypeInfo_Class6__vtblZ@Base 13 + _D14TypeInfo_Class7__ClassZ@Base 13 + _D14TypeInfo_Const6__initZ@Base 13 + _D14TypeInfo_Const6__vtblZ@Base 13 + _D14TypeInfo_Const7__ClassZ@Base 13 + _D14TypeInfo_HAxam6__initZ@Base 13 + _D14TypeInfo_Inout6__initZ@Base 13 + _D14TypeInfo_Inout6__vtblZ@Base 13 + _D14TypeInfo_Inout7__ClassZ@Base 13 + _D14TypeInfo_Tuple6__initZ@Base 13 + _D14TypeInfo_Tuple6__vtblZ@Base 13 + _D14TypeInfo_Tuple7__ClassZ@Base 13 + _D14TypeInfo_xAAya6__initZ@Base 13 + _D14TypeInfo_xG12a6__initZ@Base 13 + _D14TypeInfo_xG48a6__initZ@Base 13 + _D15TypeInfo_HAxaxm6__initZ@Base 13 + _D15TypeInfo_Shared6__initZ@Base 13 + _D15TypeInfo_Shared6__vtblZ@Base 13 + _D15TypeInfo_Shared7__ClassZ@Base 13 + _D15TypeInfo_Struct6__initZ@Base 13 + _D15TypeInfo_Struct6__vtblZ@Base 13 + _D15TypeInfo_Struct7__ClassZ@Base 13 + _D15TypeInfo_Vector6__initZ@Base 13 + _D15TypeInfo_Vector6__vtblZ@Base 13 + _D15TypeInfo_Vector7__ClassZ@Base 13 + _D15TypeInfo_xHAxam6__initZ@Base 13 + _D16TypeInfo_HPxvAya6__initZ@Base 13 + _D16TypeInfo_Pointer6__initZ@Base 13 + _D16TypeInfo_Pointer6__vtblZ@Base 13 + _D16TypeInfo_Pointer7__ClassZ@Base 13 + _D17TypeInfo_Delegate6__initZ@Base 13 + _D17TypeInfo_Delegate6__vtblZ@Base 13 + _D17TypeInfo_Delegate7__ClassZ@Base 13 + _D17TypeInfo_Function6__initZ@Base 13 + _D17TypeInfo_Function6__vtblZ@Base 13 + _D17TypeInfo_Function7__ClassZ@Base 13 + _D18TypeInfo_FNbMxPvZm6__initZ@Base 14 + _D18TypeInfo_Interface6__initZ@Base 13 + _D18TypeInfo_Interface6__vtblZ@Base 13 + _D18TypeInfo_Interface7__ClassZ@Base 13 + _D18TypeInfo_Invariant6__initZ@Base 13 + _D18TypeInfo_Invariant6__vtblZ@Base 13 + _D18TypeInfo_Invariant7__ClassZ@Base 13 + _D18TypeInfo_xC6Object6__initZ@Base 13 + _D19TypeInfo_DFNbMxPvZm6__initZ@Base 14 + _D20TypeInfo_S2rt3aaA2AA6__initZ@Base 13 + _D20TypeInfo_S6object2AA6__initZ@Base 13 + _D20TypeInfo_StaticArray6__initZ@Base 13 + _D20TypeInfo_StaticArray6__vtblZ@Base 13 + _D20TypeInfo_StaticArray7__ClassZ@Base 13 + _D20TypeInfo_xDFNbMxPvZm6__initZ@Base 14 + _D22TypeInfo_FNbC6ObjectZv6__initZ@Base 13 + _D22TypeInfo_S2rt3aaA4Impl6__initZ@Base 13 + _D23TypeInfo_DFNbC6ObjectZv6__initZ@Base 13 + _D23TypeInfo_S2rt3aaA5Range6__initZ@Base 13 + _D24TypeInfo_S2rt3aaA6Bucket6__initZ@Base 13 + _D24TypeInfo_S2rt5tlsgc4Data6__initZ@Base 13 + _D24TypeInfo_xDFNbC6ObjectZv6__initZ@Base 13 + _D25TypeInfo_AssociativeArray6__initZ@Base 13 + _D25TypeInfo_AssociativeArray6__vtblZ@Base 13 + _D25TypeInfo_AssociativeArray7__ClassZ@Base 13 + _D25TypeInfo_AxDFNbC6ObjectZv6__initZ@Base 13 + _D25TypeInfo_S4core6memory2GC6__initZ@Base 13 + _D25TypeInfo_S6object7AARange6__initZ@Base 13 + _D25TypeInfo_xADFNbC6ObjectZv6__initZ@Base 13 + _D25TypeInfo_xS2rt3aaA6Bucket6__initZ@Base 13 + _D26TypeInfo_AxS2rt3aaA6Bucket6__initZ@Base 13 + _D26TypeInfo_S2rt6dmain25CArgs6__initZ@Base 13 + _D26TypeInfo_xAS2rt3aaA6Bucket6__initZ@Base 13 + _D27TypeInfo_S4core6int1284Cent6__initZ@Base 13 + _D27TypeInfo_S6object9Interface6__initZ@Base 13 + _D28TypeInfo_E2rt3aaA4Impl5Flags6__initZ@Base 13 + _D29TypeInfo_S2rt9profilegc5Entry6__initZ@Base 13 + _D29TypeInfo_S4core4time8Duration6__initZ@Base 13 + _D29TypeInfo_S4core5bitop7Split646__initZ@Base 13 + _D29TypeInfo_S4core7runtime5CArgs6__initZ@Base 13 + _D29TypeInfo_S6object10ModuleInfo6__initZ@Base 13 + _D29TypeInfo_xE2rt3aaA4Impl5Flags6__initZ@Base 13 + _D2rt3aaA10allocEntryFMxPSQyQx4ImplMxPvZPv@Base 13 + _D2rt3aaA11__moduleRefZ@Base 13 + _D2rt3aaA11fakeEntryTIFNbKSQzQy4ImplxC8TypeInfoxQlZ13tiMangledNameyAa@Base 13 + _D2rt3aaA11fakeEntryTIFNbKSQzQy4ImplxC8TypeInfoxQlZC15TypeInfo_Struct@Base 13 + _D2rt3aaA11rtinfoEntryFNaNbKSQBbQBb4ImplPymQdPmmZPyv@Base 13 + _D2rt3aaA12__ModuleInfoZ@Base 13 + _D2rt3aaA12allocBucketsFNaNbNemZASQBgQBg6Bucket@Base 13 + _D2rt3aaA2AA5emptyMxFNaNbNdNiNfZb@Base 14 + _D2rt3aaA2AA6__initZ@Base 13 + _D2rt3aaA3mixFNaNbNiNfmZm@Base 13 + _D2rt3aaA4Impl11__xopEqualsMxFKxSQBfQBfQBeZb@Base 13 + _D2rt3aaA4Impl14findSlotInsertMNgFNaNbNimZPNgSQBsQBs6Bucket@Base 13 + _D2rt3aaA4Impl14findSlotLookupMNgFmMxPvMxC8TypeInfoZPNgSQCcQCc6Bucket@Base 13 + _D2rt3aaA4Impl3dimMxFNaNbNdNiNfZm@Base 13 + _D2rt3aaA4Impl4growMFNaNbMxC8TypeInfoZv@Base 13 + _D2rt3aaA4Impl4maskMxFNaNbNdNiZm@Base 13 + _D2rt3aaA4Impl5clearMFNaNbNeZv@Base 14 + _D2rt3aaA4Impl6__ctorMFNbNcMxC25TypeInfo_AssociativeArraymZSQCgQCgQCf@Base 13 + _D2rt3aaA4Impl6__initZ@Base 13 + _D2rt3aaA4Impl6lengthMxFNaNbNdNiNfZm@Base 14 + _D2rt3aaA4Impl6resizeMFNaNbmZv@Base 13 + _D2rt3aaA4Impl6shrinkMFNaNbMxC8TypeInfoZv@Base 13 + _D2rt3aaA4Impl9__xtoHashFNbNeKxSQBeQBeQBdZm@Base 13 + _D2rt3aaA5Range6__initZ@Base 13 + _D2rt3aaA6Bucket5emptyMxFNaNbNdNiZb@Base 13 + _D2rt3aaA6Bucket6__initZ@Base 13 + _D2rt3aaA6Bucket6filledMxFNaNbNdNiNfZb@Base 13 + _D2rt3aaA6Bucket7deletedMxFNaNbNdNiZb@Base 13 + _D2rt3aaA6talignFNaNbNiNfmmZm@Base 13 + _D2rt3aaA7hasDtorFNaNbxC8TypeInfoZb@Base 13 + _D2rt3aaA8calcHashFNbMxPvMxPSQBbQBb4ImplZm@Base 14 + _D2rt3aaA8nextpow2FNaNbNixmZm@Base 13 + _D2rt3aaA9entryDtorFPvxC15TypeInfo_StructZv@Base 13 + _D2rt3aaA9getRTInfoFNaNbxC8TypeInfoZPyv@Base 13 + _D2rt3adi11__moduleRefZ@Base 13 + _D2rt3adi12__ModuleInfoZ@Base 13 + _D2rt3deh11__moduleRefZ@Base 13 + _D2rt3deh12__ModuleInfoZ@Base 13 + _D2rt4util7utility10safeAssertFNbNiNfbMAyaMQemZv@Base 13 + _D2rt4util7utility11__moduleRefZ@Base 13 + _D2rt4util7utility12__ModuleInfoZ@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTdZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTdZQByZm@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTeZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTeZQByZm@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTfZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTfZQByZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_c8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_j8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_n11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n4swapMxFNaNbNiNfPvQcZv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n5tsizeMxFNaNbNdNiNfZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_n6equalsMxFNaNbNiNfIPvIQdZb@Base 13 + _D2rt4util8typeinfo10TypeInfo_n6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n7compareMxFNaNbNiNfIPvIQdZi@Base 13 + _D2rt4util8typeinfo10TypeInfo_n7getHashMxFNaNbNiNfMxPvZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_n8toStringMxFNaNbNiNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_o8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_p8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_q8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_r8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_v5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo10TypeInfo_v7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_v8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ac8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Aj8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ao8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ap8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Aq8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ar8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Av4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo11TypeInfo_Av8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo11__moduleRefZ@Base 13 + _D2rt4util8typeinfo12TypeInfo_Aya8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo12__ModuleInfoZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe11initializerMxFNaNbNeZ1cyG1EQEeQEeQCrQCm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf11initializerMxFNaNbNeZ1cyG1EQEfQEfQCsQCn@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg11initializerMxFNaNbNeZ1cyG1EQEgQEgQCtQCo@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw11initializerMxFNaNbNeZ1cyG1a@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw11initializerMxFNaNbNeZ1cyG1d@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw11initializerMxFNaNbNeZ1cyG1e@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw11initializerMxFNaNbNeZ1cyG1f@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw11initializerMxFNaNbNeZ1cyG1u@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw11initializerMxFNaNbNeZ1cyG1w@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd8toStringMxFNbNfZAya@Base 13 + _D2rt5cast_11__moduleRefZ@Base 13 + _D2rt5cast_12__ModuleInfoZ@Base 13 + _D2rt5cast_18areClassInfosEqualFNaNbNiNfMxC14TypeInfo_ClassMxQtZb@Base 13 + _D2rt5minfo11ModuleGroup11__xopEqualsMxFKxSQBpQBpQBmZb@Base 13 + _D2rt5minfo11ModuleGroup11runTlsCtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup11runTlsDtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup12genCyclePathMFNbmmAAiZAm@Base 13 + _D2rt5minfo11ModuleGroup4freeMFZv@Base 13 + _D2rt5minfo11ModuleGroup6__ctorMFNbNcNiAyPS6object10ModuleInfoZSQCkQCkQCh@Base 13 + _D2rt5minfo11ModuleGroup6__initZ@Base 13 + _D2rt5minfo11ModuleGroup7modulesMxFNbNdNiZAyPS6object10ModuleInfo@Base 13 + _D2rt5minfo11ModuleGroup8runCtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup8runDtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup9__xtoHashFNbNeKxSQBoQBoQBlZm@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ8findDepsMFNbmPmZ10stackFrame6__initZ@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZv@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFZv@Base 13 + _D2rt5minfo11__moduleRefZ@Base 13 + _D2rt5minfo12__ModuleInfoZ@Base 13 + _D2rt5minfo17moduleinfos_applyFMDFyPS6object10ModuleInfoZiZi@Base 13 + _D2rt5tlsgc11__moduleRefZ@Base 13 + _D2rt5tlsgc12__ModuleInfoZ@Base 13 + _D2rt5tlsgc14processGCMarksFNbPvMDFNbQhZiZv@Base 13 + _D2rt5tlsgc4Data6__initZ@Base 13 + _D2rt5tlsgc4initFNbNiZPv@Base 13 + _D2rt5tlsgc4scanFNbPvMDFNbQhQjZvZv@Base 13 + _D2rt5tlsgc7destroyFNbNiPvZv@Base 13 + _D2rt6aApply11__moduleRefZ@Base 13 + _D2rt6aApply12__ModuleInfoZ@Base 13 + _D2rt6config11__moduleRefZ@Base 13 + _D2rt6config12__ModuleInfoZ@Base 13 + _D2rt6config13rt_linkOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6config15rt_configOptionFNbNiAyaMDFNbNiQkZQnbZQr@Base 13 + _D2rt6config16rt_cmdlineOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6config16rt_envvarsOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6dmain210_initCountOm@Base 13 + _D2rt6dmain211__moduleRefZ@Base 13 + _D2rt6dmain212__ModuleInfoZ@Base 13 + _D2rt6dmain212traceHandlerPFPvZC6object9Throwable9TraceInfo@Base 13 + _D2rt6dmain214UnitTestResult6__initZ@Base 13 + _D2rt6dmain215formatThrowableFC6object9ThrowableMDFNbIAaZvZv@Base 13 + _D2rt6dmain216traceDeallocatorPFNbC6object9Throwable9TraceInfoZv@Base 13 + _D2rt6dmain221parseExceptionOptionsFNbNiZb@Base 13 + _D2rt6dmain25CArgs6__initZ@Base 13 + _D2rt6dmain26_cArgsSQsQr5CArgs@Base 13 + _D2rt6dmain27_d_argsAAya@Base 13 + _D2rt6memory11__moduleRefZ@Base 13 + _D2rt6memory12__ModuleInfoZ@Base 13 + _D2rt6memory16initStaticDataGCFZv@Base 13 + _D2rt7aApplyR11__moduleRefZ@Base 13 + _D2rt7aApplyR12__ModuleInfoZ@Base 13 + _D2rt7ehalloc11__moduleRefZ@Base 13 + _D2rt7ehalloc12__ModuleInfoZ@Base 13 + _D2rt8arraycat11__moduleRefZ@Base 13 + _D2rt8arraycat12__ModuleInfoZ@Base 13 + _D2rt8lifetime10__arrayPadFNaNbNemxC8TypeInfoZm@Base 13 + _D2rt8lifetime10__blkcacheFNbNdZPS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime11__moduleRefZ@Base 13 + _D2rt8lifetime11hasPostblitFNaNbIC8TypeInfoZb@Base 13 + _D2rt8lifetime11newCapacityFmmZm@Base 13 + _D2rt8lifetime12__ModuleInfoZ@Base 13 + _D2rt8lifetime12__arrayAllocFNaNbmMxC8TypeInfoxQlZS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime12__arrayAllocFmKS4core6memory8BlkInfo_MxC8TypeInfoxQlZQBm@Base 13 + _D2rt8lifetime12__doPostblitFPvmxC8TypeInfoZv@Base 13 + _D2rt8lifetime12__getBlkInfoFNbPvZPS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime12__nextBlkIdxi@Base 13 + _D2rt8lifetime14collectHandlerPFC6ObjectZb@Base 13 + _D2rt8lifetime14finalize_arrayFPvmxC15TypeInfo_StructZv@Base 13 + _D2rt8lifetime14processGCMarksFNbPS4core6memory8BlkInfo_MDFNbPvZiZv@Base 13 + _D2rt8lifetime15finalize_array2FNbPvmZv@Base 13 + _D2rt8lifetime15finalize_structFNbPvmZv@Base 13 + _D2rt8lifetime18__arrayAllocLengthFNaNbKS4core6memory8BlkInfo_xC8TypeInfoZm@Base 13 + _D2rt8lifetime18__blkcache_storagePS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime18structTypeInfoSizeFNaNbNixC8TypeInfoZm@Base 13 + _D2rt8lifetime19_d_arraysetlengthiTUxC8TypeInfomPAvZ12doInitializeFNaNbNiPvQcxAvZv@Base 13 + _D2rt8lifetime19_staticDtor_L487_C1FZv@Base 14 + _D2rt8lifetime20ArrayAllocLengthLock6__initZ@Base 13 + _D2rt8lifetime20ArrayAllocLengthLock6__vtblZ@Base 13 + _D2rt8lifetime20ArrayAllocLengthLock7__ClassZ@Base 13 + _D2rt8lifetime20__insertBlkInfoCacheFNbS4core6memory8BlkInfo_PQxZv@Base 13 + _D2rt8lifetime21__setArrayAllocLengthFNaNbKS4core6memory8BlkInfo_mbxC8TypeInfomZb@Base 13 + _D2rt8lifetime26hasArrayFinalizerInSegmentFNbPvmIAvZi@Base 13 + _D2rt8lifetime27hasStructFinalizerInSegmentFNbPvmIAvZi@Base 13 + _D2rt8lifetime9unqualifyFNaNbNiNkMNgC8TypeInfoZNgQn@Base 13 + _D2rt8monitor_10getMonitorFNaNbNiC6ObjectZPOSQBrQBr7Monitor@Base 13 + _D2rt8monitor_10setMonitorFNaNbNiC6ObjectPOSQBqQBq7MonitorZv@Base 13 + _D2rt8monitor_11__moduleRefZ@Base 13 + _D2rt8monitor_11unlockMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_12__ModuleInfoZ@Base 13 + _D2rt8monitor_12destroyMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_12disposeEventFNbPSQBfQBf7MonitorC6ObjectZv@Base 13 + _D2rt8monitor_13deleteMonitorFNbNiPSQBiQBi7MonitorZv@Base 13 + _D2rt8monitor_13ensureMonitorFNbC6ObjectZPOSQBqQBq7Monitor@Base 13 + _D2rt8monitor_4gmtxS4core3sys5posixQk5types15pthread_mutex_t@Base 13 + _D2rt8monitor_5gattrS4core3sys5posixQk5types19pthread_mutexattr_t@Base 13 + _D2rt8monitor_7Monitor11__xopEqualsMxFKxSQBnQBnQBhZb@Base 13 + _D2rt8monitor_7Monitor6__initZ@Base 13 + _D2rt8monitor_7Monitor9__xtoHashFNbNeKxSQBmQBmQBgZm@Base 13 + _D2rt8monitor_7monitorFNaNbNcNdNiNkMC6ObjectZOPSQBuQBu7Monitor@Base 13 + _D2rt8monitor_9initMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_9lockMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8sections11__moduleRefZ@Base 13 + _D2rt8sections12__ModuleInfoZ@Base 13 + _D2rt8sections20scanDataSegPreciselyFNbNiZ3errC6object5Error@Base 13 + _D2rt8sections20scanDataSegPreciselyFNbNiZb@Base 13 + _D2rt9critical_11__moduleRefZ@Base 13 + _D2rt9critical_11ensureMutexFNbPOSQBgQBg18D_CRITICAL_SECTIONZv@Base 13 + _D2rt9critical_12__ModuleInfoZ@Base 13 + _D2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D2rt9critical_3gcsOSQtQs18D_CRITICAL_SECTION@Base 13 + _D2rt9critical_4headOPSQvQu18D_CRITICAL_SECTION@Base 13 + _D2rt9profilegc10accumulateFNbNiAyakQeQgmZv@Base 13 + _D2rt9profilegc11__moduleRefZ@Base 13 + _D2rt9profilegc11logfilenameAya@Base 13 + _D2rt9profilegc12__ModuleInfoZ@Base 13 + _D2rt9profilegc15globalNewCountsS4core8internal9container7hashtab__T7HashTabTAxaTSQDcQDc5EntryZQBb@Base 13 + _D2rt9profilegc18_staticDtor_L94_C1FZ11__critsec20OPv@Base 14 + _D2rt9profilegc18_staticDtor_L94_C1FZv@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result11__xopEqualsMxFKxSQCqQCqQCjFZQBlZb@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result6__initZ@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result9__xtoHashFNbNeKxSQCpQCpQCiFZQBkZm@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result9qsort_cmpUNbNiMxPvMxQeZi@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZv@Base 14 + _D2rt9profilegc5Entry6__initZ@Base 13 + _D2rt9profilegc6bufferAa@Base 13 + _D2rt9profilegc9newCountsS4core8internal9container7hashtab__T7HashTabTAxaTSQCvQCv5EntryZQBb@Base 13 + _D30TypeInfo_E4core4time9ClockType6__initZ@Base 13 + _D30TypeInfo_S2rt8monitor_7Monitor6__initZ@Base 13 + _D30TypeInfo_S4core5bitop8BitRange6__initZ@Base 13 + _D30TypeInfo_xS2rt9profilegc5Entry6__initZ@Base 13 + _D30TypeInfo_yS6object10ModuleInfo6__initZ@Base 13 + _D31TypeInfo_C3gcc3deh11CxxTypeInfo6__initZ@Base 13 + _D31TypeInfo_PyS6object10ModuleInfo6__initZ@Base 13 + _D31TypeInfo_S3gcc8sections3elf3DSO6__initZ@Base 13 + _D31TypeInfo_S4core5cpuid9CacheInfo6__initZ@Base 13 + _D31TypeInfo_S4core6memory2GC5Stats6__initZ@Base 13 + _D31TypeInfo_S4core6memory8BlkInfo_6__initZ@Base 13 + _D31TypeInfo_S4core7runtime7Runtime6__initZ@Base 13 + _D31TypeInfo_S4core8demangle6Buffer6__initZ@Base 14 + _D31TypeInfo_yPS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_AyPS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_C6object6Object7Monitor6__initZ@Base 13 + _D32TypeInfo_S2rt5minfo11ModuleGroup6__initZ@Base 13 + _D32TypeInfo_S4core2gc6config6Config6__initZ@Base 13 + _D32TypeInfo_S4core4stdc4fenv6fenv_t6__initZ@Base 13 + _D32TypeInfo_S4core4sync5event5Event6__initZ@Base 13 + _D32TypeInfo_S4core8demangle7NoHooks6__initZ@Base 13 + _D32TypeInfo_S6object13__va_list_tag6__initZ@Base 13 + _D32TypeInfo_xPyS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_xS3gcc8sections3elf3DSO6__initZ@Base 13 + _D32TypeInfo_xS4core8demangle6Buffer6__initZ@Base 14 + _D32TypeInfo_yS4core5cpuid9CacheInfo6__initZ@Base 13 + _D33TypeInfo_AxPyS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_E4core6memory2GC7BlkAttr6__initZ@Base 13 + _D33TypeInfo_E4core8demangle8TypeCtor6__initZ@Base 13 + _D33TypeInfo_E4core9attribute7mustuse6__initZ@Base 13 + _D33TypeInfo_OC4core4sync5mutex5Mutex6__initZ@Base 13 + _D33TypeInfo_PxS3gcc8sections3elf3DSO6__initZ@Base 13 + _D33TypeInfo_S4core2gc8registry5Entry6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Lib6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Rel6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Sym6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Lib6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Rel6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Sym6__initZ@Base 13 + _D33TypeInfo_S4core4stdc5stdio6fpos_t6__initZ@Base 13 + _D33TypeInfo_S4core4stdc6locale5lconv6__initZ@Base 13 + _D33TypeInfo_S4core4stdc6stdlib5div_t6__initZ@Base 13 + _D33TypeInfo_S4core8demangle8BufSlice6__initZ@Base 14.2 + _D33TypeInfo_S6object14OffsetTypeInfo6__initZ@Base 13 + _D33TypeInfo_xAPyS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_xAyPS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_xC6object6Object7Monitor6__initZ@Base 13 + _D33TypeInfo_xPS3gcc8sections3elf3DSO6__initZ@Base 13 + _D33TypeInfo_xS2rt5minfo11ModuleGroup6__initZ@Base 13 + _D33TypeInfo_xS4core4sync5event5Event6__initZ@Base 13 + _D33TypeInfo_xS4core8demangle7NoHooks6__initZ@Base 13 + _D34TypeInfo_C4core2gc11gcinterface2GC6__initZ@Base 13 + _D34TypeInfo_E3gcc6config11ThreadModel6__initZ@Base 13 + _D34TypeInfo_S4core3sys5posix6direntQh6__initZ@Base 13 + _D34TypeInfo_S4core4stdc6stdlib6ldiv_t6__initZ@Base 13 + _D34TypeInfo_S4core4time12TickDuration6__initZ@Base 13 + _D34TypeInfo_S4core5cpuid11CpuFeatures6__initZ@Base 13 + _D35TypeInfo_E4core6atomic11MemoryOrder6__initZ@Base 13 + _D35TypeInfo_S3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Ehdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Move6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Phdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Rela6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Shdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Ehdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Move6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Phdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Rela6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Shdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys5linux7ifaddrsQi6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix3aio5aiocb6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix3grp5group6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix7termiosQi6__initZ@Base 13 + _D35TypeInfo_S4core4stdc5stdio8_IO_FILE6__initZ@Base 13 + _D35TypeInfo_S4core4stdc6stdlib7lldiv_t6__initZ@Base 13 + _D35TypeInfo_S4core8internal5newaa4Impl6__initZ@Base 14 + _D35TypeInfo_S4core9attribute9gnuAbiTag6__initZ@Base 13 + _D36TypeInfo_E4core4stdc6config8__c_long6__initZ@Base 13 + _D36TypeInfo_FZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D36TypeInfo_S2rt6dmain214UnitTestResult6__initZ@Base 13 + _D36TypeInfo_S3gcc9backtrace10SymbolInfo6__initZ@Base 13 + _D36TypeInfo_S4core2gc11gcinterface4Root6__initZ@Base 13 + _D36TypeInfo_S4core3sys3elf11Elf32_gptab6__initZ@Base 13 + _D36TypeInfo_S4core3sys3elf11Elf_Options6__initZ@Base 13 + _D36TypeInfo_S4core3sys5linux2fs7fsxattr6__initZ@Base 13 + _D36TypeInfo_S4core3sys5posix3pwd6passwd6__initZ@Base 13 + _D36TypeInfo_S4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D36TypeInfo_xS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D37TypeInfo_C6object9Throwable9TraceInfo6__initZ@Base 13 + _D37TypeInfo_E4core4stdc6config9__c_ulong6__initZ@Base 13 + _D37TypeInfo_E4core9attribute10standalone6__initZ@Base 14.2 + _D37TypeInfo_PFZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D37TypeInfo_PxS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D37TypeInfo_S3gcc8sections3elf9ThreadDSO6__initZ@Base 13 + _D37TypeInfo_S3gcc8sections3elf9tls_index6__initZ@Base 13 + _D37TypeInfo_S4core2gc11gcinterface5Range6__initZ@Base 13 + _D37TypeInfo_S4core3sys3elf12Elf32_Verdef6__initZ@Base 13 + _D37TypeInfo_S4core3sys3elf12Elf64_Verdef6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix3aio7aiocb646__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix4poll6pollfd6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix5fcntl5flock6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posixQk3uio5iovec6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posixQk7utsnameQi6__initZ@Base 13 + _D37TypeInfo_S4core4stdc6wchar_9mbstate_t6__initZ@Base 13 + _D37TypeInfo_S4core6stdcpp4new_9nothrow_t6__initZ@Base 13 + _D37TypeInfo_S4core8internal5newaa6Bucket6__initZ@Base 14 + _D37TypeInfo_xPS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D38TypeInfo_S3gcc3deh18CxaExceptionHeader6__initZ@Base 13 + _D38TypeInfo_S4core2gc6config11PrettyBytes6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_RegInfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Syminfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Verdaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Vernaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Verneed6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Syminfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Verdaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Vernaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Verneed6__initZ@Base 13 + _D38TypeInfo_S4core3sys5linux4link7r_debug6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix4stdc4time2tm6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix5netdb6netent6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix6locale5lconv6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posixQk3msg6msgbuf6__initZ@Base 13 + _D38TypeInfo_S4core8internal5newaa7AAShell6__initZ@Base 14 + _D38TypeInfo_S4core8internal7convert5Float6__initZ@Base 13 + _D38TypeInfo_xPFZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D38TypeInfo_xS4core2gc11gcinterface5Range6__initZ@Base 13 + _D38TypeInfo_xS4core8internal5newaa6Bucket6__initZ@Base 14 + _D39TypeInfo_AC4core6thread8osthread6Thread6__initZ@Base 13 + _D39TypeInfo_AxS4core8internal5newaa6Bucket6__initZ@Base 14 + _D39TypeInfo_S3gcc9backtrace13SymbolOrError6__initZ@Base 13 + _D39TypeInfo_S4core3sys3elf14Elf_Options_Hw6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux3elf9Elf32_Dyn6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux3elf9Elf64_Dyn6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux4link8link_map6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix4time8timespec6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5dlfcn7Dl_info6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5netdb7hostent6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5netdb7servent6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5utime7utimbuf6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix6signal6sigval6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posixQk3msg7msginfo6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posixQk4stat6stat_t6__initZ@Base 13 + _D39TypeInfo_S4core4stdc8inttypes9imaxdiv_t6__initZ@Base 13 + _D39TypeInfo_S4core6memory2GC12ProfileStats6__initZ@Base 13 + _D39TypeInfo_S4core6thread7context8Callable6__initZ@Base 13 + _D39TypeInfo_S4core7runtime14UnitTestResult6__initZ@Base 13 + _D39TypeInfo_S4core8internal2gc4bits6GCBits6__initZ@Base 13 + _D39TypeInfo_xAS4core8internal5newaa6Bucket6__initZ@Base 14 + _D3etc8valgrindQj11__moduleRefZ@Base 14 + _D3etc8valgrindQj12__ModuleInfoZ@Base 14 + _D3gcc10attributes11__moduleRefZ@Base 13 + _D3gcc10attributes12__ModuleInfoZ@Base 13 + _D3gcc12libbacktrace11__moduleRefZ@Base 13 + _D3gcc12libbacktrace12__ModuleInfoZ@Base 13 + _D3gcc12libbacktrace15backtrace_state6__initZ@Base 13 + _D3gcc3deh11CxxTypeInfo11__InterfaceZ@Base 13 + _D3gcc3deh11__moduleRefZ@Base 13 + _D3gcc3deh12__ModuleInfoZ@Base 13 + _D3gcc3deh12getClassInfoFNiPSQBb6unwind7generic17_Unwind_ExceptionPxhZC14TypeInfo_Class@Base 13 + _D3gcc3deh15ExceptionHeader11__xopEqualsMxFKxSQBsQBrQBqZb@Base 13 + _D3gcc3deh15ExceptionHeader17toExceptionHeaderFNiPSQBx6unwind7generic17_Unwind_ExceptionZPSQDlQDkQDj@Base 13 + _D3gcc3deh15ExceptionHeader3popFNiZPSQBjQBiQBh@Base 13 + _D3gcc3deh15ExceptionHeader4freeFNiPSQBjQBiQBhZv@Base 13 + _D3gcc3deh15ExceptionHeader4pushMFNiZv@Base 13 + _D3gcc3deh15ExceptionHeader4saveFNiPSQBj6unwind7generic17_Unwind_ExceptionmiPxhmZv@Base 13 + _D3gcc3deh15ExceptionHeader5stackPSQBhQBgQBf@Base 13 + _D3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D3gcc3deh15ExceptionHeader6createFNiC6object9ThrowableZPSQCeQCdQCc@Base 13 + _D3gcc3deh15ExceptionHeader7restoreFNiPSQBm6unwind7generic17_Unwind_ExceptionJiJPxhJmJmZv@Base 13 + _D3gcc3deh15ExceptionHeader9__xtoHashFNbNeKxSQBrQBqQBpZm@Base 13 + _D3gcc3deh15ExceptionHeader9ehstorageSQBkQBjQBi@Base 13 + _D3gcc3deh17__gdc_personalityFimPSQBg6unwind7generic17_Unwind_ExceptionPSQCtQBnQBj15_Unwind_ContextZk@Base 13 + _D3gcc3deh17actionTableLookupFiPSQBf6unwind7generic17_Unwind_ExceptionPxhQdmmQhhJbJbZi@Base 13 + _D3gcc3deh18CONTINUE_UNWINDINGFPSQBf6unwind7generic17_Unwind_ExceptionPSQCsQBnQBj15_Unwind_ContextZk@Base 13 + _D3gcc3deh18CxaExceptionHeader14getAdjustedPtrFPSQBv6unwind7generic17_Unwind_ExceptionCQDhQDg11CxxTypeInfoZPv@Base 13 + _D3gcc3deh18CxaExceptionHeader17toExceptionHeaderFNiPSQCa6unwind7generic17_Unwind_ExceptionZPSQDoQDnQDm@Base 13 + _D3gcc3deh18CxaExceptionHeader4saveFNiPSQBm6unwind7generic17_Unwind_ExceptionPvZv@Base 13 + _D3gcc3deh18CxaExceptionHeader6__initZ@Base 13 + _D3gcc3deh19isGdcExceptionClassFNimZb@Base 13 + _D3gcc3deh19isGxxExceptionClassFNimZb@Base 13 + _D3gcc3deh20isDependentExceptionFNimZb@Base 13 + _D3gcc3deh8_d_throwUC6object9ThrowableZ17exception_cleanupUNikPSQCk6unwind7generic17_Unwind_ExceptionZv@Base 13 + _D3gcc3deh8scanLSDAFPxhmiPSQz6unwind7generic17_Unwind_ExceptionPSQClQBnQBj15_Unwind_ContextmJmJiZk@Base 13 + _D3gcc3deh9terminateFNiAyakZ11terminatingb@Base 13 + _D3gcc3deh9terminateFNiAyakZv@Base 13 + _D3gcc4simd11__moduleRefZ@Base 13 + _D3gcc4simd12__ModuleInfoZ@Base 13 + _D3gcc6config11__moduleRefZ@Base 13 + _D3gcc6config12__ModuleInfoZ@Base 13 + _D3gcc6emutls11__moduleRefZ@Base 13 + _D3gcc6emutls12__ModuleInfoZ@Base 13 + _D3gcc6unwind10arm_common11__moduleRefZ@Base 13 + _D3gcc6unwind10arm_common12__ModuleInfoZ@Base 13 + _D3gcc6unwind11__moduleRefZ@Base 13 + _D3gcc6unwind12__ModuleInfoZ@Base 13 + _D3gcc6unwind2pe11__moduleRefZ@Base 13 + _D3gcc6unwind2pe12__ModuleInfoZ@Base 13 + _D3gcc6unwind2pe12read_sleb128FNiKPxhZl@Base 13 + _D3gcc6unwind2pe12read_uleb128FNiKPxhZm@Base 13 + _D3gcc6unwind2pe18read_encoded_valueFNiPSQBnQBm7generic15_Unwind_ContexthKPxhZm@Base 13 + _D3gcc6unwind2pe21base_of_encoded_valueFNihPSQBrQBq7generic15_Unwind_ContextZm@Base 13 + _D3gcc6unwind2pe21size_of_encoded_valueFNihZk@Base 13 + _D3gcc6unwind2pe28read_encoded_value_with_baseFNihmKPxhZm@Base 13 + _D3gcc6unwind3arm11__moduleRefZ@Base 13 + _D3gcc6unwind3arm12__ModuleInfoZ@Base 13 + _D3gcc6unwind3c6x11__moduleRefZ@Base 13 + _D3gcc6unwind3c6x12__ModuleInfoZ@Base 13 + _D3gcc6unwind7generic11__moduleRefZ@Base 13 + _D3gcc6unwind7generic12__ModuleInfoZ@Base 13 + _D3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D3gcc7gthread11__moduleRefZ@Base 13 + _D3gcc7gthread12__ModuleInfoZ@Base 13 + _D3gcc7gthread18__gthread_active_pFNbNiZi@Base 13 + _D3gcc8builtins11__moduleRefZ@Base 13 + _D3gcc8builtins12__ModuleInfoZ@Base 13 + _D3gcc8builtins13__va_list_tag6__initZ@Base 13 + _D3gcc8sections11__moduleRefZ@Base 13 + _D3gcc8sections12__ModuleInfoZ@Base 13 + _D3gcc8sections18pinLoadedLibrariesFNbNiZPv@Base 13 + _D3gcc8sections20unpinLoadedLibrariesFNbNiPvZv@Base 13 + _D3gcc8sections22cleanupLoadedLibrariesFNbNiZv@Base 13 + _D3gcc8sections22inheritLoadedLibrariesFNbNiPvZv@Base 13 + _D3gcc8sections3elf10_rtLoadingb@Base 13 + _D3gcc8sections3elf11__moduleRefZ@Base 13 + _D3gcc8sections3elf11_loadedDSOsFNbNcNdNiZ1xS4core8internal9container5array__T5ArrayTSQDgQDfQCz9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf11_loadedDSOsFNbNcNdNiZS4core8internal9container5array__T5ArrayTSQDeQDdQCx9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf11getTLSRangeFNbNimmZAv@Base 13 + _D3gcc8sections3elf12__ModuleInfoZ@Base 13 + _D3gcc8sections3elf12_handleToDSOFNbNcNdNiZ1xS4core8internal9container7hashtab__T7HashTabTPvTPSQDpQDoQDi3DSOZQBc@Base 13 + _D3gcc8sections3elf12_handleToDSOFNbNcNdNiZS4core8internal9container7hashtab__T7HashTabTPvTPSQDnQDmQDg3DSOZQBc@Base 13 + _D3gcc8sections3elf12decThreadRefFPSQBiQBhQBb3DSObZv@Base 13 + _D3gcc8sections3elf12dsoForHandleFNbNiPvZPSQBpQBoQBi3DSO@Base 13 + _D3gcc8sections3elf12finiSectionsFNbNiZv@Base 13 + _D3gcc8sections3elf12incThreadRefFPSQBiQBhQBb3DSObZv@Base 13 + _D3gcc8sections3elf12initSectionsFNbNiZv@Base 13 + _D3gcc8sections3elf12scanSegmentsFNbNiKxS4core3sys5linux4link12dl_phdr_infoPSQCxQCwQCq3DSOZv@Base 14 + _D3gcc8sections3elf13findThreadDSOFNbNiPSQBnQBmQBg3DSOZPSQCdQCcQBw9ThreadDSO@Base 13 + _D3gcc8sections3elf13finiTLSRangesFNbNiPS4core8internal9container5array__T5ArrayTSQDcQDbQCv9ThreadDSOZQBcZv@Base 13 + _D3gcc8sections3elf13handleForAddrFNbNiPvZQd@Base 13 + _D3gcc8sections3elf13handleForNameFNbNixPaZPv@Base 13 + _D3gcc8sections3elf13initTLSRangesFNbNiZPS4core8internal9container5array__T5ArrayTSQDdQDcQCw9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf13runFinalizersFPSQBjQBiQBc3DSOZv@Base 13 + _D3gcc8sections3elf13scanTLSRangesFNbPS4core8internal9container5array__T5ArrayTSQDaQCzQCt9ThreadDSOZQBcMDFNbPvQcZvZv@Base 13 + _D3gcc8sections3elf15CompilerDSOData6__initZ@Base 13 + _D3gcc8sections3elf15getDependenciesFNbNiKxS4core3sys5linux4link12dl_phdr_infoKSQBk8internal9container5array__T5ArrayTPSQEoQEnQEh3DSOZQxZv@Base 14 + _D3gcc8sections3elf15setDSOForHandleFNbNiPSQBpQBoQBi3DSOPvZv@Base 13 + _D3gcc8sections3elf16linkMapForHandleFNbNiPvZPS4core3sys5linux4link8link_map@Base 13 + _D3gcc8sections3elf16registerGCRangesFNbNiPSQBqQBpQBj3DSOZv@Base 13 + _D3gcc8sections3elf17_handleToDSOMutexS4core3sys5posixQk5types15pthread_mutex_t@Base 13 + _D3gcc8sections3elf17unsetDSOForHandleFNbNiPSQBrQBqQBk3DSOPvZv@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ2DG6__initZ@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ8callbackUNbNiQBzmPvZi@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZb@Base 13 + _D3gcc8sections3elf18findSegmentForAddrFNbNiKxS4core3sys5linux4link12dl_phdr_infoIPvPSQBnQBlQCz10Elf64_PhdrZb@Base 14 + _D3gcc8sections3elf18unregisterGCRangesFNbNiPSQBsQBrQBl3DSOZv@Base 13 + _D3gcc8sections3elf20runModuleDestructorsFPSQBqQBpQBj3DSObZv@Base 13 + _D3gcc8sections3elf21_isRuntimeInitializedb@Base 13 + _D3gcc8sections3elf21runModuleConstructorsFPSQBrQBqQBk3DSObZv@Base 13 + _D3gcc8sections3elf3DSO11__fieldDtorMFNbNiZv@Base 13 + _D3gcc8sections3elf3DSO11__invariantMxFZv@Base 13 + _D3gcc8sections3elf3DSO11__xopEqualsMxFKxSQBoQBnQBhQBgZb@Base 13 + _D3gcc8sections3elf3DSO11moduleGroupMNgFNbNcNdNiNjZNgS2rt5minfo11ModuleGroup@Base 13 + _D3gcc8sections3elf3DSO12__invariant0MxFZv@Base 13 + _D3gcc8sections3elf3DSO14opApplyReverseFMDFKSQBrQBqQBkQBjZiZi@Base 13 + _D3gcc8sections3elf3DSO6__initZ@Base 13 + _D3gcc8sections3elf3DSO7modulesMxFNbNdNiZAyPS6object10ModuleInfo@Base 13 + _D3gcc8sections3elf3DSO7opApplyFMDFKSQBjQBiQBcQBbZiZi@Base 13 + _D3gcc8sections3elf3DSO8gcRangesMNgFNbNdNiZANgAv@Base 13 + _D3gcc8sections3elf3DSO8opAssignMFNbNcNiNjSQBpQBoQBiQBhZQo@Base 13 + _D3gcc8sections3elf3DSO8tlsRangeMxFNbNiZAv@Base 13 + _D3gcc8sections3elf3DSO9__xtoHashFNbNeKxSQBnQBmQBgQBfZm@Base 13 + _D3gcc8sections3elf7freeDSOFNbNiPSQBgQBfQz3DSOZv@Base 13 + _D3gcc8sections3elf9ThreadDSO11__xopEqualsMxFKxSQBuQBtQBnQBmZb@Base 13 + _D3gcc8sections3elf9ThreadDSO14updateTLSRangeMFNbNiZv@Base 13 + _D3gcc8sections3elf9ThreadDSO6__initZ@Base 13 + _D3gcc8sections3elf9ThreadDSO9__xtoHashFNbNeKxSQBtQBsQBmQBlZm@Base 13 + _D3gcc8sections3elf9finiLocksFNbNiZv@Base 13 + _D3gcc8sections3elf9initLocksFNbNiZv@Base 13 + _D3gcc8sections3elf9sizeOfTLSFNbNiZm@Base 13 + _D3gcc8sections3elf9tls_index6__initZ@Base 13 + _D3gcc8sections3elf__T7toRangeTyPS6object10ModuleInfoZQBgFNaNbNiPyQBiQfZAyQBq@Base 13 + _D3gcc8sections5macho11__moduleRefZ@Base 13 + _D3gcc8sections5macho12__ModuleInfoZ@Base 13 + _D3gcc8sections6common10safeAssertFNbNiNfbMAyaMQemZv@Base 13 + _D3gcc8sections6common11__moduleRefZ@Base 13 + _D3gcc8sections6common12__ModuleInfoZ@Base 13 + _D3gcc8sections6pecoff11__moduleRefZ@Base 13 + _D3gcc8sections6pecoff12__ModuleInfoZ@Base 13 + _D3gcc9attribute11__moduleRefZ@Base 13 + _D3gcc9attribute12__ModuleInfoZ@Base 13 + _D3gcc9backtrace10SymbolInfo6__initZ@Base 13 + _D3gcc9backtrace10formatLineFxSQBdQBc10SymbolInfoNkKG1536aZAa@Base 13 + _D3gcc9backtrace11__moduleRefZ@Base 13 + _D3gcc9backtrace12LibBacktrace11initializedb@Base 13 + _D3gcc9backtrace12LibBacktrace16initLibBacktraceFNiZv@Base 13 + _D3gcc9backtrace12LibBacktrace5statePSQBk12libbacktrace15backtrace_state@Base 13 + _D3gcc9backtrace12LibBacktrace6__ctorMFNiiZCQBqQBpQBi@Base 13 + _D3gcc9backtrace12LibBacktrace6__initZ@Base 13 + _D3gcc9backtrace12LibBacktrace6__vtblZ@Base 13 + _D3gcc9backtrace12LibBacktrace7__ClassZ@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKSQBuQBt13SymbolOrErrorZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKxAaZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKxAaZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace8toStringMxFZAya@Base 13 + _D3gcc9backtrace12__ModuleInfoZ@Base 13 + _D3gcc9backtrace13SymbolOrError6__initZ@Base 13 + _D3gcc9backtrace18SymbolCallbackInfo5resetMFZv@Base 13 + _D3gcc9backtrace18SymbolCallbackInfo6__initZ@Base 13 + _D3gcc9backtrace19SymbolCallbackInfo26__initZ@Base 13 + _D40TypeInfo_E4core6stdcpp4new_11align_val_t6__initZ@Base 13 + _D40TypeInfo_E4core6thread5fiber5Fiber5State6__initZ@Base 13 + _D40TypeInfo_E4core8demangle14FuncAttributes6__initZ@Base 13 + _D40TypeInfo_S4core3sys5linux4tipc9tipc_name6__initZ@Base 13 + _D40TypeInfo_S4core3sys5linux5input8input_id6__initZ@Base 14 + _D40TypeInfo_S4core3sys5posix5netdb8addrinfo6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix5netdb8protoent6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix6mqueue7mq_attr6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix6signal7stack_t6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3ipc8ipc_perm6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3msg8msqid_ds6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3shm8shmid_ds6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk4time7timeval6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk5ioctl6termio6__initZ@Base 13 + _D41TypeInfo_E4core3sys5posixQk4wait8idtype_t6__initZ@Base 13 + _D41TypeInfo_E4core3sys5posixQk7statvfs5FFlag6__initZ@Base 13 + _D41TypeInfo_E4core4stdc6config12__c_longlong6__initZ@Base 13 + _D41TypeInfo_E4core8internal5newaa4Impl5Flags6__initZ@Base 14 + _D41TypeInfo_OC4core4sync9condition9Condition6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux3elf10Elf32_Nhdr6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux3elf10Elf64_Nhdr6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux5input9ff_effect6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linux5input9ff_replay6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linux5sched9cpu_set_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linuxQg6if_arp6arphdr6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linuxQg6if_arp6arpreq6__initZ@Base 14 + _D41TypeInfo_S4core3sys5posix6signal8sigevent6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix6signal8sigset_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix6signal8sigstack6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix9semaphore5sem_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk5ioctl7winsize6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6select6fd_set6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6socket6linger6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6socket6msghdr6__initZ@Base 13 + _D42TypeInfo_E4core4stdc6config13__c_ulonglong6__initZ@Base 13 + _D42TypeInfo_E4core6thread5fiber5Fiber7Rethrow6__initZ@Base 13 + _D42TypeInfo_HC4core6thread8osthread6ThreadQBd6__initZ@Base 13 + _D42TypeInfo_S4core3sys5linux2fs12fstrim_range6__initZ@Base 13 + _D42TypeInfo_S4core3sys5linux4tipc10tipc_event6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posix4time10itimerspec6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posix6signal9siginfo_t6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk4time9itimerval6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk5ioctl8termios26__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk6socket7cmsghdr6__initZ@Base 13 + _D42TypeInfo_S4core8demangle16ManglingFlagInfo6__initZ@Base 13 + _D42TypeInfo_S4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D42TypeInfo_xE4core8internal5newaa4Impl5Flags6__initZ@Base 14 + _D43TypeInfo_E4core6thread10threadbase8IsMarked6__initZ@Base 13 + _D43TypeInfo_E4core6thread10threadbase8ScanType6__initZ@Base 13 + _D43TypeInfo_E4core8internal2gc2os11ChildStatus6__initZ@Base 13 + _D43TypeInfo_OS4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D43TypeInfo_S2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux2fs13inodes_stat_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux3elf12Elf32_auxv_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux3elf12Elf64_auxv_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux4tipc11tipc_portid6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux4tipc11tipc_subscr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5dlfcn10Dl_serinfo6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5dlfcn10Dl_serpath6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5input10ff_trigger6__initZ@Base 14 + _D43TypeInfo_S4core3sys5linux5input10input_mask6__initZ@Base 14 + _D43TypeInfo_S4core3sys5linux5input9ff_effect1U6__initZ@Base 14 + _D43TypeInfo_S4core3sys5posix4arpa4inet7in_addr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk2un11sockaddr_un6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk6socket8sockaddr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk8resource6rlimit6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk8resource6rusage6__initZ@Base 13 + _D43TypeInfo_S4core4stdc9stdatomic11atomic_flag6__initZ@Base 14.2 + _D43TypeInfo_S4core6thread5types13ll_ThreadData6__initZ@Base 13 + _D44TypeInfo_E2rt4util7utility16__c_complex_real6__initZ@Base 13 + _D44TypeInfo_E4core4stdc9stdatomic12memory_order6__initZ@Base 14.2 + _D44TypeInfo_E4core6thread7context8Callable4Call6__initZ@Base 13 + _D44TypeInfo_OS2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D44TypeInfo_S3gcc8sections3elf15CompilerDSOData6__initZ@Base 13 + _D44TypeInfo_S3gcc9backtrace18SymbolCallbackInfo6__initZ@Base 13 + _D44TypeInfo_S4core3sys5linux4link12dl_phdr_info6__initZ@Base 13 + _D44TypeInfo_S4core3sys5linux5epoll11epoll_event6__initZ@Base 13 + _D44TypeInfo_S4core3sys5linux5input11ff_envelope6__initZ@Base 14 + _D44TypeInfo_S4core3sys5linux5input11input_event6__initZ@Base 14 + _D44TypeInfo_S4core3sys5linuxQk7sysinfo8sysinfo_6__initZ@Base 13 + _D44TypeInfo_S4core3sys5posix5sched11sched_param6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTdZQm6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTeZQm6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTfZQm6__initZ@Base 13 + _D44TypeInfo_S4core6thread7context12StackContext6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D45TypeInfo_E2rt4util7utility17__c_complex_float6__initZ@Base 13 + _D45TypeInfo_E4core4stdc6config16__c_complex_real6__initZ@Base 13 + _D45TypeInfo_E4core8internal7convert11FloatFormat6__initZ@Base 13 + _D45TypeInfo_E6object14TypeInfo_Class10ClassFlags6__initZ@Base 13 + _D45TypeInfo_S3gcc12libbacktrace15backtrace_state6__initZ@Base 13 + _D45TypeInfo_S3gcc9backtrace19SymbolCallbackInfo26__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux3elf9Elf32_Dyn5_d_un6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux3elf9Elf64_Dyn5_d_un6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux4tipc13tipc_name_seq6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux5epoll12epoll_data_t6__initZ@Base 13 + _D45TypeInfo_S4core3sys5posix6signal11sigaction_t6__initZ@Base 13 + _D45TypeInfo_S4core3sys5posixQk7statvfs9statvfs_t6__initZ@Base 13 + _D45TypeInfo_S4core8internal12parseoptions6MemVal6__initZ@Base 13 + _D45TypeInfo_S4core8internal9container5treap4Rand6__initZ@Base 13 + _D46TypeInfo_E2rt4util7utility18__c_complex_double6__initZ@Base 13 + _D46TypeInfo_E4core4stdc6config17__c_complex_float6__initZ@Base 13 + _D46TypeInfo_S4core3sys3elf11Elf32_gptab9_gt_entry6__initZ@Base 13 + _D46TypeInfo_S4core3sys5linux2fs16file_clone_range6__initZ@Base 13 + _D46TypeInfo_S4core3sys5linux5input13input_absinfo6__initZ@Base 14 + _D46TypeInfo_S4core3sys5linux6uinput12uinput_setup6__initZ@Base 14 + _D46TypeInfo_S4core3sys5posix7netinet3in_8in6_addr6__initZ@Base 13 + _D46TypeInfo_S4core3sys5posix8ucontext10mcontext_t6__initZ@Base 13 + _D46TypeInfo_S4core3sys5posix8ucontext10ucontext_t6__initZ@Base 13 + _D46TypeInfo_S4core4stdc6wchar_9mbstate_t8___value6__initZ@Base 13 + _D46TypeInfo_S4core4sync5mutex5Mutex12MonitorProxy6__initZ@Base 13 + _D47TypeInfo_AC4core6thread10threadbase10ThreadBase6__initZ@Base 13 + _D47TypeInfo_E4core4stdc6config18__c_complex_double6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp6string16DefaultConstruct6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp6vector16DefaultConstruct6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp8xutility14CppStdRevision6__initZ@Base 13 + _D47TypeInfo_E6object15TypeInfo_Struct11StructFlags6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux2fs17file_dedupe_range6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux2fs17files_stat_struct6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux5input14ff_ramp_effect6__initZ@Base 14 + _D47TypeInfo_S4core3sys5linuxQk5prctl12prctl_mm_map6__initZ@Base 13 + _D47TypeInfo_S4core3sys5posix6setjmp13__jmp_buf_tag6__initZ@Base 13 + _D47TypeInfo_S4core3sys5posix7netinet3in_9ipv6_mreq6__initZ@Base 13 + _D47TypeInfo_S4core6thread8osthread6Thread8Priority6__initZ@Base 13 + _D47TypeInfo_S6object15TypeInfo_Struct11_memberFunc6__initZ@Base 13 + _D48TypeInfo_S3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D48TypeInfo_S4core3sys3elf11Elf32_gptab10_gt_header6__initZ@Base 13 + _D48TypeInfo_S4core3sys5linux8io_uring12io_uring_cqe6__initZ@Base 13 + _D48TypeInfo_S4core3sys5linux8io_uring12io_uring_sqe6__initZ@Base 13 + _D48TypeInfo_S4core3sys5posix8ucontext12_libc_fpxreg6__initZ@Base 13 + _D48TypeInfo_S4core3sys5posix8ucontext12_libc_xmmreg6__initZ@Base 13 + _D49TypeInfo_E4core3sys5linux10perf_event10perf_hw_id6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux3elf12Elf32_auxv_t5_a_un6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux3elf12Elf64_auxv_t5_a_un6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux5input16ff_rumble_effect6__initZ@Base 14 + _D49TypeInfo_S4core3sys5linux6uinput15uinput_ff_erase6__initZ@Base 14 + _D49TypeInfo_S4core3sys5linux6uinput15uinput_user_dev6__initZ@Base 14 + _D49TypeInfo_S4core3sys5posix3net3if_14if_nameindex_t6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posix8ucontext13_libc_fpstate6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posixQk5types14pthread_attr_t6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posixQk5types14pthread_cond_t6__initZ@Base 13 + _D49TypeInfo_xS3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D4core10checkedint11__moduleRefZ@Base 13 + _D4core10checkedint12__ModuleInfoZ@Base 13 + _D4core13interpolation11__moduleRefZ@Base 14.2 + _D4core13interpolation12__ModuleInfoZ@Base 14.2 + _D4core13interpolation16__getEmptyStringFNaNbNiNfZAya@Base 14.2 + _D4core13interpolation19InterpolationFooter6__initZ@Base 14.2 + _D4core13interpolation19InterpolationHeader6__initZ@Base 14.2 + _D4core2gc11gcinterface11__moduleRefZ@Base 13 + _D4core2gc11gcinterface12__ModuleInfoZ@Base 13 + _D4core2gc11gcinterface2GC11__InterfaceZ@Base 13 + _D4core2gc11gcinterface4Root6__initZ@Base 13 + _D4core2gc11gcinterface5Range11__xopEqualsMxFKxSQBuQBsQBsQBiZb@Base 13 + _D4core2gc11gcinterface5Range6__initZ@Base 13 + _D4core2gc11gcinterface5Range8opEqualsMxFNbMxSQBsQBqQBqQBgZb@Base 13 + _D4core2gc11gcinterface5Range9__xtoHashFNbNeKxSQBtQBrQBrQBhZm@Base 13 + _D4core2gc6config11PrettyBytes6__initZ@Base 13 + _D4core2gc6config11__moduleRefZ@Base 13 + _D4core2gc6config11prettyBytesFNaNbNiKmZa@Base 13 + _D4core2gc6config12__ModuleInfoZ@Base 13 + _D4core2gc6config18bytes2prettyStructFNaNbNimZSQBtQBrQBr11PrettyBytes@Base 13 + _D4core2gc6config6Config10initializeMFNbNiZb@Base 13 + _D4core2gc6config6Config11__xopEqualsMxFKxSQBpQBnQBnQBjZb@Base 13 + _D4core2gc6config6Config4helpMFNbNiZv@Base 13 + _D4core2gc6config6Config6__initZ@Base 13 + _D4core2gc6config6Config9__xtoHashFNbNeKxSQBoQBmQBmQBiZm@Base 13 + _D4core2gc6config6Config9errorNameMFNbNiZAya@Base 13 + _D4core2gc6configQhSQsQpQo6Config@Base 13 + _D4core2gc8registry11__moduleRefZ@Base 13 + _D4core2gc8registry12__ModuleInfoZ@Base 13 + _D4core2gc8registry16createGCInstanceFAyaZCQBpQBn11gcinterface2GC@Base 13 + _D4core2gc8registry17registerGCFactoryFNbNiAyaPFZCQBwQBu11gcinterface2GCZv@Base 13 + _D4core2gc8registry21registeredGCFactoriesFNbNiMiZxASQBzQBxQBx5Entry@Base 14 + _D4core2gc8registry5Entry11__xopEqualsMxFKxSQBqQBoQBoQBiZb@Base 13 + _D4core2gc8registry5Entry6__initZ@Base 13 + _D4core2gc8registry5Entry9__xtoHashFNbNeKxSQBpQBnQBnQBhZm@Base 13 + _D4core2gc8registry7entriesASQBbQzQy5Entry@Base 13 + _D4core3sys3elf10Elf32_Ehdr6__initZ@Base 13 + _D4core3sys3elf10Elf32_Move6__initZ@Base 13 + _D4core3sys3elf10Elf32_Phdr6__initZ@Base 13 + _D4core3sys3elf10Elf32_Rela6__initZ@Base 13 + _D4core3sys3elf10Elf32_Shdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Ehdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Move6__initZ@Base 13 + _D4core3sys3elf10Elf64_Phdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Rela6__initZ@Base 13 + _D4core3sys3elf10Elf64_Shdr6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab10_gt_header6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab9_gt_entry6__initZ@Base 13 + _D4core3sys3elf11Elf_Options6__initZ@Base 13 + _D4core3sys3elf11__moduleRefZ@Base 13 + _D4core3sys3elf12Elf32_Verdef6__initZ@Base 13 + _D4core3sys3elf12Elf64_Verdef6__initZ@Base 13 + _D4core3sys3elf12__ModuleInfoZ@Base 13 + _D4core3sys3elf13Elf32_RegInfo6__initZ@Base 13 + _D4core3sys3elf13Elf32_Syminfo6__initZ@Base 13 + _D4core3sys3elf13Elf32_Verdaux6__initZ@Base 13 + _D4core3sys3elf13Elf32_Vernaux6__initZ@Base 13 + _D4core3sys3elf13Elf32_Verneed6__initZ@Base 13 + _D4core3sys3elf13Elf64_Syminfo6__initZ@Base 13 + _D4core3sys3elf13Elf64_Verdaux6__initZ@Base 13 + _D4core3sys3elf13Elf64_Vernaux6__initZ@Base 13 + _D4core3sys3elf13Elf64_Verneed6__initZ@Base 13 + _D4core3sys3elf14Elf_Options_Hw6__initZ@Base 13 + _D4core3sys3elf9Elf32_Lib6__initZ@Base 13 + _D4core3sys3elf9Elf32_Rel6__initZ@Base 13 + _D4core3sys3elf9Elf32_Sym6__initZ@Base 13 + _D4core3sys3elf9Elf64_Lib6__initZ@Base 13 + _D4core3sys3elf9Elf64_Rel6__initZ@Base 13 + _D4core3sys3elf9Elf64_Sym6__initZ@Base 13 + _D4core3sys5linux10perf_event11__moduleRefZ@Base 13 + _D4core3sys5linux10perf_event12__ModuleInfoZ@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10exclude_hvMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10exclude_hvMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10namespacesMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10namespacesMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10precise_ipMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10precise_ipMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr11use_clockidMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr11use_clockidMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12__reserved_1MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12__reserved_1MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_hostMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_hostMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_idleMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_idleMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_userMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_userMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12inherit_statMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12inherit_statMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13exclude_guestMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13exclude_guestMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13sample_id_allMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13sample_id_allMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14context_switchMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14context_switchMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14enable_on_execMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14enable_on_execMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14exclude_kernelMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14exclude_kernelMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14write_backwardMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14write_backwardMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr22exclude_callchain_userMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr22exclude_callchain_userMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr24exclude_callchain_kernelMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr24exclude_callchain_kernelMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4commMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4commMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4freqMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4freqMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4mmapMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4mmapMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4taskMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4taskMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr5mmap2MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr5mmap2MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6__initZ@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6pinnedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6pinnedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr7inheritMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr7inheritMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr8disabledMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr8disabledMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9comm_execMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9comm_execMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9exclusiveMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9exclusiveMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9mmap_dataMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9mmap_dataMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9watermarkMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9watermarkMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_type6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry4typeMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry4typeMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5abortMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5abortMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5in_txMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5in_txMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6cyclesMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6cyclesMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry7mispredMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry7mispredMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry8reservedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry8reservedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry9predictedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry9predictedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_event_header6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_remoteMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_remoteMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_snoopxMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_snoopxMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src11mem_lvl_numMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src11mem_lvl_numMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6mem_opMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6mem_opMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src7mem_lvlMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src7mem_lvlMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_dtlbMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_dtlbMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_lockMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_lockMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_rsvdMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_rsvdMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src9mem_snoopMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src9mem_snoopMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_ns_link_info6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_ioc_flags6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page11cap_____resMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page11cap_____resMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page13cap_user_timeMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page13cap_user_timeMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page14cap_user_rdpmcMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page14cap_user_rdpmcMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page18cap_user_time_zeroMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page18cap_user_time_zeroMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page22cap_bit0_is_deprecatedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page22cap_bit0_is_deprecatedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page8cap_bit0MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page8cap_bit0MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event22perf_callchain_context6__initZ@Base 13 + _D4core3sys5linux10perf_event22perf_event_read_format6__initZ@Base 13 + _D4core3sys5linux10perf_event23perf_branch_sample_type6__initZ@Base 13 + _D4core3sys5linux10perf_event24perf_event_sample_format6__initZ@Base 13 + _D4core3sys5linux17input_event_codes11__moduleRefZ@Base 14 + _D4core3sys5linux17input_event_codes12__ModuleInfoZ@Base 14 + _D4core3sys5linux2fs11__moduleRefZ@Base 13 + _D4core3sys5linux2fs12__ModuleInfoZ@Base 13 + _D4core3sys5linux2fs12fstrim_range6__initZ@Base 13 + _D4core3sys5linux2fs13inodes_stat_t6__initZ@Base 13 + _D4core3sys5linux2fs16file_clone_range6__initZ@Base 13 + _D4core3sys5linux2fs17file_dedupe_range6__initZ@Base 13 + _D4core3sys5linux2fs17files_stat_struct6__initZ@Base 13 + _D4core3sys5linux2fs22file_dedupe_range_info6__initZ@Base 13 + _D4core3sys5linux2fs7fsxattr6__initZ@Base 13 + _D4core3sys5linux3elf10Elf32_Nhdr6__initZ@Base 13 + _D4core3sys5linux3elf10Elf64_Nhdr6__initZ@Base 13 + _D4core3sys5linux3elf11__moduleRefZ@Base 13 + _D4core3sys5linux3elf12Elf32_auxv_t5_a_un6__initZ@Base 13 + _D4core3sys5linux3elf12Elf32_auxv_t6__initZ@Base 13 + _D4core3sys5linux3elf12Elf64_auxv_t5_a_un6__initZ@Base 13 + _D4core3sys5linux3elf12Elf64_auxv_t6__initZ@Base 13 + _D4core3sys5linux3elf12__ModuleInfoZ@Base 13 + _D4core3sys5linux3elf9Elf32_Dyn5_d_un6__initZ@Base 13 + _D4core3sys5linux3elf9Elf32_Dyn6__initZ@Base 13 + _D4core3sys5linux3elf9Elf64_Dyn5_d_un6__initZ@Base 13 + _D4core3sys5linux3elf9Elf64_Dyn6__initZ@Base 13 + _D4core3sys5linux3err11__moduleRefZ@Base 13 + _D4core3sys5linux3err12__ModuleInfoZ@Base 13 + _D4core3sys5linux4link11__moduleRefZ@Base 13 + _D4core3sys5linux4link12__ModuleInfoZ@Base 13 + _D4core3sys5linux4link12dl_phdr_info6__initZ@Base 13 + _D4core3sys5linux4link7r_debug6__initZ@Base 13 + _D4core3sys5linux4link8link_map6__initZ@Base 13 + _D4core3sys5linux4time11__moduleRefZ@Base 13 + _D4core3sys5linux4time12__ModuleInfoZ@Base 13 + _D4core3sys5linux4tipc10tipc_event6__initZ@Base 13 + _D4core3sys5linux4tipc11__moduleRefZ@Base 13 + _D4core3sys5linux4tipc11tipc_portid6__initZ@Base 13 + _D4core3sys5linux4tipc11tipc_subscr6__initZ@Base 13 + _D4core3sys5linux4tipc12__ModuleInfoZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc4Addr4Name6__initZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc4Addr6__initZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc6__initZ@Base 13 + _D4core3sys5linux4tipc13tipc_name_seq6__initZ@Base 13 + _D4core3sys5linux4tipc9tipc_name6__initZ@Base 13 + _D4core3sys5linux5dlfcn10Dl_serinfo6__initZ@Base 13 + _D4core3sys5linux5dlfcn10Dl_serpath6__initZ@Base 13 + _D4core3sys5linux5dlfcn11__moduleRefZ@Base 13 + _D4core3sys5linux5dlfcn12__ModuleInfoZ@Base 13 + _D4core3sys5linux5epoll11__moduleRefZ@Base 13 + _D4core3sys5linux5epoll11epoll_event6__initZ@Base 13 + _D4core3sys5linux5epoll12__ModuleInfoZ@Base 13 + _D4core3sys5linux5epoll12epoll_data_t6__initZ@Base 13 + _D4core3sys5linux5errno11__moduleRefZ@Base 13 + _D4core3sys5linux5errno12__ModuleInfoZ@Base 13 + _D4core3sys5linux5fcntl11__moduleRefZ@Base 13 + _D4core3sys5linux5fcntl12__ModuleInfoZ@Base 13 + _D4core3sys5linux5input10ff_trigger6__initZ@Base 14 + _D4core3sys5linux5input10input_mask6__initZ@Base 14 + _D4core3sys5linux5input11__moduleRefZ@Base 14 + _D4core3sys5linux5input11ff_envelope6__initZ@Base 14 + _D4core3sys5linux5input11input_event6__initZ@Base 14 + _D4core3sys5linux5input12__ModuleInfoZ@Base 14 + _D4core3sys5linux5input13input_absinfo6__initZ@Base 14 + _D4core3sys5linux5input14ff_ramp_effect6__initZ@Base 14 + _D4core3sys5linux5input16ff_rumble_effect6__initZ@Base 14 + _D4core3sys5linux5input18ff_constant_effect6__initZ@Base 14 + _D4core3sys5linux5input18ff_periodic_effect6__initZ@Base 14 + _D4core3sys5linux5input18input_keymap_entry6__initZ@Base 14 + _D4core3sys5linux5input19ff_condition_effect6__initZ@Base 14 + _D4core3sys5linux5input8input_id6__initZ@Base 14 + _D4core3sys5linux5input9ff_effect1U6__initZ@Base 14 + _D4core3sys5linux5input9ff_effect6__initZ@Base 14 + _D4core3sys5linux5input9ff_replay6__initZ@Base 14 + _D4core3sys5linux5sched11__moduleRefZ@Base 13 + _D4core3sys5linux5sched12__ModuleInfoZ@Base 13 + _D4core3sys5linux5sched9cpu_set_t6__initZ@Base 13 + _D4core3sys5linux5stdio11__moduleRefZ@Base 13 + _D4core3sys5linux5stdio12__ModuleInfoZ@Base 13 + _D4core3sys5linux5stdio21cookie_io_functions_t6__initZ@Base 13 + _D4core3sys5linux6config11__moduleRefZ@Base 13 + _D4core3sys5linux6config12__ModuleInfoZ@Base 13 + _D4core3sys5linux6string11__moduleRefZ@Base 13 + _D4core3sys5linux6string12__ModuleInfoZ@Base 13 + _D4core3sys5linux6uinput11__moduleRefZ@Base 14 + _D4core3sys5linux6uinput12__ModuleInfoZ@Base 14 + _D4core3sys5linux6uinput12uinput_setup6__initZ@Base 14 + _D4core3sys5linux6uinput15uinput_ff_erase6__initZ@Base 14 + _D4core3sys5linux6uinput15uinput_user_dev6__initZ@Base 14 + _D4core3sys5linux6uinput16uinput_abs_setup6__initZ@Base 14 + _D4core3sys5linux6uinput16uinput_ff_upload6__initZ@Base 14 + _D4core3sys5linux6unistd11__moduleRefZ@Base 13 + _D4core3sys5linux6unistd12__ModuleInfoZ@Base 13 + _D4core3sys5linux7ifaddrs11__moduleRefZ@Base 13 + _D4core3sys5linux7ifaddrs12__ModuleInfoZ@Base 13 + _D4core3sys5linux7ifaddrsQi6__initZ@Base 13 + _D4core3sys5linux7netinet3in_11IN_BADCLASSFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_11__moduleRefZ@Base 13 + _D4core3sys5linux7netinet3in_12IN_MULTICASTFNbNikZb@Base 13 + _D4core3sys5linux7netinet3in_12__ModuleInfoZ@Base 13 + _D4core3sys5linux7netinet3in_15IN_EXPERIMENTALFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_18IN6_ARE_ADDR_EQUALFNaNbNiNfPSQCgQCe5posixQCdQBy8in6_addrQBdZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSAFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSBFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSCFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSDFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3tcp11__moduleRefZ@Base 13 + _D4core3sys5linux7netinet3tcp12__ModuleInfoZ@Base 13 + _D4core3sys5linux7termios11__moduleRefZ@Base 13 + _D4core3sys5linux7termios12__ModuleInfoZ@Base 13 + _D4core3sys5linux7timerfd11__moduleRefZ@Base 13 + _D4core3sys5linux7timerfd12__ModuleInfoZ@Base 13 + _D4core3sys5linux8execinfo11__moduleRefZ@Base 13 + _D4core3sys5linux8execinfo12__ModuleInfoZ@Base 13 + _D4core3sys5linux8io_uring11__moduleRefZ@Base 13 + _D4core3sys5linux8io_uring12__ModuleInfoZ@Base 13 + _D4core3sys5linux8io_uring12io_uring_cqe6__initZ@Base 13 + _D4core3sys5linux8io_uring12io_uring_sqe6__initZ@Base 13 + _D4core3sys5linux8io_uring14io_uring_probe6__initZ@Base 13 + _D4core3sys5linux8io_uring15io_uring_params6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_cqring_offsets6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_sqring_offsets6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_uring_probe_op6__initZ@Base 13 + _D4core3sys5linux8io_uring20io_uring_restriction6__initZ@Base 13 + _D4core3sys5linux8io_uring21io_uring_files_update6__initZ@Base 13 + _D4core3sys5linux8io_uring22io_uring_getevents_arg6__initZ@Base 13 + _D4core3sys5linuxQg6if_arp11__moduleRefZ@Base 14 + _D4core3sys5linuxQg6if_arp12__ModuleInfoZ@Base 14 + _D4core3sys5linuxQg6if_arp6arphdr6__initZ@Base 14 + _D4core3sys5linuxQg6if_arp6arpreq6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11__moduleRefZ@Base 14 + _D4core3sys5linuxQg9if_packet11fanout_args6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11packet_mreq6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11sockaddr_ll6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11tpacket_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11tpacket_req6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12__ModuleInfoZ@Base 14 + _D4core3sys5linuxQg9if_packet12sockaddr_pkt6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket2_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket3_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket_req36__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_bd_ts6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_req_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_stats6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet14tpacket_hdr_v16__initZ@Base 14 + _D4core3sys5linuxQg9if_packet15tpacket_auxdata6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet15tpacket_stats_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet16tpacket_stats_v36__initZ@Base 14 + _D4core3sys5linuxQg9if_packet18tpacket_block_desc6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet19tpacket_bd_header_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet20tpacket_hdr_variant16__initZ@Base 14 + _D4core3sys5linuxQg9if_packet22tpacket_rollover_stats6__initZ@Base 14 + _D4core3sys5linuxQk4auxv11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4auxv12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4file11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4file12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4mman11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4mman12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4time10timerclearFNaNbNiNfPSQBtQBr5posixQCaQBr7timevalZv@Base 13 + _D4core3sys5linuxQk4time10timerissetFNaNbNiNfPSQBtQBr5posixQCaQBr7timevalZi@Base 13 + _D4core3sys5linuxQk4time11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4time12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4time8timeraddFNaNbNiNfxPSQBrQBp5posixQByQBp7timevalxQBdPSQCxQCvQBgQDbQCsQBdZv@Base 13 + _D4core3sys5linuxQk4time8timersubFNaNbNiNfxPSQBrQBp5posixQByQBp7timevalxQBdPSQCxQCvQBgQDbQCsQBdZv@Base 13 + _D4core3sys5linuxQk5prctl11__moduleRefZ@Base 13 + _D4core3sys5linuxQk5prctl12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk5prctl12prctl_mm_map6__initZ@Base 13 + _D4core3sys5linuxQk5xattr11__moduleRefZ@Base 13 + _D4core3sys5linuxQk5xattr12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk6procfs11__moduleRefZ@Base 13 + _D4core3sys5linuxQk6procfs12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk6socket11__moduleRefZ@Base 13 + _D4core3sys5linuxQk6socket12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7eventfd11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7eventfd12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7inotify11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7inotify12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event6__initZ@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event8opAssignMFNaNbNcNiNjNeSQCmQCkQCjQCqQChQCcZQu@Base 13 + _D4core3sys5linuxQk7sysinfo11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7sysinfo12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7sysinfo8sysinfo_6__initZ@Base 13 + _D4core3sys5linuxQk8signalfd11__moduleRefZ@Base 13 + _D4core3sys5linuxQk8signalfd12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk8signalfd16signalfd_siginfo6__initZ@Base 13 + _D4core3sys5posix3aio11__moduleRefZ@Base 13 + _D4core3sys5posix3aio12__ModuleInfoZ@Base 13 + _D4core3sys5posix3aio5aiocb6__initZ@Base 13 + _D4core3sys5posix3aio7aiocb646__initZ@Base 13 + _D4core3sys5posix3grp11__moduleRefZ@Base 13 + _D4core3sys5posix3grp12__ModuleInfoZ@Base 13 + _D4core3sys5posix3grp5group6__initZ@Base 13 + _D4core3sys5posix3net3if_11__moduleRefZ@Base 13 + _D4core3sys5posix3net3if_12__ModuleInfoZ@Base 13 + _D4core3sys5posix3net3if_14if_nameindex_t6__initZ@Base 13 + _D4core3sys5posix3pwd11__moduleRefZ@Base 13 + _D4core3sys5posix3pwd12__ModuleInfoZ@Base 13 + _D4core3sys5posix3pwd6passwd6__initZ@Base 13 + _D4core3sys5posix4arpa4inet11__moduleRefZ@Base 13 + _D4core3sys5posix4arpa4inet12__ModuleInfoZ@Base 13 + _D4core3sys5posix4arpa4inet7in_addr6__initZ@Base 13 + _D4core3sys5posix4poll11__moduleRefZ@Base 13 + _D4core3sys5posix4poll12__ModuleInfoZ@Base 13 + _D4core3sys5posix4poll6pollfd6__initZ@Base 13 + _D4core3sys5posix4stdc4time11__moduleRefZ@Base 13 + _D4core3sys5posix4stdc4time12__ModuleInfoZ@Base 13 + _D4core3sys5posix4stdc4time2tm6__initZ@Base 13 + _D4core3sys5posix4time10itimerspec6__initZ@Base 13 + _D4core3sys5posix4time11__moduleRefZ@Base 13 + _D4core3sys5posix4time12__ModuleInfoZ@Base 13 + _D4core3sys5posix4time8timespec6__initZ@Base 13 + _D4core3sys5posix5dlfcn11__moduleRefZ@Base 13 + _D4core3sys5posix5dlfcn12__ModuleInfoZ@Base 13 + _D4core3sys5posix5dlfcn7Dl_info6__initZ@Base 13 + _D4core3sys5posix5fcntl11__moduleRefZ@Base 13 + _D4core3sys5posix5fcntl12__ModuleInfoZ@Base 13 + _D4core3sys5posix5fcntl5flock6__initZ@Base 13 + _D4core3sys5posix5iconv11__moduleRefZ@Base 13 + _D4core3sys5posix5iconv12__ModuleInfoZ@Base 13 + _D4core3sys5posix5netdb11__moduleRefZ@Base 13 + _D4core3sys5posix5netdb12__ModuleInfoZ@Base 13 + _D4core3sys5posix5netdb6netent6__initZ@Base 13 + _D4core3sys5posix5netdb7hostent6__initZ@Base 13 + _D4core3sys5posix5netdb7hostent6h_addrMUNdZPa@Base 13 + _D4core3sys5posix5netdb7servent6__initZ@Base 13 + _D4core3sys5posix5netdb8addrinfo6__initZ@Base 13 + _D4core3sys5posix5netdb8protoent6__initZ@Base 13 + _D4core3sys5posix5sched11__moduleRefZ@Base 13 + _D4core3sys5posix5sched11sched_param6__initZ@Base 13 + _D4core3sys5posix5sched12__ModuleInfoZ@Base 13 + _D4core3sys5posix5spawn11__moduleRefZ@Base 13 + _D4core3sys5posix5spawn12__ModuleInfoZ@Base 13 + _D4core3sys5posix5spawn17posix_spawnattr_t6__initZ@Base 13 + _D4core3sys5posix5spawn26posix_spawn_file_actions_t6__initZ@Base 13 + _D4core3sys5posix5stdio11__moduleRefZ@Base 13 + _D4core3sys5posix5stdio12__ModuleInfoZ@Base 13 + _D4core3sys5posix5utime11__moduleRefZ@Base 13 + _D4core3sys5posix5utime12__ModuleInfoZ@Base 13 + _D4core3sys5posix5utime7utimbuf6__initZ@Base 13 + _D4core3sys5posix6config11__moduleRefZ@Base 13 + _D4core3sys5posix6config12__ModuleInfoZ@Base 13 + _D4core3sys5posix6dirent11__moduleRefZ@Base 13 + _D4core3sys5posix6dirent12__ModuleInfoZ@Base 13 + _D4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D4core3sys5posix6direntQh6__initZ@Base 13 + _D4core3sys5posix6libgen11__moduleRefZ@Base 13 + _D4core3sys5posix6libgen12__ModuleInfoZ@Base 13 + _D4core3sys5posix6locale11__moduleRefZ@Base 13 + _D4core3sys5posix6locale12__ModuleInfoZ@Base 13 + _D4core3sys5posix6locale5lconv6__initZ@Base 13 + _D4core3sys5posix6mqueue11__moduleRefZ@Base 13 + _D4core3sys5posix6mqueue12__ModuleInfoZ@Base 13 + _D4core3sys5posix6mqueue7mq_attr6__initZ@Base 13 + _D4core3sys5posix6setjmp11__moduleRefZ@Base 13 + _D4core3sys5posix6setjmp12__ModuleInfoZ@Base 13 + _D4core3sys5posix6setjmp13__jmp_buf_tag6__initZ@Base 13 + _D4core3sys5posix6signal11__moduleRefZ@Base 13 + _D4core3sys5posix6signal11sigaction_t6__initZ@Base 13 + _D4core3sys5posix6signal12__ModuleInfoZ@Base 13 + _D4core3sys5posix6signal6sigval6__initZ@Base 13 + _D4core3sys5posix6signal7stack_t6__initZ@Base 13 + _D4core3sys5posix6signal8SIGRTMAXUNbNdNiZ3sigi@Base 13 + _D4core3sys5posix6signal8SIGRTMINUNbNdNiZ3sigi@Base 13 + _D4core3sys5posix6signal8sigevent6__initZ@Base 13 + _D4core3sys5posix6signal8sigset_t6__initZ@Base 13 + _D4core3sys5posix6signal8sigstack6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t10_sigpoll_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t11_sigchild_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t11_sigfault_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t5_rt_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t7_kill_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t8_timer_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t6si_pidMUNbNcNdNiNjZi@Base 13 + _D4core3sys5posix6signal9siginfo_t6si_uidMUNbNcNdNiNjZk@Base 13 + _D4core3sys5posix6signal9siginfo_t7si_addrMUNbNcNdNiNjZPv@Base 13 + _D4core3sys5posix6signal9siginfo_t7si_bandMUNbNcNdNiNjZl@Base 13 + _D4core3sys5posix6signal9siginfo_t8si_valueMUNbNcNdNiNjZSQCdQCbQCaQBx6sigval@Base 13 + _D4core3sys5posix6signal9siginfo_t9si_statusMUNbNcNdNiNjZi@Base 13 + _D4core3sys5posix6stdlib11__moduleRefZ@Base 13 + _D4core3sys5posix6stdlib12__ModuleInfoZ@Base 13 + _D4core3sys5posix6string11__moduleRefZ@Base 13 + _D4core3sys5posix6string12__ModuleInfoZ@Base 13 + _D4core3sys5posix6syslog11__moduleRefZ@Base 13 + _D4core3sys5posix6syslog12__ModuleInfoZ@Base 13 + _D4core3sys5posix6unistd11__moduleRefZ@Base 13 + _D4core3sys5posix6unistd12__ModuleInfoZ@Base 13 + _D4core3sys5posix7netinet3in_11__moduleRefZ@Base 13 + _D4core3sys5posix7netinet3in_11sockaddr_in6__initZ@Base 13 + _D4core3sys5posix7netinet3in_12__ModuleInfoZ@Base 13 + _D4core3sys5posix7netinet3in_12sockaddr_in66__initZ@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_LOOPBACKFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_V4COMPATFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_V4MAPPEDFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_LINKLOCALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_MC_GLOBALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_MULTICASTFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_SITELOCALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_23IN6_IS_ADDR_MC_ORGLOCALFNaNbNiMxPSQClQCjQCiQCfQCa8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_23IN6_IS_ADDR_UNSPECIFIEDFNaNbNiMxPSQClQCjQCiQCfQCa8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_LINKLOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_NODELOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_SITELOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_8in6_addr6__initZ@Base 13 + _D4core3sys5posix7netinet3in_9ipv6_mreq6__initZ@Base 13 + _D4core3sys5posix7netinet3tcp11__moduleRefZ@Base 13 + _D4core3sys5posix7netinet3tcp12__ModuleInfoZ@Base 13 + _D4core3sys5posix7pthread11__moduleRefZ@Base 13 + _D4core3sys5posix7pthread12__ModuleInfoZ@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup6__initZ@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup__T3popZQfMFNbiZv@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup__T4pushHTPUNaNbNiPvZvZQuMFNbNiQvQpZv@Base 13 + _D4core3sys5posix7pthread23_pthread_cleanup_buffer6__initZ@Base 13 + _D4core3sys5posix7strings11__moduleRefZ@Base 13 + _D4core3sys5posix7strings12__ModuleInfoZ@Base 13 + _D4core3sys5posix7termios11__moduleRefZ@Base 13 + _D4core3sys5posix7termios12__ModuleInfoZ@Base 13 + _D4core3sys5posix7termiosQi6__initZ@Base 13 + _D4core3sys5posix8inttypes11__moduleRefZ@Base 13 + _D4core3sys5posix8inttypes12__ModuleInfoZ@Base 13 + _D4core3sys5posix8ucontext10mcontext_t6__initZ@Base 13 + _D4core3sys5posix8ucontext10ucontext_t6__initZ@Base 13 + _D4core3sys5posix8ucontext11__moduleRefZ@Base 13 + _D4core3sys5posix8ucontext12__ModuleInfoZ@Base 13 + _D4core3sys5posix8ucontext12_libc_fpxreg6__initZ@Base 13 + _D4core3sys5posix8ucontext12_libc_xmmreg6__initZ@Base 13 + _D4core3sys5posix8ucontext13_libc_fpstate6__initZ@Base 13 + _D4core3sys5posix9semaphore11__moduleRefZ@Base 13 + _D4core3sys5posix9semaphore12__ModuleInfoZ@Base 13 + _D4core3sys5posix9semaphore17_pthread_fastlock6__initZ@Base 13 + _D4core3sys5posix9semaphore5sem_t6__initZ@Base 13 + _D4core3sys5posixQk2un11__moduleRefZ@Base 13 + _D4core3sys5posixQk2un11sockaddr_un6__initZ@Base 13 + _D4core3sys5posixQk2un12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3ipc11__moduleRefZ@Base 13 + _D4core3sys5posixQk3ipc12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3ipc8ipc_perm6__initZ@Base 13 + _D4core3sys5posixQk3msg11__moduleRefZ@Base 13 + _D4core3sys5posixQk3msg12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3msg6msgbuf6__initZ@Base 13 + _D4core3sys5posixQk3msg7msginfo6__initZ@Base 13 + _D4core3sys5posixQk3msg8msqid_ds6__initZ@Base 13 + _D4core3sys5posixQk3shm11__moduleRefZ@Base 13 + _D4core3sys5posixQk3shm12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3shm8shmid_ds6__initZ@Base 13 + _D4core3sys5posixQk3uio11__moduleRefZ@Base 13 + _D4core3sys5posixQk3uio12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3uio5iovec6__initZ@Base 13 + _D4core3sys5posixQk4mman11__moduleRefZ@Base 13 + _D4core3sys5posixQk4mman12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4stat11__moduleRefZ@Base 13 + _D4core3sys5posixQk4stat12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4stat6stat_t6__initZ@Base 13 + _D4core3sys5posixQk4stat7S_ISBLKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISCHRFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISDIRFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISLNKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISREGFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISFIFOFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISSOCKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISTYPEFNbNikkZb@Base 13 + _D4core3sys5posixQk4time11__moduleRefZ@Base 13 + _D4core3sys5posixQk4time12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4time7timeval6__initZ@Base 13 + _D4core3sys5posixQk4time9itimerval6__initZ@Base 13 + _D4core3sys5posixQk4wait10WIFSTOPPEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk4wait10__WTERMSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait11WEXITSTATUSFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait11WIFSIGNALEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk4wait11__moduleRefZ@Base 13 + _D4core3sys5posixQk4wait12WIFCONTINUEDFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4wait8WSTOPSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait8WTERMSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait9WIFEXITEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk5filio11__moduleRefZ@Base 13 + _D4core3sys5posixQk5filio12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5ioctl11__moduleRefZ@Base 13 + _D4core3sys5posixQk5ioctl12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5ioctl3_IOFNbNiiiZi@Base 13 + _D4core3sys5posixQk5ioctl6termio6__initZ@Base 13 + _D4core3sys5posixQk5ioctl7_IOC_NRFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl7winsize6__initZ@Base 13 + _D4core3sys5posixQk5ioctl8_IOC_DIRFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl8termios26__initZ@Base 13 + _D4core3sys5posixQk5ioctl9_IOC_SIZEFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl9_IOC_TYPEFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTG2kZQkFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTPaZQjFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTPmZQjFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input8input_idZQBjFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input9ff_effectZQBkFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput12uinput_setupZQBpFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput15uinput_ff_eraseZQBsFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput16uinput_abs_setupZQBtFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput16uinput_ff_uploadZQBtFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTiZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTkZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTmZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTnZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTG2kZQkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTPmZQjFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input8input_idZQBjFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTiZQiFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTkZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTmZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTG2kZQkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTPaZQjFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input9ff_effectZQBkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput12uinput_setupZQBpFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput15uinput_ff_eraseZQBsFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput16uinput_abs_setupZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput16uinput_ff_uploadZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTiZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTkZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTmZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T5_IOWRTSQBiQBg5linux6uinput15uinput_ff_eraseZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T5_IOWRTSQBiQBg5linux6uinput16uinput_ff_uploadZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5types11__moduleRefZ@Base 13 + _D4core3sys5posixQk5types12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5types14pthread_attr_t6__initZ@Base 13 + _D4core3sys5posixQk5types14pthread_cond_t6__initZ@Base 13 + _D4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D4core3sys5posixQk5types16pthread_rwlock_t6__initZ@Base 13 + _D4core3sys5posixQk5types17_pthread_fastlock6__initZ@Base 13 + _D4core3sys5posixQk5types17pthread_barrier_t6__initZ@Base 13 + _D4core3sys5posixQk5types18pthread_condattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types19pthread_mutexattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types20pthread_rwlockattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types21pthread_barrierattr_t6__initZ@Base 13 + _D4core3sys5posixQk6ioccom11__moduleRefZ@Base 13 + _D4core3sys5posixQk6ioccom12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6select11__moduleRefZ@Base 13 + _D4core3sys5posixQk6select12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6select6FD_CLRFNaNbNiiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select6FD_SETFNaNbNiiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select6fd_set6__initZ@Base 13 + _D4core3sys5posixQk6select7FD_ZEROFNaNbNiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select7__FDELTFNaNbNiNfiZk@Base 13 + _D4core3sys5posixQk6select8FD_ISSETFNaNbNiiPxSQBsQBqQBpQBwQBn6fd_setZb@Base 13 + _D4core3sys5posixQk6select8__FDMASKFNaNbNiNfiZl@Base 13 + _D4core3sys5posixQk6socket10CMSG_ALIGNFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket10CMSG_SPACEFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket11CMSG_NXTHDRFNaNbNiPNgSQBwQBuQBtQCaQBr6msghdrPNgSQCwQCuQCtQDaQCr7cmsghdrZQBc@Base 13 + _D4core3sys5posixQk6socket11__moduleRefZ@Base 13 + _D4core3sys5posixQk6socket12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6socket13CMSG_FIRSTHDRFNaNbNiPNgSQByQBwQBvQCcQBt6msghdrZPNgSQCzQCxQCwQDdQCu7cmsghdr@Base 13 + _D4core3sys5posixQk6socket16sockaddr_storage6__initZ@Base 13 + _D4core3sys5posixQk6socket6linger6__initZ@Base 13 + _D4core3sys5posixQk6socket6msghdr6__initZ@Base 13 + _D4core3sys5posixQk6socket7cmsghdr6__initZ@Base 13 + _D4core3sys5posixQk6socket8CMSG_LENFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket8sockaddr6__initZ@Base 13 + _D4core3sys5posixQk6socket9CMSG_DATAFNaNbNiNkMPNgSQBwQBuQBtQCaQBr7cmsghdrZPNgh@Base 13 + _D4core3sys5posixQk6ttycom11__moduleRefZ@Base 13 + _D4core3sys5posixQk6ttycom12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7statvfs11__moduleRefZ@Base 13 + _D4core3sys5posixQk7statvfs12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7statvfs5FFlag6__initZ@Base 13 + _D4core3sys5posixQk7statvfs9statvfs_t6__initZ@Base 13 + _D4core3sys5posixQk7utsname11__moduleRefZ@Base 13 + _D4core3sys5posixQk7utsname12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7utsnameQi6__initZ@Base 13 + _D4core3sys5posixQk8resource11__moduleRefZ@Base 13 + _D4core3sys5posixQk8resource12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk8resource6rlimit6__initZ@Base 13 + _D4core3sys5posixQk8resource6rusage6__initZ@Base 13 + _D4core4math11__moduleRefZ@Base 13 + _D4core4math12__ModuleInfoZ@Base 13 + _D4core4simd11__moduleRefZ@Base 13 + _D4core4simd12__ModuleInfoZ@Base 13 + _D4core4stdc4fenv11__moduleRefZ@Base 13 + _D4core4stdc4fenv12__ModuleInfoZ@Base 13 + _D4core4stdc4fenv6fenv_t6__initZ@Base 13 + _D4core4stdc4math11__moduleRefZ@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeddZi@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeffZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeddZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeffZi@Base 13 + _D4core4stdc4math12__ModuleInfoZ@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeddZi@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeffZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeddZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeffZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeddZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeffZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNedZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNeeZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNefZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeddZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeffZi@Base 13 + _D4core4stdc4time11__moduleRefZ@Base 13 + _D4core4stdc4time12__ModuleInfoZ@Base 13 + _D4core4stdc5ctype11__moduleRefZ@Base 13 + _D4core4stdc5ctype12__ModuleInfoZ@Base 13 + _D4core4stdc5errno11__moduleRefZ@Base 13 + _D4core4stdc5errno12__ModuleInfoZ@Base 13 + _D4core4stdc5stdio11__moduleRefZ@Base 13 + _D4core4stdc5stdio12__ModuleInfoZ@Base 13 + _D4core4stdc5stdio6fpos_t6__initZ@Base 13 + _D4core4stdc5stdio8_IO_FILE6__initZ@Base 13 + _D4core4stdc6config11__moduleRefZ@Base 13 + _D4core4stdc6config12__ModuleInfoZ@Base 13 + _D4core4stdc6config__T8_ComplexTdZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZSQDbQCzQCx__TQCtTdZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZSQDbQCzQCx__TQCtTdZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfdZSQCgQCeQCc__TQByTdZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfdZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTdZQByZm@Base 13 + _D4core4stdc6config__T8_ComplexTeZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZSQDbQCzQCx__TQCtTeZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZSQDbQCzQCx__TQCtTeZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfeZSQCgQCeQCc__TQByTeZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfeZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTeZQByZm@Base 13 + _D4core4stdc6config__T8_ComplexTfZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZSQDbQCzQCx__TQCtTfZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZSQDbQCzQCx__TQCtTfZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNffZSQCgQCeQCc__TQByTfZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNffZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTfZQByZm@Base 13 + _D4core4stdc6float_11__moduleRefZ@Base 13 + _D4core4stdc6float_12__ModuleInfoZ@Base 13 + _D4core4stdc6limits11__moduleRefZ@Base 13 + _D4core4stdc6limits12__ModuleInfoZ@Base 13 + _D4core4stdc6locale11__moduleRefZ@Base 13 + _D4core4stdc6locale12__ModuleInfoZ@Base 13 + _D4core4stdc6locale5lconv6__initZ@Base 13 + _D4core4stdc6signal11__moduleRefZ@Base 13 + _D4core4stdc6signal12__ModuleInfoZ@Base 13 + _D4core4stdc6stdarg11__moduleRefZ@Base 13 + _D4core4stdc6stdarg12__ModuleInfoZ@Base 13 + _D4core4stdc6stddef11__moduleRefZ@Base 13 + _D4core4stdc6stddef12__ModuleInfoZ@Base 13 + _D4core4stdc6stdint11__moduleRefZ@Base 13 + _D4core4stdc6stdint12__ModuleInfoZ@Base 13 + _D4core4stdc6stdint__T7_typifyTgZQlFNaNbNiNfgZg@Base 13 + _D4core4stdc6stdint__T7_typifyThZQlFNaNbNiNfhZh@Base 13 + _D4core4stdc6stdint__T7_typifyTiZQlFNaNbNiNfiZi@Base 13 + _D4core4stdc6stdint__T7_typifyTkZQlFNaNbNiNfkZk@Base 13 + _D4core4stdc6stdint__T7_typifyTlZQlFNaNbNiNflZl@Base 13 + _D4core4stdc6stdint__T7_typifyTmZQlFNaNbNiNfmZm@Base 13 + _D4core4stdc6stdint__T7_typifyTsZQlFNaNbNiNfsZs@Base 13 + _D4core4stdc6stdint__T7_typifyTtZQlFNaNbNiNftZt@Base 13 + _D4core4stdc6stdlib11__moduleRefZ@Base 13 + _D4core4stdc6stdlib12__ModuleInfoZ@Base 13 + _D4core4stdc6stdlib5div_t6__initZ@Base 13 + _D4core4stdc6stdlib6ldiv_t6__initZ@Base 13 + _D4core4stdc6stdlib7lldiv_t6__initZ@Base 13 + _D4core4stdc6string11__moduleRefZ@Base 13 + _D4core4stdc6string12__ModuleInfoZ@Base 13 + _D4core4stdc6tgmath11__moduleRefZ@Base 13 + _D4core4stdc6tgmath12__ModuleInfoZ@Base 13 + _D4core4stdc6wchar_11__moduleRefZ@Base 13 + _D4core4stdc6wchar_12__ModuleInfoZ@Base 13 + _D4core4stdc6wchar_8getwcharFNbNiNeZw@Base 13 + _D4core4stdc6wchar_8putwcharFNbNiNewZw@Base 13 + _D4core4stdc6wchar_9mbstate_t6__initZ@Base 13 + _D4core4stdc6wchar_9mbstate_t8___value6__initZ@Base 13 + _D4core4stdc6wctype11__moduleRefZ@Base 13 + _D4core4stdc6wctype12__ModuleInfoZ@Base 13 + _D4core4stdc7assert_11__moduleRefZ@Base 13 + _D4core4stdc7assert_12__ModuleInfoZ@Base 13 + _D4core4stdc7complex11__moduleRefZ@Base 13 + _D4core4stdc7complex12__ModuleInfoZ@Base 13 + _D4core4stdc8inttypes11__moduleRefZ@Base 13 + _D4core4stdc8inttypes12__ModuleInfoZ@Base 13 + _D4core4stdc8inttypes9imaxdiv_t6__initZ@Base 13 + _D4core4stdc9stdatomic11__moduleRefZ@Base 14.2 + _D4core4stdc9stdatomic11atomic_flag6__initZ@Base 14.2 + _D4core4stdc9stdatomic12__ModuleInfoZ@Base 14.2 + _D4core4sync11__moduleRefZ@Base 13 + _D4core4sync12__ModuleInfoZ@Base 13 + _D4core4sync5event11__moduleRefZ@Base 13 + _D4core4sync5event12__ModuleInfoZ@Base 13 + _D4core4sync5event5Event10initializeMFNbNibbZv@Base 13 + _D4core4sync5event5Event14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core4sync5event5Event16setIfInitializedMFNbNiZv@Base 14 + _D4core4sync5event5Event3setMFNbNiZv@Base 13 + _D4core4sync5event5Event4waitMFNbNiSQBi4time8DurationZb@Base 13 + _D4core4sync5event5Event4waitMFNbNiZb@Base 13 + _D4core4sync5event5Event5resetMFNbNiZv@Base 13 + _D4core4sync5event5Event6__ctorMFNbNcNibbZSQBpQBnQBlQBi@Base 13 + _D4core4sync5event5Event6__dtorMFNbNiZv@Base 13 + _D4core4sync5event5Event6__initZ@Base 13 + _D4core4sync5event5Event9terminateMFNbNiZv@Base 13 + _D4core4sync5mutex11__moduleRefZ@Base 13 + _D4core4sync5mutex12__ModuleInfoZ@Base 13 + _D4core4sync5mutex5Mutex10handleAddrMFNiZPSQBp3sys5posixQk5types15pthread_mutex_t@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy11__xopEqualsMxFKxSQCdQCbQBzQBwQBtZb@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy6__initZ@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy9__xtoHashFNbNeKxSQCcQCaQByQBvQBsZm@Base 13 + _D4core4sync5mutex5Mutex4lockMFNeZv@Base 13 + _D4core4sync5mutex5Mutex4lockMOFNeZv@Base 13 + _D4core4sync5mutex5Mutex6__ctorMFNbNiNeC6ObjectZCQBvQBtQBrQBo@Base 13 + _D4core4sync5mutex5Mutex6__ctorMFNbNiNeZCQBnQBlQBjQBg@Base 13 + _D4core4sync5mutex5Mutex6__ctorMOFNbNiNeC6ObjectZOCQBxQBvQBtQBq@Base 13 + _D4core4sync5mutex5Mutex6__ctorMOFNbNiNeZOCQBpQBnQBlQBi@Base 13 + _D4core4sync5mutex5Mutex6__dtorMFNbNiNlNeZv@Base 13 + _D4core4sync5mutex5Mutex6__initZ@Base 13 + _D4core4sync5mutex5Mutex6__vtblZ@Base 13 + _D4core4sync5mutex5Mutex6unlockMFNeZv@Base 13 + _D4core4sync5mutex5Mutex6unlockMOFNeZv@Base 13 + _D4core4sync5mutex5Mutex7__ClassZ@Base 13 + _D4core4sync5mutex5Mutex7tryLockMFNeZb@Base 13 + _D4core4sync5mutex5Mutex7tryLockMOFNeZb@Base 13 + _D4core4sync5mutex5Mutex__T12lock_nothrowTCQBpQBnQBlQBiZQBdMFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T12lock_nothrowTOCQBqQBoQBmQBjZQBeMOFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T14unlock_nothrowTCQBrQBpQBnQBkZQBfMFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T14unlock_nothrowTOCQBsQBqQBoQBlZQBgMOFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T15tryLock_nothrowTCQBsQBqQBoQBlZQBgMFNbNiNeZb@Base 13 + _D4core4sync5mutex5Mutex__T15tryLock_nothrowTOCQBtQBrQBpQBmZQBhMOFNbNiNeZb@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTCQBiQBgQBeQBbZQwMFNbNiNeC6ObjectbZQBi@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTCQBiQBgQBeQBbZQwMFNbNiNebZQBa@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTOCQBjQBhQBfQBcZQxMOFNbNiNeC6ObjectbZOQBk@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTOCQBjQBhQBfQBcZQxMOFNbNiNebZOQBc@Base 13 + _D4core4sync6config11__moduleRefZ@Base 13 + _D4core4sync6config12__ModuleInfoZ@Base 13 + _D4core4sync6config7mktspecFNbNiKSQBg3sys5posix4time8timespecSQCiQs8DurationZv@Base 13 + _D4core4sync6config7mktspecFNbNiKSQBg3sys5posix4time8timespecZv@Base 13 + _D4core4sync6config7mvtspecFNbNiKSQBg3sys5posix4time8timespecSQCiQs8DurationZv@Base 13 + _D4core4sync7barrier11__moduleRefZ@Base 13 + _D4core4sync7barrier12__ModuleInfoZ@Base 13 + _D4core4sync7barrier7Barrier4waitMFZv@Base 13 + _D4core4sync7barrier7Barrier6__ctorMFkZCQBmQBkQBiQBd@Base 13 + _D4core4sync7barrier7Barrier6__initZ@Base 13 + _D4core4sync7barrier7Barrier6__vtblZ@Base 13 + _D4core4sync7barrier7Barrier7__ClassZ@Base 13 + _D4core4sync7rwmutex11__moduleRefZ@Base 13 + _D4core4sync7rwmutex12__ModuleInfoZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy11__xopEqualsMxFKxSQCwQCuQCsQCnQCaQBwZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy9__xtoHashFNbNeKxSQCvQCtQCrQCmQBzQBvZm@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7__ClassZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMFNeSQCc4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMOFNeSQCd4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMOFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T17shouldQueueReaderTCQCnQClQCjQCeQBrZQBlMFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T17shouldQueueReaderTOCQCoQCmQCkQCfQBsZQBmMOFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T6__ctorTCQCbQBzQBxQBsQBfZQzMFNaNbNiNeZQBe@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T6__ctorTOCQCcQCaQByQBtQBgZQBaMOFNaNbNiNeZOQBh@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy11__xopEqualsMxFKxSQCwQCuQCsQCnQCaQBwZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy9__xtoHashFNbNeKxSQCvQCtQCrQCmQBzQBvZm@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7__ClassZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMFNeSQCc4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMOFNeSQCd4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMOFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T17shouldQueueWriterTCQCnQClQCjQCeQBrZQBlMFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T17shouldQueueWriterTOCQCoQCmQCkQCfQBsZQBmMOFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T6__ctorTCQCbQBzQBxQBsQBfZQzMFNaNbNiNeZQBe@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T6__ctorTOCQCcQCaQByQBtQBgZQBaMOFNaNbNiNeZOQBh@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__ctorMFNbNfEQBwQBuQBsQBn6PolicyZCQCrQCpQCnQCi@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__ctorMOFNbNfEQBxQBvQBtQBo6PolicyZOCQCtQCrQCpQCk@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6policyMFNbNdNfZEQBzQBxQBvQBq6Policy@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6policyMOFNbNdNfZEQCaQByQBwQBr6Policy@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6readerMFNbNdNfZCQBzQBxQBvQBq6Reader@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6readerMOFNbNdNfZOCQCbQBzQBxQBs6Reader@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6writerMFNbNdNfZCQBzQBxQBvQBq6Writer@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6writerMOFNbNdNfZOCQCbQBzQBxQBs6Writer@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex7__ClassZ@Base 13 + _D4core4sync9condition11__moduleRefZ@Base 13 + _D4core4sync9condition12__ModuleInfoZ@Base 13 + _D4core4sync9condition9Condition13mutex_nothrowMFNaNbNdNiNfZCQChQCf5mutex5Mutex@Base 13 + _D4core4sync9condition9Condition13mutex_nothrowMOFNaNbNdNiNfZOCQCjQCh5mutex5Mutex@Base 13 + _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb@Base 13 + _D4core4sync9condition9Condition4waitMFZv@Base 13 + _D4core4sync9condition9Condition4waitMOFSQBn4time8DurationZb@Base 13 + _D4core4sync9condition9Condition4waitMOFZv@Base 13 + _D4core4sync9condition9Condition5mutexMFNdZCQBqQBoQs5Mutex@Base 13 + _D4core4sync9condition9Condition5mutexMOFNdZOCQBsQBqQu5Mutex@Base 13 + _D4core4sync9condition9Condition6__ctorMFNbNiNfCQBuQBs5mutex5MutexZCQCoQCmQCkQCd@Base 13 + _D4core4sync9condition9Condition6__ctorMOFNbNiNfOCQBwQBu5mutex5MutexZOCQCrQCpQCnQCg@Base 13 + _D4core4sync9condition9Condition6__dtorMFNiNlZv@Base 13 + _D4core4sync9condition9Condition6__initZ@Base 13 + _D4core4sync9condition9Condition6__vtblZ@Base 13 + _D4core4sync9condition9Condition6notifyMFZv@Base 13 + _D4core4sync9condition9Condition6notifyMOFZv@Base 13 + _D4core4sync9condition9Condition7__ClassZ@Base 13 + _D4core4sync9condition9Condition9notifyAllMFZv@Base 13 + _D4core4sync9condition9Condition9notifyAllMOFZv@Base 13 + _D4core4sync9condition9Condition__T4waitTCQBoQBmQBkQBdZQuMFNiSQCi4time8DurationbZb@Base 13 + _D4core4sync9condition9Condition__T4waitTCQBoQBmQBkQBdZQuMFNibZv@Base 13 + _D4core4sync9condition9Condition__T4waitTOCQBpQBnQBlQBeZQvMOFNiSQCk4time8DurationbZb@Base 13 + _D4core4sync9condition9Condition__T4waitTOCQBpQBnQBlQBeZQvMOFNibZv@Base 13 + _D4core4sync9condition9Condition__T6__ctorTCQBqQBoQBmQBfTCQCeQCc5mutex5MutexZQBqMFNbNiNeQBfbZQBy@Base 13 + _D4core4sync9condition9Condition__T6__ctorTOCQBrQBpQBnQBgTOCQCgQCe5mutex5MutexZQBsMOFNbNiNeOQBhbZOQCc@Base 13 + _D4core4sync9condition9Condition__T6notifyTCQBqQBoQBmQBfZQwMFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T6notifyTOCQBrQBpQBnQBgZQxMOFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T9notifyAllTCQBtQBrQBpQBiZQzMFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T9notifyAllTOCQBuQBsQBqQBjZQBaMOFNbNibZv@Base 13 + _D4core4sync9exception11__moduleRefZ@Base 13 + _D4core4sync9exception12__ModuleInfoZ@Base 13 + _D4core4sync9exception9SyncError6__ctorMFNaNbNfAyaC6object9ThrowableQvmZCQCtQCrQCpQCi@Base 13 + _D4core4sync9exception9SyncError6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCtQCrQCpQCi@Base 13 + _D4core4sync9exception9SyncError6__initZ@Base 13 + _D4core4sync9exception9SyncError6__vtblZ@Base 13 + _D4core4sync9exception9SyncError7__ClassZ@Base 13 + _D4core4sync9semaphore11__moduleRefZ@Base 13 + _D4core4sync9semaphore12__ModuleInfoZ@Base 13 + _D4core4sync9semaphore9Semaphore4waitMFSQBm4time8DurationZb@Base 13 + _D4core4sync9semaphore9Semaphore4waitMFZv@Base 13 + _D4core4sync9semaphore9Semaphore6__ctorMFkZCQBqQBoQBmQBf@Base 13 + _D4core4sync9semaphore9Semaphore6__dtorMFNlZv@Base 13 + _D4core4sync9semaphore9Semaphore6__initZ@Base 13 + _D4core4sync9semaphore9Semaphore6__vtblZ@Base 13 + _D4core4sync9semaphore9Semaphore6notifyMFZv@Base 13 + _D4core4sync9semaphore9Semaphore7__ClassZ@Base 13 + _D4core4sync9semaphore9Semaphore7tryWaitMFZb@Base 13 + _D4core4time11__moduleRefZ@Base 13 + _D4core4time11_posixClockFNaNbNiNfEQBhQBf9ClockTypeZi@Base 13 + _D4core4time12TickDuration10TDRvalueOfFSQBmQBkQBiZQl@Base 14 + _D4core4time12TickDuration11ticksPerSecyl@Base 13 + _D4core4time12TickDuration14currSystemTickFNbNdNiNeZSQBzQBxQBv@Base 13 + _D4core4time12TickDuration16time_initializerFZv@Base 13 + _D4core4time12TickDuration3maxFNaNbNdNiNfZSQBpQBnQBl@Base 13 + _D4core4time12TickDuration3minFNaNbNdNiNfZSQBpQBnQBl@Base 13 + _D4core4time12TickDuration4zeroFNaNbNdNiNfZSQBqQBoQBm@Base 13 + _D4core4time12TickDuration5msecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration5nsecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration5opCmpMxFNaNbNiNfSQBqQBoQBmZi@Base 13 + _D4core4time12TickDuration5usecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration6__ctorMFNaNbNcNiNflZSQBuQBsQBq@Base 13 + _D4core4time12TickDuration6__initZ@Base 13 + _D4core4time12TickDuration6hnsecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration7secondsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration8__xopCmpMxFKxSQBnQBlQBjZi@Base 13 + _D4core4time12TickDuration9appOriginySQBkQBiQBg@Base 13 + _D4core4time12__ModuleInfoZ@Base 13 + _D4core4time12nsecsToTicksFNaNbNiNflZl@Base 13 + _D4core4time12ticksToNSecsFNaNbNiNflZl@Base 13 + _D4core4time13TimeException6__ctorMFNaNbNfAyaC6object9ThrowableQvmZCQCoQCmQCk@Base 13 + _D4core4time13TimeException6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCoQCmQCk@Base 13 + _D4core4time13TimeException6__initZ@Base 13 + _D4core4time13TimeException6__vtblZ@Base 13 + _D4core4time13TimeException7__ClassZ@Base 13 + _D4core4time13_clockTypeIdxFEQBbQz9ClockTypeZm@Base 13 + _D4core4time13convClockFreqFNaNbNiNflllZl@Base 13 + _D4core4time14_clockTypeNameFEQBcQBa9ClockTypeZAya@Base 13 + _D4core4time15_ticksPerSecondyG8l@Base 13 + _D4core4time25unitsAreInDescendingOrderFMAAyaZb@Base 13 + _D4core4time3absFNaNbNiNfSQyQv12TickDurationZQu@Base 13 + _D4core4time3absFNaNbNiNfSQyQv8DurationZQp@Base 13 + _D4core4time4_absFNaNbNiNfdZd@Base 13 + _D4core4time4_absFNaNbNiNflZl@Base 13 + _D4core4time8Duration10isNegativeMxFNaNbNdNiNfZb@Base 13 + _D4core4time8Duration3maxFNaNbNdNiNfZSQBkQBiQBg@Base 13 + _D4core4time8Duration3minFNaNbNdNiNfZSQBkQBiQBg@Base 13 + _D4core4time8Duration4zeroFNaNbNdNiNfZSQBlQBjQBh@Base 13 + _D4core4time8Duration5opCmpMxFNaNbNiNfSQBlQBjQBhZi@Base 13 + _D4core4time8Duration6__ctorMFNaNbNcNiNflZSQBpQBnQBl@Base 13 + _D4core4time8Duration6__initZ@Base 13 + _D4core4time8Duration8__xopCmpMxFKxSQBiQBgQBeZi@Base 13 + _D4core4time8Duration8toStringMxFNaNbNfZAya@Base 13 + _D4core4time8Duration__T10opOpAssignVAyaa1_2aZQwMFNaNbNcNiNflZSQCjQChQCf@Base 13 + _D4core4time8Duration__T10opOpAssignVAyaa1_2bZQwMFNaNbNcNiNfxSQCiQCgQCeZSQCtQCrQCp@Base 14 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ12genSplitCallFNaNbNfZQCw@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ14genMemberDeclsFNaNbNfZQCy@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZSQDeQDcQDa__TQCuVQCra7_7365636f6e6473VQDma5_6e73656373ZQEkMxFNaNbNiNfZ10SplitUnits@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373Z__TQBvTlTlZQCdMxFNaNbNiNfJlJlZv@Base 13 + _D4core4time8Duration__T5totalVAyaa5_6d73656373ZQyMxFNaNbNdNiNfZl@Base 13 + _D4core4time8Duration__T5totalVAyaa7_7365636f6e6473ZQBcMxFNaNbNdNiNfZl@Base 13 + _D4core4time8Duration__T8opBinaryVAyaa1_2bZQtMxFNaNbNiNfxSQCeQCcQCaZSQCpQCnQCl@Base 14 + _D4core4time8Duration__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfxSQCeQCcQCaZSQCpQCnQCl@Base 14 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ10appListSepFNaNbNfQBqkbZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ5unitsyAAa@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa4_64617973ZQBcFNaNbNfQCmlZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_686f757273ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_6d73656373ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_7573656373ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_7765656b73ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa6_686e73656373ZQBgFNaNbNfQCqlZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa7_6d696e75746573ZQBiFNaNbNfQCslZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa7_7365636f6e6473ZQBiFNaNbNfQCslZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFNaNbNfMQBaZv@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj14ticksPerSecondFNaNbNdNiNfZl@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj3maxFNaNbNdNiNfZSQCqQCo__TQCmVQCbi0ZQCw@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj3minFNaNbNdNiNfZSQCqQCo__TQCmVQCbi0ZQCw@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj4zeroFNaNbNdNiNfZSQCrQCp__TQCnVQCci0ZQCx@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj5opCmpMxFNaNbNiNfSQCrQCp__TQCnVQCci0ZQCxZi@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj5ticksMxFNaNbNdNiNfZl@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj6__initZ@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8__xopCmpMxFKxSQCoQCm__TQCkVQBzi0ZQCuZi@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8currTimeFNbNdNiNeZSQCtQCr__TQCpVQCei0ZQCz@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8toStringMxFNaNbNfZAya@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfSQDjQDh__TQDfVQCui0ZQDpZSQEhQEf8Duration@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa4_64617973ZQBmFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_686f757273ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_6d73656373ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_7573656373ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_7765656b73ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa7_6d696e75746573ZQBsFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa7_7365636f6e6473ZQBsFNaNbNiNfKlZl@Base 13 + _D4core4time__T2toVAyaa5_6d73656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa5_6e73656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa5_7573656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa6_686e73656373TlTxSQBoQBm12TickDurationZQBwFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa7_7365636f6e6473TlTxSQBqQBo12TickDurationZQByFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T3durVAyaa4_64617973ZQuFNaNbNiNflZSQBvQBt8Duration@Base 13 + _D4core4time__T3durVAyaa5_686f757273ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_6d73656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_6e73656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_7573656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_7765656b73ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa6_686e73656373ZQyFNaNbNiNflZSQBzQBx8Duration@Base 13 + _D4core4time__T3durVAyaa7_6d696e75746573ZQBaFNaNbNiNflZSQCcQCa8Duration@Base 13 + _D4core4time__T3durVAyaa7_7365636f6e6473ZQBaFNaNbNiNflZSQCcQCa8Duration@Base 13 + _D4core4time__T7convertVAyaa4_64617973VQpa6_686e73656373ZQBqFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_686f757273VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_6d73656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_6e73656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_7573656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_7765656b73VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta4_64617973ZQBqFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_686f757273ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_6d73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_6e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_7573656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_7765656b73ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta6_686e73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta7_6d696e75746573ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta7_7365636f6e6473ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_6d696e75746573VQva6_686e73656373ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_6d73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_6e73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_7573656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva6_686e73656373ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva7_7365636f6e6473ZQByFNaNbNiNflZl@Base 13 + _D4core5bitop11__moduleRefZ@Base 13 + _D4core5bitop12__ModuleInfoZ@Base 13 + _D4core5bitop2btFNaNbNiMxPmmZi@Base 13 + _D4core5bitop3bsfFNaNbNiNfkZi@Base 13 + _D4core5bitop3bsfFNaNbNiNfmZi@Base 13 + _D4core5bitop3bsrFNaNbNiNfkZi@Base 13 + _D4core5bitop3bsrFNaNbNiNfmZi@Base 13 + _D4core5bitop6popcntFNaNbNiNfkZi@Base 13 + _D4core5bitop6popcntFNaNbNiNfmZi@Base 13 + _D4core5bitop7Split646__ctorMFNaNbNcNiNfmZSQBpQBnQBk@Base 13 + _D4core5bitop7Split646__initZ@Base 13 + _D4core5bitop7bitswapFNaNbNiNfkZk@Base 13 + _D4core5bitop7bitswapFNaNbNiNfmZm@Base 13 + _D4core5bitop8BitRange5emptyMxFNaNbNiNfZb@Base 13 + _D4core5bitop8BitRange5frontMFNaNbNiNfZm@Base 13 + _D4core5bitop8BitRange6__ctorMFNaNbNcNiPxmmZSQBrQBpQBm@Base 13 + _D4core5bitop8BitRange6__initZ@Base 13 + _D4core5bitop8BitRange8popFrontMFNaNbNiZv@Base 13 + _D4core5bitop8byteswapFNaNbNiNftZt@Base 13 + _D4core5bitop__T10softPopcntTkZQpFNaNbNiNfkZi@Base 13 + _D4core5bitop__T10softPopcntTmZQpFNaNbNiNfmZi@Base 13 + _D4core5bitop__T11softBitswapTkZQqFNaNbNiNfkZk@Base 13 + _D4core5bitop__T11softBitswapTmZQqFNaNbNiNfmZm@Base 13 + _D4core5bitop__T8softScanTkVbi0ZQqFNaNbNiNfkZi@Base 13 + _D4core5bitop__T8softScanTkVbi1ZQqFNaNbNiNfkZi@Base 13 + _D4core5bitop__T8softScanTmVbi0ZQqFNaNbNiNfmZi@Base 13 + _D4core5bitop__T8softScanTmVbi1ZQqFNaNbNiNfmZi@Base 13 + _D4core5cpuid10_hasPopcntyb@Base 13 + _D4core5cpuid10_hasRdrandyb@Base 13 + _D4core5cpuid10_hasRdseedyb@Base 13 + _D4core5cpuid10_isItaniumyb@Base 13 + _D4core5cpuid10_processoryAa@Base 13 + _D4core5cpuid10_x87onChipyb@Base 13 + _D4core5cpuid10dataCachesFNaNbNdNiNeZxG5SQBnQBl9CacheInfo@Base 13 + _D4core5cpuid11CpuFeatures11__xopEqualsMxFKxSQBrQBpQBmZb@Base 13 + _D4core5cpuid11CpuFeatures6__initZ@Base 13 + _D4core5cpuid11CpuFeatures9__xtoHashFNbNeKxSQBqQBoQBlZm@Base 13 + _D4core5cpuid11__moduleRefZ@Base 13 + _D4core5cpuid11_dataCachesyG5SQBcQBa9CacheInfo@Base 13 + _D4core5cpuid11amd3dnowExtFNaNbNdNiNeZb@Base 13 + _D4core5cpuid11cacheLevelsFNbNdNiNeZk@Base 13 + _D4core5cpuid11coresPerCPUFNaNbNdNiNeZk@Base 13 + _D4core5cpuid11cpuFeaturesSQzQw11CpuFeatures@Base 13 + _D4core5cpuid11hasLahfSahfFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12__ModuleInfoZ@Base 13 + _D4core5cpuid12_amd3dnowExtyb@Base 13 + _D4core5cpuid12_coresPerCPUyk@Base 13 + _D4core5cpuid12_hasLahfSahfyb@Base 13 + _D4core5cpuid12getCpuInfo0BFNbNiNeZv@Base 13 + _D4core5cpuid12hasCmpxchg8bFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12hasPclmulqdqFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12preferAthlonFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13_hasCmpxchg8byb@Base 13 + _D4core5cpuid13_hasPclmulqdqyb@Base 13 + _D4core5cpuid13_preferAthlonyb@Base 13 + _D4core5cpuid13hasCmpxchg16bFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13hasVpclmulqdqFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13threadsPerCPUFNaNbNdNiNeZk@Base 13 + _D4core5cpuid14_hasCmpxchg16byb@Base 13 + _D4core5cpuid14_hasVpclmulqdqyb@Base 13 + _D4core5cpuid14_threadsPerCPUyk@Base 13 + _D4core5cpuid14getCpuFeaturesFNbNiNeZPSQBlQBj11CpuFeatures@Base 13 + _D4core5cpuid14hyperThreadingFNaNbNdNiNeZb@Base 13 + _D4core5cpuid14numCacheLevelsk@Base 13 + _D4core5cpuid14preferPentium1FNaNbNdNiNeZb@Base 13 + _D4core5cpuid14preferPentium4FNaNbNdNiNeZb@Base 13 + _D4core5cpuid15_hyperThreadingyb@Base 13 + _D4core5cpuid15_preferPentium1yb@Base 13 + _D4core5cpuid15_preferPentium4yb@Base 13 + _D4core5cpuid15getAMDcacheinfoFNbNiNeZ8assocmapyAh@Base 13 + _D4core5cpuid15getAMDcacheinfoFNbNiNeZv@Base 13 + _D4core5cpuid16has3dnowPrefetchFNaNbNdNiNeZb@Base 13 + _D4core5cpuid17_has3dnowPrefetchyb@Base 13 + _D4core5cpuid17hyperThreadingBitFNbNdNiNeZb@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ3idsyG63h@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ4waysyG63h@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ5sizesyG63k@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZv@Base 13 + _D4core5cpuid18getcacheinfoCPUID4FNbNiNeZv@Base 13 + _D4core5cpuid18hasSysEnterSysExitFNaNbNdNiNeZb@Base 13 + _D4core5cpuid18max_extended_cpuidk@Base 13 + _D4core5cpuid19_hasSysEnterSysExityb@Base 13 + _D4core5cpuid20cpuid_initializationFNbNiNeZv@Base 13 + _D4core5cpuid3aesFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3avxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3fmaFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3hleFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3mmxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3rtmFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3sseFNaNbNdNiNeZb@Base 13 + _D4core5cpuid4_aesyb@Base 13 + _D4core5cpuid4_avxyb@Base 13 + _D4core5cpuid4_fmayb@Base 13 + _D4core5cpuid4_hleyb@Base 13 + _D4core5cpuid4_mmxyb@Base 13 + _D4core5cpuid4_rtmyb@Base 13 + _D4core5cpuid4_sseyb@Base 13 + _D4core5cpuid4avx2FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4sse2FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4sse3FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4vaesFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5_avx2yb@Base 13 + _D4core5cpuid5_sse2yb@Base 13 + _D4core5cpuid5_sse3yb@Base 13 + _D4core5cpuid5_vaesyb@Base 13 + _D4core5cpuid5fp16cFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5modelk@Base 13 + _D4core5cpuid5sse41FNaNbNdNiNeZb@Base 13 + _D4core5cpuid5sse42FNaNbNdNiNeZb@Base 13 + _D4core5cpuid5sse4aFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5ssse3FNaNbNdNiNeZb@Base 13 + _D4core5cpuid6_fp16cyb@Base 13 + _D4core5cpuid6_sse41yb@Base 13 + _D4core5cpuid6_sse42yb@Base 13 + _D4core5cpuid6_sse4ayb@Base 13 + _D4core5cpuid6_ssse3yb@Base 13 + _D4core5cpuid6amdMmxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid6familyk@Base 13 + _D4core5cpuid6hasShaFNaNbNdNiNeZb@Base 13 + _D4core5cpuid6vendorFNaNbNdNiNeZAya@Base 13 + _D4core5cpuid7_amdMmxyb@Base 13 + _D4core5cpuid7_hasShayb@Base 13 + _D4core5cpuid7_vendoryAa@Base 13 + _D4core5cpuid7avx512fFNaNbNdNiNeZb@Base 13 + _D4core5cpuid7hasCmovFNaNbNdNiNeZb@Base 13 + _D4core5cpuid7hasFxsrFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8_avx512fyb@Base 13 + _D4core5cpuid8_hasCmovyb@Base 13 + _D4core5cpuid8_hasFxsryb@Base 13 + _D4core5cpuid8amd3dnowFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8cpuidX86FNbNiNeZv@Base 13 + _D4core5cpuid8hasCPUIDFNbNiNeZb@Base 13 + _D4core5cpuid8hasLzcntFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8hasRdtscFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8isX86_64FNaNbNdNiNeZb@Base 13 + _D4core5cpuid8steppingk@Base 13 + _D4core5cpuid9CacheInfo6__initZ@Base 13 + _D4core5cpuid9_amd3dnowyb@Base 13 + _D4core5cpuid9_hasLzcntyb@Base 13 + _D4core5cpuid9_hasRdtscyb@Base 13 + _D4core5cpuid9_isX86_64yb@Base 13 + _D4core5cpuid9datacacheG5SQyQv9CacheInfo@Base 13 + _D4core5cpuid9hasPopcntFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9hasRdrandFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9hasRdseedFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9isItaniumFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9max_cpuidk@Base 13 + _D4core5cpuid9processorFNaNbNdNiNeZAya@Base 13 + _D4core5cpuid9x87onChipFNaNbNdNiNeZb@Base 13 + _D4core6atomic11__moduleRefZ@Base 13 + _D4core6atomic12__ModuleInfoZ@Base 13 + _D4core6atomic5pauseFNaNbNiNfZv@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKOxPSQCcQCcQBvZQCp@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKxPOxSQCdQCdQBwZQCq@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNeNkMKOxmZm@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNeNkMKxmZm@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNeNkMKOxPSQBpQBpQBjZQCc@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNeNkMKxPOxSQBqQBqQBkZQCd@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKOxPSQCcQCcQBvZQCp@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKxPOxSQCdQCdQBwZQCq@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TC6ObjectZQBtFNaNbNiNeKOxCQyZOCQBd@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TCQCa4sync5mutex5MutexZQCgFNaNbNiNeKOxCQDlQBlQBjQBgZOCQEaQCaQByQBv@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPOSQCc4stdc5stdio8_IO_FILEZQClFNaNbNiNeNkMKOxPSQDuQBsQBqQBnZQCi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPOSQCc4stdc5stdio8_IO_FILEZQClFNaNbNiNeNkMKxPOxSQDvQBtQBrQBoZQCj@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNeNkMKOxPQBnZQBs@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNeNkMKxPQBmZQBr@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TbZQBmFNaNbNiNeNkMKOxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TbZQBmFNaNbNiNeNkMKxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TiZQBmFNaNbNiNeNkMKOxiZi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TiZQBmFNaNbNiNeNkMKxiZi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TkZQBmFNaNbNiNeNkMKOxkZk@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TkZQBmFNaNbNiNeNkMKxkZk@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TbTbZQBpFNaNbNiNeKObbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TbTbZQBpFNaNbNiNeKbbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TmTiZQBpFNaNbNiNeKOmiZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TmTiZQBpFNaNbNiNeKmiZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorTQyZQCmFNaNbNiNeKOPQBoQBtZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorTQyZQCmFNaNbNiNeKQBoQBrZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONTQBlZQDaFNaNbNiNeKOPQCcQChZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONTQBlZQDaFNaNbNiNeKQCcQCfZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TmTmZQBpFNaNbNiNeKOmmZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TmTmZQBpFNaNbNiNeKmmZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTPUNaNbNiNexQxQxQxQxZQBeZQDeFNaNbNiNeKOPQChQBqZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTPUNaNbNiNexQxQxQxQxZQBeZQDeFNaNbNiNeKQCgQBoZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTQvZQCjFNaNbNiNeKOPQBmQBqZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTQvZQCjFNaNbNiNeKQBlQBoZv@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKOkmZk@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKkmZk@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKOmmZm@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKmmZm@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKOkmZk@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKkmZk@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKOmmZm@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKmmZm@Base 14 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOhZQBgFNaNbNiNfPOhZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOkZQBgFNaNbNiNfPOkZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOmZQBgFNaNbNiNfPOmZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOtZQBgFNaNbNiNfPOtZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedThZQBfFNaNbNiNfPhZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTkZQBfFNaNbNiNfPkZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTmZQBfFNaNbNiNfPmZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTtZQBfFNaNbNiNfPtZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTOkZQBiFNaNbNiNeKOkZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTOmZQBiFNaNbNiNeKOmZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTkZQBhFNaNbNiNeKkZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTmZQBhFNaNbNiNeKmZb@Base 13 + _D4core6atomic__T3casZ__TQiThThThZQrFNaNbNiNePOhhhZb@Base 13 + _D4core6atomic__T3casZ__TQiThThThZQrFNaNbNiNePhhhZb@Base 13 + _D4core6atomic__T3casZ__TQiTmTmTmZQrFNaNbNiNePOmmmZb@Base 13 + _D4core6atomic__T3casZ__TQiTmTmTmZQrFNaNbNiNePmmmZb@Base 13 + _D4core6atomic__T3casZ__TQiTtTtTtZQrFNaNbNiNePOtttZb@Base 13 + _D4core6atomic__T3casZ__TQiTtTtTtZQrFNaNbNiNePtttZb@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTkTiZQzFNaNbNiNfKOkiZk@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTmTiZQzFNaNbNiNfKOmiZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTmTmZQzFNaNbNiNfKOmmZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTkTiZQzFNaNbNiNfKOkiZk@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTmTiZQzFNaNbNiNfKOmiZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTmTmZQzFNaNbNiNfKOmmZm@Base 13 + _D4core6int12811__moduleRefZ@Base 13 + _D4core6int12812__ModuleInfoZ@Base 13 + _D4core6int1282geFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282gtFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282leFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282ltFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282orFNaNbNiNfSQzQw4CentQkZQn@Base 13 + _D4core6int1283addFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283andFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283comFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283decFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283divFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283incFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283mulFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283negFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283rolFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283rorFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283sarFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283shlFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283shrFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283subFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283tstFNaNbNiNfSQBaQy4CentZb@Base 13 + _D4core6int1283ugeFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283ugtFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283uleFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283ultFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283xorFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1284Cent6__initZ@Base 13 + _D4core6int1284rol1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284ror1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284sar1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284shl1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284shr1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284udivFNaNbNiNfSQBbQz4CentQlZQo@Base 13 + _D4core6int1286divmodFNaNbNiNfSQBdQBb4CentQmJQpZQs@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZ13udivmod128_64FNaNbNiNfQBqmJmZm@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZ13udivmod128_64FQBimJmZ9udiv96_64FNaNbNiNfmkmZk@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZQs@Base 13 + _D4core6memory10initializeFZv@Base 13 + _D4core6memory11__moduleRefZ@Base 13 + _D4core6memory12__ModuleInfoZ@Base 13 + _D4core6memory2GC12ProfileStats6__initZ@Base 13 + _D4core6memory2GC12profileStatsFNbNiNfZSQBmQBkQBg12ProfileStats@Base 13 + _D4core6memory2GC5Stats6__initZ@Base 13 + _D4core6memory2GC5queryFNaNbNkMPvZSQBhQBf8BlkInfo_@Base 13 + _D4core6memory2GC5queryFNbNkMxPvZSQBgQBe8BlkInfo_@Base 13 + _D4core6memory2GC5statsFNbNiNfZSQBeQBcQy5Stats@Base 13 + _D4core6memory2GC6__initZ@Base 13 + _D4core6memory2GC6addrOfFNaNbNiNePNgvZQf@Base 13 + _D4core6memory2GC6addrOfFNaNbNiNePvZQd@Base 13 + _D4core6memory2GC6sizeOfFNaNbNiPvZm@Base 13 + _D4core6memory2GC6sizeOfFNbNiMxPvZm@Base 13 + _D4core6memory2GC7clrAttrFNaNbPvkZk@Base 13 + _D4core6memory2GC7clrAttrFNbMxPvkZk@Base 13 + _D4core6memory2GC7getAttrFNaNbPvZk@Base 13 + _D4core6memory2GC7getAttrFNbMxPvZk@Base 13 + _D4core6memory2GC7setAttrFNaNbPvkZk@Base 13 + _D4core6memory2GC7setAttrFNbMxPvkZk@Base 13 + _D4core6memory8BlkInfo_6__initZ@Base 13 + _D4core6memory8pageSizeym@Base 13 + _D4core6memory__T8pureFreeZQkFNaNbNiPvZv@Base 13 + _D4core6stdcpp11string_view11__moduleRefZ@Base 13 + _D4core6stdcpp11string_view12__ModuleInfoZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTaZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTuZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTwZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTaTSQBzQBxQBt__T11char_traitsTaZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTuTSQBzQBxQBt__T11char_traitsTuZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTwTSQBzQBxQBt__T11char_traitsTwZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11type_traits11__moduleRefZ@Base 13 + _D4core6stdcpp11type_traits12__ModuleInfoZ@Base 13 + _D4core6stdcpp11type_traits__T17integral_constantTbVbi0ZQBa6__initZ@Base 13 + _D4core6stdcpp11type_traits__T17integral_constantTbVbi1ZQBa6__initZ@Base 13 + _D4core6stdcpp4new_11__moduleRefZ@Base 13 + _D4core6stdcpp4new_11align_val_t6__initZ@Base 13 + _D4core6stdcpp4new_11std_nothrowySQBgQBeQBa9nothrow_t@Base 13 + _D4core6stdcpp4new_12__ModuleInfoZ@Base 13 + _D4core6stdcpp4new_9bad_alloc6__initZ@Base 13 + _D4core6stdcpp4new_9bad_alloc6__vtblZ@Base 13 + _D4core6stdcpp4new_9bad_alloc7__ClassZ@Base 13 + _D4core6stdcpp4new_9nothrow_t6__initZ@Base 13 + _D4core6stdcpp5array11__moduleRefZ@Base 13 + _D4core6stdcpp5array12__ModuleInfoZ@Base 13 + _D4core6stdcpp6memory11__moduleRefZ@Base 13 + _D4core6stdcpp6memory12__ModuleInfoZ@Base 13 + _D4core6stdcpp6string11__moduleRefZ@Base 13 + _D4core6stdcpp6string12__ModuleInfoZ@Base 13 + _D4core6stdcpp6vector11__moduleRefZ@Base 13 + _D4core6stdcpp6vector12__ModuleInfoZ@Base 13 + _D4core6stdcpp7utility11__moduleRefZ@Base 13 + _D4core6stdcpp7utility12__ModuleInfoZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__ctorMFNbNiZCQBwQBuQBqQBk@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__initZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid7__ClassZ@Base 13 + _D4core6stdcpp8typeinfo11__moduleRefZ@Base 13 + _D4core6stdcpp8typeinfo12__ModuleInfoZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__ctorMFNbNiZCQBtQBrQBnQBh@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__initZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast7__ClassZ@Base 13 + _D4core6stdcpp8typeinfo9type_info6__ctorMFNiPxaZCQBvQBtQBpQBj@Base 13 + _D4core6stdcpp8typeinfo9type_info6__initZ@Base 13 + _D4core6stdcpp8typeinfo9type_info6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo9type_info7__ClassZ@Base 13 + _D4core6stdcpp8xutility11__moduleRefZ@Base 13 + _D4core6stdcpp8xutility12__ModuleInfoZ@Base 13 + _D4core6stdcpp8xutility14CppStdRevision6__initZ@Base 13 + _D4core6stdcpp9allocator11__moduleRefZ@Base 13 + _D4core6stdcpp9allocator12__ModuleInfoZ@Base 13 + _D4core6stdcpp9exception11__moduleRefZ@Base 13 + _D4core6stdcpp9exception12__ModuleInfoZ@Base 13 + _D4core6stdcpp9exception13bad_exception6__ctorMFNbNiPxaZCQCdQCbQBxQBq@Base 13 + _D4core6stdcpp9exception13bad_exception6__initZ@Base 13 + _D4core6stdcpp9exception13bad_exception6__vtblZ@Base 13 + _D4core6stdcpp9exception13bad_exception7__ClassZ@Base 13 + _D4core6stdcpp9exceptionQk6__ctorMFNbNiPxaiZCQBrQBpQBlQBo@Base 13 + _D4core6stdcpp9exceptionQk6__ctorMFNbNiZCQBnQBlQBhQBk@Base 13 + _D4core6stdcpp9exceptionQk6__initZ@Base 13 + _D4core6stdcpp9exceptionQk6__vtblZ@Base 13 + _D4core6stdcpp9exceptionQk7__ClassZ@Base 13 + _D4core6thread10threadbase10ThreadBase10popContextMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase10topContextMFNbNiZPSQCfQCd7context12StackContext@Base 13 + _D4core6thread10threadbase10ThreadBase11pushContextMFNbNiPSQCfQCd7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase12isMainThreadMFNbNdNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase13nAboutToStartm@Base 13 + _D4core6thread10threadbase10ThreadBase13pAboutToStartPCQCbQBzQBvQBm@Base 13 + _D4core6thread10threadbase10ThreadBase13tlsGCdataInitMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase15initDataStorageMFNbZv@Base 13 + _D4core6thread10threadbase10ThreadBase18criticalRegionLockFNbNdNiZCQCn4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase10ThreadBase18destroyDataStorageMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase18destructBeforeDtorMFNbNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase19_criticalRegionLockG72v@Base 13 + _D4core6thread10threadbase10ThreadBase21incrementAboutToStartFNbNiCQCnQClQChQByZv@Base 14.2 + _D4core6thread10threadbase10ThreadBase25destroyDataStorageIfAvailMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase2idMFNdNiNfZm@Base 13 + _D4core6thread10threadbase10ThreadBase3addFNbNiCQBuQBsQBoQBfbZv@Base 13 + _D4core6thread10threadbase10ThreadBase3addFNbNiPSQBvQBt7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase3runMFZv@Base 13 + _D4core6thread10threadbase10ThreadBase4nameMFNdNiNfAyaZv@Base 13 + _D4core6thread10threadbase10ThreadBase4nameMFNdNiNfZAya@Base 13 + _D4core6thread10threadbase10ThreadBase5slockFNbNdNiZCQBz4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase10ThreadBase5yieldFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNeDFZvmZCQCiQCgQCcQBt@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNfPFZvmZCQCiQCgQCcQBt@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNfmZCQCeQCcQByQBp@Base 13 + _D4core6thread10threadbase10ThreadBase6__initZ@Base 13 + _D4core6thread10threadbase10ThreadBase6__vtblZ@Base 13 + _D4core6thread10threadbase10ThreadBase6_slockG72v@Base 13 + _D4core6thread10threadbase10ThreadBase6getAllFZ6resizeFNaNbNfKACQCkQCiQCeQBvmZv@Base 13 + _D4core6thread10threadbase10ThreadBase6getAllFZACQBvQBtQBpQBg@Base 13 + _D4core6thread10threadbase10ThreadBase6removeFNbNiCQBxQBvQBrQBiZv@Base 13 + _D4core6thread10threadbase10ThreadBase6removeFNbNiPSQByQBw7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase7__ClassZ@Base 13 + _D4core6thread10threadbase10ThreadBase7getThisFNbNiNfZCQCbQBzQBvQBm@Base 13 + _D4core6thread10threadbase10ThreadBase7opApplyFMDFKCQByQBwQBsQBjZiZ6resizeFNbNiKAQBemZv@Base 13 + _D4core6thread10threadbase10ThreadBase7opApplyFMDFKCQByQBwQBsQBjZiZi@Base 13 + _D4core6thread10threadbase10ThreadBase7setThisFNbNiCQByQBwQBsQBjZv@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_cbegPSQBuQBs7context12StackContext@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_mainCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_tbegCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_thisCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_tlenm@Base 13 + _D4core6thread10threadbase10ThreadBase8isDaemonMFNdNiNfZb@Base 13 + _D4core6thread10threadbase10ThreadBase8isDaemonMFNdNiNfbZv@Base 13 + _D4core6thread10threadbase10ThreadBase9initLocksFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase9isRunningMFNbNdNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase9termLocksFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase__T10getAllImplS_DQCcQCaQBwQBn6getAllFZ6resizeFNaNbNfKACQDoQDmQDiQCzmZvZQCrFZQx@Base 13 + _D4core6thread10threadbase10ThreadBase__T10getAllImplS_DQCcQCaQBwQBn7opApplyFMDFKCQDcQDaQCwQCnZiZ6resizeFNbNiKAQBemZvZQCzFNiZQp@Base 13 + _D4core6thread10threadbase11ThreadError6__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDcQDaQCwQCn@Base 13 + _D4core6thread10threadbase11ThreadError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDcQDaQCwQCn@Base 13 + _D4core6thread10threadbase11ThreadError6__initZ@Base 13 + _D4core6thread10threadbase11ThreadError6__vtblZ@Base 13 + _D4core6thread10threadbase11ThreadError7__ClassZ@Base 13 + _D4core6thread10threadbase11__moduleRefZ@Base 13 + _D4core6thread10threadbase11ll_nThreadsm@Base 13 + _D4core6thread10threadbase11ll_pThreadsPSQBnQBl5types13ll_ThreadData@Base 13 + _D4core6thread10threadbase12__ModuleInfoZ@Base 13 + _D4core6thread10threadbase12lowlevelLockFNbNdNiZCQBv4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase12suspendDepthk@Base 13 + _D4core6thread10threadbase13onThreadErrorFNbNiAyaZ5errorCQCdQCbQBx11ThreadError@Base 13 + _D4core6thread10threadbase13onThreadErrorFNbNiAyaZv@Base 13 + _D4core6thread10threadbase15ThreadException6__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDgQDeQDaQCr@Base 13 + _D4core6thread10threadbase15ThreadException6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDgQDeQDaQCr@Base 13 + _D4core6thread10threadbase15ThreadException6__initZ@Base 13 + _D4core6thread10threadbase15ThreadException6__vtblZ@Base 13 + _D4core6thread10threadbase15ThreadException7__ClassZ@Base 13 + _D4core6thread10threadbase15ll_removeThreadFNbNimZv@Base 13 + _D4core6thread10threadbase15scanAllTypeImplFNbMDFNbEQByQBwQBs8ScanTypePvQcZvQgZv@Base 13 + _D4core6thread10threadbase17multiThreadedFlagb@Base 13 + _D4core6thread10threadbase17thread_findByAddrFmZCQBvQBtQBp10ThreadBase@Base 13 + _D4core6thread10threadbase18findLowLevelThreadFNbNimZb@Base 13 + _D4core6thread10threadbase19initLowlevelThreadsFNbNiZv@Base 13 + _D4core6thread10threadbase19termLowlevelThreadsFNbNiZv@Base 13 + _D4core6thread10threadbase25_sharedStaticDtor_L958_C1FZv@Base 14.2 + _D4core6thread10threadbase7ll_lockG72v@Base 13 + _D4core6thread10threadbase__T15thread_term_tplTCQBuQBs8osthread6ThreadTG177vZQBwFNbNiKQpZv@Base 13 + _D4core6thread10threadbase__T21thread_attachThis_tplTCQCaQBy8osthread6ThreadZQBwFNbZQBf@Base 13 + _D4core6thread11__moduleRefZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup3addMFCQBtQBr8osthread6ThreadZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup6__initZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup6__vtblZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup6createMFDFZvZCQCbQBz8osthread6Thread@Base 13 + _D4core6thread11threadgroup11ThreadGroup6createMFPFZvZCQCbQBz8osthread6Thread@Base 13 + _D4core6thread11threadgroup11ThreadGroup6removeMFCQBwQBu8osthread6ThreadZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup7__ClassZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup7joinAllMFbZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup7opApplyMFMDFKCQCbQBz8osthread6ThreadZiZi@Base 13 + _D4core6thread11threadgroup11__moduleRefZ@Base 13 + _D4core6thread11threadgroup12__ModuleInfoZ@Base 13 + _D4core6thread12__ModuleInfoZ@Base 13 + _D4core6thread5fiber11__moduleRefZ@Base 13 + _D4core6thread5fiber12__ModuleInfoZ@Base 13 + _D4core6thread5fiber5Fiber10allocStackMFNbmmZv@Base 13 + _D4core6thread5fiber5Fiber13yieldAndThrowFNbNiC6object9ThrowableZv@Base 13 + _D4core6thread5fiber5Fiber19_staticCtor_L930_C9FZv@Base 14 + _D4core6thread5fiber5Fiber3runMFZv@Base 13 + _D4core6thread5fiber5Fiber4callMFEQBgQBeQBaQx7RethrowZC6object9Throwable@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiDFZvZv@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiPFZvZv@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber5stateMxFNaNbNdNiNfZEQBtQBrQBnQBk5State@Base 13 + _D4core6thread5fiber5Fiber5yieldFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber6__ctorMFNbDFZvmmZCQBrQBpQBlQBi@Base 13 + _D4core6thread5fiber5Fiber6__ctorMFNbPFZvmmZCQBrQBpQBlQBi@Base 13 + _D4core6thread5fiber5Fiber6__dtorMFNbNiNlZv@Base 13 + _D4core6thread5fiber5Fiber6__initZ@Base 13 + _D4core6thread5fiber5Fiber6__vtblZ@Base 13 + _D4core6thread5fiber5Fiber7__ClassZ@Base 13 + _D4core6thread5fiber5Fiber7getThisFNbNiNfZCQBpQBnQBjQBg@Base 13 + _D4core6thread5fiber5Fiber7setThisFNbNiCQBmQBkQBgQBdZv@Base 13 + _D4core6thread5fiber5Fiber7sm_thisCQBhQBfQBbQy@Base 13 + _D4core6thread5fiber5Fiber7sm_utxtSQBh3sys5posix8ucontext10ucontext_t@Base 13 + _D4core6thread5fiber5Fiber8callImplMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber8switchInMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9freeStackMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9initStackMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9switchOutMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber__T4callVEQBiQBgQBcQz7Rethrowi0ZQBdMFNbNiZC6object9Throwable@Base 13 + _D4core6thread5fiber5Fiber__T4callVEQBiQBgQBcQz7Rethrowi1ZQBdMFNiZC6object9Throwable@Base 13 + _D4core6thread5types11__moduleRefZ@Base 13 + _D4core6thread5types12__ModuleInfoZ@Base 13 + _D4core6thread5types13ll_ThreadData6__initZ@Base 13 + _D4core6thread5types17PTHREAD_STACK_MINym@Base 13 + _D4core6thread5types24_sharedStaticCtor_L54_C1FZv@Base 14 + _D4core6thread7context11__moduleRefZ@Base 13 + _D4core6thread7context12StackContext6__initZ@Base 13 + _D4core6thread7context12__ModuleInfoZ@Base 13 + _D4core6thread7context8Callable6__initZ@Base 13 + _D4core6thread7context8Callable6opCallMFZv@Base 13 + _D4core6thread7context8Callable8opAssignMFNaNbNiNfDFZvZv@Base 13 + _D4core6thread7context8Callable8opAssignMFNaNbNiNfPFZvZv@Base 13 + _D4core6thread8osthread11__moduleRefZ@Base 13 + _D4core6thread8osthread11getStackTopFNbNiZPv@Base 13 + _D4core6thread8osthread11swapContextFNbNiPvZQd@Base 13 + _D4core6thread8osthread12__ModuleInfoZ@Base 13 + _D4core6thread8osthread12attachThreadFNbNiCQBpQBn10threadbase10ThreadBaseZQBg@Base 13 + _D4core6thread8osthread12suspendCountSQBk3sys5posix9semaphore5sem_t@Base 13 + _D4core6thread8osthread12thread_yieldFNbNiZv@Base 13 + _D4core6thread8osthread14getStackBottomFNbNiZPv@Base 13 + _D4core6thread8osthread15adjustStackSizeFNbNimZm@Base 13 + _D4core6thread8osthread16_mainThreadStoreG177v@Base 13 + _D4core6thread8osthread17thread_entryPointUNbPvZ21thread_cleanupHandlerUNaNbNiQBhZv@Base 13 + _D4core6thread8osthread18callWithStackShellFNbMDFNbPvZvZv@Base 13 + _D4core6thread8osthread18joinLowLevelThreadFNbNimZv@Base 13 + _D4core6thread8osthread18resumeSignalNumberi@Base 13 + _D4core6thread8osthread19suspendSignalNumberi@Base 13 + _D4core6thread8osthread20createLowLevelThreadFNbNiDFNbZvkQhZ20thread_lowlevelEntryUNbPvZQd@Base 13 + _D4core6thread8osthread20createLowLevelThreadFNbNiDFNbZvkQhZm@Base 13 + _D4core6thread8osthread6Thread12PRIORITY_MAXFNaNbNdNiNeZxi@Base 13 + _D4core6thread8osthread6Thread12PRIORITY_MINFNaNbNdNiNeZi@Base 13 + _D4core6thread8osthread6Thread14loadPrioritiesFNbNiNeZSQCbQBzQBvQBp8Priority@Base 13 + _D4core6thread8osthread6Thread16PRIORITY_DEFAULTFNaNbNdNiNeZi@Base 13 + _D4core6thread8osthread6Thread3runMFZv@Base 13 + _D4core6thread8osthread6Thread4joinMFbZC6object9Throwable@Base 13 + _D4core6thread8osthread6Thread5cacheOSQBkQBiQBeQy8Priority@Base 13 + _D4core6thread8osthread6Thread5sleepFNbNiSQBo4time8DurationZv@Base 13 + _D4core6thread8osthread6Thread5startMFNbZCQBoQBmQBiQBc@Base 13 + _D4core6thread8osthread6Thread5yieldFNbNiZv@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfDFZvmZCQCaQByQBuQBo@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfPFZvmZCQCaQByQBuQBo@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfmZCQBwQBuQBqQBk@Base 13 + _D4core6thread8osthread6Thread6__dtorMFNbNiNlZv@Base 13 + _D4core6thread8osthread6Thread6__initZ@Base 13 + _D4core6thread8osthread6Thread6__vtblZ@Base 13 + _D4core6thread8osthread6Thread7__ClassZ@Base 13 + _D4core6thread8osthread6Thread7getThisFNbNiNfZCQBtQBrQBnQBh@Base 13 + _D4core6thread8osthread6Thread8Priority6__initZ@Base 13 + _D4core6thread8osthread6Thread8priorityMFNdZi@Base 13 + _D4core6thread8osthread6Thread8priorityMFNdiZv@Base 13 + _D4core6thread8osthread6Thread9isRunningMFNbNdNiZb@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa12_5052494f524954595f4d4158ZQBtFNbNiNfZi@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa12_5052494f524954595f4d494eZQBtFNbNiNfZi@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa16_5052494f524954595f44454641554c54ZQCbFNbNiNfZi@Base 13 + _D4core6thread8osthread6resumeFNbNiCQBiQBg10threadbase10ThreadBaseZv@Base 13 + _D4core6thread8osthread7suspendFNbNiCQBjQBhQBd6ThreadZb@Base 13 + _D4core6thread8osthread8toThreadFNaNbNiNeNkMCQBrQBp10threadbase10ThreadBaseZCQCxQCvQCr6Thread@Base 13 + _D4core6vararg11__moduleRefZ@Base 13 + _D4core6vararg12__ModuleInfoZ@Base 13 + _D4core7factory11__moduleRefZ@Base 13 + _D4core7factory12__ModuleInfoZ@Base 13 + _D4core7runtime11__moduleRefZ@Base 13 + _D4core7runtime12__ModuleInfoZ@Base 13 + _D4core7runtime14UnitTestResult6__initZ@Base 13 + _D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUiPSQCi3sys5posix6signal9siginfo_tPvZv@Base 13 + _D4core7runtime19defaultTraceHandlerFPvZC6object9Throwable9TraceInfo@Base 13 + _D4core7runtime19defaultTraceHandlerFPvZ__T8allocateTC3gcc9backtrace12LibBacktraceTiZQBqFNiiZQBo@Base 13 + _D4core7runtime23defaultTraceDeallocatorFNbC6object9Throwable9TraceInfoZv@Base 13 + _D4core7runtime25_sharedStaticCtor_L119_C1FZv@Base 13 + _D4core7runtime5CArgs6__initZ@Base 13 + _D4core7runtime7Runtime10initializeFZb@Base 13 + _D4core7runtime7Runtime16moduleUnitTesterFNdPFZbZv@Base 13 + _D4core7runtime7Runtime16moduleUnitTesterFNdZPFZb@Base 13 + _D4core7runtime7Runtime19sm_moduleUnitTesterPFZb@Base 13 + _D4core7runtime7Runtime22sm_extModuleUnitTesterPFZSQBxQBv14UnitTestResult@Base 13 + _D4core7runtime7Runtime24extendedModuleUnitTesterFNdPFZSQCcQCa14UnitTestResultZv@Base 13 + _D4core7runtime7Runtime24extendedModuleUnitTesterFNdZPFZSQCdQCb14UnitTestResult@Base 13 + _D4core7runtime7Runtime6__initZ@Base 13 + _D4core7runtime7Runtime9terminateFZb@Base 13 + _D4core8builtins11__ctfeWriteFNaNbNiNfMAxaZv@Base 13 + _D4core8builtins11__moduleRefZ@Base 13 + _D4core8builtins12__ModuleInfoZ@Base 13 + _D4core8demangle11__moduleRefZ@Base 13 + _D4core8demangle11demangleCXXFNaNbNeNkMAxaPUNaNbNexPaPaPmPiZQhNkMAaZQd@Base 13 + _D4core8demangle12__ModuleInfoZ@Base 13 + _D4core8demangle12demangleTypeFNaNbNfAxaAaZQd@Base 13 + _D4core8demangle14__cxa_demangleOPUNaNbNexPaPaPmPiZQh@Base 13 + _D4core8demangle15decodeDmdStringFNaNbNfAxaKmZAya@Base 13 + _D4core8demangle15getCXXDemanglerFNbNeZ1_UNaNbNiNexPaPaPmPiZQh@Base 14 + _D4core8demangle15getCXXDemanglerFNbNeZPUNaNbNexPaPaPmPiZQh@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks10parseLNameMFNaNbNlNeJAyaMKSQDkQDi__T8DemangleTSQEeQEcQDwFNaNbNfNkMQDiZQDiZQBmZb@Base 14.2 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11__xopEqualsMxFKxSQDaQCyQCsFNaNbNfNkMQCeZQCeZb@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks13encodeBackrefMFNaNbNlNfmZv@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks13flushPositionMFNaNbNlNfKSQDiQDg__T8DemangleTSQEcQEaQDuFNaNbNfNkMQDgZQDgZQBmZv@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks16positionInResultMFNaNbNiNlNfmZm@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks9__xtoHashFNbNeKxSQCzQCxQCrFNaNbNfNkMQCdZQCdZm@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks9parseTypeMFNaNbNjNlNfJbKSQDhQDf__T8DemangleTSQEbQDzQDtFNaNbNfNkMQDfZQDfZQBmAaZQd@Base 14.2 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZAa@Base 13 + _D4core8demangle15toStringConsumeFNaNbNiNfyASQBrQBp16ManglingFlagInfoKtZAya@Base 13 + _D4core8demangle16ManglingFlagInfo11__xopEqualsMxFKxSQBzQBxQBrZb@Base 13 + _D4core8demangle16ManglingFlagInfo6__initZ@Base 13 + _D4core8demangle16ManglingFlagInfo9__xtoHashFNbNeKxSQByQBwQBqZm@Base 13 + _D4core8demangle6Buffer11__xopEqualsMxFKxSQBoQBmQBgZb@Base 14 + _D4core8demangle6Buffer12bslice_emptyFNaNbNiNlNfZSQBwQBu8BufSlice@Base 14.2 + _D4core8demangle6Buffer18checkAndStretchBufMFNaNbNlNfmZv@Base 14.2 + _D4core8demangle6Buffer5shiftMFNaNbNjNlNfMxSQBqQBo8BufSliceZSQChQCfQr@Base 14.2 + _D4core8demangle6Buffer6__initZ@Base 14 + _D4core8demangle6Buffer6appendMFNaNbNlNfMAxaZv@Base 14.2 + _D4core8demangle6Buffer6bsliceMFNaNbNiNlNfmmZSQBsQBq8BufSlice@Base 14.2 + _D4core8demangle6Buffer6lengthMxFNaNbNiNlNfZm@Base 14 + _D4core8demangle6Buffer6removeMFNaNbNlNfMSQBoQBm8BufSliceZv@Base 14.2 + _D4core8demangle6Buffer7opSliceMFNaNbNiNjNlNfmmZSQBvQBt8BufSlice@Base 14.2 + _D4core8demangle6Buffer8containsFNaNbNfMAxaMxSQBsQBq8BufSliceZb@Base 14.2 + _D4core8demangle6Buffer9__xtoHashFNbNeKxSQBnQBlQBfZm@Base 14 + _D4core8demangle6Buffer9copyInputMFNaNbNjNlNfMAxaZAa@Base 14 + _D4core8demangle7NoHooks6__initZ@Base 13 + _D4core8demangle8BufSlice11__invariantMxFNaNbNfZv@Base 14.2 + _D4core8demangle8BufSlice11__xopEqualsMxFKxSQBqQBoQBiZb@Base 14.2 + _D4core8demangle8BufSlice12__invariant0MxFNaNbNfZv@Base 14.2 + _D4core8demangle8BufSlice6__ctorMFNaNbNcNiNlNfNkMAaZSQBzQBxQBr@Base 14.2 + _D4core8demangle8BufSlice6__ctorMFNaNbNcNiNlNfNkMAammbZSQCcQCaQBu@Base 14.2 + _D4core8demangle8BufSlice6__initZ@Base 14.2 + _D4core8demangle8BufSlice6lengthMxFNaNbNlNfZm@Base 14.2 + _D4core8demangle8BufSlice8getSliceMNgFNaNbNiNlNfZANga@Base 14.2 + _D4core8demangle8BufSlice9__xtoHashFNbNeKxSQBpQBnQBhZm@Base 14.2 + _D4core8demangle9funcAttrsyASQBbQz16ManglingFlagInfo@Base 13 + _D4core8demangle9typeCtorsyASQBbQz16ManglingFlagInfo@Base 13 + _D4core8demangleQjFNaNbNfNkMAxaNkMAaPUNaNbNexPaPaPmPiZQhZQx@Base 13 + _D4core8demangle__T10mangleFuncHTPFMDFyPS6object10ModuleInfoZiZiTQBfZQByFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbMDFNbPvZvZvTQpZQBhFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiAyaMDFNbNiQkZQnbZQrTQzZQBrFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiAyakQeQgmZvTQrZQBjFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiCQBm6thread10threadbase10ThreadBaseZQBkTQBtZQCmFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiCQBm6thread10threadbase10ThreadBaseZvTQBrZQCkFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiPvZQdTQlZQBdFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiPvZvTQkZQBcFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZPvTQjZQBbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZmTQiZQBaFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZvTQiZQBaFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbPvMDFNbQhQjZvZvTQtZQBlFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbPvMDFNbQhZiZvTQrZQBjFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEgQEe__TQDyTQDuZQEgFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQEfQEd__TQDxTQDtZQEfFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDpQDn__TQDhTQDdZQDpFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDoQDm__TQDgTQDcZQDoFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEaQDy__TQDsTQDoZQEaFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDzQDx__TQDrTQDnZQDzFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDrQDp__TQDjTQDfZQDrFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDqQDo__TQDiTQDeZQDqFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEuQEs__TQEmTQEiZQEuFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQEtQEr__TQElTQEhZQEtFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEsQEq__TQEkTQEgZQEsFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQErQEp__TQEjTQEfZQErFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDlQDj__TQDdTQCzZQDlFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDkQDi__TQDcTQCyZQDkFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDkQDi__TQDcTQCyZQDkFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDjQDh__TQDbTQCxZQDjFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDjQDh__TQDbTQCxZQDjFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDhQDf__TQCzTQCvZQDhFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDhQDf__TQCzTQCvZQDhFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDuQDs__TQDmTQDiZQDuFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDtQDr__TQDlTQDhZQDtFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDrQDp__TQDjTQDfZQDrFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDqQDo__TQDiTQDeZQDqFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10isHexDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseLNameMFNaNbNlNfJAyaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseValueMFNaNbNlNfJbMSQEfQEd8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseValueMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11__xopEqualsMxFKxSQDyQDw__TQDqTQDkZQDyZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11peekBackrefMFNaNbNiNfZa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11sliceNumberMFNaNbNiNjNlNfZQBy@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12decodeNumberMFNaNbNiNlNfJbMQBzZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12decodeNumberMFNaNbNiNlNfJbZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12demangleNameMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12demangleTypeMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl13parseFuncAttrMFNaNbNiNfJbZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl13parseModifierMFNaNbNiNfZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl15parseSymbolNameMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16isCallConventionFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16parseMangledNameMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16parseMangledNameMFNaNbNlNfJbbmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17isSymbolNameFrontMFNaNbNiNfJbZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseIntegerValueMFNaNbNlNfJbMSQEmQEk8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseTemplateArgsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseTypeFunctionMFNaNbNjNlNfJbEQEnQEl__TQEfTQDzZQEn10IsDelegateZSQFvQFt8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl18parseFuncArgumentsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl18parseQualifiedNameMFNaNbNjNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19mayBeMangledNameArgMFNaNbNiNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19parseCallConventionMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19parseMangledNameArgMFNaNbNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25mayBeTemplateInstanceNameMFNaNbNiNlNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25parseFunctionTypeNoReturnMFNaNbNjNlNfbZSQEvQEt8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25parseTemplateInstanceNameMFNaNbNlNfJbbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3eatMFNaNbNiNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3padMFNaNbNfQBiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfMQBnZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfMSQDxQDv8BufSliceZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl4peekMFNaNbNiNfmZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl4testMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5emptyMFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5frontMFNaNbNdNiNfZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5matchMFNaNbNiNfQBmZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5matchMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5shiftMFNaNbNjNlNfMxSQEaQDy8BufSliceZSQErQEpQr@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__ctorMFNaNbNcNiNfNkMQBsEQEfQEd__TQDxTQDrZQEf7AddTypeNkMAaZSQFoQFm__TQFgTQFaZQFo@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__ctorMFNaNbNcNiNfNkMQBsNkMAaZSQElQEj__TQEdTQDxZQEl@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__initZ@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6silentMFNaNbNfJbDFNaNbNfJbZvZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7isAlphaFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7isDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8popFrontMFNaNbNiNfZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8popFrontMFNaNbNiNfiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8putAsHexMFNaNbNfmiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8putCommaMFNaNbNfmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9__xtoHashFNbNeKxSQDxQDv__TQDpTQDjZQDxZm@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9ascii2hexFNaNbNiNfJbaZh@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseRealMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseTypeMFNaNbNjNlNfJbZ10primitivesyG23Aa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseTypeMFNaNbNjNlNfJbZSQEfQEd8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T10doDemangleSQDvQDt__TQDnTQDhZQDv16parseMangledNameZQCaMFNaNbNjNlNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T10doDemangleS_DQDxQDv__TQDpTQDjZQDx9parseTypeMFNaNbNjNlNfJbZSQFrQFp8BufSliceZQCzMFNaNbNjNlNfZAa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T13decodeBackrefVii0ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T13decodeBackrefVmi1ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10isHexDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseLNameMFNaNbNlNfJAyaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseValueMFNaNbNlNfJbMSQCuQCs8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseValueMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11__xopEqualsMxFKxSQCnQCl__TQCfTQBzZQCnZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11peekBackrefMFNaNbNiNfZa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11sliceNumberMFNaNbNiNjNlNfZAxa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12decodeNumberMFNaNbNiNlNfJbMAxaZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12decodeNumberMFNaNbNiNlNfJbZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12demangleNameMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12demangleTypeMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa13parseFuncAttrMFNaNbNiNfJbZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa13parseModifierMFNaNbNiNfZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa15parseSymbolNameMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16isCallConventionFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16parseMangledNameMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16parseMangledNameMFNaNbNlNfJbbmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17isSymbolNameFrontMFNaNbNiNfJbZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseIntegerValueMFNaNbNlNfJbMSQDbQCz8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseTemplateArgsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseTypeFunctionMFNaNbNjNlNfJbEQDcQDa__TQCuTQCoZQDc10IsDelegateZSQEkQEi8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa18parseFuncArgumentsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa18parseQualifiedNameMFNaNbNjNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19mayBeMangledNameArgMFNaNbNiNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19parseCallConventionMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19parseMangledNameArgMFNaNbNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25mayBeTemplateInstanceNameMFNaNbNiNlNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25parseFunctionTypeNoReturnMFNaNbNjNlNfbZSQDkQDi8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25parseTemplateInstanceNameMFNaNbNlNfJbbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3eatMFNaNbNiNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3padMFNaNbNfAxaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfMAxaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfMSQCmQCk8BufSliceZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa4peekMFNaNbNiNfmZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa4testMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5emptyMFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5frontMFNaNbNdNiNfZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5matchMFNaNbNiNfAxaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5matchMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5shiftMFNaNbNjNlNfMxSQCpQCn8BufSliceZSQDgQDeQr@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__ctorMFNaNbNcNiNfNkMAxaEQCuQCs__TQCmTQCgZQCu7AddTypeNkMAaZSQEdQEb__TQDvTQDpZQEd@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__ctorMFNaNbNcNiNfNkMAxaNkMAaZSQDaQCy__TQCsTQCmZQDa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__initZ@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6silentMFNaNbNfJbDFNaNbNfJbZvZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7isAlphaFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7isDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8popFrontMFNaNbNiNfZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8popFrontMFNaNbNiNfiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8putAsHexMFNaNbNfmiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8putCommaMFNaNbNfmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9__xtoHashFNbNeKxSQCmQCk__TQCeTQByZQCmZm@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9ascii2hexFNaNbNiNfJbaZh@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseRealMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseTypeMFNaNbNjNlNfJbZ10primitivesyG23Aa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseTypeMFNaNbNjNlNfJbZSQCuQCs8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T10doDemangleSQCkQCi__TQCcTQBwZQCk16parseMangledNameZQCaMFNaNbNjNlNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T10doDemangleS_DQCmQCk__TQCeTQByZQCm9parseTypeMFNaNbNjNlNfJbZSQEgQEe8BufSliceZQCzMFNaNbNjNlNfZAa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T13decodeBackrefVii0ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T13decodeBackrefVmi1ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8internal10attributes11__moduleRefZ@Base 13 + _D4core8internal10attributes12__ModuleInfoZ@Base 13 + _D4core8internal10entrypoint11__moduleRefZ@Base 13 + _D4core8internal10entrypoint12__ModuleInfoZ@Base 13 + _D4core8internal11destruction11__moduleRefZ@Base 13 + _D4core8internal11destruction12__ModuleInfoZ@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3gcc8sections3elf9ThreadDSOZQBvFNaNbNiNfKQBqZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBx2gc11gcinterface4RootZQBsFNaNbNiNfKQBnZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBx2gc11gcinterface5RangeZQBtFNaNbNiNfKQBoZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDlFNaNbNiNfKQDgZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDnFNaNbNiNfKQDiZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDlFNaNbNiNfKQDgZv@Base 13 + _D4core8internal12parseoptions10parseErrorFNbNiMxAaMxQeMxQiAxaZb@Base 13 + _D4core8internal12parseoptions11__moduleRefZ@Base 13 + _D4core8internal12parseoptions12__ModuleInfoZ@Base 13 + _D4core8internal12parseoptions15overflowedErrorFNbNiMxAaMxQeZb@Base 13 + _D4core8internal12parseoptions3minFNbNimmZm@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKQfQlZb@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKbQkZb@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKfQkZb@Base 13 + _D4core8internal12parseoptions6MemVal6__initZ@Base 13 + _D4core8internal12parseoptions8optErrorFNbNiMxAaMxQeAxaZb@Base 13 + _D4core8internal12parseoptions__T12parseOptionsTSQBv2gc6config6ConfigZQBlFNbNiKQBfAyaZb@Base 13 + _D4core8internal12parseoptions__T14rt_parseOptionTbZQtFNbNiAxaKANgaKbQkZb@Base 13 + _D4core8internal12parseoptions__T17initConfigOptionsTSQCa2gc6config6ConfigZQBqFNbNiKQBfAyaZb@Base 13 + _D4core8internal12parseoptions__T4skipX7isspaceZQpFNaNbNiNfANgaZQf@Base 13 + _D4core8internal12parseoptions__T5parseHThZQkFNbNiAxaKANgaKhQkbZb@Base 13 + _D4core8internal12parseoptions__T5parseHTkZQkFNbNiAxaKANgaKkQkbZb@Base 13 + _D4core8internal12parseoptions__T5parseHTmZQkFNbNiAxaKANgaKmQkbZb@Base 13 + _D4core8internal2gc2os10isLowOnMemFNbNimZb@Base 13 + _D4core8internal2gc2os10os_mem_mapFNbNimbZPv@Base 13 + _D4core8internal2gc2os11__moduleRefZ@Base 13 + _D4core8internal2gc2os12__ModuleInfoZ@Base 13 + _D4core8internal2gc2os12os_mem_unmapFNbNiPvmZi@Base 13 + _D4core8internal2gc2os15os_physical_memFNbNibZm@Base 14.2 + _D4core8internal2gc2os8wait_pidFNbNiibZEQBmQBkQBeQBe11ChildStatus@Base 13 + _D4core8internal2gc4bits11__moduleRefZ@Base 13 + _D4core8internal2gc4bits12__ModuleInfoZ@Base 13 + _D4core8internal2gc4bits6GCBits10clearWordsMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits10copyRangeZMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits16copyWordsShiftedMFNbNimmmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits18copyRangeRepeatingMFNbNimmPxmmZv@Base 13 + _D4core8internal2gc4bits6GCBits3setMFNaNbNiNlNemZi@Base 13 + _D4core8internal2gc4bits6GCBits4DtorMFNbNibZv@Base 13 + _D4core8internal2gc4bits6GCBits4copyMFNbNiPSQBqQBoQBiQBiQBgZv@Base 13 + _D4core8internal2gc4bits6GCBits4testMxFNaNbNiNlNemZm@Base 13 + _D4core8internal2gc4bits6GCBits4zeroMFNbNiZv@Base 13 + _D4core8internal2gc4bits6GCBits5allocMFNbNimbZv@Base 13 + _D4core8internal2gc4bits6GCBits5clearMFNaNbNiNlNemZi@Base 13 + _D4core8internal2gc4bits6GCBits6__initZ@Base 13 + _D4core8internal2gc4bits6GCBits6nwordsMxFNaNbNdNiZm@Base 13 + _D4core8internal2gc4bits6GCBits6setAllMFNbNiZv@Base 13 + _D4core8internal2gc4bits6GCBits8clrRangeMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits8setRangeMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits8setWordsMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits9clrRangeZMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits9copyRangeMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits9copyWordsMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits9setLockedMFNaNbNiNlNemZm@Base 13 + _D4core8internal2gc4bits6GCBits9setRangeZMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw10baseOffsetFNbNimEQCfQCdQBxQBxQBvQCg4BinsZm@Base 13 + _D4core8internal2gc4impl12conservativeQw10extendTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw10initializeFZCQCbQBq11gcinterface2GC@Base 13 + _D4core8internal2gc4impl12conservativeQw10invalidateFNbNiAvhbZv@Base 14 + _D4core8internal2gc4impl12conservativeQw10mallocTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw10numExtendsl@Base 13 + _D4core8internal2gc4impl12conservativeQw10numMallocsl@Base 13 + _D4core8internal2gc4impl12conservativeQw11__moduleRefZ@Base 13 + _D4core8internal2gc4impl12conservativeQw11calcBinBaseFZG15G256s@Base 13 + _D4core8internal2gc4impl12conservativeQw11numReallocsl@Base 13 + _D4core8internal2gc4impl12conservativeQw11reallocTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10initializeFNbPSQCrQCpQCjQCjQChQCs3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10log_mallocFNbPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10log_parentFNbPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector11log_collectFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector8log_freeFNbNiPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl12conservativeQw12maxPauseTimeSQCb4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw12sentinel_addFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw12sentinel_subFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw13maxPoolMemorym@Base 13 + _D4core8internal2gc4impl12conservativeQw13sentinel_initFNbNiPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw13sentinel_sizeFNbNixPvmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC10freeNoSyncMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11checkNoSyncMFNbPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11fullCollectMFNbZ2goFNbPSQDcQDaQCuQCuQCsQDd3GcxZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11fullCollectMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11queryNoSyncMFNbPvZSQCx6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12_inFinalizerb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12addrOfNoSyncMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12extendNoSyncMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12mallocNoSyncMFNbmkKmxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12profileStatsMFNbNiNeZSQDa6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12sizeOfNoSyncMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13reallocNoSyncMFNbPvmKkKmxC8TypeInfoZQt@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13reserveNoSyncMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZ2goFNbPSQDiQDgQDaQDaQCyQDj3GcxMxQBjZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC14getStatsNoSyncMFNbNiNeJSQDc6memory2GC5StatsZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC18fullCollectNoStackMFNbZ2goFNbPSQDjQDhQDbQDbQCzQDk3GcxZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC18fullCollectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4filePa@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4linem@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5checkMFNbPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5queryMFNbPvZSQCq6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5statsMFNbNiNfZSQCs6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__ctorMFZCQCnQClQCfQCfQCdQCoQBt@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__dtorMFNlZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__vtblZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZ2goFNaNbNiNfPSQDaQCyQCsQCsQCqQDb3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6gcLockOSQClQCj8spinlock15AlignedSpinLock@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6lockNRFNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7__ClassZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZ2goFNbPSQDaQCyQCsQCsQCqQDb3GcxQBikZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZ2goFNaNbNiNfPSQDbQCzQCtQCtQCrQDc3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZ2goFNbPSQCzQCxQCrQCrQCpQDa3GcxQBhZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZ2goFNbPSQDaQCyQCsQCsQCqQDb3GcxQBikZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZ2goFNbPSQCyQCwQCqQCqQCoQCz3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8rootIterMFNdNiZDFMDFNbKSQDbQCq11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC9isPreciseb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC9rangeIterMFNdNiZDFMDFNbKSQDcQCr11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy10freeNoSyncMFNbNiPvZvS_DQEmQEkQEeQEeQEcQEn8freeTimelS_DQFrQFpQFjQFjQFhQFs8numFreeslTQCpZQEtMFNbNiKQDdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11checkNoSyncMFNbPvZvS_DQElQEjQEdQEdQEbQEm9otherTimelS_DQFrQFpQFjQFjQFhQFs9numOtherslTQCrZQEuMFNbKQDdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11fullCollectMFNbZ2goFNbPSQEnQElQEfQEfQEdQEo3GcxZmTQBbZQDlMFNbKQBnZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11queryNoSyncMFNbPvZSQEi6memory8BlkInfo_S_DQFeQFcQEwQEwQEuQFf9otherTimelS_DQGkQGiQGcQGcQGaQGl9numOtherslTQDkZQFnMFNbKQDwZQDx@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12addrOfNoSyncMFNbNiPvZQdS_DQEpQEnQEhQEhQEfQEq9otherTimelS_DQFvQFtQFnQFnQFlQFw9numOtherslTQCsZQEyMFNbNiKQDgZQDk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12extendNoSyncMFNbPvmmxC8TypeInfoZmS_DQEzQExQErQErQEpQFa10extendTimelS_DQGhQGfQFzQFzQFxQGi10numExtendslTQDiTmTmTxQDmZQFvMFNbKQEdKmKmKxQEhZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12mallocNoSyncMFNbmkKmxC8TypeInfoZPvS_DQFaQEyQEsQEsQEqQFb10mallocTimelS_DQGiQGgQGaQGaQFyQGj10numMallocslTmTkTmTxQDlZQFuMFNbKmKkKmKxQEeZQDx@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12sizeOfNoSyncMFNbNiPvZmS_DQEoQEmQEgQEgQEeQEp9otherTimelS_DQFuQFsQFmQFmQFkQFv9numOtherslTQCrZQExMFNbNiKQDfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13reallocNoSyncMFNbPvmKkKmxC8TypeInfoZQtS_DQFeQFcQEwQEwQEuQFf10mallocTimelS_DQGmQGkQGeQGeQGcQGn10numMallocslTQDmTmTkTmTxQDpZQGcMFNbKQEjKmKkKmKxQEmZQEy@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13reserveNoSyncMFNbmZmS_DQEmQEkQEeQEeQEcQEn9otherTimelS_DQFsQFqQFkQFkQFiQFt9numOtherslTmZQEtMFNbKmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13runFinalizersMFNbMxAvZ2goFNbPSQEtQErQElQElQEjQEu3GcxMxQBjZvS_DQFzQFxQFrQFrQFpQGa9otherTimelS_DQHfQHdQGxQGxQGvQHg9numOtherslTQDsTxQEgZQGnMFNbKQEjKxQExZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy14getStatsNoSyncMFNbNiNeJSQEn6memory2GC5StatsZvS_DQFlQFjQFdQFdQFbQFm9otherTimelS_DQGrQGpQGjQGjQGhQGs9numOtherslTQDjZQFuMFNbNiNfKQDzZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy18fullCollectNoStackMFNbZ2goFNbPSQEuQEsQEmQEmQEkQEv3GcxZmTQBbZQDsMFNbKQBnZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy6enableMFZ2goFNaNbNiNfPSQElQEjQEdQEdQEbQEm3GcxZvS_DQFmQFkQFeQFeQFcQFn9otherTimelS_DQGsQGqQGkQGkQGiQGt9numOtherslTQDnZQFvMFNbNiNfKQEdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7clrAttrMFNbPvkZ2goFNbPSQElQEjQEdQEdQEbQEm3GcxQBikZkS_DQFqQFoQFiQFiQFgQFr9otherTimelS_DQGwQGuQGoQGoQGmQGx9numOtherslTQDrTQEfTkZQGfMFNbKQEjKQExKkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7disableMFZ2goFNaNbNiNfPSQEmQEkQEeQEeQEcQEn3GcxZvS_DQFnQFlQFfQFfQFdQFo9otherTimelS_DQGtQGrQGlQGlQGjQGu9numOtherslTQDnZQFwMFNbNiNfKQEdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7getAttrMFNbPvZ2goFNbPSQEkQEiQEcQEcQEaQEl3GcxQBhZkS_DQFoQFmQFgQFgQFeQFp9otherTimelS_DQGuQGsQGmQGmQGkQGv9numOtherslTQDqTQEdZQGbMFNbKQEgKQEtZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7setAttrMFNbPvkZ2goFNbPSQElQEjQEdQEdQEbQEm3GcxQBikZkS_DQFqQFoQFiQFiQFgQFr9otherTimelS_DQGwQGuQGoQGoQGmQGx9numOtherslTQDrTQEfTkZQGfMFNbKQEjKQExKkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy8minimizeMFNbZ2goFNbPSQEjQEhQEbQEbQDzQEk3GcxZvS_DQFkQFiQFcQFcQFaQFl9otherTimelS_DQGqQGoQGiQGiQGgQGr9numOtherslTQDnZQFtMFNbKQDzZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14SENTINEL_EXTRAxk@Base 13 + _D4core8internal2gc4impl12conservativeQw14baseOffsetBitsyG14G4m@Base 13 + _D4core8internal2gc4impl12conservativeQw14bytesAllocatedm@Base 13 + _D4core8internal2gc4impl12conservativeQw14numCollectionsm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool10allocPagesMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool18setFreePageOffsetsMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool7getInfoMFNbPvZSQCt6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool7getSizeMxFNbNimZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool8getPagesMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool9freePagesMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool__T20mergeFreePageOffsetsVbi0Vbi1ZQBfMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool__T20mergeFreePageOffsetsVbi1Vbi1ZQBfMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool7getInfoMFNbPvZSQCt6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool7getSizeMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool9allocPageMFNbEQCsQCqQCkQCkQCiQCt4BinsZPSQDsQDqQDkQDkQDiQDt4List@Base 13 + _D4core8internal2gc4impl12conservativeQw15gc_precise_ctorFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw17maxCollectionTimeSQCg4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw18initialize_preciseFZCQCjQBy11gcinterface2GC@Base 13 + _D4core8internal2gc4impl12conservativeQw18sentinel_InvariantFNbNixPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw20gc_conservative_ctorFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10initializeMFZ23atforkHandlersInstalledb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10initializeMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10rootsApplyMFNbMDFNbKSQCnQCc11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11__xopEqualsMxFKxSQCjQChQCbQCbQBzQCkQBpZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11collectForkMFNbbZEQCkQCiQCc2os11ChildStatus@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11disableForkMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11fullcollectMFNbbbbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11rangesApplyMFNbMDFNbKSQCoQCd11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11recoverPageMFNbPSQCjQChQCbQCbQBzQCk15SmallObjectPoolmEQDuQDsQDmQDmQDkQDv4BinsZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx12collectRootsMFNbNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx12markParallelMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx14scanBackgroundMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15collectAllRootsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15fork_needs_lockb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15recoverNextPageMFNbEQCmQCkQCeQCeQCcQCn4BinsZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15stopScanThreadsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx16startScanThreadsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx17collectInProgressMxFNbNdZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx17pullFromScanStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx18maxParallelThreadsMFNbZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx18setNextRecoverPoolMFNbEQCpQCnQChQChQCfQCq4BinsmZPSQDqQDoQDiQDiQDgQDr15SmallObjectPool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx19_d_gcx_atfork_childUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx20_d_gcx_atfork_parentUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx21_d_gcx_atfork_prepareUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZ11smoothDecayFNaNbNiNfffZf@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZ3maxFNaNbNiNfffZf@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx4DtorMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx5allocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx5sweepMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx6lowMemMxFNbNdZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7getInfoMFNbPvZSQCg6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7newPoolMFNbmbZPSQChQCfQBzQBzQBxQCi4Pool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7prepareMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8addRangeMFNbNiPvQcxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8bigAllocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8binTableyG2049EQCgQCeQByQByQBwQCh4Bins@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8ctfeBinsFNbZG2049EQCjQChQCbQCbQBzQCk4Bins@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findBaseMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findPoolMFNaNbNiPvZPSQCmQCkQCeQCeQCcQCn4Pool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findSizeMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8instancePSQCbQBzQBtQBtQBrQCcQBh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8isMarkedMFNbNlPvZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8markForkMFNbbbbZ13wrap_delegateUPvZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8markForkMFNbbbbZEQCiQCgQCa2os11ChildStatus@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9InvariantMxFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9__xtoHashFNbNeKxSQCiQCgQCaQCaQByQCjQBoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9allocPageMFNbEQCfQCdQBxQBxQBvQCg4BinsZPSQDfQDdQCxQCxQCvQDg4List@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr3popMFNaNbNiZQs@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr4pushMFNbNiQqZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr7opIndexMNgFNaNbNcNimZNgPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr8opAssignMFNaNbNcNiNjNeSQDkQDiQDcQDcQDaQDlQCq__TQCpTQCfZQCxZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr9popLockedMFNbNiKQwZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf3popMFNaNbNiZQCh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf4pushMFNbNiQCfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf7opIndexMNgFNaNbNcNimZNgSQFaQEyQEsQEsQEqQFbQEg__TQCsVbi0ZQDa@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf8opAssignMFNaNbNcNiNjNeSQEzQExQErQErQEpQFaQEf__TQEeTQDuZQEmZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf9popLockedMFNbNiKQClZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf3popMFNaNbNiZQCh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf4pushMFNbNiQCfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf7opIndexMNgFNaNbNcNimZNgSQFaQEyQEsQEsQEqQFbQEg__TQCsVbi1ZQDa@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf8opAssignMFNaNbNcNiNjNeSQEzQExQErQErQEpQFaQEf__TQEeTQDuZQEmZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf9popLockedMFNbNiKQClZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11markPreciseVbi0ZQsMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11markPreciseVbi1ZQsMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T16markConservativeVbi0ZQxMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T16markConservativeVbi1ZQxMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T21pullFromScanStackImplVbi0ZQBcMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T21pullFromScanStackImplVbi1ZQBcMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi0Vbi0ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi0Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi1Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi0Vbi0ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi0Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi1Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T11markPreciseVbi0ZQsMFNbNiNlPvQcZvZQCsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T11markPreciseVbi1ZQsMFNbNiNlPvQcZvZQCsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T16markConservativeVbi0ZQxMFNbNiNlPvQcZvZQCxMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T16markConservativeVbi1ZQxMFNbNiNlPvQcZvZQCxMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi0ZQp6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi1ZQp6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3setFNaNbNiKG4mmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool10initializeMFNbmbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool12freePageBitsMFNbmMKxG4mZv@Base 14 + _D4core8internal2gc4impl12conservativeQw4Pool15freeAllPageBitsMFNbmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool16setPointerBitmapMFNbPvmmxC8TypeInfokZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool21setPointerBitmapSmallMFNbPvmmkxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool4DtorMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool6isFreeMxFNaNbNdNiNlNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7ShiftBy6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7clrBitsMFNbNimkZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7getBitsMFNbmZk@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7setBitsMFNbmkZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool8findBaseMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool8numPagesFNbNimZm@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9InvariantMxFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9pagenumOfMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9slGetInfoMFNbPvZSQCj6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9slGetSizeMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw7binbaseyG15G256s@Base 13 + _D4core8internal2gc4impl12conservativeQw7binsizeyG15s@Base 13 + _D4core8internal2gc4impl12conservativeQw8freeTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw8lockTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw8markTimeSQBw4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw8numFreesl@Base 13 + _D4core8internal2gc4impl12conservativeQw8prepTimeSQBw4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw9numOthersl@Base 13 + _D4core8internal2gc4impl12conservativeQw9otherTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw9pauseTimeSQBx4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw9sweepTimeSQBx4time8Duration@Base 13 + _D4core8internal2gc4impl5protoQo11__moduleRefZ@Base 13 + _D4core8internal2gc4impl5protoQo12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC10rootsApplyMFMDFNbKSQChQBw11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11__fieldDtorMFNbNiNlZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11rangesApplyMFMDFNbKSQCiQBx11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC12profileStatsMFNbNiNfZSQCk6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC22transferRangesAndRootsMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC4DtorMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC5queryMFNbPvZSQCa6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC5statsMFNbNiNfZSQCc6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__ctorMFZCQBxQBvQBpQBpQBnQByQBl@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__initZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__vtblZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6callocMFNbmkMxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6enableMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6extendMFNbPvmmMxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6mallocMFNbmkMxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6qallocMFNbmkMxC8TypeInfoZSQCn6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7__ClassZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7disableMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7reallocMFNbPvmkMxC8TypeInfoZQr@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8rootIterMFNdNiNlNjZDFMDFNbKSQCpQCe11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCqQCf11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl6manualQp10initializeFZCQBuQBj11gcinterface2GC@Base 13 + _D4core8internal2gc4impl6manualQp11__moduleRefZ@Base 13 + _D4core8internal2gc4impl6manualQp12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl6manualQp14gc_manual_ctorFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10__aggrDtorMFNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10rootsApplyMFMDFNbKSQCjQBy11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11__fieldDtorMFNbNiNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11rangesApplyMFMDFNbKSQCkQBz11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC12profileStatsMFNbNiNfZSQCm6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC5queryMFNbPvZSQCc6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC5statsMFNbNiNfZSQCe6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__ctorMFZCQBzQBxQBrQBrQBpQCaQBm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__dtorMFNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__initZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__vtblZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6enableMFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6qallocMFNbmkMxC8TypeInfoZSQCp6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7__ClassZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7disableMFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8rootIterMFNdNiNlNjZDFMDFNbKSQCrQCg11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCsQCh11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc5proxy11__moduleRefZ@Base 13 + _D4core8internal2gc5proxy12__ModuleInfoZ@Base 13 + _D4core8internal2gc5proxy12instanceLockOSQBnQBl8spinlock8SpinLock@Base 13 + _D4core8internal2gc5proxy14isInstanceInitb@Base 13 + _D4core8internal2gc5proxy8instanceFNbNiNeZCQBpQBe11gcinterface2GC@Base 13 + _D4core8internal2gc5proxy9_instanceCQBiQx11gcinterface2GC@Base 13 + _D4core8internal2gc5proxy9proxiedGCCQBiQx11gcinterface2GC@Base 13 + _D4core8internal2gc9pooltable11__moduleRefZ@Base 13 + _D4core8internal2gc9pooltable12__ModuleInfoZ@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx4DtorMFNbNiZv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6insertMFNbNiPQCdZb@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6lengthMxFNaNbNdNiNlNfZm@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7maxAddrMxFNaNbNdNiNfZPxv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7minAddrMxFNaNbNdNiNfZPxv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opIndexMNgFNaNbNcNiNjNemZNgPSQEiQEgQEaQCsQCqQEjQCf@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opSliceMNgFNaNbNiNjNeZANgPSQEgQEeQDyQCqQCoQEhQCd@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opSliceMNgFNaNbNiNjNemmZANgPSQEiQEgQEaQCsQCqQEjQCf@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8findPoolMFNaNbNiPvZPQCk@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8minimizeMFNaNbNiZ4swapFNaNbNiNfKPQCxKQfZv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8minimizeMFNaNbNiZAPQCj@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx9InvariantMxFNaNbNiZv@Base 13 + _D4core8internal3utf10UTF8strideyAi@Base 13 + _D4core8internal3utf10toUCSindexFNaNbNiNfMxAwmZm@Base 13 + _D4core8internal3utf10toUCSindexFNaNfMxAamZm@Base 13 + _D4core8internal3utf10toUCSindexFNaNfMxAumZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNbNiNfMxAumZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNbNiNfMxAwmZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNfMxAamZm@Base 13 + _D4core8internal3utf11__moduleRefZ@Base 13 + _D4core8internal3utf12__ModuleInfoZ@Base 13 + _D4core8internal3utf12isValidDcharFNaNbNiNfwZb@Base 13 + _D4core8internal3utf6decodeFNaNfMxAaKmZw@Base 13 + _D4core8internal3utf6decodeFNaNfMxAuKmZw@Base 13 + _D4core8internal3utf6decodeFNaNfMxAwKmZw@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAawZv@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAuwZv@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAwwZv@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAamZk@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAumZk@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAwmZk@Base 13 + _D4core8internal3utf6toUTF8FNaNbNfNkMAyaZQe@Base 13 + _D4core8internal3utf6toUTF8FNaNbNiNfNkMAawZQe@Base 13 + _D4core8internal3utf6toUTF8FNaNeMxAuZAya@Base 13 + _D4core8internal3utf6toUTF8FNaNeMxAwZAya@Base 13 + _D4core8internal3utf7toUTF16FNaNbNeMxAwZAyu@Base 13 + _D4core8internal3utf7toUTF16FNaNbNfNkMAyuZQe@Base 13 + _D4core8internal3utf7toUTF16FNaNbNiNfNkMAuwZQe@Base 13 + _D4core8internal3utf7toUTF16FNaNeMxAaZAyu@Base 13 + _D4core8internal3utf7toUTF32FNaNbNfNkMAywZQe@Base 13 + _D4core8internal3utf7toUTF32FNaNeMxAaZAyw@Base 13 + _D4core8internal3utf7toUTF32FNaNeMxAuZAyw@Base 13 + _D4core8internal3utf8toUTF16zFNaNfMxAaZPxu@Base 13 + _D4core8internal3utf__T13isValidStringTAyaZQuFNaNbNfMxAyaZb@Base 13 + _D4core8internal3utf__T13isValidStringTAyuZQuFNaNbNfMxAyuZb@Base 13 + _D4core8internal3utf__T13isValidStringTAywZQuFNaNbNfMxAywZb@Base 13 + _D4core8internal4hash11__moduleRefZ@Base 13 + _D4core8internal4hash12__ModuleInfoZ@Base 13 + _D4core8internal4hash__T13coalesceFloatTdZQsFNaNbNiNfxdZd@Base 13 + _D4core8internal4hash__T13coalesceFloatTeZQsFNaNbNiNfxeZe@Base 13 + _D4core8internal4hash__T13coalesceFloatTfZQsFNaNbNiNfxfZf@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility16__c_complex_realZQBuFNaNbNiNfQBymZm@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility17__c_complex_floatZQBvFNaNbNiNfQBzmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility18__c_complex_doubleZQBwFNaNbNiNfQCamZm@Base 13 + _D4core8internal4hash__T6hashOfTAxPvZQnFNaNbNiNfMxAQrmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxPyS6object10ModuleInfoZQBhFNaNbNiNfMxAQBmmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxaZQmFNaNbNiNfMxAamZm@Base 13 + _D4core8internal4hash__T6hashOfTAxdZQmFNaNbNiNfMxAdmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxeZQmFNaNbNiNfMxAemZm@Base 13 + _D4core8internal4hash__T6hashOfTAxfZQmFNaNbNiNfMxAfmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxhZQmFNaNbNiNfMxAhmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxkZQmFNaNbNiNfMxAkmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxmZQmFNaNbNiNfMxAmmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxtZQmFNaNbNiNfMxAtmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxvZQmFNaNbNiNfMxAvmZm@Base 13 + _D4core8internal4hash__T6hashOfTAyaZQmFNaNbNiNfMxAyamZm@Base 13 + _D4core8internal4hash__T6hashOfTDFZvZQnFNaNbNiNeMxDQsmZm@Base 13 + _D4core8internal4hash__T6hashOfTPvZQlFNaNbNiNeMxPvmZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTdZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTeZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTfZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTdZQkFNaNbNiNeMxdZm@Base 14 + _D4core8internal4hash__T6hashOfTdZQkFNaNbNiNeMxdmZm@Base 14 + _D4core8internal4hash__T6hashOfTeZQkFNaNbNiNeMxeZm@Base 14 + _D4core8internal4hash__T6hashOfTeZQkFNaNbNiNeMxemZm@Base 14 + _D4core8internal4hash__T6hashOfTfZQkFNaNbNiNeMxfZm@Base 14 + _D4core8internal4hash__T6hashOfTfZQkFNaNbNiNeMxfmZm@Base 14 + _D4core8internal4hash__T6hashOfThZQkFNaNbNiNeMxhZm@Base 14 + _D4core8internal4hash__T6hashOfTkZQkFNaNbNiNeMxkZm@Base 14 + _D4core8internal4hash__T6hashOfTkZQkFNaNbNiNeMxkmZm@Base 14 + _D4core8internal4hash__T6hashOfTmZQkFNaNbNiNeMxmZm@Base 14 + _D4core8internal4hash__T6hashOfTmZQkFNaNbNiNeMxmmZm@Base 14 + _D4core8internal4hash__T6hashOfTtZQkFNaNbNiNeMxtZm@Base 14 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility16__c_complex_realZQBtFNaNbNiNfKxQBymZm@Base 13 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility17__c_complex_floatZQBuFNaNbNiNfKxQBzmZm@Base 13 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility18__c_complex_doubleZQBvFNaNbNiNfKxQCamZm@Base 13 + _D4core8internal4hash__T9bytesHashVbi0ZQpFNaNbNiNeMAxhmZm@Base 13 + _D4core8internal4hash__T9bytesHashVbi1ZQpFNaNbNiNeMAxhmZm@Base 13 + _D4core8internal4hash__T9get32bitsZQlFNaNbNiMPxhZk@Base 13 + _D4core8internal4util4math11__moduleRefZ@Base 13 + _D4core8internal4util4math12__ModuleInfoZ@Base 13 + _D4core8internal4util4math__T3maxTmZQhFNaNbNiNfmmZm@Base 13 + _D4core8internal4util4math__T3minTkZQhFNaNbNiNfkkZk@Base 13 + _D4core8internal4util5array10arrayToPtrFNbNexAvZm@Base 13 + _D4core8internal4util5array11__moduleRefZ@Base 13 + _D4core8internal4util5array12__ModuleInfoZ@Base 13 + _D4core8internal4util5array17_enforceNoOverlapFNbNfxAammxmZv@Base 13 + _D4core8internal4util5array18_enforceSameLengthFNbNfxAaxmxmZv@Base 13 + _D4core8internal4util5array21_enforceNoOverlapNogcFNbNfKxAammxmZv@Base 13 + _D4core8internal4util5array22_enforceSameLengthNogcFNbNfKxAaxmxmZv@Base 13 + _D4core8internal4util5array27enforceRawArraysConformableFNbNfxAaxmxAvxQdxbZv@Base 13 + _D4core8internal4util5array31enforceRawArraysConformableNogcFNbNfxAaxmxAvxQdxbZv@Base 13 + _D4core8internal4util5array6_storeG256a@Base 13 + _D4core8internal4util5array__T12errorMessageTxmTxmZQvFNbNiNeMxPaxAaxmxmZAa@Base 13 + _D4core8internal5abort11__moduleRefZ@Base 13 + _D4core8internal5abort12__ModuleInfoZ@Base 13 + _D4core8internal5abortQgFNbNiNfMAyaMQemZ8writeStrFNbNiNeAAxaXv@Base 13 + _D4core8internal5abortQgFNbNiNfMAyaMQemZv@Base 13 + _D4core8internal5array10comparison11__moduleRefZ@Base 13 + _D4core8internal5array10comparison12__ModuleInfoZ@Base 13 + _D4core8internal5array10comparison__T5__cmpTaZQjFNaNbNiNeMxAaMxQeZi@Base 13 + _D4core8internal5array10operations10isBinaryOpFNaNbNiNfMAyaZb@Base 13 + _D4core8internal5array10operations11__moduleRefZ@Base 13 + _D4core8internal5array10operations12__ModuleInfoZ@Base 13 + _D4core8internal5array10operations16isBinaryAssignOpFAyaZb@Base 13 + _D4core8internal5array10operations8toStringFmZAya@Base 13 + _D4core8internal5array10operations9isUnaryOpFNaNbNiNfMAyaZb@Base 13 + _D4core8internal5array11arrayassign11__moduleRefZ@Base 13 + _D4core8internal5array11arrayassign12__ModuleInfoZ@Base 13 + _D4core8internal5array11arrayassign27enforceRawArraysConformableFNaNbNiNexAaxmxAvxQdxbZv@Base 13 + _D4core8internal5array11duplication11__moduleRefZ@Base 13 + _D4core8internal5array11duplication12__ModuleInfoZ@Base 13 + _D4core8internal5array11duplication__T4_dupTaTyaZQlFNaNbNeMAaZAya@Base 13 + _D4core8internal5array11duplication__T4_dupTxAyaTAyaZQpFNaNbNeMAxQuZAQu@Base 13 + _D4core8internal5array11duplication__T4_dupTxaTaZQlFNaNbNeMAxaZAa@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTaTyaZQpFNaNbNfMAaZAya@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxAyaTAyaZQtFNaNbNfMAxQuZAQu@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxaTaZQpFNaNbNfMAxaZAa@Base 13 + _D4core8internal5array12construction11__moduleRefZ@Base 13 + _D4core8internal5array12construction12__ModuleInfoZ@Base 13 + _D4core8internal5array12construction__T12_d_newarrayTTbZQrFNaNbNembZAb@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTThZQrFNaNbNembZAh@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTAyaZQtFNaNbNembZAQr@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTaZQrFNaNbNembZAa@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTbZQrFNaNbNembZAb@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUThZQrFNaNbNembZAh@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTyaZQsFNaNbNembZAya@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTAyaZQBeFNaNbNembZAQs@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTaZQBcFNaNbNembZAa@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTyaZQBdFNaNbNembZAya@Base 14.2 + _D4core8internal5array13concatenation11__moduleRefZ@Base 13 + _D4core8internal5array13concatenation12__ModuleInfoZ@Base 13 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeTQkZQBeFNaNbNeQuQwQBbZQBf@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeZQBbFNaNbNeQrKQuZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeZQBbFNaNbNeQrQtZQz@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnZQBhFNaNbNeQBaQBdQBgQBjZQBn@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeQxKQBaQBdZQBh@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeQxQzQBbZQBf@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeKQvQxZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeQuKQxZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeQuQwZQz@Base 14 + _D4core8internal5array5utils11__moduleRefZ@Base 13 + _D4core8internal5array5utils11gcStatsPureFNaNbZSQBu6memory2GC5Stats@Base 13 + _D4core8internal5array5utils12__ModuleInfoZ@Base 13 + _D4core8internal5array5utils14accumulatePureFNaNbAyaiQeQgmZ12impureBypassFNbNiQBdiQBhQBkmZm@Base 13 + _D4core8internal5array5utils14accumulatePureFNaNbAyaiQeQgmZm@Base 13 + _D4core8internal5array5utils__T12__arrayAllocTAyaZQtFNaNbNemZSQCi6memory8BlkInfo_@Base 14.2 + _D4core8internal5array5utils__T12__arrayAllocTaZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14.2 + _D4core8internal5array5utils__T12__arrayAllocTbZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocThZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayStartZQpFNaNbNiNkMSQCf6memory8BlkInfo_ZPv@Base 14 + _D4core8internal5array5utils__T15__arrayClearPadZQsFNaNbNiKSQCg6memory8BlkInfo_mmZv@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTAyaZQBcFNaNbNiKSQCr6memory8BlkInfo_mbmZb@Base 14.2 + _D4core8internal5array5utils__T21__setArrayAllocLengthTaZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14.2 + _D4core8internal5array5utils__T21__setArrayAllocLengthTbZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthThZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array7casting11__moduleRefZ@Base 13 + _D4core8internal5array7casting12__ModuleInfoZ@Base 13 + _D4core8internal5array8capacity11__moduleRefZ@Base 13 + _D4core8internal5array8capacity12__ModuleInfoZ@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTACQCi6thread10threadbase10ThreadBaseTQBkZ18_d_arraysetlengthTFNaNbNeNkMKQCumZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAaTaZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAwTwZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAyaTyaZ18_d_arraysetlengthTFNaNbNeNkMKQBmmZm@Base 14 + _D4core8internal5array8equality11__moduleRefZ@Base 13 + _D4core8internal5array8equality12__ModuleInfoZ@Base 13 + _D4core8internal5array8equality__T7isEqualTPxvTQeZQqFNaNbNiMxPPvMxQfmZb@Base 13 + _D4core8internal5array8equality__T7isEqualTPyS6object10ModuleInfoTQxZQBjFNaNbNiMxPPyQBnMxQimZb@Base 13 + _D4core8internal5array8equality__T7isEqualTaTaZQnFNaNbNiMxPaMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTdTdZQnFNaNbNiMxPdMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTeTeZQnFNaNbNiMxPeMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTfTfZQnFNaNbNiMxPfMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualThThZQnFNaNbNiMxPhMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTkTkZQnFNaNbNiMxPkMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTmTmZQnFNaNbNiMxPmMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTtTtZQnFNaNbNiMxPtMxQemZb@Base 13 + _D4core8internal5array8equality__T8__equalsTPxvTQeZQrFNaNbNiNeMxAPvMxQfZb@Base 13 + _D4core8internal5array8equality__T8__equalsTPyS6object10ModuleInfoTQxZQBkFNaNbNiNeMxAPyQBpMxQiZb@Base 13 + _D4core8internal5array8equality__T8__equalsTaTaZQoFNaNbNiNeMxAaMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTdTdZQoFNaNbNiNeMxAdMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTeTeZQoFNaNbNiNeMxAeMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTfTfZQoFNaNbNiNeMxAfMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsThThZQoFNaNbNiNeMxAhMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTkTkZQoFNaNbNiNeMxAkMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTmTmZQoFNaNbNiNeMxAmMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTtTtZQoFNaNbNiNeMxAtMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxAyaTxQfZQtFNaNbNiNfMAxQwMQfZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxDFNbC6ObjectZvTxQqZQBeFNaNbNiNfMAxQBiMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility16__c_complex_realTxQBlZQCaFNaNbNiNfMAxQCeMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility17__c_complex_floatTxQBmZQCbFNaNbNiNfMAxQCfMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility18__c_complex_doubleTxQBnZQCcFNaNbNiNfMAxQCgMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS2rt3aaA6BucketTxQrZQBfFNaNbNiNfMAxQBjMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxSQBs8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11ReplacementTxQCvZQDkFNaNbNiNfMAxQDoMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxSQBsQBq5newaa6BucketTxQwZQBkFNaNbNiNfMAxQBoMQgZb@Base 14 + _D4core8internal5array8equality__T8__equalsTxvTxvZQqFNaNbNiNfMAxvMQeZb@Base 13 + _D4core8internal5array9appending11__moduleRefZ@Base 13 + _D4core8internal5array9appending12__ModuleInfoZ@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAOaTOaZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAOuTOuZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAaTaZQyFNaNbNcNeMNkKQuMQxZQBa@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAuTuZQyFNaNbNcNeMNkKQuMQxZQBa@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAyaTyaZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAAyaTQeZQBdFNaNbNcNeMNkKQymZQBc@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAOaTOaZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAOuTOuZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTASQCe8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11ReplacementTQCuZQDuFNaNbNcNeMNkKQDpmZQDu@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAaTaZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAuTuZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAwTwZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAyaTyaZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5newaa11__moduleRefZ@Base 14 + _D4core8internal5newaa12__ModuleInfoZ@Base 14 + _D4core8internal5newaa3mixFNaNbNiNfmZm@Base 14 + _D4core8internal5newaa4Impl11__xopEqualsMxFKxSQBsQBqQBkQBhZb@Base 14 + _D4core8internal5newaa4Impl6__initZ@Base 14 + _D4core8internal5newaa4Impl9__xtoHashFNbNeKxSQBrQBpQBjQBgZm@Base 14 + _D4core8internal5newaa6Bucket6__initZ@Base 14 + _D4core8internal5newaa7AAShell6__initZ@Base 14 + _D4core8internal5qsort11__moduleRefZ@Base 13 + _D4core8internal5qsort12__ModuleInfoZ@Base 13 + _D4core8internal5qsort7_adSortUNkMAvC8TypeInfoZ3cmpUMxPvMxQeMPvZi@Base 13 + _D4core8internal6atomic11__moduleRefZ@Base 13 + _D4core8internal6atomic12__ModuleInfoZ@Base 13 + _D4core8internal6atomic12simpleFormatFAyaMAQfZQi@Base 13 + _D4core8internal6atomic5pauseFNaNbNiNeZv@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNePNgPONgSQCcQCcQBvZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi0TmZQBmFNaNbNiNePNgmZNgm@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNePNgPONgSQBpQBpQBjZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNePNgPONgSQCcQCcQBvZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TOC6ObjectZQBuFNaNbNiNePONgCQzZONgQh@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TOCQCk4sync5mutex5MutexZQChFNaNbNiNePONgCQDwQBmQBkQBhZONgQr@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TPOSQCl4stdc5stdio8_IO_FILEZQClFNaNbNiNePNgPONgSQEdQBsQBqQBnZNgQu@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNePNgPQBkZNgQh@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TbZQBmFNaNbNiNePNgbZNgb@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TiZQBmFNaNbNiNePNgiZNgi@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TkZQBmFNaNbNiNePNgkZNgk@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi0TbZQBnFNaNbNiNePbbZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi0TmZQBnFNaNbNiNePmmZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorZQCjFNaNbNiNePQBlQBoZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONZQCwFNaNbNiNePQByQCbZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TmZQBnFNaNbNiNePmmZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCgFNaNbNiNePQBiQBlZv@Base 14 + _D4core8internal6atomic__T14atomicFetchAddVEQBqQBf11MemoryOrderi5Vbi1TkZQBuFNaNbNiNePkkZk@Base 13 + _D4core8internal6atomic__T14atomicFetchAddVEQBqQBf11MemoryOrderi5Vbi1TmZQBuFNaNbNiNePmmZm@Base 13 + _D4core8internal6atomic__T14atomicFetchSubVEQBqQBf11MemoryOrderi5Vbi1TkZQBuFNaNbNiNePkkZk@Base 13 + _D4core8internal6atomic__T14atomicFetchSubVEQBqQBf11MemoryOrderi5Vbi1TmZQBuFNaNbNiNePmmZm@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0ThZQCkFNaNbNiNePhQchZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TmZQCkFNaNbNiNePmQcmZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TtZQCkFNaNbNiNePtQctZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5ThZQCqFNaNbNiNePhxhhZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TmZQCqFNaNbNiNePmxmmZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TtZQCqFNaNbNiNePtxttZb@Base 13 + _D4core8internal6moving11__moduleRefZ@Base 13 + _D4core8internal6moving12__ModuleInfoZ@Base 13 + _D4core8internal6string11__moduleRefZ@Base 13 + _D4core8internal6string12__ModuleInfoZ@Base 13 + _D4core8internal6string__T17TempStringNoAllocVhi20ZQz3getMNgFNaNbNiNjNfZANga@Base 13 + _D4core8internal6string__T17TempStringNoAllocVhi20ZQz6__initZ@Base 13 + _D4core8internal6string__T18signedToTempStringVki10ZQBaFNaNbNiNflZSQCnQClQCf__T17TempStringNoAllocVhi20ZQz@Base 13 + _D4core8internal6string__T20unsignedToTempStringVii10Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVii16Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVki10Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVki10ZQBcFNaNbNiNfmZSQCpQCnQCh__T17TempStringNoAllocVhi20ZQz@Base 13 + _D4core8internal6string__T7dstrcmpZQjFNaNbNiNeMxAaMxQeZi@Base 13 + _D4core8internal6string__T9numDigitsVki10ZQqFNaNbNiNfmZi@Base 13 + _D4core8internal6traits11__moduleRefZ@Base 13 + _D4core8internal6traits12__ModuleInfoZ@Base 13 + _D4core8internal6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D4core8internal7convert10ctfe_allocFNaNbNiNemZAh@Base 13 + _D4core8internal7convert11__moduleRefZ@Base 13 + _D4core8internal7convert11shiftrRoundFNaNbNiNfmZm@Base 13 + _D4core8internal7convert12__ModuleInfoZ@Base 13 + _D4core8internal7convert5Float6__initZ@Base 13 + _D4core8internal7convert7binPow2FNaNbNiNfiZ10binPosPow2FNaNbNiNfiZe@Base 13 + _D4core8internal7convert7binPow2FNaNbNiNfiZe@Base 13 + _D4core8internal7convert__T20denormalizedMantissaTeZQzFNaNbNiNfekZSQCnQClQCf5Float@Base 13 + _D4core8internal7convert__T5parseVbi0HTeZQoFNaNbNiNfeZSQCbQBzQBt5Float@Base 13 + _D4core8internal7convert__T5parseVbi0HTxeZQpFNaNbNiNfxeZSQCdQCbQBv5Float@Base 13 + _D4core8internal7convert__T7binLog2TeZQlFNaNbNiNfxeZk@Base 13 + _D4core8internal7convert__T7toUbyteTPxvZQnFNaNbNiNeNkMxAPvZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTPyS6object10ModuleInfoZQBgFNaNbNiNeNkMxAPyQBoZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTaZQlFNaNbNiNeNkMxAaZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTeZQlFNaNbNiNeMKxeZAxh@Base 14 + _D4core8internal7convert__T7toUbyteThZQlFNaNbNiNeNkMxAhZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTkZQlFNaNbNiNeMKxkZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTkZQlFNaNbNiNeNkMxAkZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTmZQlFNaNbNiNeMKxmZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTmZQlFNaNbNiNeNkMxAmZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTtZQlFNaNbNiNeMKxtZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTtZQlFNaNbNiNeNkMxAtZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTvZQlFNaNbNiNeNkMxAvZAxh@Base 13 + _D4core8internal7dassert11__moduleRefZ@Base 13 + _D4core8internal7dassert12__ModuleInfoZ@Base 13 + _D4core8internal7dassert15invertCompTokenFNaNbNiNfMAyaZQe@Base 13 + _D4core8internal7dassert16calcFieldOverlapFMxAmZAb@Base 13 + _D4core8internal7dassert7combineFNaNbNiNfMxAAyaMxQfMxQkZ11formatTupleFNaNbNiNfMAaKmIQBpIbZv@Base 13 + _D4core8internal7dassert7combineFNaNbNiNfMxAAyaMxQfMxQkZAya@Base 13 + _D4core8internal7dassert9pureAllocFNaNbNiNfmZAh@Base 13 + _D4core8internal7dassert9pureAllocFmZ5allocFNaNbNfmZAh@Base 13 + _D4core8internal7dassert__T20assumeFakeAttributesTPFNaNbNfmZAhZQBkFNaNbNiNeQzZPFNaNbNiNfmZQBe@Base 13 + _D4core8internal7switch_11__moduleRefZ@Base 13 + _D4core8internal7switch_12__ModuleInfoZ@Base 13 + _D4core8internal7switch___T14__switchSearchTyaZQuFNaNbNiNfMxAAyaMxQfZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia5_61626f7274VxQza5_7072696e74VxQBqa6_69676e6f7265VxQCka9_646570726563617465ZQDxFNaNbNiNfMxQDxZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia5_61626f7274ZQBmFNaNbNiNfMxQBmZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia7_70726563697365VxQBda12_636f6e736572766174697665ZQCxFNaNbNiNfMxQCxZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia8_72756e2d6d61696eVxQBfa9_746573742d6f6e6c79VxQCfa12_746573742d6f722d6d61696eZQDzFNaNbNiNfMxQDzZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia8_72756e2d6d61696eZQBsFNaNbNiNfMxQBsZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_ZQvFNaNbNiNfMxQuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa12_636f6e736572766174697665ZQBuFNaNbNiNfMxQBuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa12_746573742d6f722d6d61696eZQBuFNaNbNiNfMxQBuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa1_3cVxQka1_3eVxQta2_213dVxQBea2_3c3dVxQBqa2_3d3dVxQCca2_3e3dVxQCoa2_696eVxQDaa2_6973VxQDma3_21696eVxQEaa3_216973ZQFbFNaNbNiNfMxQFbZ5casesyG10Aa@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa1_3cVxQka1_3eVxQta2_213dVxQBea2_3c3dVxQBqa2_3d3dVxQCca2_3e3dVxQCoa2_696eVxQDaa2_6973VxQDma3_21696eVxQEaa3_216973ZQFbFNaNbNiNfMxQFbZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa2_6763VxQma4_666f726bVxQBba7_636c65616e7570VxQBxa7_64697361626c65VxQCta7_70726f66696c65VxQDpa8_706172616c6c656cVxQEna11_696e63506f6f6c53697a65VxQFsa11_696e697452657365727665VxQGxa11_6d6178506f6f6c53697a65VxQIca11_6d696e506f6f6c53697a65VxQJha14_6865617053697a65466163746f72ZQLfFNaNbNiNfMxQLfZ5casesyG11Aa@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa2_6763VxQma4_666f726bVxQBba7_636c65616e7570VxQBxa7_64697361626c65VxQCta7_70726f66696c65VxQDpa8_706172616c6c656cVxQEna11_696e63506f6f6c53697a65VxQFsa11_696e697452657365727665VxQGxa11_6d6178506f6f6c53697a65VxQIca11_6d696e506f6f6c53697a65VxQJha14_6865617053697a65466163746f72ZQLfFNaNbNiNfMxQLfZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa4_6e6f6e65VxQqa7_636f6c6c656374VxQBla8_66696e616c697a65ZQCwFNaNbNiNfMxQCwZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa4_6e6f6e65ZQBdFNaNbNiNfMxQBdZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa6_69676e6f7265VxQua9_646570726563617465ZQCgFNaNbNiNfMxQCgZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa6_69676e6f7265ZQBhFNaNbNiNfMxQBhZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa8_66696e616c697a65ZQBlFNaNbNiNfMxQBlZi@Base 13 + _D4core8internal7switch___T8__switchTyaZQnFNaNbNiNfMxAyaZi@Base 13 + _D4core8internal8lifetime11__moduleRefZ@Base 13 + _D4core8internal8lifetime12__ModuleInfoZ@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS2rt3aaA4ImplZQBjFNaNbNiNeMKQBcZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS2rt9critical_18D_CRITICAL_SECTIONZQCeFNaNbNiNeMKQBxZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3gcc8sections3elf9ThreadDSOZQByFNaNbNiNeMKQBrZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw2gc11gcinterface4RootZQBvFNaNbNiNeMKQBoZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw2gc11gcinterface5RangeZQBwFNaNbNiNeMKQBpZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw6thread7context12StackContextZQCdFNaNbNiNeMKQBwZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDoFNaNbNiNeMKQDhZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDqFNaNbNiNeMKQDjZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDoFNaNbNiNeMKQDhZv@Base 13 + _D4core8internal8postblit11__moduleRefZ@Base 13 + _D4core8internal8postblit12__ModuleInfoZ@Base 13 + _D4core8internal8spinlock11__moduleRefZ@Base 13 + _D4core8internal8spinlock12__ModuleInfoZ@Base 13 + _D4core8internal8spinlock15AlignedSpinLock6__ctorMOFNbNcNiNeEQChQCfQBz8SpinLock10ContentionZOSQDoQDmQDgQDa@Base 13 + _D4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D4core8internal8spinlock8SpinLock4lockMOFNbNiNeZv@Base 13 + _D4core8internal8spinlock8SpinLock5yieldMOFNbNiNemZv@Base 13 + _D4core8internal8spinlock8SpinLock6__ctorMOFNbNcNiNeEQBzQBxQBrQBl10ContentionZOSQDaQCyQCsQCm@Base 13 + _D4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D4core8internal8spinlock8SpinLock6unlockMOFNbNiNeZv@Base 13 + _D4core8internal9container5array11__moduleRefZ@Base 13 + _D4core8internal9container5array12__ModuleInfoZ@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk4backMNgFNaNbNcNdNiZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk4swapMFNaNbNiNfKSQCkQCiQCcQBv__TQBsTQBpZQCaZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5frontMNgFNaNbNcNdNiNfZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opIndexMNgFNaNbNcNimZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opSliceMNgFNaNbNiZANgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opSliceMNgFNaNbNimmZANgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk8opAssignMFNbNcNiNjSQCnQClQCfQBy__TQBvTQBsZQCdZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk__T10insertBackZQnMFNbNiQBdZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf4backMNgFNaNbNcNdNiZNgPSQBxQBwQBqQBp@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf4swapMFNaNbNiNfKSQDgQDeQCyQCr__TQCoTQClZQCwZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5frontMNgFNaNbNcNdNiNfZNgPSQCaQBzQBtQBs@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opIndexMNgFNaNbNcNimZNgPSQBzQByQBsQBr@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opSliceMNgFNaNbNiZANgPSQBxQBwQBqQBp@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opSliceMNgFNaNbNimmZANgPSQBzQByQBsQBr@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf8opAssignMFNbNcNiNjSQDjQDhQDbQCu__TQCrTQCoZQCzZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf__T10insertBackZQnMFNbNiKQCaZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu4backMNgFNaNbNcNdNiZNgPSQFcQFaQEuQDm__TQDhTQDcTQDcZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu4swapMFNaNbNiNfKSQEvQEtQEnQEg__TQEdTQEaZQElZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5frontMNgFNaNbNcNdNiNfZNgPSQFfQFdQExQDp__TQDkTQDfTQDfZQDwQCo@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opIndexMNgFNaNbNcNimZNgPSQFeQFcQEwQDo__TQDjTQDeTQDeZQDvQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opSliceMNgFNaNbNiZANgPSQFcQFaQEuQDm__TQDhTQDcTQDcZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opSliceMNgFNaNbNimmZANgPSQFeQFcQEwQDo__TQDjTQDeTQDeZQDvQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu8opAssignMFNbNcNiNjSQEyQEwQEqQEj__TQEgTQEdZQEoZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw4backMNgFNaNbNcNdNiZNgPSQFeQFcQEwQDo__TQDjTQDeTQDfZQDvQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw4swapMFNaNbNiNfKSQExQEvQEpQEi__TQEfTQEcZQEnZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5frontMNgFNaNbNcNdNiNfZNgPSQFhQFfQEzQDr__TQDmTQDhTQDiZQDyQCo@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opIndexMNgFNaNbNcNimZNgPSQFgQFeQEyQDq__TQDlTQDgTQDhZQDxQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opSliceMNgFNaNbNiZANgPSQFeQFcQEwQDo__TQDjTQDeTQDfZQDvQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opSliceMNgFNaNbNimmZANgPSQFgQFeQEyQDq__TQDlTQDgTQDhZQDxQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw8opAssignMFNbNcNiNjSQFaQEyQEsQEl__TQEiTQEfZQEqZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu4backMNgFNaNbNcNdNiZNgPSQFcQFaQEuQDm__TQDhTQDcTiZQDrQCj@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu4swapMFNaNbNiNfKSQEvQEtQEnQEg__TQEdTQEaZQElZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5frontMNgFNaNbNcNdNiNfZNgPSQFfQFdQExQDp__TQDkTQDfTiZQDuQCm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opIndexMNgFNaNbNcNimZNgPSQFeQFcQEwQDo__TQDjTQDeTiZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opSliceMNgFNaNbNiZANgPSQFcQFaQEuQDm__TQDhTQDcTiZQDrQCj@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opSliceMNgFNaNbNimmZANgPSQFeQFcQEwQDo__TQDjTQDeTiZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu8opAssignMFNbNcNiNjSQEyQEwQEqQEj__TQEgTQEdZQEoZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk4backMNgFNaNbNcNdNiZNgSQCcQCbQBvQBu@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk4swapMFNaNbNiNfKSQDlQDjQDdQCw__TQCtTQCqZQDbZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5frontMNgFNaNbNcNdNiNfZNgSQCfQCeQByQBx@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opIndexMNgFNaNbNcNimZNgSQCeQCdQBxQBw@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opSliceMNgFNaNbNiZANgSQCcQCbQBvQBu@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opSliceMNgFNaNbNimmZANgSQCeQCdQBxQBw@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCwTQCtZQDeZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk__T10insertBackZQnMFNbNiQCeZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh4backMNgFNaNbNcNdNiZNgSQDoQBzQBzQBp@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh4swapMFNaNbNiNfKSQDiQDgQDaQCt__TQCqTQCnZQCyZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5frontMNgFNaNbNcNdNiNfZNgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opIndexMNgFNaNbNcNimZNgSQDqQCbQCbQBr@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opSliceMNgFNaNbNiZANgSQDoQBzQBzQBp@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opSliceMNgFNaNbNimmZANgSQDqQCbQCbQBr@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh8opAssignMFNbNcNiNjSQDlQDjQDdQCw__TQCtTQCqZQDbZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh__T10insertBackZQnMFNbNiQCbZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi4backMNgFNaNbNcNdNiZNgSQDpQCaQCaQBq@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi4swapMFNaNbNiNfKSQDjQDhQDbQCu__TQCrTQCoZQCzZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5frontMNgFNaNbNcNdNiNfZNgSQDsQCdQCdQBt@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opIndexMNgFNaNbNcNimZNgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opSliceMNgFNaNbNiZANgSQDpQCaQCaQBq@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opSliceMNgFNaNbNimmZANgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi8opAssignMFNbNcNiNjSQDmQDkQDeQCx__TQCuTQCrZQDcZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi__T10insertBackZQnMFNbNiQCcZv@Base 13 + _D4core8internal9container5treap11__moduleRefZ@Base 13 + _D4core8internal9container5treap12__ModuleInfoZ@Base 13 + _D4core8internal9container5treap4Rand5frontMFNaNbNdNiNfZk@Base 13 + _D4core8internal9container5treap4Rand6__initZ@Base 13 + _D4core8internal9container5treap4Rand6opCallMFNaNbNiNfZk@Base 13 + _D4core8internal9container5treap4Rand8popFrontMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh10initializeMFNaNbNiNfmZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh13opApplyHelperFNbxPSQDmQDkQDeQCx__TQCuTQCrZQDc4NodeMDFNbKxSQEzQDkQDkQDaZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh4Node6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6insertMFNbNiPSQDgQDeQCyQCr__TQCoTQClZQCw4NodeQCxZQBl@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6insertMFNbNiQBqZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6removeFNbNiPPSQDgQDeQCyQCr__TQCoTQClZQCw4NodeQCxZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6removeMFNbNiQBqZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7opApplyMFNbMDFNbKQBvZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7opApplyMxFNbMDFNbKxSQDmQBxQBxQBnZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7rotateLFNaNbNiNfPSQDkQDiQDcQCv__TQCsTQCpZQDa4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7rotateRFNaNbNiNfPSQDkQDiQDcQCv__TQCsTQCpZQDa4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh8freeNodeFNbNiPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh8opAssignMFNbNcNiNjSQDlQDjQDdQCw__TQCtTQCqZQDbZQBc@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9allocNodeMFNbNiQBtZPSQDnQDlQDfQCy__TQCvTQCsZQDd4Node@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9removeAllFNbNiPSQDiQDgQDaQCt__TQCqTQCnZQCy4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9removeAllMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi10initializeMFNaNbNiNfmZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi13opApplyHelperFNbxPSQDnQDlQDfQCy__TQCvTQCsZQDd4NodeMDFNbKxSQFaQDlQDlQDbZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node11__xopEqualsMxFKxSQDqQDoQDiQDb__TQCyTQCvZQDgQByZb@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node9__xtoHashFNbNeKxSQDpQDnQDhQDa__TQCxTQCuZQDfQBxZm@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6insertMFNbNiPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeQCyZQBl@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6insertMFNbNiQBrZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6removeFNbNiPPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeQCyZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6removeMFNbNiQBrZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7opApplyMFNbMDFNbKQBwZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7opApplyMxFNbMDFNbKxSQDnQByQByQBoZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7rotateLFNaNbNiNfPSQDlQDjQDdQCw__TQCtTQCqZQDb4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7rotateRFNaNbNiNfPSQDlQDjQDdQCw__TQCtTQCqZQDb4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi8freeNodeFNbNiPSQDiQDgQDaQCt__TQCqTQCnZQCy4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi8opAssignMFNbNcNiNjSQDmQDkQDeQCx__TQCuTQCrZQDcZQBc@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9allocNodeMFNbNiQBuZPSQDoQDmQDgQCz__TQCwTQCtZQDe4Node@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9removeAllFNbNiPSQDjQDhQDbQCu__TQCrTQCoZQCz4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9removeAllMFNbNiZv@Base 13 + _D4core8internal9container6common11__moduleRefZ@Base 13 + _D4core8internal9container6common12__ModuleInfoZ@Base 13 + _D4core8internal9container6common7xmallocFNbNimZPv@Base 13 + _D4core8internal9container6common8xreallocFNbNiPvmZQe@Base 13 + _D4core8internal9container6common__T10initializeTAvZQqFNaNbNiNfKQpZv@Base 13 + _D4core8internal9container6common__T10initializeTPS3gcc8sections3elf3DSOZQBlFNaNbNiNfKQBlZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDaFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDcFNaNbNiNfKQDcZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDaFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T10initializeTS3gcc8sections3elf9ThreadDSOZQBqFNaNbNiNfKQBqZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBw2gc11gcinterface4RootZQBnFNaNbNiNfKQBnZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBw2gc11gcinterface5RangeZQBoFNaNbNiNfKQBoZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCzFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDbFNaNbNiNfKQDbZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCzFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T7destroyTAvZQmFNaNbNiNfKQpZv@Base 13 + _D4core8internal9container6common__T7destroyTPS3gcc8sections3elf3DSOZQBhFNaNbNiNfKQBlZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCwFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCyFNaNbNiNfKQDcZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCwFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T7destroyTS3gcc8sections3elf9ThreadDSOZQBmFNaNbNiNfKQBqZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBs2gc11gcinterface4RootZQBjFNaNbNiNfKQBnZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBs2gc11gcinterface5RangeZQBkFNaNbNiNfKQBoZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCvFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCxFNaNbNiNfKQDbZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCvFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container7hashtab11__moduleRefZ@Base 13 + _D4core8internal9container7hashtab12__ModuleInfoZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi13opIndexAssignMFNbNiQBtQCaZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi3getMFNbNiQBmZPQBn@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node11__xopEqualsMxFKxSQDsQDqQDkQDd__TQCyTQCtTQCtZQDkQCcZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node9__xtoHashFNbNeKxSQDrQDpQDjQDc__TQCxTQCsTQCsZQDjQCbZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6hashOfFNaNbNiNeMKxAaZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6removeMFNbNiIAaZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi7opApplyMFMDFKQBqKQBqZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi7opIndexMNgFNaNbNcNiQBwZNgSQByQByQBr@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCuTQCpTQCpZQDgZQBg@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxAaZPNgSQCxQCxQCq@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk13opIndexAssignMFNbNiQBwQCcZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk3getMFNbNiQBoZPQBq@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6hashOfFNaNbNiNeMKxPvZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6removeMFNbNiIPvZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk7opApplyMFMDFKQBsKQBtZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk7opIndexMNgFNaNbNcNiQByZNgPSQCbQCaQBuQBt@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk8opAssignMFNbNcNiNjSQDqQDoQDiQDb__TQCwTQCrTQCsZQDiZQBg@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxPvZPNgPSQDaQCzQCtQCs@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi13opIndexAssignMFNbNiiQByZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi3getMFNbNiQBmZPi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6hashOfFNaNbNiNeMKxPyQBvZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6removeMFNbNiIPyQBqZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi7opApplyMFMDFKQBqKiZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi7opIndexMNgFNaNbNcNiQBwZNgi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCuTQCpTiZQDeZQBe@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxPyQCvZPNgi@Base 13 + _D4core8lifetime11__moduleRefZ@Base 13 + _D4core8lifetime12__ModuleInfoZ@Base 13 + _D4core8lifetime__T11_d_newitemTTS2rt3aaA4ImplZQBcFNaNbNeZPQBa@Base 14 + _D4core8lifetime__T11_d_newitemTTS2rt9critical_18D_CRITICAL_SECTIONZQBxFNaNbNeZPQBv@Base 14 + _D4core8lifetime__T11_d_newitemTTSQBg6thread7context12StackContextZQBwFNaNbNeZPQBu@Base 14 + _D4core8lifetime__T12_d_newclassTTC3gcc9backtrace12LibBacktraceZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTC6object5ErrorZQBeFNaNbNeZQBa@Base 13 + _D4core8lifetime__T12_d_newclassTTC9ExceptionZQBbFNaNbNeZQx@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync5mutex5MutexZQBlFNaNbNeZQBh@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync7rwmutex14ReadWriteMutex6ReaderZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync7rwmutex14ReadWriteMutex6WriterZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync9condition9ConditionZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync9exception9SyncErrorZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh6thread10threadbase15ThreadExceptionZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh6thread8osthread6ThreadZQBrFNaNbNeZQBn@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh9exception16UnicodeExceptionZQBwFNaNbNeZQBs@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync5mutex5MutexZQBmFNaNbNeZOQBi@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync7rwmutex14ReadWriteMutex6ReaderZQCfFNaNbNeZOQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync7rwmutex14ReadWriteMutex6WriterZQCfFNaNbNeZOQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync9condition9ConditionZQBuFNaNbNeZOQBq@Base 13 + _D4core8lifetime__T7emplaceTC3gcc9backtrace12LibBacktraceTiZQBpFNiQBmKiZQBs@Base 13 + _D4core8lifetime__T7emplaceTCQBb4sync5mutex5MutexZQBfFNbNiAvZQBh@Base 13 + _D4core8lifetime__T7emplaceTCQBb4sync5mutex5MutexZQBfFNbNiNfQBgZQBk@Base 13 + _D4core8lifetime__T7emplaceTCQBb8internal2gc4impl12conservativeQw14ConservativeGCZQClFQCgZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb8internal2gc4impl6manualQp8ManualGCZQBxFQBsZQBw@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception10RangeErrorTAyaTmTnZQBsFNaNbNiNfQBvKQyKmKQxZQCh@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTQeTiZQBuFNaNbNiNfQBxKQzKQBcKiZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTQeTmZQBuFNaNbNiNfQBxKQzKQBcKmZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTmZQBrFNaNbNiNfQBuKQwKmZQCd@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11SwitchErrorTAyaTQeTmTnZQBwFNaNbNiNfQBzKQBbKQBfKmKQBcZQCr@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCxFNaNbNiNfQDaKQCaKQBtKQBeKmZQDs@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception15ArrayIndexErrorTmTmTAyaTmTnZQCbFNaNbNiNfQCeKmKmKQBcKmKQBcZQCw@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception15ArraySliceErrorTmTmTmTAyaTmTnZQCdFNaNbNiNfQCgKmKmKmKQBeKmKQBeZQDa@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception16OutOfMemoryErrorTAyaTmZQBwFNaNbNiNfQBzKQwKmZQCi@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception16OutOfMemoryErrorTbTAyaTmZQByFNaNbNiNfQCbKbKQyKmZQCm@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception27InvalidMemoryOperationErrorTAyaTmZQChFNaNbNiNfQCkKQwKmZQCt@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception9ForkErrorTAyaTmTnZQBqFNaNbNiNfQBtKQyKmKQxZQCf@Base 13 + _D4core8volatile11__moduleRefZ@Base 13 + _D4core8volatile12__ModuleInfoZ@Base 13 + _D4core9attribute11__moduleRefZ@Base 13 + _D4core9attribute12__ModuleInfoZ@Base 13 + _D4core9attribute9gnuAbiTag11__xopEqualsMxFKxSQBsQBqQBjZb@Base 13 + _D4core9attribute9gnuAbiTag6__ctorMFNaNbNcNfAAyaXSQBwQBuQBn@Base 13 + _D4core9attribute9gnuAbiTag6__initZ@Base 13 + _D4core9attribute9gnuAbiTag9__xtoHashFNbNeKxSQBrQBpQBiZm@Base 13 + _D4core9exception10RangeError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCsQCqQCj@Base 13 + _D4core9exception10RangeError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCqQCoQCh@Base 13 + _D4core9exception10RangeError6__initZ@Base 13 + _D4core9exception10RangeError6__vtblZ@Base 13 + _D4core9exception10RangeError7__ClassZ@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCtQCrQCk@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfAyamZCQBzQBxQBq@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfC6object9ThrowableAyamZCQCrQCpQCi@Base 13 + _D4core9exception11AssertError6__initZ@Base 13 + _D4core9exception11AssertError6__vtblZ@Base 13 + _D4core9exception11AssertError7__ClassZ@Base 13 + _D4core9exception11SwitchError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCtQCrQCk@Base 13 + _D4core9exception11SwitchError6__initZ@Base 13 + _D4core9exception11SwitchError6__vtblZ@Base 13 + _D4core9exception11SwitchError7__ClassZ@Base 13 + _D4core9exception11__moduleRefZ@Base 13 + _D4core9exception11rangeMsgPutFNaNbNiNfKAaMAxaZv@Base 13 + _D4core9exception12__ModuleInfoZ@Base 13 + _D4core9exception13FinalizeError6__ctorMFNaNbNiNfC8TypeInfoAyamC6object9ThrowableZCQDdQDbQCu@Base 13 + _D4core9exception13FinalizeError6__ctorMFNaNbNiNfC8TypeInfoC6object9ThrowableAyamZCQDdQDbQCu@Base 13 + _D4core9exception13FinalizeError6__initZ@Base 13 + _D4core9exception13FinalizeError6__vtblZ@Base 13 + _D4core9exception13FinalizeError7__ClassZ@Base 13 + _D4core9exception13FinalizeError8toStringMxFNfZAya@Base 13 + _D4core9exception13assertHandlerFNbNdNiNePFNbAyamQeZvZv@Base 13 + _D4core9exception13assertHandlerFNbNdNiNeZPFNbAyamQeZv@Base 13 + _D4core9exception14_assertHandlerPFNbAyamQeZv@Base 13 + _D4core9exception15ArrayIndexError6__ctorMFNaNbNiNfmmAyamC6object9ThrowableZCQCxQCvQCo@Base 13 + _D4core9exception15ArrayIndexError6__initZ@Base 13 + _D4core9exception15ArrayIndexError6__vtblZ@Base 13 + _D4core9exception15ArrayIndexError7__ClassZ@Base 13 + _D4core9exception15ArraySliceError6__ctorMFNaNbNiNfmmmAyamC6object9ThrowableZCQCyQCwQCp@Base 13 + _D4core9exception15ArraySliceError6__initZ@Base 13 + _D4core9exception15ArraySliceError6__vtblZ@Base 13 + _D4core9exception15ArraySliceError7__ClassZ@Base 13 + _D4core9exception16OutOfMemoryError13superToStringMFNeZAya@Base 13 + _D4core9exception16OutOfMemoryError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCwQCuQCn@Base 13 + _D4core9exception16OutOfMemoryError6__ctorMFNaNbNiNfbAyamC6object9ThrowableZCQCxQCvQCo@Base 13 + _D4core9exception16OutOfMemoryError6__initZ@Base 13 + _D4core9exception16OutOfMemoryError6__vtblZ@Base 13 + _D4core9exception16OutOfMemoryError7__ClassZ@Base 13 + _D4core9exception16OutOfMemoryError8toStringMxFNeZAya@Base 13 + _D4core9exception16UnicodeException6__ctorMFNaNbNiNfAyamQemC6object9ThrowableZCQCzQCxQCq@Base 13 + _D4core9exception16UnicodeException6__initZ@Base 13 + _D4core9exception16UnicodeException6__vtblZ@Base 13 + _D4core9exception16UnicodeException7__ClassZ@Base 13 + _D4core9exception17SuppressTraceInfo6__initZ@Base 13 + _D4core9exception17SuppressTraceInfo6__vtblZ@Base 13 + _D4core9exception17SuppressTraceInfo7__ClassZ@Base 13 + _D4core9exception17SuppressTraceInfo7opApplyMxFMDFKmKxAaZiZi@Base 13 + _D4core9exception17SuppressTraceInfo7opApplyMxFMDFKxAaZiZi@Base 13 + _D4core9exception17SuppressTraceInfo8instanceFNaNbNiNeZ2ityCQCgQCeQBx@Base 13 + _D4core9exception17SuppressTraceInfo8instanceFNaNbNiNeZCQCcQCaQBt@Base 13 + _D4core9exception17SuppressTraceInfo8toStringMxFZAya@Base 13 + _D4core9exception27InvalidMemoryOperationError13superToStringMFNeZAya@Base 13 + _D4core9exception27InvalidMemoryOperationError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQDhQDfQCy@Base 13 + _D4core9exception27InvalidMemoryOperationError6__initZ@Base 13 + _D4core9exception27InvalidMemoryOperationError6__vtblZ@Base 13 + _D4core9exception27InvalidMemoryOperationError7__ClassZ@Base 13 + _D4core9exception27InvalidMemoryOperationError8toStringMxFNeZAya@Base 13 + _D4core9exception6_storeG256v@Base 13 + _D4core9exception9ForkError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCoQCmQCf@Base 13 + _D4core9exception9ForkError6__initZ@Base 13 + _D4core9exception9ForkError6__vtblZ@Base 13 + _D4core9exception9ForkError7__ClassZ@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf10RangeErrorTAyaTmTnZQBqFKQnKmQlZ3getFNbNiZQBy@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf10RangeErrorTAyaTmTnZQBqFNaNbNiKQtKmQrZQBu@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTiZQBsFNaNbNiQtQviZQBu@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTiZQBsFQnQpiZ3getFNbNiZQBy@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTmZQBsFKQoKQrKmZ3getFNbNiZQCb@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTmZQBsFNaNbNiKQuKQxKmZQBx@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTmZQBpFKQlKmZ3getFNbNiZQBv@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTmZQBpFNaNbNiKQrKmZQBr@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11SwitchErrorTAyaTQeTmTnZQBuFNaNbNiQvKQyKmQtZQCa@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf11SwitchErrorTAyaTQeTmTnZQBuFQpKQsKmQnZ3getFNbNiZQCe@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCvFKQBpKQBiKQtKmZ3getFNbNiZQDj@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCvFNaNbNiKQBvKQBoKQzKmZQDf@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArrayIndexErrorTmTmTAyaTmTnZQBzFKmKmKQrKmQpZ3getFNbNiZQCl@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArrayIndexErrorTmTmTAyaTmTnZQBzFNaNbNiKmKmKQxKmQvZQCh@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArraySliceErrorTmTmTmTAyaTmTnZQCbFKmKmKmKQtKmQrZ3getFNbNiZQCp@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArraySliceErrorTmTmTmTAyaTmTnZQCbFNaNbNiKmKmKmKQzKmQxZQCl@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTAyaTmZQBuFKQlKmZ3getFNbNiZQCa@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTAyaTmZQBuFNaNbNiKQrKmZQBw@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTbTAyaTmZQBwFNaNbNibKQsKmZQBz@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTbTAyaTmZQBwFbKQmKmZ3getFNbNiZQCd@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf27InvalidMemoryOperationErrorTAyaTmZQCfFKQlKmZ3getFNbNiZQCl@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf27InvalidMemoryOperationErrorTAyaTmZQCfFNaNbNiKQrKmZQCh@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf9ForkErrorTAyaTmTnZQBoFKQnKmQlZ3getFNbNiZQBw@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf9ForkErrorTAyaTmTnZQBoFNaNbNiKQtKmQrZQBs@Base 13 + _D4core9exception__T15__switch_errorTZQsFNaNbNiNeAyamZv@Base 14.2 + _D50TypeInfo_E4core3sys5linux10perf_event11perf_sw_ids6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc4Addr6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linux6uinput16uinput_abs_setup6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linux6uinput16uinput_ff_upload6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linux8io_uring14io_uring_probe6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11fanout_args6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11packet_mreq6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11sockaddr_ll6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11tpacket_hdr6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11tpacket_req6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQk7inotify13inotify_event6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix5spawn17posix_spawnattr_t6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix7netinet3in_11sockaddr_in6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix7pthread15pthread_cleanup6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D50TypeInfo_S4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D51TypeInfo_E4core3sys5linux10perf_event12perf_type_id6__initZ@Base 13 + _D51TypeInfo_E4core4sync7rwmutex14ReadWriteMutex6Policy6__initZ@Base 13 + _D51TypeInfo_OS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D51TypeInfo_S4core13interpolation19InterpolationFooter6__initZ@Base 14.2 + _D51TypeInfo_S4core13interpolation19InterpolationHeader6__initZ@Base 14.2 + _D51TypeInfo_S4core3sys5linux5input18ff_constant_effect6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux5input18ff_periodic_effect6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux5input18input_keymap_entry6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux8io_uring15io_uring_params6__initZ@Base 13 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12sockaddr_pkt6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket2_hdr6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket3_hdr6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket_req36__initZ@Base 14 + _D51TypeInfo_S4core3sys5posix7netinet3in_12sockaddr_in66__initZ@Base 13 + _D51TypeInfo_S4core3sys5posixQk5types16pthread_rwlock_t6__initZ@Base 13 + _D51TypeInfo_xS4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D51TypeInfo_xS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D52TypeInfo_OC4core4sync7rwmutex14ReadWriteMutex6Reader6__initZ@Base 13 + _D52TypeInfo_OC4core4sync7rwmutex14ReadWriteMutex6Writer6__initZ@Base 13 + _D52TypeInfo_OxS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D52TypeInfo_S4core3sys5linux2fs22file_dedupe_range_info6__initZ@Base 13 + _D52TypeInfo_S4core3sys5linux5input19ff_condition_effect6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_bd_ts6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_req_u6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_stats6__initZ@Base 14 + _D52TypeInfo_S4core3sys5posixQk5types17_pthread_fastlock6__initZ@Base 13 + _D52TypeInfo_S4core3sys5posixQk5types17pthread_barrier_t6__initZ@Base 13 + _D52TypeInfo_S4core3sys5posixQk6socket16sockaddr_storage6__initZ@Base 13 + _D52TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx6__initZ@Base 13 + _D53TypeInfo_E4core8internal2gc4impl12conservativeQw4Bins6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_cqring_offsets6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_sqring_offsets6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_uring_probe_op6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linuxQg9if_packet14tpacket_hdr_v16__initZ@Base 14 + _D53TypeInfo_S4core3sys5posixQk5types18pthread_condattr_t6__initZ@Base 13 + _D53TypeInfo_S4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D53TypeInfo_S4core8internal2gc4impl12conservativeQw4Pool6__initZ@Base 13 + _D54TypeInfo_E4core3sys5linux10perf_event15perf_event_type6__initZ@Base 13 + _D54TypeInfo_E4core8internal8spinlock8SpinLock10Contention6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linux10perf_event15perf_event_attr6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linux5stdio21cookie_io_functions_t6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linuxQg9if_packet15tpacket_auxdata6__initZ@Base 14 + _D54TypeInfo_S4core3sys5linuxQg9if_packet15tpacket_stats_u6__initZ@Base 14 + _D54TypeInfo_S4core3sys5linuxQk8signalfd16signalfd_siginfo6__initZ@Base 13 + _D54TypeInfo_S4core3sys5posix9semaphore17_pthread_fastlock6__initZ@Base 13 + _D54TypeInfo_S4core3sys5posixQk5types19pthread_mutexattr_t6__initZ@Base 13 + _D54TypeInfo_xS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D55TypeInfo_E4core3sys5linux10perf_event16perf_hw_cache_id6__initZ@Base 13 + _D55TypeInfo_E4core3sys5linuxQg9if_packet16tpacket_versions6__initZ@Base 14 + _D55TypeInfo_PxS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D55TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc4Addr4Name6__initZ@Base 13 + _D55TypeInfo_S4core3sys5linuxQg9if_packet16tpacket_stats_v36__initZ@Base 14 + _D55TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t6__initZ@Base 13 + _D55TypeInfo_S4core3sys5posixQk5types20pthread_rwlockattr_t6__initZ@Base 13 + _D55TypeInfo_S4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D55TypeInfo_xPS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D56TypeInfo_AxPS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_branch_entry6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_event_header6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_mem_data_src6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_ns_link_info6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux8io_uring20io_uring_restriction6__initZ@Base 13 + _D56TypeInfo_S4core3sys5posixQk5types21pthread_barrierattr_t6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTaZQq6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTuZQq6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTwZQq6__initZ@Base 13 + _D56TypeInfo_S4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__initZ@Base 13 + _D56TypeInfo_S4core8internal6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D56TypeInfo_xS4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D57TypeInfo_S4core3sys5linux8io_uring21io_uring_files_update6__initZ@Base 13 + _D57TypeInfo_S4core3sys5linuxQg9if_packet18tpacket_block_desc6__initZ@Base 14 + _D58TypeInfo_E2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ7OnCycle6__initZ@Base 13 + _D58TypeInfo_E4core3sys5linux10perf_event19perf_hw_cache_op_id6__initZ@Base 13 + _D58TypeInfo_G14PxS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D58TypeInfo_S4core3sys5linux8io_uring22io_uring_getevents_arg6__initZ@Base 13 + _D58TypeInfo_S4core3sys5linuxQg9if_packet19tpacket_bd_header_u6__initZ@Base 14 + _D58TypeInfo_S4core3sys5posix7pthread23_pthread_cleanup_buffer6__initZ@Base 13 + _D58TypeInfo_xG14PS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D59TypeInfo_E4core3sys5linux10perf_event20perf_event_ioc_flags6__initZ@Base 13 + _D59TypeInfo_E4core3sys5linux10perf_event20perf_sample_regs_abi6__initZ@Base 13 + _D59TypeInfo_S2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result6__initZ@Base 14 + _D59TypeInfo_S4core3sys5linux10perf_event20perf_event_mmap_page6__initZ@Base 13 + _D59TypeInfo_S4core3sys5linuxQg9if_packet20tpacket_hdr_variant16__initZ@Base 14 + _D59TypeInfo_S4core3sys5posix5spawn26posix_spawn_file_actions_t6__initZ@Base 13 + _D61TypeInfo_E4core3sys5linux10perf_event22perf_callchain_context6__initZ@Base 13 + _D61TypeInfo_E4core3sys5linux10perf_event22perf_event_read_format6__initZ@Base 13 + _D61TypeInfo_E4core8internal2gc4impl12conservativeQw4Pool7ShiftBy6__initZ@Base 13 + _D61TypeInfo_S4core3sys5linuxQg9if_packet22tpacket_rollover_stats6__initZ@Base 14 + _D61TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t5_rt_t6__initZ@Base 13 + _D61TypeInfo_S4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj6__initZ@Base 13 + _D61TypeInfo_S4core8internal6string__T17TempStringNoAllocVhi20ZQz6__initZ@Base 13 + _D62TypeInfo_E4core3sys5linux10perf_event23perf_branch_sample_type6__initZ@Base 13 + _D62TypeInfo_S4core8internal2gc4impl12conservativeQw12LeakDetector6__initZ@Base 13 + _D63TypeInfo_E4core3sys5linux10perf_event24perf_event_sample_format6__initZ@Base 13 + _D63TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t7_kill_t6__initZ@Base 13 + _D64TypeInfo_E4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7AddType6__initZ@Base 13 + _D64TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t8_timer_t6__initZ@Base 13 + _D65TypeInfo_E4core3sys5linux10perf_event26perf_hw_cache_op_result_id6__initZ@Base 13 + _D65TypeInfo_S4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy6__initZ@Base 13 + _D65TypeInfo_S4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy6__initZ@Base 13 + _D65TypeInfo_S4core8internal2gc4impl12conservativeQw15LargeObjectPool6__initZ@Base 13 + _D65TypeInfo_S4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D65TypeInfo_xE4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7AddType6__initZ@Base 13 + _D66TypeInfo_xS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D67TypeInfo_PxS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D67TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t10_sigpoll_t6__initZ@Base 13 + _D67TypeInfo_S4core6stdcpp11type_traits__T17integral_constantTbVbi0ZQBa6__initZ@Base 13 + _D67TypeInfo_S4core6stdcpp11type_traits__T17integral_constantTbVbi1ZQBa6__initZ@Base 13 + _D67TypeInfo_xPS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D68TypeInfo_AxPS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D68TypeInfo_E4core3sys5linux10perf_event29perf_branch_sample_type_shift6__initZ@Base 13 + _D68TypeInfo_E4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10IsDelegate6__initZ@Base 13 + _D68TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t11_sigchild_t6__initZ@Base 13 + _D68TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t11_sigfault_t6__initZ@Base 13 + _D68TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D69TypeInfo_S4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D69TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D6Object6__initZ@Base 13 + _D6Object6__vtblZ@Base 13 + _D6Object7__ClassZ@Base 13 + _D6object10ModuleInfo11xgetMembersMxFNaNbNdNiZPv@Base 13 + _D6object10ModuleInfo12localClassesMxFNaNbNdNiNjZAC14TypeInfo_Class@Base 13 + _D6object10ModuleInfo15importedModulesMxFNaNbNdNiNjZAyPSQCcQBy@Base 13 + _D6object10ModuleInfo4ctorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo4dtorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo4nameMxFNaNbNdNiNjZAya@Base 13 + _D6object10ModuleInfo5flagsMxFNaNbNdNiZk@Base 13 + _D6object10ModuleInfo5ictorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo5indexMxFNaNbNdNiZk@Base 13 + _D6object10ModuleInfo6__initZ@Base 13 + _D6object10ModuleInfo6addrOfMxFNaNbNiNjiZPv@Base 13 + _D6object10ModuleInfo7opApplyFMDFPSQBhQBdZiZi@Base 13 + _D6object10ModuleInfo7tlsctorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo7tlsdtorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo8opAssignMFMxSQBhQBdZv@Base 14 + _D6object10ModuleInfo8unitTestMxFNaNbNdNiZPFZv@Base 13 + _D6object10_xopEqualsFIPvIQdZb@Base 13 + _D6object10getElementFNaNbNeNkMNgC8TypeInfoZNgQn@Base 13 + _D6object11__moduleRefZ@Base 13 + _D6object12__ModuleInfoZ@Base 13 + _D6object12getArrayHashFNbNeMxC8TypeInfoMxPvxmZ15hasCustomToHashFNaNbNeMxQBrZb@Base 13 + _D6object12getArrayHashFNbNeMxC8TypeInfoMxPvxmZm@Base 13 + _D6object12setSameMutexFOC6ObjectOQjZv@Base 13 + _D6object13TypeInfo_Enum11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object13TypeInfo_Enum4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object13TypeInfo_Enum4swapMxFPvQcZv@Base 13 + _D6object13TypeInfo_Enum5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object13TypeInfo_Enum5offTiMxFZAxSQBj14OffsetTypeInfo@Base 13 + _D6object13TypeInfo_Enum5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object13TypeInfo_Enum6equalsMxFIPvIQdZb@Base 13 + _D6object13TypeInfo_Enum6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object13TypeInfo_Enum6talignMxFNaNbNdNiNfZm@Base 13 + _D6object13TypeInfo_Enum7compareMxFIPvIQdZi@Base 13 + _D6object13TypeInfo_Enum7destroyMxFPvZv@Base 13 + _D6object13TypeInfo_Enum7getHashMxFNbNfMxPvZm@Base 13 + _D6object13TypeInfo_Enum8opEqualsMFC6ObjectZb@Base 13 + _D6object13TypeInfo_Enum8postblitMxFPvZv@Base 13 + _D6object13TypeInfo_Enum8toStringMxFNaNbNfZAya@Base 13 + _D6object14OffsetTypeInfo11__xopEqualsMxFKxSQBqQBmZb@Base 13 + _D6object14OffsetTypeInfo6__initZ@Base 13 + _D6object14OffsetTypeInfo9__xtoHashFNbNeKxSQBpQBlZm@Base 13 + _D6object14TypeInfo_Array11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object14TypeInfo_Array4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object14TypeInfo_Array4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Array5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Array5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Array6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Array6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object14TypeInfo_Array6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Array7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Array7getHashMxFNbNeMxPvZm@Base 13 + _D6object14TypeInfo_Array8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Array8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Class10ClassFlags6__initZ@Base 13 + _D6object14TypeInfo_Class11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object14TypeInfo_Class4findFMxAaZxCQBd@Base 13 + _D6object14TypeInfo_Class4infoMxFNaNbNdNiNlNjNfZxCQBp@Base 13 + _D6object14TypeInfo_Class5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Class5offTiMxFNaNbNdZAxSQBq14OffsetTypeInfo@Base 13 + _D6object14TypeInfo_Class5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Class6createMxFZC6Object@Base 13 + _D6object14TypeInfo_Class6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Class6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object14TypeInfo_Class7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Class7getHashMxFNbNeMxPvZm@Base 13 + _D6object14TypeInfo_Class8isBaseOfMxFNaNbNiNeMxCQBnZb@Base 13 + _D6object14TypeInfo_Class8opEqualsMxFNbNfxC8TypeInfoZb@Base 13 + _D6object14TypeInfo_Class8toStringMxFNaNbNfZAya@Base 13 + _D6object14TypeInfo_Class8typeinfoMxFNaNbNdNiNlNjNfZxCQBt@Base 13 + _D6object14TypeInfo_Const11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object14TypeInfo_Const4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object14TypeInfo_Const4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Const5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Const5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Const6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Const6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Const7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Const7getHashMxFNbNfMxPvZm@Base 13 + _D6object14TypeInfo_Const8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Const8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Inout8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Tuple11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object14TypeInfo_Tuple4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Tuple5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Tuple6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Tuple6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Tuple7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Tuple7destroyMxFPvZv@Base 13 + _D6object14TypeInfo_Tuple7getHashMxFNbNfMxPvZm@Base 13 + _D6object14TypeInfo_Tuple8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Tuple8postblitMxFPvZv@Base 13 + _D6object14TypeInfo_Tuple8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Shared8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Struct11StructFlags6__initZ@Base 13 + _D6object15TypeInfo_Struct11_memberFunc6__initZ@Base 13 + _D6object15TypeInfo_Struct11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object15TypeInfo_Struct4nameMxFNbNdNeZ19demangledNamesCacheHPxvAya@Base 13 + _D6object15TypeInfo_Struct4nameMxFNbNdNeZAya@Base 13 + _D6object15TypeInfo_Struct5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object15TypeInfo_Struct5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Struct6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D6object15TypeInfo_Struct6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object15TypeInfo_Struct6talignMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Struct6toHashMxFNbNfZm@Base 13 + _D6object15TypeInfo_Struct7compareMxFNaNbNeIPvIQdZi@Base 13 + _D6object15TypeInfo_Struct7destroyMxFPvZv@Base 13 + _D6object15TypeInfo_Struct7getHashMxFNaNbNeMxPvZm@Base 13 + _D6object15TypeInfo_Struct8opEqualsMFC6ObjectZb@Base 13 + _D6object15TypeInfo_Struct8postblitMxFPvZv@Base 13 + _D6object15TypeInfo_Struct8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Vector11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object15TypeInfo_Vector4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object15TypeInfo_Vector4swapMxFPvQcZv@Base 13 + _D6object15TypeInfo_Vector5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object15TypeInfo_Vector5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Vector6equalsMxFIPvIQdZb@Base 13 + _D6object15TypeInfo_Vector6talignMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Vector7compareMxFIPvIQdZi@Base 13 + _D6object15TypeInfo_Vector7getHashMxFNbNfMxPvZm@Base 13 + _D6object15TypeInfo_Vector8opEqualsMFC6ObjectZb@Base 13 + _D6object15TypeInfo_Vector8toStringMxFNbNfZAya@Base 13 + _D6object16TypeInfo_Pointer11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object16TypeInfo_Pointer4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object16TypeInfo_Pointer4swapMxFPvQcZv@Base 13 + _D6object16TypeInfo_Pointer5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object16TypeInfo_Pointer5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object16TypeInfo_Pointer6equalsMxFIPvIQdZb@Base 13 + _D6object16TypeInfo_Pointer7compareMxFIPvIQdZi@Base 13 + _D6object16TypeInfo_Pointer7getHashMxFNbNeMxPvZm@Base 13 + _D6object16TypeInfo_Pointer8opEqualsMFC6ObjectZb@Base 13 + _D6object16TypeInfo_Pointer8toStringMxFNbNfZAya@Base 13 + _D6object17TypeInfo_Delegate11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object17TypeInfo_Delegate5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object17TypeInfo_Delegate5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Delegate6equalsMxFIPvIQdZb@Base 13 + _D6object17TypeInfo_Delegate6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object17TypeInfo_Delegate6talignMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Delegate7compareMxFIPvIQdZi@Base 13 + _D6object17TypeInfo_Delegate7getHashMxFNbNeMxPvZm@Base 13 + _D6object17TypeInfo_Delegate8opEqualsMFC6ObjectZb@Base 13 + _D6object17TypeInfo_Delegate8toStringMxFNaNbNeZAya@Base 13 + _D6object17TypeInfo_Function11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object17TypeInfo_Function5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Function6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object17TypeInfo_Function8opEqualsMFC6ObjectZb@Base 13 + _D6object17TypeInfo_Function8toStringMxFNaNbNeZAya@Base 13 + _D6object18TypeInfo_Interface11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object18TypeInfo_Interface5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object18TypeInfo_Interface5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object18TypeInfo_Interface6equalsMxFIPvIQdZb@Base 13 + _D6object18TypeInfo_Interface7compareMxFIPvIQdZi@Base 13 + _D6object18TypeInfo_Interface7getHashMxFNbNeMxPvZm@Base 13 + _D6object18TypeInfo_Interface8isBaseOfMxFNaNbNiNeMxC14TypeInfo_ClassZb@Base 13 + _D6object18TypeInfo_Interface8isBaseOfMxFNaNbNiNeMxCQBrZb@Base 13 + _D6object18TypeInfo_Interface8opEqualsMFC6ObjectZb@Base 13 + _D6object18TypeInfo_Interface8toStringMxFNaNbNfZAya@Base 13 + _D6object18TypeInfo_Invariant8toStringMxFNbNfZAya@Base 13 + _D6object19__cpp_type_info_ptr6__initZ@Base 13 + _D6object19__cpp_type_info_ptr6__vtblZ@Base 13 + _D6object19__cpp_type_info_ptr7__ClassZ@Base 13 + _D6object20TypeInfo_StaticArray11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object20TypeInfo_StaticArray4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object20TypeInfo_StaticArray4swapMxFPvQcZv@Base 13 + _D6object20TypeInfo_StaticArray5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object20TypeInfo_StaticArray5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object20TypeInfo_StaticArray6equalsMxFIPvIQdZb@Base 13 + _D6object20TypeInfo_StaticArray6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object20TypeInfo_StaticArray6talignMxFNaNbNdNiNfZm@Base 13 + _D6object20TypeInfo_StaticArray7compareMxFIPvIQdZi@Base 13 + _D6object20TypeInfo_StaticArray7destroyMxFPvZv@Base 13 + _D6object20TypeInfo_StaticArray7getHashMxFNbNeMxPvZm@Base 13 + _D6object20TypeInfo_StaticArray8opEqualsMFC6ObjectZb@Base 13 + _D6object20TypeInfo_StaticArray8postblitMxFPvZv@Base 13 + _D6object20TypeInfo_StaticArray8toStringMxFNbNfZAya@Base 13 + _D6object25TypeInfo_AssociativeArray11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object25TypeInfo_AssociativeArray4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object25TypeInfo_AssociativeArray5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object25TypeInfo_AssociativeArray5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object25TypeInfo_AssociativeArray6equalsMxFNeIPvIQdZb@Base 13 + _D6object25TypeInfo_AssociativeArray6talignMxFNaNbNdNiNfZm@Base 13 + _D6object25TypeInfo_AssociativeArray7getHashMxFNbNeMxPvZm@Base 13 + _D6object25TypeInfo_AssociativeArray8opEqualsMFC6ObjectZb@Base 13 + _D6object25TypeInfo_AssociativeArray8toStringMxFNbNfZAya@Base 13 + _D6object2AA6__initZ@Base 13 + _D6object5Error6__ctorMFNaNbNiNfAyaCQBi9ThrowableZCQBxQBt@Base 13 + _D6object5Error6__ctorMFNaNbNiNfAyaQdmCQBl9ThrowableZCQCaQBw@Base 13 + _D6object5Error6__initZ@Base 13 + _D6object5Error6__vtblZ@Base 13 + _D6object5Error7__ClassZ@Base 13 + _D6object6Object5opCmpMFCQqZi@Base 13 + _D6object6Object6toHashMFNbNeZm@Base 13 + _D6object6Object7Monitor11__InterfaceZ@Base 13 + _D6object6Object7factoryFAyaZCQv@Base 13 + _D6object6Object8opEqualsMFCQtZb@Base 13 + _D6object6Object8toStringMFZAya@Base 13 + _D6object7AARange6__initZ@Base 13 + _D6object7_xopCmpFIPvIQdZb@Base 13 + _D6object8TypeInfo4nextMNgFNaNbNdNiZNgCQBe@Base 13 + _D6object8TypeInfo4swapMxFPvQcZv@Base 13 + _D6object8TypeInfo5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object8TypeInfo5offTiMxFZAxSQBd14OffsetTypeInfo@Base 13 + _D6object8TypeInfo5opCmpMFC6ObjectZi@Base 13 + _D6object8TypeInfo5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object8TypeInfo6equalsMxFIPvIQdZb@Base 13 + _D6object8TypeInfo6rtInfoMxFNaNbNdNiNeZPyv@Base 14 + _D6object8TypeInfo6talignMxFNaNbNdNiNfZm@Base 13 + _D6object8TypeInfo6toHashMxFNbNeZm@Base 13 + _D6object8TypeInfo7compareMxFIPvIQdZi@Base 13 + _D6object8TypeInfo7destroyMxFPvZv@Base 13 + _D6object8TypeInfo7getHashMxFNbNeMxPvZm@Base 13 + _D6object8TypeInfo8opEqualsMFC6ObjectZb@Base 13 + _D6object8TypeInfo8opEqualsMxFNbNfxCQBbZb@Base 13 + _D6object8TypeInfo8postblitMxFPvZv@Base 13 + _D6object8TypeInfo8toStringMxFNbNfZAya@Base 13 + _D6object9Exception6__ctorMFNaNbNiNfAyaCQBm9ThrowableQrmZCQBx@Base 13 + _D6object9Exception6__ctorMFNaNbNiNfAyaQdmCQBp9ThrowableZCQBx@Base 13 + _D6object9Interface11__xopEqualsMxFKxSQBkQBgZb@Base 13 + _D6object9Interface6__initZ@Base 13 + _D6object9Interface9__xtoHashFNbNeKxSQBjQBfZm@Base 13 + _D6object9Throwable13chainTogetherFNaNbNiNkMCQBrQBnNkMQkZQn@Base 13 + _D6object9Throwable4nextMFNaNbNdNiNlNfCQBlQBhZv@Base 13 + _D6object9Throwable4nextMNgFNaNbNdNiNjNlNfZNgCQBsQBo@Base 13 + _D6object9Throwable6__ctorMFNaNbNiNfAyaCQBmQBiZQi@Base 13 + _D6object9Throwable6__ctorMFNaNbNiNfAyaQdmCQBpQBlZQi@Base 13 + _D6object9Throwable6__dtorMFNbNlNeZv@Base 13 + _D6object9Throwable6__initZ@Base 13 + _D6object9Throwable6__vtblZ@Base 13 + _D6object9Throwable7__ClassZ@Base 13 + _D6object9Throwable7messageMxFNbNfZAxa@Base 13 + _D6object9Throwable7opApplyMFMDFCQBfQBbZiZi@Base 13 + _D6object9Throwable8refcountMFNaNbNcNiNlNjZk@Base 13 + _D6object9Throwable8toStringMFZAya@Base 13 + _D6object9Throwable8toStringMxFMDFIAaZvZv@Base 13 + _D6object9Throwable9TraceInfo11__InterfaceZ@Base 13 + _D6object__T10RTInfoImplVAmA2i104i2048ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i104i4160ZQBbyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i104i6824ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i11274ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i3ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i721ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i16424ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i21610ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i4ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i12ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i512ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i12i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i168i347816ZQBdyG2m@Base 14.2 + _D6object__T10RTInfoImplVAmA2i168i4244ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i3ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i176i3931280ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i177i3931280ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i212i2728ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i216i8011774ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i240i2728ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i3ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i6ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i7ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i256i8388608ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i272i2158144171ZQBhyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i10ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i11ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i12ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i13ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i14ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i15ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i7ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i8ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i9ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i15ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i18ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i20ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i22ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i24ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i30ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i44i12ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i24ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i31ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i32ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i42ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i44ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i56ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i59ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i63ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i123ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i21ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i40ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i64ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i84ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i10ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i134ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i9ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i138ZQzyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i72i256ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i248ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i516ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i84i680ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i8i1ZQwyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i1023ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i1154ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i2728ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i680ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA3i968i268435462i0ZQBiyG3m@Base 13 + _D6object__T10RTInfoImplVAmA4i1064i549755827528i0i16ZQBpyG4m@Base 13 + _D6object__T10RTInfoImplVAmA4i1152i144107491482206208i565149010231808i0ZQCiyG4m@Base 13 + _D6object__T3dupTAyaZQjFNaNbNdNfAxAyaZAQw@Base 13 + _D6object__T3dupTaZQhFNaNbNdNfAxaZAa@Base 13 + _D6object__T4idupTaZQiFNaNbNdNfAaZAya@Base 13 + _D6object__T4keysHTHC4core6thread8osthread6ThreadQBdTQBhTQBlZQBxFNaNbNdNfQCcZAQCg@Base 13 + _D6object__T7destroyVbi1TC4core2gc11gcinterface2GCZQBnFNbQBgZv@Base 13 + _D6object__T7destroyVbi1TC6ObjectZQwFNbQoZv@Base 13 + _D6object__T7destroyVbi1TS3gcc8sections3elf9ThreadDSOZQBqFNaNbNiNfKQBqZv@Base 13 + _D6object__T7destroyVbi1TS4core2gc11gcinterface4RootZQBpFNaNbNiNfKQBpZv@Base 13 + _D6object__T7destroyVbi1TS4core2gc11gcinterface5RangeZQBqFNaNbNiNfKQBqZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDoFNaNbNiNfKQDoZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDqFNaNbNiNfKQDqZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTPySQCt10ModuleInfoTiZQBe4NodeZQDkFNaNbNiNfKQDkZv@Base 13 + _D6object__T7reserveTuZQlFNaNbNeKAumZm@Base 13 + _D6object__T8opEqualsTC14TypeInfo_ClassTQsZQBfFNbNfQBdQBgZb@Base 13 + _D6object__T8opEqualsTC6ObjectTQjZQwFQpQrZb@Base 13 + _D6object__T8opEqualsTC8TypeInfoTxCQmZQBaFNbNfQyxQpZb@Base 13 + _D6object__T8opEqualsTxC14TypeInfo_ClassTxQtZQBhFNbNfxQBfxQBjZb@Base 13 + _D6object__T8opEqualsTxC15TypeInfo_StructTxQuZQBiFxQBcxQBgZb@Base 13 + _D6object__T8opEqualsTxC6ObjectTxQkZQyFxQrxQuZb@Base 13 + _D6object__T8opEqualsTxC8TypeInfoTxQmZQBaFNbNfxQyxQBbZb@Base 13 + _D6object__T8opEqualsTxCQw9ThrowableTxQpZQBdFxQxxQBaZb@Base 13 + _D70TypeInfo_G14PxS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D70TypeInfo_PxS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D70TypeInfo_xG14PS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D70TypeInfo_xPS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D70TypeInfo_xS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D72TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi0ZQp6__initZ@Base 13 + _D72TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi1ZQp6__initZ@Base 13 + _D74TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D75TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D77TypeInfo_S4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D77TypeInfo_S4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D77TypeInfo_S4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D78TypeInfo_S4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D78TypeInfo_xS4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D79TypeInfo_S2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ8findDepsMFNbmPmZ10stackFrame6__initZ@Base 13 + _D79TypeInfo_S4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D79TypeInfo_S4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D79TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D80TypeInfo_S4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D80TypeInfo_S4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D80TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D80TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D81TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D82TypeInfo_S4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__initZ@Base 13 + _D83TypeInfo_AS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D83TypeInfo_xS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D84TypeInfo_AxS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D84TypeInfo_S4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D84TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh4Node6__initZ@Base 13 + _D84TypeInfo_S4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__initZ@Base 13 + _D84TypeInfo_xAS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D85TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D86TypeInfo_S4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D86TypeInfo_S4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D86TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D87TypeInfo_PxS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D87TypeInfo_S4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D87TypeInfo_S4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4Node6__initZ@Base 13 + _D87TypeInfo_xPS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D88TypeInfo_xS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D89TypeInfo_PxS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D89TypeInfo_S4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D89TypeInfo_S4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4Node6__initZ@Base 13 + _D89TypeInfo_xPS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D8TypeInfo6__initZ@Base 13 + _D8TypeInfo6__vtblZ@Base 13 + _D8TypeInfo7__ClassZ@Base 13 + _D92TypeInfo_S4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D93TypeInfo_S4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__initZ@Base 13 + _D93TypeInfo_xS4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D95TypeInfo_S3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ2DG6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTaTSQBzQBxQBt__T11char_traitsTaZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTuTSQBzQBxQBt__T11char_traitsTuZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTwTSQBzQBxQBt__T11char_traitsTwZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D9Exception6__initZ@Base 13 + _D9Exception6__vtblZ@Base 13 + _D9Exception7__ClassZ@Base 13 + _D9invariant11__moduleRefZ@Base 13 + _D9invariant12__ModuleInfoZ@Base 13 + _D9invariant12_d_invariantFC6ObjectZv@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKxAaZiZi@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKxAaZiZi@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace8toStringMxFZAya@Base 13 + _DTi16_D4core4sync5mutex5Mutex4lockMFNeZv@Base 13 + _DTi16_D4core4sync5mutex5Mutex6unlockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMFNeZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC12profileStatsMFNbNiNeZSQDa6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC5queryMFNbPvZSQCq6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC5statsMFNbNiNfZSQCs6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8rootIterMFNdNiZDFMDFNbKSQDbQCq11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC9rangeIterMFNdNiZDFMDFNbKSQDcQCr11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC12profileStatsMFNbNiNfZSQCk6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC5queryMFNbPvZSQCa6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC5statsMFNbNiNfZSQCc6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6callocMFNbmkMxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6extendMFNbPvmmMxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6mallocMFNbmkMxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6qallocMFNbmkMxC8TypeInfoZSQCn6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7reallocMFNbPvmkMxC8TypeInfoZQr@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8rootIterMFNdNiNlNjZDFMDFNbKSQCpQCe11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCqQCf11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC12profileStatsMFNbNiNfZSQCm6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC5queryMFNbPvZSQCc6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC5statsMFNbNiNfZSQCe6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6qallocMFNbmkMxC8TypeInfoZSQCp6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8rootIterMFNdNiNlNjZDFMDFNbKSQCrQCg11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCsQCh11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo7opApplyMxFMDFKmKxAaZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo7opApplyMxFMDFKxAaZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo8toStringMxFZAya@Base 13 + _ZNKSt10bad_typeid4whatEv@Base 13 + _ZNKSt13bad_exception4whatEv@Base 13 + _ZNKSt8bad_cast4whatEv@Base 13 + _ZNKSt9exception4whatEv@Base 13 + _ZNKSt9type_info4nameEv@Base 13 + _ZNKSt9type_info6beforeEPKS_@Base 13 + _ZNSt9bad_allocC1Ev@Base 13 + _ZNSt9exceptionD1Ev@Base 13 + _ZNSt9type_infoD1Ev@Base 13 + __CPUELT@Base 13 + __CPUMASK@Base 13 + __CPU_ALLOC@Base 13 + __CPU_ALLOC_SIZE@Base 13 + __CPU_COUNT_S@Base 13 + __CPU_FREE@Base 13 + __CPU_ISSET_S@Base 13 + __CPU_SET_S@Base 13 + __atomic_add_fetch_16@Base 13 + __atomic_add_fetch_1@Base 13 + __atomic_add_fetch_2@Base 13 + __atomic_add_fetch_4@Base 13 + __atomic_add_fetch_8@Base 13 + __atomic_and_fetch_16@Base 13 + __atomic_and_fetch_1@Base 13 + __atomic_and_fetch_2@Base 13 + __atomic_and_fetch_4@Base 13 + __atomic_and_fetch_8@Base 13 + __atomic_compare_exchange@Base 13 + __atomic_compare_exchange_16@Base 13 + __atomic_compare_exchange_1@Base 13 + __atomic_compare_exchange_2@Base 13 + __atomic_compare_exchange_4@Base 13 + __atomic_compare_exchange_8@Base 13 + __atomic_exchange@Base 13 + __atomic_exchange_16@Base 13 + __atomic_exchange_1@Base 13 + __atomic_exchange_2@Base 13 + __atomic_exchange_4@Base 13 + __atomic_exchange_8@Base 13 + __atomic_feraiseexcept@Base 13 + __atomic_fetch_add_16@Base 13 + __atomic_fetch_add_1@Base 13 + __atomic_fetch_add_2@Base 13 + __atomic_fetch_add_4@Base 13 + __atomic_fetch_add_8@Base 13 + __atomic_fetch_and_16@Base 13 + __atomic_fetch_and_1@Base 13 + __atomic_fetch_and_2@Base 13 + __atomic_fetch_and_4@Base 13 + __atomic_fetch_and_8@Base 13 + __atomic_fetch_nand_16@Base 13 + __atomic_fetch_nand_1@Base 13 + __atomic_fetch_nand_2@Base 13 + __atomic_fetch_nand_4@Base 13 + __atomic_fetch_nand_8@Base 13 + __atomic_fetch_or_16@Base 13 + __atomic_fetch_or_1@Base 13 + __atomic_fetch_or_2@Base 13 + __atomic_fetch_or_4@Base 13 + __atomic_fetch_or_8@Base 13 + __atomic_fetch_sub_16@Base 13 + __atomic_fetch_sub_1@Base 13 + __atomic_fetch_sub_2@Base 13 + __atomic_fetch_sub_4@Base 13 + __atomic_fetch_sub_8@Base 13 + __atomic_fetch_xor_16@Base 13 + __atomic_fetch_xor_1@Base 13 + __atomic_fetch_xor_2@Base 13 + __atomic_fetch_xor_4@Base 13 + __atomic_fetch_xor_8@Base 13 + __atomic_is_lock_free@Base 13 + __atomic_load@Base 13 + __atomic_load_16@Base 13 + __atomic_load_1@Base 13 + __atomic_load_2@Base 13 + __atomic_load_4@Base 13 + __atomic_load_8@Base 13 + __atomic_nand_fetch_16@Base 13 + __atomic_nand_fetch_1@Base 13 + __atomic_nand_fetch_2@Base 13 + __atomic_nand_fetch_4@Base 13 + __atomic_nand_fetch_8@Base 13 + __atomic_or_fetch_16@Base 13 + __atomic_or_fetch_1@Base 13 + __atomic_or_fetch_2@Base 13 + __atomic_or_fetch_4@Base 13 + __atomic_or_fetch_8@Base 13 + __atomic_store@Base 13 + __atomic_store_16@Base 13 + __atomic_store_1@Base 13 + __atomic_store_2@Base 13 + __atomic_store_4@Base 13 + __atomic_store_8@Base 13 + __atomic_sub_fetch_16@Base 13 + __atomic_sub_fetch_1@Base 13 + __atomic_sub_fetch_2@Base 13 + __atomic_sub_fetch_4@Base 13 + __atomic_sub_fetch_8@Base 13 + __atomic_test_and_set_16@Base 13 + __atomic_test_and_set_1@Base 13 + __atomic_test_and_set_2@Base 13 + __atomic_test_and_set_4@Base 13 + __atomic_test_and_set_8@Base 13 + __atomic_xor_fetch_16@Base 13 + __atomic_xor_fetch_1@Base 13 + __atomic_xor_fetch_2@Base 13 + __atomic_xor_fetch_4@Base 13 + __atomic_xor_fetch_8@Base 13 + __gdc_begin_catch@Base 13 + __gdc_personality_v0@Base 13 + _aApplyRcd1@Base 13 + _aApplyRcd2@Base 13 + _aApplyRcw1@Base 13 + _aApplyRcw2@Base 13 + _aApplyRdc1@Base 13 + _aApplyRdc2@Base 13 + _aApplyRdw1@Base 13 + _aApplyRdw2@Base 13 + _aApplyRwc1@Base 13 + _aApplyRwc2@Base 13 + _aApplyRwd1@Base 13 + _aApplyRwd2@Base 13 + _aApplycd1@Base 13 + _aApplycd2@Base 13 + _aApplycw1@Base 13 + _aApplycw2@Base 13 + _aApplydc1@Base 13 + _aApplydc2@Base 13 + _aApplydw1@Base 13 + _aApplydw2@Base 13 + _aApplywc1@Base 13 + _aApplywc2@Base 13 + _aApplywd1@Base 13 + _aApplywd2@Base 13 + _aaApply2@Base 13 + _aaApply@Base 13 + _aaClear@Base 13 + _aaDelX@Base 13 + _aaEqual@Base 13 + _aaGetHash@Base 13 + _aaGetRvalueX@Base 13 + _aaGetX@Base 13 + _aaGetY@Base 13 + _aaInX@Base 13 + _aaKeys@Base 13 + _aaLen@Base 13 + _aaNew@Base 13 + _aaRange@Base 13 + _aaRangeEmpty@Base 13 + _aaRangeFrontKey@Base 13 + _aaRangeFrontValue@Base 13 + _aaRangePopFront@Base 13 + _aaRehash@Base 13 + _aaValues@Base 13 + _aaVersion@Base 13 + _adEq2@Base 13 + _adSort@Base 13 + _d_allocmemory@Base 13 + _d_arrayappendcTX@Base 13 + _d_arrayappendcd@Base 13 + _d_arrayappendwd@Base 13 + _d_arraybounds@Base 13 + _d_arraybounds_index@Base 13 + _d_arraybounds_indexp@Base 13 + _d_arraybounds_slice@Base 13 + _d_arraybounds_slicep@Base 13 + _d_arrayboundsp@Base 13 + _d_arraycopy@Base 13 + _d_arrayliteralTX@Base 13 + _d_arraysetcapacity@Base 13 + _d_arraysetlengthT@Base 13 + _d_arraysetlengthiT@Base 13 + _d_arrayshrinkfit@Base 13 + _d_assert@Base 13 + _d_assert_msg@Base 13 + _d_assertp@Base 13 + _d_assocarrayliteralTX@Base 13 + _d_callfinalizer@Base 13 + _d_callinterfacefinalizer@Base 13 + _d_class_cast@Base 14.2 + _d_createTrace@Base 13 + _d_critical_init@Base 13 + _d_critical_term@Base 13 + _d_criticalenter2@Base 13 + _d_criticalenter@Base 13 + _d_criticalexit@Base 13 + _d_delThrowable@Base 13 + _d_delclass@Base 13 + _d_delinterface@Base 13 + _d_delmemory@Base 13 + _d_dso_registry@Base 13 + _d_dynamic_cast@Base 13 + _d_eh_swapContext@Base 13 + _d_initMonoTime@Base 13 + _d_interface_cast@Base 13 + _d_isbaseof2@Base 13 + _d_isbaseof@Base 13 + _d_monitor_staticctor@Base 13 + _d_monitor_staticdtor@Base 13 + _d_monitordelete@Base 13 + _d_monitordelete_nogc@Base 13 + _d_monitorenter@Base 13 + _d_monitorexit@Base 13 + _d_newarrayT@Base 13 + _d_newarrayU@Base 13 + _d_newarrayiT@Base 13 + _d_newclass@Base 13 + _d_newitemU@Base 13 + _d_paint_cast@Base 14.2 + _d_print_throwable@Base 13 + _d_register_conservative_gc@Base 13 + _d_register_manual_gc@Base 13 + _d_register_precise_gc@Base 13 + _d_run_main2@Base 13 + _d_run_main@Base 13 + _d_setSameMutex@Base 13 + _d_throw@Base 13 + _d_toObject@Base 13 + _d_traceContext@Base 13 + _d_unittest@Base 13 + _d_unittest_msg@Base 13 + _d_unittestp@Base 13 + atomic_flag_clear@Base 13 + atomic_flag_clear_explicit@Base 13 + atomic_flag_test_and_set@Base 13 + atomic_flag_test_and_set_explicit@Base 13 + atomic_signal_fence@Base 13 + atomic_thread_fence@Base 13 + backtrace_alloc@Base 13 + backtrace_close@Base 13 + backtrace_create_state@Base 13 + backtrace_dwarf_add@Base 13 + backtrace_free@Base 13 + backtrace_full@Base 13 + backtrace_get_view@Base 13 + backtrace_initialize@Base 13 + backtrace_open@Base 13 + backtrace_pcinfo@Base 13 + backtrace_print@Base 13 + backtrace_qsort@Base 13 + backtrace_release_view@Base 13 + backtrace_simple@Base 13 + backtrace_syminfo@Base 13 + backtrace_syminfo_to_full_callback@Base 13 + backtrace_syminfo_to_full_error_callback@Base 13 + backtrace_uncompress_lzma@Base 13 + backtrace_uncompress_zdebug@Base 13 + backtrace_uncompress_zstd@Base 13 + backtrace_vector_finish@Base 13 + backtrace_vector_grow@Base 13 + backtrace_vector_release@Base 13 + cimag@Base 13 + cimagf@Base 13 + cimagl@Base 13 + creald@Base 13 + crealf@Base 13 + creall@Base 13 + fakePureErrnoImpl@Base 13 + fakePureReprintReal@Base 13 + fiber_entryPoint@Base 13 + fiber_switchContext@Base 13 + gc_addRange@Base 13 + gc_addRoot@Base 13 + gc_addrOf@Base 13 + gc_allocatedInCurrentThread@Base 13 + gc_calloc@Base 13 + gc_clrAttr@Base 13 + gc_clrProxy@Base 13 + gc_collect@Base 13 + gc_disable@Base 13 + gc_enable@Base 13 + gc_extend@Base 13 + gc_free@Base 13 + gc_getAttr@Base 13 + gc_getProxy@Base 13 + gc_inFinalizer@Base 13 + gc_init@Base 13 + gc_init_nothrow@Base 13 + gc_malloc@Base 13 + gc_minimize@Base 13 + gc_profileStats@Base 13 + gc_qalloc@Base 13 + gc_query@Base 13 + gc_realloc@Base 13 + gc_removeRange@Base 13 + gc_removeRoot@Base 13 + gc_reserve@Base 13 + gc_runFinalizers@Base 13 + gc_setAttr@Base 13 + gc_setProxy@Base 13 + gc_sizeOf@Base 13 + gc_stats@Base 13 + gc_term@Base 13 + getErrno@Base 13 + libat_lock_n@Base 13 + libat_unlock_n@Base 13 + lifetime_init@Base 13 + onArrayIndexError@Base 13 + onArraySliceError@Base 13 + onAssertError@Base 13 + onAssertErrorMsg@Base 13 + onFinalizeError@Base 13 + onForkError@Base 13 + onInvalidMemoryOperationError@Base 13 + onOutOfMemoryError@Base 13 + onOutOfMemoryErrorNoGC@Base 13 + onRangeError@Base 13 + onUnicodeError@Base 13 + onUnittestErrorMsg@Base 13 + pcinfoCallback@Base 13 + pcinfoErrorCallback@Base 13 + perf_event_open@Base 13 + profilegc_setlogfilename@Base 13 + register_default_gcs@Base 13 + rt_args@Base 13 + rt_attachDisposeEvent@Base 13 + rt_cArgs@Base 13 + rt_cmdline_enabled@Base 13 + rt_detachDisposeEvent@Base 13 + rt_envvars_enabled@Base 13 + rt_finalize2@Base 13 + rt_finalize@Base 13 + rt_finalizeFromGC@Base 13 + rt_getCollectHandler@Base 13 + rt_getTraceDeallocator@Base 13 + rt_getTraceHandler@Base 13 + rt_hasFinalizerInSegment@Base 13 + rt_init@Base 13 + rt_loadLibrary@Base 13 + rt_moduleCtor@Base 13 + rt_moduleDtor@Base 13 + rt_moduleTlsCtor@Base 13 + rt_moduleTlsDtor@Base 13 + rt_options@Base 13 + rt_setCollectHandler@Base 13 + rt_setTraceHandler@Base 13 + rt_term@Base 13 + rt_trapExceptions@Base 13 + rt_unloadLibrary@Base 13 + runModuleUnitTests@Base 13 + setErrno@Base 13 + simpleCallback@Base 13 + simpleErrorCallback@Base 13 + syminfoCallback2@Base 13 + syminfoCallback@Base 13 + thread_attachThis@Base 13 + thread_detachByAddr@Base 13 + thread_detachInstance@Base 13 + thread_detachThis@Base 13 + thread_enterCriticalRegion@Base 13 + thread_entryPoint@Base 13 + thread_exitCriticalRegion@Base 13 + thread_inCriticalRegion@Base 13 + thread_init@Base 13 + thread_isMainThread@Base 13 + thread_joinAll@Base 13 + thread_processGCMarks@Base 13 + thread_resumeAll@Base 13 + thread_resumeHandler@Base 13 + thread_scanAll@Base 13 + thread_scanAllType@Base 13 + thread_setGCSignals@Base 13 + thread_setThis@Base 13 + thread_stackBottom@Base 13 + thread_stackTop@Base 13 + thread_suspendAll@Base 13 + thread_suspendHandler@Base 13 + thread_term@Base 13 + tipc_addr@Base 13 + tipc_cluster@Base 13 + tipc_node@Base 13 + tipc_zone@Base 13 +libgphobos.so.5 libgphobos5 #MINVER# + CPU_ALLOC@Base 13 + CPU_ALLOC_SIZE@Base 13 + CPU_COUNT@Base 13 + CPU_COUNT_S@Base 13 + CPU_FREE@Base 13 + CPU_ISSET@Base 13 + CPU_SET@Base 13 + LOG_MASK@Base 13 + LOG_UPTO@Base 13 + SIGRTMAX@Base 13 + SIGRTMIN@Base 13 + S_TYPEISMQ@Base 13 + S_TYPEISSEM@Base 13 + S_TYPEISSHM@Base 13 + TPACKET_ALIGN@Base 14 + _D101TypeInfo_E4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7AddType6__initZ@Base 13 + _D101TypeInfo_S3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi6__initZ@Base 13 + _D101TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu6__initZ@Base 13 + _D101TypeInfo_S4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D101TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFKQBqKQBuZ1S6__initZ@Base 13 + _D102TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__initZ@Base 13 + _D102TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__initZ@Base 13 + _D102TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1S6__initZ@Base 13 + _D102TypeInfo_xE4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7AddType6__initZ@Base 13 + _D103TypeInfo_S3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb6__initZ@Base 13 + _D103TypeInfo_S4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D103TypeInfo_S4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D103TypeInfo_S4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D105TypeInfo_E4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10IsDelegate6__initZ@Base 13 + _D105TypeInfo_S3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator6__initZ@Base 13 + _D109TypeInfo_S3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc6__initZ@Base 13 + _D10TypeInfo_a6__initZ@Base 13 + _D10TypeInfo_a6__vtblZ@Base 13 + _D10TypeInfo_a7__ClassZ@Base 13 + _D10TypeInfo_b6__initZ@Base 13 + _D10TypeInfo_b6__vtblZ@Base 13 + _D10TypeInfo_b7__ClassZ@Base 13 + _D10TypeInfo_c6__initZ@Base 13 + _D10TypeInfo_c6__vtblZ@Base 13 + _D10TypeInfo_c7__ClassZ@Base 13 + _D10TypeInfo_d6__initZ@Base 13 + _D10TypeInfo_d6__vtblZ@Base 13 + _D10TypeInfo_d7__ClassZ@Base 13 + _D10TypeInfo_e6__initZ@Base 13 + _D10TypeInfo_e6__vtblZ@Base 13 + _D10TypeInfo_e7__ClassZ@Base 13 + _D10TypeInfo_f6__initZ@Base 13 + _D10TypeInfo_f6__vtblZ@Base 13 + _D10TypeInfo_f7__ClassZ@Base 13 + _D10TypeInfo_g6__initZ@Base 13 + _D10TypeInfo_g6__vtblZ@Base 13 + _D10TypeInfo_g7__ClassZ@Base 13 + _D10TypeInfo_h6__initZ@Base 13 + _D10TypeInfo_h6__vtblZ@Base 13 + _D10TypeInfo_h7__ClassZ@Base 13 + _D10TypeInfo_i6__initZ@Base 13 + _D10TypeInfo_i6__vtblZ@Base 13 + _D10TypeInfo_i7__ClassZ@Base 13 + _D10TypeInfo_j6__initZ@Base 13 + _D10TypeInfo_j6__vtblZ@Base 13 + _D10TypeInfo_j7__ClassZ@Base 13 + _D10TypeInfo_k6__initZ@Base 13 + _D10TypeInfo_k6__vtblZ@Base 13 + _D10TypeInfo_k7__ClassZ@Base 13 + _D10TypeInfo_l6__initZ@Base 13 + _D10TypeInfo_l6__vtblZ@Base 13 + _D10TypeInfo_l7__ClassZ@Base 13 + _D10TypeInfo_m6__initZ@Base 13 + _D10TypeInfo_m6__vtblZ@Base 13 + _D10TypeInfo_m7__ClassZ@Base 13 + _D10TypeInfo_n6__initZ@Base 13 + _D10TypeInfo_n6__vtblZ@Base 13 + _D10TypeInfo_n7__ClassZ@Base 13 + _D10TypeInfo_o6__initZ@Base 13 + _D10TypeInfo_o6__vtblZ@Base 13 + _D10TypeInfo_o7__ClassZ@Base 13 + _D10TypeInfo_p6__initZ@Base 13 + _D10TypeInfo_p6__vtblZ@Base 13 + _D10TypeInfo_p7__ClassZ@Base 13 + _D10TypeInfo_q6__initZ@Base 13 + _D10TypeInfo_q6__vtblZ@Base 13 + _D10TypeInfo_q7__ClassZ@Base 13 + _D10TypeInfo_r6__initZ@Base 13 + _D10TypeInfo_r6__vtblZ@Base 13 + _D10TypeInfo_r7__ClassZ@Base 13 + _D10TypeInfo_s6__initZ@Base 13 + _D10TypeInfo_s6__vtblZ@Base 13 + _D10TypeInfo_s7__ClassZ@Base 13 + _D10TypeInfo_t6__initZ@Base 13 + _D10TypeInfo_t6__vtblZ@Base 13 + _D10TypeInfo_t7__ClassZ@Base 13 + _D10TypeInfo_u6__initZ@Base 13 + _D10TypeInfo_u6__vtblZ@Base 13 + _D10TypeInfo_u7__ClassZ@Base 13 + _D10TypeInfo_v6__initZ@Base 13 + _D10TypeInfo_v6__vtblZ@Base 13 + _D10TypeInfo_v7__ClassZ@Base 13 + _D10TypeInfo_w6__initZ@Base 13 + _D10TypeInfo_w6__vtblZ@Base 13 + _D10TypeInfo_w7__ClassZ@Base 13 + _D110TypeInfo_S3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf6__initZ@Base 13 + _D111TypeInfo_S3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator6__initZ@Base 13 + _D111TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj6__initZ@Base 13 + _D111TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj6__initZ@Base 13 + _D112TypeInfo_OS3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator6__initZ@Base 13 + _D113TypeInfo_S4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D114TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D114TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D115TypeInfo_S4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D115TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D115TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D115TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D115TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D116TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D116TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D118TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore6__initZ@Base 13 + _D118TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__initZ@Base 13 + _D118TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__initZ@Base 13 + _D119TypeInfo_S3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm6__initZ@Base 14 + _D119TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore6__initZ@Base 13 + _D119TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore6__initZ@Base 13 + _D11TypeInfo_Aa6__initZ@Base 13 + _D11TypeInfo_Aa6__vtblZ@Base 13 + _D11TypeInfo_Aa7__ClassZ@Base 13 + _D11TypeInfo_Ab6__initZ@Base 13 + _D11TypeInfo_Ab6__vtblZ@Base 13 + _D11TypeInfo_Ab7__ClassZ@Base 13 + _D11TypeInfo_Ac6__initZ@Base 13 + _D11TypeInfo_Ac6__vtblZ@Base 13 + _D11TypeInfo_Ac7__ClassZ@Base 13 + _D11TypeInfo_Ad6__initZ@Base 13 + _D11TypeInfo_Ad6__vtblZ@Base 13 + _D11TypeInfo_Ad7__ClassZ@Base 13 + _D11TypeInfo_Ae6__initZ@Base 13 + _D11TypeInfo_Ae6__vtblZ@Base 13 + _D11TypeInfo_Ae7__ClassZ@Base 13 + _D11TypeInfo_Af6__initZ@Base 13 + _D11TypeInfo_Af6__vtblZ@Base 13 + _D11TypeInfo_Af7__ClassZ@Base 13 + _D11TypeInfo_Ag6__initZ@Base 13 + _D11TypeInfo_Ag6__vtblZ@Base 13 + _D11TypeInfo_Ag7__ClassZ@Base 13 + _D11TypeInfo_Ah6__initZ@Base 13 + _D11TypeInfo_Ah6__vtblZ@Base 13 + _D11TypeInfo_Ah7__ClassZ@Base 13 + _D11TypeInfo_Ai6__initZ@Base 13 + _D11TypeInfo_Ai6__vtblZ@Base 13 + _D11TypeInfo_Ai7__ClassZ@Base 13 + _D11TypeInfo_Aj6__initZ@Base 13 + _D11TypeInfo_Aj6__vtblZ@Base 13 + _D11TypeInfo_Aj7__ClassZ@Base 13 + _D11TypeInfo_Ak6__initZ@Base 13 + _D11TypeInfo_Ak6__vtblZ@Base 13 + _D11TypeInfo_Ak7__ClassZ@Base 13 + _D11TypeInfo_Al6__initZ@Base 13 + _D11TypeInfo_Al6__vtblZ@Base 13 + _D11TypeInfo_Al7__ClassZ@Base 13 + _D11TypeInfo_Am6__initZ@Base 13 + _D11TypeInfo_Am6__vtblZ@Base 13 + _D11TypeInfo_Am7__ClassZ@Base 13 + _D11TypeInfo_Ao6__initZ@Base 13 + _D11TypeInfo_Ao6__vtblZ@Base 13 + _D11TypeInfo_Ao7__ClassZ@Base 13 + _D11TypeInfo_Ap6__initZ@Base 13 + _D11TypeInfo_Ap6__vtblZ@Base 13 + _D11TypeInfo_Ap7__ClassZ@Base 13 + _D11TypeInfo_Aq6__initZ@Base 13 + _D11TypeInfo_Aq6__vtblZ@Base 13 + _D11TypeInfo_Aq7__ClassZ@Base 13 + _D11TypeInfo_Ar6__initZ@Base 13 + _D11TypeInfo_Ar6__vtblZ@Base 13 + _D11TypeInfo_Ar7__ClassZ@Base 13 + _D11TypeInfo_As6__initZ@Base 13 + _D11TypeInfo_As6__vtblZ@Base 13 + _D11TypeInfo_As7__ClassZ@Base 13 + _D11TypeInfo_At6__initZ@Base 13 + _D11TypeInfo_At6__vtblZ@Base 13 + _D11TypeInfo_At7__ClassZ@Base 13 + _D11TypeInfo_Au6__initZ@Base 13 + _D11TypeInfo_Au6__vtblZ@Base 13 + _D11TypeInfo_Au7__ClassZ@Base 13 + _D11TypeInfo_Av6__initZ@Base 13 + _D11TypeInfo_Av6__vtblZ@Base 13 + _D11TypeInfo_Av7__ClassZ@Base 13 + _D11TypeInfo_Aw6__initZ@Base 13 + _D11TypeInfo_Aw6__vtblZ@Base 13 + _D11TypeInfo_Aw7__ClassZ@Base 13 + _D11TypeInfo_Oa6__initZ@Base 13 + _D11TypeInfo_Ou6__initZ@Base 13 + _D11TypeInfo_Pa6__initZ@Base 14 + _D11TypeInfo_xa6__initZ@Base 13 + _D11TypeInfo_xb6__initZ@Base 13 + _D11TypeInfo_xd6__initZ@Base 13 + _D11TypeInfo_xe6__initZ@Base 13 + _D11TypeInfo_xf6__initZ@Base 13 + _D11TypeInfo_xh6__initZ@Base 13 + _D11TypeInfo_xi6__initZ@Base 13 + _D11TypeInfo_xk6__initZ@Base 13 + _D11TypeInfo_xl6__initZ@Base 13 + _D11TypeInfo_xm6__initZ@Base 13 + _D11TypeInfo_xt6__initZ@Base 13 + _D11TypeInfo_xu6__initZ@Base 13 + _D11TypeInfo_xv6__initZ@Base 13 + _D11TypeInfo_xw6__initZ@Base 13 + _D11TypeInfo_ya6__initZ@Base 13 + _D11TypeInfo_yb6__initZ@Base 13 + _D11TypeInfo_yh6__initZ@Base 13 + _D11TypeInfo_yi6__initZ@Base 13 + _D11TypeInfo_yk6__initZ@Base 13 + _D11TypeInfo_ym6__initZ@Base 14.2 + _D11TypeInfo_yu6__initZ@Base 13 + _D11TypeInfo_yw6__initZ@Base 14.2 + _D120TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc6__initZ@Base 13 + _D120TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc6__initZ@Base 13 + _D120TypeInfo_S4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__initZ@Base 13 + _D121TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk6__initZ@Base 13 + _D122TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk6__initZ@Base 13 + _D122TypeInfo_S3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk6__initZ@Base 13 + _D123TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S6__initZ@Base 13 + _D124TypeInfo_S3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu6__initZ@Base 14.2 + _D125TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S6__initZ@Base 13 + _D126TypeInfo_S3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore6__initZ@Base 13 + _D127TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj14ConstructState6__initZ@Base 13 + _D127TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj14ConstructState6__initZ@Base 13 + _D128TypeInfo_xS3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj14ConstructState6__initZ@Base 13 + _D128TypeInfo_xS3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj14ConstructState6__initZ@Base 13 + _D129TypeInfo_G2S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj14ConstructState6__initZ@Base 13 + _D129TypeInfo_G2S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj14ConstructState6__initZ@Base 13 + _D129TypeInfo_S3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb6__initZ@Base 13 + _D12TypeInfo_AOa6__initZ@Base 13 + _D12TypeInfo_AOu6__initZ@Base 13 + _D12TypeInfo_Axa6__initZ@Base 13 + _D12TypeInfo_Axa6__vtblZ@Base 13 + _D12TypeInfo_Axa7__ClassZ@Base 13 + _D12TypeInfo_Axf6__initZ@Base 13 + _D12TypeInfo_Axh6__initZ@Base 13 + _D12TypeInfo_Axk6__initZ@Base 13 + _D12TypeInfo_Axm6__initZ@Base 13 + _D12TypeInfo_Axu6__initZ@Base 13 + _D12TypeInfo_Axv6__initZ@Base 13 + _D12TypeInfo_Axw6__initZ@Base 13 + _D12TypeInfo_Aya6__initZ@Base 13 + _D12TypeInfo_Aya6__vtblZ@Base 13 + _D12TypeInfo_Aya7__ClassZ@Base 13 + _D12TypeInfo_Ayh6__initZ@Base 13 + _D12TypeInfo_Ayk6__initZ@Base 13 + _D12TypeInfo_Aym6__initZ@Base 14.2 + _D12TypeInfo_Ayu6__initZ@Base 13 + _D12TypeInfo_Ayw6__initZ@Base 14.2 + _D12TypeInfo_FZv6__initZ@Base 13 + _D12TypeInfo_G2m6__initZ@Base 13 + _D12TypeInfo_G3m6__initZ@Base 13 + _D12TypeInfo_G4a6__initZ@Base 13 + _D12TypeInfo_G4m6__initZ@Base 13 + _D12TypeInfo_G8h6__initZ@Base 13 + _D12TypeInfo_Oxk6__initZ@Base 13 + _D12TypeInfo_Pxh6__initZ@Base 13 + _D12TypeInfo_Pxv6__initZ@Base 13 + _D12TypeInfo_xAa6__initZ@Base 13 + _D12TypeInfo_xAf6__initZ@Base 13 + _D12TypeInfo_xAh6__initZ@Base 13 + _D12TypeInfo_xAk6__initZ@Base 13 + _D12TypeInfo_xAm6__initZ@Base 13 + _D12TypeInfo_xAu6__initZ@Base 13 + _D12TypeInfo_xAv6__initZ@Base 13 + _D12TypeInfo_xAw6__initZ@Base 13 + _D12TypeInfo_xPh6__initZ@Base 13 + _D12TypeInfo_xPv6__initZ@Base 13 + _D12TypeInfo_yAa6__initZ@Base 13 + _D130TypeInfo_xG2S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj14ConstructState6__initZ@Base 13 + _D130TypeInfo_xG2S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj14ConstructState6__initZ@Base 13 + _D130TypeInfo_xS3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb6__initZ@Base 13 + _D131TypeInfo_S3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd6__initZ@Base 13 + _D131TypeInfo_S3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd6__initZ@Base 13 + _D131TypeInfo_S3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd6__initZ@Base 13 + _D131TypeInfo_S3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl6__initZ@Base 13 + _D133TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__initZ@Base 13 + _D133TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__initZ@Base 13 + _D134TypeInfo_xS3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__initZ@Base 13 + _D136TypeInfo_S3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D136TypeInfo_S3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D138TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D138TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__initZ@Base 13 + _D139TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl6__initZ@Base 13 + _D139TypeInfo_xS3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D139TypeInfo_xS3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D13TypeInfo_AAya6__initZ@Base 13 + _D13TypeInfo_AxPv6__initZ@Base 13 + _D13TypeInfo_AyAa6__initZ@Base 13 + _D13TypeInfo_DFZv6__initZ@Base 13 + _D13TypeInfo_Enum6__initZ@Base 13 + _D13TypeInfo_Enum6__vtblZ@Base 13 + _D13TypeInfo_Enum7__ClassZ@Base 13 + _D13TypeInfo_G12a6__initZ@Base 13 + _D13TypeInfo_G48a6__initZ@Base 13 + _D13TypeInfo_xAPv6__initZ@Base 13 + _D13TypeInfo_xAya6__initZ@Base 13 + _D13TypeInfo_xAym6__initZ@Base 14.2 + _D13TypeInfo_xAyu6__initZ@Base 13 + _D13TypeInfo_xAyw6__initZ@Base 14.2 + _D13TypeInfo_xG2m6__initZ@Base 13 + _D13TypeInfo_xG3m6__initZ@Base 13 + _D13TypeInfo_xG4a6__initZ@Base 13 + _D13TypeInfo_xG4m6__initZ@Base 13 + _D13TypeInfo_xG8h6__initZ@Base 13 + _D140TypeInfo_S3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw6__initZ@Base 13 + _D140TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl6__initZ@Base 13 + _D142TypeInfo_S3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy6__initZ@Base 13 + _D144TypeInfo_S3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo6__initZ@Base 13 + _D14TypeInfo_Array6__initZ@Base 13 + _D14TypeInfo_Array6__vtblZ@Base 13 + _D14TypeInfo_Array7__ClassZ@Base 13 + _D14TypeInfo_AxAya6__initZ@Base 13 + _D14TypeInfo_Class6__initZ@Base 13 + _D14TypeInfo_Class6__vtblZ@Base 13 + _D14TypeInfo_Class7__ClassZ@Base 13 + _D14TypeInfo_Const6__initZ@Base 13 + _D14TypeInfo_Const6__vtblZ@Base 13 + _D14TypeInfo_Const7__ClassZ@Base 13 + _D14TypeInfo_FPvZv6__initZ@Base 13 + _D14TypeInfo_HAxam6__initZ@Base 13 + _D14TypeInfo_Inout6__initZ@Base 13 + _D14TypeInfo_Inout6__vtblZ@Base 13 + _D14TypeInfo_Inout7__ClassZ@Base 13 + _D14TypeInfo_Tuple6__initZ@Base 13 + _D14TypeInfo_Tuple6__vtblZ@Base 13 + _D14TypeInfo_Tuple7__ClassZ@Base 13 + _D14TypeInfo_xAAya6__initZ@Base 13 + _D14TypeInfo_xDFZv6__initZ@Base 13 + _D14TypeInfo_xG12a6__initZ@Base 13 + _D14TypeInfo_xG48a6__initZ@Base 13 + _D152TypeInfo_S3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg6__initZ@Base 13 + _D155TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl14ConstructState6__initZ@Base 13 + _D155TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl14ConstructState6__initZ@Base 13 + _D155TypeInfo_S3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D155TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D155TypeInfo_S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl14ConstructState6__initZ@Base 13 + _D155TypeInfo_S3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result6__initZ@Base 13 + _D156TypeInfo_S3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result6__initZ@Base 13 + _D156TypeInfo_xS3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl14ConstructState6__initZ@Base 13 + _D156TypeInfo_xS3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl14ConstructState6__initZ@Base 13 + _D156TypeInfo_xS3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D156TypeInfo_xS3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D156TypeInfo_xS3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_G3S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_G3S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_G3S3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_G3S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_G3S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl14ConstructState6__initZ@Base 13 + _D157TypeInfo_S3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd6__initZ@Base 13 + _D157TypeInfo_S3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd6__initZ@Base 13 + _D157TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6__initZ@Base 13 + _D158TypeInfo_xG3S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl14ConstructState6__initZ@Base 13 + _D158TypeInfo_xG3S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl14ConstructState6__initZ@Base 13 + _D158TypeInfo_xG3S3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D158TypeInfo_xG3S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D158TypeInfo_xG3S3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl14ConstructState6__initZ@Base 13 + _D159TypeInfo_S3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc6__initZ@Base 13 + _D159TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp6__initZ@Base 13 + _D15TypeInfo_HAxaxm6__initZ@Base 13 + _D15TypeInfo_HAyaQd6__initZ@Base 13 + _D15TypeInfo_PFPvZv6__initZ@Base 13 + _D15TypeInfo_Shared6__initZ@Base 13 + _D15TypeInfo_Shared6__vtblZ@Base 13 + _D15TypeInfo_Shared7__ClassZ@Base 13 + _D15TypeInfo_Struct6__initZ@Base 13 + _D15TypeInfo_Struct6__vtblZ@Base 13 + _D15TypeInfo_Struct7__ClassZ@Base 13 + _D15TypeInfo_Vector6__initZ@Base 13 + _D15TypeInfo_Vector6__vtblZ@Base 13 + _D15TypeInfo_Vector7__ClassZ@Base 13 + _D15TypeInfo_xHAxam6__initZ@Base 13 + _D160TypeInfo_xS3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp6__initZ@Base 13 + _D161TypeInfo_S3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6__initZ@Base 14 + _D163TypeInfo_S3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh6__initZ@Base 13 + _D164TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D164TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D164TypeInfo_S3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__initZ@Base 13 + _D164TypeInfo_S3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__initZ@Base 13 + _D165TypeInfo_S3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc5State6__initZ@Base 13 + _D167TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn6__initZ@Base 13 + _D167TypeInfo_S3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl6__initZ@Base 13 + _D167TypeInfo_S3std9algorithm7sorting__T11TimSortImplSQBn3uni__T13InversionListTSQCoQBb8GcPolicyZQBh8sanitizeMFNfZ9__lambda2TSQEhQCu__TQCtTQChZQDb__T9IntervalsTAkZQoZ5Slice6__initZ@Base 13 + _D16TypeInfo_HAyaAQe6__initZ@Base 13 + _D16TypeInfo_HPxvAya6__initZ@Base 13 + _D16TypeInfo_Pointer6__initZ@Base 13 + _D16TypeInfo_Pointer6__vtblZ@Base 13 + _D16TypeInfo_Pointer7__ClassZ@Base 13 + _D16TypeInfo_xPFPvZv6__initZ@Base 13 + _D175TypeInfo_S3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf6__initZ@Base 13 + _D177TypeInfo_S3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D177TypeInfo_S3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D177TypeInfo_S3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D178TypeInfo_S3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result6__initZ@Base 13 + _D179TypeInfo_S3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt6__initZ@Base 13 + _D17TypeInfo_Delegate6__initZ@Base 13 + _D17TypeInfo_Delegate6__vtblZ@Base 13 + _D17TypeInfo_Delegate7__ClassZ@Base 13 + _D17TypeInfo_Function6__initZ@Base 13 + _D17TypeInfo_Function6__vtblZ@Base 13 + _D17TypeInfo_Function7__ClassZ@Base 13 + _D17TypeInfo_HAyaxAya6__initZ@Base 13 + _D17TypeInfo_xHAyaAya6__initZ@Base 13 + _D182TypeInfo_S3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa6__initZ@Base 13 + _D183TypeInfo_S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn14ConstructState6__initZ@Base 13 + _D184TypeInfo_S3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter6__initZ@Base 13 + _D184TypeInfo_xS3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn14ConstructState6__initZ@Base 13 + _D185TypeInfo_G4S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn14ConstructState6__initZ@Base 13 + _D185TypeInfo_S3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6__initZ@Base 13 + _D185TypeInfo_S3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6__initZ@Base 13 + _D185TypeInfo_S3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf6__initZ@Base 13 + _D185TypeInfo_xS3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter6__initZ@Base 13 + _D186TypeInfo_xG4S3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn14ConstructState6__initZ@Base 13 + _D188TypeInfo_S3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D18TypeInfo_FNbMxPvZm6__initZ@Base 14 + _D18TypeInfo_HAyaxAAya6__initZ@Base 13 + _D18TypeInfo_Interface6__initZ@Base 13 + _D18TypeInfo_Interface6__vtblZ@Base 13 + _D18TypeInfo_Interface7__ClassZ@Base 13 + _D18TypeInfo_Invariant6__initZ@Base 13 + _D18TypeInfo_Invariant6__vtblZ@Base 13 + _D18TypeInfo_Invariant7__ClassZ@Base 13 + _D18TypeInfo_xC6Object6__initZ@Base 13 + _D18TypeInfo_xHAyaAAya6__initZ@Base 13 + _D190TypeInfo_S3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D191TypeInfo_xS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D192TypeInfo_AxS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D192TypeInfo_PxS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D192TypeInfo_S3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D192TypeInfo_xAS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D192TypeInfo_xPS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D199TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd6__initZ@Base 13 + _D19TypeInfo_DFNbMxPvZm6__initZ@Base 14 + _D202TypeInfo_S3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt6__initZ@Base 13 + _D205TypeInfo_S3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj6__initZ@Base 13 + _D208TypeInfo_S3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt5State6__initZ@Base 13 + _D20TypeInfo_S2rt3aaA2AA6__initZ@Base 13 + _D20TypeInfo_S6object2AA6__initZ@Base 13 + _D20TypeInfo_StaticArray6__initZ@Base 13 + _D20TypeInfo_StaticArray6__vtblZ@Base 13 + _D20TypeInfo_StaticArray7__ClassZ@Base 13 + _D20TypeInfo_xDFNbMxPvZm6__initZ@Base 14 + _D22TypeInfo_FNbC6ObjectZv6__initZ@Base 13 + _D22TypeInfo_S2rt3aaA4Impl6__initZ@Base 13 + _D230TypeInfo_S3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt6__initZ@Base 13 + _D231TypeInfo_S3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy6__initZ@Base 13 + _D23TypeInfo_DFNbC6ObjectZv6__initZ@Base 13 + _D23TypeInfo_E3std3uni4Mode6__initZ@Base 13 + _D23TypeInfo_S2rt3aaA5Range6__initZ@Base 13 + _D249TypeInfo_S3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result6__initZ@Base 13 + _D24TypeInfo_E3std6system2OS6__initZ@Base 13 + _D24TypeInfo_S2rt3aaA6Bucket6__initZ@Base 13 + _D24TypeInfo_S2rt5tlsgc4Data6__initZ@Base 13 + _D24TypeInfo_S3std4uuid4UUID6__initZ@Base 13 + _D24TypeInfo_xDFNbC6ObjectZv6__initZ@Base 13 + _D250TypeInfo_S3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq6__initZ@Base 13 + _D25TypeInfo_AssociativeArray6__initZ@Base 13 + _D25TypeInfo_AssociativeArray6__vtblZ@Base 13 + _D25TypeInfo_AssociativeArray7__ClassZ@Base 13 + _D25TypeInfo_AxDFNbC6ObjectZv6__initZ@Base 13 + _D25TypeInfo_E3std6system3ISA6__initZ@Base 14 + _D25TypeInfo_S3etc1c4curl3_N26__initZ@Base 13 + _D25TypeInfo_S3std5stdio4File6__initZ@Base 13 + _D25TypeInfo_S4core6memory2GC6__initZ@Base 13 + _D25TypeInfo_S6object7AARange6__initZ@Base 13 + _D25TypeInfo_xADFNbC6ObjectZv6__initZ@Base 13 + _D25TypeInfo_xS2rt3aaA6Bucket6__initZ@Base 13 + _D261TypeInfo_S4core8internal5array7casting__T11__ArrayCastTvTS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4NodeZQHqFNaNiNeNkMAvZ5Array6__initZ@Base 13 + _D26TypeInfo_AxS2rt3aaA6Bucket6__initZ@Base 13 + _D26TypeInfo_S2rt6dmain25CArgs6__initZ@Base 13 + _D26TypeInfo_S3etc1c4curl4_N286__initZ@Base 13 + _D26TypeInfo_S3etc1c4curl4_N316__initZ@Base 13 + _D26TypeInfo_S3std3uni7unicode6__initZ@Base 13 + _D26TypeInfo_S3std5stdio5lines6__initZ@Base 13 + _D26TypeInfo_S3std8typecons2No6__initZ@Base 13 + _D26TypeInfo_xAS2rt3aaA6Bucket6__initZ@Base 13 + _D26TypeInfo_xS3std5stdio4File6__initZ@Base 13 + _D27TypeInfo_E3etc1c4curl5CurlM6__initZ@Base 13 + _D27TypeInfo_E3std6digest5Order6__initZ@Base 13 + _D27TypeInfo_E3std8encoding3BOM6__initZ@Base 13 + _D27TypeInfo_S3std3net4curl3FTP6__initZ@Base 13 + _D27TypeInfo_S3std3uni8GcPolicy6__initZ@Base 13 + _D27TypeInfo_S3std3uni8Grapheme6__initZ@Base 13 + _D27TypeInfo_S3std7process4Pipe6__initZ@Base 13 + _D27TypeInfo_S3std7sumtype4This6__initZ@Base 13 + _D27TypeInfo_S3std8typecons3Yes6__initZ@Base 13 + _D27TypeInfo_S4core6int1284Cent6__initZ@Base 13 + _D27TypeInfo_S6object9Interface6__initZ@Base 13 + _D28TypeInfo_C3std6digest6Digest6__initZ@Base 13 + _D28TypeInfo_E2rt3aaA4Impl5Flags6__initZ@Base 13 + _D28TypeInfo_E3std3csv9Malformed6__initZ@Base 13 + _D28TypeInfo_E3std4file8SpanMode6__initZ@Base 13 + _D28TypeInfo_E3std4json8JSONType6__initZ@Base 13 + _D28TypeInfo_E3std6getopt6config6__initZ@Base 13 + _D28TypeInfo_E3std6system6Endian6__initZ@Base 13 + _D28TypeInfo_S3std3net4curl4Curl6__initZ@Base 13 + _D28TypeInfo_S3std3net4curl4HTTP6__initZ@Base 13 + _D28TypeInfo_S3std3net4curl4SMTP6__initZ@Base 13 + _D28TypeInfo_S3std4file8DirEntry6__initZ@Base 13 + _D28TypeInfo_S3std6bigint6BigInt6__initZ@Base 13 + _D28TypeInfo_S3std6digest2md3MD56__initZ@Base 13 + _D28TypeInfo_S3std6getopt6Option6__initZ@Base 13 + _D28TypeInfo_S3std6int1286Int1286__initZ@Base 13 + _D28TypeInfo_S3std6socket6Linger6__initZ@Base 13 + _D29TypeInfo_AS3std4file8DirEntry6__initZ@Base 13 + _D29TypeInfo_E3etc1c4curl7CurlFtp6__initZ@Base 13 + _D29TypeInfo_E3etc1c4curl7CurlMsg6__initZ@Base 13 + _D29TypeInfo_E3etc1c4curl7CurlVer6__initZ@Base 13 + _D29TypeInfo_E3std5stdio8LockType6__initZ@Base 13 + _D29TypeInfo_S2rt9profilegc5Entry6__initZ@Base 13 + _D29TypeInfo_S3etc1c4curl7CURLMsg6__initZ@Base 13 + _D29TypeInfo_S3std4json9JSONValue6__initZ@Base 13 + _D29TypeInfo_S3std5range8NullSink6__initZ@Base 13 + _D29TypeInfo_S3std6socket7TimeVal6__initZ@Base 13 + _D29TypeInfo_S3std7process6Config6__initZ@Base 13 + _D29TypeInfo_S4core4time8Duration6__initZ@Base 13 + _D29TypeInfo_S4core5bitop7Split646__initZ@Base 13 + _D29TypeInfo_S4core7runtime5CArgs6__initZ@Base 13 + _D29TypeInfo_S6object10ModuleInfo6__initZ@Base 13 + _D29TypeInfo_xE2rt3aaA4Impl5Flags6__initZ@Base 13 + _D29TypeInfo_xE3std4file8SpanMode6__initZ@Base 13 + _D29TypeInfo_xS3std3net4curl4Curl6__initZ@Base 13 + _D29TypeInfo_xS3std4file8DirEntry6__initZ@Base 13 + _D29TypeInfo_xS3std6getopt6Option6__initZ@Base 13 + _D2rt3aaA10allocEntryFMxPSQyQx4ImplMxPvZPv@Base 13 + _D2rt3aaA11__moduleRefZ@Base 13 + _D2rt3aaA11fakeEntryTIFNbKSQzQy4ImplxC8TypeInfoxQlZ13tiMangledNameyAa@Base 13 + _D2rt3aaA11fakeEntryTIFNbKSQzQy4ImplxC8TypeInfoxQlZC15TypeInfo_Struct@Base 13 + _D2rt3aaA11rtinfoEntryFNaNbKSQBbQBb4ImplPymQdPmmZPyv@Base 13 + _D2rt3aaA12__ModuleInfoZ@Base 13 + _D2rt3aaA12allocBucketsFNaNbNemZASQBgQBg6Bucket@Base 13 + _D2rt3aaA2AA5emptyMxFNaNbNdNiNfZb@Base 14 + _D2rt3aaA2AA6__initZ@Base 13 + _D2rt3aaA3mixFNaNbNiNfmZm@Base 13 + _D2rt3aaA4Impl11__xopEqualsMxFKxSQBfQBfQBeZb@Base 13 + _D2rt3aaA4Impl14findSlotInsertMNgFNaNbNimZPNgSQBsQBs6Bucket@Base 13 + _D2rt3aaA4Impl14findSlotLookupMNgFmMxPvMxC8TypeInfoZPNgSQCcQCc6Bucket@Base 13 + _D2rt3aaA4Impl3dimMxFNaNbNdNiNfZm@Base 13 + _D2rt3aaA4Impl4growMFNaNbMxC8TypeInfoZv@Base 13 + _D2rt3aaA4Impl4maskMxFNaNbNdNiZm@Base 13 + _D2rt3aaA4Impl5clearMFNaNbNeZv@Base 14 + _D2rt3aaA4Impl6__ctorMFNbNcMxC25TypeInfo_AssociativeArraymZSQCgQCgQCf@Base 13 + _D2rt3aaA4Impl6__initZ@Base 13 + _D2rt3aaA4Impl6lengthMxFNaNbNdNiNfZm@Base 14 + _D2rt3aaA4Impl6resizeMFNaNbmZv@Base 13 + _D2rt3aaA4Impl6shrinkMFNaNbMxC8TypeInfoZv@Base 13 + _D2rt3aaA4Impl9__xtoHashFNbNeKxSQBeQBeQBdZm@Base 13 + _D2rt3aaA5Range6__initZ@Base 13 + _D2rt3aaA6Bucket5emptyMxFNaNbNdNiZb@Base 13 + _D2rt3aaA6Bucket6__initZ@Base 13 + _D2rt3aaA6Bucket6filledMxFNaNbNdNiNfZb@Base 13 + _D2rt3aaA6Bucket7deletedMxFNaNbNdNiZb@Base 13 + _D2rt3aaA6talignFNaNbNiNfmmZm@Base 13 + _D2rt3aaA7hasDtorFNaNbxC8TypeInfoZb@Base 13 + _D2rt3aaA8calcHashFNbMxPvMxPSQBbQBb4ImplZm@Base 14 + _D2rt3aaA8nextpow2FNaNbNixmZm@Base 13 + _D2rt3aaA9entryDtorFPvxC15TypeInfo_StructZv@Base 13 + _D2rt3aaA9getRTInfoFNaNbxC8TypeInfoZPyv@Base 13 + _D2rt3adi11__moduleRefZ@Base 13 + _D2rt3adi12__ModuleInfoZ@Base 13 + _D2rt3deh11__moduleRefZ@Base 13 + _D2rt3deh12__ModuleInfoZ@Base 13 + _D2rt4util7utility10safeAssertFNbNiNfbMAyaMQemZv@Base 13 + _D2rt4util7utility11__moduleRefZ@Base 13 + _D2rt4util7utility12__ModuleInfoZ@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTdZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTdZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTdZQByZm@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTeZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTeZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTeZQByZm@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm11__xopEqualsMxFKxSQCaQCaQBy__TQBtTfZQBzZb@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D2rt4util7utility__T8_ComplexTfZQm9__xtoHashFNbNeKxSQBzQBzQBx__TQBsTfZQByZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_c8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_j8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_n11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n4swapMxFNaNbNiNfPvQcZv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n5tsizeMxFNaNbNdNiNfZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_n6equalsMxFNaNbNiNfIPvIQdZb@Base 13 + _D2rt4util8typeinfo10TypeInfo_n6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D2rt4util8typeinfo10TypeInfo_n7compareMxFNaNbNiNfIPvIQdZi@Base 13 + _D2rt4util8typeinfo10TypeInfo_n7getHashMxFNaNbNiNfMxPvZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_n8toStringMxFNaNbNiNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_o8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_p8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_q8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_r8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo10TypeInfo_v5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo10TypeInfo_v7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo10TypeInfo_v8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ac8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Aj8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ao8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ap8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Aq8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Ar8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo11TypeInfo_Av4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo11TypeInfo_Av8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo11__moduleRefZ@Base 13 + _D2rt4util8typeinfo12TypeInfo_Aya8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo12__ModuleInfoZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe11initializerMxFNaNbNeZ1cyG1EQEeQEeQCrQCm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility16__c_complex_realTQBiZQCe8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf11initializerMxFNaNbNeZ1cyG1EQEfQEfQCsQCn@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility17__c_complex_floatTQBjZQCf8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg11initializerMxFNaNbNeZ1cyG1EQEgQEgQCtQCo@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTEQBnQBn7utility18__c_complex_doubleTQBkZQCg8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw11initializerMxFNaNbNeZ1cyG1a@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTaThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTbThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw11initializerMxFNaNbNeZ1cyG1d@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTdTdZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw11initializerMxFNaNbNeZ1cyG1e@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTeTeZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw11initializerMxFNaNbNeZ1cyG1f@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw5flagsMxFNaNbNdNiNeZk@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTfTfZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTgThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericThThZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTiTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTkTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTlTmZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTmTmZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTsTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw4swapMxFNaNbNePvQcZv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw5tsizeMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6rtInfoMxFNaNbNdNiNeZPyv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw6talignMxFNaNbNdNiNeZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw7getHashMxFNaNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTtTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw11initializerMxFNaNbNeZ1cyG1u@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTuTtZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw11initializerMxFNaNbNeZ1cyG1w@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw11initializerMxFNaNbNiNeZAxv@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw6__initZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw6__vtblZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw7__ClassZ@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw7compareMxFNaNbNeIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T15TypeInfoGenericTwTkZQw8toStringMxFNaNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility16__c_complex_realTQBiZQCj8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility17__c_complex_floatTQBjZQCk8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTEQBsQBs7utility18__c_complex_doubleTQBkZQCl8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTaThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTbThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTdTdZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTeTeZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTfTfZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTgThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericThThZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTiTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTkTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTlTmZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTmTmZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTsTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTtTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTuTtZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTwTkZQBb8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTxaTxaZQBd8toStringMxFNbNfZAya@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6__initZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6__vtblZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd6equalsMxFIPvIQdZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7__ClassZ@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7compareMxFIPvIQdZi@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd7getHashMxFNbNeMxPvZm@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd8opEqualsMxFNbNfxC6ObjectZb@Base 13 + _D2rt4util8typeinfo__T20TypeInfoArrayGenericTyaTyaZQBd8toStringMxFNbNfZAya@Base 13 + _D2rt5cast_11__moduleRefZ@Base 13 + _D2rt5cast_12__ModuleInfoZ@Base 13 + _D2rt5cast_18areClassInfosEqualFNaNbNiNfMxC14TypeInfo_ClassMxQtZb@Base 13 + _D2rt5minfo11ModuleGroup11__xopEqualsMxFKxSQBpQBpQBmZb@Base 13 + _D2rt5minfo11ModuleGroup11runTlsCtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup11runTlsDtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup12genCyclePathMFNbmmAAiZAm@Base 13 + _D2rt5minfo11ModuleGroup4freeMFZv@Base 13 + _D2rt5minfo11ModuleGroup6__ctorMFNbNcNiAyPS6object10ModuleInfoZSQCkQCkQCh@Base 13 + _D2rt5minfo11ModuleGroup6__initZ@Base 13 + _D2rt5minfo11ModuleGroup7modulesMxFNbNdNiZAyPS6object10ModuleInfo@Base 13 + _D2rt5minfo11ModuleGroup8runCtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup8runDtorsMFZv@Base 13 + _D2rt5minfo11ModuleGroup9__xtoHashFNbNeKxSQBoQBoQBlZm@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ8findDepsMFNbmPmZ10stackFrame6__initZ@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZv@Base 13 + _D2rt5minfo11ModuleGroup9sortCtorsMFZv@Base 13 + _D2rt5minfo11__moduleRefZ@Base 13 + _D2rt5minfo12__ModuleInfoZ@Base 13 + _D2rt5minfo17moduleinfos_applyFMDFyPS6object10ModuleInfoZiZi@Base 13 + _D2rt5tlsgc11__moduleRefZ@Base 13 + _D2rt5tlsgc12__ModuleInfoZ@Base 13 + _D2rt5tlsgc14processGCMarksFNbPvMDFNbQhZiZv@Base 13 + _D2rt5tlsgc4Data6__initZ@Base 13 + _D2rt5tlsgc4initFNbNiZPv@Base 13 + _D2rt5tlsgc4scanFNbPvMDFNbQhQjZvZv@Base 13 + _D2rt5tlsgc7destroyFNbNiPvZv@Base 13 + _D2rt6aApply11__moduleRefZ@Base 13 + _D2rt6aApply12__ModuleInfoZ@Base 13 + _D2rt6config11__moduleRefZ@Base 13 + _D2rt6config12__ModuleInfoZ@Base 13 + _D2rt6config13rt_linkOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6config15rt_configOptionFNbNiAyaMDFNbNiQkZQnbZQr@Base 13 + _D2rt6config16rt_cmdlineOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6config16rt_envvarsOptionFNbNiAyaMDFNbNiQkZQnZQq@Base 13 + _D2rt6dmain210_initCountOm@Base 13 + _D2rt6dmain211__moduleRefZ@Base 13 + _D2rt6dmain212__ModuleInfoZ@Base 13 + _D2rt6dmain212traceHandlerPFPvZC6object9Throwable9TraceInfo@Base 13 + _D2rt6dmain214UnitTestResult6__initZ@Base 13 + _D2rt6dmain215formatThrowableFC6object9ThrowableMDFNbIAaZvZv@Base 13 + _D2rt6dmain216traceDeallocatorPFNbC6object9Throwable9TraceInfoZv@Base 13 + _D2rt6dmain221parseExceptionOptionsFNbNiZb@Base 13 + _D2rt6dmain25CArgs6__initZ@Base 13 + _D2rt6dmain26_cArgsSQsQr5CArgs@Base 13 + _D2rt6dmain27_d_argsAAya@Base 13 + _D2rt6memory11__moduleRefZ@Base 13 + _D2rt6memory12__ModuleInfoZ@Base 13 + _D2rt6memory16initStaticDataGCFZv@Base 13 + _D2rt7aApplyR11__moduleRefZ@Base 13 + _D2rt7aApplyR12__ModuleInfoZ@Base 13 + _D2rt7ehalloc11__moduleRefZ@Base 13 + _D2rt7ehalloc12__ModuleInfoZ@Base 13 + _D2rt8arraycat11__moduleRefZ@Base 13 + _D2rt8arraycat12__ModuleInfoZ@Base 13 + _D2rt8lifetime10__arrayPadFNaNbNemxC8TypeInfoZm@Base 13 + _D2rt8lifetime10__blkcacheFNbNdZPS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime11__moduleRefZ@Base 13 + _D2rt8lifetime11hasPostblitFNaNbIC8TypeInfoZb@Base 13 + _D2rt8lifetime11newCapacityFmmZm@Base 13 + _D2rt8lifetime12__ModuleInfoZ@Base 13 + _D2rt8lifetime12__arrayAllocFNaNbmMxC8TypeInfoxQlZS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime12__arrayAllocFmKS4core6memory8BlkInfo_MxC8TypeInfoxQlZQBm@Base 13 + _D2rt8lifetime12__doPostblitFPvmxC8TypeInfoZv@Base 13 + _D2rt8lifetime12__getBlkInfoFNbPvZPS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime12__nextBlkIdxi@Base 13 + _D2rt8lifetime14collectHandlerPFC6ObjectZb@Base 13 + _D2rt8lifetime14finalize_arrayFPvmxC15TypeInfo_StructZv@Base 13 + _D2rt8lifetime14processGCMarksFNbPS4core6memory8BlkInfo_MDFNbPvZiZv@Base 13 + _D2rt8lifetime15finalize_array2FNbPvmZv@Base 13 + _D2rt8lifetime15finalize_structFNbPvmZv@Base 13 + _D2rt8lifetime18__arrayAllocLengthFNaNbKS4core6memory8BlkInfo_xC8TypeInfoZm@Base 13 + _D2rt8lifetime18__blkcache_storagePS4core6memory8BlkInfo_@Base 13 + _D2rt8lifetime18structTypeInfoSizeFNaNbNixC8TypeInfoZm@Base 13 + _D2rt8lifetime19_d_arraysetlengthiTUxC8TypeInfomPAvZ12doInitializeFNaNbNiPvQcxAvZv@Base 13 + _D2rt8lifetime19_staticDtor_L487_C1FZv@Base 14 + _D2rt8lifetime20ArrayAllocLengthLock6__initZ@Base 13 + _D2rt8lifetime20ArrayAllocLengthLock6__vtblZ@Base 13 + _D2rt8lifetime20ArrayAllocLengthLock7__ClassZ@Base 13 + _D2rt8lifetime20__insertBlkInfoCacheFNbS4core6memory8BlkInfo_PQxZv@Base 13 + _D2rt8lifetime21__setArrayAllocLengthFNaNbKS4core6memory8BlkInfo_mbxC8TypeInfomZb@Base 13 + _D2rt8lifetime26hasArrayFinalizerInSegmentFNbPvmIAvZi@Base 13 + _D2rt8lifetime27hasStructFinalizerInSegmentFNbPvmIAvZi@Base 13 + _D2rt8lifetime9unqualifyFNaNbNiNkMNgC8TypeInfoZNgQn@Base 13 + _D2rt8monitor_10getMonitorFNaNbNiC6ObjectZPOSQBrQBr7Monitor@Base 13 + _D2rt8monitor_10setMonitorFNaNbNiC6ObjectPOSQBqQBq7MonitorZv@Base 13 + _D2rt8monitor_11__moduleRefZ@Base 13 + _D2rt8monitor_11unlockMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_12__ModuleInfoZ@Base 13 + _D2rt8monitor_12destroyMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_12disposeEventFNbPSQBfQBf7MonitorC6ObjectZv@Base 13 + _D2rt8monitor_13deleteMonitorFNbNiPSQBiQBi7MonitorZv@Base 13 + _D2rt8monitor_13ensureMonitorFNbC6ObjectZPOSQBqQBq7Monitor@Base 13 + _D2rt8monitor_4gmtxS4core3sys5posixQk5types15pthread_mutex_t@Base 13 + _D2rt8monitor_5gattrS4core3sys5posixQk5types19pthread_mutexattr_t@Base 13 + _D2rt8monitor_7Monitor11__xopEqualsMxFKxSQBnQBnQBhZb@Base 13 + _D2rt8monitor_7Monitor6__initZ@Base 13 + _D2rt8monitor_7Monitor9__xtoHashFNbNeKxSQBmQBmQBgZm@Base 13 + _D2rt8monitor_7monitorFNaNbNcNdNiNkMC6ObjectZOPSQBuQBu7Monitor@Base 13 + _D2rt8monitor_9initMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8monitor_9lockMutexFNbNiPS4core3sys5posixQk5types15pthread_mutex_tZv@Base 13 + _D2rt8sections11__moduleRefZ@Base 13 + _D2rt8sections12__ModuleInfoZ@Base 13 + _D2rt8sections20scanDataSegPreciselyFNbNiZ3errC6object5Error@Base 13 + _D2rt8sections20scanDataSegPreciselyFNbNiZb@Base 13 + _D2rt9critical_11__moduleRefZ@Base 13 + _D2rt9critical_11ensureMutexFNbPOSQBgQBg18D_CRITICAL_SECTIONZv@Base 13 + _D2rt9critical_12__ModuleInfoZ@Base 13 + _D2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D2rt9critical_3gcsOSQtQs18D_CRITICAL_SECTION@Base 13 + _D2rt9critical_4headOPSQvQu18D_CRITICAL_SECTION@Base 13 + _D2rt9profilegc10accumulateFNbNiAyakQeQgmZv@Base 13 + _D2rt9profilegc11__moduleRefZ@Base 13 + _D2rt9profilegc11logfilenameAya@Base 13 + _D2rt9profilegc12__ModuleInfoZ@Base 13 + _D2rt9profilegc15globalNewCountsS4core8internal9container7hashtab__T7HashTabTAxaTSQDcQDc5EntryZQBb@Base 13 + _D2rt9profilegc18_staticDtor_L94_C1FZ11__critsec20OPv@Base 14 + _D2rt9profilegc18_staticDtor_L94_C1FZv@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result11__xopEqualsMxFKxSQCqQCqQCjFZQBlZb@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result6__initZ@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result9__xtoHashFNbNeKxSQCpQCpQCiFZQBkZm@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result9qsort_cmpUNbNiMxPvMxQeZi@Base 14 + _D2rt9profilegc25_sharedStaticDtor_L116_C1FZv@Base 14 + _D2rt9profilegc5Entry6__initZ@Base 13 + _D2rt9profilegc6bufferAa@Base 13 + _D2rt9profilegc9newCountsS4core8internal9container7hashtab__T7HashTabTAxaTSQCvQCv5EntryZQBb@Base 13 + _D303TypeInfo_S3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr6__initZ@Base 13 + _D304TypeInfo_S3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs6__initZ@Base 13 + _D305TypeInfo_S3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt6__initZ@Base 13 + _D30TypeInfo_AC3std6socket7Address6__initZ@Base 13 + _D30TypeInfo_AxS3std4file8DirEntry6__initZ@Base 13 + _D30TypeInfo_AxS3std6getopt6Option6__initZ@Base 13 + _D30TypeInfo_E3etc1c4curl8CurlAuth6__initZ@Base 13 + _D30TypeInfo_E3etc1c4curl8CurlForm6__initZ@Base 13 + _D30TypeInfo_E3etc1c4curl8CurlInfo6__initZ@Base 13 + _D30TypeInfo_E3etc1c4curl8CurlPoll6__initZ@Base 13 + _D30TypeInfo_E3etc1c4curl8CurlSeek6__initZ@Base 13 + _D30TypeInfo_E3std6socket8socket_t6__initZ@Base 13 + _D30TypeInfo_E3std6traits8Variadic6__initZ@Base 13 + _D30TypeInfo_E3std8compiler6Vendor6__initZ@Base 13 + _D30TypeInfo_E4core4time9ClockType6__initZ@Base 13 + _D30TypeInfo_S2rt8monitor_7Monitor6__initZ@Base 13 + _D30TypeInfo_S3etc1c4zlib8z_stream6__initZ@Base 13 + _D30TypeInfo_S3std5stdio4File4Impl6__initZ@Base 13 + _D30TypeInfo_S3std6format8NoOpSink6__initZ@Base 13 + _D30TypeInfo_S4core5bitop8BitRange6__initZ@Base 13 + _D30TypeInfo_xAS3std4file8DirEntry6__initZ@Base 13 + _D30TypeInfo_xAS3std6getopt6Option6__initZ@Base 13 + _D30TypeInfo_xS2rt9profilegc5Entry6__initZ@Base 13 + _D30TypeInfo_xS3std4json9JSONValue6__initZ@Base 13 + _D30TypeInfo_yS6object10ModuleInfo6__initZ@Base 13 + _D31TypeInfo_C3gcc3deh11CxxTypeInfo6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlError6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlIoCmd6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlPause6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlProto6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlProxy6__initZ@Base 13 + _D31TypeInfo_E3etc1c4curl9CurlRedir6__initZ@Base 13 + _D31TypeInfo_E3std7process8Redirect6__initZ@Base 13 + _D31TypeInfo_PyS6object10ModuleInfo6__initZ@Base 13 + _D31TypeInfo_S3etc1c4zlib9gz_header6__initZ@Base 13 + _D31TypeInfo_S3gcc8sections3elf3DSO6__initZ@Base 13 + _D31TypeInfo_S3std10checkedint4Warn6__initZ@Base 13 + _D31TypeInfo_S3std11concurrency3Tid6__initZ@Base 13 + _D31TypeInfo_S3std3net4curl7CurlAPI6__initZ@Base 13 + _D31TypeInfo_S3std8typecons7Ternary6__initZ@Base 13 + _D31TypeInfo_S4core5cpuid9CacheInfo6__initZ@Base 13 + _D31TypeInfo_S4core6memory2GC5Stats6__initZ@Base 13 + _D31TypeInfo_S4core6memory8BlkInfo_6__initZ@Base 13 + _D31TypeInfo_S4core7runtime7Runtime6__initZ@Base 13 + _D31TypeInfo_S4core8demangle6Buffer6__initZ@Base 14 + _D31TypeInfo_xS3std5stdio4File4Impl6__initZ@Base 13 + _D31TypeInfo_yPS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_AS3std11concurrency3Tid6__initZ@Base 13 + _D32TypeInfo_AyPS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_C6object6Object7Monitor6__initZ@Base 13 + _D32TypeInfo_E3std3uni12TransformRes6__initZ@Base 13 + _D32TypeInfo_E3std4json11JSONOptions6__initZ@Base 13 + _D32TypeInfo_E3std4uuid4UUID7Variant6__initZ@Base 13 + _D32TypeInfo_E3std4uuid4UUID7Version6__initZ@Base 13 + _D32TypeInfo_E3std5ascii10LetterCase6__initZ@Base 13 + _D32TypeInfo_PxS3std5stdio4File4Impl6__initZ@Base 13 + _D32TypeInfo_S2rt5minfo11ModuleGroup6__initZ@Base 13 + _D32TypeInfo_S3std10checkedint5Abort6__initZ@Base 13 + _D32TypeInfo_S3std10checkedint5Throw6__initZ@Base 13 + _D32TypeInfo_S3std3net4curl3FTP4Impl6__initZ@Base 13 + _D32TypeInfo_S3std3uni7unicode5block6__initZ@Base 13 + _D32TypeInfo_S3std3uni__T5StackTkZQj6__initZ@Base 13 + _D32TypeInfo_S3std5stdio10ChunksImpl6__initZ@Base 13 + _D32TypeInfo_S3std5stdio10LockedFile6__initZ@Base 13 + _D32TypeInfo_S3std8bitmanip8BitArray6__initZ@Base 13 + _D32TypeInfo_S4core2gc6config6Config6__initZ@Base 13 + _D32TypeInfo_S4core4stdc4fenv6fenv_t6__initZ@Base 13 + _D32TypeInfo_S4core4sync5event5Event6__initZ@Base 13 + _D32TypeInfo_S4core8demangle7NoHooks6__initZ@Base 13 + _D32TypeInfo_S6object13__va_list_tag6__initZ@Base 13 + _D32TypeInfo_xE3std7process8Redirect6__initZ@Base 13 + _D32TypeInfo_xPS3std5stdio4File4Impl6__initZ@Base 13 + _D32TypeInfo_xPyS6object10ModuleInfo6__initZ@Base 13 + _D32TypeInfo_xS3gcc8sections3elf3DSO6__initZ@Base 13 + _D32TypeInfo_xS3std11concurrency3Tid6__initZ@Base 13 + _D32TypeInfo_xS4core8demangle6Buffer6__initZ@Base 14 + _D32TypeInfo_yS4core5cpuid9CacheInfo6__initZ@Base 13 + _D33TypeInfo_AxPyS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlFtpSSL6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlGlobal6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlKHStat6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlKHType6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlOption6__initZ@Base 13 + _D33TypeInfo_E3etc1c4curl10CurlUseSSL6__initZ@Base 13 + _D33TypeInfo_E3std3uni13GraphemeState6__initZ@Base 13 + _D33TypeInfo_E3std4zlib12HeaderFormat6__initZ@Base 13 + _D33TypeInfo_E3std5ascii11ControlChar6__initZ@Base 13 + _D33TypeInfo_E3std6mmfile6MmFile4Mode6__initZ@Base 13 + _D33TypeInfo_E3std6socket10SocketType6__initZ@Base 13 + _D33TypeInfo_E3std8encoding9AsciiChar6__initZ@Base 13 + _D33TypeInfo_E4core6memory2GC7BlkAttr6__initZ@Base 13 + _D33TypeInfo_E4core8demangle8TypeCtor6__initZ@Base 13 + _D33TypeInfo_E4core9attribute7mustuse6__initZ@Base 13 + _D33TypeInfo_HAyaS3std4json9JSONValue6__initZ@Base 14 + _D33TypeInfo_OC4core4sync5mutex5Mutex6__initZ@Base 13 + _D33TypeInfo_PxS3gcc8sections3elf3DSO6__initZ@Base 13 + _D33TypeInfo_S3etc1c4curl10curl_forms6__initZ@Base 13 + _D33TypeInfo_S3etc1c4curl10curl_khkey6__initZ@Base 13 + _D33TypeInfo_S3etc1c4curl10curl_slist6__initZ@Base 13 + _D33TypeInfo_S3std3net4curl4HTTP4Impl6__initZ@Base 13 + _D33TypeInfo_S3std3net4curl4SMTP4Impl6__initZ@Base 13 + _D33TypeInfo_S3std3uni13ReallocPolicy6__initZ@Base 13 + _D33TypeInfo_S3std3uni7unicode6script6__initZ@Base 13 + _D33TypeInfo_S3std8datetime4date4Date6__initZ@Base 13 + _D33TypeInfo_S4core2gc8registry5Entry6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Lib6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Rel6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf32_Sym6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Lib6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Rel6__initZ@Base 13 + _D33TypeInfo_S4core3sys3elf9Elf64_Sym6__initZ@Base 13 + _D33TypeInfo_S4core4stdc5stdio6fpos_t6__initZ@Base 13 + _D33TypeInfo_S4core4stdc6locale5lconv6__initZ@Base 13 + _D33TypeInfo_S4core4stdc6stdlib5div_t6__initZ@Base 13 + _D33TypeInfo_S4core8demangle8BufSlice6__initZ@Base 14.2 + _D33TypeInfo_S6object14OffsetTypeInfo6__initZ@Base 13 + _D33TypeInfo_xAPyS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_xAyPS6object10ModuleInfo6__initZ@Base 13 + _D33TypeInfo_xC6object6Object7Monitor6__initZ@Base 13 + _D33TypeInfo_xPS3gcc8sections3elf3DSO6__initZ@Base 13 + _D33TypeInfo_xS2rt5minfo11ModuleGroup6__initZ@Base 13 + _D33TypeInfo_xS3std3net4curl3FTP4Impl6__initZ@Base 13 + _D33TypeInfo_xS3std3uni__T5StackTkZQj6__initZ@Base 13 + _D33TypeInfo_xS4core4sync5event5Event6__initZ@Base 13 + _D33TypeInfo_xS4core8demangle7NoHooks6__initZ@Base 13 + _D345TypeInfo_S3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr6__initZ@Base 13 + _D34TypeInfo_AC3std3zip13ArchiveMember6__initZ@Base 13 + _D34TypeInfo_AE3std8encoding9AsciiChar6__initZ@Base 13 + _D34TypeInfo_C4core2gc11gcinterface2GC6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlCSelect6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlFormAdd6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlFtpAuth6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlIoError6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlKHMatch6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlMOption6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlRtspReq6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlSeekPos6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlShError6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlSshAuth6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlTlsAuth6__initZ@Base 13 + _D34TypeInfo_E3etc1c4curl11CurlVersion6__initZ@Base 13 + _D34TypeInfo_E3gcc6config11ThreadModel6__initZ@Base 13 + _D34TypeInfo_E3std4path13CaseSensitive6__initZ@Base 13 + _D34TypeInfo_E3std5range12SearchPolicy6__initZ@Base 13 + _D34TypeInfo_E3std6socket11SocketFlags6__initZ@Base 13 + _D34TypeInfo_E3std8datetime4date5Month6__initZ@Base 13 + _D34TypeInfo_HAyaxS3std4json9JSONValue6__initZ@Base 13 + _D34TypeInfo_HS3std11concurrency3Tidxb6__initZ@Base 13 + _D34TypeInfo_S3std10checkedint7WithNaN6__initZ@Base 13 + _D34TypeInfo_S3std3uni14MatcherConcept6__initZ@Base 13 + _D34TypeInfo_S3std6socket11AddressInfo6__initZ@Base 13 + _D34TypeInfo_S4core3sys5posix6direntQh6__initZ@Base 13 + _D34TypeInfo_S4core4stdc6stdlib6ldiv_t6__initZ@Base 13 + _D34TypeInfo_S4core4time12TickDuration6__initZ@Base 13 + _D34TypeInfo_S4core5cpuid11CpuFeatures6__initZ@Base 13 + _D34TypeInfo_xC3std3zip13ArchiveMember6__initZ@Base 13 + _D34TypeInfo_xE3std6socket10SocketType6__initZ@Base 13 + _D34TypeInfo_xHAyaS3std4json9JSONValue6__initZ@Base 13 + _D34TypeInfo_xHS3std11concurrency3Tidb6__initZ@Base 13 + _D34TypeInfo_xS3etc1c4curl10curl_slist6__initZ@Base 13 + _D34TypeInfo_xS3std3net4curl4HTTP4Impl6__initZ@Base 13 + _D35TypeInfo_AC4core6thread5fiber5Fiber6__initZ@Base 13 + _D35TypeInfo_AS3std6socket11AddressInfo6__initZ@Base 13 + _D35TypeInfo_AxC3std3zip13ArchiveMember6__initZ@Base 13 + _D35TypeInfo_C3std8typecons10Structural6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlFileType6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlLockData6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlReadFunc6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlShOption6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlSockType6__initZ@Base 13 + _D35TypeInfo_E3etc1c4curl12CurlTimeCond6__initZ@Base 13 + _D35TypeInfo_E3std11concurrency7MsgType6__initZ@Base 13 + _D35TypeInfo_E3std3net4curl4HTTP6Method6__initZ@Base 13 + _D35TypeInfo_E3std5regex8internal2ir2IR6__initZ@Base 13 + _D35TypeInfo_E3std5stdio13StdFileHandle6__initZ@Base 13 + _D35TypeInfo_E3std6logger4core8LogLevel6__initZ@Base 13 + _D35TypeInfo_E3std6socket12ProtocolType6__initZ@Base 13 + _D35TypeInfo_E3std6socket12SocketOption6__initZ@Base 13 + _D35TypeInfo_E3std7process6Config5Flags6__initZ@Base 13 + _D35TypeInfo_E3std8encoding10Latin1Char6__initZ@Base 13 + _D35TypeInfo_E3std8encoding10Latin2Char6__initZ@Base 13 + _D35TypeInfo_E4core6atomic11MemoryOrder6__initZ@Base 13 + _D35TypeInfo_HAyaS3std11concurrency3Tid6__initZ@Base 13 + _D35TypeInfo_PxS3etc1c4curl10curl_slist6__initZ@Base 13 + _D35TypeInfo_S3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D35TypeInfo_S3std10checkedint8Saturate6__initZ@Base 13 + _D35TypeInfo_S3std11concurrency7Message6__initZ@Base 13 + _D35TypeInfo_S3std3net4curl7CurlAPI3API6__initZ@Base 13 + _D35TypeInfo_S3std4json9JSONValue5Store6__initZ@Base 13 + _D35TypeInfo_S3std5range__T6RepeatTaZQk6__initZ@Base 13 + _D35TypeInfo_S3std6getopt12GetoptResult6__initZ@Base 13 + _D35TypeInfo_S3std6logger4core8MsgRange6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Ehdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Move6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Phdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Rela6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf32_Shdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Ehdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Move6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Phdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Rela6__initZ@Base 13 + _D35TypeInfo_S4core3sys3elf10Elf64_Shdr6__initZ@Base 13 + _D35TypeInfo_S4core3sys5linux7ifaddrsQi6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix3aio5aiocb6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix3grp5group6__initZ@Base 13 + _D35TypeInfo_S4core3sys5posix7termiosQi6__initZ@Base 13 + _D35TypeInfo_S4core4stdc5stdio8_IO_FILE6__initZ@Base 13 + _D35TypeInfo_S4core4stdc6stdlib7lldiv_t6__initZ@Base 13 + _D35TypeInfo_S4core8internal5newaa4Impl6__initZ@Base 14 + _D35TypeInfo_S4core9attribute9gnuAbiTag6__initZ@Base 13 + _D35TypeInfo_xAC3std3zip13ArchiveMember6__initZ@Base 13 + _D35TypeInfo_xPS3etc1c4curl10curl_slist6__initZ@Base 13 + _D35TypeInfo_xS3std6socket11AddressInfo6__initZ@Base 13 + _D36TypeInfo_AE3std8encoding10Latin1Char6__initZ@Base 13 + _D36TypeInfo_AE3std8encoding10Latin2Char6__initZ@Base 13 + _D36TypeInfo_AxS3std6socket11AddressInfo6__initZ@Base 13 + _D36TypeInfo_E3etc1c4curl13CurlFtpMethod6__initZ@Base 13 + _D36TypeInfo_E3etc1c4curl13CurlIpResolve6__initZ@Base 13 + _D36TypeInfo_E3std3net7isemail9EmailPart6__initZ@Base 13 + _D36TypeInfo_E3std5range14StoppingPolicy6__initZ@Base 13 + _D36TypeInfo_E3std6socket13AddressFamily6__initZ@Base 13 + _D36TypeInfo_E4core4stdc6config8__c_long6__initZ@Base 13 + _D36TypeInfo_FZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D36TypeInfo_HS3std11concurrency3TidAAya6__initZ@Base 13 + _D36TypeInfo_S2rt6dmain214UnitTestResult6__initZ@Base 13 + _D36TypeInfo_S3etc1c4curl13curl_certinfo6__initZ@Base 13 + _D36TypeInfo_S3etc1c4curl13curl_fileinfo6__initZ@Base 13 + _D36TypeInfo_S3etc1c4curl13curl_httppost6__initZ@Base 13 + _D36TypeInfo_S3etc1c4curl13curl_sockaddr6__initZ@Base 13 + _D36TypeInfo_S3gcc9backtrace10SymbolInfo6__initZ@Base 13 + _D36TypeInfo_S3std4file15DirIteratorImpl6__initZ@Base 13 + _D36TypeInfo_S3std5range__T6ChunksTAhZQl6__initZ@Base 13 + _D36TypeInfo_S3std5stdio14ReadlnAppender6__initZ@Base 13 + _D36TypeInfo_S3std6getopt13configuration6__initZ@Base 13 + _D36TypeInfo_S3std7process12ProcessPipes6__initZ@Base 13 + _D36TypeInfo_S4core2gc11gcinterface4Root6__initZ@Base 13 + _D36TypeInfo_S4core3sys3elf11Elf32_gptab6__initZ@Base 13 + _D36TypeInfo_S4core3sys3elf11Elf_Options6__initZ@Base 13 + _D36TypeInfo_S4core3sys5linux2fs7fsxattr6__initZ@Base 13 + _D36TypeInfo_S4core3sys5posix3pwd6passwd6__initZ@Base 13 + _D36TypeInfo_S4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D36TypeInfo_xAS3std6socket11AddressInfo6__initZ@Base 13 + _D36TypeInfo_xE3std11concurrency7MsgType6__initZ@Base 13 + _D36TypeInfo_xE3std3net4curl4HTTP6Method6__initZ@Base 13 + _D36TypeInfo_xE3std6logger4core8LogLevel6__initZ@Base 13 + _D36TypeInfo_xE3std6socket12ProtocolType6__initZ@Base 13 + _D36TypeInfo_xS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D36TypeInfo_xS3std11concurrency7Message6__initZ@Base 13 + _D37TypeInfo_C3std11concurrency9Scheduler6__initZ@Base 13 + _D37TypeInfo_C6object9Throwable9TraceInfo6__initZ@Base 13 + _D37TypeInfo_E3etc1c4curl14CurlLockAccess6__initZ@Base 13 + _D37TypeInfo_E3etc1c4curl14CurlSslVersion6__initZ@Base 13 + _D37TypeInfo_E3std3uni17NormalizationForm6__initZ@Base 13 + _D37TypeInfo_E3std3zip17CompressionMethod6__initZ@Base 13 + _D37TypeInfo_E3std4json16JSONFloatLiteral6__initZ@Base 13 + _D37TypeInfo_E3std4math9algebraic7PowType6__initZ@Base 13 + _D37TypeInfo_E3std6socket14SocketShutdown6__initZ@Base 13 + _D37TypeInfo_E3std7process13InternalError6__initZ@Base 13 + _D37TypeInfo_E3std8internal4test3uda4Attr6__initZ@Base 13 + _D37TypeInfo_E3std8typecons12TypeModifier6__initZ@Base 13 + _D37TypeInfo_E4core4stdc6config9__c_ulong6__initZ@Base 13 + _D37TypeInfo_E4core9attribute10standalone6__initZ@Base 14.2 + _D37TypeInfo_HAyaC3std3zip13ArchiveMember6__initZ@Base 13 + _D37TypeInfo_PFZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D37TypeInfo_PxS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D37TypeInfo_S3gcc8sections3elf9ThreadDSO6__initZ@Base 13 + _D37TypeInfo_S3gcc8sections3elf9tls_index6__initZ@Base 13 + _D37TypeInfo_S3std3net4curl12AutoProtocol6__initZ@Base 13 + _D37TypeInfo_S3std3uni17CodepointInterval6__initZ@Base 13 + _D37TypeInfo_S3std8datetime4date8DateTime6__initZ@Base 13 + _D37TypeInfo_S3std9container5dlist6DRange6__initZ@Base 13 + _D37TypeInfo_S4core2gc11gcinterface5Range6__initZ@Base 13 + _D37TypeInfo_S4core3sys3elf12Elf32_Verdef6__initZ@Base 13 + _D37TypeInfo_S4core3sys3elf12Elf64_Verdef6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix3aio7aiocb646__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix4poll6pollfd6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posix5fcntl5flock6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posixQk3uio5iovec6__initZ@Base 13 + _D37TypeInfo_S4core3sys5posixQk7utsnameQi6__initZ@Base 13 + _D37TypeInfo_S4core4stdc6wchar_9mbstate_t6__initZ@Base 13 + _D37TypeInfo_S4core6stdcpp4new_9nothrow_t6__initZ@Base 13 + _D37TypeInfo_S4core8internal5newaa6Bucket6__initZ@Base 14 + _D37TypeInfo_xE3std6socket13AddressFamily6__initZ@Base 13 + _D37TypeInfo_xPS3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D37TypeInfo_xS3std4file15DirIteratorImpl6__initZ@Base 13 + _D37TypeInfo_xS4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D38TypeInfo_AS3std3uni17CodepointInterval6__initZ@Base 13 + _D38TypeInfo_E3etc1c4curl15CurlClosePolicy6__initZ@Base 13 + _D38TypeInfo_E3etc1c4curl15CurlFnMAtchFunc6__initZ@Base 13 + _D38TypeInfo_E3etc1c4curl15CurlHttpVersion6__initZ@Base 13 + _D38TypeInfo_E3etc1c4curl15CurlNetRcOption6__initZ@Base 13 + _D38TypeInfo_E3std3net7isemail10AsciiToken6__initZ@Base 13 + _D38TypeInfo_E3std4math6traits10RealFormat6__initZ@Base 14.2 + _D38TypeInfo_E3std5stdio4File11Orientation6__initZ@Base 13 + _D38TypeInfo_E3std8datetime4date9DayOfWeek6__initZ@Base 13 + _D38TypeInfo_PxS4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D38TypeInfo_S3gcc3deh18CxaExceptionHeader6__initZ@Base 13 + _D38TypeInfo_S3std3zip10ZipArchive7Segment6__initZ@Base 13 + _D38TypeInfo_S3std4math8hardware9IeeeFlags6__initZ@Base 13 + _D38TypeInfo_S3std5stdio4File11ByChunkImpl6__initZ@Base 13 + _D38TypeInfo_S3std6digest6ripemd9RIPEMD1606__initZ@Base 13 + _D38TypeInfo_S3std7complex__T7ComplexTeZQl6__initZ@Base 13 + _D38TypeInfo_S3std7numeric__T6StrideTAfZQl6__initZ@Base 13 + _D38TypeInfo_S3std8datetime4date9TimeOfDay6__initZ@Base 13 + _D38TypeInfo_S4core2gc6config11PrettyBytes6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_RegInfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Syminfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Verdaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Vernaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf32_Verneed6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Syminfo6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Verdaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Vernaux6__initZ@Base 13 + _D38TypeInfo_S4core3sys3elf13Elf64_Verneed6__initZ@Base 13 + _D38TypeInfo_S4core3sys5linux4link7r_debug6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix4stdc4time2tm6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix5netdb6netent6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posix6locale5lconv6__initZ@Base 13 + _D38TypeInfo_S4core3sys5posixQk3msg6msgbuf6__initZ@Base 13 + _D38TypeInfo_S4core8internal5newaa7AAShell6__initZ@Base 14 + _D38TypeInfo_S4core8internal7convert5Float6__initZ@Base 13 + _D38TypeInfo_xPFZC4core2gc11gcinterface2GC6__initZ@Base 13 + _D38TypeInfo_xPS4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D38TypeInfo_xS3std3uni17CodepointInterval6__initZ@Base 13 + _D38TypeInfo_xS4core2gc11gcinterface5Range6__initZ@Base 13 + _D38TypeInfo_xS4core8internal5newaa6Bucket6__initZ@Base 14 + _D39TypeInfo_AC4core6thread8osthread6Thread6__initZ@Base 13 + _D39TypeInfo_AS3std3zip10ZipArchive7Segment6__initZ@Base 13 + _D39TypeInfo_AxS3std3uni17CodepointInterval6__initZ@Base 13 + _D39TypeInfo_AxS4core8internal5newaa6Bucket6__initZ@Base 14 + _D39TypeInfo_E3etc1c4curl16CurlCallbackInfo6__initZ@Base 13 + _D39TypeInfo_E3etc1c4curl16CurlChunkBgnFunc6__initZ@Base 13 + _D39TypeInfo_E3etc1c4curl16CurlChunkEndFunc6__initZ@Base 13 + _D39TypeInfo_E3std11concurrency10OnCrowding6__initZ@Base 13 + _D39TypeInfo_E3std11parallelism10TaskStatus6__initZ@Base 13 + _D39TypeInfo_E3std5range17TransverseOptions6__initZ@Base 13 + _D39TypeInfo_E3std6socket16AddressInfoFlags6__initZ@Base 13 + _D39TypeInfo_S3gcc9backtrace13SymbolOrError6__initZ@Base 13 + _D39TypeInfo_S3std11concurrency10ThreadInfo6__initZ@Base 13 + _D39TypeInfo_S3std3net7isemail11EmailStatus6__initZ@Base 13 + _D39TypeInfo_S3std5array__T8AppenderTAxaZQo6__initZ@Base 13 + _D39TypeInfo_S3std5array__T8AppenderTAyaZQo6__initZ@Base 13 + _D39TypeInfo_S3std5array__T8AppenderTAyuZQo6__initZ@Base 13 + _D39TypeInfo_S3std5array__T8AppenderTAywZQo6__initZ@Base 13 + _D39TypeInfo_S3std5array__T8AppenderTyAaZQo6__initZ@Base 13 + _D39TypeInfo_S3std5stdio17LockingTextReader6__initZ@Base 13 + _D39TypeInfo_S3std7variant15FakeComplexReal6__initZ@Base 13 + _D39TypeInfo_S3std8bitmanip__T7BitsSetTmZQl6__initZ@Base 13 + _D39TypeInfo_S3std8datetime7systime7SysTime6__initZ@Base 13 + _D39TypeInfo_S3std8typecons__T5TupleTbTiZQl6__initZ@Base 13 + _D39TypeInfo_S3std8typecons__T5TupleTbTkZQl6__initZ@Base 13 + _D39TypeInfo_S3std8typecons__T5TupleTkTmZQl6__initZ@Base 13 + _D39TypeInfo_S3std8typecons__T5TupleTmTmZQl6__initZ@Base 13 + _D39TypeInfo_S3std8typecons__T5TupleTuTaZQl6__initZ@Base 13 + _D39TypeInfo_S3std9container5dlist8BaseNode6__initZ@Base 13 + _D39TypeInfo_S4core3sys3elf14Elf_Options_Hw6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux3elf9Elf32_Dyn6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux3elf9Elf64_Dyn6__initZ@Base 13 + _D39TypeInfo_S4core3sys5linux4link8link_map6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix4time8timespec6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5dlfcn7Dl_info6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5netdb7hostent6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5netdb7servent6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix5utime7utimbuf6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posix6signal6sigval6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posixQk3msg7msginfo6__initZ@Base 13 + _D39TypeInfo_S4core3sys5posixQk4stat6stat_t6__initZ@Base 13 + _D39TypeInfo_S4core4stdc8inttypes9imaxdiv_t6__initZ@Base 13 + _D39TypeInfo_S4core6memory2GC12ProfileStats6__initZ@Base 13 + _D39TypeInfo_S4core6thread7context8Callable6__initZ@Base 13 + _D39TypeInfo_S4core7runtime14UnitTestResult6__initZ@Base 13 + _D39TypeInfo_S4core8internal2gc4bits6GCBits6__initZ@Base 13 + _D39TypeInfo_xAS3std3uni17CodepointInterval6__initZ@Base 13 + _D39TypeInfo_xAS4core8internal5newaa6Bucket6__initZ@Base 14 + _D3etc1c4curl10CurlGlobal6__initZ@Base 13 + _D3etc1c4curl10CurlOption6__initZ@Base 13 + _D3etc1c4curl10curl_forms6__initZ@Base 13 + _D3etc1c4curl10curl_khkey6__initZ@Base 13 + _D3etc1c4curl10curl_slist6__initZ@Base 13 + _D3etc1c4curl11CurlCSelect6__initZ@Base 13 + _D3etc1c4curl11CurlMOption6__initZ@Base 13 + _D3etc1c4curl11CurlSshAuth6__initZ@Base 13 + _D3etc1c4curl11CurlVersion6__initZ@Base 13 + _D3etc1c4curl11__moduleRefZ@Base 13 + _D3etc1c4curl12CurlReadFunc6__initZ@Base 13 + _D3etc1c4curl12__ModuleInfoZ@Base 13 + _D3etc1c4curl13curl_certinfo6__initZ@Base 13 + _D3etc1c4curl13curl_fileinfo6__initZ@Base 13 + _D3etc1c4curl13curl_httppost6__initZ@Base 13 + _D3etc1c4curl13curl_sockaddr6__initZ@Base 13 + _D3etc1c4curl18CurlFInfoFlagKnown6__initZ@Base 13 + _D3etc1c4curl3_N26__initZ@Base 13 + _D3etc1c4curl4_N286__initZ@Base 13 + _D3etc1c4curl4_N316__initZ@Base 13 + _D3etc1c4curl5CurlM6__initZ@Base 13 + _D3etc1c4curl7CURLMsg6__initZ@Base 13 + _D3etc1c4curl9CurlPause6__initZ@Base 13 + _D3etc1c4curl9CurlProto6__initZ@Base 13 + _D3etc1c4zlib11ZLIB_VERNUMyi@Base 13 + _D3etc1c4zlib11__moduleRefZ@Base 13 + _D3etc1c4zlib12ZLIB_VERSIONyAa@Base 13 + _D3etc1c4zlib12__ModuleInfoZ@Base 13 + _D3etc1c4zlib6Z_NULLyPv@Base 13 + _D3etc1c4zlib8z_stream6__initZ@Base 13 + _D3etc1c4zlib9gz_header6__initZ@Base 13 + _D3etc8valgrindQj11__moduleRefZ@Base 14 + _D3etc8valgrindQj12__ModuleInfoZ@Base 14 + _D3gcc10attributes11__moduleRefZ@Base 13 + _D3gcc10attributes12__ModuleInfoZ@Base 13 + _D3gcc12libbacktrace11__moduleRefZ@Base 13 + _D3gcc12libbacktrace12__ModuleInfoZ@Base 13 + _D3gcc12libbacktrace15backtrace_state6__initZ@Base 13 + _D3gcc3deh11CxxTypeInfo11__InterfaceZ@Base 13 + _D3gcc3deh11__moduleRefZ@Base 13 + _D3gcc3deh12__ModuleInfoZ@Base 13 + _D3gcc3deh12getClassInfoFNiPSQBb6unwind7generic17_Unwind_ExceptionPxhZC14TypeInfo_Class@Base 13 + _D3gcc3deh15ExceptionHeader11__xopEqualsMxFKxSQBsQBrQBqZb@Base 13 + _D3gcc3deh15ExceptionHeader17toExceptionHeaderFNiPSQBx6unwind7generic17_Unwind_ExceptionZPSQDlQDkQDj@Base 13 + _D3gcc3deh15ExceptionHeader3popFNiZPSQBjQBiQBh@Base 13 + _D3gcc3deh15ExceptionHeader4freeFNiPSQBjQBiQBhZv@Base 13 + _D3gcc3deh15ExceptionHeader4pushMFNiZv@Base 13 + _D3gcc3deh15ExceptionHeader4saveFNiPSQBj6unwind7generic17_Unwind_ExceptionmiPxhmZv@Base 13 + _D3gcc3deh15ExceptionHeader5stackPSQBhQBgQBf@Base 13 + _D3gcc3deh15ExceptionHeader6__initZ@Base 13 + _D3gcc3deh15ExceptionHeader6createFNiC6object9ThrowableZPSQCeQCdQCc@Base 13 + _D3gcc3deh15ExceptionHeader7restoreFNiPSQBm6unwind7generic17_Unwind_ExceptionJiJPxhJmJmZv@Base 13 + _D3gcc3deh15ExceptionHeader9__xtoHashFNbNeKxSQBrQBqQBpZm@Base 13 + _D3gcc3deh15ExceptionHeader9ehstorageSQBkQBjQBi@Base 13 + _D3gcc3deh17__gdc_personalityFimPSQBg6unwind7generic17_Unwind_ExceptionPSQCtQBnQBj15_Unwind_ContextZk@Base 13 + _D3gcc3deh17actionTableLookupFiPSQBf6unwind7generic17_Unwind_ExceptionPxhQdmmQhhJbJbZi@Base 13 + _D3gcc3deh18CONTINUE_UNWINDINGFPSQBf6unwind7generic17_Unwind_ExceptionPSQCsQBnQBj15_Unwind_ContextZk@Base 13 + _D3gcc3deh18CxaExceptionHeader14getAdjustedPtrFPSQBv6unwind7generic17_Unwind_ExceptionCQDhQDg11CxxTypeInfoZPv@Base 13 + _D3gcc3deh18CxaExceptionHeader17toExceptionHeaderFNiPSQCa6unwind7generic17_Unwind_ExceptionZPSQDoQDnQDm@Base 13 + _D3gcc3deh18CxaExceptionHeader4saveFNiPSQBm6unwind7generic17_Unwind_ExceptionPvZv@Base 13 + _D3gcc3deh18CxaExceptionHeader6__initZ@Base 13 + _D3gcc3deh19isGdcExceptionClassFNimZb@Base 13 + _D3gcc3deh19isGxxExceptionClassFNimZb@Base 13 + _D3gcc3deh20isDependentExceptionFNimZb@Base 13 + _D3gcc3deh8_d_throwUC6object9ThrowableZ17exception_cleanupUNikPSQCk6unwind7generic17_Unwind_ExceptionZv@Base 13 + _D3gcc3deh8scanLSDAFPxhmiPSQz6unwind7generic17_Unwind_ExceptionPSQClQBnQBj15_Unwind_ContextmJmJiZk@Base 13 + _D3gcc3deh9terminateFNiAyakZ11terminatingb@Base 13 + _D3gcc3deh9terminateFNiAyakZv@Base 13 + _D3gcc4simd11__moduleRefZ@Base 13 + _D3gcc4simd12__ModuleInfoZ@Base 13 + _D3gcc6config11__moduleRefZ@Base 13 + _D3gcc6config12__ModuleInfoZ@Base 13 + _D3gcc6emutls11__moduleRefZ@Base 13 + _D3gcc6emutls12__ModuleInfoZ@Base 13 + _D3gcc6unwind10arm_common11__moduleRefZ@Base 13 + _D3gcc6unwind10arm_common12__ModuleInfoZ@Base 13 + _D3gcc6unwind11__moduleRefZ@Base 13 + _D3gcc6unwind12__ModuleInfoZ@Base 13 + _D3gcc6unwind2pe11__moduleRefZ@Base 13 + _D3gcc6unwind2pe12__ModuleInfoZ@Base 13 + _D3gcc6unwind2pe12read_sleb128FNiKPxhZl@Base 13 + _D3gcc6unwind2pe12read_uleb128FNiKPxhZm@Base 13 + _D3gcc6unwind2pe18read_encoded_valueFNiPSQBnQBm7generic15_Unwind_ContexthKPxhZm@Base 13 + _D3gcc6unwind2pe21base_of_encoded_valueFNihPSQBrQBq7generic15_Unwind_ContextZm@Base 13 + _D3gcc6unwind2pe21size_of_encoded_valueFNihZk@Base 13 + _D3gcc6unwind2pe28read_encoded_value_with_baseFNihmKPxhZm@Base 13 + _D3gcc6unwind3arm11__moduleRefZ@Base 13 + _D3gcc6unwind3arm12__ModuleInfoZ@Base 13 + _D3gcc6unwind3c6x11__moduleRefZ@Base 13 + _D3gcc6unwind3c6x12__ModuleInfoZ@Base 13 + _D3gcc6unwind7generic11__moduleRefZ@Base 13 + _D3gcc6unwind7generic12__ModuleInfoZ@Base 13 + _D3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D3gcc7gthread11__moduleRefZ@Base 13 + _D3gcc7gthread12__ModuleInfoZ@Base 13 + _D3gcc7gthread18__gthread_active_pFNbNiZi@Base 13 + _D3gcc8builtins11__moduleRefZ@Base 13 + _D3gcc8builtins12__ModuleInfoZ@Base 13 + _D3gcc8builtins13__va_list_tag6__initZ@Base 13 + _D3gcc8sections11__moduleRefZ@Base 13 + _D3gcc8sections12__ModuleInfoZ@Base 13 + _D3gcc8sections18pinLoadedLibrariesFNbNiZPv@Base 13 + _D3gcc8sections20unpinLoadedLibrariesFNbNiPvZv@Base 13 + _D3gcc8sections22cleanupLoadedLibrariesFNbNiZv@Base 13 + _D3gcc8sections22inheritLoadedLibrariesFNbNiPvZv@Base 13 + _D3gcc8sections3elf10_rtLoadingb@Base 13 + _D3gcc8sections3elf11__moduleRefZ@Base 13 + _D3gcc8sections3elf11_loadedDSOsFNbNcNdNiZ1xS4core8internal9container5array__T5ArrayTSQDgQDfQCz9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf11_loadedDSOsFNbNcNdNiZS4core8internal9container5array__T5ArrayTSQDeQDdQCx9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf11getTLSRangeFNbNimmZAv@Base 13 + _D3gcc8sections3elf12__ModuleInfoZ@Base 13 + _D3gcc8sections3elf12_handleToDSOFNbNcNdNiZ1xS4core8internal9container7hashtab__T7HashTabTPvTPSQDpQDoQDi3DSOZQBc@Base 13 + _D3gcc8sections3elf12_handleToDSOFNbNcNdNiZS4core8internal9container7hashtab__T7HashTabTPvTPSQDnQDmQDg3DSOZQBc@Base 13 + _D3gcc8sections3elf12decThreadRefFPSQBiQBhQBb3DSObZv@Base 13 + _D3gcc8sections3elf12dsoForHandleFNbNiPvZPSQBpQBoQBi3DSO@Base 13 + _D3gcc8sections3elf12finiSectionsFNbNiZv@Base 13 + _D3gcc8sections3elf12incThreadRefFPSQBiQBhQBb3DSObZv@Base 13 + _D3gcc8sections3elf12initSectionsFNbNiZv@Base 13 + _D3gcc8sections3elf12scanSegmentsFNbNiKxS4core3sys5linux4link12dl_phdr_infoPSQCxQCwQCq3DSOZv@Base 14 + _D3gcc8sections3elf13findThreadDSOFNbNiPSQBnQBmQBg3DSOZPSQCdQCcQBw9ThreadDSO@Base 13 + _D3gcc8sections3elf13finiTLSRangesFNbNiPS4core8internal9container5array__T5ArrayTSQDcQDbQCv9ThreadDSOZQBcZv@Base 13 + _D3gcc8sections3elf13handleForAddrFNbNiPvZQd@Base 13 + _D3gcc8sections3elf13handleForNameFNbNixPaZPv@Base 13 + _D3gcc8sections3elf13initTLSRangesFNbNiZPS4core8internal9container5array__T5ArrayTSQDdQDcQCw9ThreadDSOZQBc@Base 13 + _D3gcc8sections3elf13runFinalizersFPSQBjQBiQBc3DSOZv@Base 13 + _D3gcc8sections3elf13scanTLSRangesFNbPS4core8internal9container5array__T5ArrayTSQDaQCzQCt9ThreadDSOZQBcMDFNbPvQcZvZv@Base 13 + _D3gcc8sections3elf15CompilerDSOData6__initZ@Base 13 + _D3gcc8sections3elf15getDependenciesFNbNiKxS4core3sys5linux4link12dl_phdr_infoKSQBk8internal9container5array__T5ArrayTPSQEoQEnQEh3DSOZQxZv@Base 14 + _D3gcc8sections3elf15setDSOForHandleFNbNiPSQBpQBoQBi3DSOPvZv@Base 13 + _D3gcc8sections3elf16linkMapForHandleFNbNiPvZPS4core3sys5linux4link8link_map@Base 13 + _D3gcc8sections3elf16registerGCRangesFNbNiPSQBqQBpQBj3DSOZv@Base 13 + _D3gcc8sections3elf17_handleToDSOMutexS4core3sys5posixQk5types15pthread_mutex_t@Base 13 + _D3gcc8sections3elf17unsetDSOForHandleFNbNiPSQBrQBqQBk3DSOPvZv@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ2DG6__initZ@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ8callbackUNbNiQBzmPvZi@Base 13 + _D3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZb@Base 13 + _D3gcc8sections3elf18findSegmentForAddrFNbNiKxS4core3sys5linux4link12dl_phdr_infoIPvPSQBnQBlQCz10Elf64_PhdrZb@Base 14 + _D3gcc8sections3elf18unregisterGCRangesFNbNiPSQBsQBrQBl3DSOZv@Base 13 + _D3gcc8sections3elf20runModuleDestructorsFPSQBqQBpQBj3DSObZv@Base 13 + _D3gcc8sections3elf21_isRuntimeInitializedb@Base 13 + _D3gcc8sections3elf21runModuleConstructorsFPSQBrQBqQBk3DSObZv@Base 13 + _D3gcc8sections3elf3DSO11__fieldDtorMFNbNiZv@Base 13 + _D3gcc8sections3elf3DSO11__invariantMxFZv@Base 13 + _D3gcc8sections3elf3DSO11__xopEqualsMxFKxSQBoQBnQBhQBgZb@Base 13 + _D3gcc8sections3elf3DSO11moduleGroupMNgFNbNcNdNiNjZNgS2rt5minfo11ModuleGroup@Base 13 + _D3gcc8sections3elf3DSO12__invariant0MxFZv@Base 13 + _D3gcc8sections3elf3DSO14opApplyReverseFMDFKSQBrQBqQBkQBjZiZi@Base 13 + _D3gcc8sections3elf3DSO6__initZ@Base 13 + _D3gcc8sections3elf3DSO7modulesMxFNbNdNiZAyPS6object10ModuleInfo@Base 13 + _D3gcc8sections3elf3DSO7opApplyFMDFKSQBjQBiQBcQBbZiZi@Base 13 + _D3gcc8sections3elf3DSO8gcRangesMNgFNbNdNiZANgAv@Base 13 + _D3gcc8sections3elf3DSO8opAssignMFNbNcNiNjSQBpQBoQBiQBhZQo@Base 13 + _D3gcc8sections3elf3DSO8tlsRangeMxFNbNiZAv@Base 13 + _D3gcc8sections3elf3DSO9__xtoHashFNbNeKxSQBnQBmQBgQBfZm@Base 13 + _D3gcc8sections3elf7freeDSOFNbNiPSQBgQBfQz3DSOZv@Base 13 + _D3gcc8sections3elf9ThreadDSO11__xopEqualsMxFKxSQBuQBtQBnQBmZb@Base 13 + _D3gcc8sections3elf9ThreadDSO14updateTLSRangeMFNbNiZv@Base 13 + _D3gcc8sections3elf9ThreadDSO6__initZ@Base 13 + _D3gcc8sections3elf9ThreadDSO9__xtoHashFNbNeKxSQBtQBsQBmQBlZm@Base 13 + _D3gcc8sections3elf9finiLocksFNbNiZv@Base 13 + _D3gcc8sections3elf9initLocksFNbNiZv@Base 13 + _D3gcc8sections3elf9sizeOfTLSFNbNiZm@Base 13 + _D3gcc8sections3elf9tls_index6__initZ@Base 13 + _D3gcc8sections3elf__T7toRangeTyPS6object10ModuleInfoZQBgFNaNbNiPyQBiQfZAyQBq@Base 13 + _D3gcc8sections5macho11__moduleRefZ@Base 13 + _D3gcc8sections5macho12__ModuleInfoZ@Base 13 + _D3gcc8sections6common10safeAssertFNbNiNfbMAyaMQemZv@Base 13 + _D3gcc8sections6common11__moduleRefZ@Base 13 + _D3gcc8sections6common12__ModuleInfoZ@Base 13 + _D3gcc8sections6pecoff11__moduleRefZ@Base 13 + _D3gcc8sections6pecoff12__ModuleInfoZ@Base 13 + _D3gcc9attribute11__moduleRefZ@Base 13 + _D3gcc9attribute12__ModuleInfoZ@Base 13 + _D3gcc9backtrace10SymbolInfo6__initZ@Base 13 + _D3gcc9backtrace10formatLineFxSQBdQBc10SymbolInfoNkKG1536aZAa@Base 13 + _D3gcc9backtrace11__moduleRefZ@Base 13 + _D3gcc9backtrace12LibBacktrace11initializedb@Base 13 + _D3gcc9backtrace12LibBacktrace16initLibBacktraceFNiZv@Base 13 + _D3gcc9backtrace12LibBacktrace5statePSQBk12libbacktrace15backtrace_state@Base 13 + _D3gcc9backtrace12LibBacktrace6__ctorMFNiiZCQBqQBpQBi@Base 13 + _D3gcc9backtrace12LibBacktrace6__initZ@Base 13 + _D3gcc9backtrace12LibBacktrace6__vtblZ@Base 13 + _D3gcc9backtrace12LibBacktrace7__ClassZ@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKSQBuQBt13SymbolOrErrorZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKxAaZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKxAaZiZi@Base 13 + _D3gcc9backtrace12LibBacktrace8toStringMxFZAya@Base 13 + _D3gcc9backtrace12__ModuleInfoZ@Base 13 + _D3gcc9backtrace13SymbolOrError6__initZ@Base 13 + _D3gcc9backtrace18SymbolCallbackInfo5resetMFZv@Base 13 + _D3gcc9backtrace18SymbolCallbackInfo6__initZ@Base 13 + _D3gcc9backtrace19SymbolCallbackInfo26__initZ@Base 13 + _D3std10checkedint11__moduleRefZ@Base 13 + _D3std10checkedint12__ModuleInfoZ@Base 13 + _D3std10checkedint13ProperCompare6__initZ@Base 13 + _D3std10checkedint13ProperCompare__T9hookOpCmpTmTmZQpFNaNbNiNfmmZi@Base 13 + _D3std10checkedint4Warn13trustedStderrFNbNcNdNiNeZSQBx5stdio4File@Base 13 + _D3std10checkedint4Warn6__initZ@Base 13 + _D3std10checkedint4Warn__T10onOverflowVAyaa1_2bTmTxlZQBbFNfmxlZm@Base 13 + _D3std10checkedint4Warn__T10onOverflowVAyaa1_2bTmTxmZQBbFNfmxmZm@Base 13 + _D3std10checkedint4Warn__T10onOverflowVAyaa1_2dTxmTmZQBbFNfxmmZm@Base 13 + _D3std10checkedint4Warn__T12hookOpEqualsTxmTxmZQvFNfxmxmZb@Base 13 + _D3std10checkedint4Warn__T9hookOpCmpTmTxmZQqFNfmxmZi@Base 13 + _D3std10checkedint5Abort6__initZ@Base 13 + _D3std10checkedint5Abort__T10onOverflowVAyaa1_2bTmTxlZQBbFNfmxlZm@Base 13 + _D3std10checkedint5Abort__T10onOverflowVAyaa1_2bTmTxmZQBbFNfmxmZm@Base 13 + _D3std10checkedint5Abort__T10onOverflowVAyaa1_2dTxmTmZQBbFNfxmmZm@Base 13 + _D3std10checkedint5Abort__T12hookOpEqualsTxmTxmZQvFNfxmxmZb@Base 13 + _D3std10checkedint5Abort__T9hookOpCmpTmTxmZQqFNfmxmZi@Base 13 + _D3std10checkedint5Throw12CheckFailure6__initZ@Base 13 + _D3std10checkedint5Throw12CheckFailure6__vtblZ@Base 13 + _D3std10checkedint5Throw12CheckFailure7__ClassZ@Base 13 + _D3std10checkedint5Throw6__initZ@Base 13 + _D3std10checkedint7WithNaN6__initZ@Base 13 + _D3std10checkedint8Saturate6__initZ@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz11__xopEqualsMxFKxSQCnQCm__TQCdTmTQByZQCnZb@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz3getMNgFNaNbNiNfZNgm@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz6__initZ@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz6toHashMxFNaNbNiNfZm@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz8__xopCmpMxFKxSQCjQCi__TQBzTmTQBuZQCjZi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T10opOpAssignVAyaa1_2bTlZQyMFNcNjNfxlZSQDjQDi__TQCzTmTQCuZQDj@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T12opBinaryImplVAyaa1_2bTlTSQCyQCx__TQCoTmTQCjZQCyZQByMFNfxlZQBi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T12opBinaryImplVAyaa1_2bTmTSQCyQCx__TQCoTmTQCjZQCyZQByMFNfxmZQBi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T13opBinaryRightVAyaa1_2dTmZQBbMFNfxmZSQDjQDi__TQCzTmTQCuZQDj@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T17opBinaryRightImplVAyaa1_2dTmTSQDdQDc__TQCtTmTQCoZQDdZQCdMFNfxmZQBi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T5opCmpTmTQBcTxSQCmQCl__TQCcTmTQBxZQCmZQBmMxFNaNbNiNfSQDyQDx__TQDoTmTQDjZQDyZi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T5opCmpTmTSQChQCg__TQBxTmTQBsZQChZQBhMFNfxmZi@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T6__ctorTmZQkMFNaNbNcNiNfmZSQCyQCx__TQCoTmTQCjZQCy@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T6__ctorTxmZQlMFNaNbNcNiNfxmZSQDaQCz__TQCqTmTQClZQDa@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T8opBinaryVAyaa1_2bTlZQvMFNfxlZSQDcQDb__TQCsTmTQCnZQDc@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T8opBinaryVAyaa1_2bTmZQvMFNfxmZSQDcQDb__TQCsTmTQCnZQDc@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T8opEqualsTxSQCjQCi__TQBzTmTQBuZQCjTxQzZQBnMxFNfxQBlZb@Base 13 + _D3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz__T8opEqualsTxmTxSQCmQCl__TQCcTmTQBxZQCmZQBmMxFNfxmZb@Base 13 + _D3std10checkedint__T7checkedTSQBdQBc5AbortTmZQzFNaNbNiNfxmZSQChQCg__T7CheckedTmTQBzZQp@Base 13 + _D3std10checkedint__T9opCheckedVAyaa1_2bTmTlZQyFNaNbNiNfxmxlKbZm@Base 13 + _D3std10checkedint__T9opCheckedVAyaa1_2bTmTmZQyFNaNbNiNfxmxmKbZm@Base 13 + _D3std10checkedint__T9opCheckedVAyaa1_2dTmTmZQyFNaNbNiNfxmxmKbZm@Base 13 + _D3std10checkedint__T9opCheckedVAyaa2_3d3dTmTmZQBaFNaNbNiNfxmxmKbZb@Base 13 + _D3std10checkedint__T9opCheckedVAyaa3_636d70TmTmZQBcFNaNbNiNfxmxmKbZi@Base 13 + _D3std10functional11__moduleRefZ@Base 13 + _D3std10functional11_ctfeSkipOpFKAyaZk@Base 13 + _D3std10functional12__ModuleInfoZ@Base 13 + _D3std10functional13_ctfeSkipNameFKAyaQdZk@Base 13 + _D3std10functional15_ctfeMatchUnaryFAyaQdZk@Base 13 + _D3std10functional16_ctfeMatchBinaryFAyaQdQfZk@Base 13 + _D3std10functional16_ctfeSkipIntegerFKAyaZk@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTiTmZQoFNaNbNiNfimZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTmTiZQoFNaNbNiNfmiZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTmTlZQoFNaNbNiNfmlZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTmTyiZQpFNaNbNiNfmyiZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTyiTmZQpFNaNbNiNfyimZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTiTmZQBbFNaNbNiNfKiKmZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTiZQBbFNaNbNiNfKmKiZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTlZQBbFNaNbNiNfKmKlZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTyiZQBcFNaNbNiNfKmKyiZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTymZQBcFNaNbNiNfKmKymZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTyiTmZQBcFNaNbNiNfKyiKmZb@Base 13 + _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTymTmZQBcFNaNbNiNfKymKmZb@Base 13 + _D3std10functional__T8unaryFunVAyaa11_615b305d203e2030783830VQBea1_61Z__TQCaTxSQCz3uni17CodepointIntervalZQDhFNaNbNiNfKxQBqZb@Base 13 + _D3std10functional__T8unaryFunVAyaa4_615b305dVQpa1_61Z__TQBkTSQCi3uni17CodepointIntervalZQCqFNaNbNiNfQBoZk@Base 13 + _D3std10functional__T8unaryFunVAyaa4_615b315dVQpa1_61Z__TQBkTSQCi3uni17CodepointIntervalZQCqFNaNbNiNfQBoZk@Base 13 + _D3std10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61Z__TQBoTySQCn8internal14unicode_tables15UnicodePropertyZQDoFNaNbNiNfKyQCjZyAa@Base 13 + _D3std10functional__T9binaryFunVAyaa11_62203c20612e74696d6554VQBea1_61VQBna1_62Z__TQCkTySQDj8datetime8timezone13PosixTimeZone10LeapSecondTylZQEqFNaNbNiNfKyQCpKylZb@Base 13 + _D3std10functional__T9binaryFunVAyaa11_62203c20612e74696d6554VQBea1_61VQBna1_62Z__TQCkTySQDj8datetime8timezone13PosixTimeZone10TransitionTlZQEpFNaNbNiNfKyQCoKlZb@Base 13 + _D3std10functional__T9binaryFunVAyaa11_62203c20612e74696d6554VQBea1_61VQBna1_62Z__TQCkTySQDj8datetime8timezone13PosixTimeZone10TransitionTylZQEqFNaNbNiNfKyQCpKylZb@Base 13 + _D3std10functional__T9binaryFunVAyaa15_612e6e616d65203c20622e6e616d65VQBma1_61VQBva1_62Z__TQCsTSQDq5regex8internal2ir10NamedGroupTQBjZQEjFNaNbNiNfKQCaKQCeZb@Base 13 + _D3std10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62Z__TQCwTSQDu8datetime8timezone13PosixTimeZone10LeapSecondTQByZQFcFNaNbNiNfKQCpKQCtZb@Base 13 + _D3std10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62Z__TQCwTSQDu8datetime8timezone13PosixTimeZone14TempTransitionTQCcZQFgFNaNbNiNfKQCtKQCxZb@Base 13 + _D3std10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62Z__TQBvTQBoTQBsZQChFNaNbNiNfKQCjKQCnZb@Base 13 + _D3std10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62Z__TQBvTkTiZQCdFNaNbNiNfKkKiZb@Base 13 + _D3std10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62Z__TQBvTywTwZQCeFNaNbNiNfKywKwZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203c3d2062VQta1_61VQBba1_62Z__TQByTkTkZQCgFNaNbNiNfKkKkZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203c3d2062VQta1_61VQBba1_62Z__TQByTxkTkZQChFNaNbNiNfKxkKkZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTQBrTQBvZQCkFNaNbNiNfKQCmKQCqZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTSQCw3uni__T13InversionListTSQDxQBb8GcPolicyZQBhTQBwZQEcFNaNbNiNfKQCnKQCrZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTaTaZQCgFNaNbNiNfaaZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByThThZQCgFNaNbNiNfKhKhZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTwTaZQCgFNaNbNiNfKwKaZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTxhTxhZQCiFNaNbNiNfKxhKxhZb@Base 14.2 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTyAaTQBvZQCkFNaNbNiNfKyQvKQCqZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTyhTwZQChFNaNbNiNfKyhKwZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTyhTwZQChFNaNbNiNfKyhwZb@Base 13 + _D3std10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62Z__TQByTyhTxhZQCiFNaNbNiNfKyhKxhZb@Base 13 + _D3std11__moduleRefZ@Base 13 + _D3std11concurrency10MessageBox10setMaxMsgsMFNaNiNfmPFSQCbQCa3TidZbZv@Base 13 + _D3std11concurrency10MessageBox12isControlMsgMFNaNbNiNfKSQCdQCc7MessageZb@Base 13 + _D3std11concurrency10MessageBox13isLinkDeadMsgMFNaNbNiNfKSQCeQCd7MessageZb@Base 13 + _D3std11concurrency10MessageBox13isPriorityMsgMFNaNbNiNfKSQCeQCd7MessageZb@Base 13 + _D3std11concurrency10MessageBox14updateMsgCountMFNaNbNiNfZv@Base 13 + _D3std11concurrency10MessageBox3putMFKSQBlQBk7MessageZv@Base 13 + _D3std11concurrency10MessageBox5closeMFZ13onLinkDeadMsgFKSQCeQCd7MessageZv@Base 13 + _D3std11concurrency10MessageBox5closeMFZ5sweepFKSQBvQBu__T4ListTSQClQCk7MessageZQwZv@Base 13 + _D3std11concurrency10MessageBox5closeMFZv@Base 13 + _D3std11concurrency10MessageBox6__ctorMFNbNeZCQBsQBrQBh@Base 13 + _D3std11concurrency10MessageBox6__initZ@Base 13 + _D3std11concurrency10MessageBox6__vtblZ@Base 13 + _D3std11concurrency10MessageBox7__ClassZ@Base 13 + _D3std11concurrency10MessageBox8isClosedMFNaNdNiNfZb@Base 13 + _D3std11concurrency10MessageBox8mboxFullMFNaNbNiNfZb@Base 13 + _D3std11concurrency10ThreadInfo11__xopEqualsMxFKxSQBwQBvQBlZb@Base 13 + _D3std11concurrency10ThreadInfo6__initZ@Base 13 + _D3std11concurrency10ThreadInfo7cleanupMFZv@Base 13 + _D3std11concurrency10ThreadInfo8thisInfoFNbNcNdNiNfZSQBzQByQBo@Base 13 + _D3std11concurrency10ThreadInfo8thisInfoFNbNcNdZ3valSQBzQByQBo@Base 13 + _D3std11concurrency10ThreadInfo9__xtoHashFNbNeKxSQBvQBuQBkZm@Base 13 + _D3std11concurrency10namesByTidHSQBfQBe3TidAAya@Base 13 + _D3std11concurrency10unregisterFAyaZb@Base 13 + _D3std11concurrency11IsGenerator11__InterfaceZ@Base 13 + _D3std11concurrency11MailboxFull6__ctorMFNaNbNiNfSQBwQBv3TidAyaZCQClQCkQCa@Base 13 + _D3std11concurrency11MailboxFull6__initZ@Base 13 + _D3std11concurrency11MailboxFull6__vtblZ@Base 13 + _D3std11concurrency11MailboxFull7__ClassZ@Base 13 + _D3std11concurrency11__moduleRefZ@Base 13 + _D3std11concurrency12__ModuleInfoZ@Base 13 + _D3std11concurrency12initOnceLockFNdZ4lockOC4core4sync5mutex5Mutex@Base 13 + _D3std11concurrency12initOnceLockFNdZOC4core4sync5mutex5Mutex@Base 13 + _D3std11concurrency12registryLockFNdZ4implC4core4sync5mutex5Mutex@Base 13 + _D3std11concurrency12registryLockFNdZC4core4sync5mutex5Mutex@Base 13 + _D3std11concurrency12unregisterMeFKSQBiQBh10ThreadInfoZv@Base 13 + _D3std11concurrency14FiberScheduler12newConditionMFNbC4core4sync5mutex5MutexZCQyQv9condition9Condition@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition13switchContextMFNbZv@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition4waitMFNbS4core4time8DurationZb@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition4waitMFNbZv@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition6__ctorMFNbC4core4sync5mutex5MutexZCQDhQDgQCwQCj@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition6__initZ@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition6__vtblZ@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition6notifyMFNbZv@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition7__ClassZ@Base 13 + _D3std11concurrency14FiberScheduler14FiberCondition9notifyAllMFNbZv@Base 13 + _D3std11concurrency14FiberScheduler5spawnMFNbDFZvZv@Base 13 + _D3std11concurrency14FiberScheduler5startMFDFZvZv@Base 13 + _D3std11concurrency14FiberScheduler5yieldMFNbZv@Base 13 + _D3std11concurrency14FiberScheduler6__initZ@Base 13 + _D3std11concurrency14FiberScheduler6__vtblZ@Base 13 + _D3std11concurrency14FiberScheduler6createMFNbDFZvZv@Base 13 + _D3std11concurrency14FiberScheduler7__ClassZ@Base 13 + _D3std11concurrency14FiberScheduler8dispatchMFZv@Base 13 + _D3std11concurrency14FiberScheduler8thisInfoMFNbNcNdZSQCaQBz10ThreadInfo@Base 13 + _D3std11concurrency14FiberScheduler9InfoFiber6__ctorMFNbDFZvZCQCiQChQBxQBk@Base 13 + _D3std11concurrency14FiberScheduler9InfoFiber6__ctorMFNbDFZvmZCQCjQCiQByQBl@Base 13 + _D3std11concurrency14FiberScheduler9InfoFiber6__initZ@Base 13 + _D3std11concurrency14FiberScheduler9InfoFiber6__vtblZ@Base 13 + _D3std11concurrency14FiberScheduler9InfoFiber7__ClassZ@Base 13 + _D3std11concurrency14LinkTerminated6__ctorMFNaNbNiNfSQBzQBy3TidAyaZCQCoQCnQCd@Base 13 + _D3std11concurrency14LinkTerminated6__initZ@Base 13 + _D3std11concurrency14LinkTerminated6__vtblZ@Base 13 + _D3std11concurrency14LinkTerminated7__ClassZ@Base 13 + _D3std11concurrency15MessageMismatch6__ctorMFNaNbNiNfAyaZCQCeQCdQBt@Base 13 + _D3std11concurrency15MessageMismatch6__initZ@Base 13 + _D3std11concurrency15MessageMismatch6__vtblZ@Base 13 + _D3std11concurrency15MessageMismatch7__ClassZ@Base 13 + _D3std11concurrency15OwnerTerminated6__ctorMFNaNbNiNfSQCaQBz3TidAyaZCQCpQCoQCe@Base 13 + _D3std11concurrency15OwnerTerminated6__initZ@Base 13 + _D3std11concurrency15OwnerTerminated6__vtblZ@Base 13 + _D3std11concurrency15OwnerTerminated7__ClassZ@Base 13 + _D3std11concurrency15ThreadScheduler12newConditionMFNbC4core4sync5mutex5MutexZCQyQv9condition9Condition@Base 13 + _D3std11concurrency15ThreadScheduler5spawnMFDFZvZv@Base 13 + _D3std11concurrency15ThreadScheduler5startMFDFZvZv@Base 13 + _D3std11concurrency15ThreadScheduler5yieldMFNbZv@Base 13 + _D3std11concurrency15ThreadScheduler6__initZ@Base 13 + _D3std11concurrency15ThreadScheduler6__vtblZ@Base 13 + _D3std11concurrency15ThreadScheduler7__ClassZ@Base 13 + _D3std11concurrency15ThreadScheduler8thisInfoMFNbNcNdZSQCbQCa10ThreadInfo@Base 13 + _D3std11concurrency15onCrowdingBlockFNaNbNiNfSQBsQBr3TidZb@Base 13 + _D3std11concurrency15onCrowdingThrowFNaNfSQBoQBn3TidZb@Base 13 + _D3std11concurrency16onCrowdingIgnoreFNaNbNiNfSQBtQBs3TidZb@Base 13 + _D3std11concurrency17setMaxMailboxSizeFNaNfSQBqQBp3TidmEQCcQCb10OnCrowdingZv@Base 13 + _D3std11concurrency17setMaxMailboxSizeFSQBmQBl3TidmPFQoZbZv@Base 13 + _D3std11concurrency19TidMissingException6__initZ@Base 13 + _D3std11concurrency19TidMissingException6__vtblZ@Base 13 + _D3std11concurrency19TidMissingException7__ClassZ@Base 13 + _D3std11concurrency19TidMissingException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDmQDlQDb@Base 13 + _D3std11concurrency19TidMissingException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDmQDlQDb@Base 13 + _D3std11concurrency19_staticDtor_L269_C1FZv@Base 13 + _D3std11concurrency24PriorityMessageException11__fieldDtorMFNlNeZv@Base 13 + _D3std11concurrency24PriorityMessageException6__ctorMFSQCb7variant__T8VariantNVmi32ZQpZCQDiQDhQCx@Base 13 + _D3std11concurrency24PriorityMessageException6__initZ@Base 13 + _D3std11concurrency24PriorityMessageException6__vtblZ@Base 13 + _D3std11concurrency24PriorityMessageException7__ClassZ@Base 13 + _D3std11concurrency3Tid11__xopEqualsMxFKxSQBoQBnQBdZb@Base 13 + _D3std11concurrency3Tid6__ctorMFNaNbNcNiNfCQBpQBo10MessageBoxZSQCjQCiQBy@Base 13 + _D3std11concurrency3Tid6__initZ@Base 13 + _D3std11concurrency3Tid9__xtoHashFNbNeKxSQBnQBmQBcZm@Base 13 + _D3std11concurrency3Tid__T8toStringTSQBj5array__T8AppenderTAyaZQoZQBoMxFNaNfKQBpZv@Base 13 + _D3std11concurrency5yieldFNbZv@Base 13 + _D3std11concurrency6locateFAyaZSQBeQBd3Tid@Base 13 + _D3std11concurrency7Message11__fieldDtorMFNeZv@Base 13 + _D3std11concurrency7Message11__xopEqualsMxFKxSQBsQBrQBhZb@Base 13 + _D3std11concurrency7Message15__fieldPostblitMFNlZv@Base 13 + _D3std11concurrency7Message6__initZ@Base 13 + _D3std11concurrency7Message8opAssignMFNcNjSQBpQBoQBeZQl@Base 13 + _D3std11concurrency7Message9__xtoHashFNbNeKxSQBrQBqQBgZm@Base 13 + _D3std11concurrency7Message__T10convertsToTSQBqQBp3TidZQzMFNdZb@Base 13 + _D3std11concurrency7Message__T3getTSQBiQBh3TidZQrMFNdZQt@Base 13 + _D3std11concurrency7Message__T6__ctorTSQBlQBk3TidZQuMFNcEQCdQCc7MsgTypeQBhZSQCwQCvQCl@Base 13 + _D3std11concurrency7thisTidFNdNfZ4trusFNeZSQBpQBo3Tid@Base 13 + _D3std11concurrency7thisTidFNdNfZSQBgQBf3Tid@Base 13 + _D3std11concurrency8ownerTidFNdZSQBfQBe3Tid@Base 13 + _D3std11concurrency8registerFAyaSQBfQBe3TidZb@Base 13 + _D3std11concurrency8thisInfoFNbNcNdZSQBjQBi10ThreadInfo@Base 13 + _D3std11concurrency9Scheduler11__InterfaceZ@Base 13 + _D3std11concurrency9schedulerCQBcQBb9Scheduler@Base 13 + _D3std11concurrency9tidByNameHAyaSQBgQBf3Tid@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw3putMFNaNbNiNfKSQCiQCh__TQBxTQBvZQCfZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw3putMFNaNbNiNfPSQCiQCh__TQBxTQBvZQCf4NodeZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw3putMFQyZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node11__fieldDtorMFNeZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node11__xopEqualsMxFKxSQCqQCp__TQCfTQCdZQCnQBsZb@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node15__fieldPostblitMFNlZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__ctorMFNcQBiZSQCnQCm__TQCcTQCaZQCkQBp@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__initZ@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node8opAssignMFNcNjSQCnQCm__TQCcTQCaZQCkQBpZQz@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node9__xtoHashFNbNeKxSQCpQCo__TQCeTQCcZQCmQBrZm@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range5frontMFNaNcNdNfZQBp@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range5frontMFNdQBiZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range6__ctorMFNaNbNcNiNfPSQCtQCs__TQCiTQCgZQCq4NodeZSQDuQDt__TQDjTQDhZQDrQCw@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range6__initZ@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range8popFrontMFNaNfZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5clearMFNaNbNiNfZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw5emptyMFNaNbNdNiNfZb@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw6__initZ@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw6lengthMFNaNbNdNiNfZm@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw7newNodeMFQBcZPSQCiQCh__TQBxTQBvZQCf4Node@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw7opSliceMFNaNbNiZSQCkQCj__TQBzTQBxZQCh5Range@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw7sm_headOPSQCdQCc__TQBsTQBqZQCa4Node@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw7sm_lockOSQCcQCb__TQBrTQBpZQBz8SpinLock@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw8SpinLock4lockMOFNbNiZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw8SpinLock6__initZ@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw8SpinLock6unlockMOFNaNbNiNfZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw8freeNodeMFPSQCfQCe__TQBuTQBsZQCc4NodeZv@Base 13 + _D3std11concurrency__T4ListTSQBbQBa7MessageZQw8removeAtMFSQCeQCd__TQBtTQBrZQCb5RangeZv@Base 13 + _D3std11concurrency__T5_sendTSQBcQBb3TidZQtFEQBrQBq7MsgTypeQBeQBhZv@Base 13 + _D3std11concurrency__T8initOnceS_DQBg11parallelism8taskPoolFNdNeZ4poolCQCrQBl8TaskPoolZQCnFNcLQyOC4core4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg11parallelism8taskPoolFNdNeZ4poolCQCrQBl8TaskPoolZQCnFNcLQyOC4core4sync5mutex5MutexZQBz@Base 13 + _D3std11concurrency__T8initOnceS_DQBg11parallelism8taskPoolFNdNeZ4poolCQCrQBl8TaskPoolZQCnFNcLQyZQBb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg12experimental9allocator17_processAllocatorOSQDcQBwQBl18RCISharedAllocatorZQDmFNcLOQBnOC4core4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg12experimental9allocator17_processAllocatorOSQDcQBwQBl18RCISharedAllocatorZQDmFNcLOQBnZOQBs@Base 13 + _D3std11concurrency__T8initOnceS_DQBg12experimental9allocator17_processAllocatorOSQDcQBwQBl18RCISharedAllocatorZQDmFNcNfLOQBpOC4core4sync5mutex5MutexZOQCs@Base 13 + _D3std11concurrency__T8initOnceS_DQBg3net4curl7CurlAPI7_handlePvZQBrFNcLQkOC4core4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg3net4curl7CurlAPI7_handlePvZQBrFNcLQkOC4core4sync5mutex5MutexZQBl@Base 13 + _D3std11concurrency__T8initOnceS_DQBg3net4curl7CurlAPI7_handlePvZQBrFNcLQkZQn@Base 13 + _D3std11concurrency__T8initOnceS_DQBg6logger4core22stdSharedDefaultLoggerOCQCvQBpQBl6LoggerZQCsFNcLOQBaOCQCj4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg6logger4core22stdSharedDefaultLoggerOCQCvQBpQBl6LoggerZQCsFNcLOQBaZOQBf@Base 13 + _D3std11concurrency__T8initOnceS_DQBg6logger4core22stdSharedDefaultLoggerOCQCvQBpQBl6LoggerZQCsFNcNfLOQBcOCQCl4sync5mutex5MutexZOQCd@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8datetime8timezone9LocalTime9singletonFNeZ5guardObZQCoFNcLObOC4core4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8datetime8timezone9LocalTime9singletonFNeZ5guardObZQCoFNcLObZOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8datetime8timezone9LocalTime9singletonFNeZ5guardObZQCoFNcNfLObOC4core4sync5mutex5MutexZOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8encoding14EncodingScheme6createFAyaZ11initializedObZQCqFNcLObOC4core4sync5mutex5MutexZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8encoding14EncodingScheme6createFAyaZ11initializedObZQCqFNcLObZOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBg8encoding14EncodingScheme6createFAyaZ11initializedObZQCqFNcNfLObOC4core4sync5mutex5MutexZOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBgQBf12registryLockFNdZ4implC4core4sync5mutex5MutexZQCnFNcLQBfOCQBjQBhQBfQBcZ4flagOb@Base 13 + _D3std11concurrency__T8initOnceS_DQBgQBf12registryLockFNdZ4implC4core4sync5mutex5MutexZQCnFNcLQBfOCQBjQBhQBfQBcZQBx@Base 13 + _D3std11concurrency__T8initOnceS_DQBgQBf12registryLockFNdZ4implC4core4sync5mutex5MutexZQCnFNcLQBfZQBj@Base 13 + _D3std11mathspecial11__moduleRefZ@Base 13 + _D3std11mathspecial11logmdigammaFNaNbNiNfeZe@Base 13 + _D3std11mathspecial12__ModuleInfoZ@Base 13 + _D3std11mathspecial14betaIncompleteFNaNbNiNfeeeZe@Base 13 + _D3std11mathspecial15gammaIncompleteFNaNbNiNfeeZe@Base 13 + _D3std11mathspecial18logmdigammaInverseFNaNbNiNfeZe@Base 13 + _D3std11mathspecial18normalDistributionFNaNbNiNfeZe@Base 13 + _D3std11mathspecial20gammaIncompleteComplFNaNbNiNfeeZe@Base 13 + _D3std11mathspecial21betaIncompleteInverseFNaNbNiNfeeeZe@Base 13 + _D3std11mathspecial25normalDistributionInverseFNaNbNiNfeZe@Base 13 + _D3std11mathspecial27gammaIncompleteComplInverseFNaNbNiNfeeZe@Base 13 + _D3std11mathspecial3erfFNaNbNiNfeZe@Base 13 + _D3std11mathspecial4betaFNaNbNiNfeeZe@Base 13 + _D3std11mathspecial4erfcFNaNbNiNfeZe@Base 13 + _D3std11mathspecial5gammaFNaNbNiNfeZe@Base 13 + _D3std11mathspecial7digammaFNaNbNiNfeZe@Base 13 + _D3std11mathspecial8logGammaFNaNbNiNfeZe@Base 13 + _D3std11mathspecial8sgnGammaFNaNbNiNfeZe@Base 13 + _D3std11parallelism10foreachErrFZv@Base 13 + _D3std11parallelism11__moduleRefZ@Base 13 + _D3std11parallelism12AbstractTask11__xopEqualsMxFKxSQByQBxQBnZb@Base 13 + _D3std11parallelism12AbstractTask3jobMFZv@Base 13 + _D3std11parallelism12AbstractTask4doneMFNdZb@Base 13 + _D3std11parallelism12AbstractTask6__initZ@Base 13 + _D3std11parallelism12AbstractTask9__xtoHashFNbNeKxSQBxQBwQBmZm@Base 13 + _D3std11parallelism12__ModuleInfoZ@Base 13 + _D3std11parallelism13totalCPUsImplFNbNiNeZk@Base 13 + _D3std11parallelism16submitAndExecuteFCQBlQBk8TaskPoolMDFZvZv@Base 13 + _D3std11parallelism17ParallelismThread6__ctorMFDFZvZCQBzQByQBo@Base 13 + _D3std11parallelism17ParallelismThread6__initZ@Base 13 + _D3std11parallelism17ParallelismThread6__vtblZ@Base 13 + _D3std11parallelism17ParallelismThread7__ClassZ@Base 13 + _D3std11parallelism17cacheLineSizeImplFNbNiNeZm@Base 13 + _D3std11parallelism18defaultPoolThreadsFNdNeZk@Base 13 + _D3std11parallelism18defaultPoolThreadsFNdNekZv@Base 13 + _D3std11parallelism19_defaultPoolThreadsOk@Base 13 + _D3std11parallelism20ParallelForeachError6__ctorMFZCQByQBxQBn@Base 13 + _D3std11parallelism20ParallelForeachError6__initZ@Base 13 + _D3std11parallelism20ParallelForeachError6__vtblZ@Base 13 + _D3std11parallelism20ParallelForeachError7__ClassZ@Base 13 + _D3std11parallelism26_sharedStaticDtor_L1074_C1FZv@Base 13 + _D3std11parallelism8TaskPool10deleteItemMFPSQBqQBp12AbstractTaskZb@Base 13 + _D3std11parallelism8TaskPool10waiterLockMFZv@Base 13 + _D3std11parallelism8TaskPool11abstractPutMFPSQBrQBq12AbstractTaskZv@Base 13 + _D3std11parallelism8TaskPool11queueUnlockMFZv@Base 13 + _D3std11parallelism8TaskPool11threadIndexm@Base 13 + _D3std11parallelism8TaskPool11workerIndexMxFNbNdNfZm@Base 13 + _D3std11parallelism8TaskPool12doSingleTaskMFZv@Base 13 + _D3std11parallelism8TaskPool12waiterUnlockMFZv@Base 13 + _D3std11parallelism8TaskPool13notifyWaitersMFZv@Base 13 + _D3std11parallelism8TaskPool13startWorkLoopMFZv@Base 13 + _D3std11parallelism8TaskPool15executeWorkLoopMFZv@Base 13 + _D3std11parallelism8TaskPool16deleteItemNoSyncMFPSQBwQBv12AbstractTaskZb@Base 13 + _D3std11parallelism8TaskPool16tryDeleteExecuteMFPSQBwQBv12AbstractTaskZv@Base 13 + _D3std11parallelism8TaskPool17abstractPutNoSyncMFPSQBxQBw12AbstractTaskZv@Base 13 + _D3std11parallelism8TaskPool17nextInstanceIndexm@Base 13 + _D3std11parallelism8TaskPool19defaultWorkUnitSizeMxFNaNbNfmZm@Base 13 + _D3std11parallelism8TaskPool19waitUntilCompletionMFZv@Base 13 + _D3std11parallelism8TaskPool22abstractPutGroupNoSyncMFPSQCcQCb12AbstractTaskQwZv@Base 13 + _D3std11parallelism8TaskPool3popMFZPSQBjQBi12AbstractTask@Base 13 + _D3std11parallelism8TaskPool4sizeMxFNaNbNdNfZm@Base 13 + _D3std11parallelism8TaskPool4stopMFNeZv@Base 13 + _D3std11parallelism8TaskPool4waitMFZv@Base 13 + _D3std11parallelism8TaskPool5doJobMFPSQBkQBj12AbstractTaskZv@Base 13 + _D3std11parallelism8TaskPool6__ctorMFNeZCQBnQBmQBc@Base 13 + _D3std11parallelism8TaskPool6__ctorMFNemZCQBoQBnQBd@Base 13 + _D3std11parallelism8TaskPool6__ctorMFPSQBlQBk12AbstractTaskiZCQCiQChQBx@Base 13 + _D3std11parallelism8TaskPool6__initZ@Base 13 + _D3std11parallelism8TaskPool6__vtblZ@Base 13 + _D3std11parallelism8TaskPool6finishMFNebZv@Base 13 + _D3std11parallelism8TaskPool6notifyMFZv@Base 13 + _D3std11parallelism8TaskPool7__ClassZ@Base 13 + _D3std11parallelism8TaskPool8isDaemonMFNdNeZb@Base 13 + _D3std11parallelism8TaskPool8isDaemonMFNdNebZv@Base 13 + _D3std11parallelism8TaskPool8priorityMFNdNeZi@Base 13 + _D3std11parallelism8TaskPool8priorityMFNdNeiZv@Base 13 + _D3std11parallelism8TaskPool9notifyAllMFZv@Base 13 + _D3std11parallelism8TaskPool9popNoSyncMFZPSQBpQBo12AbstractTask@Base 13 + _D3std11parallelism8TaskPool9queueLockMFZv@Base 13 + _D3std11parallelism8taskPoolFNdNeZ4poolCQBmQBl8TaskPool@Base 13 + _D3std11parallelism8taskPoolFNdNeZ9__lambda2FNfZCQBvQBu8TaskPool@Base 13 + _D3std11parallelism8taskPoolFNdNeZCQBhQBg8TaskPool@Base 13 + _D3std11parallelism__T10scopedTaskTDFZvZQsFMQjZSQBuQBt__T4TaskSQCjQCi3runTQBnZQv@Base 13 + _D3std11parallelism__T14atomicCasUbyteTEQBmQBl8TaskPool9PoolStateZQBsFNaNbNiKQBmQBpQBsZb@Base 13 + _D3std11parallelism__T14atomicSetUbyteTEQBmQBl8TaskPool9PoolStateZQBsFNaNbNiKQBmQBpZv@Base 13 + _D3std11parallelism__T14atomicSetUbyteThZQtFNaNbNiKhhZv@Base 13 + _D3std11parallelism__T15atomicReadUbyteTEQBnQBm8TaskPool9PoolStateZQBtFNaNbNiKQBmZh@Base 13 + _D3std11parallelism__T15atomicReadUbyteThZQuFNaNbNiKhZh@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTykVki4294967295S_DQCqQCp13totalCPUsImplFNbNiNeZkZQDbFNaNbNdNiNfZyk@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTykVki4294967295S_DQCqQCp13totalCPUsImplFNbNiNeZkZQDbFNaNdZ4implFNbNiNfZyk@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTykVki4294967295S_DQCqQCp13totalCPUsImplFNbNiNeZkZQDbFNaNdZ4implFNbZ3tlsk@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTykVki4294967295S_DQCqQCp13totalCPUsImplFNbNiNeZkZQDbFNaNdZ4implFNbZ6resultOk@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTymVmN1S_DQChQCg17cacheLineSizeImplFNbNiNeZmZQCwFNaNbNdNiNfZym@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTymVmN1S_DQChQCg17cacheLineSizeImplFNbNiNeZmZQCwFNaNdZ4implFNbNiNfZym@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTymVmN1S_DQChQCg17cacheLineSizeImplFNbNiNeZmZQCwFNaNdZ4implFNbZ3tlsm@Base 13 + _D3std11parallelism__T27__lazilyInitializedConstantTymVmN1S_DQChQCg17cacheLineSizeImplFNbNiNeZmZQCwFNaNdZ4implFNbZ6resultOm@Base 13 + _D3std11parallelism__T3runTDFZvZQkFQiZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv10yieldForceMFNcNdNeZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv11__xopEqualsMxFKxSQCkQCj__TQBzSQCxQCwQByTQBxZQCrZb@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv11enforcePoolMFNaNfZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv18executeInNewThreadMFNeZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv18executeInNewThreadMFNeiZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv4doneMFNdNeZb@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv4implFPvZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv6__ctorMFNaNbNcNiNfQBaZSQCpQCo__TQCeSQDcQDbQCdTQCcZQCw@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv6__dtorMFNfZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv6__initZ@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv7basePtrMFNaNbNdNiNfZPSQCoQCn12AbstractTask@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv8opAssignMFNfSQCfQCe__TQBuSQCsQCrQBtTQBsZQCmZQBg@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv9__xtoHashFNbNeKxSQCjQCi__TQBySQCwQCvQBxTQBwZQCqZm@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv9spinForceMFNcNdNeZv@Base 13 + _D3std11parallelism__T4TaskSQBaQz3runTDFZvZQv9workForceMFNcNdNeZv@Base 13 + _D3std12__ModuleInfoZ@Base 13 + _D3std12experimental10checkedint11__moduleRefZ@Base 13 + _D3std12experimental10checkedint12__ModuleInfoZ@Base 13 + _D3std12experimental6logger10filelogger11__moduleRefZ@Base 13 + _D3std12experimental6logger10filelogger12__ModuleInfoZ@Base 13 + _D3std12experimental6logger10nulllogger11__moduleRefZ@Base 13 + _D3std12experimental6logger10nulllogger12__ModuleInfoZ@Base 13 + _D3std12experimental6logger11__moduleRefZ@Base 13 + _D3std12experimental6logger11multilogger11__moduleRefZ@Base 13 + _D3std12experimental6logger11multilogger12__ModuleInfoZ@Base 13 + _D3std12experimental6logger12__ModuleInfoZ@Base 13 + _D3std12experimental6logger4core11__moduleRefZ@Base 13 + _D3std12experimental6logger4core12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator10IAllocator11__InterfaceZ@Base 13 + _D3std12experimental9allocator10mallocator10Mallocator10deallocateMOxFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator10mallocator10Mallocator10reallocateMOxFNaNbNiKAvmZb@Base 13 + _D3std12experimental9allocator10mallocator10Mallocator6__initZ@Base 13 + _D3std12experimental9allocator10mallocator10Mallocator8allocateMOxFNaNbNiNemZAv@Base 13 + _D3std12experimental9allocator10mallocator10Mallocator8instanceOSQClQCkQBzQBsQBj@Base 13 + _D3std12experimental9allocator10mallocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator10mallocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator10deallocateMOFNbNiAvZb@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator10reallocateMOFNbNiKAvmZb@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator15alignedAllocateMOFNbNiNemkZAv@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator17alignedReallocateMOFNbNiKAvmkZb@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator6__initZ@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator8allocateMOFNbNiNemZAv@Base 13 + _D3std12experimental9allocator10mallocator17AlignedMallocator8instanceOSQCsQCrQCgQBzQBq@Base 13 + _D3std12experimental9allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator12RCIAllocator10__postblitMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator12RCIAllocator10deallocateMFNbAvZb@Base 13 + _D3std12experimental9allocator12RCIAllocator10reallocateMFNbKAvmZb@Base 13 + _D3std12experimental9allocator12RCIAllocator11__xopEqualsMxFKxSQCjQCiQBxQBqZb@Base 13 + _D3std12experimental9allocator12RCIAllocator11allocateAllMFNbZAv@Base 13 + _D3std12experimental9allocator12RCIAllocator13deallocateAllMFNbZb@Base 13 + _D3std12experimental9allocator12RCIAllocator13goodAllocSizeMFNbmZm@Base 13 + _D3std12experimental9allocator12RCIAllocator15alignedAllocateMFNbmkZAv@Base 13 + _D3std12experimental9allocator12RCIAllocator17alignedReallocateMFNbKAvmkZb@Base 13 + _D3std12experimental9allocator12RCIAllocator22resolveInternalPointerMFNbxPvKAvZSQDa8typecons7Ternary@Base 13 + _D3std12experimental9allocator12RCIAllocator4ownsMFNbAvZSQCd8typecons7Ternary@Base 13 + _D3std12experimental9allocator12RCIAllocator5emptyMFNbZSQCc8typecons7Ternary@Base 13 + _D3std12experimental9allocator12RCIAllocator6__dtorMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator12RCIAllocator6__initZ@Base 13 + _D3std12experimental9allocator12RCIAllocator6expandMFNbKAvmZb@Base 13 + _D3std12experimental9allocator12RCIAllocator8allocateMFNbmC8TypeInfoZAv@Base 13 + _D3std12experimental9allocator12RCIAllocator9__xtoHashFNbNeKxSQCiQChQBwQBpZm@Base 13 + _D3std12experimental9allocator12RCIAllocator9alignmentMFNbNdZk@Base 13 + _D3std12experimental9allocator12RCIAllocator__T6__ctorTSQCcQCbQBqQBjZQwMFNaNbNcNiNfCQDeQDdQCs10IAllocatorZQBz@Base 13 + _D3std12experimental9allocator12RCIAllocator__T6isNullTSQCcQCbQBqQBjZQwMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator12RCIAllocator__T8opAssignZQkMFNaNbNcNiNfSQCsQCrQCgQBzZQo@Base 13 + _D3std12experimental9allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator10deallocateMOxFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator10reallocateMOxFNaNbKAvmZb@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator13goodAllocSizeMOxFNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator22resolveInternalPointerMOxFNaNbNiNexPvKAvZSQDv8typecons7Ternary@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator6__initZ@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator6expandMOxFNaNbNeKAvmZb@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator7collectMOxFNbNeZv@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator8allocateMOxFNaNbNemZAv@Base 13 + _D3std12experimental9allocator12gc_allocator11GCAllocator8instanceOxSQCpQCoQCdQBwQBl@Base 13 + _D3std12experimental9allocator12gc_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator12gc_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator12theAllocatorFNbNcNdNiNfZSQCdQCcQBr12RCIAllocator@Base 13 + _D3std12experimental9allocator12theAllocatorFNbNdNiSQByQBxQBm12RCIAllocatorZv@Base 13 + _D3std12experimental9allocator14mmap_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator14mmap_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator14mmap_allocator13MmapAllocator10deallocateMOxFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator14mmap_allocator13MmapAllocator6__initZ@Base 13 + _D3std12experimental9allocator14mmap_allocator13MmapAllocator8allocateMOxFNaNbNiNfmZ9__lambda2FNaNbNiNeZi@Base 13 + _D3std12experimental9allocator14mmap_allocator13MmapAllocator8allocateMOxFNaNbNiNfmZAv@Base 13 + _D3std12experimental9allocator14mmap_allocator13MmapAllocator8instanceOxSQCtQCsQChQCaQBn@Base 13 + _D3std12experimental9allocator15building_blocks10bucketizer11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks10bucketizer12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks10segregator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks10segregator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe10deallocateMFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe11__xopEqualsMxFKxSQHmQHlQHaQGtQGf__TQFsTQFgTQDpZQGeZb@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe12addAllocatorMFNaNbNimZPSQHtQHsQHhQHaQGm__TQFzTQFnTQDwZQGl4Node@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe13deallocateAllMFNaNbNiZb@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe14moveAllocatorsMFNaNbNiAvZv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe15alignedAllocateMFNaNbNimkZAv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node11__fieldDtorMFNaNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node6unusedMxFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node8opAssignMFNaNbNcNiNjSQHuQHtQHiQHbQGn__TQGaTQFoTQDxZQGmQCiZQBm@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4Node9setUnusedMFNaNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4makeMFNaNbNimZSQHjQHiQGxQGq6region__T6RegionTSQIoQInQIc14mmap_allocator13MmapAllocatorVki16VEQKj8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4ownsMFNaNbNiNfAvZSQHm8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe5emptyMxFNaNbNiNfZSQHm8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6__ctorMFNaNbNcNiNfKQElZSQHsQHrQHgQGzQGl__TQFyTQFmTQDvZQGk@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6__ctorMFNaNbNcNiNfQEkZSQHrQHqQHfQGyQGk__TQFxTQFlTQDuZQGj@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6__dtorMFNaNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe6expandMFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe8allocateMFNaNbNimZAv@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe8opAssignMFNaNbNcNiNjSQHpQHoQHdQGwQGi__TQFvTQFjTQDsZQGhZQBj@Base 13 + _D3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe9__xtoHashFNbNeKxSQHlQHkQGzQGsQGe__TQFrTQFfTQDoZQGdZm@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator10deallocateMOFNaNbNiNfAvZb@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator10reallocateMOFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator11allocateAllMOFNaNbNiNfZAv@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator13deallocateAllMOFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator15alignedAllocateMOFNaNbNiNfmkZAv@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator17alignedReallocateMOFNaNbNiNfKAvmkZb@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator22resolveInternalPointerMOxFNaNbNiNfxPvKAvZSQEq8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator4ownsMOxFNaNbNiNfxAvZSQDu8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator5emptyMOxFNaNbNiNfZSQDs8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator6expandMOFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator8allocateMOFNaNbNiNfmZAv@Base 13 + _D3std12experimental9allocator15building_blocks14null_allocator13NullAllocator8instanceOSQDjQDiQCxQCqQCcQBp@Base 13 + _D3std12experimental9allocator15building_blocks15affix_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks15affix_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block11leadingOnesFNaNbNiNfmZk@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block13setBitsIfZeroFNaNbNiNfKmkkZb@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block14findContigOnesFNaNbNiNfmkZk@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block7setBitsFNaNbNiNfKmkkZv@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector11__xopEqualsMxFKxSQDnQDmQDbQCuQCgQBsZb@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector13find1BackwardMFNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector13opIndexAssignMFNaNbNiNfbmZv@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector13opSliceAssignMFNaNbNiNfbZv@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector13opSliceAssignMFNaNbNiNfbmmZv@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector5find1MFNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector6__ctorMFNaNbNcNiNfAmZSQDrQDqQDfQCyQCkQBw@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector6lengthMxFNaNbNiNfZm@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector7allAre0MxFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector7allAre1MxFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector7opIndexMFNaNbNiNfmZb@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector9__xtoHashFNbNeKxSQDmQDlQDaQCtQCfQBrZm@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9BitVector9findZerosMFNaNbNiNfymmZm@Base 13 + _D3std12experimental9allocator15building_blocks15bitmapped_block9resetBitsFNaNbNiNfKmkkZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector7Options6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq10deallocateMFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq10reallocateMFNaNbNiKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq11__fieldDtorMFNaNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq13deallocateAllMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq15alignedAllocateMFNaNbNiNfmkZAv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq4ownsMFNaNbNiNfAvZSQJzQDu7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq5emptyMFNaNbNiNfZSQJyQDt7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq6defineFNaNbNfQCuAQCyXQDc@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq6expandMFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq8allocateMFNaNbNiNfmZAv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq8opAssignMFNaNbNcNiNjSQKcQKbQJqQJjQIv__TQIhTQHuVmi4096Vmi0ZQJaZQBq@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq9bytesUsedMxFNaNbNiNfZxm@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVki0VQDfa13_6e756d4465616c6c6f63617465VQEna15_6279746573436f6e74726163746564ZQDqMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVki0VQDfa13_6e756d5265616c6c6f63617465VQEna15_6e756d5265616c6c6f636174654f4bVQFza20_6e756d5265616c6c6f63617465496e506c616365VQHva13_62797465734e6f744d6f766564VQJda13_6279746573457870616e646564VQKla15_6279746573436f6e74726163746564VQLxa10_62797465734d6f766564ZQKqMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVki0VQDfa16_6e756d4465616c6c6f63617465416c6cZQCkMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVki0VQDfa7_6e756d4f776e73ZQBrMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVki0VQDfa9_6e756d457870616e64VQEea11_6e756d457870616e644f4bVQFia13_6279746573457870616e646564VQGqa14_6279746573416c6c6f6361746564ZQFrMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVmi0VQDfa11_6e756d416c6c6f63617465VQEja13_6e756d416c6c6f636174654f4bVQFra14_6279746573416c6c6f6361746564ZQEsMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10addPerCallVQCwnVmi0VQDfa18_6e756d416c69676e6564416c6c6f63617465VQExa20_6e756d416c69676e6564416c6c6f636174654f6bVQGta14_6279746573416c6c6f6361746564ZQFuMFNaNbNiNfAmXv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T10expandImplVnnVii0ZQuMFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T12allocateImplVnnVii0ZQwMFNaNbNiNfmZAv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T14deallocateImplVnnVii0ZQyMFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T14reallocateImplVnnVii0ZQyMFNaNbNiKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T17deallocateAllImplVnnVii0ZQBbMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T19alignedAllocateImplVnnVii0ZQBdMFNaNbNiNfmkZAv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna11_6e756d416c6c6f63617465ZQBiMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna11_6e756d457870616e644f4bZQBiMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna13_6e756d4465616c6c6f63617465ZQBmMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna13_6e756d5265616c6c6f63617465ZQBmMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna15_6e756d5265616c6c6f636174654f4bZQBqMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna16_6e756d4465616c6c6f63617465416c6cZQBsMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna18_6e756d416c69676e6564416c6c6f63617465ZQBwMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna20_6e756d5265616c6c6f63617465496e506c616365ZQCaMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna7_6e756d4f776e73ZQzMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T2upVQCna9_6e756d457870616e64ZQBdMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa10_62797465734d6f766564ZQBhMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa10_6279746573536c61636bZQBhMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa11_6e756d416c6c6f63617465ZQBjMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa11_6e756d457870616e644f4bZQBjMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa13_6279746573457870616e646564ZQBnMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa13_62797465734e6f744d6f766564ZQBnMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa13_6e756d416c6c6f636174654f4bZQBnMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa13_6e756d4465616c6c6f63617465ZQBnMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa13_6e756d5265616c6c6f63617465ZQBnMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa14_6279746573416c6c6f6361746564ZQBpMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa15_6279746573436f6e74726163746564ZQBrMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa15_6e756d5265616c6c6f636174654f4bZQBrMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa16_6e756d4465616c6c6f63617465416c6cZQBtMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa18_6e756d416c69676e6564416c6c6f63617465ZQBxMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa20_6e756d416c69676e6564416c6c6f636174654f6bZQCbMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa20_6e756d5265616c6c6f63617465496e506c616365ZQCbMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa7_6e756d4f776e73ZQBaMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa9_627974657355736564ZQBeMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T3addVQCoa9_6e756d457870616e64ZQBeMFNaNbNiNflZv@Base 13 + _D3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGq__T8ownsImplVnnVii0ZQrMFNaNbNiNfAvZSQKqQEl7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks16scoped_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks16scoped_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks17kernighan_ritchie11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks17kernighan_ritchie12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks18aligned_block_list11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks18aligned_block_list12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks18fallback_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks18fallback_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator15alignedAllocateMFNbNimkZAv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator5emptyMFNbNiZSQEf8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator6__dtorMFNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator6expandMFNbNiKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator8allocateMFNbNimZAv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator8opAssignMFNbNcNiNjSQElQEkQDzQDsQDeQChZQu@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin1510deallocateMFNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin1513deallocateAllMFNbNiZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin1513goodAllocSizeMFNbNimZm@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin1516getAvailableSizeMFNbNiZm@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin1522extendMemoryProtectionMFNbNiPvmZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin154ownsMFNbNiAvZSQEq8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator22AscendingPageAllocator9__mixin156__ctorMFNbNcNimZSQEtQEsQEhQEaQDmQCp@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator12allocateImplMOFNbNimkZAv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator15alignedAllocateMOFNbNimkZAv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator6expandMOFNbNiKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator8allocateMOFNbNimZAv@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin1510deallocateMOFNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin1513deallocateAllMOFNbNiZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin1513goodAllocSizeMOFNbNimZm@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin1516getAvailableSizeMOFNbNiZm@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin1522extendMemoryProtectionMOFNbNiPvmZb@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin154ownsMOFNbNiAvZSQEx8typecons7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks24ascending_page_allocator28SharedAscendingPageAllocator9__mixin156__ctorMOFNbNcNimZOSQFbQFaQEpQEiQDuQCx@Base 13 + _D3std12experimental9allocator15building_blocks6region11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks6region12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg10deallocateMFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg10roundedEndMxFNaNbNiNeZPv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg11allocateAllMFNaNbNiNeZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg12roundedBeginMxFNaNbNiNeZPv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg13deallocateAllMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg13goodAllocSizeMxFNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg15alignedAllocateMFNaNbNiNemkZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg4ownsMxFNaNbNiNexAvZSQGhQDh7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg5emptyMxFNaNbNiNfZSQGfQDf7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg6__ctorMFNaNbNcNiAhZSQGhQGgQFvQFoQFa__TQEwVki16VQEji0ZQFl@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg6expandMFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg8allocateMFNaNbNiNemZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T14BorrowedRegionVki16VEQDa8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQDg9availableMxFNaNbNiNfZm@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn10deallocateMFNaNbNiAvZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn10roundedEndMxFNaNbNiNeZPv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn11allocateAllMFNaNbNiNeZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn12roundedBeginMxFNaNbNiNeZPv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn13deallocateAllMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn13goodAllocSizeMxFNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn15alignedAllocateMFNaNbNiNemkZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn4ownsMxFNaNbNiNexAvZSQHoQDh7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn5emptyMxFNaNbNiNfZSQHmQDf7Ternary@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6__ctorMFNaNbNcNiAhZSQHoQHnQHcQGvQGh__TQGdTQFzVki16VQEni0ZQGw@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6__ctorMFNaNbNcNimZSQHnQHmQHbQGuQGg__TQGcTQFyVki16VQEmi0ZQGv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6__dtorMFNaNbNiZv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6__initZ@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn6expandMFNaNbNiNfKAvmZb@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn8allocateMFNaNbNiNemZAv@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn8opAssignMFNaNbNcNiNjSQHpQHoQHdQGwQGi__TQGeTQGaVki16VQEoi0ZQGxZQBq@Base 13 + _D3std12experimental9allocator15building_blocks6region__T6RegionTSQCmQClQCa14mmap_allocator13MmapAllocatorVki16VEQEh8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn9availableMxFNaNbNiNfZm@Base 13 + _D3std12experimental9allocator15building_blocks9free_list11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks9free_list12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks9free_tree11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks9free_tree12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator15building_blocks9quantizer11__moduleRefZ@Base 13 + _D3std12experimental9allocator15building_blocks9quantizer12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator16ISharedAllocator11__InterfaceZ@Base 13 + _D3std12experimental9allocator16_threadAllocatorSQBvQBuQBj12RCIAllocator@Base 13 + _D3std12experimental9allocator16processAllocatorFNbNcNdNiNeZ15forceAttributesFZPOSQDcQDbQCq18RCISharedAllocator@Base 13 + _D3std12experimental9allocator16processAllocatorFNbNcNdNiNeZOSQCiQChQBw18RCISharedAllocator@Base 13 + _D3std12experimental9allocator16processAllocatorFNbNdNiKOSQCeQCdQBs18RCISharedAllocatorZv@Base 13 + _D3std12experimental9allocator17_processAllocatorOSQBxQBwQBl18RCISharedAllocator@Base 13 + _D3std12experimental9allocator18RCISharedAllocator10__postblitMOFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator18RCISharedAllocator10deallocateMOFNbAvZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator10reallocateMOFNbKAvmZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator11__xopEqualsMxFKOxSQCqQCpQCeQBxZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator11allocateAllMOFNbZAv@Base 13 + _D3std12experimental9allocator18RCISharedAllocator13deallocateAllMOFNbZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator13goodAllocSizeMOFNbmZm@Base 13 + _D3std12experimental9allocator18RCISharedAllocator15alignedAllocateMOFNbmkZAv@Base 13 + _D3std12experimental9allocator18RCISharedAllocator17alignedReallocateMOFNbKAvmkZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator22resolveInternalPointerMOFNbxPvKAvZSQDh8typecons7Ternary@Base 13 + _D3std12experimental9allocator18RCISharedAllocator4ownsMOFNbAvZSQCk8typecons7Ternary@Base 13 + _D3std12experimental9allocator18RCISharedAllocator5emptyMOFNbZSQCj8typecons7Ternary@Base 13 + _D3std12experimental9allocator18RCISharedAllocator6__ctorMOFNaNbNcNiNfOCQCsQCrQCg16ISharedAllocatorZOSQDwQDvQDkQDd@Base 13 + _D3std12experimental9allocator18RCISharedAllocator6__dtorMOFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator18RCISharedAllocator6__initZ@Base 13 + _D3std12experimental9allocator18RCISharedAllocator6expandMOFNbKAvmZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator8allocateMOFNbmC8TypeInfoZAv@Base 13 + _D3std12experimental9allocator18RCISharedAllocator9__xtoHashFNbNeKOxSQCpQCoQCdQBwZm@Base 13 + _D3std12experimental9allocator18RCISharedAllocator9alignmentMOFNbNdZk@Base 13 + _D3std12experimental9allocator18RCISharedAllocator__T6isNullTOSQCjQCiQBxQBqZQxMOFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator18RCISharedAllocator__T8opAssignZQkMOFNaNbNcNiNfOSQDaQCzQCoQChZOQp@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator10deallocateMFNbAvZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator10reallocateMFNbKAvmZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator11__fieldDtorMFNaNbNiNlNeZv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator11allocateAllMFNbZAv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator13deallocateAllMFNbZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator13goodAllocSizeMFNbmZm@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator15alignedAllocateMFNbmkZAv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator17alignedReallocateMFNbKAvmkZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator22resolveInternalPointerMFNbxPvKAvZSQEj8typecons7Ternary@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator4ownsMFNbAvZSQDm8typecons7Ternary@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator5emptyMFNbZSQDl8typecons7Ternary@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6__ctorMFNaNbNiNfKOSQDtQDsQDh18RCISharedAllocatorZCQEyQExQEmQEfFNbNcNiNfZQDm@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6__initZ@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6__vtblZ@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6decRefMFNaNbNiNfZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6expandMFNbKAvmZb@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6incRefMFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator7__ClassZ@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator8allocateMFNbmC8TypeInfoZAv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator9alignmentMFNbNdZk@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ21_threadAllocatorStateG4m@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ9__lambda3FNbNiNeZv@Base 13 + _D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZSQCjQCiQBx12RCIAllocator@Base 13 + _D3std12experimental9allocator5typed11__moduleRefZ@Base 13 + _D3std12experimental9allocator5typed12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator6common11__moduleRefZ@Base 13 + _D3std12experimental9allocator6common11alignDownToFNaNbNiNkMPvkZQe@Base 13 + _D3std12experimental9allocator6common12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator6common13divideRoundUpFNaNbNiNfmmZm@Base 13 + _D3std12experimental9allocator6common13trailingZerosFNaNbNiNfmZk@Base 13 + _D3std12experimental9allocator6common15forwardToMemberFAyaAQeXQh@Base 13 + _D3std12experimental9allocator6common17roundUpToPowerOf2FNaNbNiNfmZm@Base 13 + _D3std12experimental9allocator6common18effectiveAlignmentFNaNbNiPvZm@Base 13 + _D3std12experimental9allocator6common18roundUpToAlignmentFNaNbNiAvkZQe@Base 13 + _D3std12experimental9allocator6common18roundUpToAlignmentFNaNbNiNfmkZm@Base 13 + _D3std12experimental9allocator6common19roundUpToMultipleOfFNaNbNiNfmkZm@Base 13 + _D3std12experimental9allocator6common20roundDownToAlignmentFNaNbNiNfmkZm@Base 13 + _D3std12experimental9allocator6common21isGoodStaticAlignmentFNaNbNiNfkZb@Base 13 + _D3std12experimental9allocator6common22isGoodDynamicAlignmentFNaNbNiNfkZb@Base 13 + _D3std12experimental9allocator6common22roundStartToMultipleOfFNaNbNiAvkZQe@Base 13 + _D3std12experimental9allocator6common9alignUpToFNaNbNiNkMPvkZQe@Base 13 + _D3std12experimental9allocator6common__T10reallocateTSQCaQBzQBo15building_blocks6region__T6RegionTSQDtQDsQDh14mmap_allocator13MmapAllocatorVki16VEQFo8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnZQGpFNaNbNiKQGnKAvmZb@Base 13 + _D3std12experimental9allocator6common__T13goodAllocSizeTSQCdQCcQBr15building_blocks15stats_collector__T14StatsCollectorTSQEpQEoQEdQCm6region__T6RegionTSQFuQFtQFi14mmap_allocator13MmapAllocatorVki16VEQHp8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqZQJfFNaNbNiNfKQJcmZm@Base 13 + _D3std12experimental9allocator6common__T9alignedAtTvZQnFNaNbNiNfPvkZb@Base 13 + _D3std12experimental9allocator8showcase11__moduleRefZ@Base 13 + _D3std12experimental9allocator8showcase12__ModuleInfoZ@Base 13 + _D3std12experimental9allocator8showcase14mmapRegionListFmZ7Factory6__ctorMFNcmZSQDaQCzQCoQChQCbFmZQBo@Base 13 + _D3std12experimental9allocator8showcase14mmapRegionListFmZ7Factory6__initZ@Base 13 + _D3std12experimental9allocator8showcase14mmapRegionListFmZ7Factory6opCallMFNaNbNimZSQDeQDdQCs15building_blocks6region__T6RegionTSQExQEwQEl14mmap_allocator13MmapAllocatorVki16VEQGs8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEn@Base 13 + _D3std12experimental9allocator8showcase14mmapRegionListFmZSQCfQCeQBt15building_blocks14allocator_list__T13AllocatorListTSQEpQEoQEdQDwQDqFmZ7FactoryTSQFrQFqQFfQDm14null_allocator13NullAllocatorZQDl@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk10deallocateMOFNbAvZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk10reallocateMOFNbKAvmZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk11allocateAllMOFNbZAv@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk13deallocateAllMOFNbZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk13goodAllocSizeMOFNbmZm@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk15alignedAllocateMOFNbmkZAv@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk17alignedReallocateMOFNbKAvmkZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk22resolveInternalPointerMOFNbxPvKAvZSQHdQDm7Ternary@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk4ownsMOFNbAvZSQGgQCp7Ternary@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk5emptyMOFNbZSQGfQCo7Ternary@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6__initZ@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6__vtblZ@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6decRefMOFNaNbNiNeZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6expandMOFNbKAvmZb@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6incRefMOFNaNbNiNfZv@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk7__ClassZ@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk8allocateMOFNbmC8TypeInfoZAv@Base 13 + _D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk9alignmentMOFNbNdZk@Base 13 + _D3std12experimental9allocator__T21sharedAllocatorObjectTOxSQCgQCfQBu12gc_allocator11GCAllocatorZQCmFNbKOxQBvZ5stateOG3m@Base 13 + _D3std12experimental9allocator__T21sharedAllocatorObjectTOxSQCgQCfQBu12gc_allocator11GCAllocatorZQCmFNbKOxQBvZ6resultOSQEnQEmQEb18RCISharedAllocator@Base 13 + _D3std12experimental9allocator__T21sharedAllocatorObjectTOxSQCgQCfQBu12gc_allocator11GCAllocatorZQCmFNbNiKOxQBxZOSQEiQEhQDw18RCISharedAllocator@Base 13 + _D3std3csv11__moduleRefZ@Base 13 + _D3std3csv12CSVException6__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQCnQCmQCl@Base 13 + _D3std3csv12CSVException6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCnQCmQCl@Base 13 + _D3std3csv12CSVException6__ctorMFNaNbNiNfAyammC6object9ThrowableQxmZCQCpQCoQCn@Base 13 + _D3std3csv12CSVException6__initZ@Base 13 + _D3std3csv12CSVException6__vtblZ@Base 13 + _D3std3csv12CSVException7__ClassZ@Base 13 + _D3std3csv12CSVException8toStringMxFNaNfZAya@Base 13 + _D3std3csv12__ModuleInfoZ@Base 13 + _D3std3csv23HeaderMismatchException6__initZ@Base 13 + _D3std3csv23HeaderMismatchException6__vtblZ@Base 13 + _D3std3csv23HeaderMismatchException7__ClassZ@Base 13 + _D3std3csv23HeaderMismatchException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDhQDgQDf@Base 13 + _D3std3csv23HeaderMismatchException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDhQDgQDf@Base 13 + _D3std3csv23IncompleteCellException6__initZ@Base 13 + _D3std3csv23IncompleteCellException6__vtblZ@Base 13 + _D3std3csv23IncompleteCellException7__ClassZ@Base 13 + _D3std3csv23IncompleteCellException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDhQDgQDf@Base 13 + _D3std3csv23IncompleteCellException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDhQDgQDf@Base 13 + _D3std3net4curl11__moduleRefZ@Base 13 + _D3std3net4curl12AutoProtocol6__initZ@Base 13 + _D3std3net4curl12__ModuleInfoZ@Base 13 + _D3std3net4curl13CurlException6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCrQCqQCpQCn@Base 13 + _D3std3net4curl13CurlException6__initZ@Base 13 + _D3std3net4curl13CurlException6__vtblZ@Base 13 + _D3std3net4curl13CurlException7__ClassZ@Base 13 + _D3std3net4curl19HTTPStatusException6__ctorMFNaNbNfiAyaQdmC6object9ThrowableZCQCyQCxQCwQCu@Base 13 + _D3std3net4curl19HTTPStatusException6__initZ@Base 13 + _D3std3net4curl19HTTPStatusException6__vtblZ@Base 13 + _D3std3net4curl19HTTPStatusException7__ClassZ@Base 13 + _D3std3net4curl20CurlTimeoutException6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCyQCxQCwQCu@Base 13 + _D3std3net4curl20CurlTimeoutException6__initZ@Base 13 + _D3std3net4curl20CurlTimeoutException6__vtblZ@Base 13 + _D3std3net4curl20CurlTimeoutException7__ClassZ@Base 13 + _D3std3net4curl3FTP10addCommandMFAxaZv@Base 13 + _D3std3net4curl3FTP10initializeMFZv@Base 13 + _D3std3net4curl3FTP11__fieldDtorMFZv@Base 13 + _D3std3net4curl3FTP13clearCommandsMFZv@Base 13 + _D3std3net4curl3FTP13contentLengthMFNdmZv@Base 13 + _D3std3net4curl3FTP15__fieldPostblitMFNaNbNiNlZv@Base 13 + _D3std3net4curl3FTP3dupMFZSQzQxQvQs@Base 13 + _D3std3net4curl3FTP3urlMFNdAxaZv@Base 13 + _D3std3net4curl3FTP4Impl11__xopEqualsMxFKxSQBpQBoQBnQBlQBkZb@Base 13 + _D3std3net4curl3FTP4Impl6__dtorMFZv@Base 13 + _D3std3net4curl3FTP4Impl6__initZ@Base 13 + _D3std3net4curl3FTP4Impl8opAssignMFNcNjSQBmQBlQBkQBiQBhZQr@Base 13 + _D3std3net4curl3FTP4Impl9__xtoHashFNbNeKxSQBoQBnQBmQBkQBjZm@Base 13 + _D3std3net4curl3FTP6__initZ@Base 13 + _D3std3net4curl3FTP6opCallFAxaZSQBeQBdQBcQBa@Base 13 + _D3std3net4curl3FTP6opCallFZSQBbQBaQzQw@Base 13 + _D3std3net4curl3FTP7performMFEQBc8typecons__T4FlagVAyaa12_7468726f774f6e4572726f72ZQBmZi@Base 13 + _D3std3net4curl3FTP8encodingMFNdAyaZv@Base 13 + _D3std3net4curl3FTP8encodingMFNdZAya@Base 13 + _D3std3net4curl3FTP8opAssignMFNcNjSQBhQBgQBfQBdZQo@Base 13 + _D3std3net4curl3FTP9__mixin1910dnsTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl3FTP9__mixin1910onProgressMFNdDFmmmmZiZv@Base 13 + _D3std3net4curl3FTP9__mixin1910setNoProxyMFAyaZv@Base 13 + _D3std3net4curl3FTP9__mixin1910tcpNoDelayMFNdbZv@Base 13 + _D3std3net4curl3FTP9__mixin1910verifyHostMFNdbZv@Base 13 + _D3std3net4curl3FTP9__mixin1910verifyPeerMFNdbZv@Base 13 + _D3std3net4curl3FTP9__mixin1911dataTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl3FTP9__mixin1912netInterfaceMFNdAxaZv@Base 13 + _D3std3net4curl3FTP9__mixin1912netInterfaceMFNdCQBu6socket15InternetAddressZv@Base 13 + _D3std3net4curl3FTP9__mixin1912netInterfaceMFNdxG4hZv@Base 13 + _D3std3net4curl3FTP9__mixin1914connectTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl3FTP9__mixin1914localPortRangeMFNdtZv@Base 13 + _D3std3net4curl3FTP9__mixin1916operationTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl3FTP9__mixin1917setAuthenticationMFAxaQdQfZv@Base 13 + _D3std3net4curl3FTP9__mixin1922setProxyAuthenticationMFAxaQdZv@Base 13 + _D3std3net4curl3FTP9__mixin1928defaultAsyncStringBufferSizek@Base 13 + _D3std3net4curl3FTP9__mixin195proxyMFNdAxaZv@Base 13 + _D3std3net4curl3FTP9__mixin196handleMFNcNdNjZSQBsQBrQBq4Curl@Base 13 + _D3std3net4curl3FTP9__mixin196onSendMFNdDFAvZmZv@Base 13 + _D3std3net4curl3FTP9__mixin197verboseMFNdbZv@Base 13 + _D3std3net4curl3FTP9__mixin198shutdownMFZv@Base 13 + _D3std3net4curl3FTP9__mixin199isStoppedMFNdZb@Base 13 + _D3std3net4curl3FTP9__mixin199localPortMFNdtZv@Base 13 + _D3std3net4curl3FTP9__mixin199onReceiveMFNdDFAhZmZv@Base 13 + _D3std3net4curl3FTP9__mixin199proxyPortMFNdtZv@Base 13 + _D3std3net4curl3FTP9__mixin199proxyTypeMFNdE3etc1cQBo9CurlProxyZv@Base 13 + _D3std3net4curl3FTP9getTimingMFE3etc1cQBc8CurlInfoKdZi@Base 13 + _D3std3net4curl4Curl10initializeMFZv@Base 13 + _D3std3net4curl4Curl10onProgressMFNdDFmmmmZiZv@Base 13 + _D3std3net4curl4Curl11errorStringMFiZAya@Base 13 + _D3std3net4curl4Curl13_seekCallbackUPvliZi@Base 13 + _D3std3net4curl4Curl13_sendCallbackUPammPvZm@Base 13 + _D3std3net4curl4Curl14onSocketOptionMFNdDFEQBp6socket8socket_tE3etc1cQCh12CurlSockTypeZiZv@Base 13 + _D3std3net4curl4Curl14throwOnStoppedMFAyaZv@Base 13 + _D3std3net4curl4Curl15onReceiveHeaderMFNdDFIAaZvZv@Base 13 + _D3std3net4curl4Curl16_receiveCallbackUxPammPvZm@Base 13 + _D3std3net4curl4Curl16clearIfSupportedMFE3etc1cQBl10CurlOptionZv@Base 13 + _D3std3net4curl4Curl17_progressCallbackUPvddddZi@Base 13 + _D3std3net4curl4Curl21_socketOptionCallbackUPvEQBt6socket8socket_tiZi@Base 13 + _D3std3net4curl4Curl22_receiveHeaderCallbackUxPammPvZm@Base 13 + _D3std3net4curl4Curl3dupMFZSQBaQzQxQu@Base 13 + _D3std3net4curl4Curl3setMFE3etc1cQx10CurlOptionAxaZv@Base 13 + _D3std3net4curl4Curl3setMFE3etc1cQx10CurlOptionPvZv@Base 13 + _D3std3net4curl4Curl3setMFE3etc1cQx10CurlOptionlZv@Base 13 + _D3std3net4curl4Curl5clearMFE3etc1cQz10CurlOptionZv@Base 13 + _D3std3net4curl4Curl5pauseMFbbZv@Base 13 + _D3std3net4curl4Curl6__initZ@Base 13 + _D3std3net4curl4Curl6_checkMFiZv@Base 13 + _D3std3net4curl4Curl6onSeekMFNdDFlE3etc1cQBf11CurlSeekPosZEQyQwQCb8CurlSeekZv@Base 13 + _D3std3net4curl4Curl6onSendMFNdDFAvZmZv@Base 13 + _D3std3net4curl4Curl7performMFEQBd8typecons__T4FlagVAyaa12_7468726f774f6e4572726f72ZQBmZi@Base 13 + _D3std3net4curl4Curl7stoppedMxFNdZb@Base 13 + _D3std3net4curl4Curl8shutdownMFZv@Base 13 + _D3std3net4curl4Curl9getTimingMFE3etc1cQBd8CurlInfoKdZi@Base 13 + _D3std3net4curl4Curl9onReceiveMFNdDFAhZmZv@Base 13 + _D3std3net4curl4CurlQkFNcNdZSQBbQBaQz7CurlAPI3API@Base 13 + _D3std3net4curl4HTTP10StatusLine11__xopEqualsMxFKxSQBxQBwQBvQBtQBrZb@Base 13 + _D3std3net4curl4HTTP10StatusLine5resetMFNfZv@Base 13 + _D3std3net4curl4HTTP10StatusLine6__initZ@Base 13 + _D3std3net4curl4HTTP10StatusLine8toStringMxFZAya@Base 13 + _D3std3net4curl4HTTP10StatusLine9__xtoHashFNbNeKxSQBwQBvQBuQBsQBqZm@Base 13 + _D3std3net4curl4HTTP10initializeMFZv@Base 13 + _D3std3net4curl4HTTP10statusLineMFNdZSQBkQBjQBiQBg10StatusLine@Base 13 + _D3std3net4curl4HTTP11__fieldDtorMFZv@Base 13 + _D3std3net4curl4HTTP11setPostDataMFAxvAyaZv@Base 13 + _D3std3net4curl4HTTP12maxRedirectsMFNdkZv@Base 13 + _D3std3net4curl4HTTP12setCookieJarMFAxaZv@Base 13 + _D3std3net4curl4HTTP12setUserAgentMFAxaZv@Base 13 + _D3std3net4curl4HTTP13contentLengthMFNdmZv@Base 13 + _D3std3net4curl4HTTP14flushCookieJarMFZv@Base 13 + _D3std3net4curl4HTTP15__fieldPostblitMFNaNbNiNlZv@Base 13 + _D3std3net4curl4HTTP15clearAllCookiesMFZv@Base 13 + _D3std3net4curl4HTTP15onReceiveHeaderMFNdDFIAaIQdZvZv@Base 13 + _D3std3net4curl4HTTP15parseStatusLineFNfxAaJSQBrQBqQBpQBn10StatusLineZb@Base 13 + _D3std3net4curl4HTTP15responseHeadersMFNdZHAyaQd@Base 13 + _D3std3net4curl4HTTP16addRequestHeaderMFAxaQdZv@Base 13 + _D3std3net4curl4HTTP16defaultUserAgentFNdZ3bufG63a@Base 13 + _D3std3net4curl4HTTP16defaultUserAgentFNdZ9userAgentAya@Base 13 + _D3std3net4curl4HTTP16defaultUserAgentFNdZAya@Base 13 + _D3std3net4curl4HTTP16setTimeConditionMFE3etc1cQBl12CurlTimeCondSQCl8datetime7systime7SysTimeZv@Base 13 + _D3std3net4curl4HTTP19clearRequestHeadersMFZv@Base 13 + _D3std3net4curl4HTTP19clearSessionCookiesMFZv@Base 13 + _D3std3net4curl4HTTP19defaultMaxRedirectsk@Base 13 + _D3std3net4curl4HTTP19onReceiveStatusLineMFNdDFSQBuQBtQBsQBq10StatusLineZvZv@Base 13 + _D3std3net4curl4HTTP20authenticationMethodMFNdE3etc1cQBr8CurlAuthZv@Base 13 + _D3std3net4curl4HTTP3dupMFZSQBaQzQxQu@Base 13 + _D3std3net4curl4HTTP3urlMFNdAxaZv@Base 13 + _D3std3net4curl4HTTP4Impl11__xopEqualsMxFKxSQBqQBpQBoQBmQBkZb@Base 13 + _D3std3net4curl4HTTP4Impl15onReceiveHeaderMFNdDFIAaIQdZvZv@Base 13 + _D3std3net4curl4HTTP4Impl6__dtorMFZv@Base 13 + _D3std3net4curl4HTTP4Impl6__initZ@Base 13 + _D3std3net4curl4HTTP4Impl8opAssignMFNcNjSQBnQBmQBlQBjQBhZQr@Base 13 + _D3std3net4curl4HTTP4Impl9__xtoHashFNbNeKxSQBpQBoQBnQBlQBjZm@Base 13 + _D3std3net4curl4HTTP6__initZ@Base 13 + _D3std3net4curl4HTTP6caInfoMFNdAxaZv@Base 13 + _D3std3net4curl4HTTP6methodMFNdEQBeQBdQBcQBa6MethodZv@Base 13 + _D3std3net4curl4HTTP6methodMFNdZEQBfQBeQBdQBb6Method@Base 13 + _D3std3net4curl4HTTP6opCallFAxaZSQBfQBeQBdQBb@Base 13 + _D3std3net4curl4HTTP6opCallFZSQBcQBbQBaQy@Base 13 + _D3std3net4curl4HTTP7performMFEQBd8typecons__T4FlagVAyaa12_7468726f774f6e4572726f72ZQBmZi@Base 13 + _D3std3net4curl4HTTP8opAssignMFNcNjSQBiQBhQBgQBeZQo@Base 13 + _D3std3net4curl4HTTP8postDataMFNdAxaZv@Base 13 + _D3std3net4curl4HTTP8postDataMFNdAxvZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610dnsTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610onProgressMFNdDFmmmmZiZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610setNoProxyMFAyaZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610tcpNoDelayMFNdbZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610verifyHostMFNdbZv@Base 13 + _D3std3net4curl4HTTP9__mixin4610verifyPeerMFNdbZv@Base 13 + _D3std3net4curl4HTTP9__mixin4611dataTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4HTTP9__mixin4612netInterfaceMFNdAxaZv@Base 13 + _D3std3net4curl4HTTP9__mixin4612netInterfaceMFNdCQBv6socket15InternetAddressZv@Base 13 + _D3std3net4curl4HTTP9__mixin4612netInterfaceMFNdxG4hZv@Base 13 + _D3std3net4curl4HTTP9__mixin4614connectTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4HTTP9__mixin4614localPortRangeMFNdtZv@Base 13 + _D3std3net4curl4HTTP9__mixin4616operationTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4HTTP9__mixin4617setAuthenticationMFAxaQdQfZv@Base 13 + _D3std3net4curl4HTTP9__mixin4622setProxyAuthenticationMFAxaQdZv@Base 13 + _D3std3net4curl4HTTP9__mixin4628defaultAsyncStringBufferSizek@Base 13 + _D3std3net4curl4HTTP9__mixin465proxyMFNdAxaZv@Base 13 + _D3std3net4curl4HTTP9__mixin466handleMFNcNdNjZSQBtQBsQBr4Curl@Base 13 + _D3std3net4curl4HTTP9__mixin466onSendMFNdDFAvZmZv@Base 13 + _D3std3net4curl4HTTP9__mixin467verboseMFNdbZv@Base 13 + _D3std3net4curl4HTTP9__mixin468shutdownMFZv@Base 13 + _D3std3net4curl4HTTP9__mixin469isStoppedMFNdZb@Base 13 + _D3std3net4curl4HTTP9__mixin469localPortMFNdtZv@Base 13 + _D3std3net4curl4HTTP9__mixin469onReceiveMFNdDFAhZmZv@Base 13 + _D3std3net4curl4HTTP9__mixin469proxyPortMFNdtZv@Base 13 + _D3std3net4curl4HTTP9__mixin469proxyTypeMFNdE3etc1cQBp9CurlProxyZv@Base 13 + _D3std3net4curl4HTTP9getTimingMFE3etc1cQBd8CurlInfoKdZi@Base 13 + _D3std3net4curl4HTTP9setCookieMFAxaZv@Base 13 + _D3std3net4curl4SMTP10initializeMFZv@Base 13 + _D3std3net4curl4SMTP11__fieldDtorMFZv@Base 13 + _D3std3net4curl4SMTP15__fieldPostblitMFNaNbNiNlZv@Base 13 + _D3std3net4curl4SMTP3urlMFNdAxaZv@Base 13 + _D3std3net4curl4SMTP4Impl6__dtorMFZv@Base 13 + _D3std3net4curl4SMTP4Impl6__initZ@Base 13 + _D3std3net4curl4SMTP4Impl7messageMFNdAyaZv@Base 13 + _D3std3net4curl4SMTP4Impl8opAssignMFNcNjSQBnQBmQBlQBjQBhZQr@Base 13 + _D3std3net4curl4SMTP6__initZ@Base 13 + _D3std3net4curl4SMTP6opCallFAxaZSQBfQBeQBdQBb@Base 13 + _D3std3net4curl4SMTP6opCallFZSQBcQBbQBaQy@Base 13 + _D3std3net4curl4SMTP7messageMFNdAyaZv@Base 13 + _D3std3net4curl4SMTP7performMFEQBd8typecons__T4FlagVAyaa12_7468726f774f6e4572726f72ZQBmZi@Base 13 + _D3std3net4curl4SMTP8opAssignMFNcNjSQBiQBhQBgQBeZQo@Base 13 + _D3std3net4curl4SMTP9__mixin1310dnsTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4SMTP9__mixin1310onProgressMFNdDFmmmmZiZv@Base 13 + _D3std3net4curl4SMTP9__mixin1310setNoProxyMFAyaZv@Base 13 + _D3std3net4curl4SMTP9__mixin1310tcpNoDelayMFNdbZv@Base 13 + _D3std3net4curl4SMTP9__mixin1310verifyHostMFNdbZv@Base 13 + _D3std3net4curl4SMTP9__mixin1310verifyPeerMFNdbZv@Base 13 + _D3std3net4curl4SMTP9__mixin1311dataTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4SMTP9__mixin1312netInterfaceMFNdAxaZv@Base 13 + _D3std3net4curl4SMTP9__mixin1312netInterfaceMFNdCQBv6socket15InternetAddressZv@Base 13 + _D3std3net4curl4SMTP9__mixin1312netInterfaceMFNdxG4hZv@Base 13 + _D3std3net4curl4SMTP9__mixin1314connectTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4SMTP9__mixin1314localPortRangeMFNdtZv@Base 13 + _D3std3net4curl4SMTP9__mixin1316operationTimeoutMFNdS4core4time8DurationZv@Base 13 + _D3std3net4curl4SMTP9__mixin1317setAuthenticationMFAxaQdQfZv@Base 13 + _D3std3net4curl4SMTP9__mixin1322setProxyAuthenticationMFAxaQdZv@Base 13 + _D3std3net4curl4SMTP9__mixin1328defaultAsyncStringBufferSizek@Base 13 + _D3std3net4curl4SMTP9__mixin135proxyMFNdAxaZv@Base 13 + _D3std3net4curl4SMTP9__mixin136handleMFNcNdNjZSQBtQBsQBr4Curl@Base 13 + _D3std3net4curl4SMTP9__mixin136onSendMFNdDFAvZmZv@Base 13 + _D3std3net4curl4SMTP9__mixin137verboseMFNdbZv@Base 13 + _D3std3net4curl4SMTP9__mixin138shutdownMFZv@Base 13 + _D3std3net4curl4SMTP9__mixin139isStoppedMFNdZb@Base 13 + _D3std3net4curl4SMTP9__mixin139localPortMFNdtZv@Base 13 + _D3std3net4curl4SMTP9__mixin139onReceiveMFNdDFAhZmZv@Base 13 + _D3std3net4curl4SMTP9__mixin139proxyPortMFNdtZv@Base 13 + _D3std3net4curl4SMTP9__mixin139proxyTypeMFNdE3etc1cQBp9CurlProxyZv@Base 13 + _D3std3net4curl7CurlAPI3API6__initZ@Base 13 + _D3std3net4curl7CurlAPI4_apiSQBbQBaQzQw3API@Base 13 + _D3std3net4curl7CurlAPI6__initZ@Base 13 + _D3std3net4curl7CurlAPI7_handlePv@Base 13 + _D3std3net4curl7CurlAPI7loadAPIFZ5namesyAAa@Base 13 + _D3std3net4curl7CurlAPI7loadAPIFZ7cleanupUZv@Base 13 + _D3std3net4curl7CurlAPI7loadAPIFZPv@Base 13 + _D3std3net4curl7CurlAPI8instanceFNcNdZSQBlQBkQBjQBh3API@Base 13 + _D3std3net4curl8isFTPUrlFAxaZb@Base 13 + _D3std3net7isemail10AsciiToken6__initZ@Base 13 + _D3std3net7isemail11EmailStatus10domainPartMxFNaNbNdNiNjNlNfZAya@Base 13 + _D3std3net7isemail11EmailStatus10statusCodeMxFNaNbNdNiNlNfZEQCgQCfQCe15EmailStatusCode@Base 13 + _D3std3net7isemail11EmailStatus11__xopEqualsMxFKxSQBwQBvQBuQBpZb@Base 13 + _D3std3net7isemail11EmailStatus5validMxFNaNbNdNiNlNfZb@Base 13 + _D3std3net7isemail11EmailStatus6__ctorMFNaNbNcNiNfbAyaQdEQCdQCcQCb15EmailStatusCodeZSQDfQDeQDdQCy@Base 13 + _D3std3net7isemail11EmailStatus6__initZ@Base 13 + _D3std3net7isemail11EmailStatus6statusMxFNaNbNdNiNlNfZAya@Base 13 + _D3std3net7isemail11EmailStatus8toStringMxFNaNlNfZAya@Base 13 + _D3std3net7isemail11EmailStatus9__xtoHashFNbNeKxSQBvQBuQBtQBoZm@Base 13 + _D3std3net7isemail11EmailStatus9localPartMxFNaNbNdNiNjNlNfZAya@Base 13 + _D3std3net7isemail11__moduleRefZ@Base 13 + _D3std3net7isemail12__ModuleInfoZ@Base 13 + _D3std3net7isemail15EmailStatusCode6__initZ@Base 13 + _D3std3net7isemail21statusCodeDescriptionFNaNbNiNfEQBxQBwQBv15EmailStatusCodeZAya@Base 13 + _D3std3uni10compressToFNaNbNfkMKAhZv@Base 13 + _D3std3uni10isAlphaNumFNaNbNiNfwZb@Base 13 + _D3std3uni10nfkcQCTrieFNaNbNdNiNfZ3resySQBmQBl__T4TrieTSQCcQCb__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDsQDr__T9sliceBitsVmi13Vmi21ZQvTSQFaQEz__TQBiVmi8Vmi13ZQBvTSQGbQGa__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10nfkcQCTrieFNaNbNdNiNfZySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi8Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10nfkdQCTrieFNaNbNdNiNfZ3resySQBmQBl__T4TrieTSQCcQCb__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDsQDr__T9sliceBitsVmi13Vmi21ZQvTSQFaQEz__TQBiVmi8Vmi13ZQBvTSQGbQGa__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10nfkdQCTrieFNaNbNdNiNfZySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi8Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10numberTrieFNaNbNdNiNfZ3resySQBmQBl__T4TrieTSQCcQCb__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDsQDr__T9sliceBitsVmi13Vmi21ZQvTSQFaQEz__TQBiVmi7Vmi13ZQBvTSQGbQGa__TQCjVmi0Vmi7ZQCvZQFf@Base 13 + _D3std3uni10numberTrieFNaNbNdNiNfZySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi7Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi7ZQCvZQFf@Base 13 + _D3std3uni10safeRead24FNaNbNiMxPhmZk@Base 13 + _D3std3uni10symbolTrieFNaNbNdNiNfZ3resySQBmQBl__T4TrieTSQCcQCb__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDsQDr__T9sliceBitsVmi13Vmi21ZQvTSQFaQEz__TQBiVmi8Vmi13ZQBvTSQGbQGa__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10symbolTrieFNaNbNdNiNfZySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi8Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10toLowerTabFNaNbNiNemZw@Base 13 + _D3std3uni10toTitleTabFNaNbNiNemZw@Base 13 + _D3std3uni10toUpperTabFNaNbNiNemZw@Base 13 + _D3std3uni10xpictoTrieFNaNbNdNiNfZ3resySQBmQBl__T4TrieTSQCcQCb__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDsQDr__T9sliceBitsVmi13Vmi21ZQvTSQFaQEz__TQBiVmi8Vmi13ZQBvTSQGbQGa__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni10xpictoTrieFNaNbNdNiNfZySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi8Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni11__moduleRefZ@Base 13 + _D3std3uni11caseEncloseFNaNfSQBbQBa__T13InversionListTSQCbQCa8GcPolicyZQBhZQBv@Base 13 + _D3std3uni11composeJamoFNaNbNiNfwwwZw@Base 13 + _D3std3uni11isGraphicalFNaNbNiNfwZb@Base 13 + _D3std3uni11isSurrogateFNaNbNiNfwZb@Base 13 + _D3std3uni11prependTrieFNaNbNdNiNfZ3resySQBnQBm__T4TrieTSQCdQCc__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDtQDs__T9sliceBitsVmi13Vmi21ZQvTSQFbQFa__TQBiVmi8Vmi13ZQBvTSQGcQGb__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni11prependTrieFNaNbNdNiNfZySQBjQBi__T4TrieTSQBzQBy__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDpQDo__T9sliceBitsVmi13Vmi21ZQvTSQExQEw__TQBiVmi8Vmi13ZQBvTSQFyQFx__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni11safeWrite24FNaNbNiMPhkmZv@Base 13 + _D3std3uni11toTitlecaseFNaNbNiNfwZw@Base 13 + _D3std3uni12__ModuleInfoZ@Base 13 + _D3std3uni12fullCaseTrieFNaNbNdNiNfZ3resySQBoQBn__T4TrieTtTwVmi1114112TSQCsQCr__T9sliceBitsVmi13Vmi21ZQvTSQEaQDz__TQBiVmi6Vmi13ZQBvTSQFbQFa__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni12fullCaseTrieFNaNbNdNiNfZySQBkQBj__T4TrieTtTwVmi1114112TSQCoQCn__T9sliceBitsVmi13Vmi21ZQvTSQDwQDv__TQBiVmi6Vmi13ZQBvTSQExQEw__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni12isPow2OrZeroFNaNbNiNfmZb@Base 13 + _D3std3uni12isPrivateUseFNaNbNiNfwZb@Base 13 + _D3std3uni12toLowerIndexFNaNbNiNewZt@Base 13 + _D3std3uni12toTitleIndexFNaNbNiNewZt@Base 13 + _D3std3uni12toUpperIndexFNaNbNiNewZt@Base 13 + _D3std3uni13ReallocPolicy6__initZ@Base 13 + _D3std3uni13ReallocPolicy__T5allocTkZQjFNaNbNiNemZAk@Base 13 + _D3std3uni13ReallocPolicy__T6appendTkTiZQmFNaNbNiNfKAkiZv@Base 13 + _D3std3uni13ReallocPolicy__T7destroyTkZQlFNaNbNiNeMKAkZv@Base 13 + _D3std3uni13ReallocPolicy__T7reallocTkZQlFNaNbNiNeNkMAkmZQe@Base 13 + _D3std3uni13getUnicodeSetFNfMxAabbZSQBiQBh__T13InversionListTSQCiQCh8GcPolicyZQBh@Base 13 + _D3std3uni13graphicalTrieFNaNbNdNiNfZ3resySQBpQBo__T4TrieTSQCfQCe__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDvQDu__T9sliceBitsVmi13Vmi21ZQvTSQFdQFc__TQBiVmi8Vmi13ZQBvTSQGeQGd__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13graphicalTrieFNaNbNdNiNfZySQBlQBk__T4TrieTSQCbQCa__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDrQDq__T9sliceBitsVmi13Vmi21ZQvTSQEzQEy__TQBiVmi8Vmi13ZQBvTSQGaQFz__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13isPunctuationFNaNbNiNfwZb@Base 13 + _D3std3uni13isSurrogateHiFNaNbNiNfwZb@Base 13 + _D3std3uni13isSurrogateLoFNaNbNiNfwZb@Base 13 + _D3std3uni13lowerCaseTrieFNaNbNdNiNfZ3resySQBpQBo__T4TrieTSQCfQCe__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDvQDu__T9sliceBitsVmi13Vmi21ZQvTSQFdQFc__TQBiVmi8Vmi13ZQBvTSQGeQGd__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13lowerCaseTrieFNaNbNdNiNfZySQBlQBk__T4TrieTSQCbQCa__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDrQDq__T9sliceBitsVmi13Vmi21ZQvTSQEzQEy__TQBiVmi8Vmi13ZQBvTSQGaQFz__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13upperCaseTrieFNaNbNdNiNfZ3resySQBpQBo__T4TrieTSQCfQCe__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDvQDu__T9sliceBitsVmi13Vmi21ZQvTSQFdQFc__TQBiVmi8Vmi13ZQBvTSQGeQGd__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13upperCaseTrieFNaNbNdNiNfZySQBlQBk__T4TrieTSQCbQCa__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDrQDq__T9sliceBitsVmi13Vmi21ZQvTSQEzQEy__TQBiVmi8Vmi13ZQBvTSQGaQFz__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni13wordCharacterFNdNfZSQBeQBd__T13InversionListTSQCeQCd8GcPolicyZQBh@Base 13 + _D3std3uni14MatcherConcept6__initZ@Base 13 + _D3std3uni14combiningClassFNaNbNiNfwZh@Base 13 + _D3std3uni14decompressFromFNaNfMAxhKmZk@Base 13 + _D3std3uni14isNonCharacterFNaNbNiNfwZb@Base 13 + _D3std3uni14simpleCaseTrieFNaNbNdNiNfZ3resySQBqQBp__T4TrieTtTwVmi1114112TSQCuQCt__T9sliceBitsVmi13Vmi21ZQvTSQEcQEb__TQBiVmi6Vmi13ZQBvTSQFdQFc__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni14simpleCaseTrieFNaNbNdNiNfZySQBmQBl__T4TrieTtTwVmi1114112TSQCqQCp__T9sliceBitsVmi13Vmi21ZQvTSQDyQDx__TQBiVmi6Vmi13ZQBvTSQEzQEy__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni14toLowerInPlaceFNaNfKAaZv@Base 13 + _D3std3uni14toLowerInPlaceFNaNfKAuZv@Base 13 + _D3std3uni14toLowerInPlaceFNaNfKAwZv@Base 13 + _D3std3uni14toUpperInPlaceFNaNfKAaZv@Base 13 + _D3std3uni14toUpperInPlaceFNaNfKAuZv@Base 13 + _D3std3uni14toUpperInPlaceFNaNfKAwZv@Base 13 + _D3std3uni15decomposeHangulFNaNbNfwZSQBjQBi8Grapheme@Base 14 + _D3std3uni15hangulRecomposeFNaNbNiNfMAwZv@Base 13 + _D3std3uni15punctuationTrieFNaNbNdNiNfZ3resySQBrQBq__T4TrieTSQChQCg__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDxQDw__T9sliceBitsVmi13Vmi21ZQvTSQFfQFe__TQBiVmi8Vmi13ZQBvTSQGgQGf__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni15punctuationTrieFNaNbNdNiNfZySQBnQBm__T4TrieTSQCdQCc__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDtQDs__T9sliceBitsVmi13Vmi21ZQvTSQFbQFa__TQBiVmi8Vmi13ZQBvTSQGcQGb__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni15spacingMarkTrieFNaNbNdNiNfZ3resySQBrQBq__T4TrieTSQChQCg__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDxQDw__T9sliceBitsVmi13Vmi21ZQvTSQFfQFe__TQBiVmi8Vmi13ZQBvTSQGgQGf__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni15spacingMarkTrieFNaNbNdNiNfZySQBnQBm__T4TrieTSQCdQCc__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDtQDs__T9sliceBitsVmi13Vmi21ZQvTSQFbQFa__TQBiVmi8Vmi13ZQBvTSQGcQGb__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni15unalignedRead24FNaNbNiMxPhmZk@Base 13 + _D3std3uni16canonMappingTrieFNaNbNdNiNfZ3resySQBsQBr__T4TrieTtTwVmi1114112TSQCwQCv__T9sliceBitsVmi13Vmi21ZQvTSQEeQEd__TQBiVmi5Vmi13ZQBvTSQFfQFe__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni16canonMappingTrieFNaNbNdNiNfZySQBoQBn__T4TrieTtTwVmi1114112TSQCsQCr__T9sliceBitsVmi13Vmi21ZQvTSQEaQDz__TQBiVmi5Vmi13ZQBvTSQFbQFa__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni16nonCharacterTrieFNaNbNdNiNfZ3resySQBsQBr__T4TrieTSQCiQCh__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDyQDx__T9sliceBitsVmi14Vmi21ZQvTSQFgQFf__TQBiVmi10Vmi14ZQBwTSQGiQGh__TQCkVmi6Vmi10ZQCxTSQHjQHi__TQDlVmi0Vmi6ZQDxZQGh@Base 13 + _D3std3uni16nonCharacterTrieFNaNbNdNiNfZySQBoQBn__T4TrieTSQCeQCd__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDuQDt__T9sliceBitsVmi14Vmi21ZQvTSQFcQFb__TQBiVmi10Vmi14ZQBwTSQGeQGd__TQCkVmi6Vmi10ZQCxTSQHfQHe__TQDlVmi0Vmi6ZQDxZQGh@Base 13 + _D3std3uni16toLowerIndexTrieFNaNbNdNiNfZ3resySQBsQBr__T4TrieTtTwVmi1114112TSQCwQCv__T9sliceBitsVmi13Vmi21ZQvTSQEeQEd__TQBiVmi6Vmi13ZQBvTSQFfQFe__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16toLowerIndexTrieFNaNbNdNiNfZySQBoQBn__T4TrieTtTwVmi1114112TSQCsQCr__T9sliceBitsVmi13Vmi21ZQvTSQEaQDz__TQBiVmi6Vmi13ZQBvTSQFbQFa__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16toTitleIndexTrieFNaNbNdNiNfZ3resySQBsQBr__T4TrieTtTwVmi1114112TSQCwQCv__T9sliceBitsVmi13Vmi21ZQvTSQEeQEd__TQBiVmi6Vmi13ZQBvTSQFfQFe__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16toTitleIndexTrieFNaNbNdNiNfZySQBoQBn__T4TrieTtTwVmi1114112TSQCsQCr__T9sliceBitsVmi13Vmi21ZQvTSQEaQDz__TQBiVmi6Vmi13ZQBvTSQFbQFa__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16toUpperIndexTrieFNaNbNdNiNfZ3resySQBsQBr__T4TrieTtTwVmi1114112TSQCwQCv__T9sliceBitsVmi13Vmi21ZQvTSQEeQEd__TQBiVmi6Vmi13ZQBvTSQFfQFe__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16toUpperIndexTrieFNaNbNdNiNfZySQBoQBn__T4TrieTtTwVmi1114112TSQCsQCr__T9sliceBitsVmi13Vmi21ZQvTSQEaQDz__TQBiVmi6Vmi13ZQBvTSQFbQFa__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni16unalignedWrite24FNaNbNiMPhkmZv@Base 13 + _D3std3uni17CodepointInterval11__xopEqualsMxFKxSQBuQBtQBsZb@Base 13 + _D3std3uni17CodepointInterval1aMNgFNaNbNcNdNiNjNfZNgk@Base 13 + _D3std3uni17CodepointInterval1bMNgFNaNbNcNdNiNjNfZNgk@Base 13 + _D3std3uni17CodepointInterval6__ctorMFNaNbNcNiNfkkZSQByQBxQBw@Base 13 + _D3std3uni17CodepointInterval6__initZ@Base 13 + _D3std3uni17CodepointInterval__T8opEqualsTxSQBqQBpQBoZQwMxFNaNbNiNfxQzZb@Base 13 + _D3std3uni17compatMappingTrieFNaNbNdNiNfZ3resySQBtQBs__T4TrieTtTwVmi1114112TSQCxQCw__T9sliceBitsVmi13Vmi21ZQvTSQEfQEe__TQBiVmi5Vmi13ZQBvTSQFgQFf__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni17compatMappingTrieFNaNbNdNiNfZySQBpQBo__T4TrieTtTwVmi1114112TSQCtQCs__T9sliceBitsVmi13Vmi21ZQvTSQEbQEa__TQBiVmi5Vmi13ZQBvTSQFcQFb__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni18combiningClassTrieFNaNbNdNiNfZ3resySQBuQBt__T4TrieThTwVmi1114112TSQCyQCx__T9sliceBitsVmi13Vmi21ZQvTSQEgQEf__TQBiVmi5Vmi13ZQBvTSQFhQFg__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni18combiningClassTrieFNaNbNdNiNfZySQBqQBp__T4TrieThTwVmi1114112TSQCuQCt__T9sliceBitsVmi13Vmi21ZQvTSQEcQEb__TQBiVmi5Vmi13ZQBvTSQFdQFc__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni18graphemeExtendTrieFNaNbNdNiNfZ3resySQBuQBt__T4TrieTSQCkQCj__T9BitPackedTbVmi1ZQrTwVmi1114112TSQEaQDz__T9sliceBitsVmi13Vmi21ZQvTSQFiQFh__TQBiVmi8Vmi13ZQBvTSQGjQGi__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni18graphemeExtendTrieFNaNbNdNiNfZySQBqQBp__T4TrieTSQCgQCf__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDwQDv__T9sliceBitsVmi13Vmi21ZQvTSQFeQFd__TQBiVmi8Vmi13ZQBvTSQGfQGe__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni18simpleCaseFoldingsFNaNbNiNfwZSQBoQBnQBmFNfwZ5Range@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range5frontMxFNaNbNdNiNfZw@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range6__ctorMFNaNbNcNiNfkkZSQCkQCjQCiFNfwZQBr@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range6__ctorMFNaNbNcNiNfwZSQCjQCiQChFNfwZQBq@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range6__initZ@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range7isSmallMxFNaNbNdNiNfZb@Base 13 + _D3std3uni18simpleCaseFoldingsFNfwZ5Range8popFrontMFNaNbNiNfZv@Base 13 + _D3std3uni18toLowerSimpleIndexFNaNbNiNewZt@Base 13 + _D3std3uni18toTitleSimpleIndexFNaNbNiNewZt@Base 13 + _D3std3uni18toUpperSimpleIndexFNaNbNiNewZt@Base 13 + _D3std3uni19compositionJumpTrieFNaNbNdNiNfZ3resySQBvQBu__T4TrieTtTwVmi1114112TSQCzQCy__T9sliceBitsVmi9Vmi21ZQuTSQEgQEf__TQBhVmi0Vmi9ZQBtZQDb@Base 13 + _D3std3uni19compositionJumpTrieFNaNbNdNiNfZySQBrQBq__T4TrieTtTwVmi1114112TSQCvQCu__T9sliceBitsVmi9Vmi21ZQuTSQEcQEb__TQBhVmi0Vmi9ZQBtZQDb@Base 13 + _D3std3uni19decompressIntervalsFNaNfAxhZSQBnQBm21DecompressedIntervals@Base 13 + _D3std3uni19graphemeControlTrieFNaNbNdNiNfZ3resySQBvQBu__T4TrieTSQClQCk__T9BitPackedTbVmi1ZQrTwVmi1114112TSQEbQEa__T9sliceBitsVmi13Vmi21ZQvTSQFjQFi__TQBiVmi8Vmi13ZQBvTSQGkQGj__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni19graphemeControlTrieFNaNbNdNiNfZySQBrQBq__T4TrieTSQChQCg__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDxQDw__T9sliceBitsVmi13Vmi21ZQvTSQFfQFe__TQBiVmi8Vmi13ZQBvTSQGgQGf__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni19hangulSyllableIndexFNaNbNiNfwZi@Base 13 + _D3std3uni19isRegionalIndicatorFNaNbNiNfwZb@Base 13 + _D3std3uni21DecompressedIntervals11__xopEqualsMxFKxSQByQBxQBwZb@Base 13 + _D3std3uni21DecompressedIntervals4saveMFNaNdNjNlNfZSQByQBxQBw@Base 13 + _D3std3uni21DecompressedIntervals5emptyMxFNaNdNfZb@Base 13 + _D3std3uni21DecompressedIntervals5frontMFNaNdNfZSQBvQBu17CodepointInterval@Base 13 + _D3std3uni21DecompressedIntervals6__ctorMFNaNcNfAxhZSQBzQByQBx@Base 13 + _D3std3uni21DecompressedIntervals6__initZ@Base 13 + _D3std3uni21DecompressedIntervals8popFrontMFNaNfZv@Base 13 + _D3std3uni21DecompressedIntervals9__xtoHashFNbNeKxSQBxQBwQBvZm@Base 13 + _D3std3uni22toLowerSimpleIndexTrieFNaNbNdNiNfZ3resySQByQBx__T4TrieTtTwVmi1114112TSQDcQDb__T9sliceBitsVmi13Vmi21ZQvTSQEkQEj__TQBiVmi6Vmi13ZQBvTSQFlQFk__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni22toLowerSimpleIndexTrieFNaNbNdNiNfZySQBuQBt__T4TrieTtTwVmi1114112TSQCyQCx__T9sliceBitsVmi13Vmi21ZQvTSQEgQEf__TQBiVmi6Vmi13ZQBvTSQFhQFg__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni22toTitleSimpleIndexTrieFNaNbNdNiNfZ3resySQByQBx__T4TrieTtTwVmi1114112TSQDcQDb__T9sliceBitsVmi13Vmi21ZQvTSQEkQEj__TQBiVmi6Vmi13ZQBvTSQFlQFk__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni22toTitleSimpleIndexTrieFNaNbNdNiNfZySQBuQBt__T4TrieTtTwVmi1114112TSQCyQCx__T9sliceBitsVmi13Vmi21ZQvTSQEgQEf__TQBiVmi6Vmi13ZQBvTSQFhQFg__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni22toUpperSimpleIndexTrieFNaNbNdNiNfZ3resySQByQBx__T4TrieTtTwVmi1114112TSQDcQDb__T9sliceBitsVmi13Vmi21ZQvTSQEkQEj__TQBiVmi6Vmi13ZQBvTSQFlQFk__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni22toUpperSimpleIndexTrieFNaNbNdNiNfZySQBuQBt__T4TrieTtTwVmi1114112TSQCyQCx__T9sliceBitsVmi13Vmi21ZQvTSQEgQEf__TQBiVmi6Vmi13ZQBvTSQFhQFg__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni23genUnrolledSwitchSearchFNaNbNfmZAya@Base 13 + _D3std3uni4icmpFNaNbNiNfAxaQdZi@Base 13 + _D3std3uni4icmpFNaNbNiNfAxuQdZi@Base 13 + _D3std3uni4icmpFNaNbNiNfAxwQdZi@Base 13 + _D3std3uni5asSetFNaNfAxhZSQyQw__T13InversionListTSQBwQBv8GcPolicyZQBh@Base 13 + _D3std3uni5low_8FNaNbNiNfkZk@Base 13 + _D3std3uni5sicmpFNaNbNiNfMAxaMQeZi@Base 13 + _D3std3uni5sicmpFNaNbNiNfMAxuMQeZi@Base 13 + _D3std3uni5sicmpFNaNbNiNfMAxwMQeZi@Base 13 + _D3std3uni6hangLVFNaNbNdNiNfZ3resySQBhQBg__T4TrieTSQBxQBw__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDnQDm__T9sliceBitsVmi13Vmi21ZQvTSQEvQEu__TQBiVmi8Vmi13ZQBvTSQFwQFv__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni6hangLVFNaNbNdNiNfZySQBdQBc__T4TrieTSQBtQBs__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDjQDi__T9sliceBitsVmi13Vmi21ZQvTSQErQEq__TQBiVmi8Vmi13ZQBvTSQFsQFr__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni6isMarkFNaNbNiNfwZb@Base 13 + _D3std3uni6read24FNaNbNiMxPhmZk@Base 13 + _D3std3uni7composeFNaNbNfwwZw@Base 13 + _D3std3uni7hangLVTFNaNbNdNiNfZ3resySQBiQBh__T4TrieTSQByQBx__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDoQDn__T9sliceBitsVmi13Vmi21ZQvTSQEwQEv__TQBiVmi8Vmi13ZQBvTSQFxQFw__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni7hangLVTFNaNbNdNiNfZySQBeQBd__T4TrieTSQBuQBt__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDkQDj__T9sliceBitsVmi13Vmi21ZQvTSQEsQEr__TQBiVmi8Vmi13ZQBvTSQFtQFs__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni7isAlphaFNaNbNiNfwZb@Base 13 + _D3std3uni7isJamoLFNaNbNiNfwZb@Base 13 + _D3std3uni7isJamoTFNaNbNiNfwZb@Base 13 + _D3std3uni7isJamoVFNaNbNiNfwZb@Base 13 + _D3std3uni7isLowerFNaNbNiNfwZb@Base 13 + _D3std3uni7isSpaceFNaNbNiNfwZb@Base 13 + _D3std3uni7isUpperFNaNbNiNfwZb@Base 13 + _D3std3uni7isWhiteFNaNbNiNfwZb@Base 13 + _D3std3uni7toLowerFNaNbNiNfwZw@Base 13 + _D3std3uni7toLowerFNaNfNkMAyaZQe@Base 13 + _D3std3uni7toLowerFNaNfNkMAyuZQe@Base 13 + _D3std3uni7toLowerFNaNfNkMAywZQe@Base 13 + _D3std3uni7toUpperFNaNbNiNfwZw@Base 13 + _D3std3uni7toUpperFNaNfNkMAyaZQe@Base 13 + _D3std3uni7toUpperFNaNfNkMAyuZQe@Base 13 + _D3std3uni7toUpperFNaNfNkMAywZQe@Base 13 + _D3std3uni7unicode18hangulSyllableType6__initZ@Base 13 + _D3std3uni7unicode5block6__initZ@Base 13 + _D3std3uni7unicode6__initZ@Base 13 + _D3std3uni7unicode6script6__initZ@Base 13 + _D3std3uni7unicode7findAnyFNfAyaZb@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa10_416c7068616265746963ZQBpFNaNdNfZSQCuQCt__T13InversionListTSQDuQDt8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_4c43ZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_4d63ZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_4d65ZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_4d6eZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_4e64ZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa2_5063ZQyFNaNdNfZSQCcQCb__T13InversionListTSQDcQDb8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T10opDispatchVAyaa5_4153434949ZQBeFNaNdNfZSQCjQCi__T13InversionListTSQDjQDi8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T6opCallTaZQkFNaNfMxAaZSQBqQBp__T13InversionListTSQCqQCp8GcPolicyZQBh@Base 13 + _D3std3uni7unicode__T7loadAnyTSQBdQBc__T13InversionListTSQCdQCc8GcPolicyZQBhTaZQCgFNaNfMxAaZQCk@Base 13 + _D3std3uni7write24FNaNbNiMPhkmZv@Base 13 + _D3std3uni8GcPolicy6__initZ@Base 13 + _D3std3uni8GcPolicy__T5allocTkZQjFNaNbNfmZAk@Base 13 + _D3std3uni8GcPolicy__T6appendTkTiZQmFNaNbNfKAkiZv@Base 13 + _D3std3uni8GcPolicy__T7destroyTAkZQmFNaNbNiNfKQpZv@Base 13 + _D3std3uni8GcPolicy__T7reallocTkZQlFNaNbNfAkmZQe@Base 13 + _D3std3uni8Grapheme10__postblitMFNaNbNiNeZv@Base 13 + _D3std3uni8Grapheme11__xopEqualsMxFKxSQBkQBjQBiZb@Base 14 + _D3std3uni8Grapheme11smallLengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni8Grapheme12convertToBigMFNaNbNiNeZv@Base 13 + _D3std3uni8Grapheme13opIndexAssignMFNaNbNiNewmZv@Base 13 + _D3std3uni8Grapheme5isBigMxFNaNbNdNiNfZh@Base 13 + _D3std3uni8Grapheme6__dtorMFNaNbNiNeZv@Base 13 + _D3std3uni8Grapheme6__initZ@Base 13 + _D3std3uni8Grapheme6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni8Grapheme6setBigMFNaNbNiNfZv@Base 13 + _D3std3uni8Grapheme6toHashMxFNeZm@Base 14 + _D3std3uni8Grapheme7opIndexMxFNaNbNiNemZw@Base 13 + _D3std3uni8Grapheme7opSliceMFNaNbNiNjNfZSQBnQBm__T16SliceOverIndexedTSQCqQCpQCoZQBe@Base 13 + _D3std3uni8Grapheme7opSliceMFNaNbNiNjNfmmZSQBpQBo__T16SliceOverIndexedTSQCsQCrQCqZQBe@Base 13 + _D3std3uni8Grapheme8opAssignMFNaNbNcNiNjNeSQBpQBoQBnZQl@Base 13 + _D3std3uni8Grapheme__T10opOpAssignVAyaa1_7eTAxiZQBaMFNaNbNcNiNfMQuZSQCoQCnQCm@Base 13 + _D3std3uni8Grapheme__T10opOpAssignVAyaa1_7eTAxwZQBaMFNaNbNcNiNfMQuZSQCoQCnQCm@Base 13 + _D3std3uni8Grapheme__T10opOpAssignVAyaa1_7eZQwMFNaNbNcNiNewZSQChQCgQCf@Base 13 + _D3std3uni8Grapheme__T6__ctorTiZQkMFNaNbNcNiNfxAiXSQBxQBwQBv@Base 13 + _D3std3uni8Grapheme__T6__ctorTwZQkMFNaNbNcNiNfxAwXSQBxQBwQBv@Base 13 + _D3std3uni8Grapheme__T8opEqualsTSQBfQBeQBdZQvMxFNaNbNiNeKxSQCfQCeQCdZb@Base 14 + _D3std3uni8encodeToFNaNbNiNeMAamwZm@Base 13 + _D3std3uni8encodeToFNaNbNiNeMAwmwZm@Base 13 + _D3std3uni8encodeToFNaNeMAumwZm@Base 13 + _D3std3uni8isFormatFNaNbNiNfwZb@Base 13 + _D3std3uni8isNumberFNaNbNiNfwZb@Base 13 + _D3std3uni8isSymbolFNaNbNiNfwZb@Base 13 + _D3std3uni8markTrieFNaNbNdNiNfZ3resySQBjQBi__T4TrieTSQBzQBy__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDpQDo__T9sliceBitsVmi13Vmi21ZQvTSQExQEw__TQBiVmi8Vmi13ZQBvTSQFyQFx__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni8markTrieFNaNbNdNiNfZySQBfQBe__T4TrieTSQBvQBu__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDlQDk__T9sliceBitsVmi13Vmi21ZQvTSQEtQEs__TQBiVmi8Vmi13ZQBvTSQFuQFt__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni8midlow_8FNaNbNiNfkZk@Base 13 + _D3std3uni9alphaTrieFNaNbNdNiNfZ3resySQBkQBj__T4TrieTSQCaQBz__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDqQDp__T9sliceBitsVmi13Vmi21ZQvTSQEyQEx__TQBiVmi8Vmi13ZQBvTSQFzQFy__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9alphaTrieFNaNbNdNiNfZySQBgQBf__T4TrieTSQBwQBv__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDmQDl__T9sliceBitsVmi13Vmi21ZQvTSQEuQEt__TQBiVmi8Vmi13ZQBvTSQFvQFu__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9isControlFNaNbNiNfwZb@Base 13 + _D3std3uni9nfcQCTrieFNaNbNdNiNfZ3resySQBkQBj__T4TrieTSQCaQBz__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDqQDp__T9sliceBitsVmi13Vmi21ZQvTSQEyQEx__TQBiVmi8Vmi13ZQBvTSQFzQFy__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9nfcQCTrieFNaNbNdNiNfZySQBgQBf__T4TrieTSQBwQBv__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDmQDl__T9sliceBitsVmi13Vmi21ZQvTSQEuQEt__TQBiVmi8Vmi13ZQBvTSQFvQFu__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9nfdQCTrieFNaNbNdNiNfZ3resySQBkQBj__T4TrieTSQCaQBz__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDqQDp__T9sliceBitsVmi13Vmi21ZQvTSQEyQEx__TQBiVmi8Vmi13ZQBvTSQFzQFy__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9nfdQCTrieFNaNbNdNiNfZySQBgQBf__T4TrieTSQBwQBv__T9BitPackedTbVmi1ZQrTwVmi1114112TSQDmQDl__T9sliceBitsVmi13Vmi21ZQvTSQEuQEt__TQBiVmi8Vmi13ZQBvTSQFvQFu__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni9recomposeFNaNbNfmMAwMAhZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs11__xopEqualsMxFKxSQCzQCy__TQCxTQCoTtZQDhZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs6__ctorMFNaNbNcNfAmXSQDbQDa__TQCzTQCqTtZQDj@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQDrQDq__TQDpTQDgTtZQDz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs9__xtoHashFNbNeKxSQCyQCx__TQCwTQCnTtZQDgZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQDkQDj__T13PackedPtrImplTQDlVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQDkQDj__T13PackedPtrImplTtVmi16ZQx@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQDmQDl__T19PackedArrayViewImplTQDtVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQDmQDl__T19PackedArrayViewImplTtVmi16ZQBd@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T6lengthVmi1ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo11__xopEqualsMxFKxSQDvQDu__TQDtTQDkTQClZQEfZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo6__ctorMFNaNbNcNfAmXSQDxQDw__TQDvTQDmTQCnZQEh@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQEnQEm__TQElTQEcTQDdZQEx@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo9__xtoHashFNbNeKxSQDuQDt__TQDsTQDjTQCkZQEeZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQEiQEh__T19PackedArrayViewImplTQEpVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQEiQEh__T19PackedArrayViewImplTQDmVmi1ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T6lengthVmi1ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl11__xopEqualsMxFKxSQFsQFr__TQFqTQFhTQEjTQDoTQCtZQGkZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl6__ctorMFNaNbNcNfAmXSQFuQFt__TQFsTQFjTQElTQDqTQCvZQGm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQGkQGj__TQGiTQFzTQFbTQEgTQDlZQHc@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpTQFgTQEiTQDnTQCsZQGjZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQGdQGc__T13PackedPtrImplTQGeVmi8ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQGdQGc__T13PackedPtrImplTQFcVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T3ptrVmi2ZQjMNgFNaNbNdNiZNgSQGdQGc__T13PackedPtrImplTQEdVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T3ptrVmi3ZQjMNgFNaNbNdNiZNgSQGdQGc__T13PackedPtrImplTQDeVmi1ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQGfQGe__T19PackedArrayViewImplTQGmVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQGfQGe__T19PackedArrayViewImplTQFkVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQGfQGe__T19PackedArrayViewImplTQElVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T5sliceVmi3ZQlMNgFNaNbNdNiZNgSQGfQGe__T19PackedArrayViewImplTQDmVmi1ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi2ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi3ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T6lengthVmi3ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi7ZQrTSQCbQCa__TQBeTkVmi11ZQBpTSQDaQCz__TQCdTkVmi15ZQCoTSQDzQDy__TQDcTbVmi1ZQDmZQEl__T7raw_ptrVmi3ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm11__xopEqualsMxFKxSQEtQEs__TQErTQEiTQDkTQCpZQFhZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__ctorMFNaNbNcNfAmXSQEvQEu__TQEtTQEkTQDmTQCrZQFj@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQFlQFk__TQFjTQFaTQEcTQDhZQFz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm9__xtoHashFNbNeKxSQEsQEr__TQEqTQEhTQDjTQCoZQFgZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQFfVmi8ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQEdVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi2ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQDeVmi1ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQFnVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQElVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQDmVmi1ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi2ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi13ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm11__xopEqualsMxFKxSQEtQEs__TQErTQEiTQDkTQCpZQFhZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__ctorMFNaNbNcNfAmXSQEvQEu__TQEtTQEkTQDmTQCrZQFj@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQFlQFk__TQFjTQFaTQEcTQDhZQFz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm9__xtoHashFNbNeKxSQEsQEr__TQEqTQEhTQDjTQCoZQFgZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQFfVmi8ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQEdVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T3ptrVmi2ZQjMNgFNaNbNdNiZNgSQFeQFd__T13PackedPtrImplTQDeVmi1ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQFnVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQElVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQFgQFf__T19PackedArrayViewImplTQDmVmi1ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi2ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi14ZQBpTSQDaQCz__TQCdTbVmi1ZQCnZQDm__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq11__xopEqualsMxFKxSQDxQDw__TQDvTQDmTQCoTtZQEjZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq6__ctorMFNaNbNcNfAmXSQDzQDy__TQDxTQDoTQCqTtZQEl@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQEpQEo__TQEnTQEeTQDgTtZQFb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq9__xtoHashFNbNeKxSQDwQDv__TQDuTQDlTQCnTtZQEiZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplTQEjVmi8ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplTQDhVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T3ptrVmi2ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplTtVmi16ZQx@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQErVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQDpVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTtVmi16ZQBd@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi2ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq11__xopEqualsMxFKxSQDxQDw__TQDvTQDmTQCoThZQEjZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq6__ctorMFNaNbNcNfAmXSQDzQDy__TQDxTQDoTQCqThZQEl@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQEpQEo__TQEnTQEeTQDgThZQFb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq9__xtoHashFNbNeKxSQDwQDv__TQDuTQDlTQCnThZQEiZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T3ptrVmi0ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplTQEjVmi8ZQy@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T3ptrVmi1ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplTQDhVmi16ZQz@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T3ptrVmi2ZQjMNgFNaNbNdNiZNgSQEiQEh__T13PackedPtrImplThVmi8ZQw@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQErVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQDpVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplThVmi8ZQBc@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi2ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq11__xopEqualsMxFKxSQDxQDw__TQDvTQDmTQCoTtZQEjZb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq6__ctorMFNaNbNcNfAmXSQDzQDy__TQDxTQDoTQCqTtZQEl@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq6__ctorMxFNaNbNcNiNjNlNfAxmQdNkMQiZxSQEpQEo__TQEnTQEeTQDgTtZQFb@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq6__initZ@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq9__xtoHashFNbNeKxSQDwQDv__TQDuTQDlTQCnTtZQEiZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T5sliceVmi0ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQErVmi8ZQBe@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T5sliceVmi1ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTQDpVmi16ZQBf@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T5sliceVmi2ZQlMNgFNaNbNdNiZNgSQEkQEj__T19PackedArrayViewImplTtVmi16ZQBd@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi0ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi0ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi1ZQmMFNaNbNdmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi1ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi2ZQmMFNaNbNdNfmZv@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T6lengthVmi2ZQmMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T7raw_ptrVmi0ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T7raw_ptrVmi1ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq__T7raw_ptrVmi2ZQnMNgFNaNbNdNiZPNgm@Base 13 + _D3std3uni__T10assumeSizeS_DQBaQz5low_8FNaNbNiNfkZkVmi8ZQBr6__initZ@Base 13 + _D3std3uni__T10assumeSizeS_DQBaQz8midlow_8FNaNbNiNfkZkVmi8ZQBu6__initZ@Base 13 + _D3std3uni__T10sharMethodSQyQw23switchUniformLowerBoundZ__TQBuVAyaa6_61203c3d2062TAxkTkZQCxFNaNbNiNfQskZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl10putRangeAtMFNaNbNemmbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl11__xopEqualsMxFKxSQFsQFr__TQFqTbTwVii1114112TQFgTQEcTQDfZQGuZb@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl5buildMFNaNbNeZSQFpQFo__T4TrieTSQGfQGe__T9BitPackedTbVmi1ZQrTwVmi1114112TQGhTQFdTQEgZQCi@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl5putAtMFNaNbNembZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl6__ctorMFNaNbNcNebZSQFtQFs__TQFrTbTwVii1114112TQFhTQEdTQDgZQGv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl8putRangeMFNaNewwbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl8putValueMFNaNewbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpTbTwVii1114112TQFfTQEbTQDeZQGtZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T14deduceMaxIndexTQEgTQDcTQCfZQBdFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T15spillToNextPageVmi0TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi8ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T15spillToNextPageVmi1TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi14ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T15spillToNextPageVmi2TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDoMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T19spillToNextPageImplVmi1TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTkVmi14ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T19spillToNextPageImplVmi2TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDsMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T8addValueVmi0TSQFrQFq__T9BitPackedTkVmi8ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T8addValueVmi1TSQFrQFq__T9BitPackedTkVmi14ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi7Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi7ZQCvZQEl__T8addValueVmi2TbZQqMFNaNbNebmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl10putRangeAtMFNaNbNemmbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl11__xopEqualsMxFKxSQFsQFr__TQFqTbTwVii1114112TQFgTQEcTQDfZQGuZb@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl5buildMFNaNbNeZSQFpQFo__T4TrieTSQGfQGe__T9BitPackedTbVmi1ZQrTwVmi1114112TQGhTQFdTQEgZQCi@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl5putAtMFNaNbNembZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl6__ctorMFNaNbNcNebZSQFtQFs__TQFrTbTwVii1114112TQFhTQEdTQDgZQGv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl8putRangeMFNaNewwbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl8putValueMFNaNewbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpTbTwVii1114112TQFfTQEbTQDeZQGtZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T14deduceMaxIndexTQEgTQDcTQCfZQBdFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T15spillToNextPageVmi0TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi8ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T15spillToNextPageVmi1TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi13ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T15spillToNextPageVmi2TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDoMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T19spillToNextPageImplVmi1TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTkVmi13ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T19spillToNextPageImplVmi2TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDsMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T8addValueVmi0TSQFrQFq__T9BitPackedTkVmi8ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T8addValueVmi1TSQFrQFq__T9BitPackedTkVmi13ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi8Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi8ZQCvZQEl__T8addValueVmi2TbZQqMFNaNbNebmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn10putRangeAtMFNaNbNemmbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn11__xopEqualsMxFKxSQGuQGt__TQGsTbTwVii1114112TQGiTQFeTQEgTQDjZQIaZb@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn5buildMFNaNbNeZSQGrQGq__T4TrieTSQHhQHg__T9BitPackedTbVmi1ZQrTwVmi1114112TQHjTQGfTQFhTQEkZQCm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn5putAtMFNaNbNembZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn6__ctorMFNaNbNcNebZSQGvQGu__TQGtTbTwVii1114112TQGjTQFfTQEhTQDkZQIb@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn8putRangeMFNaNewwbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn8putValueMFNaNewbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn9__xtoHashFNbNeKxSQGtQGs__TQGrTbTwVii1114112TQGhTQFdTQEfTQDiZQHzZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T14deduceMaxIndexTQFiTQEeTQDgTQCjZQBhFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T15spillToNextPageVmi0TSQHbQHa__T19PackedArrayViewImplTSQIhQIg__T9BitPackedTkVmi7ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T15spillToNextPageVmi1TSQHbQHa__T19PackedArrayViewImplTSQIhQIg__T9BitPackedTkVmi11ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T15spillToNextPageVmi2TSQHbQHa__T19PackedArrayViewImplTSQIhQIg__T9BitPackedTkVmi15ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T15spillToNextPageVmi3TSQHbQHa__T19PackedArrayViewImplTSQIhQIg__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDoMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T19spillToNextPageImplVmi1TSQHfQHe__T19PackedArrayViewImplTSQIlQIk__T9BitPackedTkVmi11ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T19spillToNextPageImplVmi2TSQHfQHe__T19PackedArrayViewImplTSQIlQIk__T9BitPackedTkVmi15ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T19spillToNextPageImplVmi3TSQHfQHe__T19PackedArrayViewImplTSQIlQIk__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDsMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T3idxVmi3ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T8addValueVmi0TSQGtQGs__T9BitPackedTkVmi7ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T8addValueVmi1TSQGtQGs__T9BitPackedTkVmi11ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T8addValueVmi2TSQGtQGs__T9BitPackedTkVmi15ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi14Vmi21ZQvTSQCwQCv__TQBiVmi10Vmi14ZQBwTSQDyQDx__TQCkVmi6Vmi10ZQCxTSQEzQEy__TQDlVmi0Vmi6ZQDxZQFn__T8addValueVmi3TbZQqMFNaNbNebmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj10putRangeAtMFNaNbNemmbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj11__xopEqualsMxFKxSQEqQEp__TQEoTbTwVii1114112TQEeTQDbZQFoZb@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj5buildMFNaNbNeZSQEnQEm__T4TrieTSQFdQFc__T9BitPackedTbVmi1ZQrTwVmi1114112TQFfTQEcZQCe@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj5putAtMFNaNbNembZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj6__ctorMFNaNbNcNebZSQErQEq__TQEpTbTwVii1114112TQEfTQDcZQFp@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj8putRangeMFNaNewwbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj8putValueMFNaNewbZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj9__xtoHashFNbNeKxSQEpQEo__TQEnTbTwVii1114112TQEdTQDaZQFnZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T14deduceMaxIndexTQDeTQCbZQzFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T15spillToNextPageVmi0TSQExQEw__T19PackedArrayViewImplTSQGdQGc__T9BitPackedTkVmi13ZQsVmi16ZQCgZQDqMFNaNbNiNeKQDiZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T15spillToNextPageVmi1TSQExQEw__T19PackedArrayViewImplTSQGdQGc__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDoMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T19spillToNextPageImplVmi1TSQFbQFa__T19PackedArrayViewImplTSQGhQGg__T9BitPackedTbVmi1ZQrVmi1ZQCeZQDsMFNaNbNeKQDeZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T8addValueVmi0TSQEpQEo__T9BitPackedTkVmi13ZQsZQBtMFNaNbNiNeQBsmZv@Base 13 + _D3std3uni__T11TrieBuilderTbTwVii1114112TSQBoQBn__T9sliceBitsVmi8Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi8ZQBtZQDj__T8addValueVmi1TbZQqMFNaNbNebmZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl10putRangeAtMFNaNbNemmhZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl11__xopEqualsMxFKxSQFsQFr__TQFqThTwVii1114112TQFgTQEcTQDfZQGuZb@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl5buildMFNaNbNeZSQFpQFo__T4TrieThTwVmi1114112TQFfTQEbTQDeZQBg@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl5putAtMFNaNbNemhZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__ctorMFNaNbNcNehZSQFtQFs__TQFrThTwVii1114112TQFhTQEdTQDgZQGv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__initZ@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl8putRangeMFNaNewwhZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl8putValueMFNaNewhZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpThTwVii1114112TQFfTQEbTQDeZQGtZm@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T14deduceMaxIndexTQEgTQDcTQCfZQBdFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi0TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi8ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi1TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi16ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi2TSQFzQFy__T19PackedArrayViewImplThVmi8ZQBcZQCmMFNaNbNeKQCcZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T19spillToNextPageImplVmi1TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTkVmi16ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T19spillToNextPageImplVmi2TSQGdQGc__T19PackedArrayViewImplThVmi8ZQBcZQCqMFNaNbNeKQCcZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi0TSQFrQFq__T9BitPackedTkVmi8ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi1TSQFrQFq__T9BitPackedTkVmi16ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderThTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi2ThZQqMFNaNbNehmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl10putRangeAtMFNaNbNemmtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl11__xopEqualsMxFKxSQFsQFr__TQFqTtTwVii1114112TQFgTQEcTQDfZQGuZb@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl5buildMFNaNbNeZSQFpQFo__T4TrieTtTwVmi1114112TQFfTQEbTQDeZQBg@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl5putAtMFNaNbNemtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__ctorMFNaNbNcNetZSQFtQFs__TQFrTtTwVii1114112TQFhTQEdTQDgZQGv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl8putRangeMFNaNewwtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl8putValueMFNaNewtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpTtTwVii1114112TQFfTQEbTQDeZQGtZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T14deduceMaxIndexTQEgTQDcTQCfZQBdFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi0TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi8ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi1TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi16ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T15spillToNextPageVmi2TSQFzQFy__T19PackedArrayViewImplTtVmi16ZQBdZQCnMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T19spillToNextPageImplVmi1TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTkVmi16ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T19spillToNextPageImplVmi2TSQGdQGc__T19PackedArrayViewImplTtVmi16ZQBdZQCrMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi0TSQFrQFq__T9BitPackedTkVmi8ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi1TSQFrQFq__T9BitPackedTkVmi16ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi5Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi5ZQCvZQEl__T8addValueVmi2TtZQqMFNaNbNetmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl10putRangeAtMFNaNbNemmtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl11__xopEqualsMxFKxSQFsQFr__TQFqTtTwVii1114112TQFgTQEcTQDfZQGuZb@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl5buildMFNaNbNeZSQFpQFo__T4TrieTtTwVmi1114112TQFfTQEbTQDeZQBg@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl5putAtMFNaNbNemtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl6__ctorMFNaNbNcNetZSQFtQFs__TQFrTtTwVii1114112TQFhTQEdTQDgZQGv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl8putRangeMFNaNewwtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl8putValueMFNaNewtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl9__xtoHashFNbNeKxSQFrQFq__TQFpTtTwVii1114112TQFfTQEbTQDeZQGtZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T14deduceMaxIndexTQEgTQDcTQCfZQBdFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T15spillToNextPageVmi0TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi8ZQrVmi8ZQCeZQDoMFNaNbNiNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T15spillToNextPageVmi1TSQFzQFy__T19PackedArrayViewImplTSQHfQHe__T9BitPackedTkVmi15ZQsVmi16ZQCgZQDqMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T15spillToNextPageVmi2TSQFzQFy__T19PackedArrayViewImplTtVmi16ZQBdZQCnMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T19spillToNextPageImplVmi1TSQGdQGc__T19PackedArrayViewImplTSQHjQHi__T9BitPackedTkVmi15ZQsVmi16ZQCgZQDuMFNaNbNeKQDgZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T19spillToNextPageImplVmi2TSQGdQGc__T19PackedArrayViewImplTtVmi16ZQBdZQCrMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T3idxVmi2ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T8addValueVmi0TSQFrQFq__T9BitPackedTkVmi8ZQrZQBsMFNaNbNiNeQBrmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T8addValueVmi1TSQFrQFq__T9BitPackedTkVmi15ZQsZQBtMFNaNbNeQBqmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi13Vmi21ZQvTSQCwQCv__TQBiVmi6Vmi13ZQBvTSQDxQDw__TQCjVmi0Vmi6ZQCvZQEl__T8addValueVmi2TtZQqMFNaNbNetmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj10putRangeAtMFNaNbNemmtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj11__xopEqualsMxFKxSQEqQEp__TQEoTtTwVii1114112TQEeTQDbZQFoZb@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj14ConstructState6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj5buildMFNaNbNeZSQEnQEm__T4TrieTtTwVmi1114112TQEdTQDaZQBc@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj5putAtMFNaNbNemtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj6__ctorMFNaNbNcNetZSQErQEq__TQEpTtTwVii1114112TQEfTQDcZQFp@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj6__initZ@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj8putRangeMFNaNewwtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj8putValueMFNaNewtZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj9__xtoHashFNbNeKxSQEpQEo__TQEnTtTwVii1114112TQEdTQDaZQFnZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T14deduceMaxIndexTQDeTQCbZQzFNaNbNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T15spillToNextPageVmi0TSQExQEw__T19PackedArrayViewImplTSQGdQGc__T9BitPackedTkVmi12ZQsVmi16ZQCgZQDqMFNaNbNiNeKQDiZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T15spillToNextPageVmi1TSQExQEw__T19PackedArrayViewImplTtVmi16ZQBdZQCnMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T19spillToNextPageImplVmi1TSQFbQFa__T19PackedArrayViewImplTtVmi16ZQBdZQCrMFNaNbNeKQCdZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T3idxVmi0ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T3idxVmi1ZQjMFNaNbNcNdNiNeZm@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T8addValueVmi0TSQEpQEo__T9BitPackedTkVmi12ZQsZQBtMFNaNbNiNeQBsmZv@Base 13 + _D3std3uni__T11TrieBuilderTtTwVii1114112TSQBoQBn__T9sliceBitsVmi9Vmi21ZQuTSQCvQCu__TQBhVmi0Vmi9ZQBtZQDj__T8addValueVmi1TtZQqMFNaNbNetmZv@Base 13 + _D3std3uni__T11__lambda350TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda351TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda352TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda353TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda354TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda355TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda356TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda357TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda358TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 13 + _D3std3uni__T11__lambda359TEQBaQz13GraphemeStateTwZQBmFNaNbNiNfKQBlwZEQCqQCp12TransformRes@Base 14 + _D3std3uni__T11copyForwardTiTkZQsFNaNbNiNfAiAkZv@Base 13 + _D3std3uni__T11copyForwardTkTkZQsFNaNbNiNfAkQcZv@Base 13 + _D3std3uni__T11copyForwardTmTmZQsFNaNbNiNfAmQcZv@Base 13 + _D3std3uni__T11findSetNameS_DQBb8internal14unicode_tables6blocks3tabFNaNdNfZAySQCzQByQBs15UnicodePropertyTaZQDrFNaNfMxAaZb@Base 13 + _D3std3uni__T11findSetNameS_DQBb8internal14unicode_tables7scripts3tabFNaNdNfZAySQDaQBzQBt15UnicodePropertyTaZQDsFNaNfMxAaZb@Base 13 + _D3std3uni__T11findSetNameS_DQBb8internal14unicode_tables8uniProps3tabFNaNdNfZAySQDbQCaQBu15UnicodePropertyTaZQDtFNaNfMxAaZb@Base 13 + _D3std3uni__T11memoizeExprVAyaa91_756e69636f64652e416c7068616265746963207c20756e69636f64652e4d6e207c20756e69636f64652e4d630a20202020202020207c20756e69636f64652e4d65207c20756e69636f64652e4e64207c20756e69636f64652e5063ZQHwFNfZSQIpQIo__T13InversionListTSQJpQJo8GcPolicyZQBh@Base 13 + _D3std3uni__T11memoizeExprVAyaa91_756e69636f64652e416c7068616265746963207c20756e69636f64652e4d6e207c20756e69636f64652e4d630a20202020202020207c20756e69636f64652e4d65207c20756e69636f64652e4e64207c20756e69636f64652e5063ZQHwFZ11initializedb@Base 13 + _D3std3uni__T11memoizeExprVAyaa91_756e69636f64652e416c7068616265746963207c20756e69636f64652e4d6e207c20756e69636f64652e4d630a20202020202020207c20756e69636f64652e4d65207c20756e69636f64652e4e64207c20756e69636f64652e5063ZQHwFZ4slotSQIsQIr__T13InversionListTSQJsQJr8GcPolicyZQBh@Base 13 + _D3std3uni__T12fullCasedCmpTAxwZQtFNaNbNiNfwwKQsZi@Base 13 + _D3std3uni__T12fullCasedCmpTSQBb3utf__T5byUTFTwVEQBv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDiTSQEyQDx__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFkFNcQCeZ6ResultZQHcFNaNbNiNfwwKQHcZi@Base 13 + _D3std3uni__T12fullCasedCmpTSQBb3utf__T5byUTFTwVEQBv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDiTSQEyQDx__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFkFNcQCeZ6ResultZQHcFNaNbNiNfwwKQHcZi@Base 13 + _D3std3uni__T12loadPropertyTSQBbQBa__T13InversionListTSQCbQCa8GcPolicyZQBhTaZQCmFNaNfMxAaKQCkZb@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi5Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi5ZQCvZ__TQEbTiZQEhFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi5Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi5ZQCvZ__TQEbTwZQEhFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi6Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi6ZQCvZ__TQEbTiZQEhFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi6Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi6ZQCvZ__TQEbTwZQEhFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi7Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi7ZQCvZ__TQEbTiZQEhFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi7Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi7ZQCvZ__TQEbTwZQEhFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi8Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi8ZQCvZ__TQEbTiZQEhFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi13Vmi21ZQvTSQCjQCi__TQBiVmi8Vmi13ZQBvTSQDkQDj__TQCjVmi0Vmi8ZQCvZ__TQEbTwZQEhFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi14Vmi21ZQvTSQCjQCi__TQBiVmi10Vmi14ZQBwTSQDlQDk__TQCkVmi6Vmi10ZQCxTSQEmQEl__TQDlVmi0Vmi6ZQDxZ__TQFdTiZQFjFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi14Vmi21ZQvTSQCjQCi__TQBiVmi10Vmi14ZQBwTSQDlQDk__TQCkVmi6Vmi10ZQCxTSQEmQEl__TQDlVmi0Vmi6ZQDxZ__TQFdTwZQFjFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi8Vmi21ZQuTSQCiQCh__TQBhVmi0Vmi8ZQBtZ__TQCzTiZQDfFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi8Vmi21ZQuTSQCiQCh__TQBhVmi0Vmi8ZQBtZ__TQCzTwZQDfFNaNbNiNfwZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi9Vmi21ZQuTSQCiQCh__TQBhVmi0Vmi9ZQBtZ__TQCzTiZQDfFNaNbNiNfiZm@Base 13 + _D3std3uni__T12mapTrieIndexTSQBbQBa__T9sliceBitsVmi9Vmi21ZQuTSQCiQCh__TQBhVmi0Vmi9ZQBtZ__TQCzTwZQDfFNaNbNiNfwZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toLowerIndexFNaNbNiNewZtVki1433S_DQCsQCr10toLowerTabFNaNbNiNemZwZ__TQDpTaZQDvFNaNfMxAaZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toLowerIndexFNaNbNiNewZtVki1433S_DQCsQCr10toLowerTabFNaNbNiNemZwZ__TQDpTuZQDvFNaNfMxAuZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toLowerIndexFNaNbNiNewZtVki1433S_DQCsQCr10toLowerTabFNaNbNiNemZwZ__TQDpTwZQDvFNaNfMxAwZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toUpperIndexFNaNbNiNewZtVki1450S_DQCsQCr10toUpperTabFNaNbNiNemZwZ__TQDpTaZQDvFNaNfMxAaZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toUpperIndexFNaNbNiNewZtVki1450S_DQCsQCr10toUpperTabFNaNbNiNemZwZ__TQDpTuZQDvFNaNfMxAuZm@Base 13 + _D3std3uni__T12toCaseLengthS_DQBcQBb12toUpperIndexFNaNbNiNewZtVki1450S_DQCsQCr10toUpperTabFNaNbNiNemZwZ__TQDpTwZQDvFNaNfMxAwZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh10byIntervalMFNaNbNdNlNfZSQCvQCu__TQCtTQChZQDb__T9IntervalsTAkZQo@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11__fieldDtorMFNaNbNiNeZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11__xopEqualsMxFKxSQCoQCn__TQCmTQCaZQCuZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11addIntervalMFNaNbNlNfiimZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNaNbNdNfZSQCuQCt__TQCsTQCgZQDaQBtMFNdNfZ14CodepointRange@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange11__xopEqualsMxFKxSQDyQDx__TQDwTQDkZQEeQCxMFNdNfZQCnZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange5frontMxFNaNbNdNiNfZw@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange6__ctorMFNaNbNcNfSQDxQDw__TQDvTQDjZQEdZSQEtQEs__TQErTQEfZQEzQDsMFNdNfZQDi@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange6__initZ@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange8popFrontMFNaNbNiNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange9__xtoHashFNbNeKxSQDxQDw__TQDvTQDjZQEdQCwMFNdNfZQCmZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh12toSourceCodeFNfAxSQCpQCo17CodepointIntervalAyaZQe@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh12toSourceCodeFNfAxSQCpQCo17CodepointIntervalAyaZ__T11binaryScopeTQBxZQsFNfQCgQBhZQBl@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh12toSourceCodeFNfAxSQCpQCo17CodepointIntervalAyaZ__T11linearScopeTQBxZQsFNaNfQCiQBjZQBn@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh12toSourceCodeFNfAxSQCpQCo17CodepointIntervalAyaZ__T6bisectTQBrZQmFNfQCamQBcZQBg@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh12toSourceCodeMFNfAyaZQe@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6lengthMFNaNbNdNfZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh7opIndexMxFNaNbNiNfkZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh7subCharMFNaNbNcNfwZSQCqQCp__TQCoTQCcZQCw@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh8dropUpToMFNaNbNfkmZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh8invertedMFNaNbNdNfZSQCqQCp__TQCoTQCcZQCw@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh8opAssignMFNaNbNcNiNjNeSQCtQCs__TQCrTQCfZQCzZQw@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh8sanitizeMFNaNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh8skipUpToMFNaNbNfkmZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh9__xtoHashFNbNeKxSQCnQCm__TQClTQBzZQCtZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh9intervalsMxFNaNbNdNfZAxSQCuQCt17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T10opOpAssignVAyaa1_26TSQCvQCu__TQCtTQChZQDbZQBsMFNaNbNcNfQBjZQBn@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T10opOpAssignVAyaa1_7cTSQCvQCu__TQCtTQChZQDbZQBsMFNaNbNcNfQBjZQBn@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T10opOpAssignVAyaa1_7cTwZQyMFNaNbNcNfwZSQDlQDk__TQDjTQCxZQDr@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T13fromIntervalsTSQCpQCo21DecompressedIntervalsZQBvFNaNfQBnZSQEgQEf__TQEeTQDsZQEm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T13fromIntervalsZQqFNaNbNfAkXSQDbQDa__TQCzTQCnZQDh@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T3addTSQCeQCd__TQCcTQBqZQCkZQBbMFNaNbNcNfQBjZQBn@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T6__ctorTSQChQCg__TQCfTQBtZQCnZQBeMFNaNbNcNfQBjZQBn@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T8opBinaryVAyaa1_26TSQCsQCr__TQCqTQCeZQCyZQBpMFNaNbNfQBhZQBl@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T8opBinaryVAyaa1_7cTSQCsQCr__TQCqTQCeZQCyZQBpMFNaNbNfQBhZQBl@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo11__xopEqualsMxFKxSQDhQDg__TQDfTQCtZQDn__TQCgTQBzZQCoZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo13opIndexAssignMFNaNbNiNfSQDoQDn17CodepointIntervalmZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo4backMFNaNbNdNiNfSQDgQDf17CodepointIntervalZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo4backMxFNaNbNdNiNfZSQDiQDh17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo4saveMFNaNbNdNiNfZSQDhQDg__TQDfTQCtZQDn__TQCgTQBzZQCo@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo5frontMFNaNbNdNiNfSQDhQDg17CodepointIntervalZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo5frontMxFNaNbNdNiNfZSQDjQDi17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6__ctorMFNaNbNcNiNlNfQBaZSQDoQDn__TQDmTQDaZQDu__TQCnTQCgZQCv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6__ctorMFNaNbNcNiNlNfQBammZSQDqQDp__TQDoTQDcZQDw__TQCpTQCiZQCx@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6__initZ@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo7opIndexMxFNaNbNiNfmZSQDkQDj17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo7opSliceMFNaNbNiNfmmZSQDkQDj__TQDiTQCwZQDq__TQCjTQCcZQCr@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo7popBackMFNaNbNiNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo8popFrontMFNaNbNiNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo9__xtoHashFNbNeKxSQDgQDf__TQDeTQCsZQDm__TQCfTQByZQCnZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp11__xopEqualsMxFKxSQDiQDh__TQDgTQCuZQDo__TQChTQCaZQCpZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp4backMxFNaNbNdNiNfZSQDjQDi17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp4saveMFNaNbNdNiNfZSQDiQDh__TQDgTQCuZQDo__TQChTQCaZQCp@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp5frontMxFNaNbNdNiNfZSQDkQDj17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp6__ctorMFNaNbNcNiNlNfQBbZSQDpQDo__TQDnTQDbZQDv__TQCoTQChZQCw@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp6__ctorMFNaNbNcNiNlNfQBbmmZSQDrQDq__TQDpTQDdZQDx__TQCqTQCjZQCy@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp6__initZ@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp7opIndexMxFNaNbNiNfmZSQDlQDk17CodepointInterval@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp7opSliceMFNaNbNiNfmmZSQDlQDk__TQDjTQCxZQDr__TQCkTQCdZQCs@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp7popBackMFNaNbNiNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp8popFrontMFNaNbNiNfZv@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp9__xtoHashFNbNeKxSQDhQDg__TQDfTQCtZQDn__TQCgTQBzZQCoZm@Base 13 + _D3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9intersectTSQCkQCj__TQCiTQBwZQCqZQBhMFNaNbNcNfQBjZQBn@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy11simpleIndexMNgFNaNbNimZQCk@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy11simpleWriteMFNaNbNibmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy13opIndexAssignMFNaNbNibmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy6__ctorMNgFNaNbNcNiNfPNgmZNgSQDpQDo__TQDnTQDbVmi1ZQDz@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa11simpleIndexMNgFNaNbNimZQCm@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa6__ctorMNgFNaNbNcNiNfPNgmZNgSQDrQDq__TQDpTQDdVmi16ZQEc@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy11simpleIndexMNgFNaNbNimZQCk@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy6__ctorMNgFNaNbNcNiNfPNgmZNgSQDpQDo__TQDnTQDbVmi8ZQDz@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy11simpleIndexMNgFNaNbNimZQCk@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy11simpleWriteMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy6__ctorMNgFNaNbNcNiNfPNgmZNgSQDpQDo__TQDnTQDbVmi8ZQDz@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw11simpleIndexMNgFNaNbNimZh@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw11simpleWriteMFNaNbNihmZv@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw13opIndexAssignMFNaNbNihmZv@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw6__ctorMNgFNaNbNcNiNfPNgmZNgSQCmQCl__TQCkThVmi8ZQCu@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplThVmi8ZQw7opIndexMNgFNaNbNimZh@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx11simpleIndexMNgFNaNbNimZt@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx11simpleWriteMFNaNbNitmZv@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx13opIndexAssignMFNaNbNitmZv@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx6__ctorMNgFNaNbNcNiNfPNgmZNgSQCnQCm__TQClTtVmi16ZQCw@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx6__initZ@Base 13 + _D3std3uni__T13PackedPtrImplTtVmi16ZQx7opIndexMNgFNaNbNimZt@Base 13 + _D3std3uni__T13copyBackwardsTkTkZQuFNaNbNiNfAkQcZv@Base 13 + _D3std3uni__T13copyBackwardsTmTmZQuFNaNbNiNfAmQcZv@Base 13 + _D3std3uni__T13replicateBitsVmi1Vmi64ZQzFNaNbNiNfmZm@Base 13 + _D3std3uni__T13replicateBitsVmi2Vmi32ZQzFNaNbNiNfmZm@Base 13 + _D3std3uni__T13replicateBitsVmi4Vmi16ZQzFNaNbNiNfmZm@Base 13 + _D3std3uni__T13replicateBitsVmi64Vmi1ZQzFNaNbNiNfmZm@Base 13 + _D3std3uni__T13replicateBitsVmi8Vmi8ZQyFNaNbNiNfmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTaZQDpFNaNeKAaZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTaZQDpFNaNeKAaZv@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTuZQDpFNaNeKAuZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTuZQDpFNaNeKAuZv@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTwZQDpFNaNeKAwZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toLowerIndexFNaNbNiNewZtVii1433S_DQCtQCs10toLowerTabFNaNbNiNemZwTwZQDpFNaNeKAwZv@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTaZQDpFNaNeKAaZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTaZQDpFNaNeKAaZv@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTuZQDpFNaNeKAuZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTuZQDpFNaNeKAuZv@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTwZQDpFNaNeKAwZ6moveToFNaNbNiNfQtmmmZm@Base 13 + _D3std3uni__T13toCaseInPlaceS_DQBdQBc12toUpperIndexFNaNbNiNewZtVii1450S_DQCtQCs10toUpperTabFNaNbNiNemZwTwZQDpFNaNeKAwZv@Base 13 + _D3std3uni__T14findUnicodeSetS_DQBe8internal14unicode_tables6blocks3tabFNaNdNfZAySQDcQByQBs15UnicodePropertyTaZQDuFNaNfMxAaZl@Base 13 + _D3std3uni__T14findUnicodeSetS_DQBe8internal14unicode_tables7scripts3tabFNaNdNfZAySQDdQBzQBt15UnicodePropertyTaZQDvFNaNfMxAaZl@Base 13 + _D3std3uni__T14findUnicodeSetS_DQBe8internal14unicode_tables8uniProps3tabFNaNdNfZAySQDeQCaQBu15UnicodePropertyTaZQDwFNaNfMxAaZl@Base 13 + _D3std3uni__T14genericReplaceTvTSQBfQBe__T8CowArrayTSQBzQBy8GcPolicyZQBbTAiZQClFNaNbNeKQCdmmQtZm@Base 13 + _D3std3uni__T14genericReplaceTvTSQBfQBe__T8CowArrayTSQBzQBy8GcPolicyZQBbTAkZQClFNaNbNeKQCdmmQtZm@Base 13 + _D3std3uni__T14graphemeStrideTaZQtFNaNfMxAamZm@Base 13 + _D3std3uni__T14graphemeStrideTwZQtFNaNbNfMxAwmZm@Base 13 + _D3std3uni__T14loadUnicodeSetS_DQBe8internal14unicode_tables6blocks3tabFNaNdNfZAySQDcQByQBs15UnicodePropertyTSQEeQEd__T13InversionListTSQFeQFd8GcPolicyZQBhTaZQFpFNaNfMxAaKQCkZb@Base 13 + _D3std3uni__T14loadUnicodeSetS_DQBe8internal14unicode_tables7scripts3tabFNaNdNfZAySQDdQBzQBt15UnicodePropertyTSQEfQEe__T13InversionListTSQFfQFe8GcPolicyZQBhTaZQFqFNaNfMxAaKQCkZb@Base 13 + _D3std3uni__T14loadUnicodeSetS_DQBe8internal14unicode_tables8uniProps3tabFNaNdNfZAySQDeQCaQBu15UnicodePropertyTSQEgQEf__T13InversionListTSQFgQFf8GcPolicyZQBhTaZQFrFNaNfMxAaKQCkZb@Base 13 + _D3std3uni__T14toLowerInPlaceTaZQtFNaNeKAaZv@Base 13 + _D3std3uni__T14toLowerInPlaceTuZQtFNaNeKAuZv@Base 13 + _D3std3uni__T14toLowerInPlaceTwZQtFNaNeKAwZv@Base 13 + _D3std3uni__T14toUpperInPlaceTaZQtFNaNeKAaZv@Base 13 + _D3std3uni__T14toUpperInPlaceTuZQtFNaNeKAuZv@Base 13 + _D3std3uni__T14toUpperInPlaceTwZQtFNaNeKAwZv@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTbVmi1ZQrZQBwFNaNbNiNfPNgmmZNgSQDcQDb__T19PackedArrayViewImplTQDeVmi1ZQBe@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi11ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi12ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi13ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi14ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi15ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi16ZQsZQBxFNaNbNiNfPNgmmZNgSQDdQDc__T19PackedArrayViewImplTQDfVmi16ZQBf@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi7ZQrZQBwFNaNbNiNfPNgmmZNgSQDcQDb__T19PackedArrayViewImplTQDeVmi8ZQBe@Base 13 + _D3std3uni__T15packedArrayViewTSQBeQBd__T9BitPackedTkVmi8ZQrZQBwFNaNbNiNfPNgmmZNgSQDcQDb__T19PackedArrayViewImplTQDeVmi8ZQBe@Base 13 + _D3std3uni__T15packedArrayViewThZQuFNaNbNiNfPNgmmZNgSQBzQBy__T19PackedArrayViewImplThVmi8ZQBc@Base 13 + _D3std3uni__T15packedArrayViewTtZQuFNaNbNiNfPNgmmZNgSQBzQBy__T19PackedArrayViewImplTtVmi16ZQBd@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk11__xopEqualsMxFKxSQCrQCq__TQCpTQCaZQCxZb@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk13opIndexAssignMFNaNbNiNfwmZv@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk4backMFNaNbNdNiNfwZv@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk4backMxFNaNbNdNiNfZw@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk4saveMNgFNaNbNdNiNfZNgSQCvQCu__TQCtTQCeZQDb@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk5frontMFNaNbNdNiNfwZv@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk5frontMxFNaNbNdNiNfZw@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk6__initZ@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk7opIndexMxFNaNbNiNfmZw@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk7opSliceMFNaNbNiNfZSQCsQCr__TQCqTQCbZQCy@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk7opSliceMFNaNbNiNfmmZSQCuQCt__TQCsTQCdZQDa@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk7popBackMFNaNbNiNfZv@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk8popFrontMFNaNbNiNfZv@Base 13 + _D3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk__T8opEqualsTxSQCnQCm__TQClTQBwZQCtZQBhMxFNaNbNiNfKxQBmZb@Base 13 + _D3std3uni__T16codepointSetTrieVii13Vii8Z__TQBfTSQBvQBu__T13InversionListTSQCvQCu8GcPolicyZQBhZQDeFNaNfQCdZSQEcQEb__T4TrieTSQEsQEr__T9BitPackedTbVmi1ZQrTwVmi1114112TSQGiQGh__T9sliceBitsVmi8Vmi21ZQuTSQHpQHo__TQBhVmi0Vmi8ZQBtZQEd@Base 13 + _D3std3uni__T16propertyNameLessTaTaZQxFNaNfAxaQdZb@Base 13 + _D3std3uni__T16sliceOverIndexedTSQBfQBe8GraphemeZQBkFNaNbNiNfmmPQBgZSQCpQCo__T16SliceOverIndexedTQCnZQx@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toLowerIndexFNaNbNiNewZtVki1433S_DQCyQCx10toLowerTabFNaNbNiNemZwZ__TQDvTaZQEbFNaNeKAammZv@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toLowerIndexFNaNbNiNewZtVki1433S_DQCyQCx10toLowerTabFNaNbNiNemZwZ__TQDvTuZQEbFNaNeKAummZv@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toLowerIndexFNaNbNiNewZtVki1433S_DQCyQCx10toLowerTabFNaNbNiNemZwZ__TQDvTwZQEbFNaNeKAwmmZv@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toUpperIndexFNaNbNiNewZtVki1450S_DQCyQCx10toUpperTabFNaNbNiNemZwZ__TQDvTaZQEbFNaNeKAammZv@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toUpperIndexFNaNbNiNewZtVki1450S_DQCyQCx10toUpperTabFNaNbNiNemZwZ__TQDvTuZQEbFNaNeKAummZv@Base 13 + _D3std3uni__T18toCaseInPlaceAllocS_DQBiQBh12toUpperIndexFNaNbNiNewZtVki1450S_DQCyQCx10toUpperTabFNaNbNiNemZwZ__TQDvTwZQEbFNaNeKAwmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe11__xopEqualsMxFKxSQDlQDk__TQDjTQCrVmi1ZQDvZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe13opIndexAssignMFNaNbNibmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe13opSliceAssignMFNaNbNiQCimmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe13opSliceAssignMFNaNbNibmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDxQDw__TQDvTQDdVmi1ZQEh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe7opSliceMFNaNbNiNfZSQDmQDl__TQDkTQCsVmi1ZQDw@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe7opSliceMNgFNaNbNiNfmmZNgSQDsQDr__TQDqTQCyVmi1ZQEc@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe__T8opEqualsTxSQDhQDg__TQDfTQCnVmi1ZQDrZQBlMxFNaNbNiKxQBoZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg11__xopEqualsMxFKxSQDnQDm__TQDlTQCtVmi16ZQDyZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg13opIndexAssignMFNaNbNiQCkmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg13opSliceAssignMFNaNbNiQCkmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDzQDy__TQDxTQDfVmi16ZQEk@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg7opIndexMNgFNaNbNimZQCh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg7opSliceMFNaNbNiNfZSQDoQDn__TQDmTQCuVmi16ZQDz@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg7opSliceMNgFNaNbNiNfmmZNgSQDuQDt__TQDsTQDaVmi16ZQEf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg__T8opEqualsTxSQDjQDi__TQDhTQCpVmi16ZQDuZQBmMxFNaNbNiKxQBpZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe11__xopEqualsMxFKxSQDlQDk__TQDjTQCrVmi8ZQDvZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe13opSliceAssignMFNaNbNiQCimmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDxQDw__TQDvTQDdVmi8ZQEh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe7opSliceMFNaNbNiNfZSQDmQDl__TQDkTQCsVmi8ZQDw@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe7opSliceMNgFNaNbNiNfmmZNgSQDsQDr__TQDqTQCyVmi8ZQEc@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe__T8opEqualsTxSQDhQDg__TQDfTQCnVmi8ZQDrZQBlMxFNaNbNiKxQBoZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe11__xopEqualsMxFKxSQDlQDk__TQDjTQCrVmi8ZQDvZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe13opIndexAssignMFNaNbNiQCimZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe13opIndexAssignMFNaNbNikmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe13opSliceAssignMFNaNbNiQCimmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe13opSliceAssignMFNaNbNikmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQDxQDw__TQDvTQDdVmi8ZQEh@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe7opIndexMNgFNaNbNimZQCf@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe7opSliceMFNaNbNiNfZSQDmQDl__TQDkTQCsVmi8ZQDw@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe7opSliceMNgFNaNbNiNfmmZNgSQDsQDr__TQDqTQCyVmi8ZQEc@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe__T8opEqualsTxSQDhQDg__TQDfTQCnVmi8ZQDrZQBlMxFNaNbNiKxQBoZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc11__xopEqualsMxFKxSQCjQCi__TQChThVmi8ZQCrZb@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc13opIndexAssignMFNaNbNihmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc13opSliceAssignMFNaNbNihmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQCvQCu__TQCtThVmi8ZQDd@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc7opIndexMNgFNaNbNimZh@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc7opSliceMFNaNbNiNfZSQCkQCj__TQCiThVmi8ZQCs@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc7opSliceMNgFNaNbNiNfmmZNgSQCqQCp__TQCoThVmi8ZQCy@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc__T8opEqualsTxSQCfQCe__TQCdThVmi8ZQCnZQBjMxFNaNbNiKxQBmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplThVmi8ZQBc__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd11__xopEqualsMxFKxSQCkQCj__TQCiTtVmi16ZQCtZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd13opIndexAssignMFNaNbNitmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd13opSliceAssignMFNaNbNitmmZv@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd5zerosMFNaNbNimmZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd6__ctorMNgFNaNbNcNiNfPNgmmmZNgSQCwQCv__TQCuTtVmi16ZQDf@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd6__initZ@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd7opIndexMNgFNaNbNimZt@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd7opSliceMFNaNbNiNfZSQClQCk__TQCjTtVmi16ZQCu@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd7opSliceMNgFNaNbNiNfmmZNgSQCrQCq__TQCpTtVmi16ZQDa@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd__T7roundUpZQjMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd__T8opEqualsTxSQCgQCf__TQCeTtVmi16ZQCpZQBkMxFNaNbNiKxQBnZb@Base 13 + _D3std3uni__T19PackedArrayViewImplTtVmi16ZQBd__T9roundDownZQlMFNaNbNiNfmZm@Base 13 + _D3std3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZb@Base 13 + _D3std3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZi@Base 13 + _D3std3uni__T20isPrettyPropertyNameTaZQzFNaNfMxAaZb@Base 13 + _D3std3uni__T21genericDecodeGraphemeVbi0Z__TQBfTAxaZQBnFNaNfKQnZv@Base 13 + _D3std3uni__T21genericDecodeGraphemeVbi0Z__TQBfTAxwZQBnFNaNbNfKQpZv@Base 13 + _D3std3uni__T23switchUniformLowerBoundSQBl10functional__T9binaryFunVAyaa6_61203c3d2062VQta1_61VQBba1_62ZQBvTAxkTkZQDxFNaNbNiNfQskZm@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd11__xopEqualsMxFKxSQGkQGj__TQGiTQGgTwVmi1114112TQFiTQEeTQDhZQHoZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd6__initZ@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd9__xtoHashFNbNeKxSQGjQGi__TQGhTQGfTwVmi1114112TQFhTQEdTQDgZQHnZm@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd__T6__ctorZQiMFNaNbNcNiNeSQGrQGq__T10MultiArrayTSQHoQHn__TQGyTkVmi8ZQHiTSQImQIl__TQHwTkVmi14ZQIhTQItZQCoZSQJtQJs__TQJrTQJpTwVmi1114112TQIrTQHnTQGqZQKx@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQHbQHa__TQGzTQGxTwVmi1114112TQFzTQEvTQDyZQIf@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi7Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi7ZQCvZQFd__T7opIndexZQjMxFNaNbNiNewZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd11__xopEqualsMxFKxSQGkQGj__TQGiTQGgTwVmi1114112TQFiTQEeTQDhZQHoZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd6__initZ@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd9__xtoHashFNbNeKxSQGjQGi__TQGhTQGfTwVmi1114112TQFhTQEdTQDgZQHnZm@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd__T6__ctorZQiMFNaNbNcNiNeSQGrQGq__T10MultiArrayTSQHoQHn__TQGyTkVmi8ZQHiTSQImQIl__TQHwTkVmi13ZQIhTQItZQCoZSQJtQJs__TQJrTQJpTwVmi1114112TQIrTQHnTQGqZQKx@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQHbQHa__TQGzTQGxTwVmi1114112TQFzTQEvTQDyZQIf@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi13Vmi21ZQvTSQDoQDn__TQBiVmi8Vmi13ZQBvTSQEpQEo__TQCjVmi0Vmi8ZQCvZQFd__T7opIndexZQjMxFNaNbNiNewZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf11__xopEqualsMxFKxSQHmQHl__TQHkTQHiTwVmi1114112TQGkTQFgTQEiTQDlZQIuZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf6__initZ@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf9__xtoHashFNbNeKxSQHlQHk__TQHjTQHhTwVmi1114112TQGjTQFfTQEhTQDkZQItZm@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf__T6__ctorZQiMFNaNbNcNiNeSQHtQHs__T10MultiArrayTSQIqQIp__TQIaTkVmi7ZQIkTSQJoQJn__TQIyTkVmi11ZQJjTSQKnQKm__TQJxTkVmi15ZQKiTQKuZQDnZSQLuQLt__TQLsTQLqTwVmi1114112TQKsTQJoTQIqTQHtZQNc@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQIdQIc__TQIbTQHzTwVmi1114112TQHbTQFxTQEzTQEcZQJl@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi14Vmi21ZQvTSQDoQDn__TQBiVmi10Vmi14ZQBwTSQEqQEp__TQCkVmi6Vmi10ZQCxTSQFrQFq__TQDlVmi0Vmi6ZQDxZQGf__T7opIndexZQjMxFNaNbNiNewZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb11__xopEqualsMxFKxSQFiQFh__TQFgTQFeTwVmi1114112TQEgTQDdZQGiZb@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb6__initZ@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb9__xtoHashFNbNeKxSQFhQFg__TQFfTQFdTwVmi1114112TQEfTQDcZQGhZm@Base 13 + _D3std3uni__T4TrieTSQsQq__T9BitPackedTbVmi1ZQrTwVmi1114112TSQCgQCf__T9sliceBitsVmi8Vmi21ZQuTSQDnQDm__TQBhVmi0Vmi8ZQBtZQEb__T6__ctorZQiMFNaNbNcNiNeSQFpQFo__T10MultiArrayTSQGmQGl__TQFwTkVmi13ZQGhTQGtZQBqZSQHtQHs__TQHrTQHpTwVmi1114112TQGrTQFoZQIt@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd11__xopEqualsMxFKxSQFkQFj__TQFiThTwVmi1114112TQFgTQEcTQDfZQGmZb@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd6__initZ@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd9__xtoHashFNbNeKxSQFjQFi__TQFhThTwVmi1114112TQFfTQEbTQDeZQGlZm@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd__T6__ctorZQiMFNaNbNcNiNeSQFrQFq__T10MultiArrayTSQGoQGn__T9BitPackedTkVmi8ZQrTSQHsQHr__TQBeTkVmi16ZQBpThZQCsZSQIxQIw__TQIvThTwVmi1114112TQItTQHpTQGsZQJz@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQGbQGa__TQFzThTwVmi1114112TQFxTQEtTQDwZQHd@Base 13 + _D3std3uni__T4TrieThTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd__T7opIndexZQjMxFNaNbNiNewZh@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd11__xopEqualsMxFKxSQFkQFj__TQFiTtTwVmi1114112TQFgTQEcTQDfZQGmZb@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd6__initZ@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd9__xtoHashFNbNeKxSQFjQFi__TQFhTtTwVmi1114112TQFfTQEbTQDeZQGlZm@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd__T6__ctorZQiMFNaNbNcNiNeSQFrQFq__T10MultiArrayTSQGoQGn__T9BitPackedTkVmi8ZQrTSQHsQHr__TQBeTkVmi16ZQBpTtZQCsZSQIxQIw__TQIvTtTwVmi1114112TQItTQHpTQGsZQJz@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi5Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi5ZQCvZQEd__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQGbQGa__TQFzTtTwVmi1114112TQFxTQEtTQDwZQHd@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd11__xopEqualsMxFKxSQFkQFj__TQFiTtTwVmi1114112TQFgTQEcTQDfZQGmZb@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd6__initZ@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd9__xtoHashFNbNeKxSQFjQFi__TQFhTtTwVmi1114112TQFfTQEbTQDeZQGlZm@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd__T6__ctorZQiMFNaNbNcNiNeSQFrQFq__T10MultiArrayTSQGoQGn__T9BitPackedTkVmi8ZQrTSQHsQHr__TQBeTkVmi15ZQBpTtZQCsZSQIxQIw__TQIvTtTwVmi1114112TQItTQHpTQGsZQJz@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQGbQGa__TQFzTtTwVmi1114112TQFxTQEtTQDwZQHd@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi13Vmi21ZQvTSQCoQCn__TQBiVmi6Vmi13ZQBvTSQDpQDo__TQCjVmi0Vmi6ZQCvZQEd__T7opIndexZQjMxFNaNbNiNewZt@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb11__xopEqualsMxFKxSQEiQEh__TQEgTtTwVmi1114112TQEeTQDbZQFgZb@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb6__initZ@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb9__xtoHashFNbNeKxSQEhQEg__TQEfTtTwVmi1114112TQEdTQDaZQFfZm@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb__T6__ctorZQiMFNaNbNcNiNeSQEpQEo__T10MultiArrayTSQFmQFl__T9BitPackedTkVmi12ZQsTtZQBuZSQGxQGw__TQGvTtTwVmi1114112TQGtTQFqZQHv@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb__T6__ctorZQiMxFNaNbNcNiNeAxmQdQfZxSQEzQEy__TQExTtTwVmi1114112TQEvTQDsZQFx@Base 13 + _D3std3uni__T4TrieTtTwVmi1114112TSQBgQBf__T9sliceBitsVmi9Vmi21ZQuTSQCnQCm__TQBhVmi0Vmi9ZQBtZQDb__T7opIndexZQjMxFNaNbNiNewZt@Base 13 + _D3std3uni__T4icmpTAxaTQeZQnFNaNbNiNfQsQuZi@Base 13 + _D3std3uni__T4icmpTAxuTQeZQnFNaNbNiNfQsQuZi@Base 13 + _D3std3uni__T4icmpTAxwTQeZQnFNaNbNiNfQsQuZi@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm11__xopEqualsMxFKxSQCtQCs__TQCrTQCoZQCzZb@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm3popMFNbNeZQBt@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm3topMFNaNbNcNdNiNfZQCb@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm4pushMFNaNbNfQBvZv@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm6__initZ@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm6lengthMFNaNbNdNiNfZm@Base 13 + _D3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm9__xtoHashFNbNeKxSQCsQCr__TQCqTQCnZQCyZm@Base 13 + _D3std3uni__T5StackTkZQj11__xopEqualsMxFKxSQBpQBo__TQBnTkZQBtZb@Base 13 + _D3std3uni__T5StackTkZQj3popMFNbNeZk@Base 13 + _D3std3uni__T5StackTkZQj3topMFNaNbNcNdNiNfZk@Base 13 + _D3std3uni__T5StackTkZQj4pushMFNaNbNfkZv@Base 13 + _D3std3uni__T5StackTkZQj5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3uni__T5StackTkZQj6__initZ@Base 13 + _D3std3uni__T5StackTkZQj6lengthMFNaNbNdNiNfZm@Base 13 + _D3std3uni__T5StackTkZQj9__xtoHashFNbNeKxSQBoQBn__TQBmTkZQBsZm@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi11ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi11ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi12ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi12ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi13ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi13ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi14ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi14ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi15ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi15ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi16ZQsTQBdZQBoFNaNbNiNfQBtZQBx@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi16ZQsTmZQBmFNaNbNiNfmZQBt@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi7ZQrTQBcZQBnFNaNbNiNfQBsZQBw@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi7ZQrTmZQBlFNaNbNiNfmZQBs@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi8ZQrTQBcZQBnFNaNbNiNfQBsZQBw@Base 13 + _D3std3uni__T5forceTSQtQr__T9BitPackedTkVmi8ZQrTmZQBlFNaNbNiNfmZQBs@Base 13 + _D3std3uni__T5forceTkTiZQlFNaNbNiNfiZk@Base 13 + _D3std3uni__T5sicmpTAxaTQeZQoFNaNbNiNfMQtMQwZi@Base 13 + _D3std3uni__T5sicmpTAxuTQeZQoFNaNbNiNfMQtMQwZi@Base 13 + _D3std3uni__T5sicmpTAxwTQeZQoFNaNbNiNfMQtMQwZi@Base 13 + _D3std3uni__T6asTrieTbVii7Vii4Vii4Vii6ZQBaFNaNbNiNfMxSQCa8internal14unicode_tables__T9TrieEntryTbVii7Vii4Vii4Vii6ZQBdZxSQEoQEn__T4TrieTSQFeQFd__T9BitPackedTbVmi1ZQrTwVmi1114112TSQGuQGt__T9sliceBitsVmi14Vmi21ZQvTSQIcQIb__TQBiVmi10Vmi14ZQBwTSQJeQJd__TQCkVmi6Vmi10ZQCxTSQKfQKe__TQDlVmi0Vmi6ZQDxZQGh@Base 13 + _D3std3uni__T6asTrieTbVii8Vii5Vii8ZQwFNaNbNiNfMxSQBv8internal14unicode_tables__T9TrieEntryTbVii8Vii5Vii8ZQzZxSQEeQEd__T4TrieTSQEuQEt__T9BitPackedTbVmi1ZQrTwVmi1114112TSQGkQGj__T9sliceBitsVmi13Vmi21ZQvTSQHsQHr__TQBiVmi8Vmi13ZQBvTSQItQIs__TQCjVmi0Vmi8ZQCvZQFf@Base 13 + _D3std3uni__T6asTrieTbVii8Vii6Vii7ZQwFNaNbNiNfMxSQBv8internal14unicode_tables__T9TrieEntryTbVii8Vii6Vii7ZQzZxSQEeQEd__T4TrieTSQEuQEt__T9BitPackedTbVmi1ZQrTwVmi1114112TSQGkQGj__T9sliceBitsVmi13Vmi21ZQvTSQHsQHr__TQBiVmi7Vmi13ZQBvTSQItQIs__TQCjVmi0Vmi7ZQCvZQFf@Base 13 + _D3std3uni__T6asTrieThVii8Vii8Vii5ZQwFNaNbNiNfMxSQBv8internal14unicode_tables__T9TrieEntryThVii8Vii8Vii5ZQzZxSQEeQEd__T4TrieThTwVmi1114112TSQFiQFh__T9sliceBitsVmi13Vmi21ZQvTSQGqQGp__TQBiVmi5Vmi13ZQBvTSQHrQHq__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni__T6asTrieTtVii12Vii9ZQtFNaNbNiNfMxSQBs8internal14unicode_tables__T9TrieEntryTtVii12Vii9ZQwZxSQDyQDx__T4TrieTtTwVmi1114112TSQFcQFb__T9sliceBitsVmi9Vmi21ZQuTSQGjQGi__TQBhVmi0Vmi9ZQBtZQDb@Base 13 + _D3std3uni__T6asTrieTtVii8Vii7Vii6ZQwFNaNbNiNfMxSQBv8internal14unicode_tables__T9TrieEntryTtVii8Vii7Vii6ZQzZxSQEeQEd__T4TrieTtTwVmi1114112TSQFiQFh__T9sliceBitsVmi13Vmi21ZQvTSQGqQGp__TQBiVmi6Vmi13ZQBvTSQHrQHq__TQCjVmi0Vmi6ZQCvZQEd@Base 13 + _D3std3uni__T6asTrieTtVii8Vii8Vii5ZQwFNaNbNiNfMxSQBv8internal14unicode_tables__T9TrieEntryTtVii8Vii8Vii5ZQzZxSQEeQEd__T4TrieTtTwVmi1114112TSQFiQFh__T9sliceBitsVmi13Vmi21ZQvTSQGqQGp__TQBiVmi5Vmi13ZQBvTSQHrQHq__TQCjVmi0Vmi5ZQCvZQEd@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toLowerIndexFNaNbNiNewZtVii1433S_DQCjQCi10toLowerTabFNaNbNiNemZwSQDo5ascii7toLowerTAxaZQDzFNaNfQmZQp@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toLowerIndexFNaNbNiNewZtVii1433S_DQCjQCi10toLowerTabFNaNbNiNemZwSQDo5ascii7toLowerTAyaZQDzFNaNfQmZQp@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toLowerIndexFNaNbNiNewZtVii1433S_DQCjQCi10toLowerTabFNaNbNiNemZwSQDo5ascii7toLowerTAyuZQDzFNaNfQmZQp@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toLowerIndexFNaNbNiNewZtVii1433S_DQCjQCi10toLowerTabFNaNbNiNemZwSQDo5ascii7toLowerTAywZQDzFNaNbNfQoZQr@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toUpperIndexFNaNbNiNewZtVii1450S_DQCjQCi10toUpperTabFNaNbNiNemZwSQDo5ascii7toUpperTAyaZQDzFNaNfQmZQp@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toUpperIndexFNaNbNiNewZtVii1450S_DQCjQCi10toUpperTabFNaNbNiNemZwSQDo5ascii7toUpperTAyuZQDzFNaNfQmZQp@Base 13 + _D3std3uni__T6toCaseS_DQvQt12toUpperIndexFNaNbNiNewZtVii1450S_DQCjQCi10toUpperTabFNaNbNiNemZwSQDo5ascii7toUpperTAywZQDzFNaNbNfQoZQr@Base 13 + _D3std3uni__T7toLowerTAxaZQnFNaNeNkMQoZQr@Base 13 + _D3std3uni__T7toLowerTAyaZQnFNaNeNkMQoZQr@Base 13 + _D3std3uni__T7toLowerTAyuZQnFNaNeNkMQoZQr@Base 13 + _D3std3uni__T7toLowerTAywZQnFNaNbNeNkMQqZQt@Base 13 + _D3std3uni__T7toUpperTAyaZQnFNaNeNkMQoZQr@Base 13 + _D3std3uni__T7toUpperTAyuZQnFNaNeNkMQoZQr@Base 13 + _D3std3uni__T7toUpperTAywZQnFNaNbNeNkMQqZQt@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf10__postblitMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf11__xopEqualsMxFKxSQCmQCl__TQCkTQCeZQCsZb@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf13opIndexAssignMFNaNbNiNfkmZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf16dupThisReferenceMFNaNbNiNfkZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf17freeThisReferenceMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf5reuseFNaNbNiNfAkZSQCmQCl__TQCkTQCeZQCs@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf6__dtorMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf6__initZ@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf6lengthMFNaNbNdNiNfmZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf7opSliceMFNaNbNiNfZAk@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf7opSliceMFNaNbNiNfmmZAk@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf7opSliceMxFNaNbNiNfZAxk@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf7opSliceMxFNaNbNiNfmmZAxk@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf8opAssignMFNaNbNcNiNjNeSQCrQCq__TQCpTQCjZQCxZQw@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf8refCountMFNaNbNdNiNfkZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf8refCountMxFNaNbNdNiNfZk@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf9__xtoHashFNbNeKxSQClQCk__TQCjTQCdZQCrZm@Base 13 + _D3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf__T8opEqualsZQkMxFNaNbNiNfKxSQCwQCv__TQCuTQCoZQDcZb@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz10__postblitMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz11__xopEqualsMxFKxSQCfQCe__TQCdTQBxZQClZb@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz13opIndexAssignMFNaNbNfkmZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz16dupThisReferenceMFNaNbNfkZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz17freeThisReferenceMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz5reuseFNaNbNfAkZSQCdQCc__TQCbTQBvZQCj@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6__dtorMFNaNbNiNfZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6__initZ@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6lengthMFNaNbNdNfmZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz7opSliceMFNaNbNfZAk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz7opSliceMFNaNbNfmmZAk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz7opSliceMxFNaNbNiNfZAxk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz7opSliceMxFNaNbNiNfmmZAxk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz8opAssignMFNaNbNcNiNjNeSQCkQCj__TQCiTQCcZQCqZQw@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz8refCountMFNaNbNdNiNfkZv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz8refCountMxFNaNbNdNiNfZk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz9__xtoHashFNbNeKxSQCeQCd__TQCcTQBwZQCkZm@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz__T6__ctorTAkZQlMFNaNbNcNfQpZSQCqQCp__TQCoTQCiZQCw@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz__T6__ctorTSQBy5range__T10roundRobinTSQCy9algorithm9iteration__T9MapResultSQEj10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQGnQGm21DecompressedIntervalsZQDtTSQHwQEyQEr__TQEkSQImQEd__TQDuVQDoa4_615b315dVQEda1_61ZQEwTQDpZQGhZQHzFQHqQCvZ6ResultZQJnMFNaNcNfQJqZSQLsQLr__TQLqTQLkZQLy@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz__T6appendZQiMFNaNbNfAkXv@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz__T7opIndexZQjMxFNaNbNiNfmZk@Base 13 + _D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz__T8opEqualsZQkMxFNaNbNiNfKxSQCpQCo__TQCnTQChZQCvZb@Base 13 + _D3std3uni__T8spaceForVmi11ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi12ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi13ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi14ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi15ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi16ZQpFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi1ZQoFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi7ZQoFNaNbNiNfmZm@Base 13 + _D3std3uni__T8spaceForVmi8ZQoFNaNbNiNfmZm@Base 13 + _D3std3uni__T9BitPackedTbVmi1ZQr6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi11ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi12ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi13ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi14ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi15ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi16ZQs6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi7ZQr6__initZ@Base 13 + _D3std3uni__T9BitPackedTkVmi8ZQr6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi5ZQt6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi5ZQt__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi5ZQt__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi6ZQt6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi6ZQt__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi6ZQt__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi7ZQt6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi7ZQt__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi7ZQt__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi8ZQt6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi8ZQt__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi8ZQt__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi9ZQt6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi9ZQt__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi0Vmi9ZQt__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi10Vmi14ZQv6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi10Vmi14ZQv__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi10Vmi14ZQv__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi13Vmi21ZQv6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi13Vmi21ZQv__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi13Vmi21ZQv__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi14Vmi21ZQv6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi14Vmi21ZQv__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi14Vmi21ZQv__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi5Vmi13ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi5Vmi13ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi5Vmi13ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi10ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi10ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi10ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi13ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi13ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi6Vmi13ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi7Vmi13ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi7Vmi13ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi7Vmi13ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi13ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi13ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi13ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi21ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi21ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi8Vmi21ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uni__T9sliceBitsVmi9Vmi21ZQu6__initZ@Base 13 + _D3std3uni__T9sliceBitsVmi9Vmi21ZQu__T6opCallTiZQkFNaNbNiNfiZi@Base 13 + _D3std3uni__T9sliceBitsVmi9Vmi21ZQu__T6opCallTwZQkFNaNbNiNfwZk@Base 13 + _D3std3uri10URI_EncodeFNaNfAywkZAya@Base 13 + _D3std3uri11__moduleRefZ@Base 13 + _D3std3uri12URIException6__initZ@Base 13 + _D3std3uri12URIException6__vtblZ@Base 13 + _D3std3uri12URIException7__ClassZ@Base 13 + _D3std3uri12URIException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQCwQCvQCu@Base 13 + _D3std3uri12URIException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCwQCvQCu@Base 13 + _D3std3uri12__ModuleInfoZ@Base 13 + _D3std3uri9ascii2hexFNaNbNiNfwZk@Base 13 + _D3std3uri9hex2asciiyG16a@Base 13 + _D3std3uri9uri_flagsyG128h@Base 13 + _D3std3uri9urlEncodeFNaNfMHAyaQdZQg@Base 13 + _D3std3uri__T15encodeComponentTaZQuFNaNfMAxaZAya@Base 13 + _D3std3utf10strideImplFNaNeamZk@Base 13 + _D3std3utf11__moduleRefZ@Base 13 + _D3std3utf12UTFException11setSequenceMFNaNbNiNlNjNfAkXCQCbQCaQBz@Base 13 + _D3std3utf12UTFException6__ctorMFNaNbNfAyamQemC6object9ThrowableZCQCmQClQCk@Base 13 + _D3std3utf12UTFException6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCnQCmQCl@Base 13 + _D3std3utf12UTFException6__initZ@Base 13 + _D3std3utf12UTFException6__vtblZ@Base 13 + _D3std3utf12UTFException7__ClassZ@Base 13 + _D3std3utf12UTFException8toStringMxFZAya@Base 13 + _D3std3utf12__ModuleInfoZ@Base 13 + _D3std3utf12isValidDcharFNaNbNiNfwZb@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFNaNbNiNfQoZSQBqQBp__TQBoTQBfZQBwFQBnZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl11__xopEqualsMxFKxSQCqQCp__TQCoTQCfZQCwFQCnZQCiZb@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl4backMNgFNaNbNcNdNiNfZNga@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl4saveMFNaNbNdNiNfZSQCqQCp__TQCoTQCfZQCwFQCnZQCi@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl5frontMNgFNaNbNcNdNiNfZNga@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl6__initZ@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl7opIndexMNgFNaNbNcNiNfmZNga@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl7opSliceMFNaNbNiNfmmZSQCtQCs__TQCrTQCiZQCzFQCqZQCl@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl9__xtoHashFNbNeKxSQCpQCo__TQCnTQCeZQCvFQCmZQChZm@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFNaNbNiNfQpZSQBrQBq__TQBpTQBgZQBxFQBoZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl11__xopEqualsMxFKxSQCrQCq__TQCpTQCgZQCxFQCoZQCiZb@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl4backMNgFNaNbNcNdNiNfZNgxa@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl4saveMFNaNbNdNiNfZSQCrQCq__TQCpTQCgZQCxFQCoZQCi@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl5frontMNgFNaNbNcNdNiNfZNgxa@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl7opIndexMNgFNaNbNcNiNfmZNgxa@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl7opSliceMFNaNbNiNfmmZSQCuQCt__TQCsTQCjZQDaFQCrZQCl@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl9__xtoHashFNbNeKxSQCqQCp__TQCoTQCfZQCwFQCnZQChZm@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFNaNbNiNfQpZSQBrQBq__TQBpTQBgZQBxFQBoZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl11__xopEqualsMxFKxSQCrQCq__TQCpTQCgZQCxFQCoZQCiZb@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl4backMNgFNaNbNcNdNiNfZNgxu@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl4saveMFNaNbNdNiNfZSQCrQCq__TQCpTQCgZQCxFQCoZQCi@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl5frontMNgFNaNbNcNdNiNfZNgxu@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl7opIndexMNgFNaNbNcNiNfmZNgxu@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl7opSliceMFNaNbNiNfmmZSQCuQCt__TQCsTQCjZQDaFQCrZQCl@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl9__xtoHashFNbNeKxSQCqQCp__TQCoTQCfZQCwFQCnZQChZm@Base 13 + _D3std3utf__T10byCodeUnitTAxwZQrFNaNbNiNfQpZQs@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFNaNbNiNfQpZSQBrQBq__TQBpTQBgZQBxFQBoZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl11__xopEqualsMxFKxSQCrQCq__TQCpTQCgZQCxFQCoZQCiZb@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl4backMNgFNaNbNcNdNiNfZya@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl4saveMFNaNbNdNiNfZSQCrQCq__TQCpTQCgZQCxFQCoZQCi@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl5frontMNgFNaNbNcNdNiNfZya@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl7opIndexMNgFNaNbNcNiNfmZya@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl7opSliceMFNaNbNiNfmmZSQCuQCt__TQCsTQCjZQDaFQCrZQCl@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl9__xtoHashFNbNeKxSQCqQCp__TQCoTQCfZQCwFQCnZQChZm@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFNaNbNiNfQpZSQBrQBq__TQBpTQBgZQBxFQBoZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl11__xopEqualsMxFKxSQCrQCq__TQCpTQCgZQCxFQCoZQCiZb@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl4backMNgFNaNbNcNdNiNfZyu@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl4saveMFNaNbNdNiNfZSQCrQCq__TQCpTQCgZQCxFQCoZQCi@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl5frontMNgFNaNbNcNdNiNfZyu@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl7opIndexMNgFNaNbNcNiNfmZyu@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl7opSliceMFNaNbNiNfmmZSQCuQCt__TQCsTQCjZQDaFQCrZQCl@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl9__xtoHashFNbNeKxSQCqQCp__TQCoTQCfZQCwFQCnZQChZm@Base 13 + _D3std3utf__T10byCodeUnitTAywZQrFNaNbNiNfQpZQs@Base 13 + _D3std3utf__T10byCodeUnitTSQz4path__T16asNormalizedPathTSQCd5range__T5chainTSQCxQCw__TQCvTAyaZQDdFQiZ14ByCodeUnitImplTSQEnQCk__T10OnlyResultTaZQpTQCsZQDdFQDaQBnQDgZ6ResultZQFfFNkMQEtZQtZQGrFNaNbNiNfQGqZQGu@Base 13 + _D3std3utf__T10byCodeUnitTSQz5range__T5chainTSQBsQBr__TQBqTAxaZQByFQiZ14ByCodeUnitImplTSQDiQCk__T10OnlyResultTaZQpTQCsZQDdFQDaQBnQDgZ6ResultZQEyFNaNbNiNfQExZQFb@Base 13 + _D3std3utf__T10byCodeUnitTSQzQx__TQvTAaZQBbFQhZ14ByCodeUnitImplZQBzFNaNbNiNfQByZQCc@Base 13 + _D3std3utf__T10byCodeUnitTSQzQx__TQvTAxaZQBcFQiZ14ByCodeUnitImplZQCaFNaNbNiNfQBzZQCd@Base 13 + _D3std3utf__T10byCodeUnitTSQzQx__TQvTAyaZQBcFQiZ14ByCodeUnitImplZQCaFNaNbNiNfQBzZQCd@Base 13 + _D3std3utf__T10codeLengthTaZQpFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTuZQpFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTwZQpFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTxaZQqFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTyaZQqFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTyuZQqFNaNbNiNfwZh@Base 13 + _D3std3utf__T10codeLengthTywZQqFNaNbNiNfwZh@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFgFNaNfKQChJmZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFgFNaNfKQChZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFgFNaNbNiNfKQClJmZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFgFNaNbNiNfKQClZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFgFNaNbNiNfKQClJmZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFgFNaNbNiNfKQClZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTQCxZQrFQDeZ14ByCodeUnitImplZQFhFNaNfKQCiJmZw@Base 13 + _D3std3utf__T10decodeBackVEQz8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDuQDt__T10byCodeUnitTQCxZQrFQDeZ14ByCodeUnitImplZQFhFNaNfKQCiZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxaZQDrFKQjKmZ__T9exceptionTQBcZQpFNaNbNfQBpQDsZCQFvQFu12UTFException@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxaZQDrFNaKQlKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxaZQDrFNaQkKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxaZQDrFQiKmZ__T9exceptionTQBbZQpFNaNbNfQBoQDrZCQFuQFt12UTFException@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxuZQDrFNaKQlKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxuZQDrFNaQkKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxwZQDrFNaKQlKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxwZQDrFNaQkKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxaZQDrFNaNbNiKQpKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxaZQDrFNaNbNiQoKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxuZQDrFNaNbNiKQpKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxwZQDrFNaNbNiKQpKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDzQDy__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFlFNaNbNiNfKQClKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDzQDy__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFlFNaNbNiNfKQClKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDzQDy__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFlFNaNbNiNfKQClKmZw@Base 13 + _D3std3utf__T10decodeImplVbi1VEQBd8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDzQDy__T10byCodeUnitTQCxZQrFQDeZ14ByCodeUnitImplZQFmFNaNbNiNfKQCmKmZw@Base 13 + _D3std3utf__T10strideBackTANgaZQsFNaNfKQnmZk@Base 13 + _D3std3utf__T10strideBackTAxaZQrFNaNfKQmmZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCjFNaNfKQCfZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCjFNaNfKQCfmZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQCjFNaNbNiNfKQCjZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCjFNaNfKQCfZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCjFNaNfKQCfmZk@Base 13 + _D3std3utf__T10strideBackTSQzQx__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQCjFNaNbNiNfKQCjZk@Base 13 + _D3std3utf__T10toUTFzImplTPaTAxaZQuFNaNbNfNkMQqZQw@Base 13 + _D3std3utf__T10toUTFzImplTPaTAyaZQuFNaNbNfNkMQqZQw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAaZQDnFNaNeMKQnJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAaZQDnFNaNfKQmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAwZQDnFNaNeMKQnJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAwZQDnFNaNfKQmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxaZQDoFNaNbNiNeMKQsJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxaZQDoFNaNbNiNfKQrZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxuZQDoFNaNbNiNeMKQsJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxuZQDoFNaNbNiNfKQrZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxwZQDoFNaNbNiNeMKQsJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TAxwZQDoFNaNbNiNfKQrZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFiFNaNbNiNfKQClZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTQCxZQrFQDeZ14ByCodeUnitImplZQFjFNaNbNiNfKQCmJmZw@Base 13 + _D3std3utf__T11decodeFrontVEQBa8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TSQDwQDv__T10byCodeUnitTQCxZQrFQDeZ14ByCodeUnitImplZQFjFNaNbNiNfKQCmZw@Base 13 + _D3std3utf__T13_utfExceptionVEQBc8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0ZQDmFNaNfQCiwZw@Base 13 + _D3std3utf__T13_utfExceptionVEQBc8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1ZQDmFNaNbNiNfQCmwZw@Base 13 + _D3std3utf__T20canSearchInCodeUnitsTaZQzFNaNbNiNfwZb@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAaZQDoFNaNbNiNfQpZSQEpQEo__T10byCodeUnitTQBpZQrFQBwZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAxaZQDpFNaNbNiNfQqZSQEqQEp__T10byCodeUnitTQBqZQrFQBxZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTQChZQDpFNaNbNiNfQCxZSQErQEq__T10byCodeUnitTQDyZQrFQEfZ14ByCodeUnitImpl@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDx4path__T16asNormalizedPathTSQFc5range__T5chainTSQFwQFv__T10byCodeUnitTQFdZQrFQFkZ14ByCodeUnitImplTSQHvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQtZQJzFNaNbNiNfQHaZQHe@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDx5range__T5chainTSQErQEq__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQGpQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6ResultZQIfFNaNbNiNfQFgZQFk@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQFiFNaNbNiNfQCjZQCn@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNaNbNiNfQCkZQCo@Base 13 + _D3std3utf__T5byUTFTaVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNaNbNiNfQClZQCp@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAxaZQDpFNaNbNiNfQqZSQEqQEp__TQEoTwVQEli1Z__TQFdTSQFtQFs__T10byCodeUnitTQCtZQrFQDaZ14ByCodeUnitImplZQHgFNcQCfZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAxuZQDpFNaNbNiNfQqZSQEqQEp__TQEoTwVQEli1Z__TQFdTSQFtQFs__T10byCodeUnitTQCtZQrFQDaZ14ByCodeUnitImplZQHgFNcQCfZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAxwZQDpFNaNbNiNfQqZQt@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAyuZQDpFNaNbNiNfQqZSQEqQEp__TQEoTwVQEli1Z__TQFdTSQFtQFs__T10byCodeUnitTQCtZQrFQDaZ14ByCodeUnitImplZQHgFNcQCfZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTAywZQDpFNaNbNiNfQqZQt@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTQChZQDpFNaNbNiNfQCxZSQErQEq__TQEpTwVQEmi1Z__TQFeTSQFuQFt__T10byCodeUnitTQFbZQrFQFiZ14ByCodeUnitImplZQHhFNcQCfZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNaNbNiNfQCkZSQGlQGk__TQGjTwVQGgi1Z__TQGyTQDrZQHgFNcQEbZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result11__xopEqualsMxFKxSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCqZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4backMFNaNdNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4saveMFNaNbNdNiNfZSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCq@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5frontMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlZSQHmQHl__TQHkTwVQHhi1Z__TQHzTQEsZQIhFNcQFcZQCy@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkZSQHnQHm__TQHlTwVQHii1Z__TQIaTQEtZQIiFNcQFdZQCz@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkkZSQHoQHn__TQHmTwVQHji1Z__TQIbTQEuZQIjFNcQFeZQDa@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result7popBackMFNaNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result9__xtoHashFNbNeKxSQHdQHc__TQHbTwVQGyi1Z__TQHqTQEjZQHyFNcQEtZQCpZm@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNaNbNiNfQCkZSQGlQGk__TQGjTwVQGgi1Z__TQGyTQDrZQHgFNcQEbZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result11__xopEqualsMxFKxSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCqZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4backMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4saveMFNaNbNdNiNfZSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCq@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5frontMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlZSQHmQHl__TQHkTwVQHhi1Z__TQHzTQEsZQIhFNcQFcZQCy@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkZSQHnQHm__TQHlTwVQHii1Z__TQIaTQEtZQIiFNcQFdZQCz@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkkZSQHoQHn__TQHmTwVQHji1Z__TQIbTQEuZQIjFNcQFeZQDa@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result9__xtoHashFNbNeKxSQHdQHc__TQHbTwVQGyi1Z__TQHqTQEjZQHyFNcQEtZQCpZm@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNaNbNiNfQCkZSQGlQGk__TQGjTwVQGgi1Z__TQGyTQDrZQHgFNcQEbZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result11__xopEqualsMxFKxSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCqZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4backMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result4saveMFNaNbNdNiNfZSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCq@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result5frontMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlZSQHmQHl__TQHkTwVQHhi1Z__TQHzTQEsZQIhFNcQFcZQCy@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkZSQHnQHm__TQHlTwVQHii1Z__TQIaTQEtZQIiFNcQFdZQCz@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__ctorMFNaNbNcNiNfNkMQDlkkZSQHoQHn__TQHmTwVQHji1Z__TQIbTQEuZQIjFNcQFeZQDa@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result6__initZ@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQFjFNcQCeZ6Result9__xtoHashFNbNeKxSQHdQHc__TQHbTwVQGyi1Z__TQHqTQEjZQHyFNcQEtZQCpZm@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNaNbNiNfQClZSQGmQGl__TQGkTwVQGhi1Z__TQGzTQDsZQHhFNcQEcZ6Result@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result11__xopEqualsMxFKxSQHfQHe__TQHdTwVQHai1Z__TQHsTQElZQIaFNcQEvZQCqZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result4backMFNaNdNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result4saveMFNaNbNdNiNfZSQHfQHe__TQHdTwVQHai1Z__TQHsTQElZQIaFNcQEvZQCq@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result5frontMFNaNbNdNiNlNfZw@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result6__ctorMFNaNbNcNiNfNkMQDmZSQHnQHm__TQHlTwVQHii1Z__TQIaTQEtZQIiFNcQFdZQCy@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result6__ctorMFNaNbNcNiNfNkMQDmkZSQHoQHn__TQHmTwVQHji1Z__TQIbTQEuZQIjFNcQFeZQCz@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result6__ctorMFNaNbNcNiNfNkMQDmkkZSQHpQHo__TQHnTwVQHki1Z__TQIcTQEvZQIkFNcQFfZQDa@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result6__initZ@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result7popBackMFNaNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std3utf__T5byUTFTwVEQv8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDhTSQDxQDw__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplZQFkFNcQCfZ6Result9__xtoHashFNbNeKxSQHeQHd__TQHcTwVQGzi1Z__TQHrTQEkZQHzFNcQEuZQCpZm@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAaZQDgFNaNeMKQnKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAuZQDgFNaNeMKQnKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAwZQDgFNaNeMKQnKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxaZQDhFNaNeMKQoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TAxuZQDhFNaNeMKQoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TQCaZQDhFNaNeMKQCoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TxAaZQDhFNaNeMKxQoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TxAuZQDhFNaNeMKxQoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0TxAwZQDhFNaNeMKxQoKmZw@Base 13 + _D3std3utf__T6decodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1TQCaZQDhFNaNbNiNeMKQCsKmZw@Base 13 + _D3std3utf__T6encodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0ZQDdFNaNfJG1wwZm@Base 13 + _D3std3utf__T6encodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0ZQDdFNaNfJG2uwZm@Base 13 + _D3std3utf__T6encodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0ZQDdFNaNfJG4awZm@Base 13 + _D3std3utf__T6encodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai0ZQDdFNaNfMKAawZv@Base 13 + _D3std3utf__T6encodeVEQu8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1ZQDdFNaNbNiNfJG4awZm@Base 13 + _D3std3utf__T6strideTAaZQlFNaNfQkZk@Base 13 + _D3std3utf__T6strideTAyaZQmFNaNfKQmmZk@Base 13 + _D3std3utf__T6toUTFzTPaZ__TQoTAyaZQvFNaNbNfQnZQz@Base 13 + _D3std3utf__T7toUTF32TAxaZQnFNaNbNfMQoZAyw@Base 13 + _D3std3utf__T9toUTFImplTAywTAxaZQtFNaNbNfMQoZQv@Base 13 + _D3std3zip10ZipArchive12deleteMemberMFNfCQBnQBm13ArchiveMemberZv@Base 13 + _D3std3zip10ZipArchive12totalEntriesMxFNaNbNdNiNfZk@Base 13 + _D3std3zip10ZipArchive13removeSegmentMFNaNfkkZv@Base 13 + _D3std3zip10ZipArchive19zip64ExtractVersionxt@Base 13 + _D3std3zip10ZipArchive24endOfCentralDirSignatureyAh@Base 13 + _D3std3zip10ZipArchive24localFileHeaderSignatureyAh@Base 13 + _D3std3zip10ZipArchive25archiveExtraDataSignatureyAh@Base 13 + _D3std3zip10ZipArchive25digitalSignatureSignatureyAh@Base 13 + _D3std3zip10ZipArchive25findEndOfCentralDirRecordMFZk@Base 13 + _D3std3zip10ZipArchive26centralFileHeaderSignatureyAh@Base 13 + _D3std3zip10ZipArchive29zip64EndOfCentralDirSignatureyAh@Base 13 + _D3std3zip10ZipArchive36zip64EndOfCentralDirLocatorSignatureyAh@Base 13 + _D3std3zip10ZipArchive4dataMFNaNbNdNiNfZAh@Base 13 + _D3std3zip10ZipArchive5buildMFNaNfZAv@Base 13 + _D3std3zip10ZipArchive6__ctorMFAvZCQBhQBgQBf@Base 13 + _D3std3zip10ZipArchive6__ctorMFNaNbNiNfZCQBnQBmQBl@Base 13 + _D3std3zip10ZipArchive6__initZ@Base 13 + _D3std3zip10ZipArchive6__vtblZ@Base 13 + _D3std3zip10ZipArchive6expandMFCQBeQBd13ArchiveMemberZAh@Base 13 + _D3std3zip10ZipArchive7Segment6__initZ@Base 13 + _D3std3zip10ZipArchive7__ClassZ@Base 13 + _D3std3zip10ZipArchive7getUintMFNaNbNiNfkZk@Base 13 + _D3std3zip10ZipArchive7isZip64MFNaNbNdNiNfbZv@Base 13 + _D3std3zip10ZipArchive7isZip64MxFNaNbNdNiNfZb@Base 13 + _D3std3zip10ZipArchive7putUintMFNaNbNiNfkkZv@Base 13 + _D3std3zip10ZipArchive8getUlongMFNaNbNiNfkZm@Base 13 + _D3std3zip10ZipArchive8putUlongMFNaNbNiNfkmZv@Base 13 + _D3std3zip10ZipArchive9addMemberMFNfCQBjQBi13ArchiveMemberZv@Base 13 + _D3std3zip10ZipArchive9directoryMFNaNbNdNiNfZHAyaCQBwQBv13ArchiveMember@Base 13 + _D3std3zip10ZipArchive9getUshortMFNaNbNiNfkZt@Base 13 + _D3std3zip10ZipArchive9putUshortMFNaNbNiNfktZv@Base 13 + _D3std3zip11__moduleRefZ@Base 13 + _D3std3zip12ZipException6__initZ@Base 13 + _D3std3zip12ZipException6__vtblZ@Base 13 + _D3std3zip12ZipException7__ClassZ@Base 13 + _D3std3zip12ZipException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQCwQCvQCu@Base 13 + _D3std3zip12ZipException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCwQCvQCu@Base 13 + _D3std3zip12__ModuleInfoZ@Base 13 + _D3std3zip13ArchiveMember12expandedDataMFNaNbNdNiNfZAh@Base 13 + _D3std3zip13ArchiveMember12expandedDataMFNdNfAhZv@Base 13 + _D3std3zip13ArchiveMember12expandedSizeMxFNaNbNdNiNfZk@Base 13 + _D3std3zip13ArchiveMember14compressedDataMFNaNbNdNiNfZAh@Base 13 + _D3std3zip13ArchiveMember14compressedSizeMxFNaNbNdNiNfZk@Base 13 + _D3std3zip13ArchiveMember14extractVersionMxFNaNbNdNiNfZt@Base 13 + _D3std3zip13ArchiveMember14fileAttributesMFNdNfkZv@Base 13 + _D3std3zip13ArchiveMember14fileAttributesMxFNbNdNiZk@Base 13 + _D3std3zip13ArchiveMember17compressionMethodMFNaNdNfEQBzQBy17CompressionMethodZv@Base 13 + _D3std3zip13ArchiveMember17compressionMethodMxFNaNbNdNiNfZEQCfQCe17CompressionMethod@Base 13 + _D3std3zip13ArchiveMember4timeMFNaNbNdNiNfkZv@Base 13 + _D3std3zip13ArchiveMember4timeMFNdSQBh8datetime7systime7SysTimeZv@Base 13 + _D3std3zip13ArchiveMember4timeMxFNaNbNdNiNfZk@Base 13 + _D3std3zip13ArchiveMember5crc32MxFNaNbNdNiNfZk@Base 13 + _D3std3zip13ArchiveMember5indexMFNaNbNdNiNfkZk@Base 13 + _D3std3zip13ArchiveMember5indexMxFNaNbNdNiNfZk@Base 13 + _D3std3zip13ArchiveMember6__initZ@Base 13 + _D3std3zip13ArchiveMember6__vtblZ@Base 13 + _D3std3zip13ArchiveMember7__ClassZ@Base 13 + _D3std4conv10parseErrorFNaNfLAyaQdmZCQBjQBi13ConvException@Base 13 + _D3std4conv11__moduleRefZ@Base 13 + _D3std4conv11hexToStringFNaNbNfAyaZQe@Base 13 + _D3std4conv11hexToStringFNaNbNfAyuZQe@Base 13 + _D3std4conv11hexToStringFNaNbNfAywZQe@Base 13 + _D3std4conv12__ModuleInfoZ@Base 13 + _D3std4conv13ConvException6__initZ@Base 13 + _D3std4conv13ConvException6__vtblZ@Base 13 + _D3std4conv13ConvException7__ClassZ@Base 13 + _D3std4conv13ConvException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQCyQCxQCv@Base 13 + _D3std4conv13ConvException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCyQCxQCv@Base 13 + _D3std4conv14isOctalLiteralFNaNbNiNfxAyaZb@Base 13 + _D3std4conv20strippedOctalLiteralFAyaZQe@Base 13 + _D3std4conv21ConvOverflowException6__ctorMFNaNbNfAyaQdmZCQCdQCcQCa@Base 13 + _D3std4conv21ConvOverflowException6__initZ@Base 13 + _D3std4conv21ConvOverflowException6__vtblZ@Base 13 + _D3std4conv21ConvOverflowException7__ClassZ@Base 13 + _D3std4conv__T13hexStrLiteralTAyaZQuFNaNbNeMQoZAa@Base 13 + _D3std4conv__T13hexStrLiteralTAyuZQuFNaNbNeMQoZAu@Base 13 + _D3std4conv__T13hexStrLiteralTAywZQuFNaNbNeMQoZAw@Base 13 + _D3std4conv__T14convertToOctalTiZQtFNaNbNiNfiZi@Base 13 + _D3std4conv__T2toTAyaZ__TQlTAaZQrFNaNbNfQmZQz@Base 13 + _D3std4conv__T2toTAyaZ__TQlTAxaZQsFNaNbNfQnZQBa@Base 13 + _D3std4conv__T2toTAyaZ__TQlTEQBb5regex8internal2ir2IRZQBoFNaNfQBiZQBw@Base 13 + _D3std4conv__T2toTAyaZ__TQlTEQBb6logger4core8LogLevelZQBoFNaNfQBiZQBw@Base 13 + _D3std4conv__T2toTAyaZ__TQlTEQBb6socket12SocketOptionZQBoFNaNfQBiZQBw@Base 13 + _D3std4conv__T2toTAyaZ__TQlTPSQBc11parallelism12AbstractTaskZQBvFNaNfQBpZQCd@Base 13 + _D3std4conv__T2toTAyaZ__TQlTPaZQrFNaNbQkZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTPxaZQsFNaNbQlZQy@Base 13 + _D3std4conv__T2toTAyaZ__TQlTQkZQrFNaNbNiNfQyZQBb@Base 13 + _D3std4conv__T2toTAyaZ__TQlTSQBb11concurrency3TidZQBkFNaNfQBeZQBs@Base 13 + _D3std4conv__T2toTAyaZ__TQlTSQBb4path__T16asNormalizedPathTSQCg5range__T5chainTSQDa3utf__T10byCodeUnitTQDhZQrFQDoZ14ByCodeUnitImplTSQFaQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtZQHdFNaNfQGxZQHl@Base 13 + _D3std4conv__T2toTAyaZ__TQlTSQBb5range__T5chainTSQBv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQDuQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFjFNaNfQFdZQFr@Base 13 + _D3std4conv__T2toTAyaZ__TQlThZQqFNaNbNfhZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTiZQqFNaNbNfiZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTkZQqFNaNbNfkZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTmZQqFNaNbNfmZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTtZQqFNaNbNftZQx@Base 13 + _D3std4conv__T2toTAyaZ__TQlTxkZQrFNaNbNfxkZQz@Base 13 + _D3std4conv__T2toTAyaZ__TQlTxlZQrFNaNbNfxlZQz@Base 13 + _D3std4conv__T2toTAyaZ__TQlTxmZQrFNaNbNfxmZQz@Base 13 + _D3std4conv__T2toTAyaZ__TQlTykZQrFNaNbNfykZQz@Base 13 + _D3std4conv__T2toThZ__TQjTxkZQpFNaNfxkZh@Base 13 + _D3std4conv__T2toTiZ__TQjTEQz3net7isemail15EmailStatusCodeZQBtFNaNbNiNfQBtZi@Base 13 + _D3std4conv__T2toTiZ__TQjTEQz8datetime4date5MonthZQBkFNaNbNiNfQBkZi@Base 13 + _D3std4conv__T2toTiZ__TQjThZQoFNaNbNiNfhZi@Base 13 + _D3std4conv__T2toTiZ__TQjTiZQoFNaNbNiNfiZi@Base 13 + _D3std4conv__T2toTiZ__TQjTkZQoFNaNfkZi@Base 13 + _D3std4conv__T2toTiZ__TQjTmZQoFNaNfmZi@Base 13 + _D3std4conv__T2toTiZ__TQjTsZQoFNaNbNiNfsZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxEQBa8datetime4date5MonthZQBmFNaNbNiNfxQBmZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxhZQpFNaNbNiNfxhZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxkZQpFNaNfxkZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxlZQpFNaNfxlZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxmZQpFNaNfxmZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxsZQpFNaNbNiNfxsZi@Base 13 + _D3std4conv__T2toTiZ__TQjTxtZQpFNaNbNiNfxtZi@Base 13 + _D3std4conv__T2toTiZ__TQjTykZQpFNaNfykZi@Base 13 + _D3std4conv__T2toTiZ__TQjTymZQpFNaNfymZi@Base 13 + _D3std4conv__T2toTkZ__TQjTkZQoFNaNbNiNfkZk@Base 13 + _D3std4conv__T2toTkZ__TQjTmZQoFNaNfmZk@Base 13 + _D3std4conv__T2toTlZ__TQjTlZQoFNaNbNiNflZl@Base 13 + _D3std4conv__T2toTlZ__TQjTmZQoFNaNfmZl@Base 13 + _D3std4conv__T2toTmZ__TQjTkZQoFNaNbNiNfkZm@Base 13 + _D3std4conv__T2toTmZ__TQjTmZQoFNaNbNiNfmZm@Base 13 + _D3std4conv__T2toTtZ__TQjTAxaZQqFNaNfQlZt@Base 13 + _D3std4conv__T4textTAxaTAyaTQiZQrFNaNbNfQuQsQyZQx@Base 13 + _D3std4conv__T4textTAyaTAxaTQiZQrFNaNbNfQuQsQyZQBb@Base 13 + _D3std4conv__T4textTAyaTAxaZQoFNaNbNfQrQpZQw@Base 13 + _D3std4conv__T4textTAyaTQeTQhTAxaTQoZQxFNaNbNfQBaQBdQBgQzQBlZQBp@Base 13 + _D3std4conv__T4textTAyaTQeTQhTQkTkZQvFNaNbNfQyQBaQBdQBgkZQBl@Base 13 + _D3std4conv__T4textTAyaTQeTQhTQkZQtFNaNbNfQwQyQBaQBdZQBh@Base 13 + _D3std4conv__T4textTAyaTQeTQhZQqFNaNbNfQtQvQxZQBa@Base 13 + _D3std4conv__T4textTAyaTQeTiTQjTiTQoZQxFNaNbNfQBaQBdiQBhiQBlZQBp@Base 13 + _D3std4conv__T4textTAyaTQeZQnFNaNbNfQqQsZQv@Base 13 + _D3std4conv__T4textTAyaTaZQmFNaNbNfQpaZQt@Base 13 + _D3std4conv__T4textTAyaThTaTaTQkTmZQvFNaNbNfQyhaaQBdmZQBi@Base 13 + _D3std4conv__T4textTAyaTiTQgZQpFNaNbNfQsiQvZQy@Base 13 + _D3std4conv__T4textTAyaTiZQmFNaNbNfQpiZQt@Base 13 + _D3std4conv__T4textTAyaTkTQgTkZQrFNaNbNfQukQxkZQBb@Base 13 + _D3std4conv__T4textTAyaTkTQgTmTQlZQuFNaNbNfQxkQBamQBeZQBi@Base 13 + _D3std4conv__T4textTAyaTwTQgZQpFNaNfQqwQtZQw@Base 13 + _D3std4conv__T4textTAyaTxaZQnFNaNbNfQqxaZQv@Base 13 + _D3std4conv__T4textTAyaZQkFNaNbNiNfQpZQs@Base 13 + _D3std4conv__T4textTPSQu11parallelism12AbstractTaskTaTQBiZQBsFNaNfQBuaQByZAya@Base 13 + _D3std4conv__T5parseThTAxaVEQBa8typecons__T4FlagVAyaa7_646f436f756e74ZQBbi0ZQCkFNaNfMKQClZh@Base 13 + _D3std4conv__T5parseTiTAxaVEQBa8typecons__T4FlagVAyaa7_646f436f756e74ZQBbi0ZQCkFNaNfMKQClZi@Base 13 + _D3std4conv__T5parseTkTAxaVEQBa8typecons__T4FlagVAyaa7_646f436f756e74ZQBbi0ZQCkFNaNfMKQClZk@Base 13 + _D3std4conv__T5parseTkTAxaVEQBa8typecons__T4FlagVAyaa7_646f436f756e74ZQBbi1ZQCkFNaNfMKQClZSQDlQCl__T5TupleTkVQCia4_64617461TmVQCza5_636f756e74ZQBr@Base 13 + _D3std4conv__T5parseTtTAxaVEQBa8typecons__T4FlagVAyaa7_646f436f756e74ZQBbi0ZQCkFNaNfMKQClZt@Base 13 + _D3std4conv__T5toStrTAyaTPSQz11parallelism12AbstractTaskZQBrFNaNfQBoZQBw@Base 13 + _D3std4conv__T5toStrTAyaTSQy11concurrency3TidZQBgFNaNfQBdZQBl@Base 13 + _D3std4conv__T5toStrTAyaTSQy4path__T16asNormalizedPathTSQCc5range__T5chainTSQCw3utf__T10byCodeUnitTQDaZQrFQDhZ14ByCodeUnitImplTSQEwQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtZQGzFNaNfQGwZQHe@Base 13 + _D3std4conv__T5toStrTAyaTSQy5range__T5chainTSQBr3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQDqQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFfFNaNfQFcZQFk@Base 13 + _D3std4conv__T5toStrTyAaTEQy5regex8internal2ir2IRZQBkFNaNfQBhZyQBp@Base 13 + _D3std4conv__T5toStrTyAaTEQy6logger4core8LogLevelZQBkFNaNfQBhZyQBp@Base 13 + _D3std4conv__T5toStrTyAaTEQy6socket12SocketOptionZQBkFNaNfQBhZyQBp@Base 13 + _D3std4conv__T6toImplTAyaTAaZQpFNaNbNfQmZQt@Base 13 + _D3std4conv__T6toImplTAyaTAxaZQqFNaNbNfQnZQu@Base 13 + _D3std4conv__T6toImplTAyaTEQz5regex8internal2ir2IRZQBlFNaNfQBhZQBp@Base 13 + _D3std4conv__T6toImplTAyaTEQz6logger4core8LogLevelZQBlFNaNfQBhZQBp@Base 13 + _D3std4conv__T6toImplTAyaTEQz6socket12SocketOptionZQBlFNaNfQBhZQBp@Base 13 + _D3std4conv__T6toImplTAyaTPSQBa11parallelism12AbstractTaskZQBtFNaNfQBpZQBx@Base 13 + _D3std4conv__T6toImplTAyaTPaZQpFNaNbQkZQr@Base 13 + _D3std4conv__T6toImplTAyaTPxaZQqFNaNbQlZQs@Base 13 + _D3std4conv__T6toImplTAyaTQeZQpFNaNbNiNfQsZQv@Base 13 + _D3std4conv__T6toImplTAyaTSQz11concurrency3TidZQBhFNaNfQBdZQBl@Base 13 + _D3std4conv__T6toImplTAyaTSQz4path__T16asNormalizedPathTSQCd5range__T5chainTSQCx3utf__T10byCodeUnitTQDaZQrFQDhZ14ByCodeUnitImplTSQExQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtZQHaFNaNfQGwZQHe@Base 13 + _D3std4conv__T6toImplTAyaTSQz5range__T5chainTSQBs3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQDrQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFgFNaNfQFcZQFk@Base 13 + _D3std4conv__T6toImplTAyaThZQoFNaNbNfhZQr@Base 13 + _D3std4conv__T6toImplTAyaTiZQoFNaNbNfiZQr@Base 13 + _D3std4conv__T6toImplTAyaTkZQoFNaNbNfkZQr@Base 13 + _D3std4conv__T6toImplTAyaTmZQoFNaNbNfmZQr@Base 13 + _D3std4conv__T6toImplTAyaTtZQoFNaNbNftZQr@Base 13 + _D3std4conv__T6toImplTAyaTxkZQpFNaNbNfxkZQt@Base 13 + _D3std4conv__T6toImplTAyaTxlZQpFNaNbNfxlZQt@Base 13 + _D3std4conv__T6toImplTAyaTxmZQpFNaNbNfxmZQt@Base 13 + _D3std4conv__T6toImplTAyaTykZQpFNaNbNfykZQt@Base 13 + _D3std4conv__T6toImplThTxkZQnFNaNfxkZh@Base 13 + _D3std4conv__T6toImplTiTEQx3net7isemail15EmailStatusCodeZQBrFNaNbNiNfQBtZi@Base 13 + _D3std4conv__T6toImplTiTEQx8datetime4date5MonthZQBiFNaNbNiNfQBkZi@Base 13 + _D3std4conv__T6toImplTiThZQmFNaNbNiNfhZi@Base 13 + _D3std4conv__T6toImplTiTiZQmFNaNbNiNfiZi@Base 13 + _D3std4conv__T6toImplTiTkZQmFNaNfkZi@Base 13 + _D3std4conv__T6toImplTiTmZQmFNaNfmZi@Base 13 + _D3std4conv__T6toImplTiTsZQmFNaNbNiNfsZi@Base 13 + _D3std4conv__T6toImplTiTxEQy8datetime4date5MonthZQBjFNaNbNiNfxQBlZi@Base 13 + _D3std4conv__T6toImplTiTxhZQnFNaNbNiNfxhZi@Base 13 + _D3std4conv__T6toImplTiTxkZQnFNaNfxkZi@Base 13 + _D3std4conv__T6toImplTiTxlZQnFNaNfxlZi@Base 13 + _D3std4conv__T6toImplTiTxmZQnFNaNfxmZi@Base 13 + _D3std4conv__T6toImplTiTxsZQnFNaNbNiNfxsZi@Base 13 + _D3std4conv__T6toImplTiTxtZQnFNaNbNiNfxtZi@Base 13 + _D3std4conv__T6toImplTiTykZQnFNaNfykZi@Base 13 + _D3std4conv__T6toImplTiTymZQnFNaNfymZi@Base 13 + _D3std4conv__T6toImplTkTkZQmFNaNbNiNfkZk@Base 13 + _D3std4conv__T6toImplTkTmZQmFNaNfmZk@Base 13 + _D3std4conv__T6toImplTlTlZQmFNaNbNiNflZl@Base 13 + _D3std4conv__T6toImplTlTmZQmFNaNfmZl@Base 13 + _D3std4conv__T6toImplTmTkZQmFNaNbNiNfkZm@Base 13 + _D3std4conv__T6toImplTmTmZQmFNaNbNiNfmZm@Base 13 + _D3std4conv__T6toImplTtTAxaZQoFNaNfQlZt@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai128ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai129ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai130ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai132ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai133ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai134ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai136ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai137ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai138ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai140ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai141ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai142ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai144ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai145ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai146ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai148ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai149ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai150ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai152ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai153ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai154ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai156ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai157ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai158ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai160ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai161ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai162ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai164ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai165ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai166ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai168ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai172ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai176ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai180ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai184ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai188ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai192ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa5regex8internal2ir2IRVQBai196ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai128ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai160ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai192ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai1ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai255ZQBvyQBp@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai32ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai64ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6logger4core8LogLevelVQBai96ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai10ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai13ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai16ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai17ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai18ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai19ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai1ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai20ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai21ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai26ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai2ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai30ZQBuyQBo@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai3ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai4ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai5ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai6ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai7ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai8ZQBtyQBn@Base 13 + _D3std4conv__T7enumRepTyAaTEQBa6socket12SocketOptionVQBai9ZQBtyQBn@Base 13 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result10initializeMFNaNbNiNfiZv@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result4backMFNaNbNdNiNfZa@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result4saveMFNaNbNdNiNfZSQDrQDq__TQDoVhi10TaVQDji1TiZQEhFNaNbNiNfiZQCq@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result5emptyMFNaNbNdNiNfZb@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result5frontMFNaNbNdNiNfZa@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result6__initZ@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result6lengthMFNaNbNdNiNfZm@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result7opIndexMFNaNbNiNfmZa@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result7opSliceMFNaNbNiNfmmZSQDuQDt__TQDrVhi10TaVQDmi1TiZQEkFNaNbNiNfiZQCt@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result7popBackMFNaNbNiNfZv@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result8popFrontMFNaNbNiNfZv@Base 14 + _D3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZSQCsQCr__TQCpVhi10TaVQCki1TiZQDiFNaNbNiNfiZ6Result@Base 14 + _D3std4conv__T8textImplTAyaTAxaTQiTQhZQyFNaNbNfQtQzQxZQBe@Base 13 + _D3std4conv__T8textImplTAyaTPSQBc11parallelism12AbstractTaskTaTQBjZQCbFNaNfQBvaQBzZQCh@Base 13 + _D3std4conv__T8textImplTAyaTQeTAxaTQlZQyFNaNbNfQxQsQBbZQBf@Base 13 + _D3std4conv__T8textImplTAyaTQeTAxaZQvFNaNbNfQuQpZQz@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhTQkTAxaTQrZQBeFNaNbNfQBeQBhQBkQBaQBqZQBu@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhTQkTQnTkZQBcFNaNbNfQBcQBfQBiQBlkZQBq@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhTQkTQnZQBaFNaNbNfQBaQBdQBgQBjZQBn@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhTQkZQxFNaNbNfQwQyQBaZQBe@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhTiTQmTiTQrZQBeFNaNbNfQBeQBhiQBliQBpZQBt@Base 13 + _D3std4conv__T8textImplTAyaTQeTQhZQuFNaNbNfQtQvZQy@Base 13 + _D3std4conv__T8textImplTAyaTQeTaZQtFNaNbNfQsaZQw@Base 13 + _D3std4conv__T8textImplTAyaTQeThTaTaTQnTmZQBcFNaNbNfQBchaaQBimZQBn@Base 13 + _D3std4conv__T8textImplTAyaTQeTiTQjZQwFNaNbNfQviQyZQBb@Base 13 + _D3std4conv__T8textImplTAyaTQeTiZQtFNaNbNfQsiZQw@Base 13 + _D3std4conv__T8textImplTAyaTQeTkTQjTkZQyFNaNbNfQxkQBakZQBf@Base 13 + _D3std4conv__T8textImplTAyaTQeTkTQjTmTQoZQBbFNaNbNfQBbkQBfmQBjZQBn@Base 13 + _D3std4conv__T8textImplTAyaTQeTwTQjZQwFNaNfQtwQwZQz@Base 13 + _D3std4conv__T8textImplTAyaTQeTxaZQuFNaNbNfQtxaZQy@Base 13 + _D3std4conv__T8textImplTAyaTQeZQrFNaNbNiNfQsZQv@Base 13 + _D3std4conv__T8textImplTAyaTiZQqFNaNbNfiZQr@Base 13 + _D3std4conv__T8textImplTAyaTkZQqFNaNbNfkZQr@Base 13 + _D3std4conv__T8textImplTAyaTmZQqFNaNbNfmZQr@Base 13 + _D3std4conv__T8unsignedTiZQmFNaNbNiNfiZk@Base 13 + _D3std4conv__T8unsignedTmZQmFNaNbNiNfmZm@Base 13 + _D3std4conv__T9convErrorTAxaTiZQrFNaNfQnAyamZCQBsQBr13ConvException@Base 13 + _D3std4conv__T9convErrorTAxaTkZQrFNaNfQnAyamZCQBsQBr13ConvException@Base 13 + _D3std4conv__T9convErrorTAxaTtZQrFNaNfQnAyamZCQBsQBr13ConvException@Base 13 + _D3std4file10attrIsFileFNaNbNiNfkZb@Base 13 + _D3std4file10existsImplFNbNiNeMPxaZb@Base 13 + _D3std4file10removeImplFNeMAxaMPxaZv@Base 13 + _D3std4file10renameImplFNeMAxaMQeMPxaMQeZv@Base 13 + _D3std4file11__moduleRefZ@Base 13 + _D3std4file11thisExePathFNeZAya@Base 13 + _D3std4file12__ModuleInfoZ@Base 13 + _D3std4file12mkdirRecurseFNfMAxaZv@Base 13 + _D3std4file12rmdirRecurseFNfMAxaZv@Base 13 + _D3std4file12rmdirRecurseFNfMKSQBdQBc8DirEntryZv@Base 13 + _D3std4file12rmdirRecurseFNfMSQBcQBb8DirEntryZv@Base 13 + _D3std4file12setTimesImplFNeMAxaMPxaSQBj8datetime7systime7SysTimeQBdZv@Base 13 + _D3std4file13FileException6__ctorMFNaNfMAxaMQeAyamZCQByQBxQBv@Base 13 + _D3std4file13FileException6__ctorMFNaNfMAxaMQeAyamkZCQBzQByQBw@Base 13 + _D3std4file13FileException6__ctorMFNeMAxakAyamZCQBuQBtQBr@Base 13 + _D3std4file13FileException6__initZ@Base 13 + _D3std4file13FileException6__vtblZ@Base 13 + _D3std4file13FileException7__ClassZ@Base 13 + _D3std4file13attrIsSymlinkFNaNbNiNfkZb@Base 13 + _D3std4file15DirIteratorImpl11__xopEqualsMxFKxSQBtQBsQBqZb@Base 13 + _D3std4file15DirIteratorImpl11popDirStackMFNeZv@Base 13 + _D3std4file15DirIteratorImpl15releaseDirStackMFNeZv@Base 13 + _D3std4file15DirIteratorImpl4nextMFNeZb@Base 13 + _D3std4file15DirIteratorImpl5emptyMFNdNfZb@Base 13 + _D3std4file15DirIteratorImpl5frontMFNdNfZSQBoQBn8DirEntry@Base 13 + _D3std4file15DirIteratorImpl6__dtorMFNfZv@Base 13 + _D3std4file15DirIteratorImpl6__initZ@Base 13 + _D3std4file15DirIteratorImpl6stepInMFNfAyaZ14trustedOpendirFNbNiNeQBbZPS4core3sys5posix6dirent3DIR@Base 13 + _D3std4file15DirIteratorImpl6stepInMFNfAyaZb@Base 13 + _D3std4file15DirIteratorImpl8hasExtraMFNfZb@Base 13 + _D3std4file15DirIteratorImpl8opAssignMFNcNjNeSQBsQBrQBpZQl@Base 13 + _D3std4file15DirIteratorImpl8popExtraMFNfZSQBpQBo8DirEntry@Base 13 + _D3std4file15DirIteratorImpl8popFrontMFNfZv@Base 13 + _D3std4file15DirIteratorImpl9DirHandle11__xopEqualsMxFKxSQCdQCcQCaQBmZb@Base 13 + _D3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D3std4file15DirIteratorImpl9DirHandle9__xtoHashFNbNeKxSQCcQCbQBzQBlZm@Base 13 + _D3std4file15DirIteratorImpl9__xtoHashFNbNeKxSQBsQBrQBpZm@Base 13 + _D3std4file15DirIteratorImpl9mayStepInMFNfZb@Base 13 + _D3std4file15DirIteratorImpl9pushExtraMFNfSQBpQBo8DirEntryZv@Base 13 + _D3std4file15DirIteratorImpl__T6__ctorTAyaZQmMFNcNfQmEQCaQBz8SpanModebZSQCsQCrQCp@Base 13 + _D3std4file21getAvailableDiskSpaceFNfMAxaZm@Base 13 + _D3std4file6getcwdFNeZAya@Base 13 + _D3std4file7tempDirFNeZ12addSeparatorFNaNbNfAyaZQe@Base 13 + _D3std4file7tempDirFNeZ5cacheAya@Base 13 + _D3std4file7tempDirFNeZAya@Base 13 + _D3std4file7tempDirFNeZ__T15findExistingDirTAyaTQeTQhTQkTQnTQqZQBlFNfLQBaLQBeLQBiLQBmLQBqLQBuZQBy@Base 13 + _D3std4file8DirEntry10attributesMFNdNlNfZk@Base 13 + _D3std4file8DirEntry11__xopEqualsMxFKxSQBlQBkQBiZb@Base 13 + _D3std4file8DirEntry14linkAttributesMFNdNlNfZk@Base 13 + _D3std4file8DirEntry15_ensureStatDoneMFNlNeZv@Base 13 + _D3std4file8DirEntry16_ensureLStatDoneMFNlNeZv@Base 13 + _D3std4file8DirEntry16timeLastAccessedMFNdNlNfZSQBu8datetime7systime7SysTime@Base 13 + _D3std4file8DirEntry16timeLastModifiedMFNdNlNfZSQBu8datetime7systime7SysTime@Base 13 + _D3std4file8DirEntry17timeStatusChangedMFNdNlNfZSQBv8datetime7systime7SysTime@Base 13 + _D3std4file8DirEntry22_ensureStatOrLStatDoneMFNlNeZv@Base 13 + _D3std4file8DirEntry4nameMxFNaNbNdNjNlNfZAya@Base 13 + _D3std4file8DirEntry4sizeMFNdNlNfZm@Base 13 + _D3std4file8DirEntry5isDirMFNdNlNfZb@Base 13 + _D3std4file8DirEntry6__ctorMFNcNfAyaPS4core3sys5posix6direntQhZSQCkQCjQCh@Base 13 + _D3std4file8DirEntry6__ctorMFNcNfNkMAyaZSQBnQBmQBk@Base 13 + _D3std4file8DirEntry6__initZ@Base 13 + _D3std4file8DirEntry6isFileMFNdNlNfZb@Base 13 + _D3std4file8DirEntry7statBufMFNdNlNfZS4core3sys5posixQk4stat6stat_t@Base 13 + _D3std4file8DirEntry9__xtoHashFNbNeKxSQBkQBjQBhZm@Base 13 + _D3std4file8DirEntry9isSymlinkMFNdNlNfZb@Base 13 + _D3std4file8copyImplFNeMAxaMQeMPxaMQeEQBk8typecons__T4FlagVAyaa18_707265736572766541747472696275746573ZQByZv@Base 13 + _D3std4file8deletemeFNdNfZ8fileNameAya@Base 13 + _D3std4file8deletemeFNdNfZAya@Base 13 + _D3std4file8readImplFNeMAxaMPxamZAv@Base 13 + _D3std4file9attrIsDirFNaNbNiNfkZb@Base 13 + _D3std4file9writeImplFNeMAxaMPxaMAxvbZv@Base 13 + _D3std4file__T10dirEntriesVbi1ZQrFNfAyaEQBmQBl8SpanModebZSQCeQCd__T12_DirIteratorVbi1ZQt@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt11__fieldDtorMFNeZv@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt5emptyMFNdNeZb@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt5frontMFNdNeZSQBvQBu8DirEntry@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt6__ctorMFNcNeAyaEQByQBx8SpanModebZSQCqQCp__TQCnVbi1ZQCv@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt6__initZ@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt8opAssignMFNcNjSQBxQBw__TQBuVbi1ZQCcZQw@Base 13 + _D3std4file__T12_DirIteratorVbi1ZQt8popFrontMFNeZv@Base 13 + _D3std4file__T13getAttributesTAxaZQuFNfQjZk@Base 13 + _D3std4file__T13getAttributesTAyaZQuFNfQjZk@Base 13 + _D3std4file__T15ensureDirExistsZQsFNfMAxaZb@Base 13 + _D3std4file__T17statTimeToStdTimeVai109ZQBaFNaNbNfKxS4core3sys5posixQk4stat6stat_tZSQDe8datetime7systime7SysTime@Base 13 + _D3std4file__T17statTimeToStdTimeVai97ZQzFNaNbNfKxS4core3sys5posixQk4stat6stat_tZSQDc8datetime7systime7SysTime@Base 13 + _D3std4file__T17statTimeToStdTimeVai99ZQzFNaNbNfKxS4core3sys5posixQk4stat6stat_tZSQDc8datetime7systime7SysTime@Base 13 + _D3std4file__T5isDirTAxaZQlFNdNfQlZb@Base 13 + _D3std4file__T5isDirTAyaZQlFNdNfQlZb@Base 13 + _D3std4file__T5rmdirTAyaZQlFNfQjZv@Base 13 + _D3std4file__T5rmdirTAyaZQlFQhZ12trustedRmdirFNbNiNeMPxaZb@Base 13 + _D3std4file__T6existsTAxaZQmFNbNiNfQnZb@Base 13 + _D3std4file__T6existsTAyaZQmFNbNiNfQnZb@Base 13 + _D3std4file__T6isFileTAyaZQmFNdNfQlZb@Base 13 + _D3std4file__T6removeTAyaZQmFNfQjZv@Base 13 + _D3std4file__T8cenforceTPS4core3sys5posix6dirent3DIRZQBnFNfQBjMLAxaAyamZQBw@Base 13 + _D3std4file__T8cenforceTPaZQnFNfQiMLAxaAyamZQu@Base 13 + _D3std4file__T8cenforceTbZQmFNebMAxaMPxaAyamZb@Base 13 + _D3std4file__T8cenforceTbZQmFNfbMLAxaAyamZb@Base 13 + _D3std4file__T8readLinkTAyaZQoFNfQjZQm@Base 13 + _D3std4json11__moduleRefZ@Base 13 + _D3std4json12__ModuleInfoZ@Base 13 + _D3std4json13JSONException6__ctorMFNaNbNfAyaQdmZCQBvQBuQBs@Base 13 + _D3std4json13JSONException6__ctorMFNaNbNfAyaiiZCQBuQBtQBr@Base 13 + _D3std4json13JSONException6__initZ@Base 13 + _D3std4json13JSONException6__vtblZ@Base 13 + _D3std4json13JSONException7__ClassZ@Base 13 + _D3std4json16JSONFloatLiteral6__initZ@Base 13 + _D3std4json6toJSONFNfKxSQwQu9JSONValueIbIEQBoQBn11JSONOptionsZAya@Base 13 + _D3std4json9JSONValue10arrayNoRefMNgFNaNdNeZNgASQBuQBtQBr@Base 13 + _D3std4json9JSONValue11objectNoRefMNgFNaNdNeZNgHAyaSQByQBxQBv@Base 13 + _D3std4json9JSONValue14toPrettyStringMxFNfIEQBqQBp11JSONOptionsZAya@Base 13 + _D3std4json9JSONValue3strMFNaNbNdNiNjNeNkMAyaZQe@Base 13 + _D3std4json9JSONValue3strMxFNaNdNjNlNeZAya@Base 13 + _D3std4json9JSONValue4typeMxFNaNbNdNiNfZEQBnQBm8JSONType@Base 13 + _D3std4json9JSONValue5Store6__initZ@Base 13 + _D3std4json9JSONValue5arrayMFNaNbNdNiNlNeNkMASQBsQBrQBpZQm@Base 13 + _D3std4json9JSONValue5arrayMNgFNaNcNdNlNjZNgASQBsQBrQBp@Base 13 + _D3std4json9JSONValue6__initZ@Base 13 + _D3std4json9JSONValue6isNullMxFNaNbNdNiNfZb@Base 13 + _D3std4json9JSONValue6objectMFNaNbNdNiNeNkMHAyaSQBuQBtQBrZQp@Base 13 + _D3std4json9JSONValue6objectMNgFNaNcNdNjZNgHAyaSQBuQBtQBr@Base 13 + _D3std4json9JSONValue7booleanMFNaNbNdNiNfbZb@Base 13 + _D3std4json9JSONValue7booleanMxFNaNdNfZb@Base 13 + _D3std4json9JSONValue7integerMFNaNbNdNiNflZl@Base 13 + _D3std4json9JSONValue7integerMxFNaNdNfZl@Base 13 + _D3std4json9JSONValue7opApplyMFMDFAyaKSQBlQBkQBiZiZi@Base 13 + _D3std4json9JSONValue7opApplyMFMDFmKSQBjQBiQBgZiZi@Base 13 + _D3std4json9JSONValue7opIndexMNgFNaNcNfNkMAyaZNgSQBvQBuQBs@Base 13 + _D3std4json9JSONValue7opIndexMNgFNaNcNfmZNgSQBqQBpQBn@Base 13 + _D3std4json9JSONValue8floatingMFNaNbNdNiNfdZd@Base 13 + _D3std4json9JSONValue8floatingMxFNaNdNfZd@Base 13 + _D3std4json9JSONValue8opEqualsMxFNaNbNiNeKxSQBqQBpQBnZb@Base 13 + _D3std4json9JSONValue8opEqualsMxFNaNbNiNfxSQBpQBoQBmZb@Base 13 + _D3std4json9JSONValue8toStringMxFNfIEQBjQBi11JSONOptionsZAya@Base 13 + _D3std4json9JSONValue8uintegerMFNaNbNdNiNfmZm@Base 13 + _D3std4json9JSONValue8uintegerMxFNaNdNfZm@Base 13 + _D3std4json9JSONValue__T6__ctorTASQBgQBfQBdZQuMFNaNbNcNiNfQBaZQBd@Base 14 + _D3std4json9JSONValue__T6__ctorTAyaZQmMFNaNbNcNiNfQsZSQCaQBzQBx@Base 14 + _D3std4json9JSONValue__T6__ctorTHAyaQdZQpMFNaNcNfQrZSQBzQByQBw@Base 14 + _D3std4json9JSONValue__T6assignTASQBgQBfQBdZQuMFNaNbNiNfQyZv@Base 13 + _D3std4json9JSONValue__T6assignTAyaZQmMFNaNbNiNfQqZv@Base 13 + _D3std4json9JSONValue__T6assignTHAyaQdZQpMFNaNfQpZv@Base 14 + _D3std4json9JSONValue__T6assignTHAyaSQBjQBiQBgZQxMFNaNbNiNfQBbZv@Base 13 + _D3std4json9JSONValue__T6assignTbZQkMFNaNbNiNfbZv@Base 13 + _D3std4json9JSONValue__T6assignTdZQkMFNaNbNiNfdZv@Base 13 + _D3std4json9JSONValue__T6assignTlZQkMFNaNbNiNflZv@Base 13 + _D3std4json9JSONValue__T6assignTmZQkMFNaNbNiNfmZv@Base 13 + _D3std4json__T6toJSONTSQv5array__T8AppenderTAyaZQoZQBlFNfKQBkKxSQCkQCj9JSONValueIbIEQDeQDd11JSONOptionsZv@Base 13 + _D3std4math10operations11__moduleRefZ@Base 13 + _D3std4math10operations12__ModuleInfoZ@Base 13 + _D3std4math10operations13getNaNPayloadFNaNbNiNeeZm@Base 13 + _D3std4math10operations3NaNFNaNbNiNemZe@Base 13 + _D3std4math10operations3fmaFNaNbNiNfeeeZe@Base 13 + _D3std4math10operations4fdimFNaNbNiNfeeZe@Base 13 + _D3std4math10operations6nextUpFNaNbNiNedZd@Base 13 + _D3std4math10operations6nextUpFNaNbNiNeeZe@Base 13 + _D3std4math10operations6nextUpFNaNbNiNefZf@Base 13 + _D3std4math10operations8nextDownFNaNbNiNfdZd@Base 13 + _D3std4math10operations8nextDownFNaNbNiNfeZe@Base 13 + _D3std4math10operations8nextDownFNaNbNiNffZf@Base 13 + _D3std4math10operations__T17extractBitpatternTdZQwFNaNbNiNexdZSQCjQCiQCg__T23FloatingPointBitpatternTdZQBc@Base 13 + _D3std4math10operations__T17extractBitpatternTeZQwFNaNbNiNexeZSQCjQCiQCg__T23FloatingPointBitpatternTeZQBc@Base 13 + _D3std4math10operations__T23FloatingPointBitpatternTdZQBc6__initZ@Base 13 + _D3std4math10operations__T23FloatingPointBitpatternTeZQBc6__initZ@Base 13 + _D3std4math11__moduleRefZ@Base 13 + _D3std4math11exponential11__moduleRefZ@Base 13 + _D3std4math11exponential12__ModuleInfoZ@Base 13 + _D3std4math11exponential3expFNaNbNiNeeZe@Base 13 + _D3std4math11exponential3expFNaNbNiNfdZd@Base 13 + _D3std4math11exponential3expFNaNbNiNffZf@Base 13 + _D3std4math11exponential3logFNaNbNiNfdZd@Base 13 + _D3std4math11exponential3logFNaNbNiNfeZe@Base 13 + _D3std4math11exponential3logFNaNbNiNffZf@Base 13 + _D3std4math11exponential3logFNaNbNiNfiZe@Base 13 + _D3std4math11exponential3logFNaNbNiNfkZe@Base 13 + _D3std4math11exponential3logFNaNbNiNflZe@Base 13 + _D3std4math11exponential3logFNaNbNiNfmZe@Base 13 + _D3std4math11exponential4exp2FNaNbNiNeeZe@Base 13 + _D3std4math11exponential4exp2FNaNbNiNfdZd@Base 13 + _D3std4math11exponential4exp2FNaNbNiNffZf@Base 13 + _D3std4math11exponential4log2FNaNbNiNfdZd@Base 13 + _D3std4math11exponential4log2FNaNbNiNfeZe@Base 13 + _D3std4math11exponential4log2FNaNbNiNffZf@Base 13 + _D3std4math11exponential4log2FNaNbNiNfiZe@Base 13 + _D3std4math11exponential4log2FNaNbNiNfkZe@Base 13 + _D3std4math11exponential4log2FNaNbNiNflZe@Base 13 + _D3std4math11exponential4log2FNaNbNiNfmZe@Base 13 + _D3std4math11exponential4logbFNaNbNiNedZd@Base 13 + _D3std4math11exponential4logbFNaNbNiNeeZe@Base 13 + _D3std4math11exponential4logbFNaNbNiNefZf@Base 13 + _D3std4math11exponential5expm1FNaNbNiNeeZe@Base 13 + _D3std4math11exponential5expm1FNaNbNiNfdZd@Base 13 + _D3std4math11exponential5expm1FNaNbNiNffZf@Base 13 + _D3std4math11exponential5ldexpFNaNbNiNfdiZd@Base 13 + _D3std4math11exponential5ldexpFNaNbNiNfeiZe@Base 13 + _D3std4math11exponential5ldexpFNaNbNiNffiZf@Base 13 + _D3std4math11exponential5log10FNaNbNiNfdZd@Base 13 + _D3std4math11exponential5log10FNaNbNiNfeZe@Base 13 + _D3std4math11exponential5log10FNaNbNiNffZf@Base 13 + _D3std4math11exponential5log10FNaNbNiNfiZe@Base 13 + _D3std4math11exponential5log10FNaNbNiNfkZe@Base 13 + _D3std4math11exponential5log10FNaNbNiNflZe@Base 13 + _D3std4math11exponential5log10FNaNbNiNfmZe@Base 13 + _D3std4math11exponential5log1pFNaNbNiNfdZd@Base 13 + _D3std4math11exponential5log1pFNaNbNiNfeZe@Base 13 + _D3std4math11exponential5log1pFNaNbNiNffZf@Base 13 + _D3std4math11exponential5log1pFNaNbNiNfiZe@Base 13 + _D3std4math11exponential5log1pFNaNbNiNfkZe@Base 13 + _D3std4math11exponential5log1pFNaNbNiNflZe@Base 13 + _D3std4math11exponential5log1pFNaNbNiNfmZe@Base 13 + _D3std4math11exponential6scalbnFNaNbNiNfdiZd@Base 13 + _D3std4math11exponential6scalbnFNaNbNiNfeiZe@Base 13 + _D3std4math11exponential6scalbnFNaNbNiNffiZf@Base 13 + _D3std4math11exponential__T3powTdTdZQjFNaNbNiNeddZ4implFNaNbNiNfeeZe@Base 13 + _D3std4math11exponential__T3powTdTdZQjFNaNbNiNeddZd@Base 13 + _D3std4math11exponential__T3powTeTeZQjFNaNbNiNeeeZ4implFNaNbNiNfeeZe@Base 13 + _D3std4math11exponential__T3powTeTeZQjFNaNbNiNeeeZe@Base 13 + _D3std4math11exponential__T3powTeTiZQjFNaNbNiNeeiZe@Base 13 + _D3std4math11exponential__T3powTeTlZQjFNaNbNiNeelZe@Base 13 + _D3std4math11exponential__T3powTiTiZQjFNaNbNiNeiiZi@Base 13 + _D3std4math11exponential__T3powTmTmZQjFNaNbNiNemmZm@Base 13 + _D3std4math11exponential__T5frexpTdZQjFNaNbNiNexdJiZd@Base 13 + _D3std4math11exponential__T5frexpTeZQjFNaNbNiNexeJiZe@Base 13 + _D3std4math11exponential__T5frexpTfZQjFNaNbNiNexfJiZf@Base 13 + _D3std4math11exponential__T5ilogbTdZQjFNaNbNiNexdZ9floatBits6__initZ@Base 13 + _D3std4math11exponential__T5ilogbTdZQjFNaNbNiNexdZi@Base 13 + _D3std4math11exponential__T5ilogbTeZQjFNaNbNiNexeZ9floatBits6__initZ@Base 13 + _D3std4math11exponential__T5ilogbTeZQjFNaNbNiNexeZi@Base 13 + _D3std4math11exponential__T5ilogbTfZQjFNaNbNiNexfZ9floatBits6__initZ@Base 13 + _D3std4math11exponential__T5ilogbTfZQjFNaNbNiNexfZi@Base 13 + _D3std4math11exponential__T7expImplTdZQlFNaNbNiNfdZ1PyG3d@Base 13 + _D3std4math11exponential__T7expImplTdZQlFNaNbNiNfdZ1QyG4d@Base 13 + _D3std4math11exponential__T7expImplTdZQlFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T7expImplTeZQlFNaNbNiNfeZ1PyG3e@Base 13 + _D3std4math11exponential__T7expImplTeZQlFNaNbNiNfeZ1QyG4e@Base 13 + _D3std4math11exponential__T7expImplTeZQlFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T7expImplTfZQlFNaNbNiNffZ1PyG6f@Base 13 + _D3std4math11exponential__T7expImplTfZQlFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T7logImplTdVbi0ZQpFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T7logImplTdVbi1ZQpFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T7logImplTeVbi0ZQpFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T7logImplTeVbi1ZQpFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T7logImplTfVbi0ZQpFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T7logImplTfVbi1ZQpFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T8exp2ImplTdZQmFNaNbNiNfdZ1PyG3d@Base 13 + _D3std4math11exponential__T8exp2ImplTdZQmFNaNbNiNfdZ1QyG3d@Base 13 + _D3std4math11exponential__T8exp2ImplTdZQmFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T8exp2ImplTeZQmFNaNbNiNfeZ1PyG3e@Base 13 + _D3std4math11exponential__T8exp2ImplTeZQmFNaNbNiNfeZ1QyG4e@Base 13 + _D3std4math11exponential__T8exp2ImplTeZQmFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T8exp2ImplTfZQmFNaNbNiNffZ1PyG6f@Base 13 + _D3std4math11exponential__T8exp2ImplTfZQmFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T8log2ImplTdZQmFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T8log2ImplTeZQmFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T8log2ImplTfZQmFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T8logbImplTdZQmFNaNbNiNedZd@Base 13 + _D3std4math11exponential__T8logbImplTeZQmFNaNbNiNeeZe@Base 13 + _D3std4math11exponential__T8logbImplTfZQmFNaNbNiNefZf@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ4logPyG6d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ4logQyG6d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ4logRyG3d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ4logSyG4d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ6log10PyG7d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ6log10QyG7d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ6logp1PyG7d@Base 13 + _D3std4math11exponential__T9LogCoeffsTdZ6logp1QyG7d@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ4logPyG7e@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ4logQyG7e@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ4logRyG4e@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ4logSyG4e@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ5log2PyG7e@Base 13 + _D3std4math11exponential__T9LogCoeffsTeZ5log2QyG8e@Base 13 + _D3std4math11exponential__T9LogCoeffsTfZ4logPyG9f@Base 13 + _D3std4math11exponential__T9LogCoeffsTfZ6logp1PyG7f@Base 13 + _D3std4math11exponential__T9LogCoeffsTfZ6logp1QyG7f@Base 13 + _D3std4math11exponential__T9expm1ImplTdZQnFNaNbNiNfdZ1PyG3d@Base 13 + _D3std4math11exponential__T9expm1ImplTdZQnFNaNbNiNfdZ1QyG4d@Base 13 + _D3std4math11exponential__T9expm1ImplTdZQnFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T9expm1ImplTeZQnFNaNbNiNfeZ1PyG5e@Base 13 + _D3std4math11exponential__T9expm1ImplTeZQnFNaNbNiNfeZ1QyG6e@Base 13 + _D3std4math11exponential__T9expm1ImplTeZQnFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T9log10ImplTdZQnFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T9log10ImplTeZQnFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T9log10ImplTfZQnFNaNbNiNffZf@Base 13 + _D3std4math11exponential__T9log1pImplTdZQnFNaNbNiNfdZd@Base 13 + _D3std4math11exponential__T9log1pImplTeZQnFNaNbNiNfeZe@Base 13 + _D3std4math11exponential__T9log1pImplTfZQnFNaNbNiNffZf@Base 13 + _D3std4math12__ModuleInfoZ@Base 13 + _D3std4math12trigonometry11__moduleRefZ@Base 13 + _D3std4math12trigonometry12__ModuleInfoZ@Base 13 + _D3std4math12trigonometry3cosFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry3cosFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry3cosFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry3sinFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry3sinFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry3sinFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry3tanFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry3tanFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry3tanFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4acosFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4acosFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4acosFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4asinFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4asinFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4asinFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4atanFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4atanFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4atanFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4coshFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4coshFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4coshFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4sinhFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4sinhFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4sinhFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry4tanhFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry4tanhFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry4tanhFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry5acoshFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry5acoshFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry5acoshFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry5asinhFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry5asinhFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry5asinhFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry5atan2FNaNbNiNeeeZe@Base 13 + _D3std4math12trigonometry5atan2FNaNbNiNfddZd@Base 13 + _D3std4math12trigonometry5atan2FNaNbNiNfffZf@Base 13 + _D3std4math12trigonometry5atanhFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry5atanhFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry5atanhFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T5_sinhTdZQjFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T5_sinhTeZQjFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T5_sinhTfZQjFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T5_tanhTdZQjFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T5_tanhTeZQjFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T5_tanhTfZQjFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T6_acoshTdZQkFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T6_acoshTeZQkFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T6_acoshTfZQkFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T6_asinhTdZQkFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T6_asinhTeZQkFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T6_asinhTfZQkFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T7tanImplTdZQlFNaNbNiNfdZ1PyG3d@Base 13 + _D3std4math12trigonometry__T7tanImplTdZQlFNaNbNiNfdZ1QyG5d@Base 13 + _D3std4math12trigonometry__T7tanImplTdZQlFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T7tanImplTeZQlFNaNbNiNfeZ1PyG3e@Base 13 + _D3std4math12trigonometry__T7tanImplTeZQlFNaNbNiNfeZ1QyG5e@Base 13 + _D3std4math12trigonometry__T7tanImplTeZQlFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T7tanImplTfZQlFNaNbNiNffZ1PyG6f@Base 13 + _D3std4math12trigonometry__T7tanImplTfZQlFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T8atanImplTdZQmFNaNbNiNfdZ1PyG5d@Base 13 + _D3std4math12trigonometry__T8atanImplTdZQmFNaNbNiNfdZ1QyG6d@Base 13 + _D3std4math12trigonometry__T8atanImplTdZQmFNaNbNiNfdZd@Base 13 + _D3std4math12trigonometry__T8atanImplTeZQmFNaNbNiNfeZ1PyG5e@Base 13 + _D3std4math12trigonometry__T8atanImplTeZQmFNaNbNiNfeZ1QyG6e@Base 13 + _D3std4math12trigonometry__T8atanImplTeZQmFNaNbNiNfeZe@Base 13 + _D3std4math12trigonometry__T8atanImplTfZQmFNaNbNiNffZ1PyG4f@Base 13 + _D3std4math12trigonometry__T8atanImplTfZQmFNaNbNiNffZf@Base 13 + _D3std4math12trigonometry__T9atan2ImplTdZQnFNaNbNiNfddZd@Base 13 + _D3std4math12trigonometry__T9atan2ImplTeZQnFNaNbNiNfeeZe@Base 13 + _D3std4math12trigonometry__T9atan2ImplTfZQnFNaNbNiNfffZf@Base 13 + _D3std4math6traits11__moduleRefZ@Base 13 + _D3std4math6traits11isIdenticalFNaNbNiNeeeZb@Base 13 + _D3std4math6traits12__ModuleInfoZ@Base 13 + _D3std4math6traits__T10isInfinityTdZQpFNaNbNiNedZb@Base 13 + _D3std4math6traits__T10isInfinityTeZQpFNaNbNiNeeZb@Base 13 + _D3std4math6traits__T10isInfinityTfZQpFNaNbNiNefZb@Base 13 + _D3std4math6traits__T10isInfinityTxdZQqFNaNbNiNexdZb@Base 13 + _D3std4math6traits__T10isPowerOf2TkZQpFNaNbNiNfxkZb@Base 13 + _D3std4math6traits__T10isPowerOf2TmZQpFNaNbNiNfxmZb@Base 13 + _D3std4math6traits__T11isSubnormalTxdZQrFNaNbNiNexdZb@Base 13 + _D3std4math6traits__T11isSubnormalTxeZQrFNaNbNiNexeZb@Base 13 + _D3std4math6traits__T11isSubnormalTxfZQrFNaNbNiNexfZb@Base 13 + _D3std4math6traits__T5isNaNTdZQjFNaNbNiNedZb@Base 13 + _D3std4math6traits__T5isNaNTeZQjFNaNbNiNeeZb@Base 13 + _D3std4math6traits__T5isNaNTfZQjFNaNbNiNefZb@Base 13 + _D3std4math6traits__T5isNaNTxdZQkFNaNbNiNexdZb@Base 13 + _D3std4math6traits__T5isNaNTxeZQkFNaNbNiNexeZb@Base 13 + _D3std4math6traits__T7signbitTdZQlFNaNbNiNedZi@Base 13 + _D3std4math6traits__T7signbitTeZQlFNaNbNiNeeZi@Base 13 + _D3std4math6traits__T7signbitTfZQlFNaNbNiNefZi@Base 13 + _D3std4math6traits__T7signbitTxeZQmFNaNbNiNexeZi@Base 13 + _D3std4math6traits__T7signbitTyeZQmFNaNbNiNeyeZi@Base 13 + _D3std4math6traits__T8copysignTdTdZQoFNaNbNiNeddZd@Base 13 + _D3std4math6traits__T8copysignTdTiZQoFNaNbNiNeidZd@Base 13 + _D3std4math6traits__T8copysignTeTeZQoFNaNbNiNeeeZe@Base 13 + _D3std4math6traits__T8copysignTeTiZQoFNaNbNiNeieZe@Base 13 + _D3std4math6traits__T8copysignTfTfZQoFNaNbNiNeffZf@Base 13 + _D3std4math6traits__T8copysignTfTiZQoFNaNbNiNeifZf@Base 13 + _D3std4math6traits__T8isFiniteTdZQmFNaNbNiNedZb@Base 13 + _D3std4math6traits__T8isFiniteTeZQmFNaNbNiNeeZb@Base 13 + _D3std4math6traits__T8isFiniteTfZQmFNaNbNiNefZb@Base 13 + _D3std4math8hardware11__moduleRefZ@Base 13 + _D3std4math8hardware12__ModuleInfoZ@Base 13 + _D3std4math8hardware14resetIeeeFlagsFNbNiNeZv@Base 13 + _D3std4math8hardware20FloatingPointControl10initializeMFNbNiNfZv@Base 13 + _D3std4math8hardware20FloatingPointControl15clearExceptionsFNbNiNfZv@Base 13 + _D3std4math8hardware20FloatingPointControl15getControlStateFNaNbNiNeZt@Base 13 + _D3std4math8hardware20FloatingPointControl15setControlStateFNbNiNetZv@Base 13 + _D3std4math8hardware20FloatingPointControl16enableExceptionsMFNbNiNekZv@Base 13 + _D3std4math8hardware20FloatingPointControl17disableExceptionsMFNbNiNekZv@Base 13 + _D3std4math8hardware20FloatingPointControl17enabledExceptionsFNaNbNdNiNeZk@Base 13 + _D3std4math8hardware20FloatingPointControl17hasExceptionTrapsFNaNbNdNiNfZb@Base 13 + _D3std4math8hardware20FloatingPointControl6__dtorMFNbNiNeZv@Base 13 + _D3std4math8hardware20FloatingPointControl6__initZ@Base 13 + _D3std4math8hardware20FloatingPointControl8opAssignMFNbNcNiNjNeSQCkQCjQChQCbZQo@Base 13 + _D3std4math8hardware20FloatingPointControl8roundingFNaNbNdNiNeZk@Base 13 + _D3std4math8hardware20FloatingPointControl8roundingMFNbNdNiNekZv@Base 13 + _D3std4math8hardware9IeeeFlags12getIeeeFlagsFNaNbNiNeZk@Base 13 + _D3std4math8hardware9IeeeFlags14resetIeeeFlagsFNbNiNeZv@Base 13 + _D3std4math8hardware9IeeeFlags6__initZ@Base 13 + _D3std4math8hardware9IeeeFlags7inexactMxFNbNdNiNfZb@Base 13 + _D3std4math8hardware9IeeeFlags7invalidMxFNbNdNiNfZb@Base 13 + _D3std4math8hardware9IeeeFlags8overflowMxFNbNdNiNfZb@Base 13 + _D3std4math8hardware9IeeeFlags9divByZeroMxFNbNdNiNfZb@Base 13 + _D3std4math8hardware9IeeeFlags9underflowMxFNbNdNiNfZb@Base 13 + _D3std4math8hardware9ieeeFlagsFNaNbNdNiNeZSQBpQBoQBm9IeeeFlags@Base 13 + _D3std4math8rounding11__moduleRefZ@Base 13 + _D3std4math8rounding12__ModuleInfoZ@Base 13 + _D3std4math8rounding4ceilFNaNbNiNedZd@Base 13 + _D3std4math8rounding4ceilFNaNbNiNeeZe@Base 13 + _D3std4math8rounding4ceilFNaNbNiNefZf@Base 13 + _D3std4math8rounding4rintFNaNbNiNfdZd@Base 13 + _D3std4math8rounding4rintFNaNbNiNfeZe@Base 13 + _D3std4math8rounding4rintFNaNbNiNffZf@Base 13 + _D3std4math8rounding5floorFNaNbNiNedZd@Base 13 + _D3std4math8rounding5floorFNaNbNiNeeZe@Base 13 + _D3std4math8rounding5floorFNaNbNiNefZf@Base 13 + _D3std4math8rounding5lrintFNaNbNiNeeZl@Base 13 + _D3std4math8rounding5roundFNaNbNiNeeZe@Base 13 + _D3std4math8rounding5truncFNaNbNiNeeZe@Base 13 + _D3std4math8rounding6lroundFNbNiNeeZl@Base 13 + _D3std4math8rounding6rndtolFNaNbNiNfdZl@Base 13 + _D3std4math8rounding6rndtolFNaNbNiNfeZl@Base 13 + _D3std4math8rounding6rndtolFNaNbNiNffZl@Base 13 + _D3std4math8rounding9nearbyintFNaNbNiNfeZe@Base 13 + _D3std4math8rounding__T9floorImplTdZQnFNaNbNiNexdZ9floatBits6__initZ@Base 13 + _D3std4math8rounding__T9floorImplTdZQnFNaNbNiNexdZd@Base 13 + _D3std4math8rounding__T9floorImplTeZQnFNaNbNiNexeZ9floatBits6__initZ@Base 13 + _D3std4math8rounding__T9floorImplTeZQnFNaNbNiNexeZe@Base 13 + _D3std4math8rounding__T9floorImplTfZQnFNaNbNiNexfZ9floatBits6__initZ@Base 13 + _D3std4math8rounding__T9floorImplTfZQnFNaNbNiNexfZf@Base 13 + _D3std4math9algebraic11__moduleRefZ@Base 13 + _D3std4math9algebraic12__ModuleInfoZ@Base 13 + _D3std4math9algebraic4cbrtFNbNiNeeZe@Base 13 + _D3std4math9algebraic4fabsFNaNbNiNfdZd@Base 13 + _D3std4math9algebraic4fabsFNaNbNiNfeZe@Base 13 + _D3std4math9algebraic4fabsFNaNbNiNffZf@Base 13 + _D3std4math9algebraic4sqrtFNaNbNiNfdZd@Base 13 + _D3std4math9algebraic4sqrtFNaNbNiNfeZe@Base 13 + _D3std4math9algebraic4sqrtFNaNbNiNffZf@Base 13 + _D3std4math9algebraic8polyImplFNaNbNiNeeIAeZe@Base 13 + _D3std4math9algebraic__T12polyImplBaseTeTeZQtFNaNbNiNeeIAeZe@Base 13 + _D3std4math9algebraic__T4polyTdTdVii3ZQoFNaNbNiNfdKxG3dZd@Base 13 + _D3std4math9algebraic__T4polyTdTdVii4ZQoFNaNbNiNfdKxG4dZd@Base 13 + _D3std4math9algebraic__T4polyTdTdVii5ZQoFNaNbNiNfdKxG5dZd@Base 13 + _D3std4math9algebraic__T4polyTdTdVii6ZQoFNaNbNiNfdKxG6dZd@Base 13 + _D3std4math9algebraic__T4polyTdTdVii7ZQoFNaNbNiNfdKxG7dZd@Base 13 + _D3std4math9algebraic__T4polyTeTeVii3ZQoFNaNbNiNfeKxG3eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii4ZQoFNaNbNiNfeKxG4eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii5ZQoFNaNbNiNfeKxG5eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii6ZQoFNaNbNiNfeKxG6eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii7ZQoFNaNbNiNfeKxG7eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii8ZQoFNaNbNiNfeKxG8eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeVii9ZQoFNaNbNiNfeKxG9eZe@Base 13 + _D3std4math9algebraic__T4polyTeTeZQkFNaNbNiNeeIAeZe@Base 13 + _D3std4math9algebraic__T4polyTfTfVii6ZQoFNaNbNiNffKxG6fZf@Base 13 + _D3std4math9algebraic__T4polyTfTfVii7ZQoFNaNbNiNffKxG7fZf@Base 13 + _D3std4math9algebraic__T4polyTfTfVii9ZQoFNaNbNiNffKxG9fZf@Base 13 + _D3std4math9algebraic__T4polyTxdTdVii3ZQpFNaNbNiNfxdKxG3dZd@Base 13 + _D3std4math9algebraic__T4polyTxdTdVii4ZQpFNaNbNiNfxdKxG4dZd@Base 13 + _D3std4math9algebraic__T4polyTxdTdVii5ZQpFNaNbNiNfxdKxG5dZd@Base 13 + _D3std4math9algebraic__T4polyTxeTeVii3ZQpFNaNbNiNfxeKxG3eZe@Base 13 + _D3std4math9algebraic__T4polyTxeTeVii4ZQpFNaNbNiNfxeKxG4eZe@Base 13 + _D3std4math9algebraic__T4polyTxeTeVii5ZQpFNaNbNiNfxeKxG5eZe@Base 13 + _D3std4math9algebraic__T4polyTxeTeVii6ZQpFNaNbNiNfxeKxG6eZe@Base 13 + _D3std4math9algebraic__T4polyTxfTfVii4ZQpFNaNbNiNfxfKxG4fZf@Base 13 + _D3std4math9algebraic__T4polyTxfTfVii6ZQpFNaNbNiNfxfKxG6fZf@Base 13 + _D3std4math9algebraic__T4polyTyeTeVii7ZQpFNaNbNiNfyeKxG7eZe@Base 13 + _D3std4math9algebraic__T8nextPow2TmZQmFNaNbNiNfxmZm@Base 13 + _D3std4math9algebraic__T9truncPow2TmZQnFNaNbNiNfxmZm@Base 13 + _D3std4math9constants11__moduleRefZ@Base 13 + _D3std4math9constants12__ModuleInfoZ@Base 13 + _D3std4math9remainder11__moduleRefZ@Base 13 + _D3std4math9remainder12__ModuleInfoZ@Base 13 + _D3std4math9remainder4fmodFNbNiNeeeZe@Base 13 + _D3std4math9remainder4modfFNbNiNeeKeZe@Base 13 + _D3std4math9remainder6remquoFNbNiNeeeJiZe@Base 13 + _D3std4math9remainderQkFNbNiNeeeZe@Base 13 + _D3std4math__T8ieeeMeanTeZQmFNaNbNiNexexeZe@Base 13 + _D3std4meta11__moduleRefZ@Base 13 + _D3std4meta12__ModuleInfoZ@Base 13 + _D3std4meta__T10aliasSeqOfVSQBa5range__T4iotaTmTmZQkFmmZ6ResultS2i0i2Z4Impl6__initZ@Base 14 + _D3std4meta__T10aliasSeqOfVSQBa5range__T4iotaTmTmZQkFmmZ6ResultS2i0i3Z4Impl6__initZ@Base 14 + _D3std4path11__moduleRefZ@Base 13 + _D3std4path11expandTildeFNbNfNkMxAyaZ18expandFromDatabaseFNbNfAyaZQe@Base 14 + _D3std4path11expandTildeFNbNfNkMxAyaZ21combineCPathWithDPathFNaNbNePaAyamZQf@Base 14 + _D3std4path11expandTildeFNbNfNkMxAyaZ21expandFromEnvironmentFNbNfAyaZ9__lambda2FNbNiNeZPa@Base 14 + _D3std4path11expandTildeFNbNfNkMxAyaZ21expandFromEnvironmentFNbNfAyaZQe@Base 14 + _D3std4path11expandTildeFNbNfNkMxAyaZAya@Base 14 + _D3std4path12__ModuleInfoZ@Base 13 + _D3std4path12absolutePathFNaNfNkMxAyaLAyaZQe@Base 14 + _D3std4path14isDirSeparatorFNaNbNiNfwZb@Base 13 + _D3std4path16isDriveSeparatorFNaNbNiNfwZb@Base 13 + _D3std4path__T10stripDriveTxaZQqFNaNbNiNfAxaZQe@Base 13 + _D3std4path__T10stripDriveTyaZQqFNaNbNiNfAyaZQe@Base 13 + _D3std4path__T11_stripDriveTAxaZQsFNaNbNiNfQpZQs@Base 13 + _D3std4path__T11_stripDriveTAyaZQsFNaNbNiNfQpZQs@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFNaNbNiNfQFhZSQGnQGm__TQGkTQFzZQGsFQGhZ12PathSplitter@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter11__xopEqualsMxFKxSQHlQHk__TQHiTQGxZQHqFQHfZQCgZb@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter4backMFNaNbNdNiNfZQGj@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter4saveMFNaNbNdNiNfZSQHlQHk__TQHiTQGxZQHqFQHfZQCg@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter5frontMFNaNbNdNiNfZQGk@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter5ltrimMFNaNbNiNfmmZm@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter5rtrimMFNaNbNiNfmmZm@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter6__ctorMFNaNbNcNiNfQGkZSQHqQHp__TQHnTQHcZQHvFQHkZQCl@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter6__initZ@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter7popBackMFNaNbNiNfZv@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter8popFrontMFNaNbNiNfZv@Base 13 + _D3std4path__T12pathSplitterTSQBc5range__T5chainTSQBw3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDvQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFQEzZ12PathSplitter9__xtoHashFNbNeKxSQHkQHj__TQHhTQGwZQHpFQHeZQCfZm@Base 13 + _D3std4path__T13lastSeparatorTAxaZQuFNaNbNiNfQpZl@Base 13 + _D3std4path__T13lastSeparatorTAyaZQuFNaNbNiNfQpZl@Base 13 + _D3std4path__T15extSeparatorPosTAyaZQwFNaNbNiNfxAyaZl@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNaNbNiNfNkMQFkZSQGuQGt__TQGrTQGcZQGzFNkMQGnZQCe@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt11__xopEqualsMxFKxSQHgQHf__TQHdTQGoZQHlFNkMQGzZQCqZb@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt11getElement0MFNaNbNiNfZa@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt4saveMFNaNbNdNiNfZSQHgQHf__TQHdTQGoZQHlFNkMQGzZQCq@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt5emptyMFNaNbNdNiNfZb@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt5frontMFNaNbNdNiNfZa@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt5isDotFNaNbNiNfQFxZb@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt6__ctorMFNaNbNcNiNfQGbZSQHlQHk__TQHiTQGtZQHqFNkMQHeZQCv@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt6__initZ@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt8isDotDotFNaNbNiNfQGaZb@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt8popFrontMFNaNbNiNfZv@Base 13 + _D3std4path__T16asNormalizedPathTSQBg5range__T5chainTSQCa3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDzQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQt9__xtoHashFNbNeKxSQHfQHe__TQHcTQGnZQHkFNkMQGyZQCpZm@Base 13 + _D3std4path__T18rtrimDirSeparatorsTAxaZQzFNaNbNiNfQpZQs@Base 13 + _D3std4path__T18rtrimDirSeparatorsTAyaZQzFNaNbNiNfQpZQs@Base 13 + _D3std4path__T7dirNameTxaZQmFNaNbNiNfNkMAxaZQe@Base 13 + _D3std4path__T7dirNameTyaZQmFNaNbNiNfNkMAyaZQe@Base 13 + _D3std4path__T8_dirNameTAxaZQoFNaNbNiNfNkMQsZQv@Base 13 + _D3std4path__T8_dirNameTAxaZQoFNkMQkZ6resultFNaNbNiNfbQBeZQBi@Base 13 + _D3std4path__T8_dirNameTAyaZQoFNaNbNiNfNkMQsZQv@Base 13 + _D3std4path__T8_dirNameTAyaZQoFNkMQkZ6resultFNaNbNiNfbQBeZQBi@Base 13 + _D3std4path__T8baseNameTxaZQnFNaNbNiNfNkMAxaZQe@Base 13 + _D3std4path__T8baseNameTyaZQnFNaNbNiNfNkMAyaZQe@Base 13 + _D3std4path__T8isRootedTAxaZQoFNaNbNiNfQpZb@Base 13 + _D3std4path__T8isRootedTAyaZQoFNaNbNiNfQpZb@Base 13 + _D3std4path__T8isRootedTSQx5range__T5chainTSQBq3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDpQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFeFNaNbNiNfQFgZb@Base 13 + _D3std4path__T8rootNameTSQx5range__T5chainTSQBq3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDpQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFeFNaNbNiNfQFgZQFk@Base 13 + _D3std4path__T9_baseNameTAxaZQpFNaNbNiNfNkMQsZQv@Base 13 + _D3std4path__T9_baseNameTAyaZQpFNaNbNiNfNkMQsZQv@Base 13 + _D3std4path__T9_rootNameTSQy5range__T5chainTSQBr3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDqQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFfFNaNbNiNfQFgZQFk@Base 13 + _D3std4path__T9buildPathTAAxaZQqFMQjZ__T11trustedCastTAyaTAaZQvFNaNbNiNeQoZQv@Base 13 + _D3std4path__T9buildPathTAAxaZQqFNaNbNfMQpZAya@Base 13 + _D3std4path__T9buildPathTaZQnFNaNbNfAAxaXAya@Base 13 + _D3std4path__T9chainPathTAaTAxaZQsFNaNbNiNfQsQrZSQBv5range__T5chainTSQCp3utf__T10byCodeUnitTQCpZQrFQCwZ14ByCodeUnitImplTSQEpQCu__T10OnlyResultTaZQpTSQFrQDc__TQDbTQFeZQDjFQFmZQCtZQEnFQEkQCnQBoZ6Result@Base 13 + _D3std4path__T9chainPathTAxaTQeZQsFNaNbNiNfQsQuZSQBv5range__T5chainTSQCp3utf__T10byCodeUnitTQCpZQrFQCwZ14ByCodeUnitImplTSQEpQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6Result@Base 13 + _D3std4path__T9chainPathTAyaTQeZQsFNaNbNiNfQsQuZSQBv5range__T5chainTSQCp3utf__T10byCodeUnitTQCpZQrFQCwZ14ByCodeUnitImplTSQEpQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6Result@Base 13 + _D3std4path__T9extensionTAyaZQpFNaNbNiNfQpZQs@Base 13 + _D3std4uuid10randomUUIDFNfZSQBaQz4UUID@Base 13 + _D3std4uuid11__moduleRefZ@Base 13 + _D3std4uuid12__ModuleInfoZ@Base 13 + _D3std4uuid20UUIDParsingException6__ctorMFNaNeAyamEQBxQBwQBu6ReasonQvC6object9ThrowableQBpmZCQDnQDmQDk@Base 13 + _D3std4uuid20UUIDParsingException6__initZ@Base 13 + _D3std4uuid20UUIDParsingException6__vtblZ@Base 13 + _D3std4uuid20UUIDParsingException7__ClassZ@Base 13 + _D3std4uuid4UUID11uuidVersionMxFNaNbNdNiNfZEQBqQBpQBn7Version@Base 13 + _D3std4uuid4UUID4swapMFNaNbNiNfKSQBfQBeQBcZv@Base 13 + _D3std4uuid4UUID5emptyMxFNaNbNdNiNeZb@Base 13 + _D3std4uuid4UUID5opCmpMxFNaNbNiNfMKxSQBjQBiQBgZi@Base 14 + _D3std4uuid4UUID5opCmpMxFNaNbNiNfxSQBhQBgQBeZi@Base 13 + _D3std4uuid4UUID6__ctorMFNaNbNcNiNfMKxG16hZSQBqQBpQBn@Base 14 + _D3std4uuid4UUID6__ctorMFNaNbNcNiNfxG16hZSQBoQBnQBl@Base 13 + _D3std4uuid4UUID6__initZ@Base 13 + _D3std4uuid4UUID6toHashMxFNaNbNiNfZm@Base 13 + _D3std4uuid4UUID7Version6__initZ@Base 13 + _D3std4uuid4UUID7variantMxFNaNbNdNiNfZEQBlQBkQBi7Variant@Base 13 + _D3std4uuid4UUID8opAssignMFNaNbNiNfMKxSQBlQBkQBiZSQBwQBvQBt@Base 14 + _D3std4uuid4UUID8opAssignMFNaNbNiNfxSQBjQBiQBgZSQBuQBtQBr@Base 13 + _D3std4uuid4UUID8opEqualsMxFNaNbNiNfMKxSQBmQBlQBjZb@Base 14 + _D3std4uuid4UUID8opEqualsMxFNaNbNiNfxSQBkQBjQBhZb@Base 13 + _D3std4uuid4UUID8toStringMxFNaNbNeZAya@Base 13 + _D3std4uuid4UUID__T6__ctorTaZQkMFNaNcNfIAaZSQBqQBpQBn@Base 13 + _D3std4uuid4UUID__T6__ctorTaZQkMFNcIAaZ7skipIndyAi@Base 13 + _D3std4uuid4UUID__T6toCharTaZQkMxFNaNbNiNfmZa@Base 13 + _D3std4uuid4UUID__T8toStringTAaZQnMxFNaNbNiNfMQrZv@Base 13 + _D3std4uuid4UUID__T9asArrayOfTkZQnMFNaNbNcNiNjNeZG4k@Base 13 + _D3std4uuid7md5UUIDFNaNbNiNfxAaxSQBfQBe4UUIDZSQBsQBrQn@Base 13 + _D3std4uuid7md5UUIDFNaNbNiNfxAhxSQBfQBe4UUIDZSQBsQBrQn@Base 13 + _D3std4uuid8sha1UUIDFNaNbNiNfMAxaMxSQBiQBh4UUIDZSQBvQBuQn@Base 14 + _D3std4uuid8sha1UUIDFNaNbNiNfMAxhMxSQBiQBh4UUIDZSQBvQBuQn@Base 14 + _D3std4uuid__T10randomUUIDTSQBa6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFcZQGhFNaNbNiNfKQGhZSQHlQHk4UUID@Base 13 + _D3std4zlib10UnCompress10uncompressMFAxvZQe@Base 13 + _D3std4zlib10UnCompress5emptyMxFNdZb@Base 13 + _D3std4zlib10UnCompress5errorMFiZv@Base 13 + _D3std4zlib10UnCompress5flushMFZAv@Base 13 + _D3std4zlib10UnCompress6__ctorMFEQBfQBe12HeaderFormatZCQCbQCaQBy@Base 13 + _D3std4zlib10UnCompress6__ctorMFkZCQBhQBgQBe@Base 13 + _D3std4zlib10UnCompress6__dtorMFNlZv@Base 13 + _D3std4zlib10UnCompress6__initZ@Base 13 + _D3std4zlib10UnCompress6__vtblZ@Base 13 + _D3std4zlib10UnCompress7__ClassZ@Base 13 + _D3std4zlib10uncompressFAxvmiZAv@Base 13 + _D3std4zlib11__moduleRefZ@Base 13 + _D3std4zlib12__ModuleInfoZ@Base 13 + _D3std4zlib13ZlibException6__ctorMFiZCQBkQBjQBh@Base 13 + _D3std4zlib13ZlibException6__initZ@Base 13 + _D3std4zlib13ZlibException6__vtblZ@Base 13 + _D3std4zlib13ZlibException6getmsgFNaNbNiNfiZAya@Base 13 + _D3std4zlib13ZlibException7__ClassZ@Base 13 + _D3std4zlib5crc32FkAxvZk@Base 13 + _D3std4zlib7adler32FkAxvZk@Base 13 + _D3std4zlib8Compress5errorMFiZv@Base 13 + _D3std4zlib8Compress5flushMFiZAv@Base 13 + _D3std4zlib8Compress6__ctorMFEQBcQBb12HeaderFormatZCQByQBxQBv@Base 13 + _D3std4zlib8Compress6__ctorMFiEQBdQBc12HeaderFormatZCQBzQByQBw@Base 13 + _D3std4zlib8Compress6__dtorMFNlZv@Base 13 + _D3std4zlib8Compress6__initZ@Base 13 + _D3std4zlib8Compress6__vtblZ@Base 13 + _D3std4zlib8Compress7__ClassZ@Base 13 + _D3std4zlib8Compress8compressMFAxvZQe@Base 13 + _D3std4zlib8compressFAxvZAh@Base 13 + _D3std4zlib8compressFAxviZAh@Base 13 + _D3std5array11__moduleRefZ@Base 13 + _D3std5array12__ModuleInfoZ@Base 13 + _D3std5array__T11replaceIntoTxaTSQBfQBe__T8AppenderTAxaZQoTAyaTQeZQBzFNaNbNfQBsQBbQxQzKmZv@Base 14 + _D3std5array__T11replaceIntoTyaTSQBfQBe__T8AppenderTAyaZQoTQhTQkZQByFNaNbNfQBrQBaQBdQBgKmZv@Base 14 + _D3std5array__T13copyBackwardsTSQBe5regex8internal2ir10NamedGroupZQBzFNaAQBqQeZv@Base 13 + _D3std5array__T13copyBackwardsTSQBe5regex8internal2ir8BytecodeZQBwFNaAQBnQeZv@Base 13 + _D3std5array__T13insertInPlaceTSQBe5regex8internal2ir10NamedGroupTQBjZQCdFNaNfKAQBxmQCbZv@Base 13 + _D3std5array__T13insertInPlaceTSQBe5regex8internal2ir8BytecodeTQBgTQBkZQCeFNaNfKAQBymQCcQCfZv@Base 13 + _D3std5array__T13insertInPlaceTSQBe5regex8internal2ir8BytecodeTQBgZQCaFNaNfKAQBumQByZv@Base 13 + _D3std5array__T14arrayAllocImplVbi0TASQBk3uni17CodepointIntervalTmZQCaFNaNbmZQBp@Base 13 + _D3std5array__T14arrayAllocImplVbi0TAaTmZQBaFNaNbmZQp@Base 13 + _D3std5array__T14arrayAllocImplVbi0TAfTmZQBaFNaNbmZQp@Base 13 + _D3std5array__T14arrayAllocImplVbi0TAhTmZQBaFNaNbmZQp@Base 13 + _D3std5array__T14arrayAllocImplVbi0TAkTmZQBaFNaNbmZQp@Base 13 + _D3std5array__T14arrayAllocImplVbi0TAmTmZQBaFNaNbmZQp@Base 14 + _D3std5array__T18uninitializedArrayTASQBk3uni17CodepointIntervalTmZQCaFNaNbNemZQBr@Base 13 + _D3std5array__T18uninitializedArrayTASQBk3uni17CodepointIntervalTxmZQCbFNaNbNexmZQBt@Base 13 + _D3std5array__T18uninitializedArrayTASQBk3uni17CodepointIntervalTyiZQCbFNaNbNeyiZQBt@Base 13 + _D3std5array__T18uninitializedArrayTAaTmZQBaFNaNbNemZQr@Base 13 + _D3std5array__T18uninitializedArrayTAaTxmZQBbFNaNbNexmZQt@Base 13 + _D3std5array__T18uninitializedArrayTAfTmZQBaFNaNbNemZQr@Base 13 + _D3std5array__T18uninitializedArrayTAhTkZQBaFNaNbNekZQr@Base 13 + _D3std5array__T18uninitializedArrayTAhTmZQBaFNaNbNemZQr@Base 13 + _D3std5array__T18uninitializedArrayTAkTxmZQBbFNaNbNexmZQt@Base 13 + _D3std5array__T18uninitializedArrayTAmTxmZQBbFNaNbNexmZQt@Base 14 + _D3std5array__T19appenderNewCapacityVmi16ZQBbFNaNbNiNfmmZm@Base 13 + _D3std5array__T19appenderNewCapacityVmi1ZQBaFNaNbNiNfmmZm@Base 13 + _D3std5array__T19appenderNewCapacityVmi2ZQBaFNaNbNiNfmmZm@Base 13 + _D3std5array__T19appenderNewCapacityVmi40ZQBbFNaNbNiNfmmZm@Base 13 + _D3std5array__T19appenderNewCapacityVmi4ZQBaFNaNbNiNfmmZm@Base 13 + _D3std5array__T19appenderNewCapacityVmi8ZQBaFNaNbNiNfmmZm@Base 13 + _D3std5array__T5splitTAyaTQeZQoFNaNbNfQqQsZAQw@Base 13 + _D3std5array__T5splitTAyaZQlFNaNfQlZAQp@Base 13 + _D3std5array__T7overlapTvTvZQnFNaNbNiNeAvQcZQf@Base 13 + _D3std5array__T7replaceTxaTAyaTQeZQtFNaNbNfAxaQtQvKmZQk@Base 14 + _D3std5array__T7replaceTxaTAyaTQeZQtFNaNbNfAxaQtQvZQi@Base 13 + _D3std5array__T7replaceTyaTAyaTQeZQtFNaNbNfQqQsQuKmZQz@Base 14 + _D3std5array__T7replaceTyaTAyaTQeZQtFNaNbNfQqQsQuZQx@Base 13 + _D3std5array__T8AppenderTAAyaZQp13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAAyaZQp4Data11__xopEqualsMxFKxSQCcQCb__TQByTQBsZQCgQBsZb@Base 13 + _D3std5array__T8AppenderTAAyaZQp4Data6__initZ@Base 13 + _D3std5array__T8AppenderTAAyaZQp4Data9__xtoHashFNbNeKxSQCbQCa__TQBxTQBrZQCfQBrZm@Base 13 + _D3std5array__T8AppenderTAAyaZQp4dataMNgFNaNbNdNiNeZANgAya@Base 13 + _D3std5array__T8AppenderTAAyaZQp5clearMFNaNbNiNeZv@Base 13 + _D3std5array__T8AppenderTAAyaZQp6__ctorMFNaNbNcNeQyZSQBzQBy__TQBvTQBpZQCd@Base 13 + _D3std5array__T8AppenderTAAyaZQp6__initZ@Base 13 + _D3std5array__T8AppenderTAAyaZQp7opSliceMNgFNaNbNdNiNeZANgAya@Base 13 + _D3std5array__T8AppenderTAAyaZQp7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAAyaZQp8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTAAyaZQp8shrinkToMFNaNemZv@Base 13 + _D3std5array__T8AppenderTAAyaZQp__T3putTQoZQiMFNaNbNfQBbZv@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4Data11__xopEqualsMxFKxSQCwQCv__TQCsTQCmZQDaQBsZb@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4Data6__initZ@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4Data9__xtoHashFNbNeKxSQCvQCu__TQCrTQClZQCzQBrZm@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4dataMNgFNaNbNdNiNeZANgCQCwQByQBx@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi5clearMFNaNbNiNeZv@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi6__ctorMFNaNbNcNeQBsZSQCuQCt__TQCqTQCkZQCy@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi6__initZ@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi7opSliceMNgFNaNbNdNiNeZANgCQCzQCbQCa@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi8shrinkToMFNaNemZv@Base 13 + _D3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi__T3putTQBiZQjMFNaNbNfQBwZv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4Data11__xopEqualsMxFKxSQCxQCw__TQCtTQCnZQDbQBsZb@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4Data6__initZ@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4Data9__xtoHashFNbNeKxSQCwQCv__TQCsTQCmZQDaQBrZm@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4dataMNgFNaNbNdNiNeZANgSQCxQBzQBv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj5clearMFNaNbNiNeZv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj6__ctorMFNaNbNcNeQBtZSQCvQCu__TQCrTQClZQCz@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj6__initZ@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj7opSliceMNgFNaNbNdNiNeZANgSQDaQCcQBy@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj8shrinkToMFNaNemZv@Base 13 + _D3std5array__T8AppenderTASQz6socket11AddressInfoZQBj__T3putTQBjZQjMFNaNbNfQBxZv@Base 13 + _D3std5array__T8AppenderTAxaZQo13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAxaZQo4Data11__xopEqualsMxFKxSQCbQCa__TQBxTQBrZQCfQBsZb@Base 13 + _D3std5array__T8AppenderTAxaZQo4Data6__initZ@Base 13 + _D3std5array__T8AppenderTAxaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm@Base 13 + _D3std5array__T8AppenderTAxaZQo4dataMNgFNaNbNdNiNeZANgxa@Base 13 + _D3std5array__T8AppenderTAxaZQo6__ctorMFNaNbNcNeQxZSQByQBx__TQBuTQBoZQCc@Base 13 + _D3std5array__T8AppenderTAxaZQo6__initZ@Base 13 + _D3std5array__T8AppenderTAxaZQo7opSliceMNgFNaNbNdNiNeZANgxa@Base 13 + _D3std5array__T8AppenderTAxaZQo7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAxaZQo8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTAxaZQo__T3putTAaZQiMFNaNbNfQnZv@Base 13 + _D3std5array__T8AppenderTAxaZQo__T3putTAyaZQjMFNaNbNfQoZv@Base 13 + _D3std5array__T8AppenderTAxaZQo__T3putTQoZQiMFNaNbNfQBbZv@Base 13 + _D3std5array__T8AppenderTAxaZQo__T3putTwZQhMFNaNfwZv@Base 13 + _D3std5array__T8AppenderTAyaZQo13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAyaZQo4Data11__xopEqualsMxFKxSQCbQCa__TQBxTQBrZQCfQBsZb@Base 13 + _D3std5array__T8AppenderTAyaZQo4Data6__initZ@Base 13 + _D3std5array__T8AppenderTAyaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm@Base 13 + _D3std5array__T8AppenderTAyaZQo4dataMNgFNaNbNdNiNeZQBa@Base 13 + _D3std5array__T8AppenderTAyaZQo6__ctorMFNaNbNcNeQxZSQByQBx__TQBuTQBoZQCc@Base 13 + _D3std5array__T8AppenderTAyaZQo6__initZ@Base 13 + _D3std5array__T8AppenderTAyaZQo7opSliceMNgFNaNbNdNiNeZQBd@Base 13 + _D3std5array__T8AppenderTAyaZQo7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAyaZQo8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTAaZQiMFNaNbNfQnZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTAhZQiMFNaNbNfQnZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTAwZQiMFNaNfQlZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTAxaZQjMFNaNbNfQoZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTQoZQiMFNaNbNfQBbZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTSQBm4path__T16asNormalizedPathTSQCr5range__T5chainTSQDl3utf__T10byCodeUnitTQDlZQrFQDsZ14ByCodeUnitImplTSQFlQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtZQGuMFNaNbNfQHaZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTSQBm5range__T5chainTSQCg3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQEfQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFaMFNaNbNfQFgZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTSQBm5range__T5chainTSQCgQu__T4TakeTSQCvQBj__T6RepeatTaZQkZQBdTSQDw4conv__T7toCharsVhi10TaVEQEy5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEwFQEtQDgZQtZQGcMFNaNbNfQGiZv@Base 14 + _D3std5array__T8AppenderTAyaZQo__T3putTaZQhMFNaNbNfaZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTwZQhMFNaNfwZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTxaZQiMFNaNbNfxaZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTxwZQiMFNaNfxwZv@Base 13 + _D3std5array__T8AppenderTAyaZQo__T3putTyaZQiMFNaNbNfyaZv@Base 13 + _D3std5array__T8AppenderTAyuZQo13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAyuZQo4Data11__xopEqualsMxFKxSQCbQCa__TQBxTQBrZQCfQBsZb@Base 13 + _D3std5array__T8AppenderTAyuZQo4Data6__initZ@Base 13 + _D3std5array__T8AppenderTAyuZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm@Base 13 + _D3std5array__T8AppenderTAyuZQo4dataMNgFNaNbNdNiNeZQBa@Base 13 + _D3std5array__T8AppenderTAyuZQo6__ctorMFNaNbNcNeQxZSQByQBx__TQBuTQBoZQCc@Base 13 + _D3std5array__T8AppenderTAyuZQo6__initZ@Base 13 + _D3std5array__T8AppenderTAyuZQo7opSliceMNgFNaNbNdNiNeZQBd@Base 13 + _D3std5array__T8AppenderTAyuZQo7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAyuZQo8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTAyuZQo__T3putTAuZQiMFNaNbNfQnZv@Base 13 + _D3std5array__T8AppenderTAyuZQo__T3putTQoZQiMFNaNbNfQBbZv@Base 13 + _D3std5array__T8AppenderTAyuZQo__T3putTwZQhMFNaNfwZv@Base 13 + _D3std5array__T8AppenderTAywZQo13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAywZQo4Data11__xopEqualsMxFKxSQCbQCa__TQBxTQBrZQCfQBsZb@Base 13 + _D3std5array__T8AppenderTAywZQo4Data6__initZ@Base 13 + _D3std5array__T8AppenderTAywZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTQBqZQCeQBrZm@Base 13 + _D3std5array__T8AppenderTAywZQo4dataMNgFNaNbNdNiNeZQBa@Base 13 + _D3std5array__T8AppenderTAywZQo6__ctorMFNaNbNcNeQxZSQByQBx__TQBuTQBoZQCc@Base 13 + _D3std5array__T8AppenderTAywZQo6__initZ@Base 13 + _D3std5array__T8AppenderTAywZQo7opSliceMNgFNaNbNdNiNeZQBd@Base 13 + _D3std5array__T8AppenderTAywZQo7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTAywZQo8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTAywZQo__T3putTQoZQiMFNaNbNfQBbZv@Base 13 + _D3std5array__T8AppenderTAywZQo__T3putTwZQhMFNaNbNfwZv@Base 13 + _D3std5array__T8AppenderTyAaZQo13ensureAddableMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTyAaZQo4Data11__xopEqualsMxFKxSQCbQCa__TQBxTyQBrZQCgQBtZb@Base 13 + _D3std5array__T8AppenderTyAaZQo4Data6__initZ@Base 13 + _D3std5array__T8AppenderTyAaZQo4Data9__xtoHashFNbNeKxSQCaQBz__TQBwTyQBqZQCfQBsZm@Base 13 + _D3std5array__T8AppenderTyAaZQo4dataMNgFNaNbNdNiNeZAya@Base 13 + _D3std5array__T8AppenderTyAaZQo6__ctorMFNaNbNcNeyQxZSQBzQBy__TQBvTyQBpZQCe@Base 13 + _D3std5array__T8AppenderTyAaZQo6__initZ@Base 13 + _D3std5array__T8AppenderTyAaZQo7opSliceMNgFNaNbNdNiNeZAya@Base 13 + _D3std5array__T8AppenderTyAaZQo7reserveMFNaNbNfmZv@Base 13 + _D3std5array__T8AppenderTyAaZQo8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTAaZQiMFNaNbNfQnZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTAwZQiMFNaNfQlZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTAxaZQjMFNaNbNfQoZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTAyaZQjMFNaNbNfQoZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTaZQhMFNaNbNfaZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTwZQhMFNaNfwZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTxaZQiMFNaNbNfxaZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTxwZQiMFNaNfxwZv@Base 13 + _D3std5array__T8AppenderTyAaZQo__T3putTyaZQiMFNaNbNfyaZv@Base 13 + _D3std5array__T8appenderTAAyaZQpFNaNbNfZSQBnQBm__T8AppenderTQBjZQo@Base 13 + _D3std5array__T8appenderTACQz3zip13ArchiveMemberZQBiFNaNbNfZSQChQCg__T8AppenderTQCdZQo@Base 13 + _D3std5array__T8appenderTASQz6socket11AddressInfoZQBjFNaNbNfZSQCiQCh__T8AppenderTQCeZQo@Base 13 + _D3std5array__T8appenderTAxaZQoFNaNbNfZSQBmQBl__T8AppenderTQBiZQo@Base 13 + _D3std5array__T8appenderTAyaZQoFNaNbNfZSQBmQBl__T8AppenderTQBiZQo@Base 13 + _D3std5array__T8appenderTAyuZQoFNaNbNfZSQBmQBl__T8AppenderTQBiZQo@Base 13 + _D3std5array__T8appenderTAywZQoFNaNbNfZSQBmQBl__T8AppenderTQBiZQo@Base 13 + _D3std5array__T8appenderTyAaZQoFNaNbNfZSQBmQBl__T8AppenderTyQBiZQp@Base 13 + _D3std5array__TQjTS6object__T7byValueHTHAyaCQBq3zip13ArchiveMemberTQBbTQBcZQBuFNaNbNiNfQBwZ6ResultZQDpFNaNbNfQDnZAQCt@Base 13 + _D3std5array__TQjTSQr3uni__T13InversionListTSQBrQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQDaFNaNbNfQCyZASQDuQDe17CodepointInterval@Base 13 + _D3std5array__TQjTSQr3uni__T13InversionListTSQBrQBb8GcPolicyZQBh__T9IntervalsTAxkZQpZQDbFNaNbNfQCzZASQDvQDf17CodepointInterval@Base 13 + _D3std5array__TQjTSQr3uni__T8CowArrayTSQBlQv8GcPolicyZQBaZQCaFNaNbNfQByZAk@Base 13 + _D3std5array__TQjTSQr5range__T4iotaTmTmZQkFmmZ6ResultZQBwFNaNbNfQBuZAm@Base 14 + _D3std5array__TQjTSQr5range__T5chainTSQBk3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQDjQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFgFNaNbNfQFeZAxa@Base 13 + _D3std5array__TQjTSQr9algorithm9iteration__T10UniqResultSQCd10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEv5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGsQBx18SortedRangeOptionsi0ZQCoZQGjZQHzFNaNbNfQHxZQCw@Base 13 + _D3std5array__TQjTSQr9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCu8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6ResultZQGcFNaNbNfQGaZAQEv@Base 13 + _D3std5ascii10isAlphaNumFNaNbNiNfwZb@Base 13 + _D3std5ascii10isHexDigitFNaNbNiNfwZb@Base 13 + _D3std5ascii10whitespaceyAa@Base 13 + _D3std5ascii11__moduleRefZ@Base 13 + _D3std5ascii11isGraphicalFNaNbNiNfwZb@Base 13 + _D3std5ascii11isPrintableFNaNbNiNfwZb@Base 13 + _D3std5ascii11octalDigitsyAa@Base 13 + _D3std5ascii12__ModuleInfoZ@Base 13 + _D3std5ascii12isOctalDigitFNaNbNiNfwZb@Base 13 + _D3std5ascii13fullHexDigitsyAa@Base 13 + _D3std5ascii13isPunctuationFNaNbNiNfwZb@Base 13 + _D3std5ascii14lowerHexDigitsyAa@Base 13 + _D3std5ascii6digitsyAa@Base 13 + _D3std5ascii7isASCIIFNaNbNiNfwZb@Base 13 + _D3std5ascii7isAlphaFNaNbNiNfwZb@Base 13 + _D3std5ascii7isDigitFNaNbNiNfwZb@Base 13 + _D3std5ascii7isLowerFNaNbNiNfwZb@Base 13 + _D3std5ascii7isUpperFNaNbNiNfwZb@Base 13 + _D3std5ascii7isWhiteFNaNbNiNfwZb@Base 13 + _D3std5ascii7lettersyAa@Base 13 + _D3std5ascii7newlineyAa@Base 13 + _D3std5ascii9hexDigitsyAa@Base 13 + _D3std5ascii9isControlFNaNbNiNfwZb@Base 13 + _D3std5ascii9lowercaseyAa@Base 13 + _D3std5ascii9uppercaseyAa@Base 13 + _D3std5ascii__T7toLowerTwZQlFNaNbNiNfwZw@Base 13 + _D3std5ascii__T7toLowerTxaZQmFNaNbNiNfxaZa@Base 13 + _D3std5ascii__T7toLowerTxuZQmFNaNbNiNfxuZu@Base 13 + _D3std5ascii__T7toLowerTxwZQmFNaNbNiNfxwZw@Base 13 + _D3std5ascii__T7toLowerTyaZQmFNaNbNiNfyaZa@Base 13 + _D3std5ascii__T7toLowerTywZQmFNaNbNiNfywZw@Base 13 + _D3std5ascii__T7toUpperTwZQlFNaNbNiNfwZw@Base 13 + _D3std5range10interfaces11__moduleRefZ@Base 13 + _D3std5range10interfaces12__ModuleInfoZ@Base 13 + _D3std5range10interfaces22UnsupportedRangeMethod6__initZ@Base 13 + _D3std5range10interfaces22UnsupportedRangeMethod6__vtblZ@Base 13 + _D3std5range10interfaces22UnsupportedRangeMethod7__ClassZ@Base 13 + _D3std5range10interfaces22UnsupportedRangeMethod8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDuQDtQDqQDh@Base 13 + _D3std5range10interfaces22UnsupportedRangeMethod8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDuQDtQDqQDh@Base 13 + _D3std5range10primitives11__moduleRefZ@Base 13 + _D3std5range10primitives12__ModuleInfoZ@Base 13 + _D3std5range10primitives__T10walkLengthTAyaZQrFNaNbNiNfQpZm@Base 13 + _D3std5range10primitives__T10walkLengthTSQBn4path__T16asNormalizedPathTSQCsQCr__T5chainTSQDj3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQFiQFh__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFlFNkMQEzZQtZQGyFNaNbNiNfQGxZm@Base 13 + _D3std5range10primitives__T10walkLengthTSQBnQBm__T10roundRobinTSQCk9algorithm9iteration__T9MapResultSQDv10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQFz3uni21DecompressedIntervalsZQDuTSQHjQEzQEs__TQElSQHzQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6ResultZQJqFNaNfQJlZm@Base 13 + _D3std5range10primitives__T14popBackExactlyTAAyaZQwFNaNbNiNfKQrmZv@Base 13 + _D3std5range10primitives__T14popBackExactlyTAC4core6thread5fiber5FiberZQBsFNaNbNiNfKQBomZv@Base 13 + _D3std5range10primitives__T14popBackExactlyTSQBr3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCqFNaNbNiNfKQCmmZv@Base 13 + _D3std5range10primitives__T14popBackExactlyTSQBr3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQCqFNaNbNiNfKQCmmZv@Base 13 + _D3std5range10primitives__T14popBackExactlyTSQBr3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCqFNaNbNiNfKQCmmZv@Base 13 + _D3std5range10primitives__T14popBackExactlyTSQBr3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImplZQCqFNaNbNiNfKQCmmZv@Base 13 + _D3std5range10primitives__T15popFrontExactlyTAAyaZQxFNaNbNiNfKQrmZv@Base 13 + _D3std5range10primitives__T15popFrontExactlyTAC4core6thread5fiber5FiberZQBtFNaNbNiNfKQBomZv@Base 13 + _D3std5range10primitives__T3putTAkTkZQkFNaNbNiNfKQrkZv@Base 13 + _D3std5range10primitives__T3putTDFMAxaZvTAaZQrFKQqQjZv@Base 13 + _D3std5range10primitives__T3putTDFMAxaZvTAyaZQsFKQrQkZv@Base 13 + _D3std5range10primitives__T3putTDFMAxaZvTQgZQrFKQqQpZv@Base 13 + _D3std5range10primitives__T3putTDFNaNbNfAxaZvTAaZQwFNaNbNfKQBbQqZv@Base 13 + _D3std5range10primitives__T3putTDFNaNbNfAxaZvTAyaZQxFNaNbNfKQBcQrZv@Base 13 + _D3std5range10primitives__T3putTDFNaNbNfAxaZvTaZQvFNaNbNfKQBaaZv@Base 13 + _D3std5range10primitives__T3putTDFNaNbNfAxaZvTxaZQwFNaNbNfKQBbxaZv@Base 13 + _D3std5range10primitives__T3putTDFNaNbNfAxaZvTxwZQwFNaNfKQzxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAAyaZQpTQhZQBnFNaNbNfKQBtQyZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTAaZQBmFNaNbNfKQBsQrZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTAwZQBmFNaNfKQBqQpZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTAxaZQBnFNaNbNfKQBtQsZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTQhZQBmFNaNbNfKQBsQyZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTSQCj4path__T16asNormalizedPathTSQDoQDn__T5chainTSQEf3utf__T10byCodeUnitTQDbZQrFQDiZ14ByCodeUnitImplTSQGfQGe__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFmFNkMQFaZQtZQHvFNaNbNfKQIbQHaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTSQCjQCi__T5chainTSQDa3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQEzQEy__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQGbFNaNbNfKQGhQFgZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTSQCjQCi__T5chainTSQDaQCz__T4TakeTSQDqQDp__T6RepeatTaZQkZQBdTSQEr4conv__T7toCharsVhi10TaVEQFt5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQExFQEuQDgZQtZQHeFNaNbNfKQHkQGjZv@Base 14 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTaZQBlFNaNbNfKQBraZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTxaZQBmFNaNbNfKQBsxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTxwZQBmFNaNfKQBqxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTAyaZQoTyaZQBmFNaNbNfKQBsyaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTAaZQBmFNaNbNfKQBsQrZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTAwZQBmFNaNfKQBqQpZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTAxaZQBnFNaNbNfKQBtQsZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTAyaZQBnFNaNbNfKQBtQsZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTaZQBlFNaNbNfKQBraZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTxaZQBmFNaNbNfKQBsxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTxwZQBmFNaNfKQBqxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf5array__T8AppenderTyAaZQoTyaZQBmFNaNbNfKQBsyaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTAaZQBrFNfKQBtQnZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTAwZQBrFNfKQBtQnZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTAxaZQBsFNfKQBuQoZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTAyaZQBsFNfKQBuQoZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTaZQBqFNfKQBsaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTxaZQBrFNfKQBtxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTxwZQBrFNfKQBtxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf5stdio4File17LockingTextWriterTyaZQBrFNfKQBtyaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format4spec__T10singleSpecTyaZQqFAyaZ16DummyOutputRangeTAxaZQCsFNaNbNiNfKQDaQuZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTAaZQBdFNaNbNiNfKQBlQtZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTAxaZQBeFNaNbNiNfKQBmQuZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTAyaZQBeFNaNbNiNfKQBmQuZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTaZQBcFNaNbNiNfKQBkaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTxaZQBdFNaNbNiNfKQBlxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format8NoOpSinkTxwZQBdFNaNbNiNfKQBlxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaZQCgFNaNbNfKQCmQsZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQmZQCfFNaNbNfKQClQBdZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQpZQCfFNaNbNfKQClQBgZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTaZQCeFNaNbNfKQCkaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTxaZQCfFNaNbNfKQClxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTxwZQCfFNaNfKQCjxwZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTAyaZQCuFNaNbNfKQDaQsZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQrZQCtFNaNbNfKQCzQBiZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQuZQCtFNaNbNfKQCzQBlZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTaZQCsFNaNbNfKQCyaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTxaZQCtFNaNbNfKQCzxaZv@Base 13 + _D3std5range10primitives__T3putTSQBf6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTxwZQCtFNaNfKQCxxwZv@Base 13 + _D3std5range10primitives__T4backTAyaZQkFNaNbNcNdNiNfNkMANgAyaZNgQg@Base 13 + _D3std5range10primitives__T4backTCQBg3zip13ArchiveMemberZQBeFNaNbNcNdNiNfNkMANgCQDaQBuQBtZNgQn@Base 13 + _D3std5range10primitives__T4backTSQBg5regex8internal2ir10NamedGroupZQBpFNaNbNcNdNiNfNkMANgSQDlQCfQCcQBwQBwZNgQt@Base 13 + _D3std5range10primitives__T4backTSQBg6logger11multilogger16MultiLoggerEntryZQBxFNaNbNcNdNiNfNkMANgSQDtQCnQCjQBzZNgQq@Base 13 + _D3std5range10primitives__T4backTSQBg8datetime8timezone13PosixTimeZone10LeapSecondZQCeFNaNbNcNdNiNfNkMANgSQEaQCuQCoQCiQBwZNgQt@Base 13 + _D3std5range10primitives__T4backTSQBg8datetime8timezone13PosixTimeZone10TransitionZQCeFNaNbNcNdNiNfNkMANgSQEaQCuQCoQCiQBwZNgQt@Base 13 + _D3std5range10primitives__T4backTSQBg8datetime8timezone13PosixTimeZone14TempTransitionZQCiFNaNbNcNdNiNfNkMANgSQEeQCyQCsQCmQCaZNgQt@Base 13 + _D3std5range10primitives__T4backTSQBg8internal14unicode_tables15UnicodePropertyZQCbFNaNbNcNdNiNfNkMANgSQDxQCrQClQByZNgQq@Base 13 + _D3std5range10primitives__T4backTaZQiFNaNdNfMAxaZw@Base 13 + _D3std5range10primitives__T4backTkZQiFNaNbNcNdNiNfNkMANgkZNgk@Base 13 + _D3std5range10primitives__T4backTwZQiFNaNbNcNdNiNfNkMANgwZNgw@Base 14.2 + _D3std5range10primitives__T4saveTAxaZQkFNaNbNdNiNfNkMANgANgxaZQj@Base 13 + _D3std5range10primitives__T4saveTAyaZQkFNaNbNdNiNfNkMANgAyaZQh@Base 13 + _D3std5range10primitives__T4saveTCQBg3zip13ArchiveMemberZQBeFNaNbNdNiNfNkMANgCQCyQBsQBrZQo@Base 13 + _D3std5range10primitives__T4saveTSQBg5regex8internal2ir10NamedGroupZQBpFNaNbNdNiNfNkMANgSQDjQCdQCaQBuQBuZQu@Base 13 + _D3std5range10primitives__T4saveTSQBg8datetime8timezone13PosixTimeZone10LeapSecondZQCeFNaNbNdNiNfNkMANgSQDyQCsQCmQCgQBuZQu@Base 13 + _D3std5range10primitives__T4saveTSQBg8datetime8timezone13PosixTimeZone10TransitionZQCeFNaNbNdNiNfNkMANgSQDyQCsQCmQCgQBuZQu@Base 13 + _D3std5range10primitives__T4saveTSQBg8datetime8timezone13PosixTimeZone14TempTransitionZQCiFNaNbNdNiNfNkMANgSQEcQCwQCqQCkQByZQu@Base 13 + _D3std5range10primitives__T4saveTSQBg8internal14unicode_tables15UnicodePropertyZQCbFNaNbNdNiNfNkMANgSQDvQCpQCjQBwZQr@Base 13 + _D3std5range10primitives__T4saveTaZQiFNaNbNdNiNfNkMANgaZQf@Base 13 + _D3std5range10primitives__T4saveTfZQiFNaNbNdNiNfNkMANgfZQf@Base 13 + _D3std5range10primitives__T4saveThZQiFNaNbNdNiNfNkMANghZQf@Base 13 + _D3std5range10primitives__T4saveTkZQiFNaNbNdNiNfNkMANgkZQf@Base 13 + _D3std5range10primitives__T4saveTuZQiFNaNbNdNiNfNkMANguZQf@Base 13 + _D3std5range10primitives__T4saveTwZQiFNaNbNdNiNfNkMANgwZQf@Base 14.2 + _D3std5range10primitives__T5doPutTAkTkZQmFNaNbNiNfKQrKkZv@Base 13 + _D3std5range10primitives__T5doPutTDFMAxaZvTAaZQtFKQqKQkZv@Base 13 + _D3std5range10primitives__T5doPutTDFMAxaZvTAyaZQuFKQrKQlZv@Base 13 + _D3std5range10primitives__T5doPutTDFMAxaZvTQgZQtFKQqKQqZv@Base 13 + _D3std5range10primitives__T5doPutTDFNaNbNfAxaZvTAaZQyFNaNbNfKQBbKQrZv@Base 13 + _D3std5range10primitives__T5doPutTDFNaNbNfAxaZvTAaZQyFNaNbNfKQBbQqZv@Base 13 + _D3std5range10primitives__T5doPutTDFNaNbNfAxaZvTAyaZQzFNaNbNfKQBcKQsZv@Base 13 + _D3std5range10primitives__T5doPutTDFNaNbNfAxaZvTQgZQyFNaNbNfKQBbQwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAAyaZQpTQhZQBpFNaNbNfKQBtKQzZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTAaZQBoFNaNbNfKQBsKQsZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTAwZQBoFNaNfKQBqKQqZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTAxaZQBpFNaNbNfKQBtKQtZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTQhZQBoFNaNbNfKQBsKQzZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTSQCl4path__T16asNormalizedPathTSQDqQDp__T5chainTSQEh3utf__T10byCodeUnitTQDbZQrFQDiZ14ByCodeUnitImplTSQGhQGg__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFmFNkMQFaZQtZQHxFNaNbNfKQIbKQHbZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTSQClQCk__T5chainTSQDc3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQFbQFa__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQGdFNaNbNfKQGhKQFhZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTSQClQCk__T5chainTSQDcQDb__T4TakeTSQDsQDr__T6RepeatTaZQkZQBdTSQEt4conv__T7toCharsVhi10TaVEQFv5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQExFQEuQDgZQtZQHgFNaNbNfKQHkKQGkZv@Base 14 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTaZQBnFNaNbNfKQBrKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTxaZQBoFNaNbNfKQBsKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTxwZQBoFNaNfKQBqKxwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTAyaZQoTyaZQBoFNaNbNfKQBsKyaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTAaZQBoFNaNbNfKQBsKQsZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTAwZQBoFNaNfKQBqKQqZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTAxaZQBpFNaNbNfKQBtKQtZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTAyaZQBpFNaNbNfKQBtKQtZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTaZQBnFNaNbNfKQBrKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTxaZQBoFNaNbNfKQBsKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTxwZQBoFNaNfKQBqKxwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5array__T8AppenderTyAaZQoTyaZQBoFNaNbNfKQBsKyaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTAaZQBtFNfKQBtKQoZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTAwZQBtFNfKQBtKQoZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTAxaZQBuFNfKQBuKQpZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTAyaZQBuFNfKQBuKQpZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTaZQBsFNfKQBsKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTxaZQBtFNfKQBtKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTxwZQBtFNfKQBtKxwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh5stdio4File17LockingTextWriterTyaZQBtFNfKQBtKyaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format4spec__T10singleSpecTyaZQqFAyaZ16DummyOutputRangeTAxaZQCuFNaNbNiNfKQDaKQvZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTAaZQBfFNaNbNiNfKQBlKQuZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTAxaZQBgFNaNbNiNfKQBmKQvZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTAyaZQBgFNaNbNiNfKQBmKQvZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTaZQBeFNaNbNiNfKQBkKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTxaZQBfFNaNbNiNfKQBlKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format8NoOpSinkTxwZQBfFNaNbNiNfKQBlKxwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaZQCiFNaNbNfKQCmKQtZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQmZQChFNaNbNfKQClKQBeZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQpZQChFNaNbNfKQClKQBhZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTaZQCgFNaNbNfKQCkKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTxaZQChFNaNbNfKQClKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTxwZQChFNaNfKQCjKxwZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTAyaZQCwFNaNbNfKQDaKQtZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQrZQCvFNaNbNfKQCzKQBjZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQuZQCvFNaNbNfKQCzKQBmZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTaZQCuFNaNbNfKQCyKaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTxaZQCvFNaNbNfKQCzKxaZv@Base 13 + _D3std5range10primitives__T5doPutTSQBh6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTxwZQCvFNaNfKQCxKxwZv@Base 13 + _D3std5range10primitives__T5emptyTAAxaZQmFNaNbNdNiNfMKQuZb@Base 13 + _D3std5range10primitives__T5emptyTAAyaZQmFNaNbNdNiNfMKQuZb@Base 13 + _D3std5range10primitives__T5emptyTACQBi3zip13ArchiveMemberZQBgFNaNbNdNiNfMKQBpZb@Base 13 + _D3std5range10primitives__T5emptyTASQBi5regex8internal2ir10NamedGroupZQBrFNaNbNdNiNfMKQCaZb@Base 13 + _D3std5range10primitives__T5emptyTASQBi8datetime8timezone13PosixTimeZone10LeapSecondZQCgFNaNbNdNiNfMKQCpZb@Base 13 + _D3std5range10primitives__T5emptyTASQBi8datetime8timezone13PosixTimeZone10TransitionZQCgFNaNbNdNiNfMKQCpZb@Base 13 + _D3std5range10primitives__T5emptyTASQBi8datetime8timezone13PosixTimeZone14TempTransitionZQCkFNaNbNdNiNfMKQCtZb@Base 13 + _D3std5range10primitives__T5emptyTASQBi8typecons__T5TupleTkTkTkZQnZQBoFNaNbNdNiNfMKQBxZb@Base 13 + _D3std5range10primitives__T5emptyTAaZQkFNaNbNdNiNfMKQsZb@Base 13 + _D3std5range10primitives__T5emptyTAaZQkFNaNbNdNiNfMQrZb@Base 13 + _D3std5range10primitives__T5emptyTAbZQkFNaNbNdNiNfMKQsZb@Base 13 + _D3std5range10primitives__T5emptyTAhZQkFNaNbNdNiNfMKQsZb@Base 13 + _D3std5range10primitives__T5emptyTAkZQkFNaNbNdNiNfMKQsZb@Base 13 + _D3std5range10primitives__T5emptyTAkZQkFNaNbNdNiNfMQrZb@Base 13 + _D3std5range10primitives__T5emptyTAwZQkFNaNbNdNiNfMKQsZb@Base 13 + _D3std5range10primitives__T5emptyTAwZQkFNaNbNdNiNfMQrZb@Base 13 + _D3std5range10primitives__T5emptyTAxAaZQmFNaNbNdNiNfMKQuZb@Base 13 + _D3std5range10primitives__T5emptyTAxSQBj5regex8internal2ir8BytecodeZQBpFNaNbNdNiNfMKQByZb@Base 13 + _D3std5range10primitives__T5emptyTAxaZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAxaZQlFNaNbNdNiNfMQsZb@Base 13 + _D3std5range10primitives__T5emptyTAxhZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAxuZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAxwZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAyAaZQmFNaNbNdNiNfMKQuZb@Base 13 + _D3std5range10primitives__T5emptyTAyAaZQmFNaNbNdNiNfMQtZb@Base 13 + _D3std5range10primitives__T5emptyTAySQBj8internal14unicode_tables15UnicodePropertyZQCeFNaNbNdNiNfMKQCnZb@Base 13 + _D3std5range10primitives__T5emptyTAyaZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAyaZQlFNaNbNdNiNfMQsZb@Base 13 + _D3std5range10primitives__T5emptyTAyhZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTAyhZQlFNaNbNdNiNfMQsZb@Base 13 + _D3std5range10primitives__T5emptyTAywZQlFNaNbNdNiNfMKQtZb@Base 13 + _D3std5range10primitives__T5emptyTxASQBj4json9JSONValueZQBdFNaNbNdNiNfMKxQBmZb@Base 13 + _D3std5range10primitives__T5emptyTxAaZQlFNaNbNdNiNfMKxQtZb@Base 13 + _D3std5range10primitives__T5emptyTxAyaZQmFNaNbNdNiNfMKxQuZb@Base 14 + _D3std5range10primitives__T5emptyTyASQBj8datetime8timezone13PosixTimeZone10LeapSecondZQChFNaNbNdNiNfMKyQCqZb@Base 13 + _D3std5range10primitives__T5emptyTyASQBj8datetime8timezone13PosixTimeZone10TransitionZQChFNaNbNdNiNfMKyQCqZb@Base 13 + _D3std5range10primitives__T5frontTAaZQkFNaNbNcNdNiNfNkMANgAaZNgQf@Base 13 + _D3std5range10primitives__T5frontTAyaZQlFNaNbNcNdNiNfNkMANgAyaZNgQg@Base 13 + _D3std5range10primitives__T5frontTCQBh3zip13ArchiveMemberZQBfFNaNbNcNdNiNfNkMANgCQDbQBuQBtZNgQn@Base 13 + _D3std5range10primitives__T5frontTSQBh5regex8internal2ir10NamedGroupZQBqFNaNbNcNdNiNfNkMANgSQDmQCfQCcQBwQBwZNgQt@Base 13 + _D3std5range10primitives__T5frontTSQBh8datetime8timezone13PosixTimeZone10LeapSecondZQCfFNaNbNcNdNiNfNkMANgSQEbQCuQCoQCiQBwZNgQt@Base 13 + _D3std5range10primitives__T5frontTSQBh8datetime8timezone13PosixTimeZone10TransitionZQCfFNaNbNcNdNiNfNkMANgSQEbQCuQCoQCiQBwZNgQt@Base 13 + _D3std5range10primitives__T5frontTSQBh8datetime8timezone13PosixTimeZone14TempTransitionZQCjFNaNbNcNdNiNfNkMANgSQEfQCyQCsQCmQCaZNgQt@Base 13 + _D3std5range10primitives__T5frontTSQBh8internal14unicode_tables15UnicodePropertyZQCcFNaNbNcNdNiNfNkMANgSQDyQCrQClQByZNgQq@Base 13 + _D3std5range10primitives__T5frontTaZQjFNaNdNfMAxaZw@Base 13 + _D3std5range10primitives__T5frontThZQjFNaNbNcNdNiNfNkMANghZNgh@Base 13 + _D3std5range10primitives__T5frontTkZQjFNaNbNcNdNiNfNkMANgkZNgk@Base 13 + _D3std5range10primitives__T5frontTuZQjFNaNdNfMAxuZw@Base 13 + _D3std5range10primitives__T5frontTwZQjFNaNbNcNdNiNfNkMANgwZNgw@Base 13 + _D3std5range10primitives__T6moveAtTASQBj8datetime8timezone13PosixTimeZone10TransitionZQChFNaNbNiNfQClmZQCp@Base 13 + _D3std5range10primitives__T6moveAtTAywZQmFNaNbNiNfQpmZyw@Base 14.2 + _D3std5range10primitives__T6moveAtTSQBi3uni__T13InversionListTSQCjQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQCxFNaNbNiNfQDbmZSQEoQDg17CodepointInterval@Base 13 + _D3std5range10primitives__T6moveAtTSQBi3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCgFNaNbNiNfQCkmZa@Base 13 + _D3std5range10primitives__T6moveAtTSQBi3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQChFNaNbNiNfQClmZxa@Base 13 + _D3std5range10primitives__T6moveAtTSQBi3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQChFNaNbNiNfQClmZya@Base 13 + _D3std5range10primitives__T6moveAtTSQBi4conv__T7toCharsVhi10TaVEQCk5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDhFNaNbNiNfQDlmZa@Base 14 + _D3std5range10primitives__T6moveAtTSQBiQBh__T10OnlyResultTaZQpZQBkFNaNbNiNfQBomZa@Base 13 + _D3std5range10primitives__T6moveAtTSQBiQBh__T6RepeatTaZQkZQBfFNaNbNiNfQBjmZa@Base 13 + _D3std5range10primitives__T7popBackTAyaZQnFNaNbNiNfMKANgAyaZv@Base 13 + _D3std5range10primitives__T7popBackTCQBj3zip13ArchiveMemberZQBhFNaNbNiNfMKANgCQCyQBpQBoZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj4file15DirIteratorImpl9DirHandleZQBuFNaNbNiNfMKANgSQDlQCcQCaQBmZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj4file8DirEntryZQBcFNaNbNiNfMKANgSQCtQBkQBiZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj5regex8internal2ir10NamedGroupZQBsFNaNbNiNfMKANgSQDjQCaQBxQBrQBrZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj6logger11multilogger16MultiLoggerEntryZQCaFNaNbNiNfMKANgSQDrQCiQCeQBuZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj8datetime8timezone13PosixTimeZone10LeapSecondZQChFNaNbNiNfMKANgSQDyQCpQCjQCdQBrZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj8datetime8timezone13PosixTimeZone10TransitionZQChFNaNbNiNfMKANgSQDyQCpQCjQCdQBrZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj8datetime8timezone13PosixTimeZone14TempTransitionZQClFNaNbNiNfMKANgSQEcQCtQCnQChQBvZv@Base 13 + _D3std5range10primitives__T7popBackTSQBj8internal14unicode_tables15UnicodePropertyZQCeFNaNbNiNfMKANgSQDvQCmQCgQBtZv@Base 13 + _D3std5range10primitives__T7popBackTaZQlFNaNfMKANgaZv@Base 13 + _D3std5range10primitives__T7popBackTkZQlFNaNbNiNfMKANgkZv@Base 13 + _D3std5range10primitives__T7putCharTDFNaNbNfAxaZvTxwZQBaFNaNfKQBaxwZv@Base 13 + _D3std5range10primitives__T8moveBackTASQBl8datetime8timezone13PosixTimeZone10TransitionZQCjFNaNbNiNfQClZQCo@Base 13 + _D3std5range10primitives__T8moveBackTAywZQoFNaNbNiNfQpZyw@Base 14.2 + _D3std5range10primitives__T8moveBackTSQBk3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCiFNaNbNiNfQCkZa@Base 13 + _D3std5range10primitives__T8moveBackTSQBk3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCjFNaNbNiNfQClZxa@Base 13 + _D3std5range10primitives__T8moveBackTSQBk3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCjFNaNbNiNfQClZya@Base 13 + _D3std5range10primitives__T8moveBackTSQBk4conv__T7toCharsVhi10TaVEQCm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDjFNaNbNiNfQDlZa@Base 14 + _D3std5range10primitives__T8moveBackTSQBkQBj__T10OnlyResultTaZQpZQBmFNaNbNiNfQBoZa@Base 13 + _D3std5range10primitives__T8popBackNTAywZQoFNaNbNiNfKQqmZm@Base 14.2 + _D3std5range10primitives__T8popFrontTAaZQnFNaNbNiNfMKANgAaZv@Base 13 + _D3std5range10primitives__T8popFrontTAyaZQoFNaNbNiNfMKANgAyaZv@Base 13 + _D3std5range10primitives__T8popFrontTCQBk3zip13ArchiveMemberZQBiFNaNbNiNfMKANgCQCzQBpQBoZv@Base 13 + _D3std5range10primitives__T8popFrontTSQBk5regex8internal2ir10NamedGroupZQBtFNaNbNiNfMKANgSQDkQCaQBxQBrQBrZv@Base 13 + _D3std5range10primitives__T8popFrontTSQBk8datetime8timezone13PosixTimeZone10LeapSecondZQCiFNaNbNiNfMKANgSQDzQCpQCjQCdQBrZv@Base 13 + _D3std5range10primitives__T8popFrontTSQBk8datetime8timezone13PosixTimeZone10TransitionZQCiFNaNbNiNfMKANgSQDzQCpQCjQCdQBrZv@Base 13 + _D3std5range10primitives__T8popFrontTSQBk8datetime8timezone13PosixTimeZone14TempTransitionZQCmFNaNbNiNfMKANgSQEdQCtQCnQChQBvZv@Base 13 + _D3std5range10primitives__T8popFrontTSQBk8internal14unicode_tables15UnicodePropertyZQCfFNaNbNiNfMKANgSQDwQCmQCgQBtZv@Base 13 + _D3std5range10primitives__T8popFrontTaZQmFNaNbNeMKANgaZ12charWidthTabyAh@Base 13 + _D3std5range10primitives__T8popFrontTaZQmFNaNbNiNeMKANgaZv@Base 13 + _D3std5range10primitives__T8popFrontThZQmFNaNbNiNfMKANghZv@Base 13 + _D3std5range10primitives__T8popFrontTkZQmFNaNbNiNfMKANgkZv@Base 13 + _D3std5range10primitives__T8popFrontTuZQmFNaNbNiNeMKANguZv@Base 13 + _D3std5range10primitives__T8popFrontTwZQmFNaNbNiNfMKANgwZv@Base 13 + _D3std5range10primitives__T9moveFrontTASQBm8datetime8timezone13PosixTimeZone10TransitionZQCkFNaNbNiNfQClZQCo@Base 13 + _D3std5range10primitives__T9moveFrontTAywZQpFNaNbNiNfQpZyw@Base 14.2 + _D3std5range10primitives__T9moveFrontTSQBl3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCjFNaNbNiNfQCkZa@Base 13 + _D3std5range10primitives__T9moveFrontTSQBl3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCkFNaNbNiNfQClZxa@Base 13 + _D3std5range10primitives__T9moveFrontTSQBl3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCkFNaNbNiNfQClZya@Base 13 + _D3std5range10primitives__T9moveFrontTSQBl4conv__T7toCharsVhi10TaVEQCn5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDkFNaNbNiNfQDlZa@Base 14 + _D3std5range10primitives__T9moveFrontTSQBl9algorithm9iteration__T12FilterResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQExQEw__T4iotaTmTxmZQlFmxmZ6ResultZQDvZQFlFNaNbNiQFkZm@Base 13 + _D3std5range10primitives__T9moveFrontTSQBl9algorithm9iteration__T6joinerTSQCuQBjQBc__T9MapResultSQDr8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQFoQEdQDw__T12FilterResultSQGpQCyQCsQCmMxFNbNdZ9__lambda1TSQHvQHu__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyZQIwFNaNbNiQIvZm@Base 13 + _D3std5range10primitives__T9moveFrontTSQBlQBk__T10OnlyResultTaZQpZQBnFNaNbNiNfQBoZa@Base 13 + _D3std5range10primitives__T9moveFrontTSQBlQBk__T6RepeatTaZQkZQBiFNaNbNiNfQBjZa@Base 13 + _D3std5range10primitives__T9popFrontNTAhZQoFNaNbNiNfKQpmZm@Base 13 + _D3std5range10primitives__T9popFrontNTAxSQBn5regex8internal2ir8BytecodeZQBtFNaNbNiNfKQBvmZm@Base 13 + _D3std5range10primitives__T9popFrontNTAywZQpFNaNbNiNfKQqmZm@Base 14.2 + _D3std5range11__moduleRefZ@Base 13 + _D3std5range12__ModuleInfoZ@Base 13 + _D3std5range8NullSink6__initZ@Base 13 + _D3std5range8nullSinkFNaNbNcNiNfZSQBgQBf8NullSink@Base 13 + _D3std5range8nullSinkFNcZ4sinkSQBdQBc8NullSink@Base 13 + _D3std5range__T10OnlyResultTaZQp10fetchFrontMFNaNbNiNeZa@Base 13 + _D3std5range__T10OnlyResultTaZQp11assignFrontMFNaNbNiNeaZv@Base 14.2 + _D3std5range__T10OnlyResultTaZQp13opIndexAssignMFNaNbNiNfamZv@Base 14.2 + _D3std5range__T10OnlyResultTaZQp4backMFNaNbNdNiNfZa@Base 13 + _D3std5range__T10OnlyResultTaZQp4backMFNaNbNdNiNfaZv@Base 14.2 + _D3std5range__T10OnlyResultTaZQp4saveMFNaNbNdNiNfZSQBxQBw__TQBtTaZQBz@Base 13 + _D3std5range__T10OnlyResultTaZQp5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std5range__T10OnlyResultTaZQp5frontMFNaNbNdNiNfZa@Base 13 + _D3std5range__T10OnlyResultTaZQp5frontMFNaNbNdNiNfaZv@Base 14.2 + _D3std5range__T10OnlyResultTaZQp6__initZ@Base 13 + _D3std5range__T10OnlyResultTaZQp6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std5range__T10OnlyResultTaZQp7opIndexMFNaNbNiNfmZa@Base 13 + _D3std5range__T10OnlyResultTaZQp7opSliceMFNaNbNiNfZSQByQBx__TQBuTaZQCa@Base 13 + _D3std5range__T10OnlyResultTaZQp7opSliceMFNaNbNiNfmmZSQCaQBz__TQBwTaZQCc@Base 13 + _D3std5range__T10OnlyResultTaZQp7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T10OnlyResultTaZQp8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T10OnlyResultTaZQp__T6__ctorZQiMFNaNbNcNiNfNkMKaZSQCkQCj__TQCgTaZQCm@Base 14 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFNaNfQHvQCzZSQJdQJc__TQIzTQIqTQDvZQJlFQJcQEgZ6Result@Base 14.2 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result11__xopEqualsMxFKxSQJyQJx__TQJuTQJlTQEqZQKgFQJxQFbZQCgZb@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result4saveMFNaNdNfZSQJuQJt__TQJqTQJhTQEmZQKcFQJtQExZQCc@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result5emptyMFNaNdNfZb@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result5frontMFNaNdNfZk@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result6__initZ@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result8popFrontMFNaNfZv@Base 13 + _D3std5range__T10roundRobinTSQBb9algorithm9iteration__T9MapResultSQCm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEq3uni21DecompressedIntervalsZQDuTSQGaQEzQEs__TQElSQGqQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQIaFQHrQCvZ6Result9__xtoHashFNbNeKxSQJxQJw__TQJtTQJkTQEpZQKfFQJwQFaZQCfZm@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn11__xopEqualsMxFKxSQDwQDv__TQDsTQDiVQDla5_61203c2062VQDii0ZQExZb@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn4backMFNaNbNcNdNiNfZQCv@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn4saveMFNaNbNdNiNfZSQDwQDv__TQDsTQDiVQDla5_61203c2062VQDii0ZQEx@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn5frontMFNaNbNcNdNiNfZQCw@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn6__ctorMFNaNbNcNiNfQCvZSQEbQEa__TQDxTQDnVQDqa5_61203c2062VQDni0ZQFc@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn6__initZ@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn7opIndexMFNaNbNcNiNfmZQCx@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn7opSliceMFNaNbNiNjNlNfmmZSQEdQEc__TQDzTQDpVQDsa5_61203c2062VQDpi0ZQFe@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn7releaseMFNaNbNiNjNlNfZQCz@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn9__xtoHashFNbNeKxSQDvQDu__TQDrTQDhVQDka5_61203c2062VQDhi0ZQEwZm@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg11__xopEqualsMxFKxSQFpQFo__TQFlTQFbSQGgQFdQEhQDyMFNaNfZQDvVQDoi0ZQGwZb@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg4backMFNaNbNcNdNiNfZQEo@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg4saveMFNaNbNdNiNfZSQFpQFo__TQFlTQFbSQGgQFdQEhQDyMFNaNfZQDvVQDoi0ZQGw@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg5frontMFNaNbNcNdNiNfZQEp@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg6__ctorMFNaNbNcNiNfQEoZSQFuQFt__TQFqTQFgSQGlQFiQEmQEdMFNaNfZQEaVQDti0ZQHb@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg6__initZ@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg7opIndexMFNaNbNcNiNfmZQEq@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg7opSliceMFNaNbNiNjNlNfmmZSQFwQFv__TQFsTQFiSQGnQFkQEoQEfMFNaNfZQEcVQDvi0ZQHd@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg7releaseMFNaNbNiNjNlNfZQEs@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTACQBd3zip13ArchiveMemberSQCaQx10ZipArchive5buildMFNaNfZ9__lambda6VEQDqQDp18SortedRangeOptionsi0ZQEg9__xtoHashFNbNeKxSQFoQFn__TQFkTQFaSQGfQFcQEgQDxMFNaNfZQDuVQDni0ZQGvZm@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo11__xopEqualsMxFKxSQFxQFw__TQFtTQFjVQEda15_612e6e616d65203c20622e6e616d65VQEdi0ZQHtZb@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo4backMFNaNbNcNdNiNfZQEw@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo4saveMFNaNbNdNiNfZSQFxQFw__TQFtTQFjVQEda15_612e6e616d65203c20622e6e616d65VQEdi0ZQHt@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo5frontMFNaNbNcNdNiNfZQEx@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo6__ctorMFNaNbNcNiNfQEwZSQGcQGb__TQFyTQFoVQEia15_612e6e616d65203c20622e6e616d65VQEii0ZQHy@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo6__initZ@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo7opIndexMFNaNbNcNiNfmZQEy@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo7opSliceMFNaNbNiNjNlNfmmZSQGeQGd__TQGaTQFqVQEka15_612e6e616d65203c20622e6e616d65VQEki0ZQIa@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo7releaseMFNaNbNiNjNlNfZQFa@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo9__xtoHashFNbNeKxSQFwQFv__TQFsTQFiVQEca15_612e6e616d65203c20622e6e616d65VQEci0ZQHsZm@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo__T10lowerBoundVEQFvQFu12SearchPolicyi3TQFqZQBpMFNaNbNiNfQGhZSQHoQHn__TQHkTQHaVQFua15_612e6e616d65203c20622e6e616d65VQFui0ZQJk@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo__T18getTransitionIndexVEQGdQGc12SearchPolicyi3SQHaQGz__TQGwTQGmVQFga15_612e6e616d65203c20622e6e616d65VQFgi0ZQIw3geqTQIpZQEoMFNaNbNiNfQJgZm@Base 13 + _D3std5range__T11SortedRangeTASQBd5regex8internal2ir10NamedGroupVAyaa15_612e6e616d65203c20622e6e616d65VEQDyQDx18SortedRangeOptionsi0ZQEo__T3geqTQEkTQEoZQnMFNaNbNiNfQFeQFhZb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh11__xopEqualsMxFKxSQGqQGp__TQGmTQGcVQEha17_612e74696d6554203c20622e74696d6554VQEhi0ZQIqZb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh4backMFNaNbNcNdNiNfZQFp@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh4saveMFNaNbNdNiNfZSQGqQGp__TQGmTQGcVQEha17_612e74696d6554203c20622e74696d6554VQEhi0ZQIq@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh5frontMFNaNbNcNdNiNfZQFq@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh6__ctorMFNaNbNcNiNfQFpZSQGvQGu__TQGrTQGhVQEma17_612e74696d6554203c20622e74696d6554VQEmi0ZQIv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh6__initZ@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh7opIndexMFNaNbNcNiNfmZQFr@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh7opSliceMFNaNbNiNjNlNfmmZSQGxQGw__TQGtTQGjVQEoa17_612e74696d6554203c20622e74696d6554VQEoi0ZQIx@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh7releaseMFNaNbNiNjNlNfZQFt@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone10LeapSecondVAyaa17_612e74696d6554203c20622e74696d6554VEQErQEq18SortedRangeOptionsi0ZQFh9__xtoHashFNbNeKxSQGpQGo__TQGlTQGbVQEga17_612e74696d6554203c20622e74696d6554VQEgi0ZQIpZm@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl11__xopEqualsMxFKxSQGuQGt__TQGqTQGgVQEha17_612e74696d6554203c20622e74696d6554VQEhi0ZQIuZb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl4backMFNaNbNcNdNiNfZQFt@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl4saveMFNaNbNdNiNfZSQGuQGt__TQGqTQGgVQEha17_612e74696d6554203c20622e74696d6554VQEhi0ZQIu@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl5frontMFNaNbNcNdNiNfZQFu@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl6__ctorMFNaNbNcNiNfQFtZSQGzQGy__TQGvTQGlVQEma17_612e74696d6554203c20622e74696d6554VQEmi0ZQIz@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl6__initZ@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl7opIndexMFNaNbNcNiNfmZQFv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl7opSliceMFNaNbNiNjNlNfmmZSQHbQHa__TQGxTQGnVQEoa17_612e74696d6554203c20622e74696d6554VQEoi0ZQJb@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl7releaseMFNaNbNiNjNlNfZQFx@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTASQBd8datetime8timezone13PosixTimeZone14TempTransitionVAyaa17_612e74696d6554203c20622e74696d6554VEQEvQEu18SortedRangeOptionsi0ZQFl9__xtoHashFNbNeKxSQGtQGs__TQGpTQGfVQEga17_612e74696d6554203c20622e74696d6554VQEgi0ZQItZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm11__xopEqualsMxFKxSQDvQDu__TQDrTQDhVQDia5_61203c2062VQDii0ZQEwZb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm4backMFNaNbNcNdNiNfZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm4saveMFNaNbNdNiNfZSQDvQDu__TQDrTQDhVQDia5_61203c2062VQDii0ZQEw@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm5frontMFNaNbNcNdNiNfZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm6__ctorMFNaNbNcNiNfQCuZSQEaQDz__TQDwTQDmVQDna5_61203c2062VQDni0ZQFb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm6__initZ@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm7opIndexMFNaNbNcNiNfmZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm7opSliceMFNaNbNiNjNlNfmmZSQEcQEb__TQDyTQDoVQDpa5_61203c2062VQDpi0ZQFd@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm7releaseMFNaNbNiNjNlNfZQCy@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm9__xtoHashFNbNeKxSQDuQDt__TQDqTQDgVQDha5_61203c2062VQDhi0ZQEvZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm__T10lowerBoundVEQDtQDs12SearchPolicyi2TiZQBnMFNaNbNiNfiZSQFiQFh__TQFeTQEuVQEva5_61203c2062VQEvi0ZQGj@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm__T18getTransitionIndexVEQEbQEa12SearchPolicyi2SQEyQEx__TQEuTQEkVQEla5_61203c2062VQEli0ZQFz3geqTiZQDrMFNaNbNiNfiZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm__T18getTransitionIndexVEQEbQEa12SearchPolicyi3SQEyQEx__TQEuTQEkVQEla5_61203c2062VQEli0ZQFz3geqTiZQDrMFNaNbNiNfiZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm__T3geqTkTiZQjMFNaNbNiNfkiZb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo11__xopEqualsMxFKxSQDxQDw__TQDtTQDjVQDka6_61203c3d2062VQDki0ZQFaZb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo4backMFNaNbNcNdNiNfZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo4saveMFNaNbNdNiNfZSQDxQDw__TQDtTQDjVQDka6_61203c3d2062VQDki0ZQFa@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo5frontMFNaNbNcNdNiNfZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo6__ctorMFNaNbNcNiNfQCwZSQEcQEb__TQDyTQDoVQDpa6_61203c3d2062VQDpi0ZQFf@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo6__initZ@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo7opIndexMFNaNbNcNiNfmZk@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo7opSliceMFNaNbNiNjNlNfmmZSQEeQEd__TQEaTQDqVQDra6_61203c3d2062VQDri0ZQFh@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo7releaseMFNaNbNiNjNlNfZQDa@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo9__xtoHashFNbNeKxSQDwQDv__TQDsTQDiVQDja6_61203c3d2062VQDji0ZQEzZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo__T10lowerBoundVEQDvQDu12SearchPolicyi3TkZQBnMFNaNbNiNfkZSQFkQFj__TQFgTQEwVQExa6_61203c3d2062VQExi0ZQGn@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo__T18getTransitionIndexVEQEdQEc12SearchPolicyi3SQFaQEz__TQEwTQEmVQEna6_61203c3d2062VQEni0ZQGd3geqTkZQDtMFNaNbNiNfkZm@Base 13 + _D3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo__T3geqTkTkZQjMFNaNbNiNfkkZb@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa11__xopEqualsMxFKxSQHjQHi__TQHfTQGvSQIaQGy__TQGxTQGlZQHfQEkMFNfZQEeVQDxi0ZQIzZb@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa4backMFNaNbNdNiNfZSQHjQGh17CodepointInterval@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa4saveMFNaNbNdNiNfZSQHjQHi__TQHfTQGvSQIaQGy__TQGxTQGlZQHfQEkMFNfZQEeVQDxi0ZQIz@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa5frontMFNaNbNdNiNfZSQHkQGi17CodepointInterval@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa6__ctorMFNaNbNcNiNfQGiZSQHoQHn__TQHkTQHaSQIfQHd__TQHcTQGqZQHkQEpMFNfZQEjVQEci0ZQJe@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa6__initZ@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa7opIndexMFNaNbNiNfmZSQHlQGj17CodepointInterval@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa7opSliceMFNaNbNiNjNlNfmmZSQHqQHp__TQHmTQHcSQIhQHf__TQHeTQGsZQHmQErMFNfZQElVQEei0ZQJg@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa7releaseMFNaNbNiNjNlNfZQGm@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTSQBc3uni__T13InversionListTSQCdQBb8GcPolicyZQBh__T9IntervalsTAkZQoSQDqQCo__TQCnTQCbZQCv8sanitizeMFNfZ9__lambda2VEQFkQFj18SortedRangeOptionsi0ZQGa9__xtoHashFNbNeKxSQHiQHh__TQHeTQGuSQHzQGx__TQGwTQGkZQHeQEjMFNfZQEdVQDwi0ZQIyZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr11__xopEqualsMxFKxSQMaQLz__TQLwTQLmSQMrQFw__TQFvS_DQNgQIjQIdQFiQFeQFdTaZQGwFMxQEvZQEwVQEpi0ZQOiZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr4backMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr4saveMFNaNbNdNiNfZSQMaQLz__TQLwTQLmSQMrQFw__TQFvS_DQNgQIjQIdQFiQFeQFdTaZQGwFMxQEvZQEwVQEpi0ZQOi@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr5frontMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr6__ctorMFNaNbNcNiNfQKzZSQMfQMe__TQMbTQLrSQMwQGb__TQGaS_DQNlQIoQIiQFnQFjQFiTaZQHbFMxQFaZQFbVQEui0ZQOn@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr6__initZ@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr7opIndexMFNaNbNiNfmZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr7opSliceMFNaNbNiNjNlNfmmZSQMhQMg__TQMdTQLtSQMyQGd__TQGcS_DQNnQIqQIkQFpQFlQFkTaZQHdFMxQFcZQFdVQEwi0ZQOp@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr7releaseMFNaNbNiNjNlNfZQLd@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr9__xtoHashFNbNeKxSQLzQLy__TQLvTQLlSQMqQFv__TQFuS_DQNfQIiQIcQFhQFdQFcTaZQGvFMxQEuZQEvVQEoi0ZQOhZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr__T10lowerBoundVEQLyQLx12SearchPolicyi3TAxaZQBpMFNaNfQnZSQNmQNl__TQNiTQMySQOdQHi__TQHhS_DQOsQJvQJpQGuQGqQGpTaZQIiFMxQGhZQGiVQGbi0ZQPu@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr__T18getTransitionIndexVEQMgQMf12SearchPolicyi3SQNdQNc__TQMzTQMpSQNuQGz__TQGyS_DQOjQJmQJgQGlQGhQGgTaZQHzFMxQFyZQFzVQFsi0ZQPl3geqTAxaZQFaMFNaNfQnZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv6blocks3tabFNaNdNfZQEgTaZQCbFMxAaZ9__lambda2VEQKbQKa18SortedRangeOptionsi0ZQKr__T3geqTQIaTAxaZQnMFNaNfQIqQpZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs11__xopEqualsMxFKxSQMbQMa__TQLxTQLnSQMsQFx__TQFwS_DQNhQIkQIeQFjQFeQFdTaZQGxFMxQEvZQEwVQEpi0ZQOjZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs4backMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs4saveMFNaNbNdNiNfZSQMbQMa__TQLxTQLnSQMsQFx__TQFwS_DQNhQIkQIeQFjQFeQFdTaZQGxFMxQEvZQEwVQEpi0ZQOj@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs5frontMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs6__ctorMFNaNbNcNiNfQLaZSQMgQMf__TQMcTQLsSQMxQGc__TQGbS_DQNmQIpQIjQFoQFjQFiTaZQHcFMxQFaZQFbVQEui0ZQOo@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs6__initZ@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs7opIndexMFNaNbNiNfmZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs7opSliceMFNaNbNiNjNlNfmmZSQMiQMh__TQMeTQLuSQMzQGe__TQGdS_DQNoQIrQIlQFqQFlQFkTaZQHeFMxQFcZQFdVQEwi0ZQOq@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs7releaseMFNaNbNiNjNlNfZQLe@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs9__xtoHashFNbNeKxSQMaQLz__TQLwTQLmSQMrQFw__TQFvS_DQNgQIjQIdQFiQFdQFcTaZQGwFMxQEuZQEvVQEoi0ZQOiZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs__T10lowerBoundVEQLzQLy12SearchPolicyi3TAxaZQBpMFNaNfQnZSQNnQNm__TQNjTQMzSQOeQHj__TQHiS_DQOtQJwQJqQGvQGqQGpTaZQIjFMxQGhZQGiVQGbi0ZQPv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs__T18getTransitionIndexVEQMhQMg12SearchPolicyi3SQNeQNd__TQNaTQMqSQNvQHa__TQGzS_DQOkQJnQJhQGmQGhQGgTaZQIaFMxQFyZQFzVQFsi0ZQPm3geqTAxaZQFaMFNaNfQnZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv7scripts3tabFNaNdNfZQEhTaZQCcFMxAaZ9__lambda2VEQKcQKb18SortedRangeOptionsi0ZQKs__T3geqTQIbTAxaZQnMFNaNfQIrQpZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt11__xopEqualsMxFKxSQMcQMb__TQLyTQLoSQMtQFy__TQFxS_DQNiQIlQIfQFkQFeQFdTaZQGyFMxQEvZQEwVQEpi0ZQOkZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt4backMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt4saveMFNaNbNdNiNfZSQMcQMb__TQLyTQLoSQMtQFy__TQFxS_DQNiQIlQIfQFkQFeQFdTaZQGyFMxQEvZQEwVQEpi0ZQOk@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt5frontMFNaNbNdNiNfZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt6__ctorMFNaNbNcNiNfQLbZSQMhQMg__TQMdTQLtSQMyQGd__TQGcS_DQNnQIqQIkQFpQFjQFiTaZQHdFMxQFaZQFbVQEui0ZQOp@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt6__initZ@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt7opIndexMFNaNbNiNfmZyAa@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt7opSliceMFNaNbNiNjNlNfmmZSQMjQMi__TQMfTQLvSQNaQGf__TQGeS_DQNpQIsQImQFrQFlQFkTaZQHfFMxQFcZQFdVQEwi0ZQOr@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt7releaseMFNaNbNiNjNlNfZQLf@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt9__mixin246lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt9__xtoHashFNbNeKxSQMbQMa__TQLxTQLnSQMsQFx__TQFwS_DQNhQIkQIeQFjQFdQFcTaZQGxFMxQEuZQEvVQEoi0ZQOjZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt__T10lowerBoundVEQMaQLz12SearchPolicyi3TAxaZQBpMFNaNfQnZSQNoQNn__TQNkTQNaSQOfQHk__TQHjS_DQOuQJxQJrQGwQGqQGpTaZQIkFMxQGhZQGiVQGbi0ZQPw@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt__T18getTransitionIndexVEQMiQMh12SearchPolicyi3SQNfQNe__TQNbTQMrSQNwQHb__TQHaS_DQOlQJoQJiQGnQGhQGgTaZQIbFMxQFyZQFzVQFsi0ZQPn3geqTAxaZQFaMFNaNfQnZm@Base 13 + _D3std5range__T11SortedRangeTSQBc9algorithm9iteration__T9MapResultSQCn10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEx8internal14unicode_tables15UnicodePropertyZQEpSQGv3uni__T14findUnicodeSetS_DQHyQDbQCv8uniProps3tabFNaNdNfZQEiTaZQCdFMxAaZ9__lambda2VEQKdQKc18SortedRangeOptionsi0ZQKt__T3geqTQIcTAxaZQnMFNaNfQIsQpZb@Base 13 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu11__xopEqualsMxFKxSQFdQFc__TQEzTQEpVQDia5_61203c2062VQDii0ZQGeZb@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu4backMFNaNbNcNdNiNfZyw@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu4saveMFNaNbNdNiNfZSQFdQFc__TQEzTQEpVQDia5_61203c2062VQDii0ZQGe@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu5emptyMFNaNbNdNiNfZb@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu5frontMFNaNbNcNdNiNfZyw@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu6__ctorMFNaNbNcNiNfQEcZSQFiQFh__TQFeTQEuVQDna5_61203c2062VQDni0ZQGj@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu6__initZ@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu7opIndexMFNaNbNcNiNfmZyw@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu7opSliceMFNaNbNiNjNlNfmmZSQFkQFj__TQFgTQEwVQDpa5_61203c2062VQDpi0ZQGl@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu7popBackMFNaNbNiNfZv@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu7releaseMFNaNbNiNjNlNfZQEg@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu8popFrontMFNaNbNiNfZv@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu9__mixin246lengthMFNaNbNdNiNfZm@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu9__xtoHashFNbNeKxSQFcQFb__TQEyTQEoVQDha5_61203c2062VQDhi0ZQGdZm@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu__T10lowerBoundVEQFbQFa12SearchPolicyi3TwZQBnMFNaNbNiNfwZSQGqQGp__TQGmTQGcVQEva5_61203c2062VQEvi0ZQHr@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu__T18getTransitionIndexVEQFjQFi12SearchPolicyi3SQGgQGf__TQGcTQFsVQEla5_61203c2062VQEli0ZQHh3geqTwZQDrMFNaNbNiNfwZm@Base 14.2 + _D3std5range__T11SortedRangeTSQBcQBb__T6strideTAywZQmFQhmZ6ResultVAyaa5_61203c2062VEQDeQDd18SortedRangeOptionsi0ZQDu__T3geqTywTwZQkMFNaNbNiNfywwZb@Base 14.2 + _D3std5range__T11takeExactlyTSQBcQBb__T6RepeatTaZQkZQBlFNaNbNiNfQBjmZSQCqQCp__T4TakeTQCeZQk@Base 13 + _D3std5range__T12assumeSortedVAyaa15_612e6e616d65203c20622e6e616d65TASQCq5regex8internal2ir10NamedGroupZQDlFNaNbNiNfQBwZSQEpQEo__T11SortedRangeTQCyVQEoa15_612e6e616d65203c20622e6e616d65VEQHdQHc18SortedRangeOptionsi0ZQDi@Base 13 + _D3std5range__T12assumeSortedVAyaa17_612e74696d6554203c20622e74696d6554TASQCu8datetime8timezone13PosixTimeZone10LeapSecondZQEeFNaNbNiNfQClZSQFiQFh__T11SortedRangeTQDnVQFha17_612e74696d6554203c20622e74696d6554VEQIaQHz18SortedRangeOptionsi0ZQDm@Base 13 + _D3std5range__T12assumeSortedVAyaa17_612e74696d6554203c20622e74696d6554TASQCu8datetime8timezone13PosixTimeZone14TempTransitionZQEiFNaNbNiNfQCpZSQFmQFl__T11SortedRangeTQDrVQFla17_612e74696d6554203c20622e74696d6554VEQIeQId18SortedRangeOptionsi0ZQDm@Base 13 + _D3std5range__T12assumeSortedVAyaa5_61203c2062TAQsZQBkFNaNbNiNfQqZSQCnQCm__T11SortedRangeTQBrVQCma5_61203c2062VEQEgQEf18SortedRangeOptionsi0ZQCn@Base 13 + _D3std5range__T12assumeSortedVAyaa5_61203c2062TAkZQBjFNaNbNiNfQpZSQCmQCl__T11SortedRangeTQBqVQCla5_61203c2062VEQEfQEe18SortedRangeOptionsi0ZQCn@Base 13 + _D3std5range__T12assumeSortedVAyaa5_61203c2062TSQBuQBt__T6strideTAywZQmFQhmZ6ResultZQCrFNaNbNiNfQBxZSQDvQDu__T11SortedRangeTQCzVQDua5_61203c2062VEQFoQFn18SortedRangeOptionsi0ZQCn@Base 14.2 + _D3std5range__T12assumeSortedVAyaa6_61203c3d2062TAkZQBlFNaNbNiNfQpZSQCoQCn__T11SortedRangeTQBqVQCna6_61203c3d2062VEQEjQEi18SortedRangeOptionsi0ZQCp@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb4backMFNaNbNdNiNfZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb4saveMFNaNbNdNiNfZSQCkQCj__TQCgTQCeZQCo@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb5frontMFNaNbNdNiNfZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb6__initZ@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb6moveAtMFNaNbNiNfmZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb7opIndexMFNaNbNiNfmZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb8moveBackMFNaNbNiNfZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb9maxLengthMxFNaNbNdNiNfZm@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb9moveFrontMFNaNbNiNfZa@Base 13 + _D3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb__T7opSliceZQjMFNaNbNiNfmmZSQCtQCs__TQCpTQCnZQCx@Base 13 + _D3std5range__T4iotaTmTmZQkFNaNbNiNfmmZSQBmQBl__TQBiTmTmZQBqFmmZ6Result@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result4backMNgFNaNbNdNiNfZNgm@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result4saveMFNaNbNdNiNfZSQCdQCc__TQBzTmTmZQChFmmZQBy@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result5frontMNgFNaNbNdNiNfZNgm@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result6__ctorMFNaNbNcNiNfmmZSQChQCg__TQCdTmTmZQClFmmZQCc@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result6__initZ@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result7opIndexMNgFNaNbNiNfmZNgm@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result7opSliceMNgFNaNbNiNfZNgSQCiQCh__TQCeTmTmZQCmFmmZQCd@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result7opSliceMNgFNaNbNiNfmmZNgSQCkQCj__TQCgTmTmZQCoFmmZQCf@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result8containsMFNaNbNiNfmZb@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T4iotaTmTmZQkFmmZ6Result__T13opBinaryRightVAyaa2_696eZQBbMxFNaNbNiNfmZb@Base 13 + _D3std5range__T4iotaTmTxmZQlFNaNbNiNfmxmZSQBoQBn__TQBkTmTxmZQBtFmxmZ6Result@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result4backMNgFNaNbNdNiNfZNgm@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result4saveMFNaNbNdNiNfZSQCfQCe__TQCbTmTxmZQCkFmxmZQCa@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result5frontMNgFNaNbNdNiNfZNgm@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result6__ctorMFNaNbNcNiNfmmZSQCjQCi__TQCfTmTxmZQCoFmxmZQCe@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result6__initZ@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result7opIndexMNgFNaNbNiNfmZNgm@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result7opSliceMNgFNaNbNiNfZNgSQCkQCj__TQCgTmTxmZQCpFmxmZQCf@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result7opSliceMNgFNaNbNiNfmmZNgSQCmQCl__TQCiTmTxmZQCrFmxmZQCh@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result8containsMFNaNbNiNfmZb@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T4iotaTmTxmZQlFmxmZ6Result__T13opBinaryRightVAyaa2_696eZQBbMxFNaNbNiNfmZb@Base 13 + _D3std5range__T4iotaTmZQiFNaNbNiNfmZSQBjQBi__TQBfTmTmZQBnFmmZ6Result@Base 13 + _D3std5range__T4onlyTaZQiFNaNbNiNfMaZSQBkQBj__T10OnlyResultTaZQp@Base 14 + _D3std5range__T4takeTAhZQjFNaNbNiNfQomZQs@Base 13 + _D3std5range__T4takeTSQuQs__T6RepeatTaZQkZQBbFNaNbNiNfQBhmZSQCgQCf__T4TakeTQCcZQk@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFNaNbNiNfQEoQCuQBvZSQFtQFs__TQFpTQFmTQDtTQCvZQGfFQGcQEiQDjZ6Result@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result11__xopEqualsMxFKxSQGkQGj__TQGgTQGdTQEkTQDmZQGwFQGtQEzQEaZQCnZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result4backMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result4saveMFNaNbNdNiNfZSQGkQGj__TQGgTQGdTQEkTQDmZQGwFQGtQEzQEaZQCn@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result5frontMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6__ctorMFNaNbNcNiNfQFqQDwQCxZSQGvQGu__TQGrTQGoTQEvTQDxZQHhFQHeQFkQElZQCy@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6__ctorMFNaNbNcNiNfQFqQDwQCxmmZSQGxQGw__TQGtTQGqTQExTQDzZQHjFQHgQFmQEnZQDa@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6__initZ@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6fixRefFNaNbNiNfxaZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result6moveAtMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opIndexMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opSliceMFNaNbNiNjNlNfmmZSQGrQGq__TQGnTQGkTQErTQDtZQHdFQHaQFgQEhZQCu@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opSliceMFNjNlmmZ12ResultRanges11__xopEqualsMxFKxSQHpQHo__TQHlTQHiTQFpTQErZQIbFQHyQGeQFfZQDsQDoMFNjNlmmZQDjZb@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7opSliceMFNjNlmmZ12ResultRanges9__xtoHashFNbNeKxSQHoQHn__TQHkTQHhTQFoTQEqZQIaFQHxQGdQFeZQDrQDnMFNjNlmmZQDiZm@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result8moveBackMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result9__xtoHashFNbNeKxSQGjQGi__TQGfTQGcTQEjTQDlZQGvFQGsQEyQDzZQCmZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplTSQCsQCr__T10OnlyResultTaZQpTSQDuQDa__TQCzTAxaZQDhFQiZQCsZQEjFQEgQCmQBnZ6Result9moveFrontMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFNaNbNiNfQDqQBvQDwZSQEvQEu__TQErTQEoTQCuTQEwZQFhFQFeQDjQFkZ6Result@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result11__xopEqualsMxFKxSQFmQFl__TQFiTQFfTQDlTQFnZQFyFQFvQEaQGbZQCnZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result4backMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result4saveMFNaNbNdNiNfZSQFmQFl__TQFiTQFfTQDlTQFnZQFyFQFvQEaQGbZQCn@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result5frontMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__ctorMFNaNbNcNiNfQEsQCxQEyZSQFxQFw__TQFtTQFqTQDwTQFyZQGjFQGgQElQGmZQCy@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__ctorMFNaNbNcNiNfQEsQCxQEymmZSQFzQFy__TQFvTQFsTQDyTQGaZQGlFQGiQEnQGoZQDa@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__initZ@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6fixRefFNaNbNiNfxaZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6moveAtMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opIndexMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNaNbNiNjNlNfmmZSQFtQFs__TQFpTQFmTQDsTQFuZQGfFQGcQEhQGiZQCu@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges11__xopEqualsMxFKxSQGrQGq__TQGnTQGkTQEqTQGsZQHdFQHaQFfQHgZQDsQDoMFNjNlmmZQDjZb@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges9__xtoHashFNbNeKxSQGqQGp__TQGmTQGjTQEpTQGrZQHcFQGzQFeQHfZQDrQDnMFNjNlmmZQDiZm@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result8moveBackMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result9__xtoHashFNbNeKxSQFlQFk__TQFhTQFeTQDkTQFmZQFxFQFuQDzQGaZQCmZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result9moveFrontMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFNaNbNiNfQDqQBvQDwZSQEvQEu__TQErTQEoTQCuTQEwZQFhFQFeQDjQFkZ6Result@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result11__xopEqualsMxFKxSQFmQFl__TQFiTQFfTQDlTQFnZQFyFQFvQEaQGbZQCnZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result4backMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result4saveMFNaNbNdNiNfZSQFmQFl__TQFiTQFfTQDlTQFnZQFyFQFvQEaQGbZQCn@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result5frontMFNaNbNdNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__ctorMFNaNbNcNiNfQEsQCxQEyZSQFxQFw__TQFtTQFqTQDwTQFyZQGjFQGgQElQGmZQCy@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__ctorMFNaNbNcNiNfQEsQCxQEymmZSQFzQFy__TQFvTQFsTQDyTQGaZQGlFQGiQEnQGoZQDa@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6__initZ@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6fixRefFNaNbNiNfxaZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result6moveAtMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opIndexMFNaNbNiNfmZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNaNbNiNjNlNfmmZSQFtQFs__TQFpTQFmTQDsTQFuZQGfFQGcQEhQGiZQCu@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges11__xopEqualsMxFKxSQGrQGq__TQGnTQGkTQEqTQGsZQHdFQHaQFfQHgZQDsQDoMFNjNlmmZQDjZb@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7opSliceMFNjNlmmZ12ResultRanges9__xtoHashFNbNeKxSQGqQGp__TQGmTQGjTQEpTQGrZQHcFQGzQFeQHfZQDrQDnMFNjNlmmZQDiZm@Base 14 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result8moveBackMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result9__xtoHashFNbNeKxSQFlQFk__TQFhTQFeTQDkTQFmZQFxFQFuQDzQGaZQCmZm@Base 13 + _D3std5range__T5chainTSQv3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQCtQCs__T10OnlyResultTaZQpTQDaZQDlFQDiQBnQDoZ6Result9moveFrontMFNaNbNiNfZxa@Base 13 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFNaNbNiQLzQDsZSQNbQNa__TQMxTQMuTQEoZQNjFQNgQEzZQGe@Base 14 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr4saveMFNaNbNdNiZSQNoQNn__TQNkTQNhTQFbZQNwFQNtQFmZQGr@Base 14 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr5emptyMFNaNbNdNiZb@Base 14 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr5frontMFNaNbNdNiZm@Base 13 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr6__ctorMFNaNbNcNiNfQMwQEpmZSQNzQNy__TQNvTQNsTQFmZQOhFQOeQFxZQHc@Base 14 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr6__ctorMFNaNbNcNiQMuQEnZSQNwQNv__TQNsTQNpTQFjZQOeFQObQFuZQGz@Base 14 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr6__initZ@Base 13 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr6fixRefFNaNbNiNfmZm@Base 13 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr8popFrontMFNaNbNiZv@Base 13 + _D3std5range__T5chainTSQv9algorithm9iteration__T6joinerTSQCdQBjQBc__T9MapResultSQDa8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQExQEdQDw__T12FilterResultSQFyQCyQCsQCmMxFNbNdZ9__lambda1TSQHeQHd__T4iotaTmTmZQkFmmZ6ResultZQDcZQGaZQGzFQGvZQyTSQJfQIlQIe__TQEiSQJvQGvQGpQGjMxFNbNdZ9__lambda3TSQLbQLa__TQDxTmTxmZQEgFmxmZQDyZQGwZQLwFQLtQDmZQEr9moveFrontMFNaNbNiZm@Base 13 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFNaNbNiNfQFaQDoZSQGcQGb__TQFyTQFvTQEkZQGkFQGhQEvZQCi@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt4backMFNaNbNdNiNfZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt4saveMFNaNbNdNiNfZSQGoQGn__TQGkTQGhTQEwZQGwFQGtQFhZQCu@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt5emptyMFNaNbNdNiNfZb@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt5frontMFNaNbNdNiNfZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6__ctorMFNaNbNcNiNfQFuQEiZSQGwQGv__TQGsTQGpTQFeZQHeFQHbQFpZQDc@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6__ctorMFNaNbNcNiNfQFuQEimmZSQGyQGx__TQGuTQGrTQFgZQHgFQHdQFrZQDe@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6__initZ@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6fixRefFNaNbNiNfaZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6lengthMFNaNbNdNiNfZm@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt6moveAtMFNaNbNiNfmZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt7opIndexMFNaNbNiNfmZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt7opSliceMFNaNbNiNfmmZSQGrQGq__TQGnTQGkTQEzZQGzFQGwQFkZQCx@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt7opSliceMFNjNlmmZ12ResultRanges6__initZ@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt7popBackMFNaNbNiNfZv@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt8moveBackMFNaNbNiNfZa@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt8popFrontMFNaNbNiNfZv@Base 14 + _D3std5range__T5chainTSQvQt__T4TakeTSQBjQBi__T6RepeatTaZQkZQBdTSQCk4conv__T7toCharsVhi10TaVEQDm5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQEvFQEsQDgZQt9moveFrontMFNaNbNiNfZa@Base 14 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFNaNbNiNfQCkZSQDjQDi__TQDfTQDcZQDnFQDkZ__T6ResultZQi@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi10retroIndexMFNaNbNiNfmZm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi11__xopEqualsMxFKxSQEgQEf__TQEcTQDzZQEkFQEhZ__TQCfZQCjZb@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi13opIndexAssignMFNaNbNiNfQDrmZv@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi4backMFNaNbNcNdNiNfZQDm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi4backMFNaNbNdNiNfQDjZv@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi4saveMFNaNbNdNiNfZSQEgQEf__TQEcTQDzZQEkFQEhZ__TQCfZQCj@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi5frontMFNaNbNcNdNiNfZQDn@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi5frontMFNaNbNdNiNfQDkZv@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi6__initZ@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi6moveAtMFNaNbNiNfmZQDl@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi7opIndexMFNaNbNcNiNfmZQDo@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi7opSliceMFNaNbNiNfmmZSQEjQEi__TQEfTQEcZQEnFQEkZ__TQCiZQCm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi8moveBackMFNaNbNiNfZQDm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi9__mixin176lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi9__xtoHashFNbNeKxSQEfQEe__TQEbTQDyZQEjFQEgZ__TQCeZQCiZm@Base 13 + _D3std5range__T5retroTASQw8datetime8timezone13PosixTimeZone10TransitionZQCfFQCcZ__T6ResultZQi9moveFrontMFNaNbNiNfZQDn@Base 13 + _D3std5range__T6ChunksTAhZQl11DollarToken6__initZ@Base 13 + _D3std5range__T6ChunksTAhZQl11DollarToken9momLengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T6ChunksTAhZQl11__xopEqualsMxFKxSQBtQBs__TQBpTQBlZQBxZb@Base 13 + _D3std5range__T6ChunksTAhZQl4backMFNaNbNdNiNfZQx@Base 13 + _D3std5range__T6ChunksTAhZQl4saveMFNaNbNdNiNfZSQBtQBs__TQBpTQBlZQBx@Base 13 + _D3std5range__T6ChunksTAhZQl5emptyMFNaNbNdNiNfZb@Base 13 + _D3std5range__T6ChunksTAhZQl5frontMFNaNbNdNiNfZQy@Base 13 + _D3std5range__T6ChunksTAhZQl6__ctorMFNaNbNcNiNfQymZSQByQBx__TQBuTQBqZQCc@Base 13 + _D3std5range__T6ChunksTAhZQl6__initZ@Base 13 + _D3std5range__T6ChunksTAhZQl6lengthMFNaNbNdNiNfZm@Base 13 + _D3std5range__T6ChunksTAhZQl7opIndexMFNaNbNiNfmZQz@Base 13 + _D3std5range__T6ChunksTAhZQl7opSliceMFNaNbNiNfSQBtQBs__TQBpTQBlZQBx11DollarTokenQBiZSQDfQDe__TQDbTQCxZQDj@Base 13 + _D3std5range__T6ChunksTAhZQl7opSliceMFNaNbNiNfSQBtQBs__TQBpTQBlZQBx11DollarTokenmZSQDdQDc__TQCzTQCvZQDh@Base 13 + _D3std5range__T6ChunksTAhZQl7opSliceMFNaNbNiNfmSQBuQBt__TQBqTQBmZQBy11DollarTokenZSQDdQDc__TQCzTQCvZQDh@Base 13 + _D3std5range__T6ChunksTAhZQl7opSliceMFNaNbNiNfmmZSQBwQBv__TQBsTQBoZQCa@Base 13 + _D3std5range__T6ChunksTAhZQl7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T6ChunksTAhZQl8opDollarMFNaNbNiNfZSQBvQBu__TQBrTQBnZQBz11DollarToken@Base 13 + _D3std5range__T6ChunksTAhZQl8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T6ChunksTAhZQl9__xtoHashFNbNeKxSQBsQBr__TQBoTQBkZQBwZm@Base 13 + _D3std5range__T6RepeatTaZQk11DollarToken6__initZ@Base 13 + _D3std5range__T6RepeatTaZQk4backMNgFNaNbNdNiNfZNga@Base 13 + _D3std5range__T6RepeatTaZQk4saveMNgFNaNbNdNiNfZNgSQBwQBv__TQBsTaZQBy@Base 13 + _D3std5range__T6RepeatTaZQk5frontMNgFNaNbNdNiNfZNga@Base 13 + _D3std5range__T6RepeatTaZQk6__initZ@Base 13 + _D3std5range__T6RepeatTaZQk7opIndexMNgFNaNbNiNfmZNga@Base 13 + _D3std5range__T6RepeatTaZQk7opSliceMFNaNbNiNfmmZSQBvQBu__T4TakeTSQClQCk__TQChTaZQCnZQBa@Base 13 + _D3std5range__T6RepeatTaZQk7opSliceMNgFNaNbNiNfmSQBvQBu__TQBrTaZQBx11DollarTokenZNgSQDeQDd__TQDaTaZQDg@Base 13 + _D3std5range__T6RepeatTaZQk7popBackMFNaNbNiNfZv@Base 13 + _D3std5range__T6RepeatTaZQk8popFrontMFNaNbNiNfZv@Base 13 + _D3std5range__T6chunksTAhZQlFNaNbNiNfQomZSQBoQBn__T6ChunksTQBkZQm@Base 13 + _D3std5range__T6repeatTaZQkFNaNbNiNfaZSQBlQBk__T6RepeatTaZQk@Base 13 + _D3std5range__T6repeatTaZQkFNaNbNiNfamZSQBmQBl__T4TakeTSQCcQCb__T6RepeatTaZQkZQBd@Base 13 + _D3std5range__T6strideTAywZQmFNaNbNiNfQpmZSQBpQBo__TQBlTQBhZQBtFQBpmZ6Result@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result11__xopEqualsMxFKxSQCgQCf__TQCcTQByZQCkFQCgmZQCaZb@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result22eliminateSlackElementsMFNaNbNiNfZv@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result4backMFNaNbNcNdNiNfZyw@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result4saveMFNaNbNdNiNfZSQCgQCf__TQCcTQByZQCkFQCgmZQCa@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result5emptyMFNaNbNdNiNfZb@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result5frontMFNaNbNcNdNiNfZyw@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result6__initZ@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result6lengthMFNaNbNdNiNfZm@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result6moveAtMFNaNbNiNfmZyw@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result7opIndexMFNaNbNcNiNfmZyw@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result7opSliceMFNaNbNiNfmmZSQCjQCi__TQCfTQCbZQCnFQCjmZQCd@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result7popBackMFNaNbNiNfZv@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result8moveBackMFNaNbNiNfZyw@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result8popFrontMFNaNbNiNfZv@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result9__xtoHashFNbNeKxSQCfQCe__TQCbTQBxZQCjFQCfmZQBzZm@Base 14.2 + _D3std5range__T6strideTAywZQmFQhmZ6Result9moveFrontMFNaNbNiNfZyw@Base 14.2 + _D3std5range__T7padLeftTSQx4conv__T7toCharsVhi10TaVEQBy5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultTaZQDjFNaNbNiNfQDmamZSQEpQEo__T5chainTSQFgQFf__T4TakeTSQFwQFv__T6RepeatTaZQkZQBdTQGaZQCcFQBzQGlZQDz@Base 14 + _D3std5regex11__moduleRefZ@Base 13 + _D3std5regex12__ModuleInfoZ@Base 13 + _D3std5regex8internal12backtracking11__moduleRefZ@Base 13 + _D3std5regex8internal12backtracking12__ModuleInfoZ@Base 13 + _D3std5regex8internal12backtracking9CtContext10ctAtomCodeMFAxSQCiQChQCe2ir8BytecodeiZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext10ctGenBlockMFAxSQCiQChQCe2ir8BytecodeiZSQDgQDfQDcQCwQCl7CtState@Base 13 + _D3std5regex8internal12backtracking9CtContext10ctGenGroupMFKAxSQCjQCiQCf2ir8BytecodeiZSQDhQDgQDdQCxQCm7CtState@Base 13 + _D3std5regex8internal12backtracking9CtContext10ctGenRegExMFAxSQCiQChQCe2ir8BytecodeZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext10lookaroundMFkkZSQCjQCiQCfQBzQBo@Base 13 + _D3std5regex8internal12backtracking9CtContext11__xopEqualsMxFKxSQCkQCjQCgQCaQBpZb@Base 13 + _D3std5regex8internal12backtracking9CtContext11ctQuickTestMFAxSQCjQCiQCf2ir8BytecodeiZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext11restoreCodeMFZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext14ctGenFixupCodeMFAxSQCmQClQCi2ir8BytecodeiiZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext14ctGenFixupCodeMFKAxSQCnQCmQCj2ir8BytecodeiiZAya@Base 13 + _D3std5regex8internal12backtracking9CtContext16ctGenAlternationMFAxSQCoQCnQCk2ir8BytecodeiZSQDmQDlQDiQDcQCr7CtState@Base 13 + _D3std5regex8internal12backtracking9CtContext6__initZ@Base 13 + _D3std5regex8internal12backtracking9CtContext7CtState11__xopEqualsMxFKxSQCsQCrQCoQCiQBxQBqZb@Base 13 + _D3std5regex8internal12backtracking9CtContext7CtState6__initZ@Base 13 + _D3std5regex8internal12backtracking9CtContext7CtState9__xtoHashFNbNeKxSQCrQCqQCnQChQBwQBpZm@Base 13 + _D3std5regex8internal12backtracking9CtContext8saveCodeMFkAyaZQe@Base 13 + _D3std5regex8internal12backtracking9CtContext9__xtoHashFNbNeKxSQCjQCiQCfQBzQBoZm@Base 13 + _D3std5regex8internal12backtracking9CtContext9ctGenAtomMFKAxSQChQCgQCd2ir8BytecodeiZSQDfQDeQDbQCvQCk7CtState@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTQhTQkTQnZQxFNaNbNeQzQBbQBeQBhQBkQBnZQBr@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTQhTQkZQuFNaNbNeQwQyQBaQBdQBgZQBk@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTQhTxkTxkTiTQsTQvTQyZQBiFNaNbNeQBlQBoQBrQBuxkxkiQCcQCfQCiZQCm@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTQhZQrFNaNbNeQtQvQxQzZQBc@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTiTQjTQmTQpTxkTxkTiTQBaTQBeTQBiZQBtFNaNbNeQBwQBzQCciQCgQCjQCmxkxkiQCuQCxQDaZQDe@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTiTQjTiTQoTiZQBaFNaNbNeQBdQBgQBjiQBniQBriZQBw@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTiTiTQlZQvFNaNbNeQxQzQBbiiQBgZQBk@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTiZQqFNaNbNeQsQuQwiZQBa@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeTxkTxkTiTQpTQsTQvZQBfFNaNbNeQBiQBlQBoxkxkiQBwQBzQCcZQCg@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTQeZQoFNaNbNeQqQsQuZQx@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiTQgTQjTQmTxkTxkTiTQxTQBaTQBeZQBpFNaNbNeQBsQBviQBzQCcQCfxkxkiQCnQCqQCtZQCx@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiTQgTiTQlTiZQxFNaNbNeQzQBbiQBfiQBjiZQBo@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiTQgTiZQsFNaNbNeQuQwiQziZQBd@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiTiTQiTiZQuFNaNbNeQwQyiiQBciZQBh@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiTiTQiZQsFNaNbNeQuQwiiQBaZQBe@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTiZQnFNaNbNeQpQriZQv@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTxkTxkTiTQmTQpTQsZQBcFNaNbNeQBfQBixkxkiQBqQBtQBwZQCa@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaTykTiZQqFNaNbNeQsQuykiZQBa@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTAyaZQlFNaNbNeQnQpZQs@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTQeTQhTxkTxkTiTQsTQvTQyZQBkFNaNbNeQBliQBpQBsQBvxkxkiQCdQCgQCjZQCn@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTQeTQhZQtFNaNbNeQtiQwQyQBaZQBe@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTQeTiTQjTQmTQpTxkTxkTiTQBaTQBeTQBiZQBvFNaNbNeQBwiQCaQCdiQChQCkQCnxkxkiQCvQCyQDbZQDf@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTQeTiZQsFNaNbNeQsiQvQxiZQBb@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTiTQgTiZQuFNaNbNeQuiQxiQBaiZQBf@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaTiZQpFNaNbNeQpiQsiZQw@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTAyaZQnFNaNbNeQniQqZQt@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTiTAyaTiZQrFNaNbNeQpiiQtiZQx@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTiTAyaZQpFNaNbNeQniiQrZQu@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTiZQlFNaNbNeAyaiiZQg@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiTykTiZQoFNaNbNeAyaiykiZQi@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTiZQjFNaNbNeAyaiZQf@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTkTAyaTQeTQhZQtFNaNbNeQtkQwQyQBaZQBe@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTkTAyaTQeZQqFNaNbNeQqkQtQvZQy@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTkTAyaZQnFNaNbNeQnkQqZQt@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTkTkZQlFNaNbNeAyakkZQg@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTkZQjFNaNbNeAyakZQf@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTxkTAyaTQeTiTQjTiTQoTiZQBdFNaNbNeQBdxkQBiQBliQBpiQBtiZQBy@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTxkTAyaTQeTiTiTQlZQyFNaNbNeQxxkQBbQBeiiQBjZQBn@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTxkTiTAyaTQeTQhZQwFNaNbNeQtxkiQyQBaQBdZQBh@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTxkTxkTiTAyaTQeTQhZQzFNaNbNeQtxkxkiQBaQBdQBgZQBk@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTxkTykTiTykTiZQuFNaNbNeAyaxkykiykiZQm@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTykTAyaTykTiZQtFNaNbNeQsykQwykiZQBc@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTykTiTiTAyaTiZQuFNaNbNeQpykiiQviZQz@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTykTiTykTiZQrFNaNbNeAyaykiykiZQk@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTykTiZQmFNaNbNeAyaykiZQh@Base 13 + _D3std5regex8internal12backtracking__T5ctSubTykZQkFNaNbNeAyaykZQg@Base 13 + _D3std5regex8internal12backtracking__T5ctSubZQhFNaNbNiNeAyaZQe@Base 13 + _D3std5regex8internal2ir10NamedGroup11__xopEqualsMxFKxSQCbQCaQBxQBrQBrZb@Base 13 + _D3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D3std5regex8internal2ir10NamedGroup9__xtoHashFNbNeKxSQCaQBzQBwQBqQBqZm@Base 13 + _D3std5regex8internal2ir10getMatcherFNeSQBm3uni__T13InversionListTSQCnQBb8GcPolicyZQBhZSQDiQDhQDeQCy11CharMatcher@Base 13 + _D3std5regex8internal2ir10lengthOfIRFNaNbNiNfEQBsQBrQBoQBi2IRZi@Base 13 + _D3std5regex8internal2ir11CharMatcher11__xopEqualsMxFKxSQCcQCbQByQBsQBsZb@Base 13 + _D3std5regex8internal2ir11CharMatcher6__ctorMFNcSQBv3uni__T13InversionListTSQCwQBb8GcPolicyZQBhZSQDrQDqQDnQDhQDh@Base 13 + _D3std5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D3std5regex8internal2ir11CharMatcher9__xtoHashFNbNeKxSQCbQCaQBxQBrQBrZm@Base 13 + _D3std5regex8internal2ir11RegexOption6__initZ@Base 13 + _D3std5regex8internal2ir11__moduleRefZ@Base 13 + _D3std5regex8internal2ir12__ModuleInfoZ@Base 13 + _D3std5regex8internal2ir12matcherCacheHSQBm3uni__T13InversionListTSQCnQBb8GcPolicyZQBhSQDhQDgQDdQCx11CharMatcher@Base 13 + _D3std5regex8internal2ir14RegexException6__initZ@Base 13 + _D3std5regex8internal2ir14RegexException6__vtblZ@Base 13 + _D3std5regex8internal2ir14RegexException7__ClassZ@Base 13 + _D3std5regex8internal2ir14RegexException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDmQDlQDiQDcQDc@Base 13 + _D3std5regex8internal2ir14RegexException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDmQDlQDiQDcQDc@Base 13 + _D3std5regex8internal2ir16lengthOfPairedIRFNaNbNiNfEQByQBxQBuQBo2IRZi@Base 13 + _D3std5regex8internal2ir17immediateParamsIRFNaNbNiNfEQBzQByQBvQBp2IRZi@Base 13 + _D3std5regex8internal2ir2IR6__initZ@Base 13 + _D3std5regex8internal2ir7isEndIRFNaNbNiNfEQBoQBnQBkQBe2IRZb@Base 13 + _D3std5regex8internal2ir8BitTable6__ctorMFNcSQBr3uni__T13InversionListTSQCsQBb8GcPolicyZQBhZSQDnQDmQDjQDdQDd@Base 13 + _D3std5regex8internal2ir8BitTable6__initZ@Base 13 + _D3std5regex8internal2ir8BitTable__T3addZQfMFNaNbNiNfwZv@Base 13 + _D3std5regex8internal2ir8BitTable__T5indexZQhFNaNbNiNfwZk@Base 13 + _D3std5regex8internal2ir8Bytecode11indexOfPairMxFNaNfkZk@Base 13 + _D3std5regex8internal2ir8Bytecode11setLocalRefMFNaNfZv@Base 13 + _D3std5regex8internal2ir8Bytecode12pairedLengthMxFNaNdNfZk@Base 13 + _D3std5regex8internal2ir8Bytecode13backreferenceMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode14setBackrefenceMFNaNfZv@Base 13 + _D3std5regex8internal2ir8Bytecode4argsMxFNaNdNfZi@Base 13 + _D3std5regex8internal2ir8Bytecode5isEndMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode6__ctorMFNaNcNfEQBvQBuQBrQBl2IRkZSQCnQCmQCjQCdQCd@Base 13 + _D3std5regex8internal2ir8Bytecode6__ctorMFNaNcNfEQBvQBuQBrQBl2IRkkZSQCoQCnQCkQCeQCe@Base 13 + _D3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D3std5regex8internal2ir8Bytecode6isAtomMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode6lengthMxFNaNdNfZk@Base 13 + _D3std5regex8internal2ir8Bytecode6pairedMxFNaNdNfZSQBxQBwQBtQBnQBn@Base 13 + _D3std5regex8internal2ir8Bytecode7fromRawFNaNfkZSQBvQBuQBrQBlQBl@Base 13 + _D3std5regex8internal2ir8Bytecode7hotspotMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode7isStartMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode8localRefMxFNaNdNfZb@Base 13 + _D3std5regex8internal2ir8Bytecode__T4codeZQgMxFNaNbNdNiNfZEQCfQCeQCbQBv2IR@Base 13 + _D3std5regex8internal2ir8Bytecode__T4dataZQgMxFNaNbNdNiNfZk@Base 13 + _D3std5regex8internal2ir8Bytecode__T8mnemonicZQkMxFNaNdNeZAya@Base 13 + _D3std5regex8internal2ir8Bytecode__T8sequenceZQkMxFNaNbNdNiNfZk@Base 13 + _D3std5regex8internal2ir8hasMergeFNaNbNiNfEQBpQBoQBlQBf2IRZb@Base 13 + _D3std5regex8internal2ir8isAtomIRFNaNbNiNfEQBpQBoQBlQBf2IRZb@Base 13 + _D3std5regex8internal2ir8pairedIRFNaNbNiNfEQBpQBoQBlQBf2IRZQr@Base 13 + _D3std5regex8internal2ir9RegexInfo6__initZ@Base 13 + _D3std5regex8internal2ir9isStartIRFNaNbNiNfEQBqQBpQBmQBg2IRZb@Base 13 + _D3std5regex8internal5tests11__moduleRefZ@Base 13 + _D3std5regex8internal5tests12__ModuleInfoZ@Base 13 + _D3std5regex8internal6parser11__moduleRefZ@Base 13 + _D3std5regex8internal6parser12__ModuleInfoZ@Base 13 + _D3std5regex8internal6parser7CodeGen10endPatternMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen11__xopEqualsMxFKxSQCbQCaQBxQBrQBnZb@Base 13 + _D3std5regex8internal6parser7CodeGen11charsetToIrMFNeSQCa3uni__T13InversionListTSQDbQBb8GcPolicyZQBhZv@Base 13 + _D3std5regex8internal6parser7CodeGen11fixupLengthMFNdZm@Base 13 + _D3std5regex8internal6parser7CodeGen11isOpenGroupMFkZb@Base 13 + _D3std5regex8internal6parser7CodeGen11markBackrefMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen13fixLookaroundMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen13fixRepetitionMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen13fixRepetitionMFkkkbZv@Base 13 + _D3std5regex8internal6parser7CodeGen13genLogicGroupMFZv@Base 13 + _D3std5regex8internal6parser7CodeGen13genLookaroundMFEQCaQBzQBw2ir2IRZv@Base 13 + _D3std5regex8internal6parser7CodeGen13genNamedGroupMFAyaZv@Base 13 + _D3std5regex8internal6parser7CodeGen14fixAlternationMFZv@Base 13 + _D3std5regex8internal6parser7CodeGen17finishAlternationMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen3putMFSQBpQBoQBl2ir8BytecodeZv@Base 13 + _D3std5regex8internal6parser7CodeGen5startMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen6__initZ@Base 13 + _D3std5regex8internal6parser7CodeGen6lengthMFNdZk@Base 13 + _D3std5regex8internal6parser7CodeGen6putRawMFkZv@Base 13 + _D3std5regex8internal6parser7CodeGen7onCloseMFZSQBu8typecons__T5TupleTbTkZQl@Base 13 + _D3std5regex8internal6parser7CodeGen8genGroupMFZv@Base 13 + _D3std5regex8internal6parser7CodeGen8popFixupMFZk@Base 13 + _D3std5regex8internal6parser7CodeGen8topFixupMFNdZk@Base 13 + _D3std5regex8internal6parser7CodeGen9__xtoHashFNbNeKxSQCaQBzQBwQBqQBmZm@Base 13 + _D3std5regex8internal6parser7CodeGen9pushFixupMFkZv@Base 13 + _D3std5regex8internal6parser__T15reverseBytecodeZQsFNeASQCcQCbQBy2ir8BytecodeZv@Base 13 + _D3std5regex8internal6tests211__moduleRefZ@Base 13 + _D3std5regex8internal6tests212__ModuleInfoZ@Base 13 + _D3std5regex8internal8thompson11__moduleRefZ@Base 13 + _D3std5regex8internal8thompson12__ModuleInfoZ@Base 13 + _D3std5regex8internal9generator11__moduleRefZ@Base 13 + _D3std5regex8internal9generator12__ModuleInfoZ@Base 13 + _D3std5regex8internal9kickstart11__moduleRefZ@Base 13 + _D3std5regex8internal9kickstart12__ModuleInfoZ@Base 13 + _D3std5stdio10ChunksImpl11__fieldDtorMFNeZv@Base 13 + _D3std5stdio10ChunksImpl11__xopEqualsMxFKxSQBpQBoQBlZb@Base 13 + _D3std5stdio10ChunksImpl15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio10ChunksImpl6__ctorMFNcSQBiQBh4FilemZSQBwQBvQBs@Base 13 + _D3std5stdio10ChunksImpl6__initZ@Base 13 + _D3std5stdio10ChunksImpl8opAssignMFNcNjNeSQBoQBnQBkZQl@Base 13 + _D3std5stdio10ChunksImpl9__xtoHashFNbNeKxSQBoQBnQBkZm@Base 13 + _D3std5stdio10LockedFile14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D3std5stdio10LockedFile5fgetcMFNbNiNeZi@Base 13 + _D3std5stdio10LockedFile6__ctorMFNcNePOS4core4stdcQBs8_IO_FILEZSQCkQCjQCg@Base 13 + _D3std5stdio10LockedFile6__dtorMFNeZv@Base 13 + _D3std5stdio10LockedFile6__initZ@Base 13 + _D3std5stdio10LockedFile6fgetwcMFNbNiNeZw@Base 13 + _D3std5stdio10readlnImplFNfPOS4core4stdcQBi8_IO_FILEKAawEQCdQCc4File11OrientationZ9__lambda9MFNeZ1nm@Base 13 + _D3std5stdio10readlnImplFNfPOS4core4stdcQBi8_IO_FILEKAawEQCdQCc4File11OrientationZ9__lambda9MFNeZ7lineptrPa@Base 13 + _D3std5stdio10readlnImplFNfPOS4core4stdcQBi8_IO_FILEKAawEQCdQCc4File11OrientationZm@Base 13 + _D3std5stdio11__moduleRefZ@Base 13 + _D3std5stdio11openNetworkFAyatZSQBeQBd4File@Base 13 + _D3std5stdio12__ModuleInfoZ@Base 13 + _D3std5stdio13StdFileHandle6__initZ@Base 13 + _D3std5stdio13trustedStdoutFNdNeZSQBgQBf4File@Base 13 + _D3std5stdio14ReadlnAppender10initializeMFNfAaZv@Base 13 + _D3std5stdio14ReadlnAppender11__xopEqualsMxFKxSQBtQBsQBpZb@Base 13 + _D3std5stdio14ReadlnAppender24reserveWithoutAllocatingMFmZb@Base 13 + _D3std5stdio14ReadlnAppender4dataMFNdNeZAa@Base 13 + _D3std5stdio14ReadlnAppender6__initZ@Base 13 + _D3std5stdio14ReadlnAppender7putcharMFNeaZv@Base 13 + _D3std5stdio14ReadlnAppender7putonlyMFNexAaZv@Base 13 + _D3std5stdio14ReadlnAppender7reserveMFNemZv@Base 13 + _D3std5stdio14ReadlnAppender8putdcharMFNewZv@Base 13 + _D3std5stdio14ReadlnAppender9__xtoHashFNbNeKxSQBsQBrQBoZm@Base 13 + _D3std5stdio14StdioException6__ctorMFNeAyakZCQBrQBqQBn@Base 13 + _D3std5stdio14StdioException6__initZ@Base 13 + _D3std5stdio14StdioException6__vtblZ@Base 13 + _D3std5stdio14StdioException6opCallFNfAyaZv@Base 13 + _D3std5stdio14StdioException6opCallFNfZv@Base 13 + _D3std5stdio14StdioException7__ClassZ@Base 13 + _D3std5stdio17LockingTextReader10__aggrDtorMFZv@Base 13 + _D3std5stdio17LockingTextReader10__postblitMFZv@Base 13 + _D3std5stdio17LockingTextReader11__fieldDtorMFNeZv@Base 13 + _D3std5stdio17LockingTextReader11__xopEqualsMxFKxSQBwQBvQBsZb@Base 13 + _D3std5stdio17LockingTextReader14__aggrPostblitMFZv@Base 13 + _D3std5stdio17LockingTextReader15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio17LockingTextReader5emptyMFNdZb@Base 13 + _D3std5stdio17LockingTextReader5frontMFNdZa@Base 13 + _D3std5stdio17LockingTextReader6__ctorMFNcSQBpQBo4FileZSQCcQCbQBy@Base 13 + _D3std5stdio17LockingTextReader6__dtorMFZv@Base 13 + _D3std5stdio17LockingTextReader6__initZ@Base 13 + _D3std5stdio17LockingTextReader8opAssignMFSQBpQBoQBlZv@Base 13 + _D3std5stdio17LockingTextReader8popFrontMFZv@Base 13 + _D3std5stdio17LockingTextReader9__xtoHashFNbNeKxSQBvQBuQBrZm@Base 13 + _D3std5stdio4File10__postblitMFNaNbNiNfZv@Base 13 + _D3std5stdio4File11ByChunkImpl11__fieldDtorMFNeZv@Base 13 + _D3std5stdio4File11ByChunkImpl11__xopEqualsMxFKxSQBvQBuQBrQBpZb@Base 13 + _D3std5stdio4File11ByChunkImpl15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio4File11ByChunkImpl5emptyMxFNbNdZb@Base 13 + _D3std5stdio4File11ByChunkImpl5frontMFNbNdZAh@Base 13 + _D3std5stdio4File11ByChunkImpl5primeMFZv@Base 13 + _D3std5stdio4File11ByChunkImpl6__ctorMFNcSQBoQBnQBkAhZSQCbQCaQBxQBv@Base 13 + _D3std5stdio4File11ByChunkImpl6__ctorMFNcSQBoQBnQBkmZSQCaQBzQBwQBu@Base 13 + _D3std5stdio4File11ByChunkImpl6__initZ@Base 13 + _D3std5stdio4File11ByChunkImpl8opAssignMFNcNjNeSQBuQBtQBqQBoZQo@Base 13 + _D3std5stdio4File11ByChunkImpl8popFrontMFZv@Base 13 + _D3std5stdio4File11ByChunkImpl9__xtoHashFNbNeKxSQBuQBtQBqQBoZm@Base 13 + _D3std5stdio4File11__xopEqualsMxFKxSQBiQBhQBeZb@Base 13 + _D3std5stdio4File12closeHandlesMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter10__aggrDtorMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter10__postblitMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter11__fieldDtorMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter11__xopEqualsMxFKxSQCbQCaQBxQBvZb@Base 13 + _D3std5stdio4File17LockingTextWriter14__aggrPostblitMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter26highSurrogateShouldBeEmptyMFNfZv@Base 13 + _D3std5stdio4File17LockingTextWriter6__ctorMFNcNeKSQBxQBwQBtZSQCiQChQCeQCc@Base 13 + _D3std5stdio4File17LockingTextWriter6__dtorMFNeZv@Base 13 + _D3std5stdio4File17LockingTextWriter6__initZ@Base 13 + _D3std5stdio4File17LockingTextWriter7handle_MFNdNeZPS4core4stdcQCf8_IO_FILE@Base 13 + _D3std5stdio4File17LockingTextWriter8opAssignMFNcNjNeSQCaQBzQBwQBuZQo@Base 13 + _D3std5stdio4File17LockingTextWriter9__xtoHashFNbNeKxSQCaQBzQBwQBuZm@Base 13 + _D3std5stdio4File17LockingTextWriter__T3putTAaZQiMFNfMQkZv@Base 13 + _D3std5stdio4File17LockingTextWriter__T3putTAwZQiMFNfMQkZv@Base 13 + _D3std5stdio4File17LockingTextWriter__T3putTAxaZQjMFNfMQlZv@Base 13 + _D3std5stdio4File17LockingTextWriter__T3putTAyaZQjMFNfMQlZv@Base 13 + _D3std5stdio4File17LockingTextWriter__T3putTaZQhMFNfMaZv@Base 14 + _D3std5stdio4File17LockingTextWriter__T3putTwZQhMFNfMwZv@Base 14 + _D3std5stdio4File17LockingTextWriter__T3putTxaZQiMFNfMxaZv@Base 14 + _D3std5stdio4File17LockingTextWriter__T3putTxwZQiMFNfMxwZv@Base 14 + _D3std5stdio4File17LockingTextWriter__T3putTyaZQiMFNfMyaZv@Base 14 + _D3std5stdio4File17lockingTextWriterMFNfZSQBoQBnQBk17LockingTextWriter@Base 13 + _D3std5stdio4File19lockingBinaryWriterMFZSQBoQBnQBk__T16BinaryWriterImplVbi1ZQx@Base 13 + _D3std5stdio4File3eofMxFNaNdNeZb@Base 13 + _D3std5stdio4File4Impl6__initZ@Base 13 + _D3std5stdio4File4lockMFEQxQv8LockTypemmZv@Base 13 + _D3std5stdio4File4nameMxFNaNbNdNjNfZAya@Base 13 + _D3std5stdio4File4openMFNeAyaMAxaZv@Base 13 + _D3std5stdio4File4seekMFNeliZv@Base 13 + _D3std5stdio4File4sizeMFNdNfZm@Base 13 + _D3std5stdio4File4syncMFNeZv@Base 13 + _D3std5stdio4File4tellMxFNdNeZm@Base 13 + _D3std5stdio4File5closeMFNeZv@Base 13 + _D3std5stdio4File5errorMxFNaNbNdNeZb@Base 13 + _D3std5stdio4File5flushMFNeZv@Base 13 + _D3std5stdio4File5getFPMFNaNfZPOS4core4stdcQBl8_IO_FILE@Base 13 + _D3std5stdio4File5popenMFNfAyaMAxaZv@Base 13 + _D3std5stdio4File6__ctorMFNbNcNiNePOS4core4stdcQBp8_IO_FILEAyakbZSQCmQClQCi@Base 13 + _D3std5stdio4File6__ctorMFNcNfAyaMAxaZSQBlQBkQBh@Base 13 + _D3std5stdio4File6__dtorMFNfZv@Base 13 + _D3std5stdio4File6__initZ@Base 13 + _D3std5stdio4File6detachMFNeZv@Base 13 + _D3std5stdio4File6fdopenMFNeiMAxaAyaZv@Base 13 + _D3std5stdio4File6fdopenMFNfiMAxaZv@Base 13 + _D3std5stdio4File6filenoMxFNdNeZi@Base 13 + _D3std5stdio4File6isOpenMxFNaNbNdNfZb@Base 13 + _D3std5stdio4File6reopenMFNeAyaMAxaZv@Base 13 + _D3std5stdio4File6rewindMFNfZv@Base 13 + _D3std5stdio4File6unlockMFmmZv@Base 13 + _D3std5stdio4File7byChunkMFAhZSQBdQBcQz11ByChunkImpl@Base 13 + _D3std5stdio4File7byChunkMFmZSQBcQBbQy11ByChunkImpl@Base 13 + _D3std5stdio4File7setvbufMFNeAviZv@Base 13 + _D3std5stdio4File7setvbufMFNemiZv@Base 13 + _D3std5stdio4File7tmpfileFNfZSQBcQBbQy@Base 13 + _D3std5stdio4File7tryLockMFEQBaQz8LockTypemmZb@Base 13 + _D3std5stdio4File8clearerrMFNaNbNfZv@Base 13 + _D3std5stdio4File8initImplMFNaNbNiNfPOS4core4stdcQBr8_IO_FILEAyakbZv@Base 13 + _D3std5stdio4File8lockImplMFismmZi@Base 13 + _D3std5stdio4File8opAssignMFNcNjNfSQBhQBgQBdZQl@Base 13 + _D3std5stdio4File8wrapFileFNfPOS4core4stdcQBk8_IO_FILEZSQCcQCbQBy@Base 13 + _D3std5stdio4File9__xtoHashFNbNeKxSQBhQBgQBdZm@Base 13 + _D3std5stdio4File9resetFileMFNeAyaMAxabZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx10__aggrDtorMFZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx10__postblitMFNbNiZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx11__fieldDtorMFNeZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx11__xopEqualsMxFKxSQCkQCjQCg__TQCeVbi1ZQCmZb@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx14__aggrPostblitMFNbNiZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx6__ctorMFNcMKSQCfQCeQCbZSQCqQCpQCm__TQCkVbi1ZQCs@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx6__dtorMFNbNiZv@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx6__initZ@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx8opAssignMFNcNjSQChQCgQCd__TQCbVbi1ZQCjZQz@Base 13 + _D3std5stdio4File__T16BinaryWriterImplVbi1ZQx9__xtoHashFNbNeKxSQCjQCiQCf__TQCdVbi1ZQClZm@Base 13 + _D3std5stdio4File__T6readlnTAyaZQmMFNfwZQm@Base 13 + _D3std5stdio4File__T6readlnTaZQkMFNfKAawZm@Base 13 + _D3std5stdio4File__T7rawReadTaZQlMFNfAaZQd@Base 13 + _D3std5stdio4File__T7rawReadTbZQlMFNfAbZQd@Base 13 + _D3std5stdio4File__T7rawReadThZQlMFNfAhZQd@Base 13 + _D3std5stdio4File__T7rawReadTiZQlMFNfAiZQd@Base 13 + _D3std5stdio4File__T7rawReadTlZQlMFNfAlZQd@Base 13 + _D3std5stdio4File__T8writeflnTaTAyaTmTQgTQjTxlZQBbMFNfIAaQzmQBcQBfxlZv@Base 13 + _D3std5stdio4File__T8writeflnTaTAyaTmTQgTQjTxmZQBbMFNfIAaQzmQBcQBfxmZv@Base 13 + _D3std5stdio4File__T8writeflnTaTAyaTmTQgTxmZQyMFNfIAaQvmQyxmZv@Base 13 + _D3std5stdio4File__T8writeflnTaTAyaTxmTQhTQkTmZQBbMFNfIAaQzxmQBdQBgmZv@Base 13 + _D3std5stdio4File__T8writeflnTaTAyaTxmTQhTxmZQzMFNfIAaQwxmQBaxmZv@Base 13 + _D3std5stdio5lines11__fieldDtorMFNeZv@Base 13 + _D3std5stdio5lines11__xopEqualsMxFKxSQBjQBiQBfZb@Base 13 + _D3std5stdio5lines15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std5stdio5lines6__ctorMFNcSQBcQBb4FilewZSQBqQBpQBm@Base 13 + _D3std5stdio5lines6__initZ@Base 13 + _D3std5stdio5lines8opAssignMFNcNjNeSQBiQBhQBeZQl@Base 13 + _D3std5stdio5lines9__xtoHashFNbNeKxSQBiQBhQBeZm@Base 13 + _D3std5stdio6chunksFSQtQr4FilemZSQBfQBe10ChunksImpl@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea21_636f72652e737464632e737464696f2e737464696eZQDeFNbNcNdNiZSQEfQEe4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea21_636f72652e737464632e737464696f2e737464696eZQDeFNcNdZ4implSQEgQEf4File4Impl@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea21_636f72652e737464632e737464696f2e737464696eZQDeFNcNdZ6resultSQEiQEh4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea21_636f72652e737464632e737464696f2e737464696eZQDeFNcNdZ8spinlockOk@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e737464657272ZQDgFNbNcNdNiZSQEhQEg4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e737464657272ZQDgFNcNdZ4implSQEiQEh4File4Impl@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e737464657272ZQDgFNcNdZ6resultSQEkQEj4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e737464657272ZQDgFNcNdZ8spinlockOk@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e7374646f7574ZQDgFNbNcNdNiZSQEhQEg4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e7374646f7574ZQDgFNcNdZ4implSQEiQEh4File4Impl@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e7374646f7574ZQDgFNcNdZ6resultSQEkQEj4File@Base 13 + _D3std5stdio__T10makeGlobalVEQBbQBa13StdFileHandlea22_636f72652e737464632e737464696f2e7374646f7574ZQDgFNcNdZ8spinlockOk@Base 13 + _D3std5stdio__T12trustedFreadTaZQrFNbNiNePOS4core4stdcQBw8_IO_FILEAaZm@Base 13 + _D3std5stdio__T12trustedFreadTbZQrFNbNiNePOS4core4stdcQBw8_IO_FILEAbZm@Base 13 + _D3std5stdio__T12trustedFreadThZQrFNbNiNePOS4core4stdcQBw8_IO_FILEAhZm@Base 13 + _D3std5stdio__T12trustedFreadTiZQrFNbNiNePOS4core4stdcQBw8_IO_FILEAiZm@Base 13 + _D3std5stdio__T12trustedFreadTlZQrFNbNiNePOS4core4stdcQBw8_IO_FILEAlZm@Base 13 + _D3std5stdio__T13trustedFwriteTaZQsFNbNiNePOS4core4stdcQBx8_IO_FILExAaZm@Base 13 + _D3std5stdio__T6_fopenTAyaTAxaZQqFNbNiNfQrQpZPOS4core4stdcQCa8_IO_FILE@Base 13 + _D3std5stdio__T6_fopenTAyaTAxaZQqFQlQjZ10_fopenImplFNbNiNeMPxaMQeZPOS4core4stdcQCv8_IO_FILE@Base 13 + _D3std5stdio__T6_popenTAyaTAxaZQqFNbNiNeQrQpZ9popenImplFNbNiNePxaQdZPOS4core4stdcQCx8_IO_FILE@Base 13 + _D3std5stdio__T6_popenTAyaTAxaZQqFNbNiNeQrQpZPOS4core4stdcQCa8_IO_FILE@Base 13 + _D3std6base6411__moduleRefZ@Base 13 + _D3std6base6412__ModuleInfoZ@Base 13 + _D3std6base6415Base64Exception6__ctorMFNaNbNfAyaQdmZCQBzQByQBu@Base 13 + _D3std6base6415Base64Exception6__initZ@Base 13 + _D3std6base6415Base64Exception6__vtblZ@Base 13 + _D3std6base6415Base64Exception7__ClassZ@Base 13 + _D3std6base64__T10Base64ImplVai43Vai47Vai61Z12decodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai43Vai47Vai61Z12encodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai43Vai47Vai61Z9DecodeMapyG256i@Base 13 + _D3std6base64__T10Base64ImplVai43Vai47Vai61Z9EncodeMapyAa@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai0Z12decodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai0Z12encodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai0Z9DecodeMapyG256i@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai0Z9EncodeMapyAa@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai61Z12decodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai61Z12encodeLengthFNaNbNiNfImZm@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai61Z9DecodeMapyG256i@Base 13 + _D3std6base64__T10Base64ImplVai45Vai95Vai61Z9EncodeMapyAa@Base 13 + _D3std6bigint11__moduleRefZ@Base 13 + _D3std6bigint12__ModuleInfoZ@Base 13 + _D3std6bigint15toDecimalStringFNaNbNfxSQBlQBk6BigIntZAya@Base 13 + _D3std6bigint5toHexFNaNfxSQyQw6BigIntZAya@Base 13 + _D3std6bigint6BigInt10uintLengthMxFNaNbNdNiNfZm@Base 13 + _D3std6bigint6BigInt11__xopEqualsMxFKxSQBlQBkQBgZb@Base 13 + _D3std6bigint6BigInt11ulongLengthMxFNaNbNdNiNfZm@Base 13 + _D3std6bigint6BigInt14checkDivByZeroMxFNaNbNlNfZv@Base 13 + _D3std6bigint6BigInt5opCmpMxFNaNbNiNfKxSQBmQBlQBhZi@Base 13 + _D3std6bigint6BigInt5toIntMxFNaNbNiNfZi@Base 13 + _D3std6bigint6BigInt6__initZ@Base 13 + _D3std6bigint6BigInt6isZeroMxFNaNbNiNlNfZb@Base 13 + _D3std6bigint6BigInt6negateMFNaNbNiNlNfZv@Base 13 + _D3std6bigint6BigInt6toHashMxFNaNbNiNfZm@Base 13 + _D3std6bigint6BigInt6toLongMxFNaNbNiNfZl@Base 13 + _D3std6bigint6BigInt8toStringMxFMDFMAxaZvAyaZv@Base 13 + _D3std6bigint6BigInt8toStringMxFMDFMAxaZvMKxSQBr6format4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6bigint6BigInt__T10opOpAssignVAyaa1_25TSQBsQBrQBnZQBhMFNaNbNjNlNfQBaZQBe@Base 13 + _D3std6bigint6BigInt__T10opOpAssignVAyaa1_2aTSQBsQBrQBnZQBhMFNaNbNjNlNfQBaZQBe@Base 13 + _D3std6bigint6BigInt__T10opOpAssignVAyaa2_3e3eTiZQBaMFNaNbNjNlNfiZSQCnQCmQCi@Base 13 + _D3std6bigint6BigInt__T5opCmpHTSQBeQBdQzZQsMxFNaNbNiNfxSQCcQCbQBxZi@Base 13 + _D3std6bigint6BigInt__T6__ctorTiZQkMFNaNbNcNfiZSQBuQBtQBp@Base 13 + _D3std6bigint6BigInt__T6opCastHTbZQlMxFNaNbNiNfZb@Base 13 + _D3std6bigint6BigInt__T8opAssignHTSQBhQBgQBcZQwMFNaNbNiNfQxZQBa@Base 13 + _D3std6bigint6BigInt__T8opAssignTiZQmMFNaNbNfiZSQBuQBtQBp@Base 13 + _D3std6bigint6BigInt__T8opBinaryVAyaa1_25TSQBpQBoQBkZQBeMxFNaNbNjNlNfQBbZQBf@Base 13 + _D3std6bigint6BigInt__T8opBinaryVAyaa1_2aTSQBpQBoQBkZQBeMxFNaNbNjNlNfQBbZQBf@Base 13 + _D3std6bigint6BigInt__T8opEqualsZQkMxFNaNbNiNfKxSQBvQBuQBqZb@Base 13 + _D3std6bigint6BigInt__T8toStringTDFMAxaZvZQtMxFMKQqAyaZv@Base 13 + _D3std6bigint6BigInt__T8toStringTDFMAxaZvZQtMxFMKQqMKxSQCb6format4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6bigint6BigInt__T8toStringTSQBg5array__T8AppenderTAyaZQoZQBoMxFNaNfMKQBqMKxSQDc6format4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6bigint6BigInt__T8toStringTSQBg5array__T8AppenderTAyaZQoZQBoMxFNaNfMKQBqQwZv@Base 13 + _D3std6bigint6divModFNaNbNfxSQBbQBa6BigIntxQpJSQBtQBsQsJQkZv@Base 13 + _D3std6bigint6powmodFNaNbNfSQBaQz6BigIntQnQpZQs@Base 13 + _D3std6bigint__T9absUnsignTiZQnFNaNbNiNfiZk@Base 13 + _D3std6digest10murmurhash11__moduleRefZ@Base 13 + _D3std6digest10murmurhash12__ModuleInfoZ@Base 13 + _D3std6digest11__moduleRefZ@Base 13 + _D3std6digest12__ModuleInfoZ@Base 13 + _D3std6digest2md11__moduleRefZ@Base 13 + _D3std6digest2md12__ModuleInfoZ@Base 13 + _D3std6digest2md3MD51FFNaNbNiNfkkkZk@Base 13 + _D3std6digest2md3MD51GFNaNbNiNfkkkZk@Base 13 + _D3std6digest2md3MD51HFNaNbNiNfkkkZk@Base 13 + _D3std6digest2md3MD51IFNaNbNiNfkkkZk@Base 13 + _D3std6digest2md3MD52FFFNaNbNiNfKkkkkkkkZv@Base 13 + _D3std6digest2md3MD52GGFNaNbNiNfKkkkkkkkZv@Base 13 + _D3std6digest2md3MD52HHFNaNbNiNfKkkkkkkkZv@Base 13 + _D3std6digest2md3MD52IIFNaNbNiNfKkkkkkkkZv@Base 13 + _D3std6digest2md3MD53putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest2md3MD55startMFNaNbNiNfZv@Base 13 + _D3std6digest2md3MD56__initZ@Base 13 + _D3std6digest2md3MD56finishMFNaNbNiNeZG16h@Base 13 + _D3std6digest2md3MD58_paddingyG64h@Base 13 + _D3std6digest2md3MD59transformMFNaNbNiPxG64hZv@Base 13 + _D3std6digest3crc11__moduleRefZ@Base 13 + _D3std6digest3crc12__ModuleInfoZ@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx4peekMxFNaNbNiNfZG4h@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx5startMFNaNbNiNfZv@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx6__initZ@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx6finishMFNaNbNiNfZG4h@Base 13 + _D3std6digest3crc__T3CRCVki32Vmi3988292384ZQx6tablesyG8G256k@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg4peekMxFNaNbNiNfZG8h@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg5startMFNaNbNiNfZv@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg6__initZ@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg6finishMFNaNbNiNfZG8h@Base 13 + _D3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg6tablesyG8G256m@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg4peekMxFNaNbNiNfZG8h@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg5startMFNaNbNiNfZv@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg6__initZ@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg6finishMFNaNbNiNfZG8h@Base 13 + _D3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg6tablesyG8G256m@Base 13 + _D3std6digest3crc__T9genTablesTkZQnFNaNbNiNfkZG8G256k@Base 13 + _D3std6digest3crc__T9genTablesTmZQnFNaNbNiNfmZG8G256m@Base 13 + _D3std6digest3sha11__moduleRefZ@Base 13 + _D3std6digest3sha12__ModuleInfoZ@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs6finishMFNaNbNiNeZG28h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs9constantsyG80m@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs__T12T_SHA2_16_79TmZQrFNaNbNiNfiKG16mmmmKmmmmKmmZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki224ZQs__T13transformSHA2TmZQsFNaNbNiPG8mPxG128hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs6finishMFNaNbNiNeZG32h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs9constantsyG80m@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs__T12T_SHA2_16_79TmZQrFNaNbNiNfiKG16mmmmKmmmmKmmZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki256ZQs__T13transformSHA2TmZQsFNaNbNiPG8mPxG128hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs6finishMFNaNbNiNeZG48h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs9constantsyG80m@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs__T12T_SHA2_16_79TmZQrFNaNbNiNfiKG16mmmmKmmmmKmmZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki384ZQs__T13transformSHA2TmZQsFNaNbNiPG8mPxG128hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs6finishMFNaNbNiNeZG64h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs9constantsyG80m@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs__T12T_SHA2_16_79TmZQrFNaNbNiNfiKG16mmmmKmmmmKmmZv@Base 13 + _D3std6digest3sha__T3SHAVki1024Vki512ZQs__T13transformSHA2TmZQsFNaNbNiPG8mPxG128hZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr6finishMFNaNbNiNeZG20h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki160ZQr9constantsyG64k@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr6finishMFNaNbNiNeZG28h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr9constantsyG64k@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr__T12T_SHA2_16_79TkZQrFNaNbNiNfiKG16kkkkKkkkkKkkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki224ZQr__T13transformSHA2TkZQsFNaNbNiPG8kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr12transformX86FNaNbNiPG5kPxG64hZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr3putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr5startMFNaNbNiNfZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr6T_0_15FNaNbNiiPxG64hKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr6__initZ@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr6finishMFNaNbNiNeZG32h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr7T_16_19FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr7T_20_39FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr7T_40_59FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr7T_60_79FNaNbNiNfiKG16kkKkkkkKkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr7paddingyG128h@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr9constantsyG64k@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr__T12T_SHA2_16_79TkZQrFNaNbNiNfiKG16kkkkKkkkkKkkZv@Base 13 + _D3std6digest3sha__T3SHAVki512Vki256ZQr__T13transformSHA2TkZQsFNaNbNiPG8kPxG64hZv@Base 13 + _D3std6digest4hmac11__moduleRefZ@Base 13 + _D3std6digest4hmac12__ModuleInfoZ@Base 13 + _D3std6digest6Digest11__InterfaceZ@Base 13 + _D3std6digest6DigestQoMFNbNeAxAvXAh@Base 13 + _D3std6digest6ripemd11__moduleRefZ@Base 13 + _D3std6digest6ripemd12__ModuleInfoZ@Base 13 + _D3std6digest6ripemd9RIPEMD1601FFNaNbNiNfkkkZk@Base 13 + _D3std6digest6ripemd9RIPEMD1601GFNaNbNiNfkkkZk@Base 13 + _D3std6digest6ripemd9RIPEMD1601HFNaNbNiNfkkkZk@Base 13 + _D3std6digest6ripemd9RIPEMD1601IFNaNbNiNfkkkZk@Base 13 + _D3std6digest6ripemd9RIPEMD1601JFNaNbNiNfkkkZk@Base 13 + _D3std6digest6ripemd9RIPEMD1602FFFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1602GGFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1602HHFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1602IIFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1602JJFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603FFFFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603GGGFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603HHHFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603IIIFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603JJJFNaNbNiNfKkkKkkkkkZv@Base 13 + _D3std6digest6ripemd9RIPEMD1603putMFNaNbNiNeAxhXv@Base 13 + _D3std6digest6ripemd9RIPEMD1605startMFNaNbNiNfZv@Base 13 + _D3std6digest6ripemd9RIPEMD1606__initZ@Base 13 + _D3std6digest6ripemd9RIPEMD1606finishMFNaNbNiNeZG20h@Base 13 + _D3std6digest6ripemd9RIPEMD1608_paddingyG64h@Base 13 + _D3std6digest6ripemd9RIPEMD1609transformMFNaNbNiPxG64hZv@Base 13 + _D3std6digest__T11toHexStringVEQBdQBc5Orderi1VEQBt5ascii10LetterCasei0ZQCdFNaNbNfIAhZAya@Base 13 + _D3std6digest__T11toHexStringVEQBdQBc5Orderi1Vmi16VEQBy5ascii10LetterCasei0ZQCiFNaNbNiNfxG16hZG32a@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6__ctorMFNaNbNiNfZCQCpQCo__TQCkTQByZQCs@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe4peekMxFNaNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe4peekMxFNaNeAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6__ctorMFNaNbNiNfZCQDoQDn__TQDjTQCxZQDr@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo4peekMxFNaNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo4peekMxFNaNeAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6__ctorMFNaNbNiNfZCQDyQDx__TQDtTQDhZQEb@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo4peekMxFNaNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo4peekMxFNaNeAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6__ctorMFNaNbNiNfZCQDyQDx__TQDtTQDhZQEb@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6__ctorMFNaNbNiNfZCQDjQDi__TQDeTQCsZQDm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6__ctorMFNaNbNiNfZCQDjQDi__TQDeTQCsZQDm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6__ctorMFNaNbNiNfZCQDjQDi__TQDeTQCsZQDm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6__ctorMFNaNbNiNfZCQDjQDi__TQDeTQCsZQDm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6__ctorMFNaNbNiNfZCQDiQDh__TQDdTQCrZQDl@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6__ctorMFNaNbNiNfZCQDiQDh__TQDdTQCrZQDl@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6__ctorMFNaNbNiNfZCQDiQDh__TQDdTQCrZQDl@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy7__ClassZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp3putMFNbNeAxhXv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp5resetMFNbNeZv@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6__ctorMFNaNbNiNfZCQCzQCy__TQCuTQCiZQDc@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6__initZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6__vtblZ@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6finishMFNbAhZQd@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6finishMFNbNeZAh@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6lengthMxFNaNbNdNeZm@Base 13 + _D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp7__ClassZ@Base 13 + _D3std6digest__T15toHexStringImplVEQBhQBg5Orderi1VEQBx5ascii10LetterCasei0TAxhTAaZQCoFNaNbNiNfMKxAhKQvZv@Base 13 + _D3std6digest__T15toHexStringImplVEQBhQBg5Orderi1VEQBx5ascii10LetterCasei0TG16hTG32aZQCrFNaNbNiNfMKxG16hKQzZv@Base 14 + _D3std6digest__T7asArrayVmi16ThZQqFNaNbNcNiKAhAyaZG16h@Base 13 + _D3std6digest__T7asArrayVmi20ThZQqFNaNbNcNiKAhAyaZG20h@Base 13 + _D3std6digest__T7asArrayVmi28ThZQqFNaNbNcNiKAhAyaZG28h@Base 13 + _D3std6digest__T7asArrayVmi32ThZQqFNaNbNcNiKAhAyaZG32h@Base 13 + _D3std6digest__T7asArrayVmi48ThZQqFNaNbNcNiKAhAyaZG48h@Base 13 + _D3std6digest__T7asArrayVmi4ThZQpFNaNbNcNiKAhAyaZG4h@Base 13 + _D3std6digest__T7asArrayVmi64ThZQqFNaNbNcNiKAhAyaZG64h@Base 13 + _D3std6digest__T7asArrayVmi8ThZQpFNaNbNcNiKAhAyaZG8h@Base 13 + _D3std6format11__moduleRefZ@Base 13 + _D3std6format12__ModuleInfoZ@Base 13 + _D3std6format15FormatException6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCtQCsQCo@Base 13 + _D3std6format15FormatException6__ctorMFNaNbNiNfZCQBvQBuQBq@Base 13 + _D3std6format15FormatException6__initZ@Base 13 + _D3std6format15FormatException6__vtblZ@Base 13 + _D3std6format15FormatException7__ClassZ@Base 13 + _D3std6format4read11__moduleRefZ@Base 13 + _D3std6format4read12__ModuleInfoZ@Base 13 + _D3std6format4spec11__moduleRefZ@Base 13 + _D3std6format4spec12__ModuleInfoZ@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp11__xopEqualsMxFKxSQCdQCcQBy__TQBwTaZQCcZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp11flSeparatorMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp11flSeparatorMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp12getCurFmtStrMxFNaNfZAya@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp16separatorCharPosMFNaNbNiNfZi@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp16separatorCharPosMFNaNbNiNfiZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6__ctorMFNaNbNcNiNfIAaZSQCiQChQCd__TQCbTaZQCh@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6__initZ@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6fillUpMFNaNlNfZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flDashMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flDashMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flHashMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flHashMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flPlusMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flPlusMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flZeroMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp6flZeroMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp7flEqualMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp7flEqualMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp7flSpaceMFNaNbNdNiNfbZv@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp7flSpaceMxFNaNbNdNiNfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp8toStringMxFNaNfZAya@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp9__xtoHashFNbNeKxSQCcQCbQBx__TQBvTaZQCbZm@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTDFMAxaZvZQBdMFNlKQrZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCi5array__T8AppenderTAyaZQoZQByMFNaNlNfKQBqZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCi5array__T8AppenderTyAaZQoZQByMFNaNlNfKQBqZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCi5stdio4File17LockingTextWriterZQCdMFNlNfKQBtZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCiQCh8NoOpSinkZQBlMFNaNlNfKQBdZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCiQChQCd__T10singleSpecTyaZQqFAyaZ16DummyOutputRangeZQCxMFNaNlNfKQCpZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCiQCh__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkZQCnMFNaNlNfKQCfZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T17writeUpToNextSpecTSQCiQCh__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkZQDbMFNaNlNfKQCtZb@Base 13 + _D3std6format4spec__T10FormatSpecTaZQp__T8toStringTSQBy5array__T8AppenderTAyaZQoZQBoMxFNaNfKQBpZv@Base 13 + _D3std6format4spec__T10singleSpecTyaZQqFAyaZ16DummyOutputRange6__initZ@Base 13 + _D3std6format4spec__T10singleSpecTyaZQqFAyaZ16DummyOutputRange__T3putTaZQhMFNaNbNiNfMxAaZv@Base 13 + _D3std6format4spec__T10singleSpecTyaZQqFNaNfAyaZSQBvQBuQBq__T10FormatSpecTaZQp@Base 13 + _D3std6format5write11__moduleRefZ@Base 13 + _D3std6format5write12__ModuleInfoZ@Base 13 + _D3std6format5write__T11formatValueTDFNaNbNfAxaZvTxeTaZQBhFNaNfKQBcKxeMKxSQCuQCt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTAaTaZQBxFNaNfKQBsKQsMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTAxaTaZQByFNaNfKQBtKQtMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTAxhTaZQByFNaNfKQBtKQtMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTAyAaTaZQBzFNaNfKQBuKQuMKxSQDmQDl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTC14TypeInfo_ClassTaZQCmFNaNfKQChKQBhMKxSQEaQDz4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTEQCn3net7isemail15EmailStatusCodeTaZQDcFNaNfKQCxKQBxMKxSQEqQEp4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTEQCn8datetime4date5MonthTaZQCtFNaNfKQCoKQBoMKxSQEhQEg4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTPSQCo11parallelism12AbstractTaskTaZQDbFNaNfKQCwKQBwMKxSQEpQEo4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTPvTaZQBxFNaNfKQBsKQsMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTPxSQCpQCo4spec__T10FormatSpecTaZQpTaZQDdFNaNfKQCyQBxMKxQCbZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTQhTaZQBxFNaNfKQBsKQzMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTSQCn11concurrency3TidTaZQCqFNaNfKQClKQBlMKxSQEeQEd4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTSQCn4path__T16asNormalizedPathTSQDs5range__T5chainTSQEm3utf__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplTSQGmQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtTaZQIjFNaNfKQIeKQHeMKxSQJxQJw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTSQCn5range__T5chainTSQDh3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQFgQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultTaZQGpFNaNfKQGkKQFkMKxSQIdQIc4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTaTaZQBwFNaNfKQBrKaMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTaTaZQBwFNaNfKQBraMKxSQDhQDg4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTbTaZQBwFNaNfKQBrKbMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTbTaZQBwFNaNfKQBrbMKxSQDhQDg4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoThTaZQBwFNaNfKQBrKhMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTiTaZQBwFNaNfKQBrKiMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTkTaZQBwFNaNfKQBrKkMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTmTaZQBwFNaNfKQBrKmMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTwTaZQBwFNaNfKQBrKwMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTwTaZQBwFNaNfKQBrwMKxSQDhQDg4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxAaTaZQByFNaNfKQBtKxQtMKxSQDmQDl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxEQCo8datetime4date5MonthTaZQCuFNaNfKQCpKxQBpMKxSQEjQEi4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxaTaZQBxFNaNfKQBsKxaMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxaTaZQBxFNaNfKQBsxaMKxSQDjQDi4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxhTaZQBxFNaNfKQBsKxhMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxiTaZQBxFNaNfKQBsKxiMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxkTaZQBxFNaNfKQBsKxkMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxsTaZQBxFNaNfKQBsKxsMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTxtTaZQBxFNaNfKQBsKxtMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTyAaTaZQByFNaNfKQBtKyQtMKxSQDmQDl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTyaTaZQBxFNaNfKQBsKyaMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTAyaZQoTymTaZQBxFNaNfKQBsKymMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTEQCn5regex8internal2ir2IRTaZQCuFNaNfKQCpKQBpMKxSQEiQEh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTEQCn6logger4core8LogLevelTaZQCuFNaNfKQCpKQBpMKxSQEiQEh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTEQCn6socket12SocketOptionTaZQCuFNaNfKQCpKQBpMKxSQEiQEh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTkTaZQBwFNaNfKQBrKkMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTwTaZQBwFNaNfKQBrKwMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTwTaZQBwFNaNfKQBrwMKxSQDhQDg4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5array__T8AppenderTyAaZQoTyaTaZQBxFNaNfKQBsKyaMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTAxaTaZQCdFNfKQBwKQrMKxSQDoQDn4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTAyaTaZQCdFNfKQBwKQrMKxSQDoQDn4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTEQCs8datetime4date5MonthTaZQCyFNfKQCrKQBmMKxSQEkQEj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterThTaZQCbFNfKQBuKhMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTiTaZQCbFNfKQBuKiMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTkTaZQCbFNfKQBuKkMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTmTaZQCbFNfKQBuKmMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTsTaZQCbFNfKQBuKsMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTwTaZQCbFNfKQBuKwMKxSQDlQDk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTwTaZQCbFNfKQBuwMKxSQDkQDj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTxaTaZQCcFNfKQBvKxaMKxSQDnQDm4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTxlTaZQCcFNfKQBvKxlMKxSQDnQDm4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTxmTaZQCcFNfKQBvKxmMKxSQDnQDm4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBj5stdio4File17LockingTextWriterTyaTaZQCcFNfKQBvKyaMKxSQDnQDm4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi8NoOpSinkTmTaZQBjFNaNfKQBeKmMKxSQCvQCu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi8NoOpSinkTxdTaZQBkFNaNfKQBfKxdMKxSQCxQCw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi8NoOpSinkTxhTaZQBkFNaNfKQBfKxhMKxSQCxQCw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi8NoOpSinkTymTaZQBkFNaNfKQBfKymMKxSQCxQCw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTxdTaZQCmFNaNfKQChKxdMKxSQDzQDy4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTkTaZQCzFNaNfKQCuKkMKxSQElQEk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T11formatValueTSQBjQBi__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTykTaZQDaFNaNfKQCvKykMKxSQEnQEm4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTAaTPvZQCdFNaNfKQBvMxAaQwQvZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTAxaTQeZQCeFNaNfKQBwMxAaQxQzZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTAxhZQCbFNaNfKQBtMxAaQuZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTAyAaZQCcFNaNfKQBuMxAaQvZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTC14TypeInfo_ClassTkTkZQCtFNaNfKQClMxAaQBmkkZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTEQCs8datetime4date5MonthZQCwFNaNfKQCoMxAaQBpZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTPvZQCaFNaNfKQBsMxAaQtZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjTQmTmZQCfFNaNfKQBxMxAaQBhQBkmZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjTQmZQCdFNaNfKQBvMxAaQBfQBiZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjTxkTQpZQCgFNaNfKQByMxAaQBixkQBnZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjTxkTkZQCfFNaNfKQBxMxAaQBhxkkZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjTxkZQCdFNaNfKQBvMxAaQBfxkZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTQjZQCaFNaNfKQBsMxAaQBcZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTbTQlTQoTEQDa3net7isemail15EmailStatusCodeZQDnFNaNfKQDfMxAabQCqQCtQCfZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTiTEQCu8datetime4date5MonthTiZQDaFNaNfKQCsMxAaiQBsiZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTiTiZQCbFNaNfKQBtMxAaiiZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTiZQBzFNaNfKQBrMxAaiZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTkZQBzFNaNfKQBrMxAakZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTmTmTymZQCeFNaNfKQBwMxAammymZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTmTmZQCbFNaNfKQBtMxAammZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTmZQBzFNaNfKQBrMxAamZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxhTxhTxhTxhZQCjFNaNfKQCbMxAaxhxhxhxhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxhTxhTxhZQCgFNaNfKQByMxAaxhxhxhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxsTQmTxhZQCgFNaNfKQByMxAaxsQBkxhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxsTxEQCw8datetime4date5MonthTxhZQDdFNaNfKQCvMxAaxsxQBvxhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxsZQCaFNaNfKQBsMxAaxsZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTAyaZQoTaTxtTQmTxtTxtZQCjFNaNfKQCbMxAaxtQBnxtxtZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5array__T8AppenderTyAaZQoTaTkZQBzFNaNfKQBrMxAakZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAxaZQCgFNfQBvMxAaQrZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTQeTiTQjZQCoFNfKQCeMxAaQBaQBdiQBhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTmTQgTQjTxlZQCrFNfKQChMxAaQBdmQBhQBkxlZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTmTQgTQjTxmZQCrFNfKQChMxAaQBdmQBhQBkxmZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTmTQgTxmZQCoFNfKQCeMxAaQBamQBexmZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTxmTQhTQkTmZQCrFNfKQChMxAaQBdxmQBiQBlmZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaTxmTQhTxmZQCpFNfKQCfMxAaQBbxmQBgxmZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTAyaZQCgFNfKQBwMxAaQsZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTkZQCeFNfKQBuMxAakZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTmTAyaTmTQgTmTQlTQoZQCvFNfKQClMxAamQBgmQBkmQBoQBrZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBm5stdio4File17LockingTextWriterTaTsTEQCz8datetime4date5MonthThThThThTxlZQDoFNfKQDeMxAasQBzhhhhxlZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl8NoOpSinkTaTmTmTymZQBrFNaNfQBiMxAammymZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl8NoOpSinkTaTmTmZQBoFNaNfQBfMxAammZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl8NoOpSinkTaTmZQBmFNaNfQBdMxAamZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl8NoOpSinkTaTxdZQBnFNaNfQBeMxAaxdZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl8NoOpSinkTaTxhTxhTxhZQBtFNaNfQBkMxAaxhxhxhZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTaTxdZQCpFNaNfKQChMxAaxdZk@Base 13 + _D3std6format5write__T14formattedWriteTSQBmQBl__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTaTykTykTkTkTkZQDmFNaNfKQDeMxAaykykkkkZk@Base 13 + _D3std6format5write__T14formattedWriteVAyaa13_54253032642530326425303264TSQCu5array__T8AppenderTQCfZQoTxhTxhTxhZQDmFNaNfKQBwxhxhxhZk@Base 13 + _D3std6format5write__T14formattedWriteVAyaa15_20253032643a253032643a25303264TSQCy5array__T8AppenderTQCjZQoTxhTxhTxhZQDqFNaNfKQBwxhxhxhZk@Base 13 + _D3std6format5write__T14formattedWriteVAyaa15_54253032643a253032643a25303264TSQCy5array__T8AppenderTQCjZQoTxhTxhTxhZQDqFNaNfKQBwxhxhxhZk@Base 13 + _D3std6format8NoOpSink6__initZ@Base 13 + _D3std6format8NoOpSink__T3putTAaZQiMFNaNbNiNfMxAaZv@Base 13 + _D3std6format8NoOpSink__T3putTAxaZQjMFNaNbNiNfMxAaZv@Base 13 + _D3std6format8NoOpSink__T3putTAyaZQjMFNaNbNiNfMxAyaZv@Base 13 + _D3std6format8NoOpSink__T3putTaZQhMFNaNbNiNfMxaZv@Base 14 + _D3std6format8NoOpSink__T3putTwZQhMFNaNbNiNfMxwZv@Base 14 + _D3std6format8internal4read11__moduleRefZ@Base 13 + _D3std6format8internal4read12__ModuleInfoZ@Base 13 + _D3std6format8internal5write10baseOfSpecFNaNfIaZk@Base 13 + _D3std6format8internal5write11__moduleRefZ@Base 13 + _D3std6format8internal5write12__ModuleInfoZ@Base 13 + _D3std6format8internal5write12hasPreviewInyb@Base 13 + _D3std6format8internal5write__T10formatCharTSQBr5array__T8AppenderTAyaZQoZQBrFNaNfKQBnIwIaZv@Base 13 + _D3std6format8internal5write__T10formatCharTSQBr5array__T8AppenderTyAaZQoZQBrFNaNfKQBnIwIaZv@Base 13 + _D3std6format8internal5write__T10formatCharTSQBr5stdio4File17LockingTextWriterZQBwFNfKQBqIwIaZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTAxaTaZQByFNaNfKQBtKQtMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTAxhTaZQByFNaNfKQBtKQtMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTAyAaTaZQBzFNaNfKQBuKQuMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTQhTaZQBxFNaNfKQBsKQzMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTSQCw4path__T16asNormalizedPathTSQEb5range__T5chainTSQEv3utf__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplTSQGvQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtTaZQIjFNaNfKQIeKQHeMKxSQKgQKf4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTAyaZQoTSQCw5range__T5chainTSQDq3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQFpQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultTaZQGpFNaNfKQGkKQFkMKxSQImQIl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5array__T8AppenderTyAaZQoTAyaTaZQByFNaNfKQBtKQtMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5stdio4File17LockingTextWriterTAxaTaZQCdFNfKQBwKQrMKxSQDxQDw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T11formatRangeTSQBs5stdio4File17LockingTextWriterTAyaTaZQCdFNfKQBwKQrMKxSQDxQDw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12formatObjectTSQBt5array__T8AppenderTAyaZQoTC14TypeInfo_ClassTaZQCnFNaNbNfKQCjKQBjMKxSQEmQEl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12formatObjectTSQBt5array__T8AppenderTAyaZQoTSQCx11concurrency3TidTaZQCrFNaNfKQClKQBlMKxSQEoQEn4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAaTAyaTQeTQhTaZQBsFNaNfKQBmQBbQBbQBeQBhMKxSQDxQDw4spec__T10FormatSpecTaZQpEQFdQFcQEyQEs13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAaTQdTQgTQjTaZQBrFNaNfKQBlQBaQBdQBgQBjMKxSQDwQDv4spec__T10FormatSpecTaZQpEQFcQFbQExQEr13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAyaTAaTQdTQgTaZQBsFNaNfKQBmQBbQBaQBdQBgMKxSQDxQDw4spec__T10FormatSpecTaZQpEQFdQFcQEyQEs13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAyaTAaTQdTQkTaZQBsFNaNfKQBmQBbQBaQBdQBkMKxSQDxQDw4spec__T10FormatSpecTaZQpEQFdQFcQEyQEs13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAyaTQeTQhTQkTaZQBsFNaNfKQBmQBbQBeQBhQBkMKxSQDxQDw4spec__T10FormatSpecTaZQpEQFdQFcQEyQEs13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTDFNaNbNfAxaZvTAyaTQeTQhTaZQBpFNaNfKQBjQyQBaQBdMKxSQDqQDp4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAaTQdTQgTQjTaZQChFNaNfKQCbQBaQBdQBgQBjMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAaTQdTQnTQqTaZQChFNaNfKQCbQBaQBdQBnQBqMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAaTQdTQnTaZQCeFNaNfKQByQxQzQBiMKxSQEeQEd4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAaTaZQByFNaNfKQBsQrMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAwTaZQByFNaNfKQBsQrMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTAxaTaZQBzFNaNfKQBtQsMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTAaTaZQCeFNaNfKQByQBeQBhQxMKxSQEfQEe4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTAwTaZQCeFNaNfKQByQBeQBhQxMKxSQEfQEe4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTAxaTaZQCfFNaNfKQBzQBfQBiQyMKxSQEgQEf4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTQnTAaTaZQChFNaNfKQCbQBhQBkQBnQBaMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTQnTAwTaZQChFNaNfKQCbQBhQBkQBnQBaMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTQnTAxaTaZQCiFNaNfKQCcQBiQBlQBoQBbMKxSQEnQEm4spec__T10FormatSpecTaZQpEQFtQFsQFoQFi13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTQnTQqTaZQChFNaNfKQCbQBhQBkQBnQBqMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTQkTQnTaZQCeFNaNfKQByQBeQBhQBkMKxSQEgQEf4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTAyaZQoTQhTaZQByFNaNfKQBsQyMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAaTQdTAyaTQeTaZQCiFNaNfKQCcQBbQBeQBbQBeMKxSQEnQEm4spec__T10FormatSpecTaZQpEQFtQFsQFoQFi13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAaTQdTAyaTaZQCfFNaNfKQBzQyQBaQxMKxSQEfQEe4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAaTQdTQgTQjTaZQChFNaNfKQCbQBaQBdQBgQBjMKxSQEmQEl4spec__T10FormatSpecTaZQpEQFsQFrQFnQFh13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAaTaZQByFNaNfKQBsQrMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAwTaZQByFNaNfKQBsQrMKxSQDtQDs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTAaTaZQCfFNaNfKQBzQyQBaQwMKxSQEfQEe4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTAwTaZQCfFNaNfKQBzQyQBaQwMKxSQEfQEe4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTQhTAaTaZQCiFNaNfKQCcQBbQBeQBhQBaMKxSQEnQEm4spec__T10FormatSpecTaZQpEQFtQFsQFoQFi13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTQhTAwTaZQCiFNaNfKQCcQBbQBeQBhQBaMKxSQEnQEm4spec__T10FormatSpecTaZQpEQFtQFsQFoQFi13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTQhTQkTaZQCiFNaNfKQCcQBbQBeQBhQBkMKxSQEnQEm4spec__T10FormatSpecTaZQpEQFtQFsQFoQFi13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTQeTQhTaZQCfFNaNfKQBzQyQBaQBdMKxSQEgQEf4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5array__T8AppenderTyAaZQoTAyaTaZQBzFNaNfKQBtQsMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAaTQdTAyaTQeTaZQCnFNfKQCfQzQBbQyQBaMKxSQEoQEn4spec__T10FormatSpecTaZQpEQFuQFtQFpQFj13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAaTQdTAyaTaZQCkFNfKQCcQwQyQuMKxSQEhQEg4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAaTQdTQgTQjTaZQCmFNfKQCeQyQBaQBdQBgMKxSQEoQEn4spec__T10FormatSpecTaZQpEQFuQFtQFpQFj13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAaTaZQCdFNfKQBvQpMKxSQDwQDv4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAwTaZQCdFNfKQBvQpMKxSQDwQDv4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAxaTaZQCeFNfKQBwQqMKxSQDxQDw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTAaTaZQCkFNfKQCcQwQyQtMKxSQEhQEg4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTAwTaZQCkFNfKQCcQwQyQtMKxSQEhQEg4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTAxaTaZQClFNfKQCdQxQzQuMKxSQEiQEh4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTQhTAaTaZQCnFNfKQCfQzQBbQBeQxMKxSQEoQEn4spec__T10FormatSpecTaZQpEQFuQFtQFpQFj13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTQhTAwTaZQCnFNfKQCfQzQBbQBeQxMKxSQEoQEn4spec__T10FormatSpecTaZQpEQFuQFtQFpQFj13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTQhTAxaTaZQCoFNfKQCgQBaQBdQBgQzMKxSQEqQEp4spec__T10FormatSpecTaZQpEQFwQFvQFrQFl13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTQhTQkTaZQCnFNfKQCfQzQBbQBeQBhMKxSQEpQEo4spec__T10FormatSpecTaZQpEQFvQFuQFqQFk13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTQeTQhTaZQCkFNfKQCcQwQyQBaMKxSQEiQEh4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBt5stdio4File17LockingTextWriterTAyaTaZQCeFNfKQBwQqMKxSQDxQDw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAaTAyaTQeTQhTaZQBvFNaNfKQBpQBbQBbQBeQBhMKxSQEaQDz4spec__T10FormatSpecTaZQpEQFgQFfQFbQEv13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAaTQdTAyaTQeTaZQBvFNaNfKQBpQBbQBeQBbQBeMKxSQEaQDz4spec__T10FormatSpecTaZQpEQFgQFfQFbQEv13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAaTQdTAyaTaZQBsFNaNfKQBmQyQBaQxMKxSQDsQDr4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAaTQdTQgTQjTaZQBuFNaNfKQBoQBaQBdQBgQBjMKxSQDzQDy4spec__T10FormatSpecTaZQpEQFfQFeQFaQEu13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAyaTAaTQdTQgTaZQBvFNaNfKQBpQBbQBaQBdQBgMKxSQEaQDz4spec__T10FormatSpecTaZQpEQFgQFfQFbQEv13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAyaTAaTQdTQkTaZQBvFNaNfKQBpQBbQBaQBdQBkMKxSQEaQDz4spec__T10FormatSpecTaZQpEQFgQFfQFbQEv13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAyaTQeTQhTQkTaZQBvFNaNfKQBpQBbQBeQBhQBkMKxSQEaQDz4spec__T10FormatSpecTaZQpEQFgQFfQFbQEv13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs8NoOpSinkTAyaTQeTQhTaZQBsFNaNfKQBmQyQBaQBdMKxSQDtQDs4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaTQeTQhTQkTaZQCxFNaNfKQCrQBbQBeQBhQBkMKxSQFcQFb4spec__T10FormatSpecTaZQpEQGiQGhQGdQFx13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaTQeTQhTaZQCuFNaNfKQCoQyQBaQBdMKxSQEvQEu4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaTQtTQwTQkTaZQCxFNaNfKQCrQBbQBtQBwQBkMKxSQFcQFb4spec__T10FormatSpecTaZQpEQGiQGhQGdQFx13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTAyaTQtTQwTQzTaZQCxFNaNfKQCrQBbQBtQBwQBzMKxSQFcQFb4spec__T10FormatSpecTaZQpEQGiQGhQGdQFx13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQpTAyaTQeTQhTaZQCxFNaNfKQCrQBqQBbQBeQBhMKxSQFcQFb4spec__T10FormatSpecTaZQpEQGiQGhQGdQFx13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTQpTQsTQvTQyTaZQCwFNaNfKQCqQBpQBsQBvQByMKxSQFbQFa4spec__T10FormatSpecTaZQpEQGhQGgQGcQFw13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQuTQxTAyaTQeTaZQDlFNaNfKQDfQBvQByQBbQBeMKxSQFqQFp4spec__T10FormatSpecTaZQpEQGwQGvQGrQGl13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQuTQxTAyaTaZQDiFNaNfKQDcQBsQBvQyMKxSQFjQFi4spec__T10FormatSpecTaZQpbZv@Base 13 + _D3std6format8internal5write__T12writeAlignedTSQBtQBs__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTQuTQxTQBaTQBeTaZQDmFNaNfKQDgQBwQBzQCcQCfMKxSQFrQFq4spec__T10FormatSpecTaZQpEQGxQGwQGsQGm13PrecisionTypeZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTAyaZQoTQhTaZQBzFNaNfKQBsQyMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTAyaZQoTaTaZQByFNaNfKQBraMKxSQDsQDr4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTAyaZQoTwTaZQByFNaNfKQBrwMKxSQDsQDr4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTAyaZQoTxaTaZQBzFNaNfKQBsxaMKxSQDuQDt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTAyaZQoTxhTaZQBzFNaNfKQBsKxhMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5array__T8AppenderTyAaZQoTwTaZQByFNaNfKQBrwMKxSQDsQDr4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T13formatElementTSQBu5stdio4File17LockingTextWriterTwTaZQCdFNfKQBuwMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTDFNaNbNfAxaZvTeTaZQBkFNaNfKQBbxeMKxSQDfQDe4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTAaTaZQCbFNaNfKQBsMxAaMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTAxaTaZQCcFNaNfKQBtMxAaMKxSQDzQDy4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTAxhTaZQCcFNaNfKQBtQsMKxSQDxQDw4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTAyAaTaZQCdFNaNfKQBuQtMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTC14TypeInfo_ClassTaZQCqFNaNfKQChQBgMKxSQEmQEl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTEQDa3net7isemail15EmailStatusCodeTaZQDgFNaNfKQCxQBwMKxSQFcQFb4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTEQDa8datetime4date5MonthTaZQCxFNaNfKQCoQBnMKxSQEtQEs4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTPSQDb11parallelism12AbstractTaskTaZQDfFNaNfKQCwMxPSQEyQBxQBnMKxSQFlQFk4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTPvTaZQCbFNaNfKQBsMxPvMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTPxSQDcQDb4spec__T10FormatSpecTaZQpTaZQDhFNaNfKQCyMxPQByMKxQCeZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTQhTaZQCbFNaNfKQBsMxAyaMKxSQDzQDy4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTSQDa11concurrency3TidTaZQCuFNaNfKQClKQBlMKxSQErQEq4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTSQDa4path__T16asNormalizedPathTSQEf5range__T5chainTSQEz3utf__T10byCodeUnitTQDeZQrFQDlZ14ByCodeUnitImplTSQGzQCu__T10OnlyResultTaZQpTQDcZQDnFQDkQBnQDqZ6ResultZQFpFNkMQFdZQtTaZQInFNaNfKQIeKQHeMKxSQKkQKj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTSQDa5range__T5chainTSQDu3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQFtQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultTaZQGtFNaNfKQGkKQFkMKxSQIqQIp4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTaTaZQCaFNaNfKQBrxaMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTbTaZQCaFNaNfKQBrxbMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTgTaZQCaFNaNfKQBrxgMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoThTaZQCaFNaNfKQBrxhMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTiTaZQCaFNaNfKQBrxiMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTkTaZQCaFNaNfKQBrxkMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTmTaZQCaFNaNfKQBrxmMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTsTaZQCaFNaNfKQBrxsMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTtTaZQCaFNaNfKQBrxtMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTwTaZQCaFNaNfKQBrxwMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTAyaZQoTxEQDb8datetime4date5MonthTaZQCyFNaNfKQCpxQBoMKxSQEvQEu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTAyaTaZQCcFNaNfKQBtMxAyaMKxSQEaQDz4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTEQDa5regexQCy2ir2IRTaZQCsFNaNfKQCjQBiMKxSQEoQEn4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTEQDa6logger4core8LogLevelTaZQCyFNaNfKQCpQBoMKxSQEuQEt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTEQDa6socket12SocketOptionTaZQCyFNaNfKQCpQBoMKxSQEuQEt4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTaTaZQCaFNaNfKQBrxaMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoThTaZQCaFNaNfKQBrxhMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTiTaZQCaFNaNfKQBrxiMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTkTaZQCaFNaNfKQBrxkMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5array__T8AppenderTyAaZQoTwTaZQCaFNaNfKQBrxwMKxSQDvQDu4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTAxaTaZQChFNfKQBwMxAaMKxSQEcQEb4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTAyaTaZQChFNfKQBwMxAyaMKxSQEdQEc4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTEQDf8datetime4date5MonthTaZQDcFNfKQCrQBlMKxSQEwQEv4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTaTaZQCfFNfKQBuxaMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterThTaZQCfFNfKQBuxhMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTiTaZQCfFNfKQBuxiMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTkTaZQCfFNfKQBuxkMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTlTaZQCfFNfKQBuxlMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTmTaZQCfFNfKQBuxmMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTsTaZQCfFNfKQBuxsMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBw5stdio4File17LockingTextWriterTwTaZQCfFNfKQBuxwMKxSQDyQDx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBwQBv8NoOpSinkTdTaZQBnFNaNfKQBexdMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBwQBv8NoOpSinkThTaZQBnFNaNfKQBexhMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBwQBv8NoOpSinkTmTaZQBnFNaNfKQBexmMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBwQBv__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCpFNaNfKQCgxdMKxSQEkQEj4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T15formatValueImplTSQBwQBv__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTkTaZQDdFNaNfKQCuxkMKxSQEyQEx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCqQCp4spec__T10FormatSpecTaZQpZb@Base 13 + _D3std6format8internal5write__T20formatValueImplUlongTSQCb5array__T8AppenderTAyaZQoTaZQCdFNaNfKQBpmIbMKxSQDzQDy4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T20formatValueImplUlongTSQCb5array__T8AppenderTyAaZQoTaZQCdFNaNfKQBpmIbMKxSQDzQDy4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T20formatValueImplUlongTSQCb5stdio4File17LockingTextWriterTaZQCiFNfKQBsmIbMKxSQEcQEb4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T20formatValueImplUlongTSQCbQCa8NoOpSinkTaZQBqFNaNfKQBcmIbMKxSQDmQDl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T20formatValueImplUlongTSQCbQCa__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4SinkTaZQDgFNaNfKQCsmIbMKxSQFcQFb4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T22enforceValidFormatSpecTC14TypeInfo_ClassTaZQBtFNaNfMKxSQDiQDh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T22enforceValidFormatSpecTSQCd11concurrency3TidTaZQBxFNaNfMKxSQDmQDl4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T22enforceValidFormatSpecTSQCd4path__T16asNormalizedPathTSQDi5range__T5chainTSQEc3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQGbQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQtTaZQHpFNaNbNiNfMKxSQJiQJh4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T22enforceValidFormatSpecTSQCd5range__T5chainTSQCx3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQEwQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultTaZQFwFNaNbNiNfMKxSQHpQHo4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal5write__T5roundTG1077aZQoFNaNbNiNfKQtmmEQCiQChQCdQBx13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG1078aZQoFNaNbNiNfKQtmmEQCiQChQCdQBx13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG15aZQmFNaNbNiNfKQrmmEQCgQCfQCbQBv13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG16448aZQpFNaNbNiNfKQummEQCjQCiQCeQBy13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG16449aZQpFNaNbNiNfKQummEQCjQCiQCeQBy13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG18aZQmFNaNbNiNfKQrmmEQCgQCfQCbQBv13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T5roundTG64aZQmFNaNbNiNfKQrmmEQCgQCfQCbQBv13RoundingClassbaZb@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTAaTPvZQCvFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTAxaTQeZQCwFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTAxaZQCtFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTAxhZQCtFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTAyAaZQCuFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTC14TypeInfo_ClassTkTkZQDlFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTEQDt8datetime4date5MonthZQDoFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTPvZQCsFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTQClTiTQCrZQDdFNaNfkQDeQDhiQDlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTQClTmZQCzFNaNfkQDaQDdmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTQClZQCxFNaNfkQCyQDbZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTmTQCnTQCrTxlZQDgFNaNfkQDhmQDlQDoxlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTmTQCnTQCrTxmZQDgFNaNfkQDhmQDlQDoxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTmTQCnTxmZQDcFNaNfkQDdmQDhxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTxkTQCoZQDaFNaNfkQDbxkQDgZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTxkTkZQCyFNaNfkQCzxkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTxkZQCwFNaNfkQCxxkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTxmTQCoTQCsTmZQDgFNaNfkQDhxmQDmQDpmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChTxmTQCoTxmZQDdFNaNfkQDexmQDjxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTQChZQCtFNaNfkQCuZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTbTQCjTQCnTEQEd3net7isemail15EmailStatusCodeZQEhFNaNfkbQEjQEmQByZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTiTEQDv8datetime4date5MonthTiZQDsFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTiTiZQCtFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTiZQCrFNaNfkiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTkZQCrFNaNfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTmTQCjTmTQCpTmTQCvTQCzZQDlFNaNfkmQDnmQDrmQDvQDyZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTmTmTymZQCwFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTmTmZQCtFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTmZQCrFNaNfkmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTsTEQDv8datetime4date5MonthThThThThTxlZQEbFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxdZQCsFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxhTxhTxhTxhZQDbFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxhTxhTxhZQCyFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxsTQCkTxhZQCzFNaNfkxsQDcxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxsTxEQDx8datetime4date5MonthTxhZQDvFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxsZQCsFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTxtTQCkTxtTxtZQDcFNaNfkxtQDfxtxtZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa13_696e7465676572207769647468SQCt6traits10isIntegralTiTykTykTkTkTkZQDbFNaNfkykykkkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTAaTPvZQDdFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTAxaTQeZQDeFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTAxaZQDbFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTAxhZQDbFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTAyAaZQDcFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTC14TypeInfo_ClassTkTkZQDtFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTEQEb8datetime4date5MonthZQDwFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTPvZQDaFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTQCtTiTQCzZQDlFNaNfkQDmQDpiQDtZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTQCtTmZQDhFNaNfkQDiQDlmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTQCtZQDfFNaNfkQDgQDjZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTmTQCvTQCzTxlZQDoFNaNfkQDpmQDtQDwxlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTmTQCvTQCzTxmZQDoFNaNfkQDpmQDtQDwxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTmTQCvTxmZQDkFNaNfkQDlmQDpxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTxkTQCwZQDiFNaNfkQDjxkQDoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTxkTkZQDgFNaNfkQDhxkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTxkZQDeFNaNfkQDfxkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTxmTQCwTQDaTmZQDoFNaNfkQDpxmQDuQDxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpTxmTQCwTxmZQDlFNaNfkQDmxmQDrxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTQCpZQDbFNaNfkQDcZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTbTQCrTQCvTEQEl3net7isemail15EmailStatusCodeZQEpFNaNfkbQErQEuQByZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTiTEQEd8datetime4date5MonthTiZQEaFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTiTiZQDbFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTiZQCzFNaNfkiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTkZQCzFNaNfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTmTQCrTmTQCxTmTQDdTQDhZQDtFNaNfkmQDvmQDzmQEdQEgZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTmTmTymZQDeFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTmTmZQDbFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTmZQCzFNaNfkmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTsTEQEd8datetime4date5MonthThThThThTxlZQEjFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxdZQDaFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxhTxhTxhTxhZQDjFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxhTxhTxhZQDgFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxsTQCsTxhZQDhFNaNfkxsQDkxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxsTxEQEf8datetime4date5MonthTxhZQEdFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxsZQDaFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTxtTQCsTxtTxtZQDkFNaNfkxtQDnxtxtZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa17_696e746567657220707265636973696f6eSQDb6traits10isIntegralTiTykTykTkTkTkZQDjFNaNfkykykkkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTAaTPvZQDhFNaNfkQpQoZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTAxaTQeZQDiFNaNfkQqQsZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTAxaZQDfFNaNfkQnZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTAxhZQDfFNaNfkQnZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTAyAaZQDgFNaNfkQoZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTC14TypeInfo_ClassTkTkZQDxFNaNfkQBfkkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTEQEf8datetime4date5MonthZQEaFNaNfkQBiZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTPvZQDeFNaNfkQmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTQCxTiTQDdZQDpFNaNfkQDqQDtiQDxZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTQCxTmZQDlFNaNfkQDmQDpmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTQCxZQDjFNaNfkQDkQDnZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTmTQCzTQDdTxlZQDsFNaNfkQDtmQDxQEaxlZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTmTQCzTQDdTxmZQDsFNaNfkQDtmQDxQEaxmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTmTQCzTxmZQDoFNaNfkQDpmQDtxmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTxkTQDaZQDmFNaNfkQDnxkQDsZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTxkTkZQDkFNaNfkQDlxkkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTxkZQDiFNaNfkQDjxkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTxmTQDaTQDeTmZQDsFNaNfkQDtxmQDyQEbmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtTxmTQDaTxmZQDpFNaNfkQDqxmQDvxmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTQCtZQDfFNaNfkQDgZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTbTQCvTQCzTEQEp3net7isemail15EmailStatusCodeZQEtFNaNfkbQEvQEyQByZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTiTEQEh8datetime4date5MonthTiZQEeFNaNfkiQBliZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTiTiZQDfFNaNfkiiZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTiZQDdFNaNfkiZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTkZQDdFNaNfkkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTmTQCvTmTQDbTmTQDhTQDlZQDxFNaNfkmQDzmQEdmQEhQEkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTmTmTymZQDiFNaNfkmmymZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTmTmZQDfFNaNfkmmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTmZQDdFNaNfkmZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTsTEQEh8datetime4date5MonthThThThThTxlZQEnFNaNfksQBuhhhhxlZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxdZQDeFNaNfkxdZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxhTxhTxhTxhZQDnFNaNfkxhxhxhxhZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxhTxhTxhZQDkFNaNfkxhxhxhZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxsTQCwTxhZQDlFNaNfkxsQDoxhZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxsTxEQEj8datetime4date5MonthTxhZQEhFNaNfkxsxQBoxhZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxsZQDeFNaNfkxsZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTxtTQCwTxtTxtZQDoFNaNfkxtQDrxtxtZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa19_736570617261746f7220636861726163746572SQDf6traits10isSomeCharTwTykTykTkTkTkZQDnFNaNfkykykkkkZw@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTAaTPvZQDlFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTAxaTQeZQDmFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTAxaZQDjFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTAxhZQDjFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTAyAaZQDkFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTC14TypeInfo_ClassTkTkZQEbFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTEQEj8datetime4date5MonthZQEeFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTPvZQDiFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTQDbTiTQDhZQDtFNaNfkQDuQDxiQEbZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTQDbTmZQDpFNaNfkQDqQDtmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTQDbZQDnFNaNfkQDoQDrZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTmTQDdTQDhTxlZQDwFNaNfkQDxmQEbQEexlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTmTQDdTQDhTxmZQDwFNaNfkQDxmQEbQEexmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTmTQDdTxmZQDsFNaNfkQDtmQDxxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTxkTQDeZQDqFNaNfkQDrxkQDwZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTxkTkZQDoFNaNfkQDpxkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTxkZQDmFNaNfkQDnxkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTxmTQDeTQDiTmZQDwFNaNfkQDxxmQEcQEfmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxTxmTQDeTxmZQDtFNaNfkQDuxmQDzxmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTQCxZQDjFNaNfkQDkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTbTQCzTQDdTEQEt3net7isemail15EmailStatusCodeZQExFNaNfkbQEzQFcQByZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTiTEQEl8datetime4date5MonthTiZQEiFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTiTiZQDjFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTiZQDhFNaNfkiZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTkZQDhFNaNfkkZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTmTQCzTmTQDfTmTQDlTQDpZQEbFNaNfkmQEdmQEhmQElQEoZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTmTmTymZQDmFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTmTmZQDjFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTmZQDhFNaNfkmZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTsTEQEl8datetime4date5MonthThThThThTxlZQErFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxdZQDiFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxhTxhTxhTxhZQDrFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxhTxhTxhZQDoFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxsTQDaTxhZQDpFNaNfkxsQDsxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxsTxEQEn8datetime4date5MonthTxhZQElFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxsZQDiFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTxtTQDaTxtTxtZQDsFNaNfkxtQDvxtxtZi@Base 13 + _D3std6format8internal5write__T6getNthVAyaa21_736570617261746f72206469676974207769647468SQDj6traits10isIntegralTiTykTykTkTkTkZQDrFNaNfkykykkkkZi@Base 13 + _D3std6format8internal5write__T8getWidthTAaZQnFNaNfQkZl@Base 13 + _D3std6format8internal5write__T8getWidthTAwZQnFNaNbNfQmZl@Base 13 + _D3std6format8internal5write__T8getWidthTAxaZQoFNaNfQlZl@Base 13 + _D3std6format8internal5write__T8getWidthTAyaZQoFNaNfQlZl@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TAaTPvZQBzFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TAxaTQeZQCaFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TAxaZQBxFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TAxhZQBxFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TAyAaZQByFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TC14TypeInfo_ClassTkTkZQCpFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TEQCx8datetime4date5MonthZQCsFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TPvZQBwFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTQBmTiTQBsZQChFNaNfkQCfQCiiQCmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTQBmTmZQCdFNaNfkQCbQCemZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTQBmZQCbFNaNfkQBzQCcZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTmTQBoTQBsTxlZQCkFNaNfkQCimQCmQCpxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTmTQBoTQBsTxmZQCkFNaNfkQCimQCmQCpxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTmTQBoTxmZQCgFNaNfkQCemQCixmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTxkTQBpZQCeFNaNfkQCcxkQChZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTxkTkZQCcFNaNfkQCaxkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTxkZQCaFNaNfkQByxkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTxmTQBpTQBtTmZQCkFNaNfkQCixmQCnQCqmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiTxmTQBpTxmZQChFNaNfkQCfxmQCkxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TQBiZQBxFNaNfkQBvZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TbTQBkTQBoTEQDh3net7isemail15EmailStatusCodeZQDlFNaNfkbQDkQDnQByZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TiTEQCz8datetime4date5MonthTiZQCwFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TiTiZQBxFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TiZQBvFNaNfkiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TkZQBvFNaNfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TmTQBkTmTQBqTmTQBwTQCaZQCpFNaNfkmQComQCsmQCwQCzZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TmTmTymZQCaFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TmTmZQBxFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TmZQBvFNaNfkmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TsTEQCz8datetime4date5MonthThThThThTxlZQDfFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxdZQBwFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxhTxhTxhTxhZQCfFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxhTxhTxhZQCcFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxsTQBlTxhZQCdFNaNfkxsQCdxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxsTxEQDb8datetime4date5MonthTxhZQCzFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxsZQBwFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TxtTQBlTxtTxtZQCgFNaNfkxtQCgxtxtZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa13_696e7465676572207769647468TykTykTkTkTkZQCfFNaNfkykykkkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTAaTPvZQChFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTAxaTQeZQCiFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTAxaZQCfFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTAxhZQCfFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTAyAaZQCgFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTC14TypeInfo_ClassTkTkZQCxFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTEQDf8datetime4date5MonthZQDaFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTPvZQCeFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTQBuTiTQCaZQCpFNaNfkQCnQCqiQCuZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTQBuTmZQClFNaNfkQCjQCmmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTQBuZQCjFNaNfkQChQCkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTmTQBwTQCaTxlZQCsFNaNfkQCqmQCuQCxxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTmTQBwTQCaTxmZQCsFNaNfkQCqmQCuQCxxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTmTQBwTxmZQCoFNaNfkQCmmQCqxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTxkTQBxZQCmFNaNfkQCkxkQCpZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTxkTkZQCkFNaNfkQCixkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTxkZQCiFNaNfkQCgxkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTxmTQBxTQCbTmZQCsFNaNfkQCqxmQCvQCymZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqTxmTQBxTxmZQCpFNaNfkQCnxmQCsxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTQBqZQCfFNaNfkQCdZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTbTQBsTQBwTEQDp3net7isemail15EmailStatusCodeZQDtFNaNfkbQDsQDvQByZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTiTEQDh8datetime4date5MonthTiZQDeFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTiTiZQCfFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTiZQCdFNaNfkiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTkZQCdFNaNfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTmTQBsTmTQByTmTQCeTQCiZQCxFNaNfkmQCwmQDamQDeQDhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTmTmTymZQCiFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTmTmZQCfFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTmZQCdFNaNfkmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTsTEQDh8datetime4date5MonthThThThThTxlZQDnFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxdZQCeFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxhTxhTxhTxhZQCnFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxhTxhTxhZQCkFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxsTQBtTxhZQClFNaNfkxsQClxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxsTxEQDj8datetime4date5MonthTxhZQDhFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxsZQCeFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTxtTQBtTxtTxtZQCoFNaNfkxtQCoxtxtZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa17_696e746567657220707265636973696f6eTykTykTkTkTkZQCnFNaNfkykykkkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TAaTPvZQCpFNaNfkQpQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TAxaTQeZQCqFNaNfkQqQsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TAxaZQCnFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TAxhZQCnFNaNfkQnZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TAyAaZQCoFNaNfkQoZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TC14TypeInfo_ClassTkTkZQDfFNaNfkQBfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TEQDn8datetime4date5MonthZQDiFNaNfkQBiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TPvZQCmFNaNfkQmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTQCcTiTQCiZQCxFNaNfkQCvQCyiQDcZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTQCcTmZQCtFNaNfkQCrQCumZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTQCcZQCrFNaNfkQCpQCsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTmTQCeTQCiTxlZQDaFNaNfkQCymQDcQDfxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTmTQCeTQCiTxmZQDaFNaNfkQCymQDcQDfxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTmTQCeTxmZQCwFNaNfkQCumQCyxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTxkTQCfZQCuFNaNfkQCsxkQCxZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTxkTkZQCsFNaNfkQCqxkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTxkZQCqFNaNfkQCoxkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTxmTQCfTQCjTmZQDaFNaNfkQCyxmQDdQDgmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByTxmTQCfTxmZQCxFNaNfkQCvxmQDaxmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TQByZQCnFNaNfkQClZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TbTQCaTQCeTEQDx3net7isemail15EmailStatusCodeZQEbFNaNfkbQEaQEdQByZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TiTEQDp8datetime4date5MonthTiZQDmFNaNfkiQBliZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TiTiZQCnFNaNfkiiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TiZQClFNaNfkiZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TkZQClFNaNfkkZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TmTQCaTmTQCgTmTQCmTQCqZQDfFNaNfkmQDemQDimQDmQDpZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TmTmTymZQCqFNaNfkmmymZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TmTmZQCnFNaNfkmmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TmZQClFNaNfkmZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TsTEQDp8datetime4date5MonthThThThThTxlZQDvFNaNfksQBuhhhhxlZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxdZQCmFNaNfkxdZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxhTxhTxhTxhZQCvFNaNfkxhxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxhTxhTxhZQCsFNaNfkxhxhxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxsTQCbTxhZQCtFNaNfkxsQCtxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxsTxEQDr8datetime4date5MonthTxhZQDpFNaNfkxsxQBoxhZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxsZQCmFNaNfkxsZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TxtTQCbTxtTxtZQCwFNaNfkxtQCwxtxtZi@Base 13 + _D3std6format8internal5write__T9getNthIntVAyaa21_736570617261746f72206469676974207769647468TykTykTkTkTkZQCvFNaNfkykykkkkZi@Base 13 + _D3std6format8internal6floats11__moduleRefZ@Base 13 + _D3std6format8internal6floats11isFloatSpecFNaNbNiNfaZb@Base 14.2 + _D3std6format8internal6floats12__ModuleInfoZ@Base 13 + _D3std6format8internal6floats__T10printFloatTDFNaNbNfAxaZvTeTaZQBfFNaNfKQBbxeSQCyQCx4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal6floats__T10printFloatTSQBsQBr8NoOpSinkTdTaZQBiFNaNfKQBexdSQDbQDa4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal6floats__T10printFloatTSQBsQBr__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCkFNaNfKQCgxdSQEdQEc4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std6format8internal6floats__T11printFloatATDFNaNbNfAxaZvTeTaZQBgFNaNfKQBbxeSQCzQCy4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatATSQBtQBs8NoOpSinkTdTaZQBjFNaNfKQBexdSQDcQDb4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatATSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQClFNaNfKQCgxdSQEeQEd4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi0TDFNaNbNfAxaZvTeTaZQBkFNaNfKQBbxeSQDdQDc4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi0TSQBxQBw8NoOpSinkTdTaZQBnFNaNfKQBexdSQDgQDf4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi0TSQBxQBw__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCpFNaNfKQCgxdSQEiQEh4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi1TDFNaNbNfAxaZvTeTaZQBkFNaNfKQBbxeSQDdQDc4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi1TSQBxQBw8NoOpSinkTdTaZQBnFNaNfKQBexdSQDgQDf4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatEVbi1TSQBxQBw__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCpFNaNfKQCgxdSQEiQEh4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi0TDFNaNbNfAxaZvTeTaZQBkFNaNfKQBbxeSQDdQDc4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi0TSQBxQBw8NoOpSinkTdTaZQBnFNaNfKQBexdSQDgQDf4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi0TSQBxQBw__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCpFNaNfKQCgxdSQEiQEh4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi1TDFNaNbNfAxaZvTeTaZQBkFNaNfKQBbxeSQDdQDc4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi1TSQBxQBw8NoOpSinkTdTaZQBnFNaNfKQBexdSQDgQDf4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatFVbi1TSQBxQBw__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQCpFNaNfKQCgxdSQEiQEh4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatGTDFNaNbNfAxaZvTeTaZQBgFNaNfKQBbxeSQCzQCy4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatGTSQBtQBs8NoOpSinkTdTaZQBjFNaNfKQBexdSQDcQDb4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format8internal6floats__T11printFloatGTSQBtQBs__T7sformatTaTxdZQoFNkMAaMAxaxdZ4SinkTdTaZQClFNaNfKQCgxdSQEeQEd4spec__T10FormatSpecTaZQpAyaimbZv@Base 13 + _D3std6format__T11guessLengthTaTAyaZQuFNaNfQlZm@Base 13 + _D3std6format__T7sformatTaTxdZQoFNaNfNkMAaMAxaxdZQj@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink11__xopEqualsMxFKxSQCpQCo__TQCkTaTxdZQCtFNkMQCgMQChxdZQChZb@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink3putMFNaNbNfMQyZv@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink3putMFNaNbNfaZv@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink3putMFNaNfMAxuZv@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink3putMFNaNfMAxwZv@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink3putMFNaNfwZv@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink6__initZ@Base 13 + _D3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink9__xtoHashFNbNeKxSQCoQCn__TQCjTaTxdZQCsFNkMQCfMQCgxdZQCgZm@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNaNfNkMAaMAxaykykkkkZQo@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink11__xopEqualsMxFKxSQDdQDc__TQCyTaTykTykTkTkTkZQDqFNkMQCuMQCvykykkkkZQCvZb@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink3putMFNaNbNfMQBdZv@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink3putMFNaNbNfaZv@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink3putMFNaNfMAxuZv@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink3putMFNaNfMAxwZv@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink3putMFNaNfwZv@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink6__initZ@Base 13 + _D3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink9__xtoHashFNbNeKxSQDcQDb__TQCxTaTykTykTkTkTkZQDpFNkMQCtMQCuykykkkkZQCuZm@Base 13 + _D3std6format__T7sformatVAyaa5_252e313867TxdZQBdFNaNfAaxdZQf@Base 13 + _D3std6format__TQkTaTAaTPvZQvFNaNfIAaQqQpZAya@Base 13 + _D3std6format__TQkTaTAxaTQeZQwFNaNfIAaQrQtZAya@Base 13 + _D3std6format__TQkTaTAyAaZQuFNaNfIAaQpZAya@Base 13 + _D3std6format__TQkTaTAyaTQeTmZQyFNaNfIAaQtQvmZQz@Base 13 + _D3std6format__TQkTaTAyaTQeZQwFNaNfIAaQrQtZQw@Base 13 + _D3std6format__TQkTaTAyaTxkTQhZQzFNaNfIAaQuxkQyZQBb@Base 13 + _D3std6format__TQkTaTAyaTxkTkZQyFNaNfIAaQtxkkZQz@Base 13 + _D3std6format__TQkTaTAyaTxkZQwFNaNfIAaQrxkZQw@Base 13 + _D3std6format__TQkTaTAyaZQtFNaNfIAaQoZQr@Base 13 + _D3std6format__TQkTaTC14TypeInfo_ClassTkTkZQBlFNaNfIAaQBhkkZAya@Base 13 + _D3std6format__TQkTaTEQu8datetime4date5MonthZQBnFNaNfIAaQBjZAya@Base 13 + _D3std6format__TQkTaTbTAyaTQeTEQBd3net7isemail15EmailStatusCodeZQCgFNaNfIAabQCbQCeQCaZQCl@Base 13 + _D3std6format__TQkTaTiTEQw8datetime4date5MonthTiZQBrFNaNfIAaiQBmiZAya@Base 13 + _D3std6format__TQkTaTiZQrFNaNfIAaiZAya@Base 13 + _D3std6format__TQkTaTxhTxhTxhTxhZQBbFNaNfIAaxhxhxhxhZAya@Base 13 + _D3std6format__TQkTaTxhTxhTxhZQyFNaNfIAaxhxhxhZAya@Base 13 + _D3std6format__TQkTaTxsTxEQy8datetime4date5MonthTxhZQBuFNaNfIAaxsxQBpxhZAya@Base 13 + _D3std6format__TQkTaTxsZQsFNaNfIAaxsZAya@Base 13 + _D3std6format__TQkTaTxtTAyaTxtTxtZQBcFNaNfIAaxtQxxtxtZQBe@Base 13 + _D3std6format__TQkVAyaa35_737461636b2e6c656e677468202d206174202573206d7573742062652032206f722033TmZQDpFNaNfmZQDm@Base 13 + _D3std6format__TQkVAyaa39_7372632e6c656e677468202573206d75737420657175616c20646573742e6c656e677468202573TmTmZQDzFNaNfmmZQDx@Base 13 + _D3std6format__TQkVAyaa42_74656d702e6c656e677468202573203e3d2072616e67652e6c656e677468202573202d206d6964202573TmTmTymZQEiFNaNfmmymZQEi@Base 13 + _D3std6getopt10assignCharw@Base 13 + _D3std6getopt10optionCharw@Base 13 + _D3std6getopt11__moduleRefZ@Base 13 + _D3std6getopt11splitAndGetFNaNbNeAyaZSQBkQBj6Option@Base 13 + _D3std6getopt12GetoptResult11__xopEqualsMxFKxSQBsQBrQBnZb@Base 13 + _D3std6getopt12GetoptResult6__initZ@Base 13 + _D3std6getopt12GetoptResult9__xtoHashFNbNeKxSQBrQBqQBmZm@Base 13 + _D3std6getopt12__ModuleInfoZ@Base 13 + _D3std6getopt12endOfOptionsAya@Base 13 + _D3std6getopt13configuration11passThroughMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration11passThroughMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt13configuration13caseSensitiveMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration13caseSensitiveMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt13configuration16keepEndOfOptionsMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration16keepEndOfOptionsMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt13configuration20stopOnFirstNonOptionMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration20stopOnFirstNonOptionMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt13configuration6__initZ@Base 13 + _D3std6getopt13configuration8bundlingMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration8bundlingMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt13configuration8requiredMFNaNbNdNiNfbZv@Base 13 + _D3std6getopt13configuration8requiredMxFNaNbNdNiNfZb@Base 13 + _D3std6getopt15GetOptException6__initZ@Base 13 + _D3std6getopt15GetOptException6__vtblZ@Base 13 + _D3std6getopt15GetOptException7__ClassZ@Base 13 + _D3std6getopt15GetOptException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDcQDbQCx@Base 13 + _D3std6getopt15GetOptException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDcQDbQCx@Base 13 + _D3std6getopt20defaultGetoptPrinterFNfAyaASQBpQBo6OptionZ9__lambda3FNeZSQCs5stdio4File17LockingTextWriter@Base 13 + _D3std6getopt20defaultGetoptPrinterFNfAyaASQBpQBo6OptionZv@Base 13 + _D3std6getopt6Option11__xopEqualsMxFKxSQBlQBkQBgZb@Base 13 + _D3std6getopt6Option6__initZ@Base 13 + _D3std6getopt6Option9__xtoHashFNbNeKxSQBkQBjQBfZm@Base 13 + _D3std6getopt8arraySepAya@Base 13 + _D3std6getopt8optMatchFNfAyaMQeKQhSQBhQBg13configurationZb@Base 13 + _D3std6getopt9setConfigFNaNbNiNfKSQBgQBf13configurationEQCcQCb6configZv@Base 13 + _D3std6getopt__T22defaultGetoptFormatterTSQBo5stdio4File17LockingTextWriterZQCiFNfQBpAyaASQDkQDj6OptionQsZv@Base 13 + _D3std6int12811__moduleRefZ@Base 13 + _D3std6int12812__ModuleInfoZ@Base 13 + _D3std6int1286Int12811__xopEqualsMxFKxSQBlQBkQBgZb@Base 13 + _D3std6int1286Int1285opCmpMxFNaNbNiNfSQBkQBjQBfZi@Base 13 + _D3std6int1286Int1286__ctorMFNaNbNcNiNfS4coreQBn4CentZSQCbQCaQBw@Base 13 + _D3std6int1286Int1286__ctorMFNaNbNcNiNflZSQBoQBnQBj@Base 13 + _D3std6int1286Int1286__ctorMFNaNbNcNiNfllZSQBpQBoQBk@Base 13 + _D3std6int1286Int1286__ctorMFNaNbNcNiNfmZSQBoQBnQBj@Base 13 + _D3std6int1286Int1286__initZ@Base 13 + _D3std6int1286Int1286toHashMxFNaNbNiNfZm@Base 13 + _D3std6int1286Int1288__xopCmpMxFKxSQBhQBgQBcZi@Base 13 + _D3std6int1286Int1288opEqualsMxFNaNbNiNfSQBnQBmQBiZb@Base 13 + _D3std6int1286Int1288opEqualsMxFNaNbNiNflZb@Base 13 + _D3std6int1286Int1288opEqualsMxFNaNbNiNfmZb@Base 13 + _D3std6logger10filelogger10FileLogger10logMsgPartMFNfMAxaZv@Base 13 + _D3std6logger10filelogger10FileLogger11__fieldDtorMFNlNeZv@Base 13 + _D3std6logger10filelogger10FileLogger11beginLogMsgMFNfAyaiQeQgQiEQClQCk4core8LogLevelSQDg11concurrency3TidSQEb8datetime7systime7SysTimeCQFeQFdQCt6LoggerZv@Base 13 + _D3std6logger10filelogger10FileLogger11getFilenameMFZAya@Base 13 + _D3std6logger10filelogger10FileLogger11writeLogMsgMFNfKSQCcQCb4core6Logger8LogEntryZv@Base 13 + _D3std6logger10filelogger10FileLogger12finishLogMsgMFNfZv@Base 13 + _D3std6logger10filelogger10FileLogger4fileMFNdNfZSQBw5stdio4File@Base 13 + _D3std6logger10filelogger10FileLogger6__ctorMFNfSQBv5stdio4FilexEQClQCk4core8LogLevelZCQDhQDgQDcQCt@Base 13 + _D3std6logger10filelogger10FileLogger6__ctorMFNfxAyaxEQCaQBz4core8LogLevelEQCv8typecons__T4FlagVAyaa12_437265617465466f6c646572ZQBmZCQFbQFaQEwQEn@Base 13 + _D3std6logger10filelogger10FileLogger6__ctorMFNfxAyaxEQCaQBz4core8LogLevelZCQCwQCvQCrQCi@Base 13 + _D3std6logger10filelogger10FileLogger6__initZ@Base 13 + _D3std6logger10filelogger10FileLogger6__vtblZ@Base 13 + _D3std6logger10filelogger10FileLogger7__ClassZ@Base 13 + _D3std6logger10filelogger11__moduleRefZ@Base 13 + _D3std6logger10filelogger12__ModuleInfoZ@Base 13 + _D3std6logger10nulllogger10NullLogger11writeLogMsgMFNiNfKSQCeQCd4core6Logger8LogEntryZv@Base 13 + _D3std6logger10nulllogger10NullLogger6__ctorMFNfxEQBwQBv4core8LogLevelZCQCsQCrQCnQCe@Base 13 + _D3std6logger10nulllogger10NullLogger6__initZ@Base 13 + _D3std6logger10nulllogger10NullLogger6__vtblZ@Base 13 + _D3std6logger10nulllogger10NullLogger7__ClassZ@Base 13 + _D3std6logger10nulllogger11__moduleRefZ@Base 13 + _D3std6logger10nulllogger12__ModuleInfoZ@Base 13 + _D3std6logger11__moduleRefZ@Base 13 + _D3std6logger11multilogger11MultiLogger11writeLogMsgMFNfKSQCeQCd4core6Logger8LogEntryZv@Base 13 + _D3std6logger11multilogger11MultiLogger12insertLoggerMFNfAyaCQChQCg4core6LoggerZv@Base 13 + _D3std6logger11multilogger11MultiLogger12removeLoggerMFNfIAaZCQCiQCh4core6Logger@Base 13 + _D3std6logger11multilogger11MultiLogger6__ctorMFNfxEQByQBx4core8LogLevelZCQCuQCtQCpQCf@Base 13 + _D3std6logger11multilogger11MultiLogger6__initZ@Base 13 + _D3std6logger11multilogger11MultiLogger6__vtblZ@Base 13 + _D3std6logger11multilogger11MultiLogger7__ClassZ@Base 13 + _D3std6logger11multilogger11__moduleRefZ@Base 13 + _D3std6logger11multilogger12__ModuleInfoZ@Base 13 + _D3std6logger11multilogger16MultiLoggerEntry11__xopEqualsMxFKxSQCjQCiQCeQBuZb@Base 13 + _D3std6logger11multilogger16MultiLoggerEntry6__initZ@Base 13 + _D3std6logger11multilogger16MultiLoggerEntry9__xtoHashFNbNeKxSQCiQChQCdQBtZm@Base 13 + _D3std6logger12__ModuleInfoZ@Base 13 + _D3std6logger4core10TestLogger11writeLogMsgMFNfKSQBvQBuQBq6Logger8LogEntryZv@Base 13 + _D3std6logger4core10TestLogger6__ctorMFNfxEQBpQBoQBk8LogLevelZCQCjQCiQCeQCc@Base 13 + _D3std6logger4core10TestLogger6__initZ@Base 13 + _D3std6logger4core10TestLogger6__vtblZ@Base 13 + _D3std6logger4core10TestLogger7__ClassZ@Base 13 + _D3std6logger4core11__moduleRefZ@Base 13 + _D3std6logger4core12__ModuleInfoZ@Base 13 + _D3std6logger4core14globalLogLevelFNdNfEQBmQBlQBh8LogLevelZv@Base 13 + _D3std6logger4core14globalLogLevelFNdNiNfZEQBpQBoQBk8LogLevel@Base 13 + _D3std6logger4core15stdSharedLoggerOCQBjQBiQBe6Logger@Base 13 + _D3std6logger4core16StdForwardLogger11writeLogMsgMFNeKSQCbQCaQBw6Logger8LogEntryZv@Base 13 + _D3std6logger4core16StdForwardLogger6__ctorMFNfxEQBvQBuQBq8LogLevelZCQCpQCoQCkQCi@Base 13 + _D3std6logger4core16StdForwardLogger6__initZ@Base 13 + _D3std6logger4core16StdForwardLogger6__vtblZ@Base 13 + _D3std6logger4core16StdForwardLogger7__ClassZ@Base 13 + _D3std6logger4core17stdThreadLocalLogFNdNfCQBpQBoQBk6LoggerZv@Base 13 + _D3std6logger4core17stdThreadLocalLogFNdNfZCQBqQBpQBl6Logger@Base 13 + _D3std6logger4core21stdLoggerThreadLoggerCQBoQBnQBj6Logger@Base 13 + _D3std6logger4core21stdThreadLocalLogImplFNdNeZ6bufferG184v@Base 13 + _D3std6logger4core21stdThreadLocalLogImplFNdNeZCQBuQBtQBp6Logger@Base 13 + _D3std6logger4core22stdSharedDefaultLoggerOCQBqQBpQBl6Logger@Base 13 + _D3std6logger4core23defaultSharedLoggerImplFNdNeZ7_bufferG224v@Base 13 + _D3std6logger4core23defaultSharedLoggerImplFNdNeZ9__lambda2FZOCQCjQCi10filelogger10FileLogger@Base 13 + _D3std6logger4core23defaultSharedLoggerImplFNdNeZOCQBxQBwQBs6Logger@Base 13 + _D3std6logger4core23stdLoggerGlobalLogLevelOEQBrQBqQBm8LogLevel@Base 13 + _D3std6logger4core28stdLoggerDefaultThreadLoggerCQBvQBuQBq6Logger@Base 13 + _D3std6logger4core6Logger10forwardMsgMFNeKSQBpQBoQBkQBi8LogEntryZv@Base 13 + _D3std6logger4core6Logger10logMsgPartMFNfMAxaZv@Base 13 + _D3std6logger4core6Logger11beginLogMsgMFNfAyaiQeQgQiEQBzQByQBu8LogLevelSQCs11concurrency3TidSQDn8datetime7systime7SysTimeCQEqQEpQElQEjZv@Base 13 + _D3std6logger4core6Logger12fatalHandlerMFNdNiNfDFNfZvZv@Base 13 + _D3std6logger4core6Logger12fatalHandlerMFNdNiNfZDFZv@Base 13 + _D3std6logger4core6Logger12finishLogMsgMFNfZv@Base 13 + _D3std6logger4core6Logger6__initZ@Base 13 + _D3std6logger4core6Logger6__vtblZ@Base 13 + _D3std6logger4core6Logger7__ClassZ@Base 13 + _D3std6logger4core6Logger8LogEntry11__xopEqualsMxFKxSQBzQByQBuQBsQBoZb@Base 13 + _D3std6logger4core6Logger8LogEntry6__initZ@Base 13 + _D3std6logger4core6Logger8LogEntry8opAssignMFNaNbNcNiNjNfSQCeQCdQBzQBxQBtZQr@Base 13 + _D3std6logger4core6Logger8LogEntry9__xtoHashFNbNeKxSQByQBxQBtQBrQBnZm@Base 13 + _D3std6logger4core6Logger8logLevelMFNdNiNfxEQBqQBpQBl8LogLevelZv@Base 13 + _D3std6logger4core6Logger8logLevelMxFNaNdNiNfZEQBtQBsQBo8LogLevel@Base 13 + _D3std6logger4core6Logger__T6__ctorTCQBjQBi10filelogger10FileLoggerZQBoMFNbNfEQCyQCxQCt8LogLevelZCQDsQDrQDnQDl@Base 13 + _D3std6logger4core6Logger__T6__ctorTCQBjQBi10nulllogger10NullLoggerZQBoMFNbNfEQCyQCxQCt8LogLevelZCQDsQDrQDnQDl@Base 13 + _D3std6logger4core6Logger__T6__ctorTCQBjQBi11multilogger11MultiLoggerZQBqMFNbNfEQDaQCzQCv8LogLevelZCQDuQDtQDpQDn@Base 13 + _D3std6logger4core6Logger__T6__ctorTCQBjQBiQBe10TestLoggerZQBfMFNbNfEQCpQCoQCk8LogLevelZCQDjQDiQDeQDc@Base 13 + _D3std6logger4core6Logger__T6__ctorTCQBjQBiQBe16StdForwardLoggerZQBlMFNbNfEQCvQCuQCq8LogLevelZCQDpQDoQDkQDi@Base 13 + _D3std6logger4core8LogLevel6__initZ@Base 13 + _D3std6logger4core8MsgRange11__xopEqualsMxFKxSQBsQBrQBnQBlZb@Base 13 + _D3std6logger4core8MsgRange3putMFNfwZv@Base 13 + _D3std6logger4core8MsgRange6__ctorMFNcNfCQBnQBmQBi6LoggerZSQCfQCeQCaQBy@Base 13 + _D3std6logger4core8MsgRange6__initZ@Base 13 + _D3std6logger4core8MsgRange9__xtoHashFNbNeKxSQBrQBqQBmQBkZm@Base 13 + _D3std6logger4core9sharedLogFNdNfOCQBhQBgQBc6LoggerZv@Base 13 + _D3std6logger4core9sharedLogFNdNfZOCQBiQBhQBd6Logger@Base 13 + _D3std6logger4core__T11trustedLoadTEQBiQBhQBd8LogLevelZQBiFNaNbNiNeKOEQCqQCpQClQBiZQBw@Base 13 + _D3std6logger4core__T11trustedLoadTxEQBjQBiQBe8LogLevelZQBjFNaNbNiNeKOxEQCsQCrQCnQBjZEQDgQDfQDbQBx@Base 13 + _D3std6logger4core__T12trustedStoreTEQBjQBiQBe8LogLevelZQBjFNaNbNiNeKOEQCrQCqQCmQBiKQBwZv@Base 13 + _D3std6logger4core__T16isLoggingEnabledZQtFNaNfEQBuQBtQBp8LogLevelQtQvLbZb@Base 13 + _D3std6logger4core__T18systimeToISOStringTSQBp5stdio4File17LockingTextWriterZQCeFNfQBpKxSQDj8datetime7systime7SysTimeZv@Base 13 + _D3std6mmfile11__moduleRefZ@Base 13 + _D3std6mmfile12__ModuleInfoZ@Base 13 + _D3std6mmfile6MmFile10__aggrDtorMFNlZv@Base 13 + _D3std6mmfile6MmFile11__fieldDtorMFNlNeZv@Base 13 + _D3std6mmfile6MmFile12ensureMappedMFmZv@Base 13 + _D3std6mmfile6MmFile12ensureMappedMFmmZv@Base 13 + _D3std6mmfile6MmFile13opIndexAssignMFhmZh@Base 13 + _D3std6mmfile6MmFile3mapMFmmZv@Base 13 + _D3std6mmfile6MmFile4modeMFZEQBbQBaQw4Mode@Base 13 + _D3std6mmfile6MmFile5flushMFZv@Base 13 + _D3std6mmfile6MmFile5unmapMFZv@Base 13 + _D3std6mmfile6MmFile6__ctorMFNlAyaEQBhQBgQBc4ModemPvmZCQCbQCaQBw@Base 13 + _D3std6mmfile6MmFile6__ctorMFNlAyaZCQBiQBhQBd@Base 13 + _D3std6mmfile6MmFile6__ctorMFNlSQBe5stdio4FileEQBtQBsQBo4ModemPvmZCQCnQCmQCi@Base 13 + _D3std6mmfile6MmFile6__ctorMFNliEQBfQBeQBa4ModemPvmZCQBzQByQBu@Base 13 + _D3std6mmfile6MmFile6__dtorMFNlZv@Base 13 + _D3std6mmfile6MmFile6__initZ@Base 13 + _D3std6mmfile6MmFile6__vtblZ@Base 13 + _D3std6mmfile6MmFile6lengthMxFNdZm@Base 13 + _D3std6mmfile6MmFile6mappedMFmZi@Base 13 + _D3std6mmfile6MmFile7__ClassZ@Base 13 + _D3std6mmfile6MmFile7opIndexMFmZh@Base 13 + _D3std6mmfile6MmFile7opSliceMFZAv@Base 13 + _D3std6mmfile6MmFile7opSliceMFmmZAv@Base 13 + _D3std6random11__moduleRefZ@Base 13 + _D3std6random12__ModuleInfoZ@Base 13 + _D3std6random12fallbackSeedFNbNiZ11initializedOb@Base 13 + _D3std6random12fallbackSeedFNbNiZ4seedOm@Base 13 + _D3std6random12fallbackSeedFNbNiZ6fmix64FNaNbNiNfmZm@Base 13 + _D3std6random12fallbackSeedFNbNiZm@Base 13 + _D3std6random13bootstrapSeedFNbNiZm@Base 13 + _D3std6random17unpredictableSeedFNbNdNiNeZk@Base 13 + _D3std6random18RandomCoverChoices10__postblitMFNaNbNiNeZv@Base 13 + _D3std6random18RandomCoverChoices13opIndexAssignMFNaNbNiNebmZv@Base 13 + _D3std6random18RandomCoverChoices6__ctorMFNaNbNcNiNemZSQCbQCaQBw@Base 13 + _D3std6random18RandomCoverChoices6__dtorMFNaNbNiNeZv@Base 13 + _D3std6random18RandomCoverChoices6__initZ@Base 13 + _D3std6random18RandomCoverChoices6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std6random18RandomCoverChoices7opIndexMxFNaNbNiNemZb@Base 13 + _D3std6random6rndGenFNbNcNdNiNfZ11initializedb@Base 13 + _D3std6random6rndGenFNbNcNdNiNfZ6resultSQBmQBl__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc@Base 13 + _D3std6random6rndGenFNbNcNdNiNfZSQBfQBe__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc@Base 13 + _D3std6random__T12initMTEngineTSQBeQBd__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFcZQGfFNbNiNfMKQGcZv@Base 14 + _D3std6random__T14XorshiftEngineTkVki128Vii11ViN8ViN19ZQBn4saveMxFNaNbNdNiNfZSQCyQCx__TQCtTkVki128Vii11ViN8ViN19ZQDt@Base 13 + _D3std6random__T14XorshiftEngineTkVki128Vii11ViN8ViN19ZQBn5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki128Vii11ViN8ViN19ZQBn6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki128Vii11ViN8ViN19ZQBn8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T14XorshiftEngineTkVki160Vii2ViN1ViN4ZQBl4saveMxFNaNbNdNiNfZSQCwQCv__TQCrTkVki160Vii2ViN1ViN4ZQDp@Base 13 + _D3std6random__T14XorshiftEngineTkVki160Vii2ViN1ViN4ZQBl5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki160Vii2ViN1ViN4ZQBl6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki160Vii2ViN1ViN4ZQBl8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T14XorshiftEngineTkVki192ViN2Vii1Vii4ZQBl4saveMxFNaNbNdNiNfZSQCwQCv__TQCrTkVki192ViN2Vii1Vii4ZQDp@Base 13 + _D3std6random__T14XorshiftEngineTkVki192ViN2Vii1Vii4ZQBl5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki192ViN2Vii1Vii4ZQBl6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki192ViN2Vii1Vii4ZQBl8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T14XorshiftEngineTkVki32Vii13ViN17Vii15ZQBn4saveMxFNaNbNdNiNfZSQCyQCx__TQCtTkVki32Vii13ViN17Vii15ZQDt@Base 13 + _D3std6random__T14XorshiftEngineTkVki32Vii13ViN17Vii15ZQBn5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki32Vii13ViN17Vii15ZQBn6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki32Vii13ViN17Vii15ZQBn8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T14XorshiftEngineTkVki64Vii10ViN13ViN10ZQBn4saveMxFNaNbNdNiNfZSQCyQCx__TQCtTkVki64Vii10ViN13ViN10ZQDt@Base 13 + _D3std6random__T14XorshiftEngineTkVki64Vii10ViN13ViN10ZQBn5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki64Vii10ViN13ViN10ZQBn6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki64Vii10ViN13ViN10ZQBn8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T14XorshiftEngineTkVki96Vii10ViN5ViN26ZQBm4saveMxFNaNbNdNiNfZSQCxQCw__TQCsTkVki96Vii10ViN5ViN26ZQDr@Base 13 + _D3std6random__T14XorshiftEngineTkVki96Vii10ViN5ViN26ZQBm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T14XorshiftEngineTkVki96Vii10ViN5ViN26ZQBm6__initZ@Base 13 + _D3std6random__T14XorshiftEngineTkVki96Vii10ViN5ViN26ZQBm8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T17unpredictableSeedTmZQwFNbNdNiNeZm@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc12defaultStateFNaNbNiNfZSQGsQGr__TQGnTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQKv5State@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc12popFrontImplFNaNbNiNfKSQGsQGr__TQGnTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQKv5StateZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc4saveMxFNaNbNdNiNfZSQGnQGm__TQGiTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQKq@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc5State6__initZ@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc6__ctorMFNaNbNcNiNfkZSQGpQGo__TQGkTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQKs@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc6__initZ@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc8seedImplFNaNbNiNfkKSQGoQGn__TQGjTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQKr5StateZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTkVmi32Vmi624Vmi397Vmi31Vki2567483615Vmi11Vki4294967295Vmi7Vki2636928640Vmi15Vki4022730752Vmi18Vki1812433253ZQFc__T4seedZQgMFNaNbNiNfkZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt12defaultStateFNaNbNiNfZSQIjQIi__TQIeTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQOd5State@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt12popFrontImplFNaNbNiNfKSQIjQIi__TQIeTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQOd5StateZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt4saveMxFNaNbNdNiNfZSQIeQId__TQHzTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQNy@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt5State6__initZ@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt5frontMxFNaNbNdNiNfZm@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt6__ctorMFNaNbNcNiNfmZSQIgQIf__TQIbTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQOa@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt6__initZ@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt8seedImplFNaNbNiNfmKSQIfQIe__TQIaTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQNz5StateZv@Base 13 + _D3std6random__T21MersenneTwisterEngineTmVmi64Vmi312Vmi156Vmi31VmN5403634167711393303Vmi29Vmi6148914691236517205Vmi17Vmi8202884508482404352Vmi37VmN2270628950310912Vmi43Vmi6364136223846793005ZQGt__T4seedZQgMFNaNbNiNfmZv@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc16primeFactorsOnlyFNaNbNiNfmZm@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc34properLinearCongruentialParametersFNaNbNiNfmmmZb@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc3gcdFNaNbNiNfmmZm@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc4saveMxFNaNbNdNiNfZSQDnQDm__TQDiTkVki16807Vki0Vki2147483647ZQEn@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc4seedMFNaNbNiNfkZv@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc6__ctorMFNaNbNcNiNfkZSQDpQDo__TQDkTkVki16807Vki0Vki2147483647ZQEp@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc6__initZ@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc8popFrontMFNaNbNiNfZv@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc16primeFactorsOnlyFNaNbNiNfmZm@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc34properLinearCongruentialParametersFNaNbNiNfmmmZb@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc3gcdFNaNbNiNfmmZm@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc4saveMxFNaNbNdNiNfZSQDnQDm__TQDiTkVki48271Vki0Vki2147483647ZQEn@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc4seedMFNaNbNiNfkZv@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc5frontMxFNaNbNdNiNfZk@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc6__ctorMFNaNbNcNiNfkZSQDpQDo__TQDkTkVki48271Vki0Vki2147483647ZQEp@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc6__initZ@Base 13 + _D3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc8popFrontMFNaNbNiNfZv@Base 13 + _D3std6socket10SocketType6__initZ@Base 13 + _D3std6socket10getAddressFNfMAxaMQeZACQBkQBj7Address@Base 13 + _D3std6socket10getAddressFNfMAxatZACQBiQBh7Address@Base 13 + _D3std6socket10socketPairFNeZG2CQBeQBd6Socket@Base 13 + _D3std6socket11AddressInfo11__xopEqualsMxFKxSQBrQBqQBmZb@Base 13 + _D3std6socket11AddressInfo6__initZ@Base 13 + _D3std6socket11AddressInfo9__xtoHashFNbNeKxSQBqQBpQBlZm@Base 13 + _D3std6socket11UnixAddress10setNameLenMFNekZv@Base 13 + _D3std6socket11UnixAddress4nameMFNaNbNdNiNlNjNfZPS4core3sys5posixQkQCj8sockaddr@Base 13 + _D3std6socket11UnixAddress4nameMxFNaNbNdNiNlNjNfZPxS4core3sys5posixQkQCl8sockaddr@Base 13 + _D3std6socket11UnixAddress4pathMxFNaNdNeZAya@Base 13 + _D3std6socket11UnixAddress6__ctorMFNaNbNiNfS4core3sys5posixQk2un11sockaddr_unZCQCzQCyQCu@Base 13 + _D3std6socket11UnixAddress6__ctorMFNaNbNiNfZCQBrQBqQBm@Base 13 + _D3std6socket11UnixAddress6__ctorMFNaNeMAxaZCQBrQBqQBm@Base 13 + _D3std6socket11UnixAddress6__initZ@Base 13 + _D3std6socket11UnixAddress6__vtblZ@Base 13 + _D3std6socket11UnixAddress7__ClassZ@Base 13 + _D3std6socket11UnixAddress7nameLenMxFNaNbNdNiNeZk@Base 13 + _D3std6socket11UnixAddress8toStringMxFNaNfZAya@Base 13 + _D3std6socket11__moduleRefZ@Base 13 + _D3std6socket12InternetHost12validHostentMFNfIPS4core3sys5posix5netdb7hostentZv@Base 13 + _D3std6socket12InternetHost13getHostByAddrMFNeMAxaZb@Base 13 + _D3std6socket12InternetHost13getHostByAddrMFNekZb@Base 13 + _D3std6socket12InternetHost13getHostByNameMFNeMAxaZb@Base 13 + _D3std6socket12InternetHost6__initZ@Base 13 + _D3std6socket12InternetHost6__vtblZ@Base 13 + _D3std6socket12InternetHost7__ClassZ@Base 13 + _D3std6socket12InternetHost8populateMFNaNbPS4core3sys5posix5netdb7hostentZv@Base 13 + _D3std6socket12InternetHost__T13getHostNoSyncVAyaa118_0a2020202020202020202020206175746f2078203d2068746f6e6c28706172616d293b0a2020202020202020202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e7429204164647265737346616d696c792e494e4554293b0a2020202020202020TkZQKdMFkZb@Base 13 + _D3std6socket12InternetHost__T13getHostNoSyncVAyaa245_0a2020202020202020202020206175746f2078203d20696e65745f6164647228706172616d2e74656d7043537472696e672829293b0a202020202020202020202020656e666f726365287820213d20494e414444525f4e4f4e452c0a202020202020202020202020202020206e657720536f636b6574506172616d65746572457863657074696f6e2822496e76616c6964204950763420616464726573732229293b0a2020202020202020202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e7429204164647265737346616d696c792e494e4554293b0a2020202020202020TAxaZQTzMFQjZb@Base 13 + _D3std6socket12InternetHost__T13getHostNoSyncVAyaa75_0a202020202020202020202020202020206175746f206865203d20676574686f737462796e616d6528706172616d2e74656d7043537472696e672829293b0a202020202020202020202020TAxaZQGwMFQjZb@Base 13 + _D3std6socket12InternetHost__T7getHostVAyaa118_0a2020202020202020202020206175746f2078203d2068746f6e6c28706172616d293b0a2020202020202020202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e7429204164647265737346616d696c792e494e4554293b0a2020202020202020TkZQJwMFkZb@Base 13 + _D3std6socket12InternetHost__T7getHostVAyaa245_0a2020202020202020202020206175746f2078203d20696e65745f6164647228706172616d2e74656d7043537472696e672829293b0a202020202020202020202020656e666f726365287820213d20494e414444525f4e4f4e452c0a202020202020202020202020202020206e657720536f636b6574506172616d65746572457863657074696f6e2822496e76616c6964204950763420616464726573732229293b0a2020202020202020202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e7429204164647265737346616d696c792e494e4554293b0a2020202020202020TAxaZQTsMFQjZb@Base 13 + _D3std6socket12InternetHost__T7getHostVAyaa75_0a202020202020202020202020202020206175746f206865203d20676574686f737462796e616d6528706172616d2e74656d7043537472696e672829293b0a202020202020202020202020TAxaZQGpMFQjZb@Base 13 + _D3std6socket12SocketOption6__initZ@Base 13 + _D3std6socket12__ModuleInfoZ@Base 13 + _D3std6socket12parseAddressFNfMAxaMQeZCQBlQBk7Address@Base 13 + _D3std6socket12parseAddressFNfMAxatZCQBjQBi7Address@Base 13 + _D3std6socket13HostException6__initZ@Base 13 + _D3std6socket13HostException6__vtblZ@Base 13 + _D3std6socket13HostException7__ClassZ@Base 13 + _D3std6socket13HostException8__mixin16__ctorMFNfAyaC6object9ThrowableQvmiZCQCvQCuQCq@Base 13 + _D3std6socket13HostException8__mixin16__ctorMFNfAyaQdmC6object9ThrowableiZCQCvQCuQCq@Base 13 + _D3std6socket13HostException8__mixin16__ctorMFNfAyaiQemC6object9ThrowableZCQCvQCuQCq@Base 13 + _D3std6socket13_SOCKET_ERRORxi@Base 13 + _D3std6socket13serviceToPortFNfMAxaZt@Base 13 + _D3std6socket14UnknownAddress4nameMFNaNbNdNiNlNjNfZPS4core3sys5posixQkQCm8sockaddr@Base 13 + _D3std6socket14UnknownAddress4nameMxFNaNbNdNiNlNjNfZPxS4core3sys5posixQkQCo8sockaddr@Base 13 + _D3std6socket14UnknownAddress6__initZ@Base 13 + _D3std6socket14UnknownAddress6__vtblZ@Base 13 + _D3std6socket14UnknownAddress7__ClassZ@Base 13 + _D3std6socket14UnknownAddress7nameLenMxFNaNbNdNiNfZk@Base 13 + _D3std6socket14formatGaiErrorFNeiZ12__critsec267OPv@Base 14.2 + _D3std6socket14formatGaiErrorFNeiZAya@Base 13 + _D3std6socket15InternetAddress12addrToStringFNbNekZAya@Base 13 + _D3std6socket15InternetAddress12toAddrStringMxFNeZAya@Base 13 + _D3std6socket15InternetAddress12toPortStringMxFNfZAya@Base 13 + _D3std6socket15InternetAddress16toHostNameStringMxFNfZAya@Base 13 + _D3std6socket15InternetAddress4addrMxFNaNbNdNiNfZk@Base 13 + _D3std6socket15InternetAddress4nameMFNaNbNdNiNlNjNfZPS4core3sys5posixQkQCn8sockaddr@Base 13 + _D3std6socket15InternetAddress4nameMxFNaNbNdNiNlNjNfZPxS4core3sys5posixQkQCp8sockaddr@Base 13 + _D3std6socket15InternetAddress4portMxFNaNbNdNiNfZt@Base 13 + _D3std6socket15InternetAddress5parseFNbNeMAxaZk@Base 13 + _D3std6socket15InternetAddress6__ctorMFNaNbNiNfS4core3sys5posix7netinet3in_11sockaddr_inZCQDkQDjQDf@Base 13 + _D3std6socket15InternetAddress6__ctorMFNaNbNiNfZCQBvQBuQBq@Base 13 + _D3std6socket15InternetAddress6__ctorMFNaNbNiNfktZCQBxQBwQBs@Base 13 + _D3std6socket15InternetAddress6__ctorMFNaNbNiNftZCQBwQBvQBr@Base 13 + _D3std6socket15InternetAddress6__ctorMFNfMAxatZCQBuQBtQBp@Base 13 + _D3std6socket15InternetAddress6__initZ@Base 13 + _D3std6socket15InternetAddress6__vtblZ@Base 13 + _D3std6socket15InternetAddress7__ClassZ@Base 13 + _D3std6socket15InternetAddress7nameLenMxFNaNbNdNiNfZk@Base 13 + _D3std6socket15InternetAddress8opEqualsMxFNfC6ObjectZb@Base 13 + _D3std6socket15SocketException6__initZ@Base 13 + _D3std6socket15SocketException6__vtblZ@Base 13 + _D3std6socket15SocketException7__ClassZ@Base 13 + _D3std6socket15SocketException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDcQDbQCx@Base 13 + _D3std6socket15SocketException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDcQDbQCx@Base 13 + _D3std6socket15lastSocketErrorFNdNfZAya@Base 13 + _D3std6socket16AddressException6__initZ@Base 13 + _D3std6socket16AddressException6__vtblZ@Base 13 + _D3std6socket16AddressException7__ClassZ@Base 13 + _D3std6socket16AddressException8__mixin16__ctorMFNfAyaC6object9ThrowableQvmiZCQCyQCxQCt@Base 13 + _D3std6socket16AddressException8__mixin16__ctorMFNfAyaQdmC6object9ThrowableiZCQCyQCxQCt@Base 13 + _D3std6socket16AddressException8__mixin16__ctorMFNfAyaiQemC6object9ThrowableZCQCyQCxQCt@Base 13 + _D3std6socket16AddressInfoFlags6__initZ@Base 13 + _D3std6socket16Internet6Address4addrMxFNaNbNdNiNfZG16h@Base 13 + _D3std6socket16Internet6Address4nameMFNaNbNdNiNlNjNfZPS4core3sys5posixQkQCo8sockaddr@Base 13 + _D3std6socket16Internet6Address4nameMxFNaNbNdNiNlNjNfZPxS4core3sys5posixQkQCq8sockaddr@Base 13 + _D3std6socket16Internet6Address4portMxFNaNbNdNiNfZt@Base 13 + _D3std6socket16Internet6Address5parseFNeMAxaZG16h@Base 13 + _D3std6socket16Internet6Address6__ctorMFNaNbNiNfG16htZCQCbQCaQBw@Base 13 + _D3std6socket16Internet6Address6__ctorMFNaNbNiNfS4core3sys5posix7netinet3in_12sockaddr_in6ZCQDmQDlQDh@Base 13 + _D3std6socket16Internet6Address6__ctorMFNaNbNiNfZCQBwQBvQBr@Base 13 + _D3std6socket16Internet6Address6__ctorMFNaNbNiNftZCQBxQBwQBs@Base 13 + _D3std6socket16Internet6Address6__ctorMFNeMAxaMQeZCQBxQBwQBs@Base 13 + _D3std6socket16Internet6Address6__ctorMFNfMAxatZCQBvQBuQBq@Base 13 + _D3std6socket16Internet6Address6__initZ@Base 13 + _D3std6socket16Internet6Address6__vtblZ@Base 13 + _D3std6socket16Internet6Address7__ClassZ@Base 13 + _D3std6socket16Internet6Address7nameLenMxFNaNbNdNiNfZk@Base 13 + _D3std6socket16Internet6Address8ADDR_ANYFNaNbNcNdNiNfZxG16h@Base 13 + _D3std6socket16wouldHaveBlockedFNbNiNfZb@Base 13 + _D3std6socket17SocketOSException6__ctorMFNfAyaC6object9ThrowableQvmiPFNeiZQBfZCQCzQCyQCu@Base 13 + _D3std6socket17SocketOSException6__ctorMFNfAyaQdmC6object9ThrowableiPFNeiZQBfZCQCzQCyQCu@Base 13 + _D3std6socket17SocketOSException6__ctorMFNfAyaiPFNeiZQkQmmC6object9ThrowableZCQCyQCxQCt@Base 13 + _D3std6socket17SocketOSException6__initZ@Base 13 + _D3std6socket17SocketOSException6__vtblZ@Base 13 + _D3std6socket17SocketOSException7__ClassZ@Base 13 + _D3std6socket17SocketOptionLevel6__initZ@Base 13 + _D3std6socket17formatSocketErrorFNeiZAya@Base 13 + _D3std6socket18getAddressInfoImplFMAxaMQePS4core3sys5posix5netdb8addrinfoZASQCwQCv11AddressInfo@Base 13 + _D3std6socket18getaddrinfoPointeryPUNbNiPxaQdPxS4core3sys5posix5netdb8addrinfoPPSQBhQBfQBeQBbQyZi@Base 13 + _D3std6socket18getnameinfoPointeryPUNbNiPxS4core3sys5posixQkQCc8sockaddrkPakQdkiZi@Base 13 + _D3std6socket19freeaddrinfoPointeryPUNbNiPS4core3sys5posix5netdb8addrinfoZv@Base 13 + _D3std6socket21SocketAcceptException6__initZ@Base 13 + _D3std6socket21SocketAcceptException6__vtblZ@Base 13 + _D3std6socket21SocketAcceptException7__ClassZ@Base 13 + _D3std6socket21SocketAcceptException8__mixin16__ctorMFNfAyaC6object9ThrowableQvmiZCQDdQDcQCy@Base 13 + _D3std6socket21SocketAcceptException8__mixin16__ctorMFNfAyaQdmC6object9ThrowableiZCQDdQDcQCy@Base 13 + _D3std6socket21SocketAcceptException8__mixin16__ctorMFNfAyaiQemC6object9ThrowableZCQDdQDcQCy@Base 13 + _D3std6socket22SocketFeatureException6__initZ@Base 13 + _D3std6socket22SocketFeatureException6__vtblZ@Base 13 + _D3std6socket22SocketFeatureException7__ClassZ@Base 13 + _D3std6socket22SocketFeatureException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDjQDiQDe@Base 13 + _D3std6socket22SocketFeatureException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDjQDiQDe@Base 13 + _D3std6socket23UnknownAddressReference4nameMFNaNbNdNiNfZPS4core3sys5posixQkQCr8sockaddr@Base 13 + _D3std6socket23UnknownAddressReference4nameMxFNaNbNdNiNfZPxS4core3sys5posixQkQCt8sockaddr@Base 13 + _D3std6socket23UnknownAddressReference6__ctorMFNaNbNiNfPS4core3sys5posixQkQCq8sockaddrkZCQDjQDiQDe@Base 13 + _D3std6socket23UnknownAddressReference6__ctorMFNaNbPxS4core3sys5posixQkQCn8sockaddrkZCQDgQDfQDb@Base 13 + _D3std6socket23UnknownAddressReference6__initZ@Base 13 + _D3std6socket23UnknownAddressReference6__vtblZ@Base 13 + _D3std6socket23UnknownAddressReference7__ClassZ@Base 13 + _D3std6socket23UnknownAddressReference7nameLenMxFNaNbNdNiNfZk@Base 13 + _D3std6socket24SocketParameterException6__initZ@Base 13 + _D3std6socket24SocketParameterException6__vtblZ@Base 13 + _D3std6socket24SocketParameterException7__ClassZ@Base 13 + _D3std6socket24SocketParameterException8__mixin16__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDlQDkQDg@Base 13 + _D3std6socket24SocketParameterException8__mixin16__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDlQDkQDg@Base 13 + _D3std6socket25_sharedStaticCtor_L285_C1FZv@Base 14 + _D3std6socket25_sharedStaticDtor_L320_C1FNbNiZv@Base 14 + _D3std6socket6Linger2onMNgFNaNbNcNdNiNjNfZNgi@Base 13 + _D3std6socket6Linger4timeMNgFNaNbNcNdNiNjNfZNgi@Base 13 + _D3std6socket6Linger6__initZ@Base 13 + _D3std6socket6Socket11receiveFromMFNeMAvEQBnQBm11SocketFlagsKCQCiQCh7AddressZl@Base 13 + _D3std6socket6Socket11receiveFromMFNeMAvEQBnQBm11SocketFlagsZl@Base 13 + _D3std6socket6Socket11receiveFromMFNfMAvKCQBoQBn7AddressZl@Base 13 + _D3std6socket6Socket11receiveFromMFNfMAvZl@Base 13 + _D3std6socket6Socket12getErrorTextMFNfZAya@Base 13 + _D3std6socket6Socket12localAddressMFNdNeZCQBoQBn7Address@Base 13 + _D3std6socket6Socket12setKeepAliveMFNeiiZv@Base 13 + _D3std6socket6Socket13addressFamilyMFNdNfZEQBpQBo13AddressFamily@Base 13 + _D3std6socket6Socket13createAddressMFNaNbNfZCQBrQBq7Address@Base 13 + _D3std6socket6Socket13remoteAddressMFNdNeZCQBpQBo7Address@Base 13 + _D3std6socket6Socket4bindMFNeCQBcQBb7AddressZv@Base 13 + _D3std6socket6Socket4sendMFNeMAxvEQBgQBf11SocketFlagsZl@Base 13 + _D3std6socket6Socket4sendMFNfMAxvZl@Base 13 + _D3std6socket6Socket5closeMFNbNiNlNeZv@Base 13 + _D3std6socket6Socket6__ctorMFNaNbNiNfEQBkQBj8socket_tEQCaQBz13AddressFamilyZCQCxQCwQCs@Base 13 + _D3std6socket6Socket6__ctorMFNaNbNiNfZCQBlQBkQBg@Base 13 + _D3std6socket6Socket6__ctorMFNeEQBeQBd13AddressFamilyEQCaQBz10SocketTypeEQCtQCs12ProtocolTypeZCQDpQDoQDk@Base 13 + _D3std6socket6Socket6__ctorMFNeEQBeQBd13AddressFamilyEQCaQBz10SocketTypeMAxaZCQCyQCxQCt@Base 13 + _D3std6socket6Socket6__ctorMFNfEQBeQBd13AddressFamilyEQCaQBz10SocketTypeZCQCuQCtQCp@Base 13 + _D3std6socket6Socket6__ctorMFNfMxSQBgQBf11AddressInfoZCQCbQCaQBw@Base 13 + _D3std6socket6Socket6__dtorMFNbNiNlNfZv@Base 13 + _D3std6socket6Socket6__initZ@Base 13 + _D3std6socket6Socket6__vtblZ@Base 13 + _D3std6socket6Socket6_closeFNbNiEQBfQBe8socket_tZv@Base 13 + _D3std6socket6Socket6acceptMFNeZCQBfQBeQBa@Base 13 + _D3std6socket6Socket6handleMxFNaNbNdNiNfZEQBoQBn8socket_t@Base 13 + _D3std6socket6Socket6listenMFNeiZv@Base 13 + _D3std6socket6Socket6selectFNeCQBdQBc9SocketSetQrQtPSQBzQBy7TimeValZi@Base 13 + _D3std6socket6Socket6selectFNeCQBdQBc9SocketSetQrQtS4core4time8DurationZi@Base 13 + _D3std6socket6Socket6selectFNfCQBdQBc9SocketSetQrQtZi@Base 13 + _D3std6socket6Socket6sendToMFNeMAxvEQBiQBh11SocketFlagsCQCcQCb7AddressZl@Base 13 + _D3std6socket6Socket6sendToMFNeMAxvEQBiQBh11SocketFlagsZl@Base 13 + _D3std6socket6Socket6sendToMFNfMAxvCQBiQBh7AddressZl@Base 13 + _D3std6socket6Socket6sendToMFNfMAxvZl@Base 13 + _D3std6socket6Socket7__ClassZ@Base 13 + _D3std6socket6Socket7connectMFNeCQBfQBe7AddressZv@Base 13 + _D3std6socket6Socket7isAliveMxFNdNeZb@Base 13 + _D3std6socket6Socket7receiveMFNeMAvEQBiQBh11SocketFlagsZl@Base 13 + _D3std6socket6Socket7receiveMFNfMAvZl@Base 13 + _D3std6socket6Socket7releaseMFNaNbNdNiNfZEQBoQBn8socket_t@Base 13 + _D3std6socket6Socket7setSockMFNfEQBfQBe8socket_tZv@Base 13 + _D3std6socket6Socket8blockingMFNdNebZv@Base 13 + _D3std6socket6Socket8blockingMxFNbNdNiNeZb@Base 13 + _D3std6socket6Socket8capToIntFNbNiNfmZi@Base 13 + _D3std6socket6Socket8hostNameFNdNeZAya@Base 13 + _D3std6socket6Socket8shutdownMFNbNiNeEQBkQBj14SocketShutdownZv@Base 13 + _D3std6socket6Socket9acceptingMFNaNbNfZCQBmQBlQBh@Base 13 + _D3std6socket6Socket9getOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionJS4core4time8DurationZv@Base 13 + _D3std6socket6Socket9getOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionJSQDdQDc6LingerZi@Base 13 + _D3std6socket6Socket9getOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionJiZi@Base 13 + _D3std6socket6Socket9getOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionMAvZi@Base 13 + _D3std6socket6Socket9setOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionMAvZv@Base 13 + _D3std6socket6Socket9setOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionS4core4time8DurationZv@Base 13 + _D3std6socket6Socket9setOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptionSQDcQDb6LingerZv@Base 13 + _D3std6socket6Socket9setOptionMFNeEQBhQBg17SocketOptionLevelEQChQCg12SocketOptioniZv@Base 13 + _D3std6socket7Address10setNameLenMFNfkZv@Base 13 + _D3std6socket7Address12toAddrStringMxFNfZAya@Base 13 + _D3std6socket7Address12toHostStringMxFNebZAya@Base 13 + _D3std6socket7Address12toPortStringMxFNfZAya@Base 13 + _D3std6socket7Address13addressFamilyMxFNaNbNdNiNfZEQBxQBw13AddressFamily@Base 13 + _D3std6socket7Address15toServiceStringMxFNebZAya@Base 13 + _D3std6socket7Address16toHostNameStringMxFNfZAya@Base 13 + _D3std6socket7Address19toServiceNameStringMxFNfZAya@Base 13 + _D3std6socket7Address6__initZ@Base 13 + _D3std6socket7Address6__vtblZ@Base 13 + _D3std6socket7Address7__ClassZ@Base 13 + _D3std6socket7Address8toStringMxFNfZAya@Base 13 + _D3std6socket7Service16getServiceByNameMFNbNeMAxaMQeZb@Base 13 + _D3std6socket7Service16getServiceByPortMFNbNetMAxaZb@Base 13 + _D3std6socket7Service6__initZ@Base 13 + _D3std6socket7Service6__vtblZ@Base 13 + _D3std6socket7Service7__ClassZ@Base 13 + _D3std6socket7Service8populateMFNaNbPS4core3sys5posix5netdb7serventZv@Base 13 + _D3std6socket7TimeVal12microsecondsMNgFNaNbNcNdNiNjNfZNgl@Base 13 + _D3std6socket7TimeVal6__initZ@Base 13 + _D3std6socket7TimeVal7secondsMNgFNaNbNcNdNiNjNfZNgl@Base 13 + _D3std6socket8Protocol17getProtocolByNameMFNbNeMAxaZb@Base 13 + _D3std6socket8Protocol17getProtocolByTypeMFNbNeEQBuQBt12ProtocolTypeZb@Base 13 + _D3std6socket8Protocol6__initZ@Base 13 + _D3std6socket8Protocol6__vtblZ@Base 13 + _D3std6socket8Protocol7__ClassZ@Base 13 + _D3std6socket8Protocol8populateMFNaNbPS4core3sys5posix5netdb8protoentZv@Base 13 + _D3std6socket8_lasterrFNbNiNfZi@Base 13 + _D3std6socket8socket_t6__initZ@Base 13 + _D3std6socket9SocketSet14setMinCapacityMFNaNbNfmZv@Base 13 + _D3std6socket9SocketSet3addMFNaNbNeEQBiQBh8socket_tZv@Base 13 + _D3std6socket9SocketSet3addMFNaNbNfCQBiQBh6SocketZv@Base 13 + _D3std6socket9SocketSet3maxMxFNaNbNdNiNfZk@Base 13 + _D3std6socket9SocketSet4maskFNaNbNiNfkZl@Base 13 + _D3std6socket9SocketSet5isSetMxFNaNbNiNfCQBnQBm6SocketZi@Base 13 + _D3std6socket9SocketSet5isSetMxFNaNbNiNfEQBnQBm8socket_tZi@Base 13 + _D3std6socket9SocketSet5resetMFNaNbNiNfZv@Base 13 + _D3std6socket9SocketSet6__ctorMFNaNbNfmZCQBnQBmQBi@Base 13 + _D3std6socket9SocketSet6__initZ@Base 13 + _D3std6socket9SocketSet6__vtblZ@Base 13 + _D3std6socket9SocketSet6removeMFNaNbNfCQBlQBk6SocketZv@Base 13 + _D3std6socket9SocketSet6removeMFNaNbNfEQBlQBk8socket_tZv@Base 13 + _D3std6socket9SocketSet6resizeMFNaNbNfmZv@Base 13 + _D3std6socket9SocketSet7__ClassZ@Base 13 + _D3std6socket9SocketSet7selectnMxFNaNbNiNfZi@Base 13 + _D3std6socket9SocketSet8capacityMxFNaNbNdNiNfZm@Base 13 + _D3std6socket9SocketSet8toFd_setMFNaNbNiNeZPS4core3sys5posixQk6select6fd_set@Base 13 + _D3std6socket9SocketSet9lengthForFNaNbNiNfmZm@Base 13 + _D3std6socket9TcpSocket6__ctorMFNfCQBhQBg7AddressZCQBxQBwQBs@Base 13 + _D3std6socket9TcpSocket6__ctorMFNfEQBhQBg13AddressFamilyZCQCeQCdQBz@Base 13 + _D3std6socket9TcpSocket6__ctorMFNfZCQBiQBhQBd@Base 13 + _D3std6socket9TcpSocket6__initZ@Base 13 + _D3std6socket9TcpSocket6__vtblZ@Base 13 + _D3std6socket9TcpSocket7__ClassZ@Base 13 + _D3std6socket9UdpSocket6__ctorMFNfEQBhQBg13AddressFamilyZCQCeQCdQBz@Base 13 + _D3std6socket9UdpSocket6__ctorMFNfZCQBiQBhQBd@Base 13 + _D3std6socket9UdpSocket6__initZ@Base 13 + _D3std6socket9UdpSocket6__vtblZ@Base 13 + _D3std6socket9UdpSocket7__ClassZ@Base 13 + _D3std6socket__T14getAddressInfoTAxaTEQBkQBj13AddressFamilyZQBsFNfMQBiMQBmMQBmZASQDbQDa11AddressInfo@Base 14 + _D3std6socket__T14getAddressInfoTAxaTEQBkQBj16AddressInfoFlagsZQBvFNfMQBlMQBpMQBpZASQDeQDd11AddressInfo@Base 14 + _D3std6socket__T14getAddressInfoTAxaZQvFNfMQkMQnZASQBxQBw11AddressInfo@Base 13 + _D3std6socket__T14getAddressInfoTEQBgQBf16AddressInfoFlagsZQBrFNfMAxaMQBlZASQCwQCv11AddressInfo@Base 14 + _D3std6stdint11__moduleRefZ@Base 13 + _D3std6stdint12__ModuleInfoZ@Base 13 + _D3std6string11__moduleRefZ@Base 13 + _D3std6string12__ModuleInfoZ@Base 13 + _D3std6string14makeTransTableFNaNbNiNfMAxaMQeZG256a@Base 13 + _D3std6string15StringException6__initZ@Base 13 + _D3std6string15StringException6__vtblZ@Base 13 + _D3std6string15StringException7__ClassZ@Base 13 + _D3std6string15StringException8__mixin26__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDcQDbQCx@Base 13 + _D3std6string15StringException8__mixin26__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDcQDbQCx@Base 13 + _D3std6string6abbrevFNaNfAAyaZHQfQh@Base 13 + _D3std6string7soundexFNaNbNfMAxaNkMAaZQd@Base 13 + _D3std6string9makeTransFNaNbNeMAxaMQeZAya@Base 13 + _D3std6string9toStringzFNaNbNeMAxaZPya@Base 13 + _D3std6string__T10stripRightTAyaZQrFNaNbNiNfQpZQs@Base 13 + _D3std6string__T11_indexOfStrVEQBd8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoi0Z__TQDbTAxaTaZQDlFNaNfQoQqZl@Base 14.2 + _D3std6string__T11_indexOfStrVEQBd8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoi1Z__TQDbTAxaTaZQDlFNaNbNiNfQsQuZl@Base 14.2 + _D3std6string__T11_indexOfStrVEQBd8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoi1Z__TQDbTQBvTaZQDlFNaNbNiNfQCnAxaZl@Base 13 + _D3std6string__T11lastIndexOfTaZQqFNaNiNfAxaIwIEQBu8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoZl@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf11__xopEqualsMxFKxSQEpQEo__TQEkVQDzi0TQDjZQEyZb@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf4saveMFNaNbNdNiNfZSQEpQEo__TQEkVQDzi0TQDjZQEy@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf5emptyMFNaNbNdNiNfZb@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf5frontMFNaNbNdNiNfZQCq@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf6__ctorMFNaNbNcNiNfQCqZSQEuQEt__TQEpVQEei0TQDoZQFd@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf6__initZ@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf8popFrontMFNaNbNiNfZv@Base 13 + _D3std6string__T12LineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TQBqZQDf9__xtoHashFNbNeKxSQEoQEn__TQEjVQDyi0TQDiZQExZm@Base 13 + _D3std6string__T12lineSplitterVEQBe8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBqi0TyaZQDeFNaNbNiNfQCfZSQEjQEi__T12LineSplitterVQEei0TQDoZQz@Base 13 + _D3std6string__T14representationTxaZQuFNaNbNiNfAxaZAxh@Base 13 + _D3std6string__T14representationTyaZQuFNaNbNiNfAyaZAyh@Base 13 + _D3std6string__T5chompTAxaZQlFNaNbNiNfQpZQs@Base 13 + _D3std6string__T5stripTAyaZQlFNaNbNiNfQpZQs@Base 13 + _D3std6string__T7indexOfTAxaTaZQpFNaNbNiNfQrQtZl@Base 14.2 + _D3std6string__T7indexOfTAxaTaZQpFNaNfQnQpIEQBq8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoZl@Base 14.2 + _D3std6string__T7indexOfTAyaTaZQpFNaNbNiNfQrAxaZl@Base 13 + _D3std6string__T7indexOfTaZQlFNaNbNiNfMAxawEQBq8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoZl@Base 13 + _D3std6string__T8_indexOfTAxaZQoFNaNbNiNfQpwEQBr8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoZl@Base 13 + _D3std6string__T8_indexOfTAxaZQoFQhwEQBj8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBoZ13trustedmemchrFNaNbNiNeQDqaZl@Base 13 + _D3std6string__T9isNumericTAxaZQpFNaNbNiNfQpbZb@Base 13 + _D3std6string__T9isNumericTAxaZQpFQhbZ__T8asciiCmpTSQBy3utf__T10byCodeUnitTQBwZQrFQCdZ14ByCodeUnitImplZQCkFNaNbNiNfQCmAyaZb@Base 13 + _D3std6string__T9soundexerTAxaZQpFNaNbNiNfQpZG4a@Base 13 + _D3std6string__T9soundexerTAxaZQpFQhZ3dexyAa@Base 13 + _D3std6string__T9stripLeftTAyaZQpFNaNbNiNfQpZQs@Base 13 + _D3std6system11__moduleRefZ@Base 13 + _D3std6system12__ModuleInfoZ@Base 13 + _D3std6system26instructionSetArchitectureyEQBpQBo3ISA@Base 14 + _D3std6system2OS6__initZ@Base 13 + _D3std6system2osyEQqQo2OS@Base 13 + _D3std6system6endianyEQuQs6Endian@Base 13 + _D3std6traits11__moduleRefZ@Base 13 + _D3std6traits11dip1000TestFNaNbNiNfiZi@Base 13 + _D3std6traits12__ModuleInfoZ@Base 13 + _D3std6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D3std6traits__T18extractAttribFlagsVAyaa7_6e6f7468726f77VQva5_406e6f6763VQBla5_4073616665ZQCxFNaNbNiNfZEQDzQDy17FunctionAttribute@Base 13 + _D3std7complex11__moduleRefZ@Base 13 + _D3std7complex12__ModuleInfoZ@Base 13 + _D3std7complex4expiFNaNbNiNeeZSQBdQBc__T7ComplexTeZQl@Base 13 + _D3std7complex9coshisinhFNaNbNiNfeZSQBiQBh__T7ComplexTeZQl@Base 13 + _D3std7complex__T7ComplexTeZQl11__xopEqualsMxFKxSQBvQBu__TQBpTeZQBvZb@Base 13 + _D3std7complex__T7ComplexTeZQl6__initZ@Base 13 + _D3std7complex__T7ComplexTeZQl8toNativeMFNaNbNiNfZE4core4stdc6config16__c_complex_real@Base 13 + _D3std7complex__T7ComplexTeZQl8toStringMxFNaNfZAya@Base 13 + _D3std7complex__T7ComplexTeZQl8toStringMxFNfZ__T19trustedAssumeUniqueTAaZQzFNaNbNiNeQoZAya@Base 13 + _D3std7complex__T7ComplexTeZQl9__xtoHashFNbNeKxSQBuQBt__TQBoTeZQBuZm@Base 13 + _D3std7complex__T7ComplexTeZQl__T6__ctorHTeHTeZQoMFNaNbNcNiNfxexeZSQCnQCm__TQChTeZQCn@Base 13 + _D3std7complex__T7ComplexTeZQl__T8opEqualsHTeZQnMxFNaNbNiNfSQCgQCf__TQCaTeZQCgZb@Base 13 + _D3std7complex__T7ComplexTeZQl__T8toStringTDFNaNbNfAxaZvTaZQBaMxFNaNfMQBbMKxSQCx6format4spec__T10FormatSpecTaZQpZv@Base 13 + _D3std7numeric11__moduleRefZ@Base 13 + _D3std7numeric12__ModuleInfoZ@Base 13 + _D3std7numeric16CustomFloatFlags6__initZ@Base 13 + _D3std7numeric18decimalToFactorialFNaNbNiNfmKG21hZm@Base 13 + _D3std7numeric20isCorrectCustomFloatFNaNbNiNfkkEQBuQBt16CustomFloatFlagsZb@Base 13 + _D3std7numeric3Fft4sizeMxFNdZm@Base 13 + _D3std7numeric3Fft6__ctorMFAfZCQBdQBcQx@Base 13 + _D3std7numeric3Fft6__ctorMFmZCQBcQBbQw@Base 13 + _D3std7numeric3Fft6__initZ@Base 13 + _D3std7numeric3Fft6__vtblZ@Base 13 + _D3std7numeric3Fft7__ClassZ@Base 13 + _D3std7numeric__T13oppositeSignsTyeTeZQvFNaNbNiNfyeeZb@Base 13 + _D3std7numeric__T6StrideTAfZQl11__xopEqualsMxFKxSQBvQBu__TQBpTQBlZQBxZb@Base 13 + _D3std7numeric__T6StrideTAfZQl11doubleStepsMFNaNbNiNfZv@Base 13 + _D3std7numeric__T6StrideTAfZQl4saveMFNaNbNdNiNfZSQBvQBu__TQBpTQBlZQBx@Base 13 + _D3std7numeric__T6StrideTAfZQl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std7numeric__T6StrideTAfZQl5frontMFNaNbNdNiNfZf@Base 13 + _D3std7numeric__T6StrideTAfZQl6__ctorMFNaNbNcNiNfQymZSQCaQBz__TQBuTQBqZQCc@Base 13 + _D3std7numeric__T6StrideTAfZQl6__initZ@Base 13 + _D3std7numeric__T6StrideTAfZQl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std7numeric__T6StrideTAfZQl6nStepsMFNaNbNdNiNfmZm@Base 13 + _D3std7numeric__T6StrideTAfZQl6nStepsMxFNaNbNdNiNfZm@Base 13 + _D3std7numeric__T6StrideTAfZQl7opIndexMFNaNbNiNfmZf@Base 13 + _D3std7numeric__T6StrideTAfZQl7popHalfMFNaNbNiNfZv@Base 13 + _D3std7numeric__T6StrideTAfZQl8popFrontMFNaNbNiNfZv@Base 13 + _D3std7numeric__T6StrideTAfZQl9__xtoHashFNbNeKxSQBuQBt__TQBoTQBkZQBwZm@Base 13 + _D3std7numeric__T8findRootTeTDFNaNbNiNfeZeTPFNaNbNiNfeeZbZQBpFNaNbNiNfMQBqxexeMQBkZe@Base 13 + _D3std7numeric__T8findRootTeTDFNaNbNiNfeZeZQBaFMQtxexeZ9__lambda4FNaNbNiNfeeZb@Base 13 + _D3std7numeric__T8findRootTeTDFNaNbNiNfeZeZQBaFNaNbNiNfMQBbxexeZe@Base 13 + _D3std7numeric__T8findRootTeTeTDFNaNbNiNfeZeTPFNaNbNiNfeeZbZQBrFMQBixexexexeMQBgZ18secant_interpolateFNaNbNiNfeeeeZe@Base 13 + _D3std7numeric__T8findRootTeTeTDFNaNbNiNfeZeTPFNaNbNiNfeeZbZQBrFNaNbNiNfMQBqxexexexeMQBoZSQDk8typecons__T5TupleTeTeTeTeZQp@Base 13 + _D3std7process10setCLOEXECFNbNiibZv@Base 13 + _D3std7process10spawnShellFNeMAxaMxHAyaAyaSQBpQBo6ConfigMQBbMQzZCQClQCk3Pid@Base 13 + _D3std7process10spawnShellFNeMAxaSQBg5stdio4FileQpQrMxHAyaAyaSQCiQCh6ConfigMQBuMQzZCQDeQDd3Pid@Base 13 + _D3std7process10toAStringzFIAAyaPPxaZv@Base 13 + _D3std7process11__moduleRefZ@Base 13 + _D3std7process11environment13opIndexAssignFNeNkMNgAaMAxaZANga@Base 13 + _D3std7process11environment3getFNfMAxaAyaZQe@Base 13 + _D3std7process11environment4toAAFNeZHAyaQd@Base 13 + _D3std7process11environment6__initZ@Base 13 + _D3std7process11environment6__vtblZ@Base 13 + _D3std7process11environment6removeFNbNiNeMAxaZv@Base 13 + _D3std7process11environment7__ClassZ@Base 13 + _D3std7process11environment7getImplFNeMAxaMDFNfQiZvZv@Base 13 + _D3std7process11environment7opIndexFNfMAxaZAya@Base 13 + _D3std7process11environment__T14cachedToStringTaZQtFNbNfMAxaZAya@Base 13 + _D3std7process11environment__T14cachedToStringTaZQtFNfMAxaZ10lastResultAya@Base 13 + _D3std7process11nativeShellFNaNbNdNiNfZAya@Base 13 + _D3std7process11pipeProcessFNfMAxAaEQBiQBh8RedirectxHAyaAyaSQCgQCf6ConfigMAxaZSQCzQCy12ProcessPipes@Base 13 + _D3std7process11pipeProcessFNfMAxaEQBhQBg8RedirectxHAyaAyaSQCfQCe6ConfigMQBqZSQCyQCx12ProcessPipes@Base 13 + _D3std7process11shellSwitchyAa@Base 13 + _D3std7process12ProcessPipes11__fieldDtorMFNeZv@Base 13 + _D3std7process12ProcessPipes11__xopEqualsMxFKxSQBtQBsQBnZb@Base 13 + _D3std7process12ProcessPipes15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std7process12ProcessPipes3pidMFNbNdNfZCQBoQBn3Pid@Base 13 + _D3std7process12ProcessPipes5stdinMFNbNdNfZSQBq5stdio4File@Base 13 + _D3std7process12ProcessPipes6__initZ@Base 13 + _D3std7process12ProcessPipes6stderrMFNbNdNfZSQBr5stdio4File@Base 13 + _D3std7process12ProcessPipes6stdoutMFNbNdNfZSQBr5stdio4File@Base 13 + _D3std7process12ProcessPipes8opAssignMFNcNjNeSQBsQBrQBmZQl@Base 13 + _D3std7process12ProcessPipes9__xtoHashFNbNeKxSQBsQBrQBmZm@Base 13 + _D3std7process12__ModuleInfoZ@Base 13 + _D3std7process12executeShellFNfMAxaxHAyaAyaSQBqQBp6ConfigmMQBbQzZSQCm8typecons__T5TupleTiVQCba6_737461747573TQCuVQCya6_6f7574707574ZQBz@Base 13 + _D3std7process12spawnProcessFNeMAxAaxHAyaAyaSQBrQBq6ConfigMAxaZCQCkQCj3Pid@Base 13 + _D3std7process12spawnProcessFNeMAxaSQBi5stdio4FileQpQrxHAyaAyaSQCjQCi6ConfigMQBtZCQDcQDb3Pid@Base 13 + _D3std7process12spawnProcessFNeMAxaxHAyaAyaSQBqQBp6ConfigMQBaZCQCjQCi3Pid@Base 13 + _D3std7process12spawnProcessFNfMAxAaSQBj5stdio4FileQpQrxHAyaAyaSQCkQCj6ConfigMxQBtZCQDeQDd3Pid@Base 13 + _D3std7process12thisThreadIDFNbNdNiNeZm@Base 13 + _D3std7process13charAllocatorFNaNbNfmZAa@Base 13 + _D3std7process13getEnvironPtrFNeZxPPa@Base 13 + _D3std7process13searchPathForFNfMAxaZAya@Base 13 + _D3std7process13thisProcessIDFNbNdNiNeZi@Base 13 + _D3std7process14uniqueTempPathFNfZAya@Base 13 + _D3std7process16ProcessException12newFromErrnoFAyaQdmZCQCbQCaQBv@Base 13 + _D3std7process16ProcessException12newFromErrnoFiAyaQdmZCQCcQCbQBw@Base 13 + _D3std7process16ProcessException6__initZ@Base 13 + _D3std7process16ProcessException6__vtblZ@Base 13 + _D3std7process16ProcessException7__ClassZ@Base 13 + _D3std7process16ProcessException8__mixin36__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDeQDdQCy@Base 13 + _D3std7process16ProcessException8__mixin36__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDeQDdQCy@Base 13 + _D3std7process17spawnProcessPosixFNeMAxAaSQBo5stdio4FileQpQrMxHAyaAyaSQCqQCp6ConfigMAxaZ12abortOnErrorFNbNiiEQEdQEc13InternalErroriZv@Base 13 + _D3std7process17spawnProcessPosixFNeMAxAaSQBo5stdio4FileQpQrMxHAyaAyaSQCqQCp6ConfigMAxaZ5getFDFNfKQCfZi@Base 13 + _D3std7process17spawnProcessPosixFNeMAxAaSQBo5stdio4FileQpQrMxHAyaAyaSQCqQCp6ConfigMAxaZCQDjQDi3Pid@Base 13 + _D3std7process18escapeShellCommandFNaNfAxAaXAya@Base 13 + _D3std7process19escapePosixArgumentFNaNbNeMAxaZAya@Base 13 + _D3std7process19escapeShellFileNameFNaNbNeMAxaZAya@Base 13 + _D3std7process20escapeShellArgumentsFNaNbNeAxAaX9allocatorMFNaNbNfmZAa@Base 13 + _D3std7process20escapeShellArgumentsFNaNbNeAxAaXAya@Base 13 + _D3std7process21escapeWindowsArgumentFNaNbNeMAxaZAya@Base 13 + _D3std7process24escapeShellCommandStringFNaNfNkMAyaZQe@Base 13 + _D3std7process25escapeWindowsShellCommandFNaNfMAxaZAya@Base 13 + _D3std7process3Pid11performWaitMFNebZi@Base 13 + _D3std7process3Pid6__ctorMFNaNbNfibZCQBjQBiQBd@Base 13 + _D3std7process3Pid6__initZ@Base 13 + _D3std7process3Pid6__vtblZ@Base 13 + _D3std7process3Pid7__ClassZ@Base 13 + _D3std7process3Pid8osHandleMFNaNbNdNiNfZi@Base 13 + _D3std7process3Pid9processIDMxFNaNbNdNfZi@Base 13 + _D3std7process4Pipe11__fieldDtorMFNeZv@Base 13 + _D3std7process4Pipe11__xopEqualsMxFKxSQBkQBjQBeZb@Base 13 + _D3std7process4Pipe15__fieldPostblitMFNaNbNiNlNeZv@Base 13 + _D3std7process4Pipe5closeMFNfZv@Base 13 + _D3std7process4Pipe6__initZ@Base 13 + _D3std7process4Pipe7readEndMFNbNdNfZSQBj5stdio4File@Base 13 + _D3std7process4Pipe8opAssignMFNcNjNeSQBjQBiQBdZQl@Base 13 + _D3std7process4Pipe8writeEndMFNbNdNfZSQBk5stdio4File@Base 13 + _D3std7process4Pipe9__xtoHashFNbNeKxSQBjQBiQBdZm@Base 13 + _D3std7process4killFCQtQr3PidZv@Base 13 + _D3std7process4killFCQtQr3PidiZv@Base 13 + _D3std7process4pipeFNeZSQwQu4Pipe@Base 13 + _D3std7process4waitFNfCQvQt3PidZi@Base 13 + _D3std7process5execvFIAyaIAQfZi@Base 13 + _D3std7process6Config6__initZ@Base 13 + _D3std7process6browseFNbNiNfMAxaZ9__lambda4FNbNiNeZPa@Base 13 + _D3std7process6browseFNbNiNfMAxaZv@Base 13 + _D3std7process6execv_FIAyaIAQfZi@Base 13 + _D3std7process6execveFIAyaIAQfIQeZi@Base 13 + _D3std7process6execvpFIAyaIAQfZi@Base 13 + _D3std7process7executeFNfMAxAaxHAyaAyaSQBlQBk6ConfigmMAxaZSQCf8typecons__T5TupleTiVQBza6_737461747573TQCsVQCwa6_6f7574707574ZQBz@Base 13 + _D3std7process7executeFNfMAxaxHAyaAyaSQBkQBj6ConfigmMQBbZSQCe8typecons__T5TupleTiVQBza6_737461747573TQCsVQCwa6_6f7574707574ZQBz@Base 13 + _D3std7process7execve_FIAyaIAQfIQeZi@Base 13 + _D3std7process7execvp_FIAyaIAQfZi@Base 13 + _D3std7process7execvpeFIAyaIAQfIQeZi@Base 13 + _D3std7process7tryWaitFNfCQyQw3PidZSQBi8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg@Base 13 + _D3std7process8Redirect6__initZ@Base 13 + _D3std7process8execvpe_FIAyaIAQfIQeZi@Base 13 + _D3std7process9createEnvFxHAyaAyabZPxPa@Base 13 + _D3std7process9pipeShellFNfMAxaEQBeQBd8RedirectxHAyaAyaSQCcQCb6ConfigMQBqQyZSQCxQCw12ProcessPipes@Base 13 + _D3std7process9userShellFNdNfZAya@Base 13 + _D3std7process__T11executeImplSQBdQBc11pipeProcessTAxAaZQBnFNeQlxHAyaAyaSQCtQCs6ConfigmMAxaZSQDn8typecons__T5TupleTiVQBza6_737461747573TQCsVQCwa6_6f7574707574ZQBz@Base 13 + _D3std7process__T11executeImplSQBdQBc11pipeProcessTAxaZQBmFNeQkxHAyaAyaSQCsQCr6ConfigmMQBkZSQDm8typecons__T5TupleTiVQBza6_737461747573TQCsVQCwa6_6f7574707574ZQBz@Base 13 + _D3std7process__T11executeImplS_DQBfQBe9pipeShellFNfMAxaEQCdQCc8RedirectxHAyaAyaSQDbQDa6ConfigMQBqQyZSQDwQDv12ProcessPipesTQCsTQCbZQEkFNeQDgxQCqQCmmMQDsQDaZSQFz8typecons__T5TupleTiVQEda6_737461747573TQEwVQFaa6_6f7574707574ZQBz@Base 13 + _D3std7process__T12isExecutableTSQBf5range__T5chainTSQBz3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQDyQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFkFNbNiNeQFfZb@Base 13 + _D3std7process__T15pipeProcessImplSQBhQBg10spawnShellTAxaTAyaZQBtFNeMQpEQCsQCr8RedirectxHQBfAyaSQDqQDp6ConfigMQCeQCdZSQEmQEl12ProcessPipes@Base 13 + _D3std7process__T15pipeProcessImplSQBhQBg12spawnProcessTAxAaZQBsFNeMQmEQCrQCq8RedirectxHAyaAyaSQDpQDo6ConfigMAxaZSQEiQEh12ProcessPipes@Base 13 + _D3std7process__T15pipeProcessImplSQBhQBg12spawnProcessTAxaZQBrFNeMQlEQCqQCp8RedirectxHAyaAyaSQDoQDn6ConfigMQCaZSQEhQEg12ProcessPipes@Base 13 + _D3std7process__T23escapePosixArgumentImplS_DQBrQBq13charAllocatorFNaNbNfmZAaZQCjFNaNbNfMAxaZQs@Base 13 + _D3std7process__T25escapeWindowsArgumentImplS_DQBtQBs13charAllocatorFNaNbNfmZAaZQClFNaNbNfMAxaZQs@Base 13 + _D3std7signals11__moduleRefZ@Base 13 + _D3std7signals12__ModuleInfoZ@Base 13 + _D3std7signals6linkinFZv@Base 13 + _D3std7sumtype11__moduleRefZ@Base 13 + _D3std7sumtype12__ModuleInfoZ@Base 13 + _D3std7sumtype14MatchException6__ctorMFNaNbNiNfAyaQdmZCQCbQCaQBv@Base 13 + _D3std7sumtype14MatchException6__initZ@Base 13 + _D3std7sumtype14MatchException6__vtblZ@Base 13 + _D3std7sumtype14MatchException7__ClassZ@Base 13 + _D3std7sumtype4This6__initZ@Base 13 + _D3std7variant11__moduleRefZ@Base 13 + _D3std7variant12__ModuleInfoZ@Base 13 + _D3std7variant15FakeComplexReal11__xopEqualsMxFKxSQBwQBvQBqZb@Base 13 + _D3std7variant15FakeComplexReal6__initZ@Base 13 + _D3std7variant15FakeComplexReal9__xtoHashFNbNeKxSQBvQBuQBpZm@Base 13 + _D3std7variant16VariantException6__ctorMFAyaZCQBsQBrQBm@Base 13 + _D3std7variant16VariantException6__ctorMFC8TypeInfoQkZCQCbQCaQBv@Base 13 + _D3std7variant16VariantException6__initZ@Base 13 + _D3std7variant16VariantException6__vtblZ@Base 13 + _D3std7variant16VariantException7__ClassZ@Base 13 + _D3std7variant__T8VariantNVmi32ZQp10__postblitMFZv@Base 13 + _D3std7variant__T8VariantNVmi32ZQp11SizeChecker6__initZ@Base 13 + _D3std7variant__T8VariantNVmi32ZQp11__xopEqualsMxFKxSQBzQBy__TQBtVmi32ZQCcZb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp4typeMxFNbNdNeZC8TypeInfo@Base 13 + _D3std7variant__T8VariantNVmi32ZQp5opCmpMxFKxSQBsQBr__TQBmVmi32ZQBvZi@Base 13 + _D3std7variant__T8VariantNVmi32ZQp6__dtorMFNfZv@Base 13 + _D3std7variant__T8VariantNVmi32ZQp6__initZ@Base 13 + _D3std7variant__T8VariantNVmi32ZQp6lengthMFNdZm@Base 13 + _D3std7variant__T8VariantNVmi32ZQp6toHashMxFNbNfZm@Base 13 + _D3std7variant__T8VariantNVmi32ZQp8hasValueMxFNaNbNdNiNfZb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp8toStringMFZAya@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T10convertsToTSQBx11concurrency3TidZQBjMxFNdZb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T3getTSQBp11concurrency3TidZQBbMNgFNdZNgSQCxQBiQy@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T4peekTvZQiMNgFNbNdNfZPNgv@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T5opCmpTSQBrQBq__TQBlVmi32ZQBuZQBeMFQBcZi@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T6__ctorTSQBs11concurrency3TidZQBeMFNcQBdZSQCzQCy__TQCtVmi32ZQDc@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T7handlerHTvZQmFEQBzQBy__TQBtVmi32ZQCc4OpIDPG32hPvZl@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T7handlerTSQBt11concurrency3TidZQBfFEQCtQCs__TQCnVmi32ZQCw4OpIDPG32hPvZ10tryPuttingFPQCxC8TypeInfoQBeZb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T7handlerTSQBt11concurrency3TidZQBfFEQCtQCs__TQCnVmi32ZQCw4OpIDPG32hPvZ6getPtrFNaNbNiQrZPQDb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T7handlerTSQBt11concurrency3TidZQBfFEQCtQCs__TQCnVmi32ZQCw4OpIDPG32hPvZ7compareFPQCtQeQByZl@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T7handlerTSQBt11concurrency3TidZQBfFEQCtQCs__TQCnVmi32ZQCw4OpIDPG32hPvZl@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T8opAssignTSQBu11concurrency3TidZQBgMFQBbZSQCzQCy__TQCtVmi32ZQDc@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T8opEqualsTSQBuQBt__TQBoVmi32ZQBxZQBhMxFKQBeZb@Base 13 + _D3std7variant__T8VariantNVmi32ZQp__T8opEqualsTxSQBvQBu__TQBpVmi32ZQByZQBiMxFKxQBfZb@Base 13 + _D3std7windows7charset11__moduleRefZ@Base 13 + _D3std7windows7charset12__ModuleInfoZ@Base 13 + _D3std7windows8registry11__moduleRefZ@Base 13 + _D3std7windows8registry12__ModuleInfoZ@Base 13 + _D3std7windows8syserror11__moduleRefZ@Base 13 + _D3std7windows8syserror12__ModuleInfoZ@Base 13 + _D3std8bitmanip10myToStringFNaNfmZAya@Base 13 + _D3std8bitmanip11__moduleRefZ@Base 13 + _D3std8bitmanip12__ModuleInfoZ@Base 13 + _D3std8bitmanip15getBitsForAlignFmZm@Base 13 + _D3std8bitmanip8BitArray13opIndexAssignMFNaNbNibmZb@Base 13 + _D3std8bitmanip8BitArray13opSliceAssignMFNaNbNibZv@Base 13 + _D3std8bitmanip8BitArray13opSliceAssignMFNaNbNibmmZv@Base 13 + _D3std8bitmanip8BitArray3dimMxFNaNbNdNiNfZm@Base 13 + _D3std8bitmanip8BitArray3dupMxFNaNbNdZSQBlQBkQBe@Base 13 + _D3std8bitmanip8BitArray4flipMFNaNbNiZv@Base 13 + _D3std8bitmanip8BitArray4flipMFNaNbNimZv@Base 13 + _D3std8bitmanip8BitArray4sortMFNaNbNdNiNjZSQBpQBoQBi@Base 13 + _D3std8bitmanip8BitArray5countMxFNaNbNiNlNfZm@Base 13 + _D3std8bitmanip8BitArray5opCmpMxFNaNbNiSQBmQBlQBfZi@Base 13 + _D3std8bitmanip8BitArray6__ctorMFNaNbNcIAbZSQBqQBpQBj@Base 13 + _D3std8bitmanip8BitArray6__ctorMFNaNbNcNiAvmZSQBsQBrQBl@Base 13 + _D3std8bitmanip8BitArray6__ctorMFNaNbNcNimPmZSQBsQBrQBl@Base 13 + _D3std8bitmanip8BitArray6__initZ@Base 13 + _D3std8bitmanip8BitArray6lengthMFNaNbNdmZm@Base 13 + _D3std8bitmanip8BitArray6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8bitmanip8BitArray6toHashMxFNaNbNiZm@Base 13 + _D3std8bitmanip8BitArray7bitsSetMxFNaNbNdZSQBp5range__T5chainTSQCj9algorithm9iteration__T6joinerTSQDsQBjQBc__T9MapResultSQEpQEoQEiQEcMxFNbNdZ9__lambda2TSQFvQDmQDf__T12FilterResultSQGwQGvQGpQGjMxFNbNdZ9__lambda1TSQIcQGn__T4iotaTmTmZQkFmmZ6ResultZQDcZQFjZQGiFQGeZQyTSQKdQHuQHn__TQEiSQKtQKsQKmQKgMxFNbNdZ9__lambda3TSQLzQKk__TQDxTmTxmZQEgFmxmZQDyZQGwZQLgFQLdQDmZQEr@Base 13 + _D3std8bitmanip8BitArray7endBitsMxFNaNbNdNiNlNfZm@Base 13 + _D3std8bitmanip8BitArray7endMaskMxFNaNbNdNiNlNfZm@Base 13 + _D3std8bitmanip8BitArray7opApplyMFMDFKbZiZi@Base 13 + _D3std8bitmanip8BitArray7opApplyMFMDFmKbZiZi@Base 13 + _D3std8bitmanip8BitArray7opApplyMxFMDFbZiZi@Base 13 + _D3std8bitmanip8BitArray7opApplyMxFMDFmbZiZi@Base 13 + _D3std8bitmanip8BitArray7opIndexMxFNaNbNimZb@Base 13 + _D3std8bitmanip8BitArray7reverseMFNaNbNdNiNjZSQBsQBrQBl@Base 13 + _D3std8bitmanip8BitArray8lenToDimFNaNbNiNfmZm@Base 13 + _D3std8bitmanip8BitArray8opEqualsMxFNaNbNiKxSQBrQBqQBkZb@Base 13 + _D3std8bitmanip8BitArray9fullWordsMxFNaNbNdNiNlNfZm@Base 13 + _D3std8bitmanip__T10swapEndianTaZQpFNaNbNiNfxaZa@Base 13 + _D3std8bitmanip__T10swapEndianTbZQpFNaNbNiNfxbZb@Base 13 + _D3std8bitmanip__T10swapEndianThZQpFNaNbNiNfxhZh@Base 13 + _D3std8bitmanip__T10swapEndianTiZQpFNaNbNiNfxiZi@Base 13 + _D3std8bitmanip__T10swapEndianTlZQpFNaNbNiNfxlZl@Base 13 + _D3std8bitmanip__T12countBitsSetTmZQrFNaNbNiNfxmZk@Base 13 + _D3std8bitmanip__T13EndianSwapperTaZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTbZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperThZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTiZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTkZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTlZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTmZQs6__initZ@Base 13 + _D3std8bitmanip__T13EndianSwapperTtZQs6__initZ@Base 13 + _D3std8bitmanip__T17bigEndianToNativeTaVmi1ZQBaFNaNbNiNfG1hZa@Base 13 + _D3std8bitmanip__T17bigEndianToNativeTbVmi1ZQBaFNaNbNiNfG1hZb@Base 13 + _D3std8bitmanip__T17bigEndianToNativeThVmi1ZQBaFNaNbNiNfG1hZh@Base 13 + _D3std8bitmanip__T17bigEndianToNativeTiVmi4ZQBaFNaNbNiNfG4hZi@Base 13 + _D3std8bitmanip__T17bigEndianToNativeTlVmi8ZQBaFNaNbNiNfG8hZl@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi0TkVmi4ZQBfFNaNbNiNfG4hZk@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi0TmVmi8ZQBfFNaNbNiNfG8hZm@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi0TtVmi2ZQBfFNaNbNiNfG2hZt@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi1TaVmi1ZQBfFNaNbNiNfG1hZa@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi1TbVmi1ZQBfFNaNbNiNfG1hZb@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi1ThVmi1ZQBfFNaNbNiNfG1hZh@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi1TiVmi4ZQBfFNaNbNiNfG4hZi@Base 13 + _D3std8bitmanip__T18endianToNativeImplVbi1TlVmi8ZQBfFNaNbNiNfG8hZl@Base 13 + _D3std8bitmanip__T18nativeToEndianImplVbi0TkZQBbFNaNbNiNfxkZG4h@Base 13 + _D3std8bitmanip__T18nativeToEndianImplVbi0TmZQBbFNaNbNiNfxmZG8h@Base 13 + _D3std8bitmanip__T18nativeToEndianImplVbi0TtZQBbFNaNbNiNfxtZG2h@Base 13 + _D3std8bitmanip__T20littleEndianToNativeTkVmi4ZQBdFNaNbNiNfG4hZk@Base 13 + _D3std8bitmanip__T20littleEndianToNativeTmVmi8ZQBdFNaNbNiNfG8hZm@Base 13 + _D3std8bitmanip__T20littleEndianToNativeTtVmi2ZQBdFNaNbNiNfG2hZt@Base 13 + _D3std8bitmanip__T20nativeToLittleEndianTkZQzFNaNbNiNfxkZG4h@Base 13 + _D3std8bitmanip__T20nativeToLittleEndianTmZQzFNaNbNiNfxmZG8h@Base 13 + _D3std8bitmanip__T20nativeToLittleEndianTtZQzFNaNbNiNfxtZG2h@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg4signMFNaNbNdNiNfbZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg4signMxFNaNbNdNiNfZb@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg6__initZ@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg8exponentMFNaNbNdNiNftZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg8exponentMxFNaNbNdNiNfZt@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg8fractionMFNaNbNdNiNfmZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTdZQBg8fractionMxFNaNbNdNiNfZm@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg4signMFNaNbNdNiNfbZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg4signMxFNaNbNdNiNfZb@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg6__initZ@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg8exponentMFNaNbNdNiNfhZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg8exponentMxFNaNbNdNiNfZh@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg8fractionMFNaNbNdNiNfkZv@Base 13 + _D3std8bitmanip__T27FloatingPointRepresentationTfZQBg8fractionMxFNaNbNdNiNfZk@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl4saveMxFNaNbNdNiNfZSQBxQBw__TQBqTmZQBw@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl5frontMxFNaNbNdNiNfZm@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl6__ctorMFNaNbNcNiNfmmZSQCaQBz__TQBtTmZQBz@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl6__initZ@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8bitmanip__T7BitsSetTmZQl8popFrontMFNaNbNiNfZv@Base 13 + _D3std8bitmanip__T8ctfeReadTaZQmFNaNbNiNfxG1hZa@Base 13 + _D3std8bitmanip__T8ctfeReadTbZQmFNaNbNiNfxG1hZb@Base 13 + _D3std8bitmanip__T8ctfeReadThZQmFNaNbNiNfxG1hZh@Base 13 + _D3std8bitmanip__T8ctfeReadTiZQmFNaNbNiNfxG4hZi@Base 13 + _D3std8bitmanip__T8ctfeReadTkZQmFNaNbNiNfxG4hZk@Base 13 + _D3std8bitmanip__T8ctfeReadTlZQmFNaNbNiNfxG8hZl@Base 13 + _D3std8bitmanip__T8ctfeReadTmZQmFNaNbNiNfxG8hZm@Base 13 + _D3std8bitmanip__T8ctfeReadTtZQmFNaNbNiNfxG2hZt@Base 13 + _D3std8bitmanip__T9ctfeBytesTkZQnFNaNbNiNfxkZG4h@Base 13 + _D3std8bitmanip__T9ctfeBytesTmZQnFNaNbNiNfxmZG8h@Base 13 + _D3std8bitmanip__T9ctfeBytesTtZQnFNaNbNiNfxtZG2h@Base 13 + _D3std8compiler11__moduleRefZ@Base 13 + _D3std8compiler12__ModuleInfoZ@Base 13 + _D3std8compiler13version_majoryk@Base 13 + _D3std8compiler13version_minoryk@Base 13 + _D3std8compiler4nameyAa@Base 13 + _D3std8compiler6vendoryEQwQu6Vendor@Base 13 + _D3std8compiler7D_majoryk@Base 13 + _D3std8compiler7D_minoryk@Base 13 + _D3std8datetime11__moduleRefZ@Base 13 + _D3std8datetime12__ModuleInfoZ@Base 13 + _D3std8datetime4date11__moduleRefZ@Base 13 + _D3std8datetime4date11_monthNamesyG12Aa@Base 13 + _D3std8datetime4date11lastDayLeapyG13i@Base 13 + _D3std8datetime4date11timeStringsyAAa@Base 13 + _D3std8datetime4date12__ModuleInfoZ@Base 13 + _D3std8datetime4date12cmpTimeUnitsFNaNfAyaQdZi@Base 13 + _D3std8datetime4date12getDayOfWeekFNaNbNiNfiZEQBsQBrQBl9DayOfWeek@Base 13 + _D3std8datetime4date13monthToStringFNaNfEQBnQBmQBg5MonthZAya@Base 13 + _D3std8datetime4date13monthsToMonthFNaNfiiZi@Base 13 + _D3std8datetime4date14lastDayNonLeapyG13i@Base 13 + _D3std8datetime4date14validTimeUnitsFNaNbNiNfAAyaXb@Base 13 + _D3std8datetime4date14yearIsLeapYearFNaNbNiNfiZb@Base 13 + _D3std8datetime4date15daysToDayOfWeekFNaNbNiNfEQBtQBsQBm9DayOfWeekQuZi@Base 13 + _D3std8datetime4date16cmpTimeUnitsCTFEFNaNbNiNfAyaQdZi@Base 13 + _D3std8datetime4date4Date10diffMonthsMxFNaNbNiNfSQBvQBuQBoQBmZi@Base 13 + _D3std8datetime4date4Date10endOfMonthMxFNaNbNdNfZSQBwQBvQBpQBn@Base 13 + _D3std8datetime4date4Date10isLeapYearMxFNaNbNdNiNfZb@Base 13 + _D3std8datetime4date4Date11__invariantMxFNaNfZv@Base 13 + _D3std8datetime4date4Date11daysInMonthMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date4Date11fromISOWeekFNaNbNiNfshEQBwQBvQBp9DayOfWeekZSQCrQCqQCkQCi@Base 13 + _D3std8datetime4date4Date11isoWeekYearMxFNaNbNdNfZs@Base 13 + _D3std8datetime4date4Date11toISOStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date4Date12__invariant0MxFNaNfZv@Base 13 + _D3std8datetime4date4Date12modJulianDayMxFNaNbNdNiNfZl@Base 13 + _D3std8datetime4date4Date14isoWeekAndYearMxFNaNbNdNfZ14ISOWeekAndYear6__initZ@Base 13 + _D3std8datetime4date4Date14isoWeekAndYearMxFNaNbNdNfZSQCaQBzQBtQBrQBpMxFNaNbNdNfZ14ISOWeekAndYear@Base 13 + _D3std8datetime4date4Date14toISOExtStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date4Date14toSimpleStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date4Date17dayOfGregorianCalMFNaNbNdNiNfiZv@Base 13 + _D3std8datetime4date4Date17dayOfGregorianCalMxFNaNbNdNiNfZi@Base 13 + _D3std8datetime4date4Date3dayMFNaNdNfiZv@Base 13 + _D3std8datetime4date4Date3dayMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date4Date3maxFNaNbNdNiNfZSQBoQBnQBhQBf@Base 13 + _D3std8datetime4date4Date3minFNaNbNdNiNfZSQBoQBnQBhQBf@Base 13 + _D3std8datetime4date4Date4isADMxFNaNbNdNiNfZb@Base 13 + _D3std8datetime4date4Date4yearMFNaNdNfiZv@Base 13 + _D3std8datetime4date4Date4yearMxFNaNbNdNiNfZs@Base 13 + _D3std8datetime4date4Date5monthMFNaNdNfEQBmQBlQBf5MonthZv@Base 13 + _D3std8datetime4date4Date5monthMxFNaNbNdNiNfZEQBsQBrQBl5Month@Base 13 + _D3std8datetime4date4Date5opCmpMxFNaNbNiNfSQBpQBoQBiQBgZi@Base 13 + _D3std8datetime4date4Date6__ctorMFNaNbNcNiNfiZSQBtQBsQBmQBk@Base 13 + _D3std8datetime4date4Date6__ctorMFNaNcNfiiiZSQBrQBqQBkQBi@Base 13 + _D3std8datetime4date4Date6__initZ@Base 13 + _D3std8datetime4date4Date6_validFNaNbNiNfiiiZb@Base 13 + _D3std8datetime4date4Date6yearBCMFNaNdNfiZv@Base 13 + _D3std8datetime4date4Date6yearBCMxFNaNdNfZt@Base 13 + _D3std8datetime4date4Date7isoWeekMxFNaNbNdNfZh@Base 13 + _D3std8datetime4date4Date8__xopCmpMxFKxSQBmQBlQBfQBdZi@Base 13 + _D3std8datetime4date4Date8_addDaysMFNaNbNcNiNjNflZSQBxQBwQBqQBo@Base 13 + _D3std8datetime4date4Date8toStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date4Date9dayOfWeekMxFNaNbNdNiNfZEQBwQBvQBp9DayOfWeek@Base 13 + _D3std8datetime4date4Date9dayOfYearMFNaNdNfiZv@Base 13 + _D3std8datetime4date4Date9dayOfYearMxFNaNbNdNiNfZt@Base 13 + _D3std8datetime4date4Date9julianDayMxFNaNbNdNiNfZl@Base 13 + _D3std8datetime4date4Date__T11toISOStringTSQBp5array__T8AppenderTAyaZQoZQBsMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date4Date__T12setDayOfYearVbi0ZQtMFNaNbNiNfiZv@Base 13 + _D3std8datetime4date4Date__T12setDayOfYearVbi1ZQtMFNaNfiZv@Base 13 + _D3std8datetime4date4Date__T14toISOExtStringTSQBs5array__T8AppenderTAyaZQoZQBvMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date4Date__T14toSimpleStringTSQBs5array__T8AppenderTAyaZQoZQBvMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date4Date__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfSQChQCgQCaQByZS4core4time8Duration@Base 13 + _D3std8datetime4date5Month6__initZ@Base 13 + _D3std8datetime4date6maxDayFNaNbNiNfiiZh@Base 13 + _D3std8datetime4date8DateTime10diffMonthsMxFNaNbNiNfSQBzQByQBsQBqZi@Base 13 + _D3std8datetime4date8DateTime10endOfMonthMxFNaNbNdNfZSQCaQBzQBtQBr@Base 13 + _D3std8datetime4date8DateTime10isLeapYearMxFNaNbNdNiNfZb@Base 13 + _D3std8datetime4date8DateTime11_addSecondsMFNaNbNcNiNjNflZSQCfQCeQByQBw@Base 13 + _D3std8datetime4date8DateTime11daysInMonthMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date8DateTime11isoWeekYearMxFNaNbNdNfZs@Base 13 + _D3std8datetime4date8DateTime11toISOStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date8DateTime12modJulianDayMxFNaNbNdNiNfZl@Base 13 + _D3std8datetime4date8DateTime14toISOExtStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date8DateTime14toSimpleStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date8DateTime17dayOfGregorianCalMFNaNbNdNiNfiZv@Base 13 + _D3std8datetime4date8DateTime17dayOfGregorianCalMxFNaNbNdNiNfZi@Base 13 + _D3std8datetime4date8DateTime3dayMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime3dayMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date8DateTime3maxFNaNbNdNiNfZSQBsQBrQBlQBj@Base 13 + _D3std8datetime4date8DateTime3minFNaNbNdNiNfZSQBsQBrQBlQBj@Base 13 + _D3std8datetime4date8DateTime4hourMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime4hourMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date8DateTime4isADMxFNaNbNdNiNfZb@Base 13 + _D3std8datetime4date8DateTime4yearMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime4yearMxFNaNbNdNiNfZs@Base 13 + _D3std8datetime4date8DateTime5monthMFNaNdNfEQBqQBpQBj5MonthZv@Base 13 + _D3std8datetime4date8DateTime5monthMxFNaNbNdNiNfZEQBwQBvQBp5Month@Base 13 + _D3std8datetime4date8DateTime5opCmpMxFNaNbNiNfSQBtQBsQBmQBkZi@Base 13 + _D3std8datetime4date8DateTime6__ctorMFNaNbNcNiNfSQBvQBuQBo4DateSQCkQCjQCd9TimeOfDayZSQDfQDeQCyQCw@Base 13 + _D3std8datetime4date8DateTime6__ctorMFNaNcNfiiiiiiZSQByQBxQBrQBp@Base 13 + _D3std8datetime4date8DateTime6__initZ@Base 13 + _D3std8datetime4date8DateTime6minuteMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime6minuteMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date8DateTime6secondMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime6secondMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date8DateTime6yearBCMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime6yearBCMxFNaNdNfZs@Base 13 + _D3std8datetime4date8DateTime7isoWeekMxFNaNbNdNfZh@Base 13 + _D3std8datetime4date8DateTime8__xopCmpMxFKxSQBqQBpQBjQBhZi@Base 13 + _D3std8datetime4date8DateTime8toStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date8DateTime9dayOfWeekMxFNaNbNdNiNfZEQCaQBzQBt9DayOfWeek@Base 13 + _D3std8datetime4date8DateTime9dayOfYearMFNaNdNfiZv@Base 13 + _D3std8datetime4date8DateTime9dayOfYearMxFNaNbNdNiNfZt@Base 13 + _D3std8datetime4date8DateTime9julianDayMxFNaNbNdNiNfZl@Base 13 + _D3std8datetime4date8DateTime9timeOfDayMFNaNbNdNiNfSQByQBxQBr9TimeOfDayZv@Base 13 + _D3std8datetime4date8DateTime9timeOfDayMxFNaNbNdNiNfZSQCaQBzQBt9TimeOfDay@Base 13 + _D3std8datetime4date8DateTimeQoMFNaNbNdNiNfSQBqQBpQBj4DateZv@Base 13 + _D3std8datetime4date8DateTimeQoMxFNaNbNdNiNfZSQBsQBrQBl4Date@Base 13 + _D3std8datetime4date8DateTime__T11toISOStringTSQBt5array__T8AppenderTAyaZQoZQBsMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date8DateTime__T14toISOExtStringTSQBw5array__T8AppenderTAyaZQoZQBvMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date8DateTime__T14toSimpleStringTSQBw5array__T8AppenderTAyaZQoZQBvMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date9TimeOfDay11__invariantMxFNaNfZv@Base 13 + _D3std8datetime4date9TimeOfDay11_addSecondsMFNaNbNcNiNjNflZSQCgQCfQBzQBx@Base 13 + _D3std8datetime4date9TimeOfDay11toISOStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date9TimeOfDay12__invariant0MxFNaNfZv@Base 13 + _D3std8datetime4date9TimeOfDay14toISOExtStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date9TimeOfDay3maxFNaNbNdNiNfZSQBtQBsQBmQBk@Base 13 + _D3std8datetime4date9TimeOfDay3minFNaNbNdNiNfZSQBtQBsQBmQBk@Base 13 + _D3std8datetime4date9TimeOfDay4hourMFNaNdNfiZv@Base 13 + _D3std8datetime4date9TimeOfDay4hourMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date9TimeOfDay5opCmpMxFNaNbNiNfSQBuQBtQBnQBlZi@Base 13 + _D3std8datetime4date9TimeOfDay6__ctorMFNaNcNfiiiZSQBwQBvQBpQBn@Base 13 + _D3std8datetime4date9TimeOfDay6__initZ@Base 13 + _D3std8datetime4date9TimeOfDay6_validFNaNbNiNfiiiZb@Base 13 + _D3std8datetime4date9TimeOfDay6minuteMFNaNdNfiZv@Base 13 + _D3std8datetime4date9TimeOfDay6minuteMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date9TimeOfDay6secondMFNaNdNfiZv@Base 13 + _D3std8datetime4date9TimeOfDay6secondMxFNaNbNdNiNfZh@Base 13 + _D3std8datetime4date9TimeOfDay8__xopCmpMxFKxSQBrQBqQBkQBiZi@Base 13 + _D3std8datetime4date9TimeOfDay8toStringMxFNaNbNfZAya@Base 13 + _D3std8datetime4date9TimeOfDay__T11toISOStringTSQBu5array__T8AppenderTAyaZQoZQBsMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date9TimeOfDay__T14toISOExtStringTSQBx5array__T8AppenderTAyaZQoZQBvMxFNaNfKQBpZv@Base 13 + _D3std8datetime4date9TimeOfDay__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfSQCmQClQCfQCdZS4core4time8Duration@Base 13 + _D3std8datetime4date__T12enforceValidVAyaa4_64617973ZQBeFNaNfiEQCjQCiQCc5MonthiQBpmZv@Base 13 + _D3std8datetime4date__T12enforceValidVAyaa5_686f757273ZQBgFNaNfiQBamZv@Base 13 + _D3std8datetime4date__T12enforceValidVAyaa6_6d6f6e746873ZQBiFNaNfiQBcmZv@Base 13 + _D3std8datetime4date__T12enforceValidVAyaa7_6d696e75746573ZQBkFNaNfiQBemZv@Base 13 + _D3std8datetime4date__T12enforceValidVAyaa7_7365636f6e6473ZQBkFNaNfiQBemZv@Base 13 + _D3std8datetime4date__T20splitUnitsFromHNSecsVAyaa4_64617973ZQBmFNaNbNiNfKlZl@Base 13 + _D3std8datetime4date__T20splitUnitsFromHNSecsVAyaa5_686f757273ZQBoFNaNbNiNfKlZl@Base 13 + _D3std8datetime4date__T20splitUnitsFromHNSecsVAyaa7_6d696e75746573ZQBsFNaNbNiNfKlZl@Base 13 + _D3std8datetime4date__T20splitUnitsFromHNSecsVAyaa7_7365636f6e6473ZQBsFNaNbNiNfKlZl@Base 13 + _D3std8datetime4date__T5validVAyaa4_64617973ZQwFNaNbNiNfiiiZb@Base 13 + _D3std8datetime4date__T5validVAyaa5_686f757273ZQyFNaNbNiNfiZb@Base 13 + _D3std8datetime4date__T5validVAyaa6_6d6f6e746873ZQBaFNaNbNiNfiZb@Base 13 + _D3std8datetime4date__T5validVAyaa7_6d696e75746573ZQBcFNaNbNiNfiZb@Base 13 + _D3std8datetime4date__T5validVAyaa7_7365636f6e6473ZQBcFNaNbNiNfiZb@Base 13 + _D3std8datetime7systime11__moduleRefZ@Base 13 + _D3std8datetime7systime12__ModuleInfoZ@Base 13 + _D3std8datetime7systime17unixTimeToStdTimeFNaNbNiNflZl@Base 13 + _D3std8datetime7systime19fracSecsToISOStringFNaNbNfiiZAya@Base 13 + _D3std8datetime7systime20DosFileTimeToSysTimeFNfkyCQBxQBw8timezone8TimeZoneZSQCxQCwQCq7SysTime@Base 13 + _D3std8datetime7systime20SysTimeToDosFileTimeFNfMSQBwQBvQBp7SysTimeZk@Base 13 + _D3std8datetime7systime5Clock6__initZ@Base 13 + _D3std8datetime7systime5Clock6__vtblZ@Base 13 + _D3std8datetime7systime5Clock7__ClassZ@Base 13 + _D3std8datetime7systime5Clock__T11currStdTimeVE4core4time9ClockTypei0ZQBmFNbNdNiNeZl@Base 13 + _D3std8datetime7systime5Clock__T8currTimeVE4core4time9ClockTypei0ZQBiFNbNfyCQCwQCv8timezone8TimeZoneZSQDwQDvQDp7SysTime@Base 13 + _D3std8datetime7systime7SysTime10diffMonthsMxFNbNlNfMSQCaQBzQBtQBoZi@Base 13 + _D3std8datetime7systime7SysTime10endOfMonthMxFNbNdNjNlNfZSQCeQCdQBxQBs@Base 13 + _D3std8datetime7systime7SysTime10isLeapYearMxFNbNdNlNfZb@Base 13 + _D3std8datetime7systime7SysTime10toTimeSpecMxFNaNbNlNfZS4core3sys5posix4time8timespec@Base 13 + _D3std8datetime7systime7SysTime11__xopEqualsMxFKxSQBwQBvQBpQBkZb@Base 13 + _D3std8datetime7systime7SysTime11daysInMonthMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime11dstInEffectMxFNbNdNjNlNfZb@Base 13 + _D3std8datetime7systime7SysTime11toISOStringMxFNbNlNfZAya@Base 13 + _D3std8datetime7systime7SysTime11toLocalTimeMxFNaNbNlNfZSQCdQCcQBwQBr@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone11dstInEffectMxFNbNiNlNflZb@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone11utcOffsetAtMxFNbNiNlNflZS4core4time8Duration@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone13_initTimeZoneyCQCiQChQCbQBwQBr@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone6__ctorMyFNaNfZyCQCiQChQCbQBwQBr@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone6__initZ@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone6__vtblZ@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone6hasDSTMxFNbNdNiNfZb@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone6opCallFNaNbNiNfZyCQCkQCjQCdQByQBt@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone7__ClassZ@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone7tzToUTCMxFNbNiNlNflZl@Base 13 + _D3std8datetime7systime7SysTime12InitTimeZone7utcToTZMxFNbNiNlNflZl@Base 13 + _D3std8datetime7systime7SysTime12fromUnixTimeFNaNbNflyCQCbQCa8timezone8TimeZoneZSQDbQDaQCuQCp@Base 13 + _D3std8datetime7systime7SysTime12modJulianDayMxFNbNdNlNfZl@Base 13 + _D3std8datetime7systime7SysTime14toISOExtStringMxFNbNlNfiZAya@Base 13 + _D3std8datetime7systime7SysTime14toSimpleStringMxFNbNlNfZAya@Base 13 + _D3std8datetime7systime7SysTime17dayOfGregorianCalMFNbNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime17dayOfGregorianCalMxFNbNdNlNfZi@Base 13 + _D3std8datetime7systime7SysTime3dayMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime3dayMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime3maxFNaNbNdNfZSQBsQBrQBlQBg@Base 13 + _D3std8datetime7systime7SysTime3minFNaNbNdNfZSQBsQBrQBlQBg@Base 13 + _D3std8datetime7systime7SysTime4hourMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime4hourMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime4isADMxFNbNdNlNfZb@Base 13 + _D3std8datetime7systime7SysTime4toTMMxFNbNlNfZS4core3sys5posix4stdc4time2tm@Base 13 + _D3std8datetime7systime7SysTime4yearMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime4yearMxFNbNdNlNfZs@Base 13 + _D3std8datetime7systime7SysTime5monthMFNdNlNfEQBsQBr4date5MonthZv@Base 13 + _D3std8datetime7systime7SysTime5monthMxFNbNdNlNfZEQBwQBv4date5Month@Base 13 + _D3std8datetime7systime7SysTime5toUTCMxFNaNbNlNfZSQBwQBvQBpQBk@Base 13 + _D3std8datetime7systime7SysTime6__ctorMFNaNbNcNjNlNflNkMyCQCeQCd8timezone8TimeZoneZSQDeQDdQCxQCs@Base 13 + _D3std8datetime7systime7SysTime6__ctorMFNbNcNjNlNfSQBxQBw4date4DateNkMyCQCsQCr8timezone8TimeZoneZSQDsQDrQDlQDg@Base 13 + _D3std8datetime7systime7SysTime6__ctorMFNbNcNjNlNfSQBxQBw4date8DateTimeNkMyCQCwQCv8timezone8TimeZoneZSQDwQDvQDpQDk@Base 13 + _D3std8datetime7systime7SysTime6__ctorMFNcNjNlNfSQBvQBu4date8DateTimeS4core4time8DurationNkMyCQDoQDn8timezone8TimeZoneZSQEoQEnQEhQEc@Base 13 + _D3std8datetime7systime7SysTime6__initZ@Base 13 + _D3std8datetime7systime7SysTime6minuteMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime6minuteMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime6secondMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime6secondMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime6toHashMxFNaNbNiNlNfZm@Base 13 + _D3std8datetime7systime7SysTime6yearBCMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime6yearBCMxFNdNlNfZt@Base 13 + _D3std8datetime7systime7SysTime7adjTimeMFNbNdNlNflZv@Base 13 + _D3std8datetime7systime7SysTime7adjTimeMxFNbNdNlNfZl@Base 13 + _D3std8datetime7systime7SysTime7isoWeekMxFNbNdNlNfZh@Base 13 + _D3std8datetime7systime7SysTime7stdTimeMFNaNbNdNlNflZv@Base 13 + _D3std8datetime7systime7SysTime7stdTimeMxFNaNbNdNiNlNfZl@Base 13 + _D3std8datetime7systime7SysTime8__xopCmpMxFKxSQBsQBrQBlQBgZi@Base 13 + _D3std8datetime7systime7SysTime8fracSecsMFNdNlNfS4core4time8DurationZv@Base 13 + _D3std8datetime7systime7SysTime8fracSecsMxFNbNdNlNfZS4core4time8Duration@Base 13 + _D3std8datetime7systime7SysTime8timezoneMFNaNbNdNlNfyCQCaQBzQBd8TimeZoneZv@Base 13 + _D3std8datetime7systime7SysTime8timezoneMxFNaNbNdNjNlNfZyCQCeQCdQBh8TimeZone@Base 13 + _D3std8datetime7systime7SysTime8toStringMxFNbNlNfZAya@Base 13 + _D3std8datetime7systime7SysTime9_timezoneMFNaNbNdNiNlNfNkMyCQCgQCf8timezone8TimeZoneZv@Base 13 + _D3std8datetime7systime7SysTime9_timezoneMxFNaNbNdNiNfZyCQCdQCc8timezone8TimeZone@Base 13 + _D3std8datetime7systime7SysTime9dayOfWeekMxFNbNdNlNfZEQCaQBz4date9DayOfWeek@Base 13 + _D3std8datetime7systime7SysTime9dayOfYearMFNdNlNfiZv@Base 13 + _D3std8datetime7systime7SysTime9dayOfYearMxFNbNdNlNfZt@Base 13 + _D3std8datetime7systime7SysTime9julianDayMxFNbNdNlNfZl@Base 13 + _D3std8datetime7systime7SysTime9toOtherTZMxFNaNbNlNfyCQCaQBz8timezone8TimeZoneZSQDaQCzQCtQCo@Base 13 + _D3std8datetime7systime7SysTime9toTimeValMxFNaNbNlNfZS4core3sys5posixQk4time7timeval@Base 13 + _D3std8datetime7systime7SysTime9utcOffsetMxFNbNdNjNlNfZS4core4time8Duration@Base 13 + _D3std8datetime7systime7SysTime__T10toUnixTimeTlZQpMxFNaNbNiNlNfZl@Base 13 + _D3std8datetime7systime7SysTime__T11toISOStringTSQBv5array__T8AppenderTAyaZQoZQBsMxFNlNfKQBpZv@Base 13 + _D3std8datetime7systime7SysTime__T14toISOExtStringTSQBy5array__T8AppenderTAyaZQoZQBvMxFNlNfKQBpiZv@Base 13 + _D3std8datetime7systime7SysTime__T14toSimpleStringTSQBy5array__T8AppenderTAyaZQoZQBvMxFNlNfKQBpZv@Base 13 + _D3std8datetime7systime7SysTime__T5opCmpZQhMxFNaNbNiNlNfKxSQCfQCeQByQBtZi@Base 13 + _D3std8datetime7systime7SysTime__T6opCastTSQBpQBo4date4DateZQBaMxFNbNlNfZQBf@Base 13 + _D3std8datetime7systime7SysTime__T6opCastTSQBpQBo4date8DateTimeZQBeMxFNbNlNfZQBj@Base 13 + _D3std8datetime7systime7SysTime__T8opAssignZQkMFNaNbNcNiNlNjNfKxSQClQCkQCeQBzZSQCzQCyQCsQCn@Base 13 + _D3std8datetime7systime7SysTime__T8opEqualsZQkMxFNaNbNiNlNfKxSQCiQChQCbQBwZb@Base 13 + _D3std8datetime7systime__T17stdTimeToUnixTimeTlZQwFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T18getUnitsFromHNSecsVAyaa4_64617973ZQBkFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T18getUnitsFromHNSecsVAyaa5_686f757273ZQBmFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T18getUnitsFromHNSecsVAyaa7_6d696e75746573ZQBqFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T18getUnitsFromHNSecsVAyaa7_7365636f6e6473ZQBqFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T19fracSecsToISOStringTSQBv5array__T8AppenderTAyaZQoZQCaFNaNbNfKQBpiiZv@Base 13 + _D3std8datetime7systime__T21removeUnitsFromHNSecsVAyaa4_64617973ZQBnFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T21removeUnitsFromHNSecsVAyaa5_686f757273ZQBpFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T21removeUnitsFromHNSecsVAyaa7_6d696e75746573ZQBtFNaNbNiNflZl@Base 13 + _D3std8datetime7systime__T21removeUnitsFromHNSecsVAyaa7_7365636f6e6473ZQBtFNaNbNiNflZl@Base 13 + _D3std8datetime8interval11__moduleRefZ@Base 13 + _D3std8datetime8interval12__ModuleInfoZ@Base 13 + _D3std8datetime8timezone11__moduleRefZ@Base 13 + _D3std8datetime8timezone11setTZEnvVarFNbNeAyaZv@Base 13 + _D3std8datetime8timezone12__ModuleInfoZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone10LeapSecond6__ctorMFNaNcNfliZSQCqQCpQCjQCdQBr@Base 13 + _D3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone10TempTTInfo6__ctorMFNaNcNfibhZSQCrQCqQCkQCeQBs@Base 13 + _D3std8datetime8timezone13PosixTimeZone10TempTTInfo6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone10Transition6__ctorMFNaNcNflPySQCqQCpQCjQCd6TTInfoZSQDlQDkQDeQCyQCm@Base 13 + _D3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone11dstInEffectMxFNbNlNflZb@Base 13 + _D3std8datetime8timezone13PosixTimeZone11getTimeZoneFNeAyaQdZyCQCjQCiQCcQBw@Base 13 + _D3std8datetime8timezone13PosixTimeZone14TempTransition6__ctorMFNaNcNflPySQCuQCtQCnQCh6TTInfoPSQDpQDoQDiQDc14TransitionTypeZSQEtQEsQEmQEgQDu@Base 13 + _D3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone14TransitionType6__ctorMFNaNcNfbbZSQCuQCtQCnQChQBv@Base 13 + _D3std8datetime8timezone13PosixTimeZone14TransitionType6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone19_enforceValidTZFileFNaNfbmZv@Base 13 + _D3std8datetime8timezone13PosixTimeZone19getInstalledTZNamesFNfAyaQdZAQh@Base 13 + _D3std8datetime8timezone13PosixTimeZone20calculateLeapSecondsMxFNaNbNlNflZi@Base 13 + _D3std8datetime8timezone13PosixTimeZone6TTInfo11__xopEqualsMxFKxSQClQCkQCeQByQBmZb@Base 13 + _D3std8datetime8timezone13PosixTimeZone6TTInfo6__ctorMyFNaNcNfMxSQClQCkQCeQBy10TempTTInfoAyaZySQDpQDoQDiQDcQCq@Base 14 + _D3std8datetime8timezone13PosixTimeZone6TTInfo6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone6TTInfo9__xtoHashFNbNeKxSQCkQCjQCdQBxQBlZm@Base 13 + _D3std8datetime8timezone13PosixTimeZone6__ctorMyFNaNfyASQCcQCbQBvQBp10TransitionyASQDdQDcQCwQCq10LeapSecondAyaQdQfbZyCQEmQElQEfQDz@Base 13 + _D3std8datetime8timezone13PosixTimeZone6__initZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone6__vtblZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone6hasDSTMxFNbNdNfZb@Base 13 + _D3std8datetime8timezone13PosixTimeZone7__ClassZ@Base 13 + _D3std8datetime8timezone13PosixTimeZone7tzToUTCMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone13PosixTimeZone7utcToTZMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTAaZQmFNeKSQCh5stdio4FilemZQBa@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTAhZQmFNeKSQCh5stdio4FilemZQBa@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTSQByQBxQBrQBl10TempTTInfoZQBjFNfKSQDf5stdio4FileZQBx@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTaZQlFNeKSQCg5stdio4FileZa@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTbZQlFNeKSQCg5stdio4FileZb@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValThZQlFNeKSQCg5stdio4FileZh@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTiZQlFNeKSQCg5stdio4FileZi@Base 13 + _D3std8datetime8timezone13PosixTimeZone__T7readValTlZQlFNeKSQCg5stdio4FileZl@Base 13 + _D3std8datetime8timezone13TZConversions11__xopEqualsMxFKxSQCeQCdQBxQBrZb@Base 13 + _D3std8datetime8timezone13TZConversions6__initZ@Base 13 + _D3std8datetime8timezone13TZConversions9__xtoHashFNbNeKxSQCdQCcQBwQBqZm@Base 13 + _D3std8datetime8timezone13clearTZEnvVarFNbNeZv@Base 13 + _D3std8datetime8timezone14SimpleTimeZone11dstInEffectMxFNbNlNflZb@Base 13 + _D3std8datetime8timezone14SimpleTimeZone11toISOStringFNaNfS4core4time8DurationZAya@Base 13 + _D3std8datetime8timezone14SimpleTimeZone11utcOffsetAtMxFNbNlNflZS4core4time8Duration@Base 13 + _D3std8datetime8timezone14SimpleTimeZone14toISOExtStringFNaNfS4core4time8DurationZAya@Base 13 + _D3std8datetime8timezone14SimpleTimeZone6__ctorMyFNaNfS4core4time8DurationAyaZyCQDaQCzQCtQCn@Base 13 + _D3std8datetime8timezone14SimpleTimeZone6__initZ@Base 13 + _D3std8datetime8timezone14SimpleTimeZone6__vtblZ@Base 13 + _D3std8datetime8timezone14SimpleTimeZone6hasDSTMxFNbNdNfZb@Base 13 + _D3std8datetime8timezone14SimpleTimeZone7__ClassZ@Base 13 + _D3std8datetime8timezone14SimpleTimeZone7tzToUTCMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone14SimpleTimeZone7utcToTZMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone14SimpleTimeZone9utcOffsetMxFNaNbNdNfZS4core4time8Duration@Base 13 + _D3std8datetime8timezone14SimpleTimeZone__T11toISOStringTSQCe5array__T8AppenderTAyaZQoZQBsFNaNfKQBnS4core4time8DurationZv@Base 13 + _D3std8datetime8timezone14SimpleTimeZone__T14toISOExtStringTSQCh5array__T8AppenderTAyaZQoZQBvFNaNfKQBnS4core4time8DurationZv@Base 13 + _D3std8datetime8timezone18parseTZConversionsFNaNfAyaZSQCaQBzQBt13TZConversions@Base 13 + _D3std8datetime8timezone3UTC11dstInEffectMxFNbNlNflZb@Base 13 + _D3std8datetime8timezone3UTC11utcOffsetAtMxFNbNlNflZS4core4time8Duration@Base 13 + _D3std8datetime8timezone3UTC4_utcyCQBhQBgQBaQu@Base 13 + _D3std8datetime8timezone3UTC6__ctorMyFNaNfZyCQBrQBqQBkQBe@Base 13 + _D3std8datetime8timezone3UTC6__initZ@Base 13 + _D3std8datetime8timezone3UTC6__vtblZ@Base 13 + _D3std8datetime8timezone3UTC6hasDSTMxFNbNdNfZb@Base 13 + _D3std8datetime8timezone3UTC6opCallFNaNbNfZyCQBrQBqQBkQBe@Base 13 + _D3std8datetime8timezone3UTC7__ClassZ@Base 13 + _D3std8datetime8timezone3UTC7tzToUTCMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone3UTC7utcToTZMxFNbNlNflZl@Base 13 + _D3std8datetime8timezone8TimeZone11_getOldNameFNaNbNfAyaZQe@Base 13 + _D3std8datetime8timezone8TimeZone11utcOffsetAtMxFNbNlNflZS4core4time8Duration@Base 13 + _D3std8datetime8timezone8TimeZone4nameMxFNbNdNfZAya@Base 13 + _D3std8datetime8timezone8TimeZone6__ctorMyFNaNfAyaQdQfZyCQCdQCcQBwQBq@Base 13 + _D3std8datetime8timezone8TimeZone6__initZ@Base 13 + _D3std8datetime8timezone8TimeZone6__vtblZ@Base 13 + _D3std8datetime8timezone8TimeZone7__ClassZ@Base 13 + _D3std8datetime8timezone8TimeZone7dstNameMxFNbNdNlNfZAya@Base 13 + _D3std8datetime8timezone8TimeZone7stdNameMxFNbNdNlNfZAya@Base 13 + _D3std8datetime8timezone9LocalTime11dstInEffectMxFNbNlNelZb@Base 13 + _D3std8datetime8timezone9LocalTime6__ctorMyFNaNfZyCQBxQBwQBqQBk@Base 13 + _D3std8datetime8timezone9LocalTime6__initZ@Base 13 + _D3std8datetime8timezone9LocalTime6__vtblZ@Base 13 + _D3std8datetime8timezone9LocalTime6hasDSTMxFNbNdNeZb@Base 13 + _D3std8datetime8timezone9LocalTime6opCallFNaNbNeZyCQBxQBwQBqQBk@Base 13 + _D3std8datetime8timezone9LocalTime7__ClassZ@Base 13 + _D3std8datetime8timezone9LocalTime7dstNameMxFNbNdNlNeZAya@Base 13 + _D3std8datetime8timezone9LocalTime7stdNameMxFNbNdNlNeZAya@Base 13 + _D3std8datetime8timezone9LocalTime7tzToUTCMxFNbNlNelZl@Base 13 + _D3std8datetime8timezone9LocalTime7utcToTZMxFNbNlNelZl@Base 13 + _D3std8datetime8timezone9LocalTime9singletonFNeZ5guardOb@Base 13 + _D3std8datetime8timezone9LocalTime9singletonFNeZ8instanceyCQCfQCeQByQBs@Base 13 + _D3std8datetime8timezone9LocalTime9singletonFNeZ9__lambda3FNbNiNfZb@Base 13 + _D3std8datetime8timezone9LocalTime9singletonFNeZyCQBwQBvQBpQBj@Base 13 + _D3std8datetime9stopwatch11__moduleRefZ@Base 13 + _D3std8datetime9stopwatch12__ModuleInfoZ@Base 13 + _D3std8datetime9stopwatch9StopWatch14setTimeElapsedMFNbNiNfS4core4time8DurationZv@Base 13 + _D3std8datetime9stopwatch9StopWatch4peekMxFNbNiNfZS4core4time8Duration@Base 13 + _D3std8datetime9stopwatch9StopWatch4stopMFNbNiNfZv@Base 13 + _D3std8datetime9stopwatch9StopWatch5resetMFNbNiNfZv@Base 13 + _D3std8datetime9stopwatch9StopWatch5startMFNbNiNfZv@Base 13 + _D3std8datetime9stopwatch9StopWatch6__ctorMFNbNcNiNfEQBz8typecons__T4FlagVAyaa9_6175746f5374617274ZQBfZSQDyQDxQDrQDk@Base 13 + _D3std8datetime9stopwatch9StopWatch6__initZ@Base 13 + _D3std8datetime9stopwatch9StopWatch7runningMxFNaNbNdNiNfZb@Base 13 + _D3std8demangle11__moduleRefZ@Base 13 + _D3std8demangle12__ModuleInfoZ@Base 13 + _D3std8demangleQjFNaNbNfAyaZQe@Base 13 + _D3std8encoding11__moduleRefZ@Base 13 + _D3std8encoding12__ModuleInfoZ@Base 13 + _D3std8encoding14EncodingScheme18supportedFactoriesHAyaQd@Base 13 + _D3std8encoding14EncodingScheme6__initZ@Base 13 + _D3std8encoding14EncodingScheme6__vtblZ@Base 13 + _D3std8encoding14EncodingScheme6createFAyaZ11initializedOb@Base 13 + _D3std8encoding14EncodingScheme6createFAyaZ24registerDefaultEncodingsFZb@Base 13 + _D3std8encoding14EncodingScheme6createFAyaZCQBqQBpQBj@Base 13 + _D3std8encoding14EncodingScheme7__ClassZ@Base 13 + _D3std8encoding14EncodingScheme7isValidMFAxhZb@Base 13 + _D3std8encoding14EncodingScheme8registerFAyaZv@Base 13 + _D3std8encoding14EncodingScheme9supportedHAyaPFZCQBvQBuQBo@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr18EncodingSchemeUtf8ZQBnFZ9__lambda5FNaNbNfZCQDrQDqQDk@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr18EncodingSchemeUtf8ZQBnFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr19EncodingSchemeASCIIZQBoFZ9__lambda5FNaNbNfZCQDsQDrQDl@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr19EncodingSchemeASCIIZQBoFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr20EncodingSchemeLatin1ZQBpFZ9__lambda5FNaNbNfZCQDtQDsQDm@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr20EncodingSchemeLatin1ZQBpFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr20EncodingSchemeLatin2ZQBpFZ9__lambda5FNaNbNfZCQDtQDsQDm@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr20EncodingSchemeLatin2ZQBpFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeUtf16NativeZQBuFZ9__lambda5FNaNbNfZCQDyQDxQDr@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeUtf16NativeZQBuFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeUtf32NativeZQBuFZ9__lambda5FNaNbNfZCQDyQDxQDr@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeUtf32NativeZQBuFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1250ZQBuFZ9__lambda5FNaNbNfZCQDyQDxQDr@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1250ZQBuFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1251ZQBuFZ9__lambda5FNaNbNfZCQDyQDxQDr@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1251ZQBuFZv@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1252ZQBuFZ9__lambda5FNaNbNfZCQDyQDxQDr@Base 13 + _D3std8encoding14EncodingScheme__T8registerHTCQBsQBr25EncodingSchemeWindows1252ZQBuFZv@Base 13 + _D3std8encoding16isValidCodePointFNaNbNiNfwZb@Base 13 + _D3std8encoding17EncodingException6__ctorMFNaNfAyaZCQByQBxQBr@Base 13 + _D3std8encoding17EncodingException6__initZ@Base 13 + _D3std8encoding17EncodingException6__vtblZ@Base 13 + _D3std8encoding17EncodingException7__ClassZ@Base 13 + _D3std8encoding18EncodingSchemeUtf810safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding18EncodingSchemeUtf813encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding18EncodingSchemeUtf819replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding18EncodingSchemeUtf85namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding18EncodingSchemeUtf86__initZ@Base 13 + _D3std8encoding18EncodingSchemeUtf86__vtblZ@Base 13 + _D3std8encoding18EncodingSchemeUtf86decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding18EncodingSchemeUtf86encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding18EncodingSchemeUtf87__ClassZ@Base 13 + _D3std8encoding18EncodingSchemeUtf88toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding18EncodingSchemeUtf89canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding19EncodingSchemeASCII10safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding19EncodingSchemeASCII13encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding19EncodingSchemeASCII19replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding19EncodingSchemeASCII5namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding19EncodingSchemeASCII6__initZ@Base 13 + _D3std8encoding19EncodingSchemeASCII6__vtblZ@Base 13 + _D3std8encoding19EncodingSchemeASCII6decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding19EncodingSchemeASCII6encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding19EncodingSchemeASCII7__ClassZ@Base 13 + _D3std8encoding19EncodingSchemeASCII8toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding19EncodingSchemeASCII9canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding20EncodingSchemeLatin110safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding20EncodingSchemeLatin113encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding20EncodingSchemeLatin119replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding20EncodingSchemeLatin15namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding20EncodingSchemeLatin16__initZ@Base 13 + _D3std8encoding20EncodingSchemeLatin16__vtblZ@Base 13 + _D3std8encoding20EncodingSchemeLatin16decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding20EncodingSchemeLatin16encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding20EncodingSchemeLatin17__ClassZ@Base 13 + _D3std8encoding20EncodingSchemeLatin18toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding20EncodingSchemeLatin19canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding20EncodingSchemeLatin210safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding20EncodingSchemeLatin213encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding20EncodingSchemeLatin219replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding20EncodingSchemeLatin25namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding20EncodingSchemeLatin26__initZ@Base 13 + _D3std8encoding20EncodingSchemeLatin26__vtblZ@Base 13 + _D3std8encoding20EncodingSchemeLatin26decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding20EncodingSchemeLatin26encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding20EncodingSchemeLatin27__ClassZ@Base 13 + _D3std8encoding20EncodingSchemeLatin28toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding20EncodingSchemeLatin29canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native10safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native13encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native19replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native5namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native6__initZ@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native6__vtblZ@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native6decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native6encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native7__ClassZ@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native8toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding25EncodingSchemeUtf16Native9canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native10safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native13encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native19replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native5namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native6__initZ@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native6__vtblZ@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native6decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native6encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native7__ClassZ@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native8toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding25EncodingSchemeUtf32Native9canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding25EncodingSchemeWindows125010safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows125013encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding25EncodingSchemeWindows125019replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding25EncodingSchemeWindows12505namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12506__initZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12506__vtblZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12506decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows12506encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding25EncodingSchemeWindows12507__ClassZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12508toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12509canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding25EncodingSchemeWindows125110safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows125113encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding25EncodingSchemeWindows125119replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding25EncodingSchemeWindows12515namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12516__initZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12516__vtblZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12516decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows12516encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding25EncodingSchemeWindows12517__ClassZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12518toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12519canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding25EncodingSchemeWindows125210safeDecodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows125213encodedLengthMxFNaNbNiNfwZm@Base 13 + _D3std8encoding25EncodingSchemeWindows125219replacementSequenceMxFNaNbNdNiNfZAyh@Base 13 + _D3std8encoding25EncodingSchemeWindows12525namesMxFNaNbNfZAAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12526__initZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12526__vtblZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12526decodeMxFNaNbNiNfKAxhZw@Base 13 + _D3std8encoding25EncodingSchemeWindows12526encodeMxFNaNbNiNfwAhZm@Base 13 + _D3std8encoding25EncodingSchemeWindows12527__ClassZ@Base 13 + _D3std8encoding25EncodingSchemeWindows12528toStringMxFNaNbNiNfZAya@Base 13 + _D3std8encoding25EncodingSchemeWindows12529canEncodeMxFNaNbNiNfwZb@Base 13 + _D3std8encoding29UnrecognizedEncodingException6__ctorMFNaNfAyaZCQCkQCjQCd@Base 13 + _D3std8encoding29UnrecognizedEncodingException6__initZ@Base 13 + _D3std8encoding29UnrecognizedEncodingException6__vtblZ@Base 13 + _D3std8encoding29UnrecognizedEncodingException7__ClassZ@Base 13 + _D3std8encoding8bomTableyASQz8typecons__T5TupleTEQBvQBu3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCl@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf10Latin1CharZQBjFNaNbNiNfKQBjZw@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf10Latin2CharZQBjFNaNbNiNfKQBjZw@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf15Windows1250CharZQBoFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf15Windows1251CharZQBoFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf15Windows1252CharZQBoFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T10safeDecodeTAxEQBgQBf9AsciiCharZQBhFNaNbNiNfKQBhZw@Base 13 + _D3std8encoding__T10safeDecodeTAxaZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T10safeDecodeTAxuZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T10safeDecodeTAxwZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg10Latin1CharZQBkFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg10Latin2CharZQBkFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg15Windows1250CharZQBpFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg15Windows1251CharZQBpFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg15Windows1252CharZQBpFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTEQBhQBg9AsciiCharZQBiFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTaZQsFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTuZQsFNaNbNiNfwZm@Base 13 + _D3std8encoding__T13encodedLengthTwZQsFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ15isValidCodeUnitFNaNbNiNfQBuZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ19replacementSequenceFNaNbNdNiNfZAyEQDnQDmQCd@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9__mixin1313decodeReverseFNaNbNiNfKAxEQDpQDoQCfZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9__mixin134skipFNaNbNiNfKAxEQDfQDeQBvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9__mixin136encodeFNaNbNfwZAQBv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9__mixin136encodeFNaNbNiNfwKAQBxZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9__mixin136encodeFwDFQBpZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin1CharZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ6bstMapyASQCn8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin1015isValidCodeUnitFNaNbNiNfQCeZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQDxQDwQCn@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxEQDrQDqQChZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin10Qk4skipFNaNbNiNfKAxEQDhQDgQBxZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin10Qk6encodeFNaNbNfwZAQBx@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin10Qk6encodeFNaNbNiNfwKAQBzZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj10Latin2CharZ9__mixin10Qk6encodeFwDFQBrZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ6bstMapyASQCs8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin1015isValidCodeUnitFNaNbNiNfQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEcQEbQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxEQDwQDvQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin10Qk4skipFNaNbNiNfKAxEQDmQDlQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin10Qk6encodeFNaNbNfwZAQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin10Qk6encodeFNaNbNiNfwKAQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1250CharZ9__mixin10Qk6encodeFwDFQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ6bstMapyASQCs8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin1015isValidCodeUnitFNaNbNiNfQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEcQEbQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxEQDwQDvQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin10Qk4skipFNaNbNiNfKAxEQDmQDlQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin10Qk6encodeFNaNbNfwZAQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin10Qk6encodeFNaNbNiNfwKAQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1251CharZ9__mixin10Qk6encodeFwDFQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ6bstMapyASQCs8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin1015isValidCodeUnitFNaNbNiNfQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEcQEbQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxEQDwQDvQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin10Qk4skipFNaNbNiNfKAxEQDmQDlQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin10Qk6encodeFNaNbNfwZAQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin10Qk6encodeFNaNbNiNfwKAQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj15Windows1252CharZ9__mixin10Qk6encodeFwDFQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ15isValidCodeUnitFNaNbNiNfQBsZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ19replacementSequenceFNaNbNdNiNfZAyEQDlQDkQCb@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9__mixin1413decodeReverseFNaNbNiNfKAxEQDnQDmQCdZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9__mixin144skipFNaNbNiNfKAxEQDdQDcQBtZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9__mixin146encodeFNaNbNfwZAQBt@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9__mixin146encodeFNaNbNiNfwKAQBvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9__mixin146encodeFwDFQBnZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTEQBkQBj9AsciiCharZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ15isValidCodeUnitFNaNbNiNfaZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ19replacementSequenceFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ5tailsFNaNbNiNfaZi@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9__mixin1513decodeReverseFNaNbNiNfKAxaZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9__mixin154skipFNaNbNiNfKAxaZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9__mixin156encodeFNaNbNfwZAa@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9__mixin156encodeFNaNbNiNfwKAaZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9__mixin156encodeFwDFaZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTaZ9tailTableyG128h@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ15isValidCodeUnitFNaNbNiNfuZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ19replacementSequenceFNaNbNdNiNfZAyu@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9__mixin1313decodeReverseFNaNbNiNfKAxuZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9__mixin134skipFNaNbNiNfKAxuZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9__mixin136encodeFNaNbNfwZAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9__mixin136encodeFNaNbNiNfwKAuZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9__mixin136encodeFwDFuZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTuZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ15isValidCodeUnitFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ19replacementSequenceFNaNbNdNiNfZAyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9__mixin1313decodeReverseFNaNbNiNfKAxwZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9__mixin134skipFNaNbNiNfKAxwZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9__mixin136encodeFNaNbNfwZAw@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9__mixin136encodeFNaNbNiNfwKAwZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9__mixin136encodeFwDFwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTwZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ15isValidCodeUnitFNaNbNiNfEQDfQDeQBuZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ19replacementSequenceFNaNbNdNiNfZAyEQDoQDnQCd@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin1313decodeReverseFNaNbNiNfKAxQCfZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin134skipFNaNbNiNfKAxQBvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin136encodeFNaNbNfwZAEQDgQDfQBv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin136encodeFNaNbNiNfwKAEQDiQDhQBxZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin136encodeFwDFEQDaQCzQBpZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin13__T10safeDecodeTAxQBwZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9__mixin13__T6decodeTAxQBrZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin1CharZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ6bstMapyASQCo8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin1015isValidCodeUnitFNaNbNiNfEQDpQDoQCeZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQDyQDxQCn@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxQChZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk4skipFNaNbNiNfKAxQBxZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk6encodeFNaNbNfwZAEQDiQDhQBx@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk6encodeFNaNbNiNfwKAEQDkQDjQBzZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk6encodeFwDFEQDcQDbQBrZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk__T10safeDecodeTAxQByZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk10Latin2CharZ9__mixin10Qk__T6decodeTAxQBtZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ6bstMapyASQCt8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin1015isValidCodeUnitFNaNbNiNfEQDuQDtQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEdQEcQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk4skipFNaNbNiNfKAxQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk6encodeFNaNbNfwZAEQDnQDmQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk6encodeFNaNbNiNfwKAEQDpQDoQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk6encodeFwDFEQDhQDgQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk__T10safeDecodeTAxQCdZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1250CharZ9__mixin10Qk__T6decodeTAxQByZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ6bstMapyASQCt8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin1015isValidCodeUnitFNaNbNiNfEQDuQDtQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEdQEcQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk4skipFNaNbNiNfKAxQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk6encodeFNaNbNfwZAEQDnQDmQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk6encodeFNaNbNiNfwKAEQDpQDoQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk6encodeFwDFEQDhQDgQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk__T10safeDecodeTAxQCdZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1251CharZ9__mixin10Qk__T6decodeTAxQByZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ12m_charMapEndyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ14m_charMapStartyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ6bstMapyASQCt8typecons__T5TupleTuTaZQl@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ7charMapyAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin1013encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin1015isValidCodeUnitFNaNbNiNfEQDuQDtQCjZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin1019replacementSequenceFNaNbNdNiNfZAyEQEdQEcQCs@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin109canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk13decodeReverseFNaNbNiNfKAxQCmZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk4skipFNaNbNiNfKAxQCcZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk6encodeFNaNbNfwZAEQDnQDmQCc@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk6encodeFNaNbNiNfwKAEQDpQDoQCeZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk6encodeFwDFEQDhQDgQBwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk__T10safeDecodeTAxQCdZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk15Windows1252CharZ9__mixin10Qk__T6decodeTAxQByZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ15isValidCodeUnitFNaNbNiNfEQDdQDcQBsZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ19replacementSequenceFNaNbNdNiNfZAyEQDmQDlQCb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin1413decodeReverseFNaNbNiNfKAxQCdZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin144skipFNaNbNiNfKAxQBtZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin146encodeFNaNbNfwZAEQDeQDdQBt@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin146encodeFNaNbNiNfwKAEQDgQDfQBvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin146encodeFwDFEQCyQCxQBnZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin14__T10safeDecodeTAxQBuZQtFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9__mixin14__T6decodeTAxQBpZQoFNaNbNiNfKQsZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxEQBlQBk9AsciiCharZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ15isValidCodeUnitFNaNbNiNfaZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ19replacementSequenceFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ5tailsFNaNbNiNfaZi@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin1513decodeReverseFNaNbNiNfKAxaZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin154skipFNaNbNiNfKAxaZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin156encodeFNaNbNfwZAa@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin156encodeFNaNbNiNfwKAaZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin156encodeFwDFaZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin15__T10safeDecodeTAxaZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9__mixin15__T6decodeTAxaZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxaZ9tailTableyG128h@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ15isValidCodeUnitFNaNbNiNfuZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ19replacementSequenceFNaNbNdNiNfZAyu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin1313decodeReverseFNaNbNiNfKAxuZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin134skipFNaNbNiNfKAxuZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin136encodeFNaNbNfwZAu@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin136encodeFNaNbNiNfwKAuZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin136encodeFwDFuZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin13__T10safeDecodeTAxuZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9__mixin13__T6decodeTAxuZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxuZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ12encodingNameFNaNbNdNiNfZAya@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ13encodedLengthFNaNbNiNfwZm@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ15isValidCodeUnitFNaNbNiNfwZb@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ19replacementSequenceFNaNbNdNiNfZAyw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin1313decodeReverseFNaNbNiNfKAxwZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin134skipFNaNbNiNfKAxwZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin136encodeFNaNbNfwZAw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin136encodeFNaNbNiNfwKAwZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin136encodeFwDFwZvZv@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin13__T10safeDecodeTAxwZQrFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9__mixin13__T6decodeTAxwZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T15EncoderInstanceHTxwZ9canEncodeFNaNbNiNfwZb@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa10Latin1CharZQBeFNaNbNiNfKQBjZw@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa10Latin2CharZQBeFNaNbNiNfKQBjZw@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa15Windows1250CharZQBjFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa15Windows1251CharZQBjFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa15Windows1252CharZQBjFNaNbNiNfKQBoZw@Base 13 + _D3std8encoding__T6decodeTAxEQBbQBa9AsciiCharZQBcFNaNbNiNfKQBhZw@Base 13 + _D3std8encoding__T6decodeTAxaZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T6decodeTAxuZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T6decodeTAxwZQmFNaNbNiNfKQqZw@Base 13 + _D3std8encoding__T6encodeTEQzQx10Latin1CharZQBaFNaNbNiNfwAQBgZm@Base 13 + _D3std8encoding__T6encodeTEQzQx10Latin2CharZQBaFNaNbNiNfwAQBgZm@Base 13 + _D3std8encoding__T6encodeTEQzQx15Windows1250CharZQBfFNaNbNiNfwAQBlZm@Base 13 + _D3std8encoding__T6encodeTEQzQx15Windows1251CharZQBfFNaNbNiNfwAQBlZm@Base 13 + _D3std8encoding__T6encodeTEQzQx15Windows1252CharZQBfFNaNbNiNfwAQBlZm@Base 13 + _D3std8encoding__T6encodeTEQzQx9AsciiCharZQyFNaNbNiNfwAQBdZm@Base 13 + _D3std8encoding__T6encodeTaZQkFNaNbNiNfwAaZm@Base 13 + _D3std8encoding__T6encodeTuZQkFNaNbNiNfwAuZm@Base 13 + _D3std8encoding__T6encodeTwZQkFNaNbNiNfwAwZm@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb10Latin1CharZQBfFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb10Latin2CharZQBfFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb15Windows1250CharZQBkFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb15Windows1251CharZQBkFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb15Windows1252CharZQBkFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTEQBcQBb9AsciiCharZQBdFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTaZQnFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTuZQnFNaNbNiNfwZb@Base 13 + _D3std8encoding__T9canEncodeTwZQnFNaNbNiNfwZb@Base 13 + _D3std8internal10attributes11__moduleRefZ@Base 13 + _D3std8internal10attributes12__ModuleInfoZ@Base 13 + _D3std8internal11scopebuffer11__moduleRefZ@Base 13 + _D3std8internal11scopebuffer12__ModuleInfoZ@Base 13 + _D3std8internal12unicode_comp11__moduleRefZ@Base 13 + _D3std8internal12unicode_comp12__ModuleInfoZ@Base 13 + _D3std8internal12unicode_comp16compositionTableFNaNbNiNfZ1tyG1882w@Base 14.2 + _D3std8internal12unicode_comp16compositionTableFNaNbNiNfZAyw@Base 14.2 + _D3std8internal12unicode_norm11__moduleRefZ@Base 13 + _D3std8internal12unicode_norm12__ModuleInfoZ@Base 13 + _D3std8internal14unicode_decomp11__moduleRefZ@Base 13 + _D3std8internal14unicode_decomp12__ModuleInfoZ@Base 13 + _D3std8internal14unicode_decomp16decompCanonTableFNaNbNiNfZ1tyG5212w@Base 14.2 + _D3std8internal14unicode_decomp16decompCanonTableFNaNbNiNfZAyw@Base 14.2 + _D3std8internal14unicode_decomp17decompCompatTableFNaNbNiNfZ1tyG10425w@Base 14.2 + _D3std8internal14unicode_decomp17decompCompatTableFNaNbNiNfZAyw@Base 14.2 + _D3std8internal14unicode_tables10isSpaceGenFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables10isWhiteGenFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables11__moduleRefZ@Base 13 + _D3std8internal14unicode_tables11isFormatGenFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables12__ModuleInfoZ@Base 13 + _D3std8internal14unicode_tables12isControlGenFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables12toLowerTableFNaNbNiNfZ1tyAk@Base 14.2 + _D3std8internal14unicode_tables12toLowerTableFNaNbNiNfZAyk@Base 14.2 + _D3std8internal14unicode_tables12toTitleTableFNaNbNiNfZ1tyAk@Base 14.2 + _D3std8internal14unicode_tables12toTitleTableFNaNbNiNfZAyk@Base 14.2 + _D3std8internal14unicode_tables12toUpperTableFNaNbNiNfZ1tyAk@Base 14.2 + _D3std8internal14unicode_tables12toUpperTableFNaNbNiNfZAyk@Base 14.2 + _D3std8internal14unicode_tables13fullCaseTableFNaNbNdNiNfmZ1tyAm@Base 14.2 + _D3std8internal14unicode_tables13fullCaseTableFNaNbNdNiNfmZSQCgQCfQBz3FCE@Base 14.2 + _D3std8internal14unicode_tables15UnicodeProperty11__xopEqualsMxFKxSQCnQCmQCgQBtZb@Base 13 + _D3std8internal14unicode_tables15UnicodeProperty6__initZ@Base 13 + _D3std8internal14unicode_tables15UnicodeProperty9__xtoHashFNbNeKxSQCmQClQCfQBsZm@Base 13 + _D3std8internal14unicode_tables15simpleCaseTableFNaNbNiNfmZ1tyAk@Base 14.2 + _D3std8internal14unicode_tables15simpleCaseTableFNaNbNiNfmZSQCgQCfQBz3SCE@Base 14.2 + _D3std8internal14unicode_tables3FCE1nMxFNaNbNiNfZh@Base 14.2 + _D3std8internal14unicode_tables3FCE3seqMxFNaNbNiNfZG3w@Base 14.2 + _D3std8internal14unicode_tables3FCE4sizeMxFNaNbNiNfZh@Base 14.2 + _D3std8internal14unicode_tables3FCE6__ctorMFNaNbNcNiNfG3whhhZSQCiQChQCbQBo@Base 14.2 + _D3std8internal14unicode_tables3FCE6__ctorMFNaNbNcNiNfmZSQCdQCcQBwQBj@Base 14.2 + _D3std8internal14unicode_tables3FCE6__initZ@Base 14.2 + _D3std8internal14unicode_tables3FCE9entry_lenMxFNaNbNiNfZh@Base 14.2 + _D3std8internal14unicode_tables3SCE1nMxFNaNbNiNfZi@Base 14.2 + _D3std8internal14unicode_tables3SCE2chMxFNaNbNiNfZi@Base 14.2 + _D3std8internal14unicode_tables3SCE4sizeMxFNaNbNiNfZi@Base 14.2 + _D3std8internal14unicode_tables3SCE6__ctorMFNaNbNcNiNfkZSQCdQCcQBwQBj@Base 14.2 + _D3std8internal14unicode_tables3SCE6__ctorMFNaNbNcNiNfkhhZSQCfQCeQByQBl@Base 14.2 + _D3std8internal14unicode_tables3SCE6__initZ@Base 14.2 + _D3std8internal14unicode_tables6blocks10ChorasmianyAh@Base 13 + _D3std8internal14unicode_tables6blocks10DevanagariyAh@Base 13 + _D3std8internal14unicode_tables6blocks10GlagoliticyAh@Base 13 + _D3std8internal14unicode_tables6blocks10KharoshthiyAh@Base 13 + _D3std8internal14unicode_tables6blocks10ManichaeanyAh@Base 13 + _D3std8internal14unicode_tables6blocks10Old_ItalicyAh@Base 13 + _D3std8internal14unicode_tables6blocks10Old_PermicyAh@Base 13 + _D3std8internal14unicode_tables6blocks10Old_TurkicyAh@Base 13 + _D3std8internal14unicode_tables6blocks10Old_UyghuryAh@Base 13 + _D3std8internal14unicode_tables6blocks10PhoenicianyAh@Base 13 + _D3std8internal14unicode_tables6blocks10SaurashtrayAh@Base 13 + _D3std8internal14unicode_tables6blocks11Basic_LatinyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Box_DrawingyAh@Base 13 + _D3std8internal14unicode_tables6blocks11CJK_StrokesyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Dives_AkuruyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Hangul_JamoyAh@Base 13 + _D3std8internal14unicode_tables6blocks11MedefaidrinyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Nag_MundariyAh@Base 13 + _D3std8internal14unicode_tables6blocks11NandinagariyAh@Base 13 + _D3std8internal14unicode_tables6blocks11New_Tai_LueyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Old_PersianyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Old_SogdianyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Pau_Cin_HauyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Warang_CitiyAh@Base 13 + _D3std8internal14unicode_tables6blocks11Yi_RadicalsyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Cypro_MinoanyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Domino_TilesyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Meetei_MayekyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Number_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Pahawh_HmongyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Sora_SompengyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Syloti_NagriyAh@Base 13 + _D3std8internal14unicode_tables6blocks12Yi_SyllablesyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Chess_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Gunjala_GondiyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Khmer_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Mahjong_TilesyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Masaram_GondiyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Mende_KikakuiyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Old_HungarianyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Phaistos_DiscyAh@Base 13 + _D3std8internal14unicode_tables6blocks13Playing_CardsyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Aegean_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Block_ElementsyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Greek_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks14IPA_ExtensionsyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Low_SurrogatesyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Mayan_NumeralsyAh@Base 13 + _D3std8internal14unicode_tables6blocks14Vertical_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Ancient_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Hanifi_RohingyayAh@Base 13 + _D3std8internal14unicode_tables6blocks15High_SurrogatesyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Kana_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Kana_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks15Kana_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Kangxi_RadicalsyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Lisu_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Musical_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks15Psalter_PahlaviyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Bamum_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Braille_PatternsyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Control_PicturesyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Currency_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Geometric_ShapesyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Greek_and_CopticyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Hangul_SyllablesyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Imperial_AramaicyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_CyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_DyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_EyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_FyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Latin_Extended_GyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Meroitic_CursiveyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Private_Use_AreayAh@Base 13 + _D3std8internal14unicode_tables6blocks16Tamil_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Vedic_ExtensionsyAh@Base 13 + _D3std8internal14unicode_tables6blocks16Zanabazar_SquareyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Arabic_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Arabic_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks17Arabic_Extended_CyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Arabic_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Bopomofo_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks17CJK_CompatibilityyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Cypriot_SyllabaryyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Ethiopic_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Georgian_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Kaktovik_NumeralsyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Old_North_ArabianyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Old_South_ArabianyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Syriac_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Tangut_ComponentsyAh@Base 13 + _D3std8internal14unicode_tables6blocks17Tangut_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Alchemical_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Caucasian_AlbanianyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Latin_1_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Letterlike_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Linear_B_IdeogramsyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Linear_B_SyllabaryyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Myanmar_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks18Myanmar_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks18Sutton_SignWritingyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cherokee_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cyrillic_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cyrillic_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cyrillic_Extended_CyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cyrillic_Extended_DyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Cyrillic_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Devanagari_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Ethiopic_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Ethiopic_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks19Ethiopic_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks19General_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Georgian_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Indic_Siyaq_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Khitan_Small_ScriptyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Ornamental_DingbatsyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Phonetic_ExtensionsyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Small_Form_VariantsyAh@Base 13 + _D3std8internal14unicode_tables6blocks19Variation_SelectorsyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Combining_Half_MarksyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Coptic_Epact_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Egyptian_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Meroitic_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Mongolian_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Rumi_Numeral_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Small_Kana_ExtensionyAh@Base 13 + _D3std8internal14unicode_tables6blocks20Sundanese_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Anatolian_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Ancient_Greek_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Counting_Rod_NumeralsyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Devanagari_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Glagolitic_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Inscriptional_PahlaviyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Miscellaneous_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Modifier_Tone_LettersyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Ottoman_Siyaq_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Supplemental_Arrows_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Supplemental_Arrows_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks21Supplemental_Arrows_CyAh@Base 13 + _D3std8internal14unicode_tables6blocks21Tai_Xuan_Jing_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks22CJK_Unified_IdeographsyAh@Base 13 + _D3std8internal14unicode_tables6blocks22Enclosed_AlphanumericsyAh@Base 13 + _D3std8internal14unicode_tables6blocks22Hangul_Jamo_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks22Hangul_Jamo_Extended_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks22Inscriptional_ParthianyAh@Base 13 + _D3std8internal14unicode_tables6blocks22Mathematical_OperatorsyAh@Base 13 + _D3std8internal14unicode_tables6blocks22Nyiakeng_Puachue_HmongyAh@Base 13 + _D3std8internal14unicode_tables6blocks23CJK_Compatibility_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks23CJK_Radicals_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks23Meetei_Mayek_ExtensionsyAh@Base 13 + _D3std8internal14unicode_tables6blocks23Miscellaneous_TechnicalyAh@Base 13 + _D3std8internal14unicode_tables6blocks23Sinhala_Archaic_NumbersyAh@Base 13 + _D3std8internal14unicode_tables6blocks23Yijing_Hexagram_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks24Early_Dynastic_CuneiformyAh@Base 13 + _D3std8internal14unicode_tables6blocks24Spacing_Modifier_LettersyAh@Base 13 + _D3std8internal14unicode_tables6blocks24Supplemental_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Byzantine_Musical_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Common_Indic_Number_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Geometric_Shapes_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Hangul_Compatibility_JamoyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Latin_Extended_AdditionalyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Shorthand_Format_ControlsyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Transport_and_Map_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks25Znamenny_Musical_NotationyAh@Base 13 + _D3std8internal14unicode_tables6blocks27Arabic_Presentation_Forms_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks27Arabic_Presentation_Forms_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks27CJK_Symbols_and_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables6blocks27Combining_Diacritical_MarksyAh@Base 13 + _D3std8internal14unicode_tables6blocks27High_Private_Use_SurrogatesyAh@Base 13 + _D3std8internal14unicode_tables6blocks27Superscripts_and_SubscriptsyAh@Base 13 + _D3std8internal14unicode_tables6blocks28CJK_Compatibility_IdeographsyAh@Base 13 + _D3std8internal14unicode_tables6blocks28Katakana_Phonetic_ExtensionsyAh@Base 13 + _D3std8internal14unicode_tables6blocks28Symbols_for_Legacy_ComputingyAh@Base 13 + _D3std8internal14unicode_tables6blocks29Alphabetic_Presentation_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks29Halfwidth_and_Fullwidth_FormsyAh@Base 13 + _D3std8internal14unicode_tables6blocks29Optical_Character_RecognitionyAh@Base 13 + _D3std8internal14unicode_tables6blocks30Ancient_Greek_Musical_NotationyAh@Base 13 + _D3std8internal14unicode_tables6blocks30Phonetic_Extensions_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks30Variation_Selectors_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks31Enclosed_CJK_Letters_and_MonthsyAh@Base 13 + _D3std8internal14unicode_tables6blocks31Enclosed_Ideographic_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks32Enclosed_Alphanumeric_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks32Miscellaneous_Symbols_and_ArrowsyAh@Base 13 + _D3std8internal14unicode_tables6blocks32Supplementary_Private_Use_Area_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks32Supplementary_Private_Use_Area_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks33Cuneiform_Numbers_and_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables6blocks33Mathematical_Alphanumeric_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_CyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_DyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_EyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_FyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_GyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_HyAh@Base 13 + _D3std8internal14unicode_tables6blocks34CJK_Unified_Ideographs_Extension_IyAh@Base 14.2 + _D3std8internal14unicode_tables6blocks34Ideographic_Description_CharactersyAh@Base 13 + _D3std8internal14unicode_tables6blocks34Symbols_and_Pictographs_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks35Egyptian_Hieroglyph_Format_ControlsyAh@Base 13 + _D3std8internal14unicode_tables6blocks35Ideographic_Symbols_and_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables6blocks35Supplemental_Mathematical_OperatorsyAh@Base 13 + _D3std8internal14unicode_tables6blocks36Combining_Diacritical_Marks_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks36Miscellaneous_Mathematical_Symbols_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks36Miscellaneous_Mathematical_Symbols_ByAh@Base 13 + _D3std8internal14unicode_tables6blocks36Supplemental_Symbols_and_PictographsyAh@Base 13 + _D3std8internal14unicode_tables6blocks37Miscellaneous_Symbols_and_PictographsyAh@Base 13 + _D3std8internal14unicode_tables6blocks37Unified_Canadian_Aboriginal_SyllabicsyAh@Base 13 + _D3std8internal14unicode_tables6blocks38Arabic_Mathematical_Alphabetic_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks38Combining_Diacritical_Marks_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks39CJK_Compatibility_Ideographs_SupplementyAh@Base 13 + _D3std8internal14unicode_tables6blocks39Combining_Diacritical_Marks_for_SymbolsyAh@Base 13 + _D3std8internal14unicode_tables6blocks3LaoyAh@Base 13 + _D3std8internal14unicode_tables6blocks3MroyAh@Base 13 + _D3std8internal14unicode_tables6blocks3NKoyAh@Base 13 + _D3std8internal14unicode_tables6blocks3VaiyAh@Base 13 + _D3std8internal14unicode_tables6blocks3tabFNaNdNfZAySQBzQByQBs15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables6blocks46Unified_Canadian_Aboriginal_Syllabics_ExtendedyAh@Base 13 + _D3std8internal14unicode_tables6blocks48Unified_Canadian_Aboriginal_Syllabics_Extended_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks4AhomyAh@Base 13 + _D3std8internal14unicode_tables6blocks4ChamyAh@Base 13 + _D3std8internal14unicode_tables6blocks4KawiyAh@Base 13 + _D3std8internal14unicode_tables6blocks4LisuyAh@Base 13 + _D3std8internal14unicode_tables6blocks4MiaoyAh@Base 13 + _D3std8internal14unicode_tables6blocks4ModiyAh@Base 13 + _D3std8internal14unicode_tables6blocks4NewayAh@Base 13 + _D3std8internal14unicode_tables6blocks4TagsyAh@Base 13 + _D3std8internal14unicode_tables6blocks4ThaiyAh@Base 13 + _D3std8internal14unicode_tables6blocks4TotoyAh@Base 13 + _D3std8internal14unicode_tables6blocks4_tabyASQBsQBrQBl15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables6blocks5AdlamyAh@Base 13 + _D3std8internal14unicode_tables6blocks5BamumyAh@Base 13 + _D3std8internal14unicode_tables6blocks5BatakyAh@Base 13 + _D3std8internal14unicode_tables6blocks5BuhidyAh@Base 13 + _D3std8internal14unicode_tables6blocks5DograyAh@Base 13 + _D3std8internal14unicode_tables6blocks5KhmeryAh@Base 13 + _D3std8internal14unicode_tables6blocks5LimbuyAh@Base 13 + _D3std8internal14unicode_tables6blocks5NushuyAh@Base 13 + _D3std8internal14unicode_tables6blocks5OghamyAh@Base 13 + _D3std8internal14unicode_tables6blocks5OriyayAh@Base 13 + _D3std8internal14unicode_tables6blocks5OsageyAh@Base 13 + _D3std8internal14unicode_tables6blocks5RunicyAh@Base 13 + _D3std8internal14unicode_tables6blocks5TakriyAh@Base 13 + _D3std8internal14unicode_tables6blocks5TamilyAh@Base 13 + _D3std8internal14unicode_tables6blocks6ArabicyAh@Base 13 + _D3std8internal14unicode_tables6blocks6ArrowsyAh@Base 13 + _D3std8internal14unicode_tables6blocks6BrahmiyAh@Base 13 + _D3std8internal14unicode_tables6blocks6CarianyAh@Base 13 + _D3std8internal14unicode_tables6blocks6ChakmayAh@Base 13 + _D3std8internal14unicode_tables6blocks6CopticyAh@Base 13 + _D3std8internal14unicode_tables6blocks6GothicyAh@Base 13 + _D3std8internal14unicode_tables6blocks6HatranyAh@Base 13 + _D3std8internal14unicode_tables6blocks6HebrewyAh@Base 13 + _D3std8internal14unicode_tables6blocks6KaithiyAh@Base 13 + _D3std8internal14unicode_tables6blocks6KanbunyAh@Base 13 + _D3std8internal14unicode_tables6blocks6KhojkiyAh@Base 13 + _D3std8internal14unicode_tables6blocks6LepchayAh@Base 13 + _D3std8internal14unicode_tables6blocks6LycianyAh@Base 13 + _D3std8internal14unicode_tables6blocks6LydianyAh@Base 13 + _D3std8internal14unicode_tables6blocks6RejangyAh@Base 13 + _D3std8internal14unicode_tables6blocks6SyriacyAh@Base 13 + _D3std8internal14unicode_tables6blocks6Tai_LeyAh@Base 13 + _D3std8internal14unicode_tables6blocks6TangsayAh@Base 13 + _D3std8internal14unicode_tables6blocks6TangutyAh@Base 13 + _D3std8internal14unicode_tables6blocks6TeluguyAh@Base 13 + _D3std8internal14unicode_tables6blocks6ThaanayAh@Base 13 + _D3std8internal14unicode_tables6blocks6WanchoyAh@Base 13 + _D3std8internal14unicode_tables6blocks6YezidiyAh@Base 13 + _D3std8internal14unicode_tables6blocks6__initZ@Base 13 + _D3std8internal14unicode_tables6blocks7AvestanyAh@Base 13 + _D3std8internal14unicode_tables6blocks7BengaliyAh@Base 13 + _D3std8internal14unicode_tables6blocks7DeseretyAh@Base 13 + _D3std8internal14unicode_tables6blocks7ElbasanyAh@Base 13 + _D3std8internal14unicode_tables6blocks7ElymaicyAh@Base 13 + _D3std8internal14unicode_tables6blocks7GranthayAh@Base 13 + _D3std8internal14unicode_tables6blocks7HanunooyAh@Base 13 + _D3std8internal14unicode_tables6blocks7KannadayAh@Base 13 + _D3std8internal14unicode_tables6blocks7MakasaryAh@Base 13 + _D3std8internal14unicode_tables6blocks7MandaicyAh@Base 13 + _D3std8internal14unicode_tables6blocks7MarchenyAh@Base 13 + _D3std8internal14unicode_tables6blocks7MultaniyAh@Base 13 + _D3std8internal14unicode_tables6blocks7MyanmaryAh@Base 13 + _D3std8internal14unicode_tables6blocks7OsmanyayAh@Base 13 + _D3std8internal14unicode_tables6blocks7SharadayAh@Base 13 + _D3std8internal14unicode_tables6blocks7ShavianyAh@Base 13 + _D3std8internal14unicode_tables6blocks7SiddhamyAh@Base 13 + _D3std8internal14unicode_tables6blocks7SinhalayAh@Base 13 + _D3std8internal14unicode_tables6blocks7SogdianyAh@Base 13 + _D3std8internal14unicode_tables6blocks7SoyomboyAh@Base 13 + _D3std8internal14unicode_tables6blocks7TagalogyAh@Base 13 + _D3std8internal14unicode_tables6blocks7TibetanyAh@Base 13 + _D3std8internal14unicode_tables6blocks7TirhutayAh@Base 13 + _D3std8internal14unicode_tables6blocks8ArmenianyAh@Base 13 + _D3std8internal14unicode_tables6blocks8BalineseyAh@Base 13 + _D3std8internal14unicode_tables6blocks8BopomofoyAh@Base 13 + _D3std8internal14unicode_tables6blocks8BugineseyAh@Base 13 + _D3std8internal14unicode_tables6blocks8CherokeeyAh@Base 13 + _D3std8internal14unicode_tables6blocks8CyrillicyAh@Base 13 + _D3std8internal14unicode_tables6blocks8DingbatsyAh@Base 13 + _D3std8internal14unicode_tables6blocks8DuployanyAh@Base 13 + _D3std8internal14unicode_tables6blocks8EthiopicyAh@Base 13 + _D3std8internal14unicode_tables6blocks8GeorgianyAh@Base 13 + _D3std8internal14unicode_tables6blocks8GujaratiyAh@Base 13 + _D3std8internal14unicode_tables6blocks8GurmukhiyAh@Base 13 + _D3std8internal14unicode_tables6blocks8HiraganayAh@Base 13 + _D3std8internal14unicode_tables6blocks8JavaneseyAh@Base 13 + _D3std8internal14unicode_tables6blocks8KatakanayAh@Base 13 + _D3std8internal14unicode_tables6blocks8Kayah_LiyAh@Base 13 + _D3std8internal14unicode_tables6blocks8Linear_AyAh@Base 13 + _D3std8internal14unicode_tables6blocks8MahajaniyAh@Base 13 + _D3std8internal14unicode_tables6blocks8Ol_ChikiyAh@Base 13 + _D3std8internal14unicode_tables6blocks8Phags_payAh@Base 13 + _D3std8internal14unicode_tables6blocks8SpecialsyAh@Base 13 + _D3std8internal14unicode_tables6blocks8TagbanwayAh@Base 13 + _D3std8internal14unicode_tables6blocks8Tai_ThamyAh@Base 13 + _D3std8internal14unicode_tables6blocks8Tai_VietyAh@Base 13 + _D3std8internal14unicode_tables6blocks8TifinaghyAh@Base 13 + _D3std8internal14unicode_tables6blocks8UgariticyAh@Base 13 + _D3std8internal14unicode_tables6blocks8VithkuqiyAh@Base 13 + _D3std8internal14unicode_tables6blocks9Bassa_VahyAh@Base 13 + _D3std8internal14unicode_tables6blocks9BhaiksukiyAh@Base 13 + _D3std8internal14unicode_tables6blocks9CuneiformyAh@Base 13 + _D3std8internal14unicode_tables6blocks9EmoticonsyAh@Base 13 + _D3std8internal14unicode_tables6blocks9KhudawadiyAh@Base 13 + _D3std8internal14unicode_tables6blocks9MalayalamyAh@Base 13 + _D3std8internal14unicode_tables6blocks9MongolianyAh@Base 13 + _D3std8internal14unicode_tables6blocks9NabataeanyAh@Base 13 + _D3std8internal14unicode_tables6blocks9PalmyreneyAh@Base 13 + _D3std8internal14unicode_tables6blocks9SamaritanyAh@Base 13 + _D3std8internal14unicode_tables6blocks9SundaneseyAh@Base 13 + _D3std8internal14unicode_tables6hangul1LyAh@Base 13 + _D3std8internal14unicode_tables6hangul1TyAh@Base 13 + _D3std8internal14unicode_tables6hangul1VyAh@Base 13 + _D3std8internal14unicode_tables6hangul2LVyAh@Base 13 + _D3std8internal14unicode_tables6hangul3LVTyAh@Base 13 + _D3std8internal14unicode_tables6hangul3tabFNaNdNfZAySQBzQByQBs15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables6hangul4_tabyASQBsQBrQBl15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables6hangul6__initZ@Base 13 + _D3std8internal14unicode_tables7isHangLFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables7isHangTFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables7isHangVFNaNbNiNfwZb@Base 13 + _D3std8internal14unicode_tables7scripts10ChorasmianyAh@Base 13 + _D3std8internal14unicode_tables7scripts10DevanagariyAh@Base 13 + _D3std8internal14unicode_tables7scripts10GlagoliticyAh@Base 13 + _D3std8internal14unicode_tables7scripts10KharoshthiyAh@Base 13 + _D3std8internal14unicode_tables7scripts10ManichaeanyAh@Base 13 + _D3std8internal14unicode_tables7scripts10Old_ItalicyAh@Base 13 + _D3std8internal14unicode_tables7scripts10Old_PermicyAh@Base 13 + _D3std8internal14unicode_tables7scripts10Old_TurkicyAh@Base 13 + _D3std8internal14unicode_tables7scripts10Old_UyghuryAh@Base 13 + _D3std8internal14unicode_tables7scripts10PhoenicianyAh@Base 13 + _D3std8internal14unicode_tables7scripts10SaurashtrayAh@Base 13 + _D3std8internal14unicode_tables7scripts11Dives_AkuruyAh@Base 13 + _D3std8internal14unicode_tables7scripts11MedefaidrinyAh@Base 13 + _D3std8internal14unicode_tables7scripts11Nag_MundariyAh@Base 13 + _D3std8internal14unicode_tables7scripts11NandinagariyAh@Base 13 + _D3std8internal14unicode_tables7scripts11New_Tai_LueyAh@Base 13 + _D3std8internal14unicode_tables7scripts11Old_PersianyAh@Base 13 + _D3std8internal14unicode_tables7scripts11Old_SogdianyAh@Base 13 + _D3std8internal14unicode_tables7scripts11Pau_Cin_HauyAh@Base 13 + _D3std8internal14unicode_tables7scripts11SignWritingyAh@Base 13 + _D3std8internal14unicode_tables7scripts11Warang_CitiyAh@Base 13 + _D3std8internal14unicode_tables7scripts12Cypro_MinoanyAh@Base 13 + _D3std8internal14unicode_tables7scripts12Meetei_MayekyAh@Base 13 + _D3std8internal14unicode_tables7scripts12Pahawh_HmongyAh@Base 13 + _D3std8internal14unicode_tables7scripts12Sora_SompengyAh@Base 13 + _D3std8internal14unicode_tables7scripts12Syloti_NagriyAh@Base 13 + _D3std8internal14unicode_tables7scripts13Gunjala_GondiyAh@Base 13 + _D3std8internal14unicode_tables7scripts13Masaram_GondiyAh@Base 13 + _D3std8internal14unicode_tables7scripts13Mende_KikakuiyAh@Base 13 + _D3std8internal14unicode_tables7scripts13Old_HungarianyAh@Base 13 + _D3std8internal14unicode_tables7scripts15Hanifi_RohingyayAh@Base 13 + _D3std8internal14unicode_tables7scripts15Psalter_PahlaviyAh@Base 13 + _D3std8internal14unicode_tables7scripts16Imperial_AramaicyAh@Base 13 + _D3std8internal14unicode_tables7scripts16Meroitic_CursiveyAh@Base 13 + _D3std8internal14unicode_tables7scripts16Zanabazar_SquareyAh@Base 13 + _D3std8internal14unicode_tables7scripts17Old_North_ArabianyAh@Base 13 + _D3std8internal14unicode_tables7scripts17Old_South_ArabianyAh@Base 13 + _D3std8internal14unicode_tables7scripts18Caucasian_AlbanianyAh@Base 13 + _D3std8internal14unicode_tables7scripts19Canadian_AboriginalyAh@Base 13 + _D3std8internal14unicode_tables7scripts19Khitan_Small_ScriptyAh@Base 13 + _D3std8internal14unicode_tables7scripts20Egyptian_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables7scripts20Meroitic_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables7scripts21Anatolian_HieroglyphsyAh@Base 13 + _D3std8internal14unicode_tables7scripts21Inscriptional_PahlaviyAh@Base 13 + _D3std8internal14unicode_tables7scripts22Inscriptional_ParthianyAh@Base 13 + _D3std8internal14unicode_tables7scripts22Nyiakeng_Puachue_HmongyAh@Base 13 + _D3std8internal14unicode_tables7scripts2YiyAh@Base 13 + _D3std8internal14unicode_tables7scripts3HanyAh@Base 13 + _D3std8internal14unicode_tables7scripts3LaoyAh@Base 13 + _D3std8internal14unicode_tables7scripts3MroyAh@Base 13 + _D3std8internal14unicode_tables7scripts3NkoyAh@Base 13 + _D3std8internal14unicode_tables7scripts3VaiyAh@Base 13 + _D3std8internal14unicode_tables7scripts3tabFNaNdNfZAySQCaQBzQBt15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables7scripts4AhomyAh@Base 13 + _D3std8internal14unicode_tables7scripts4ChamyAh@Base 13 + _D3std8internal14unicode_tables7scripts4KawiyAh@Base 13 + _D3std8internal14unicode_tables7scripts4LisuyAh@Base 13 + _D3std8internal14unicode_tables7scripts4MiaoyAh@Base 13 + _D3std8internal14unicode_tables7scripts4ModiyAh@Base 13 + _D3std8internal14unicode_tables7scripts4NewayAh@Base 13 + _D3std8internal14unicode_tables7scripts4ThaiyAh@Base 13 + _D3std8internal14unicode_tables7scripts4TotoyAh@Base 13 + _D3std8internal14unicode_tables7scripts4_tabyASQBtQBsQBm15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables7scripts5AdlamyAh@Base 13 + _D3std8internal14unicode_tables7scripts5BamumyAh@Base 13 + _D3std8internal14unicode_tables7scripts5BatakyAh@Base 13 + _D3std8internal14unicode_tables7scripts5BuhidyAh@Base 13 + _D3std8internal14unicode_tables7scripts5DograyAh@Base 13 + _D3std8internal14unicode_tables7scripts5GreekyAh@Base 13 + _D3std8internal14unicode_tables7scripts5KhmeryAh@Base 13 + _D3std8internal14unicode_tables7scripts5LatinyAh@Base 13 + _D3std8internal14unicode_tables7scripts5LimbuyAh@Base 13 + _D3std8internal14unicode_tables7scripts5NushuyAh@Base 13 + _D3std8internal14unicode_tables7scripts5OghamyAh@Base 13 + _D3std8internal14unicode_tables7scripts5OriyayAh@Base 13 + _D3std8internal14unicode_tables7scripts5OsageyAh@Base 13 + _D3std8internal14unicode_tables7scripts5RunicyAh@Base 13 + _D3std8internal14unicode_tables7scripts5TakriyAh@Base 13 + _D3std8internal14unicode_tables7scripts5TamilyAh@Base 13 + _D3std8internal14unicode_tables7scripts6ArabicyAh@Base 13 + _D3std8internal14unicode_tables7scripts6BrahmiyAh@Base 13 + _D3std8internal14unicode_tables7scripts6CarianyAh@Base 13 + _D3std8internal14unicode_tables7scripts6ChakmayAh@Base 13 + _D3std8internal14unicode_tables7scripts6CommonyAh@Base 13 + _D3std8internal14unicode_tables7scripts6CopticyAh@Base 13 + _D3std8internal14unicode_tables7scripts6GothicyAh@Base 13 + _D3std8internal14unicode_tables7scripts6HangulyAh@Base 13 + _D3std8internal14unicode_tables7scripts6HatranyAh@Base 13 + _D3std8internal14unicode_tables7scripts6HebrewyAh@Base 13 + _D3std8internal14unicode_tables7scripts6KaithiyAh@Base 13 + _D3std8internal14unicode_tables7scripts6KhojkiyAh@Base 13 + _D3std8internal14unicode_tables7scripts6LepchayAh@Base 13 + _D3std8internal14unicode_tables7scripts6LycianyAh@Base 13 + _D3std8internal14unicode_tables7scripts6LydianyAh@Base 13 + _D3std8internal14unicode_tables7scripts6RejangyAh@Base 13 + _D3std8internal14unicode_tables7scripts6SyriacyAh@Base 13 + _D3std8internal14unicode_tables7scripts6Tai_LeyAh@Base 13 + _D3std8internal14unicode_tables7scripts6TangsayAh@Base 13 + _D3std8internal14unicode_tables7scripts6TangutyAh@Base 13 + _D3std8internal14unicode_tables7scripts6TeluguyAh@Base 13 + _D3std8internal14unicode_tables7scripts6ThaanayAh@Base 13 + _D3std8internal14unicode_tables7scripts6WanchoyAh@Base 13 + _D3std8internal14unicode_tables7scripts6YezidiyAh@Base 13 + _D3std8internal14unicode_tables7scripts6__initZ@Base 13 + _D3std8internal14unicode_tables7scripts7AvestanyAh@Base 13 + _D3std8internal14unicode_tables7scripts7BengaliyAh@Base 13 + _D3std8internal14unicode_tables7scripts7BrailleyAh@Base 13 + _D3std8internal14unicode_tables7scripts7CypriotyAh@Base 13 + _D3std8internal14unicode_tables7scripts7DeseretyAh@Base 13 + _D3std8internal14unicode_tables7scripts7ElbasanyAh@Base 13 + _D3std8internal14unicode_tables7scripts7ElymaicyAh@Base 13 + _D3std8internal14unicode_tables7scripts7GranthayAh@Base 13 + _D3std8internal14unicode_tables7scripts7HanunooyAh@Base 13 + _D3std8internal14unicode_tables7scripts7KannadayAh@Base 13 + _D3std8internal14unicode_tables7scripts7MakasaryAh@Base 13 + _D3std8internal14unicode_tables7scripts7MandaicyAh@Base 13 + _D3std8internal14unicode_tables7scripts7MarchenyAh@Base 13 + _D3std8internal14unicode_tables7scripts7MultaniyAh@Base 13 + _D3std8internal14unicode_tables7scripts7MyanmaryAh@Base 13 + _D3std8internal14unicode_tables7scripts7OsmanyayAh@Base 13 + _D3std8internal14unicode_tables7scripts7SharadayAh@Base 13 + _D3std8internal14unicode_tables7scripts7ShavianyAh@Base 13 + _D3std8internal14unicode_tables7scripts7SiddhamyAh@Base 13 + _D3std8internal14unicode_tables7scripts7SinhalayAh@Base 13 + _D3std8internal14unicode_tables7scripts7SogdianyAh@Base 13 + _D3std8internal14unicode_tables7scripts7SoyomboyAh@Base 13 + _D3std8internal14unicode_tables7scripts7TagalogyAh@Base 13 + _D3std8internal14unicode_tables7scripts7TibetanyAh@Base 13 + _D3std8internal14unicode_tables7scripts7TirhutayAh@Base 13 + _D3std8internal14unicode_tables7scripts8ArmenianyAh@Base 13 + _D3std8internal14unicode_tables7scripts8BalineseyAh@Base 13 + _D3std8internal14unicode_tables7scripts8BopomofoyAh@Base 13 + _D3std8internal14unicode_tables7scripts8BugineseyAh@Base 13 + _D3std8internal14unicode_tables7scripts8CherokeeyAh@Base 13 + _D3std8internal14unicode_tables7scripts8CyrillicyAh@Base 13 + _D3std8internal14unicode_tables7scripts8DuployanyAh@Base 13 + _D3std8internal14unicode_tables7scripts8EthiopicyAh@Base 13 + _D3std8internal14unicode_tables7scripts8GeorgianyAh@Base 13 + _D3std8internal14unicode_tables7scripts8GujaratiyAh@Base 13 + _D3std8internal14unicode_tables7scripts8GurmukhiyAh@Base 13 + _D3std8internal14unicode_tables7scripts8HiraganayAh@Base 13 + _D3std8internal14unicode_tables7scripts8JavaneseyAh@Base 13 + _D3std8internal14unicode_tables7scripts8KatakanayAh@Base 13 + _D3std8internal14unicode_tables7scripts8Kayah_LiyAh@Base 13 + _D3std8internal14unicode_tables7scripts8Linear_AyAh@Base 13 + _D3std8internal14unicode_tables7scripts8Linear_ByAh@Base 13 + _D3std8internal14unicode_tables7scripts8MahajaniyAh@Base 13 + _D3std8internal14unicode_tables7scripts8Ol_ChikiyAh@Base 13 + _D3std8internal14unicode_tables7scripts8Phags_PayAh@Base 13 + _D3std8internal14unicode_tables7scripts8TagbanwayAh@Base 13 + _D3std8internal14unicode_tables7scripts8Tai_ThamyAh@Base 13 + _D3std8internal14unicode_tables7scripts8Tai_VietyAh@Base 13 + _D3std8internal14unicode_tables7scripts8TifinaghyAh@Base 13 + _D3std8internal14unicode_tables7scripts8UgariticyAh@Base 13 + _D3std8internal14unicode_tables7scripts8VithkuqiyAh@Base 13 + _D3std8internal14unicode_tables7scripts9Bassa_VahyAh@Base 13 + _D3std8internal14unicode_tables7scripts9BhaiksukiyAh@Base 13 + _D3std8internal14unicode_tables7scripts9CuneiformyAh@Base 13 + _D3std8internal14unicode_tables7scripts9InheritedyAh@Base 13 + _D3std8internal14unicode_tables7scripts9KhudawadiyAh@Base 13 + _D3std8internal14unicode_tables7scripts9MalayalamyAh@Base 13 + _D3std8internal14unicode_tables7scripts9MongolianyAh@Base 13 + _D3std8internal14unicode_tables7scripts9NabataeanyAh@Base 13 + _D3std8internal14unicode_tables7scripts9PalmyreneyAh@Base 13 + _D3std8internal14unicode_tables7scripts9SamaritanyAh@Base 13 + _D3std8internal14unicode_tables7scripts9SundaneseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps10AlphabeticyAh@Base 13 + _D3std8internal14unicode_tables8uniProps10DeprecatedyAh@Base 13 + _D3std8internal14unicode_tables8uniProps10Other_MathyAh@Base 13 + _D3std8internal14unicode_tables8uniProps11ID_ContinueyAh@Base 13 + _D3std8internal14unicode_tables8uniProps11IdeographicyAh@Base 13 + _D3std8internal14unicode_tables8uniProps11Soft_DottedyAh@Base 13 + _D3std8internal14unicode_tables8uniProps11White_SpaceyAh@Base 13 + _D3std8internal14unicode_tables8uniProps12Bidi_ControlyAh@Base 13 + _D3std8internal14unicode_tables8uniProps12Join_ControlyAh@Base 13 + _D3std8internal14unicode_tables8uniProps12XID_ContinueyAh@Base 13 + _D3std8internal14unicode_tables8uniProps13Grapheme_BaseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps13Grapheme_LinkyAh@Base 13 + _D3std8internal14unicode_tables8uniProps14Case_IgnorableyAh@Base 13 + _D3std8internal14unicode_tables8uniProps14Other_ID_StartyAh@Base 13 + _D3std8internal14unicode_tables8uniProps14Pattern_SyntaxyAh@Base 13 + _D3std8internal14unicode_tables8uniProps14Quotation_MarkyAh@Base 13 + _D3std8internal14unicode_tables8uniProps15ASCII_Hex_DigityAh@Base 13 + _D3std8internal14unicode_tables8uniProps15Grapheme_ExtendyAh@Base 13 + _D3std8internal14unicode_tables8uniProps15Other_LowercaseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps15Other_UppercaseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps16Other_AlphabeticyAh@Base 13 + _D3std8internal14unicode_tables8uniProps17Other_ID_ContinueyAh@Base 13 + _D3std8internal14unicode_tables8uniProps17Sentence_TerminalyAh@Base 13 + _D3std8internal14unicode_tables8uniProps17Unified_IdeographyAh@Base 13 + _D3std8internal14unicode_tables8uniProps18IDS_Unary_OperatoryAh@Base 14.2 + _D3std8internal14unicode_tables8uniProps18Regional_IndicatoryAh@Base 13 + _D3std8internal14unicode_tables8uniProps18Variation_SelectoryAh@Base 13 + _D3std8internal14unicode_tables8uniProps19IDS_Binary_OperatoryAh@Base 13 + _D3std8internal14unicode_tables8uniProps19Pattern_White_SpaceyAh@Base 13 + _D3std8internal14unicode_tables8uniProps20IDS_Trinary_OperatoryAh@Base 13 + _D3std8internal14unicode_tables8uniProps20ID_Compat_Math_StartyAh@Base 14.2 + _D3std8internal14unicode_tables8uniProps20Terminal_PunctuationyAh@Base 13 + _D3std8internal14unicode_tables8uniProps21Other_Grapheme_ExtendyAh@Base 13 + _D3std8internal14unicode_tables8uniProps23ID_Compat_Math_ContinueyAh@Base 14.2 + _D3std8internal14unicode_tables8uniProps23Logical_Order_ExceptionyAh@Base 13 + _D3std8internal14unicode_tables8uniProps23Noncharacter_Code_PointyAh@Base 13 + _D3std8internal14unicode_tables8uniProps28Default_Ignorable_Code_PointyAh@Base 13 + _D3std8internal14unicode_tables8uniProps28Prepended_Concatenation_MarkyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2CcyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2CfyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2CnyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2CoyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2CsyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2LlyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2LmyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2LoyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2LtyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2LuyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2McyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2MeyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2MnyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2NdyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2NlyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2NoyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PcyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PdyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PeyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PfyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PiyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PoyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2PsyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2ScyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2SkyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2SmyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2SoyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2ZlyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2ZpyAh@Base 13 + _D3std8internal14unicode_tables8uniProps2ZsyAh@Base 13 + _D3std8internal14unicode_tables8uniProps34Other_Default_Ignorable_Code_PointyAh@Base 13 + _D3std8internal14unicode_tables8uniProps3tabFNaNdNfZAySQCbQCaQBu15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables8uniProps4DashyAh@Base 13 + _D3std8internal14unicode_tables8uniProps4MathyAh@Base 13 + _D3std8internal14unicode_tables8uniProps4_tabyASQBuQBtQBn15UnicodeProperty@Base 13 + _D3std8internal14unicode_tables8uniProps5CasedyAh@Base 13 + _D3std8internal14unicode_tables8uniProps6HyphenyAh@Base 13 + _D3std8internal14unicode_tables8uniProps6__initZ@Base 13 + _D3std8internal14unicode_tables8uniProps7RadicalyAh@Base 13 + _D3std8internal14unicode_tables8uniProps8ExtenderyAh@Base 13 + _D3std8internal14unicode_tables8uniProps8ID_StartyAh@Base 13 + _D3std8internal14unicode_tables8uniProps9DiacriticyAh@Base 13 + _D3std8internal14unicode_tables8uniProps9Hex_DigityAh@Base 13 + _D3std8internal14unicode_tables8uniProps9LowercaseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps9UppercaseyAh@Base 13 + _D3std8internal14unicode_tables8uniProps9XID_StartyAh@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii7Vii4Vii4Vii6ZQBd11__xopEqualsMxFKxSQDfQDeQCy__TQClTbVii7Vii4Vii4Vii6ZQDhZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii7Vii4Vii4Vii6ZQBd6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii7Vii4Vii4Vii6ZQBd9__xtoHashFNbNeKxSQDeQDdQCx__TQCkTbVii7Vii4Vii4Vii6ZQDgZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii5Vii8ZQz11__xopEqualsMxFKxSQDaQCzQCt__TQCgTbVii8Vii5Vii8ZQCyZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii5Vii8ZQz6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii5Vii8ZQz9__xtoHashFNbNeKxSQCzQCyQCs__TQCfTbVii8Vii5Vii8ZQCxZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii6Vii7ZQz11__xopEqualsMxFKxSQDaQCzQCt__TQCgTbVii8Vii6Vii7ZQCyZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii6Vii7ZQz6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTbVii8Vii6Vii7ZQz9__xtoHashFNbNeKxSQCzQCyQCs__TQCfTbVii8Vii6Vii7ZQCxZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryThVii8Vii8Vii5ZQz11__xopEqualsMxFKxSQDaQCzQCt__TQCgThVii8Vii8Vii5ZQCyZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryThVii8Vii8Vii5ZQz6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryThVii8Vii8Vii5ZQz9__xtoHashFNbNeKxSQCzQCyQCs__TQCfThVii8Vii8Vii5ZQCxZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii12Vii9ZQw11__xopEqualsMxFKxSQCxQCwQCq__TQCdTtVii12Vii9ZQCsZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii12Vii9ZQw6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii12Vii9ZQw9__xtoHashFNbNeKxSQCwQCvQCp__TQCcTtVii12Vii9ZQCrZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii7Vii6ZQz11__xopEqualsMxFKxSQDaQCzQCt__TQCgTtVii8Vii7Vii6ZQCyZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii7Vii6ZQz6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii7Vii6ZQz9__xtoHashFNbNeKxSQCzQCyQCs__TQCfTtVii8Vii7Vii6ZQCxZm@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii8Vii5ZQz11__xopEqualsMxFKxSQDaQCzQCt__TQCgTtVii8Vii8Vii5ZQCyZb@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii8Vii5ZQz6__initZ@Base 13 + _D3std8internal14unicode_tables__T9TrieEntryTtVii8Vii8Vii5ZQz9__xtoHashFNbNeKxSQCzQCyQCs__TQCfTtVii8Vii8Vii5ZQCxZm@Base 13 + _D3std8internal16unicode_grapheme11__moduleRefZ@Base 13 + _D3std8internal16unicode_grapheme12__ModuleInfoZ@Base 13 + _D3std8internal4math11biguintcore10inplaceSubFNaNbNfAkAxkQdZb@Base 13 + _D3std8internal4math11biguintcore11__moduleRefZ@Base 13 + _D3std8internal4math11biguintcore11blockDivModFNaNbNfAkQcIAkZv@Base 13 + _D3std8internal4math11biguintcore11includeSignFNaNbNfMAxkmbZAk@Base 13 + _D3std8internal4math11biguintcore11mulInternalFNaNbNfAkAxkQdZv@Base 13 + _D3std8internal4math11biguintcore12__ModuleInfoZ@Base 13 + _D3std8internal4math11biguintcore12biguintToHexFNaNbNfNkMAaMxAkaEQCl5ascii10LetterCaseZQBe@Base 13 + _D3std8internal4math11biguintcore12mulKaratsubaFNaNbNfAkAxkQdQhZv@Base 13 + _D3std8internal4math11biguintcore12squareSimpleFNaNbNfAkAxkZv@Base 13 + _D3std8internal4math11biguintcore13getCacheLimitFNaNbNiNfZm@Base 13 + _D3std8internal4math11biguintcore14biguintToOctalFNaNbNiNfAaAxkZm@Base 13 + _D3std8internal4math11biguintcore14divModInternalFNaNbNfAkQcxAkxQdZv@Base 13 + _D3std8internal4math11biguintcore14itoaZeroPaddedFNaNbNiNfAakZv@Base 13 + _D3std8internal4math11biguintcore14squareInternalFNaNbNfAkxAkZv@Base 13 + _D3std8internal4math11biguintcore14twosComplementFNaNbNfAxkAkZv@Base 13 + _D3std8internal4math11biguintcore15addAssignSimpleFNaNbNfAkAxkZk@Base 13 + _D3std8internal4math11biguintcore15adjustRemainderFNaNbNfAkQcAxklQibZv@Base 13 + _D3std8internal4math11biguintcore15recursiveDivModFNaNbNfAkQcAxkQhbZv@Base 13 + _D3std8internal4math11biguintcore15squareKaratsubaFNaNbNfAkxAkQfZv@Base 13 + _D3std8internal4math11biguintcore15subAssignSimpleFNaNbNfAkAxkZk@Base 13 + _D3std8internal4math11biguintcore15toHexZeroPaddedFNaNbNfAakEQCh5ascii10LetterCaseZ14lowerHexDigitsyAa@Base 13 + _D3std8internal4math11biguintcore15toHexZeroPaddedFNaNbNfAakEQCh5ascii10LetterCaseZ14upperHexDigitsyAa@Base 13 + _D3std8internal4math11biguintcore15toHexZeroPaddedFNaNbNfAakEQCh5ascii10LetterCaseZv@Base 13 + _D3std8internal4math11biguintcore16biguintToDecimalFNaNbNfAaAkZm@Base 13 + _D3std8internal4math11biguintcore16schoolbookDivModFNaNbNfAkQcIAkZv@Base 13 + _D3std8internal4math11biguintcore17firstNonZeroDigitFNaNbNiNfxAkZi@Base 13 + _D3std8internal4math11biguintcore18removeLeadingZerosFNaNbNfNkMANgkZQf@Base 13 + _D3std8internal4math11biguintcore20addOrSubAssignSimpleFNaNbNfAkAxkbZk@Base 13 + _D3std8internal4math11biguintcore21highestDifferentDigitFNaNbNiNfxAkxQdZm@Base 13 + _D3std8internal4math11biguintcore24highestPowerBelowUintMaxFNaNbNfkZ6maxpwryG22h@Base 13 + _D3std8internal4math11biguintcore24highestPowerBelowUintMaxFNaNbNfkZi@Base 13 + _D3std8internal4math11biguintcore25highestPowerBelowUlongMaxFNaNbNfkZ6maxpwryG39h@Base 13 + _D3std8internal4math11biguintcore25highestPowerBelowUlongMaxFNaNbNfkZi@Base 13 + _D3std8internal4math11biguintcore25karatsubaRequiredBuffSizeFNaNbNfmZm@Base 13 + _D3std8internal4math11biguintcore3ONEyAk@Base 13 + _D3std8internal4math11biguintcore3TENyAk@Base 13 + _D3std8internal4math11biguintcore3TWOyAk@Base 13 + _D3std8internal4math11biguintcore3addFNaNbNfMxAkMxQeZAk@Base 13 + _D3std8internal4math11biguintcore3subFNaNbNfMxAkMxQePbZAk@Base 13 + _D3std8internal4math11biguintcore4ZEROyAk@Base 13 + _D3std8internal4math11biguintcore4lessFNaNbNfAxkQdZb@Base 13 + _D3std8internal4math11biguintcore6addIntFNaNbNfxAkmZAk@Base 13 + _D3std8internal4math11biguintcore6subIntFNaNbNfxAkmZAk@Base 13 + _D3std8internal4math11biguintcore7BigUint10uintLengthMxFNaNbNdNiNlNfZm@Base 13 + _D3std8internal4math11biguintcore7BigUint11__invariantMxFNaZv@Base 13 + _D3std8internal4math11biguintcore7BigUint11__xopEqualsMxFKxSQCgQCfQBzQBxQBnZb@Base 13 + _D3std8internal4math11biguintcore7BigUint11toHexStringMxFNaNbNlNfiaiaEQCq5ascii10LetterCaseZAa@Base 13 + _D3std8internal4math11biguintcore7BigUint11ulongLengthMxFNaNbNdNiNlNfZm@Base 13 + _D3std8internal4math11biguintcore7BigUint12__invariant0MxFNaZv@Base 13 + _D3std8internal4math11biguintcore7BigUint13toOctalStringMxFNaNbNlNfZAa@Base 13 + _D3std8internal4math11biguintcore7BigUint15__funcliteral34FNaNbNiNeAkZAyk@Base 13 + _D3std8internal4math11biguintcore7BigUint15toDecimalStringMxFNaNbNlNfiZAa@Base 13 + _D3std8internal4math11biguintcore7BigUint3divFNaNbNfNkMSQCcQCbQBvQBtQBjMQrZQu@Base 13 + _D3std8internal4math11biguintcore7BigUint3modFNaNbNfNkMSQCcQCbQBvQBtQBjMQrZQu@Base 13 + _D3std8internal4math11biguintcore7BigUint3mulFNaNbNfMSQCaQBzQBtQBrQBhMQrZQu@Base 13 + _D3std8internal4math11biguintcore7BigUint3powFNaNbNfNkMSQCcQCbQBvQBtQBjmZQs@Base 13 + _D3std8internal4math11biguintcore7BigUint6__ctorMFNaNbNcNiNfNkMAykZSQCoQCnQChQCfQBv@Base 13 + _D3std8internal4math11biguintcore7BigUint6__initZ@Base 13 + _D3std8internal4math11biguintcore7BigUint6divModFNaNbNfSQCcQCbQBvQBtQBjMQrJQuJQxZv@Base 13 + _D3std8internal4math11biguintcore7BigUint6isZeroMxFNaNbNiNlNfZb@Base 13 + _D3std8internal4math11biguintcore7BigUint6toHashMxFNaNbNiNlNfZm@Base 13 + _D3std8internal4math11biguintcore7BigUint8__xopCmpMxFKxSQCcQCbQBvQBtQBjZi@Base 13 + _D3std8internal4math11biguintcore7BigUint8addOrSubFNaNbNfMSQCfQCeQByQBwQBmMQrbKbZQx@Base 13 + _D3std8internal4math11biguintcore7BigUint8numBytesMxFNaNbNiNlNfZm@Base 13 + _D3std8internal4math11biguintcore7BigUint8peekUintMxFNaNbNiNlNfmZk@Base 13 + _D3std8internal4math11biguintcore7BigUint9peekUlongMxFNaNbNiNlNfmZm@Base 13 + _D3std8internal4math11biguintcore7BigUint__T5opCmpTvZQjMxFNaNbNiNlNfxSQCqQCpQCjQChQBxZi@Base 13 + _D3std8internal4math11biguintcore7BigUint__T6divIntTykZQlFNaNbNfNkMSQCoQCnQChQCfQBvykZQt@Base 13 + _D3std8internal4math11biguintcore7BigUint__T6modIntTykZQlFNaNbNfMSQCmQClQCfQCdQBtykZk@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opAssignTmZQmMFNaNbNlNfmZv@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opAssignTvZQmMFNaNbNiNlNfSQCrQCqQCkQCiQByZv@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opBinaryVAyaa2_3c3cTmZQxMxFNaNbNlNfmZSQDdQDcQCwQCuQCk@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opBinaryVAyaa2_3e3eTmZQxMxFNaNbNjNlNfmZSQDfQDeQCyQCwQCm@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opEqualsTvZQmMxFNaNbNiNlNfKxSQCuQCtQCnQClQCbZb@Base 13 + _D3std8internal4math11biguintcore7BigUint__T8opEqualsTvZQmMxFNaNbNiNlNfmZb@Base 13 + _D3std8internal4math11biguintcore9addSimpleFNaNbNfAkxAkxQdZk@Base 13 + _D3std8internal4math11biguintcore9mulSimpleFNaNbNfAkAxkQdZv@Base 13 + _D3std8internal4math11biguintcore9subSimpleFNaNbAkAxkQdZk@Base 13 + _D3std8internal4math11biguintcore__T6intpowTkZQkFNaNbNiNfkmZk@Base 13 + _D3std8internal4math12biguintnoasm11__moduleRefZ@Base 13 + _D3std8internal4math12biguintnoasm12__ModuleInfoZ@Base 13 + _D3std8internal4math12biguintnoasm12multibyteMulFNaNbNiNfAkAxkkkZk@Base 13 + _D3std8internal4math12biguintnoasm12multibyteShlFNaNbNiNfAkAxkkZk@Base 13 + _D3std8internal4math12biguintnoasm12multibyteShrFNaNbNiNfAkAxkkZv@Base 13 + _D3std8internal4math12biguintnoasm15multibyteSquareFNaNbNiNfAkAxkZv@Base 13 + _D3std8internal4math12biguintnoasm18multibyteDivAssignFNaNbNiNfAkkkZk@Base 13 + _D3std8internal4math12biguintnoasm27multibyteAddDiagonalSquaresFNaNbNiNfAkAxkZv@Base 13 + _D3std8internal4math12biguintnoasm27multibyteMultiplyAccumulateFNaNbNiNfAkAxkQdZv@Base 13 + _D3std8internal4math12biguintnoasm27multibyteTriangleAccumulateFNaNbNiNfAkAxkZv@Base 13 + _D3std8internal4math12biguintnoasm__T15multibyteAddSubVai43ZQxFNaNbNiNfAkAxkQdkZk@Base 13 + _D3std8internal4math12biguintnoasm__T15multibyteAddSubVai45ZQxFNaNbNiNfAkAxkQdkZk@Base 13 + _D3std8internal4math12biguintnoasm__T15multibyteMulAddVai43ZQxFNaNbNiNfAkAxkkkZk@Base 13 + _D3std8internal4math12biguintnoasm__T15multibyteMulAddVai45ZQxFNaNbNiNfAkAxkkkZk@Base 13 + _D3std8internal4math12biguintnoasm__T24multibyteIncrementAssignVai43ZQBgFNaNbNiNfAkkZk@Base 13 + _D3std8internal4math12biguintnoasm__T24multibyteIncrementAssignVai45ZQBgFNaNbNiNfAkkZk@Base 13 + _D3std8internal4math13errorfunction11__moduleRefZ@Base 13 + _D3std8internal4math13errorfunction12__ModuleInfoZ@Base 13 + _D3std8internal4math13errorfunction1PyG10e@Base 13 + _D3std8internal4math13errorfunction1QyG11e@Base 13 + _D3std8internal4math13errorfunction1RyG5e@Base 13 + _D3std8internal4math13errorfunction1SyG6e@Base 13 + _D3std8internal4math13errorfunction1TyG7e@Base 13 + _D3std8internal4math13errorfunction1UyG7e@Base 13 + _D3std8internal4math13errorfunction22normalDistributionImplFNaNbNiNfeZe@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2P0yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2P1yG10e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2P2yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2P3yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2Q0yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2Q1yG10e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2Q2yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZ2Q3yG8e@Base 13 + _D3std8internal4math13errorfunction25normalDistributionInvImplFNaNbNiNfeZe@Base 13 + _D3std8internal4math13errorfunction3erfFNaNbNiNfeZe@Base 13 + _D3std8internal4math13errorfunction4erfcFNaNbNiNfeZe@Base 13 + _D3std8internal4math13errorfunction5EXP_2ye@Base 13 + _D3std8internal4math13errorfunction5erfceFNaNbNiNfeZe@Base 13 + _D3std8internal4math13errorfunction5expx2FNaNbNiNfeiZe@Base 13 + _D3std8internal4math13errorfunction__T12rationalPolyTeZQrFNaNbNiNfeAxeQdZe@Base 13 + _D3std8internal4math13gammafunction10EULERGAMMAye@Base 13 + _D3std8internal4math13gammafunction11__moduleRefZ@Base 13 + _D3std8internal4math13gammafunction11logmdigammaFNaNbNiNfeZe@Base 13 + _D3std8internal4math13gammafunction12__ModuleInfoZ@Base 13 + _D3std8internal4math13gammafunction13gammaStirlingFNaNbNiNfeZ19LargeStirlingCoeffsyG7e@Base 13 + _D3std8internal4math13gammafunction13gammaStirlingFNaNbNiNfeZ19SmallStirlingCoeffsyG9e@Base 13 + _D3std8internal4math13gammafunction13gammaStirlingFNaNbNiNfeZe@Base 13 + _D3std8internal4math13gammafunction14betaIncompleteFNaNbNiNfeeeZe@Base 13 + _D3std8internal4math13gammafunction15gammaIncompleteFNaNbNiNfeeZe@Base 13 + _D3std8internal4math13gammafunction16GammaSmallCoeffsyG9e@Base 13 + _D3std8internal4math13gammafunction16igammaTemmeLargeFNaNbNiNfeeZ4coefyG13Ae@Base 13 + _D3std8internal4math13gammafunction16igammaTemmeLargeFNaNbNiNfeeZe@Base 13 + _D3std8internal4math13gammafunction17betaIncompleteInvFNaNbNiNfeeeZe@Base 13 + _D3std8internal4math13gammafunction17logGammaNumeratoryG7e@Base 13 + _D3std8internal4math13gammafunction18betaDistExpansion1FNaNbNiNfeeeZe@Base 13 + _D3std8internal4math13gammafunction18betaDistExpansion2FNaNbNiNfeeeZe@Base 13 + _D3std8internal4math13gammafunction18logmdigammaInverseFNaNbNiNfeZe@Base 13 + _D3std8internal4math13gammafunction19GammaSmallNegCoeffsyG9e@Base 13 + _D3std8internal4math13gammafunction19betaDistPowerSeriesFNaNbNiNfeeeZe@Base 13 + _D3std8internal4math13gammafunction19logGammaDenominatoryG8e@Base 13 + _D3std8internal4math13gammafunction20GammaNumeratorCoeffsyG8e@Base 13 + _D3std8internal4math13gammafunction20gammaIncompleteComplFNaNbNiNfeeZe@Base 13 + _D3std8internal4math13gammafunction22GammaDenominatorCoeffsyG9e@Base 13 + _D3std8internal4math13gammafunction22logGammaStirlingCoeffsyG7e@Base 13 + _D3std8internal4math13gammafunction23gammaIncompleteComplInvFNaNbNiNfeeZe@Base 13 + _D3std8internal4math13gammafunction4Bn_nyG7e@Base 13 + _D3std8internal4math13gammafunction5gammaFNaNbNiNfeZe@Base 13 + _D3std8internal4math13gammafunction7digammaFNaNbNiNfeZe@Base 13 + _D3std8internal4math13gammafunction8logGammaFNaNbNiNfeZe@Base 13 + _D3std8internal4test10dummyrange11__moduleRefZ@Base 13 + _D3std8internal4test10dummyrange12__ModuleInfoZ@Base 13 + _D3std8internal4test10dummyrange7TestFoo6__initZ@Base 13 + _D3std8internal4test10dummyrange7TestFoo8opEqualsMxFKxSQCbQCaQBuQBsQBjZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei1TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei1TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni0VQDui0VQDdi1TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei2TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei2TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni0VQDui0VQDdi2TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei3TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm4backMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi0VQDvi0VQDei3TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm5frontMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opIndexMNgFNaNbNcNiNfmZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opSliceMFNaNbNiNfZSQFqQFpQFjQFh__TQEyVQEpi0VQDwi0VQDfi3TQClZQFy@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opSliceMFNaNbNiNfmmZSQFsQFrQFlQFj__TQFaVQEri0VQDyi0VQDhi3TQCnZQGa@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni0VQDui0VQDdi3TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi0VQDvi1VQDei1TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi0VQDvi1VQDei1TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni0VQDui1VQDdi1TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi0VQDvi1VQDei2TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi0VQDvi1VQDei2TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMNgFNaNbNcNdNiNfZNgk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi0VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni0VQDui1VQDdi2TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei0TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei0TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui0VQDdi0TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei1TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei1TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei1TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui0VQDdi1TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei2TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei2TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei2TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui0VQDdi2TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei3TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm13opIndexAssignMFNaNbNiNfkmZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm4backMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm4backMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi1VQDvi0VQDei3TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6lengthMxFNaNbNdNiNfZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opIndexMxFNaNbNiNfmZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opSliceMFNaNbNiNfZSQFqQFpQFjQFh__TQEyVQEpi1VQDwi0VQDfi3TQClZQFy@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7opSliceMFNaNbNiNfmmZSQFsQFrQFlQFj__TQFaVQEri1VQDyi0VQDhi3TQCnZQGa@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi0VEQDrQDqQDkQDi9RangeTypei3TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui0VQDdi3TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi1VQDei0TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei0TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui1VQDdi0TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi1VQDei1TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi1VQDvi1VQDei1TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei1TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui1VQDdi1TQCjZQFwZm@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm11__xopEqualsMxFKxSQFpQFoQFiQFg__TQExVQEoi1VQDvi1VQDei2TQCkZQFxZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm12uinttestDatayAk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4backMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm4saveMFNaNbNdNiNfZSQFpQFoQFiQFg__TQExVQEoi1VQDvi1VQDei2TQCkZQFx@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5emptyMxFNaNbNdNiNfZb@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMFNaNbNdNiNfkZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm5frontMxFNaNbNdNiNfZk@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6__initZ@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm6reinitMFNaNbNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm7popBackMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm8popFrontMFNaNbNiNfZv@Base 13 + _D3std8internal4test10dummyrange__T10DummyRangeVEQBvQBuQBoQBm8ReturnByi1VEQCuQCtQCnQCl6Lengthi1VEQDrQDqQDkQDi9RangeTypei2TAkZQDm9__xtoHashFNbNeKxSQFoQFnQFhQFf__TQEwVQEni1VQDui1VQDdi2TQCjZQFwZm@Base 13 + _D3std8internal4test3uda11__moduleRefZ@Base 13 + _D3std8internal4test3uda12__ModuleInfoZ@Base 13 + _D3std8internal4test3uda17HasPrivateMembers6__initZ@Base 13 + _D3std8internal4test5range11__moduleRefZ@Base 13 + _D3std8internal4test5range12__ModuleInfoZ@Base 13 + _D3std8internal6memory11__moduleRefZ@Base 13 + _D3std8internal6memory12__ModuleInfoZ@Base 13 + _D3std8internal6memory__T13enforceCallocZQqFNaNbNiNfmmZPv@Base 13 + _D3std8internal6memory__T13enforceMallocZQqFNaNbNiNfmZPv@Base 13 + _D3std8internal6memory__T14enforceReallocZQrFNaNbNiNkMPvmZQe@Base 13 + _D3std8internal7cstring11__moduleRefZ@Base 13 + _D3std8internal7cstring12__ModuleInfoZ@Base 13 + _D3std8internal7cstring__T11tempCStringTaTANgaZQvFNaNbNiNfMQrZSQCjQCiQCc__T17TempCStringBufferTaZQw@Base 13 + _D3std8internal7cstring__T11tempCStringTaTAxaZQuFNaNbNiNfMQqZSQCiQChQCb__T17TempCStringBufferTaZQw@Base 13 + _D3std8internal7cstring__T11tempCStringTaTAyaZQuFNaNbNiNfMQqZSQCiQChQCb__T17TempCStringBufferTaZQw@Base 13 + _D3std8internal7cstring__T11tempCStringTaTSQBp4path__T16asNormalizedPathTSQCu5range__T5chainTSQDo3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplTSQFnQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFoFNkMQFcZQtZQHeFNaNbNiMQGzZSQIsQIrQIl__T17TempCStringBufferTaZQw@Base 13 + _D3std8internal7cstring__T11tempCStringTaTSQBp5range__T5chainTSQCj3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplTSQEiQCt__T10OnlyResultTaZQpTQDbZQDmFQDjQBnQDpZ6ResultZQFlFNaNbNiNfMQFiZSQHbQHaQGu__T17TempCStringBufferTaZQw@Base 13 + _D3std8internal7cstring__T14trustedReallocTaZQtFNaNbNiNeNkMAaZQd@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw15trustedVoidInitFNaNbNiNeZSQCyQCxQCr__TQCmTaZQCs@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw3ptrMxFNaNbNdNiNeZPxa@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw6__dtorMFNaNbNiNeZv@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw6__initZ@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw7buffPtrMNgFNaNbNdNiNjNeZPNga@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw7opIndexMxFNaNbNiNeZAxa@Base 13 + _D3std8internal7cstring__T17TempCStringBufferTaZQw8opAssignMFNaNbNcNiNjNeSQCuQCtQCn__TQCiTaZQCoZQx@Base 13 + _D3std8internal7cstring__T19trustedReallocStackTaZQyFNaNbNiNeMAamZQe@Base 13 + _D3std8internal7windows8advapi3211__moduleRefZ@Base 13 + _D3std8internal7windows8advapi3212__ModuleInfoZ@Base 13 + _D3std8typecons10Structural11__InterfaceZ@Base 13 + _D3std8typecons11__moduleRefZ@Base 13 + _D3std8typecons12__ModuleInfoZ@Base 13 + _D3std8typecons19NotImplementedError6__ctorMFNaNbNfAyaZCQCcQCbQBv@Base 13 + _D3std8typecons19NotImplementedError6__initZ@Base 13 + _D3std8typecons19NotImplementedError6__vtblZ@Base 13 + _D3std8typecons19NotImplementedError7__ClassZ@Base 13 + _D3std8typecons2No6__initZ@Base 13 + _D3std8typecons3Yes6__initZ@Base 13 + _D3std8typecons7Ternary4makeFNaNbNiNfhZSQBmQBlQBf@Base 13 + _D3std8typecons7Ternary6__ctorMFNaNbNcNiNfbZSQBrQBqQBk@Base 13 + _D3std8typecons7Ternary6__ctorMFNaNbNcNiNfxSQBqQBpQBjZSQCbQCaQBu@Base 13 + _D3std8typecons7Ternary6__initZ@Base 13 + _D3std8typecons7Ternary8opAssignMFNaNbNiNfbZv@Base 13 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl11__xopEqualsMxFKxSQDxQDw__TQDqTQDhZQDyZb@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl6__ctorMFNaNbNcNiNeQCuZSQEcQEb__TQDvTQDmZQEd@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl9__xtoHashFNbNeKxSQDwQDv__TQDpTQDgZQDxZm@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl__T3getTSQDnQDm__TQDgTQCxZQDoZQBbMFNaNbNdNiNeZQDv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl__T3setTSQDnQDm__TQDgTQCxZQDoZQBbMFNaNbNiNfQDsZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl__T5clearTSQDpQDo__TQDiTQCzZQDqZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl__T8opAssignTSQDsQDr__TQDlTQDcZQDtZQBgMFNaNbNiNeQDxZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm11__xopEqualsMxFKxSQDyQDx__TQDrTQDiZQDzZb@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm6__ctorMFNaNbNcNiNeQCvZSQEdQEc__TQDwTQDnZQEe@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm9__xtoHashFNbNeKxSQDxQDw__TQDqTQDhZQDyZm@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm__T3getTSQDoQDn__TQDhTQCyZQDpZQBbMFNaNbNdNiNeZQDw@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm__T3setTSQDoQDn__TQDhTQCyZQDpZQBbMFNaNbNiNfQDtZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm__T5clearTSQDqQDp__TQDjTQDaZQDrZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm__T8opAssignTSQDtQDs__TQDmTQDdZQDuZQBgMFNaNbNiNeQDyZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm11__xopEqualsMxFKxSQDyQDx__TQDrTQDiZQDzZb@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm6__ctorMFNaNbNcNiNeQCvZSQEdQEc__TQDwTQDnZQEe@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm9__xtoHashFNbNeKxSQDxQDw__TQDqTQDhZQDyZm@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm__T3getTSQDoQDn__TQDhTQCyZQDpZQBbMFNaNbNdNiNeZQDw@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm__T3setTSQDoQDn__TQDhTQCyZQDpZQBbMFNaNbNiNfQDtZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm__T5clearTSQDqQDp__TQDjTQDaZQDrZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm__T8opAssignTSQDtQDs__TQDmTQDdZQDuZQBgMFNaNbNiNeQDyZv@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm6__ctorMFNaNbNcNiNeQDvZSQFdQFc__TQEwTQEnZQFe@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm__T3getTSQEoQEn__TQEhTQDyZQEpZQBbMFNaNbNdNiNeZQEw@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm__T3setTSQEoQEn__TQEhTQDyZQEpZQBbMFNaNbNiNfQEtZv@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm__T5clearTSQEqQEp__TQEjTQEaZQErZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDm__T8opAssignTSQEtQEs__TQEmTQEdZQEuZQBgMFNaNbNiNeQEyZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs6__ctorMFNaNbNcNiNeQCbZSQDjQDi__TQDcTQCtZQDk@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs__T3getTSQCuQCt__TQCnTQCeZQCvZQBbMFNaNbNdNiNeZQDc@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs__T3setTSQCuQCt__TQCnTQCeZQCvZQBbMFNaNbNiNfQCzZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs__T5clearTSQCwQCv__TQCpTQCgZQCxZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs__T8opAssignTSQCzQCy__TQCsTQCjZQDaZQBgMFNaNbNiNeQDeZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg6__ctorMFNaNbNcNiNeQCpZSQDxQDw__TQDqTQDhZQDy@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg6__initZ@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg__T3getTSQDiQDh__TQDbTQCsZQDjZQBbMFNaNbNdNiNeZQDq@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg__T3setTSQDiQDh__TQDbTQCsZQDjZQBbMFNaNbNiNfQDnZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg__T5clearTSQDkQDj__TQDdTQCuZQDlZQBdMFNaNbNiNfZv@Base 14 + _D3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg__T8opAssignTSQDnQDm__TQDgTQCxZQDoZQBgMFNaNbNiNeQDsZv@Base 14 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu11__xopEqualsMxFKxSQDgQDf__TQCzTyQCqZQDiZb@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu6__initZ@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin13getMNgFNaNbNdNiNjNlNeZyQCq@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin16__ctorMFNaNbNcNiNfyQCmZSQDvQDu__TQDoTyQDfZQDx@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin18opAssignMFNaNbNiNeSQDqQDp__TQDjTyQDaZQDsZv@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin18opAssignMFNaNbNiNfNkMyQCpZv@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin18opEqualsMxFxCQDkQCfQBzQBtZb@Base 13 + _D3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu8__mixin1__T8opEqualsZQkMxFKxSQDrQDq__TQDkTyQDbZQDtZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu10__postblitMFNaNbNiNfZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore13allocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore13isInitializedMxFNaNbNdNiNfZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore15deallocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore4moveMFNaNbNiKQDpZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore8refCountMxFNaNbNdNiNfZm@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk11__fieldDtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk11__xopEqualsMxFKxSQFaQEz__TQEtTQEkVQDri1ZQFhQCnQEjZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk8opAssignMFNcNjSQExQEw__TQEqTQEhVQDoi1ZQFeQCkQEgZQBi@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCk9__xtoHashFNbNeKxSQEzQEy__TQEsTQEjVQDqi1ZQFgQCmQEiZm@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore__T10initializeZQnMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15RefCountedStore__T17ensureInitializedZQuMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu15refCountedStoreMNgFNaNbNcNdNiNfZNgSQEyQEx__TQErTQEiVQDpi1ZQFf15RefCountedStore@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu17refCountedPayloadMFNaNbNcNdNiNjZQDs@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu17refCountedPayloadMNgFNaNbNcNdNiNjNfZNgSQFcQDyQDxQDvQDu@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu6__ctorMFNcQCvZSQEdQEc__TQDwTQDnVQCui1ZQEk@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu6__dtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu8opAssignMFQCvZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl3FTP4ImplVEQCbQCa24RefCountedAutoInitializei1ZQCu8opAssignMFSQDzQDy__TQDsTQDjVQCqi1ZQEgZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv10__postblitMFNaNbNiNfZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore13allocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore13isInitializedMxFNaNbNdNiNfZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore15deallocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore4moveMFNaNbNiKQDqZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore8refCountMxFNaNbNdNiNfZm@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk11__fieldDtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk11__xopEqualsMxFKxSQFbQFa__TQEuTQElVQDri1ZQFiQCnQEjZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk8opAssignMFNcNjSQEyQEx__TQErTQEiVQDoi1ZQFfQCkQEgZQBi@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk9__xtoHashFNbNeKxSQFaQEz__TQEtTQEkVQDqi1ZQFhQCmQEiZm@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore__T10initializeZQnMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore__T17ensureInitializedZQuMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15refCountedStoreMNgFNaNbNcNdNiNfZNgSQEzQEy__TQEsTQEjVQDpi1ZQFg15RefCountedStore@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv17refCountedPayloadMFNaNbNcNdNiNjZQDt@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv17refCountedPayloadMNgFNaNbNcNdNiNjNfZNgSQFdQDzQDyQDwQDu@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__ctorMFNcQCwZSQEeQEd__TQDxTQDoVQCui1ZQEl@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__dtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv8opAssignMFQCwZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4HTTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv8opAssignMFSQEaQDz__TQDtTQDkVQCqi1ZQEhZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv10__postblitMFNaNbNiNfZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore13allocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore13isInitializedMxFNaNbNdNiNfZb@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore15deallocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore4moveMFNaNbNiKQDqZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore8refCountMxFNaNbNdNiNfZm@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk11__fieldDtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCk8opAssignMFNcNjSQEyQEx__TQErTQEiVQDoi1ZQFfQCkQEgZQBi@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore__T10initializeZQnMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15RefCountedStore__T17ensureInitializedZQuMFNaNbNiZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv15refCountedStoreMNgFNaNbNcNdNiNfZNgSQEzQEy__TQEsTQEjVQDpi1ZQFg15RefCountedStore@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv17refCountedPayloadMFNaNbNcNdNiNjZQDt@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv17refCountedPayloadMNgFNaNbNcNdNiNjNfZNgSQFdQDzQDyQDwQDu@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__ctorMFNcQCwZSQEeQEd__TQDxTQDoVQCui1ZQEl@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__dtorMFZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv6__initZ@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv8opAssignMFQCwZv@Base 13 + _D3std8typecons__T10RefCountedTSQBe3net4curl4SMTP4ImplVEQCcQCb24RefCountedAutoInitializei1ZQCv8opAssignMFSQEaQDz__TQDtTQDkVQCqi1ZQEhZv@Base 13 + _D3std8typecons__T10rebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQClFNaNbNiNfQCkZSQDsQDr__T10RebindableTQDlZQr@Base 14 + _D3std8typecons__T10rebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCmFNaNbNiNfQClZSQDtQDs__T10RebindableTQDmZQr@Base 14 + _D3std8typecons__T10rebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCmFNaNbNiNfQClZSQDtQDs__T10RebindableTQDmZQr@Base 14 + _D3std8typecons__T10rebindableTSQBe4conv__T7toCharsVhi10TaVEQCg5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDmFNaNbNiNfQDlZSQEtQEs__T10RebindableTQEmZQr@Base 14 + _D3std8typecons__T10rebindableTSQBe5range__T10OnlyResultTaZQpZQBsFNaNbNiNfQBrZSQCzQCy__T10RebindableTQCsZQr@Base 14 + _D3std8typecons__T10rebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCgFNaNbNiNfQCfZSQDnQDm__T10RebindableTQDgZQr@Base 14 + _D3std8typecons__T11Rebindable2TaZQq3getMNgFNaNbNdNiNeZNga@Base 14 + _D3std8typecons__T11Rebindable2TaZQq6__ctorMFNaNbNcNiNeaZSQCeQCd__TQBxTaZQCd@Base 14 + _D3std8typecons__T11Rebindable2TaZQq6__initZ@Base 14 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc10__postblitMFNaNbNiNfZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore13allocateStoreMFNaNbNiNfZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore13isInitializedMxFNaNbNdNiNfZb@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore15deallocateStoreMFNaNbNiZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl11__fieldDtorMFNeZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl11__xopEqualsMxFKxSQFkQFj__TQFdTQEqVQDti0ZQFrQCpQCbZb@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl6__initZ@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl8opAssignMFNcNjNeSQFjQFi__TQFcTQEpVQDsi0ZQFqQCoQCaZQBi@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4Impl9__xtoHashFNbNeKxSQFjQFi__TQFcTQEpVQDsi0ZQFqQCoQCaZm@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4moveMFNaNbNiNfKQDvZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore6__initZ@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore8refCountMxFNaNbNdNiNfZm@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore__T10initializeTAyaTEQFhQDz8SpanModeTbZQBkMFNfKQBfKQBfKbZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc15refCountedStoreMNgFNaNbNcNdNiNfZNgSQFgQFf__TQEzTQEmVQDpi0ZQFn15RefCountedStore@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc17refCountedPayloadMNgFNaNbNcNdNiNjZNgSQFiQEaQDy@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc6__ctorMFNcNkMQDcZSQEoQEn__TQEhTQDuVQCxi0ZQEv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc6__dtorMFNfZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc6__initZ@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc8opAssignMFNfSQEjQEi__TQEcTQDpVQCsi0ZQEqZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc8opAssignMFQCzZv@Base 13 + _D3std8typecons__T14SafeRefCountedTSQBi4file15DirIteratorImplVEQCjQCi24RefCountedAutoInitializei0ZQDc__T6__ctorTAyaTEQElQDd8SpanModeTbZQBfMFNcNfKQBhKQBhKbZSQFyQFx__TQFrTQFeVQEhi0ZQGf@Base 13 + _D3std8typecons__T5TupleTAxaTQeTQhZQr11__xopEqualsMxFKxSQCcQCb__TQBvTQBsTQBwTQCaZQClZb@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr6__ctorMFNaNbNcNiNfQBfQBiQBlZSQCnQCm__TQCgTQCdTQChTQClZQCw@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr6__initZ@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr6toHashMxFNaNbNiNfZm@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr8__xopCmpMxFKxSQByQBx__TQBrTQBoTQBsTQBwZQChZi@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr__T5opCmpTxSQBvQBu__TQBoTQBlTQBpTQBtZQCeZQBmMxFNaNbNiNfxQBtZi@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr__T8opAssignTSQBxQBw__TQBqTQBnTQBrTQBvZQCgZQBoMFNaNbNcNiNfKQBuZQBy@Base 14.2 + _D3std8typecons__T5TupleTAxaTQeTQhZQr__T8opEqualsTxSQByQBx__TQBrTQBoTQBsTQBwZQChZQBpMxFNaNbNiNfxQBtZb@Base 14.2 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg11__xopEqualsMxFKxSQCsQCr__TQClTQCiTQBtZQCxZb@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg6__ctorMFNaNbNcNiNfQBvQBfZSQDaQCz__TQCtTQCqTQCbZQDf@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg6__initZ@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg6toHashMxFNbNfZm@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg__T8opEqualsTxSQCoQCn__TQChTQCeTQBpZQCtZQBlMxFxQBhZb@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx11__xopEqualsMxFKxSQDjQDi__TQDcTQCzTQCkZQDoZb@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx6__ctorMFNaNbNcNiNfQCmQBwZSQDrQDq__TQDkTQDhTQCsZQDw@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx6__initZ@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx6toHashMxFNbNfZm@Base 13 + _D3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx__T8opEqualsTxSQDfQDe__TQCyTQCvTQCgZQDkZQBlMxFxQBhZb@Base 13 + _D3std8typecons__T5TupleTC8TypeInfoTPvZQv11__xopEqualsMxFKxSQCgQCf__TQBzTQBwTQBpZQClZb@Base 13 + _D3std8typecons__T5TupleTC8TypeInfoTPvZQv6__ctorMFNaNbNcNiNfQBjQBbZSQCoQCn__TQChTQCeTQBxZQCt@Base 13 + _D3std8typecons__T5TupleTC8TypeInfoTPvZQv6__initZ@Base 13 + _D3std8typecons__T5TupleTC8TypeInfoTPvZQv6toHashMxFNbNfZm@Base 13 + _D3std8typecons__T5TupleTC8TypeInfoTPvZQv__T8opEqualsTxSQCcQCb__TQBvTQBsTQBlZQChZQBlMxFNbNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb11__xopEqualsMxFKxSQCnQCm__TQCgTQCdTQBqZQCsZb@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb6__ctorMFNaNbNcNiNfQBqQBcZSQCvQCu__TQCoTQClTQByZQDa@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb6__initZ@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb8__xopCmpMxFKxSQCjQCi__TQCcTQBzTQBmZQCoZi@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb__T5opCmpTxSQCgQCf__TQBzTQBwTQBjZQClZQBiMxFNaNbNiNfxQBpZi@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb__T8opEqualsTxSQCjQCi__TQCcTQBzTQBmZQCoZQBlMxFNaNbNiNfxQBpZb@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq11__xopEqualsMxFKxSQEcQEb__TQDvTQDsVQDfa6_736368656d61TQDfVQEca8_73657175656e6365ZQFxZb@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq12_Tuple_superMNgFNaNbNcNdNiNeZNgSQErQEq__TQEkTQEhTQDbZQEw@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq6__ctorMFNaNbNcNiNfQDfQByZSQEkQEj__TQEdTQEaVQDna6_736368656d61TQDnVQEka8_73657175656e6365ZQGf@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq6__initZ@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq8__xopCmpMxFKxSQDyQDx__TQDrTQDoVQDba6_736368656d61TQDbVQDya8_73657175656e6365ZQFtZi@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq__T5opCmpTxSQDvQDu__TQDoTQDlVQCya6_736368656d61TQCyVQDva8_73657175656e6365ZQFqZQCyMxFNaNbNiNfxQDfZi@Base 13 + _D3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq__T8opEqualsTxSQDyQDx__TQDrTQDoVQDba6_736368656d61TQDbVQDya8_73657175656e6365ZQFtZQDbMxFNaNbNiNfxQDfZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt11__xopEqualsMxFKxSQJfQJe__TQIyTQIvTQEbZQJkZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt6__ctorMFNaNbNcNiNfQIiQDnZSQJnQJm__TQJgTQJdTQEjZQJs@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt6__initZ@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuTSQFwQEzQEs__TQElSQGmQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHt__T8opEqualsTxSQJbQJa__TQIuTQIrTQDxZQJgZQBlMxFNaNbNiNfxQBpZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf11__xopEqualsMxFKxSQGrQGq__TQGkTQGhZQGsZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__ctorMFNaNbNcNiNfQFuZSQGwQGv__TQGpTQGmZQGx@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__initZ@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf__T8opBinaryVQDba1_7eTSQGvQGu__TQGoTSQHjQGmQGf__TQFySQHzQFr__TQFiVQFca4_615b315dVQFra1_61ZQGkTQFdZQHvZQJgZQDzMFNaNbNiNfQDtZSQKsQKr__TQKlTQKiTQEbZQKx@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf__T8opEqualsTxSQGnQGm__TQGgTQGdZQGoZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf11__xopEqualsMxFKxSQGrQGq__TQGkTQGhZQGsZb@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__ctorMFNaNbNcNiNfQFuZSQGwQGv__TQGpTQGmZQGx@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6__initZ@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTSQy9algorithm9iteration__T9MapResultSQCi10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEm3uni21DecompressedIntervalsZQDuZQFf__T8opEqualsTxSQGnQGm__TQGgTQGdZQGoZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTbTiZQl11__xopEqualsMxFKxSQBwQBv__TQBpTbTiZQBxZb@Base 13 + _D3std8typecons__T5TupleTbTiZQl6__ctorMFNaNbNcNiNfbiZSQCaQBz__TQBtTbTiZQCb@Base 13 + _D3std8typecons__T5TupleTbTiZQl6__initZ@Base 13 + _D3std8typecons__T5TupleTbTiZQl6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTbTiZQl8__xopCmpMxFKxSQBsQBr__TQBlTbTiZQBtZi@Base 13 + _D3std8typecons__T5TupleTbTiZQl__T5opCmpTxSQBpQBo__TQBiTbTiZQBqZQBeMxFNaNbNiNfxQBlZi@Base 13 + _D3std8typecons__T5TupleTbTiZQl__T8opEqualsTxSQBsQBr__TQBlTbTiZQBtZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTbTkZQl11__xopEqualsMxFKxSQBwQBv__TQBpTbTkZQBxZb@Base 13 + _D3std8typecons__T5TupleTbTkZQl6__ctorMFNaNbNcNiNfbkZSQCaQBz__TQBtTbTkZQCb@Base 13 + _D3std8typecons__T5TupleTbTkZQl6__initZ@Base 13 + _D3std8typecons__T5TupleTbTkZQl6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTbTkZQl8__xopCmpMxFKxSQBsQBr__TQBlTbTkZQBtZi@Base 13 + _D3std8typecons__T5TupleTbTkZQl__T5opCmpTxSQBpQBo__TQBiTbTkZQBqZQBeMxFNaNbNiNfxQBlZi@Base 13 + _D3std8typecons__T5TupleTbTkZQl__T8opEqualsTxSQBsQBr__TQBlTbTkZQBtZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg11__xopEqualsMxFKxSQDsQDr__TQDlTbVQDia10_7465726d696e61746564TiVQEma6_737461747573ZQFoZb@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg12_Tuple_superMNgFNaNbNcNdNiNeZNgSQEhQEg__TQEaTbTiZQEi@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg6__ctorMFNaNbNcNiNfbiZSQDwQDv__TQDpTbVQDma10_7465726d696e61746564TiVQEqa6_737461747573ZQFs@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg6__initZ@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg8__xopCmpMxFKxSQDoQDn__TQDhTbVQDea10_7465726d696e61746564TiVQEia6_737461747573ZQFkZi@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg__T5opCmpTxSQDlQDk__TQDeTbVQDba10_7465726d696e61746564TiVQEfa6_737461747573ZQFhZQCzMxFNaNbNiNfxQDgZi@Base 13 + _D3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg__T8opEqualsTxSQDoQDn__TQDhTbVQDea10_7465726d696e61746564TiVQEia6_737461747573ZQFkZQDcMxFNaNbNiNfxQDgZb@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp11__xopEqualsMxFKxSQCaQBz__TQBtTeTeTeTeZQCfZb@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp6__ctorMFNaNbNcNiNfeeeeZSQCgQCf__TQBzTeTeTeTeZQCl@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp6__initZ@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp__T5opCmpTxSQBtQBs__TQBmTeTeTeTeZQByZQBiMxFNaNbNiNfxQBpZf@Base 13 + _D3std8typecons__T5TupleTeTeTeTeZQp__T8opEqualsTxSQBwQBv__TQBpTeTeTeTeZQCbZQBlMxFNaNbNiNfxQBpZb@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn11__xopEqualsMxFKxSQByQBx__TQBrTiTQBoZQCbZb@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn6__ctorMFNaNbNcNiNfiQBaZSQCeQCd__TQBxTiTQBuZQCh@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn6__initZ@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn8__xopCmpMxFKxSQBuQBt__TQBnTiTQBkZQBxZi@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn__T5opCmpTxSQBrQBq__TQBkTiTQBhZQBuZQBgMxFNaNbNiNfxQBnZi@Base 13 + _D3std8typecons__T5TupleTiTAyaZQn__T8opEqualsTxSQBuQBt__TQBnTiTQBkZQBxZQBjMxFNaNbNiNfxQBnZb@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx11__xopEqualsMxFKxSQDjQDi__TQDcTiVQCza6_737461747573TQDsVQDwa6_6f7574707574ZQEyZb@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx12_Tuple_superMNgFNaNbNcNdNiNeZNgSQDyQDx__TQDrTiTQDoZQEb@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx6__ctorMFNaNbNcNiNfiQClZSQDpQDo__TQDiTiVQDfa6_737461747573TQDyVQEca6_6f7574707574ZQFe@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx6__initZ@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx8__xopCmpMxFKxSQDfQDe__TQCyTiVQCva6_737461747573TQDoVQDsa6_6f7574707574ZQEuZi@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx__T5opCmpTxSQDcQDb__TQCvTiVQCsa6_737461747573TQDlVQDpa6_6f7574707574ZQErZQCsMxFNaNbNiNfxQCzZi@Base 13 + _D3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx__T8opEqualsTxSQDfQDe__TQCyTiVQCva6_737461747573TQDoVQDsa6_6f7574707574ZQEuZQCvMxFNaNbNiNfxQCzZb@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn11__xopEqualsMxFKxSQByQBx__TQBrTkTkTkZQCbZb@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn6__ctorMFNaNbNcNiNfkkkZSQCdQCc__TQBwTkTkTkZQCg@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn8__xopCmpMxFKxSQBuQBt__TQBnTkTkTkZQBxZi@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn__T5opCmpTxSQBrQBq__TQBkTkTkTkZQBuZQBgMxFNaNbNiNfxQBnZi@Base 13 + _D3std8typecons__T5TupleTkTkTkZQn__T8opEqualsTxSQBuQBt__TQBnTkTkTkZQBxZQBjMxFNaNbNiNfxQBnZb@Base 13 + _D3std8typecons__T5TupleTkTmZQl11__xopEqualsMxFKxSQBwQBv__TQBpTkTmZQBxZb@Base 13 + _D3std8typecons__T5TupleTkTmZQl6__ctorMFNaNbNcNiNfkmZSQCaQBz__TQBtTkTmZQCb@Base 13 + _D3std8typecons__T5TupleTkTmZQl6__initZ@Base 13 + _D3std8typecons__T5TupleTkTmZQl6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTkTmZQl8__xopCmpMxFKxSQBsQBr__TQBlTkTmZQBtZi@Base 13 + _D3std8typecons__T5TupleTkTmZQl__T5opCmpTxSQBpQBo__TQBiTkTmZQBqZQBeMxFNaNbNiNfxQBlZi@Base 13 + _D3std8typecons__T5TupleTkTmZQl__T8opEqualsTxSQBsQBr__TQBlTkTmZQBtZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq11__xopEqualsMxFKxSQDcQDb__TQCvTkVQCsa4_64617461TmVQDja5_636f756e74ZQEjZb@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq12_Tuple_superMNgFNaNbNcNdNiNeZNgSQDrQDq__TQDkTkTmZQDs@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq6__ctorMFNaNbNcNiNfkmZSQDgQDf__TQCzTkVQCwa4_64617461TmVQDna5_636f756e74ZQEn@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq6__initZ@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq8__xopCmpMxFKxSQCyQCx__TQCrTkVQCoa4_64617461TmVQDfa5_636f756e74ZQEfZi@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq__T5opCmpTxSQCvQCu__TQCoTkVQCla4_64617461TmVQDca5_636f756e74ZQEcZQCkMxFNaNbNiNfxQCrZi@Base 13 + _D3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq__T8opEqualsTxSQCyQCx__TQCrTkVQCoa4_64617461TmVQDfa5_636f756e74ZQEfZQCnMxFNaNbNiNfxQCrZb@Base 13 + _D3std8typecons__T5TupleTmTmZQl11__xopEqualsMxFKxSQBwQBv__TQBpTmTmZQBxZb@Base 13 + _D3std8typecons__T5TupleTmTmZQl6__ctorMFNaNbNcNiNfmmZSQCaQBz__TQBtTmTmZQCb@Base 13 + _D3std8typecons__T5TupleTmTmZQl6__initZ@Base 13 + _D3std8typecons__T5TupleTmTmZQl6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTmTmZQl8__xopCmpMxFKxSQBsQBr__TQBlTmTmZQBtZi@Base 13 + _D3std8typecons__T5TupleTmTmZQl__T5opCmpTxSQBpQBo__TQBiTmTmZQBqZQBeMxFNaNbNiNfxQBlZi@Base 13 + _D3std8typecons__T5TupleTmTmZQl__T8opEqualsTxSQBsQBr__TQBlTmTmZQBtZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk11__xopEqualsMxFKxSQCwQCv__TQCpTmVQCma3_706f73TmVQDba3_6c656eZQDxZb@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk12_Tuple_superMNgFNaNbNcNdNiNeZNgSQDlQDk__TQDeTmTmZQDm@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk6__ctorMFNaNbNcNiNfmmZSQDaQCz__TQCtTmVQCqa3_706f73TmVQDfa3_6c656eZQEb@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk6__initZ@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk8__xopCmpMxFKxSQCsQCr__TQClTmVQCia3_706f73TmVQCxa3_6c656eZQDtZi@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk__T5opCmpTxSQCpQCo__TQCiTmVQCfa3_706f73TmVQCua3_6c656eZQDqZQCeMxFNaNbNiNfxQClZi@Base 13 + _D3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk__T8opEqualsTxSQCsQCr__TQClTmVQCia3_706f73TmVQCxa3_6c656eZQDtZQChMxFNaNbNiNfxQClZb@Base 13 + _D3std8typecons__T5TupleTuTaZQl11__xopEqualsMxFKxSQBwQBv__TQBpTuTaZQBxZb@Base 13 + _D3std8typecons__T5TupleTuTaZQl6__ctorMFNaNbNcNiNfuaZSQCaQBz__TQBtTuTaZQCb@Base 13 + _D3std8typecons__T5TupleTuTaZQl6__initZ@Base 13 + _D3std8typecons__T5TupleTuTaZQl6toHashMxFNaNbNiNfZm@Base 13 + _D3std8typecons__T5TupleTuTaZQl8__xopCmpMxFKxSQBsQBr__TQBlTuTaZQBtZi@Base 13 + _D3std8typecons__T5TupleTuTaZQl__T5opCmpTxSQBpQBo__TQBiTuTaZQBqZQBeMxFNaNbNiNfxQBlZi@Base 13 + _D3std8typecons__T5TupleTuTaZQl__T8opEqualsTxSQBsQBr__TQBlTuTaZQBtZQBhMxFNaNbNiNfxQBlZb@Base 13 + _D3std8typecons__T5tupleVAyaa4_64617461VQpa5_636f756e74Z__TQBpTkTmZQBxFNaNbNiNfkmZSQDdQDc__T5TupleTkVQCya4_64617461TmVQDpa5_636f756e74ZQBr@Base 13 + _D3std8typecons__T5tupleZ__TQkTC15TypeInfo_StructTPG32hZQBmFNaNbNiNfQBlQvZSQCvQCu__T5TupleTQCiTQBtZQp@Base 13 + _D3std8typecons__T5tupleZ__TQkTC15TypeInfo_StructTPSQBy11concurrency3TidZQCdFNaNbNiNfQCcQBmZSQDnQDm__T5TupleTQDaTQClZQp@Base 13 + _D3std8typecons__T5tupleZ__TQkTSQBe9algorithm9iteration__T9MapResultSQCp10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQEt3uni21DecompressedIntervalsZQDuZQFmFNaNbNiNfQFlZSQGtQGs__T5TupleTQGgZQl@Base 13 + _D3std8typecons__T5tupleZ__TQkTSQBe9algorithm9iteration__T9MapResultSQCp10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQEt3uni21DecompressedIntervalsZQDuZQFmFNaNbNiNfQFlZSQGtQGs__T5TupleTQGgZQl@Base 13 + _D3std8typecons__T5tupleZ__TQkTbTkZQrFNaNbNiNfbkZSQBwQBv__T5TupleTbTkZQl@Base 13 + _D3std8typecons__T5tupleZ__TQkTkTkTkZQtFNaNbNiNfkkkZSQBzQBy__T5TupleTkTkTkZQn@Base 13 + _D3std8typecons__T5tupleZ__TQkTuTaZQrFNaNbNiNfuaZSQBwQBv__T5TupleTuTaZQl@Base 13 + _D3std9algorithm10comparison11__moduleRefZ@Base 13 + _D3std9algorithm10comparison12__ModuleInfoZ@Base 13 + _D3std9algorithm10comparison6EditOp6__initZ@Base 13 + _D3std9algorithm10comparison__T3cmpTAxhTQeZQmFNaNbNiNfQsQuZi@Base 13 + _D3std9algorithm10comparison__T3cmpTSQBjQBi9iteration__T12FilterResultS_DQCt3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQFkQFjQEb__T9MapResultSQGh5ascii7toLowerTQCoZQBhZQFfTQGdZQGmFNaNfQGpQGsZi@Base 13 + _D3std9algorithm10comparison__T3maxTiTmZQjFNaNbNiNfimZm@Base 13 + _D3std9algorithm10comparison__T3maxTkTkZQjFNaNbNiNfkkZk@Base 13 + _D3std9algorithm10comparison__T3maxTmTiZQjFNaNbNiNfmiZm@Base 13 + _D3std9algorithm10comparison__T3maxTmTmZQjFNaNbNiNfmmZm@Base 13 + _D3std9algorithm10comparison__T3minTPvTQdZQlFNaNbNiNfQrQtZQw@Base 13 + _D3std9algorithm10comparison__T3minTlTmZQjFNaNbNiNflmZl@Base 13 + _D3std9algorithm10comparison__T3minTmTiZQjFNaNbNiNfmiZi@Base 13 + _D3std9algorithm10comparison__T3minTmTmZQjFNaNbNiNfmmZm@Base 13 + _D3std9algorithm10comparison__T3minTmTyiZQkFNaNbNiNfmyiZyi@Base 13 + _D3std9algorithm10comparison__T3minTmTymZQkFNaNbNiNfmymZm@Base 13 + _D3std9algorithm10comparison__T3minTyiTmZQkFNaNbNiNfyimZyi@Base 13 + _D3std9algorithm10comparison__T3minTymTmZQkFNaNbNiNfymmZym@Base 13 + _D3std9algorithm10comparison__T3minTymTymZQlFNaNbNiNfymymZym@Base 13 + _D3std9algorithm10comparison__T5amongSQBkQBjQBc10__lambda83TAyaTQeTQhTQkZQBqFNaNbNiNfQzQBbQBeQBhZk@Base 13 + _D3std9algorithm10comparison__T5amongSQBkQBjQBc10__lambda83TEQCh6format8internal5write17HasToStringResultTQBuTQByTQCcZQDjFNaNbNiNfQCsQCvQCyQDbZk@Base 13 + _D3std9algorithm10comparison__T5amongSQBkQBjQBc10__lambda83TaTaTaTaTaTaTaTaTaTaTaZQBzFNaNbNiNfaaaaaaaaaaaZk@Base 13 + _D3std9algorithm10comparison__T5amongVai105Vai73Z__TQvTyaZQBbFNaNbNiNfyaZk@Base 13 + _D3std9algorithm10comparison__T5amongVai108Vai76Vai102Vai70Vai105Vai73Z__TQBrTyaZQByFNaNbNiNfyaZk@Base 13 + _D3std9algorithm10comparison__T5amongVai117Vai108Vai85Vai76Z__TQBgTyaZQBnFNaNbNiNfyaZk@Base 13 + _D3std9algorithm10comparison__T5amongVai95Vai44Z__TQuTyaZQBaFNaNbNiNfyaZk@Base 13 + _D3std9algorithm10comparison__T5equalZ__T9equalLoopTSQBzQBy9iteration__T9MapResultSQDd5ascii7toLowerTSQDw3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDcTSQFzQFyQEa__TQDtSQGpQDmQDjTSQHaQDe__TQDdTAyaZQDlFQiZQCvZQFkZQGtFNaNbNiNfKQGvKQCzZb@Base 13 + _D3std9algorithm10comparison__T5equalZ__TQkTAxaTAyaZQvFNaNbNiNfQtQrZb@Base 13 + _D3std9algorithm10comparison__T5equalZ__TQkTSQBrQBq9iteration__T9MapResultSQCv5ascii7toLowerTSQDo3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDcTSQFrQFqQEa__TQDtSQGhQDmQDjTSQGsQDe__TQDdTAyaZQDlFQiZQCvZQFkZQGvFNaNbNiNfQGuQCxZb@Base 13 + _D3std9algorithm11__moduleRefZ@Base 13 + _D3std9algorithm12__ModuleInfoZ@Base 13 + _D3std9algorithm6setops11__moduleRefZ@Base 13 + _D3std9algorithm6setops12__ModuleInfoZ@Base 13 + _D3std9algorithm7sorting11__moduleRefZ@Base 13 + _D3std9algorithm7sorting12__ModuleInfoZ@Base 13 + _D3std9algorithm7sorting__T11TimSortImplSQBn3uni__T13InversionListTSQCoQBb8GcPolicyZQBh8sanitizeMFNfZ9__lambda2TSQEhQCu__TQCtTQChZQDb__T9IntervalsTAkZQoZ5Slice6__initZ@Base 13 + _D3std9algorithm7sorting__T13quickSortImplSQBp10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFg8datetime8timezone13PosixTimeZone10LeapSecondZQGeFNaNbNiNfQClmZv@Base 13 + _D3std9algorithm7sorting__T13quickSortImplSQBp10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFg8datetime8timezone13PosixTimeZone14TempTransitionZQGiFNaNbNiNfQCpmZv@Base 13 + _D3std9algorithm7sorting__T13quickSortImplSQBp10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZQDjFNaNbNiNfQrmZv@Base 13 + _D3std9algorithm7sorting__T18trustedMoveEmplaceTAyaZQzFNaNbNiNeKQqKQtZv@Base 13 + _D3std9algorithm7sorting__T18trustedMoveEmplaceTCQBv3zip13ArchiveMemberZQBtFNaNbNiNeKQBlKQBpZv@Base 13 + _D3std9algorithm7sorting__T18trustedMoveEmplaceTSQBv8datetime8timezone13PosixTimeZone10LeapSecondZQCtFNaNbNiNeKQClKQCpZv@Base 13 + _D3std9algorithm7sorting__T18trustedMoveEmplaceTSQBv8datetime8timezone13PosixTimeZone14TempTransitionZQCxFNaNbNiNeKQCpKQCtZv@Base 13 + _D3std9algorithm7sorting__T4sortVAyaa17_612e74696d6554203c20622e74696d6554VEQCwQCv8mutation12SwapStrategyi0TASQEe8datetime8timezone13PosixTimeZone10LeapSecondZQFcFNaNbNiNfQClZSQGs5range__T11SortedRangeTQDqVQGra17_612e74696d6554203c20622e74696d6554VEQJnQCv18SortedRangeOptionsi0ZQDm@Base 13 + _D3std9algorithm7sorting__T4sortVAyaa17_612e74696d6554203c20622e74696d6554VEQCwQCv8mutation12SwapStrategyi0TASQEe8datetime8timezone13PosixTimeZone14TempTransitionZQFgFNaNbNiNfQCpZSQGw5range__T11SortedRangeTQDuVQGva17_612e74696d6554203c20622e74696d6554VEQJrQCv18SortedRangeOptionsi0ZQDm@Base 13 + _D3std9algorithm7sorting__T4sortVAyaa5_61203c2062VEQBxQBw8mutation12SwapStrategyi0TAQBzZQCjFNaNbNiNfQrZSQDy5range__T11SortedRangeTQBvVQDxa5_61203c2062VEQFuQBw18SortedRangeOptionsi0ZQCn@Base 13 + _D3std9algorithm7sorting__T5sort5SQBg10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEx8datetime8timezone13PosixTimeZone10LeapSecondZQFvFNaNbNiNfQClZv@Base 13 + _D3std9algorithm7sorting__T5sort5SQBg10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEx8datetime8timezone13PosixTimeZone14TempTransitionZQFzFNaNbNiNfQCpZv@Base 13 + _D3std9algorithm7sorting__T5sort5SQBg10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZQDaFNaNbNiNfQrZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone10LeapSecondZ__T6isHeapZQiFNaNbNiNfQCvZb@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone10LeapSecondZ__T8heapSortZQkFNaNbNiNfQCxZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone10LeapSecondZ__T8siftDownZQkFNaNbNiNfQCxmymZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone10LeapSecondZ__T9buildHeapZQlFNaNbNiNfQCyZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone10LeapSecondZ__T9percolateZQlFNaNbNiNfQCymymZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone14TempTransitionZ__T6isHeapZQiFNaNbNiNfQCzZb@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone14TempTransitionZ__T8heapSortZQkFNaNbNiNfQDbZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone14TempTransitionZ__T8siftDownZQkFNaNbNiNfQDbmymZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone14TempTransitionZ__T9buildHeapZQlFNaNbNiNfQDcZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQEz8datetime8timezone13PosixTimeZone14TempTransitionZ__T9percolateZQlFNaNbNiNfQDcmymZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZ__T6isHeapZQiFNaNbNiNfQBbZb@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZ__T8heapSortZQkFNaNbNiNfQBdZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZ__T8siftDownZQkFNaNbNiNfQBdmymZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZ__T9buildHeapZQlFNaNbNiNfQBeZv@Base 13 + _D3std9algorithm7sorting__T7HeapOpsSQBi10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZ__T9percolateZQlFNaNbNiNfQBemymZv@Base 13 + _D3std9algorithm7sorting__T8getPivotSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFa8datetime8timezone13PosixTimeZone10LeapSecondZQFyFNaNbNiNfQClZm@Base 13 + _D3std9algorithm7sorting__T8getPivotSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFa8datetime8timezone13PosixTimeZone14TempTransitionZQGcFNaNbNiNfQCpZm@Base 13 + _D3std9algorithm7sorting__T8getPivotSQBj10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZQDdFNaNbNiNfQrZm@Base 13 + _D3std9algorithm7sorting__T8isSortedSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFa8datetime8timezone13PosixTimeZone10LeapSecondZQFyFNaNbNiNfQClZb@Base 13 + _D3std9algorithm7sorting__T8isSortedSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFa8datetime8timezone13PosixTimeZone14TempTransitionZQGcFNaNbNiNfQCpZb@Base 13 + _D3std9algorithm7sorting__T8isSortedSQBj10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZQDdFNaNbNiNfQrZb@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtVEQEz8typecons__T4FlagVQDia9_6c65616e5269676874ZQBfi0TASQHb8datetime8timezone13PosixTimeZone10LeapSecondTmTmTmTmTmZQIjFNaNbNiNfQCvmmmmmZv@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtVEQEz8typecons__T4FlagVQDia9_6c65616e5269676874ZQBfi0TASQHb8datetime8timezone13PosixTimeZone10LeapSecondTmTmTmZQIfFNaNbNiNfQCrmmmZv@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtVEQEz8typecons__T4FlagVQDia9_6c65616e5269676874ZQBfi0TASQHb8datetime8timezone13PosixTimeZone14TempTransitionTmTmTmTmTmZQInFNaNbNiNfQCzmmmmmZv@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtVEQEz8typecons__T4FlagVQDia9_6c65616e5269676874ZQBfi0TASQHb8datetime8timezone13PosixTimeZone14TempTransitionTmTmTmZQIjFNaNbNiNfQCvmmmZv@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsVEQDy8typecons__T4FlagVQCha9_6c65616e5269676874ZQBfi0TAQDnTmTmTmTmTmZQFoFNaNbNiNfQBbmmmmmZv@Base 13 + _D3std9algorithm7sorting__T8medianOfSQBj10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsVEQDy8typecons__T4FlagVQCha9_6c65616e5269676874ZQBfi0TAQDnTmTmTmZQFkFNaNbNiNfQxmmmZv@Base 13 + _D3std9algorithm7sorting__T9shortSortSQBk10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFb8datetime8timezone13PosixTimeZone10LeapSecondZQFzFNaNbNiNfQClZv@Base 13 + _D3std9algorithm7sorting__T9shortSortSQBk10functional__T9binaryFunVAyaa17_612e74696d6554203c20622e74696d6554VQBqa1_61VQBza1_62ZQCtTASQFb8datetime8timezone13PosixTimeZone14TempTransitionZQGdFNaNbNiNfQCpZv@Base 13 + _D3std9algorithm7sorting__T9shortSortSQBk10functional__T9binaryFunVAyaa5_61203c2062VQra1_61VQza1_62ZQBsTAQBmZQDeFNaNbNiNfQrZv@Base 13 + _D3std9algorithm8internal11__moduleRefZ@Base 13 + _D3std9algorithm8internal12__ModuleInfoZ@Base 13 + _D3std9algorithm8mutation11__moduleRefZ@Base 13 + _D3std9algorithm8mutation12__ModuleInfoZ@Base 13 + _D3std9algorithm8mutation__T10removeImplVEQBoQBnQBg12SwapStrategyi0TAAyaTlZQBvFNaNbNiNfQtlZQx@Base 13 + _D3std9algorithm8mutation__T10removeImplVEQBoQBnQBg12SwapStrategyi2TAC4core6thread5fiber5FiberTmZQCrFNaNbNiNfQBpmZQBu@Base 13 + _D3std9algorithm8mutation__T11moveAllImplSQBoQBnQBg4moveTAC4core6thread5fiber5FiberTQBbZQCiFNaNbNiNfKQBsKQBwZQCa@Base 13 + _D3std9algorithm8mutation__T11moveEmplaceTSQBp3net4curl3FTP4ImplZQBlFNaNbNiKQBiKQBmZv@Base 13 + _D3std9algorithm8mutation__T11moveEmplaceTSQBp3net4curl4HTTP4ImplZQBmFNaNbNiKQBjKQBnZv@Base 13 + _D3std9algorithm8mutation__T11moveEmplaceTSQBp3net4curl4SMTP4ImplZQBmFNaNbNiKQBjKQBnZv@Base 13 + _D3std9algorithm8mutation__T11moveEmplaceTSQBp4file15DirIteratorImplZQBpFNaNbNiKQBmKQBqZv@Base 13 + _D3std9algorithm8mutation__T12removeStableTAC4core6thread5fiber5FiberTmZQBsFNaNbNiNfQBpmZQBu@Base 13 + _D3std9algorithm8mutation__T14removeUnstableTAAyaTlZQyFNaNbNiNfQslZQw@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTAAyaZQxFNaNbNiNfMKQsNkMKQyZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTACQBu3zip13ArchiveMemberZQBrFNaNbNiNfMKQBnNkMKQBuZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTASQBu5regex8internal2ir10NamedGroupZQCcFNaNbNiNfMKQByNkMKQCfZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTASQBu8datetime8timezone13PosixTimeZone10LeapSecondZQCrFNaNbNiNfMKQCnNkMKQCuZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTASQBu8datetime8timezone13PosixTimeZone14TempTransitionZQCvFNaNbNiNfMKQCrNkMKQCyZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTAkZQvFNaNbNiNfMKQqNkMKQwZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTAyaZQwFNaNbNiNfMKQrNkMKQxZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTC4core6thread5fiber5FiberZQBsFNaNbNiNfMKQBoNkMKQBvZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt3net4curl3FTP4ImplZQBpFNaNbNiNfMKQBlNkMKQBsZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt3net4curl4HTTP4ImplZQBqFNaNbNiNfMKQBmNkMKQBtZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt3net4curl4SMTP4ImplZQBqFNaNbNiNfMKQBmNkMKQBtZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt3uni17CodepointIntervalZQBuFNaNbNiNfMKQBqNkMKQBxZv@Base 14 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt3uni__T13InversionListTSQCuQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQDhFNaNbNiNfMKQDdNkMKQDkZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt4file15DirIteratorImplZQBtFNaNbNiNfMKQBpNkMKQBwZv@Base 13 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt5range__T6strideTAywZQmFQhmZ6ResultZQCgFNaNbNiNfMKQCcNkMKQCjZv@Base 14.2 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBt8datetime8timezone13PosixTimeZone10TransitionZQCqFNaNbNiNfMKQCmNkMKQCtZv@Base 14 + _D3std9algorithm8mutation__T15moveEmplaceImplTSQBtQBs9iteration__T9MapResultSQCx10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQFh8internal14unicode_tables15UnicodePropertyZQEpZQGfFNaNbNiNfMKQGbNkMKQGiZv@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTAAyaZQxFNaNbNiNeNkMKQuZQx@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTACQBu3zip13ArchiveMemberZQBrFNaNbNiNeNkMKQBpZQBt@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTASQBu5regex8internal2ir10NamedGroupZQCcFNaNbNiNeNkMKQCaZQCe@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTASQBu8datetime8timezone13PosixTimeZone10LeapSecondZQCrFNaNbNiNeNkMKQCpZQCt@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTASQBu8datetime8timezone13PosixTimeZone14TempTransitionZQCvFNaNbNiNeNkMKQCtZQCx@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTAkZQvFNaNbNiNeNkMKQsZQv@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTSQBt3uni17CodepointIntervalZQBuFNaNbNiNeNkMKQBsZQBw@Base 14 + _D3std9algorithm8mutation__T15trustedMoveImplTSQBt3uni__T13InversionListTSQCuQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQDhFNaNbNiNeNkMKQDfZQDj@Base 13 + _D3std9algorithm8mutation__T15trustedMoveImplTSQBt5range__T6strideTAywZQmFQhmZ6ResultZQCgFNaNbNiNeNkMKQCeZQCi@Base 14.2 + _D3std9algorithm8mutation__T15trustedMoveImplTSQBt8datetime8timezone13PosixTimeZone10TransitionZQCqFNaNbNiNeNkMKQCoZQCs@Base 14 + _D3std9algorithm8mutation__T15trustedMoveImplTSQBtQBs9iteration__T9MapResultSQCx10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQFh8internal14unicode_tables15UnicodePropertyZQEpZQGfFNaNbNiNeNkMKQGdZQGh@Base 13 + _D3std9algorithm8mutation__T4copyTASQBi5regex8internal2ir8BytecodeTQBhZQBrFNaNbNiNfQBxQCaZQCe@Base 13 + _D3std9algorithm8mutation__T4copyTAiTAkZQmFNaNbNiNfQrQqZQt@Base 13 + _D3std9algorithm8mutation__T4copyTAkTQdZQmFNaNbNiNfQrQtZQw@Base 13 + _D3std9algorithm8mutation__T4copyTSQBh3uni__T13InversionListTSQCiQBb8GcPolicyZQBh__T9IntervalsTAkZQoTASQDxQCq17CodepointIntervalZQDxFNaNbNiNfQEdQBrZQBv@Base 13 + _D3std9algorithm8mutation__T4copyTSQBh5range__T10roundRobinTSQChQCg9iteration__T9MapResultSQDl10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQFp3uni21DecompressedIntervalsZQDuTSQGzQGyQEs__TQElSQHpQEe__TQDvVQDpa4_615b315dVQEea1_61ZQExTQDqZQGiZQHtFQHkQCvZ6ResultTAkZQJiFNaNfQJkQoZQr@Base 13 + _D3std9algorithm8mutation__T4moveTAAyaZQlFNaNbNiNfNkMKQuZQx@Base 13 + _D3std9algorithm8mutation__T4moveTACQBi3zip13ArchiveMemberZQBfFNaNbNiNfNkMKQBpZQBt@Base 13 + _D3std9algorithm8mutation__T4moveTASQBi5regex8internal2ir10NamedGroupZQBqFNaNbNiNfNkMKQCaZQCe@Base 13 + _D3std9algorithm8mutation__T4moveTASQBi8datetime8timezone13PosixTimeZone10LeapSecondZQCfFNaNbNiNfNkMKQCpZQCt@Base 13 + _D3std9algorithm8mutation__T4moveTASQBi8datetime8timezone13PosixTimeZone14TempTransitionZQCjFNaNbNiNfNkMKQCtZQCx@Base 13 + _D3std9algorithm8mutation__T4moveTAkZQjFNaNbNiNfNkMKQsZQv@Base 13 + _D3std9algorithm8mutation__T4moveTAyaZQkFNaNbNiNfKQqKQtZv@Base 13 + _D3std9algorithm8mutation__T4moveTC4core6thread5fiber5FiberZQBgFNaNbNiNfKQBnKQBrZv@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh3net4curl3FTP4ImplZQBdFKQBcKQBgZv@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh3net4curl4HTTP4ImplZQBeFKQBdKQBhZv@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh3net4curl4SMTP4ImplZQBeFKQBdKQBhZv@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh3uni17CodepointIntervalZQBiFNaNbNiNfNkMKQBsZQBw@Base 14 + _D3std9algorithm8mutation__T4moveTSQBh3uni__T13InversionListTSQCiQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQCvFNaNbNiNfNkMKQDfZQDj@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh4file15DirIteratorImplZQBhFKQBgKQBkZv@Base 13 + _D3std9algorithm8mutation__T4moveTSQBh5range__T6strideTAywZQmFQhmZ6ResultZQBuFNaNbNiNfNkMKQCeZQCi@Base 14.2 + _D3std9algorithm8mutation__T4moveTSQBh8datetime8timezone13PosixTimeZone10TransitionZQCeFNaNbNiNfNkMKQCoZQCs@Base 14 + _D3std9algorithm8mutation__T4moveTSQBhQBg9iteration__T9MapResultSQCl10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEv8internal14unicode_tables15UnicodePropertyZQEpZQFtFNaNbNiNfNkMKQGdZQGh@Base 13 + _D3std9algorithm8mutation__T4swapTAAyaZQlFNaNbNiNeKQrKQuZv@Base 13 + _D3std9algorithm8mutation__T4swapTACQBi3zip13ArchiveMemberZQBfFNaNbNiNeKQBmKQBqZv@Base 13 + _D3std9algorithm8mutation__T4swapTASQBi8datetime8timezone13PosixTimeZone10LeapSecondZQCfFNaNbNiNeKQCmKQCqZv@Base 13 + _D3std9algorithm8mutation__T4swapTASQBi8datetime8timezone13PosixTimeZone14TempTransitionZQCjFNaNbNiNeKQCqKQCuZv@Base 13 + _D3std9algorithm8mutation__T4swapTAyaZQkFNaNbNiNeKQqKQtZv@Base 13 + _D3std9algorithm8mutation__T4swapTCQBh3zip13ArchiveMemberZQBeFNaNbNiNeKQBlKQBpZv@Base 13 + _D3std9algorithm8mutation__T4swapTPSQBi8typecons__T10RefCountedTSQCl3net4curl3FTP4ImplVEQDiQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCkZQEpFNaNbNiNeKQEwKQFaZv@Base 13 + _D3std9algorithm8mutation__T4swapTPSQBi8typecons__T10RefCountedTSQCl3net4curl4HTTP4ImplVEQDjQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCkZQEqFNaNbNiNeKQExKQFbZv@Base 13 + _D3std9algorithm8mutation__T4swapTPSQBi8typecons__T10RefCountedTSQCl3net4curl4SMTP4ImplVEQDjQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCkZQEqFNaNbNiNeKQExKQFbZv@Base 13 + _D3std9algorithm8mutation__T4swapTPSQBi8typecons__T14SafeRefCountedTSQCp4file15DirIteratorImplVEQDqQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4ImplZQEzFNaNbNiNeKQFgKQFkZv@Base 13 + _D3std9algorithm8mutation__T4swapTSQBh5stdio17LockingTextReaderZQBkFNaNbNiNeKQBrKQBvZv@Base 13 + _D3std9algorithm8mutation__T4swapTSQBh5stdio4FileZQwFNaNbNiNeKQBcKQBgZv@Base 13 + _D3std9algorithm8mutation__T4swapTSQBh8datetime8timezone13PosixTimeZone10LeapSecondZQCeFNaNbNiNeKQClKQCpZv@Base 13 + _D3std9algorithm8mutation__T4swapTSQBh8datetime8timezone13PosixTimeZone14TempTransitionZQCiFNaNbNiNeKQCpKQCtZv@Base 13 + _D3std9algorithm8mutation__T4swapThZQiFNaNbNiNeKhKhZv@Base 13 + _D3std9algorithm8mutation__T6removeVEQBjQBiQBb12SwapStrategyi0TAAyaTlZQBqFNaNbNiNfQtlZQx@Base 13 + _D3std9algorithm8mutation__T6removeVEQBjQBiQBb12SwapStrategyi2TAC4core6thread5fiber5FiberTmZQCmFNaNbNiNfQBpmZQBu@Base 13 + _D3std9algorithm8mutation__T6swapAtTAAyaZQnFNaNbNiNfKQrmmZv@Base 13 + _D3std9algorithm8mutation__T6swapAtTACQBk3zip13ArchiveMemberZQBhFNaNbNiNfKQBmmmZv@Base 13 + _D3std9algorithm8mutation__T6swapAtTASQBk8datetime8timezone13PosixTimeZone10LeapSecondZQChFNaNbNiNfKQCmmmZv@Base 13 + _D3std9algorithm8mutation__T6swapAtTASQBk8datetime8timezone13PosixTimeZone14TempTransitionZQClFNaNbNiNfKQCqmmZv@Base 13 + _D3std9algorithm8mutation__T6swapAtTAhZQlFNaNbNiNfKQpmmZv@Base 13 + _D3std9algorithm8mutation__T6swapAtTSQBj3uni__T13InversionListTSQCkQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQCxFNaNbNiNfKQDcmmZv@Base 13 + _D3std9algorithm8mutation__T7moveAllTAC4core6thread5fiber5FiberTQBbZQBoFNaNbNiNfQBrQBuZQBy@Base 13 + _D3std9algorithm8mutation__T7reverseTAhZQmFNaNbNiNfQoZQr@Base 13 + _D3std9algorithm8mutation__T7reverseTSQBk3uni__T13InversionListTSQClQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQCyFNaNbNiNfQDbZQDf@Base 13 + _D3std9algorithm8mutation__T8moveImplTAAyaZQpFNaNbNiNfNkMKQuZQx@Base 13 + _D3std9algorithm8mutation__T8moveImplTACQBm3zip13ArchiveMemberZQBjFNaNbNiNfNkMKQBpZQBt@Base 13 + _D3std9algorithm8mutation__T8moveImplTASQBm5regex8internal2ir10NamedGroupZQBuFNaNbNiNfNkMKQCaZQCe@Base 13 + _D3std9algorithm8mutation__T8moveImplTASQBm8datetime8timezone13PosixTimeZone10LeapSecondZQCjFNaNbNiNfNkMKQCpZQCt@Base 13 + _D3std9algorithm8mutation__T8moveImplTASQBm8datetime8timezone13PosixTimeZone14TempTransitionZQCnFNaNbNiNfNkMKQCtZQCx@Base 13 + _D3std9algorithm8mutation__T8moveImplTAkZQnFNaNbNiNfNkMKQsZQv@Base 13 + _D3std9algorithm8mutation__T8moveImplTAyaZQoFNaNbNiNfMKQrNkMKQxZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTC4core6thread5fiber5FiberZQBkFNaNbNiNfMKQBoNkMKQBvZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl3net4curl3FTP4ImplZQBhFMKQBdNkMKQBkZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl3net4curl4HTTP4ImplZQBiFMKQBeNkMKQBlZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl3net4curl4SMTP4ImplZQBiFMKQBeNkMKQBlZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl3uni17CodepointIntervalZQBmFNaNbNiNfNkMKQBsZQBw@Base 14 + _D3std9algorithm8mutation__T8moveImplTSQBl3uni__T13InversionListTSQCmQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQCzFNaNbNiNfNkMKQDfZQDj@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl4file15DirIteratorImplZQBlFMKQBhNkMKQBoZv@Base 13 + _D3std9algorithm8mutation__T8moveImplTSQBl5range__T6strideTAywZQmFQhmZ6ResultZQByFNaNbNiNfNkMKQCeZQCi@Base 14.2 + _D3std9algorithm8mutation__T8moveImplTSQBl8datetime8timezone13PosixTimeZone10TransitionZQCiFNaNbNiNfNkMKQCoZQCs@Base 14 + _D3std9algorithm8mutation__T8moveImplTSQBlQBk9iteration__T9MapResultSQCp10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQEz8internal14unicode_tables15UnicodePropertyZQEpZQFxFNaNbNiNfNkMKQGdZQGh@Base 13 + _D3std9algorithm9iteration11__moduleRefZ@Base 13 + _D3std9algorithm9iteration12__ModuleInfoZ@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj11__xopEqualsMxFKxSQIgQIfQHy__TQHrSQIwQHi__TQGzVQGsa6_61203d3d2062VQHla1_61VQHua1_62ZQIoTQGtZQKbZb@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj4backMFNaNbNdNiNfZQFo@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj4saveMFNaNbNdNiNfZSQIgQIfQHy__TQHrSQIwQHi__TQGzVQGsa6_61203d3d2062VQHla1_61VQHua1_62ZQIoTQGtZQKb@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj5frontMFNaNbNdNiNfZQFp@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj6__ctorMFNaNbNcNiNfQEbZSQIlQIkQId__TQHwSQJbQHn__TQHeVQGxa6_61203d3d2062VQHqa1_61VQHza1_62ZQItTQGyZQKg@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj6__initZ@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj7opSliceMFNaNbNiNfZSQIhQIgQHz__TQHsSQIxQHj__TQHaVQGta6_61203d3d2062VQHma1_61VQHva1_62ZQIpTQGuZQKc@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj7popBackMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T10UniqResultSQBo10functional__T9binaryFunVAyaa6_61203d3d2062VQta1_61VQBba1_62ZQBvTSQEg5range__T11SortedRangeTAQCqVQCua5_61203c2062VEQGdQBx18SortedRangeOptionsi0ZQCoZQGj9__xtoHashFNbNeKxSQIfQIeQHx__TQHqSQIvQHh__TQGyVQGra6_61203d3d2062VQHka1_61VQHta1_62ZQInTQGsZQKaZm@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw4saveMFNaNbNdNiNfZSQFtQFsQFl__TQFeSQGjQEtQEnQEhMxFNbNdZQEcTQDvZQGk@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw5emptyMFNaNbNdNiZb@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw5frontMFNaNbNdNiZm@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw5primeMFNaNbNiZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw6__ctorMFNaNbNcNiNfQChZSQFyQFxQFq__TQFjSQGoQEyQEsQEmMxFNbNdZQEhTQEaZQGp@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw6__ctorMFNaNbNcNiNfQChbZSQFzQFyQFr__TQFkSQGpQEzQEtQEnMxFNbNdZQEiTQEbZQGq@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw6__initZ@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw7opSliceMFNaNbNiNfZSQFuQFtQFm__TQFfSQGkQEuQEoQEiMxFNbNdZQEdTQDwZQGl@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda1TSQDn5range__T4iotaTmTmZQkFmmZ6ResultZQDw8popFrontMFNaNbNiZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy4saveMFNaNbNdNiNfZSQFvQFuQFn__TQFgSQGlQEvQEpQEjMxFNbNdZQEeTQDxZQGm@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy5emptyMFNaNbNdNiZb@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy5frontMFNaNbNdNiZm@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy5primeMFNaNbNiZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy6__ctorMFNaNbNcNiNfQCjZSQGaQFzQFs__TQFlSQGqQFaQEuQEoMxFNbNdZQEjTQEcZQGr@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy6__ctorMFNaNbNcNiNfQCjbZSQGbQGaQFt__TQFmSQGrQFbQEvQEpMxFNbNdZQEkTQEdZQGs@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy6__initZ@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy7opSliceMFNaNbNiNfZSQFwQFvQFo__TQFhSQGmQEwQEqQEkMxFNbNdZQEfTQDyZQGn@Base 13 + _D3std9algorithm9iteration__T12FilterResultSQBq8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda3TSQDn5range__T4iotaTmTxmZQlFmxmZ6ResultZQDy8popFrontMFNaNbNiZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf11__xopEqualsMxFKxSQHcQHbQGu__TQGnS_DQHuQGc__TQGbTaTaZQGjFNaNfQFjQFmZQFkQFiTQEzZQIkZb@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf4saveMFNaNbNdNiNfZSQHcQHbQGu__TQGnS_DQHuQGc__TQGbTaTaZQGjFNaNfQFjQFmZQFkQFiTQEzZQIk@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf5emptyMFNaNdNfZb@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf5frontMFNaNdNfZw@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf5primeMFNaNfZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf6__ctorMFNaNbNcNiNfQCuZSQHhQHgQGz__TQGsS_DQHzQGh__TQGgTaTaZQGoFNaNfQFoQFrZQFpQFnTQFeZQIp@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf6__ctorMFNaNbNcNiNfQCubZSQHiQHhQHa__TQGtS_DQIaQGi__TQGhTaTaZQGpFNaNfQFpQFsZQFqQFoTQFfZQIq@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf6__initZ@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf7opSliceMFNaNbNiNfZSQHdQHcQGv__TQGoS_DQHvQGd__TQGcTaTaZQGkFNaNfQFkQFnZQFlQFjTQFaZQIl@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf8popFrontMFNaNfZv@Base 13 + _D3std9algorithm9iteration__T12FilterResultS_DQBs3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCoZQBhZQFf9__xtoHashFNbNeKxSQHbQHaQGt__TQGmS_DQHtQGb__TQGaTaTaZQGiFNaNfQFiQFlZQFjQFhTQEyZQIjZm@Base 13 + _D3std9algorithm9iteration__T3mapSQBg5ascii7toLowerZ__TQBaTAxaZQBiFNaNbNiNfQqZSQCzQCyQCr__T9MapResultSQDwQCqQCnTQCbZQz@Base 13 + _D3std9algorithm9iteration__T3mapSQBg5ascii7toLowerZ__TQBaTSQCg3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDdFNaNbNiNfQClZSQEvQEuQEn__T9MapResultSQFsQEmQEjTQDxZQz@Base 13 + _D3std9algorithm9iteration__T3mapSQBg5ascii7toLowerZ__TQBaTSQCg3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDdFNaNbNiNfQClZSQEvQEuQEn__T9MapResultSQFsQEmQEjTQDxZQz@Base 13 + _D3std9algorithm9iteration__T3mapVAyaa4_615b305dZ__TQxTSQCc3uni21DecompressedIntervalsZQCgFNaNbNiNfQBsZSQDyQDxQDq__T9MapResultSQEv10functional__T8unaryFunVQEra4_615b305dVQFga1_61ZQBiTQEyZQCt@Base 13 + _D3std9algorithm9iteration__T3mapVAyaa4_615b315dZ__TQxTSQCc3uni21DecompressedIntervalsZQCgFNaNbNiNfQBsZSQDyQDxQDq__T9MapResultSQEv10functional__T8unaryFunVQEra4_615b315dVQFga1_61ZQBiTQEyZQCt@Base 13 + _D3std9algorithm9iteration__T3mapVAyaa6_612e6e616d65Z__TQBbTAySQCj8internal14unicode_tables15UnicodePropertyZQDcFNaNbNiNfQCjZSQEuQEtQEm__T9MapResultSQFr10functional__T8unaryFunVQFna6_612e6e616d65VQGga1_61ZQBmTQFtZQCx@Base 13 + _D3std9algorithm9iteration__T4uniqVAyaa6_61203d3d2062TSQCb5range__T11SortedRangeTAQBvVQBza5_61203c2062VEQDyQBx18SortedRangeOptionsi0ZQCoZQEeFNaNbNiNfQDrZSQFwQFvQFo__T10UniqResultSQGv10functional__T9binaryFunVQGra6_61203d3d2062VQHka1_61VQHta1_62ZQBwTQHnZQDj@Base 13 + _D3std9algorithm9iteration__T6filterS_DQBl3uni__T19comparePropertyNameTaTaZQBaFNaNfAxaQdZ4predFNaNbNiNfwZbZ__TQDdTSQEjQEiQEb__T9MapResultSQFg5ascii7toLowerTQCvZQBhZQFfFNaNbNiNfQCkZSQGxQGwQGp__T12FilterResultS_DQIaQGp__TQGoTaTaZQGwFNaNfQFwQFzZQFxQFvTQFfZQCi@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFNaNbNiQHeZSQIsQIrQIk__TQIdTQHzZQIlFQIhZQCh@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy14replaceCurrentMFNaNbNiNeSQJoQHh__T7BitsSetTmZQlZv@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy4saveMFNaNbNdNiNfZSQJgQJfQIy__TQIrTQInZQIzFQIvZQCv@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy5emptyMFNaNbNdNiZb@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy5frontMFNaNbNdNiZm@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy6__ctorMFNaNbNcNiNfQHxSQJkQHd__T7BitsSetTmZQlZSQKiQKhQKa__TQJtTQJpZQKbFQJxZQDx@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy6__ctorMFNaNbNcNiQHvZSQJjQJiQJb__TQIuTQIqZQJcFQIyZQCy@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy6__initZ@Base 13 + _D3std9algorithm9iteration__T6joinerTSQBkQBjQBc__T9MapResultSQCh8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQEeQEdQDw__T12FilterResultSQFfQCyQCsQCmMxFNbNdZ9__lambda1TSQGl5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGdZQHcFQGyZQy8popFrontMFNaNbNiZv@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFNaNbNiNfQuQEbZSQFrQFqQFj__TQFcVQEwa6_61203d3d2062VQEwi0TQCqTQFzZQGnFQDcQGkZ6Result@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result11__xopEqualsMxFKxSQGiQGhQGa__TQFtVQFna6_61203d3d2062VQFni0TQDhTQGqZQHeFQDtQHbZQDiZb@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result15separatorLengthMFNaNbNdNiNfZm@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result17ensureFrontLengthMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result4saveMFNaNbNdNiNfZSQGiQGhQGa__TQFtVQFna6_61203d3d2062VQFni0TQDhTQGqZQHeFQDtQHbZQDi@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result5frontMFNaNbNdNiNfZQBs@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result6__ctorMFNaNbNcNiNfQBsQFaZSQGqQGpQGi__TQGbVQFva6_61203d3d2062VQFvi0TQDpTQGyZQHmFQEbQHjZQDq@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result6__initZ@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TAxaTQDjZQDxFQmQDtZ6Result9__xtoHashFNbNeKxSQGhQGgQFz__TQFsVQFma6_61203d3d2062VQFmi0TQDgTQGpZQHdFQDsQHaZQDhZm@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFNaNbNiNfQDzQEcZSQFsQFrQFk__TQFdVQExa6_61203d3d2062VQExi0TQFwTQGaZQGoFQGiQGlZ6Result@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result11__xopEqualsMxFKxSQGjQGiQGb__TQFuVQFoa6_61203d3d2062VQFoi0TQGnTQGrZQHfFQGzQHcZQDiZb@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result15separatorLengthMFNaNbNdNiNfZm@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result17ensureFrontLengthMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result4saveMFNaNbNdNiNfZSQGjQGiQGb__TQFuVQFoa6_61203d3d2062VQFoi0TQGnTQGrZQHfFQGzQHcZQDi@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result5frontMFNaNbNdNiNfZQEy@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result6__ctorMFNaNbNcNiNfQEyQFbZSQGrQGqQGj__TQGcVQFwa6_61203d3d2062VQFwi0TQGvTQGzZQHnFQHhQHkZQDq@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result6__initZ@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T8splitterVAyaa6_61203d3d2062VEQCf8typecons__T4FlagVQBpa14_6b656570536570617261746f7273ZQBqi0TQDfTQDjZQDxFQDrQDuZ6Result9__xtoHashFNbNeKxSQGiQGhQGa__TQFtVQFna6_61203d3d2062VQFni0TQGmTQGqZQHeFQGyQHbZQDhZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu11__xopEqualsMxFKxSQFrQFqQFj__TQFcSQGhQEv__TQEmVQEga4_615b305dVQEva1_61ZQFoTQEhZQGzZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu4saveMFNaNdNfZSQFnQFmQFf__TQEySQGdQEr__TQEiVQEca4_615b305dVQEra1_61ZQFkTQEdZQGv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu5emptyMFNaNdNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu5frontMFNaNdNfZk@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__ctorMFNaNbNcNiNfQCcZSQFwQFvQFo__TQFhSQGmQFa__TQErVQEla4_615b305dVQFaa1_61ZQFtTQEmZQHe@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu8popFrontMFNaNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu9__xtoHashFNbNeKxSQFqQFpQFi__TQFbSQGgQEu__TQElVQEfa4_615b305dVQEua1_61ZQFnTQEgZQGyZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu11__xopEqualsMxFKxSQFrQFqQFj__TQFcSQGhQEv__TQEmVQEga4_615b315dVQEva1_61ZQFoTQEhZQGzZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu4saveMFNaNdNfZSQFnQFmQFf__TQEySQGdQEr__TQEiVQEca4_615b315dVQEra1_61ZQFkTQEdZQGv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu5emptyMFNaNdNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu5frontMFNaNdNfZk@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__ctorMFNaNbNcNiNfQCcZSQFwQFvQFo__TQFhSQGmQFa__TQErVQEla4_615b315dVQFaa1_61ZQFtTQEmZQHe@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu8popFrontMFNaNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDu9__xtoHashFNbNeKxSQFqQFpQFi__TQFbSQGgQEu__TQElVQEfa4_615b315dVQEua1_61ZQFnTQEgZQGyZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp11__xopEqualsMxFKxSQGmQGlQGe__TQFxSQHcQFq__TQFhVQFba6_612e6e616d65VQFua1_61ZQGnTQFcZQHyZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp4saveMFNaNbNdNiNfZSQGmQGlQGe__TQFxSQHcQFq__TQFhVQFba6_612e6e616d65VQFua1_61ZQGnTQFcZQHy@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp5frontMFNaNbNdNiNfZyAa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp6__ctorMFNaNbNcNiNfQCtZSQGrQGqQGj__TQGcSQHhQFv__TQFmVQFga6_612e6e616d65VQFza1_61ZQGsTQFhZQId@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp7opIndexMFNaNbNiNfmZyAa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp7opSliceMFNaNbNiNfmmZSQGpQGoQGh__TQGaSQHfQFt__TQFkVQFea6_612e6e616d65VQFxa1_61ZQGqTQFfZQIb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp9__mixin116lengthMFNaNbNdNiNfZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp9__xtoHashFNbNeKxSQGlQGkQGd__TQFwSQHbQFp__TQFgVQFaa6_612e6e616d65VQFta1_61ZQGmTQFbZQHxZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp__T4backZQgMFNaNbNdNiNfZyAa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa6_612e6e616d65VQta1_61ZQBlTAySQDw8internal14unicode_tables15UnicodePropertyZQEp__T7popBackZQjMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh11__xopEqualsMxFKxSQDeQDdQCw__TQCpSQDuQCiQCfTQCaZQDhZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh4saveMFNaNbNdNiNfZSQDeQDdQCw__TQCpSQDuQCiQCfTQCaZQDh@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh5frontMFNaNdNfZw@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh6__ctorMFNaNbNcNiNfQBaZSQDjQDiQDb__TQCuSQDzQCnQCkTQCfZQDm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh9__xtoHashFNbNeKxSQDdQDcQCv__TQCoSQDtQChQCeTQBzZQDgZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc11__xopEqualsMxFKxSQEzQEyQEr__TQEkSQFpQEdQEaTQDvZQFcZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc4saveMFNaNbNdNiNfZSQEzQEyQEr__TQEkSQFpQEdQEaTQDvZQFc@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc5frontMFNaNbNdNiNfZa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc6__ctorMFNaNbNcNiNfQCvZSQFeQFdQEw__TQEpSQFuQEiQEfTQEaZQFh@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc7opIndexMFNaNbNiNfmZa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc7opSliceMFNaNbNiNfmmZSQFcQFbQEu__TQEnSQFsQEgQEdTQDyZQFf@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc9__mixin116lengthMFNaNbNdNiNfZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQDc9__xtoHashFNbNeKxSQEyQExQEq__TQEjSQFoQEcQDzTQDuZQFbZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc11__xopEqualsMxFKxSQEzQEyQEr__TQEkSQFpQEdQEaTQDvZQFcZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc4saveMFNaNbNdNiNfZSQEzQEyQEr__TQEkSQFpQEdQEaTQDvZQFc@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc5emptyMFNaNbNdNiNfZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc5frontMFNaNbNdNiNfZa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc6__ctorMFNaNbNcNiNfQCvZSQFeQFdQEw__TQEpSQFuQEiQEfTQEaZQFh@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc7opIndexMFNaNbNiNfmZa@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc7opSliceMFNaNbNiNfmmZSQFcQFbQEu__TQEnSQFsQEgQEdTQDyZQFf@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc8popFrontMFNaNbNiNfZv@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc9__mixin116lengthMFNaNbNdNiNfZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTSQCf3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQDc9__xtoHashFNbNeKxSQEyQExQEq__TQEjSQFoQEcQDzTQDuZQFbZm@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd4saveMFNaNbNdNiNfZSQIaQHzQHs__TQHlSQIqQHeQGyQGsMxFNbNdZQGnTQGgZQIr@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd5emptyMFNaNbNdNiZb@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd5frontMFNaNbNdNiZSQHzQGn__T7BitsSetTmZQl@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd6__ctorMFNaNbNcNiNfQEsZSQIfQIeQHx__TQHqSQIvQHjQHdQGxMxFNbNdZQGsTQGlZQIw@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd6__initZ@Base 13 + _D3std9algorithm9iteration__T9MapResultSQBm8bitmanip8BitArray7bitsSetMxFNbNdZ9__lambda2TSQDjQDiQDb__T12FilterResultSQEkQCyQCsQCmMxFNbNdZ9__lambda1TSQFq5range__T4iotaTmTmZQkFmmZ6ResultZQDfZQGd8popFrontMFNaNbNiZv@Base 13 + _D3std9algorithm9searching11__moduleRefZ@Base 13 + _D3std9algorithm9searching12__ModuleInfoZ@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa11_615b305d203e2030783830TAxSQCv3uni17CodepointIntervalZQCvFNaNbNiNfQBqZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa11_62203c20612e74696d6554TAySQCv8datetime8timezone13PosixTimeZone10LeapSecondTylZQDuFNaNbNiNfQCpylZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa11_62203c20612e74696d6554TAySQCv8datetime8timezone13PosixTimeZone10TransitionTlZQDtFNaNbNiNfQColZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa11_62203c20612e74696d6554TAySQCv8datetime8timezone13PosixTimeZone10TransitionTylZQDuFNaNbNiNfQCpylZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TAQuTQxZQBnFNaNbNiNfQtQBoZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TASQCj3uni__T13InversionListTSQDkQBb8GcPolicyZQBhTQBwZQDhFNaNbNiNfQCnQCpZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TAaTaZQBlFNaNiNfQpaZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TAxhTQeZQBnFNaNbNiNfQtQvZl@Base 14.2 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TAyAaTQyZQBoFNaNbNiNfQuQBpZl@Base 13 + _D3std9algorithm9searching__T10countUntilVAyaa6_61203d3d2062TAyhTAxhZQBoFNaNbNiNfQuQsZl@Base 13 + _D3std9algorithm9searching__T10startsWithSQBoQBnQBg11__lambda176TAxaTAyaTQeTQhZQByFNaNfQwQuQwQyZk@Base 14.2 + _D3std9algorithm9searching__T10startsWithSQBoQBnQBg11__lambda176TAxaTAyaTQeZQBvFNaNfQtQrQtZk@Base 14.2 + _D3std9algorithm9searching__T10startsWithSQBoQBnQBg11__lambda176TAxaTAyaZQBsFNaNfQqQoZb@Base 14.2 + _D3std9algorithm9searching__T10startsWithVAyaa6_61203d3d2062TAxaTQxZQBnFNaNbNiNfQtQBoZb@Base 13 + _D3std9algorithm9searching__T10startsWithVAyaa6_61203d3d2062TAxaTaZQBmFNaNbNiNfQsaZb@Base 13 + _D3std9algorithm9searching__T10startsWithVAyaa6_61203d3d2062TAyhTQxZQBnFNaNfQpQBkZb@Base 13 + _D3std9algorithm9searching__T10startsWithVAyaa6_61203d3d2062TQtTQwZQBmFNaNbNiNfQBlQBoZb@Base 13 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg11__xopEqualsMxFKxSQDdQDcQCv__TQCoVhi1TQCaTQCeTQCiZQDiZb@Base 14.2 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg6__ctorMFNaNbNcNiNfQBgQBjQBmZSQDoQDnQDg__TQCzVhi1TQClTQCpTQCtZQDt@Base 14.2 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg6__initZ@Base 14.2 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg8opAssignMFNaNbNcNiNjNfSQDiQDhQDa__TQCtVhi1TQCfTQCjTQCnZQDnZQBl@Base 14.2 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg8opAssignMFNaNbNiNfSQDe8typecons__T5TupleTQCdTQChTQClZQtZv@Base 14.2 + _D3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg9__xtoHashFNbNeKxSQDcQDbQCu__TQCnVhi1TQBzTQCdTQChZQDhZm@Base 14.2 + _D3std9algorithm9searching__T3anyS_DQBi4path14isDirSeparatorFNaNbNiNfwZbZ__TQBvTAxaZQCdFNaNfQmZb@Base 13 + _D3std9algorithm9searching__T4findS_DQBj4path14isDirSeparatorFNaNbNiNfwZbTAxaZQBxFNaNfQmZQp@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAaTQdZQBfFNaNbNiNfQsMQvZQy@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAaTQdZQBfFQkMQnZ__T5forceTAhTQBdZQoFNaNbNiNeNgAaZQx@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAaTQdZQBfFQkMQnZ__T5forceTQBaTAhZQoFNaNbNiNeNgAhZQBx@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAaTaZQBeFNaNfQnMaZQs@Base 14 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAaTaZQBeFQjMaZ13trustedMemchrFNaNbNiNeNkMKNgAaMKxaZNgQj@Base 14 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAhTQdZQBfFNaNbNiNfQsMQvZQy@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAxaTQxZQBgFNaNbNiNfQtMQBpZQBa@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAxaTQxZQBgFQlMQBhZ__T5forceTAhTAaZQnFNaNbNiNeNgAaZQw@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAxaTQxZQBgFQlMQBhZ__T5forceTQBcTAhZQoFNaNbNiNeNgAhZQBz@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAxhTQeZQBgFNaNbNiNfQtMQwZQz@Base 14.2 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAyAaTQyZQBhFNaNbNiNfQuMQBqZQBb@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAyhTAxhZQBhFNaNbNiNfQuMQtZQBa@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TAyhTQxZQBgFNaNfQpMQBlZQw@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTAaZQBfFNaNbNiNfQBlMQtZQBs@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTAaZQBfFQBdMQlZ__T5forceTAhTQBbZQoFNaNbNiNeNgAaZQx@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTAaZQBfFQBdMQlZ__T5forceTQBuTAhZQoFNaNbNiNeNgAhZQCr@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTQwZQBfFNaNbNiNfQBlMQBpZQBt@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTQwZQBfFQBdMQBhZ__T5forceTAhTAaZQnFNaNbNiNeNgAaZQw@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTQwZQBfFQBdMQBhZ__T5forceTQBvTAhZQoFNaNbNiNeNgAhZQCs@Base 13 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTaZQBeFNaNfQBgMaZQBm@Base 14 + _D3std9algorithm9searching__T4findVAyaa6_61203d3d2062TQtTaZQBeFQBcMaZ13trustedMemchrFNaNbNiNeNkMKNgAyaMKxaZNgQk@Base 14 + _D3std9algorithm9searching__T7canFindZ__TQmTAaTaZQuFNaNfQmMaZb@Base 14 + _D3std9algorithm9searching__T7canFindZ__TQmTAyAaTAyaZQyFNaNbNiNfQuMQsZb@Base 13 + _D3std9algorithm9searching__T7canFindZ__TQmTAyhTAyaZQxFNaNfQpMQoZb@Base 13 + _D3std9algorithm9searching__T8endsWithVAyaa6_61203d3d2062TQtTQwZQBjFNaNbNiNfQBlQBoZb@Base 13 + _D3std9algorithm9searching__T8skipOverZ__TQnTAxwTQeZQxFNaNbNiNfKQtQvZb@Base 14.2 + _D3std9algorithm9searching__T8skipOverZ__TQnTSQBs3utf__T5byUTFTwVEQCm8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDiTSQFpQDx__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQFkFNcQCeZ6ResultTAxwZQHhFNaNbNiNfKQHeQuZb@Base 14.2 + _D3std9algorithm9searching__T8skipOverZ__TQnTSQBs3utf__T5byUTFTwVEQCm8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCai1Z__TQDiTSQFpQDx__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImplZQFkFNcQCeZ6ResultTAxwZQHhFNaNbNiNfKQHeQuZb@Base 14.2 + _D3std9algorithm9searching__T9findSplitVAyaa6_61203d3d2062TAxaTQxZQBlFNaNbNiNfQtQBoZSQDfQDeQCx__T15FindSplitResultVhi1TQCiTQCmTQCqZQBi@Base 14.2 + _D3std9container10binaryheap11__moduleRefZ@Base 13 + _D3std9container10binaryheap12__ModuleInfoZ@Base 13 + _D3std9container11__moduleRefZ@Base 13 + _D3std9container12__ModuleInfoZ@Base 13 + _D3std9container4util11__moduleRefZ@Base 13 + _D3std9container4util12__ModuleInfoZ@Base 13 + _D3std9container5array11__moduleRefZ@Base 13 + _D3std9container5array12__ModuleInfoZ@Base 13 + _D3std9container5dlist11__moduleRefZ@Base 13 + _D3std9container5dlist12__ModuleInfoZ@Base 13 + _D3std9container5dlist6DRange4backMFNaNbNdNiNjNlNfZPSQBzQByQBr8BaseNode@Base 13 + _D3std9container5dlist6DRange4saveMFNaNbNdNiNjNlNfZSQByQBxQBqQBn@Base 13 + _D3std9container5dlist6DRange5emptyMxFNaNbNdNiNlNfZb@Base 13 + _D3std9container5dlist6DRange5frontMFNaNbNdNiNjNlNfZPSQCaQBzQBs8BaseNode@Base 13 + _D3std9container5dlist6DRange6__ctorMFNaNbNcNiNfPSQBwQBvQBo8BaseNodeQuZSQCsQCrQCkQCh@Base 13 + _D3std9container5dlist6DRange6__ctorMFNaNbNcNiNfPSQBwQBvQBo8BaseNodeZSQCqQCpQCiQCf@Base 13 + _D3std9container5dlist6DRange6__initZ@Base 13 + _D3std9container5dlist6DRange7popBackMFNaNbNiNlNfZv@Base 13 + _D3std9container5dlist6DRange8popFrontMFNaNbNiNlNfZv@Base 13 + _D3std9container5dlist8BaseNode6__initZ@Base 13 + _D3std9container5dlist8BaseNode7connectFNaNbNfPSQBuQBtQBmQBjQoZv@Base 13 + _D3std9container5slist11__moduleRefZ@Base 13 + _D3std9container5slist12__ModuleInfoZ@Base 13 + _D3std9container6rbtree11__moduleRefZ@Base 13 + _D3std9container6rbtree12__ModuleInfoZ@Base 13 + _D3std9exception11__moduleRefZ@Base 13 + _D3std9exception11errnoStringFNbNeiZAya@Base 13 + _D3std9exception12__ModuleInfoZ@Base 13 + _D3std9exception14ErrnoException5errnoMFNaNbNdNiNlNfZk@Base 13 + _D3std9exception14ErrnoException6__ctorMFNfAyaQdmZCQBxQBwQBp@Base 13 + _D3std9exception14ErrnoException6__ctorMFNfAyaiQemZCQByQBxQBq@Base 13 + _D3std9exception14ErrnoException6__initZ@Base 13 + _D3std9exception14ErrnoException6__vtblZ@Base 13 + _D3std9exception14ErrnoException7__ClassZ@Base 13 + _D3std9exception14ErrnoException8errnoMsgMFNaNbNdNiNlNfZAya@Base 14.2 + _D3std9exception14RangePrimitive6__initZ@Base 13 + _D3std9exception__T11doesPointToTAAyaTQfTvZQyFNaNbNiNeKxAAyaKxQgZb@Base 13 + _D3std9exception__T11doesPointToTACQBh3zip13ArchiveMemberTQzTvZQBsFNaNbNiNeKxACQCzQBsQBrKxQnZb@Base 13 + _D3std9exception__T11doesPointToTASQBh5regex8internal2ir10NamedGroupTQBkTvZQCeFNaNbNiNeKxASQDlQCeQCbQBvQBvKxQtZb@Base 13 + _D3std9exception__T11doesPointToTASQBh8datetime8timezone13PosixTimeZone10LeapSecondTQBzTvZQCtFNaNbNiNeKxASQEaQCtQCnQChQBvKxQtZb@Base 13 + _D3std9exception__T11doesPointToTASQBh8datetime8timezone13PosixTimeZone14TempTransitionTQCdTvZQCxFNaNbNiNeKxASQEeQCxQCrQClQBzKxQtZb@Base 13 + _D3std9exception__T11doesPointToTAkTQdTvZQwFNaNbNiNeKxAkKxQeZb@Base 13 + _D3std9exception__T11doesPointToTAxSQBi4file15DirIteratorImpl9DirHandleTSQCtQBlQBjTvZQCoFNaNbNiNeKxAQCnKxSQEaQCsQCqZb@Base 13 + _D3std9exception__T11doesPointToTAxSQBi4file8DirEntryTSQCbQt15DirIteratorImplTvZQCjFNaNbNiNeKxAQCiKxSQDvQCnQBvZb@Base 13 + _D3std9exception__T11doesPointToTAxkTSQBk3uni__T13InversionListTSQClQBb8GcPolicyZQBh__T9IntervalsTAkZQoTvZQDjFNaNbNiNeKxAkKxSQEtQDj__TQDiTQCwZQDq__TQCjTQCcZQCrZb@Base 13 + _D3std9exception__T11doesPointToTAyaTSQBk3net4curl3FTP4ImplTvZQBrFNaNbNiNeKxAyaKxSQDcQBsQBrQBpQBoZb@Base 13 + _D3std9exception__T11doesPointToTAyaTSQBk3net4curl4HTTP4ImplTvZQBsFNaNbNiNeKxAyaKxSQDdQBtQBsQBqQBoZb@Base 13 + _D3std9exception__T11doesPointToTAyaTSQBk4file15DirIteratorImplTvZQBvFNaNbNiNeKxAyaKxSQDgQBwQBuZb@Base 13 + _D3std9exception__T11doesPointToTAyaTSQBk5stdio17LockingTextReaderTvZQByFNaNbNiNeKxAyaKxSQDjQBzQBwZb@Base 13 + _D3std9exception__T11doesPointToTAyaTSQBk5stdio4FileTvZQBkFNaNbNiNeKxAyaKxSQCvQBlQBiZb@Base 13 + _D3std9exception__T11doesPointToTCQBg3zip13ArchiveMemberTQyTvZQBrFNaNbNiNeKxCQCxQBrQBqKxQmZb@Base 13 + _D3std9exception__T11doesPointToTDFAhZmTSQBn3net4curl3FTP4ImplTvZQBuFNaNbNiNeKxDQBuKxSQDgQBtQBsQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFAhZmTSQBn3net4curl4HTTP4ImplTvZQBvFNaNbNiNeKxDQBvKxSQDhQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFAhZmTSQBn3net4curl4SMTP4ImplTvZQBvFNaNbNiNeKxDQBvKxSQDhQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFAvZmTSQBn3net4curl3FTP4ImplTvZQBuFNaNbNiNeKxDQBuKxSQDgQBtQBsQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFAvZmTSQBn3net4curl4HTTP4ImplTvZQBvFNaNbNiNeKxDQBvKxSQDhQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFAvZmTSQBn3net4curl4SMTP4ImplTvZQBvFNaNbNiNeKxDQBvKxSQDhQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFEQBi6socket8socket_tE3etc1c4curl12CurlSockTypeZiTSQDf3netQBe3FTP4ImplTvZQDkFNaNbNiNeKxDQDkKxSQEwQBrQCuQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFEQBi6socket8socket_tE3etc1c4curl12CurlSockTypeZiTSQDf3netQBe4HTTP4ImplTvZQDlFNaNbNiNeKxDQDlKxSQExQBsQCvQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFEQBi6socket8socket_tE3etc1c4curl12CurlSockTypeZiTSQDf3netQBe4SMTP4ImplTvZQDlFNaNbNiNeKxDQDlKxSQExQBsQCvQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFIAaZvTSQBo3net4curl3FTP4ImplTvZQBvFNaNbNiNeKxDQBvKxSQDhQBtQBsQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFIAaZvTSQBo3net4curl4HTTP4ImplTvZQBwFNaNbNiNeKxDQBwKxSQDiQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFIAaZvTSQBo3net4curl4SMTP4ImplTvZQBwFNaNbNiNeKxDQBwKxSQDiQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFSQBi3net4curl4HTTP10StatusLineZvTSQCpQBhQBgQBe4ImplTvZQCsFNaNbNiNeKxDQCsKxSQEeQCwQCvQCtQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFlE3etc1c4curl11CurlSeekPosZEQBaQzQz8CurlSeekTSQDb3netQBt3FTP4ImplTvZQDgFNaNbNiNeKxDQDgKxSQEsQBrQDjQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFlE3etc1c4curl11CurlSeekPosZEQBaQzQz8CurlSeekTSQDb3netQBt4HTTP4ImplTvZQDhFNaNbNiNeKxDQDhKxSQEtQBsQDkQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFlE3etc1c4curl11CurlSeekPosZEQBaQzQz8CurlSeekTSQDb3netQBt4SMTP4ImplTvZQDhFNaNbNiNeKxDQDhKxSQEtQBsQDkQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFmmmmZiTSQBp3net4curl3FTP4ImplTvZQBwFNaNbNiNeKxDQBwKxSQDiQBtQBsQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFmmmmZiTSQBp3net4curl4HTTP4ImplTvZQBxFNaNbNiNeKxDQBxKxSQDjQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTDFmmmmZiTSQBp3net4curl4SMTP4ImplTvZQBxFNaNbNiNeKxDQBxKxSQDjQBuQBtQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTEQBg3net4curl4HTTP6MethodTSQCgQBaQzQw4ImplTvZQChFNaNbNiNeKxEQDnQChQCgQCeQCcKxSQEfQCzQCyQCwQCbZb@Base 13 + _D3std9exception__T11doesPointToTEQBg4file8SpanModeTSQBzQt15DirIteratorImplTvZQChFNaNbNiNeKxEQDnQChQCfKxSQDzQCtQCbZb@Base 13 + _D3std9exception__T11doesPointToTG3lTSQBk4file15DirIteratorImplTvZQBvFNaNbNiNeKxG3lKxSQDgQBwQBuZb@Base 13 + _D3std9exception__T11doesPointToTHAyaxAyaTSQBp3net4curl4HTTP4ImplTvZQBxFNaNbNiNeKxHQBxQBwKxSQDmQBxQBwQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTPSQBh8typecons__T10RefCountedTSQCk3net4curl3FTP4ImplVEQDhQCa24RefCountedAutoInitializei1ZQCu15RefCountedStoreQCkTQEjTvZQFdFNaNbNiNeKxPSQGkQFd__TQExTQEoVQDvi1ZQFlQCrQEnKxQBkZb@Base 13 + _D3std9exception__T11doesPointToTPSQBh8typecons__T10RefCountedTSQCk3net4curl4HTTP4ImplVEQDiQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCkTQEkTvZQFeFNaNbNiNeKxPSQGlQFe__TQEyTQEpVQDvi1ZQFmQCrQEnKxQBkZb@Base 13 + _D3std9exception__T11doesPointToTPSQBh8typecons__T10RefCountedTSQCk3net4curl4SMTP4ImplVEQDiQCb24RefCountedAutoInitializei1ZQCv15RefCountedStoreQCkTQEkTvZQFeFNaNbNiNeKxPSQGlQFe__TQEyTQEpVQDvi1ZQFmQCrQEnKxQBkZb@Base 13 + _D3std9exception__T11doesPointToTPSQBh8typecons__T14SafeRefCountedTSQCo4file15DirIteratorImplVEQDpQCi24RefCountedAutoInitializei0ZQDc15RefCountedStore4ImplTQEtTvZQFnFNaNbNiNeKxPSQGuQFn__TQFhTQEuVQDxi0ZQFvQCtQCfKxQBkZb@Base 13 + _D3std9exception__T11doesPointToTPxS3etc1c4curl10curl_slistTSQCh3netQBa3FTP4ImplTvZQCmFNaNbNiNeKxPQClKxSQDyQBrQCqQBqQBpZb@Base 13 + _D3std9exception__T11doesPointToTPxS3etc1c4curl10curl_slistTSQCh3netQBa4HTTP4ImplTvZQCnFNaNbNiNeKxPQCmKxSQDzQBsQCrQBrQBpZb@Base 13 + _D3std9exception__T11doesPointToTPxSQBi5stdio4File4ImplTSQCdQv17LockingTextReaderTvZQCnFNaNbNiNeKxPQCmKxSQDzQCrQBxZb@Base 13 + _D3std9exception__T11doesPointToTPxSQBi5stdio4File4ImplTSQCdQvQrTvZQBwFNaNbNiNeKxPQBvKxSQDiQCaQBxZb@Base 13 + _D3std9exception__T11doesPointToTPxSQBi8datetime8timezone13PosixTimeZone14TransitionTypeTSQDkQCcQBwQBq14TempTransitionTvZQDyFNaNbNiNeKxPQDxKxSQFkQEcQDwQDqQCaZb@Base 13 + _D3std9exception__T11doesPointToTPxvTSQBk3net4curl3FTP4ImplTvZQBrFNaNbNiNeKxPvKxSQDbQBrQBqQBoQBnZb@Base 13 + _D3std9exception__T11doesPointToTPxvTSQBk3net4curl4HTTP4ImplTvZQBsFNaNbNiNeKxPvKxSQDcQBsQBrQBpQBnZb@Base 13 + _D3std9exception__T11doesPointToTPxvTSQBk3net4curl4SMTP4ImplTvZQBsFNaNbNiNeKxPvKxSQDcQBsQBrQBpQBnZb@Base 13 + _D3std9exception__T11doesPointToTPySQBi8datetime8timezone13PosixTimeZone6TTInfoTSQDbQBtQBnQBh14TempTransitionTvZQDpFNaNbNiNeKxPyQDpKxSQFcQDuQDoQDiQCbZb@Base 13 + _D3std9exception__T11doesPointToTS4core3sys5posixQk4stat6stat_tTSQCl4file15DirIteratorImplTvZQCwFNaNbNiNeKxSQCwQCuQCtQDaQCrQCpKxSQExQCmQCkZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl3FTP4ImplTQxTvZQBqFNaNbNiNeKxSQCwQBqQBpQBnQBmKxQsZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4CurlTSQBzQtQr3FTP4ImplTvZQCbFNaNbNiNeKxSQDhQCbQCaQByKxSQDwQCqQCpQBzQByZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4CurlTSQBzQtQr4HTTP4ImplTvZQCcFNaNbNiNeKxSQDiQCcQCbQBzKxSQDxQCrQCqQCaQByZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4CurlTSQBzQtQr4SMTP4ImplTvZQCcFNaNbNiNeKxSQDiQCcQCbQBzKxSQDxQCrQCqQCaQByZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4HTTP10StatusLineTSQClQBfQBeQBc4ImplTvZQCoFNaNbNiNeKxSQDuQCoQCnQClQCjKxSQEmQDgQDfQDdQCbZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4HTTP4ImplTQyTvZQBrFNaNbNiNeKxSQCxQBrQBqQBoQBmKxQsZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3net4curl4SMTP4ImplTQyTvZQBrFNaNbNiNeKxSQCxQBrQBqQBoQBmKxQsZb@Base 13 + _D3std9exception__T11doesPointToTSQBg3uni__T13InversionListTSQChQBb8GcPolicyZQBh__T9IntervalsTAkZQoTQCpTvZQDjFNaNbNiNeKxSQEpQDj__TQDiTQCwZQDq__TQCjTQCcZQCrKxQBlZb@Base 13 + _D3std9exception__T11doesPointToTSQBg4file15DirIteratorImplTQBbTvZQBvFNaNbNiNeKxSQDbQBvQBtKxQmZb@Base 13 + _D3std9exception__T11doesPointToTSQBg4file8DirEntryTSQBzQt15DirIteratorImplTvZQChFNaNbNiNeKxSQDnQChQCfKxSQDzQCtQCbZb@Base 13 + _D3std9exception__T11doesPointToTSQBg5stdio17LockingTextReaderTQBeTvZQByFNaNbNiNeKxSQDeQByQBvKxQmZb@Base 13 + _D3std9exception__T11doesPointToTSQBg5stdio4FileTQqTvZQBjFNaNbNiNeKxSQCpQBjQBgKxQmZb@Base 13 + _D3std9exception__T11doesPointToTSQBg5stdio4FileTSQBwQq17LockingTextReaderTvZQCgFNaNbNiNeKxSQDmQCgQCdKxSQDyQCsQCdZb@Base 13 + _D3std9exception__T11doesPointToTSQBg8datetime8timezone13PosixTimeZone14TempTransitionTQCcTvZQCwFNaNbNiNeKxSQEcQCwQCqQCkQByKxQsZb@Base 13 + _D3std9exception__T11doesPointToTaTSQBi5stdio17LockingTextReaderTvZQBwFNaNbNiNeKxaKxSQDfQBxQBuZb@Base 13 + _D3std9exception__T11doesPointToTbTSQBi3net4curl3FTP4ImplTvZQBpFNaNbNiNeKxbKxSQCyQBqQBpQBnQBmZb@Base 13 + _D3std9exception__T11doesPointToTbTSQBi3net4curl4HTTP4ImplTvZQBqFNaNbNiNeKxbKxSQCzQBrQBqQBoQBmZb@Base 13 + _D3std9exception__T11doesPointToTbTSQBi3net4curl4SMTP4ImplTvZQBqFNaNbNiNeKxbKxSQCzQBrQBqQBoQBmZb@Base 13 + _D3std9exception__T11doesPointToTbTSQBi4file15DirIteratorImplTvZQBtFNaNbNiNeKxbKxSQDcQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTbTSQBi5stdio17LockingTextReaderTvZQBwFNaNbNiNeKxbKxSQDfQBxQBuZb@Base 13 + _D3std9exception__T11doesPointToThTSQBi4file15DirIteratorImplTvZQBtFNaNbNiNeKxhKxSQDcQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTkTSQBi4file15DirIteratorImplTvZQBtFNaNbNiNeKxkKxSQDcQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTlTSQBi4file15DirIteratorImplTvZQBtFNaNbNiNeKxlKxSQDcQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTlTSQBi8datetime8timezone13PosixTimeZone14TempTransitionTvZQCuFNaNbNiNeKxlKxSQEdQCvQCpQCjQBxZb@Base 13 + _D3std9exception__T11doesPointToTmTSQBi3uni__T13InversionListTSQCjQBb8GcPolicyZQBh__T9IntervalsTAkZQoTvZQDhFNaNbNiNeKxmKxSQEqQDi__TQDhTQCvZQDp__TQCiTQCbZQCqZb@Base 13 + _D3std9exception__T11doesPointToTmTSQBi4file15DirIteratorImplTvZQBtFNaNbNiNeKxmKxSQDcQBuQBsZb@Base 13 + _D3std9exception__T11doesPointToTtTSQBi3net4curl4HTTP4ImplTvZQBqFNaNbNiNeKxtKxSQCzQBrQBqQBoQBmZb@Base 13 + _D3std9exception__T12assumeUniqueTaZQrFNaNbNiAaZAya@Base 13 + _D3std9exception__T12assumeUniqueTaZQrFNaNbNiKAaZAya@Base 13 + _D3std9exception__T12assumeUniqueTkZQrFNaNbNiKAkZAyk@Base 13 + _D3std9exception__T12assumeUniqueTxaZQsFNaNbNiKAxaZAya@Base 14.2 + _D3std9exception__T16collectExceptionHTC9ExceptionTmZQBiFNaNbNfLmZQBb@Base 13 + _D3std9exception__T18isUnionAliasedImplTS4core3sys5posixQk4stat6stat_tZQCaFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3net4curl3FTP4ImplZQBsFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3net4curl4CurlZQBoFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3net4curl4HTTP10StatusLineZQCaFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3net4curl4HTTP4ImplZQBtFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3net4curl4SMTP4ImplZQBtFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn3uni__T13InversionListTSQCoQBb8GcPolicyZQBh__T9IntervalsTAkZQoZQDkFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn4file15DirIteratorImplZQBwFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn4file8DirEntryZQBoFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn5stdio17LockingTextReaderZQBzFNaNbNiNfmZb@Base 13 + _D3std9exception__T18isUnionAliasedImplTSQBn5stdio4FileZQBlFNaNbNiNfmZb@Base 13 + _D3std9exception__T7bailOutHTC4core4time13TimeExceptionZQBlFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTC4coreQBd16OutOfMemoryErrorZQBmFNaNbNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTC9ExceptionZQwFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc11concurrency19TidMissingExceptionZQBxFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc3net4curl13CurlExceptionZQBnFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc3net4curl20CurlTimeoutExceptionZQBuFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc3zip12ZipExceptionZQBhFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc4json13JSONExceptionZQBjFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc6format15FormatExceptionZQBnFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBc7process16ProcessExceptionZQBpFNaNfAyamMAxaZNn@Base 13 + _D3std9exception__T7bailOutHTCQBcQBb14ErrnoExceptionZQBiFNfAyamMAxaZNn@Base 13 + _D3std9exception__T7enforceHTC4core4time13TimeExceptionZ__TQBoTbZQBuFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTC4coreQBd16OutOfMemoryErrorZ__TQBpTbZQBvFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc11concurrency19TidMissingExceptionZ__TQCaTbZQCgFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc3net4curl13CurlExceptionZ__TQBqTPvZQBxFNaNfQlLAxaAyamZQw@Base 13 + _D3std9exception__T7enforceHTCQBc3net4curl13CurlExceptionZ__TQBqTbZQBwFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc3net4curl20CurlTimeoutExceptionZ__TQBxTbZQCdFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc3zip12ZipExceptionZ__TQBkTbZQBqFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc4json13JSONExceptionZ__TQBmTPNgSQClQBj9JSONValueZQClFNaNfQBdLAxaAyamZQBp@Base 13 + _D3std9exception__T7enforceHTCQBc4json13JSONExceptionZ__TQBmTbZQBsFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc6format15FormatExceptionZ__TQBqTbZQBwFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBc6format15FormatExceptionZ__TQBqTmZQBwFNaNfmLAxaAyamZm@Base 13 + _D3std9exception__T7enforceHTCQBc7process16ProcessExceptionZ__TQBsTbZQByFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBcQBb14ErrnoExceptionZ__TQBlTPOS4core4stdc5stdio8_IO_FILEZQCsFNfQBjLAxaAyamZQBv@Base 13 + _D3std9exception__T7enforceHTCQBcQBb14ErrnoExceptionZ__TQBlTbZQBrFNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceHTCQBcQBb14ErrnoExceptionZ__TQBlTiZQBrFNfiLAxaAyamZi@Base 13 + _D3std9exception__T7enforceTPS4core3sys5posix5netdb7hostentZQBpFNaNfQBoLC6object9ThrowableZQCl@Base 13 + _D3std9exception__T7enforceTbZQlFNaNfbLC6object9ThrowableZb@Base 13 + _D3std9exception__T7enforceZ__TQmTAyaZQtFNaNfQlLAxaQrmZQv@Base 13 + _D3std9exception__T7enforceZ__TQmTPOS4core4stdc5stdio8_IO_FILEZQBsFNaNfQBlLAxaAyamZQBx@Base 13 + _D3std9exception__T7enforceZ__TQmTPSQBi11concurrency__T4ListTSQCiQBa7MessageZQw4NodeZQCoFNaNfQChLAxaAyamZQCt@Base 13 + _D3std9exception__T7enforceZ__TQmTPvZQsFNaNfQkLAxaAyamZQv@Base 13 + _D3std9exception__T7enforceZ__TQmTbZQrFNaNfbLAxaAyamZb@Base 13 + _D3std9exception__T7enforceZ__TQmTiZQrFNaNfiLAxaAyamZi@Base 13 + _D3std9exception__T7enforceZ__TQmTmZQrFNaNfmLAxaAyamZm@Base 13 + _D3std9outbuffer11__moduleRefZ@Base 13 + _D3std9outbuffer12__ModuleInfoZ@Base 13 + _D3std9outbuffer9OutBuffer11__invariantMxFZv@Base 13 + _D3std9outbuffer9OutBuffer12__invariant0MxFZv@Base 13 + _D3std9outbuffer9OutBuffer4fillMFNaNbNfmhZv@Base 13 + _D3std9outbuffer9OutBuffer5clearMFNaNbNfZv@Base 13 + _D3std9outbuffer9OutBuffer5fill0MFNaNbNfmZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNeMAxaZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNeMAxuZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNeMAxwZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNedZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNeeZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNefZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNekZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNemZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNetZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNeuZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfMAxhZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfMxCQBpQBoQBhZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfaZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfgZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfhZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfiZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNflZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfsZv@Base 13 + _D3std9outbuffer9OutBuffer5writeMFNaNbNfwZv@Base 13 + _D3std9outbuffer9OutBuffer6__initZ@Base 13 + _D3std9outbuffer9OutBuffer6__vtblZ@Base 13 + _D3std9outbuffer9OutBuffer6align2MFNaNbNfhZv@Base 13 + _D3std9outbuffer9OutBuffer6align4MFNaNbNfhZv@Base 13 + _D3std9outbuffer9OutBuffer6printfMFNeMAyaYv@Base 13 + _D3std9outbuffer9OutBuffer6spreadMFNaNbNfmmZv@Base 13 + _D3std9outbuffer9OutBuffer7__ClassZ@Base 13 + _D3std9outbuffer9OutBuffer7reserveMFNaNbNemZv@Base 13 + _D3std9outbuffer9OutBuffer7toBytesMNgFNaNbNlNfZANgh@Base 13 + _D3std9outbuffer9OutBuffer7vprintfMFNbNeMAyaG1S3gcc8builtins13__va_list_tagZv@Base 13 + _D3std9outbuffer9OutBuffer8toStringMxFNaNbNfZAya@Base 13 + _D3std9outbuffer9OutBuffer9alignSizeMFNaNbNfmhZv@Base 13 + _D3std9typetuple11__moduleRefZ@Base 13 + _D3std9typetuple12__ModuleInfoZ@Base 13 + _D40TypeInfo_AxAS3std3uni17CodepointInterval6__initZ@Base 13 + _D40TypeInfo_C3std11concurrency11IsGenerator6__initZ@Base 13 + _D40TypeInfo_E3std3uni20UnicodeDecomposition6__initZ@Base 13 + _D40TypeInfo_E3std5range18SortedRangeOptions6__initZ@Base 13 + _D40TypeInfo_E3std6socket17SocketOptionLevel6__initZ@Base 13 + _D40TypeInfo_E3std6traits17FunctionAttribute6__initZ@Base 13 + _D40TypeInfo_E3std7numeric16CustomFloatFlags6__initZ@Base 13 + _D40TypeInfo_E3std8encoding15Windows1250Char6__initZ@Base 13 + _D40TypeInfo_E3std8encoding15Windows1251Char6__initZ@Base 13 + _D40TypeInfo_E3std8encoding15Windows1252Char6__initZ@Base 13 + _D40TypeInfo_E3std9exception14RangePrimitive6__initZ@Base 13 + _D40TypeInfo_E4core6stdcpp4new_11align_val_t6__initZ@Base 13 + _D40TypeInfo_E4core6thread5fiber5Fiber5State6__initZ@Base 13 + _D40TypeInfo_E4core8demangle14FuncAttributes6__initZ@Base 13 + _D40TypeInfo_S3std3net4curl4HTTP10StatusLine6__initZ@Base 13 + _D40TypeInfo_S3std3uni__T9BitPackedTbVmi1ZQr6__initZ@Base 13 + _D40TypeInfo_S3std3uni__T9BitPackedTkVmi7ZQr6__initZ@Base 13 + _D40TypeInfo_S3std3uni__T9BitPackedTkVmi8ZQr6__initZ@Base 13 + _D40TypeInfo_S3std5array__T8AppenderTAAyaZQp6__initZ@Base 13 + _D40TypeInfo_S3std5range__T10OnlyResultTaZQp6__initZ@Base 13 + _D40TypeInfo_S4core3sys5linux4tipc9tipc_name6__initZ@Base 13 + _D40TypeInfo_S4core3sys5linux5input8input_id6__initZ@Base 14 + _D40TypeInfo_S4core3sys5posix5netdb8addrinfo6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix5netdb8protoent6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix6mqueue7mq_attr6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posix6signal7stack_t6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3ipc8ipc_perm6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3msg8msqid_ds6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk3shm8shmid_ds6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk4time7timeval6__initZ@Base 13 + _D40TypeInfo_S4core3sys5posixQk5ioctl6termio6__initZ@Base 13 + _D40TypeInfo_xAAS3std3uni17CodepointInterval6__initZ@Base 13 + _D40TypeInfo_xS3std8datetime7systime7SysTime6__initZ@Base 13 + _D40TypeInfo_xS4core3sys5posixQk4stat6stat_t6__initZ@Base 13 + _D41TypeInfo_AE3std8encoding15Windows1250Char6__initZ@Base 13 + _D41TypeInfo_AE3std8encoding15Windows1251Char6__initZ@Base 13 + _D41TypeInfo_AE3std8encoding15Windows1252Char6__initZ@Base 13 + _D41TypeInfo_E3etc1c4curl18CurlFInfoFlagKnown6__initZ@Base 13 + _D41TypeInfo_E4core3sys5posixQk4wait8idtype_t6__initZ@Base 13 + _D41TypeInfo_E4core3sys5posixQk7statvfs5FFlag6__initZ@Base 13 + _D41TypeInfo_E4core4stdc6config12__c_longlong6__initZ@Base 13 + _D41TypeInfo_E4core8internal5newaa4Impl5Flags6__initZ@Base 14 + _D41TypeInfo_FZC3std8encoding14EncodingScheme6__initZ@Base 13 + _D41TypeInfo_OC4core4sync9condition9Condition6__initZ@Base 13 + _D41TypeInfo_S3std10checkedint13ProperCompare6__initZ@Base 13 + _D41TypeInfo_S3std11parallelism12AbstractTask6__initZ@Base 13 + _D41TypeInfo_S3std3uni21DecompressedIntervals6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi11ZQs6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi12ZQs6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi13ZQs6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi14ZQs6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi15ZQs6__initZ@Base 13 + _D41TypeInfo_S3std3uni__T9BitPackedTkVmi16ZQs6__initZ@Base 13 + _D41TypeInfo_S3std5regex8internal2ir8BitTable6__initZ@Base 13 + _D41TypeInfo_S3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D41TypeInfo_S3std6random18RandomCoverChoices6__initZ@Base 13 + _D41TypeInfo_S3std8typecons__T5TupleTiTAyaZQn6__initZ@Base 13 + _D41TypeInfo_S3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux3elf10Elf32_Nhdr6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux3elf10Elf64_Nhdr6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linux5input9ff_effect6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linux5input9ff_replay6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linux5sched9cpu_set_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5linuxQg6if_arp6arphdr6__initZ@Base 14 + _D41TypeInfo_S4core3sys5linuxQg6if_arp6arpreq6__initZ@Base 14 + _D41TypeInfo_S4core3sys5posix6signal8sigevent6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix6signal8sigset_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix6signal8sigstack6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posix9semaphore5sem_t6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk5ioctl7winsize6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6select6fd_set6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6socket6linger6__initZ@Base 13 + _D41TypeInfo_S4core3sys5posixQk6socket6msghdr6__initZ@Base 13 + _D41TypeInfo_xS3std3net4curl4HTTP10StatusLine6__initZ@Base 13 + _D41TypeInfo_xS3std5range__T10OnlyResultTaZQp6__initZ@Base 13 + _D42TypeInfo_AS3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D42TypeInfo_AS3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D42TypeInfo_E3std5regex8internal2ir9RegexInfo6__initZ@Base 13 + _D42TypeInfo_E3std8datetime8interval9Direction6__initZ@Base 13 + _D42TypeInfo_E4core4stdc6config13__c_ulonglong6__initZ@Base 13 + _D42TypeInfo_E4core6thread5fiber5Fiber7Rethrow6__initZ@Base 13 + _D42TypeInfo_HC4core6thread8osthread6ThreadQBd6__initZ@Base 13 + _D42TypeInfo_PFZC3std8encoding14EncodingScheme6__initZ@Base 13 + _D42TypeInfo_S3std3uni__T9sliceBitsVmi0Vmi5ZQt6__initZ@Base 13 + _D42TypeInfo_S3std3uni__T9sliceBitsVmi0Vmi6ZQt6__initZ@Base 13 + _D42TypeInfo_S3std3uni__T9sliceBitsVmi0Vmi7ZQt6__initZ@Base 13 + _D42TypeInfo_S3std3uni__T9sliceBitsVmi0Vmi8ZQt6__initZ@Base 13 + _D42TypeInfo_S3std3uni__T9sliceBitsVmi0Vmi9ZQt6__initZ@Base 13 + _D42TypeInfo_S3std6logger4core6Logger8LogEntry6__initZ@Base 13 + _D42TypeInfo_S3std7variant__T8VariantNVmi32ZQp6__initZ@Base 13 + _D42TypeInfo_S4core3sys5linux2fs12fstrim_range6__initZ@Base 13 + _D42TypeInfo_S4core3sys5linux4tipc10tipc_event6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posix4time10itimerspec6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posix6signal9siginfo_t6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk4time9itimerval6__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk5ioctl8termios26__initZ@Base 13 + _D42TypeInfo_S4core3sys5posixQk6socket7cmsghdr6__initZ@Base 13 + _D42TypeInfo_S4core8demangle16ManglingFlagInfo6__initZ@Base 13 + _D42TypeInfo_S4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D42TypeInfo_xE4core8internal5newaa4Impl5Flags6__initZ@Base 14 + _D42TypeInfo_xS3std11parallelism12AbstractTask6__initZ@Base 13 + _D42TypeInfo_xS3std3uni21DecompressedIntervals6__initZ@Base 13 + _D42TypeInfo_xS3std5regex8internal2ir8BitTable6__initZ@Base 13 + _D42TypeInfo_xS3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D42TypeInfo_xS3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D43TypeInfo_AxS3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D43TypeInfo_AxS3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D43TypeInfo_E3std3net7isemail15EmailStatusCode6__initZ@Base 13 + _D43TypeInfo_E3std9algorithm10comparison6EditOp6__initZ@Base 13 + _D43TypeInfo_E4core6thread10threadbase8IsMarked6__initZ@Base 13 + _D43TypeInfo_E4core6thread10threadbase8ScanType6__initZ@Base 13 + _D43TypeInfo_E4core8internal2gc2os11ChildStatus6__initZ@Base 13 + _D43TypeInfo_FS3std3net4curl4HTTP10StatusLineZv6__initZ@Base 13 + _D43TypeInfo_OS4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D43TypeInfo_PxS3std11parallelism12AbstractTask6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D43TypeInfo_S2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D43TypeInfo_S2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi5Vmi13ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi6Vmi10ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi6Vmi13ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi7Vmi13ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi8Vmi13ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi8Vmi21ZQu6__initZ@Base 13 + _D43TypeInfo_S3std3uni__T9sliceBitsVmi9Vmi21ZQu6__initZ@Base 13 + _D43TypeInfo_S3std4file__T12_DirIteratorVbi1ZQt6__initZ@Base 13 + _D43TypeInfo_S3std8datetime9stopwatch9StopWatch6__initZ@Base 13 + _D43TypeInfo_S3std8internal14unicode_tables3FCE6__initZ@Base 14.2 + _D43TypeInfo_S3std8internal14unicode_tables3SCE6__initZ@Base 14.2 + _D43TypeInfo_S3std8typecons__T5TupleTeTeTeTeZQp6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux2fs13inodes_stat_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux3elf12Elf32_auxv_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux3elf12Elf64_auxv_t6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux4tipc11tipc_portid6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux4tipc11tipc_subscr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5dlfcn10Dl_serinfo6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5dlfcn10Dl_serpath6__initZ@Base 13 + _D43TypeInfo_S4core3sys5linux5input10ff_trigger6__initZ@Base 14 + _D43TypeInfo_S4core3sys5linux5input10input_mask6__initZ@Base 14 + _D43TypeInfo_S4core3sys5linux5input9ff_effect1U6__initZ@Base 14 + _D43TypeInfo_S4core3sys5posix4arpa4inet7in_addr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk2un11sockaddr_un6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk6socket8sockaddr6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk8resource6rlimit6__initZ@Base 13 + _D43TypeInfo_S4core3sys5posixQk8resource6rusage6__initZ@Base 13 + _D43TypeInfo_S4core4stdc9stdatomic11atomic_flag6__initZ@Base 14.2 + _D43TypeInfo_S4core6thread5types13ll_ThreadData6__initZ@Base 13 + _D43TypeInfo_xAS3std5regex8internal2ir8Bytecode6__initZ@Base 13 + _D43TypeInfo_xAS3std8typecons__T5TupleTkTkTkZQn6__initZ@Base 13 + _D43TypeInfo_xPS3std11parallelism12AbstractTask6__initZ@Base 13 + _D43TypeInfo_xS3std7variant__T8VariantNVmi32ZQp6__initZ@Base 13 + _D44TypeInfo_DFS3std3net4curl4HTTP10StatusLineZv6__initZ@Base 13 + _D44TypeInfo_E2rt4util7utility16__c_complex_real6__initZ@Base 13 + _D44TypeInfo_E3std6traits21ParameterStorageClass6__initZ@Base 13 + _D44TypeInfo_E4core4stdc9stdatomic12memory_order6__initZ@Base 14.2 + _D44TypeInfo_E4core6thread7context8Callable4Call6__initZ@Base 13 + _D44TypeInfo_OS2rt9critical_18D_CRITICAL_SECTION6__initZ@Base 13 + _D44TypeInfo_S3gcc8sections3elf15CompilerDSOData6__initZ@Base 13 + _D44TypeInfo_S3gcc9backtrace18SymbolCallbackInfo6__initZ@Base 13 + _D44TypeInfo_S3std3uni__T9sliceBitsVmi10Vmi14ZQv6__initZ@Base 13 + _D44TypeInfo_S3std3uni__T9sliceBitsVmi13Vmi21ZQv6__initZ@Base 13 + _D44TypeInfo_S3std3uni__T9sliceBitsVmi14Vmi21ZQv6__initZ@Base 13 + _D44TypeInfo_S3std5array__T8AppenderTAxaZQo4Data6__initZ@Base 13 + _D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ@Base 13 + _D44TypeInfo_S3std5array__T8AppenderTAyuZQo4Data6__initZ@Base 13 + _D44TypeInfo_S3std5array__T8AppenderTAywZQo4Data6__initZ@Base 13 + _D44TypeInfo_S3std5array__T8AppenderTyAaZQo4Data6__initZ@Base 13 + _D44TypeInfo_S3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D44TypeInfo_S3std5regex8internal6parser7CodeGen6__initZ@Base 13 + _D44TypeInfo_S3std5stdio4File17LockingTextWriter6__initZ@Base 13 + _D44TypeInfo_S3std8typecons__T11Rebindable2TaZQq6__initZ@Base 14 + _D44TypeInfo_S4core3sys5linux4link12dl_phdr_info6__initZ@Base 13 + _D44TypeInfo_S4core3sys5linux5epoll11epoll_event6__initZ@Base 13 + _D44TypeInfo_S4core3sys5linux5input11ff_envelope6__initZ@Base 14 + _D44TypeInfo_S4core3sys5linux5input11input_event6__initZ@Base 14 + _D44TypeInfo_S4core3sys5linuxQk7sysinfo8sysinfo_6__initZ@Base 13 + _D44TypeInfo_S4core3sys5posix5sched11sched_param6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTdZQm6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTeZQm6__initZ@Base 13 + _D44TypeInfo_S4core4stdc6config__T8_ComplexTfZQm6__initZ@Base 13 + _D44TypeInfo_S4core6thread7context12StackContext6__initZ@Base 13 + _D44TypeInfo_xE3std3net7isemail15EmailStatusCode6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTdZQm6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTeZQm6__initZ@Base 13 + _D44TypeInfo_xS2rt4util7utility__T8_ComplexTfZQm6__initZ@Base 13 + _D45TypeInfo_AS3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D45TypeInfo_E2rt4util7utility17__c_complex_float6__initZ@Base 13 + _D45TypeInfo_E3std5regex8internal2ir11RegexOption6__initZ@Base 13 + _D45TypeInfo_E4core4stdc6config16__c_complex_real6__initZ@Base 13 + _D45TypeInfo_E4core8internal7convert11FloatFormat6__initZ@Base 13 + _D45TypeInfo_E6object14TypeInfo_Class10ClassFlags6__initZ@Base 13 + _D45TypeInfo_S3gcc12libbacktrace15backtrace_state6__initZ@Base 13 + _D45TypeInfo_S3gcc9backtrace19SymbolCallbackInfo26__initZ@Base 13 + _D45TypeInfo_S3std3uni__T13PackedPtrImplThVmi8ZQw6__initZ@Base 13 + _D45TypeInfo_S3std5array__T8AppenderTAAyaZQp4Data6__initZ@Base 13 + _D45TypeInfo_S3std5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D45TypeInfo_S3std8typecons__T5TupleTAxaTQeTQhZQr6__initZ@Base 14.2 + _D45TypeInfo_S4core3sys5linux3elf9Elf32_Dyn5_d_un6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux3elf9Elf64_Dyn5_d_un6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux4tipc13tipc_name_seq6__initZ@Base 13 + _D45TypeInfo_S4core3sys5linux5epoll12epoll_data_t6__initZ@Base 13 + _D45TypeInfo_S4core3sys5posix6signal11sigaction_t6__initZ@Base 13 + _D45TypeInfo_S4core3sys5posixQk7statvfs9statvfs_t6__initZ@Base 13 + _D45TypeInfo_S4core8internal12parseoptions6MemVal6__initZ@Base 13 + _D45TypeInfo_S4core8internal9container5treap4Rand6__initZ@Base 13 + _D45TypeInfo_xDFS3std3net4curl4HTTP10StatusLineZv6__initZ@Base 13 + _D45TypeInfo_xS3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D46TypeInfo_AxS3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D46TypeInfo_E2rt4util7utility18__c_complex_double6__initZ@Base 13 + _D46TypeInfo_E3std11parallelism8TaskPool9PoolState6__initZ@Base 13 + _D46TypeInfo_E4core4stdc6config17__c_complex_float6__initZ@Base 13 + _D46TypeInfo_HAyaPFZC3std8encoding14EncodingScheme6__initZ@Base 13 + _D46TypeInfo_S3std3uni7unicode18hangulSyllableType6__initZ@Base 13 + _D46TypeInfo_S3std3uni__T13PackedPtrImplTtVmi16ZQx6__initZ@Base 13 + _D46TypeInfo_S3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D46TypeInfo_S3std5range__T4iotaTmTmZQkFmmZ6Result6__initZ@Base 13 + _D46TypeInfo_S3std6format4spec__T10FormatSpecTaZQp6__initZ@Base 13 + _D46TypeInfo_S3std6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTaZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTbZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperThZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTiZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTkZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTlZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTmZQs6__initZ@Base 13 + _D46TypeInfo_S3std8bitmanip__T13EndianSwapperTtZQs6__initZ@Base 13 + _D46TypeInfo_S3std8internal14unicode_tables6blocks6__initZ@Base 13 + _D46TypeInfo_S3std8internal14unicode_tables6hangul6__initZ@Base 13 + _D46TypeInfo_S4core3sys3elf11Elf32_gptab9_gt_entry6__initZ@Base 13 + _D46TypeInfo_S4core3sys5linux2fs16file_clone_range6__initZ@Base 13 + _D46TypeInfo_S4core3sys5linux5input13input_absinfo6__initZ@Base 14 + _D46TypeInfo_S4core3sys5linux6uinput12uinput_setup6__initZ@Base 14 + _D46TypeInfo_S4core3sys5posix7netinet3in_8in6_addr6__initZ@Base 13 + _D46TypeInfo_S4core3sys5posix8ucontext10mcontext_t6__initZ@Base 13 + _D46TypeInfo_S4core3sys5posix8ucontext10ucontext_t6__initZ@Base 13 + _D46TypeInfo_S4core4stdc6wchar_9mbstate_t8___value6__initZ@Base 13 + _D46TypeInfo_S4core4sync5mutex5Mutex12MonitorProxy6__initZ@Base 13 + _D46TypeInfo_xAS3std5regex8internal2ir10NamedGroup6__initZ@Base 13 + _D46TypeInfo_xS3std5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D46TypeInfo_xS3std8typecons__T5TupleTAxaTQeTQhZQr6__initZ@Base 14.2 + _D47TypeInfo_AC4core6thread10threadbase10ThreadBase6__initZ@Base 13 + _D47TypeInfo_AS3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D47TypeInfo_AxS3std5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D47TypeInfo_E3std7variant__T8VariantNVmi32ZQp4OpID6__initZ@Base 13 + _D47TypeInfo_E3std8internal4test10dummyrange6Length6__initZ@Base 13 + _D47TypeInfo_E3std9algorithm8mutation12SwapStrategy6__initZ@Base 13 + _D47TypeInfo_E4core4stdc6config18__c_complex_double6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp6string16DefaultConstruct6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp6vector16DefaultConstruct6__initZ@Base 13 + _D47TypeInfo_E4core6stdcpp8xutility14CppStdRevision6__initZ@Base 13 + _D47TypeInfo_E6object15TypeInfo_Struct11StructFlags6__initZ@Base 13 + _D47TypeInfo_S3std6digest3sha__T3SHAVki512Vki160ZQr6__initZ@Base 13 + _D47TypeInfo_S3std6digest3sha__T3SHAVki512Vki224ZQr6__initZ@Base 13 + _D47TypeInfo_S3std6digest3sha__T3SHAVki512Vki256ZQr6__initZ@Base 13 + _D47TypeInfo_S3std8datetime8timezone13TZConversions6__initZ@Base 13 + _D47TypeInfo_S3std8internal14unicode_tables7scripts6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux2fs17file_dedupe_range6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux2fs17files_stat_struct6__initZ@Base 13 + _D47TypeInfo_S4core3sys5linux5input14ff_ramp_effect6__initZ@Base 14 + _D47TypeInfo_S4core3sys5linuxQk5prctl12prctl_mm_map6__initZ@Base 13 + _D47TypeInfo_S4core3sys5posix6setjmp13__jmp_buf_tag6__initZ@Base 13 + _D47TypeInfo_S4core3sys5posix7netinet3in_9ipv6_mreq6__initZ@Base 13 + _D47TypeInfo_S4core6thread8osthread6Thread8Priority6__initZ@Base 13 + _D47TypeInfo_S6object15TypeInfo_Struct11_memberFunc6__initZ@Base 13 + _D47TypeInfo_xAS3std5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D47TypeInfo_xS3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D48TypeInfo_AxS3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D48TypeInfo_E3std4uuid20UUIDParsingException6Reason6__initZ@Base 13 + _D48TypeInfo_S3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D48TypeInfo_S3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6__initZ@Base 13 + _D48TypeInfo_S3std5range__T4iotaTmTxmZQlFmxmZ6Result6__initZ@Base 13 + _D48TypeInfo_S3std5range__T6RepeatTaZQk11DollarToken6__initZ@Base 13 + _D48TypeInfo_S3std6digest3sha__T3SHAVki1024Vki224ZQs6__initZ@Base 13 + _D48TypeInfo_S3std6digest3sha__T3SHAVki1024Vki256ZQs6__initZ@Base 13 + _D48TypeInfo_S3std6digest3sha__T3SHAVki1024Vki384ZQs6__initZ@Base 13 + _D48TypeInfo_S3std6digest3sha__T3SHAVki1024Vki512ZQs6__initZ@Base 13 + _D48TypeInfo_S3std8internal14unicode_tables8uniProps6__initZ@Base 13 + _D48TypeInfo_S3std8internal4test10dummyrange7TestFoo6__initZ@Base 13 + _D48TypeInfo_S4core3sys3elf11Elf32_gptab10_gt_header6__initZ@Base 13 + _D48TypeInfo_S4core3sys5linux8io_uring12io_uring_cqe6__initZ@Base 13 + _D48TypeInfo_S4core3sys5linux8io_uring12io_uring_sqe6__initZ@Base 13 + _D48TypeInfo_S4core3sys5posix8ucontext12_libc_fpxreg6__initZ@Base 13 + _D48TypeInfo_S4core3sys5posix8ucontext12_libc_xmmreg6__initZ@Base 13 + _D48TypeInfo_xAS3std4file15DirIteratorImpl9DirHandle6__initZ@Base 13 + _D48TypeInfo_yC3std8datetime8timezone13PosixTimeZone6__initZ@Base 13 + _D49TypeInfo_E3std8internal4test10dummyrange8ReturnBy6__initZ@Base 13 + _D49TypeInfo_E3std8typecons24RefCountedAutoInitialize6__initZ@Base 13 + _D49TypeInfo_E4core3sys5linux10perf_event10perf_hw_id6__initZ@Base 13 + _D49TypeInfo_S3std3uni18simpleCaseFoldingsFNfwZ5Range6__initZ@Base 13 + _D49TypeInfo_S3std5range__T6ChunksTAhZQl11DollarToken6__initZ@Base 13 + _D49TypeInfo_S3std5range__T6strideTAywZQmFQhmZ6Result6__initZ@Base 14.2 + _D49TypeInfo_S3std8internal4math11biguintcore7BigUint6__initZ@Base 13 + _D49TypeInfo_S3std8typecons__T5TupleTC8TypeInfoTPvZQv6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux3elf12Elf32_auxv_t5_a_un6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux3elf12Elf64_auxv_t5_a_un6__initZ@Base 13 + _D49TypeInfo_S4core3sys5linux5input16ff_rumble_effect6__initZ@Base 14 + _D49TypeInfo_S4core3sys5linux6uinput15uinput_ff_erase6__initZ@Base 14 + _D49TypeInfo_S4core3sys5linux6uinput15uinput_user_dev6__initZ@Base 14 + _D49TypeInfo_S4core3sys5posix3net3if_14if_nameindex_t6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posix8ucontext13_libc_fpstate6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posixQk5types14pthread_attr_t6__initZ@Base 13 + _D49TypeInfo_S4core3sys5posixQk5types14pthread_cond_t6__initZ@Base 13 + _D49TypeInfo_xS3gcc6unwind7generic17_Unwind_Exception6__initZ@Base 13 + _D49TypeInfo_xS3std3uni__T8CowArrayTSQwQu8GcPolicyZQz6__initZ@Base 13 + _D4core10checkedint11__moduleRefZ@Base 13 + _D4core10checkedint12__ModuleInfoZ@Base 13 + _D4core13interpolation11__moduleRefZ@Base 14.2 + _D4core13interpolation12__ModuleInfoZ@Base 14.2 + _D4core13interpolation16__getEmptyStringFNaNbNiNfZAya@Base 14.2 + _D4core13interpolation19InterpolationFooter6__initZ@Base 14.2 + _D4core13interpolation19InterpolationHeader6__initZ@Base 14.2 + _D4core2gc11gcinterface11__moduleRefZ@Base 13 + _D4core2gc11gcinterface12__ModuleInfoZ@Base 13 + _D4core2gc11gcinterface2GC11__InterfaceZ@Base 13 + _D4core2gc11gcinterface4Root6__initZ@Base 13 + _D4core2gc11gcinterface5Range11__xopEqualsMxFKxSQBuQBsQBsQBiZb@Base 13 + _D4core2gc11gcinterface5Range6__initZ@Base 13 + _D4core2gc11gcinterface5Range8opEqualsMxFNbMxSQBsQBqQBqQBgZb@Base 13 + _D4core2gc11gcinterface5Range9__xtoHashFNbNeKxSQBtQBrQBrQBhZm@Base 13 + _D4core2gc6config11PrettyBytes6__initZ@Base 13 + _D4core2gc6config11__moduleRefZ@Base 13 + _D4core2gc6config11prettyBytesFNaNbNiKmZa@Base 13 + _D4core2gc6config12__ModuleInfoZ@Base 13 + _D4core2gc6config18bytes2prettyStructFNaNbNimZSQBtQBrQBr11PrettyBytes@Base 13 + _D4core2gc6config6Config10initializeMFNbNiZb@Base 13 + _D4core2gc6config6Config11__xopEqualsMxFKxSQBpQBnQBnQBjZb@Base 13 + _D4core2gc6config6Config4helpMFNbNiZv@Base 13 + _D4core2gc6config6Config6__initZ@Base 13 + _D4core2gc6config6Config9__xtoHashFNbNeKxSQBoQBmQBmQBiZm@Base 13 + _D4core2gc6config6Config9errorNameMFNbNiZAya@Base 13 + _D4core2gc6configQhSQsQpQo6Config@Base 13 + _D4core2gc8registry11__moduleRefZ@Base 13 + _D4core2gc8registry12__ModuleInfoZ@Base 13 + _D4core2gc8registry16createGCInstanceFAyaZCQBpQBn11gcinterface2GC@Base 13 + _D4core2gc8registry17registerGCFactoryFNbNiAyaPFZCQBwQBu11gcinterface2GCZv@Base 13 + _D4core2gc8registry21registeredGCFactoriesFNbNiMiZxASQBzQBxQBx5Entry@Base 14 + _D4core2gc8registry5Entry11__xopEqualsMxFKxSQBqQBoQBoQBiZb@Base 13 + _D4core2gc8registry5Entry6__initZ@Base 13 + _D4core2gc8registry5Entry9__xtoHashFNbNeKxSQBpQBnQBnQBhZm@Base 13 + _D4core2gc8registry7entriesASQBbQzQy5Entry@Base 13 + _D4core3sys3elf10Elf32_Ehdr6__initZ@Base 13 + _D4core3sys3elf10Elf32_Move6__initZ@Base 13 + _D4core3sys3elf10Elf32_Phdr6__initZ@Base 13 + _D4core3sys3elf10Elf32_Rela6__initZ@Base 13 + _D4core3sys3elf10Elf32_Shdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Ehdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Move6__initZ@Base 13 + _D4core3sys3elf10Elf64_Phdr6__initZ@Base 13 + _D4core3sys3elf10Elf64_Rela6__initZ@Base 13 + _D4core3sys3elf10Elf64_Shdr6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab10_gt_header6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab6__initZ@Base 13 + _D4core3sys3elf11Elf32_gptab9_gt_entry6__initZ@Base 13 + _D4core3sys3elf11Elf_Options6__initZ@Base 13 + _D4core3sys3elf11__moduleRefZ@Base 13 + _D4core3sys3elf12Elf32_Verdef6__initZ@Base 13 + _D4core3sys3elf12Elf64_Verdef6__initZ@Base 13 + _D4core3sys3elf12__ModuleInfoZ@Base 13 + _D4core3sys3elf13Elf32_RegInfo6__initZ@Base 13 + _D4core3sys3elf13Elf32_Syminfo6__initZ@Base 13 + _D4core3sys3elf13Elf32_Verdaux6__initZ@Base 13 + _D4core3sys3elf13Elf32_Vernaux6__initZ@Base 13 + _D4core3sys3elf13Elf32_Verneed6__initZ@Base 13 + _D4core3sys3elf13Elf64_Syminfo6__initZ@Base 13 + _D4core3sys3elf13Elf64_Verdaux6__initZ@Base 13 + _D4core3sys3elf13Elf64_Vernaux6__initZ@Base 13 + _D4core3sys3elf13Elf64_Verneed6__initZ@Base 13 + _D4core3sys3elf14Elf_Options_Hw6__initZ@Base 13 + _D4core3sys3elf9Elf32_Lib6__initZ@Base 13 + _D4core3sys3elf9Elf32_Rel6__initZ@Base 13 + _D4core3sys3elf9Elf32_Sym6__initZ@Base 13 + _D4core3sys3elf9Elf64_Lib6__initZ@Base 13 + _D4core3sys3elf9Elf64_Rel6__initZ@Base 13 + _D4core3sys3elf9Elf64_Sym6__initZ@Base 13 + _D4core3sys5linux10perf_event11__moduleRefZ@Base 13 + _D4core3sys5linux10perf_event12__ModuleInfoZ@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10exclude_hvMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10exclude_hvMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10namespacesMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10namespacesMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10precise_ipMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr10precise_ipMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr11use_clockidMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr11use_clockidMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12__reserved_1MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12__reserved_1MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_hostMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_hostMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_idleMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_idleMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_userMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12exclude_userMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12inherit_statMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr12inherit_statMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13exclude_guestMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13exclude_guestMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13sample_id_allMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr13sample_id_allMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14context_switchMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14context_switchMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14enable_on_execMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14enable_on_execMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14exclude_kernelMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14exclude_kernelMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14write_backwardMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr14write_backwardMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr22exclude_callchain_userMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr22exclude_callchain_userMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr24exclude_callchain_kernelMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr24exclude_callchain_kernelMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4commMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4commMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4freqMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4freqMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4mmapMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4mmapMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4taskMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr4taskMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr5mmap2MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr5mmap2MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6__initZ@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6pinnedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr6pinnedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr7inheritMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr7inheritMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr8disabledMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr8disabledMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9comm_execMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9comm_execMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9exclusiveMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9exclusiveMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9mmap_dataMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9mmap_dataMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9watermarkMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event15perf_event_attr9watermarkMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event15perf_event_type6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry4typeMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry4typeMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5abortMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5abortMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5in_txMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry5in_txMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6cyclesMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry6cyclesMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry7mispredMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry7mispredMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry8reservedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry8reservedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry9predictedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_branch_entry9predictedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_event_header6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_remoteMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_remoteMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_snoopxMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src10mem_snoopxMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src11mem_lvl_numMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src11mem_lvl_numMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6__initZ@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6mem_opMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src6mem_opMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src7mem_lvlMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src7mem_lvlMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_dtlbMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_dtlbMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_lockMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_lockMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_rsvdMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src8mem_rsvdMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src9mem_snoopMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event17perf_mem_data_src9mem_snoopMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event17perf_ns_link_info6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_ioc_flags6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page11cap_____resMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page11cap_____resMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page13cap_user_timeMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page13cap_user_timeMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page14cap_user_rdpmcMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page14cap_user_rdpmcMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page18cap_user_time_zeroMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page18cap_user_time_zeroMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page22cap_bit0_is_deprecatedMUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page22cap_bit0_is_deprecatedMxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page6__initZ@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page8cap_bit0MUNaNbNdNiNfmZv@Base 13 + _D4core3sys5linux10perf_event20perf_event_mmap_page8cap_bit0MxUNaNbNdNiNfZm@Base 13 + _D4core3sys5linux10perf_event22perf_callchain_context6__initZ@Base 13 + _D4core3sys5linux10perf_event22perf_event_read_format6__initZ@Base 13 + _D4core3sys5linux10perf_event23perf_branch_sample_type6__initZ@Base 13 + _D4core3sys5linux10perf_event24perf_event_sample_format6__initZ@Base 13 + _D4core3sys5linux17input_event_codes11__moduleRefZ@Base 14 + _D4core3sys5linux17input_event_codes12__ModuleInfoZ@Base 14 + _D4core3sys5linux2fs11__moduleRefZ@Base 13 + _D4core3sys5linux2fs12__ModuleInfoZ@Base 13 + _D4core3sys5linux2fs12fstrim_range6__initZ@Base 13 + _D4core3sys5linux2fs13inodes_stat_t6__initZ@Base 13 + _D4core3sys5linux2fs16file_clone_range6__initZ@Base 13 + _D4core3sys5linux2fs17file_dedupe_range6__initZ@Base 13 + _D4core3sys5linux2fs17files_stat_struct6__initZ@Base 13 + _D4core3sys5linux2fs22file_dedupe_range_info6__initZ@Base 13 + _D4core3sys5linux2fs7fsxattr6__initZ@Base 13 + _D4core3sys5linux3elf10Elf32_Nhdr6__initZ@Base 13 + _D4core3sys5linux3elf10Elf64_Nhdr6__initZ@Base 13 + _D4core3sys5linux3elf11__moduleRefZ@Base 13 + _D4core3sys5linux3elf12Elf32_auxv_t5_a_un6__initZ@Base 13 + _D4core3sys5linux3elf12Elf32_auxv_t6__initZ@Base 13 + _D4core3sys5linux3elf12Elf64_auxv_t5_a_un6__initZ@Base 13 + _D4core3sys5linux3elf12Elf64_auxv_t6__initZ@Base 13 + _D4core3sys5linux3elf12__ModuleInfoZ@Base 13 + _D4core3sys5linux3elf9Elf32_Dyn5_d_un6__initZ@Base 13 + _D4core3sys5linux3elf9Elf32_Dyn6__initZ@Base 13 + _D4core3sys5linux3elf9Elf64_Dyn5_d_un6__initZ@Base 13 + _D4core3sys5linux3elf9Elf64_Dyn6__initZ@Base 13 + _D4core3sys5linux3err11__moduleRefZ@Base 13 + _D4core3sys5linux3err12__ModuleInfoZ@Base 13 + _D4core3sys5linux4link11__moduleRefZ@Base 13 + _D4core3sys5linux4link12__ModuleInfoZ@Base 13 + _D4core3sys5linux4link12dl_phdr_info6__initZ@Base 13 + _D4core3sys5linux4link7r_debug6__initZ@Base 13 + _D4core3sys5linux4link8link_map6__initZ@Base 13 + _D4core3sys5linux4time11__moduleRefZ@Base 13 + _D4core3sys5linux4time12__ModuleInfoZ@Base 13 + _D4core3sys5linux4tipc10tipc_event6__initZ@Base 13 + _D4core3sys5linux4tipc11__moduleRefZ@Base 13 + _D4core3sys5linux4tipc11tipc_portid6__initZ@Base 13 + _D4core3sys5linux4tipc11tipc_subscr6__initZ@Base 13 + _D4core3sys5linux4tipc12__ModuleInfoZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc4Addr4Name6__initZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc4Addr6__initZ@Base 13 + _D4core3sys5linux4tipc13sockaddr_tipc6__initZ@Base 13 + _D4core3sys5linux4tipc13tipc_name_seq6__initZ@Base 13 + _D4core3sys5linux4tipc9tipc_name6__initZ@Base 13 + _D4core3sys5linux5dlfcn10Dl_serinfo6__initZ@Base 13 + _D4core3sys5linux5dlfcn10Dl_serpath6__initZ@Base 13 + _D4core3sys5linux5dlfcn11__moduleRefZ@Base 13 + _D4core3sys5linux5dlfcn12__ModuleInfoZ@Base 13 + _D4core3sys5linux5epoll11__moduleRefZ@Base 13 + _D4core3sys5linux5epoll11epoll_event6__initZ@Base 13 + _D4core3sys5linux5epoll12__ModuleInfoZ@Base 13 + _D4core3sys5linux5epoll12epoll_data_t6__initZ@Base 13 + _D4core3sys5linux5errno11__moduleRefZ@Base 13 + _D4core3sys5linux5errno12__ModuleInfoZ@Base 13 + _D4core3sys5linux5fcntl11__moduleRefZ@Base 13 + _D4core3sys5linux5fcntl12__ModuleInfoZ@Base 13 + _D4core3sys5linux5input10ff_trigger6__initZ@Base 14 + _D4core3sys5linux5input10input_mask6__initZ@Base 14 + _D4core3sys5linux5input11__moduleRefZ@Base 14 + _D4core3sys5linux5input11ff_envelope6__initZ@Base 14 + _D4core3sys5linux5input11input_event6__initZ@Base 14 + _D4core3sys5linux5input12__ModuleInfoZ@Base 14 + _D4core3sys5linux5input13input_absinfo6__initZ@Base 14 + _D4core3sys5linux5input14ff_ramp_effect6__initZ@Base 14 + _D4core3sys5linux5input16ff_rumble_effect6__initZ@Base 14 + _D4core3sys5linux5input18ff_constant_effect6__initZ@Base 14 + _D4core3sys5linux5input18ff_periodic_effect6__initZ@Base 14 + _D4core3sys5linux5input18input_keymap_entry6__initZ@Base 14 + _D4core3sys5linux5input19ff_condition_effect6__initZ@Base 14 + _D4core3sys5linux5input8input_id6__initZ@Base 14 + _D4core3sys5linux5input9ff_effect1U6__initZ@Base 14 + _D4core3sys5linux5input9ff_effect6__initZ@Base 14 + _D4core3sys5linux5input9ff_replay6__initZ@Base 14 + _D4core3sys5linux5sched11__moduleRefZ@Base 13 + _D4core3sys5linux5sched12__ModuleInfoZ@Base 13 + _D4core3sys5linux5sched9cpu_set_t6__initZ@Base 13 + _D4core3sys5linux5stdio11__moduleRefZ@Base 13 + _D4core3sys5linux5stdio12__ModuleInfoZ@Base 13 + _D4core3sys5linux5stdio21cookie_io_functions_t6__initZ@Base 13 + _D4core3sys5linux6config11__moduleRefZ@Base 13 + _D4core3sys5linux6config12__ModuleInfoZ@Base 13 + _D4core3sys5linux6string11__moduleRefZ@Base 13 + _D4core3sys5linux6string12__ModuleInfoZ@Base 13 + _D4core3sys5linux6uinput11__moduleRefZ@Base 14 + _D4core3sys5linux6uinput12__ModuleInfoZ@Base 14 + _D4core3sys5linux6uinput12uinput_setup6__initZ@Base 14 + _D4core3sys5linux6uinput15uinput_ff_erase6__initZ@Base 14 + _D4core3sys5linux6uinput15uinput_user_dev6__initZ@Base 14 + _D4core3sys5linux6uinput16uinput_abs_setup6__initZ@Base 14 + _D4core3sys5linux6uinput16uinput_ff_upload6__initZ@Base 14 + _D4core3sys5linux6unistd11__moduleRefZ@Base 13 + _D4core3sys5linux6unistd12__ModuleInfoZ@Base 13 + _D4core3sys5linux7ifaddrs11__moduleRefZ@Base 13 + _D4core3sys5linux7ifaddrs12__ModuleInfoZ@Base 13 + _D4core3sys5linux7ifaddrsQi6__initZ@Base 13 + _D4core3sys5linux7netinet3in_11IN_BADCLASSFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_11__moduleRefZ@Base 13 + _D4core3sys5linux7netinet3in_12IN_MULTICASTFNbNikZb@Base 13 + _D4core3sys5linux7netinet3in_12__ModuleInfoZ@Base 13 + _D4core3sys5linux7netinet3in_15IN_EXPERIMENTALFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_18IN6_ARE_ADDR_EQUALFNaNbNiNfPSQCgQCe5posixQCdQBy8in6_addrQBdZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSAFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSBFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSCFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3in_9IN_CLASSDFNaNbNiNfkZb@Base 13 + _D4core3sys5linux7netinet3tcp11__moduleRefZ@Base 13 + _D4core3sys5linux7netinet3tcp12__ModuleInfoZ@Base 13 + _D4core3sys5linux7termios11__moduleRefZ@Base 13 + _D4core3sys5linux7termios12__ModuleInfoZ@Base 13 + _D4core3sys5linux7timerfd11__moduleRefZ@Base 13 + _D4core3sys5linux7timerfd12__ModuleInfoZ@Base 13 + _D4core3sys5linux8execinfo11__moduleRefZ@Base 13 + _D4core3sys5linux8execinfo12__ModuleInfoZ@Base 13 + _D4core3sys5linux8io_uring11__moduleRefZ@Base 13 + _D4core3sys5linux8io_uring12__ModuleInfoZ@Base 13 + _D4core3sys5linux8io_uring12io_uring_cqe6__initZ@Base 13 + _D4core3sys5linux8io_uring12io_uring_sqe6__initZ@Base 13 + _D4core3sys5linux8io_uring14io_uring_probe6__initZ@Base 13 + _D4core3sys5linux8io_uring15io_uring_params6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_cqring_offsets6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_sqring_offsets6__initZ@Base 13 + _D4core3sys5linux8io_uring17io_uring_probe_op6__initZ@Base 13 + _D4core3sys5linux8io_uring20io_uring_restriction6__initZ@Base 13 + _D4core3sys5linux8io_uring21io_uring_files_update6__initZ@Base 13 + _D4core3sys5linux8io_uring22io_uring_getevents_arg6__initZ@Base 13 + _D4core3sys5linuxQg6if_arp11__moduleRefZ@Base 14 + _D4core3sys5linuxQg6if_arp12__ModuleInfoZ@Base 14 + _D4core3sys5linuxQg6if_arp6arphdr6__initZ@Base 14 + _D4core3sys5linuxQg6if_arp6arpreq6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11__moduleRefZ@Base 14 + _D4core3sys5linuxQg9if_packet11fanout_args6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11packet_mreq6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11sockaddr_ll6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11tpacket_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet11tpacket_req6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12__ModuleInfoZ@Base 14 + _D4core3sys5linuxQg9if_packet12sockaddr_pkt6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket2_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket3_hdr6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet12tpacket_req36__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_bd_ts6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_req_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet13tpacket_stats6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet14tpacket_hdr_v16__initZ@Base 14 + _D4core3sys5linuxQg9if_packet15tpacket_auxdata6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet15tpacket_stats_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet16tpacket_stats_v36__initZ@Base 14 + _D4core3sys5linuxQg9if_packet18tpacket_block_desc6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet19tpacket_bd_header_u6__initZ@Base 14 + _D4core3sys5linuxQg9if_packet20tpacket_hdr_variant16__initZ@Base 14 + _D4core3sys5linuxQg9if_packet22tpacket_rollover_stats6__initZ@Base 14 + _D4core3sys5linuxQk4auxv11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4auxv12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4file11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4file12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4mman11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4mman12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4time10timerclearFNaNbNiNfPSQBtQBr5posixQCaQBr7timevalZv@Base 13 + _D4core3sys5linuxQk4time10timerissetFNaNbNiNfPSQBtQBr5posixQCaQBr7timevalZi@Base 13 + _D4core3sys5linuxQk4time11__moduleRefZ@Base 13 + _D4core3sys5linuxQk4time12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk4time8timeraddFNaNbNiNfxPSQBrQBp5posixQByQBp7timevalxQBdPSQCxQCvQBgQDbQCsQBdZv@Base 13 + _D4core3sys5linuxQk4time8timersubFNaNbNiNfxPSQBrQBp5posixQByQBp7timevalxQBdPSQCxQCvQBgQDbQCsQBdZv@Base 13 + _D4core3sys5linuxQk5prctl11__moduleRefZ@Base 13 + _D4core3sys5linuxQk5prctl12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk5prctl12prctl_mm_map6__initZ@Base 13 + _D4core3sys5linuxQk5xattr11__moduleRefZ@Base 13 + _D4core3sys5linuxQk5xattr12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk6procfs11__moduleRefZ@Base 13 + _D4core3sys5linuxQk6procfs12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk6socket11__moduleRefZ@Base 13 + _D4core3sys5linuxQk6socket12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7eventfd11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7eventfd12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7inotify11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7inotify12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event6__initZ@Base 13 + _D4core3sys5linuxQk7inotify13inotify_event8opAssignMFNaNbNcNiNjNeSQCmQCkQCjQCqQChQCcZQu@Base 13 + _D4core3sys5linuxQk7sysinfo11__moduleRefZ@Base 13 + _D4core3sys5linuxQk7sysinfo12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk7sysinfo8sysinfo_6__initZ@Base 13 + _D4core3sys5linuxQk8signalfd11__moduleRefZ@Base 13 + _D4core3sys5linuxQk8signalfd12__ModuleInfoZ@Base 13 + _D4core3sys5linuxQk8signalfd16signalfd_siginfo6__initZ@Base 13 + _D4core3sys5posix3aio11__moduleRefZ@Base 13 + _D4core3sys5posix3aio12__ModuleInfoZ@Base 13 + _D4core3sys5posix3aio5aiocb6__initZ@Base 13 + _D4core3sys5posix3aio7aiocb646__initZ@Base 13 + _D4core3sys5posix3grp11__moduleRefZ@Base 13 + _D4core3sys5posix3grp12__ModuleInfoZ@Base 13 + _D4core3sys5posix3grp5group6__initZ@Base 13 + _D4core3sys5posix3net3if_11__moduleRefZ@Base 13 + _D4core3sys5posix3net3if_12__ModuleInfoZ@Base 13 + _D4core3sys5posix3net3if_14if_nameindex_t6__initZ@Base 13 + _D4core3sys5posix3pwd11__moduleRefZ@Base 13 + _D4core3sys5posix3pwd12__ModuleInfoZ@Base 13 + _D4core3sys5posix3pwd6passwd6__initZ@Base 13 + _D4core3sys5posix4arpa4inet11__moduleRefZ@Base 13 + _D4core3sys5posix4arpa4inet12__ModuleInfoZ@Base 13 + _D4core3sys5posix4arpa4inet7in_addr6__initZ@Base 13 + _D4core3sys5posix4poll11__moduleRefZ@Base 13 + _D4core3sys5posix4poll12__ModuleInfoZ@Base 13 + _D4core3sys5posix4poll6pollfd6__initZ@Base 13 + _D4core3sys5posix4stdc4time11__moduleRefZ@Base 13 + _D4core3sys5posix4stdc4time12__ModuleInfoZ@Base 13 + _D4core3sys5posix4stdc4time2tm6__initZ@Base 13 + _D4core3sys5posix4time10itimerspec6__initZ@Base 13 + _D4core3sys5posix4time11__moduleRefZ@Base 13 + _D4core3sys5posix4time12__ModuleInfoZ@Base 13 + _D4core3sys5posix4time8timespec6__initZ@Base 13 + _D4core3sys5posix5dlfcn11__moduleRefZ@Base 13 + _D4core3sys5posix5dlfcn12__ModuleInfoZ@Base 13 + _D4core3sys5posix5dlfcn7Dl_info6__initZ@Base 13 + _D4core3sys5posix5fcntl11__moduleRefZ@Base 13 + _D4core3sys5posix5fcntl12__ModuleInfoZ@Base 13 + _D4core3sys5posix5fcntl5flock6__initZ@Base 13 + _D4core3sys5posix5iconv11__moduleRefZ@Base 13 + _D4core3sys5posix5iconv12__ModuleInfoZ@Base 13 + _D4core3sys5posix5netdb11__moduleRefZ@Base 13 + _D4core3sys5posix5netdb12__ModuleInfoZ@Base 13 + _D4core3sys5posix5netdb6netent6__initZ@Base 13 + _D4core3sys5posix5netdb7hostent6__initZ@Base 13 + _D4core3sys5posix5netdb7hostent6h_addrMUNdZPa@Base 13 + _D4core3sys5posix5netdb7servent6__initZ@Base 13 + _D4core3sys5posix5netdb8addrinfo6__initZ@Base 13 + _D4core3sys5posix5netdb8protoent6__initZ@Base 13 + _D4core3sys5posix5sched11__moduleRefZ@Base 13 + _D4core3sys5posix5sched11sched_param6__initZ@Base 13 + _D4core3sys5posix5sched12__ModuleInfoZ@Base 13 + _D4core3sys5posix5spawn11__moduleRefZ@Base 13 + _D4core3sys5posix5spawn12__ModuleInfoZ@Base 13 + _D4core3sys5posix5spawn17posix_spawnattr_t6__initZ@Base 13 + _D4core3sys5posix5spawn26posix_spawn_file_actions_t6__initZ@Base 13 + _D4core3sys5posix5stdio11__moduleRefZ@Base 13 + _D4core3sys5posix5stdio12__ModuleInfoZ@Base 13 + _D4core3sys5posix5utime11__moduleRefZ@Base 13 + _D4core3sys5posix5utime12__ModuleInfoZ@Base 13 + _D4core3sys5posix5utime7utimbuf6__initZ@Base 13 + _D4core3sys5posix6config11__moduleRefZ@Base 13 + _D4core3sys5posix6config12__ModuleInfoZ@Base 13 + _D4core3sys5posix6dirent11__moduleRefZ@Base 13 + _D4core3sys5posix6dirent12__ModuleInfoZ@Base 13 + _D4core3sys5posix6dirent3DIR6__initZ@Base 13 + _D4core3sys5posix6direntQh6__initZ@Base 13 + _D4core3sys5posix6libgen11__moduleRefZ@Base 13 + _D4core3sys5posix6libgen12__ModuleInfoZ@Base 13 + _D4core3sys5posix6locale11__moduleRefZ@Base 13 + _D4core3sys5posix6locale12__ModuleInfoZ@Base 13 + _D4core3sys5posix6locale5lconv6__initZ@Base 13 + _D4core3sys5posix6mqueue11__moduleRefZ@Base 13 + _D4core3sys5posix6mqueue12__ModuleInfoZ@Base 13 + _D4core3sys5posix6mqueue7mq_attr6__initZ@Base 13 + _D4core3sys5posix6setjmp11__moduleRefZ@Base 13 + _D4core3sys5posix6setjmp12__ModuleInfoZ@Base 13 + _D4core3sys5posix6setjmp13__jmp_buf_tag6__initZ@Base 13 + _D4core3sys5posix6signal11__moduleRefZ@Base 13 + _D4core3sys5posix6signal11sigaction_t6__initZ@Base 13 + _D4core3sys5posix6signal12__ModuleInfoZ@Base 13 + _D4core3sys5posix6signal6sigval6__initZ@Base 13 + _D4core3sys5posix6signal7stack_t6__initZ@Base 13 + _D4core3sys5posix6signal8SIGRTMAXUNbNdNiZ3sigi@Base 13 + _D4core3sys5posix6signal8SIGRTMINUNbNdNiZ3sigi@Base 13 + _D4core3sys5posix6signal8sigevent6__initZ@Base 13 + _D4core3sys5posix6signal8sigset_t6__initZ@Base 13 + _D4core3sys5posix6signal8sigstack6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t10_sigpoll_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t11_sigchild_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t11_sigfault_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t5_rt_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t7_kill_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t11_sifields_t8_timer_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t6__initZ@Base 13 + _D4core3sys5posix6signal9siginfo_t6si_pidMUNbNcNdNiNjZi@Base 13 + _D4core3sys5posix6signal9siginfo_t6si_uidMUNbNcNdNiNjZk@Base 13 + _D4core3sys5posix6signal9siginfo_t7si_addrMUNbNcNdNiNjZPv@Base 13 + _D4core3sys5posix6signal9siginfo_t7si_bandMUNbNcNdNiNjZl@Base 13 + _D4core3sys5posix6signal9siginfo_t8si_valueMUNbNcNdNiNjZSQCdQCbQCaQBx6sigval@Base 13 + _D4core3sys5posix6signal9siginfo_t9si_statusMUNbNcNdNiNjZi@Base 13 + _D4core3sys5posix6stdlib11__moduleRefZ@Base 13 + _D4core3sys5posix6stdlib12__ModuleInfoZ@Base 13 + _D4core3sys5posix6string11__moduleRefZ@Base 13 + _D4core3sys5posix6string12__ModuleInfoZ@Base 13 + _D4core3sys5posix6syslog11__moduleRefZ@Base 13 + _D4core3sys5posix6syslog12__ModuleInfoZ@Base 13 + _D4core3sys5posix6unistd11__moduleRefZ@Base 13 + _D4core3sys5posix6unistd12__ModuleInfoZ@Base 13 + _D4core3sys5posix7netinet3in_11__moduleRefZ@Base 13 + _D4core3sys5posix7netinet3in_11sockaddr_in6__initZ@Base 13 + _D4core3sys5posix7netinet3in_12__ModuleInfoZ@Base 13 + _D4core3sys5posix7netinet3in_12sockaddr_in66__initZ@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_LOOPBACKFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_V4COMPATFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_20IN6_IS_ADDR_V4MAPPEDFNaNbNiMxPSQCiQCgQCfQCcQBx8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_LINKLOCALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_MC_GLOBALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_MULTICASTFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_21IN6_IS_ADDR_SITELOCALFNaNbNiMxPSQCjQChQCgQCdQBy8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_23IN6_IS_ADDR_MC_ORGLOCALFNaNbNiMxPSQClQCjQCiQCfQCa8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_23IN6_IS_ADDR_UNSPECIFIEDFNaNbNiMxPSQClQCjQCiQCfQCa8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_LINKLOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_NODELOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_24IN6_IS_ADDR_MC_SITELOCALFNaNbNiMxPSQCmQCkQCjQCgQCb8in6_addrZi@Base 13 + _D4core3sys5posix7netinet3in_8in6_addr6__initZ@Base 13 + _D4core3sys5posix7netinet3in_9ipv6_mreq6__initZ@Base 13 + _D4core3sys5posix7netinet3tcp11__moduleRefZ@Base 13 + _D4core3sys5posix7netinet3tcp12__ModuleInfoZ@Base 13 + _D4core3sys5posix7pthread11__moduleRefZ@Base 13 + _D4core3sys5posix7pthread12__ModuleInfoZ@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup6__initZ@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup__T3popZQfMFNbiZv@Base 13 + _D4core3sys5posix7pthread15pthread_cleanup__T4pushHTPUNaNbNiPvZvZQuMFNbNiQvQpZv@Base 13 + _D4core3sys5posix7pthread23_pthread_cleanup_buffer6__initZ@Base 13 + _D4core3sys5posix7strings11__moduleRefZ@Base 13 + _D4core3sys5posix7strings12__ModuleInfoZ@Base 13 + _D4core3sys5posix7termios11__moduleRefZ@Base 13 + _D4core3sys5posix7termios12__ModuleInfoZ@Base 13 + _D4core3sys5posix7termiosQi6__initZ@Base 13 + _D4core3sys5posix8inttypes11__moduleRefZ@Base 13 + _D4core3sys5posix8inttypes12__ModuleInfoZ@Base 13 + _D4core3sys5posix8ucontext10mcontext_t6__initZ@Base 13 + _D4core3sys5posix8ucontext10ucontext_t6__initZ@Base 13 + _D4core3sys5posix8ucontext11__moduleRefZ@Base 13 + _D4core3sys5posix8ucontext12__ModuleInfoZ@Base 13 + _D4core3sys5posix8ucontext12_libc_fpxreg6__initZ@Base 13 + _D4core3sys5posix8ucontext12_libc_xmmreg6__initZ@Base 13 + _D4core3sys5posix8ucontext13_libc_fpstate6__initZ@Base 13 + _D4core3sys5posix9semaphore11__moduleRefZ@Base 13 + _D4core3sys5posix9semaphore12__ModuleInfoZ@Base 13 + _D4core3sys5posix9semaphore17_pthread_fastlock6__initZ@Base 13 + _D4core3sys5posix9semaphore5sem_t6__initZ@Base 13 + _D4core3sys5posixQk2un11__moduleRefZ@Base 13 + _D4core3sys5posixQk2un11sockaddr_un6__initZ@Base 13 + _D4core3sys5posixQk2un12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3ipc11__moduleRefZ@Base 13 + _D4core3sys5posixQk3ipc12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3ipc8ipc_perm6__initZ@Base 13 + _D4core3sys5posixQk3msg11__moduleRefZ@Base 13 + _D4core3sys5posixQk3msg12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3msg6msgbuf6__initZ@Base 13 + _D4core3sys5posixQk3msg7msginfo6__initZ@Base 13 + _D4core3sys5posixQk3msg8msqid_ds6__initZ@Base 13 + _D4core3sys5posixQk3shm11__moduleRefZ@Base 13 + _D4core3sys5posixQk3shm12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3shm8shmid_ds6__initZ@Base 13 + _D4core3sys5posixQk3uio11__moduleRefZ@Base 13 + _D4core3sys5posixQk3uio12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk3uio5iovec6__initZ@Base 13 + _D4core3sys5posixQk4mman11__moduleRefZ@Base 13 + _D4core3sys5posixQk4mman12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4stat11__moduleRefZ@Base 13 + _D4core3sys5posixQk4stat12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4stat6stat_t6__initZ@Base 13 + _D4core3sys5posixQk4stat7S_ISBLKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISCHRFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISDIRFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISLNKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat7S_ISREGFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISFIFOFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISSOCKFNbNikZb@Base 13 + _D4core3sys5posixQk4stat8S_ISTYPEFNbNikkZb@Base 13 + _D4core3sys5posixQk4time11__moduleRefZ@Base 13 + _D4core3sys5posixQk4time12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4time7timeval6__initZ@Base 13 + _D4core3sys5posixQk4time9itimerval6__initZ@Base 13 + _D4core3sys5posixQk4wait10WIFSTOPPEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk4wait10__WTERMSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait11WEXITSTATUSFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait11WIFSIGNALEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk4wait11__moduleRefZ@Base 13 + _D4core3sys5posixQk4wait12WIFCONTINUEDFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk4wait8WSTOPSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait8WTERMSIGFNaNbNiNfiZi@Base 13 + _D4core3sys5posixQk4wait9WIFEXITEDFNaNbNiNfiZb@Base 13 + _D4core3sys5posixQk5filio11__moduleRefZ@Base 13 + _D4core3sys5posixQk5filio12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5ioctl11__moduleRefZ@Base 13 + _D4core3sys5posixQk5ioctl12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5ioctl3_IOFNbNiiiZi@Base 13 + _D4core3sys5posixQk5ioctl6termio6__initZ@Base 13 + _D4core3sys5posixQk5ioctl7_IOC_NRFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl7winsize6__initZ@Base 13 + _D4core3sys5posixQk5ioctl8_IOC_DIRFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl8termios26__initZ@Base 13 + _D4core3sys5posixQk5ioctl9_IOC_SIZEFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl9_IOC_TYPEFNbNiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTG2kZQkFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTPaZQjFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTPmZQjFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input8input_idZQBjFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux5input9ff_effectZQBkFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput12uinput_setupZQBpFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput15uinput_ff_eraseZQBsFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput16uinput_abs_setupZQBtFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBf5linux6uinput16uinput_ff_uploadZQBtFNaNbNiNfiiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOCTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTiZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTkZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTmZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOCTnZQiFNaNbNiNfiiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTG2kZQkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTPmZQjFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBf5linux5input8input_idZQBjFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTiZQiFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IORTkZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IORTmZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTG2kZQkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTPaZQjFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input10input_maskZQBmFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input18input_keymap_entryZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux5input9ff_effectZQBkFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput12uinput_setupZQBpFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput15uinput_ff_eraseZQBsFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput16uinput_abs_setupZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBf5linux6uinput16uinput_ff_uploadZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T4_IOWTSQBhQBfQBeQBlQBc8termios2ZQBgFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTiZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTkZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T4_IOWTmZQiFNaNbNiNfiiZi@Base 13 + _D4core3sys5posixQk5ioctl__T5_IOWRTSQBiQBg5linux6uinput15uinput_ff_eraseZQBtFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5ioctl__T5_IOWRTSQBiQBg5linux6uinput16uinput_ff_uploadZQBuFNaNbNiNfiiZi@Base 14 + _D4core3sys5posixQk5types11__moduleRefZ@Base 13 + _D4core3sys5posixQk5types12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk5types14pthread_attr_t6__initZ@Base 13 + _D4core3sys5posixQk5types14pthread_cond_t6__initZ@Base 13 + _D4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D4core3sys5posixQk5types16pthread_rwlock_t6__initZ@Base 13 + _D4core3sys5posixQk5types17_pthread_fastlock6__initZ@Base 13 + _D4core3sys5posixQk5types17pthread_barrier_t6__initZ@Base 13 + _D4core3sys5posixQk5types18pthread_condattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types19pthread_mutexattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types20pthread_rwlockattr_t6__initZ@Base 13 + _D4core3sys5posixQk5types21pthread_barrierattr_t6__initZ@Base 13 + _D4core3sys5posixQk6ioccom11__moduleRefZ@Base 13 + _D4core3sys5posixQk6ioccom12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6select11__moduleRefZ@Base 13 + _D4core3sys5posixQk6select12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6select6FD_CLRFNaNbNiiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select6FD_SETFNaNbNiiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select6fd_set6__initZ@Base 13 + _D4core3sys5posixQk6select7FD_ZEROFNaNbNiPSQBpQBnQBmQBtQBk6fd_setZv@Base 13 + _D4core3sys5posixQk6select7__FDELTFNaNbNiNfiZk@Base 13 + _D4core3sys5posixQk6select8FD_ISSETFNaNbNiiPxSQBsQBqQBpQBwQBn6fd_setZb@Base 13 + _D4core3sys5posixQk6select8__FDMASKFNaNbNiNfiZl@Base 13 + _D4core3sys5posixQk6socket10CMSG_ALIGNFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket10CMSG_SPACEFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket11CMSG_NXTHDRFNaNbNiPNgSQBwQBuQBtQCaQBr6msghdrPNgSQCwQCuQCtQDaQCr7cmsghdrZQBc@Base 13 + _D4core3sys5posixQk6socket11__moduleRefZ@Base 13 + _D4core3sys5posixQk6socket12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk6socket13CMSG_FIRSTHDRFNaNbNiPNgSQByQBwQBvQCcQBt6msghdrZPNgSQCzQCxQCwQDdQCu7cmsghdr@Base 13 + _D4core3sys5posixQk6socket16sockaddr_storage6__initZ@Base 13 + _D4core3sys5posixQk6socket6linger6__initZ@Base 13 + _D4core3sys5posixQk6socket6msghdr6__initZ@Base 13 + _D4core3sys5posixQk6socket7cmsghdr6__initZ@Base 13 + _D4core3sys5posixQk6socket8CMSG_LENFNaNbNimZm@Base 13 + _D4core3sys5posixQk6socket8sockaddr6__initZ@Base 13 + _D4core3sys5posixQk6socket9CMSG_DATAFNaNbNiNkMPNgSQBwQBuQBtQCaQBr7cmsghdrZPNgh@Base 13 + _D4core3sys5posixQk6ttycom11__moduleRefZ@Base 13 + _D4core3sys5posixQk6ttycom12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7statvfs11__moduleRefZ@Base 13 + _D4core3sys5posixQk7statvfs12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7statvfs5FFlag6__initZ@Base 13 + _D4core3sys5posixQk7statvfs9statvfs_t6__initZ@Base 13 + _D4core3sys5posixQk7utsname11__moduleRefZ@Base 13 + _D4core3sys5posixQk7utsname12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk7utsnameQi6__initZ@Base 13 + _D4core3sys5posixQk8resource11__moduleRefZ@Base 13 + _D4core3sys5posixQk8resource12__ModuleInfoZ@Base 13 + _D4core3sys5posixQk8resource6rlimit6__initZ@Base 13 + _D4core3sys5posixQk8resource6rusage6__initZ@Base 13 + _D4core4math11__moduleRefZ@Base 13 + _D4core4math12__ModuleInfoZ@Base 13 + _D4core4simd11__moduleRefZ@Base 13 + _D4core4simd12__ModuleInfoZ@Base 13 + _D4core4stdc4fenv11__moduleRefZ@Base 13 + _D4core4stdc4fenv12__ModuleInfoZ@Base 13 + _D4core4stdc4fenv6fenv_t6__initZ@Base 13 + _D4core4stdc4math11__moduleRefZ@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeddZi@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math11islessequalFNaNbNiNeffZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeddZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math11isunorderedFNaNbNiNeffZi@Base 13 + _D4core4stdc4math12__ModuleInfoZ@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeddZi@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math13islessgreaterFNaNbNiNeffZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeddZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math14isgreaterequalFNaNbNiNeffZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeddZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math6islessFNaNbNiNeffZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNedZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNeeZi@Base 13 + _D4core4stdc4math8isnormalFNaNbNiNefZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeddZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeeeZi@Base 13 + _D4core4stdc4math9isgreaterFNaNbNiNeffZi@Base 13 + _D4core4stdc4time11__moduleRefZ@Base 13 + _D4core4stdc4time12__ModuleInfoZ@Base 13 + _D4core4stdc5ctype11__moduleRefZ@Base 13 + _D4core4stdc5ctype12__ModuleInfoZ@Base 13 + _D4core4stdc5errno11__moduleRefZ@Base 13 + _D4core4stdc5errno12__ModuleInfoZ@Base 13 + _D4core4stdc5stdio11__moduleRefZ@Base 13 + _D4core4stdc5stdio12__ModuleInfoZ@Base 13 + _D4core4stdc5stdio6fpos_t6__initZ@Base 13 + _D4core4stdc5stdio8_IO_FILE6__initZ@Base 13 + _D4core4stdc6config11__moduleRefZ@Base 13 + _D4core4stdc6config12__ModuleInfoZ@Base 13 + _D4core4stdc6config__T8_ComplexTdZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZSQDbQCzQCx__TQCtTdZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZSQDbQCzQCx__TQCtTdZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opAssignMFNaNbNcNiNfdZSQCgQCeQCc__TQByTdZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm8opEqualsMFNaNbNiNfdZb@Base 14 + _D4core4stdc6config__T8_ComplexTdZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTdZQByZm@Base 13 + _D4core4stdc6config__T8_ComplexTeZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZSQDbQCzQCx__TQCtTeZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZSQDbQCzQCx__TQCtTeZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opAssignMFNaNbNcNiNfeZSQCgQCeQCc__TQByTeZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm8opEqualsMFNaNbNiNfeZb@Base 14 + _D4core4stdc6config__T8_ComplexTeZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTeZQByZm@Base 13 + _D4core4stdc6config__T8_ComplexTfZQm6__initZ@Base 13 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTdZQCcZSQDbQCzQCx__TQCtTfZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTeZQCcZSQDbQCzQCx__TQCtTfZQCz@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNfSQCeQCcQCa__TQBwTfZQCcZQx@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opAssignMFNaNbNcNiNffZSQCgQCeQCc__TQByTfZQCe@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTdZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTeZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNfSQCcQCaQBy__TQBuTfZQCaZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm8opEqualsMFNaNbNiNffZb@Base 14 + _D4core4stdc6config__T8_ComplexTfZQm9__xtoHashFNbNeKxSQCaQByQBw__TQBsTfZQByZm@Base 13 + _D4core4stdc6float_11__moduleRefZ@Base 13 + _D4core4stdc6float_12__ModuleInfoZ@Base 13 + _D4core4stdc6limits11__moduleRefZ@Base 13 + _D4core4stdc6limits12__ModuleInfoZ@Base 13 + _D4core4stdc6locale11__moduleRefZ@Base 13 + _D4core4stdc6locale12__ModuleInfoZ@Base 13 + _D4core4stdc6locale5lconv6__initZ@Base 13 + _D4core4stdc6signal11__moduleRefZ@Base 13 + _D4core4stdc6signal12__ModuleInfoZ@Base 13 + _D4core4stdc6stdarg11__moduleRefZ@Base 13 + _D4core4stdc6stdarg12__ModuleInfoZ@Base 13 + _D4core4stdc6stddef11__moduleRefZ@Base 13 + _D4core4stdc6stddef12__ModuleInfoZ@Base 13 + _D4core4stdc6stdint11__moduleRefZ@Base 13 + _D4core4stdc6stdint12__ModuleInfoZ@Base 13 + _D4core4stdc6stdint__T7_typifyTgZQlFNaNbNiNfgZg@Base 13 + _D4core4stdc6stdint__T7_typifyThZQlFNaNbNiNfhZh@Base 13 + _D4core4stdc6stdint__T7_typifyTiZQlFNaNbNiNfiZi@Base 13 + _D4core4stdc6stdint__T7_typifyTkZQlFNaNbNiNfkZk@Base 13 + _D4core4stdc6stdint__T7_typifyTlZQlFNaNbNiNflZl@Base 13 + _D4core4stdc6stdint__T7_typifyTmZQlFNaNbNiNfmZm@Base 13 + _D4core4stdc6stdint__T7_typifyTsZQlFNaNbNiNfsZs@Base 13 + _D4core4stdc6stdint__T7_typifyTtZQlFNaNbNiNftZt@Base 13 + _D4core4stdc6stdlib11__moduleRefZ@Base 13 + _D4core4stdc6stdlib12__ModuleInfoZ@Base 13 + _D4core4stdc6stdlib5div_t6__initZ@Base 13 + _D4core4stdc6stdlib6ldiv_t6__initZ@Base 13 + _D4core4stdc6stdlib7lldiv_t6__initZ@Base 13 + _D4core4stdc6string11__moduleRefZ@Base 13 + _D4core4stdc6string12__ModuleInfoZ@Base 13 + _D4core4stdc6tgmath11__moduleRefZ@Base 13 + _D4core4stdc6tgmath12__ModuleInfoZ@Base 13 + _D4core4stdc6wchar_11__moduleRefZ@Base 13 + _D4core4stdc6wchar_12__ModuleInfoZ@Base 13 + _D4core4stdc6wchar_8getwcharFNbNiNeZw@Base 13 + _D4core4stdc6wchar_8putwcharFNbNiNewZw@Base 13 + _D4core4stdc6wchar_9mbstate_t6__initZ@Base 13 + _D4core4stdc6wchar_9mbstate_t8___value6__initZ@Base 13 + _D4core4stdc6wctype11__moduleRefZ@Base 13 + _D4core4stdc6wctype12__ModuleInfoZ@Base 13 + _D4core4stdc7assert_11__moduleRefZ@Base 13 + _D4core4stdc7assert_12__ModuleInfoZ@Base 13 + _D4core4stdc7complex11__moduleRefZ@Base 13 + _D4core4stdc7complex12__ModuleInfoZ@Base 13 + _D4core4stdc8inttypes11__moduleRefZ@Base 13 + _D4core4stdc8inttypes12__ModuleInfoZ@Base 13 + _D4core4stdc8inttypes9imaxdiv_t6__initZ@Base 13 + _D4core4stdc9stdatomic11__moduleRefZ@Base 14.2 + _D4core4stdc9stdatomic11atomic_flag6__initZ@Base 14.2 + _D4core4stdc9stdatomic12__ModuleInfoZ@Base 14.2 + _D4core4sync11__moduleRefZ@Base 13 + _D4core4sync12__ModuleInfoZ@Base 13 + _D4core4sync5event11__moduleRefZ@Base 13 + _D4core4sync5event12__ModuleInfoZ@Base 13 + _D4core4sync5event5Event10initializeMFNbNibbZv@Base 13 + _D4core4sync5event5Event14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core4sync5event5Event16setIfInitializedMFNbNiZv@Base 14 + _D4core4sync5event5Event3setMFNbNiZv@Base 13 + _D4core4sync5event5Event4waitMFNbNiSQBi4time8DurationZb@Base 13 + _D4core4sync5event5Event4waitMFNbNiZb@Base 13 + _D4core4sync5event5Event5resetMFNbNiZv@Base 13 + _D4core4sync5event5Event6__ctorMFNbNcNibbZSQBpQBnQBlQBi@Base 13 + _D4core4sync5event5Event6__dtorMFNbNiZv@Base 13 + _D4core4sync5event5Event6__initZ@Base 13 + _D4core4sync5event5Event9terminateMFNbNiZv@Base 13 + _D4core4sync5mutex11__moduleRefZ@Base 13 + _D4core4sync5mutex12__ModuleInfoZ@Base 13 + _D4core4sync5mutex5Mutex10handleAddrMFNiZPSQBp3sys5posixQk5types15pthread_mutex_t@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy11__xopEqualsMxFKxSQCdQCbQBzQBwQBtZb@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy6__initZ@Base 13 + _D4core4sync5mutex5Mutex12MonitorProxy9__xtoHashFNbNeKxSQCcQCaQByQBvQBsZm@Base 13 + _D4core4sync5mutex5Mutex4lockMFNeZv@Base 13 + _D4core4sync5mutex5Mutex4lockMOFNeZv@Base 13 + _D4core4sync5mutex5Mutex6__ctorMFNbNiNeC6ObjectZCQBvQBtQBrQBo@Base 13 + _D4core4sync5mutex5Mutex6__ctorMFNbNiNeZCQBnQBlQBjQBg@Base 13 + _D4core4sync5mutex5Mutex6__ctorMOFNbNiNeC6ObjectZOCQBxQBvQBtQBq@Base 13 + _D4core4sync5mutex5Mutex6__ctorMOFNbNiNeZOCQBpQBnQBlQBi@Base 13 + _D4core4sync5mutex5Mutex6__dtorMFNbNiNlNeZv@Base 13 + _D4core4sync5mutex5Mutex6__initZ@Base 13 + _D4core4sync5mutex5Mutex6__vtblZ@Base 13 + _D4core4sync5mutex5Mutex6unlockMFNeZv@Base 13 + _D4core4sync5mutex5Mutex6unlockMOFNeZv@Base 13 + _D4core4sync5mutex5Mutex7__ClassZ@Base 13 + _D4core4sync5mutex5Mutex7tryLockMFNeZb@Base 13 + _D4core4sync5mutex5Mutex7tryLockMOFNeZb@Base 13 + _D4core4sync5mutex5Mutex__T12lock_nothrowTCQBpQBnQBlQBiZQBdMFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T12lock_nothrowTOCQBqQBoQBmQBjZQBeMOFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T14unlock_nothrowTCQBrQBpQBnQBkZQBfMFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T14unlock_nothrowTOCQBsQBqQBoQBlZQBgMOFNbNiNeZv@Base 13 + _D4core4sync5mutex5Mutex__T15tryLock_nothrowTCQBsQBqQBoQBlZQBgMFNbNiNeZb@Base 13 + _D4core4sync5mutex5Mutex__T15tryLock_nothrowTOCQBtQBrQBpQBmZQBhMOFNbNiNeZb@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTCQBiQBgQBeQBbZQwMFNbNiNeC6ObjectbZQBi@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTCQBiQBgQBeQBbZQwMFNbNiNebZQBa@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTOCQBjQBhQBfQBcZQxMOFNbNiNeC6ObjectbZOQBk@Base 13 + _D4core4sync5mutex5Mutex__T6__ctorTOCQBjQBhQBfQBcZQxMOFNbNiNebZOQBc@Base 13 + _D4core4sync6config11__moduleRefZ@Base 13 + _D4core4sync6config12__ModuleInfoZ@Base 13 + _D4core4sync6config7mktspecFNbNiKSQBg3sys5posix4time8timespecSQCiQs8DurationZv@Base 13 + _D4core4sync6config7mktspecFNbNiKSQBg3sys5posix4time8timespecZv@Base 13 + _D4core4sync6config7mvtspecFNbNiKSQBg3sys5posix4time8timespecSQCiQs8DurationZv@Base 13 + _D4core4sync7barrier11__moduleRefZ@Base 13 + _D4core4sync7barrier12__ModuleInfoZ@Base 13 + _D4core4sync7barrier7Barrier4waitMFZv@Base 13 + _D4core4sync7barrier7Barrier6__ctorMFkZCQBmQBkQBiQBd@Base 13 + _D4core4sync7barrier7Barrier6__initZ@Base 13 + _D4core4sync7barrier7Barrier6__vtblZ@Base 13 + _D4core4sync7barrier7Barrier7__ClassZ@Base 13 + _D4core4sync7rwmutex11__moduleRefZ@Base 13 + _D4core4sync7rwmutex12__ModuleInfoZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy11__xopEqualsMxFKxSQCwQCuQCsQCnQCaQBwZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy9__xtoHashFNbNeKxSQCvQCtQCrQCmQBzQBvZm@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7__ClassZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMFNeSQCc4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMOFNeSQCd4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader7tryLockMOFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T17shouldQueueReaderTCQCnQClQCjQCeQBrZQBlMFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T17shouldQueueReaderTOCQCoQCmQCkQCfQBsZQBmMOFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T6__ctorTCQCbQBzQBxQBsQBfZQzMFNaNbNiNeZQBe@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Reader__T6__ctorTOCQCcQCaQByQBtQBgZQBaMOFNaNbNiNeZOQBh@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy11__xopEqualsMxFKxSQCwQCuQCsQCnQCaQBwZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy9__xtoHashFNbNeKxSQCvQCtQCrQCmQBzQBvZm@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMOFNeZv@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7__ClassZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMFNeSQCc4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMOFNeSQCd4time8DurationZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer7tryLockMOFNeZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T17shouldQueueWriterTCQCnQClQCjQCeQBrZQBlMFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T17shouldQueueWriterTOCQCoQCmQCkQCfQBsZQBmMOFNaNbNdNiNfZb@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T6__ctorTCQCbQBzQBxQBsQBfZQzMFNaNbNiNeZQBe@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6Writer__T6__ctorTOCQCcQCaQByQBtQBgZQBaMOFNaNbNiNeZOQBh@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__ctorMFNbNfEQBwQBuQBsQBn6PolicyZCQCrQCpQCnQCi@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__ctorMOFNbNfEQBxQBvQBtQBo6PolicyZOCQCtQCrQCpQCk@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__initZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6__vtblZ@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6policyMFNbNdNfZEQBzQBxQBvQBq6Policy@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6policyMOFNbNdNfZEQCaQByQBwQBr6Policy@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6readerMFNbNdNfZCQBzQBxQBvQBq6Reader@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6readerMOFNbNdNfZOCQCbQBzQBxQBs6Reader@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6writerMFNbNdNfZCQBzQBxQBvQBq6Writer@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex6writerMOFNbNdNfZOCQCbQBzQBxQBs6Writer@Base 13 + _D4core4sync7rwmutex14ReadWriteMutex7__ClassZ@Base 13 + _D4core4sync9condition11__moduleRefZ@Base 13 + _D4core4sync9condition12__ModuleInfoZ@Base 13 + _D4core4sync9condition9Condition13mutex_nothrowMFNaNbNdNiNfZCQChQCf5mutex5Mutex@Base 13 + _D4core4sync9condition9Condition13mutex_nothrowMOFNaNbNdNiNfZOCQCjQCh5mutex5Mutex@Base 13 + _D4core4sync9condition9Condition4waitMFSQBm4time8DurationZb@Base 13 + _D4core4sync9condition9Condition4waitMFZv@Base 13 + _D4core4sync9condition9Condition4waitMOFSQBn4time8DurationZb@Base 13 + _D4core4sync9condition9Condition4waitMOFZv@Base 13 + _D4core4sync9condition9Condition5mutexMFNdZCQBqQBoQs5Mutex@Base 13 + _D4core4sync9condition9Condition5mutexMOFNdZOCQBsQBqQu5Mutex@Base 13 + _D4core4sync9condition9Condition6__ctorMFNbNiNfCQBuQBs5mutex5MutexZCQCoQCmQCkQCd@Base 13 + _D4core4sync9condition9Condition6__ctorMOFNbNiNfOCQBwQBu5mutex5MutexZOCQCrQCpQCnQCg@Base 13 + _D4core4sync9condition9Condition6__dtorMFNiNlZv@Base 13 + _D4core4sync9condition9Condition6__initZ@Base 13 + _D4core4sync9condition9Condition6__vtblZ@Base 13 + _D4core4sync9condition9Condition6notifyMFZv@Base 13 + _D4core4sync9condition9Condition6notifyMOFZv@Base 13 + _D4core4sync9condition9Condition7__ClassZ@Base 13 + _D4core4sync9condition9Condition9notifyAllMFZv@Base 13 + _D4core4sync9condition9Condition9notifyAllMOFZv@Base 13 + _D4core4sync9condition9Condition__T4waitTCQBoQBmQBkQBdZQuMFNiSQCi4time8DurationbZb@Base 13 + _D4core4sync9condition9Condition__T4waitTCQBoQBmQBkQBdZQuMFNibZv@Base 13 + _D4core4sync9condition9Condition__T4waitTOCQBpQBnQBlQBeZQvMOFNiSQCk4time8DurationbZb@Base 13 + _D4core4sync9condition9Condition__T4waitTOCQBpQBnQBlQBeZQvMOFNibZv@Base 13 + _D4core4sync9condition9Condition__T6__ctorTCQBqQBoQBmQBfTCQCeQCc5mutex5MutexZQBqMFNbNiNeQBfbZQBy@Base 13 + _D4core4sync9condition9Condition__T6__ctorTOCQBrQBpQBnQBgTOCQCgQCe5mutex5MutexZQBsMOFNbNiNeOQBhbZOQCc@Base 13 + _D4core4sync9condition9Condition__T6notifyTCQBqQBoQBmQBfZQwMFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T6notifyTOCQBrQBpQBnQBgZQxMOFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T9notifyAllTCQBtQBrQBpQBiZQzMFNbNibZv@Base 13 + _D4core4sync9condition9Condition__T9notifyAllTOCQBuQBsQBqQBjZQBaMOFNbNibZv@Base 13 + _D4core4sync9exception11__moduleRefZ@Base 13 + _D4core4sync9exception12__ModuleInfoZ@Base 13 + _D4core4sync9exception9SyncError6__ctorMFNaNbNfAyaC6object9ThrowableQvmZCQCtQCrQCpQCi@Base 13 + _D4core4sync9exception9SyncError6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCtQCrQCpQCi@Base 13 + _D4core4sync9exception9SyncError6__initZ@Base 13 + _D4core4sync9exception9SyncError6__vtblZ@Base 13 + _D4core4sync9exception9SyncError7__ClassZ@Base 13 + _D4core4sync9semaphore11__moduleRefZ@Base 13 + _D4core4sync9semaphore12__ModuleInfoZ@Base 13 + _D4core4sync9semaphore9Semaphore4waitMFSQBm4time8DurationZb@Base 13 + _D4core4sync9semaphore9Semaphore4waitMFZv@Base 13 + _D4core4sync9semaphore9Semaphore6__ctorMFkZCQBqQBoQBmQBf@Base 13 + _D4core4sync9semaphore9Semaphore6__dtorMFNlZv@Base 13 + _D4core4sync9semaphore9Semaphore6__initZ@Base 13 + _D4core4sync9semaphore9Semaphore6__vtblZ@Base 13 + _D4core4sync9semaphore9Semaphore6notifyMFZv@Base 13 + _D4core4sync9semaphore9Semaphore7__ClassZ@Base 13 + _D4core4sync9semaphore9Semaphore7tryWaitMFZb@Base 13 + _D4core4time11__moduleRefZ@Base 13 + _D4core4time11_posixClockFNaNbNiNfEQBhQBf9ClockTypeZi@Base 13 + _D4core4time12TickDuration10TDRvalueOfFSQBmQBkQBiZQl@Base 14 + _D4core4time12TickDuration11ticksPerSecyl@Base 13 + _D4core4time12TickDuration14currSystemTickFNbNdNiNeZSQBzQBxQBv@Base 13 + _D4core4time12TickDuration16time_initializerFZv@Base 13 + _D4core4time12TickDuration3maxFNaNbNdNiNfZSQBpQBnQBl@Base 13 + _D4core4time12TickDuration3minFNaNbNdNiNfZSQBpQBnQBl@Base 13 + _D4core4time12TickDuration4zeroFNaNbNdNiNfZSQBqQBoQBm@Base 13 + _D4core4time12TickDuration5msecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration5nsecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration5opCmpMxFNaNbNiNfSQBqQBoQBmZi@Base 13 + _D4core4time12TickDuration5usecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration6__ctorMFNaNbNcNiNflZSQBuQBsQBq@Base 13 + _D4core4time12TickDuration6__initZ@Base 13 + _D4core4time12TickDuration6hnsecsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration7secondsMxFNaNbNdNiNfZl@Base 13 + _D4core4time12TickDuration8__xopCmpMxFKxSQBnQBlQBjZi@Base 13 + _D4core4time12TickDuration9appOriginySQBkQBiQBg@Base 13 + _D4core4time12__ModuleInfoZ@Base 13 + _D4core4time12nsecsToTicksFNaNbNiNflZl@Base 13 + _D4core4time12ticksToNSecsFNaNbNiNflZl@Base 13 + _D4core4time13TimeException6__ctorMFNaNbNfAyaC6object9ThrowableQvmZCQCoQCmQCk@Base 13 + _D4core4time13TimeException6__ctorMFNaNbNfAyaQdmC6object9ThrowableZCQCoQCmQCk@Base 13 + _D4core4time13TimeException6__initZ@Base 13 + _D4core4time13TimeException6__vtblZ@Base 13 + _D4core4time13TimeException7__ClassZ@Base 13 + _D4core4time13_clockTypeIdxFEQBbQz9ClockTypeZm@Base 13 + _D4core4time13convClockFreqFNaNbNiNflllZl@Base 13 + _D4core4time14_clockTypeNameFEQBcQBa9ClockTypeZAya@Base 13 + _D4core4time15_ticksPerSecondyG8l@Base 13 + _D4core4time25unitsAreInDescendingOrderFMAAyaZb@Base 13 + _D4core4time3absFNaNbNiNfSQyQv12TickDurationZQu@Base 13 + _D4core4time3absFNaNbNiNfSQyQv8DurationZQp@Base 13 + _D4core4time4_absFNaNbNiNfdZd@Base 13 + _D4core4time4_absFNaNbNiNflZl@Base 13 + _D4core4time8Duration10isNegativeMxFNaNbNdNiNfZb@Base 13 + _D4core4time8Duration3maxFNaNbNdNiNfZSQBkQBiQBg@Base 13 + _D4core4time8Duration3minFNaNbNdNiNfZSQBkQBiQBg@Base 13 + _D4core4time8Duration4zeroFNaNbNdNiNfZSQBlQBjQBh@Base 13 + _D4core4time8Duration5opCmpMxFNaNbNiNfSQBlQBjQBhZi@Base 13 + _D4core4time8Duration6__ctorMFNaNbNcNiNflZSQBpQBnQBl@Base 13 + _D4core4time8Duration6__initZ@Base 13 + _D4core4time8Duration8__xopCmpMxFKxSQBiQBgQBeZi@Base 13 + _D4core4time8Duration8toStringMxFNaNbNfZAya@Base 13 + _D4core4time8Duration__T10opOpAssignVAyaa1_2aZQwMFNaNbNcNiNflZSQCjQChQCf@Base 13 + _D4core4time8Duration__T10opOpAssignVAyaa1_2bZQwMFNaNbNcNiNfxSQCiQCgQCeZSQCtQCrQCp@Base 14 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573ZQBsMxFNaNbNiNfZ12genSplitCallFNaNbNfZQCw@Base 13 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573ZQBsMxFNaNbNiNfZ14genMemberDeclsFNaNbNfZQCy@Base 13 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573ZQBsMxFNaNbNiNfZSQDeQDcQDa__TQCuVQCra5_686f757273VQDia7_6d696e75746573ZQEkMxFNaNbNiNfZ10SplitUnits@Base 13 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573Z__TQBvTiTiZQCdMxFNaNbNiNfJiJiZv@Base 13 + _D4core4time8Duration__T5splitVAyaa5_686f757273VQra7_6d696e75746573Z__TQBvTlTlZQCdMxFNaNbNiNfJlJlZv@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ12genSplitCallFNaNbNfZQCw@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZ14genMemberDeclsFNaNbNfZQCy@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373ZQBsMxFNaNbNiNfZSQDeQDcQDa__TQCuVQCra7_7365636f6e6473VQDma5_6e73656373ZQEkMxFNaNbNiNfZ10SplitUnits@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_6e73656373Z__TQBvTlTlZQCdMxFNaNbNiNfJlJlZv@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373ZQBsMxFNaNbNiNfZ10SplitUnits6__initZ@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373ZQBsMxFNaNbNiNfZ12genSplitCallFNaNbNfZQCw@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373ZQBsMxFNaNbNiNfZ14genMemberDeclsFNaNbNfZQCy@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373ZQBsMxFNaNbNiNfZSQDeQDcQDa__TQCuVQCra7_7365636f6e6473VQDma5_7573656373ZQEkMxFNaNbNiNfZ10SplitUnits@Base 13 + _D4core4time8Duration__T5splitVAyaa7_7365636f6e6473VQva5_7573656373Z__TQBvTlTlZQCdMxFNaNbNiNfJlJlZv@Base 13 + _D4core4time8Duration__T5totalVAyaa5_6d73656373ZQyMxFNaNbNdNiNfZl@Base 13 + _D4core4time8Duration__T5totalVAyaa6_686e73656373ZQBaMxFNaNbNdNiNfZl@Base 13 + _D4core4time8Duration__T5totalVAyaa7_7365636f6e6473ZQBcMxFNaNbNdNiNfZl@Base 13 + _D4core4time8Duration__T8opBinaryVAyaa1_2bZQtMxFNaNbNiNfxSQCeQCcQCaZSQCpQCnQCl@Base 14 + _D4core4time8Duration__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfxSQCeQCcQCaZSQCpQCnQCl@Base 14 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ10appListSepFNaNbNfQBqkbZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ5unitsyAAa@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa4_64617973ZQBcFNaNbNfQCmlZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_686f757273ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_6d73656373ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_7573656373ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa5_7765656b73ZQBeFNaNbNfQColZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa6_686e73656373ZQBgFNaNbNfQCqlZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa7_6d696e75746573ZQBiFNaNbNfQCslZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFMQuZ__T10appUnitValVAyaa7_7365636f6e6473ZQBiFNaNbNfQCslZv@Base 13 + _D4core4time8Duration__T8toStringTDFNaNbNfIAaZvZQyMxFNaNbNfMQBaZv@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj14ticksPerSecondFNaNbNdNiNfZl@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj3maxFNaNbNdNiNfZSQCqQCo__TQCmVQCbi0ZQCw@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj3minFNaNbNdNiNfZSQCqQCo__TQCmVQCbi0ZQCw@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj4zeroFNaNbNdNiNfZSQCrQCp__TQCnVQCci0ZQCx@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj5opCmpMxFNaNbNiNfSQCrQCp__TQCnVQCci0ZQCxZi@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj5ticksMxFNaNbNdNiNfZl@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj6__initZ@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8__xopCmpMxFKxSQCoQCm__TQCkVQBzi0ZQCuZi@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8currTimeFNbNdNiNeZSQCtQCr__TQCpVQCei0ZQCz@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj8toStringMxFNaNbNfZAya@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj__T8opBinaryVAyaa1_2bZQtMxFNaNbNiNfSQDjQDh8DurationZSQEaQDy__TQDwVQDli0ZQEg@Base 13 + _D4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj__T8opBinaryVAyaa1_2dZQtMxFNaNbNiNfSQDjQDh__TQDfVQCui0ZQDpZSQEhQEf8Duration@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa4_64617973ZQBmFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_686f757273ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_6d73656373ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_7573656373ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa5_7765656b73ZQBoFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa7_6d696e75746573ZQBsFNaNbNiNfKlZl@Base 13 + _D4core4time__T20splitUnitsFromHNSecsVAyaa7_7365636f6e6473ZQBsFNaNbNiNfKlZl@Base 13 + _D4core4time__T2toVAyaa5_6d73656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa5_6e73656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa5_7573656373TlTxSQBmQBk12TickDurationZQBuFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa6_686e73656373TlTxSQBoQBm12TickDurationZQBwFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T2toVAyaa7_7365636f6e6473TlTxSQBqQBo12TickDurationZQByFNaNbNiNfxQBjZl@Base 13 + _D4core4time__T3durVAyaa4_64617973ZQuFNaNbNiNflZSQBvQBt8Duration@Base 13 + _D4core4time__T3durVAyaa5_686f757273ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_6d73656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_6e73656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_7573656373ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa5_7765656b73ZQwFNaNbNiNflZSQBxQBv8Duration@Base 13 + _D4core4time__T3durVAyaa6_686e73656373ZQyFNaNbNiNflZSQBzQBx8Duration@Base 13 + _D4core4time__T3durVAyaa7_6d696e75746573ZQBaFNaNbNiNflZSQCcQCa8Duration@Base 13 + _D4core4time__T3durVAyaa7_7365636f6e6473ZQBaFNaNbNiNflZSQCcQCa8Duration@Base 13 + _D4core4time__T7convertVAyaa4_64617973VQpa6_686e73656373ZQBqFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa4_64617973VQpa7_7365636f6e6473ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_686f757273VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_686f757273VQra7_7365636f6e6473ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_6d73656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_6e73656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_7573656373VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa5_7765656b73VQra6_686e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta4_64617973ZQBqFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_686f757273ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_6d73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_6e73656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_7573656373ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta5_7765656b73ZQBsFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta6_686e73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta7_6d696e75746573ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa6_686e73656373VQta7_7365636f6e6473ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_6d696e75746573VQva6_686e73656373ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_6d73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_6e73656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva5_7573656373ZQBuFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva6_686e73656373ZQBwFNaNbNiNflZl@Base 13 + _D4core4time__T7convertVAyaa7_7365636f6e6473VQva7_7365636f6e6473ZQByFNaNbNiNflZl@Base 13 + _D4core5bitop11__moduleRefZ@Base 13 + _D4core5bitop12__ModuleInfoZ@Base 13 + _D4core5bitop2btFNaNbNiMxPmmZi@Base 13 + _D4core5bitop3bsfFNaNbNiNfkZi@Base 13 + _D4core5bitop3bsfFNaNbNiNfmZi@Base 13 + _D4core5bitop3bsrFNaNbNiNfkZi@Base 13 + _D4core5bitop3bsrFNaNbNiNfmZi@Base 13 + _D4core5bitop6popcntFNaNbNiNfkZi@Base 13 + _D4core5bitop6popcntFNaNbNiNfmZi@Base 13 + _D4core5bitop7Split646__ctorMFNaNbNcNiNfmZSQBpQBnQBk@Base 13 + _D4core5bitop7Split646__initZ@Base 13 + _D4core5bitop7bitswapFNaNbNiNfkZk@Base 13 + _D4core5bitop7bitswapFNaNbNiNfmZm@Base 13 + _D4core5bitop8BitRange5emptyMxFNaNbNiNfZb@Base 13 + _D4core5bitop8BitRange5frontMFNaNbNiNfZm@Base 13 + _D4core5bitop8BitRange6__ctorMFNaNbNcNiPxmmZSQBrQBpQBm@Base 13 + _D4core5bitop8BitRange6__initZ@Base 13 + _D4core5bitop8BitRange8popFrontMFNaNbNiZv@Base 13 + _D4core5bitop8byteswapFNaNbNiNftZt@Base 13 + _D4core5bitop__T10softPopcntTkZQpFNaNbNiNfkZi@Base 13 + _D4core5bitop__T10softPopcntTmZQpFNaNbNiNfmZi@Base 13 + _D4core5bitop__T11softBitswapTkZQqFNaNbNiNfkZk@Base 13 + _D4core5bitop__T11softBitswapTmZQqFNaNbNiNfmZm@Base 13 + _D4core5bitop__T3rolTkZQhFNaNbNiNfxkxkZk@Base 13 + _D4core5bitop__T3rorTkZQhFNaNbNiNfxkxkZk@Base 13 + _D4core5bitop__T3rorTmZQhFNaNbNiNfxmxkZm@Base 13 + _D4core5bitop__T8softScanTkVbi0ZQqFNaNbNiNfkZi@Base 13 + _D4core5bitop__T8softScanTkVbi1ZQqFNaNbNiNfkZi@Base 13 + _D4core5bitop__T8softScanTmVbi0ZQqFNaNbNiNfmZi@Base 13 + _D4core5bitop__T8softScanTmVbi1ZQqFNaNbNiNfmZi@Base 13 + _D4core5cpuid10_hasPopcntyb@Base 13 + _D4core5cpuid10_hasRdrandyb@Base 13 + _D4core5cpuid10_hasRdseedyb@Base 13 + _D4core5cpuid10_isItaniumyb@Base 13 + _D4core5cpuid10_processoryAa@Base 13 + _D4core5cpuid10_x87onChipyb@Base 13 + _D4core5cpuid10dataCachesFNaNbNdNiNeZxG5SQBnQBl9CacheInfo@Base 13 + _D4core5cpuid11CpuFeatures11__xopEqualsMxFKxSQBrQBpQBmZb@Base 13 + _D4core5cpuid11CpuFeatures6__initZ@Base 13 + _D4core5cpuid11CpuFeatures9__xtoHashFNbNeKxSQBqQBoQBlZm@Base 13 + _D4core5cpuid11__moduleRefZ@Base 13 + _D4core5cpuid11_dataCachesyG5SQBcQBa9CacheInfo@Base 13 + _D4core5cpuid11amd3dnowExtFNaNbNdNiNeZb@Base 13 + _D4core5cpuid11cacheLevelsFNbNdNiNeZk@Base 13 + _D4core5cpuid11coresPerCPUFNaNbNdNiNeZk@Base 13 + _D4core5cpuid11cpuFeaturesSQzQw11CpuFeatures@Base 13 + _D4core5cpuid11hasLahfSahfFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12__ModuleInfoZ@Base 13 + _D4core5cpuid12_amd3dnowExtyb@Base 13 + _D4core5cpuid12_coresPerCPUyk@Base 13 + _D4core5cpuid12_hasLahfSahfyb@Base 13 + _D4core5cpuid12getCpuInfo0BFNbNiNeZv@Base 13 + _D4core5cpuid12hasCmpxchg8bFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12hasPclmulqdqFNaNbNdNiNeZb@Base 13 + _D4core5cpuid12preferAthlonFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13_hasCmpxchg8byb@Base 13 + _D4core5cpuid13_hasPclmulqdqyb@Base 13 + _D4core5cpuid13_preferAthlonyb@Base 13 + _D4core5cpuid13hasCmpxchg16bFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13hasVpclmulqdqFNaNbNdNiNeZb@Base 13 + _D4core5cpuid13threadsPerCPUFNaNbNdNiNeZk@Base 13 + _D4core5cpuid14_hasCmpxchg16byb@Base 13 + _D4core5cpuid14_hasVpclmulqdqyb@Base 13 + _D4core5cpuid14_threadsPerCPUyk@Base 13 + _D4core5cpuid14getCpuFeaturesFNbNiNeZPSQBlQBj11CpuFeatures@Base 13 + _D4core5cpuid14hyperThreadingFNaNbNdNiNeZb@Base 13 + _D4core5cpuid14numCacheLevelsk@Base 13 + _D4core5cpuid14preferPentium1FNaNbNdNiNeZb@Base 13 + _D4core5cpuid14preferPentium4FNaNbNdNiNeZb@Base 13 + _D4core5cpuid15_hyperThreadingyb@Base 13 + _D4core5cpuid15_preferPentium1yb@Base 13 + _D4core5cpuid15_preferPentium4yb@Base 13 + _D4core5cpuid15getAMDcacheinfoFNbNiNeZ8assocmapyAh@Base 13 + _D4core5cpuid15getAMDcacheinfoFNbNiNeZv@Base 13 + _D4core5cpuid16has3dnowPrefetchFNaNbNdNiNeZb@Base 13 + _D4core5cpuid17_has3dnowPrefetchyb@Base 13 + _D4core5cpuid17hyperThreadingBitFNbNdNiNeZb@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ3idsyG63h@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ4waysyG63h@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZ14decipherCpuid2MFNbNihZ5sizesyG63k@Base 13 + _D4core5cpuid18getcacheinfoCPUID2FNbNiNeZv@Base 13 + _D4core5cpuid18getcacheinfoCPUID4FNbNiNeZv@Base 13 + _D4core5cpuid18hasSysEnterSysExitFNaNbNdNiNeZb@Base 13 + _D4core5cpuid18max_extended_cpuidk@Base 13 + _D4core5cpuid19_hasSysEnterSysExityb@Base 13 + _D4core5cpuid20cpuid_initializationFNbNiNeZv@Base 13 + _D4core5cpuid3aesFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3avxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3fmaFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3hleFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3mmxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3rtmFNaNbNdNiNeZb@Base 13 + _D4core5cpuid3sseFNaNbNdNiNeZb@Base 13 + _D4core5cpuid4_aesyb@Base 13 + _D4core5cpuid4_avxyb@Base 13 + _D4core5cpuid4_fmayb@Base 13 + _D4core5cpuid4_hleyb@Base 13 + _D4core5cpuid4_mmxyb@Base 13 + _D4core5cpuid4_rtmyb@Base 13 + _D4core5cpuid4_sseyb@Base 13 + _D4core5cpuid4avx2FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4sse2FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4sse3FNaNbNdNiNeZb@Base 13 + _D4core5cpuid4vaesFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5_avx2yb@Base 13 + _D4core5cpuid5_sse2yb@Base 13 + _D4core5cpuid5_sse3yb@Base 13 + _D4core5cpuid5_vaesyb@Base 13 + _D4core5cpuid5fp16cFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5modelk@Base 13 + _D4core5cpuid5sse41FNaNbNdNiNeZb@Base 13 + _D4core5cpuid5sse42FNaNbNdNiNeZb@Base 13 + _D4core5cpuid5sse4aFNaNbNdNiNeZb@Base 13 + _D4core5cpuid5ssse3FNaNbNdNiNeZb@Base 13 + _D4core5cpuid6_fp16cyb@Base 13 + _D4core5cpuid6_sse41yb@Base 13 + _D4core5cpuid6_sse42yb@Base 13 + _D4core5cpuid6_sse4ayb@Base 13 + _D4core5cpuid6_ssse3yb@Base 13 + _D4core5cpuid6amdMmxFNaNbNdNiNeZb@Base 13 + _D4core5cpuid6familyk@Base 13 + _D4core5cpuid6hasShaFNaNbNdNiNeZb@Base 13 + _D4core5cpuid6vendorFNaNbNdNiNeZAya@Base 13 + _D4core5cpuid7_amdMmxyb@Base 13 + _D4core5cpuid7_hasShayb@Base 13 + _D4core5cpuid7_vendoryAa@Base 13 + _D4core5cpuid7avx512fFNaNbNdNiNeZb@Base 13 + _D4core5cpuid7hasCmovFNaNbNdNiNeZb@Base 13 + _D4core5cpuid7hasFxsrFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8_avx512fyb@Base 13 + _D4core5cpuid8_hasCmovyb@Base 13 + _D4core5cpuid8_hasFxsryb@Base 13 + _D4core5cpuid8amd3dnowFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8cpuidX86FNbNiNeZv@Base 13 + _D4core5cpuid8hasCPUIDFNbNiNeZb@Base 13 + _D4core5cpuid8hasLzcntFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8hasRdtscFNaNbNdNiNeZb@Base 13 + _D4core5cpuid8isX86_64FNaNbNdNiNeZb@Base 13 + _D4core5cpuid8steppingk@Base 13 + _D4core5cpuid9CacheInfo6__initZ@Base 13 + _D4core5cpuid9_amd3dnowyb@Base 13 + _D4core5cpuid9_hasLzcntyb@Base 13 + _D4core5cpuid9_hasRdtscyb@Base 13 + _D4core5cpuid9_isX86_64yb@Base 13 + _D4core5cpuid9datacacheG5SQyQv9CacheInfo@Base 13 + _D4core5cpuid9hasPopcntFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9hasRdrandFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9hasRdseedFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9isItaniumFNaNbNdNiNeZb@Base 13 + _D4core5cpuid9max_cpuidk@Base 13 + _D4core5cpuid9processorFNaNbNdNiNeZAya@Base 13 + _D4core5cpuid9x87onChipFNaNbNdNiNeZb@Base 13 + _D4core6atomic11__moduleRefZ@Base 13 + _D4core6atomic12__ModuleInfoZ@Base 13 + _D4core6atomic5pauseFNaNbNiNfZv@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKOxPSQCcQCcQBvZQCp@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKxPOxSQCdQCdQBwZQCq@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TbZQBmFNaNbNiNeNkMKOxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TbZQBmFNaNbNiNeNkMKxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNeNkMKOxmZm@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNeNkMKxmZm@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TCQCa4sync5mutex5MutexZQCgFNaNbNiNeKOxCQDlQBlQBjQBgZOCQEaQCaQByQBv@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TE3std6loggerQCl8LogLevelZQCjFNaNbNiNeNkMKOxEQBrQBqQDxQBmZQCf@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TE3std6loggerQCl8LogLevelZQCjFNaNbNiNeNkMKxEQBqQBpQDwQBlZQCe@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNeNkMKOxPSQBpQBpQBjZQCc@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNeNkMKxPOxSQBqQBqQBkZQCd@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKOxPSQCcQCcQBvZQCp@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNeNkMKxPOxSQCdQCdQBwZQCq@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TbZQBmFNaNbNiNeNkMKOxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TbZQBmFNaNbNiNeNkMKxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TkZQBmFNaNbNiNeNkMKOxkZk@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi2TkZQBmFNaNbNiNeNkMKxkZk@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TC3std11concurrency9SchedulerZQCnFNaNbNiNeNkMKxCQBuQBtQBjZQCf@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TC3std6loggerQCl6LoggerZQChFNaNbNiNeKOxCQBmQBlQDsQBhZOCQCbQCaQEhQBw@Base 13 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TC6ObjectZQBtFNaNbNiNeKOxCQyZOCQBd@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TCQCa4sync5mutex5MutexZQCgFNaNbNiNeKOxCQDlQBlQBjQBgZOCQEaQCaQByQBv@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateZQCwFNaNbNiNeNkMKOxEQCeQCdQBtQBnZQCs@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateZQCwFNaNbNiNeNkMKxEQCdQCcQBsQBmZQCr@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPOSQCc4stdc5stdio8_IO_FILEZQClFNaNbNiNeNkMKOxPSQDuQBsQBqQBnZQCi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPOSQCc4stdc5stdio8_IO_FILEZQClFNaNbNiNeNkMKxPOxSQDvQBtQBrQBoZQCj@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNeNkMKOxPQBnZQBs@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNeNkMKxPQBmZQBr@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TbZQBmFNaNbNiNeNkMKOxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TbZQBmFNaNbNiNeNkMKxbZb@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5ThZQBmFNaNbNiNeNkMKOxhZh@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5ThZQBmFNaNbNiNeNkMKxhZh@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TiZQBmFNaNbNiNeNkMKOxiZi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TiZQBmFNaNbNiNeNkMKxiZi@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TkZQBmFNaNbNiNeNkMKOxkZk@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TkZQBmFNaNbNiNeNkMKxkZk@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TmZQBmFNaNbNiNeNkMKOxmZm@Base 14 + _D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi5TmZQBmFNaNbNiNeNkMKxmZm@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TbTbZQBpFNaNbNiNeKObbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TbTbZQBpFNaNbNiNeKbbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TmTiZQBpFNaNbNiNeKOmiZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi0TmTiZQBpFNaNbNiNeKmiZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TE3std6loggerQCm8LogLevelTQzZQCnFNaNbNiNeKOEQBqQBpQDxQBlQCdZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TE3std6loggerQCm8LogLevelTQzZQCnFNaNbNiNeKQBpQBsZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorTQyZQCmFNaNbNiNeKOPQBoQBtZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorTQyZQCmFNaNbNiNeKQBoQBrZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONTQBlZQDaFNaNbNiNeKOPQCcQChZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONTQBlZQDaFNaNbNiNeKQCcQCfZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TbTbZQBpFNaNbNiNeKObbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TbTbZQBpFNaNbNiNeKbbZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TmTmZQBpFNaNbNiNeKOmmZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi3TmTmZQBpFNaNbNiNeKmmZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TC3std6loggerQCm6LoggerTQxZQClFNaNbNiNeKOCQBoQBnQDvQBjOQoZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateTQBmZQDbFNaNbNiNeKOEQCeQCdQBtQBnQCrZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateTQBmZQDbFNaNbNiNeKQCdQCgZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TE3std6loggerQCm8LogLevelTxEQBaQzQDgQuZQCxFNaNbNiNeKOEQCaQBzQEhQBvxQBoZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TE3std6loggerQCm8LogLevelTxEQBaQzQDgQuZQCxFNaNbNiNeKQBzxQBdZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTPUNaNbNiNexQxQxQxQxZQBeZQDeFNaNbNiNeKOPQChQBqZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTPUNaNbNiNexQxQxQxQxZQBeZQDeFNaNbNiNeKQCgQBoZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTQvZQCjFNaNbNiNeKOPQBmQBqZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhTQvZQCjFNaNbNiNeKQBlQBoZv@Base 14 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5ThThZQBpFNaNbNiNeKOhhZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5ThThZQBpFNaNbNiNeKhhZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TkTkZQBpFNaNbNiNeKOkkZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TkTkZQBpFNaNbNiNeKkkZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TmTmZQBpFNaNbNiNeKOmmZv@Base 13 + _D4core6atomic__T11atomicStoreVEQBeQBc11MemoryOrderi5TmTmZQBpFNaNbNiNeKmmZv@Base 13 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKOkmZk@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKkmZk@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKOmmZm@Base 14 + _D4core6atomic__T14atomicFetchAddVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKmmZm@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKOkmZk@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TkZQBqFNaNbNiNeNkMKkmZk@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKOmmZm@Base 14 + _D4core6atomic__T14atomicFetchSubVEQBhQBf11MemoryOrderi5TmZQBqFNaNbNiNeNkMKmmZm@Base 14 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTE3std11parallelism8TaskPool9PoolStateZQCpFNaNbNiNfPQBzZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOCQBu4sync5mutex5MutexZQCaFNaNbNiNfPOQBkZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOE3std11parallelism8TaskPool9PoolStateZQCqFNaNbNiNfPOQCaZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTObZQBgFNaNbNiNfPObZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOhZQBgFNaNbNiNfPOhZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOkZQBgFNaNbNiNfPOkZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOmZQBgFNaNbNiNfPOmZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTOtZQBgFNaNbNiNfPOtZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTbZQBfFNaNbNiNfPbZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedThZQBfFNaNbNiNfPhZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTkZQBfFNaNbNiNfPkZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTmZQBfFNaNbNiNfPmZb@Base 13 + _D4core6atomic__T26atomicPtrIsProperlyAlignedTtZQBfFNaNbNiNfPtZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTOkZQBiFNaNbNiNeKOkZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTOmZQBiFNaNbNiNeKOmZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTkZQBhFNaNbNiNeKkZb@Base 13 + _D4core6atomic__T28atomicValueIsProperlyAlignedTmZQBhFNaNbNiNeKmZb@Base 13 + _D4core6atomic__T3casZ__TQiTCQBb4sync5mutex5MutexTnTQyZQBmFNaNbNiNePOCQCqQBpQBnQBkOnOQqZb@Base 13 + _D4core6atomic__T3casZ__TQiTE3std11parallelism8TaskPool9PoolStateTQBmTQBqZQCfFNaNbNiNePOEQCiQChQBxQBrQCvQCyZb@Base 13 + _D4core6atomic__T3casZ__TQiTE3std11parallelism8TaskPool9PoolStateTQBmTQBqZQCfFNaNbNiNePQChQCkQCnZb@Base 13 + _D4core6atomic__T3casZ__TQiTbTbTbZQrFNaNbNiNePObbbZb@Base 13 + _D4core6atomic__T3casZ__TQiTbTbTbZQrFNaNbNiNePbbbZb@Base 13 + _D4core6atomic__T3casZ__TQiThThThZQrFNaNbNiNePOhhhZb@Base 13 + _D4core6atomic__T3casZ__TQiThThThZQrFNaNbNiNePhhhZb@Base 13 + _D4core6atomic__T3casZ__TQiTmTmTmZQrFNaNbNiNePOmmmZb@Base 13 + _D4core6atomic__T3casZ__TQiTmTmTmZQrFNaNbNiNePmmmZb@Base 13 + _D4core6atomic__T3casZ__TQiTtTtTtZQrFNaNbNiNePOtttZb@Base 13 + _D4core6atomic__T3casZ__TQiTtTtTtZQrFNaNbNiNePtttZb@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTkTiZQzFNaNbNiNfKOkiZk@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTkTkZQzFNaNbNiNfKOkkZk@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTmTiZQzFNaNbNiNfKOmiZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2b3dTmTmZQzFNaNbNiNfKOmmZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTkTiZQzFNaNbNiNfKOkiZk@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTmTiZQzFNaNbNiNfKOmiZm@Base 13 + _D4core6atomic__T8atomicOpVAyaa2_2d3dTmTmZQzFNaNbNiNfKOmmZm@Base 13 + _D4core6int12811__moduleRefZ@Base 13 + _D4core6int12812__ModuleInfoZ@Base 13 + _D4core6int1282geFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282gtFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282leFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282ltFNaNbNiNfSQzQw4CentQkZb@Base 13 + _D4core6int1282orFNaNbNiNfSQzQw4CentQkZQn@Base 13 + _D4core6int1283addFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283andFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283comFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283decFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283divFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283incFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283mulFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283negFNaNbNiNfSQBaQy4CentZQm@Base 13 + _D4core6int1283rolFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283rorFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283sarFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283shlFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283shrFNaNbNiNfSQBaQy4CentkZQn@Base 13 + _D4core6int1283subFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1283tstFNaNbNiNfSQBaQy4CentZb@Base 13 + _D4core6int1283ugeFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283ugtFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283uleFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283ultFNaNbNiNfSQBaQy4CentQlZb@Base 13 + _D4core6int1283xorFNaNbNiNfSQBaQy4CentQlZQo@Base 13 + _D4core6int1284Cent6__initZ@Base 13 + _D4core6int1284rol1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284ror1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284sar1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284shl1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284shr1FNaNbNiNfSQBbQz4CentZQm@Base 13 + _D4core6int1284udivFNaNbNiNfSQBbQz4CentQlZQo@Base 13 + _D4core6int1286divmodFNaNbNiNfSQBdQBb4CentQmJQpZQs@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZ13udivmod128_64FNaNbNiNfQBqmJmZm@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZ13udivmod128_64FQBimJmZ9udiv96_64FNaNbNiNfmkmZk@Base 13 + _D4core6int1287udivmodFNaNbNiNfSQBeQBc4CentQmJQpZQs@Base 13 + _D4core6memory10initializeFZv@Base 13 + _D4core6memory11__moduleRefZ@Base 13 + _D4core6memory12__ModuleInfoZ@Base 13 + _D4core6memory2GC12ProfileStats6__initZ@Base 13 + _D4core6memory2GC12profileStatsFNbNiNfZSQBmQBkQBg12ProfileStats@Base 13 + _D4core6memory2GC5Stats6__initZ@Base 13 + _D4core6memory2GC5queryFNaNbNkMPvZSQBhQBf8BlkInfo_@Base 13 + _D4core6memory2GC5queryFNbNkMxPvZSQBgQBe8BlkInfo_@Base 13 + _D4core6memory2GC5statsFNbNiNfZSQBeQBcQy5Stats@Base 13 + _D4core6memory2GC6__initZ@Base 13 + _D4core6memory2GC6addrOfFNaNbNiNePNgvZQf@Base 13 + _D4core6memory2GC6addrOfFNaNbNiNePvZQd@Base 13 + _D4core6memory2GC6sizeOfFNaNbNiPvZm@Base 13 + _D4core6memory2GC6sizeOfFNbNiMxPvZm@Base 13 + _D4core6memory2GC7clrAttrFNaNbPvkZk@Base 13 + _D4core6memory2GC7clrAttrFNbMxPvkZk@Base 13 + _D4core6memory2GC7getAttrFNaNbPvZk@Base 13 + _D4core6memory2GC7getAttrFNbMxPvZk@Base 13 + _D4core6memory2GC7setAttrFNaNbPvkZk@Base 13 + _D4core6memory2GC7setAttrFNbMxPvkZk@Base 13 + _D4core6memory8BlkInfo_6__initZ@Base 13 + _D4core6memory8pageSizeym@Base 13 + _D4core6memory__T10pureMallocZQnFNaNbNiNemZPv@Base 13 + _D4core6memory__T11pureReallocZQoFNaNbNiPvmZQe@Base 13 + _D4core6memory__T8pureFreeZQkFNaNbNiPvZv@Base 13 + _D4core6stdcpp11string_view11__moduleRefZ@Base 13 + _D4core6stdcpp11string_view12__ModuleInfoZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTaZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTuZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T11char_traitsTwZQq6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTaTSQBzQBxQBt__T11char_traitsTaZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTuTSQBzQBxQBt__T11char_traitsTuZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11string_view__T17basic_string_viewTwTSQBzQBxQBt__T11char_traitsTwZQqZQCc6__initZ@Base 13 + _D4core6stdcpp11type_traits11__moduleRefZ@Base 13 + _D4core6stdcpp11type_traits12__ModuleInfoZ@Base 13 + _D4core6stdcpp11type_traits__T17integral_constantTbVbi0ZQBa6__initZ@Base 13 + _D4core6stdcpp11type_traits__T17integral_constantTbVbi1ZQBa6__initZ@Base 13 + _D4core6stdcpp4new_11__moduleRefZ@Base 13 + _D4core6stdcpp4new_11align_val_t6__initZ@Base 13 + _D4core6stdcpp4new_11std_nothrowySQBgQBeQBa9nothrow_t@Base 13 + _D4core6stdcpp4new_12__ModuleInfoZ@Base 13 + _D4core6stdcpp4new_9bad_alloc6__initZ@Base 13 + _D4core6stdcpp4new_9bad_alloc6__vtblZ@Base 13 + _D4core6stdcpp4new_9bad_alloc7__ClassZ@Base 13 + _D4core6stdcpp4new_9nothrow_t6__initZ@Base 13 + _D4core6stdcpp5array11__moduleRefZ@Base 13 + _D4core6stdcpp5array12__ModuleInfoZ@Base 13 + _D4core6stdcpp6memory11__moduleRefZ@Base 13 + _D4core6stdcpp6memory12__ModuleInfoZ@Base 13 + _D4core6stdcpp6string11__moduleRefZ@Base 13 + _D4core6stdcpp6string12__ModuleInfoZ@Base 13 + _D4core6stdcpp6vector11__moduleRefZ@Base 13 + _D4core6stdcpp6vector12__ModuleInfoZ@Base 13 + _D4core6stdcpp7utility11__moduleRefZ@Base 13 + _D4core6stdcpp7utility12__ModuleInfoZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__ctorMFNbNiZCQBwQBuQBqQBk@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__initZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo10bad_typeid7__ClassZ@Base 13 + _D4core6stdcpp8typeinfo11__moduleRefZ@Base 13 + _D4core6stdcpp8typeinfo12__ModuleInfoZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__ctorMFNbNiZCQBtQBrQBnQBh@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__initZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo8bad_cast7__ClassZ@Base 13 + _D4core6stdcpp8typeinfo9type_info6__ctorMFNiPxaZCQBvQBtQBpQBj@Base 13 + _D4core6stdcpp8typeinfo9type_info6__initZ@Base 13 + _D4core6stdcpp8typeinfo9type_info6__vtblZ@Base 13 + _D4core6stdcpp8typeinfo9type_info7__ClassZ@Base 13 + _D4core6stdcpp8xutility11__moduleRefZ@Base 13 + _D4core6stdcpp8xutility12__ModuleInfoZ@Base 13 + _D4core6stdcpp8xutility14CppStdRevision6__initZ@Base 13 + _D4core6stdcpp9allocator11__moduleRefZ@Base 13 + _D4core6stdcpp9allocator12__ModuleInfoZ@Base 13 + _D4core6stdcpp9exception11__moduleRefZ@Base 13 + _D4core6stdcpp9exception12__ModuleInfoZ@Base 13 + _D4core6stdcpp9exception13bad_exception6__ctorMFNbNiPxaZCQCdQCbQBxQBq@Base 13 + _D4core6stdcpp9exception13bad_exception6__initZ@Base 13 + _D4core6stdcpp9exception13bad_exception6__vtblZ@Base 13 + _D4core6stdcpp9exception13bad_exception7__ClassZ@Base 13 + _D4core6stdcpp9exceptionQk6__ctorMFNbNiPxaiZCQBrQBpQBlQBo@Base 13 + _D4core6stdcpp9exceptionQk6__ctorMFNbNiZCQBnQBlQBhQBk@Base 13 + _D4core6stdcpp9exceptionQk6__initZ@Base 13 + _D4core6stdcpp9exceptionQk6__vtblZ@Base 13 + _D4core6stdcpp9exceptionQk7__ClassZ@Base 13 + _D4core6thread10threadbase10ThreadBase10popContextMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase10topContextMFNbNiZPSQCfQCd7context12StackContext@Base 13 + _D4core6thread10threadbase10ThreadBase11pushContextMFNbNiPSQCfQCd7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase12isMainThreadMFNbNdNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase13nAboutToStartm@Base 13 + _D4core6thread10threadbase10ThreadBase13pAboutToStartPCQCbQBzQBvQBm@Base 13 + _D4core6thread10threadbase10ThreadBase13tlsGCdataInitMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase15initDataStorageMFNbZv@Base 13 + _D4core6thread10threadbase10ThreadBase18criticalRegionLockFNbNdNiZCQCn4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase10ThreadBase18destroyDataStorageMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase18destructBeforeDtorMFNbNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase19_criticalRegionLockG72v@Base 13 + _D4core6thread10threadbase10ThreadBase21incrementAboutToStartFNbNiCQCnQClQChQByZv@Base 14.2 + _D4core6thread10threadbase10ThreadBase25destroyDataStorageIfAvailMFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase2idMFNdNiNfZm@Base 13 + _D4core6thread10threadbase10ThreadBase3addFNbNiCQBuQBsQBoQBfbZv@Base 13 + _D4core6thread10threadbase10ThreadBase3addFNbNiPSQBvQBt7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase3runMFZv@Base 13 + _D4core6thread10threadbase10ThreadBase4nameMFNdNiNfAyaZv@Base 13 + _D4core6thread10threadbase10ThreadBase4nameMFNdNiNfZAya@Base 13 + _D4core6thread10threadbase10ThreadBase5slockFNbNdNiZCQBz4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase10ThreadBase5yieldFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNeDFZvmZCQCiQCgQCcQBt@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNfPFZvmZCQCiQCgQCcQBt@Base 13 + _D4core6thread10threadbase10ThreadBase6__ctorMFNaNbNiNfmZCQCeQCcQByQBp@Base 13 + _D4core6thread10threadbase10ThreadBase6__initZ@Base 13 + _D4core6thread10threadbase10ThreadBase6__vtblZ@Base 13 + _D4core6thread10threadbase10ThreadBase6_slockG72v@Base 13 + _D4core6thread10threadbase10ThreadBase6getAllFZ6resizeFNaNbNfKACQCkQCiQCeQBvmZv@Base 13 + _D4core6thread10threadbase10ThreadBase6getAllFZACQBvQBtQBpQBg@Base 13 + _D4core6thread10threadbase10ThreadBase6removeFNbNiCQBxQBvQBrQBiZv@Base 13 + _D4core6thread10threadbase10ThreadBase6removeFNbNiPSQByQBw7context12StackContextZv@Base 13 + _D4core6thread10threadbase10ThreadBase7__ClassZ@Base 13 + _D4core6thread10threadbase10ThreadBase7getThisFNbNiNfZCQCbQBzQBvQBm@Base 13 + _D4core6thread10threadbase10ThreadBase7opApplyFMDFKCQByQBwQBsQBjZiZ6resizeFNbNiKAQBemZv@Base 13 + _D4core6thread10threadbase10ThreadBase7opApplyFMDFKCQByQBwQBsQBjZiZi@Base 13 + _D4core6thread10threadbase10ThreadBase7setThisFNbNiCQByQBwQBsQBjZv@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_cbegPSQBuQBs7context12StackContext@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_mainCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_tbegCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_thisCQBtQBrQBnQBe@Base 13 + _D4core6thread10threadbase10ThreadBase7sm_tlenm@Base 13 + _D4core6thread10threadbase10ThreadBase8isDaemonMFNdNiNfZb@Base 13 + _D4core6thread10threadbase10ThreadBase8isDaemonMFNdNiNfbZv@Base 13 + _D4core6thread10threadbase10ThreadBase9initLocksFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase9isRunningMFNbNdNiZb@Base 13 + _D4core6thread10threadbase10ThreadBase9termLocksFNbNiZv@Base 13 + _D4core6thread10threadbase10ThreadBase__T10getAllImplS_DQCcQCaQBwQBn6getAllFZ6resizeFNaNbNfKACQDoQDmQDiQCzmZvZQCrFZQx@Base 13 + _D4core6thread10threadbase10ThreadBase__T10getAllImplS_DQCcQCaQBwQBn7opApplyFMDFKCQDcQDaQCwQCnZiZ6resizeFNbNiKAQBemZvZQCzFNiZQp@Base 13 + _D4core6thread10threadbase11ThreadError6__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDcQDaQCwQCn@Base 13 + _D4core6thread10threadbase11ThreadError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDcQDaQCwQCn@Base 13 + _D4core6thread10threadbase11ThreadError6__initZ@Base 13 + _D4core6thread10threadbase11ThreadError6__vtblZ@Base 13 + _D4core6thread10threadbase11ThreadError7__ClassZ@Base 13 + _D4core6thread10threadbase11__moduleRefZ@Base 13 + _D4core6thread10threadbase11ll_nThreadsm@Base 13 + _D4core6thread10threadbase11ll_pThreadsPSQBnQBl5types13ll_ThreadData@Base 13 + _D4core6thread10threadbase12__ModuleInfoZ@Base 13 + _D4core6thread10threadbase12lowlevelLockFNbNdNiZCQBv4sync5mutex5Mutex@Base 13 + _D4core6thread10threadbase12suspendDepthk@Base 13 + _D4core6thread10threadbase13onThreadErrorFNbNiAyaZ5errorCQCdQCbQBx11ThreadError@Base 13 + _D4core6thread10threadbase13onThreadErrorFNbNiAyaZv@Base 13 + _D4core6thread10threadbase15ThreadException6__ctorMFNaNbNiNfAyaC6object9ThrowableQvmZCQDgQDeQDaQCr@Base 13 + _D4core6thread10threadbase15ThreadException6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQDgQDeQDaQCr@Base 13 + _D4core6thread10threadbase15ThreadException6__initZ@Base 13 + _D4core6thread10threadbase15ThreadException6__vtblZ@Base 13 + _D4core6thread10threadbase15ThreadException7__ClassZ@Base 13 + _D4core6thread10threadbase15ll_removeThreadFNbNimZv@Base 13 + _D4core6thread10threadbase15scanAllTypeImplFNbMDFNbEQByQBwQBs8ScanTypePvQcZvQgZv@Base 13 + _D4core6thread10threadbase17multiThreadedFlagb@Base 13 + _D4core6thread10threadbase17thread_findByAddrFmZCQBvQBtQBp10ThreadBase@Base 13 + _D4core6thread10threadbase18findLowLevelThreadFNbNimZb@Base 13 + _D4core6thread10threadbase19initLowlevelThreadsFNbNiZv@Base 13 + _D4core6thread10threadbase19termLowlevelThreadsFNbNiZv@Base 13 + _D4core6thread10threadbase25_sharedStaticDtor_L958_C1FZv@Base 14.2 + _D4core6thread10threadbase7ll_lockG72v@Base 13 + _D4core6thread10threadbase__T15thread_term_tplTCQBuQBs8osthread6ThreadTG177vZQBwFNbNiKQpZv@Base 13 + _D4core6thread10threadbase__T21thread_attachThis_tplTCQCaQBy8osthread6ThreadZQBwFNbZQBf@Base 13 + _D4core6thread11__moduleRefZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup3addMFCQBtQBr8osthread6ThreadZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup6__initZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup6__vtblZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup6createMFDFZvZCQCbQBz8osthread6Thread@Base 13 + _D4core6thread11threadgroup11ThreadGroup6createMFPFZvZCQCbQBz8osthread6Thread@Base 13 + _D4core6thread11threadgroup11ThreadGroup6removeMFCQBwQBu8osthread6ThreadZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup7__ClassZ@Base 13 + _D4core6thread11threadgroup11ThreadGroup7joinAllMFbZv@Base 13 + _D4core6thread11threadgroup11ThreadGroup7opApplyMFMDFKCQCbQBz8osthread6ThreadZiZi@Base 13 + _D4core6thread11threadgroup11__moduleRefZ@Base 13 + _D4core6thread11threadgroup12__ModuleInfoZ@Base 13 + _D4core6thread12__ModuleInfoZ@Base 13 + _D4core6thread5fiber11__moduleRefZ@Base 13 + _D4core6thread5fiber12__ModuleInfoZ@Base 13 + _D4core6thread5fiber5Fiber10allocStackMFNbmmZv@Base 13 + _D4core6thread5fiber5Fiber13yieldAndThrowFNbNiC6object9ThrowableZv@Base 13 + _D4core6thread5fiber5Fiber19_staticCtor_L930_C9FZv@Base 14 + _D4core6thread5fiber5Fiber3runMFZv@Base 13 + _D4core6thread5fiber5Fiber4callMFEQBgQBeQBaQx7RethrowZC6object9Throwable@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiDFZvZv@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiPFZvZv@Base 13 + _D4core6thread5fiber5Fiber5resetMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber5stateMxFNaNbNdNiNfZEQBtQBrQBnQBk5State@Base 13 + _D4core6thread5fiber5Fiber5yieldFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber6__ctorMFNbDFZvmmZCQBrQBpQBlQBi@Base 13 + _D4core6thread5fiber5Fiber6__ctorMFNbPFZvmmZCQBrQBpQBlQBi@Base 13 + _D4core6thread5fiber5Fiber6__dtorMFNbNiNlZv@Base 13 + _D4core6thread5fiber5Fiber6__initZ@Base 13 + _D4core6thread5fiber5Fiber6__vtblZ@Base 13 + _D4core6thread5fiber5Fiber7__ClassZ@Base 13 + _D4core6thread5fiber5Fiber7getThisFNbNiNfZCQBpQBnQBjQBg@Base 13 + _D4core6thread5fiber5Fiber7setThisFNbNiCQBmQBkQBgQBdZv@Base 13 + _D4core6thread5fiber5Fiber7sm_thisCQBhQBfQBbQy@Base 13 + _D4core6thread5fiber5Fiber7sm_utxtSQBh3sys5posix8ucontext10ucontext_t@Base 13 + _D4core6thread5fiber5Fiber8callImplMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber8switchInMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9freeStackMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9initStackMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber9switchOutMFNbNiZv@Base 13 + _D4core6thread5fiber5Fiber__T4callVEQBiQBgQBcQz7Rethrowi0ZQBdMFNbNiZC6object9Throwable@Base 13 + _D4core6thread5fiber5Fiber__T4callVEQBiQBgQBcQz7Rethrowi1ZQBdMFNiZC6object9Throwable@Base 13 + _D4core6thread5types11__moduleRefZ@Base 13 + _D4core6thread5types12__ModuleInfoZ@Base 13 + _D4core6thread5types13ll_ThreadData6__initZ@Base 13 + _D4core6thread5types17PTHREAD_STACK_MINym@Base 13 + _D4core6thread5types24_sharedStaticCtor_L54_C1FZv@Base 14 + _D4core6thread7context11__moduleRefZ@Base 13 + _D4core6thread7context12StackContext6__initZ@Base 13 + _D4core6thread7context12__ModuleInfoZ@Base 13 + _D4core6thread7context8Callable6__initZ@Base 13 + _D4core6thread7context8Callable6opCallMFZv@Base 13 + _D4core6thread7context8Callable8opAssignMFNaNbNiNfDFZvZv@Base 13 + _D4core6thread7context8Callable8opAssignMFNaNbNiNfPFZvZv@Base 13 + _D4core6thread8osthread11__moduleRefZ@Base 13 + _D4core6thread8osthread11getStackTopFNbNiZPv@Base 13 + _D4core6thread8osthread11swapContextFNbNiPvZQd@Base 13 + _D4core6thread8osthread12__ModuleInfoZ@Base 13 + _D4core6thread8osthread12attachThreadFNbNiCQBpQBn10threadbase10ThreadBaseZQBg@Base 13 + _D4core6thread8osthread12suspendCountSQBk3sys5posix9semaphore5sem_t@Base 13 + _D4core6thread8osthread12thread_yieldFNbNiZv@Base 13 + _D4core6thread8osthread14getStackBottomFNbNiZPv@Base 13 + _D4core6thread8osthread15adjustStackSizeFNbNimZm@Base 13 + _D4core6thread8osthread16_mainThreadStoreG177v@Base 13 + _D4core6thread8osthread17thread_entryPointUNbPvZ21thread_cleanupHandlerUNaNbNiQBhZv@Base 13 + _D4core6thread8osthread18callWithStackShellFNbMDFNbPvZvZv@Base 13 + _D4core6thread8osthread18joinLowLevelThreadFNbNimZv@Base 13 + _D4core6thread8osthread18resumeSignalNumberi@Base 13 + _D4core6thread8osthread19suspendSignalNumberi@Base 13 + _D4core6thread8osthread20createLowLevelThreadFNbNiDFNbZvkQhZ20thread_lowlevelEntryUNbPvZQd@Base 13 + _D4core6thread8osthread20createLowLevelThreadFNbNiDFNbZvkQhZm@Base 13 + _D4core6thread8osthread6Thread12PRIORITY_MAXFNaNbNdNiNeZxi@Base 13 + _D4core6thread8osthread6Thread12PRIORITY_MINFNaNbNdNiNeZi@Base 13 + _D4core6thread8osthread6Thread14loadPrioritiesFNbNiNeZSQCbQBzQBvQBp8Priority@Base 13 + _D4core6thread8osthread6Thread16PRIORITY_DEFAULTFNaNbNdNiNeZi@Base 13 + _D4core6thread8osthread6Thread3runMFZv@Base 13 + _D4core6thread8osthread6Thread4joinMFbZC6object9Throwable@Base 13 + _D4core6thread8osthread6Thread5cacheOSQBkQBiQBeQy8Priority@Base 13 + _D4core6thread8osthread6Thread5sleepFNbNiSQBo4time8DurationZv@Base 13 + _D4core6thread8osthread6Thread5startMFNbZCQBoQBmQBiQBc@Base 13 + _D4core6thread8osthread6Thread5yieldFNbNiZv@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfDFZvmZCQCaQByQBuQBo@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfPFZvmZCQCaQByQBuQBo@Base 13 + _D4core6thread8osthread6Thread6__ctorMFNaNbNiNfmZCQBwQBuQBqQBk@Base 13 + _D4core6thread8osthread6Thread6__dtorMFNbNiNlZv@Base 13 + _D4core6thread8osthread6Thread6__initZ@Base 13 + _D4core6thread8osthread6Thread6__vtblZ@Base 13 + _D4core6thread8osthread6Thread7__ClassZ@Base 13 + _D4core6thread8osthread6Thread7getThisFNbNiNfZCQBtQBrQBnQBh@Base 13 + _D4core6thread8osthread6Thread8Priority6__initZ@Base 13 + _D4core6thread8osthread6Thread8priorityMFNdZi@Base 13 + _D4core6thread8osthread6Thread8priorityMFNdiZv@Base 13 + _D4core6thread8osthread6Thread9isRunningMFNbNdNiZb@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa12_5052494f524954595f4d4158ZQBtFNbNiNfZi@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa12_5052494f524954595f4d494eZQBtFNbNiNfZi@Base 13 + _D4core6thread8osthread6Thread__T10loadGlobalVAyaa16_5052494f524954595f44454641554c54ZQCbFNbNiNfZi@Base 13 + _D4core6thread8osthread6resumeFNbNiCQBiQBg10threadbase10ThreadBaseZv@Base 13 + _D4core6thread8osthread7suspendFNbNiCQBjQBhQBd6ThreadZb@Base 13 + _D4core6thread8osthread8toThreadFNaNbNiNeNkMCQBrQBp10threadbase10ThreadBaseZCQCxQCvQCr6Thread@Base 13 + _D4core6vararg11__moduleRefZ@Base 13 + _D4core6vararg12__ModuleInfoZ@Base 13 + _D4core7factory11__moduleRefZ@Base 13 + _D4core7factory12__ModuleInfoZ@Base 13 + _D4core7runtime11__moduleRefZ@Base 13 + _D4core7runtime12__ModuleInfoZ@Base 13 + _D4core7runtime14UnitTestResult6__initZ@Base 13 + _D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUiPSQCi3sys5posix6signal9siginfo_tPvZv@Base 13 + _D4core7runtime19defaultTraceHandlerFPvZC6object9Throwable9TraceInfo@Base 13 + _D4core7runtime19defaultTraceHandlerFPvZ__T8allocateTC3gcc9backtrace12LibBacktraceTiZQBqFNiiZQBo@Base 13 + _D4core7runtime23defaultTraceDeallocatorFNbC6object9Throwable9TraceInfoZv@Base 13 + _D4core7runtime25_sharedStaticCtor_L119_C1FZv@Base 13 + _D4core7runtime5CArgs6__initZ@Base 13 + _D4core7runtime7Runtime10initializeFZb@Base 13 + _D4core7runtime7Runtime16moduleUnitTesterFNdPFZbZv@Base 13 + _D4core7runtime7Runtime16moduleUnitTesterFNdZPFZb@Base 13 + _D4core7runtime7Runtime19sm_moduleUnitTesterPFZb@Base 13 + _D4core7runtime7Runtime22sm_extModuleUnitTesterPFZSQBxQBv14UnitTestResult@Base 13 + _D4core7runtime7Runtime24extendedModuleUnitTesterFNdPFZSQCcQCa14UnitTestResultZv@Base 13 + _D4core7runtime7Runtime24extendedModuleUnitTesterFNdZPFZSQCdQCb14UnitTestResult@Base 13 + _D4core7runtime7Runtime6__initZ@Base 13 + _D4core7runtime7Runtime9terminateFZb@Base 13 + _D4core8builtins11__ctfeWriteFNaNbNiNfMAxaZv@Base 13 + _D4core8builtins11__moduleRefZ@Base 13 + _D4core8builtins12__ModuleInfoZ@Base 13 + _D4core8demangle11__moduleRefZ@Base 13 + _D4core8demangle11demangleCXXFNaNbNeNkMAxaPUNaNbNexPaPaPmPiZQhNkMAaZQd@Base 13 + _D4core8demangle12__ModuleInfoZ@Base 13 + _D4core8demangle12demangleTypeFNaNbNfAxaAaZQd@Base 13 + _D4core8demangle14__cxa_demangleOPUNaNbNexPaPaPmPiZQh@Base 13 + _D4core8demangle15decodeDmdStringFNaNbNfAxaKmZAya@Base 13 + _D4core8demangle15getCXXDemanglerFNbNeZ1_UNaNbNiNexPaPaPmPiZQh@Base 14 + _D4core8demangle15getCXXDemanglerFNbNeZPUNaNbNexPaPaPmPiZQh@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks10parseLNameMFNaNbNlNeJAyaMKSQDkQDi__T8DemangleTSQEeQEcQDwFNaNbNfNkMQDiZQDiZQBmZb@Base 14.2 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11__xopEqualsMxFKxSQDaQCyQCsFNaNbNfNkMQCeZQCeZb@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks13encodeBackrefMFNaNbNlNfmZv@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks13flushPositionMFNaNbNlNfKSQDiQDg__T8DemangleTSQEcQEaQDuFNaNbNfNkMQDgZQDgZQBmZv@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks16positionInResultMFNaNbNiNlNfmZm@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks9__xtoHashFNbNeKxSQCzQCxQCrFNaNbNfNkMQCdZQCdZm@Base 13 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks9parseTypeMFNaNbNjNlNfJbKSQDhQDf__T8DemangleTSQEbQDzQDtFNaNbNfNkMQDfZQDfZQBmAaZQd@Base 14.2 + _D4core8demangle15reencodeMangledFNaNbNfNkMAxaZAa@Base 13 + _D4core8demangle15toStringConsumeFNaNbNiNfyASQBrQBp16ManglingFlagInfoKtZAya@Base 13 + _D4core8demangle16ManglingFlagInfo11__xopEqualsMxFKxSQBzQBxQBrZb@Base 13 + _D4core8demangle16ManglingFlagInfo6__initZ@Base 13 + _D4core8demangle16ManglingFlagInfo9__xtoHashFNbNeKxSQByQBwQBqZm@Base 13 + _D4core8demangle6Buffer11__xopEqualsMxFKxSQBoQBmQBgZb@Base 14 + _D4core8demangle6Buffer12bslice_emptyFNaNbNiNlNfZSQBwQBu8BufSlice@Base 14.2 + _D4core8demangle6Buffer18checkAndStretchBufMFNaNbNlNfmZv@Base 14.2 + _D4core8demangle6Buffer5shiftMFNaNbNjNlNfMxSQBqQBo8BufSliceZSQChQCfQr@Base 14.2 + _D4core8demangle6Buffer6__initZ@Base 14 + _D4core8demangle6Buffer6appendMFNaNbNlNfMAxaZv@Base 14.2 + _D4core8demangle6Buffer6bsliceMFNaNbNiNlNfmmZSQBsQBq8BufSlice@Base 14.2 + _D4core8demangle6Buffer6lengthMxFNaNbNiNlNfZm@Base 14 + _D4core8demangle6Buffer6removeMFNaNbNlNfMSQBoQBm8BufSliceZv@Base 14.2 + _D4core8demangle6Buffer7opSliceMFNaNbNiNjNlNfmmZSQBvQBt8BufSlice@Base 14.2 + _D4core8demangle6Buffer8containsFNaNbNfMAxaMxSQBsQBq8BufSliceZb@Base 14.2 + _D4core8demangle6Buffer9__xtoHashFNbNeKxSQBnQBlQBfZm@Base 14 + _D4core8demangle6Buffer9copyInputMFNaNbNjNlNfMAxaZAa@Base 14 + _D4core8demangle7NoHooks6__initZ@Base 13 + _D4core8demangle8BufSlice11__invariantMxFNaNbNfZv@Base 14.2 + _D4core8demangle8BufSlice11__xopEqualsMxFKxSQBqQBoQBiZb@Base 14.2 + _D4core8demangle8BufSlice12__invariant0MxFNaNbNfZv@Base 14.2 + _D4core8demangle8BufSlice6__ctorMFNaNbNcNiNlNfNkMAaZSQBzQBxQBr@Base 14.2 + _D4core8demangle8BufSlice6__ctorMFNaNbNcNiNlNfNkMAammbZSQCcQCaQBu@Base 14.2 + _D4core8demangle8BufSlice6__initZ@Base 14.2 + _D4core8demangle8BufSlice6lengthMxFNaNbNlNfZm@Base 14.2 + _D4core8demangle8BufSlice8getSliceMNgFNaNbNiNlNfZANga@Base 14.2 + _D4core8demangle8BufSlice9__xtoHashFNbNeKxSQBpQBnQBhZm@Base 14.2 + _D4core8demangle9funcAttrsyASQBbQz16ManglingFlagInfo@Base 13 + _D4core8demangle9typeCtorsyASQBbQz16ManglingFlagInfo@Base 13 + _D4core8demangleQjFNaNbNfNkMAxaNkMAaPUNaNbNexPaPaPmPiZQhZQx@Base 13 + _D4core8demangle__T10mangleFuncHTPFMDFyPS6object10ModuleInfoZiZiTQBfZQByFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbMDFNbPvZvZvTQpZQBhFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiAyaMDFNbNiQkZQnbZQrTQzZQBrFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiAyakQeQgmZvTQrZQBjFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiCQBm6thread10threadbase10ThreadBaseZQBkTQBtZQCmFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiCQBm6thread10threadbase10ThreadBaseZvTQBrZQCkFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiPvZQdTQlZQBdFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiPvZvTQkZQBcFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZPvTQjZQBbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZmTQiZQBaFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbNiZvTQiZQBaFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbPvMDFNbQhQjZvZvTQtZQBlFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T10mangleFuncHTPFNbPvMDFNbQhZiZvTQrZQBjFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEgQEe__TQDyTQDuZQEgFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQEfQEd__TQDxTQDtZQEfFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFMDFyPS6object10ModuleInfoZiZiZQBnFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDpQDn__TQDhTQDdZQDpFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDoQDm__TQDgTQDcZQDoFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEaQDy__TQDsTQDoZQEaFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDzQDx__TQDrTQDnZQDzFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDrQDp__TQDjTQDfZQDrFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDqQDo__TQDiTQDeZQDqFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEuQEs__TQEmTQEiZQEuFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQEtQEr__TQElTQEhZQEtFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZQBkZQCbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQEsQEq__TQEkTQEgZQEsFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQErQEp__TQEjTQEfZQErFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiCQBf6thread10threadbase10ThreadBaseZvZQBzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDlQDj__TQDdTQCzZQDlFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDkQDi__TQDcTQCyZQDkFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDkQDi__TQDcTQCyZQDkFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDjQDh__TQDbTQCxZQDjFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDjQDh__TQDbTQCxZQDjFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDhQDf__TQCzTQCvZQDhFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDiQDg__TQDaTQCwZQDiFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDhQDf__TQCzTQCvZQDhFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDuQDs__TQDmTQDiZQDuFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDtQDr__TQDlTQDhZQDtFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter10indexOfDotMxFNaNbNiNlNfZl@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter11__xopEqualsMxFKxSQDrQDp__TQDjTQDfZQDrFNaNbNfNkMQCtNkMQCtZQCuZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter5frontMxFNaNbNdNiNjNlNfZQBu@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter8popFrontMFNaNbNiNlNfZv@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter9__xtoHashFNbNeKxSQDqQDo__TQDiTQDeZQDqFNaNbNfNkMQCsNkMQCsZQCtZm@Base 13 + _D4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZQd@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10isHexDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseLNameMFNaNbNlNfJAyaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseValueMFNaNbNlNfJbMSQEfQEd8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl10parseValueMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11__xopEqualsMxFKxSQDyQDw__TQDqTQDkZQDyZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11peekBackrefMFNaNbNiNfZa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl11sliceNumberMFNaNbNiNjNlNfZQBy@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12decodeNumberMFNaNbNiNlNfJbMQBzZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12decodeNumberMFNaNbNiNlNfJbZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12demangleNameMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl12demangleTypeMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl13parseFuncAttrMFNaNbNiNfJbZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl13parseModifierMFNaNbNiNfZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl15parseSymbolNameMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16isCallConventionFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16parseMangledNameMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl16parseMangledNameMFNaNbNlNfJbbmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17isSymbolNameFrontMFNaNbNiNfJbZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseIntegerValueMFNaNbNlNfJbMSQEmQEk8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseTemplateArgsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl17parseTypeFunctionMFNaNbNjNlNfJbEQEnQEl__TQEfTQDzZQEn10IsDelegateZSQFvQFt8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl18parseFuncArgumentsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl18parseQualifiedNameMFNaNbNjNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19mayBeMangledNameArgMFNaNbNiNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19parseCallConventionMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl19parseMangledNameArgMFNaNbNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25mayBeTemplateInstanceNameMFNaNbNiNlNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25parseFunctionTypeNoReturnMFNaNbNjNlNfbZSQEvQEt8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl25parseTemplateInstanceNameMFNaNbNlNfJbbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3eatMFNaNbNiNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3padMFNaNbNfQBiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfMQBnZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfMSQDxQDv8BufSliceZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl3putMFNaNbNjNlNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl4peekMFNaNbNiNfmZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl4testMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5emptyMFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5frontMFNaNbNdNiNfZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5matchMFNaNbNiNfQBmZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5matchMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl5shiftMFNaNbNjNlNfMxSQEaQDy8BufSliceZSQErQEpQr@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__ctorMFNaNbNcNiNfNkMQBsEQEfQEd__TQDxTQDrZQEf7AddTypeNkMAaZSQFoQFm__TQFgTQFaZQFo@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__ctorMFNaNbNcNiNfNkMQBsNkMAaZSQElQEj__TQEdTQDxZQEl@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__initZ@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6silentMFNaNbNfJbDFNaNbNfJbZvZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7isAlphaFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl7isDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8popFrontMFNaNbNiNfZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8popFrontMFNaNbNiNfiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8putAsHexMFNaNbNfmiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl8putCommaMFNaNbNfmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9__xtoHashFNbNeKxSQDxQDv__TQDpTQDjZQDxZm@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9ascii2hexFNaNbNiNfJbaZh@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseRealMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseTypeMFNaNbNjNlNfJbZ10primitivesyG23Aa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl9parseTypeMFNaNbNjNlNfJbZSQEfQEd8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T10doDemangleSQDvQDt__TQDnTQDhZQDv16parseMangledNameZQCaMFNaNbNjNlNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T10doDemangleS_DQDxQDv__TQDpTQDjZQDx9parseTypeMFNaNbNjNlNfJbZSQFrQFp8BufSliceZQCzMFNaNbNjNlNfZAa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T13decodeBackrefVii0ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl__T13decodeBackrefVmi1ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10isHexDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseLNameMFNaNbNlNfJAyaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseValueMFNaNbNlNfJbMSQCuQCs8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10parseValueMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11__xopEqualsMxFKxSQCnQCl__TQCfTQBzZQCnZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11peekBackrefMFNaNbNiNfZa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa11sliceNumberMFNaNbNiNjNlNfZAxa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12decodeNumberMFNaNbNiNlNfJbMAxaZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12decodeNumberMFNaNbNiNlNfJbZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12demangleNameMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa12demangleTypeMFNaNbNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa13parseFuncAttrMFNaNbNiNfJbZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa13parseModifierMFNaNbNiNfZt@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa15parseSymbolNameMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16isCallConventionFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16parseMangledNameMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa16parseMangledNameMFNaNbNlNfJbbmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17isSymbolNameFrontMFNaNbNiNfJbZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseIntegerValueMFNaNbNlNfJbMSQDbQCz8BufSliceaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseTemplateArgsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa17parseTypeFunctionMFNaNbNjNlNfJbEQDcQDa__TQCuTQCoZQDc10IsDelegateZSQEkQEi8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa18parseFuncArgumentsMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa18parseQualifiedNameMFNaNbNjNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19mayBeMangledNameArgMFNaNbNiNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19parseCallConventionMFNaNbNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa19parseMangledNameArgMFNaNbNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25mayBeTemplateInstanceNameMFNaNbNiNlNfZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25parseFunctionTypeNoReturnMFNaNbNjNlNfbZSQDkQDi8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa25parseTemplateInstanceNameMFNaNbNlNfJbbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3eatMFNaNbNiNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3padMFNaNbNfAxaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfMAxaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfMSQCmQCk8BufSliceZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa3putMFNaNbNjNlNfaZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa4peekMFNaNbNiNfmZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa4testMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5emptyMFNaNbNdNiNfZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5frontMFNaNbNdNiNfZa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5matchMFNaNbNiNfAxaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5matchMFNaNbNiNfaZb@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa5shiftMFNaNbNjNlNfMxSQCpQCn8BufSliceZSQDgQDeQr@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__ctorMFNaNbNcNiNfNkMAxaEQCuQCs__TQCmTQCgZQCu7AddTypeNkMAaZSQEdQEb__TQDvTQDpZQEd@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__ctorMFNaNbNcNiNfNkMAxaNkMAaZSQDaQCy__TQCsTQCmZQDa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__initZ@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6silentMFNaNbNfJbDFNaNbNfJbZvZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7isAlphaFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7isDigitFNaNbNiNfaZb@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8popFrontMFNaNbNiNfZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8popFrontMFNaNbNiNfiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8putAsHexMFNaNbNfmiZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa8putCommaMFNaNbNfmZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9__xtoHashFNbNeKxSQCmQCk__TQCeTQByZQCmZm@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9ascii2hexFNaNbNiNfJbaZh@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseRealMFNaNbNlNfJbZv@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseTypeMFNaNbNjNlNfJbZ10primitivesyG23Aa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa9parseTypeMFNaNbNjNlNfJbZSQCuQCs8BufSlice@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T10doDemangleSQCkQCi__TQCcTQBwZQCk16parseMangledNameZQCaMFNaNbNjNlNfZAa@Base 13 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T10doDemangleS_DQCmQCk__TQCeTQByZQCm9parseTypeMFNaNbNjNlNfJbZSQEgQEe8BufSliceZQCzMFNaNbNjNlNfZAa@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T13decodeBackrefVii0ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa__T13decodeBackrefVmi1ZQuMFNaNbNiNfZm@Base 14.2 + _D4core8internal10attributes11__moduleRefZ@Base 13 + _D4core8internal10attributes12__ModuleInfoZ@Base 13 + _D4core8internal10entrypoint11__moduleRefZ@Base 13 + _D4core8internal10entrypoint12__ModuleInfoZ@Base 13 + _D4core8internal11destruction11__moduleRefZ@Base 13 + _D4core8internal11destruction12__ModuleInfoZ@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3gcc8sections3elf9ThreadDSOZQBvFNaNbNiNfKQBqZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std11concurrency7MessageZQBtFNfKQBiZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqZQKaFNaNbNiKQJtZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std3net4curl3FTP4ImplZQBqFKQBdZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std3net4curl4HTTP4ImplZQBrFKQBeZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std3net4curl4SMTP4ImplZQBrFKQBeZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCrFNaNbNiNfKQCmZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCsFNaNbNiNfKQCnZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCsFNaNbNiNfKQCnZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQDsFNaNbNiNfKQDnZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std4file15DirIteratorImplZQBuFNfKQBjZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTS3std5range__T10OnlyResultTaZQpZQByFNaNbNiNfKQBtZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBbZQClFNaNbNiNfKQCgZv@Base 14 + _D4core8internal11destruction__T15destructRecurseTS3std5stdio4FileZQBjFNfKQyZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBx2gc11gcinterface4RootZQBsFNaNbNiNfKQBnZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBx2gc11gcinterface5RangeZQBtFNaNbNiNfKQBoZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDlFNaNbNiNfKQDgZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDnFNaNbNiNfKQDiZv@Base 13 + _D4core8internal11destruction__T15destructRecurseTSQBxQBv9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDlFNaNbNiNfKQDgZv@Base 13 + _D4core8internal12parseoptions10parseErrorFNbNiMxAaMxQeMxQiAxaZb@Base 13 + _D4core8internal12parseoptions11__moduleRefZ@Base 13 + _D4core8internal12parseoptions12__ModuleInfoZ@Base 13 + _D4core8internal12parseoptions15overflowedErrorFNbNiMxAaMxQeZb@Base 13 + _D4core8internal12parseoptions3minFNbNimmZm@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKQfQlZb@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKbQkZb@Base 13 + _D4core8internal12parseoptions5parseFNbNiAxaKANgaKfQkZb@Base 13 + _D4core8internal12parseoptions6MemVal6__initZ@Base 13 + _D4core8internal12parseoptions8optErrorFNbNiMxAaMxQeAxaZb@Base 13 + _D4core8internal12parseoptions__T12parseOptionsTSQBv2gc6config6ConfigZQBlFNbNiKQBfAyaZb@Base 13 + _D4core8internal12parseoptions__T14rt_parseOptionTbZQtFNbNiAxaKANgaKbQkZb@Base 13 + _D4core8internal12parseoptions__T17initConfigOptionsTSQCa2gc6config6ConfigZQBqFNbNiKQBfAyaZb@Base 13 + _D4core8internal12parseoptions__T4skipX7isspaceZQpFNaNbNiNfANgaZQf@Base 13 + _D4core8internal12parseoptions__T5parseHThZQkFNbNiAxaKANgaKhQkbZb@Base 13 + _D4core8internal12parseoptions__T5parseHTkZQkFNbNiAxaKANgaKkQkbZb@Base 13 + _D4core8internal12parseoptions__T5parseHTmZQkFNbNiAxaKANgaKmQkbZb@Base 13 + _D4core8internal2gc2os10isLowOnMemFNbNimZb@Base 13 + _D4core8internal2gc2os10os_mem_mapFNbNimbZPv@Base 13 + _D4core8internal2gc2os11__moduleRefZ@Base 13 + _D4core8internal2gc2os12__ModuleInfoZ@Base 13 + _D4core8internal2gc2os12os_mem_unmapFNbNiPvmZi@Base 13 + _D4core8internal2gc2os15os_physical_memFNbNibZm@Base 14.2 + _D4core8internal2gc2os8wait_pidFNbNiibZEQBmQBkQBeQBe11ChildStatus@Base 13 + _D4core8internal2gc4bits11__moduleRefZ@Base 13 + _D4core8internal2gc4bits12__ModuleInfoZ@Base 13 + _D4core8internal2gc4bits6GCBits10clearWordsMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits10copyRangeZMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits16copyWordsShiftedMFNbNimmmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits18copyRangeRepeatingMFNbNimmPxmmZv@Base 13 + _D4core8internal2gc4bits6GCBits3setMFNaNbNiNlNemZi@Base 13 + _D4core8internal2gc4bits6GCBits4DtorMFNbNibZv@Base 13 + _D4core8internal2gc4bits6GCBits4copyMFNbNiPSQBqQBoQBiQBiQBgZv@Base 13 + _D4core8internal2gc4bits6GCBits4testMxFNaNbNiNlNemZm@Base 13 + _D4core8internal2gc4bits6GCBits4zeroMFNbNiZv@Base 13 + _D4core8internal2gc4bits6GCBits5allocMFNbNimbZv@Base 13 + _D4core8internal2gc4bits6GCBits5clearMFNaNbNiNlNemZi@Base 13 + _D4core8internal2gc4bits6GCBits6__initZ@Base 13 + _D4core8internal2gc4bits6GCBits6nwordsMxFNaNbNdNiZm@Base 13 + _D4core8internal2gc4bits6GCBits6setAllMFNbNiZv@Base 13 + _D4core8internal2gc4bits6GCBits8clrRangeMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits8setRangeMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits8setWordsMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits9clrRangeZMFNbNimmZv@Base 13 + _D4core8internal2gc4bits6GCBits9copyRangeMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits9copyWordsMFNbNimmPxmZv@Base 13 + _D4core8internal2gc4bits6GCBits9setLockedMFNaNbNiNlNemZm@Base 13 + _D4core8internal2gc4bits6GCBits9setRangeZMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw10baseOffsetFNbNimEQCfQCdQBxQBxQBvQCg4BinsZm@Base 13 + _D4core8internal2gc4impl12conservativeQw10extendTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw10initializeFZCQCbQBq11gcinterface2GC@Base 13 + _D4core8internal2gc4impl12conservativeQw10invalidateFNbNiAvhbZv@Base 14 + _D4core8internal2gc4impl12conservativeQw10mallocTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw10numExtendsl@Base 13 + _D4core8internal2gc4impl12conservativeQw10numMallocsl@Base 13 + _D4core8internal2gc4impl12conservativeQw11__moduleRefZ@Base 13 + _D4core8internal2gc4impl12conservativeQw11calcBinBaseFZG15G256s@Base 13 + _D4core8internal2gc4impl12conservativeQw11numReallocsl@Base 13 + _D4core8internal2gc4impl12conservativeQw11reallocTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10initializeFNbPSQCrQCpQCjQCjQChQCs3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10log_mallocFNbPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector10log_parentFNbPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector11log_collectFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw12LeakDetector8log_freeFNbNiPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl12conservativeQw12maxPauseTimeSQCb4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw12sentinel_addFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw12sentinel_subFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw13maxPoolMemorym@Base 13 + _D4core8internal2gc4impl12conservativeQw13sentinel_initFNbNiPvmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw13sentinel_sizeFNbNixPvmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC10freeNoSyncMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11checkNoSyncMFNbPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11fullCollectMFNbZ2goFNbPSQDcQDaQCuQCuQCsQDd3GcxZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11fullCollectMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11queryNoSyncMFNbPvZSQCx6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12_inFinalizerb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12addrOfNoSyncMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12extendNoSyncMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12mallocNoSyncMFNbmkKmxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12profileStatsMFNbNiNeZSQDa6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC12sizeOfNoSyncMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13reallocNoSyncMFNbPvmKkKmxC8TypeInfoZQt@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13reserveNoSyncMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZ2goFNbPSQDiQDgQDaQDaQCyQDj3GcxMxQBjZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC14getStatsNoSyncMFNbNiNeJSQDc6memory2GC5StatsZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC18fullCollectNoStackMFNbZ2goFNbPSQDjQDhQDbQDbQCzQDk3GcxZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC18fullCollectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4filePa@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC4linem@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5checkMFNbPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5queryMFNbPvZSQCq6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC5statsMFNbNiNfZSQCs6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__ctorMFZCQCnQClQCfQCfQCdQCoQBt@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__dtorMFNlZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6__vtblZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZ2goFNaNbNiNfPSQDaQCyQCsQCsQCqQDb3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6gcLockOSQClQCj8spinlock15AlignedSpinLock@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6lockNRFNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7__ClassZ@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZ2goFNbPSQDaQCyQCsQCsQCqQDb3GcxQBikZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZ2goFNaNbNiNfPSQDbQCzQCtQCtQCrQDc3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZ2goFNbPSQCzQCxQCrQCrQCpQDa3GcxQBhZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZ2goFNbPSQDaQCyQCsQCsQCqQDb3GcxQBikZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZ2goFNbPSQCyQCwQCqQCqQCoQCz3GcxZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC8rootIterMFNdNiZDFMDFNbKSQDbQCq11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC9isPreciseb@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC9rangeIterMFNdNiZDFMDFNbKSQDcQCr11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy10freeNoSyncMFNbNiPvZvS_DQEmQEkQEeQEeQEcQEn8freeTimelS_DQFrQFpQFjQFjQFhQFs8numFreeslTQCpZQEtMFNbNiKQDdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11checkNoSyncMFNbPvZvS_DQElQEjQEdQEdQEbQEm9otherTimelS_DQFrQFpQFjQFjQFhQFs9numOtherslTQCrZQEuMFNbKQDdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11fullCollectMFNbZ2goFNbPSQEnQElQEfQEfQEdQEo3GcxZmTQBbZQDlMFNbKQBnZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy11queryNoSyncMFNbPvZSQEi6memory8BlkInfo_S_DQFeQFcQEwQEwQEuQFf9otherTimelS_DQGkQGiQGcQGcQGaQGl9numOtherslTQDkZQFnMFNbKQDwZQDx@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12addrOfNoSyncMFNbNiPvZQdS_DQEpQEnQEhQEhQEfQEq9otherTimelS_DQFvQFtQFnQFnQFlQFw9numOtherslTQCsZQEyMFNbNiKQDgZQDk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12extendNoSyncMFNbPvmmxC8TypeInfoZmS_DQEzQExQErQErQEpQFa10extendTimelS_DQGhQGfQFzQFzQFxQGi10numExtendslTQDiTmTmTxQDmZQFvMFNbKQEdKmKmKxQEhZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12mallocNoSyncMFNbmkKmxC8TypeInfoZPvS_DQFaQEyQEsQEsQEqQFb10mallocTimelS_DQGiQGgQGaQGaQFyQGj10numMallocslTmTkTmTxQDlZQFuMFNbKmKkKmKxQEeZQDx@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy12sizeOfNoSyncMFNbNiPvZmS_DQEoQEmQEgQEgQEeQEp9otherTimelS_DQFuQFsQFmQFmQFkQFv9numOtherslTQCrZQExMFNbNiKQDfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13reallocNoSyncMFNbPvmKkKmxC8TypeInfoZQtS_DQFeQFcQEwQEwQEuQFf10mallocTimelS_DQGmQGkQGeQGeQGcQGn10numMallocslTQDmTmTkTmTxQDpZQGcMFNbKQEjKmKkKmKxQEmZQEy@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13reserveNoSyncMFNbmZmS_DQEmQEkQEeQEeQEcQEn9otherTimelS_DQFsQFqQFkQFkQFiQFt9numOtherslTmZQEtMFNbKmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy13runFinalizersMFNbMxAvZ2goFNbPSQEtQErQElQElQEjQEu3GcxMxQBjZvS_DQFzQFxQFrQFrQFpQGa9otherTimelS_DQHfQHdQGxQGxQGvQHg9numOtherslTQDsTxQEgZQGnMFNbKQEjKxQExZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy14getStatsNoSyncMFNbNiNeJSQEn6memory2GC5StatsZvS_DQFlQFjQFdQFdQFbQFm9otherTimelS_DQGrQGpQGjQGjQGhQGs9numOtherslTQDjZQFuMFNbNiNfKQDzZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy18fullCollectNoStackMFNbZ2goFNbPSQEuQEsQEmQEmQEkQEv3GcxZmTQBbZQDsMFNbKQBnZm@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy6enableMFZ2goFNaNbNiNfPSQElQEjQEdQEdQEbQEm3GcxZvS_DQFmQFkQFeQFeQFcQFn9otherTimelS_DQGsQGqQGkQGkQGiQGt9numOtherslTQDnZQFvMFNbNiNfKQEdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7clrAttrMFNbPvkZ2goFNbPSQElQEjQEdQEdQEbQEm3GcxQBikZkS_DQFqQFoQFiQFiQFgQFr9otherTimelS_DQGwQGuQGoQGoQGmQGx9numOtherslTQDrTQEfTkZQGfMFNbKQEjKQExKkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7disableMFZ2goFNaNbNiNfPSQEmQEkQEeQEeQEcQEn3GcxZvS_DQFnQFlQFfQFfQFdQFo9otherTimelS_DQGtQGrQGlQGlQGjQGu9numOtherslTQDnZQFwMFNbNiNfKQEdZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7getAttrMFNbPvZ2goFNbPSQEkQEiQEcQEcQEaQEl3GcxQBhZkS_DQFoQFmQFgQFgQFeQFp9otherTimelS_DQGuQGsQGmQGmQGkQGv9numOtherslTQDqTQEdZQGbMFNbKQEgKQEtZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy7setAttrMFNbPvkZ2goFNbPSQElQEjQEdQEdQEbQEm3GcxQBikZkS_DQFqQFoQFiQFiQFgQFr9otherTimelS_DQGwQGuQGoQGoQGmQGx9numOtherslTQDrTQEfTkZQGfMFNbKQEjKQExKkZk@Base 13 + _D4core8internal2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCsQCqQCkQCkQCiQCtQBy8minimizeMFNbZ2goFNbPSQEjQEhQEbQEbQDzQEk3GcxZvS_DQFkQFiQFcQFcQFaQFl9otherTimelS_DQGqQGoQGiQGiQGgQGr9numOtherslTQDnZQFtMFNbKQDzZv@Base 13 + _D4core8internal2gc4impl12conservativeQw14SENTINEL_EXTRAxk@Base 13 + _D4core8internal2gc4impl12conservativeQw14baseOffsetBitsyG14G4m@Base 13 + _D4core8internal2gc4impl12conservativeQw14bytesAllocatedm@Base 13 + _D4core8internal2gc4impl12conservativeQw14numCollectionsm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool10allocPagesMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool18setFreePageOffsetsMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool7getInfoMFNbPvZSQCt6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool7getSizeMxFNbNimZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool8getPagesMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool9freePagesMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool__T20mergeFreePageOffsetsVbi0Vbi1ZQBfMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15LargeObjectPool__T20mergeFreePageOffsetsVbi1Vbi1ZQBfMFNbNimmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool7getInfoMFNbPvZSQCt6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool7getSizeMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw15SmallObjectPool9allocPageMFNbEQCsQCqQCkQCkQCiQCt4BinsZPSQDsQDqQDkQDkQDiQDt4List@Base 13 + _D4core8internal2gc4impl12conservativeQw15gc_precise_ctorFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw17maxCollectionTimeSQCg4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw18initialize_preciseFZCQCjQBy11gcinterface2GC@Base 13 + _D4core8internal2gc4impl12conservativeQw18sentinel_InvariantFNbNixPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw20gc_conservative_ctorFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10initializeMFZ23atforkHandlersInstalledb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10initializeMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10rootsApplyMFNbMDFNbKSQCnQCc11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11__xopEqualsMxFKxSQCjQChQCbQCbQBzQCkQBpZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11collectForkMFNbbZEQCkQCiQCc2os11ChildStatus@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11disableForkMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11fullcollectMFNbbbbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11rangesApplyMFNbMDFNbKSQCoQCd11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11recoverPageMFNbPSQCjQChQCbQCbQBzQCk15SmallObjectPoolmEQDuQDsQDmQDmQDkQDv4BinsZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx12collectRootsMFNbNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx12markParallelMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx14scanBackgroundMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15collectAllRootsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15fork_needs_lockb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15recoverNextPageMFNbEQCmQCkQCeQCeQCcQCn4BinsZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx15stopScanThreadsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx16startScanThreadsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx17collectInProgressMxFNbNdZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx17pullFromScanStackMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx18maxParallelThreadsMFNbZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx18setNextRecoverPoolMFNbEQCpQCnQChQChQCfQCq4BinsmZPSQDqQDoQDiQDiQDgQDr15SmallObjectPool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx19_d_gcx_atfork_childUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx20_d_gcx_atfork_parentUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx21_d_gcx_atfork_prepareUZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZ11smoothDecayFNaNbNiNfffZf@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZ3maxFNaNbNiNfffZf@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx23updateCollectThresholdsMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx4DtorMFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx5allocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx5sweepMFNbZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx6lowMemMxFNbNdZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7getInfoMFNbPvZSQCg6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7newPoolMFNbmbZPSQChQCfQBzQBzQBxQCi4Pool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7prepareMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8addRangeMFNbNiPvQcxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8bigAllocMFNbmKmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8binTableyG2049EQCgQCeQByQByQBwQCh4Bins@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8ctfeBinsFNbZG2049EQCjQChQCbQCbQBzQCk4Bins@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findBaseMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findPoolMFNaNbNiPvZPSQCmQCkQCeQCeQCcQCn4Pool@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8findSizeMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8instancePSQCbQBzQBtQBtQBrQCcQBh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8isMarkedMFNbNlPvZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8markForkMFNbbbbZ13wrap_delegateUPvZi@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8markForkMFNbbbbZEQCiQCgQCa2os11ChildStatus@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9InvariantMxFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9__xtoHashFNbNeKxSQCiQCgQCaQCaQByQCjQBoZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx9allocPageMFNbEQCfQCdQBxQBxQBvQCg4BinsZPSQDfQDdQCxQCxQCvQDg4List@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr3popMFNaNbNiZQs@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr4pushMFNbNiQqZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr7opIndexMNgFNaNbNcNimZNgPv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr8opAssignMFNaNbNcNiNjNeSQDkQDiQDcQDcQDaQDlQCq__TQCpTQCfZQCxZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr9popLockedMFNbNiKQwZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf3popMFNaNbNiZQCh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf4pushMFNbNiQCfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf7opIndexMNgFNaNbNcNimZNgSQFaQEyQEsQEsQEqQFbQEg__TQCsVbi0ZQDa@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf8opAssignMFNaNbNcNiNjNeSQEzQExQErQErQEpQFaQEf__TQEeTQDuZQEmZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi0ZQpZQCf9popLockedMFNbNiKQClZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf3popMFNaNbNiZQCh@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf4growMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf4pushMFNbNiQCfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5clearMFNaNbNiNfZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf5resetMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf7opIndexMNgFNaNbNcNimZNgSQFaQEyQEsQEsQEqQFbQEg__TQCsVbi1ZQDa@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf8opAssignMFNaNbNcNiNjNeSQEzQExQErQErQEpQFaQEf__TQEeTQDuZQEmZQBl@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQCiQCgQCaQCaQByQCjQBo__T9ScanRangeVbi1ZQpZQCf9popLockedMFNbNiKQClZb@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11markPreciseVbi0ZQsMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T11markPreciseVbi1ZQsMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T16markConservativeVbi0ZQxMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T16markConservativeVbi1ZQxMFNbNiNlPvQcZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T21pullFromScanStackImplVbi0ZQBcMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T21pullFromScanStackImplVbi1ZQBcMFNbNiZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi0Vbi0ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi0Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi1Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi0ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi0Vbi0ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi0Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T4markVbi1Vbi1Vbi1ZQsMFNbNiNlSQCwQCuQCoQCoQCmQCxQCc__T9ScanRangeVbi1ZQpZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T11markPreciseVbi0ZQsMFNbNiNlPvQcZvZQCsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T11markPreciseVbi1ZQsMFNbNiNlPvQcZvZQCsMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T16markConservativeVbi0ZQxMFNbNiNlPvQcZvZQCxMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T7markAllS_DQCeQCcQBwQBwQBuQCfQBk__T16markConservativeVbi1ZQxMFNbNiNlPvQcZvZQCxMFNbbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi0ZQp6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi1ZQp6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw3setFNaNbNiKG4mmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool10initializeMFNbmbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool12freePageBitsMFNbmMKxG4mZv@Base 14 + _D4core8internal2gc4impl12conservativeQw4Pool15freeAllPageBitsMFNbmZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool16setPointerBitmapMFNbPvmmxC8TypeInfokZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool21setPointerBitmapSmallMFNbPvmmkxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool4DtorMFNbZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool6isFreeMxFNaNbNdNiNlNfZb@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7ShiftBy6__initZ@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7clrBitsMFNbNimkZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7getBitsMFNbmZk@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool7setBitsMFNbmkZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool8findBaseMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool8numPagesFNbNimZm@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9InvariantMxFZv@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9pagenumOfMxFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9slGetInfoMFNbPvZSQCj6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl12conservativeQw4Pool9slGetSizeMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl12conservativeQw7binbaseyG15G256s@Base 13 + _D4core8internal2gc4impl12conservativeQw7binsizeyG15s@Base 13 + _D4core8internal2gc4impl12conservativeQw8freeTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw8lockTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw8markTimeSQBw4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw8numFreesl@Base 13 + _D4core8internal2gc4impl12conservativeQw8prepTimeSQBw4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw9numOthersl@Base 13 + _D4core8internal2gc4impl12conservativeQw9otherTimel@Base 13 + _D4core8internal2gc4impl12conservativeQw9pauseTimeSQBx4time8Duration@Base 13 + _D4core8internal2gc4impl12conservativeQw9sweepTimeSQBx4time8Duration@Base 13 + _D4core8internal2gc4impl5protoQo11__moduleRefZ@Base 13 + _D4core8internal2gc4impl5protoQo12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC10rootsApplyMFMDFNbKSQChQBw11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11__fieldDtorMFNbNiNlZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11rangesApplyMFMDFNbKSQCiQBx11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC12profileStatsMFNbNiNfZSQCk6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC22transferRangesAndRootsMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC4DtorMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC5queryMFNbPvZSQCa6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC5statsMFNbNiNfZSQCc6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__ctorMFZCQBxQBvQBpQBpQBnQByQBl@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__initZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6__vtblZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6callocMFNbmkMxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6enableMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6extendMFNbPvmmMxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6mallocMFNbmkMxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6qallocMFNbmkMxC8TypeInfoZSQCn6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7__ClassZ@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7disableMFZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7reallocMFNbPvmkMxC8TypeInfoZQr@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC8rootIterMFNdNiNlNjZDFMDFNbKSQCpQCe11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl5protoQo7ProtoGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCqQCf11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl6manualQp10initializeFZCQBuQBj11gcinterface2GC@Base 13 + _D4core8internal2gc4impl6manualQp11__moduleRefZ@Base 13 + _D4core8internal2gc4impl6manualQp12__ModuleInfoZ@Base 13 + _D4core8internal2gc4impl6manualQp14gc_manual_ctorFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10__aggrDtorMFNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10removeRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC10rootsApplyMFMDFNbKSQCjQBy11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11__fieldDtorMFNbNiNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11inFinalizerMFNbNiNfZb@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11rangesApplyMFMDFNbKSQCkQBz11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC11removeRangeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC12profileStatsMFNbNiNfZSQCm6memory2GC12ProfileStats@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC13runFinalizersMFNbMxAvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC14collectNoStackMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC24allocatedInCurrentThreadMFNbZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC4freeMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC5queryMFNbPvZSQCc6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC5statsMFNbNiNfZSQCe6memory2GC5Stats@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__ctorMFZCQBzQBxQBrQBrQBpQCaQBm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__dtorMFNlZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__initZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6__vtblZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6addrOfMFNbNiPvZQd@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6enableMFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6qallocMFNbmkMxC8TypeInfoZSQCp6memory8BlkInfo_@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC6sizeOfMFNbNiPvZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7__ClassZ@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7addRootMFNbNiPvZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7clrAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7collectMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7disableMFZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7getAttrMFNbPvZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7reserveMFNbmZm@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC7setAttrMFNbPvkZk@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8minimizeMFNbZv@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC8rootIterMFNdNiNlNjZDFMDFNbKSQCrQCg11gcinterface4RootZiZi@Base 13 + _D4core8internal2gc4impl6manualQp8ManualGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCsQCh11gcinterface5RangeZiZi@Base 13 + _D4core8internal2gc5proxy11__moduleRefZ@Base 13 + _D4core8internal2gc5proxy12__ModuleInfoZ@Base 13 + _D4core8internal2gc5proxy12instanceLockOSQBnQBl8spinlock8SpinLock@Base 13 + _D4core8internal2gc5proxy14isInstanceInitb@Base 13 + _D4core8internal2gc5proxy8instanceFNbNiNeZCQBpQBe11gcinterface2GC@Base 13 + _D4core8internal2gc5proxy9_instanceCQBiQx11gcinterface2GC@Base 13 + _D4core8internal2gc5proxy9proxiedGCCQBiQx11gcinterface2GC@Base 13 + _D4core8internal2gc9pooltable11__moduleRefZ@Base 13 + _D4core8internal2gc9pooltable12__ModuleInfoZ@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx4DtorMFNbNiZv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6insertMFNbNiPQCdZb@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6lengthMxFNaNbNdNiNlNfZm@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7maxAddrMxFNaNbNdNiNfZPxv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7minAddrMxFNaNbNdNiNfZPxv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opIndexMNgFNaNbNcNiNjNemZNgPSQEiQEgQEaQCsQCqQEjQCf@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opSliceMNgFNaNbNiNjNeZANgPSQEgQEeQDyQCqQCoQEhQCd@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx7opSliceMNgFNaNbNiNjNemmZANgPSQEiQEgQEaQCsQCqQEjQCf@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8findPoolMFNaNbNiPvZPQCk@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8minimizeMFNaNbNiZ4swapFNaNbNiNfKPQCxKQfZv@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx8minimizeMFNaNbNiZAPQCj@Base 13 + _D4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx9InvariantMxFNaNbNiZv@Base 13 + _D4core8internal3utf10UTF8strideyAi@Base 13 + _D4core8internal3utf10toUCSindexFNaNbNiNfMxAwmZm@Base 13 + _D4core8internal3utf10toUCSindexFNaNfMxAamZm@Base 13 + _D4core8internal3utf10toUCSindexFNaNfMxAumZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNbNiNfMxAumZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNbNiNfMxAwmZm@Base 13 + _D4core8internal3utf10toUTFindexFNaNfMxAamZm@Base 13 + _D4core8internal3utf11__moduleRefZ@Base 13 + _D4core8internal3utf12__ModuleInfoZ@Base 13 + _D4core8internal3utf12isValidDcharFNaNbNiNfwZb@Base 13 + _D4core8internal3utf6decodeFNaNfMxAaKmZw@Base 13 + _D4core8internal3utf6decodeFNaNfMxAuKmZw@Base 13 + _D4core8internal3utf6decodeFNaNfMxAwKmZw@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAawZv@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAuwZv@Base 13 + _D4core8internal3utf6encodeFNaNbNfKAwwZv@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAamZk@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAumZk@Base 13 + _D4core8internal3utf6strideFNaNbNiNfMxAwmZk@Base 13 + _D4core8internal3utf6toUTF8FNaNbNfNkMAyaZQe@Base 13 + _D4core8internal3utf6toUTF8FNaNbNiNfNkMAawZQe@Base 13 + _D4core8internal3utf6toUTF8FNaNeMxAuZAya@Base 13 + _D4core8internal3utf6toUTF8FNaNeMxAwZAya@Base 13 + _D4core8internal3utf7toUTF16FNaNbNeMxAwZAyu@Base 13 + _D4core8internal3utf7toUTF16FNaNbNfNkMAyuZQe@Base 13 + _D4core8internal3utf7toUTF16FNaNbNiNfNkMAuwZQe@Base 13 + _D4core8internal3utf7toUTF16FNaNeMxAaZAyu@Base 13 + _D4core8internal3utf7toUTF32FNaNbNfNkMAywZQe@Base 13 + _D4core8internal3utf7toUTF32FNaNeMxAaZAyw@Base 13 + _D4core8internal3utf7toUTF32FNaNeMxAuZAyw@Base 13 + _D4core8internal3utf8toUTF16zFNaNfMxAaZPxu@Base 13 + _D4core8internal3utf__T13isValidStringTAyaZQuFNaNbNfMxAyaZb@Base 13 + _D4core8internal3utf__T13isValidStringTAyuZQuFNaNbNfMxAyuZb@Base 13 + _D4core8internal3utf__T13isValidStringTAywZQuFNaNbNfMxAywZb@Base 13 + _D4core8internal4hash11__moduleRefZ@Base 13 + _D4core8internal4hash12__ModuleInfoZ@Base 13 + _D4core8internal4hash__T13coalesceFloatTdZQsFNaNbNiNfxdZd@Base 13 + _D4core8internal4hash__T13coalesceFloatTeZQsFNaNbNiNfxeZe@Base 13 + _D4core8internal4hash__T13coalesceFloatTfZQsFNaNbNiNfxfZf@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility16__c_complex_realZQBuFNaNbNiNfQBymZm@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility17__c_complex_floatZQBvFNaNbNiNfQBzmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxE2rt4util7utility18__c_complex_doubleZQBwFNaNbNiNfQCamZm@Base 13 + _D4core8internal4hash__T6hashOfTAxPvZQnFNaNbNiNfMxAQrmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxPyS6object10ModuleInfoZQBhFNaNbNiNfMxAQBmmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxaZQmFNaNbNiNfMxAamZm@Base 13 + _D4core8internal4hash__T6hashOfTAxdZQmFNaNbNiNfMxAdmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxeZQmFNaNbNiNfMxAemZm@Base 13 + _D4core8internal4hash__T6hashOfTAxfZQmFNaNbNiNfMxAfmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxhZQmFNaNbNiNfMxAhmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxkZQmFNaNbNiNfMxAkmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxmZQmFNaNbNiNfMxAmmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxtZQmFNaNbNiNfMxAtmZm@Base 13 + _D4core8internal4hash__T6hashOfTAxvZQmFNaNbNiNfMxAvmZm@Base 13 + _D4core8internal4hash__T6hashOfTAyaZQmFNaNbNiNfMxAyamZm@Base 13 + _D4core8internal4hash__T6hashOfTAykZQmFNaNbNiNfMxAykmZm@Base 13 + _D4core8internal4hash__T6hashOfTDFZvZQnFNaNbNiNeMxDQsmZm@Base 13 + _D4core8internal4hash__T6hashOfTE3std8encoding3BOMZQBbFNaNbNiNeMxEQBhQBgQBaZm@Base 14 + _D4core8internal4hash__T6hashOfTG2kZQmFNaNbNiNfMKxG2kmZm@Base 14 + _D4core8internal4hash__T6hashOfTG31hZQnFNaNbNiNfMKxG31hmZm@Base 14 + _D4core8internal4hash__T6hashOfTPvZQlFNaNbNiNeMxPvmZm@Base 13 + _D4core8internal4hash__T6hashOfTPxG32hZQpFNaNbNiNeMxPQtZm@Base 13 + _D4core8internal4hash__T6hashOfTPxS3std11concurrency3TidZQBhFNaNbNiNeMxPQBmZm@Base 13 + _D4core8internal4hash__T6hashOfTPxvZQmFNaNbNiNeMxPvZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTdZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTeZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTS2rt4util7utility__T8_ComplexTfZQmZQBrFNaNbNiNfQBvmZm@Base 13 + _D4core8internal4hash__T6hashOfTaZQkFNaNbNiNeMxaZm@Base 14 + _D4core8internal4hash__T6hashOfTbZQkFNaNbNiNeMxbZm@Base 14 + _D4core8internal4hash__T6hashOfTdZQkFNaNbNiNeMxdZm@Base 14 + _D4core8internal4hash__T6hashOfTdZQkFNaNbNiNeMxdmZm@Base 14 + _D4core8internal4hash__T6hashOfTeZQkFNaNbNiNeMxeZm@Base 14 + _D4core8internal4hash__T6hashOfTeZQkFNaNbNiNeMxemZm@Base 14 + _D4core8internal4hash__T6hashOfTfZQkFNaNbNiNeMxfZm@Base 14 + _D4core8internal4hash__T6hashOfTfZQkFNaNbNiNeMxfmZm@Base 14 + _D4core8internal4hash__T6hashOfThZQkFNaNbNiNeMxhZm@Base 14 + _D4core8internal4hash__T6hashOfThZQkFNaNbNiNeMxhmZm@Base 14 + _D4core8internal4hash__T6hashOfTiZQkFNaNbNiNeMxiZm@Base 14 + _D4core8internal4hash__T6hashOfTkZQkFNaNbNiNeMxkZm@Base 14 + _D4core8internal4hash__T6hashOfTkZQkFNaNbNiNeMxkmZm@Base 14 + _D4core8internal4hash__T6hashOfTmZQkFNaNbNiNeMxmZm@Base 14 + _D4core8internal4hash__T6hashOfTmZQkFNaNbNiNeMxmmZm@Base 14 + _D4core8internal4hash__T6hashOfTtZQkFNaNbNiNeMxtZm@Base 14 + _D4core8internal4hash__T6hashOfTuZQkFNaNbNiNeMxuZm@Base 14 + _D4core8internal4hash__T6hashOfTxC15TypeInfo_StructZQBcFNbNfxQBcZm@Base 13 + _D4core8internal4hash__T6hashOfTxC8TypeInfoZQuFNbNfxQtZm@Base 13 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility16__c_complex_realZQBtFNaNbNiNfKxQBymZm@Base 13 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility17__c_complex_floatZQBuFNaNbNiNfKxQBzmZm@Base 13 + _D4core8internal4hash__T6hashOfTxE2rt4util7utility18__c_complex_doubleZQBvFNaNbNiNfKxQCamZm@Base 13 + _D4core8internal4hash__T6hashOfTxS3std3uni21DecompressedIntervalsZQBqFNaNbNiNfKxQBvZm@Base 13 + _D4core8internal4hash__T6hashOfTxS3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b305dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDuZQFjFNaNbNiNfKxQFoZm@Base 13 + _D4core8internal4hash__T6hashOfTxS3std9algorithm9iteration__T9MapResultSQBm10functional__T8unaryFunVAyaa4_615b315dVQpa1_61ZQBhTSQDq3uni21DecompressedIntervalsZQDuZQFjFNaNbNiNfKxQFoZm@Base 13 + _D4core8internal4hash__T9bytesHashVbi0ZQpFNaNbNiNeMAxhmZm@Base 13 + _D4core8internal4hash__T9bytesHashVbi1ZQpFNaNbNiNeMAxhmZm@Base 13 + _D4core8internal4hash__T9get32bitsZQlFNaNbNiMPxhZk@Base 13 + _D4core8internal4util4math11__moduleRefZ@Base 13 + _D4core8internal4util4math12__ModuleInfoZ@Base 13 + _D4core8internal4util4math__T3maxTmZQhFNaNbNiNfmmZm@Base 13 + _D4core8internal4util4math__T3minTkZQhFNaNbNiNfkkZk@Base 13 + _D4core8internal4util5array10arrayToPtrFNbNexAvZm@Base 13 + _D4core8internal4util5array11__moduleRefZ@Base 13 + _D4core8internal4util5array12__ModuleInfoZ@Base 13 + _D4core8internal4util5array17_enforceNoOverlapFNbNfxAammxmZv@Base 13 + _D4core8internal4util5array18_enforceSameLengthFNbNfxAaxmxmZv@Base 13 + _D4core8internal4util5array21_enforceNoOverlapNogcFNbNfKxAammxmZv@Base 13 + _D4core8internal4util5array22_enforceSameLengthNogcFNbNfKxAaxmxmZv@Base 13 + _D4core8internal4util5array27enforceRawArraysConformableFNbNfxAaxmxAvxQdxbZv@Base 13 + _D4core8internal4util5array31enforceRawArraysConformableNogcFNbNfxAaxmxAvxQdxbZv@Base 13 + _D4core8internal4util5array6_storeG256a@Base 13 + _D4core8internal4util5array__T12errorMessageTxmTxmZQvFNbNiNeMxPaxAaxmxmZAa@Base 13 + _D4core8internal5abort11__moduleRefZ@Base 13 + _D4core8internal5abort12__ModuleInfoZ@Base 13 + _D4core8internal5abortQgFNbNiNfMAyaMQemZ8writeStrFNbNiNeAAxaXv@Base 13 + _D4core8internal5abortQgFNbNiNfMAyaMQemZv@Base 13 + _D4core8internal5array10comparison11__moduleRefZ@Base 13 + _D4core8internal5array10comparison12__ModuleInfoZ@Base 13 + _D4core8internal5array10comparison__T5__cmpTaZQjFNaNbNiNeMxAaMxQeZi@Base 13 + _D4core8internal5array10comparison__T5__cmpThZQjFNaNbNiNeMxAhMxQeZi@Base 13 + _D4core8internal5array10operations10isBinaryOpFNaNbNiNfMAyaZb@Base 13 + _D4core8internal5array10operations11__moduleRefZ@Base 13 + _D4core8internal5array10operations12__ModuleInfoZ@Base 13 + _D4core8internal5array10operations16isBinaryAssignOpFAyaZb@Base 13 + _D4core8internal5array10operations8toStringFmZAya@Base 13 + _D4core8internal5array10operations9isUnaryOpFNaNbNiNfMAyaZb@Base 13 + _D4core8internal5array11arrayassign11__moduleRefZ@Base 13 + _D4core8internal5array11arrayassign12__ModuleInfoZ@Base 13 + _D4core8internal5array11arrayassign27enforceRawArraysConformableFNaNbNiNexAaxmxAvxQdxbZv@Base 13 + _D4core8internal5array11duplication11__moduleRefZ@Base 13 + _D4core8internal5array11duplication12__ModuleInfoZ@Base 13 + _D4core8internal5array11duplication__T4_dupTS3std8datetime8timezone13PosixTimeZone10LeapSecondTySQCaQBzQBtQBnQBbZQCxFNaNbNeMAQDdZAyQBj@Base 13 + _D4core8internal5array11duplication__T4_dupTS3std8datetime8timezone13PosixTimeZone10TransitionTySQCaQBzQBtQBnQBbZQCxFNaNbNeMAQDdZAyQBj@Base 13 + _D4core8internal5array11duplication__T4_dupTaTyaZQlFNaNbNeMAaZAya@Base 13 + _D4core8internal5array11duplication__T4_dupTxAyaTAyaZQpFNaNbNeMAxQuZAQu@Base 13 + _D4core8internal5array11duplication__T4_dupTxaTaZQlFNaNbNeMAxaZAa@Base 13 + _D4core8internal5array11duplication__T4_dupTxaTyaZQmFNaNbNeMAxaZAya@Base 13 + _D4core8internal5array11duplication__T4_dupTxhThZQlFNaNbNeMAxhZAh@Base 13 + _D4core8internal5array11duplication__T4_dupTxhTyhZQmFNaNbNeMAxhZAyh@Base 13 + _D4core8internal5array11duplication__T4_dupTxkTkZQlFNaNbNeMAxkZAk@Base 13 + _D4core8internal5array11duplication__T4_dupTxmTmZQlFNaNbNeMAxmZAm@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTS3std8datetime8timezone13PosixTimeZone10LeapSecondTySQCaQBzQBtQBnQBbZQDbFNaNbNfMAQDdZAyQBj@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTS3std8datetime8timezone13PosixTimeZone10TransitionTySQCaQBzQBtQBnQBbZQDbFNaNbNfMAQDdZAyQBj@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTaTyaZQpFNaNbNfMAaZAya@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxAyaTAyaZQtFNaNbNfMAxQuZAQu@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxaTaZQpFNaNbNfMAxaZAa@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxaTyaZQqFNaNbNfMAxaZAya@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxhThZQpFNaNbNfMAxhZAh@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxhTyhZQqFNaNbNfMAxhZAyh@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxkTkZQpFNaNbNfMAxkZAk@Base 13 + _D4core8internal5array11duplication__T8_dupCtfeTxmTmZQpFNaNbNfMAxmZAm@Base 13 + _D4core8internal5array12construction11__moduleRefZ@Base 13 + _D4core8internal5array12construction12__ModuleInfoZ@Base 13 + _D4core8internal5array12construction__T12_d_newarrayTTAaZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTAfZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTC3std11parallelism17ParallelismThreadZQCbFNaNbNembZAQCa@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTPS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQCtFNaNbNembZAQCs@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTPS3std8datetime8timezone13PosixTimeZone6TTInfoZQCkFNaNbNembZAQCj@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTPaZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTS3std5regexQCg2ir8BytecodeZQBqFNaNbNembZAQBp@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTS3std8datetime8timezone13PosixTimeZone10TempTTInfoZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTS3std8datetime8timezone13PosixTimeZone10TransitionZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCsFNaNbNembZAQCr@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTaZQrFNaNbNembZAa@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTbZQrFNaNbNembZAb@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTThZQrFNaNbNembZAh@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTkZQrFNaNbNembZAk@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTlZQrFNaNbNembZAl@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTmZQrFNaNbNembZAm@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTuZQrFNaNbNembZAu@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayTTwZQrFNaNbNembZAw@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTAaZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTAfZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTAyaZQtFNaNbNembZAQr@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTC3std11parallelism17ParallelismThreadZQCbFNaNbNembZAQCa@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTPS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQCtFNaNbNembZAQCs@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTPS3std8datetime8timezone13PosixTimeZone6TTInfoZQCkFNaNbNembZAQCj@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTPaZQsFNaNbNembZAQq@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTS3std5regexQCg2ir8BytecodeZQBqFNaNbNembZAQBp@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTS3std8datetime8timezone13PosixTimeZone10TempTTInfoZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTS3std8datetime8timezone13PosixTimeZone10TransitionZQCoFNaNbNembZAQCn@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCsFNaNbNembZAQCr@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTaZQrFNaNbNembZAa@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTbZQrFNaNbNembZAb@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUThZQrFNaNbNembZAh@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTkZQrFNaNbNembZAk@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTlZQrFNaNbNembZAl@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTmZQrFNaNbNembZAm@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTuZQrFNaNbNembZAu@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTwZQrFNaNbNembZAw@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTyS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCpFNaNbNembZAyQCo@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTyS3std8datetime8timezone13PosixTimeZone10TransitionZQCpFNaNbNembZAyQCo@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTyaZQsFNaNbNembZAya@Base 14.2 + _D4core8internal5array12construction__T12_d_newarrayUTyhZQsFNaNbNembZAyh@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTAyaZQBeFNaNbNembZAQs@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTaZQBcFNaNbNembZAa@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowThZQBcFNaNbNembZAh@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTkZQBcFNaNbNembZAk@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTmZQBcFNaNbNembZAm@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTyS3std8datetime8timezone13PosixTimeZone10LeapSecondZQDaFNaNbNembZAyQCo@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTyS3std8datetime8timezone13PosixTimeZone10TransitionZQDaFNaNbNembZAyQCo@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTyaZQBdFNaNbNembZAya@Base 14.2 + _D4core8internal5array12construction__T23_d_newarrayUPureNothrowTyhZQBdFNaNbNembZAyh@Base 14.2 + _D4core8internal5array13concatenation11__moduleRefZ@Base 13 + _D4core8internal5array13concatenation12__ModuleInfoZ@Base 13 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAS3std3zip10ZipArchive7SegmentTQBfTQBjZQCeFNaNbNeQBxQCaZQCe@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeTQkZQBeFNaNbNeQuQwQBbZQBf@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeZQBbFNaNbNeQrKQuZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAaTAxaTQeZQBbFNaNbNeQrQtZQz@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAhTAxhTQeZQBbFNaNbNeQrQtZQz@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgTQBkTQBoTQBsTQBwTQCaZQCvFNaNbNeQCoKQCsQCvKQCzQDcKQDgQDjKQDnQDqKQDuQDxKQEbQEeKQEiQElZQEp@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgTQBkTQBoTQBsTQBwZQCrFNaNbNeQCkKQCoQCrKQCvQCyKQDcQDfKQDjQDmKQDqQDtKQDxQEaKQEeZQEi@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgTQBkTQBoTQBsZQCnFNaNbNeQCgKQCkQCnKQCrQCuKQCyQDbKQDfQDiKQDmQDpKQDtQDwZQEa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgTQBkTQBoZQCjFNaNbNeQCcKQCgQCjKQCnQCqKQCuQCxKQDbQDeKQDiQDlKQDpZQDt@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgTQBkZQCfFNaNbNeQByKQCcQCfKQCjQCmKQCqQCtKQCxQDaKQDeQDhZQDl@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcTQBgZQCbFNaNbNeQBuKQByQCbKQCfQCiKQCmQCpKQCtQCwKQDaZQDe@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzTQBcZQBxFNaNbNeQBqKQBuQBxKQCbQCeKQCiQClKQCpQCsZQCw@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwTQzZQBtFNaNbNeQBmKQBqQBtKQBxQCaKQCeQChKQClZQCp@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtTQwZQBqFNaNbNeQBjKQBnQBqKQBuQBxKQCbQCeZQCi@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqTQtZQBnFNaNbNeQBgKQBkQBnKQBrQBuKQByZQCc@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqZQBkFNaNbNeQBdKQBhQBkKQBoQBrZQBv@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnTQqZQBkFNaNbNeQBdQBgQBjQBmQBpZQBt@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnZQBhFNaNbNeKQBbQBeKQBiQBlZQBp@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnZQBhFNaNbNeKQBbQBeQBhQBkZQBo@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnZQBhFNaNbNeQBaKQBeQBhKQBlZQBp@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTQnZQBhFNaNbNeQBaQBdQBgQBjZQBn@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkTyaZQBhFNaNbNeKQBbQBeKQBiyaZQBo@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeKQyKQBbQBeZQBi@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeKQyQBaKQBeZQBi@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeKQyQBaQBdZQBh@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeQxKQBaQBdZQBh@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhTQkZQBeFNaNbNeQxQzQBbZQBf@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeKQvKQyZQBb@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeKQvQxZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeQuKQxZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTQhZQBbFNaNbNeQuQwZQz@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTxAyaTQmZQBgFNaNbNeQzKxQvQBfZQBj@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTxAyaTyaZQBgFNaNbNeQzKxQvyaZQBi@Base 14.2 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTxAyaZQBdFNaNbNeQwKxQsZQBd@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTyAaTQlZQBfFNaNbNeQyKyQuQBeZQBi@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTyAaZQBcFNaNbNeQvKyQrZQBc@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTyaZQBbFNaNbNeKQvyaZQBa@Base 14 + _D4core8internal5array13concatenation__T14_d_arraycatnTXTAyaTQeTyaZQBbFNaNbNeQuKyaZQBa@Base 14 + _D4core8internal5array5utils11__moduleRefZ@Base 13 + _D4core8internal5array5utils11gcStatsPureFNaNbZSQBu6memory2GC5Stats@Base 13 + _D4core8internal5array5utils12__ModuleInfoZ@Base 13 + _D4core8internal5array5utils14accumulatePureFNaNbAyaiQeQgmZ12impureBypassFNbNiQBdiQBhQBkmZm@Base 13 + _D4core8internal5array5utils14accumulatePureFNaNbAyaiQeQgmZm@Base 13 + _D4core8internal5array5utils__T12__arrayAllocTAaZQsFNaNbNemZSQCh6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTAfZQsFNaNbNemZSQCh6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTAyaZQtFNaNbNemZSQCi6memory8BlkInfo_@Base 14.2 + _D4core8internal5array5utils__T12__arrayAllocTC3std11parallelism17ParallelismThreadZQCbFNaNbNemZSQDr6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTPS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQCtFNaNbNemZSQEj6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTPS3std8datetime8timezone13PosixTimeZone6TTInfoZQCkFNaNbNemZSQEa6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTPaZQsFNaNbNemZSQCh6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTS3std5regexQBy2ir8BytecodeZQBqFNaNbNemZSQDg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCoFNaNbNemZSQEe6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTS3std8datetime8timezone13PosixTimeZone10TempTTInfoZQCoFNaNbNemZSQEe6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTS3std8datetime8timezone13PosixTimeZone10TransitionZQCoFNaNbNemZSQEe6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCsFNaNbNemZSQEi6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTaZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTbZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocThZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTkZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTlZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTmZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTuZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayAllocTwZQrFNaNbNemZSQCg6memory8BlkInfo_@Base 14 + _D4core8internal5array5utils__T12__arrayStartZQpFNaNbNiNkMSQCf6memory8BlkInfo_ZPv@Base 14 + _D4core8internal5array5utils__T15__arrayClearPadZQsFNaNbNiKSQCg6memory8BlkInfo_mmZv@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTAaZQBbFNaNbNiKSQCq6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTAfZQBbFNaNbNiKSQCq6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTAyaZQBcFNaNbNiKSQCr6memory8BlkInfo_mbmZb@Base 14.2 + _D4core8internal5array5utils__T21__setArrayAllocLengthTC3std11parallelism17ParallelismThreadZQCkFNaNbNiKSQDz6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTPS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQDcFNaNbNiKSQEr6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTPS3std8datetime8timezone13PosixTimeZone6TTInfoZQCtFNaNbNiKSQEi6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTPaZQBbFNaNbNiKSQCq6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTS3std5regexQCh2ir8BytecodeZQBzFNaNbNiKSQDo6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCxFNaNbNiKSQEm6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTS3std8datetime8timezone13PosixTimeZone10TempTTInfoZQCxFNaNbNiKSQEm6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTS3std8datetime8timezone13PosixTimeZone10TransitionZQCxFNaNbNiKSQEm6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQDbFNaNbNiKSQEq6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTaZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTbZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthThZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTkZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTlZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTmZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTuZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array5utils__T21__setArrayAllocLengthTwZQBaFNaNbNiKSQCp6memory8BlkInfo_mbmZb@Base 14 + _D4core8internal5array7casting11__moduleRefZ@Base 13 + _D4core8internal5array7casting12__ModuleInfoZ@Base 13 + _D4core8internal5array7casting__T11__ArrayCastThTuZQsFNaNbNiNeNkMAhZAu@Base 13 + _D4core8internal5array7casting__T11__ArrayCastThTuZQsFNaNiNeNkMAhZ5Array6__initZ@Base 13 + _D4core8internal5array7casting__T11__ArrayCastThTwZQsFNaNbNiNeNkMAhZAw@Base 13 + _D4core8internal5array7casting__T11__ArrayCastThTwZQsFNaNiNeNkMAhZ5Array6__initZ@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTvTS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4NodeZQHqFNaNbNiNeNkMAvZAQHt@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTvTS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4NodeZQHqFNaNiNeNkMAvZ5Array6__initZ@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTxhTxuZQuFNaNbNiNeNkMAxhZAxu@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTxhTxuZQuFNaNiNeNkMAxhZ5Array6__initZ@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTxhTxwZQuFNaNbNiNeNkMAxhZAxw@Base 13 + _D4core8internal5array7casting__T11__ArrayCastTxhTxwZQuFNaNiNeNkMAxhZ5Array6__initZ@Base 13 + _D4core8internal5array7casting__T16onArrayCastErrorZQtFNaNbNiNeAyammQfmZv@Base 13 + _D4core8internal5array8capacity11__moduleRefZ@Base 13 + _D4core8internal5array8capacity12__ModuleInfoZ@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAAyaTQeZ18_d_arraysetlengthTFNaNbNeNkMKQBnmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAC3std3zip13ArchiveMemberTQzZ18_d_arraysetlengthTFNaNbNeNkMKQCimZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAC3std6socket7AddressTQvZ18_d_arraysetlengthTFNaNbNeNkMKQCemZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTACQCi6thread10threadbase10ThreadBaseTQBkZ18_d_arraysetlengthTFNaNbNeNkMKQCumZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAS3std3zip10ZipArchive7SegmentTQBeZ18_d_arraysetlengthTFNaNbNeNkMKQComZm@Base 14 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAS3std5regexQCn2ir10NamedGroupTQBeZ18_d_arraysetlengthTFNaNbNeNkMKQComZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAS3std5regexQCn2ir8BytecodeTQBbZ18_d_arraysetlengthTFNaNbNeNkMKQClmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAS3std6socket11AddressInfoTQBaZ18_d_arraysetlengthTFNaNbNeNkMKQCkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAaTaZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAhThZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAkTkZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAlTlZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAmTmZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAuTuZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAvTvZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAwTwZ18_d_arraysetlengthTFNaNbNeNkMKQBkmZm@Base 13 + _D4core8internal5array8capacity__T22_d_arraysetlengthTImplHTAyaTyaZ18_d_arraysetlengthTFNaNbNeNkMKQBmmZm@Base 14 + _D4core8internal5array8equality11__moduleRefZ@Base 13 + _D4core8internal5array8equality12__ModuleInfoZ@Base 13 + _D4core8internal5array8equality__T7isEqualTPxvTQeZQqFNaNbNiMxPPvMxQfmZb@Base 13 + _D4core8internal5array8equality__T7isEqualTPyS6object10ModuleInfoTQxZQBjFNaNbNiMxPPyQBnMxQimZb@Base 13 + _D4core8internal5array8equality__T7isEqualTaTaZQnFNaNbNiMxPaMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTdTdZQnFNaNbNiMxPdMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTeTeZQnFNaNbNiMxPeMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTfTfZQnFNaNbNiMxPfMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualThThZQnFNaNbNiMxPhMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTkTkZQnFNaNbNiMxPkMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTmTmZQnFNaNbNiMxPmMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTtTtZQnFNaNbNiMxPtMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTuTuZQnFNaNbNiMxPuMxQemZb@Base 13 + _D4core8internal5array8equality__T7isEqualTwTwZQnFNaNbNiMxPwMxQemZb@Base 13 + _D4core8internal5array8equality__T8__equalsTPxvTQeZQrFNaNbNiNeMxAPvMxQfZb@Base 13 + _D4core8internal5array8equality__T8__equalsTPyS6object10ModuleInfoTQxZQBkFNaNbNiNeMxAPyQBpMxQiZb@Base 13 + _D4core8internal5array8equality__T8__equalsTaTaZQoFNaNbNiNeMxAaMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTdTdZQoFNaNbNiNeMxAdMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTeTeZQoFNaNbNiNeMxAeMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTfTfZQoFNaNbNiNeMxAfMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsThThZQoFNaNbNiNeMxAhMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTkTkZQoFNaNbNiNeMxAkMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTmTmZQoFNaNbNiNeMxAmMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTtTtZQoFNaNbNiNeMxAtMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTuTuZQoFNaNbNiNeMxAuMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTwTwZQoFNaNbNiNeMxAwMxQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxAS3std3uni17CodepointIntervalTxQBfZQBuFNaNbNiNfMAxQByMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxAyaTxQfZQtFNaNbNiNfMAxQwMQfZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxC3std3zip13ArchiveMemberTxQBaZQBpFMAxQBlMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxDFNbC6ObjectZvTxQqZQBeFNaNbNiNfMAxQBiMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility16__c_complex_realTxQBlZQCaFNaNbNiNfMAxQCeMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility17__c_complex_floatTxQBmZQCbFNaNbNiNfMAxQCfMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxE2rt4util7utility18__c_complex_doubleTxQBnZQCcFNaNbNiNfMAxQCgMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS2rt3aaA6BucketTxQrZQBfFNaNbNiNfMAxQBjMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std12experimental9allocator15building_blocks14allocator_list__T13AllocatorListTSQDdQDcQCr8showcase14mmapRegionListFmZ7FactoryTSQEyQExQEmQEf14null_allocator13NullAllocatorZQEe4NodeTxQHbZQHqFNaNbNiNfMAxQHuMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std3uni17CodepointIntervalTxQBeZQBtFNaNbNiNfMAxQBxMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBhTxQByZQCnFNaNbNiNfMAxQCrMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std4file15DirIteratorImpl9DirHandleTxQBnZQCcFNaNbNiNfMAxQCgMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std4file8DirEntryTxQvZQBjFNaNbNiNfMAxQBnMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std4json9JSONValueTxQwZQBkFNaNbNiNfMAxQBoMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std5regexQBx2ir10NamedGroupTxQBfZQBuFNaNbNiNfMAxQByMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std5regexQBx2ir11CharMatcherTxQBgZQBvFNaNbNiNfMAxQBzMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std5regexQBx2ir8BytecodeTxQBcZQBrFNaNbNiNfMAxQBvMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std6getopt6OptionTxQvZQBjFNaNbNiNfMAxQBnMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std6socket11AddressInfoTxQBbZQBqFMAxQBmMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std8datetime8timezone13PosixTimeZone10LeapSecondTxQCaZQCpFNaNbNiNfMAxQCtMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std8datetime8timezone13PosixTimeZone10TransitionTxQCaZQCpFNaNbNiNfMAxQCtMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std8datetime8timezone13PosixTimeZone14TempTransitionTxQCeZQCtFNaNbNiNfMAxQCxMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxS3std8typecons__T5TupleTkTkTkZQnTxQBiZQBxFNaNbNiNfMAxQCbMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxSQBs8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11ReplacementTxQCvZQDkFNaNbNiNfMAxQDoMQgZb@Base 13 + _D4core8internal5array8equality__T8__equalsTxSQBsQBq5newaa6BucketTxQwZQBkFNaNbNiNfMAxQBoMQgZb@Base 14 + _D4core8internal5array8equality__T8__equalsTxvTxvZQqFNaNbNiNfMAxvMQeZb@Base 13 + _D4core8internal5array8equality__T8__equalsTyS3stdQBr14unicode_tables15UnicodePropertyTyQBrZQCgFNaNbNiNfMAyQCkMQgZb@Base 13 + _D4core8internal5array9appending11__moduleRefZ@Base 13 + _D4core8internal5array9appending12__ModuleInfoZ@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAAyaTQeZQBbFNaNbNcNeMNkKQyMQBbZQBf@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAOaTOaZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAOuTOuZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAS3std5regexQCh2ir8BytecodeTQBbZQBzFNaNbNcNeMNkKQBwMQCaZQCe@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAaTaZQyFNaNbNcNeMNkKQuMQxZQBa@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAhThZQyFNaNbNcNeMNkKQuMQxZQBa@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAuTuZQyFNaNbNcNeMNkKQuMQxZQBa@Base 13 + _D4core8internal5array9appending__T15_d_arrayappendTHTAyaTyaZQBaFNaNbNcNeMNkKQxMQBaZQBe@Base 13 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAAyaTQeZQBdFNaNbNcNeMNkKQymZQBc@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAC3std6socket7AddressTQvZQBuFNaNbNcNeMNkKQBpmZQBu@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTACQCe6thread5fiber5FiberTQyZQBxFNaNbNcNeMNkKQBsmZQBx@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding10Latin1CharTQBbZQCbFNaNbNcNeMNkKQBwmZQCb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding10Latin2CharTQBbZQCbFNaNbNcNeMNkKQBwmZQCb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding15Windows1250CharTQBgZQCgFNaNbNcNeMNkKQCbmZQCg@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding15Windows1251CharTQBgZQCgFNaNbNcNeMNkKQCbmZQCg@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding15Windows1252CharTQBgZQCgFNaNbNcNeMNkKQCbmZQCg@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAE3std8encoding9AsciiCharTQzZQByFNaNbNcNeMNkKQBtmZQBy@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAOaTOaZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAOuTOuZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBhTQBxZQCxFNaNbNcNeMNkKQCsmZQCx@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std3zip10ZipArchive7SegmentTQBeZQCeFNaNbNcNeMNkKQBzmZQCe@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std4file15DirIteratorImpl9DirHandleTQBmZQCmFNaNbNcNeMNkKQChmZQCm@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std4file8DirEntryTQuZQBtFNaNbNcNeMNkKQBomZQBt@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std5regexQCj12backtracking9CtContext7CtStateTQBvZQCvFNaNbNcNeMNkKQCqmZQCv@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std5regexQCj2ir8BytecodeTQBbZQCbFNaNbNcNeMNkKQBwmZQCb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std6logger11multilogger16MultiLoggerEntryTQBsZQCsFNaNbNcNeMNkKQCnmZQCs@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std8datetime8timezone13PosixTimeZone14TempTransitionTQCdZQDdFNaNbNcNeMNkKQCymZQDd@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAS3std8typecons__T5TupleTkTkTkZQnTQBhZQChFNaNbNcNeMNkKQCcmZQCh@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTASQCe8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11ReplacementTQCuZQDuFNaNbNcNeMNkKQDpmZQDu@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAaTaZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAhThZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAkTkZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAmTmZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAuTuZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAwTwZQBaFNaNbNcNeMNkKQvmZQz@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAxS3std5regexQCk2ir11CharMatcherTxQBgZQChFNaNbNcNeMNkKQCcmZQCh@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAyS3std8datetime8timezone13PosixTimeZone10LeapSecondTyQCaZQDbFNaNbNcNeMNkKQCwmZQDb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAyS3std8datetime8timezone13PosixTimeZone10TransitionTyQCaZQDbFNaNbNcNeMNkKQCwmZQDb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAyaTyaZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5array9appending__T17_d_arrayappendcTXHTAyhTyhZQBcFNaNbNcNeMNkKQxmZQBb@Base 14 + _D4core8internal5newaa11__moduleRefZ@Base 14 + _D4core8internal5newaa12__ModuleInfoZ@Base 14 + _D4core8internal5newaa3mixFNaNbNiNfmZm@Base 14 + _D4core8internal5newaa4Impl11__xopEqualsMxFKxSQBsQBqQBkQBhZb@Base 14 + _D4core8internal5newaa4Impl6__initZ@Base 14 + _D4core8internal5newaa4Impl9__xtoHashFNbNeKxSQBrQBpQBjQBgZm@Base 14 + _D4core8internal5newaa6Bucket6__initZ@Base 14 + _D4core8internal5newaa7AAShell6__initZ@Base 14 + _D4core8internal5qsort11__moduleRefZ@Base 13 + _D4core8internal5qsort12__ModuleInfoZ@Base 13 + _D4core8internal5qsort7_adSortUNkMAvC8TypeInfoZ3cmpUMxPvMxQeMPvZi@Base 13 + _D4core8internal6atomic11__moduleRefZ@Base 13 + _D4core8internal6atomic12__ModuleInfoZ@Base 13 + _D4core8internal6atomic12simpleFormatFAyaMAQfZQi@Base 13 + _D4core8internal6atomic5pauseFNaNbNiNeZv@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi0TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNePNgPONgSQCcQCcQBvZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi0TbZQBmFNaNbNiNePNgbZNgb@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi0TmZQBmFNaNbNiNePNgmZNgm@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TE3std6loggerQCu8LogLevelZQCjFNaNbNiNePNgEQBoQBnQEdQBjZNgQq@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TOCQCk4sync5mutex5MutexZQChFNaNbNiNePONgCQDwQBmQBkQBhZONgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TPOS2rt8monitor_7MonitorZQCiFNaNbNiNePNgPONgSQBpQBpQBjZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TPOS2rt9critical_18D_CRITICAL_SECTIONZQCvFNaNbNiNePNgPONgSQCcQCcQBvZNgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TbZQBmFNaNbNiNePNgbZNgb@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi2TkZQBmFNaNbNiNePNgkZNgk@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TC3std11concurrency9SchedulerZQCnFNaNbNiNePNgCQBsQBrQBhZNgQn@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateZQCwFNaNbNiNePNgEQCbQCaQBqQBkZNgQq@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TOC3std6loggerQCv6LoggerZQCiFNaNbNiNePONgCQBnQBmQEdQBiZONgQr@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TOC6ObjectZQBuFNaNbNiNePONgCQzZONgQh@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TOCQCk4sync5mutex5MutexZQChFNaNbNiNePONgCQDwQBmQBkQBhZONgQr@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TPOSQCl4stdc5stdio8_IO_FILEZQClFNaNbNiNePNgPONgSQEdQBsQBqQBnZNgQu@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCfFNaNbNiNePNgPQBkZNgQh@Base 14 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TbZQBmFNaNbNiNePNgbZNgb@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5ThZQBmFNaNbNiNePNghZNgh@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TiZQBmFNaNbNiNePNgiZNgi@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TkZQBmFNaNbNiNePNgkZNgk@Base 13 + _D4core8internal6atomic__T10atomicLoadVEQBmQBb11MemoryOrderi5TmZQBmFNaNbNiNePNgmZNgm@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi0TbZQBnFNaNbNiNePbbZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi0TmZQBnFNaNbNiNePmmZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TE3std6loggerQCv8LogLevelZQCkFNaNbNiNePQBmQBpZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TPOS2rt8monitor_7MonitorZQCjFNaNbNiNePQBlQBoZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TPOS2rt9critical_18D_CRITICAL_SECTIONZQCwFNaNbNiNePQByQCbZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TbZQBnFNaNbNiNePbbZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi3TmZQBnFNaNbNiNePmmZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TC3std6loggerQCv6LoggerZQCiFNaNbNiNePQBkQBnZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TE3std11parallelism8TaskPool9PoolStateZQCxFNaNbNiNePQBzQCcZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TE3std6loggerQCv8LogLevelZQCkFNaNbNiNePQBmQBpZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TPUNaNbNexPaPaPmPiZQhZQCgFNaNbNiNePQBiQBlZv@Base 14 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5ThZQBnFNaNbNiNePhhZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TkZQBnFNaNbNiNePkkZv@Base 13 + _D4core8internal6atomic__T11atomicStoreVEQBnQBc11MemoryOrderi5TmZQBnFNaNbNiNePmmZv@Base 13 + _D4core8internal6atomic__T14atomicFetchAddVEQBqQBf11MemoryOrderi5Vbi1TkZQBuFNaNbNiNePkkZk@Base 13 + _D4core8internal6atomic__T14atomicFetchAddVEQBqQBf11MemoryOrderi5Vbi1TmZQBuFNaNbNiNePmmZm@Base 13 + _D4core8internal6atomic__T14atomicFetchSubVEQBqQBf11MemoryOrderi5Vbi1TkZQBuFNaNbNiNePkkZk@Base 13 + _D4core8internal6atomic__T14atomicFetchSubVEQBqQBf11MemoryOrderi5Vbi1TmZQBuFNaNbNiNePmmZm@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TCQDh4sync5mutex5MutexZQDeFNaNbNiNePQBjQeQBoZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TE3std11parallelism8TaskPool9PoolStateZQDuFNaNbNiNePQBzQeQCeZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TbZQCkFNaNbNiNePbQcbZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0ThZQCkFNaNbNiNePhQchZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TmZQCkFNaNbNiNePmQcmZb@Base 13 + _D4core8internal6atomic__T25atomicCompareExchangeImplVEQCbQBq11MemoryOrderi5VQxi5Vbi0TtZQCkFNaNbNiNePtQctZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TCQDn4sync5mutex5MutexZQDkFNaNbNiNePQBjxCQFaQBnQBlQBiQCaZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TE3std11parallelism8TaskPool9PoolStateZQEaFNaNbNiNePQBzxEQCdQCcQBsQBmQCqZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TbZQCqFNaNbNiNePbxbbZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5ThZQCqFNaNbNiNePhxhhZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TmZQCqFNaNbNiNePmxmmZb@Base 13 + _D4core8internal6atomic__T35atomicCompareExchangeStrongNoResultVEQClQCa11MemoryOrderi5VQxi5TtZQCqFNaNbNiNePtxttZb@Base 13 + _D4core8internal6moving11__moduleRefZ@Base 13 + _D4core8internal6moving12__ModuleInfoZ@Base 13 + _D4core8internal6string11__moduleRefZ@Base 13 + _D4core8internal6string12__ModuleInfoZ@Base 13 + _D4core8internal6string__T17TempStringNoAllocVhi20ZQz3getMNgFNaNbNiNjNfZANga@Base 13 + _D4core8internal6string__T17TempStringNoAllocVhi20ZQz6__initZ@Base 13 + _D4core8internal6string__T18signedToTempStringVii10Vbi0TaZQBgFNaNbNiNflNkMAaZQd@Base 14 + _D4core8internal6string__T18signedToTempStringVki10ZQBaFNaNbNiNflZSQCnQClQCf__T17TempStringNoAllocVhi20ZQz@Base 13 + _D4core8internal6string__T20unsignedToTempStringVii10Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVii16Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVki10Vbi0TaZQBiFNaNbNiNfmNkMAaZQd@Base 14 + _D4core8internal6string__T20unsignedToTempStringVki10ZQBcFNaNbNiNfmZSQCpQCnQCh__T17TempStringNoAllocVhi20ZQz@Base 13 + _D4core8internal6string__T7dstrcmpZQjFNaNbNiNeMxAaMxQeZi@Base 13 + _D4core8internal6string__T9numDigitsVki10ZQqFNaNbNiNfmZi@Base 13 + _D4core8internal6traits11__moduleRefZ@Base 13 + _D4core8internal6traits12__ModuleInfoZ@Base 13 + _D4core8internal6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D4core8internal7convert10ctfe_allocFNaNbNiNemZAh@Base 13 + _D4core8internal7convert11__moduleRefZ@Base 13 + _D4core8internal7convert11shiftrRoundFNaNbNiNfmZm@Base 13 + _D4core8internal7convert12__ModuleInfoZ@Base 13 + _D4core8internal7convert5Float6__initZ@Base 13 + _D4core8internal7convert7binPow2FNaNbNiNfiZ10binPosPow2FNaNbNiNfiZe@Base 13 + _D4core8internal7convert7binPow2FNaNbNiNfiZe@Base 13 + _D4core8internal7convert__T20denormalizedMantissaTeZQzFNaNbNiNfekZSQCnQClQCf5Float@Base 13 + _D4core8internal7convert__T5parseVbi0HTeZQoFNaNbNiNfeZSQCbQBzQBt5Float@Base 13 + _D4core8internal7convert__T5parseVbi0HTxeZQpFNaNbNiNfxeZSQCdQCbQBv5Float@Base 13 + _D4core8internal7convert__T7binLog2TeZQlFNaNbNiNfxeZk@Base 13 + _D4core8internal7convert__T7toUbyteTPxvZQnFNaNbNiNeNkMxAPvZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTPyS6object10ModuleInfoZQBgFNaNbNiNeNkMxAPyQBoZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTaZQlFNaNbNiNeNkMxAaZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTeZQlFNaNbNiNeMKxeZAxh@Base 14 + _D4core8internal7convert__T7toUbyteThZQlFNaNbNiNeNkMxAhZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTkZQlFNaNbNiNeMKxkZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTkZQlFNaNbNiNeNkMxAkZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTmZQlFNaNbNiNeMKxmZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTmZQlFNaNbNiNeNkMxAmZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTtZQlFNaNbNiNeMKxtZAxh@Base 14 + _D4core8internal7convert__T7toUbyteTtZQlFNaNbNiNeNkMxAtZAxh@Base 13 + _D4core8internal7convert__T7toUbyteTvZQlFNaNbNiNeNkMxAvZAxh@Base 13 + _D4core8internal7dassert11__moduleRefZ@Base 13 + _D4core8internal7dassert12__ModuleInfoZ@Base 13 + _D4core8internal7dassert15invertCompTokenFNaNbNiNfMAyaZQe@Base 13 + _D4core8internal7dassert16calcFieldOverlapFMxAmZAb@Base 13 + _D4core8internal7dassert7combineFNaNbNiNfMxAAyaMxQfMxQkZ11formatTupleFNaNbNiNfMAaKmIQBpIbZv@Base 13 + _D4core8internal7dassert7combineFNaNbNiNfMxAAyaMxQfMxQkZAya@Base 13 + _D4core8internal7dassert9pureAllocFNaNbNiNfmZAh@Base 13 + _D4core8internal7dassert9pureAllocFmZ5allocFNaNbNfmZAh@Base 13 + _D4core8internal7dassert__T20assumeFakeAttributesTPFNaNbNfmZAhZQBkFNaNbNiNeQzZPFNaNbNiNfmZQBe@Base 13 + _D4core8internal7switch_11__moduleRefZ@Base 13 + _D4core8internal7switch_12__ModuleInfoZ@Base 13 + _D4core8internal7switch___T14__switchSearchTyaZQuFNaNbNiNfMxAAyaMxQfZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia5_61626f7274VxQza5_7072696e74VxQBqa6_69676e6f7265VxQCka9_646570726563617465ZQDxFNaNbNiNfMxQDxZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia5_61626f7274ZQBmFNaNbNiNfMxQBmZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia7_70726563697365VxQBda12_636f6e736572766174697665ZQCxFNaNbNiNfMxQCxZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia8_72756e2d6d61696eVxQBfa9_746573742d6f6e6c79VxQCfa12_746573742d6f722d6d61696eZQDzFNaNbNiNfMxQDzZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_VxQia8_72756e2d6d61696eZQBsFNaNbNiNfMxQBsZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa0_ZQvFNaNbNiNfMxQuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa12_636f6e736572766174697665ZQBuFNaNbNiNfMxQBuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa12_746573742d6f722d6d61696eZQBuFNaNbNiNfMxQBuZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa18_5275737369612054696d65205a6f6e652033VxQBta19_5275737369612054696d65205a6f6e65203130VxQDoa19_5275737369612054696d65205a6f6e65203131VxQFja21_42656c61727573205374616e646172642054696d65ZQHvFNaNbNiNfMxQHvZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa18_5275737369612054696d65205a6f6e652033VxQBta19_5275737369612054696d65205a6f6e65203130ZQEbFNaNbNiNfMxQEbZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa18_5275737369612054696d65205a6f6e652033ZQCgFNaNbNiNfMxQCgZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa1_3cVxQka1_3eVxQta2_213dVxQBea2_3c3dVxQBqa2_3d3dVxQCca2_3e3dVxQCoa2_696eVxQDaa2_6973VxQDma3_21696eVxQEaa3_216973ZQFbFNaNbNiNfMxQFbZ5casesyG10Aa@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa1_3cVxQka1_3eVxQta2_213dVxQBea2_3c3dVxQBqa2_3d3dVxQCca2_3e3dVxQCoa2_696eVxQDaa2_6973VxQDma3_21696eVxQEaa3_216973ZQFbFNaNbNiNfMxQFbZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa21_42656c61727573205374616e646172642054696d65ZQCmFNaNbNiNfMxQCmZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa2_6763VxQma4_666f726bVxQBba7_636c65616e7570VxQBxa7_64697361626c65VxQCta7_70726f66696c65VxQDpa8_706172616c6c656cVxQEna11_696e63506f6f6c53697a65VxQFsa11_696e697452657365727665VxQGxa11_6d6178506f6f6c53697a65VxQIca11_6d696e506f6f6c53697a65VxQJha14_6865617053697a65466163746f72ZQLfFNaNbNiNfMxQLfZ5casesyG11Aa@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa2_6763VxQma4_666f726bVxQBba7_636c65616e7570VxQBxa7_64697361626c65VxQCta7_70726f66696c65VxQDpa8_706172616c6c656cVxQEna11_696e63506f6f6c53697a65VxQFsa11_696e697452657365727665VxQGxa11_6d6178506f6f6c53697a65VxQIca11_6d696e506f6f6c53697a65VxQJha14_6865617053697a65466163746f72ZQLfFNaNbNiNfMxQLfZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa3_726566VxQoa4_70757265VxQBda5_406c697665VxQBva5_406e6f6763VxQCna5_4073616665VxQDfa5_636f6e7374VxQDxa5_696e6f7574VxQEpa5_73636f7065VxQFha6_72657475726eVxQGba6_736861726564VxQGva7_4073797374656dVxQHra7_6e6f7468726f77VxQIna8_4074727573746564VxQJla9_4070726f7065727479VxQKla9_696d6d757461626c65ZQLyFNaNbNiNfMxQLyZ5casesyG15Aa@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa3_726566VxQoa4_70757265VxQBda5_406c697665VxQBva5_406e6f6763VxQCna5_4073616665VxQDfa5_636f6e7374VxQDxa5_696e6f7574VxQEpa5_73636f7065VxQFha6_72657475726eVxQGba6_736861726564VxQGva7_4073797374656dVxQHra7_6e6f7468726f77VxQIna8_4074727573746564VxQJla9_4070726f7065727479VxQKla9_696d6d757461626c65ZQLyFNaNbNiNfMxQLyZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa4_6e6f6e65VxQqa7_636f6c6c656374VxQBla8_66696e616c697a65ZQCwFNaNbNiNfMxQCwZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa4_6e6f6e65ZQBdFNaNbNiNfMxQBdZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa6_69676e6f7265VxQua9_646570726563617465ZQCgFNaNbNiNfMxQCgZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa6_69676e6f7265ZQBhFNaNbNiNfMxQBhZi@Base 13 + _D4core8internal7switch___T8__switchTyaVxAyaa8_66696e616c697a65ZQBlFNaNbNiNfMxQBlZi@Base 13 + _D4core8internal7switch___T8__switchTyaZQnFNaNbNiNfMxAyaZi@Base 13 + _D4core8internal8lifetime11__moduleRefZ@Base 13 + _D4core8internal8lifetime12__ModuleInfoZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1S11__xopEqualsMxFKxSQDcQDaQCu__TQCoTQCfTQCjTQCnZQDeFKQCwKQDaZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1S9__xtoHashFNbNeKxSQDbQCzQCt__TQCnTQCeTQCiTQCmZQDdFKQCvKQCzZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1S__T6__ctorZQiMFNaNbNcNiNfKQBwZSQDoQDmQDg__TQDaTQCrTQCvTQCzZQDqFKQDiKQDmZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFNaNbNiNfKQwKQzZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1S11__xopEqualsMxFKxSQEbQDzQDt__TQDnTQDeTQDiTQDmZQEdFKQDvKQDzZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1S9__xtoHashFNbNeKxSQEaQDyQDs__TQDmTQDdTQDhTQDlZQEcFKQDuKQDyZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1S__T6__ctorZQiMFNaNbNcNiNfKQCvZSQEnQElQEf__TQDzTQDqTQDuTQDyZQEpFKQEhKQElZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFNaNbNiNfKQBtKQBxZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1S11__xopEqualsMxFKxSQDzQDxQDr__TQDlTQDcTQDgTQDkZQEbFKQDtKQDxZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1S9__xtoHashFNbNeKxSQDyQDwQDq__TQDkTQDbTQDfTQDjZQEaFKQDsKQDwZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1S__T6__ctorZQiMFNaNbNcNiNfKQCtZSQElQEjQEd__TQDxTQDoTQDsTQDwZQEnFKQEfKQEjZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFNaNbNiNfKQBrKQBvZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxZQBnFNaNbNiNfKQBnKQBrZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S11__fieldDtorMFNeZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S11__xopEqualsMxFKxSQFcQFaQEu__TQEoTQEfTQEjTQDmZQFeFKQEwKQDzZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S15__fieldPostblitMFNlZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S8opAssignMFNcNjSQEzQExQEr__TQElTQEcTQEgTQDjZQFbFKQEtKQDwZQChZQBu@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S9__xtoHashFNbNeKxSQFbQEzQEt__TQEnTQEeTQEiTQDlZQFdFKQEvKQDyZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1S__T6__ctorZQiMFNcKQCnZSQFgQFeQEy__TQEsTQEjTQEnTQDqZQFiFKQFaKQEdZQCo@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqTQJiZQJzFNaNbNiNfKQJzZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3net4curl3FTP4ImplTQyZQBoFNaNbNiNfKQBoZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3net4curl4HTTP4ImplTQzZQBpFNaNbNiNfKQBpZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3net4curl4SMTP4ImplTQzZQBpFNaNbNiNfKQBpZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFKQBqKQBuZ1S11__xopEqualsMxFKxSQEgQEeQDy__TQDsTQDjTQDnTQDrZQEiFKQEaKQEeZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFKQBqKQBuZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFKQBqKQBuZ1S__T6__ctorZQiMFNaNbNcNiNfKQDaZSQEsQEqQEk__TQEeTQDvTQDzTQEdZQEuFKQEmKQEqZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFNaNbNiNfKQByKQCcZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S11__fieldDtorMFNeZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S11__xopEqualsMxFKxSQFeQFcQEw__TQEqTQEhTQElTQDjTQDjTbZQFmFKQFeKQEcKQEcKbZQCwZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S8opAssignMFNcNjNeSQFdQFbQEv__TQEpTQEgTQEkTQDiTQDiTbZQFlFKQFdKQEbKQEbKbZQCvZQCg@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S9__xtoHashFNbNeKxSQFdQFbQEv__TQEpTQEgTQEkTQDiTQDiTbZQFlFKQFdKQEbKQEbKbZQCvZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1S__T6__ctorZQiMFNcNfKQCmKQCmKbZSQFqQFoQFi__TQFcTQEtTQExTQDvTQDvTbZQFyFKQFqKQEoKQEoKbZQDi@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFNfKQCkKQBiKQBiKbZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1S11__xopEqualsMxFKxSQEhQEfQDz__TQDtTQDkTQDoTQDsZQEjFKQEbKQEfZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1S9__xtoHashFNbNeKxSQEgQEeQDy__TQDsTQDjTQDnTQDrZQEiFKQEaKQEeZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1S__T6__ctorZQiMFNaNbNcNiNfKQDbZSQEtQErQEl__TQEfTQDwTQEaTQEeZQEvFKQEnKQErZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir10NamedGroupTQBeTQBiZQBzFNaNbNiNfKQBzKQCdZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir8BytecodeTQBbTQBfZQBwFKQBoKQBsZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir8BytecodeTQBbTQBfZQBwFKQBoKQBsZ1S__T6__ctorZQiMFNaNbNcNiNfKQCyZSQEqQEoQEi__TQEcTQDtTQDxTQEbZQEsFKQEkKQEoZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir8BytecodeTQBbTQBfZQBwFNaNbNiNfKQBwKQCaZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1S11__xopEqualsMxFKxSQEdQEbQDv__TQDpTQDgTQDkTQDoZQEfFKQDxKQEbZQCkZb@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1S9__xtoHashFNbNeKxSQEcQEaQDu__TQDoTQDfTQDjTQDnZQEeFKQDwKQEaZQCjZm@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1S__T6__ctorZQiMFNaNbNcNiNfKQCxZSQEpQEnQEh__TQEbTQDsTQDwTQEaZQErFKQEjKQEnZQCw@Base 13 + _D4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFNaNbNiNfKQBvKQBzZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTaTaTaZQtFKaKaZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTaTaTaZQtFKaKaZ1S__T6__ctorZQiMFNaNbNcNiNfKaZSQDgQDeQCy__TQCsTaTaTaZQDcFKaKaZQCk@Base 13 + _D4core8internal8lifetime__T10emplaceRefTaTaTaZQtFNaNbNiNfKaKaZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTkTkTkZQtFKkKkZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTkTkTkZQtFKkKkZ1S__T6__ctorZQiMFNaNbNcNiNfKkZSQDgQDeQCy__TQCsTkTkTkZQDcFKkKkZQCk@Base 13 + _D4core8internal8lifetime__T10emplaceRefTkTkTkZQtFNaNbNiNfKkKkZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTmTmTmZQtFKmKmZ1S6__initZ@Base 14 + _D4core8internal8lifetime__T10emplaceRefTmTmTmZQtFKmKmZ1S__T6__ctorZQiMFNaNbNcNiNfKmZSQDgQDeQCy__TQCsTmTmTmZQDcFKmKmZQCk@Base 14 + _D4core8internal8lifetime__T10emplaceRefTmTmTmZQtFNaNbNiNfKmKmZv@Base 14 + _D4core8internal8lifetime__T10emplaceRefTwTwTwZQtFKwKwZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTwTwTwZQtFKwKwZ1S__T6__ctorZQiMFNaNbNcNiNfKwZSQDgQDeQCy__TQCsTwTwTwZQDcFKwKwZQCk@Base 13 + _D4core8internal8lifetime__T10emplaceRefTwTwTwZQtFNaNbNiNfKwKwZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTxaTaTxaZQvFKaKxaZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTxaTaTxaZQvFKaKxaZ1S__T6__ctorZQiMFNaNbNcNiNfKxaZSQDkQDiQDc__TQCwTxaTaTxaZQDiFKaKxaZQCo@Base 13 + _D4core8internal8lifetime__T10emplaceRefTxaTaTxaZQvFNaNbNiNfKaKxaZv@Base 13 + _D4core8internal8lifetime__T10emplaceRefTyaTaThZQuFKaKhZ1S6__initZ@Base 13 + _D4core8internal8lifetime__T10emplaceRefTyaTaThZQuFKaKhZ1S__T6__ctorZQiMFNaNbNcNiNfKhZSQDhQDfQCz__TQCtTyaTaThZQDeFKaKhZQCl@Base 13 + _D4core8internal8lifetime__T10emplaceRefTyaTaThZQuFNaNbNiNfKaKhZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS2rt3aaA4ImplZQBjFNaNbNiNeMKQBcZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS2rt9critical_18D_CRITICAL_SECTIONZQCeFNaNbNiNeMKQBxZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3gcc8sections3elf9ThreadDSOZQByFNaNbNiNeMKQBrZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std11concurrency7MessageZQBwFNaNbNiNeMKQBpZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeZQCuFNaNbNiNeMKQCnZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqZQKdFNaNbNiNeMKQJwZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std3net4curl3FTP4ImplZQBtFNaNbNiNeMKQBmZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std3net4curl4HTTP4ImplZQBuFNaNbNiNeMKQBnZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std3net4curl4SMTP4ImplZQBuFNaNbNiNeMKQBnZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std3uni17CodepointIntervalZQByFNaNbNiNeMKQBrZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std4file15DirIteratorImplZQBxFNaNbNiNeMKQBqZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTAAyaZQp4DataZQCgFNaNbNiNeMKQBzZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4DataZQDaFNaNbNiNeMKQCtZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4DataZQDbFNaNbNiNeMKQCuZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTAxaZQo4DataZQCfFNaNbNiNeMKQByZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTAyaZQo4DataZQCfFNaNbNiNeMKQByZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTAyuZQo4DataZQCfFNaNbNiNeMKQByZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTAywZQo4DataZQCfFNaNbNiNeMKQByZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5array__T8AppenderTyAaZQo4DataZQCfFNaNbNiNeMKQByZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std5stdio4FileZQBmFNaNbNiNeMKQBfZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQCyFNaNbNiNeMKQCrZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTS3std8datetime8timezone13PosixTimeZone6TTInfoZQCpFNaNbNiNeMKQCiZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw2gc11gcinterface4RootZQBvFNaNbNiNeMKQBoZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw2gc11gcinterface5RangeZQBwFNaNbNiNeMKQBpZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBw6thread7context12StackContextZQCdFNaNbNiNeMKQBwZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDoFNaNbNiNeMKQDhZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDqFNaNbNiNeMKQDjZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBu9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDoFNaNbNiNeMKQDhZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1SZQCsFNaNbNiNeMKQClZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1SZQDrFNaNbNiNeMKQDkZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1SZQDpFNaNbNiNeMKQDiZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQBzTQBcZQCuFKQCmKQBpZ1SZQEsFNaNbNiNeMKQElZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std3uni17CodepointIntervalTQBdTQBhZQByFKQBqKQBuZ1SZQDwFNaNbNiNeMKQDpZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std4file15DirIteratorImplTQBcTAyaTEQBkQBj8SpanModeTbZQCqFKQCiKQBgKQBgKbZ1SZQEuFNaNbNiNeMKQEnZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std5regexQDb2ir10NamedGroupTQBeTQBiZQBzFKQBrKQBvZ1SZQDxFNaNbNiNeMKQDqZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std5regexQDb2ir8BytecodeTQBbTQBfZQBwFKQBoKQBsZ1SZQDuFNaNbNiNeMKQDnZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1SZQDtFNaNbNiNeMKQDmZv@Base 13 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTaTaTaZQtFKaKaZ1SZQCmFNaNbNiNeMKQCfZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTkTkTkZQtFKkKkZ1SZQCmFNaNbNiNeMKQCfZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTmTmTmZQtFKmKmZ1SZQCmFNaNbNiNeMKQCfZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTwTwTwZQtFKwKwZ1SZQCmFNaNbNiNeMKQCfZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTxaTaTxaZQvFKaKxaZ1SZQCpFNaNbNiNeMKQCiZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTSQBwQBuQBo__T10emplaceRefTyaTaThZQuFKaKhZ1SZQCnFNaNbNiNeMKQCgZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTaZQxFNaNbNiNeMKaZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTkZQxFNaNbNiNeMKkZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTmZQxFNaNbNiNeMKmZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTuZQxFNaNbNiNeMKuZv@Base 14 + _D4core8internal8lifetime__T18emplaceInitializerTwZQxFNaNbNiNeMKwZv@Base 14 + _D4core8internal8postblit11__moduleRefZ@Base 13 + _D4core8internal8postblit12__ModuleInfoZ@Base 13 + _D4core8internal8spinlock11__moduleRefZ@Base 13 + _D4core8internal8spinlock12__ModuleInfoZ@Base 13 + _D4core8internal8spinlock15AlignedSpinLock6__ctorMOFNbNcNiNeEQChQCfQBz8SpinLock10ContentionZOSQDoQDmQDgQDa@Base 13 + _D4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D4core8internal8spinlock8SpinLock4lockMOFNbNiNeZv@Base 13 + _D4core8internal8spinlock8SpinLock5yieldMOFNbNiNemZv@Base 13 + _D4core8internal8spinlock8SpinLock6__ctorMOFNbNcNiNeEQBzQBxQBrQBl10ContentionZOSQDaQCyQCsQCm@Base 13 + _D4core8internal8spinlock8SpinLock6__initZ@Base 13 + _D4core8internal8spinlock8SpinLock6unlockMOFNbNiNeZv@Base 13 + _D4core8internal9container5array11__moduleRefZ@Base 13 + _D4core8internal9container5array12__ModuleInfoZ@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk4backMNgFNaNbNcNdNiZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk4swapMFNaNbNiNfKSQCkQCiQCcQBv__TQBsTQBpZQCaZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5frontMNgFNaNbNcNdNiNfZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opIndexMNgFNaNbNcNimZNgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opSliceMNgFNaNbNiZANgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7opSliceMNgFNaNbNimmZANgAv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk8opAssignMFNbNcNiNjSQCnQClQCfQBy__TQBvTQBsZQCdZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTAvZQk__T10insertBackZQnMFNbNiQBdZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf4backMNgFNaNbNcNdNiZNgPSQBxQBwQBqQBp@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf4swapMFNaNbNiNfKSQDgQDeQCyQCr__TQCoTQClZQCwZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5frontMNgFNaNbNcNdNiNfZNgPSQCaQBzQBtQBs@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opIndexMNgFNaNbNcNimZNgPSQBzQByQBsQBr@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opSliceMNgFNaNbNiZANgPSQBxQBwQBqQBp@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7opSliceMNgFNaNbNimmZANgPSQBzQByQBsQBr@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf8opAssignMFNbNcNiNjSQDjQDhQDbQCu__TQCrTQCoZQCzZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf__T10insertBackZQnMFNbNiKQCaZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu4backMNgFNaNbNcNdNiZNgPSQFcQFaQEuQDm__TQDhTQDcTQDcZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu4swapMFNaNbNiNfKSQEvQEtQEnQEg__TQEdTQEaZQElZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5frontMNgFNaNbNcNdNiNfZNgPSQFfQFdQExQDp__TQDkTQDfTQDfZQDwQCo@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opIndexMNgFNaNbNcNimZNgPSQFeQFcQEwQDo__TQDjTQDeTQDeZQDvQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opSliceMNgFNaNbNiZANgPSQFcQFaQEuQDm__TQDhTQDcTQDcZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7opSliceMNgFNaNbNimmZANgPSQFeQFcQEwQDo__TQDjTQDeTQDeZQDvQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCu8opAssignMFNbNcNiNjSQEyQEwQEqQEj__TQEgTQEdZQEoZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw4backMNgFNaNbNcNdNiZNgPSQFeQFcQEwQDo__TQDjTQDeTQDfZQDvQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw4swapMFNaNbNiNfKSQExQEvQEpQEi__TQEfTQEcZQEnZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5frontMNgFNaNbNcNdNiNfZNgPSQFhQFfQEzQDr__TQDmTQDhTQDiZQDyQCo@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opIndexMNgFNaNbNcNimZNgPSQFgQFeQEyQDq__TQDlTQDgTQDhZQDxQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opSliceMNgFNaNbNiZANgPSQFeQFcQEwQDo__TQDjTQDeTQDfZQDvQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7opSliceMNgFNaNbNimmZANgPSQFgQFeQEyQDq__TQDlTQDgTQDhZQDxQCn@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCw8opAssignMFNbNcNiNjSQFaQEyQEsQEl__TQEiTQEfZQEqZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu4backMNgFNaNbNcNdNiZNgPSQFcQFaQEuQDm__TQDhTQDcTiZQDrQCj@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu4swapMFNaNbNiNfKSQEvQEtQEnQEg__TQEdTQEaZQElZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5frontMNgFNaNbNcNdNiNfZNgPSQFfQFdQExQDp__TQDkTQDfTiZQDuQCm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opIndexMNgFNaNbNcNimZNgPSQFeQFcQEwQDo__TQDjTQDeTiZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opSliceMNgFNaNbNiZANgPSQFcQFaQEuQDm__TQDhTQDcTiZQDrQCj@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7opSliceMNgFNaNbNimmZANgPSQFeQFcQEwQDo__TQDjTQDeTiZQDtQCl@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTPSQBqQBoQBi7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCu8opAssignMFNbNcNiNjSQEyQEwQEqQEj__TQEgTQEdZQEoZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk4backMNgFNaNbNcNdNiZNgSQCcQCbQBvQBu@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk4swapMFNaNbNiNfKSQDlQDjQDdQCw__TQCtTQCqZQDbZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5frontMNgFNaNbNcNdNiNfZNgSQCfQCeQByQBx@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opIndexMNgFNaNbNcNimZNgSQCeQCdQBxQBw@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opSliceMNgFNaNbNiZANgSQCcQCbQBvQBu@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7opSliceMNgFNaNbNimmZANgSQCeQCdQBxQBw@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCwTQCtZQDeZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk__T10insertBackZQnMFNbNiQCeZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh4backMNgFNaNbNcNdNiZNgSQDoQBzQBzQBp@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh4swapMFNaNbNiNfKSQDiQDgQDaQCt__TQCqTQCnZQCyZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5frontMNgFNaNbNcNdNiNfZNgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opIndexMNgFNaNbNcNimZNgSQDqQCbQCbQBr@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opSliceMNgFNaNbNiZANgSQDoQBzQBzQBp@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7opSliceMNgFNaNbNimmZANgSQDqQCbQCbQBr@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh8opAssignMFNbNcNiNjSQDlQDjQDdQCw__TQCtTQCqZQDbZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh__T10insertBackZQnMFNbNiQCbZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi11__invariantMxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi12__invariant0MxFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi4backMNgFNaNbNcNdNiZNgSQDpQCaQCaQBq@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi4swapMFNaNbNiNfKSQDjQDhQDbQCu__TQCrTQCoZQCzZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5frontMNgFNaNbNcNdNiNfZNgSQDsQCdQCdQBt@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6lengthMFNbNdNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6removeMFNbNimZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opIndexMNgFNaNbNcNimZNgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opSliceMNgFNaNbNiZANgSQDpQCaQCaQBq@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7opSliceMNgFNaNbNimmZANgSQDrQCcQCcQBs@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi7popBackMFNbNiZv@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi8opAssignMFNbNcNiNjSQDmQDkQDeQCx__TQCuTQCrZQDcZQBc@Base 13 + _D4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi__T10insertBackZQnMFNbNiQCcZv@Base 13 + _D4core8internal9container5treap11__moduleRefZ@Base 13 + _D4core8internal9container5treap12__ModuleInfoZ@Base 13 + _D4core8internal9container5treap4Rand5frontMFNaNbNdNiNfZk@Base 13 + _D4core8internal9container5treap4Rand6__initZ@Base 13 + _D4core8internal9container5treap4Rand6opCallMFNaNbNiNfZk@Base 13 + _D4core8internal9container5treap4Rand8popFrontMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh10initializeMFNaNbNiNfmZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh13opApplyHelperFNbxPSQDmQDkQDeQCx__TQCuTQCrZQDc4NodeMDFNbKxSQEzQDkQDkQDaZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh4Node6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6insertMFNbNiPSQDgQDeQCyQCr__TQCoTQClZQCw4NodeQCxZQBl@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6insertMFNbNiQBqZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6removeFNbNiPPSQDgQDeQCyQCr__TQCoTQClZQCw4NodeQCxZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6removeMFNbNiQBqZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7opApplyMFNbMDFNbKQBvZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7opApplyMxFNbMDFNbKxSQDmQBxQBxQBnZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7rotateLFNaNbNiNfPSQDkQDiQDcQCv__TQCsTQCpZQDa4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh7rotateRFNaNbNiNfPSQDkQDiQDcQCv__TQCsTQCpZQDa4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh8freeNodeFNbNiPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh8opAssignMFNbNcNiNjSQDlQDjQDdQCw__TQCtTQCqZQDbZQBc@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9allocNodeMFNbNiQBtZPSQDnQDlQDfQCy__TQCvTQCsZQDd4Node@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9removeAllFNbNiPSQDiQDgQDaQCt__TQCqTQCnZQCy4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh9removeAllMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi10initializeMFNaNbNiNfmZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi13opApplyHelperFNbxPSQDnQDlQDfQCy__TQCvTQCsZQDd4NodeMDFNbKxSQFaQDlQDlQDbZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node11__xopEqualsMxFKxSQDqQDoQDiQDb__TQCyTQCvZQDgQByZb@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node9__xtoHashFNbNeKxSQDpQDnQDhQDa__TQCxTQCuZQDfQBxZm@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6insertMFNbNiPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeQCyZQBl@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6insertMFNbNiQBrZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6removeFNbNiPPSQDhQDfQCzQCs__TQCpTQCmZQCx4NodeQCyZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6removeMFNbNiQBrZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7opApplyMFNbMDFNbKQBwZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7opApplyMxFNbMDFNbKxSQDnQByQByQBoZiZi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7rotateLFNaNbNiNfPSQDlQDjQDdQCw__TQCtTQCqZQDb4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi7rotateRFNaNbNiNfPSQDlQDjQDdQCw__TQCtTQCqZQDb4NodeZQBi@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi8freeNodeFNbNiPSQDiQDgQDaQCt__TQCqTQCnZQCy4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi8opAssignMFNbNcNiNjSQDmQDkQDeQCx__TQCuTQCrZQDcZQBc@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9allocNodeMFNbNiQBuZPSQDoQDmQDgQCz__TQCwTQCtZQDe4Node@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9removeAllFNbNiPSQDjQDhQDbQCu__TQCrTQCoZQCz4NodeZv@Base 13 + _D4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi9removeAllMFNbNiZv@Base 13 + _D4core8internal9container6common11__moduleRefZ@Base 13 + _D4core8internal9container6common12__ModuleInfoZ@Base 13 + _D4core8internal9container6common7xmallocFNbNimZPv@Base 13 + _D4core8internal9container6common8xreallocFNbNiPvmZQe@Base 13 + _D4core8internal9container6common__T10initializeTAvZQqFNaNbNiNfKQpZv@Base 13 + _D4core8internal9container6common__T10initializeTPS3gcc8sections3elf3DSOZQBlFNaNbNiNfKQBlZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDaFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDcFNaNbNiNfKQDcZv@Base 13 + _D4core8internal9container6common__T10initializeTPSQBxQBvQBp7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQDaFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T10initializeTS3gcc8sections3elf9ThreadDSOZQBqFNaNbNiNfKQBqZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBw2gc11gcinterface4RootZQBnFNaNbNiNfKQBnZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBw2gc11gcinterface5RangeZQBoFNaNbNiNfKQBoZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCzFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDbFNaNbNiNfKQDbZv@Base 13 + _D4core8internal9container6common__T10initializeTSQBwQBuQBo7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCzFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T7destroyTAvZQmFNaNbNiNfKQpZv@Base 13 + _D4core8internal9container6common__T7destroyTPS3gcc8sections3elf3DSOZQBhFNaNbNiNfKQBlZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCwFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCyFNaNbNiNfKQDcZv@Base 13 + _D4core8internal9container6common__T7destroyTPSQBtQBrQBl7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCwFNaNbNiNfKQDaZv@Base 13 + _D4core8internal9container6common__T7destroyTS3gcc8sections3elf9ThreadDSOZQBmFNaNbNiNfKQBqZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBs2gc11gcinterface4RootZQBjFNaNbNiNfKQBnZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBs2gc11gcinterface5RangeZQBkFNaNbNiNfKQBoZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQCvFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQCxFNaNbNiNfKQDbZv@Base 13 + _D4core8internal9container6common__T7destroyTSQBsQBqQBk7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4NodeZQCvFNaNbNiNfKQCzZv@Base 13 + _D4core8internal9container7hashtab11__moduleRefZ@Base 13 + _D4core8internal9container7hashtab12__ModuleInfoZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi13opIndexAssignMFNbNiQBtQCaZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi3getMFNbNiQBmZPQBn@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node11__xopEqualsMxFKxSQDsQDqQDkQDd__TQCyTQCtTQCtZQDkQCcZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node9__xtoHashFNbNeKxSQDrQDpQDjQDc__TQCxTQCsTQCsZQDjQCbZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6hashOfFNaNbNiNeMKxAaZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6removeMFNbNiIAaZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi7opApplyMFMDFKQBqKQBqZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi7opIndexMNgFNaNbNcNiQBwZNgSQByQByQBr@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCuTQCpTQCpZQDgZQBg@Base 13 + _D4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxAaZPNgSQCxQCxQCq@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk13opIndexAssignMFNbNiQBwQCcZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk3getMFNbNiQBoZPQBq@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6hashOfFNaNbNiNeMKxPvZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6removeMFNbNiIPvZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk7opApplyMFMDFKQBsKQBtZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk7opIndexMNgFNaNbNcNiQByZNgPSQCbQCaQBuQBt@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk8opAssignMFNbNcNiNjSQDqQDoQDiQDb__TQCwTQCrTQCsZQDiZQBg@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxPvZPNgPSQDaQCzQCtQCs@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi10__aggrDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi11__fieldDtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi13opIndexAssignMFNbNiiQByZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi14__aggrPostblitMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi18ensureNotInOpApplyMFNaNbNiNfZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi3getMFNbNiQBmZPi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4Node6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4growMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4maskMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi5emptyMxFNaNbNdNiNfZb@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi5resetMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__dtorMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__initZ@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6hashOfFNaNbNiNeMKxPyQBvZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6lengthMxFNaNbNdNiNfZm@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6removeMFNbNiIPyQBqZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6shrinkMFNbNiZv@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi7opApplyMFMDFKQBqKiZiZi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi7opIndexMNgFNaNbNcNiQBwZNgi@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi8opAssignMFNbNcNiNjSQDoQDmQDgQCz__TQCuTQCpTiZQDeZQBe@Base 13 + _D4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi__T13opBinaryRightVAyaa2_696eZQBbMNgFNaNbNiMxPyQCvZPNgi@Base 13 + _D4core8lifetime11__moduleRefZ@Base 13 + _D4core8lifetime12__ModuleInfoZ@Base 13 + _D4core8lifetime__T11_d_newitemTTS2rt3aaA4ImplZQBcFNaNbNeZPQBa@Base 14 + _D4core8lifetime__T11_d_newitemTTS2rt9critical_18D_CRITICAL_SECTIONZQBxFNaNbNeZPQBv@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeZQCnFNaNbNeZPQCl@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTAAyaZQp4DataZQBzFNaNbNeZPQBx@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4DataZQCtFNaNbNeZPQCr@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4DataZQCuFNaNbNeZPQCs@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTAxaZQo4DataZQByFNaNbNeZPQBw@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTAyaZQo4DataZQByFNaNbNeZPQBw@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTAyuZQo4DataZQByFNaNbNeZPQBw@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTAywZQo4DataZQByFNaNbNeZPQBw@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std5array__T8AppenderTyAaZQo4DataZQByFNaNbNeZPQBw@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std8datetime8timezone13PosixTimeZone14TransitionTypeZQCrFNaNbNeZPQCp@Base 14 + _D4core8lifetime__T11_d_newitemTTS3std8datetime8timezone13PosixTimeZone6TTInfoZQCiFNaNbNeZPQCg@Base 14 + _D4core8lifetime__T11_d_newitemTTSQBg6thread7context12StackContextZQBwFNaNbNeZPQBu@Base 14 + _D4core8lifetime__T11copyEmplaceTS3std11concurrency3TidTQxZQBoFNaNbNiKQBlKQBpZv@Base 13 + _D4core8lifetime__T11moveEmplaceTAyaZQsFNaNbNiKQoKQrZv@Base 13 + _D4core8lifetime__T11moveEmplaceTC3std3zip13ArchiveMemberZQBnFNaNbNiKQBkKQBoZv@Base 13 + _D4core8lifetime__T11moveEmplaceTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCnFNaNbNiKQCkKQCoZv@Base 13 + _D4core8lifetime__T11moveEmplaceTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCrFNaNbNiKQCoKQCsZv@Base 13 + _D4core8lifetime__T12_d_newclassTTC3gcc9backtrace12LibBacktraceZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11concurrency10MessageBoxZQBuFNaNbNeZQBq@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11concurrency11MailboxFullZQBvFNaNbNeZQBr@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11concurrency14FiberScheduler14FiberConditionZQCoFNaNbNeZQCk@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11concurrency14FiberScheduler9InfoFiberZQCiFNaNbNeZQCe@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11concurrency19TidMissingExceptionZQCdFNaNbNeZQBz@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11parallelism17ParallelismThreadZQCbFNaNbNeZQBx@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11parallelism20ParallelForeachErrorZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std11parallelism8TaskPoolZQBrFNaNbNeZQBn@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3net4curl13CurlExceptionZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3net4curl20CurlTimeoutExceptionZQCaFNaNbNeZQBw@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3uri12URIExceptionZQBnFNaNbNeZQBj@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3utf12UTFExceptionZQBnFNaNbNeZQBj@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3zip12ZipExceptionZQBnFNaNbNeZQBj@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std3zip13ArchiveMemberZQBoFNaNbNeZQBk@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4conv13ConvExceptionZQBpFNaNbNeZQBl@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4conv21ConvOverflowExceptionZQBxFNaNbNeZQBt@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4file13FileExceptionZQBpFNaNbNeZQBl@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4json13JSONExceptionZQBpFNaNbNeZQBl@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4uuid20UUIDParsingExceptionZQBwFNaNbNeZQBs@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std4zlib13ZlibExceptionZQBpFNaNbNeZQBl@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std5regex8internal2ir14RegexExceptionZQCdFNaNbNeZQBz@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std5stdio14StdioExceptionZQBrFNaNbNeZQBn@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6format15FormatExceptionZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket11UnixAddressZQBpFNaNbNeZQBl@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket12InternetHostZQBqFNaNbNeZQBm@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket13HostExceptionZQBrFNaNbNeZQBn@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket14UnknownAddressZQBsFNaNbNeZQBo@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket15InternetAddressZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket16AddressExceptionZQBuFNaNbNeZQBq@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket16Internet6AddressZQBuFNaNbNeZQBq@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket17SocketOSExceptionZQBvFNaNbNeZQBr@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket21SocketAcceptExceptionZQBzFNaNbNeZQBv@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket22SocketFeatureExceptionZQCaFNaNbNeZQBw@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket23UnknownAddressReferenceZQCbFNaNbNeZQBx@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket24SocketParameterExceptionZQCcFNaNbNeZQBy@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket6SocketZQBjFNaNbNeZQBf@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std6socket7ServiceZQBkFNaNbNeZQBg@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std7process16ProcessExceptionZQBvFNaNbNeZQBr@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std7process3PidZQBhFNaNbNeZQBd@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std7variant16VariantExceptionZQBvFNaNbNeZQBr@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding17EncodingExceptionZQBxFNaNbNeZQBt@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding18EncodingSchemeUtf8ZQByFNaNbNeZQBu@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding19EncodingSchemeASCIIZQBzFNaNbNeZQBv@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding20EncodingSchemeLatin1ZQCaFNaNbNeZQBw@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding20EncodingSchemeLatin2ZQCaFNaNbNeZQBw@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding25EncodingSchemeUtf16NativeZQCfFNaNbNeZQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding25EncodingSchemeUtf32NativeZQCfFNaNbNeZQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding25EncodingSchemeWindows1250ZQCfFNaNbNeZQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding25EncodingSchemeWindows1251ZQCfFNaNbNeZQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std8encoding25EncodingSchemeWindows1252ZQCfFNaNbNeZQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTC3std9exception14ErrnoExceptionZQBvFNaNbNeZQBr@Base 13 + _D4core8lifetime__T12_d_newclassTTC6object5ErrorZQBeFNaNbNeZQBa@Base 13 + _D4core8lifetime__T12_d_newclassTTC9ExceptionZQBbFNaNbNeZQx@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync5mutex5MutexZQBlFNaNbNeZQBh@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync7rwmutex14ReadWriteMutex6ReaderZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync7rwmutex14ReadWriteMutex6WriterZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync9condition9ConditionZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4sync9exception9SyncErrorZQBtFNaNbNeZQBp@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh4time13TimeExceptionZQBoFNaNbNeZQBk@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh6thread10threadbase15ThreadExceptionZQCeFNaNbNeZQCa@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh6thread8osthread6ThreadZQBrFNaNbNeZQBn@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh9exception10RangeErrorZQBqFNaNbNeZQBm@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh9exception16OutOfMemoryErrorZQBwFNaNbNeZQBs@Base 13 + _D4core8lifetime__T12_d_newclassTTCQBh9exception16UnicodeExceptionZQBwFNaNbNeZQBs@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync5mutex5MutexZQBmFNaNbNeZOQBi@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync7rwmutex14ReadWriteMutex6ReaderZQCfFNaNbNeZOQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync7rwmutex14ReadWriteMutex6WriterZQCfFNaNbNeZOQCb@Base 13 + _D4core8lifetime__T12_d_newclassTTOCQBi4sync9condition9ConditionZQBuFNaNbNeZOQBq@Base 13 + _D4core8lifetime__T12_d_newclassTTyC3std8datetime8timezone13PosixTimeZoneZQCdFNaNbNeZyQBz@Base 13 + _D4core8lifetime__T15moveEmplaceImplTAyaZQwFNaNbNiNfMKQrNkMKQxZv@Base 13 + _D4core8lifetime__T15moveEmplaceImplTC3std3zip13ArchiveMemberZQBrFNaNbNiNfMKQBnNkMKQBuZv@Base 13 + _D4core8lifetime__T15moveEmplaceImplTE3std6loggerQBv8LogLevelZQBrFNaNbNiNfMKQBnNkMKQBuZv@Base 14 + _D4core8lifetime__T15moveEmplaceImplTS3std8bitmanip__T7BitsSetTmZQlZQBxFNaNbNiNfMKQBtNkMKQCaZv@Base 14 + _D4core8lifetime__T15moveEmplaceImplTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCrFNaNbNiNfMKQCnNkMKQCuZv@Base 14 + _D4core8lifetime__T15moveEmplaceImplTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCvFNaNbNiNfMKQCrNkMKQCyZv@Base 13 + _D4core8lifetime__T15trustedMoveImplTAyaZQwFNaNbNiNeNkMKQtZQw@Base 13 + _D4core8lifetime__T15trustedMoveImplTC3std3zip13ArchiveMemberZQBrFNaNbNiNeNkMKQBpZQBt@Base 13 + _D4core8lifetime__T15trustedMoveImplTE3std6loggerQBv8LogLevelZQBrFNaNbNiNeNkMKQBpZQBt@Base 14 + _D4core8lifetime__T15trustedMoveImplTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCrFNaNbNiNeNkMKQCpZQCt@Base 14 + _D4core8lifetime__T15trustedMoveImplTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCvFNaNbNiNeNkMKQCtZQCx@Base 13 + _D4core8lifetime__T4moveTAyaZQkFNaNbNiNfNkMKQtZQw@Base 13 + _D4core8lifetime__T4moveTC3std3zip13ArchiveMemberZQBfFNaNbNiNfNkMKQBpZQBt@Base 13 + _D4core8lifetime__T4moveTE3std6loggerQBj8LogLevelZQBfFNaNbNiNfNkMKQBpZQBt@Base 14 + _D4core8lifetime__T4moveTS3std8bitmanip__T7BitsSetTmZQlZQBlFNaNbNiNfKQBsKQBwZv@Base 13 + _D4core8lifetime__T4moveTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCfFNaNbNiNfNkMKQCpZQCt@Base 14 + _D4core8lifetime__T4moveTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCjFNaNbNiNfNkMKQCtZQCx@Base 13 + _D4core8lifetime__T7emplaceTAyaTQeZQqFNaNbNiNfPQtKQwZQh@Base 13 + _D4core8lifetime__T7emplaceTC3gcc9backtrace12LibBacktraceTiZQBpFNiQBmKiZQBs@Base 13 + _D4core8lifetime__T7emplaceTC3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocatorTOSQDcQDbQCq18RCISharedAllocatorZQEqFNaNbNiAvKOQBtZQEz@Base 13 + _D4core8lifetime__T7emplaceTC3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocatorTOSQDcQDbQCq18RCISharedAllocatorZQEqFNaNbNiNfQEtKOQBwZQFc@Base 13 + _D4core8lifetime__T7emplaceTC3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEkZQGdFNaNbNiAvZQGh@Base 13 + _D4core8lifetime__T7emplaceTC3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEkZQGdFNaNbNiNfQGgZQGk@Base 13 + _D4core8lifetime__T7emplaceTC3std3zip13ArchiveMemberTQzZQBlFNaNbNiNfPQBpKQBtZQj@Base 13 + _D4core8lifetime__T7emplaceTC3std6logger10filelogger10FileLoggerTSQBl5stdio4FileTEQCbQCaQDi8LogLevelZQDeFAvKQBrQBeZQDj@Base 13 + _D4core8lifetime__T7emplaceTC3std6logger10filelogger10FileLoggerTSQBl5stdio4FileTEQCbQCaQDi8LogLevelZQDeFNfQDbKQBuQBhZQDm@Base 13 + _D4core8lifetime__T7emplaceTC3std6loggerQBm16StdForwardLoggerTEQBiQBhQCp8LogLevelZQClFAvQBaZQCm@Base 13 + _D4core8lifetime__T7emplaceTC3std6loggerQBm16StdForwardLoggerTEQBiQBhQCp8LogLevelZQClFNfQCiQBdZQCp@Base 13 + _D4core8lifetime__T7emplaceTCQBb4sync5mutex5MutexZQBfFNbNiAvZQBh@Base 13 + _D4core8lifetime__T7emplaceTCQBb4sync5mutex5MutexZQBfFNbNiNfQBgZQBk@Base 13 + _D4core8lifetime__T7emplaceTCQBb8internal2gc4impl12conservativeQw14ConservativeGCZQClFQCgZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb8internal2gc4impl6manualQp8ManualGCZQBxFQBsZQBw@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception10RangeErrorTAyaTmTnZQBsFNaNbNiNfQBvKQyKmKQxZQCh@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTQeTiZQBuFNaNbNiNfQBxKQzKQBcKiZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTQeTmZQBuFNaNbNiNfQBxKQzKQBcKmZQCk@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11AssertErrorTAyaTmZQBrFNaNbNiNfQBuKQwKmZQCd@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception11SwitchErrorTAyaTQeTmTnZQBwFNaNbNiNfQBzKQBbKQBfKmKQBcZQCr@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCxFNaNbNiNfQDaKQCaKQBtKQBeKmZQDs@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception15ArrayIndexErrorTmTmTAyaTmTnZQCbFNaNbNiNfQCeKmKmKQBcKmKQBcZQCw@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception15ArraySliceErrorTmTmTmTAyaTmTnZQCdFNaNbNiNfQCgKmKmKmKQBeKmKQBeZQDa@Base 13 + _D4core8lifetime__T7emplaceTCQBb9exception16OutOfMemoryErrorTAyaTmZQBwFNaNbNiNfQBzKQwKmZQCi@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception16OutOfMemoryErrorTbTAyaTmZQByFNaNbNiNfQCbKbKQyKmZQCm@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception27InvalidMemoryOperationErrorTAyaTmZQChFNaNbNiNfQCkKQwKmZQCt@Base 14.2 + _D4core8lifetime__T7emplaceTCQBb9exception9ForkErrorTAyaTmTnZQBqFNaNbNiNfQBtKQyKmKQxZQCf@Base 13 + _D4core8lifetime__T7emplaceTS3std11concurrency__T4ListTSQBbQBa7MessageZQw4NodeTQyZQClFPQChKQBkZQj@Base 13 + _D4core8lifetime__T7emplaceTS3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqZQJrFNaNbNiNfPQJvZQf@Base 13 + _D4core8lifetime__T7emplaceTS3std3net4curl3FTP4ImplZQBhFNaNbNiNfPQBlZQf@Base 13 + _D4core8lifetime__T7emplaceTS3std3net4curl4HTTP4ImplZQBiFNaNbNiNfPQBmZQf@Base 13 + _D4core8lifetime__T7emplaceTS3std3net4curl4SMTP4ImplZQBiFNaNbNiNfPQBmZQf@Base 13 + _D4core8lifetime__T7emplaceTS3std4file15DirIteratorImplTAyaTEQBgQBf8SpanModeTbZQCiFNfPQCgKQBiKQBiKbZQp@Base 13 + _D4core8lifetime__T7emplaceTS3std6socket11AddressInfoTQBaZQBnFNaNbNiNfPQBrKQBvZQj@Base 13 + _D4core8lifetime__T7emplaceTaTaZQnFNaNbNiNfPaKaZQf@Base 13 + _D4core8lifetime__T7emplaceTwTwZQnFNaNbNiNfPwKwZQf@Base 13 + _D4core8lifetime__T8moveImplTAyaZQoFNaNbNiNfNkMKQtZQw@Base 13 + _D4core8lifetime__T8moveImplTC3std3zip13ArchiveMemberZQBjFNaNbNiNfNkMKQBpZQBt@Base 13 + _D4core8lifetime__T8moveImplTE3std6loggerQBn8LogLevelZQBjFNaNbNiNfNkMKQBpZQBt@Base 14 + _D4core8lifetime__T8moveImplTS3std8bitmanip__T7BitsSetTmZQlZQBpFNaNbNiNfMKQBtNkMKQCaZv@Base 14 + _D4core8lifetime__T8moveImplTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCjFNaNbNiNfNkMKQCpZQCt@Base 14 + _D4core8lifetime__T8moveImplTS3std8datetime8timezone13PosixTimeZone14TempTransitionZQCnFNaNbNiNfNkMKQCtZQCx@Base 13 + _D4core8volatile11__moduleRefZ@Base 13 + _D4core8volatile12__ModuleInfoZ@Base 13 + _D4core9attribute11__moduleRefZ@Base 13 + _D4core9attribute12__ModuleInfoZ@Base 13 + _D4core9attribute9gnuAbiTag11__xopEqualsMxFKxSQBsQBqQBjZb@Base 13 + _D4core9attribute9gnuAbiTag6__ctorMFNaNbNcNfAAyaXSQBwQBuQBn@Base 13 + _D4core9attribute9gnuAbiTag6__initZ@Base 13 + _D4core9attribute9gnuAbiTag9__xtoHashFNbNeKxSQBrQBpQBiZm@Base 13 + _D4core9exception10RangeError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCsQCqQCj@Base 13 + _D4core9exception10RangeError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCqQCoQCh@Base 13 + _D4core9exception10RangeError6__initZ@Base 13 + _D4core9exception10RangeError6__vtblZ@Base 13 + _D4core9exception10RangeError7__ClassZ@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCtQCrQCk@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfAyamZCQBzQBxQBq@Base 13 + _D4core9exception11AssertError6__ctorMFNaNbNiNfC6object9ThrowableAyamZCQCrQCpQCi@Base 13 + _D4core9exception11AssertError6__initZ@Base 13 + _D4core9exception11AssertError6__vtblZ@Base 13 + _D4core9exception11AssertError7__ClassZ@Base 13 + _D4core9exception11SwitchError6__ctorMFNaNbNiNfAyaQdmC6object9ThrowableZCQCtQCrQCk@Base 13 + _D4core9exception11SwitchError6__initZ@Base 13 + _D4core9exception11SwitchError6__vtblZ@Base 13 + _D4core9exception11SwitchError7__ClassZ@Base 13 + _D4core9exception11__moduleRefZ@Base 13 + _D4core9exception11rangeMsgPutFNaNbNiNfKAaMAxaZv@Base 13 + _D4core9exception12__ModuleInfoZ@Base 13 + _D4core9exception13FinalizeError6__ctorMFNaNbNiNfC8TypeInfoAyamC6object9ThrowableZCQDdQDbQCu@Base 13 + _D4core9exception13FinalizeError6__ctorMFNaNbNiNfC8TypeInfoC6object9ThrowableAyamZCQDdQDbQCu@Base 13 + _D4core9exception13FinalizeError6__initZ@Base 13 + _D4core9exception13FinalizeError6__vtblZ@Base 13 + _D4core9exception13FinalizeError7__ClassZ@Base 13 + _D4core9exception13FinalizeError8toStringMxFNfZAya@Base 13 + _D4core9exception13assertHandlerFNbNdNiNePFNbAyamQeZvZv@Base 13 + _D4core9exception13assertHandlerFNbNdNiNeZPFNbAyamQeZv@Base 13 + _D4core9exception14_assertHandlerPFNbAyamQeZv@Base 13 + _D4core9exception15ArrayIndexError6__ctorMFNaNbNiNfmmAyamC6object9ThrowableZCQCxQCvQCo@Base 13 + _D4core9exception15ArrayIndexError6__initZ@Base 13 + _D4core9exception15ArrayIndexError6__vtblZ@Base 13 + _D4core9exception15ArrayIndexError7__ClassZ@Base 13 + _D4core9exception15ArraySliceError6__ctorMFNaNbNiNfmmmAyamC6object9ThrowableZCQCyQCwQCp@Base 13 + _D4core9exception15ArraySliceError6__initZ@Base 13 + _D4core9exception15ArraySliceError6__vtblZ@Base 13 + _D4core9exception15ArraySliceError7__ClassZ@Base 13 + _D4core9exception16OutOfMemoryError13superToStringMFNeZAya@Base 13 + _D4core9exception16OutOfMemoryError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCwQCuQCn@Base 13 + _D4core9exception16OutOfMemoryError6__ctorMFNaNbNiNfbAyamC6object9ThrowableZCQCxQCvQCo@Base 13 + _D4core9exception16OutOfMemoryError6__initZ@Base 13 + _D4core9exception16OutOfMemoryError6__vtblZ@Base 13 + _D4core9exception16OutOfMemoryError7__ClassZ@Base 13 + _D4core9exception16OutOfMemoryError8toStringMxFNeZAya@Base 13 + _D4core9exception16UnicodeException6__ctorMFNaNbNiNfAyamQemC6object9ThrowableZCQCzQCxQCq@Base 13 + _D4core9exception16UnicodeException6__initZ@Base 13 + _D4core9exception16UnicodeException6__vtblZ@Base 13 + _D4core9exception16UnicodeException7__ClassZ@Base 13 + _D4core9exception17SuppressTraceInfo6__initZ@Base 13 + _D4core9exception17SuppressTraceInfo6__vtblZ@Base 13 + _D4core9exception17SuppressTraceInfo7__ClassZ@Base 13 + _D4core9exception17SuppressTraceInfo7opApplyMxFMDFKmKxAaZiZi@Base 13 + _D4core9exception17SuppressTraceInfo7opApplyMxFMDFKxAaZiZi@Base 13 + _D4core9exception17SuppressTraceInfo8instanceFNaNbNiNeZ2ityCQCgQCeQBx@Base 13 + _D4core9exception17SuppressTraceInfo8instanceFNaNbNiNeZCQCcQCaQBt@Base 13 + _D4core9exception17SuppressTraceInfo8toStringMxFZAya@Base 13 + _D4core9exception27InvalidMemoryOperationError13superToStringMFNeZAya@Base 13 + _D4core9exception27InvalidMemoryOperationError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQDhQDfQCy@Base 13 + _D4core9exception27InvalidMemoryOperationError6__initZ@Base 13 + _D4core9exception27InvalidMemoryOperationError6__vtblZ@Base 13 + _D4core9exception27InvalidMemoryOperationError7__ClassZ@Base 13 + _D4core9exception27InvalidMemoryOperationError8toStringMxFNeZAya@Base 13 + _D4core9exception6_storeG256v@Base 13 + _D4core9exception9ForkError6__ctorMFNaNbNiNfAyamC6object9ThrowableZCQCoQCmQCf@Base 13 + _D4core9exception9ForkError6__initZ@Base 13 + _D4core9exception9ForkError6__vtblZ@Base 13 + _D4core9exception9ForkError7__ClassZ@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf10RangeErrorTAyaTmTnZQBqFKQnKmQlZ3getFNbNiZQBy@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf10RangeErrorTAyaTmTnZQBqFNaNbNiKQtKmQrZQBu@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTiZQBsFNaNbNiQtQviZQBu@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTiZQBsFQnQpiZ3getFNbNiZQBy@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTmZQBsFKQoKQrKmZ3getFNbNiZQCb@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTQeTmZQBsFNaNbNiKQuKQxKmZQBx@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTmZQBpFKQlKmZ3getFNbNiZQBv@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11AssertErrorTAyaTmZQBpFNaNbNiKQrKmZQBr@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf11SwitchErrorTAyaTQeTmTnZQBuFNaNbNiQvKQyKmQtZQCa@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf11SwitchErrorTAyaTQeTmTnZQBuFQpKQsKmQnZ3getFNbNiZQCe@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCvFKQBpKQBiKQtKmZ3getFNbNiZQDj@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf13FinalizeErrorTC8TypeInfoTC6object9ThrowableTAyaTmZQCvFNaNbNiKQBvKQBoKQzKmZQDf@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArrayIndexErrorTmTmTAyaTmTnZQBzFKmKmKQrKmQpZ3getFNbNiZQCl@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArrayIndexErrorTmTmTAyaTmTnZQBzFNaNbNiKmKmKQxKmQvZQCh@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArraySliceErrorTmTmTmTAyaTmTnZQCbFKmKmKmKQtKmQrZ3getFNbNiZQCp@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf15ArraySliceErrorTmTmTmTAyaTmTnZQCbFNaNbNiKmKmKmKQzKmQxZQCl@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTAyaTmZQBuFKQlKmZ3getFNbNiZQCa@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTAyaTmZQBuFNaNbNiKQrKmZQBw@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTbTAyaTmZQBwFNaNbNibKQsKmZQBz@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf16OutOfMemoryErrorTbTAyaTmZQBwFbKQmKmZ3getFNbNiZQCd@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf27InvalidMemoryOperationErrorTAyaTmZQCfFKQlKmZ3getFNbNiZQCl@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf27InvalidMemoryOperationErrorTAyaTmZQCfFNaNbNiKQrKmZQCh@Base 14.2 + _D4core9exception__T11staticErrorTCQBhQBf9ForkErrorTAyaTmTnZQBoFKQnKmQlZ3getFNbNiZQBw@Base 13 + _D4core9exception__T11staticErrorTCQBhQBf9ForkErrorTAyaTmTnZQBoFNaNbNiKQtKmQrZQBs@Base 13 + _D4core9exception__T15__switch_errorTZQsFNaNbNiNeAyamZv@Base 14.2 + _D50TypeInfo_C3std12experimental9allocator10IAllocator6__initZ@Base 13 + _D50TypeInfo_E3std6format8internal5write12RoundingMode6__initZ@Base 13 + _D50TypeInfo_E3std8internal4test10dummyrange9RangeType6__initZ@Base 13 + _D50TypeInfo_E3std9algorithm9iteration14GroupingOpType6__initZ@Base 13 + _D50TypeInfo_E4core3sys5linux10perf_event11perf_sw_ids6__initZ@Base 13 + _D50TypeInfo_S3std4math8hardware20FloatingPointControl6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc4Addr6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linux6uinput16uinput_abs_setup6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linux6uinput16uinput_ff_upload6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linux8io_uring14io_uring_probe6__initZ@Base 13 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11fanout_args6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11packet_mreq6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11sockaddr_ll6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11tpacket_hdr6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQg9if_packet11tpacket_req6__initZ@Base 14 + _D50TypeInfo_S4core3sys5linuxQk7inotify13inotify_event6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix5spawn17posix_spawnattr_t6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix7netinet3in_11sockaddr_in6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posix7pthread15pthread_cleanup6__initZ@Base 13 + _D50TypeInfo_S4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D50TypeInfo_S4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D50TypeInfo_xS3std5range__T6strideTAywZQmFQhmZ6Result6__initZ@Base 14.2 + _D51TypeInfo_E3std6format8internal5write13PrecisionType6__initZ@Base 13 + _D51TypeInfo_E3std6format8internal5write13RoundingClass6__initZ@Base 13 + _D51TypeInfo_E4core3sys5linux10perf_event12perf_type_id6__initZ@Base 13 + _D51TypeInfo_E4core4sync7rwmutex14ReadWriteMutex6Policy6__initZ@Base 13 + _D51TypeInfo_OS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D51TypeInfo_S3std8internal4test3uda17HasPrivateMembers6__initZ@Base 13 + _D51TypeInfo_S4core13interpolation19InterpolationFooter6__initZ@Base 14.2 + _D51TypeInfo_S4core13interpolation19InterpolationHeader6__initZ@Base 14.2 + _D51TypeInfo_S4core3sys5linux5input18ff_constant_effect6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux5input18ff_periodic_effect6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux5input18input_keymap_entry6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linux8io_uring15io_uring_params6__initZ@Base 13 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12sockaddr_pkt6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket2_hdr6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket3_hdr6__initZ@Base 14 + _D51TypeInfo_S4core3sys5linuxQg9if_packet12tpacket_req36__initZ@Base 14 + _D51TypeInfo_S4core3sys5posix7netinet3in_12sockaddr_in66__initZ@Base 13 + _D51TypeInfo_S4core3sys5posixQk5types16pthread_rwlock_t6__initZ@Base 13 + _D51TypeInfo_xC3std12experimental9allocator10IAllocator6__initZ@Base 13 + _D51TypeInfo_xS4core3sys5posixQk5types15pthread_mutex_t6__initZ@Base 13 + _D51TypeInfo_xS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D52TypeInfo_OC4core4sync7rwmutex14ReadWriteMutex6Reader6__initZ@Base 13 + _D52TypeInfo_OC4core4sync7rwmutex14ReadWriteMutex6Writer6__initZ@Base 13 + _D52TypeInfo_OxS4core8internal8spinlock15AlignedSpinLock6__initZ@Base 13 + _D52TypeInfo_S3std12experimental9allocator12RCIAllocator6__initZ@Base 13 + _D52TypeInfo_S3std3uni__T19PackedArrayViewImplThVmi8ZQBc6__initZ@Base 13 + _D52TypeInfo_S3std6logger11multilogger16MultiLoggerEntry6__initZ@Base 13 + _D52TypeInfo_S4core3sys5linux2fs22file_dedupe_range_info6__initZ@Base 13 + _D52TypeInfo_S4core3sys5linux5input19ff_condition_effect6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_bd_ts6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_req_u6__initZ@Base 14 + _D52TypeInfo_S4core3sys5linuxQg9if_packet13tpacket_stats6__initZ@Base 14 + _D52TypeInfo_S4core3sys5posixQk5types17_pthread_fastlock6__initZ@Base 13 + _D52TypeInfo_S4core3sys5posixQk5types17pthread_barrier_t6__initZ@Base 13 + _D52TypeInfo_S4core3sys5posixQk6socket16sockaddr_storage6__initZ@Base 13 + _D52TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx6__initZ@Base 13 + _D53TypeInfo_AS3std6logger11multilogger16MultiLoggerEntry6__initZ@Base 13 + _D53TypeInfo_E3std8typecons__T4FlagVAyaa6_756e73616665ZQz6__initZ@Base 13 + _D53TypeInfo_E4core8internal2gc4impl12conservativeQw4Bins6__initZ@Base 13 + _D53TypeInfo_S3std11parallelism__T4TaskSQBaQz3runTDFZvZQv6__initZ@Base 13 + _D53TypeInfo_S3std3uni__T19PackedArrayViewImplTtVmi16ZQBd6__initZ@Base 13 + _D53TypeInfo_S3std5range__T4TakeTSQuQs__T6RepeatTaZQkZQBb6__initZ@Base 13 + _D53TypeInfo_S3std5regex8internal12backtracking9CtContext6__initZ@Base 13 + _D53TypeInfo_S3std5stdio4File__T16BinaryWriterImplVbi1ZQx6__initZ@Base 13 + _D53TypeInfo_S3std6digest3crc__T3CRCVki32Vmi3988292384ZQx6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_cqring_offsets6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_sqring_offsets6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linux8io_uring17io_uring_probe_op6__initZ@Base 13 + _D53TypeInfo_S4core3sys5linuxQg9if_packet14tpacket_hdr_v16__initZ@Base 14 + _D53TypeInfo_S4core3sys5posixQk5types18pthread_condattr_t6__initZ@Base 13 + _D53TypeInfo_S4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D53TypeInfo_S4core8internal2gc4impl12conservativeQw4Pool6__initZ@Base 13 + _D54TypeInfo_E3std12experimental9allocator5typed9AllocFlag6__initZ@Base 13 + _D54TypeInfo_E4core3sys5linux10perf_event15perf_event_type6__initZ@Base 13 + _D54TypeInfo_E4core8internal8spinlock8SpinLock10Contention6__initZ@Base 13 + _D54TypeInfo_S3std11concurrency__T4ListTSQBbQBa7MessageZQw6__initZ@Base 13 + _D54TypeInfo_S3std8datetime8timezone13PosixTimeZone6TTInfo6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linux10perf_event15perf_event_attr6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linux5stdio21cookie_io_functions_t6__initZ@Base 13 + _D54TypeInfo_S4core3sys5linuxQg9if_packet15tpacket_auxdata6__initZ@Base 14 + _D54TypeInfo_S4core3sys5linuxQg9if_packet15tpacket_stats_u6__initZ@Base 14 + _D54TypeInfo_S4core3sys5linuxQk8signalfd16signalfd_siginfo6__initZ@Base 13 + _D54TypeInfo_S4core3sys5posix9semaphore17_pthread_fastlock6__initZ@Base 13 + _D54TypeInfo_S4core3sys5posixQk5types19pthread_mutexattr_t6__initZ@Base 13 + _D54TypeInfo_xS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D55TypeInfo_E3std6format8internal5write17HasToStringResult6__initZ@Base 13 + _D55TypeInfo_E4core3sys5linux10perf_event16perf_hw_cache_id6__initZ@Base 13 + _D55TypeInfo_E4core3sys5linuxQg9if_packet16tpacket_versions6__initZ@Base 14 + _D55TypeInfo_PS3std8datetime8timezone13PosixTimeZone6TTInfo6__initZ@Base 14 + _D55TypeInfo_PxS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D55TypeInfo_S3std3uni__T8CowArrayTSQwQu13ReallocPolicyZQBf6__initZ@Base 13 + _D55TypeInfo_S3std7variant__T8VariantNVmi32ZQp11SizeChecker6__initZ@Base 13 + _D55TypeInfo_S4core3sys5linux4tipc13sockaddr_tipc4Addr4Name6__initZ@Base 13 + _D55TypeInfo_S4core3sys5linuxQg9if_packet16tpacket_stats_v36__initZ@Base 14 + _D55TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t6__initZ@Base 13 + _D55TypeInfo_S4core3sys5posixQk5types20pthread_rwlockattr_t6__initZ@Base 13 + _D55TypeInfo_S4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D55TypeInfo_xPS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D55TypeInfo_yS3std8datetime8timezone13PosixTimeZone6TTInfo6__initZ@Base 13 + _D56TypeInfo_AxPS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D56TypeInfo_C3std12experimental9allocator16ISharedAllocator6__initZ@Base 13 + _D56TypeInfo_E3std8typecons__T4FlagVAyaa7_646f436f756e74ZQBb6__initZ@Base 13 + _D56TypeInfo_S3std10checkedint__T7CheckedTmTSQBfQBe5AbortZQz6__initZ@Base 13 + _D56TypeInfo_S3std8internal14unicode_tables15UnicodeProperty6__initZ@Base 13 + _D56TypeInfo_S3std8typecons__T5TupleTEQy8encoding3BOMTAhZQBb6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_branch_entry6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_event_header6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_mem_data_src6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux10perf_event17perf_ns_link_info6__initZ@Base 13 + _D56TypeInfo_S4core3sys5linux8io_uring20io_uring_restriction6__initZ@Base 13 + _D56TypeInfo_S4core3sys5posixQk5types21pthread_barrierattr_t6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTaZQq6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTuZQq6__initZ@Base 13 + _D56TypeInfo_S4core6stdcpp11string_view__T11char_traitsTwZQq6__initZ@Base 13 + _D56TypeInfo_S4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa6__initZ@Base 13 + _D56TypeInfo_S4core8internal6traits23__InoutWorkaroundStruct6__initZ@Base 13 + _D56TypeInfo_xS4core8internal9container5array__T5ArrayTAvZQk6__initZ@Base 13 + _D57TypeInfo_S3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D57TypeInfo_S4core3sys5linux8io_uring21io_uring_files_update6__initZ@Base 13 + _D57TypeInfo_S4core3sys5linuxQg9if_packet18tpacket_block_desc6__initZ@Base 14 + _D57TypeInfo_xC3std12experimental9allocator16ISharedAllocator6__initZ@Base 13 + _D57TypeInfo_yS3std8internal14unicode_tables15UnicodeProperty6__initZ@Base 13 + _D58TypeInfo_AS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D58TypeInfo_AyS3std8internal14unicode_tables15UnicodeProperty6__initZ@Base 13 + _D58TypeInfo_E2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ7OnCycle6__initZ@Base 13 + _D58TypeInfo_E3std8typecons__T4FlagVAyaa8_6164617074697665ZQBd6__initZ@Base 13 + _D58TypeInfo_E3std8typecons__T4FlagVAyaa8_636865636b446e73ZQBd6__initZ@Base 13 + _D58TypeInfo_E3std8typecons__T4FlagVAyaa8_696e646972656374ZQBd6__initZ@Base 13 + _D58TypeInfo_E3std8typecons__T4FlagVAyaa8_706f704669727374ZQBd6__initZ@Base 13 + _D58TypeInfo_E4core3sys5linux10perf_event19perf_hw_cache_op_id6__initZ@Base 13 + _D58TypeInfo_G14PxS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D58TypeInfo_OxC3std12experimental9allocator16ISharedAllocator6__initZ@Base 13 + _D58TypeInfo_S3std12experimental9allocator18RCISharedAllocator6__initZ@Base 13 + _D58TypeInfo_S3std6format__T7sformatTaTxdZQoFNkMAaMAxaxdZ4Sink6__initZ@Base 13 + _D58TypeInfo_S3std8internal7cstring__T17TempCStringBufferTaZQw6__initZ@Base 13 + _D58TypeInfo_S4core3sys5linux8io_uring22io_uring_getevents_arg6__initZ@Base 13 + _D58TypeInfo_S4core3sys5linuxQg9if_packet19tpacket_bd_header_u6__initZ@Base 14 + _D58TypeInfo_S4core3sys5posix7pthread23_pthread_cleanup_buffer6__initZ@Base 13 + _D58TypeInfo_xG14PS4core8internal2gc4impl12conservativeQw4List6__initZ@Base 13 + _D58TypeInfo_xS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D59TypeInfo_AxS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D59TypeInfo_E4core3sys5linux10perf_event20perf_event_ioc_flags6__initZ@Base 13 + _D59TypeInfo_E4core3sys5linux10perf_event20perf_sample_regs_abi6__initZ@Base 13 + _D59TypeInfo_OS3std12experimental9allocator18RCISharedAllocator6__initZ@Base 13 + _D59TypeInfo_S2rt9profilegc25_sharedStaticDtor_L116_C1FZ6Result6__initZ@Base 14 + _D59TypeInfo_S3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__initZ@Base 13 + _D59TypeInfo_S3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl6__initZ@Base 13 + _D59TypeInfo_S3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D59TypeInfo_S3std8datetime8timezone13PosixTimeZone10TempTTInfo6__initZ@Base 13 + _D59TypeInfo_S3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D59TypeInfo_S4core3sys5linux10perf_event20perf_event_mmap_page6__initZ@Base 13 + _D59TypeInfo_S4core3sys5linuxQg9if_packet20tpacket_hdr_variant16__initZ@Base 14 + _D59TypeInfo_S4core3sys5posix5spawn26posix_spawn_file_actions_t6__initZ@Base 13 + _D59TypeInfo_xAS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh6__initZ@Base 13 + _D59TypeInfo_xAyS3std8internal14unicode_tables15UnicodeProperty6__initZ@Base 13 + _D60TypeInfo_E3std8typecons__T4FlagVAyaa9_6175746f5374617274ZQBf6__initZ@Base 13 + _D60TypeInfo_E3std8typecons__T4FlagVAyaa9_6c65616e5269676874ZQBf6__initZ@Base 13 + _D60TypeInfo_E3std8typecons__T4FlagVAyaa9_6f70656e5269676874ZQBf6__initZ@Base 13 + _D60TypeInfo_E3std8typecons__T4FlagVAyaa9_706970654f6e506f70ZQBf6__initZ@Base 13 + _D60TypeInfo_S3std11concurrency__T4ListTSQBbQBa7MessageZQw5Range6__initZ@Base 13 + _D60TypeInfo_S3std3uni__T16SliceOverIndexedTSQBfQBe8GraphemeZQBk6__initZ@Base 13 + _D60TypeInfo_S3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D60TypeInfo_S3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D60TypeInfo_S3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D60TypeInfo_S3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D60TypeInfo_S3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi6__initZ@Base 13 + _D60TypeInfo_xS3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__initZ@Base 13 + _D60TypeInfo_xS3std3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImpl6__initZ@Base 13 + _D60TypeInfo_xS3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D60TypeInfo_xS3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D60TypeInfo_yS3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D60TypeInfo_yS3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D61TypeInfo_AxS3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D61TypeInfo_AxS3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D61TypeInfo_AyS3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D61TypeInfo_AyS3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D61TypeInfo_E4core3sys5linux10perf_event22perf_callchain_context6__initZ@Base 13 + _D61TypeInfo_E4core3sys5linux10perf_event22perf_event_read_format6__initZ@Base 13 + _D61TypeInfo_E4core8internal2gc4impl12conservativeQw4Pool7ShiftBy6__initZ@Base 13 + _D61TypeInfo_PxS3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__initZ@Base 13 + _D61TypeInfo_S3std5array__T8AppenderTASQz6socket11AddressInfoZQBj6__initZ@Base 13 + _D61TypeInfo_S3std5regex8internal12backtracking9CtContext7CtState6__initZ@Base 13 + _D61TypeInfo_S3std8bitmanip__T27FloatingPointRepresentationTdZQBg6__initZ@Base 13 + _D61TypeInfo_S3std8bitmanip__T27FloatingPointRepresentationTfZQBg6__initZ@Base 13 + _D61TypeInfo_S3std8typecons__T5TupleTC15TypeInfo_StructTPG32hZQBg6__initZ@Base 13 + _D61TypeInfo_S4core3sys5linuxQg9if_packet22tpacket_rollover_stats6__initZ@Base 14 + _D61TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t5_rt_t6__initZ@Base 13 + _D61TypeInfo_S4core4time__T12MonoTimeImplVEQBdQBb9ClockTypei0ZQBj6__initZ@Base 13 + _D61TypeInfo_S4core8internal6string__T17TempStringNoAllocVhi20ZQz6__initZ@Base 13 + _D61TypeInfo_xAS3std8datetime8timezone13PosixTimeZone10LeapSecond6__initZ@Base 13 + _D61TypeInfo_xAS3std8datetime8timezone13PosixTimeZone10Transition6__initZ@Base 13 + _D61TypeInfo_xPS3std11concurrency__T4ListTSQBbQBa7MessageZQw4Node6__initZ@Base 13 + _D61TypeInfo_xS3std3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D61TypeInfo_xS3std3utf__T10byCodeUnitTAxuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D61TypeInfo_xS3std3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D61TypeInfo_xS3std3utf__T10byCodeUnitTAyuZQrFQhZ14ByCodeUnitImpl6__initZ@Base 13 + _D62TypeInfo_AS3std5regex8internal12backtracking9CtContext7CtState6__initZ@Base 13 + _D62TypeInfo_E4core3sys5linux10perf_event23perf_branch_sample_type6__initZ@Base 13 + _D62TypeInfo_S3std12experimental9allocator10mallocator10Mallocator6__initZ@Base 13 + _D62TypeInfo_S3std3uni__T5StackTSQt8typecons__T5TupleTkTkTkZQnZQBm6__initZ@Base 13 + _D62TypeInfo_S4core8internal2gc4impl12conservativeQw12LeakDetector6__initZ@Base 13 + _D63TypeInfo_E3std8typecons__T4FlagVAyaa10_616c6c6f636174654743ZQBi6__initZ@Base 13 + _D63TypeInfo_E3std8typecons__T4FlagVAyaa10_65786861757374697665ZQBi6__initZ@Base 13 + _D63TypeInfo_E3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBi6__initZ@Base 14 + _D63TypeInfo_E3std8typecons__T4FlagVAyaa10_6d756c7469626c6f636bZQBi6__initZ@Base 13 + _D63TypeInfo_E3std8typecons__T4FlagVAyaa10_736f72744f7574707574ZQBi6__initZ@Base 13 + _D63TypeInfo_E4core3sys5linux10perf_event24perf_event_sample_format6__initZ@Base 13 + _D63TypeInfo_S3std11concurrency__T4ListTSQBbQBa7MessageZQw8SpinLock6__initZ@Base 13 + _D63TypeInfo_S3std6digest3crc__T3CRCVki64VmN2882303761517117440ZQBg6__initZ@Base 13 + _D63TypeInfo_S3std6digest3crc__T3CRCVki64VmN3932672073523589310ZQBg6__initZ@Base 13 + _D63TypeInfo_S3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D63TypeInfo_S3std8datetime8timezone13PosixTimeZone14TransitionType6__initZ@Base 13 + _D63TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t7_kill_t6__initZ@Base 13 + _D64TypeInfo_AS3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D64TypeInfo_E4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7AddType6__initZ@Base 13 + _D64TypeInfo_OS3std11concurrency__T4ListTSQBbQBa7MessageZQw8SpinLock6__initZ@Base 13 + _D64TypeInfo_PS3std8datetime8timezone13PosixTimeZone14TransitionType6__initZ@Base 13 + _D64TypeInfo_S3std6random__T14XorshiftEngineTkVki160Vii2ViN1ViN4ZQBl6__initZ@Base 13 + _D64TypeInfo_S3std6random__T14XorshiftEngineTkVki192ViN2Vii1Vii4ZQBl6__initZ@Base 13 + _D64TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t8_timer_t6__initZ@Base 13 + _D64TypeInfo_xS3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D65TypeInfo_AxS3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D65TypeInfo_E3std8typecons__T4FlagVAyaa11_776974685061727469616cZQBk6__initZ@Base 13 + _D65TypeInfo_E4core3sys5linux10perf_event26perf_hw_cache_op_result_id6__initZ@Base 13 + _D65TypeInfo_FNaNbNiNfKE3std3uni13GraphemeStatewZEQBaQz12TransformRes6__initZ@Base 13 + _D65TypeInfo_S3std12experimental9allocator12gc_allocator11GCAllocator6__initZ@Base 13 + _D65TypeInfo_S3std4math10operations__T23FloatingPointBitpatternTdZQBc6__initZ@Base 13 + _D65TypeInfo_S3std4math10operations__T23FloatingPointBitpatternTeZQBc6__initZ@Base 13 + _D65TypeInfo_S3std5array__T8AppenderTACQz3zip13ArchiveMemberZQBi4Data6__initZ@Base 13 + _D65TypeInfo_S3std6random__T14XorshiftEngineTkVki96Vii10ViN5ViN26ZQBm6__initZ@Base 13 + _D65TypeInfo_S3std8typecons__T5TupleTmVAyaa3_706f73TmVQpa3_6c656eZQBk6__initZ@Base 13 + _D65TypeInfo_S4core4sync7rwmutex14ReadWriteMutex6Reader12MonitorProxy6__initZ@Base 13 + _D65TypeInfo_S4core4sync7rwmutex14ReadWriteMutex6Writer12MonitorProxy6__initZ@Base 13 + _D65TypeInfo_S4core8internal2gc4impl12conservativeQw15LargeObjectPool6__initZ@Base 13 + _D65TypeInfo_S4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D65TypeInfo_S4core8internal8lifetime__T10emplaceRefTaTaTaZQtFKaKaZ1S6__initZ@Base 13 + _D65TypeInfo_S4core8internal8lifetime__T10emplaceRefTkTkTkZQtFKkKkZ1S6__initZ@Base 13 + _D65TypeInfo_S4core8internal8lifetime__T10emplaceRefTmTmTmZQtFKmKmZ1S6__initZ@Base 14 + _D65TypeInfo_S4core8internal8lifetime__T10emplaceRefTwTwTwZQtFKwKwZ1S6__initZ@Base 13 + _D65TypeInfo_xAS3std8datetime8timezone13PosixTimeZone14TempTransition6__initZ@Base 13 + _D65TypeInfo_xE4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa7AddType6__initZ@Base 13 + _D66TypeInfo_PFNaNbNiNfKE3std3uni13GraphemeStatewZEQBaQz12TransformRes6__initZ@Base 13 + _D66TypeInfo_S3std5array__T8AppenderTASQz6socket11AddressInfoZQBj4Data6__initZ@Base 13 + _D66TypeInfo_S3std6random__T14XorshiftEngineTkVki128Vii11ViN8ViN19ZQBn6__initZ@Base 13 + _D66TypeInfo_S3std6random__T14XorshiftEngineTkVki32Vii13ViN17Vii15ZQBn6__initZ@Base 13 + _D66TypeInfo_S3std6random__T14XorshiftEngineTkVki64Vii10ViN13ViN10ZQBn6__initZ@Base 13 + _D66TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTtVii12Vii9ZQw6__initZ@Base 13 + _D66TypeInfo_S4core8internal8lifetime__T10emplaceRefTyaTaThZQuFKaKhZ1S6__initZ@Base 13 + _D66TypeInfo_xS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D67TypeInfo_APFNaNbNiNfKE3std3uni13GraphemeStatewZEQBaQz12TransformRes6__initZ@Base 13 + _D67TypeInfo_E3std8typecons__T4FlagVAyaa12_437265617465466f6c646572ZQBm6__initZ@Base 13 + _D67TypeInfo_E3std8typecons__T4FlagVAyaa12_7468726f774f6e4572726f72ZQBm6__initZ@Base 13 + _D67TypeInfo_PxS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D67TypeInfo_S3std3uni__T10assumeSizeS_DQBaQz5low_8FNaNbNiNfkZkVmi8ZQBr6__initZ@Base 13 + _D67TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t10_sigpoll_t6__initZ@Base 13 + _D67TypeInfo_S4core6stdcpp11type_traits__T17integral_constantTbVbi0ZQBa6__initZ@Base 13 + _D67TypeInfo_S4core6stdcpp11type_traits__T17integral_constantTbVbi1ZQBa6__initZ@Base 13 + _D67TypeInfo_xPS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D68TypeInfo_AxPS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D68TypeInfo_E4core3sys5linux10perf_event29perf_branch_sample_type_shift6__initZ@Base 13 + _D68TypeInfo_E4core8demangle__T8DemangleTSQBcQBa7NoHooksZQBa10IsDelegate6__initZ@Base 13 + _D68TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs6__initZ@Base 13 + _D68TypeInfo_S3std4math11exponential__T5ilogbTdZQjFNaNbNiNexdZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S3std4math11exponential__T5ilogbTeZQjFNaNbNiNexeZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S3std4math11exponential__T5ilogbTfZQjFNaNbNiNexfZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S3std4math8rounding__T9floorImplTdZQnFNaNbNiNexdZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S3std4math8rounding__T9floorImplTeZQnFNaNbNiNexeZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S3std4math8rounding__T9floorImplTfZQnFNaNbNiNexfZ9floatBits6__initZ@Base 13 + _D68TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t11_sigchild_t6__initZ@Base 13 + _D68TypeInfo_S4core3sys5posix6signal9siginfo_t11_sifields_t11_sigfault_t6__initZ@Base 13 + _D68TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D68TypeInfo_S4core8internal8lifetime__T10emplaceRefTxaTaTxaZQvFKaKxaZ1S6__initZ@Base 13 + _D69TypeInfo_E3std8typecons__T4FlagVAyaa13_6361736553656e736974697665ZQBo6__initZ@Base 13 + _D69TypeInfo_E3std8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBo6__initZ@Base 13 + _D69TypeInfo_S3std12experimental9allocator10mallocator17AlignedMallocator6__initZ@Base 13 + _D69TypeInfo_S3std12experimental9allocator14mmap_allocator13MmapAllocator6__initZ@Base 13 + _D69TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTbVii8Vii5Vii8ZQz6__initZ@Base 13 + _D69TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTbVii8Vii6Vii7ZQz6__initZ@Base 13 + _D69TypeInfo_S3std8internal14unicode_tables__T9TrieEntryThVii8Vii8Vii5ZQz6__initZ@Base 13 + _D69TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTtVii8Vii7Vii6ZQz6__initZ@Base 13 + _D69TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTtVii8Vii8Vii5ZQz6__initZ@Base 13 + _D69TypeInfo_S4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D69TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi12ZQsTtZQBs6__initZ@Base 13 + _D69TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D6Object6__initZ@Base 13 + _D6Object6__vtblZ@Base 13 + _D6Object7__ClassZ@Base 13 + _D6object10ModuleInfo11xgetMembersMxFNaNbNdNiZPv@Base 13 + _D6object10ModuleInfo12localClassesMxFNaNbNdNiNjZAC14TypeInfo_Class@Base 13 + _D6object10ModuleInfo15importedModulesMxFNaNbNdNiNjZAyPSQCcQBy@Base 13 + _D6object10ModuleInfo4ctorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo4dtorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo4nameMxFNaNbNdNiNjZAya@Base 13 + _D6object10ModuleInfo5flagsMxFNaNbNdNiZk@Base 13 + _D6object10ModuleInfo5ictorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo5indexMxFNaNbNdNiZk@Base 13 + _D6object10ModuleInfo6__initZ@Base 13 + _D6object10ModuleInfo6addrOfMxFNaNbNiNjiZPv@Base 13 + _D6object10ModuleInfo7opApplyFMDFPSQBhQBdZiZi@Base 13 + _D6object10ModuleInfo7tlsctorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo7tlsdtorMxFNaNbNdNiZPFZv@Base 13 + _D6object10ModuleInfo8opAssignMFMxSQBhQBdZv@Base 14 + _D6object10ModuleInfo8unitTestMxFNaNbNdNiZPFZv@Base 13 + _D6object10_xopEqualsFIPvIQdZb@Base 13 + _D6object10getElementFNaNbNeNkMNgC8TypeInfoZNgQn@Base 13 + _D6object11__moduleRefZ@Base 13 + _D6object12__ModuleInfoZ@Base 13 + _D6object12getArrayHashFNbNeMxC8TypeInfoMxPvxmZ15hasCustomToHashFNaNbNeMxQBrZb@Base 13 + _D6object12getArrayHashFNbNeMxC8TypeInfoMxPvxmZm@Base 13 + _D6object12setSameMutexFOC6ObjectOQjZv@Base 13 + _D6object13TypeInfo_Enum11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object13TypeInfo_Enum4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object13TypeInfo_Enum4swapMxFPvQcZv@Base 13 + _D6object13TypeInfo_Enum5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object13TypeInfo_Enum5offTiMxFZAxSQBj14OffsetTypeInfo@Base 13 + _D6object13TypeInfo_Enum5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object13TypeInfo_Enum6equalsMxFIPvIQdZb@Base 13 + _D6object13TypeInfo_Enum6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object13TypeInfo_Enum6talignMxFNaNbNdNiNfZm@Base 13 + _D6object13TypeInfo_Enum7compareMxFIPvIQdZi@Base 13 + _D6object13TypeInfo_Enum7destroyMxFPvZv@Base 13 + _D6object13TypeInfo_Enum7getHashMxFNbNfMxPvZm@Base 13 + _D6object13TypeInfo_Enum8opEqualsMFC6ObjectZb@Base 13 + _D6object13TypeInfo_Enum8postblitMxFPvZv@Base 13 + _D6object13TypeInfo_Enum8toStringMxFNaNbNfZAya@Base 13 + _D6object14OffsetTypeInfo11__xopEqualsMxFKxSQBqQBmZb@Base 13 + _D6object14OffsetTypeInfo6__initZ@Base 13 + _D6object14OffsetTypeInfo9__xtoHashFNbNeKxSQBpQBlZm@Base 13 + _D6object14TypeInfo_Array11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object14TypeInfo_Array4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object14TypeInfo_Array4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Array5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Array5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Array6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Array6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object14TypeInfo_Array6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Array7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Array7getHashMxFNbNeMxPvZm@Base 13 + _D6object14TypeInfo_Array8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Array8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Class10ClassFlags6__initZ@Base 13 + _D6object14TypeInfo_Class11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object14TypeInfo_Class4findFMxAaZxCQBd@Base 13 + _D6object14TypeInfo_Class4infoMxFNaNbNdNiNlNjNfZxCQBp@Base 13 + _D6object14TypeInfo_Class5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Class5offTiMxFNaNbNdZAxSQBq14OffsetTypeInfo@Base 13 + _D6object14TypeInfo_Class5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Class6createMxFZC6Object@Base 13 + _D6object14TypeInfo_Class6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Class6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object14TypeInfo_Class7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Class7getHashMxFNbNeMxPvZm@Base 13 + _D6object14TypeInfo_Class8isBaseOfMxFNaNbNiNeMxCQBnZb@Base 13 + _D6object14TypeInfo_Class8opEqualsMxFNbNfxC8TypeInfoZb@Base 13 + _D6object14TypeInfo_Class8toStringMxFNaNbNfZAya@Base 13 + _D6object14TypeInfo_Class8typeinfoMxFNaNbNdNiNlNjNfZxCQBt@Base 13 + _D6object14TypeInfo_Const11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object14TypeInfo_Const4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object14TypeInfo_Const4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Const5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object14TypeInfo_Const5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Const6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Const6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Const7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Const7getHashMxFNbNfMxPvZm@Base 13 + _D6object14TypeInfo_Const8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Const8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Inout8toStringMxFNbNfZAya@Base 13 + _D6object14TypeInfo_Tuple11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object14TypeInfo_Tuple4swapMxFPvQcZv@Base 13 + _D6object14TypeInfo_Tuple5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Tuple6equalsMxFIPvIQdZb@Base 13 + _D6object14TypeInfo_Tuple6talignMxFNaNbNdNiNfZm@Base 13 + _D6object14TypeInfo_Tuple7compareMxFIPvIQdZi@Base 13 + _D6object14TypeInfo_Tuple7destroyMxFPvZv@Base 13 + _D6object14TypeInfo_Tuple7getHashMxFNbNfMxPvZm@Base 13 + _D6object14TypeInfo_Tuple8opEqualsMFC6ObjectZb@Base 13 + _D6object14TypeInfo_Tuple8postblitMxFPvZv@Base 13 + _D6object14TypeInfo_Tuple8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Shared8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Struct11StructFlags6__initZ@Base 13 + _D6object15TypeInfo_Struct11_memberFunc6__initZ@Base 13 + _D6object15TypeInfo_Struct11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object15TypeInfo_Struct4nameMxFNbNdNeZ19demangledNamesCacheHPxvAya@Base 13 + _D6object15TypeInfo_Struct4nameMxFNbNdNeZAya@Base 13 + _D6object15TypeInfo_Struct5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object15TypeInfo_Struct5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Struct6equalsMxFNaNbNeIPvIQdZb@Base 13 + _D6object15TypeInfo_Struct6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object15TypeInfo_Struct6talignMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Struct6toHashMxFNbNfZm@Base 13 + _D6object15TypeInfo_Struct7compareMxFNaNbNeIPvIQdZi@Base 13 + _D6object15TypeInfo_Struct7destroyMxFPvZv@Base 13 + _D6object15TypeInfo_Struct7getHashMxFNaNbNeMxPvZm@Base 13 + _D6object15TypeInfo_Struct8opEqualsMFC6ObjectZb@Base 13 + _D6object15TypeInfo_Struct8postblitMxFPvZv@Base 13 + _D6object15TypeInfo_Struct8toStringMxFNbNfZAya@Base 13 + _D6object15TypeInfo_Vector11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object15TypeInfo_Vector4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object15TypeInfo_Vector4swapMxFPvQcZv@Base 13 + _D6object15TypeInfo_Vector5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object15TypeInfo_Vector5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Vector6equalsMxFIPvIQdZb@Base 13 + _D6object15TypeInfo_Vector6talignMxFNaNbNdNiNfZm@Base 13 + _D6object15TypeInfo_Vector7compareMxFIPvIQdZi@Base 13 + _D6object15TypeInfo_Vector7getHashMxFNbNfMxPvZm@Base 13 + _D6object15TypeInfo_Vector8opEqualsMFC6ObjectZb@Base 13 + _D6object15TypeInfo_Vector8toStringMxFNbNfZAya@Base 13 + _D6object16TypeInfo_Pointer11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object16TypeInfo_Pointer4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object16TypeInfo_Pointer4swapMxFPvQcZv@Base 13 + _D6object16TypeInfo_Pointer5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object16TypeInfo_Pointer5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object16TypeInfo_Pointer6equalsMxFIPvIQdZb@Base 13 + _D6object16TypeInfo_Pointer7compareMxFIPvIQdZi@Base 13 + _D6object16TypeInfo_Pointer7getHashMxFNbNeMxPvZm@Base 13 + _D6object16TypeInfo_Pointer8opEqualsMFC6ObjectZb@Base 13 + _D6object16TypeInfo_Pointer8toStringMxFNbNfZAya@Base 13 + _D6object17TypeInfo_Delegate11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object17TypeInfo_Delegate5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object17TypeInfo_Delegate5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Delegate6equalsMxFIPvIQdZb@Base 13 + _D6object17TypeInfo_Delegate6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object17TypeInfo_Delegate6talignMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Delegate7compareMxFIPvIQdZi@Base 13 + _D6object17TypeInfo_Delegate7getHashMxFNbNeMxPvZm@Base 13 + _D6object17TypeInfo_Delegate8opEqualsMFC6ObjectZb@Base 13 + _D6object17TypeInfo_Delegate8toStringMxFNaNbNeZAya@Base 13 + _D6object17TypeInfo_Function11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object17TypeInfo_Function5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object17TypeInfo_Function6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object17TypeInfo_Function8opEqualsMFC6ObjectZb@Base 13 + _D6object17TypeInfo_Function8toStringMxFNaNbNeZAya@Base 13 + _D6object18TypeInfo_Interface11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object18TypeInfo_Interface5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object18TypeInfo_Interface5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object18TypeInfo_Interface6equalsMxFIPvIQdZb@Base 13 + _D6object18TypeInfo_Interface7compareMxFIPvIQdZi@Base 13 + _D6object18TypeInfo_Interface7getHashMxFNbNeMxPvZm@Base 13 + _D6object18TypeInfo_Interface8isBaseOfMxFNaNbNiNeMxC14TypeInfo_ClassZb@Base 13 + _D6object18TypeInfo_Interface8isBaseOfMxFNaNbNiNeMxCQBrZb@Base 13 + _D6object18TypeInfo_Interface8opEqualsMFC6ObjectZb@Base 13 + _D6object18TypeInfo_Interface8toStringMxFNaNbNfZAya@Base 13 + _D6object18TypeInfo_Invariant8toStringMxFNbNfZAya@Base 13 + _D6object19__cpp_type_info_ptr6__initZ@Base 13 + _D6object19__cpp_type_info_ptr6__vtblZ@Base 13 + _D6object19__cpp_type_info_ptr7__ClassZ@Base 13 + _D6object20TypeInfo_StaticArray11initializerMxFNaNbNiNfZAxv@Base 13 + _D6object20TypeInfo_StaticArray4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object20TypeInfo_StaticArray4swapMxFPvQcZv@Base 13 + _D6object20TypeInfo_StaticArray5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object20TypeInfo_StaticArray5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object20TypeInfo_StaticArray6equalsMxFIPvIQdZb@Base 13 + _D6object20TypeInfo_StaticArray6rtInfoMxFNaNbNdNiNfZPyv@Base 13 + _D6object20TypeInfo_StaticArray6talignMxFNaNbNdNiNfZm@Base 13 + _D6object20TypeInfo_StaticArray7compareMxFIPvIQdZi@Base 13 + _D6object20TypeInfo_StaticArray7destroyMxFPvZv@Base 13 + _D6object20TypeInfo_StaticArray7getHashMxFNbNeMxPvZm@Base 13 + _D6object20TypeInfo_StaticArray8opEqualsMFC6ObjectZb@Base 13 + _D6object20TypeInfo_StaticArray8postblitMxFPvZv@Base 13 + _D6object20TypeInfo_StaticArray8toStringMxFNbNfZAya@Base 13 + _D6object25TypeInfo_AssociativeArray11initializerMxFNaNbNiNeZAxv@Base 13 + _D6object25TypeInfo_AssociativeArray4nextMNgFNaNbNdNiZNgC8TypeInfo@Base 13 + _D6object25TypeInfo_AssociativeArray5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object25TypeInfo_AssociativeArray5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object25TypeInfo_AssociativeArray6equalsMxFNeIPvIQdZb@Base 13 + _D6object25TypeInfo_AssociativeArray6talignMxFNaNbNdNiNfZm@Base 13 + _D6object25TypeInfo_AssociativeArray7getHashMxFNbNeMxPvZm@Base 13 + _D6object25TypeInfo_AssociativeArray8opEqualsMFC6ObjectZb@Base 13 + _D6object25TypeInfo_AssociativeArray8toStringMxFNbNfZAya@Base 13 + _D6object2AA6__initZ@Base 13 + _D6object5Error6__ctorMFNaNbNiNfAyaCQBi9ThrowableZCQBxQBt@Base 13 + _D6object5Error6__ctorMFNaNbNiNfAyaQdmCQBl9ThrowableZCQCaQBw@Base 13 + _D6object5Error6__initZ@Base 13 + _D6object5Error6__vtblZ@Base 13 + _D6object5Error7__ClassZ@Base 13 + _D6object6Object5opCmpMFCQqZi@Base 13 + _D6object6Object6toHashMFNbNeZm@Base 13 + _D6object6Object7Monitor11__InterfaceZ@Base 13 + _D6object6Object7factoryFAyaZCQv@Base 13 + _D6object6Object8opEqualsMFCQtZb@Base 13 + _D6object6Object8toStringMFZAya@Base 13 + _D6object7AARange6__initZ@Base 13 + _D6object7_xopCmpFIPvIQdZb@Base 13 + _D6object8TypeInfo4nextMNgFNaNbNdNiZNgCQBe@Base 13 + _D6object8TypeInfo4swapMxFPvQcZv@Base 13 + _D6object8TypeInfo5flagsMxFNaNbNdNiNfZk@Base 13 + _D6object8TypeInfo5offTiMxFZAxSQBd14OffsetTypeInfo@Base 13 + _D6object8TypeInfo5opCmpMFC6ObjectZi@Base 13 + _D6object8TypeInfo5tsizeMxFNaNbNdNiNfZm@Base 13 + _D6object8TypeInfo6equalsMxFIPvIQdZb@Base 13 + _D6object8TypeInfo6rtInfoMxFNaNbNdNiNeZPyv@Base 14 + _D6object8TypeInfo6talignMxFNaNbNdNiNfZm@Base 13 + _D6object8TypeInfo6toHashMxFNbNeZm@Base 13 + _D6object8TypeInfo7compareMxFIPvIQdZi@Base 13 + _D6object8TypeInfo7destroyMxFPvZv@Base 13 + _D6object8TypeInfo7getHashMxFNbNeMxPvZm@Base 13 + _D6object8TypeInfo8opEqualsMFC6ObjectZb@Base 13 + _D6object8TypeInfo8opEqualsMxFNbNfxCQBbZb@Base 13 + _D6object8TypeInfo8postblitMxFPvZv@Base 13 + _D6object8TypeInfo8toStringMxFNbNfZAya@Base 13 + _D6object9Exception6__ctorMFNaNbNiNfAyaCQBm9ThrowableQrmZCQBx@Base 13 + _D6object9Exception6__ctorMFNaNbNiNfAyaQdmCQBp9ThrowableZCQBx@Base 13 + _D6object9Interface11__xopEqualsMxFKxSQBkQBgZb@Base 13 + _D6object9Interface6__initZ@Base 13 + _D6object9Interface9__xtoHashFNbNeKxSQBjQBfZm@Base 13 + _D6object9Throwable13chainTogetherFNaNbNiNkMCQBrQBnNkMQkZQn@Base 13 + _D6object9Throwable4nextMFNaNbNdNiNlNfCQBlQBhZv@Base 13 + _D6object9Throwable4nextMNgFNaNbNdNiNjNlNfZNgCQBsQBo@Base 13 + _D6object9Throwable6__ctorMFNaNbNiNfAyaCQBmQBiZQi@Base 13 + _D6object9Throwable6__ctorMFNaNbNiNfAyaQdmCQBpQBlZQi@Base 13 + _D6object9Throwable6__dtorMFNbNlNeZv@Base 13 + _D6object9Throwable6__initZ@Base 13 + _D6object9Throwable6__vtblZ@Base 13 + _D6object9Throwable7__ClassZ@Base 13 + _D6object9Throwable7messageMxFNbNfZAxa@Base 13 + _D6object9Throwable7opApplyMFMDFCQBfQBbZiZi@Base 13 + _D6object9Throwable8refcountMFNaNbNcNiNlNjZk@Base 13 + _D6object9Throwable8toStringMFZAya@Base 13 + _D6object9Throwable8toStringMxFMDFIAaZvZv@Base 13 + _D6object9Throwable9TraceInfo11__InterfaceZ@Base 13 + _D6object__T10RTInfoImplVAmA2i104i18ZQzyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i104i2048ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i104i4160ZQBbyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i104i4776ZQBbyG2m@Base 14.2 + _D6object__T10RTInfoImplVAmA2i104i680ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i104i6824ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i104i7083ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i11178ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i11274ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i1225ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i3ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i4776ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i5462ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i721ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i112i8192ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i16424ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i17064ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i21610ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i4ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i5462ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i680ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i120i7920ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i11304ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i12161ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i12ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i512ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i128i54610ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i12i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i136i2728ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i136i43178ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i136i76461ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i137i4900ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i144i62120ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i144i76461ZQBcyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i152i262144ZQBdyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i156i4900ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i168i2ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i168i347816ZQBdyG2m@Base 14.2 + _D6object__T10RTInfoImplVAmA2i168i4244ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i168i4644ZQBbyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i169i112492ZQBdyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i16i3ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i176i3931280ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i177i3931280ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i184i6990180ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i192i12319888ZQBfyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i192i3331414ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i192i8388608ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i200i23767396ZQBfyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i200i3331414ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i208i41943044ZQBfyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i212i2728ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i216i41943044ZQBfyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i216i8011774ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i224i183150948ZQBgyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i240i2728ZQBbyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i3ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i6ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i24i7ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i256i8388608ZQBeyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i257i2859116900ZQBhyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i272i1ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i272i2158144171ZQBhyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i28i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i10ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i11ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i12ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i13ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i14ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i15ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i3ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i7ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i8ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i32i9ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i36i8ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i10ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i11ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i15ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i16ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i18ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i20ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i21ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i22ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i23ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i24ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i30ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i31ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i40i8ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i44i12ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i15ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i16ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i1ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i20ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i24ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i31ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i32ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i42ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i44ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i45ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i56ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i59ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i48i63ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i123ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i18ZQyyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i56i21ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i24ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i28ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i40ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i42ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i64ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i80ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i56i84ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i10ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i128ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i134ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i168ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i34ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i60ZQyyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i64i9ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i138ZQzyG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i72i168ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i171ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i256ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i296ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i336ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i4ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i72i5ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i168ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i241ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i248ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i2ZQxyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i512ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i516ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i546ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i80i808ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i84i680ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i88i1028ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i88i1462ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i88i680ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i8i1ZQwyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i1023ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i1048ZQBayG2m@Base 14 + _D6object__T10RTInfoImplVAmA2i96i1154ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i2728ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i96i680ZQzyG2m@Base 13 + _D6object__T10RTInfoImplVAmA2i97i2728ZQBayG2m@Base 13 + _D6object__T10RTInfoImplVAmA3i968i268435462i0ZQBiyG3m@Base 13 + _D6object__T10RTInfoImplVAmA4i1064i549755827528i0i16ZQBpyG4m@Base 13 + _D6object__T10RTInfoImplVAmA4i1088i549755827528i0i240ZQBqyG4m@Base 13 + _D6object__T10RTInfoImplVAmA4i1152i144107491482206208i565149010231808i0ZQCiyG4m@Base 13 + _D6object__T10_aaToRangeHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBzFNaNbNiNfKQByZSQDb7AARange@Base 13 + _D6object__T16assumeSafeAppendTS3std8typecons__T5TupleTkTkTkZQnZQCaFNbNcKNgASQBtQBs__TQBmTkTkTkZQBwZNgQBb@Base 13 + _D6object__T16assumeSafeAppendTaZQvFNbNgAaZNgQf@Base 13 + _D6object__T16assumeSafeAppendTkZQvFNbNcKNgAkZNgQf@Base 13 + _D6object__T3dupTAyaZQjFNaNbNdNfAxAyaZAQw@Base 13 + _D6object__T3dupTaZQhFNaNbNdNfAxaZAa@Base 13 + _D6object__T3dupThZQhFNaNbNdNfAxhZAh@Base 13 + _D6object__T3dupTkZQhFNaNbNdNfAxkZAk@Base 13 + _D6object__T3dupTmZQhFNaNbNdNfAxmZAm@Base 13 + _D6object__T4idupTS3std8datetime8timezone13PosixTimeZone10LeapSecondZQCfFNaNbNdNfAQCmZAySQCsQCrQClQCfQBt@Base 13 + _D6object__T4idupTS3std8datetime8timezone13PosixTimeZone10TransitionZQCfFNaNbNdNfAQCmZAySQCsQCrQClQCfQBt@Base 13 + _D6object__T4idupTaZQiFNaNbNdNfAaZAya@Base 13 + _D6object__T4idupTxaZQjFNaNbNdNfAxaZAya@Base 13 + _D6object__T4idupTxhZQjFNaNbNdNfAxhZAyh@Base 13 + _D6object__T4keysHTHC4core6thread8osthread6ThreadQBdTQBhTQBlZQBxFNaNbNdNfQCcZAQCg@Base 13 + _D6object__T4keysHTHS3std11concurrency3TidbTbTQBaZQBmFNaNbNdNfQBrZAQBv@Base 13 + _D6object__T5clearTAyaTQeZQoFNaNbNeHQrQtZv@Base 14 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result4saveMFNaNbNdNiNfZSQDv__TQDrHTQDmTQDpTQDqZQEiFNaNbNiNfQEkZQCn@Base 13 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result5emptyMFNaNbNdNiNfZb@Base 13 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result5frontMFNaNbNcNdNiNeZQCz@Base 13 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result6__initZ@Base 13 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result8popFrontMFNaNbNiNfZv@Base 13 + _D6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZSQCw__TQCsHTQCnTQCqTQCrZQDjFNaNbNiNfQDlZ6Result@Base 13 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQEmFNaNbNiNfKQClZv@Base 14 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQEnFNaNbNiNfKQCmZv@Base 14 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf3utf__T10byCodeUnitTQCgZQrFQCnZ14ByCodeUnitImplZQEoFNaNbNiNfKQCnZv@Base 14 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf4conv__T7toCharsVhi10TaVEQDh5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6ResultZQFnFNaNbNiNfKQDmZv@Base 14 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf5range__T10OnlyResultTaZQpZQDtFNaNbNiNfKQBsZv@Base 14 + _D6object__T7destroyVE3std8typecons__T4FlagVAyaa10_696e697469616c697a65ZQBii0TSQCf5range__T4TakeTSQCyQt__T6RepeatTaZQkZQBcZQEhFNaNbNiNfKQCgZv@Base 14 + _D6object__T7destroyVbi1TC4core2gc11gcinterface2GCZQBnFNbQBgZv@Base 13 + _D6object__T7destroyVbi1TC6ObjectZQwFNbQoZv@Base 13 + _D6object__T7destroyVbi1TS3gcc8sections3elf9ThreadDSOZQBqFNaNbNiNfKQBqZv@Base 13 + _D6object__T7destroyVbi1TS3std11concurrency7MessageZQBoFNfKQBiZv@Base 13 + _D6object__T7destroyVbi1TS3std12experimental9allocator15building_blocks15stats_collector__T14StatsCollectorTSQDfQDeQCtQCm6region__T6RegionTSQEkQEjQDy14mmap_allocator13MmapAllocatorVki16VEQGf8typecons__T4FlagVAyaa13_67726f77446f776e7761726473ZQBoi0ZQEnVmi4096Vmi0ZQGqZQJvFNaNbNiKQJtZv@Base 13 + _D6object__T7destroyVbi1TS3std3net4curl3FTP4ImplZQBlFKQBdZv@Base 13 + _D6object__T7destroyVbi1TS3std3net4curl4HTTP4ImplZQBmFKQBeZv@Base 13 + _D6object__T7destroyVbi1TS3std3net4curl4SMTP4ImplZQBmFKQBeZv@Base 13 + _D6object__T7destroyVbi1TS3std4file15DirIteratorImplZQBpFNfKQBjZv@Base 13 + _D6object__T7destroyVbi1TS3std5stdio4FileZQBeFNfKQyZv@Base 13 + _D6object__T7destroyVbi1TS4core2gc11gcinterface4RootZQBpFNaNbNiNfKQBpZv@Base 13 + _D6object__T7destroyVbi1TS4core2gc11gcinterface5RangeZQBqFNaNbNiNfKQBqZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4NodeZQDoFNaNbNiNfKQDoZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4NodeZQDqFNaNbNiNfKQDqZv@Base 13 + _D6object__T7destroyVbi1TS4core8internal9container7hashtab__T7HashTabTPySQCt10ModuleInfoTiZQBe4NodeZQDkFNaNbNiNfKQDkZv@Base 13 + _D6object__T7reserveTS3std5regex8internal2ir8BytecodeZQBqFNaNbNeKAQBtmZm@Base 13 + _D6object__T7reserveTaZQlFNaNbNeKAamZm@Base 13 + _D6object__T7reserveTuZQlFNaNbNeKAumZm@Base 13 + _D6object__T8capacityTAyaZQoFNaNbNdNeAQqZm@Base 13 + _D6object__T8capacityTC3std3zip13ArchiveMemberZQBjFNaNbNdNeAQBmZm@Base 13 + _D6object__T8capacityTS3std6socket11AddressInfoZQBkFNaNbNdNeAQBnZm@Base 13 + _D6object__T8capacityTaZQmFNaNbNdNeAaZm@Base 13 + _D6object__T8capacityThZQmFNaNbNdNeAhZm@Base 13 + _D6object__T8capacityTlZQmFNaNbNdNeAlZm@Base 13 + _D6object__T8opEqualsTC14TypeInfo_ClassTQsZQBfFNbNfQBdQBgZb@Base 13 + _D6object__T8opEqualsTC3std11concurrency10MessageBoxTQBfZQBtFQBnQBqZb@Base 13 + _D6object__T8opEqualsTC6ObjectTQjZQwFQpQrZb@Base 13 + _D6object__T8opEqualsTC8TypeInfoTC14TypeInfo_ConstZQBnFQBhQzZb@Base 13 + _D6object__T8opEqualsTC8TypeInfoTC15TypeInfo_StructZQBoFQBiQBaZb@Base 13 + _D6object__T8opEqualsTC8TypeInfoTQlZQyFNbNfQvQxZb@Base 13 + _D6object__T8opEqualsTC8TypeInfoTxCQmZQBaFNbNfQyxQpZb@Base 13 + _D6object__T8opEqualsTxC14TypeInfo_ClassTxQtZQBhFNbNfxQBfxQBjZb@Base 13 + _D6object__T8opEqualsTxC15TypeInfo_StructTxQuZQBiFxQBcxQBgZb@Base 13 + _D6object__T8opEqualsTxC3std11concurrency10MessageBoxTxQBgZQBvFxQBpxQBtZb@Base 13 + _D6object__T8opEqualsTxC3std11parallelism8TaskPoolTxQBdZQBsFxQBmxQBqZb@Base 13 + _D6object__T8opEqualsTxC3std3zip13ArchiveMemberTxQBaZQBpFxQBjxQBnZb@Base 13 + _D6object__T8opEqualsTxC3std6logger4core6LoggerTxQBaZQBpFxQBjxQBnZb@Base 13 + _D6object__T8opEqualsTxC3std6socket7AddressTxQwZQBkFxQBexQBiZb@Base 13 + _D6object__T8opEqualsTxC3std7process3PidTxQtZQBhFxQBbxQBfZb@Base 13 + _D6object__T8opEqualsTxC3std8datetime8timezone8TimeZoneTxQBiZQBxFxQBrxQBvZb@Base 13 + _D6object__T8opEqualsTxC6ObjectTxQkZQyFxQrxQuZb@Base 13 + _D6object__T8opEqualsTxC8TypeInfoTxQmZQBaFNbNfxQyxQBbZb@Base 13 + _D6object__T8opEqualsTxCQw9ThrowableTxQpZQBdFxQxxQBaZb@Base 13 + _D70TypeInfo_G14PxS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D70TypeInfo_PxS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D70TypeInfo_S3std3uni__T10assumeSizeS_DQBaQz8midlow_8FNaNbNiNfkZkVmi8ZQBu6__initZ@Base 13 + _D70TypeInfo_S3std6format4spec__T10singleSpecTyaZQqFAyaZ16DummyOutputRange6__initZ@Base 13 + _D70TypeInfo_xG14PS4core8internal2gc4impl12conservativeQw15SmallObjectPool6__initZ@Base 13 + _D70TypeInfo_xPS4core8internal2gc4impl12conservativeQw3Gcx14ScanThreadData6__initZ@Base 13 + _D70TypeInfo_xS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks6__initZ@Base 13 + _D71TypeInfo_E3std8typecons__T4FlagVAyaa14_6b656570536570617261746f7273ZQBq6__initZ@Base 13 + _D71TypeInfo_E3std8typecons__T4FlagVAyaa14_6b6565705465726d696e61746f72ZQBq6__initZ@Base 13 + _D71TypeInfo_S3std8typecons__T5TupleTkVAyaa4_64617461TmVQra5_636f756e74ZQBq6__initZ@Base 13 + _D71TypeInfo_S4core8internal8lifetime__T10emplaceRefTAyaTQeTQhZQxFKQoKQrZ1S6__initZ@Base 13 + _D72TypeInfo_S3std6format__T7sformatTaTykTykTkTkTkZQxFNkMAaMAxaykykkkkZ4Sink6__initZ@Base 13 + _D72TypeInfo_S3std9algorithm9searching__T15FindSplitResultVhi1TAxaTQeTQhZQBg6__initZ@Base 14.2 + _D72TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi0ZQp6__initZ@Base 13 + _D72TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T9ScanRangeVbi1ZQp6__initZ@Base 13 + _D73TypeInfo_S3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs6__initZ@Base 14 + _D73TypeInfo_S3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh6__initZ@Base 13 + _D74TypeInfo_S3std12experimental9allocator8showcase14mmapRegionListFmZ7Factory6__initZ@Base 13 + _D74TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTbVmi1ZQrVmi1ZQBy6__initZ@Base 13 + _D74TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi7ZQrVmi8ZQBy6__initZ@Base 13 + _D74TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi8ZQrVmi8ZQBy6__initZ@Base 13 + _D74TypeInfo_S3std8internal14unicode_tables__T9TrieEntryTbVii7Vii4Vii4Vii6ZQBd6__initZ@Base 13 + _D74TypeInfo_S4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D74TypeInfo_xS3std8typecons__T10RebindableTSQBe5range__T10OnlyResultTaZQpZQBs6__initZ@Base 14 + _D74TypeInfo_xS3std9algorithm9iteration__T9MapResultSQBm5ascii7toLowerTAxaZQBh6__initZ@Base 13 + _D75TypeInfo_E3std8typecons__T4FlagVAyaa16_616c6c6f774461794f766572666c6f77ZQBu6__initZ@Base 13 + _D75TypeInfo_S3std8typecons__T10RebindableTyCQBf8datetime8timezone8TimeZoneZQBu6__initZ@Base 13 + _D75TypeInfo_xS3std12experimental9allocator8showcase14mmapRegionListFmZ7Factory6__initZ@Base 13 + _D75TypeInfo_xS4core8internal2gc4impl12conservativeQw3Gcx__T11ToScanStackTPvZQr6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi11ZQsVmi16ZQCa6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi12ZQsVmi16ZQCa6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi13ZQsVmi16ZQCa6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi14ZQsVmi16ZQCa6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi15ZQsVmi16ZQCa6__initZ@Base 13 + _D76TypeInfo_S3std3uni__T13PackedPtrImplTSQBcQBb__T9BitPackedTkVmi16ZQsVmi16ZQCa6__initZ@Base 13 + _D77TypeInfo_S3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAxkZQp6__initZ@Base 13 + _D77TypeInfo_S3std8datetime4date4Date14isoWeekAndYearMxFNaNbNdNfZ14ISOWeekAndYear6__initZ@Base 13 + _D77TypeInfo_S4core8demangle__T6mangleTFNbNiZmZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D77TypeInfo_S4core8demangle__T6mangleTFNbNiZvZQqFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D77TypeInfo_S4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D77TypeInfo_xS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh__T9IntervalsTAkZQo6__initZ@Base 13 + _D78TypeInfo_S3std8typecons__T5TupleTC15TypeInfo_StructTPSQBs11concurrency3TidZQBx6__initZ@Base 13 + _D78TypeInfo_S3std8typecons__T5TupleTiVAyaa6_737461747573TQtVQwa6_6f7574707574ZQBx6__initZ@Base 13 + _D78TypeInfo_S4core8demangle__T6mangleTFNbNiZPvZQrFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D78TypeInfo_xS4core8internal9container5array__T5ArrayTPS3gcc8sections3elf3DSOZQBf6__initZ@Base 13 + _D79TypeInfo_E3std8typecons__T4FlagVAyaa18_616c6c4b6e6f776e53616d654c656e677468ZQBy6__initZ@Base 13 + _D79TypeInfo_E3std8typecons__T4FlagVAyaa18_707265736572766541747472696275746573ZQBy6__initZ@Base 13 + _D79TypeInfo_S2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZ8findDepsMFNbmPmZ10stackFrame6__initZ@Base 13 + _D79TypeInfo_S4core8demangle__T6mangleTFNbNiPvZvZQsFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D79TypeInfo_S4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D79TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D80TypeInfo_E3std12experimental9allocator15building_blocks15stats_collector7Options6__initZ@Base 13 + _D80TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTbVmi1ZQrVmi1ZQCe6__initZ@Base 13 + _D80TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi7ZQrVmi8ZQCe6__initZ@Base 13 + _D80TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi8ZQrVmi8ZQCe6__initZ@Base 13 + _D80TypeInfo_S4core8demangle__T6mangleTFNbNiPvZQdZQtFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D80TypeInfo_S4core8internal5array7casting__T11__ArrayCastThTuZQsFNaNiNeNkMAhZ5Array6__initZ@Base 13 + _D80TypeInfo_S4core8internal5array7casting__T11__ArrayCastThTwZQsFNaNiNeNkMAhZ5Array6__initZ@Base 13 + _D80TypeInfo_S4core8internal9container5array__T5ArrayTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D80TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D80TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh6__initZ@Base 13 + _D81TypeInfo_E3std8typecons__T4FlagVAyaa19_7573655265706c6163656d656e744463686172ZQCa6__initZ@Base 13 + _D81TypeInfo_S3std6random__T24LinearCongruentialEngineTkVki16807Vki0Vki2147483647ZQCc6__initZ@Base 13 + _D81TypeInfo_S3std6random__T24LinearCongruentialEngineTkVki48271Vki0Vki2147483647ZQCc6__initZ@Base 13 + _D81TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi6__initZ@Base 13 + _D82TypeInfo_S3std12experimental9allocator15building_blocks15bitmapped_block9BitVector6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi11ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi12ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi13ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi14ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi15ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S3std3uni__T19PackedArrayViewImplTSQBiQBh__T9BitPackedTkVmi16ZQsVmi16ZQCg6__initZ@Base 13 + _D82TypeInfo_S4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container5array__T5ArrayTS3gcc8sections3elf9ThreadDSOZQBk6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi6__initZ@Base 13 + _D82TypeInfo_S4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi6__initZ@Base 13 + _D83TypeInfo_AS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D83TypeInfo_S3std4meta__T10aliasSeqOfVSQBa5range__T4iotaTmTmZQkFmmZ6ResultS2i0i2Z4Impl6__initZ@Base 14 + _D83TypeInfo_S3std4meta__T10aliasSeqOfVSQBa5range__T4iotaTmTmZQkFmmZ6ResultS2i0i3Z4Impl6__initZ@Base 14 + _D83TypeInfo_S4core8internal5array7casting__T11__ArrayCastTxhTxuZQuFNaNiNeNkMAxhZ5Array6__initZ@Base 13 + _D83TypeInfo_S4core8internal5array7casting__T11__ArrayCastTxhTxwZQuFNaNiNeNkMAxhZ5Array6__initZ@Base 13 + _D83TypeInfo_xS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D84TypeInfo_AxS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D84TypeInfo_S4core8demangle__T6mangleTFNbMDFNbPvZvZvZQxFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D84TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface4RootZQBh4Node6__initZ@Base 13 + _D84TypeInfo_S4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk6__initZ@Base 13 + _D84TypeInfo_xAS4core8demangle15reencodeMangledFNaNbNfNkMAxaZ12PrependHooks11Replacement6__initZ@Base 13 + _D85TypeInfo_S4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D86TypeInfo_S3std12experimental9allocator15building_blocks14null_allocator13NullAllocator6__initZ@Base 13 + _D86TypeInfo_S3std4conv__T7toCharsVhi10TaVEQBd5ascii10LetterCasei1TiZQBrFNaNbNiNfiZ6Result6__initZ@Base 14 + _D86TypeInfo_S4core8demangle__T6mangleTFNbNiAyakQeQgmZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D86TypeInfo_S4core8demangle__T6mangleTFNbPvMDFNbQhZiZvZQzFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D86TypeInfo_xS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D87TypeInfo_PxS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D87TypeInfo_S3std8typecons__T10RebindableTSQBe5range__T4TakeTSQBxQt__T6RepeatTaZQkZQBcZQCg6__initZ@Base 14 + _D87TypeInfo_S3std8typecons__T5TupleTbVAyaa10_7465726d696e61746564TiVQBea6_737461747573ZQCg6__initZ@Base 13 + _D87TypeInfo_S4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D87TypeInfo_S4core8internal9container7hashtab__T7HashTabTPyS6object10ModuleInfoTiZQBi4Node6__initZ@Base 13 + _D87TypeInfo_xPS4core8internal9container5treap__T5TreapTSQBp2gc11gcinterface5RangeZQBi4Node6__initZ@Base 13 + _D88TypeInfo_xS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D89TypeInfo_PxS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D89TypeInfo_S4core8demangle__T6mangleTFNbPvMDFNbQhQjZvZvZQBbFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D89TypeInfo_S4core8internal9container7hashtab__T7HashTabTPvTPS3gcc8sections3elf3DSOZQBk4Node6__initZ@Base 13 + _D89TypeInfo_xPS4core8internal9container7hashtab__T7HashTabTAxaTS2rt9profilegc5EntryZQBi4Node6__initZ@Base 13 + _D8TypeInfo6__initZ@Base 13 + _D8TypeInfo6__vtblZ@Base 13 + _D8TypeInfo7__ClassZ@Base 13 + _D90TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo6__initZ@Base 13 + _D90TypeInfo_S3std5range__T11SortedRangeTAkVAyaa5_61203c2062VEQBwQBv18SortedRangeOptionsi0ZQCm6__initZ@Base 13 + _D90TypeInfo_S6object__T7byValueHTHAyaC3std3zip13ArchiveMemberTQBcTQBdZQBvFNaNbNiNfQBxZ6Result6__initZ@Base 13 + _D91TypeInfo_S3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn6__initZ@Base 13 + _D91TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi13ZQsTSQCcQCb__TQBfTbVmi1ZQBpZQCo6__initZ@Base 13 + _D92TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq6__initZ@Base 13 + _D92TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq6__initZ@Base 13 + _D92TypeInfo_S3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq6__initZ@Base 13 + _D92TypeInfo_S3std5range__T11SortedRangeTAkVAyaa6_61203c3d2062VEQByQBx18SortedRangeOptionsi0ZQCo6__initZ@Base 13 + _D92TypeInfo_S3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl6__initZ@Base 14 + _D92TypeInfo_S4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D92TypeInfo_xS3std5range__T11SortedRangeTAAyaVQea5_61203c2062VEQBxQBw18SortedRangeOptionsi0ZQCn6__initZ@Base 13 + _D93TypeInfo_HS3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBhSQBw5regex8internal2ir11CharMatcher6__initZ@Base 13 + _D93TypeInfo_S3std3uni__T13InversionListTSQBcQBb8GcPolicyZQBh11byCodepointMFNdNfZ14CodepointRange6__initZ@Base 13 + _D93TypeInfo_S3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D93TypeInfo_S3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D93TypeInfo_S4core8demangle__T8DemangleTSQBcQBa15reencodeMangledFNaNbNfNkMAxaZ12PrependHooksZQCl6__initZ@Base 13 + _D93TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi15ZQBpTtZQCq6__initZ@Base 13 + _D93TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpThZQCq6__initZ@Base 13 + _D93TypeInfo_xS3std3uni__T10MultiArrayTSQzQx__T9BitPackedTkVmi8ZQrTSQCbQCa__TQBeTkVmi16ZQBpTtZQCq6__initZ@Base 13 + _D93TypeInfo_xS3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAaZQqFQgZ14ByCodeUnitImplZQCl6__initZ@Base 14 + _D93TypeInfo_xS4core8internal2gc9pooltable__T9PoolTableTSQBqQBoQBi4impl12conservativeQCe4PoolZQBx6__initZ@Base 13 + _D94TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std11concurrency3TidTQxTQBaZQBrFKQBjKQBnZ1S6__initZ@Base 13 + _D94TypeInfo_xS3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAxaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D94TypeInfo_xS3std8typecons__T10RebindableTSQBe3utf__T10byCodeUnitTAyaZQrFQhZ14ByCodeUnitImplZQCm6__initZ@Base 14 + _D95TypeInfo_S3gcc8sections3elf18findDSOInfoForAddrFNbNiIPvPS4core3sys5linux4link12dl_phdr_infoZ2DG6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTaTSQBzQBxQBt__T11char_traitsTaZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTuTSQBzQBxQBt__T11char_traitsTuZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core6stdcpp11string_view__T17basic_string_viewTwTSQBzQBxQBt__T11char_traitsTwZQqZQCc6__initZ@Base 13 + _D95TypeInfo_S4core8demangle__T6mangleTFNbNiAyaMDFNbNiQkZQnbZQrZQBhFNaNbNfNkMAxaNkMAaZ11DotSplitter6__initZ@Base 13 + _D96TypeInfo_S4core8internal8lifetime__T10emplaceRefTC3std3zip13ArchiveMemberTQzTQBcZQBtFKQBlKQBpZ1S6__initZ@Base 13 + _D97TypeInfo_S3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq6__initZ@Base 13 + _D98TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std6socket11AddressInfoTQBaTQBeZQBvFKQBnKQBrZ1S6__initZ@Base 13 + _D98TypeInfo_yS3std8typecons__T5TupleTEQy8encoding3BOMVAyaa6_736368656d61TAhVQwa8_73657175656e6365ZQCq6__initZ@Base 13 + _D99TypeInfo_S4core8internal8lifetime__T10emplaceRefTS3std5regexQBt2ir8BytecodeTQBbTQBfZQBwFKQBoKQBsZ1S6__initZ@Base 13 + _D9Exception6__initZ@Base 13 + _D9Exception6__vtblZ@Base 13 + _D9Exception7__ClassZ@Base 13 + _D9invariant11__moduleRefZ@Base 13 + _D9invariant12__ModuleInfoZ@Base 13 + _D9invariant12_d_invariantFC6ObjectZv@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKmKxAaZiZi@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace7opApplyMxFMDFKxAaZiZi@Base 13 + _DTi16_D3gcc9backtrace12LibBacktrace8toStringMxFZAya@Base 13 + _DTi16_D3std11concurrency14FiberScheduler12newConditionMFNbC4core4sync5mutex5MutexZCQyQv9condition9Condition@Base 13 + _DTi16_D3std11concurrency14FiberScheduler5spawnMFNbDFZvZv@Base 13 + _DTi16_D3std11concurrency14FiberScheduler5startMFDFZvZv@Base 13 + _DTi16_D3std11concurrency14FiberScheduler5yieldMFNbZv@Base 13 + _DTi16_D3std11concurrency14FiberScheduler8thisInfoMFNbNcNdZSQCaQBz10ThreadInfo@Base 13 + _DTi16_D3std11concurrency15ThreadScheduler12newConditionMFNbC4core4sync5mutex5MutexZCQyQv9condition9Condition@Base 13 + _DTi16_D3std11concurrency15ThreadScheduler5spawnMFDFZvZv@Base 13 + _DTi16_D3std11concurrency15ThreadScheduler5startMFDFZvZv@Base 13 + _DTi16_D3std11concurrency15ThreadScheduler5yieldMFNbZv@Base 13 + _DTi16_D3std11concurrency15ThreadScheduler8thisInfoMFNbNcNdZSQCbQCa10ThreadInfo@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator10deallocateMFNbAvZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator10reallocateMFNbKAvmZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator11allocateAllMFNbZAv@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator13deallocateAllMFNbZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator13goodAllocSizeMFNbmZm@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator15alignedAllocateMFNbmkZAv@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator17alignedReallocateMFNbKAvmkZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator22resolveInternalPointerMFNbxPvKAvZSQEj8typecons7Ternary@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator4ownsMFNbAvZSQDm8typecons7Ternary@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator5emptyMFNbZSQDl8typecons7Ternary@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6decRefMFNaNbNiNfZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6expandMFNbKAvmZb@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator6incRefMFNaNbNiNfZv@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator8allocateMFNbmC8TypeInfoZAv@Base 13 + _DTi16_D3std12experimental9allocator20setupThreadAllocatorFNbNcNiNfZ15ThreadAllocator9alignmentMFNbNdZk@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk10deallocateMOFNbAvZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk10reallocateMOFNbKAvmZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk11allocateAllMOFNbZAv@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk13deallocateAllMOFNbZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk13goodAllocSizeMOFNbmZm@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk15alignedAllocateMOFNbmkZAv@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk17alignedReallocateMOFNbKAvmkZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk22resolveInternalPointerMOFNbxPvKAvZSQHdQDm7Ternary@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk4ownsMOFNbAvZSQGgQCp7Ternary@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk5emptyMOFNbZSQGfQCo7Ternary@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6decRefMOFNaNbNiNeZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6expandMOFNbKAvmZb@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk6incRefMOFNaNbNiNfZv@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk8allocateMOFNbmC8TypeInfoZAv@Base 13 + _DTi16_D3std12experimental9allocator__T20CSharedAllocatorImplTOxSQCfQCeQBt12gc_allocator11GCAllocatorVEQDr8typecons__T4FlagVAyaa8_696e646972656374ZQBdi0ZQEk9alignmentMOFNbNdZk@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe2md3MD5ZQBf6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki32Vmi3988292384ZQxZQCe6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN2882303761517117440ZQBgZQCo6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3crc__T3CRCVki64VmN3932672073523589310ZQBgZQCo6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki224ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki256ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki384ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki1024Vki512ZQsZQBz6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki160ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki224ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe3sha__T3SHAVki512Vki256ZQrZQBy6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp3putMFNbNeAxhXv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp5resetMFNbNeZv@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6finishMFNbAhZQd@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6finishMFNbNeZAh@Base 13 + _DTi16_D3std6digest__T13WrapperDigestTSQBfQBe6ripemd9RIPEMD160ZQBp6lengthMxFNaNbNdNeZm@Base 13 + _DTi16_D4core4sync5mutex5Mutex4lockMFNeZv@Base 13 + _DTi16_D4core4sync5mutex5Mutex6unlockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Reader4lockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Reader6unlockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Writer4lockMFNeZv@Base 13 + _DTi16_D4core4sync7rwmutex14ReadWriteMutex6Writer6unlockMFNeZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC12profileStatsMFNbNiNeZSQDa6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC5queryMFNbPvZSQCq6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC5statsMFNbNiNfZSQCs6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6qallocMFNbmkMxC8TypeInfoZSQDd6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC8rootIterMFNdNiZDFMDFNbKSQDbQCq11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl12conservativeQw14ConservativeGC9rangeIterMFNdNiZDFMDFNbKSQDcQCr11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC12profileStatsMFNbNiNfZSQCk6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC5queryMFNbPvZSQCa6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC5statsMFNbNiNfZSQCc6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6callocMFNbmkMxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6extendMFNbPvmmMxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6mallocMFNbmkMxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6qallocMFNbmkMxC8TypeInfoZSQCn6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7reallocMFNbPvmkMxC8TypeInfoZQr@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC8rootIterMFNdNiNlNjZDFMDFNbKSQCpQCe11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl5protoQo7ProtoGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCqQCf11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC10removeRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC11inFinalizerMFNbNiNfZb@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC11removeRangeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC12profileStatsMFNbNiNfZSQCm6memory2GC12ProfileStats@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC13runFinalizersMFNbMxAvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC14collectNoStackMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC24allocatedInCurrentThreadMFNbZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC4freeMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC5queryMFNbPvZSQCc6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC5statsMFNbNiNfZSQCe6memory2GC5Stats@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6addrOfMFNbNiPvZQd@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6callocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6enableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6extendMFNbPvmmxC8TypeInfoZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6mallocMFNbmkxC8TypeInfoZPv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6qallocMFNbmkMxC8TypeInfoZSQCp6memory8BlkInfo_@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC6sizeOfMFNbNiPvZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7addRootMFNbNiPvZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7clrAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7collectMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7disableMFZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7getAttrMFNbPvZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7reallocMFNbPvmkxC8TypeInfoZQq@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7reserveMFNbmZm@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC7setAttrMFNbPvkZk@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8addRangeMFNbNiPvmxC8TypeInfoZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8minimizeMFNbZv@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC8rootIterMFNdNiNlNjZDFMDFNbKSQCrQCg11gcinterface4RootZiZi@Base 13 + _DTi16_D4core8internal2gc4impl6manualQp8ManualGC9rangeIterMFNdNiNlNjZDFMDFNbKSQCsQCh11gcinterface5RangeZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo7opApplyMxFMDFKmKxAaZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo7opApplyMxFMDFKxAaZiZi@Base 13 + _DTi16_D4core9exception17SuppressTraceInfo8toStringMxFZAya@Base 13 + _ZNKSt10bad_typeid4whatEv@Base 13 + _ZNKSt13bad_exception4whatEv@Base 13 + _ZNKSt8bad_cast4whatEv@Base 13 + _ZNKSt9exception4whatEv@Base 13 + _ZNKSt9type_info4nameEv@Base 13 + _ZNKSt9type_info6beforeEPKS_@Base 13 + _ZNSt9bad_allocC1Ev@Base 13 + _ZNSt9exceptionD1Ev@Base 13 + _ZNSt9type_infoD1Ev@Base 13 + __CPUELT@Base 13 + __CPUMASK@Base 13 + __CPU_ALLOC@Base 13 + __CPU_ALLOC_SIZE@Base 13 + __CPU_COUNT_S@Base 13 + __CPU_FREE@Base 13 + __CPU_ISSET_S@Base 13 + __CPU_SET_S@Base 13 + __atomic_add_fetch_16@Base 13 + __atomic_add_fetch_1@Base 13 + __atomic_add_fetch_2@Base 13 + __atomic_add_fetch_4@Base 13 + __atomic_add_fetch_8@Base 13 + __atomic_and_fetch_16@Base 13 + __atomic_and_fetch_1@Base 13 + __atomic_and_fetch_2@Base 13 + __atomic_and_fetch_4@Base 13 + __atomic_and_fetch_8@Base 13 + __atomic_compare_exchange@Base 13 + __atomic_compare_exchange_16@Base 13 + __atomic_compare_exchange_1@Base 13 + __atomic_compare_exchange_2@Base 13 + __atomic_compare_exchange_4@Base 13 + __atomic_compare_exchange_8@Base 13 + __atomic_exchange@Base 13 + __atomic_exchange_16@Base 13 + __atomic_exchange_1@Base 13 + __atomic_exchange_2@Base 13 + __atomic_exchange_4@Base 13 + __atomic_exchange_8@Base 13 + __atomic_feraiseexcept@Base 13 + __atomic_fetch_add_16@Base 13 + __atomic_fetch_add_1@Base 13 + __atomic_fetch_add_2@Base 13 + __atomic_fetch_add_4@Base 13 + __atomic_fetch_add_8@Base 13 + __atomic_fetch_and_16@Base 13 + __atomic_fetch_and_1@Base 13 + __atomic_fetch_and_2@Base 13 + __atomic_fetch_and_4@Base 13 + __atomic_fetch_and_8@Base 13 + __atomic_fetch_nand_16@Base 13 + __atomic_fetch_nand_1@Base 13 + __atomic_fetch_nand_2@Base 13 + __atomic_fetch_nand_4@Base 13 + __atomic_fetch_nand_8@Base 13 + __atomic_fetch_or_16@Base 13 + __atomic_fetch_or_1@Base 13 + __atomic_fetch_or_2@Base 13 + __atomic_fetch_or_4@Base 13 + __atomic_fetch_or_8@Base 13 + __atomic_fetch_sub_16@Base 13 + __atomic_fetch_sub_1@Base 13 + __atomic_fetch_sub_2@Base 13 + __atomic_fetch_sub_4@Base 13 + __atomic_fetch_sub_8@Base 13 + __atomic_fetch_xor_16@Base 13 + __atomic_fetch_xor_1@Base 13 + __atomic_fetch_xor_2@Base 13 + __atomic_fetch_xor_4@Base 13 + __atomic_fetch_xor_8@Base 13 + __atomic_is_lock_free@Base 13 + __atomic_load@Base 13 + __atomic_load_16@Base 13 + __atomic_load_1@Base 13 + __atomic_load_2@Base 13 + __atomic_load_4@Base 13 + __atomic_load_8@Base 13 + __atomic_nand_fetch_16@Base 13 + __atomic_nand_fetch_1@Base 13 + __atomic_nand_fetch_2@Base 13 + __atomic_nand_fetch_4@Base 13 + __atomic_nand_fetch_8@Base 13 + __atomic_or_fetch_16@Base 13 + __atomic_or_fetch_1@Base 13 + __atomic_or_fetch_2@Base 13 + __atomic_or_fetch_4@Base 13 + __atomic_or_fetch_8@Base 13 + __atomic_store@Base 13 + __atomic_store_16@Base 13 + __atomic_store_1@Base 13 + __atomic_store_2@Base 13 + __atomic_store_4@Base 13 + __atomic_store_8@Base 13 + __atomic_sub_fetch_16@Base 13 + __atomic_sub_fetch_1@Base 13 + __atomic_sub_fetch_2@Base 13 + __atomic_sub_fetch_4@Base 13 + __atomic_sub_fetch_8@Base 13 + __atomic_test_and_set_16@Base 13 + __atomic_test_and_set_1@Base 13 + __atomic_test_and_set_2@Base 13 + __atomic_test_and_set_4@Base 13 + __atomic_test_and_set_8@Base 13 + __atomic_xor_fetch_16@Base 13 + __atomic_xor_fetch_1@Base 13 + __atomic_xor_fetch_2@Base 13 + __atomic_xor_fetch_4@Base 13 + __atomic_xor_fetch_8@Base 13 + __gdc_begin_catch@Base 13 + __gdc_personality_v0@Base 13 + _aApplyRcd1@Base 13 + _aApplyRcd2@Base 13 + _aApplyRcw1@Base 13 + _aApplyRcw2@Base 13 + _aApplyRdc1@Base 13 + _aApplyRdc2@Base 13 + _aApplyRdw1@Base 13 + _aApplyRdw2@Base 13 + _aApplyRwc1@Base 13 + _aApplyRwc2@Base 13 + _aApplyRwd1@Base 13 + _aApplyRwd2@Base 13 + _aApplycd1@Base 13 + _aApplycd2@Base 13 + _aApplycw1@Base 13 + _aApplycw2@Base 13 + _aApplydc1@Base 13 + _aApplydc2@Base 13 + _aApplydw1@Base 13 + _aApplydw2@Base 13 + _aApplywc1@Base 13 + _aApplywc2@Base 13 + _aApplywd1@Base 13 + _aApplywd2@Base 13 + _aaApply2@Base 13 + _aaApply@Base 13 + _aaClear@Base 13 + _aaDelX@Base 13 + _aaEqual@Base 13 + _aaGetHash@Base 13 + _aaGetRvalueX@Base 13 + _aaGetX@Base 13 + _aaGetY@Base 13 + _aaInX@Base 13 + _aaKeys@Base 13 + _aaLen@Base 13 + _aaNew@Base 13 + _aaRange@Base 13 + _aaRangeEmpty@Base 13 + _aaRangeFrontKey@Base 13 + _aaRangeFrontValue@Base 13 + _aaRangePopFront@Base 13 + _aaRehash@Base 13 + _aaValues@Base 13 + _aaVersion@Base 13 + _adEq2@Base 13 + _adSort@Base 13 + _d_allocmemory@Base 13 + _d_arrayappendcTX@Base 13 + _d_arrayappendcd@Base 13 + _d_arrayappendwd@Base 13 + _d_arraybounds@Base 13 + _d_arraybounds_index@Base 13 + _d_arraybounds_indexp@Base 13 + _d_arraybounds_slice@Base 13 + _d_arraybounds_slicep@Base 13 + _d_arrayboundsp@Base 13 + _d_arraycopy@Base 13 + _d_arrayliteralTX@Base 13 + _d_arraysetcapacity@Base 13 + _d_arraysetlengthT@Base 13 + _d_arraysetlengthiT@Base 13 + _d_arrayshrinkfit@Base 13 + _d_assert@Base 13 + _d_assert_msg@Base 13 + _d_assertp@Base 13 + _d_assocarrayliteralTX@Base 13 + _d_callfinalizer@Base 13 + _d_callinterfacefinalizer@Base 13 + _d_class_cast@Base 14.2 + _d_createTrace@Base 13 + _d_critical_init@Base 13 + _d_critical_term@Base 13 + _d_criticalenter2@Base 13 + _d_criticalenter@Base 13 + _d_criticalexit@Base 13 + _d_delThrowable@Base 13 + _d_delclass@Base 13 + _d_delinterface@Base 13 + _d_delmemory@Base 13 + _d_dso_registry@Base 13 + _d_dynamic_cast@Base 13 + _d_eh_swapContext@Base 13 + _d_initMonoTime@Base 13 + _d_interface_cast@Base 13 + _d_isbaseof2@Base 13 + _d_isbaseof@Base 13 + _d_monitor_staticctor@Base 13 + _d_monitor_staticdtor@Base 13 + _d_monitordelete@Base 13 + _d_monitordelete_nogc@Base 13 + _d_monitorenter@Base 13 + _d_monitorexit@Base 13 + _d_newarrayT@Base 13 + _d_newarrayU@Base 13 + _d_newarrayiT@Base 13 + _d_newclass@Base 13 + _d_newitemU@Base 13 + _d_paint_cast@Base 14.2 + _d_print_throwable@Base 13 + _d_register_conservative_gc@Base 13 + _d_register_manual_gc@Base 13 + _d_register_precise_gc@Base 13 + _d_run_main2@Base 13 + _d_run_main@Base 13 + _d_setSameMutex@Base 13 + _d_throw@Base 13 + _d_toObject@Base 13 + _d_traceContext@Base 13 + _d_unittest@Base 13 + _d_unittest_msg@Base 13 + _d_unittestp@Base 13 + atomic_flag_clear@Base 13 + atomic_flag_clear_explicit@Base 13 + atomic_flag_test_and_set@Base 13 + atomic_flag_test_and_set_explicit@Base 13 + atomic_signal_fence@Base 13 + atomic_thread_fence@Base 13 + backtrace_alloc@Base 13 + backtrace_close@Base 13 + backtrace_create_state@Base 13 + backtrace_dwarf_add@Base 13 + backtrace_free@Base 13 + backtrace_full@Base 13 + backtrace_get_view@Base 13 + backtrace_initialize@Base 13 + backtrace_open@Base 13 + backtrace_pcinfo@Base 13 + backtrace_print@Base 13 + backtrace_qsort@Base 13 + backtrace_release_view@Base 13 + backtrace_simple@Base 13 + backtrace_syminfo@Base 13 + backtrace_syminfo_to_full_callback@Base 13 + backtrace_syminfo_to_full_error_callback@Base 13 + backtrace_uncompress_lzma@Base 13 + backtrace_uncompress_zdebug@Base 13 + backtrace_uncompress_zstd@Base 13 + backtrace_vector_finish@Base 13 + backtrace_vector_grow@Base 13 + backtrace_vector_release@Base 13 + cimag@Base 13 + cimagf@Base 13 + cimagl@Base 13 + creald@Base 13 + crealf@Base 13 + creall@Base 13 + deflateInit2@Base 13 + deflateInit@Base 13 + fakePureErrnoImpl@Base 13 + fakePureReprintReal@Base 13 + fiber_entryPoint@Base 13 + fiber_switchContext@Base 13 + gc_addRange@Base 13 + gc_addRoot@Base 13 + gc_addrOf@Base 13 + gc_allocatedInCurrentThread@Base 13 + gc_calloc@Base 13 + gc_clrAttr@Base 13 + gc_clrProxy@Base 13 + gc_collect@Base 13 + gc_disable@Base 13 + gc_enable@Base 13 + gc_extend@Base 13 + gc_free@Base 13 + gc_getAttr@Base 13 + gc_getProxy@Base 13 + gc_inFinalizer@Base 13 + gc_init@Base 13 + gc_init_nothrow@Base 13 + gc_malloc@Base 13 + gc_minimize@Base 13 + gc_profileStats@Base 13 + gc_qalloc@Base 13 + gc_query@Base 13 + gc_realloc@Base 13 + gc_removeRange@Base 13 + gc_removeRoot@Base 13 + gc_reserve@Base 13 + gc_runFinalizers@Base 13 + gc_setAttr@Base 13 + gc_setProxy@Base 13 + gc_sizeOf@Base 13 + gc_stats@Base 13 + gc_term@Base 13 + getErrno@Base 13 + inflateBackInit@Base 13 + inflateInit2@Base 13 + inflateInit@Base 13 + libat_lock_n@Base 13 + libat_unlock_n@Base 13 + lifetime_init@Base 13 + onArrayIndexError@Base 13 + onArraySliceError@Base 13 + onAssertError@Base 13 + onAssertErrorMsg@Base 13 + onFinalizeError@Base 13 + onForkError@Base 13 + onInvalidMemoryOperationError@Base 13 + onOutOfMemoryError@Base 13 + onOutOfMemoryErrorNoGC@Base 13 + onRangeError@Base 13 + onUnicodeError@Base 13 + onUnittestErrorMsg@Base 13 + pcinfoCallback@Base 13 + pcinfoErrorCallback@Base 13 + perf_event_open@Base 13 + profilegc_setlogfilename@Base 13 + register_default_gcs@Base 13 + rt_args@Base 13 + rt_attachDisposeEvent@Base 13 + rt_cArgs@Base 13 + rt_cmdline_enabled@Base 13 + rt_detachDisposeEvent@Base 13 + rt_envvars_enabled@Base 13 + rt_finalize2@Base 13 + rt_finalize@Base 13 + rt_finalizeFromGC@Base 13 + rt_getCollectHandler@Base 13 + rt_getTraceDeallocator@Base 13 + rt_getTraceHandler@Base 13 + rt_hasFinalizerInSegment@Base 13 + rt_init@Base 13 + rt_loadLibrary@Base 13 + rt_moduleCtor@Base 13 + rt_moduleDtor@Base 13 + rt_moduleTlsCtor@Base 13 + rt_moduleTlsDtor@Base 13 + rt_options@Base 13 + rt_setCollectHandler@Base 13 + rt_setTraceHandler@Base 13 + rt_term@Base 13 + rt_trapExceptions@Base 13 + rt_unloadLibrary@Base 13 + runModuleUnitTests@Base 13 + setErrno@Base 13 + simpleCallback@Base 13 + simpleErrorCallback@Base 13 + syminfoCallback2@Base 13 + syminfoCallback@Base 13 + thread_attachThis@Base 13 + thread_detachByAddr@Base 13 + thread_detachInstance@Base 13 + thread_detachThis@Base 13 + thread_enterCriticalRegion@Base 13 + thread_entryPoint@Base 13 + thread_exitCriticalRegion@Base 13 + thread_inCriticalRegion@Base 13 + thread_init@Base 13 + thread_isMainThread@Base 13 + thread_joinAll@Base 13 + thread_processGCMarks@Base 13 + thread_resumeAll@Base 13 + thread_resumeHandler@Base 13 + thread_scanAll@Base 13 + thread_scanAllType@Base 13 + thread_setGCSignals@Base 13 + thread_setThis@Base 13 + thread_stackBottom@Base 13 + thread_stackTop@Base 13 + thread_suspendAll@Base 13 + thread_suspendHandler@Base 13 + thread_term@Base 13 + tipc_addr@Base 13 + tipc_cluster@Base 13 + tipc_node@Base 13 + tipc_zone@Base 13 diff --git a/libhwasan0.symbols b/libhwasan0.symbols new file mode 100644 index 0000000..4beb25d --- /dev/null +++ b/libhwasan0.symbols @@ -0,0 +1,999 @@ +libhwasan.so.0 #PACKAGE# #MINVER# + _ZdaPv@Base 13 + _ZdaPvRKSt9nothrow_t@Base 13 + _ZdaPvSt11align_val_t@Base 13 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 13 + _ZdaPvm@Base 14 + _ZdaPvmSt11align_val_t@Base 14 + _ZdaPvmSt11align_val_tRKSt9nothrow_t@Base 14 + _ZdlPv@Base 13 + _ZdlPvRKSt9nothrow_t@Base 13 + _ZdlPvSt11align_val_t@Base 13 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 13 + _ZdlPvm@Base 14 + _ZdlPvmSt11align_val_t@Base 14 + _ZdlPvmSt11align_val_tRKSt9nothrow_t@Base 14 + _Znam@Base 13 + _ZnamRKSt9nothrow_t@Base 13 + _ZnamSt11align_val_t@Base 13 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 13 + _Znwm@Base 13 + _ZnwmRKSt9nothrow_t@Base 13 + _ZnwmSt11align_val_t@Base 13 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 13 + ___interceptor___libc_longjmp@Base 14 + ___interceptor___libc_memalign@Base 14 + ___interceptor_aligned_alloc@Base 14 + ___interceptor_bcmp@Base 14 + ___interceptor_calloc@Base 14 + ___interceptor_cfree@Base 14 + ___interceptor_free@Base 14 + ___interceptor_longjmp@Base 14 + ___interceptor_mallinfo@Base 14 + ___interceptor_malloc@Base 14 + ___interceptor_malloc_stats@Base 14 + ___interceptor_malloc_usable_size@Base 14 + ___interceptor_mallopt@Base 14 + ___interceptor_memalign@Base 14 + ___interceptor_memcmp@Base 14 + ___interceptor_memcpy@Base 14 + ___interceptor_memmove@Base 14 + ___interceptor_memset@Base 14 + ___interceptor_mmap@Base 14 + ___interceptor_mprotect@Base 14 + ___interceptor_munmap@Base 14 + ___interceptor_posix_memalign@Base 14 + ___interceptor_pthread_create@Base 14 + ___interceptor_pthread_detach@Base 14 + ___interceptor_pthread_exit@Base 14 + ___interceptor_pthread_join@Base 14 + ___interceptor_pthread_timedjoin_np@Base 14 + ___interceptor_pthread_tryjoin_np@Base 14 + ___interceptor_pvalloc@Base 14 + ___interceptor_realloc@Base 14 + ___interceptor_reallocarray@Base 14 + ___interceptor_setjmp@Base 14 + ___interceptor_siglongjmp@Base 14 + ___interceptor_sigsetjmp@Base 14 + ___interceptor_valloc@Base 14 + ___interceptor_vfork@Base 14 + __asan_backtrace_alloc@Base 13 + __asan_backtrace_close@Base 13 + __asan_backtrace_create_state@Base 13 + __asan_backtrace_dwarf_add@Base 13 + __asan_backtrace_free@Base 13 + __asan_backtrace_get_view@Base 13 + __asan_backtrace_initialize@Base 13 + __asan_backtrace_open@Base 13 + __asan_backtrace_pcinfo@Base 13 + __asan_backtrace_qsort@Base 13 + __asan_backtrace_release_view@Base 13 + __asan_backtrace_syminfo@Base 13 + __asan_backtrace_syminfo_to_full_callback@Base 13 + __asan_backtrace_syminfo_to_full_error_callback@Base 13 + __asan_backtrace_uncompress_lzma@Base 13 + __asan_backtrace_uncompress_zdebug@Base 13 + __asan_backtrace_uncompress_zstd@Base 13 + __asan_backtrace_vector_finish@Base 13 + __asan_backtrace_vector_grow@Base 13 + __asan_backtrace_vector_release@Base 13 + __asan_cplus_demangle_builtin_types@Base 13 + __asan_cplus_demangle_fill_ctor@Base 13 + __asan_cplus_demangle_fill_dtor@Base 13 + __asan_cplus_demangle_fill_extended_operator@Base 13 + __asan_cplus_demangle_fill_name@Base 13 + __asan_cplus_demangle_init_info@Base 13 + __asan_cplus_demangle_mangled_name@Base 13 + __asan_cplus_demangle_operators@Base 13 + __asan_cplus_demangle_print@Base 13 + __asan_cplus_demangle_print_callback@Base 13 + __asan_cplus_demangle_type@Base 13 + __asan_cplus_demangle_v3@Base 13 + __asan_cplus_demangle_v3_callback@Base 13 + __asan_internal_memcmp@Base 13 + __asan_internal_memcpy@Base 13 + __asan_internal_memset@Base 13 + __asan_internal_strcmp@Base 13 + __asan_internal_strlen@Base 13 + __asan_internal_strncmp@Base 13 + __asan_internal_strnlen@Base 13 + __asan_is_gnu_v3_mangled_ctor@Base 13 + __asan_is_gnu_v3_mangled_dtor@Base 13 + __asan_java_demangle_v3@Base 13 + __asan_java_demangle_v3_callback@Base 13 + __hwasan_add_frame_record@Base 13 + __hwasan_disable_allocator_tagging@Base 13 + __hwasan_enable_allocator_tagging@Base 13 + __hwasan_generate_tag@Base 13 + __hwasan_handle_longjmp@Base 13 + __hwasan_handle_vfork@Base 13 + __hwasan_init@Base 13 + __hwasan_init_frames@Base 13 + __hwasan_init_static@Base 13 + __hwasan_library_loaded@Base 13 + __hwasan_library_unloaded@Base 13 + __hwasan_load16@Base 13 + __hwasan_load16_match_all@Base 14 + __hwasan_load16_match_all_noabort@Base 14 + __hwasan_load16_noabort@Base 13 + __hwasan_load1@Base 13 + __hwasan_load1_match_all@Base 14 + __hwasan_load1_match_all_noabort@Base 14 + __hwasan_load1_noabort@Base 13 + __hwasan_load2@Base 13 + __hwasan_load2_match_all@Base 14 + __hwasan_load2_match_all_noabort@Base 14 + __hwasan_load2_noabort@Base 13 + __hwasan_load4@Base 13 + __hwasan_load4_match_all@Base 14 + __hwasan_load4_match_all_noabort@Base 14 + __hwasan_load4_noabort@Base 13 + __hwasan_load8@Base 13 + __hwasan_load8_match_all@Base 14 + __hwasan_load8_match_all_noabort@Base 14 + __hwasan_load8_noabort@Base 13 + __hwasan_loadN@Base 13 + __hwasan_loadN_match_all@Base 14 + __hwasan_loadN_match_all_noabort@Base 14 + __hwasan_loadN_noabort@Base 13 + __hwasan_memcpy@Base 13 + __hwasan_memcpy_match_all@Base 14 + __hwasan_memmove@Base 13 + __hwasan_memmove_match_all@Base 14 + __hwasan_memset@Base 13 + __hwasan_memset_match_all@Base 14 + __hwasan_personality_wrapper@Base 13 + __hwasan_print_memory_usage@Base 13 + __hwasan_print_shadow@Base 13 + __hwasan_set_error_report_callback@Base 13 + __hwasan_shadow_memory_dynamic_address@Base 13 + __hwasan_store16@Base 13 + __hwasan_store16_match_all@Base 14 + __hwasan_store16_match_all_noabort@Base 14 + __hwasan_store16_noabort@Base 13 + __hwasan_store1@Base 13 + __hwasan_store1_match_all@Base 14 + __hwasan_store1_match_all_noabort@Base 14 + __hwasan_store1_noabort@Base 13 + __hwasan_store2@Base 13 + __hwasan_store2_match_all@Base 14 + __hwasan_store2_match_all_noabort@Base 14 + __hwasan_store2_noabort@Base 13 + __hwasan_store4@Base 13 + __hwasan_store4_match_all@Base 14 + __hwasan_store4_match_all_noabort@Base 14 + __hwasan_store4_noabort@Base 13 + __hwasan_store8@Base 13 + __hwasan_store8_match_all@Base 14 + __hwasan_store8_match_all_noabort@Base 14 + __hwasan_store8_noabort@Base 13 + __hwasan_storeN@Base 13 + __hwasan_storeN_match_all@Base 14 + __hwasan_storeN_match_all_noabort@Base 14 + __hwasan_storeN_noabort@Base 13 + __hwasan_tag_memory@Base 13 + __hwasan_tag_mismatch4@Base 13 + (arch=arm64)__hwasan_tag_mismatch@Base 13 + (arch=arm64)__hwasan_tag_mismatch_v2@Base 13 + __hwasan_tag_pointer@Base 13 + __hwasan_test_shadow@Base 13 + __hwasan_tls@Base 13 + __interceptor___libc_longjmp@Base 13 + __interceptor_bcmp@Base 14 + __interceptor_longjmp@Base 13 + __interceptor_memcmp@Base 14 + __interceptor_memcpy@Base 14 + __interceptor_memmove@Base 14 + __interceptor_memset@Base 14 + __interceptor_mmap@Base 14 + __interceptor_mprotect@Base 14 + __interceptor_munmap@Base 14 + __interceptor_pthread_create@Base 13 + __interceptor_pthread_detach@Base 14 + __interceptor_pthread_exit@Base 14 + __interceptor_pthread_join@Base 13 + __interceptor_pthread_timedjoin_np@Base 14 + __interceptor_pthread_tryjoin_np@Base 14 + __interceptor_setjmp@Base 13 + __interceptor_siglongjmp@Base 13 + __interceptor_sigsetjmp@Base 13 + __interceptor_trampoline___libc_longjmp@Base 14 + __interceptor_trampoline_bcmp@Base 14 + __interceptor_trampoline_longjmp@Base 14 + __interceptor_trampoline_memcmp@Base 14 + __interceptor_trampoline_memcpy@Base 14 + __interceptor_trampoline_memmove@Base 14 + __interceptor_trampoline_memset@Base 14 + __interceptor_trampoline_mmap@Base 14 + __interceptor_trampoline_mprotect@Base 14 + __interceptor_trampoline_munmap@Base 14 + __interceptor_trampoline_pthread_create@Base 14 + __interceptor_trampoline_pthread_detach@Base 14 + __interceptor_trampoline_pthread_exit@Base 14 + __interceptor_trampoline_pthread_join@Base 14 + __interceptor_trampoline_pthread_timedjoin_np@Base 14 + __interceptor_trampoline_pthread_tryjoin_np@Base 14 + __interceptor_trampoline_setjmp@Base 14 + __interceptor_trampoline_siglongjmp@Base 14 + __interceptor_trampoline_sigsetjmp@Base 14 + __interceptor_trampoline_vfork@Base 14 + __interceptor_vfork@Base 13 + __libc_longjmp@Base 13 + __libc_memalign@Base 13 + __lsan_default_options@Base 14 + __lsan_disable@Base 14 + __lsan_do_leak_check@Base 14 + __lsan_do_recoverable_leak_check@Base 14 + __lsan_enable@Base 14 + __lsan_ignore_object@Base 14 + __lsan_register_root_region@Base 14 + __lsan_unregister_root_region@Base 14 + __sancov_default_options@Base 13 + __sancov_lowest_stack@Base 13 + __sanitizer___libc_memalign@Base 13 + __sanitizer_acquire_crash_state@Base 13 + __sanitizer_aligned_alloc@Base 13 + __sanitizer_calloc@Base 13 + __sanitizer_cfree@Base 13 + __sanitizer_cov_8bit_counters_init@Base 13 + __sanitizer_cov_bool_flag_init@Base 13 + __sanitizer_cov_dump@Base 13 + __sanitizer_cov_load16@Base 13 + __sanitizer_cov_load1@Base 13 + __sanitizer_cov_load2@Base 13 + __sanitizer_cov_load4@Base 13 + __sanitizer_cov_load8@Base 13 + __sanitizer_cov_pcs_init@Base 13 + __sanitizer_cov_reset@Base 13 + __sanitizer_cov_store16@Base 13 + __sanitizer_cov_store1@Base 13 + __sanitizer_cov_store2@Base 13 + __sanitizer_cov_store4@Base 13 + __sanitizer_cov_store8@Base 13 + __sanitizer_cov_trace_cmp1@Base 13 + __sanitizer_cov_trace_cmp2@Base 13 + __sanitizer_cov_trace_cmp4@Base 13 + __sanitizer_cov_trace_cmp8@Base 13 + __sanitizer_cov_trace_cmp@Base 13 + __sanitizer_cov_trace_const_cmp1@Base 13 + __sanitizer_cov_trace_const_cmp2@Base 13 + __sanitizer_cov_trace_const_cmp4@Base 13 + __sanitizer_cov_trace_const_cmp8@Base 13 + __sanitizer_cov_trace_div4@Base 13 + __sanitizer_cov_trace_div8@Base 13 + __sanitizer_cov_trace_gep@Base 13 + __sanitizer_cov_trace_pc_guard@Base 13 + __sanitizer_cov_trace_pc_guard_init@Base 13 + __sanitizer_cov_trace_pc_indir@Base 13 + __sanitizer_cov_trace_switch@Base 13 + __sanitizer_dump_coverage@Base 13 + __sanitizer_dump_trace_pc_guard_coverage@Base 13 + __sanitizer_free@Base 13 + __sanitizer_free_hook@Base 13 + __sanitizer_get_allocated_begin@Base 14 + __sanitizer_get_allocated_size@Base 13 + __sanitizer_get_allocated_size_fast@Base 14 + __sanitizer_get_current_allocated_bytes@Base 13 + __sanitizer_get_estimated_allocated_size@Base 13 + __sanitizer_get_free_bytes@Base 13 + __sanitizer_get_heap_size@Base 13 + __sanitizer_get_module_and_offset_for_pc@Base 13 + __sanitizer_get_ownership@Base 13 + __sanitizer_get_report_path@Base 13 + __sanitizer_get_unmapped_bytes@Base 13 + __sanitizer_install_malloc_and_free_hooks@Base 13 + __sanitizer_internal_memcpy@Base 14 + __sanitizer_internal_memmove@Base 14 + __sanitizer_internal_memset@Base 14 + __sanitizer_mallinfo@Base 13 + __sanitizer_malloc@Base 13 + __sanitizer_malloc_hook@Base 13 + __sanitizer_malloc_stats@Base 13 + __sanitizer_malloc_usable_size@Base 13 + __sanitizer_mallopt@Base 13 + __sanitizer_memalign@Base 13 + __sanitizer_on_print@Base 13 + __sanitizer_posix_memalign@Base 13 + __sanitizer_print_stack_trace@Base 13 + __sanitizer_purge_allocator@Base 14 + __sanitizer_pvalloc@Base 13 + __sanitizer_realloc@Base 13 + __sanitizer_reallocarray@Base 13 + __sanitizer_report_error_summary@Base 13 + __sanitizer_sandbox_on_notify@Base 13 + __sanitizer_set_death_callback@Base 13 + __sanitizer_set_report_fd@Base 13 + __sanitizer_set_report_path@Base 13 + __sanitizer_symbolize_global@Base 13 + __sanitizer_symbolize_pc@Base 13 + __sanitizer_syscall_post_impl_accept4@Base 14 + __sanitizer_syscall_post_impl_accept@Base 14 + __sanitizer_syscall_post_impl_access@Base 14 + __sanitizer_syscall_post_impl_acct@Base 14 + __sanitizer_syscall_post_impl_add_key@Base 14 + __sanitizer_syscall_post_impl_adjtimex@Base 14 + __sanitizer_syscall_post_impl_alarm@Base 14 + __sanitizer_syscall_post_impl_bdflush@Base 14 + __sanitizer_syscall_post_impl_bind@Base 14 + __sanitizer_syscall_post_impl_brk@Base 14 + __sanitizer_syscall_post_impl_capget@Base 14 + __sanitizer_syscall_post_impl_capset@Base 14 + __sanitizer_syscall_post_impl_chdir@Base 14 + __sanitizer_syscall_post_impl_chmod@Base 14 + __sanitizer_syscall_post_impl_chown@Base 14 + __sanitizer_syscall_post_impl_chroot@Base 14 + __sanitizer_syscall_post_impl_clock_adjtime@Base 14 + __sanitizer_syscall_post_impl_clock_getres@Base 14 + __sanitizer_syscall_post_impl_clock_gettime@Base 14 + __sanitizer_syscall_post_impl_clock_nanosleep@Base 14 + __sanitizer_syscall_post_impl_clock_settime@Base 14 + __sanitizer_syscall_post_impl_close@Base 14 + __sanitizer_syscall_post_impl_connect@Base 14 + __sanitizer_syscall_post_impl_creat@Base 14 + __sanitizer_syscall_post_impl_delete_module@Base 14 + __sanitizer_syscall_post_impl_dup2@Base 14 + __sanitizer_syscall_post_impl_dup3@Base 14 + __sanitizer_syscall_post_impl_dup@Base 14 + __sanitizer_syscall_post_impl_epoll_create1@Base 14 + __sanitizer_syscall_post_impl_epoll_create@Base 14 + __sanitizer_syscall_post_impl_epoll_ctl@Base 14 + __sanitizer_syscall_post_impl_epoll_pwait2@Base 14 + __sanitizer_syscall_post_impl_epoll_pwait@Base 14 + __sanitizer_syscall_post_impl_epoll_wait@Base 14 + __sanitizer_syscall_post_impl_eventfd2@Base 14 + __sanitizer_syscall_post_impl_eventfd@Base 14 + __sanitizer_syscall_post_impl_exit@Base 14 + __sanitizer_syscall_post_impl_exit_group@Base 14 + __sanitizer_syscall_post_impl_faccessat@Base 14 + __sanitizer_syscall_post_impl_fchdir@Base 14 + __sanitizer_syscall_post_impl_fchmod@Base 14 + __sanitizer_syscall_post_impl_fchmodat@Base 14 + __sanitizer_syscall_post_impl_fchown@Base 14 + __sanitizer_syscall_post_impl_fchownat@Base 14 + __sanitizer_syscall_post_impl_fcntl64@Base 14 + __sanitizer_syscall_post_impl_fcntl@Base 14 + __sanitizer_syscall_post_impl_fdatasync@Base 14 + __sanitizer_syscall_post_impl_fgetxattr@Base 14 + __sanitizer_syscall_post_impl_flistxattr@Base 14 + __sanitizer_syscall_post_impl_flock@Base 14 + __sanitizer_syscall_post_impl_fork@Base 14 + __sanitizer_syscall_post_impl_fremovexattr@Base 14 + __sanitizer_syscall_post_impl_fsetxattr@Base 14 + __sanitizer_syscall_post_impl_fstat64@Base 14 + __sanitizer_syscall_post_impl_fstat@Base 14 + __sanitizer_syscall_post_impl_fstatat64@Base 14 + __sanitizer_syscall_post_impl_fstatfs64@Base 14 + __sanitizer_syscall_post_impl_fstatfs@Base 14 + __sanitizer_syscall_post_impl_fsync@Base 14 + __sanitizer_syscall_post_impl_ftruncate@Base 14 + __sanitizer_syscall_post_impl_futimesat@Base 14 + __sanitizer_syscall_post_impl_get_mempolicy@Base 14 + __sanitizer_syscall_post_impl_get_robust_list@Base 14 + __sanitizer_syscall_post_impl_getcpu@Base 14 + __sanitizer_syscall_post_impl_getcwd@Base 14 + __sanitizer_syscall_post_impl_getdents64@Base 14 + __sanitizer_syscall_post_impl_getdents@Base 14 + __sanitizer_syscall_post_impl_getegid@Base 14 + __sanitizer_syscall_post_impl_geteuid@Base 14 + __sanitizer_syscall_post_impl_getgid@Base 14 + __sanitizer_syscall_post_impl_getgroups@Base 14 + __sanitizer_syscall_post_impl_gethostname@Base 14 + __sanitizer_syscall_post_impl_getitimer@Base 14 + __sanitizer_syscall_post_impl_getpeername@Base 14 + __sanitizer_syscall_post_impl_getpgid@Base 14 + __sanitizer_syscall_post_impl_getpgrp@Base 14 + __sanitizer_syscall_post_impl_getpid@Base 14 + __sanitizer_syscall_post_impl_getppid@Base 14 + __sanitizer_syscall_post_impl_getpriority@Base 14 + __sanitizer_syscall_post_impl_getrandom@Base 14 + __sanitizer_syscall_post_impl_getresgid@Base 14 + __sanitizer_syscall_post_impl_getresuid@Base 14 + __sanitizer_syscall_post_impl_getrlimit@Base 14 + __sanitizer_syscall_post_impl_getrusage@Base 14 + __sanitizer_syscall_post_impl_getsid@Base 14 + __sanitizer_syscall_post_impl_getsockname@Base 14 + __sanitizer_syscall_post_impl_getsockopt@Base 14 + __sanitizer_syscall_post_impl_gettid@Base 14 + __sanitizer_syscall_post_impl_gettimeofday@Base 14 + __sanitizer_syscall_post_impl_getuid@Base 14 + __sanitizer_syscall_post_impl_getxattr@Base 14 + __sanitizer_syscall_post_impl_init_module@Base 14 + __sanitizer_syscall_post_impl_inotify_add_watch@Base 14 + __sanitizer_syscall_post_impl_inotify_init1@Base 14 + __sanitizer_syscall_post_impl_inotify_init@Base 14 + __sanitizer_syscall_post_impl_inotify_rm_watch@Base 14 + __sanitizer_syscall_post_impl_io_cancel@Base 14 + __sanitizer_syscall_post_impl_io_destroy@Base 14 + __sanitizer_syscall_post_impl_io_getevents@Base 14 + __sanitizer_syscall_post_impl_io_setup@Base 14 + __sanitizer_syscall_post_impl_io_submit@Base 14 + __sanitizer_syscall_post_impl_ioctl@Base 14 + __sanitizer_syscall_post_impl_ioperm@Base 14 + __sanitizer_syscall_post_impl_ioprio_get@Base 14 + __sanitizer_syscall_post_impl_ioprio_set@Base 14 + __sanitizer_syscall_post_impl_ipc@Base 14 + __sanitizer_syscall_post_impl_kexec_load@Base 14 + __sanitizer_syscall_post_impl_keyctl@Base 14 + __sanitizer_syscall_post_impl_kill@Base 14 + __sanitizer_syscall_post_impl_lchown@Base 14 + __sanitizer_syscall_post_impl_lgetxattr@Base 14 + __sanitizer_syscall_post_impl_link@Base 14 + __sanitizer_syscall_post_impl_linkat@Base 14 + __sanitizer_syscall_post_impl_listen@Base 14 + __sanitizer_syscall_post_impl_listxattr@Base 14 + __sanitizer_syscall_post_impl_llistxattr@Base 14 + __sanitizer_syscall_post_impl_llseek@Base 14 + __sanitizer_syscall_post_impl_lookup_dcookie@Base 14 + __sanitizer_syscall_post_impl_lremovexattr@Base 14 + __sanitizer_syscall_post_impl_lseek@Base 14 + __sanitizer_syscall_post_impl_lsetxattr@Base 14 + __sanitizer_syscall_post_impl_lstat64@Base 14 + __sanitizer_syscall_post_impl_lstat@Base 14 + __sanitizer_syscall_post_impl_madvise@Base 14 + __sanitizer_syscall_post_impl_mbind@Base 14 + __sanitizer_syscall_post_impl_migrate_pages@Base 14 + __sanitizer_syscall_post_impl_mincore@Base 14 + __sanitizer_syscall_post_impl_mkdir@Base 14 + __sanitizer_syscall_post_impl_mkdirat@Base 14 + __sanitizer_syscall_post_impl_mknod@Base 14 + __sanitizer_syscall_post_impl_mknodat@Base 14 + __sanitizer_syscall_post_impl_mlock@Base 14 + __sanitizer_syscall_post_impl_mlockall@Base 14 + __sanitizer_syscall_post_impl_mmap_pgoff@Base 14 + __sanitizer_syscall_post_impl_mount@Base 14 + __sanitizer_syscall_post_impl_move_pages@Base 14 + __sanitizer_syscall_post_impl_mprotect@Base 14 + __sanitizer_syscall_post_impl_mq_getsetattr@Base 14 + __sanitizer_syscall_post_impl_mq_notify@Base 14 + __sanitizer_syscall_post_impl_mq_open@Base 14 + __sanitizer_syscall_post_impl_mq_timedreceive@Base 14 + __sanitizer_syscall_post_impl_mq_timedsend@Base 14 + __sanitizer_syscall_post_impl_mq_unlink@Base 14 + __sanitizer_syscall_post_impl_mremap@Base 14 + __sanitizer_syscall_post_impl_msgctl@Base 14 + __sanitizer_syscall_post_impl_msgget@Base 14 + __sanitizer_syscall_post_impl_msgrcv@Base 14 + __sanitizer_syscall_post_impl_msgsnd@Base 14 + __sanitizer_syscall_post_impl_msync@Base 14 + __sanitizer_syscall_post_impl_munlock@Base 14 + __sanitizer_syscall_post_impl_munlockall@Base 14 + __sanitizer_syscall_post_impl_munmap@Base 14 + __sanitizer_syscall_post_impl_name_to_handle_at@Base 14 + __sanitizer_syscall_post_impl_nanosleep@Base 14 + __sanitizer_syscall_post_impl_newfstat@Base 14 + __sanitizer_syscall_post_impl_newfstatat@Base 14 + __sanitizer_syscall_post_impl_newlstat@Base 14 + __sanitizer_syscall_post_impl_newstat@Base 14 + __sanitizer_syscall_post_impl_newuname@Base 14 + __sanitizer_syscall_post_impl_ni_syscall@Base 14 + __sanitizer_syscall_post_impl_nice@Base 14 + __sanitizer_syscall_post_impl_old_getrlimit@Base 14 + __sanitizer_syscall_post_impl_old_mmap@Base 14 + __sanitizer_syscall_post_impl_old_readdir@Base 14 + __sanitizer_syscall_post_impl_old_select@Base 14 + __sanitizer_syscall_post_impl_oldumount@Base 14 + __sanitizer_syscall_post_impl_olduname@Base 14 + __sanitizer_syscall_post_impl_open@Base 14 + __sanitizer_syscall_post_impl_open_by_handle_at@Base 14 + __sanitizer_syscall_post_impl_openat@Base 14 + __sanitizer_syscall_post_impl_pause@Base 14 + __sanitizer_syscall_post_impl_pciconfig_iobase@Base 14 + __sanitizer_syscall_post_impl_pciconfig_read@Base 14 + __sanitizer_syscall_post_impl_pciconfig_write@Base 14 + __sanitizer_syscall_post_impl_perf_event_open@Base 14 + __sanitizer_syscall_post_impl_personality@Base 14 + __sanitizer_syscall_post_impl_pipe2@Base 14 + __sanitizer_syscall_post_impl_pipe@Base 14 + __sanitizer_syscall_post_impl_pivot_root@Base 14 + __sanitizer_syscall_post_impl_poll@Base 14 + __sanitizer_syscall_post_impl_ppoll@Base 14 + __sanitizer_syscall_post_impl_pread64@Base 14 + __sanitizer_syscall_post_impl_preadv@Base 14 + __sanitizer_syscall_post_impl_prlimit64@Base 14 + __sanitizer_syscall_post_impl_process_vm_readv@Base 14 + __sanitizer_syscall_post_impl_process_vm_writev@Base 14 + __sanitizer_syscall_post_impl_pselect6@Base 14 + __sanitizer_syscall_post_impl_ptrace@Base 14 + __sanitizer_syscall_post_impl_pwrite64@Base 14 + __sanitizer_syscall_post_impl_pwritev@Base 14 + __sanitizer_syscall_post_impl_quotactl@Base 14 + __sanitizer_syscall_post_impl_read@Base 14 + __sanitizer_syscall_post_impl_readlink@Base 14 + __sanitizer_syscall_post_impl_readlinkat@Base 14 + __sanitizer_syscall_post_impl_readv@Base 14 + __sanitizer_syscall_post_impl_reboot@Base 14 + __sanitizer_syscall_post_impl_recv@Base 14 + __sanitizer_syscall_post_impl_recvfrom@Base 14 + __sanitizer_syscall_post_impl_recvmmsg@Base 14 + __sanitizer_syscall_post_impl_recvmsg@Base 14 + __sanitizer_syscall_post_impl_remap_file_pages@Base 14 + __sanitizer_syscall_post_impl_removexattr@Base 14 + __sanitizer_syscall_post_impl_rename@Base 14 + __sanitizer_syscall_post_impl_renameat@Base 14 + __sanitizer_syscall_post_impl_request_key@Base 14 + __sanitizer_syscall_post_impl_restart_syscall@Base 14 + __sanitizer_syscall_post_impl_rmdir@Base 14 + __sanitizer_syscall_post_impl_rt_sigaction@Base 14 + __sanitizer_syscall_post_impl_rt_sigpending@Base 14 + __sanitizer_syscall_post_impl_rt_sigprocmask@Base 14 + __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 14 + __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 14 + __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 14 + __sanitizer_syscall_post_impl_sched_get_priority_max@Base 14 + __sanitizer_syscall_post_impl_sched_get_priority_min@Base 14 + __sanitizer_syscall_post_impl_sched_getaffinity@Base 14 + __sanitizer_syscall_post_impl_sched_getparam@Base 14 + __sanitizer_syscall_post_impl_sched_getscheduler@Base 14 + __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 14 + __sanitizer_syscall_post_impl_sched_setaffinity@Base 14 + __sanitizer_syscall_post_impl_sched_setparam@Base 14 + __sanitizer_syscall_post_impl_sched_setscheduler@Base 14 + __sanitizer_syscall_post_impl_sched_yield@Base 14 + __sanitizer_syscall_post_impl_select@Base 14 + __sanitizer_syscall_post_impl_semctl@Base 14 + __sanitizer_syscall_post_impl_semget@Base 14 + __sanitizer_syscall_post_impl_semop@Base 14 + __sanitizer_syscall_post_impl_semtimedop@Base 14 + __sanitizer_syscall_post_impl_send@Base 14 + __sanitizer_syscall_post_impl_sendfile64@Base 14 + __sanitizer_syscall_post_impl_sendfile@Base 14 + __sanitizer_syscall_post_impl_sendmmsg@Base 14 + __sanitizer_syscall_post_impl_sendmsg@Base 14 + __sanitizer_syscall_post_impl_sendto@Base 14 + __sanitizer_syscall_post_impl_set_mempolicy@Base 14 + __sanitizer_syscall_post_impl_set_robust_list@Base 14 + __sanitizer_syscall_post_impl_set_tid_address@Base 14 + __sanitizer_syscall_post_impl_setdomainname@Base 14 + __sanitizer_syscall_post_impl_setfsgid@Base 14 + __sanitizer_syscall_post_impl_setfsuid@Base 14 + __sanitizer_syscall_post_impl_setgid@Base 14 + __sanitizer_syscall_post_impl_setgroups@Base 14 + __sanitizer_syscall_post_impl_sethostname@Base 14 + __sanitizer_syscall_post_impl_setitimer@Base 14 + __sanitizer_syscall_post_impl_setns@Base 14 + __sanitizer_syscall_post_impl_setpgid@Base 14 + __sanitizer_syscall_post_impl_setpriority@Base 14 + __sanitizer_syscall_post_impl_setregid@Base 14 + __sanitizer_syscall_post_impl_setresgid@Base 14 + __sanitizer_syscall_post_impl_setresuid@Base 14 + __sanitizer_syscall_post_impl_setreuid@Base 14 + __sanitizer_syscall_post_impl_setrlimit@Base 14 + __sanitizer_syscall_post_impl_setsid@Base 14 + __sanitizer_syscall_post_impl_setsockopt@Base 14 + __sanitizer_syscall_post_impl_settimeofday@Base 14 + __sanitizer_syscall_post_impl_setuid@Base 14 + __sanitizer_syscall_post_impl_setxattr@Base 14 + __sanitizer_syscall_post_impl_sgetmask@Base 14 + __sanitizer_syscall_post_impl_shmat@Base 14 + __sanitizer_syscall_post_impl_shmctl@Base 14 + __sanitizer_syscall_post_impl_shmdt@Base 14 + __sanitizer_syscall_post_impl_shmget@Base 14 + __sanitizer_syscall_post_impl_shutdown@Base 14 + __sanitizer_syscall_post_impl_sigaction@Base 14 + __sanitizer_syscall_post_impl_sigaltstack@Base 14 + __sanitizer_syscall_post_impl_signal@Base 14 + __sanitizer_syscall_post_impl_signalfd4@Base 14 + __sanitizer_syscall_post_impl_signalfd@Base 14 + __sanitizer_syscall_post_impl_sigpending@Base 14 + __sanitizer_syscall_post_impl_sigprocmask@Base 14 + __sanitizer_syscall_post_impl_socket@Base 14 + __sanitizer_syscall_post_impl_socketcall@Base 14 + __sanitizer_syscall_post_impl_socketpair@Base 14 + __sanitizer_syscall_post_impl_splice@Base 14 + __sanitizer_syscall_post_impl_spu_create@Base 14 + __sanitizer_syscall_post_impl_spu_run@Base 14 + __sanitizer_syscall_post_impl_ssetmask@Base 14 + __sanitizer_syscall_post_impl_stat64@Base 14 + __sanitizer_syscall_post_impl_stat@Base 14 + __sanitizer_syscall_post_impl_statfs64@Base 14 + __sanitizer_syscall_post_impl_statfs@Base 14 + __sanitizer_syscall_post_impl_stime@Base 14 + __sanitizer_syscall_post_impl_swapoff@Base 14 + __sanitizer_syscall_post_impl_swapon@Base 14 + __sanitizer_syscall_post_impl_symlink@Base 14 + __sanitizer_syscall_post_impl_symlinkat@Base 14 + __sanitizer_syscall_post_impl_sync@Base 14 + __sanitizer_syscall_post_impl_syncfs@Base 14 + __sanitizer_syscall_post_impl_sysctl@Base 14 + __sanitizer_syscall_post_impl_sysfs@Base 14 + __sanitizer_syscall_post_impl_sysinfo@Base 14 + __sanitizer_syscall_post_impl_syslog@Base 14 + __sanitizer_syscall_post_impl_tee@Base 14 + __sanitizer_syscall_post_impl_tgkill@Base 14 + __sanitizer_syscall_post_impl_time@Base 14 + __sanitizer_syscall_post_impl_timer_create@Base 14 + __sanitizer_syscall_post_impl_timer_delete@Base 14 + __sanitizer_syscall_post_impl_timer_getoverrun@Base 14 + __sanitizer_syscall_post_impl_timer_gettime@Base 14 + __sanitizer_syscall_post_impl_timer_settime@Base 14 + __sanitizer_syscall_post_impl_timerfd_create@Base 14 + __sanitizer_syscall_post_impl_timerfd_gettime@Base 14 + __sanitizer_syscall_post_impl_timerfd_settime@Base 14 + __sanitizer_syscall_post_impl_times@Base 14 + __sanitizer_syscall_post_impl_tkill@Base 14 + __sanitizer_syscall_post_impl_truncate@Base 14 + __sanitizer_syscall_post_impl_umask@Base 14 + __sanitizer_syscall_post_impl_umount@Base 14 + __sanitizer_syscall_post_impl_uname@Base 14 + __sanitizer_syscall_post_impl_unlink@Base 14 + __sanitizer_syscall_post_impl_unlinkat@Base 14 + __sanitizer_syscall_post_impl_unshare@Base 14 + __sanitizer_syscall_post_impl_uselib@Base 14 + __sanitizer_syscall_post_impl_ustat@Base 14 + __sanitizer_syscall_post_impl_utime@Base 14 + __sanitizer_syscall_post_impl_utimensat@Base 14 + __sanitizer_syscall_post_impl_utimes@Base 14 + __sanitizer_syscall_post_impl_vfork@Base 14 + __sanitizer_syscall_post_impl_vhangup@Base 14 + __sanitizer_syscall_post_impl_vmsplice@Base 14 + __sanitizer_syscall_post_impl_wait4@Base 14 + __sanitizer_syscall_post_impl_waitid@Base 14 + __sanitizer_syscall_post_impl_waitpid@Base 14 + __sanitizer_syscall_post_impl_write@Base 14 + __sanitizer_syscall_post_impl_writev@Base 14 + __sanitizer_syscall_pre_impl_accept4@Base 14 + __sanitizer_syscall_pre_impl_accept@Base 14 + __sanitizer_syscall_pre_impl_access@Base 14 + __sanitizer_syscall_pre_impl_acct@Base 14 + __sanitizer_syscall_pre_impl_add_key@Base 14 + __sanitizer_syscall_pre_impl_adjtimex@Base 14 + __sanitizer_syscall_pre_impl_alarm@Base 14 + __sanitizer_syscall_pre_impl_bdflush@Base 14 + __sanitizer_syscall_pre_impl_bind@Base 14 + __sanitizer_syscall_pre_impl_brk@Base 14 + __sanitizer_syscall_pre_impl_capget@Base 14 + __sanitizer_syscall_pre_impl_capset@Base 14 + __sanitizer_syscall_pre_impl_chdir@Base 14 + __sanitizer_syscall_pre_impl_chmod@Base 14 + __sanitizer_syscall_pre_impl_chown@Base 14 + __sanitizer_syscall_pre_impl_chroot@Base 14 + __sanitizer_syscall_pre_impl_clock_adjtime@Base 14 + __sanitizer_syscall_pre_impl_clock_getres@Base 14 + __sanitizer_syscall_pre_impl_clock_gettime@Base 14 + __sanitizer_syscall_pre_impl_clock_nanosleep@Base 14 + __sanitizer_syscall_pre_impl_clock_settime@Base 14 + __sanitizer_syscall_pre_impl_close@Base 14 + __sanitizer_syscall_pre_impl_connect@Base 14 + __sanitizer_syscall_pre_impl_creat@Base 14 + __sanitizer_syscall_pre_impl_delete_module@Base 14 + __sanitizer_syscall_pre_impl_dup2@Base 14 + __sanitizer_syscall_pre_impl_dup3@Base 14 + __sanitizer_syscall_pre_impl_dup@Base 14 + __sanitizer_syscall_pre_impl_epoll_create1@Base 14 + __sanitizer_syscall_pre_impl_epoll_create@Base 14 + __sanitizer_syscall_pre_impl_epoll_ctl@Base 14 + __sanitizer_syscall_pre_impl_epoll_pwait2@Base 14 + __sanitizer_syscall_pre_impl_epoll_pwait@Base 14 + __sanitizer_syscall_pre_impl_epoll_wait@Base 14 + __sanitizer_syscall_pre_impl_eventfd2@Base 14 + __sanitizer_syscall_pre_impl_eventfd@Base 14 + __sanitizer_syscall_pre_impl_exit@Base 14 + __sanitizer_syscall_pre_impl_exit_group@Base 14 + __sanitizer_syscall_pre_impl_faccessat@Base 14 + __sanitizer_syscall_pre_impl_fchdir@Base 14 + __sanitizer_syscall_pre_impl_fchmod@Base 14 + __sanitizer_syscall_pre_impl_fchmodat@Base 14 + __sanitizer_syscall_pre_impl_fchown@Base 14 + __sanitizer_syscall_pre_impl_fchownat@Base 14 + __sanitizer_syscall_pre_impl_fcntl64@Base 14 + __sanitizer_syscall_pre_impl_fcntl@Base 14 + __sanitizer_syscall_pre_impl_fdatasync@Base 14 + __sanitizer_syscall_pre_impl_fgetxattr@Base 14 + __sanitizer_syscall_pre_impl_flistxattr@Base 14 + __sanitizer_syscall_pre_impl_flock@Base 14 + __sanitizer_syscall_pre_impl_fork@Base 14 + __sanitizer_syscall_pre_impl_fremovexattr@Base 14 + __sanitizer_syscall_pre_impl_fsetxattr@Base 14 + __sanitizer_syscall_pre_impl_fstat64@Base 14 + __sanitizer_syscall_pre_impl_fstat@Base 14 + __sanitizer_syscall_pre_impl_fstatat64@Base 14 + __sanitizer_syscall_pre_impl_fstatfs64@Base 14 + __sanitizer_syscall_pre_impl_fstatfs@Base 14 + __sanitizer_syscall_pre_impl_fsync@Base 14 + __sanitizer_syscall_pre_impl_ftruncate@Base 14 + __sanitizer_syscall_pre_impl_futimesat@Base 14 + __sanitizer_syscall_pre_impl_get_mempolicy@Base 14 + __sanitizer_syscall_pre_impl_get_robust_list@Base 14 + __sanitizer_syscall_pre_impl_getcpu@Base 14 + __sanitizer_syscall_pre_impl_getcwd@Base 14 + __sanitizer_syscall_pre_impl_getdents64@Base 14 + __sanitizer_syscall_pre_impl_getdents@Base 14 + __sanitizer_syscall_pre_impl_getegid@Base 14 + __sanitizer_syscall_pre_impl_geteuid@Base 14 + __sanitizer_syscall_pre_impl_getgid@Base 14 + __sanitizer_syscall_pre_impl_getgroups@Base 14 + __sanitizer_syscall_pre_impl_gethostname@Base 14 + __sanitizer_syscall_pre_impl_getitimer@Base 14 + __sanitizer_syscall_pre_impl_getpeername@Base 14 + __sanitizer_syscall_pre_impl_getpgid@Base 14 + __sanitizer_syscall_pre_impl_getpgrp@Base 14 + __sanitizer_syscall_pre_impl_getpid@Base 14 + __sanitizer_syscall_pre_impl_getppid@Base 14 + __sanitizer_syscall_pre_impl_getpriority@Base 14 + __sanitizer_syscall_pre_impl_getrandom@Base 14 + __sanitizer_syscall_pre_impl_getresgid@Base 14 + __sanitizer_syscall_pre_impl_getresuid@Base 14 + __sanitizer_syscall_pre_impl_getrlimit@Base 14 + __sanitizer_syscall_pre_impl_getrusage@Base 14 + __sanitizer_syscall_pre_impl_getsid@Base 14 + __sanitizer_syscall_pre_impl_getsockname@Base 14 + __sanitizer_syscall_pre_impl_getsockopt@Base 14 + __sanitizer_syscall_pre_impl_gettid@Base 14 + __sanitizer_syscall_pre_impl_gettimeofday@Base 14 + __sanitizer_syscall_pre_impl_getuid@Base 14 + __sanitizer_syscall_pre_impl_getxattr@Base 14 + __sanitizer_syscall_pre_impl_init_module@Base 14 + __sanitizer_syscall_pre_impl_inotify_add_watch@Base 14 + __sanitizer_syscall_pre_impl_inotify_init1@Base 14 + __sanitizer_syscall_pre_impl_inotify_init@Base 14 + __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 14 + __sanitizer_syscall_pre_impl_io_cancel@Base 14 + __sanitizer_syscall_pre_impl_io_destroy@Base 14 + __sanitizer_syscall_pre_impl_io_getevents@Base 14 + __sanitizer_syscall_pre_impl_io_setup@Base 14 + __sanitizer_syscall_pre_impl_io_submit@Base 14 + __sanitizer_syscall_pre_impl_ioctl@Base 14 + __sanitizer_syscall_pre_impl_ioperm@Base 14 + __sanitizer_syscall_pre_impl_ioprio_get@Base 14 + __sanitizer_syscall_pre_impl_ioprio_set@Base 14 + __sanitizer_syscall_pre_impl_ipc@Base 14 + __sanitizer_syscall_pre_impl_kexec_load@Base 14 + __sanitizer_syscall_pre_impl_keyctl@Base 14 + __sanitizer_syscall_pre_impl_kill@Base 14 + __sanitizer_syscall_pre_impl_lchown@Base 14 + __sanitizer_syscall_pre_impl_lgetxattr@Base 14 + __sanitizer_syscall_pre_impl_link@Base 14 + __sanitizer_syscall_pre_impl_linkat@Base 14 + __sanitizer_syscall_pre_impl_listen@Base 14 + __sanitizer_syscall_pre_impl_listxattr@Base 14 + __sanitizer_syscall_pre_impl_llistxattr@Base 14 + __sanitizer_syscall_pre_impl_llseek@Base 14 + __sanitizer_syscall_pre_impl_lookup_dcookie@Base 14 + __sanitizer_syscall_pre_impl_lremovexattr@Base 14 + __sanitizer_syscall_pre_impl_lseek@Base 14 + __sanitizer_syscall_pre_impl_lsetxattr@Base 14 + __sanitizer_syscall_pre_impl_lstat64@Base 14 + __sanitizer_syscall_pre_impl_lstat@Base 14 + __sanitizer_syscall_pre_impl_madvise@Base 14 + __sanitizer_syscall_pre_impl_mbind@Base 14 + __sanitizer_syscall_pre_impl_migrate_pages@Base 14 + __sanitizer_syscall_pre_impl_mincore@Base 14 + __sanitizer_syscall_pre_impl_mkdir@Base 14 + __sanitizer_syscall_pre_impl_mkdirat@Base 14 + __sanitizer_syscall_pre_impl_mknod@Base 14 + __sanitizer_syscall_pre_impl_mknodat@Base 14 + __sanitizer_syscall_pre_impl_mlock@Base 14 + __sanitizer_syscall_pre_impl_mlockall@Base 14 + __sanitizer_syscall_pre_impl_mmap_pgoff@Base 14 + __sanitizer_syscall_pre_impl_mount@Base 14 + __sanitizer_syscall_pre_impl_move_pages@Base 14 + __sanitizer_syscall_pre_impl_mprotect@Base 14 + __sanitizer_syscall_pre_impl_mq_getsetattr@Base 14 + __sanitizer_syscall_pre_impl_mq_notify@Base 14 + __sanitizer_syscall_pre_impl_mq_open@Base 14 + __sanitizer_syscall_pre_impl_mq_timedreceive@Base 14 + __sanitizer_syscall_pre_impl_mq_timedsend@Base 14 + __sanitizer_syscall_pre_impl_mq_unlink@Base 14 + __sanitizer_syscall_pre_impl_mremap@Base 14 + __sanitizer_syscall_pre_impl_msgctl@Base 14 + __sanitizer_syscall_pre_impl_msgget@Base 14 + __sanitizer_syscall_pre_impl_msgrcv@Base 14 + __sanitizer_syscall_pre_impl_msgsnd@Base 14 + __sanitizer_syscall_pre_impl_msync@Base 14 + __sanitizer_syscall_pre_impl_munlock@Base 14 + __sanitizer_syscall_pre_impl_munlockall@Base 14 + __sanitizer_syscall_pre_impl_munmap@Base 14 + __sanitizer_syscall_pre_impl_name_to_handle_at@Base 14 + __sanitizer_syscall_pre_impl_nanosleep@Base 14 + __sanitizer_syscall_pre_impl_newfstat@Base 14 + __sanitizer_syscall_pre_impl_newfstatat@Base 14 + __sanitizer_syscall_pre_impl_newlstat@Base 14 + __sanitizer_syscall_pre_impl_newstat@Base 14 + __sanitizer_syscall_pre_impl_newuname@Base 14 + __sanitizer_syscall_pre_impl_ni_syscall@Base 14 + __sanitizer_syscall_pre_impl_nice@Base 14 + __sanitizer_syscall_pre_impl_old_getrlimit@Base 14 + __sanitizer_syscall_pre_impl_old_mmap@Base 14 + __sanitizer_syscall_pre_impl_old_readdir@Base 14 + __sanitizer_syscall_pre_impl_old_select@Base 14 + __sanitizer_syscall_pre_impl_oldumount@Base 14 + __sanitizer_syscall_pre_impl_olduname@Base 14 + __sanitizer_syscall_pre_impl_open@Base 14 + __sanitizer_syscall_pre_impl_open_by_handle_at@Base 14 + __sanitizer_syscall_pre_impl_openat@Base 14 + __sanitizer_syscall_pre_impl_pause@Base 14 + __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 14 + __sanitizer_syscall_pre_impl_pciconfig_read@Base 14 + __sanitizer_syscall_pre_impl_pciconfig_write@Base 14 + __sanitizer_syscall_pre_impl_perf_event_open@Base 14 + __sanitizer_syscall_pre_impl_personality@Base 14 + __sanitizer_syscall_pre_impl_pipe2@Base 14 + __sanitizer_syscall_pre_impl_pipe@Base 14 + __sanitizer_syscall_pre_impl_pivot_root@Base 14 + __sanitizer_syscall_pre_impl_poll@Base 14 + __sanitizer_syscall_pre_impl_ppoll@Base 14 + __sanitizer_syscall_pre_impl_pread64@Base 14 + __sanitizer_syscall_pre_impl_preadv@Base 14 + __sanitizer_syscall_pre_impl_prlimit64@Base 14 + __sanitizer_syscall_pre_impl_process_vm_readv@Base 14 + __sanitizer_syscall_pre_impl_process_vm_writev@Base 14 + __sanitizer_syscall_pre_impl_pselect6@Base 14 + __sanitizer_syscall_pre_impl_ptrace@Base 14 + __sanitizer_syscall_pre_impl_pwrite64@Base 14 + __sanitizer_syscall_pre_impl_pwritev@Base 14 + __sanitizer_syscall_pre_impl_quotactl@Base 14 + __sanitizer_syscall_pre_impl_read@Base 14 + __sanitizer_syscall_pre_impl_readlink@Base 14 + __sanitizer_syscall_pre_impl_readlinkat@Base 14 + __sanitizer_syscall_pre_impl_readv@Base 14 + __sanitizer_syscall_pre_impl_reboot@Base 14 + __sanitizer_syscall_pre_impl_recv@Base 14 + __sanitizer_syscall_pre_impl_recvfrom@Base 14 + __sanitizer_syscall_pre_impl_recvmmsg@Base 14 + __sanitizer_syscall_pre_impl_recvmsg@Base 14 + __sanitizer_syscall_pre_impl_remap_file_pages@Base 14 + __sanitizer_syscall_pre_impl_removexattr@Base 14 + __sanitizer_syscall_pre_impl_rename@Base 14 + __sanitizer_syscall_pre_impl_renameat@Base 14 + __sanitizer_syscall_pre_impl_request_key@Base 14 + __sanitizer_syscall_pre_impl_restart_syscall@Base 14 + __sanitizer_syscall_pre_impl_rmdir@Base 14 + __sanitizer_syscall_pre_impl_rt_sigaction@Base 14 + __sanitizer_syscall_pre_impl_rt_sigpending@Base 14 + __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 14 + __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 14 + __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 14 + __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 14 + __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 14 + __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 14 + __sanitizer_syscall_pre_impl_sched_getaffinity@Base 14 + __sanitizer_syscall_pre_impl_sched_getparam@Base 14 + __sanitizer_syscall_pre_impl_sched_getscheduler@Base 14 + __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 14 + __sanitizer_syscall_pre_impl_sched_setaffinity@Base 14 + __sanitizer_syscall_pre_impl_sched_setparam@Base 14 + __sanitizer_syscall_pre_impl_sched_setscheduler@Base 14 + __sanitizer_syscall_pre_impl_sched_yield@Base 14 + __sanitizer_syscall_pre_impl_select@Base 14 + __sanitizer_syscall_pre_impl_semctl@Base 14 + __sanitizer_syscall_pre_impl_semget@Base 14 + __sanitizer_syscall_pre_impl_semop@Base 14 + __sanitizer_syscall_pre_impl_semtimedop@Base 14 + __sanitizer_syscall_pre_impl_send@Base 14 + __sanitizer_syscall_pre_impl_sendfile64@Base 14 + __sanitizer_syscall_pre_impl_sendfile@Base 14 + __sanitizer_syscall_pre_impl_sendmmsg@Base 14 + __sanitizer_syscall_pre_impl_sendmsg@Base 14 + __sanitizer_syscall_pre_impl_sendto@Base 14 + __sanitizer_syscall_pre_impl_set_mempolicy@Base 14 + __sanitizer_syscall_pre_impl_set_robust_list@Base 14 + __sanitizer_syscall_pre_impl_set_tid_address@Base 14 + __sanitizer_syscall_pre_impl_setdomainname@Base 14 + __sanitizer_syscall_pre_impl_setfsgid@Base 14 + __sanitizer_syscall_pre_impl_setfsuid@Base 14 + __sanitizer_syscall_pre_impl_setgid@Base 14 + __sanitizer_syscall_pre_impl_setgroups@Base 14 + __sanitizer_syscall_pre_impl_sethostname@Base 14 + __sanitizer_syscall_pre_impl_setitimer@Base 14 + __sanitizer_syscall_pre_impl_setns@Base 14 + __sanitizer_syscall_pre_impl_setpgid@Base 14 + __sanitizer_syscall_pre_impl_setpriority@Base 14 + __sanitizer_syscall_pre_impl_setregid@Base 14 + __sanitizer_syscall_pre_impl_setresgid@Base 14 + __sanitizer_syscall_pre_impl_setresuid@Base 14 + __sanitizer_syscall_pre_impl_setreuid@Base 14 + __sanitizer_syscall_pre_impl_setrlimit@Base 14 + __sanitizer_syscall_pre_impl_setsid@Base 14 + __sanitizer_syscall_pre_impl_setsockopt@Base 14 + __sanitizer_syscall_pre_impl_settimeofday@Base 14 + __sanitizer_syscall_pre_impl_setuid@Base 14 + __sanitizer_syscall_pre_impl_setxattr@Base 14 + __sanitizer_syscall_pre_impl_sgetmask@Base 14 + __sanitizer_syscall_pre_impl_shmat@Base 14 + __sanitizer_syscall_pre_impl_shmctl@Base 14 + __sanitizer_syscall_pre_impl_shmdt@Base 14 + __sanitizer_syscall_pre_impl_shmget@Base 14 + __sanitizer_syscall_pre_impl_shutdown@Base 14 + __sanitizer_syscall_pre_impl_sigaction@Base 14 + __sanitizer_syscall_pre_impl_sigaltstack@Base 14 + __sanitizer_syscall_pre_impl_signal@Base 14 + __sanitizer_syscall_pre_impl_signalfd4@Base 14 + __sanitizer_syscall_pre_impl_signalfd@Base 14 + __sanitizer_syscall_pre_impl_sigpending@Base 14 + __sanitizer_syscall_pre_impl_sigprocmask@Base 14 + __sanitizer_syscall_pre_impl_socket@Base 14 + __sanitizer_syscall_pre_impl_socketcall@Base 14 + __sanitizer_syscall_pre_impl_socketpair@Base 14 + __sanitizer_syscall_pre_impl_splice@Base 14 + __sanitizer_syscall_pre_impl_spu_create@Base 14 + __sanitizer_syscall_pre_impl_spu_run@Base 14 + __sanitizer_syscall_pre_impl_ssetmask@Base 14 + __sanitizer_syscall_pre_impl_stat64@Base 14 + __sanitizer_syscall_pre_impl_stat@Base 14 + __sanitizer_syscall_pre_impl_statfs64@Base 14 + __sanitizer_syscall_pre_impl_statfs@Base 14 + __sanitizer_syscall_pre_impl_stime@Base 14 + __sanitizer_syscall_pre_impl_swapoff@Base 14 + __sanitizer_syscall_pre_impl_swapon@Base 14 + __sanitizer_syscall_pre_impl_symlink@Base 14 + __sanitizer_syscall_pre_impl_symlinkat@Base 14 + __sanitizer_syscall_pre_impl_sync@Base 14 + __sanitizer_syscall_pre_impl_syncfs@Base 14 + __sanitizer_syscall_pre_impl_sysctl@Base 14 + __sanitizer_syscall_pre_impl_sysfs@Base 14 + __sanitizer_syscall_pre_impl_sysinfo@Base 14 + __sanitizer_syscall_pre_impl_syslog@Base 14 + __sanitizer_syscall_pre_impl_tee@Base 14 + __sanitizer_syscall_pre_impl_tgkill@Base 14 + __sanitizer_syscall_pre_impl_time@Base 14 + __sanitizer_syscall_pre_impl_timer_create@Base 14 + __sanitizer_syscall_pre_impl_timer_delete@Base 14 + __sanitizer_syscall_pre_impl_timer_getoverrun@Base 14 + __sanitizer_syscall_pre_impl_timer_gettime@Base 14 + __sanitizer_syscall_pre_impl_timer_settime@Base 14 + __sanitizer_syscall_pre_impl_timerfd_create@Base 14 + __sanitizer_syscall_pre_impl_timerfd_gettime@Base 14 + __sanitizer_syscall_pre_impl_timerfd_settime@Base 14 + __sanitizer_syscall_pre_impl_times@Base 14 + __sanitizer_syscall_pre_impl_tkill@Base 14 + __sanitizer_syscall_pre_impl_truncate@Base 14 + __sanitizer_syscall_pre_impl_umask@Base 14 + __sanitizer_syscall_pre_impl_umount@Base 14 + __sanitizer_syscall_pre_impl_uname@Base 14 + __sanitizer_syscall_pre_impl_unlink@Base 14 + __sanitizer_syscall_pre_impl_unlinkat@Base 14 + __sanitizer_syscall_pre_impl_unshare@Base 14 + __sanitizer_syscall_pre_impl_uselib@Base 14 + __sanitizer_syscall_pre_impl_ustat@Base 14 + __sanitizer_syscall_pre_impl_utime@Base 14 + __sanitizer_syscall_pre_impl_utimensat@Base 14 + __sanitizer_syscall_pre_impl_utimes@Base 14 + __sanitizer_syscall_pre_impl_vfork@Base 14 + __sanitizer_syscall_pre_impl_vhangup@Base 14 + __sanitizer_syscall_pre_impl_vmsplice@Base 14 + __sanitizer_syscall_pre_impl_wait4@Base 14 + __sanitizer_syscall_pre_impl_waitid@Base 14 + __sanitizer_syscall_pre_impl_waitpid@Base 14 + __sanitizer_syscall_pre_impl_write@Base 14 + __sanitizer_syscall_pre_impl_writev@Base 14 + __sanitizer_unaligned_load16@Base 13 + __sanitizer_unaligned_load32@Base 13 + __sanitizer_unaligned_load64@Base 13 + __sanitizer_unaligned_store16@Base 13 + __sanitizer_unaligned_store32@Base 13 + __sanitizer_unaligned_store64@Base 13 + __sanitizer_valloc@Base 13 + __sigsetjmp@Base 13 + _setjmp@Base 13 + aligned_alloc@Base 13 + bcmp@Base 14 + calloc@Base 13 + cfree@Base 13 + free@Base 13 + longjmp@Base 13 + mallinfo@Base 13 + malloc@Base 13 + malloc_stats@Base 13 + malloc_usable_size@Base 13 + mallopt@Base 13 + memalign@Base 13 + memcmp@Base 14 + memcpy@Base 14 + memmove@Base 14 + memset@Base 14 + mmap@Base 14 + mprotect@Base 14 + munmap@Base 14 + posix_memalign@Base 13 + pthread_create@Base 13 + pthread_detach@Base 14 + pthread_exit@Base 14 + pthread_join@Base 13 + pthread_timedjoin_np@Base 14 + pthread_tryjoin_np@Base 14 + pvalloc@Base 13 + realloc@Base 13 + reallocarray@Base 13 + siglongjmp@Base 13 + valloc@Base 13 + vfork@Base 13 diff --git a/libitm.symbols b/libitm.symbols new file mode 100644 index 0000000..c97c8bc --- /dev/null +++ b/libitm.symbols @@ -0,0 +1,3 @@ +libitm.so.1 #PACKAGE# #MINVER# + (symver)LIBITM_1.0 4.7 + (symver)LIBITM_1.1 6 diff --git a/liblsan0.symbols b/liblsan0.symbols new file mode 100644 index 0000000..0b15bd0 --- /dev/null +++ b/liblsan0.symbols @@ -0,0 +1,249 @@ +liblsan.so.0 liblsan0 #MINVER# + _ZdaPv@Base 4.9 + _ZdaPvRKSt9nothrow_t@Base 4.9 + _ZdaPvSt11align_val_t@Base 8 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 8 + _ZdaPvm@Base 8 + _ZdaPvmSt11align_val_t@Base 8 + _ZdlPv@Base 4.9 + _ZdlPvRKSt9nothrow_t@Base 4.9 + _ZdlPvSt11align_val_t@Base 8 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 8 + _ZdlPvm@Base 8 + _ZdlPvmSt11align_val_t@Base 8 + _Znam@Base 4.9 + _ZnamRKSt9nothrow_t@Base 4.9 + _ZnamSt11align_val_t@Base 8 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 8 + _Znwm@Base 4.9 + _ZnwmRKSt9nothrow_t@Base 4.9 + _ZnwmSt11align_val_t@Base 8 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 8 + ___interceptor___libc_memalign@Base 14 + ___interceptor__exit@Base 14 + ___interceptor_aligned_alloc@Base 14 + ___interceptor_calloc@Base 14 + (arch=!riscv64)___interceptor_cfree@Base 14 + ___interceptor_free@Base 14 + ___interceptor_mallinfo@Base 14 + ___interceptor_malloc@Base 14 + ___interceptor_malloc_usable_size@Base 14 + ___interceptor_mallopt@Base 14 + ___interceptor_mcheck@Base 14 + ___interceptor_mcheck_pedantic@Base 14 + ___interceptor_memalign@Base 14 + ___interceptor_mprobe@Base 14 + ___interceptor_posix_memalign@Base 14 + ___interceptor_pthread_create@Base 14 + ___interceptor_pthread_detach@Base 14 + ___interceptor_pthread_exit@Base 14 + ___interceptor_pthread_join@Base 14 + ___interceptor_pthread_timedjoin_np@Base 14 + ___interceptor_pthread_tryjoin_np@Base 14 + ___interceptor_pvalloc@Base 14 + ___interceptor_realloc@Base 14 + ___interceptor_reallocarray@Base 14 + ___interceptor_sigaction@Base 14 + ___interceptor_signal@Base 14 + ___interceptor_strerror@Base 14 + ___interceptor_valloc@Base 14 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_syminfo_to_full_callback@Base 11 + __asan_backtrace_syminfo_to_full_error_callback@Base 11 + __asan_backtrace_uncompress_lzma@Base 11 + __asan_backtrace_uncompress_zdebug@Base 8 + __asan_backtrace_uncompress_zstd@Base 13 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __interceptor___libc_memalign@Base 4.9 + __interceptor__exit@Base 8 + __interceptor_aligned_alloc@Base 5 + __interceptor_calloc@Base 4.9 + (arch=!riscv64)__interceptor_cfree@Base 4.9 + __interceptor_free@Base 4.9 + __interceptor_mallinfo@Base 4.9 + __interceptor_malloc@Base 4.9 + __interceptor_malloc_usable_size@Base 4.9 + __interceptor_mallopt@Base 4.9 + __interceptor_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __interceptor_memalign@Base 4.9 + __interceptor_mprobe@Base 8 + __interceptor_posix_memalign@Base 4.9 + __interceptor_pthread_create@Base 4.9 + __interceptor_pthread_detach@Base 14 + __interceptor_pthread_exit@Base 14 + __interceptor_pthread_join@Base 4.9 + __interceptor_pthread_timedjoin_np@Base 14 + __interceptor_pthread_tryjoin_np@Base 14 + __interceptor_pvalloc@Base 4.9 + __interceptor_realloc@Base 4.9 + __interceptor_reallocarray@Base 10 + __interceptor_sigaction@Base 8 + __interceptor_signal@Base 8 + __interceptor_strerror@Base 10 + __interceptor_trampoline___libc_memalign@Base 14 + __interceptor_trampoline__exit@Base 14 + __interceptor_trampoline_aligned_alloc@Base 14 + __interceptor_trampoline_calloc@Base 14 + (arch=!riscv64)__interceptor_trampoline_cfree@Base 14 + __interceptor_trampoline_free@Base 14 + __interceptor_trampoline_mallinfo@Base 14 + __interceptor_trampoline_malloc@Base 14 + __interceptor_trampoline_malloc_usable_size@Base 14 + __interceptor_trampoline_mallopt@Base 14 + __interceptor_trampoline_mcheck@Base 14 + __interceptor_trampoline_mcheck_pedantic@Base 14 + __interceptor_trampoline_memalign@Base 14 + __interceptor_trampoline_mprobe@Base 14 + __interceptor_trampoline_posix_memalign@Base 14 + __interceptor_trampoline_pthread_create@Base 14 + __interceptor_trampoline_pthread_detach@Base 14 + __interceptor_trampoline_pthread_exit@Base 14 + __interceptor_trampoline_pthread_join@Base 14 + __interceptor_trampoline_pthread_timedjoin_np@Base 14 + __interceptor_trampoline_pthread_tryjoin_np@Base 14 + __interceptor_trampoline_pvalloc@Base 14 + __interceptor_trampoline_realloc@Base 14 + __interceptor_trampoline_reallocarray@Base 14 + __interceptor_trampoline_sigaction@Base 14 + __interceptor_trampoline_signal@Base 14 + __interceptor_trampoline_strerror@Base 14 + __interceptor_trampoline_valloc@Base 14 + __interceptor_valloc@Base 4.9 + __libc_memalign@Base 4.9 + __lsan_default_options@Base 11 + __lsan_disable@Base 4.9 + __lsan_do_leak_check@Base 4.9 + __lsan_do_recoverable_leak_check@Base 6 + __lsan_enable@Base 4.9 + __lsan_ignore_object@Base 4.9 + __lsan_init@Base 8 + __lsan_register_root_region@Base 5 + __lsan_unregister_root_region@Base 5 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_acquire_crash_state@Base 9 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_bool_flag_init@Base 11 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_load16@Base 13 + __sanitizer_cov_load1@Base 13 + __sanitizer_cov_load2@Base 13 + __sanitizer_cov_load4@Base 13 + __sanitizer_cov_load8@Base 13 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __sanitizer_cov_store16@Base 13 + __sanitizer_cov_store1@Base 13 + __sanitizer_cov_store2@Base 13 + __sanitizer_cov_store4@Base 13 + __sanitizer_cov_store8@Base 13 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6 + __sanitizer_cov_trace_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_free_hook@Base 13 + __sanitizer_get_allocated_begin@Base 14 + __sanitizer_get_allocated_size@Base 5 + __sanitizer_get_allocated_size_fast@Base 14 + __sanitizer_get_current_allocated_bytes@Base 5 + __sanitizer_get_estimated_allocated_size@Base 5 + __sanitizer_get_free_bytes@Base 5 + __sanitizer_get_heap_size@Base 5 + __sanitizer_get_module_and_offset_for_pc@Base 8 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_report_path@Base 12 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_internal_memcpy@Base 14 + __sanitizer_internal_memmove@Base 14 + __sanitizer_internal_memset@Base 14 + __sanitizer_malloc_hook@Base 13 + __sanitizer_on_print@Base 10 + __sanitizer_print_stack_trace@Base 5 + __sanitizer_purge_allocator@Base 14 + __sanitizer_report_error_summary@Base 4.9 + __sanitizer_sandbox_on_notify@Base 4.9 + __sanitizer_set_death_callback@Base 6 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.9 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + _exit@Base 8 + aligned_alloc@Base 5 + calloc@Base 4.9 + (arch=!riscv64)cfree@Base 4.9 + free@Base 4.9 + mallinfo@Base 4.9 + malloc@Base 4.9 + malloc_usable_size@Base 4.9 + mallopt@Base 4.9 + mcheck@Base 8 + mcheck_pedantic@Base 8 + memalign@Base 4.9 + mprobe@Base 8 + posix_memalign@Base 4.9 + pthread_create@Base 4.9 + pthread_detach@Base 14 + pthread_exit@Base 14 + pthread_join@Base 4.9 + pthread_timedjoin_np@Base 14 + pthread_tryjoin_np@Base 14 + pvalloc@Base 4.9 + realloc@Base 4.9 + reallocarray@Base 10 + sigaction@Base 8 + signal@Base 8 + strerror@Base 10 + valloc@Base 4.9 diff --git a/libobjc.symbols b/libobjc.symbols new file mode 100644 index 0000000..5b1ed43 --- /dev/null +++ b/libobjc.symbols @@ -0,0 +1,9 @@ +libobjc.so.4 #PACKAGE# #MINVER# +#include "libobjc.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 + (arch=armel armhf)__objc_exception_class@Base 4.3.0 +libobjc_gc.so.4 #PACKAGE# #MINVER# +#include "libobjc.symbols.common" +(optional)#include "libobjc.symbols.gc" + __gnu_objc_personality_v0@Base 4.2.1 + (arch=armel armhf)__objc_exception_class@Base 4.3.0 diff --git a/libobjc.symbols.common b/libobjc.symbols.common new file mode 100644 index 0000000..2ec5ecc --- /dev/null +++ b/libobjc.symbols.common @@ -0,0 +1,205 @@ + __objc_accessors_init@Base 4.6 + __objc_add_class_to_hash@Base 4.2.1 + __objc_class_links_resolved@Base 4.2.1 + __objc_class_name_NXConstantString@Base 4.2.1 + __objc_class_name_Object@Base 4.2.1 + __objc_class_name_Protocol@Base 4.2.1 + __objc_dangling_categories@Base 4.2.1 + __objc_exec_class@Base 4.2.1 + __objc_force_linking@Base 4.2.1 + __objc_generate_gc_type_description@Base 4.2.1 + __objc_get_forward_imp@Base 4.2.1 + __objc_init_class@Base 4.6 + __objc_init_class_tables@Base 4.2.1 + __objc_init_dispatch_tables@Base 4.2.1 + __objc_init_selector_tables@Base 4.2.1 + __objc_init_thread_system@Base 4.2.1 + __objc_install_premature_dtable@Base 4.2.1 + __objc_is_multi_threaded@Base 4.2.1 + __objc_linking@Base 4.2.1 + __objc_msg_forward@Base 4.2.1 + __objc_msg_forward2@Base 4.3 + __objc_print_dtable_stats@Base 4.2.1 + __objc_protocols_add_protocol@Base 4.6 + __objc_protocols_init@Base 4.6 + __objc_register_instance_methods_to_class@Base 4.2.1 + __objc_register_selectors_from_class@Base 4.2.1 + __objc_register_selectors_from_description_list@Base 4.6 + __objc_register_selectors_from_list@Base 4.2.1 + __objc_register_selectors_from_module@Base 4.6 + __objc_resolve_class_links@Base 4.2.1 + __objc_responds_to@Base 4.2.1 + __objc_runtime_mutex@Base 4.2.1 + __objc_runtime_threads_alive@Base 4.2.1 + __objc_selector_max_index@Base 4.2.1 + __objc_sparse2_id@Base 4.2.1 + __objc_sync_init@Base 4.6 + __objc_thread_exit_status@Base 4.2.1 + __objc_uninstalled_dtable@Base 4.2.1 + __objc_update_classes_with_methods@Base 4.6 + __objc_update_dispatch_table_for_class@Base 4.2.1 + _objc_abort@Base 4.6 + _objc_became_multi_threaded@Base 4.2.1 + _objc_load_callback@Base 4.2.1 + _objc_lookup_class@Base 4.6 + class_addIvar@Base 4.6 + class_addMethod@Base 4.6 + class_addProtocol@Base 4.6 + class_add_method_list@Base 4.2.1 + class_conformsToProtocol@Base 4.6 + class_copyIvarList@Base 4.6 + class_copyMethodList@Base 4.6 + class_copyPropertyList@Base 4.6 + class_copyProtocolList@Base 4.6 + class_createInstance@Base 4.6 + class_getClassMethod@Base 4.6 + class_getClassVariable@Base 4.6 + class_getInstanceMethod@Base 4.6 + class_getInstanceSize@Base 4.6 + class_getInstanceVariable@Base 4.6 + class_getIvarLayout@Base 4.6 + class_getMethodImplementation@Base 4.6 + class_getName@Base 4.6 + class_getProperty@Base 4.6 + class_getSuperclass@Base 4.6 + class_getVersion@Base 4.6 + class_getWeakIvarLayout@Base 4.6 + class_isMetaClass@Base 4.6 + class_ivar_set_gcinvisible@Base 4.2.1 + class_replaceMethod@Base 4.6 + class_respondsToSelector@Base 4.6 + class_setIvarLayout@Base 4.6 + class_setVersion@Base 4.6 + class_setWeakIvarLayout@Base 4.6 + get_imp@Base 4.2.1 + idxsize@Base 4.2.1 + ivar_getName@Base 4.6 + ivar_getOffset@Base 4.6 + ivar_getTypeEncoding@Base 4.6 + method_copyArgumentType@Base 4.6 + method_copyReturnType@Base 4.6 + method_exchangeImplementations@Base 4.6 + method_getArgumentType@Base 4.6 + method_getDescription@Base 4.6 + method_getImplementation@Base 4.6 + method_getName@Base 4.6 + method_getNumberOfArguments@Base 4.6 + method_getReturnType@Base 4.6 + method_getTypeEncoding@Base 4.6 + method_get_imp@Base 4.6 + method_setImplementation@Base 4.6 + narrays@Base 4.2.1 + nbuckets@Base 4.2.1 + nil_method@Base 4.2.1 + nindices@Base 4.2.1 + objc_aligned_size@Base 4.2.1 + objc_alignof_type@Base 4.2.1 + objc_allocateClassPair@Base 4.6 + objc_atomic_malloc@Base 4.2.1 + objc_calloc@Base 4.2.1 + objc_condition_allocate@Base 4.2.1 + objc_condition_broadcast@Base 4.2.1 + objc_condition_deallocate@Base 4.2.1 + objc_condition_signal@Base 4.2.1 + objc_condition_wait@Base 4.2.1 + objc_copyProtocolList@Base 4.6 + objc_copyStruct@Base 4.6 + objc_disposeClassPair@Base 4.6 + objc_enumerationMutation@Base 4.6 + objc_exception_throw@Base 4.2.1 + objc_free@Base 4.2.1 + objc_getClass@Base 4.6 + objc_getClassList@Base 4.6 + objc_getMetaClass@Base 4.6 + objc_getProperty@Base 4.6 + objc_getPropertyStruct@Base 4.6 + objc_getProtocol@Base 4.6 + objc_getRequiredClass@Base 4.6 + objc_get_class@Base 4.2.1 + objc_get_meta_class@Base 4.2.1 + objc_get_type_qualifiers@Base 4.2.1 + objc_hash_add@Base 4.2.1 + objc_hash_delete@Base 4.2.1 + objc_hash_is_key_in_hash@Base 4.2.1 + objc_hash_new@Base 4.2.1 + objc_hash_next@Base 4.2.1 + objc_hash_remove@Base 4.2.1 + objc_hash_value_for_key@Base 4.2.1 + objc_layout_finish_structure@Base 4.2.1 + objc_layout_structure@Base 4.2.1 + objc_layout_structure_get_info@Base 4.2.1 + objc_layout_structure_next_member@Base 4.2.1 + objc_lookUpClass@Base 4.6 + objc_lookup_class@Base 4.2.1 + objc_malloc@Base 4.2.1 + objc_msg_lookup@Base 4.2.1 + objc_msg_lookup_super@Base 4.2.1 + objc_mutex_allocate@Base 4.2.1 + objc_mutex_deallocate@Base 4.2.1 + objc_mutex_lock@Base 4.2.1 + objc_mutex_trylock@Base 4.2.1 + objc_mutex_unlock@Base 4.2.1 + objc_promoted_size@Base 4.2.1 + objc_realloc@Base 4.2.1 + objc_registerClassPair@Base 4.6 + objc_setEnumerationMutationHandler@Base 4.6 + objc_setExceptionMatcher@Base 4.6 + objc_setGetUnknownClassHandler@Base 4.6 + objc_setProperty@Base 4.6 + objc_setPropertyStruct@Base 4.6 + objc_setUncaughtExceptionHandler@Base 4.6 + objc_set_thread_callback@Base 4.2.1 + objc_sizeof_type@Base 4.2.1 + objc_skip_argspec@Base 4.2.1 + objc_skip_offset@Base 4.2.1 + objc_skip_type_qualifiers@Base 4.2.1 + objc_skip_typespec@Base 4.2.1 + objc_sync_enter@Base 4.6 + objc_sync_exit@Base 4.6 + objc_thread_add@Base 4.2.1 + objc_thread_detach@Base 4.2.1 + objc_thread_exit@Base 4.2.1 + objc_thread_get_data@Base 4.2.1 + objc_thread_get_priority@Base 4.2.1 + objc_thread_id@Base 4.2.1 + objc_thread_remove@Base 4.2.1 + objc_thread_set_data@Base 4.2.1 + objc_thread_set_priority@Base 4.2.1 + objc_thread_yield@Base 4.2.1 + object_copy@Base 4.2.1 + object_dispose@Base 4.2.1 + object_getClassName@Base 4.6 + object_getIndexedIvars@Base 4.6 + object_getInstanceVariable@Base 4.6 + object_getIvar@Base 4.6 + object_setClass@Base 4.6 + object_setInstanceVariable@Base 4.6 + object_setIvar@Base 4.6 + property_getAttributes@Base 4.6 + property_getName@Base 4.6 + protocol_conformsToProtocol@Base 4.6 + protocol_copyMethodDescriptionList@Base 4.6 + protocol_copyPropertyList@Base 4.6 + protocol_copyProtocolList@Base 4.6 + protocol_getMethodDescription@Base 4.6 + protocol_getName@Base 4.6 + protocol_getProperty@Base 4.6 + protocol_isEqual@Base 4.6 + sarray_at_put@Base 4.2.1 + sarray_at_put_safe@Base 4.2.1 + sarray_free@Base 4.2.1 + sarray_lazy_copy@Base 4.2.1 + sarray_new@Base 4.2.1 + sarray_realloc@Base 4.2.1 + sarray_remove_garbage@Base 4.2.1 + search_for_method_in_list@Base 4.2.1 + sel_copyTypedSelectorList@Base 4.6 + sel_getName@Base 4.6 + sel_getTypeEncoding@Base 4.6 + sel_getTypedSelector@Base 4.6 + sel_getUid@Base 4.6 + sel_get_any_uid@Base 4.2.1 + sel_isEqual@Base 4.6 + sel_is_mapped@Base 4.2.1 + sel_registerName@Base 4.6 + sel_registerTypedName@Base 4.6 diff --git a/libobjc.symbols.gc b/libobjc.symbols.gc new file mode 100644 index 0000000..87681af --- /dev/null +++ b/libobjc.symbols.gc @@ -0,0 +1,522 @@ + async_set_pht_entry_from_index@Base 4.2.1 + free_list_index_of@Base 4.2.1 + suspend_self@Base 4.2.1 + GC_abort@Base 6 + GC_acquire_mark_lock@Base 6 + GC_add_ext_descriptor@Base 6 + GC_add_leaked@Base 6 + GC_add_map_entry@Base 6 + GC_add_roots@Base 6 + GC_add_roots_inner@Base 6 + GC_add_smashed@Base 6 + GC_add_to_black_list_normal@Base 6 + GC_add_to_black_list_stack@Base 6 + GC_add_to_fl@Base 6 + GC_add_to_heap@Base 6 + GC_adj_words_allocd@Base 6 + GC_all_bottom_indices@Base 6 + GC_all_bottom_indices_end@Base 6 + GC_all_interior_pointers@Base 6 + GC_alloc_large@Base 6 + GC_alloc_large_and_clear@Base 6 + GC_alloc_reclaim_list@Base 6 + GC_allocate_ml@Base 6 + GC_allochblk@Base 6 + GC_allochblk_nth@Base 6 + GC_allocobj@Base 6 + GC_aobjfreelist_ptr@Base 6 + GC_apply_to_all_blocks@Base 6 + GC_apply_to_maps@Base 6 + GC_approx_sp@Base 6 + GC_arobjfreelist@Base 6 + GC_array_kind@Base 6 + GC_array_mark_proc@Base 6 + GC_array_mark_proc_index@Base 6 + GC_arrays@Base 6 + GC_auobjfreelist_ptr@Base 6 + GC_avail_descr@Base 6 + GC_base@Base 6 + GC_begin_syscall@Base 6 + GC_bl_init@Base 6 + GC_black_list_spacing@Base 6 + GC_block_count@Base 6 + GC_block_empty@Base 6 + GC_block_nearly_full1@Base 6 + GC_block_nearly_full3@Base 6 + GC_block_nearly_full@Base 6 + GC_block_was_dirty@Base 6 + GC_bm_table@Base 6 + GC_brief_async_signal_safe_sleep@Base 6 + GC_build_fl1@Base 6 + GC_build_fl2@Base 6 + GC_build_fl4@Base 6 + GC_build_fl@Base 6 + GC_build_fl_clear2@Base 6 + GC_build_fl_clear3@Base 6 + GC_build_fl_clear4@Base 6 + GC_call_with_alloc_lock@Base 6 + GC_calloc_explicitly_typed@Base 6 + GC_change_stubborn@Base 6 + GC_check_annotated_obj@Base 6 + GC_check_heap@Base 6 + GC_check_heap_block@Base 6 + GC_check_heap_proc@Base 6 + GC_clear_a_few_frames@Base 6 + GC_clear_bl@Base 6 + GC_clear_fl_links@Base 6 + GC_clear_fl_marks@Base 6 + GC_clear_hdr_marks@Base 6 + GC_clear_mark_bit@Base 6 + GC_clear_marks@Base 6 + GC_clear_roots@Base 6 + GC_clear_stack@Base 6 + GC_clear_stack_inner@Base 6 + GC_collect_a_little@Base 6 + GC_collect_a_little_inner@Base 6 + GC_collect_or_expand@Base 6 + GC_collecting@Base 6 + GC_collection_in_progress@Base 6 + GC_cond_register_dynamic_libraries@Base 6 + GC_continue_reclaim@Base 6 + GC_copy_bl@Base 6 + GC_copyright@Base 6 + GC_current_warn_proc@Base 6 + GC_data_start@Base 6 + GC_debug_change_stubborn@Base 6 + GC_debug_end_stubborn_change@Base 6 + GC_debug_free@Base 6 + GC_debug_free_inner@Base 6 + GC_debug_gcj_fast_malloc@Base 6 + GC_debug_gcj_malloc@Base 6 + GC_debug_header_size@Base 6 + GC_debug_invoke_finalizer@Base 6 + GC_debug_malloc@Base 6 + GC_debug_malloc_atomic@Base 6 + GC_debug_malloc_atomic_ignore_off_page@Base 6 + GC_debug_malloc_atomic_uncollectable@Base 6 + GC_debug_malloc_ignore_off_page@Base 6 + GC_debug_malloc_replacement@Base 6 + GC_debug_malloc_stubborn@Base 6 + GC_debug_malloc_uncollectable@Base 6 + GC_debug_print_heap_obj_proc@Base 6 + GC_debug_realloc@Base 6 + GC_debug_realloc_replacement@Base 6 + GC_debug_register_displacement@Base 6 + GC_debug_register_finalizer@Base 6 + GC_debug_register_finalizer_ignore_self@Base 6 + GC_debug_register_finalizer_no_order@Base 6 + GC_debug_register_finalizer_unreachable@Base 6 + GC_debugging_started@Base 6 + GC_default_is_valid_displacement_print_proc@Base 6 + GC_default_is_visible_print_proc@Base 6 + GC_default_oom_fn@Base 6 + GC_default_print_heap_obj_proc@Base 6 + GC_default_push_other_roots@Base 6 + GC_default_same_obj_print_proc@Base 6 + GC_default_warn_proc@Base 6 + GC_deficit@Base 6 + GC_delete_gc_thread@Base 6 + GC_delete_thread@Base 6 + GC_descr_obj_size@Base 6 + GC_destroy_thread_local@Base 6 + GC_dirty_init@Base 6 + GC_dirty_maintained@Base 6 + GC_disable@Base 6 + GC_disable_signals@Base 6 + GC_dl_entries@Base 6 + GC_dlopen@Base 6 + GC_do_nothing@Base 6 + GC_dont_expand@Base 6 + GC_dont_gc@Base 6 + GC_dont_precollect@Base 6 + GC_double_descr@Base 6 + GC_dump@Base 6 + GC_dump_finalization@Base 6 + GC_dump_regions@Base 6 + GC_dump_regularly@Base 6 + GC_ed_size@Base 6 + GC_enable@Base 6 + GC_enable_incremental@Base 6 + GC_enable_signals@Base 6 + GC_end_blocking@Base 6 + GC_end_stubborn_change@Base 6 + GC_end_syscall@Base 6 + GC_enqueue_all_finalizers@Base 6 + GC_eobjfreelist@Base 6 + GC_err_printf@Base 6 + GC_err_puts@Base 6 + GC_err_write@Base 6 + GC_excl_table_entries@Base 6 + GC_exclude_static_roots@Base 6 + GC_exit_check@Base 6 + GC_expand_hp@Base 6 + GC_expand_hp_inner@Base 6 + GC_explicit_kind@Base 6 + GC_explicit_typing_initialized@Base 6 + GC_ext_descriptors@Base 6 + GC_extend_size_map@Base 6 + GC_fail_count@Base 6 + GC_fault_handler@Base 6 + GC_finalization_failures@Base 6 + GC_finalize@Base 6 + GC_finalize_all@Base 6 + GC_finalize_now@Base 6 + GC_finalize_on_demand@Base 6 + GC_finalizer_notifier@Base 6 + GC_find_header@Base 6 + GC_find_leak@Base 6 + GC_find_limit@Base 6 + GC_find_start@Base 6 + GC_finish_collection@Base 6 + GC_fl_builder_count@Base 6 + GC_fo_entries@Base 6 + GC_free@Base 6 + GC_free_block_ending_at@Base 6 + GC_free_bytes@Base 6 + GC_free_inner@Base 6 + GC_free_space_divisor@Base 6 + GC_freehblk@Base 6 + GC_freehblk_ptr@Base 6 + GC_full_freq@Base 6 + GC_gc_no@Base 6 + GC_gcj_debug_kind@Base 6 + GC_gcj_fast_malloc@Base 6 + GC_gcj_kind@Base 6 + GC_gcj_malloc@Base 6 + GC_gcj_malloc_ignore_off_page@Base 6 + GC_gcj_malloc_initialized@Base 6 + GC_gcjdebugobjfreelist@Base 6 + GC_gcjobjfreelist@Base 6 + GC_gcollect@Base 6 + GC_general_register_disappearing_link@Base 6 + GC_generic_lock@Base 6 + GC_generic_malloc@Base 6 + GC_generic_malloc_ignore_off_page@Base 6 + GC_generic_malloc_inner@Base 6 + GC_generic_malloc_inner_ignore_off_page@Base 6 + GC_generic_malloc_many@Base 6 + GC_generic_malloc_words_small@Base 6 + GC_generic_malloc_words_small_inner@Base 6 + GC_generic_or_special_malloc@Base 6 + GC_generic_push_regs@Base 6 + GC_get_bytes_since_gc@Base 6 + GC_get_first_part@Base 6 + GC_get_free_bytes@Base 6 + GC_get_heap_size@Base 6 + GC_get_nprocs@Base 6 + GC_get_stack_base@Base 6 + GC_get_thread_stack_base@Base 6 + GC_get_total_bytes@Base 6 + GC_greatest_plausible_heap_addr@Base 6 + GC_grow_table@Base 6 + GC_has_other_debug_info@Base 6 + GC_have_errors@Base 6 + GC_hblk_fl_from_blocks@Base 6 + GC_hblkfreelist@Base 6 + GC_hdr_cache_hits@Base 6 + GC_hdr_cache_misses@Base 6 + GC_high_water@Base 6 + GC_ignore_self_finalize_mark_proc@Base 6 + GC_in_thread_creation@Base 6 + GC_incomplete_normal_bl@Base 6 + GC_incomplete_stack_bl@Base 6 + GC_incr_mem_freed@Base 6 + GC_incr_words_allocd@Base 6 + GC_incremental@Base 6 + GC_incremental_protection_needs@Base 6 + GC_init@Base 6 + GC_init_explicit_typing@Base 6 + GC_init_gcj_malloc@Base 6 + GC_init_headers@Base 6 + GC_init_inner@Base 6 + GC_init_linux_data_start@Base 6 + GC_init_parallel@Base 6 + GC_init_size_map@Base 6 + GC_init_thread_local@Base 6 + GC_initiate_gc@Base 6 + GC_install_counts@Base 6 + GC_install_header@Base 6 + GC_invalid_header@Base 6 + GC_invalid_map@Base 6 + GC_invalidate_map@Base 6 + GC_invalidate_mark_state@Base 6 + GC_invoke_finalizers@Base 6 + GC_is_black_listed@Base 6 + GC_is_fresh@Base 6 + GC_is_full_gc@Base 6 + GC_is_initialized@Base 6 + GC_is_marked@Base 6 + GC_is_static_root@Base 6 + GC_is_thread_suspended@Base 6 + GC_is_valid_displacement@Base 6 + GC_is_valid_displacement_print_proc@Base 6 + GC_is_visible@Base 6 + GC_is_visible_print_proc@Base 6 + GC_java_finalization@Base 6 + GC_jmp_buf@Base 6 + GC_key_create@Base 6 + GC_large_alloc_warn_interval@Base 6 + GC_large_alloc_warn_suppressed@Base 6 + GC_leaked@Base 6 + GC_least_plausible_heap_addr@Base 6 + GC_linux_stack_base@Base 6 + GC_local_gcj_malloc@Base 6 + GC_local_malloc@Base 6 + GC_local_malloc_atomic@Base 6 + GC_lock@Base 6 + GC_lock_holder@Base 6 + GC_lookup_thread@Base 6 + GC_make_array_descriptor@Base 6 + GC_make_closure@Base 6 + GC_make_descriptor@Base 6 + GC_make_sequence_descriptor@Base 6 + GC_malloc@Base 6 + GC_malloc_atomic@Base 6 + GC_malloc_atomic_ignore_off_page@Base 6 + GC_malloc_atomic_uncollectable@Base 6 + GC_malloc_explicitly_typed@Base 6 + GC_malloc_explicitly_typed_ignore_off_page@Base 6 + GC_malloc_ignore_off_page@Base 6 + GC_malloc_many@Base 6 + GC_malloc_stubborn@Base 6 + GC_malloc_uncollectable@Base 6 + GC_mark_and_push@Base 6 + GC_mark_and_push_stack@Base 6 + GC_mark_from@Base 6 + GC_mark_init@Base 6 + GC_mark_some@Base 6 + GC_mark_stack@Base 6 + GC_mark_stack_empty@Base 6 + GC_mark_stack_limit@Base 6 + GC_mark_stack_size@Base 6 + GC_mark_stack_too_small@Base 6 + GC_mark_stack_top@Base 6 + GC_mark_state@Base 6 + GC_mark_thread_local_free_lists@Base 6 + GC_max@Base 6 + GC_max_retries@Base 6 + GC_maybe_gc@Base 6 + GC_mem_found@Base 6 + GC_memalign@Base 6 + GC_min@Base 6 + GC_min_sp@Base 6 + GC_n_attempts@Base 6 + GC_n_heap_sects@Base 6 + GC_n_kinds@Base 6 + GC_n_leaked@Base 6 + GC_n_mark_procs@Base 6 + GC_n_rescuing_pages@Base 6 + GC_n_set_marks@Base 6 + GC_n_smashed@Base 6 + GC_need_full_gc@Base 6 + GC_never_stop_func@Base 6 + GC_new_free_list@Base 6 + GC_new_free_list_inner@Base 6 + GC_new_hblk@Base 6 + GC_new_kind@Base 6 + GC_new_kind_inner@Base 6 + GC_new_proc@Base 6 + GC_new_proc_inner@Base 6 + GC_new_thread@Base 6 + GC_next_exclusion@Base 6 + GC_next_used_block@Base 6 + GC_no_dls@Base 6 + GC_non_gc_bytes@Base 6 + GC_noop1@Base 6 + GC_noop@Base 6 + GC_normal_finalize_mark_proc@Base 6 + GC_notify_all_builder@Base 6 + GC_notify_full_gc@Base 6 + GC_notify_or_invoke_finalizers@Base 6 + GC_nprocs@Base 6 + GC_null_finalize_mark_proc@Base 6 + GC_number_stack_black_listed@Base 6 + GC_obj_kinds@Base 6 + GC_objects_are_marked@Base 6 + GC_objfreelist_ptr@Base 6 + GC_old_bus_handler@Base 6 + GC_old_normal_bl@Base 6 + GC_old_segv_handler@Base 6 + GC_old_stack_bl@Base 6 + GC_on_stack@Base 6 + GC_oom_fn@Base 6 + GC_page_size@Base 6 + GC_page_was_dirty@Base 6 + GC_page_was_ever_dirty@Base 6 + GC_parallel@Base 6 + GC_pause@Base 6 + GC_post_incr@Base 6 + GC_pre_incr@Base 6 + GC_prev_block@Base 6 + GC_print_address_map@Base 6 + GC_print_all_errors@Base 6 + GC_print_all_smashed@Base 6 + GC_print_all_smashed_proc@Base 6 + GC_print_back_height@Base 6 + GC_print_block_descr@Base 6 + GC_print_block_list@Base 6 + GC_print_finalization_stats@Base 6 + GC_print_hblkfreelist@Base 6 + GC_print_heap_obj@Base 6 + GC_print_heap_sects@Base 6 + GC_print_obj@Base 6 + GC_print_smashed_obj@Base 6 + GC_print_source_ptr@Base 6 + GC_print_static_roots@Base 6 + GC_print_stats@Base 6 + GC_print_type@Base 6 + GC_printf@Base 6 + GC_project2@Base 6 + GC_promote_black_lists@Base 6 + GC_protect_heap@Base 6 + GC_pthread_create@Base 6 + GC_pthread_detach@Base 6 + GC_pthread_join@Base 6 + GC_pthread_sigmask@Base 6 + GC_push_all@Base 6 + GC_push_all_eager@Base 6 + GC_push_all_stack@Base 6 + GC_push_all_stacks@Base 6 + GC_push_complex_descriptor@Base 6 + GC_push_conditional@Base 6 + GC_push_conditional_with_exclusions@Base 6 + GC_push_current_stack@Base 6 + GC_push_finalizer_structures@Base 6 + GC_push_gc_structures@Base 6 + GC_push_marked1@Base 6 + GC_push_marked2@Base 6 + GC_push_marked4@Base 6 + GC_push_marked@Base 6 + GC_push_next_marked@Base 6 + GC_push_next_marked_dirty@Base 6 + GC_push_next_marked_uncollectable@Base 6 + GC_push_one@Base 6 + GC_push_other_roots@Base 6 + GC_push_roots@Base 6 + GC_push_selected@Base 6 + GC_push_stubborn_structures@Base 6 + GC_push_thread_structures@Base 6 + GC_quiet@Base 6 + GC_read_dirty@Base 6 + GC_realloc@Base 6 + GC_reclaim1@Base 6 + GC_reclaim_all@Base 6 + GC_reclaim_block@Base 6 + GC_reclaim_check@Base 6 + GC_reclaim_clear2@Base 6 + GC_reclaim_clear4@Base 6 + GC_reclaim_clear@Base 6 + GC_reclaim_generic@Base 6 + GC_reclaim_small_nonempty_block@Base 6 + GC_reclaim_uninit2@Base 6 + GC_reclaim_uninit4@Base 6 + GC_reclaim_uninit@Base 6 + GC_register_data_segments@Base 6 + GC_register_describe_type_fn@Base 6 + GC_register_disappearing_link@Base 6 + GC_register_displacement@Base 6 + GC_register_displacement_inner@Base 6 + GC_register_dynamic_libraries@Base 6 + GC_register_dynamic_libraries_dl_iterate_phdr@Base 6 + GC_register_finalizer@Base 6 + GC_register_finalizer_ignore_self@Base 6 + GC_register_finalizer_inner@Base 6 + GC_register_finalizer_no_order@Base 6 + GC_register_finalizer_unreachable@Base 6 + GC_register_has_static_roots_callback@Base 6 + GC_register_main_static_data@Base 6 + GC_register_my_thread@Base 6 + GC_release_mark_lock@Base 6 + GC_remove_allowed_signals@Base 6 + GC_remove_counts@Base 6 + GC_remove_from_fl@Base 6 + GC_remove_header@Base 6 + GC_remove_protection@Base 6 + GC_remove_roots@Base 6 + GC_remove_roots_inner@Base 6 + GC_remove_specific@Base 6 + GC_remove_tmp_roots@Base 6 + GC_repeat_read@Base 6 + GC_reset_fault_handler@Base 6 + GC_restart_handler@Base 6 + GC_resume_thread@Base 6 + GC_retry_signals@Base 6 + GC_root_size@Base 6 + GC_roots_present@Base 6 + GC_same_obj@Base 6 + GC_same_obj_print_proc@Base 6 + GC_scratch_alloc@Base 6 + GC_set_and_save_fault_handler@Base 6 + GC_set_fl_marks@Base 6 + GC_set_free_space_divisor@Base 6 + GC_set_hdr_marks@Base 6 + GC_set_mark_bit@Base 6 + GC_set_max_heap_size@Base 6 + GC_set_warn_proc@Base 6 + GC_setpagesize@Base 6 + GC_setspecific@Base 6 + GC_setup_temporary_fault_handler@Base 6 + GC_should_collect@Base 6 + GC_should_invoke_finalizers@Base 6 + GC_signal_mark_stack_overflow@Base 6 + GC_size@Base 6 + GC_sleep@Base 6 + GC_slow_getspecific@Base 6 + GC_smashed@Base 6 + GC_spin_count@Base 6 + GC_split_block@Base 6 + GC_stack_last_cleared@Base 6 + GC_stackbottom@Base 6 + GC_start_blocking@Base 6 + GC_start_call_back@Base 6 + GC_start_debugging@Base 6 + GC_start_reclaim@Base 6 + GC_start_routine@Base 6 + GC_start_time@Base 6 + GC_start_world@Base 6 + GC_stderr@Base 6 + GC_stdout@Base 6 + GC_stop_count@Base 6 + GC_stop_init@Base 6 + GC_stop_world@Base 6 + GC_stopped_mark@Base 6 + GC_stopping_pid@Base 6 + GC_stopping_thread@Base 6 + GC_store_debug_info@Base 6 + GC_suspend_ack_sem@Base 6 + GC_suspend_all@Base 6 + GC_suspend_handler@Base 6 + GC_suspend_handler_inner@Base 6 + GC_suspend_thread@Base 6 + GC_thr_init@Base 6 + GC_thr_initialized@Base 6 + GC_thread_exit_proc@Base 6 + GC_thread_key@Base 6 + GC_threads@Base 6 + GC_time_limit@Base 6 + GC_timeout_stop_func@Base 6 + GC_total_stack_black_listed@Base 6 + GC_try_to_collect@Base 6 + GC_try_to_collect_inner@Base 6 + GC_typed_mark_proc@Base 6 + GC_typed_mark_proc_index@Base 6 + GC_unix_get_mem@Base 6 + GC_unlocked_count@Base 6 + GC_unpromote_black_lists@Base 6 + GC_unprotect_range@Base 6 + GC_unreachable_finalize_mark_proc@Base 6 + GC_unregister_disappearing_link@Base 6 + GC_unregister_my_thread@Base 6 + GC_uobjfreelist_ptr@Base 6 + GC_use_entire_heap@Base 6 + GC_used_heap_size_after_full@Base 6 + GC_version@Base 6 + GC_wait_builder@Base 6 + GC_wait_for_gc_completion@Base 6 + GC_wait_for_reclaim@Base 6 + GC_with_callee_saves_pushed@Base 6 + GC_words_allocd_at_reset@Base 6 + GC_world_is_stopped@Base 6 + GC_world_stopped@Base 6 + GC_write@Base 6 + GC_write_fault_handler@Base 6 diff --git a/libquadmath.symbols b/libquadmath.symbols new file mode 100644 index 0000000..cd8ce65 --- /dev/null +++ b/libquadmath.symbols @@ -0,0 +1,4 @@ +libquadmath.so.0 #PACKAGE# #MINVER# + (symver)QUADMATH_1.0 4.6 + (symver)QUADMATH_1.1 6 + (symver)QUADMATH_1.2 9 diff --git a/libstdc++-BV-doc.doc-base b/libstdc++-BV-doc.doc-base new file mode 100644 index 0000000..c5fd048 --- /dev/null +++ b/libstdc++-BV-doc.doc-base @@ -0,0 +1,13 @@ +Document: libstdc++-@BV@-doc +Title: The GNU Standard C++ Library v3 (gcc-@BV@) +Author: Various +Abstract: This package contains documentation files for the GNU stdc++ library. + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +Section: Programming/C++ + +Format: html +Index: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/index.html +Files: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/* diff --git a/libstdc++-BV-doc.overrides b/libstdc++-BV-doc.overrides new file mode 100644 index 0000000..9685ae8 --- /dev/null +++ b/libstdc++-BV-doc.overrides @@ -0,0 +1,8 @@ +libstdc++-@BV@-doc binary: manpage-has-bad-whatis-entry + +# 3xx used by intent to avoid conficts +libstdc++-@BV@-doc binary: manpage-section-mismatch + +# some very long identifiers +# doxygen accepts formulas in man pages ... +libstdc++-@BV@-doc binary: groff-message diff --git a/libstdc++.symbols b/libstdc++.symbols new file mode 100644 index 0000000..9bfb4c4 --- /dev/null +++ b/libstdc++.symbols @@ -0,0 +1,65 @@ +libstdc++.so.6 #PACKAGE# #MINVER# + (symver)CXXABI_1.3 4.1.1 + (symver)CXXABI_1.3.1 4.1.1 + (symver)CXXABI_1.3.2 4.3 + (symver)CXXABI_1.3.3 4.3 + (symver)CXXABI_1.3.4 4.3 + (symver)CXXABI_1.3.5 4.3 + (symver)CXXABI_1.3.6 4.3 + (symver)CXXABI_1.3.7 4.3 + (symver)CXXABI_1.3.8 4.3 + (symver)CXXABI_1.3.9 5 + (symver)CXXABI_1.3.10 6 + (symver)CXXABI_1.3.11 10.2 + (symver)CXXABI_1.3.12 9 + (symver)CXXABI_1.3.13 11 + (symver)CXXABI_1.3.14 13 + (symver)CXXABI_1.3.15 14 + (symver|arch=armel armhf)CXXABI_ARM_1.3.3 4.4 + (symver|arch=amd64 i386 x32)CXXABI_FLOAT128 5 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)CXXABI_LDBL_1.3 4.2.1 + (symver|arch=ppc64el)CXXABI_IEEE128_1.3.13 11 + (symver)CXXABI_TM_1 4.7 + (symver)GLIBCXX_3.4 4.1.1 + (symver)GLIBCXX_3.4.1 4.1.1 + (symver)GLIBCXX_3.4.2 4.1.1 + (symver)GLIBCXX_3.4.3 4.1.1 + (symver)GLIBCXX_3.4.4 4.1.1 + (symver)GLIBCXX_3.4.5 4.1.1 + (symver)GLIBCXX_3.4.6 4.1.1 + (symver)GLIBCXX_3.4.7 4.1.1 + (symver)GLIBCXX_3.4.8 4.1.1 + (symver)GLIBCXX_3.4.9 4.2.1 + (symver)GLIBCXX_3.4.10 4.3 + (symver)GLIBCXX_3.4.11 4.4 + (symver)GLIBCXX_3.4.12 4.4 + (symver)GLIBCXX_3.4.13 4.4.2 + (symver)GLIBCXX_3.4.14 4.5 + (symver)GLIBCXX_3.4.15 4.6 + (symver)GLIBCXX_3.4.16 4.6 + (symver)GLIBCXX_3.4.17 4.7 + (symver)GLIBCXX_3.4.18 4.8 + (symver)GLIBCXX_3.4.19 4.8 + (symver)GLIBCXX_3.4.20 4.9 + (symver)GLIBCXX_3.4.21 5.2 + (symver)GLIBCXX_3.4.22 6 + (symver)GLIBCXX_3.4.23 10.2 + (symver)GLIBCXX_3.4.24 7 + (symver)GLIBCXX_3.4.25 8 + (symver)GLIBCXX_3.4.26 9 + (symver)GLIBCXX_3.4.27 9.1 + (symver)GLIBCXX_3.4.28 10.2 + (symver)GLIBCXX_3.4.29 11 + (symver)GLIBCXX_3.4.30 12 + (symver)GLIBCXX_3.4.31 13 + (symver)GLIBCXX_3.4.32 13.1 + (symver)GLIBCXX_3.4.33 14 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4 4.2.1 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.7 4.2.1 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.10 4.3 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.21 5 + (symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.29 11 + (symver|arch=ppc64 ppc64el powerpc s390x)GLIBCXX_LDBL_3.4.31 13 + (symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.29 11 + (symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.30 12 + (symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.31 13 diff --git a/libstdc++CXX.prerm b/libstdc++CXX.prerm new file mode 100644 index 0000000..d4a6b38 --- /dev/null +++ b/libstdc++CXX.prerm @@ -0,0 +1,13 @@ +#! /bin/sh + +set -e + +case "$1" in + remove|upgrade) + files=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {$NF=sprintf("__pycache__/%s.*.py[co]", substr($NF,1,length($NF)-3)); print}') + rm -f $files + dirs=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {NF--; print}' | sort -u) + find $dirs -mindepth 1 -maxdepth 1 -name __pycache__ -type d -empty | xargs -r rmdir +esac + +#DEBHELPER# diff --git a/libtsan2.symbols b/libtsan2.symbols new file mode 100644 index 0000000..0a3836e --- /dev/null +++ b/libtsan2.symbols @@ -0,0 +1,3280 @@ +libtsan.so.2 libtsan2 #MINVER# + AnnotateBenignRace@Base 4.9 + AnnotateBenignRaceSized@Base 4.9 + AnnotateCondVarSignal@Base 4.9 + AnnotateCondVarSignalAll@Base 4.9 + AnnotateCondVarWait@Base 4.9 + AnnotateEnableRaceDetection@Base 4.9 + AnnotateExpectRace@Base 4.9 + AnnotateFlushExpectedRaces@Base 4.9 + AnnotateFlushState@Base 4.9 + AnnotateHappensAfter@Base 4.9 + AnnotateHappensBefore@Base 4.9 + AnnotateIgnoreReadsBegin@Base 4.9 + AnnotateIgnoreReadsEnd@Base 4.9 + AnnotateIgnoreSyncBegin@Base 4.9 + AnnotateIgnoreSyncEnd@Base 4.9 + AnnotateIgnoreWritesBegin@Base 4.9 + AnnotateIgnoreWritesEnd@Base 4.9 + AnnotateMemoryIsInitialized@Base 4.9 + AnnotateMemoryIsUninitialized@Base 5 + AnnotateMutexIsNotPHB@Base 4.9 + AnnotateMutexIsUsedAsCondVar@Base 4.9 + AnnotateNewMemory@Base 4.9 + AnnotateNoOp@Base 4.9 + AnnotatePCQCreate@Base 4.9 + AnnotatePCQDestroy@Base 4.9 + AnnotatePCQGet@Base 4.9 + AnnotatePCQPut@Base 4.9 + AnnotatePublishMemoryRange@Base 4.9 + AnnotateRWLockAcquired@Base 4.9 + AnnotateRWLockCreate@Base 4.9 + AnnotateRWLockCreateStatic@Base 4.9 + AnnotateRWLockDestroy@Base 4.9 + AnnotateRWLockReleased@Base 4.9 + AnnotateThreadName@Base 4.9 + AnnotateTraceMemory@Base 4.9 + AnnotateUnpublishMemoryRange@Base 4.9 + RunningOnValgrind@Base 4.9 + ThreadSanitizerQuery@Base 4.9 + ValgrindSlowdown@Base 4.9 + WTFAnnotateBenignRaceSized@Base 4.9 + WTFAnnotateHappensAfter@Base 4.9 + WTFAnnotateHappensBefore@Base 4.9 + _ZN6__tsan10OnFinalizeEb@Base 4.9 + _ZN6__tsan12OnInitializeEv@Base 5 + _ZN6__tsan30OnPotentiallyBlockingRegionEndEv@Base 10 + _ZN6__tsan32OnPotentiallyBlockingRegionBeginEv@Base 10 + _ZN6__tsan8OnReportEPKNS_10ReportDescEb@Base 4.9 + _ZdaPv@Base 4.9 + _ZdaPvRKSt9nothrow_t@Base 4.9 + _ZdaPvSt11align_val_t@Base 9 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 9 + _ZdaPvm@Base 9 + _ZdaPvmSt11align_val_t@Base 9 + _ZdlPv@Base 4.9 + _ZdlPvRKSt9nothrow_t@Base 4.9 + _ZdlPvSt11align_val_t@Base 9 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 9 + _ZdlPvm@Base 9 + _ZdlPvmSt11align_val_t@Base 9 + _Znam@Base 4.9 + _ZnamRKSt9nothrow_t@Base 4.9 + _ZnamSt11align_val_t@Base 9 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 9 + _Znwm@Base 4.9 + _ZnwmRKSt9nothrow_t@Base 4.9 + _ZnwmSt11align_val_t@Base 9 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 9 + ___interceptor___b64_ntop@Base 14 + ___interceptor___b64_pton@Base 14 + ___interceptor___bzero@Base 14 + ___interceptor___close@Base 14 + ___interceptor___cxa_atexit@Base 14 + ___interceptor___fprintf_chk@Base 14 + ___interceptor___fxstat64@Base 14 + ___interceptor___fxstat@Base 14 + ___interceptor___getdelim@Base 14 + ___interceptor___isoc23_fscanf@Base 14 + ___interceptor___isoc23_scanf@Base 14 + ___interceptor___isoc23_sscanf@Base 14 + ___interceptor___isoc23_strtoimax@Base 14 + ___interceptor___isoc23_strtoumax@Base 14 + ___interceptor___isoc23_vfscanf@Base 14 + ___interceptor___isoc23_vscanf@Base 14 + ___interceptor___isoc23_vsscanf@Base 14 + ___interceptor___isoc99_fprintf@Base 14 + ___interceptor___isoc99_fscanf@Base 14 + ___interceptor___isoc99_printf@Base 14 + ___interceptor___isoc99_scanf@Base 14 + ___interceptor___isoc99_snprintf@Base 14 + ___interceptor___isoc99_sprintf@Base 14 + ___interceptor___isoc99_sscanf@Base 14 + ___interceptor___isoc99_vfprintf@Base 14 + ___interceptor___isoc99_vfscanf@Base 14 + ___interceptor___isoc99_vprintf@Base 14 + ___interceptor___isoc99_vscanf@Base 14 + ___interceptor___isoc99_vsnprintf@Base 14 + ___interceptor___isoc99_vsprintf@Base 14 + ___interceptor___isoc99_vsscanf@Base 14 + ___interceptor___libc_memalign@Base 14 + ___interceptor___lxstat64@Base 14 + ___interceptor___lxstat@Base 14 + ___interceptor___overflow@Base 14 + ___interceptor___res_iclose@Base 14 + ___interceptor___snprintf_chk@Base 14 + ___interceptor___sprintf_chk@Base 14 + ___interceptor___strndup@Base 14 + ___interceptor___strxfrm_l@Base 14 + ___interceptor___tls_get_addr@Base 14 + ___interceptor___uflow@Base 14 + ___interceptor___underflow@Base 14 + ___interceptor___vsnprintf_chk@Base 14 + ___interceptor___vsprintf_chk@Base 14 + ___interceptor___wcsxfrm_l@Base 14 + ___interceptor___woverflow@Base 14 + ___interceptor___wuflow@Base 14 + ___interceptor___wunderflow@Base 14 + ___interceptor___xpg_strerror_r@Base 14 + ___interceptor___xstat64@Base 14 + ___interceptor___xstat@Base 14 + ___interceptor__exit@Base 14 + ___interceptor__obstack_begin@Base 14 + ___interceptor__obstack_begin_1@Base 14 + ___interceptor__obstack_newchunk@Base 14 + ___interceptor_abort@Base 14 + ___interceptor_accept4@Base 14 + ___interceptor_accept@Base 14 + ___interceptor_aligned_alloc@Base 14 + ___interceptor_argp_parse@Base 14 + ___interceptor_asctime@Base 14 + ___interceptor_asctime_r@Base 14 + ___interceptor_asprintf@Base 14 + ___interceptor_atexit@Base 14 + ___interceptor_backtrace@Base 14 + ___interceptor_backtrace_symbols@Base 14 + ___interceptor_bcmp@Base 14 + ___interceptor_bind@Base 14 + ___interceptor_bsearch@Base 14 + ___interceptor_bzero@Base 14 + ___interceptor_calloc@Base 14 + ___interceptor_canonicalize_file_name@Base 14 + ___interceptor_capget@Base 14 + ___interceptor_capset@Base 14 + ___interceptor_cfree@Base 14 + ___interceptor_clock_getcpuclockid@Base 14 + ___interceptor_clock_getres@Base 14 + ___interceptor_clock_gettime@Base 14 + ___interceptor_clock_settime@Base 14 + ___interceptor_clone@Base 14 + ___interceptor_close@Base 14 + ___interceptor_closedir@Base 14 + ___interceptor_confstr@Base 14 + ___interceptor_connect@Base 14 + ___interceptor_creat64@Base 14 + ___interceptor_creat@Base 14 + ___interceptor_ctermid@Base 14 + ___interceptor_ctime@Base 14 + ___interceptor_ctime_r@Base 14 + ___interceptor_dl_iterate_phdr@Base 14 + ___interceptor_dlclose@Base 14 + ___interceptor_dlopen@Base 14 + ___interceptor_dn_comp@Base 14 + ___interceptor_dn_expand@Base 14 + ___interceptor_drand48_r@Base 14 + ___interceptor_dup2@Base 14 + ___interceptor_dup3@Base 14 + ___interceptor_dup@Base 14 + ___interceptor_endgrent@Base 14 + ___interceptor_endpwent@Base 14 + ___interceptor_epoll_create1@Base 14 + ___interceptor_epoll_create@Base 14 + ___interceptor_epoll_ctl@Base 14 + ___interceptor_epoll_pwait2@Base 14 + ___interceptor_epoll_pwait@Base 14 + ___interceptor_epoll_wait@Base 14 + ___interceptor_ether_aton@Base 14 + ___interceptor_ether_aton_r@Base 14 + ___interceptor_ether_hostton@Base 14 + ___interceptor_ether_line@Base 14 + ___interceptor_ether_ntoa@Base 14 + ___interceptor_ether_ntoa_r@Base 14 + ___interceptor_ether_ntohost@Base 14 + ___interceptor_eventfd@Base 14 + ___interceptor_eventfd_read@Base 14 + ___interceptor_eventfd_write@Base 14 + ___interceptor_fclose@Base 14 + ___interceptor_fdopen@Base 14 + ___interceptor_fflush@Base 14 + ___interceptor_fgetgrent@Base 14 + ___interceptor_fgetgrent_r@Base 14 + ___interceptor_fgetpwent@Base 14 + ___interceptor_fgetpwent_r@Base 14 + ___interceptor_fgets@Base 14 + ___interceptor_fgetxattr@Base 14 + ___interceptor_flistxattr@Base 14 + ___interceptor_fmemopen@Base 14 + ___interceptor_fopen64@Base 14 + ___interceptor_fopen@Base 14 + ___interceptor_fopencookie@Base 14 + ___interceptor_fork@Base 14 + ___interceptor_fprintf@Base 14 + ___interceptor_fputs@Base 14 + ___interceptor_fread@Base 14 + ___interceptor_free@Base 14 + ___interceptor_freopen64@Base 14 + ___interceptor_freopen@Base 14 + ___interceptor_frexp@Base 14 + ___interceptor_frexpf@Base 14 + ___interceptor_frexpl@Base 14 + ___interceptor_fscanf@Base 14 + ___interceptor_fstat64@Base 14 + ___interceptor_fstat@Base 14 + ___interceptor_fstatfs64@Base 14 + ___interceptor_fstatfs@Base 14 + ___interceptor_fstatvfs64@Base 14 + ___interceptor_fstatvfs@Base 14 + ___interceptor_ftime@Base 14 + ___interceptor_fwrite@Base 14 + ___interceptor_get_current_dir_name@Base 14 + ___interceptor_getaddrinfo@Base 14 + ___interceptor_getcwd@Base 14 + ___interceptor_getdelim@Base 14 + ___interceptor_getentropy@Base 14 + ___interceptor_getgrent@Base 14 + ___interceptor_getgrent_r@Base 14 + ___interceptor_getgrgid@Base 14 + ___interceptor_getgrgid_r@Base 14 + ___interceptor_getgrnam@Base 14 + ___interceptor_getgrnam_r@Base 14 + ___interceptor_getgrouplist@Base 14 + ___interceptor_getgroups@Base 14 + ___interceptor_gethostbyaddr@Base 14 + ___interceptor_gethostbyaddr_r@Base 14 + ___interceptor_gethostbyname2@Base 14 + ___interceptor_gethostbyname2_r@Base 14 + ___interceptor_gethostbyname@Base 14 + ___interceptor_gethostbyname_r@Base 14 + ___interceptor_gethostent@Base 14 + ___interceptor_gethostent_r@Base 14 + ___interceptor_getifaddrs@Base 14 + ___interceptor_getitimer@Base 14 + ___interceptor_getline@Base 14 + ___interceptor_getloadavg@Base 14 + ___interceptor_getmntent@Base 14 + ___interceptor_getmntent_r@Base 14 + ___interceptor_getnameinfo@Base 14 + ___interceptor_getnetbyaddr@Base 14 + ___interceptor_getnetbyname@Base 14 + ___interceptor_getnetent@Base 14 + ___interceptor_getpass@Base 14 + ___interceptor_getpeername@Base 14 + ___interceptor_getprotobyname@Base 14 + ___interceptor_getprotobyname_r@Base 14 + ___interceptor_getprotobynumber@Base 14 + ___interceptor_getprotobynumber_r@Base 14 + ___interceptor_getprotoent@Base 14 + ___interceptor_getprotoent_r@Base 14 + ___interceptor_getpwent@Base 14 + ___interceptor_getpwent_r@Base 14 + ___interceptor_getpwnam@Base 14 + ___interceptor_getpwnam_r@Base 14 + ___interceptor_getpwuid@Base 14 + ___interceptor_getpwuid_r@Base 14 + ___interceptor_getrandom@Base 14 + ___interceptor_getresgid@Base 14 + ___interceptor_getresuid@Base 14 + ___interceptor_getsockname@Base 14 + ___interceptor_getsockopt@Base 14 + ___interceptor_gettimeofday@Base 14 + ___interceptor_getusershell@Base 14 + ___interceptor_getutent@Base 14 + ___interceptor_getutid@Base 14 + ___interceptor_getutline@Base 14 + ___interceptor_getutxent@Base 14 + ___interceptor_getutxid@Base 14 + ___interceptor_getutxline@Base 14 + ___interceptor_getxattr@Base 14 + ___interceptor_glob64@Base 14 + ___interceptor_glob@Base 14 + ___interceptor_gmtime@Base 14 + ___interceptor_gmtime_r@Base 14 + ___interceptor_iconv@Base 14 + ___interceptor_if_indextoname@Base 14 + ___interceptor_if_nametoindex@Base 14 + ___interceptor_inet_aton@Base 14 + ___interceptor_inet_ntop@Base 14 + ___interceptor_inet_pton@Base 14 + ___interceptor_initgroups@Base 14 + ___interceptor_inotify_init1@Base 14 + ___interceptor_inotify_init@Base 14 + ___interceptor_ioctl@Base 14 + ___interceptor_kill@Base 14 + ___interceptor_lgamma@Base 14 + ___interceptor_lgamma_r@Base 14 + ___interceptor_lgammaf@Base 14 + ___interceptor_lgammaf_r@Base 14 + ___interceptor_lgammal@Base 14 + ___interceptor_lgammal_r@Base 14 + ___interceptor_lgetxattr@Base 14 + ___interceptor_listen@Base 14 + ___interceptor_listxattr@Base 14 + ___interceptor_llistxattr@Base 14 + ___interceptor_localtime@Base 14 + ___interceptor_localtime_r@Base 14 + ___interceptor_longjmp@Base 14 + ___interceptor_lrand48_r@Base 14 + ___interceptor_lstat64@Base 14 + ___interceptor_lstat@Base 14 + ___interceptor_malloc@Base 14 + ___interceptor_malloc_usable_size@Base 14 + ___interceptor_mbsnrtowcs@Base 14 + ___interceptor_mbsrtowcs@Base 14 + ___interceptor_mbstowcs@Base 14 + ___interceptor_mcheck@Base 14 + ___interceptor_mcheck_pedantic@Base 14 + ___interceptor_memalign@Base 14 + ___interceptor_memchr@Base 14 + ___interceptor_memcmp@Base 14 + ___interceptor_memcpy@Base 14 + ___interceptor_memmem@Base 14 + ___interceptor_memmove@Base 14 + ___interceptor_memrchr@Base 14 + ___interceptor_memset@Base 14 + ___interceptor_mincore@Base 14 + ___interceptor_mktime@Base 14 + ___interceptor_mlock@Base 14 + ___interceptor_mlockall@Base 14 + ___interceptor_mmap64@Base 14 + ___interceptor_mmap@Base 14 + ___interceptor_modf@Base 14 + ___interceptor_modff@Base 14 + ___interceptor_modfl@Base 14 + ___interceptor_mprobe@Base 14 + ___interceptor_mprotect@Base 14 + ___interceptor_msgrcv@Base 14 + ___interceptor_msgsnd@Base 14 + ___interceptor_munlock@Base 14 + ___interceptor_munlockall@Base 14 + ___interceptor_munmap@Base 14 + ___interceptor_name_to_handle_at@Base 14 + ___interceptor_nanosleep@Base 14 + ___interceptor_on_exit@Base 14 + ___interceptor_open64@Base 14 + ___interceptor_open@Base 14 + ___interceptor_open_by_handle_at@Base 14 + ___interceptor_open_memstream@Base 14 + ___interceptor_open_wmemstream@Base 14 + ___interceptor_opendir@Base 14 + ___interceptor_pause@Base 14 + ___interceptor_pclose@Base 14 + ___interceptor_pipe2@Base 14 + ___interceptor_pipe@Base 14 + ___interceptor_poll@Base 14 + ___interceptor_popen@Base 14 + ___interceptor_posix_memalign@Base 14 + ___interceptor_posix_spawn@Base 14 + ___interceptor_posix_spawnp@Base 14 + ___interceptor_ppoll@Base 14 + ___interceptor_prctl@Base 14 + ___interceptor_pread64@Base 14 + ___interceptor_pread@Base 14 + ___interceptor_preadv64@Base 14 + ___interceptor_preadv@Base 14 + ___interceptor_printf@Base 14 + ___interceptor_process_vm_readv@Base 14 + ___interceptor_process_vm_writev@Base 14 + ___interceptor_pthread_attr_getaffinity_np@Base 14 + ___interceptor_pthread_attr_getdetachstate@Base 14 + ___interceptor_pthread_attr_getguardsize@Base 14 + ___interceptor_pthread_attr_getinheritsched@Base 14 + ___interceptor_pthread_attr_getschedparam@Base 14 + ___interceptor_pthread_attr_getschedpolicy@Base 14 + ___interceptor_pthread_attr_getscope@Base 14 + ___interceptor_pthread_attr_getstack@Base 14 + ___interceptor_pthread_attr_getstacksize@Base 14 + ___interceptor_pthread_barrier_destroy@Base 14 + ___interceptor_pthread_barrier_init@Base 14 + ___interceptor_pthread_barrier_wait@Base 14 + ___interceptor_pthread_barrierattr_getpshared@Base 14 + ___interceptor_pthread_cond_broadcast@Base 14 + ___interceptor_pthread_cond_clockwait@Base 14 + ___interceptor_pthread_cond_destroy@Base 14 + ___interceptor_pthread_cond_init@Base 14 + ___interceptor_pthread_cond_signal@Base 14 + ___interceptor_pthread_cond_timedwait@Base 14 + ___interceptor_pthread_cond_wait@Base 14 + ___interceptor_pthread_condattr_getclock@Base 14 + ___interceptor_pthread_condattr_getpshared@Base 14 + ___interceptor_pthread_create@Base 14 + ___interceptor_pthread_detach@Base 14 + ___interceptor_pthread_exit@Base 14 + ___interceptor_pthread_getaffinity_np@Base 14 + ___interceptor_pthread_getcpuclockid@Base 14 + ___interceptor_pthread_getname_np@Base 14 + ___interceptor_pthread_getschedparam@Base 14 + ___interceptor_pthread_join@Base 14 + ___interceptor_pthread_kill@Base 14 + ___interceptor_pthread_mutex_destroy@Base 14 + ___interceptor_pthread_mutex_init@Base 14 + ___interceptor_pthread_mutex_lock@Base 14 + ___interceptor_pthread_mutex_timedlock@Base 14 + ___interceptor_pthread_mutex_trylock@Base 14 + ___interceptor_pthread_mutex_unlock@Base 14 + ___interceptor_pthread_mutexattr_getprioceiling@Base 14 + ___interceptor_pthread_mutexattr_getprotocol@Base 14 + ___interceptor_pthread_mutexattr_getpshared@Base 14 + ___interceptor_pthread_mutexattr_getrobust@Base 14 + ___interceptor_pthread_mutexattr_getrobust_np@Base 14 + ___interceptor_pthread_mutexattr_gettype@Base 14 + ___interceptor_pthread_once@Base 14 + ___interceptor_pthread_rwlock_destroy@Base 14 + ___interceptor_pthread_rwlock_init@Base 14 + ___interceptor_pthread_rwlock_rdlock@Base 14 + ___interceptor_pthread_rwlock_timedrdlock@Base 14 + ___interceptor_pthread_rwlock_timedwrlock@Base 14 + ___interceptor_pthread_rwlock_tryrdlock@Base 14 + ___interceptor_pthread_rwlock_trywrlock@Base 14 + ___interceptor_pthread_rwlock_unlock@Base 14 + ___interceptor_pthread_rwlock_wrlock@Base 14 + ___interceptor_pthread_rwlockattr_getkind_np@Base 14 + ___interceptor_pthread_rwlockattr_getpshared@Base 14 + ___interceptor_pthread_setcancelstate@Base 14 + ___interceptor_pthread_setcanceltype@Base 14 + ___interceptor_pthread_setname_np@Base 14 + ___interceptor_pthread_sigmask@Base 14 + ___interceptor_pthread_spin_destroy@Base 14 + ___interceptor_pthread_spin_init@Base 14 + ___interceptor_pthread_spin_lock@Base 14 + ___interceptor_pthread_spin_trylock@Base 14 + ___interceptor_pthread_spin_unlock@Base 14 + ___interceptor_pthread_timedjoin_np@Base 14 + ___interceptor_pthread_tryjoin_np@Base 14 + ___interceptor_ptrace@Base 14 + ___interceptor_ptsname@Base 14 + ___interceptor_ptsname_r@Base 14 + ___interceptor_puts@Base 14 + ___interceptor_pututxline@Base 14 + ___interceptor_pvalloc@Base 14 + ___interceptor_pwrite64@Base 14 + ___interceptor_pwrite@Base 14 + ___interceptor_pwritev64@Base 14 + ___interceptor_pwritev@Base 14 + ___interceptor_qsort@Base 14 + ___interceptor_qsort_r@Base 14 + ___interceptor_raise@Base 14 + ___interceptor_rand_r@Base 14 + ___interceptor_random_r@Base 14 + ___interceptor_read@Base 14 + ___interceptor_readdir64@Base 14 + ___interceptor_readdir64_r@Base 14 + ___interceptor_readdir@Base 14 + ___interceptor_readdir_r@Base 14 + ___interceptor_readlink@Base 14 + ___interceptor_readlinkat@Base 14 + ___interceptor_readv@Base 14 + ___interceptor_realloc@Base 14 + ___interceptor_reallocarray@Base 14 + ___interceptor_realpath@Base 14 + ___interceptor_recv@Base 14 + ___interceptor_recvfrom@Base 14 + ___interceptor_recvmmsg@Base 14 + ___interceptor_recvmsg@Base 14 + ___interceptor_regcomp@Base 14 + ___interceptor_regerror@Base 14 + ___interceptor_regexec@Base 14 + ___interceptor_regfree@Base 14 + ___interceptor_remquo@Base 14 + ___interceptor_remquof@Base 14 + ___interceptor_remquol@Base 14 + ___interceptor_rmdir@Base 14 + ___interceptor_scandir64@Base 14 + ___interceptor_scandir@Base 14 + ___interceptor_scanf@Base 14 + ___interceptor_sched_getaffinity@Base 14 + ___interceptor_sched_getparam@Base 14 + ___interceptor_sem_destroy@Base 14 + ___interceptor_sem_getvalue@Base 14 + ___interceptor_sem_init@Base 14 + ___interceptor_sem_open@Base 14 + ___interceptor_sem_post@Base 14 + ___interceptor_sem_timedwait@Base 14 + ___interceptor_sem_trywait@Base 14 + ___interceptor_sem_unlink@Base 14 + ___interceptor_sem_wait@Base 14 + ___interceptor_send@Base 14 + ___interceptor_sendmmsg@Base 14 + ___interceptor_sendmsg@Base 14 + ___interceptor_sendto@Base 14 + ___interceptor_setbuf@Base 14 + ___interceptor_setbuffer@Base 14 + ___interceptor_setgrent@Base 14 + ___interceptor_setitimer@Base 14 + ___interceptor_setlinebuf@Base 14 + ___interceptor_setlocale@Base 14 + ___interceptor_setpwent@Base 14 + ___interceptor_setvbuf@Base 14 + ___interceptor_shmctl@Base 14 + ___interceptor_sigaction@Base 14 + ___interceptor_sigaltstack@Base 14 + ___interceptor_sigandset@Base 14 + ___interceptor_sigblock@Base 14 + ___interceptor_sigemptyset@Base 14 + ___interceptor_sigfillset@Base 14 + ___interceptor_siglongjmp@Base 14 + ___interceptor_signal@Base 14 + ___interceptor_signalfd@Base 14 + ___interceptor_sigorset@Base 14 + ___interceptor_sigpending@Base 14 + ___interceptor_sigprocmask@Base 14 + ___interceptor_sigsetmask@Base 14 + ___interceptor_sigsuspend@Base 14 + ___interceptor_sigtimedwait@Base 14 + ___interceptor_sigwait@Base 14 + ___interceptor_sigwaitinfo@Base 14 + ___interceptor_sincos@Base 14 + ___interceptor_sincosf@Base 14 + ___interceptor_sincosl@Base 14 + ___interceptor_sleep@Base 14 + ___interceptor_snprintf@Base 14 + ___interceptor_socket@Base 14 + ___interceptor_socketpair@Base 14 + ___interceptor_sprintf@Base 14 + ___interceptor_sscanf@Base 14 + ___interceptor_stat64@Base 14 + ___interceptor_stat@Base 14 + ___interceptor_statfs64@Base 14 + ___interceptor_statfs@Base 14 + ___interceptor_statvfs64@Base 14 + ___interceptor_statvfs@Base 14 + ___interceptor_strcasecmp@Base 14 + ___interceptor_strcasestr@Base 14 + ___interceptor_strchr@Base 14 + ___interceptor_strchrnul@Base 14 + ___interceptor_strcmp@Base 14 + ___interceptor_strcpy@Base 14 + ___interceptor_strcspn@Base 14 + ___interceptor_strdup@Base 14 + ___interceptor_strerror@Base 14 + ___interceptor_strerror_r@Base 14 + ___interceptor_strlen@Base 14 + ___interceptor_strncasecmp@Base 14 + ___interceptor_strncmp@Base 14 + ___interceptor_strncpy@Base 14 + ___interceptor_strndup@Base 14 + ___interceptor_strnlen@Base 14 + ___interceptor_strpbrk@Base 14 + ___interceptor_strptime@Base 14 + ___interceptor_strrchr@Base 14 + ___interceptor_strspn@Base 14 + ___interceptor_strstr@Base 14 + ___interceptor_strtoimax@Base 14 + ___interceptor_strtok@Base 14 + ___interceptor_strtoumax@Base 14 + ___interceptor_strxfrm@Base 14 + ___interceptor_strxfrm_l@Base 14 + ___interceptor_sysinfo@Base 14 + ___interceptor_tcgetattr@Base 14 + ___interceptor_tempnam@Base 14 + ___interceptor_textdomain@Base 14 + ___interceptor_time@Base 14 + ___interceptor_timerfd_gettime@Base 14 + ___interceptor_timerfd_settime@Base 14 + ___interceptor_times@Base 14 + ___interceptor_tmpfile64@Base 14 + ___interceptor_tmpfile@Base 14 + ___interceptor_tmpnam@Base 14 + ___interceptor_tmpnam_r@Base 14 + ___interceptor_tsearch@Base 14 + ___interceptor_ttyname@Base 14 + ___interceptor_ttyname_r@Base 14 + ___interceptor_uname@Base 14 + ___interceptor_unlink@Base 14 + ___interceptor_usleep@Base 14 + ___interceptor_valloc@Base 14 + ___interceptor_vasprintf@Base 14 + ___interceptor_vfork@Base 14 + ___interceptor_vfprintf@Base 14 + ___interceptor_vfscanf@Base 14 + ___interceptor_vprintf@Base 14 + ___interceptor_vscanf@Base 14 + ___interceptor_vsnprintf@Base 14 + ___interceptor_vsprintf@Base 14 + ___interceptor_vsscanf@Base 14 + ___interceptor_wait3@Base 14 + ___interceptor_wait4@Base 14 + ___interceptor_wait@Base 14 + ___interceptor_waitid@Base 14 + ___interceptor_waitpid@Base 14 + ___interceptor_wcrtomb@Base 14 + ___interceptor_wcscat@Base 14 + ___interceptor_wcsdup@Base 14 + ___interceptor_wcslen@Base 14 + ___interceptor_wcsncat@Base 14 + ___interceptor_wcsnlen@Base 14 + ___interceptor_wcsnrtombs@Base 14 + ___interceptor_wcsrtombs@Base 14 + ___interceptor_wcstombs@Base 14 + ___interceptor_wcsxfrm@Base 14 + ___interceptor_wcsxfrm_l@Base 14 + ___interceptor_wctomb@Base 14 + ___interceptor_wordexp@Base 14 + ___interceptor_write@Base 14 + ___interceptor_writev@Base 14 + ___interceptor_xdr_bool@Base 14 + ___interceptor_xdr_bytes@Base 14 + ___interceptor_xdr_char@Base 14 + ___interceptor_xdr_destroy@Base 14 + ___interceptor_xdr_double@Base 14 + ___interceptor_xdr_enum@Base 14 + ___interceptor_xdr_float@Base 14 + ___interceptor_xdr_hyper@Base 14 + ___interceptor_xdr_int16_t@Base 14 + ___interceptor_xdr_int32_t@Base 14 + ___interceptor_xdr_int64_t@Base 14 + ___interceptor_xdr_int8_t@Base 14 + ___interceptor_xdr_int@Base 14 + ___interceptor_xdr_long@Base 14 + ___interceptor_xdr_longlong_t@Base 14 + ___interceptor_xdr_quad_t@Base 14 + ___interceptor_xdr_short@Base 14 + ___interceptor_xdr_string@Base 14 + ___interceptor_xdr_u_char@Base 14 + ___interceptor_xdr_u_hyper@Base 14 + ___interceptor_xdr_u_int@Base 14 + ___interceptor_xdr_u_long@Base 14 + ___interceptor_xdr_u_longlong_t@Base 14 + ___interceptor_xdr_u_quad_t@Base 14 + ___interceptor_xdr_u_short@Base 14 + ___interceptor_xdr_uint16_t@Base 14 + ___interceptor_xdr_uint32_t@Base 14 + ___interceptor_xdr_uint64_t@Base 14 + ___interceptor_xdr_uint8_t@Base 14 + ___interceptor_xdrmem_create@Base 14 + ___interceptor_xdrrec_create@Base 14 + ___interceptor_xdrstdio_create@Base 14 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_syminfo_to_full_callback@Base 11 + __asan_backtrace_syminfo_to_full_error_callback@Base 11 + __asan_backtrace_uncompress_lzma@Base 11 + __asan_backtrace_uncompress_zdebug@Base 8 + __asan_backtrace_uncompress_zstd@Base 13 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __b64_ntop@Base 13 + __b64_pton@Base 13 + __bzero@Base 10 + __close@Base 4.9 + __cxa_atexit@Base 4.9 + __cxa_guard_abort@Base 4.9 + __cxa_guard_acquire@Base 4.9 + __cxa_guard_release@Base 4.9 + __fprintf_chk@Base 9 + __fxstat64@Base 4.9 + __fxstat@Base 4.9 + __getdelim@Base 5 + __interceptor___b64_ntop@Base 13 + __interceptor___b64_pton@Base 13 + __interceptor___bzero@Base 10 + __interceptor___close@Base 4.9 + __interceptor___cxa_atexit@Base 4.9 + __interceptor___fprintf_chk@Base 9 + __interceptor___fxstat64@Base 4.9 + __interceptor___fxstat@Base 4.9 + __interceptor___getdelim@Base 5 + __interceptor___isoc23_fscanf@Base 14 + __interceptor___isoc23_scanf@Base 14 + __interceptor___isoc23_sscanf@Base 14 + __interceptor___isoc23_strtoimax@Base 14 + __interceptor___isoc23_strtoumax@Base 14 + __interceptor___isoc23_vfscanf@Base 14 + __interceptor___isoc23_vscanf@Base 14 + __interceptor___isoc23_vsscanf@Base 14 + __interceptor___isoc99_fprintf@Base 5 + __interceptor___isoc99_fscanf@Base 4.9 + __interceptor___isoc99_printf@Base 5 + __interceptor___isoc99_scanf@Base 4.9 + __interceptor___isoc99_snprintf@Base 5 + __interceptor___isoc99_sprintf@Base 5 + __interceptor___isoc99_sscanf@Base 4.9 + __interceptor___isoc99_vfprintf@Base 5 + __interceptor___isoc99_vfscanf@Base 4.9 + __interceptor___isoc99_vprintf@Base 5 + __interceptor___isoc99_vscanf@Base 4.9 + __interceptor___isoc99_vsnprintf@Base 5 + __interceptor___isoc99_vsprintf@Base 5 + __interceptor___isoc99_vsscanf@Base 4.9 + __interceptor___libc_memalign@Base 4.9 + __interceptor___lxstat64@Base 4.9 + __interceptor___lxstat@Base 4.9 + __interceptor___overflow@Base 5 + __interceptor___res_iclose@Base 4.9 + __interceptor___snprintf_chk@Base 9 + __interceptor___sprintf_chk@Base 9 + __interceptor___strndup@Base 8 + __interceptor___strxfrm_l@Base 9 + __interceptor___tls_get_addr@Base 6 + __interceptor___uflow@Base 5 + __interceptor___underflow@Base 5 + __interceptor___vsnprintf_chk@Base 9 + __interceptor___vsprintf_chk@Base 9 + __interceptor___wcsxfrm_l@Base 9 + __interceptor___woverflow@Base 5 + __interceptor___wuflow@Base 5 + __interceptor___wunderflow@Base 5 + __interceptor___xpg_strerror_r@Base 4.9 + __interceptor___xstat64@Base 4.9 + __interceptor___xstat@Base 4.9 + __interceptor__exit@Base 4.9 + __interceptor__obstack_begin@Base 5 + __interceptor__obstack_begin_1@Base 5 + __interceptor__obstack_newchunk@Base 5 + __interceptor_abort@Base 4.9 + __interceptor_accept4@Base 4.9 + __interceptor_accept@Base 4.9 + __interceptor_aligned_alloc@Base 5 + __interceptor_argp_parse@Base 14 + __interceptor_asctime@Base 4.9 + __interceptor_asctime_r@Base 4.9 + __interceptor_asprintf@Base 5 + __interceptor_atexit@Base 4.9 + __interceptor_backtrace@Base 4.9 + __interceptor_backtrace_symbols@Base 4.9 + __interceptor_bcmp@Base 10 + __interceptor_bind@Base 4.9 + __interceptor_bsearch@Base 13 + __interceptor_bzero@Base 10 + __interceptor_calloc@Base 4.9 + __interceptor_canonicalize_file_name@Base 4.9 + __interceptor_capget@Base 5 + __interceptor_capset@Base 5 + __interceptor_cfree@Base 4.9 + __interceptor_clock_getcpuclockid@Base 11 + __interceptor_clock_getres@Base 4.9 + __interceptor_clock_gettime@Base 4.9 + __interceptor_clock_settime@Base 4.9 + __interceptor_clone@Base 13 + __interceptor_close@Base 4.9 + __interceptor_closedir@Base 6 + __interceptor_confstr@Base 4.9 + __interceptor_connect@Base 4.9 + __interceptor_creat64@Base 4.9 + __interceptor_creat@Base 4.9 + __interceptor_ctermid@Base 7 + __interceptor_ctime@Base 4.9 + __interceptor_ctime_r@Base 4.9 + __interceptor_dl_iterate_phdr@Base 6 + __interceptor_dlclose@Base 4.9 + __interceptor_dlopen@Base 4.9 + __interceptor_dn_comp@Base 13 + __interceptor_dn_expand@Base 13 + __interceptor_drand48_r@Base 4.9 + __interceptor_dup2@Base 4.9 + __interceptor_dup3@Base 4.9 + __interceptor_dup@Base 4.9 + __interceptor_endgrent@Base 5 + __interceptor_endpwent@Base 5 + __interceptor_epoll_create1@Base 4.9 + __interceptor_epoll_create@Base 4.9 + __interceptor_epoll_ctl@Base 4.9 + __interceptor_epoll_pwait2@Base 14 + __interceptor_epoll_pwait@Base 7 + __interceptor_epoll_wait@Base 4.9 + __interceptor_ether_aton@Base 4.9 + __interceptor_ether_aton_r@Base 4.9 + __interceptor_ether_hostton@Base 4.9 + __interceptor_ether_line@Base 4.9 + __interceptor_ether_ntoa@Base 4.9 + __interceptor_ether_ntoa_r@Base 4.9 + __interceptor_ether_ntohost@Base 4.9 + __interceptor_eventfd@Base 4.9 + __interceptor_eventfd_read@Base 7 + __interceptor_eventfd_write@Base 7 + __interceptor_fclose@Base 4.9 + __interceptor_fdopen@Base 5 + __interceptor_fflush@Base 4.9 + __interceptor_fgetgrent@Base 10 + __interceptor_fgetgrent_r@Base 10 + __interceptor_fgetpwent@Base 10 + __interceptor_fgetpwent_r@Base 10 + __interceptor_fgets@Base 9 + __interceptor_fgetxattr@Base 5 + __interceptor_flistxattr@Base 5 + __interceptor_fmemopen@Base 5 + __interceptor_fopen64@Base 5 + __interceptor_fopen@Base 4.9 + __interceptor_fopencookie@Base 6 + __interceptor_fork@Base 4.9 + __interceptor_fprintf@Base 5 + __interceptor_fputs@Base 9 + __interceptor_fread@Base 4.9 + __interceptor_free@Base 4.9 + __interceptor_freopen64@Base 5 + __interceptor_freopen@Base 4.9 + __interceptor_frexp@Base 4.9 + __interceptor_frexpf@Base 4.9 + __interceptor_frexpl@Base 4.9 + __interceptor_fscanf@Base 4.9 + __interceptor_fstat64@Base 4.9 + __interceptor_fstat@Base 4.9 + __interceptor_fstatfs64@Base 4.9 + __interceptor_fstatfs@Base 4.9 + __interceptor_fstatvfs64@Base 4.9 + __interceptor_fstatvfs@Base 4.9 + __interceptor_ftime@Base 5 + __interceptor_fwrite@Base 4.9 + __interceptor_get_current_dir_name@Base 4.9 + __interceptor_getaddrinfo@Base 4.9 + __interceptor_getcwd@Base 4.9 + __interceptor_getdelim@Base 4.9 + __interceptor_getentropy@Base 14 + __interceptor_getgrent@Base 10 + __interceptor_getgrent_r@Base 10 + __interceptor_getgrgid@Base 10 + __interceptor_getgrgid_r@Base 10 + __interceptor_getgrnam@Base 10 + __interceptor_getgrnam_r@Base 10 + __interceptor_getgrouplist@Base 13 + __interceptor_getgroups@Base 4.9 + __interceptor_gethostbyaddr@Base 4.9 + __interceptor_gethostbyaddr_r@Base 4.9 + __interceptor_gethostbyname2@Base 4.9 + __interceptor_gethostbyname2_r@Base 4.9 + __interceptor_gethostbyname@Base 4.9 + __interceptor_gethostbyname_r@Base 4.9 + __interceptor_gethostent@Base 4.9 + __interceptor_gethostent_r@Base 4.9 + __interceptor_getifaddrs@Base 5 + __interceptor_getitimer@Base 4.9 + __interceptor_getline@Base 4.9 + __interceptor_getloadavg@Base 8 + __interceptor_getmntent@Base 4.9 + __interceptor_getmntent_r@Base 4.9 + __interceptor_getnameinfo@Base 5 + __interceptor_getnetbyaddr@Base 13 + __interceptor_getnetbyname@Base 13 + __interceptor_getnetent@Base 13 + __interceptor_getpass@Base 5 + __interceptor_getpeername@Base 4.9 + __interceptor_getprotobyname@Base 11 + __interceptor_getprotobyname_r@Base 11 + __interceptor_getprotobynumber@Base 11 + __interceptor_getprotobynumber_r@Base 11 + __interceptor_getprotoent@Base 11 + __interceptor_getprotoent_r@Base 11 + __interceptor_getpwent@Base 10 + __interceptor_getpwent_r@Base 10 + __interceptor_getpwnam@Base 10 + __interceptor_getpwnam_r@Base 10 + __interceptor_getpwuid@Base 10 + __interceptor_getpwuid_r@Base 10 + __interceptor_getrandom@Base 10 + __interceptor_getresgid@Base 5 + __interceptor_getresuid@Base 5 + __interceptor_getsockname@Base 4.9 + __interceptor_getsockopt@Base 4.9 + __interceptor_gettimeofday@Base 4.9 + __interceptor_getusershell@Base 10 + __interceptor_getutent@Base 8 + __interceptor_getutid@Base 8 + __interceptor_getutline@Base 8 + __interceptor_getutxent@Base 8 + __interceptor_getutxid@Base 8 + __interceptor_getutxline@Base 8 + __interceptor_getxattr@Base 5 + __interceptor_glob64@Base 5 + __interceptor_glob@Base 5 + __interceptor_gmtime@Base 4.9 + __interceptor_gmtime_r@Base 4.9 + __interceptor_iconv@Base 4.9 + __interceptor_if_indextoname@Base 5 + __interceptor_if_nametoindex@Base 5 + __interceptor_inet_aton@Base 4.9 + __interceptor_inet_ntop@Base 4.9 + __interceptor_inet_pton@Base 4.9 + __interceptor_initgroups@Base 4.9 + __interceptor_inotify_init1@Base 4.9 + __interceptor_inotify_init@Base 4.9 + __interceptor_ioctl@Base 4.9 + __interceptor_kill@Base 4.9 + __interceptor_lgamma@Base 4.9 + __interceptor_lgamma_r@Base 4.9 + __interceptor_lgammaf@Base 4.9 + __interceptor_lgammaf_r@Base 4.9 + __interceptor_lgammal@Base 4.9 + __interceptor_lgammal_r@Base 4.9 + __interceptor_lgetxattr@Base 5 + __interceptor_listen@Base 4.9 + __interceptor_listxattr@Base 5 + __interceptor_llistxattr@Base 5 + __interceptor_localtime@Base 4.9 + __interceptor_localtime_r@Base 4.9 + __interceptor_longjmp@Base 4.9 + __interceptor_lrand48_r@Base 4.9 + __interceptor_lstat64@Base 13 + __interceptor_lstat@Base 13 + __interceptor_malloc@Base 4.9 + __interceptor_malloc_usable_size@Base 4.9 + __interceptor_mbsnrtowcs@Base 4.9 + __interceptor_mbsrtowcs@Base 4.9 + __interceptor_mbstowcs@Base 4.9 + __interceptor_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __interceptor_memalign@Base 4.9 + __interceptor_memchr@Base 4.9 + __interceptor_memcmp@Base 4.9 + __interceptor_memcpy@Base 4.9 + __interceptor_memmem@Base 7 + __interceptor_memmove@Base 4.9 + __interceptor_memrchr@Base 4.9 + __interceptor_memset@Base 4.9 + __interceptor_mincore@Base 6 + __interceptor_mktime@Base 5 + __interceptor_mlock@Base 4.9 + __interceptor_mlockall@Base 4.9 + __interceptor_mmap64@Base 4.9 + __interceptor_mmap@Base 4.9 + __interceptor_modf@Base 4.9 + __interceptor_modff@Base 4.9 + __interceptor_modfl@Base 4.9 + __interceptor_mprobe@Base 8 + __interceptor_mprotect@Base 9 + __interceptor_msgrcv@Base 11 + __interceptor_msgsnd@Base 11 + __interceptor_munlock@Base 4.9 + __interceptor_munlockall@Base 4.9 + __interceptor_munmap@Base 4.9 + __interceptor_name_to_handle_at@Base 9 + __interceptor_nanosleep@Base 4.9 + __interceptor_on_exit@Base 4.9 + __interceptor_open64@Base 4.9 + __interceptor_open@Base 4.9 + __interceptor_open_by_handle_at@Base 9 + __interceptor_open_memstream@Base 5 + __interceptor_open_wmemstream@Base 5 + __interceptor_opendir@Base 4.9 + __interceptor_pause@Base 8 + __interceptor_pclose@Base 10 + __interceptor_pipe2@Base 4.9 + __interceptor_pipe@Base 4.9 + __interceptor_poll@Base 4.9 + __interceptor_popen@Base 10 + __interceptor_posix_memalign@Base 4.9 + __interceptor_posix_spawn@Base 13 + __interceptor_posix_spawnp@Base 13 + __interceptor_ppoll@Base 4.9 + __interceptor_prctl@Base 4.9 + __interceptor_pread64@Base 4.9 + __interceptor_pread@Base 4.9 + __interceptor_preadv64@Base 4.9 + __interceptor_preadv@Base 4.9 + __interceptor_printf@Base 5 + __interceptor_process_vm_readv@Base 6 + __interceptor_process_vm_writev@Base 6 + __interceptor_pthread_attr_getaffinity_np@Base 4.9 + __interceptor_pthread_attr_getdetachstate@Base 4.9 + __interceptor_pthread_attr_getguardsize@Base 4.9 + __interceptor_pthread_attr_getinheritsched@Base 4.9 + __interceptor_pthread_attr_getschedparam@Base 4.9 + __interceptor_pthread_attr_getschedpolicy@Base 4.9 + __interceptor_pthread_attr_getscope@Base 4.9 + __interceptor_pthread_attr_getstack@Base 4.9 + __interceptor_pthread_attr_getstacksize@Base 4.9 + __interceptor_pthread_barrier_destroy@Base 4.9 + __interceptor_pthread_barrier_init@Base 4.9 + __interceptor_pthread_barrier_wait@Base 4.9 + __interceptor_pthread_barrierattr_getpshared@Base 5 + __interceptor_pthread_cond_broadcast@Base 4.9 + __interceptor_pthread_cond_clockwait@Base 13 + __interceptor_pthread_cond_destroy@Base 4.9 + __interceptor_pthread_cond_init@Base 4.9 + __interceptor_pthread_cond_signal@Base 4.9 + __interceptor_pthread_cond_timedwait@Base 4.9 + __interceptor_pthread_cond_wait@Base 4.9 + __interceptor_pthread_condattr_getclock@Base 5 + __interceptor_pthread_condattr_getpshared@Base 5 + __interceptor_pthread_create@Base 4.9 + __interceptor_pthread_detach@Base 4.9 + __interceptor_pthread_exit@Base 10 + __interceptor_pthread_getaffinity_np@Base 13 + __interceptor_pthread_getcpuclockid@Base 13 + __interceptor_pthread_getname_np@Base 9 + __interceptor_pthread_getschedparam@Base 4.9 + __interceptor_pthread_join@Base 4.9 + __interceptor_pthread_kill@Base 4.9 + __interceptor_pthread_mutex_destroy@Base 4.9 + __interceptor_pthread_mutex_init@Base 4.9 + __interceptor_pthread_mutex_lock@Base 4.9 + __interceptor_pthread_mutex_timedlock@Base 4.9 + __interceptor_pthread_mutex_trylock@Base 4.9 + __interceptor_pthread_mutex_unlock@Base 4.9 + __interceptor_pthread_mutexattr_getprioceiling@Base 5 + __interceptor_pthread_mutexattr_getprotocol@Base 5 + __interceptor_pthread_mutexattr_getpshared@Base 5 + __interceptor_pthread_mutexattr_getrobust@Base 5 + __interceptor_pthread_mutexattr_getrobust_np@Base 5 + __interceptor_pthread_mutexattr_gettype@Base 5 + __interceptor_pthread_once@Base 4.9 + __interceptor_pthread_rwlock_destroy@Base 4.9 + __interceptor_pthread_rwlock_init@Base 4.9 + __interceptor_pthread_rwlock_rdlock@Base 4.9 + __interceptor_pthread_rwlock_timedrdlock@Base 4.9 + __interceptor_pthread_rwlock_timedwrlock@Base 4.9 + __interceptor_pthread_rwlock_tryrdlock@Base 4.9 + __interceptor_pthread_rwlock_trywrlock@Base 4.9 + __interceptor_pthread_rwlock_unlock@Base 4.9 + __interceptor_pthread_rwlock_wrlock@Base 4.9 + __interceptor_pthread_rwlockattr_getkind_np@Base 5 + __interceptor_pthread_rwlockattr_getpshared@Base 5 + __interceptor_pthread_setcancelstate@Base 6 + __interceptor_pthread_setcanceltype@Base 6 + __interceptor_pthread_setname_np@Base 4.9 + __interceptor_pthread_sigmask@Base 7 + __interceptor_pthread_spin_destroy@Base 4.9 + __interceptor_pthread_spin_init@Base 4.9 + __interceptor_pthread_spin_lock@Base 4.9 + __interceptor_pthread_spin_trylock@Base 4.9 + __interceptor_pthread_spin_unlock@Base 4.9 + __interceptor_pthread_timedjoin_np@Base 10 + __interceptor_pthread_tryjoin_np@Base 10 + __interceptor_ptrace@Base 4.9 + __interceptor_ptsname@Base 11 + __interceptor_ptsname_r@Base 11 + __interceptor_puts@Base 4.9 + __interceptor_pututxline@Base 10 + __interceptor_pvalloc@Base 4.9 + __interceptor_pwrite64@Base 4.9 + __interceptor_pwrite@Base 4.9 + __interceptor_pwritev64@Base 4.9 + __interceptor_pwritev@Base 4.9 + __interceptor_qsort@Base 11 + __interceptor_qsort_r@Base 11 + __interceptor_raise@Base 4.9 + __interceptor_rand_r@Base 5 + __interceptor_random_r@Base 4.9 + __interceptor_read@Base 4.9 + __interceptor_readdir64@Base 4.9 + __interceptor_readdir64_r@Base 4.9 + __interceptor_readdir@Base 4.9 + __interceptor_readdir_r@Base 4.9 + __interceptor_readlink@Base 9 + __interceptor_readlinkat@Base 9 + __interceptor_readv@Base 4.9 + __interceptor_realloc@Base 4.9 + __interceptor_reallocarray@Base 10 + __interceptor_realpath@Base 4.9 + __interceptor_recv@Base 4.9 + __interceptor_recvfrom@Base 7 + __interceptor_recvmmsg@Base 9 + __interceptor_recvmsg@Base 4.9 + __interceptor_regcomp@Base 10 + __interceptor_regerror@Base 10 + __interceptor_regexec@Base 10 + __interceptor_regfree@Base 10 + __interceptor_remquo@Base 4.9 + __interceptor_remquof@Base 4.9 + __interceptor_remquol@Base 4.9 + __interceptor_rmdir@Base 4.9 + __interceptor_scandir64@Base 4.9 + __interceptor_scandir@Base 4.9 + __interceptor_scanf@Base 4.9 + __interceptor_sched_getaffinity@Base 4.9 + __interceptor_sched_getparam@Base 6 + __interceptor_sem_destroy@Base 4.9 + __interceptor_sem_getvalue@Base 4.9 + __interceptor_sem_init@Base 4.9 + __interceptor_sem_open@Base 13 + __interceptor_sem_post@Base 4.9 + __interceptor_sem_timedwait@Base 4.9 + __interceptor_sem_trywait@Base 4.9 + __interceptor_sem_unlink@Base 13 + __interceptor_sem_wait@Base 4.9 + __interceptor_send@Base 4.9 + __interceptor_sendmmsg@Base 9 + __interceptor_sendmsg@Base 4.9 + __interceptor_sendto@Base 7 + __interceptor_setbuf@Base 10 + __interceptor_setbuffer@Base 10 + __interceptor_setgrent@Base 5 + __interceptor_setitimer@Base 4.9 + __interceptor_setlinebuf@Base 10 + __interceptor_setlocale@Base 4.9 + __interceptor_setpwent@Base 5 + __interceptor_setvbuf@Base 10 + __interceptor_shmctl@Base 4.9 + __interceptor_sigaction@Base 4.9 + __interceptor_sigaltstack@Base 11 + __interceptor_sigandset@Base 11 + __interceptor_sigblock@Base 7 + __interceptor_sigemptyset@Base 4.9 + __interceptor_sigfillset@Base 4.9 + __interceptor_siglongjmp@Base 4.9 + __interceptor_signal@Base 4.9 + __interceptor_signalfd@Base 4.9 + __interceptor_sigorset@Base 11 + __interceptor_sigpending@Base 4.9 + __interceptor_sigprocmask@Base 4.9 + __interceptor_sigsetmask@Base 7 + __interceptor_sigsuspend@Base 4.9 + __interceptor_sigtimedwait@Base 4.9 + __interceptor_sigwait@Base 4.9 + __interceptor_sigwaitinfo@Base 4.9 + __interceptor_sincos@Base 4.9 + __interceptor_sincosf@Base 4.9 + __interceptor_sincosl@Base 4.9 + __interceptor_sleep@Base 4.9 + __interceptor_snprintf@Base 5 + __interceptor_socket@Base 4.9 + __interceptor_socketpair@Base 4.9 + __interceptor_sprintf@Base 5 + __interceptor_sscanf@Base 4.9 + __interceptor_stat64@Base 13 + __interceptor_stat@Base 13 + __interceptor_statfs64@Base 4.9 + __interceptor_statfs@Base 4.9 + __interceptor_statvfs64@Base 4.9 + __interceptor_statvfs@Base 4.9 + __interceptor_strcasecmp@Base 4.9 + __interceptor_strcasestr@Base 6 + __interceptor_strchr@Base 4.9 + __interceptor_strchrnul@Base 4.9 + __interceptor_strcmp@Base 4.9 + __interceptor_strcpy@Base 4.9 + __interceptor_strcspn@Base 6 + __interceptor_strdup@Base 4.9 + __interceptor_strerror@Base 4.9 + __interceptor_strerror_r@Base 4.9 + __interceptor_strlen@Base 4.9 + __interceptor_strncasecmp@Base 4.9 + __interceptor_strncmp@Base 4.9 + __interceptor_strncpy@Base 4.9 + __interceptor_strndup@Base 8 + __interceptor_strnlen@Base 7 + __interceptor_strpbrk@Base 6 + __interceptor_strptime@Base 4.9 + __interceptor_strrchr@Base 4.9 + __interceptor_strspn@Base 6 + __interceptor_strstr@Base 4.9 + __interceptor_strtoimax@Base 4.9 + __interceptor_strtok@Base 8 + __interceptor_strtoumax@Base 4.9 + __interceptor_strxfrm@Base 9 + __interceptor_strxfrm_l@Base 9 + __interceptor_sysinfo@Base 4.9 + __interceptor_tcgetattr@Base 4.9 + __interceptor_tempnam@Base 4.9 + __interceptor_textdomain@Base 4.9 + __interceptor_time@Base 4.9 + __interceptor_timerfd_gettime@Base 5 + __interceptor_timerfd_settime@Base 5 + __interceptor_times@Base 4.9 + __interceptor_tmpfile64@Base 5 + __interceptor_tmpfile@Base 5 + __interceptor_tmpnam@Base 4.9 + __interceptor_tmpnam_r@Base 4.9 + __interceptor_trampoline___b64_ntop@Base 14 + __interceptor_trampoline___b64_pton@Base 14 + __interceptor_trampoline___bzero@Base 14 + __interceptor_trampoline___close@Base 14 + __interceptor_trampoline___cxa_atexit@Base 14 + __interceptor_trampoline___fprintf_chk@Base 14 + __interceptor_trampoline___fxstat64@Base 14 + __interceptor_trampoline___fxstat@Base 14 + __interceptor_trampoline___getdelim@Base 14 + __interceptor_trampoline___isoc23_fscanf@Base 14 + __interceptor_trampoline___isoc23_scanf@Base 14 + __interceptor_trampoline___isoc23_sscanf@Base 14 + __interceptor_trampoline___isoc23_strtoimax@Base 14 + __interceptor_trampoline___isoc23_strtoumax@Base 14 + __interceptor_trampoline___isoc23_vfscanf@Base 14 + __interceptor_trampoline___isoc23_vscanf@Base 14 + __interceptor_trampoline___isoc23_vsscanf@Base 14 + __interceptor_trampoline___isoc99_fprintf@Base 14 + __interceptor_trampoline___isoc99_fscanf@Base 14 + __interceptor_trampoline___isoc99_printf@Base 14 + __interceptor_trampoline___isoc99_scanf@Base 14 + __interceptor_trampoline___isoc99_snprintf@Base 14 + __interceptor_trampoline___isoc99_sprintf@Base 14 + __interceptor_trampoline___isoc99_sscanf@Base 14 + __interceptor_trampoline___isoc99_vfprintf@Base 14 + __interceptor_trampoline___isoc99_vfscanf@Base 14 + __interceptor_trampoline___isoc99_vprintf@Base 14 + __interceptor_trampoline___isoc99_vscanf@Base 14 + __interceptor_trampoline___isoc99_vsnprintf@Base 14 + __interceptor_trampoline___isoc99_vsprintf@Base 14 + __interceptor_trampoline___isoc99_vsscanf@Base 14 + __interceptor_trampoline___libc_memalign@Base 14 + __interceptor_trampoline___lxstat64@Base 14 + __interceptor_trampoline___lxstat@Base 14 + __interceptor_trampoline___overflow@Base 14 + __interceptor_trampoline___res_iclose@Base 14 + __interceptor_trampoline___snprintf_chk@Base 14 + __interceptor_trampoline___sprintf_chk@Base 14 + __interceptor_trampoline___strndup@Base 14 + __interceptor_trampoline___strxfrm_l@Base 14 + __interceptor_trampoline___tls_get_addr@Base 14 + __interceptor_trampoline___uflow@Base 14 + __interceptor_trampoline___underflow@Base 14 + __interceptor_trampoline___vsnprintf_chk@Base 14 + __interceptor_trampoline___vsprintf_chk@Base 14 + __interceptor_trampoline___wcsxfrm_l@Base 14 + __interceptor_trampoline___woverflow@Base 14 + __interceptor_trampoline___wuflow@Base 14 + __interceptor_trampoline___wunderflow@Base 14 + __interceptor_trampoline___xpg_strerror_r@Base 14 + __interceptor_trampoline___xstat64@Base 14 + __interceptor_trampoline___xstat@Base 14 + __interceptor_trampoline__exit@Base 14 + __interceptor_trampoline__obstack_begin@Base 14 + __interceptor_trampoline__obstack_begin_1@Base 14 + __interceptor_trampoline__obstack_newchunk@Base 14 + __interceptor_trampoline_abort@Base 14 + __interceptor_trampoline_accept4@Base 14 + __interceptor_trampoline_accept@Base 14 + __interceptor_trampoline_aligned_alloc@Base 14 + __interceptor_trampoline_argp_parse@Base 14 + __interceptor_trampoline_asctime@Base 14 + __interceptor_trampoline_asctime_r@Base 14 + __interceptor_trampoline_asprintf@Base 14 + __interceptor_trampoline_atexit@Base 14 + __interceptor_trampoline_backtrace@Base 14 + __interceptor_trampoline_backtrace_symbols@Base 14 + __interceptor_trampoline_bcmp@Base 14 + __interceptor_trampoline_bind@Base 14 + __interceptor_trampoline_bsearch@Base 14 + __interceptor_trampoline_bzero@Base 14 + __interceptor_trampoline_calloc@Base 14 + __interceptor_trampoline_canonicalize_file_name@Base 14 + __interceptor_trampoline_capget@Base 14 + __interceptor_trampoline_capset@Base 14 + __interceptor_trampoline_cfree@Base 14 + __interceptor_trampoline_clock_getcpuclockid@Base 14 + __interceptor_trampoline_clock_getres@Base 14 + __interceptor_trampoline_clock_gettime@Base 14 + __interceptor_trampoline_clock_settime@Base 14 + __interceptor_trampoline_clone@Base 14 + __interceptor_trampoline_close@Base 14 + __interceptor_trampoline_closedir@Base 14 + __interceptor_trampoline_confstr@Base 14 + __interceptor_trampoline_connect@Base 14 + __interceptor_trampoline_creat64@Base 14 + __interceptor_trampoline_creat@Base 14 + __interceptor_trampoline_ctermid@Base 14 + __interceptor_trampoline_ctime@Base 14 + __interceptor_trampoline_ctime_r@Base 14 + __interceptor_trampoline_dl_iterate_phdr@Base 14 + __interceptor_trampoline_dlclose@Base 14 + __interceptor_trampoline_dlopen@Base 14 + __interceptor_trampoline_dn_comp@Base 14 + __interceptor_trampoline_dn_expand@Base 14 + __interceptor_trampoline_drand48_r@Base 14 + __interceptor_trampoline_dup2@Base 14 + __interceptor_trampoline_dup3@Base 14 + __interceptor_trampoline_dup@Base 14 + __interceptor_trampoline_endgrent@Base 14 + __interceptor_trampoline_endpwent@Base 14 + __interceptor_trampoline_epoll_create1@Base 14 + __interceptor_trampoline_epoll_create@Base 14 + __interceptor_trampoline_epoll_ctl@Base 14 + __interceptor_trampoline_epoll_pwait2@Base 14 + __interceptor_trampoline_epoll_pwait@Base 14 + __interceptor_trampoline_epoll_wait@Base 14 + __interceptor_trampoline_ether_aton@Base 14 + __interceptor_trampoline_ether_aton_r@Base 14 + __interceptor_trampoline_ether_hostton@Base 14 + __interceptor_trampoline_ether_line@Base 14 + __interceptor_trampoline_ether_ntoa@Base 14 + __interceptor_trampoline_ether_ntoa_r@Base 14 + __interceptor_trampoline_ether_ntohost@Base 14 + __interceptor_trampoline_eventfd@Base 14 + __interceptor_trampoline_eventfd_read@Base 14 + __interceptor_trampoline_eventfd_write@Base 14 + __interceptor_trampoline_fclose@Base 14 + __interceptor_trampoline_fdopen@Base 14 + __interceptor_trampoline_fflush@Base 14 + __interceptor_trampoline_fgetgrent@Base 14 + __interceptor_trampoline_fgetgrent_r@Base 14 + __interceptor_trampoline_fgetpwent@Base 14 + __interceptor_trampoline_fgetpwent_r@Base 14 + __interceptor_trampoline_fgets@Base 14 + __interceptor_trampoline_fgetxattr@Base 14 + __interceptor_trampoline_flistxattr@Base 14 + __interceptor_trampoline_fmemopen@Base 14 + __interceptor_trampoline_fopen64@Base 14 + __interceptor_trampoline_fopen@Base 14 + __interceptor_trampoline_fopencookie@Base 14 + __interceptor_trampoline_fork@Base 14 + __interceptor_trampoline_fprintf@Base 14 + __interceptor_trampoline_fputs@Base 14 + __interceptor_trampoline_fread@Base 14 + __interceptor_trampoline_free@Base 14 + __interceptor_trampoline_freopen64@Base 14 + __interceptor_trampoline_freopen@Base 14 + __interceptor_trampoline_frexp@Base 14 + __interceptor_trampoline_frexpf@Base 14 + __interceptor_trampoline_frexpl@Base 14 + __interceptor_trampoline_fscanf@Base 14 + __interceptor_trampoline_fstat64@Base 14 + __interceptor_trampoline_fstat@Base 14 + __interceptor_trampoline_fstatfs64@Base 14 + __interceptor_trampoline_fstatfs@Base 14 + __interceptor_trampoline_fstatvfs64@Base 14 + __interceptor_trampoline_fstatvfs@Base 14 + __interceptor_trampoline_ftime@Base 14 + __interceptor_trampoline_fwrite@Base 14 + __interceptor_trampoline_get_current_dir_name@Base 14 + __interceptor_trampoline_getaddrinfo@Base 14 + __interceptor_trampoline_getcwd@Base 14 + __interceptor_trampoline_getdelim@Base 14 + __interceptor_trampoline_getentropy@Base 14 + __interceptor_trampoline_getgrent@Base 14 + __interceptor_trampoline_getgrent_r@Base 14 + __interceptor_trampoline_getgrgid@Base 14 + __interceptor_trampoline_getgrgid_r@Base 14 + __interceptor_trampoline_getgrnam@Base 14 + __interceptor_trampoline_getgrnam_r@Base 14 + __interceptor_trampoline_getgrouplist@Base 14 + __interceptor_trampoline_getgroups@Base 14 + __interceptor_trampoline_gethostbyaddr@Base 14 + __interceptor_trampoline_gethostbyaddr_r@Base 14 + __interceptor_trampoline_gethostbyname2@Base 14 + __interceptor_trampoline_gethostbyname2_r@Base 14 + __interceptor_trampoline_gethostbyname@Base 14 + __interceptor_trampoline_gethostbyname_r@Base 14 + __interceptor_trampoline_gethostent@Base 14 + __interceptor_trampoline_gethostent_r@Base 14 + __interceptor_trampoline_getifaddrs@Base 14 + __interceptor_trampoline_getitimer@Base 14 + __interceptor_trampoline_getline@Base 14 + __interceptor_trampoline_getloadavg@Base 14 + __interceptor_trampoline_getmntent@Base 14 + __interceptor_trampoline_getmntent_r@Base 14 + __interceptor_trampoline_getnameinfo@Base 14 + __interceptor_trampoline_getnetbyaddr@Base 14 + __interceptor_trampoline_getnetbyname@Base 14 + __interceptor_trampoline_getnetent@Base 14 + __interceptor_trampoline_getpass@Base 14 + __interceptor_trampoline_getpeername@Base 14 + __interceptor_trampoline_getprotobyname@Base 14 + __interceptor_trampoline_getprotobyname_r@Base 14 + __interceptor_trampoline_getprotobynumber@Base 14 + __interceptor_trampoline_getprotobynumber_r@Base 14 + __interceptor_trampoline_getprotoent@Base 14 + __interceptor_trampoline_getprotoent_r@Base 14 + __interceptor_trampoline_getpwent@Base 14 + __interceptor_trampoline_getpwent_r@Base 14 + __interceptor_trampoline_getpwnam@Base 14 + __interceptor_trampoline_getpwnam_r@Base 14 + __interceptor_trampoline_getpwuid@Base 14 + __interceptor_trampoline_getpwuid_r@Base 14 + __interceptor_trampoline_getrandom@Base 14 + __interceptor_trampoline_getresgid@Base 14 + __interceptor_trampoline_getresuid@Base 14 + __interceptor_trampoline_getsockname@Base 14 + __interceptor_trampoline_getsockopt@Base 14 + __interceptor_trampoline_gettimeofday@Base 14 + __interceptor_trampoline_getusershell@Base 14 + __interceptor_trampoline_getutent@Base 14 + __interceptor_trampoline_getutid@Base 14 + __interceptor_trampoline_getutline@Base 14 + __interceptor_trampoline_getutxent@Base 14 + __interceptor_trampoline_getutxid@Base 14 + __interceptor_trampoline_getutxline@Base 14 + __interceptor_trampoline_getxattr@Base 14 + __interceptor_trampoline_glob64@Base 14 + __interceptor_trampoline_glob@Base 14 + __interceptor_trampoline_gmtime@Base 14 + __interceptor_trampoline_gmtime_r@Base 14 + __interceptor_trampoline_iconv@Base 14 + __interceptor_trampoline_if_indextoname@Base 14 + __interceptor_trampoline_if_nametoindex@Base 14 + __interceptor_trampoline_inet_aton@Base 14 + __interceptor_trampoline_inet_ntop@Base 14 + __interceptor_trampoline_inet_pton@Base 14 + __interceptor_trampoline_initgroups@Base 14 + __interceptor_trampoline_inotify_init1@Base 14 + __interceptor_trampoline_inotify_init@Base 14 + __interceptor_trampoline_ioctl@Base 14 + __interceptor_trampoline_kill@Base 14 + __interceptor_trampoline_lgamma@Base 14 + __interceptor_trampoline_lgamma_r@Base 14 + __interceptor_trampoline_lgammaf@Base 14 + __interceptor_trampoline_lgammaf_r@Base 14 + __interceptor_trampoline_lgammal@Base 14 + __interceptor_trampoline_lgammal_r@Base 14 + __interceptor_trampoline_lgetxattr@Base 14 + __interceptor_trampoline_listen@Base 14 + __interceptor_trampoline_listxattr@Base 14 + __interceptor_trampoline_llistxattr@Base 14 + __interceptor_trampoline_localtime@Base 14 + __interceptor_trampoline_localtime_r@Base 14 + __interceptor_trampoline_longjmp@Base 14 + __interceptor_trampoline_lrand48_r@Base 14 + __interceptor_trampoline_lstat64@Base 14 + __interceptor_trampoline_lstat@Base 14 + __interceptor_trampoline_malloc@Base 14 + __interceptor_trampoline_malloc_usable_size@Base 14 + __interceptor_trampoline_mbsnrtowcs@Base 14 + __interceptor_trampoline_mbsrtowcs@Base 14 + __interceptor_trampoline_mbstowcs@Base 14 + __interceptor_trampoline_mcheck@Base 14 + __interceptor_trampoline_mcheck_pedantic@Base 14 + __interceptor_trampoline_memalign@Base 14 + __interceptor_trampoline_memchr@Base 14 + __interceptor_trampoline_memcmp@Base 14 + __interceptor_trampoline_memcpy@Base 14 + __interceptor_trampoline_memmem@Base 14 + __interceptor_trampoline_memmove@Base 14 + __interceptor_trampoline_memrchr@Base 14 + __interceptor_trampoline_memset@Base 14 + __interceptor_trampoline_mincore@Base 14 + __interceptor_trampoline_mktime@Base 14 + __interceptor_trampoline_mlock@Base 14 + __interceptor_trampoline_mlockall@Base 14 + __interceptor_trampoline_mmap64@Base 14 + __interceptor_trampoline_mmap@Base 14 + __interceptor_trampoline_modf@Base 14 + __interceptor_trampoline_modff@Base 14 + __interceptor_trampoline_modfl@Base 14 + __interceptor_trampoline_mprobe@Base 14 + __interceptor_trampoline_mprotect@Base 14 + __interceptor_trampoline_msgrcv@Base 14 + __interceptor_trampoline_msgsnd@Base 14 + __interceptor_trampoline_munlock@Base 14 + __interceptor_trampoline_munlockall@Base 14 + __interceptor_trampoline_munmap@Base 14 + __interceptor_trampoline_name_to_handle_at@Base 14 + __interceptor_trampoline_nanosleep@Base 14 + __interceptor_trampoline_on_exit@Base 14 + __interceptor_trampoline_open64@Base 14 + __interceptor_trampoline_open@Base 14 + __interceptor_trampoline_open_by_handle_at@Base 14 + __interceptor_trampoline_open_memstream@Base 14 + __interceptor_trampoline_open_wmemstream@Base 14 + __interceptor_trampoline_opendir@Base 14 + __interceptor_trampoline_pause@Base 14 + __interceptor_trampoline_pclose@Base 14 + __interceptor_trampoline_pipe2@Base 14 + __interceptor_trampoline_pipe@Base 14 + __interceptor_trampoline_poll@Base 14 + __interceptor_trampoline_popen@Base 14 + __interceptor_trampoline_posix_memalign@Base 14 + __interceptor_trampoline_posix_spawn@Base 14 + __interceptor_trampoline_posix_spawnp@Base 14 + __interceptor_trampoline_ppoll@Base 14 + __interceptor_trampoline_prctl@Base 14 + __interceptor_trampoline_pread64@Base 14 + __interceptor_trampoline_pread@Base 14 + __interceptor_trampoline_preadv64@Base 14 + __interceptor_trampoline_preadv@Base 14 + __interceptor_trampoline_printf@Base 14 + __interceptor_trampoline_process_vm_readv@Base 14 + __interceptor_trampoline_process_vm_writev@Base 14 + __interceptor_trampoline_pthread_attr_getaffinity_np@Base 14 + __interceptor_trampoline_pthread_attr_getdetachstate@Base 14 + __interceptor_trampoline_pthread_attr_getguardsize@Base 14 + __interceptor_trampoline_pthread_attr_getinheritsched@Base 14 + __interceptor_trampoline_pthread_attr_getschedparam@Base 14 + __interceptor_trampoline_pthread_attr_getschedpolicy@Base 14 + __interceptor_trampoline_pthread_attr_getscope@Base 14 + __interceptor_trampoline_pthread_attr_getstack@Base 14 + __interceptor_trampoline_pthread_attr_getstacksize@Base 14 + __interceptor_trampoline_pthread_barrier_destroy@Base 14 + __interceptor_trampoline_pthread_barrier_init@Base 14 + __interceptor_trampoline_pthread_barrier_wait@Base 14 + __interceptor_trampoline_pthread_barrierattr_getpshared@Base 14 + __interceptor_trampoline_pthread_cond_broadcast@Base 14 + __interceptor_trampoline_pthread_cond_clockwait@Base 14 + __interceptor_trampoline_pthread_cond_destroy@Base 14 + __interceptor_trampoline_pthread_cond_init@Base 14 + __interceptor_trampoline_pthread_cond_signal@Base 14 + __interceptor_trampoline_pthread_cond_timedwait@Base 14 + __interceptor_trampoline_pthread_cond_wait@Base 14 + __interceptor_trampoline_pthread_condattr_getclock@Base 14 + __interceptor_trampoline_pthread_condattr_getpshared@Base 14 + __interceptor_trampoline_pthread_create@Base 14 + __interceptor_trampoline_pthread_detach@Base 14 + __interceptor_trampoline_pthread_exit@Base 14 + __interceptor_trampoline_pthread_getaffinity_np@Base 14 + __interceptor_trampoline_pthread_getcpuclockid@Base 14 + __interceptor_trampoline_pthread_getname_np@Base 14 + __interceptor_trampoline_pthread_getschedparam@Base 14 + __interceptor_trampoline_pthread_join@Base 14 + __interceptor_trampoline_pthread_kill@Base 14 + __interceptor_trampoline_pthread_mutex_destroy@Base 14 + __interceptor_trampoline_pthread_mutex_init@Base 14 + __interceptor_trampoline_pthread_mutex_lock@Base 14 + __interceptor_trampoline_pthread_mutex_timedlock@Base 14 + __interceptor_trampoline_pthread_mutex_trylock@Base 14 + __interceptor_trampoline_pthread_mutex_unlock@Base 14 + __interceptor_trampoline_pthread_mutexattr_getprioceiling@Base 14 + __interceptor_trampoline_pthread_mutexattr_getprotocol@Base 14 + __interceptor_trampoline_pthread_mutexattr_getpshared@Base 14 + __interceptor_trampoline_pthread_mutexattr_getrobust@Base 14 + __interceptor_trampoline_pthread_mutexattr_getrobust_np@Base 14 + __interceptor_trampoline_pthread_mutexattr_gettype@Base 14 + __interceptor_trampoline_pthread_once@Base 14 + __interceptor_trampoline_pthread_rwlock_destroy@Base 14 + __interceptor_trampoline_pthread_rwlock_init@Base 14 + __interceptor_trampoline_pthread_rwlock_rdlock@Base 14 + __interceptor_trampoline_pthread_rwlock_timedrdlock@Base 14 + __interceptor_trampoline_pthread_rwlock_timedwrlock@Base 14 + __interceptor_trampoline_pthread_rwlock_tryrdlock@Base 14 + __interceptor_trampoline_pthread_rwlock_trywrlock@Base 14 + __interceptor_trampoline_pthread_rwlock_unlock@Base 14 + __interceptor_trampoline_pthread_rwlock_wrlock@Base 14 + __interceptor_trampoline_pthread_rwlockattr_getkind_np@Base 14 + __interceptor_trampoline_pthread_rwlockattr_getpshared@Base 14 + __interceptor_trampoline_pthread_setcancelstate@Base 14 + __interceptor_trampoline_pthread_setcanceltype@Base 14 + __interceptor_trampoline_pthread_setname_np@Base 14 + __interceptor_trampoline_pthread_sigmask@Base 14 + __interceptor_trampoline_pthread_spin_destroy@Base 14 + __interceptor_trampoline_pthread_spin_init@Base 14 + __interceptor_trampoline_pthread_spin_lock@Base 14 + __interceptor_trampoline_pthread_spin_trylock@Base 14 + __interceptor_trampoline_pthread_spin_unlock@Base 14 + __interceptor_trampoline_pthread_timedjoin_np@Base 14 + __interceptor_trampoline_pthread_tryjoin_np@Base 14 + __interceptor_trampoline_ptrace@Base 14 + __interceptor_trampoline_ptsname@Base 14 + __interceptor_trampoline_ptsname_r@Base 14 + __interceptor_trampoline_puts@Base 14 + __interceptor_trampoline_pututxline@Base 14 + __interceptor_trampoline_pvalloc@Base 14 + __interceptor_trampoline_pwrite64@Base 14 + __interceptor_trampoline_pwrite@Base 14 + __interceptor_trampoline_pwritev64@Base 14 + __interceptor_trampoline_pwritev@Base 14 + __interceptor_trampoline_qsort@Base 14 + __interceptor_trampoline_qsort_r@Base 14 + __interceptor_trampoline_raise@Base 14 + __interceptor_trampoline_rand_r@Base 14 + __interceptor_trampoline_random_r@Base 14 + __interceptor_trampoline_read@Base 14 + __interceptor_trampoline_readdir64@Base 14 + __interceptor_trampoline_readdir64_r@Base 14 + __interceptor_trampoline_readdir@Base 14 + __interceptor_trampoline_readdir_r@Base 14 + __interceptor_trampoline_readlink@Base 14 + __interceptor_trampoline_readlinkat@Base 14 + __interceptor_trampoline_readv@Base 14 + __interceptor_trampoline_realloc@Base 14 + __interceptor_trampoline_reallocarray@Base 14 + __interceptor_trampoline_realpath@Base 14 + __interceptor_trampoline_recv@Base 14 + __interceptor_trampoline_recvfrom@Base 14 + __interceptor_trampoline_recvmmsg@Base 14 + __interceptor_trampoline_recvmsg@Base 14 + __interceptor_trampoline_regcomp@Base 14 + __interceptor_trampoline_regerror@Base 14 + __interceptor_trampoline_regexec@Base 14 + __interceptor_trampoline_regfree@Base 14 + __interceptor_trampoline_remquo@Base 14 + __interceptor_trampoline_remquof@Base 14 + __interceptor_trampoline_remquol@Base 14 + __interceptor_trampoline_rmdir@Base 14 + __interceptor_trampoline_scandir64@Base 14 + __interceptor_trampoline_scandir@Base 14 + __interceptor_trampoline_scanf@Base 14 + __interceptor_trampoline_sched_getaffinity@Base 14 + __interceptor_trampoline_sched_getparam@Base 14 + __interceptor_trampoline_sem_destroy@Base 14 + __interceptor_trampoline_sem_getvalue@Base 14 + __interceptor_trampoline_sem_init@Base 14 + __interceptor_trampoline_sem_open@Base 14 + __interceptor_trampoline_sem_post@Base 14 + __interceptor_trampoline_sem_timedwait@Base 14 + __interceptor_trampoline_sem_trywait@Base 14 + __interceptor_trampoline_sem_unlink@Base 14 + __interceptor_trampoline_sem_wait@Base 14 + __interceptor_trampoline_send@Base 14 + __interceptor_trampoline_sendmmsg@Base 14 + __interceptor_trampoline_sendmsg@Base 14 + __interceptor_trampoline_sendto@Base 14 + __interceptor_trampoline_setbuf@Base 14 + __interceptor_trampoline_setbuffer@Base 14 + __interceptor_trampoline_setgrent@Base 14 + __interceptor_trampoline_setitimer@Base 14 + __interceptor_trampoline_setlinebuf@Base 14 + __interceptor_trampoline_setlocale@Base 14 + __interceptor_trampoline_setpwent@Base 14 + __interceptor_trampoline_setvbuf@Base 14 + __interceptor_trampoline_shmctl@Base 14 + __interceptor_trampoline_sigaction@Base 14 + __interceptor_trampoline_sigaltstack@Base 14 + __interceptor_trampoline_sigandset@Base 14 + __interceptor_trampoline_sigblock@Base 14 + __interceptor_trampoline_sigemptyset@Base 14 + __interceptor_trampoline_sigfillset@Base 14 + __interceptor_trampoline_siglongjmp@Base 14 + __interceptor_trampoline_signal@Base 14 + __interceptor_trampoline_signalfd@Base 14 + __interceptor_trampoline_sigorset@Base 14 + __interceptor_trampoline_sigpending@Base 14 + __interceptor_trampoline_sigprocmask@Base 14 + __interceptor_trampoline_sigsetmask@Base 14 + __interceptor_trampoline_sigsuspend@Base 14 + __interceptor_trampoline_sigtimedwait@Base 14 + __interceptor_trampoline_sigwait@Base 14 + __interceptor_trampoline_sigwaitinfo@Base 14 + __interceptor_trampoline_sincos@Base 14 + __interceptor_trampoline_sincosf@Base 14 + __interceptor_trampoline_sincosl@Base 14 + __interceptor_trampoline_sleep@Base 14 + __interceptor_trampoline_snprintf@Base 14 + __interceptor_trampoline_socket@Base 14 + __interceptor_trampoline_socketpair@Base 14 + __interceptor_trampoline_sprintf@Base 14 + __interceptor_trampoline_sscanf@Base 14 + __interceptor_trampoline_stat64@Base 14 + __interceptor_trampoline_stat@Base 14 + __interceptor_trampoline_statfs64@Base 14 + __interceptor_trampoline_statfs@Base 14 + __interceptor_trampoline_statvfs64@Base 14 + __interceptor_trampoline_statvfs@Base 14 + __interceptor_trampoline_strcasecmp@Base 14 + __interceptor_trampoline_strcasestr@Base 14 + __interceptor_trampoline_strchr@Base 14 + __interceptor_trampoline_strchrnul@Base 14 + __interceptor_trampoline_strcmp@Base 14 + __interceptor_trampoline_strcpy@Base 14 + __interceptor_trampoline_strcspn@Base 14 + __interceptor_trampoline_strdup@Base 14 + __interceptor_trampoline_strerror@Base 14 + __interceptor_trampoline_strerror_r@Base 14 + __interceptor_trampoline_strlen@Base 14 + __interceptor_trampoline_strncasecmp@Base 14 + __interceptor_trampoline_strncmp@Base 14 + __interceptor_trampoline_strncpy@Base 14 + __interceptor_trampoline_strndup@Base 14 + __interceptor_trampoline_strnlen@Base 14 + __interceptor_trampoline_strpbrk@Base 14 + __interceptor_trampoline_strptime@Base 14 + __interceptor_trampoline_strrchr@Base 14 + __interceptor_trampoline_strspn@Base 14 + __interceptor_trampoline_strstr@Base 14 + __interceptor_trampoline_strtoimax@Base 14 + __interceptor_trampoline_strtok@Base 14 + __interceptor_trampoline_strtoumax@Base 14 + __interceptor_trampoline_strxfrm@Base 14 + __interceptor_trampoline_strxfrm_l@Base 14 + __interceptor_trampoline_sysinfo@Base 14 + __interceptor_trampoline_tcgetattr@Base 14 + __interceptor_trampoline_tempnam@Base 14 + __interceptor_trampoline_textdomain@Base 14 + __interceptor_trampoline_time@Base 14 + __interceptor_trampoline_timerfd_gettime@Base 14 + __interceptor_trampoline_timerfd_settime@Base 14 + __interceptor_trampoline_times@Base 14 + __interceptor_trampoline_tmpfile64@Base 14 + __interceptor_trampoline_tmpfile@Base 14 + __interceptor_trampoline_tmpnam@Base 14 + __interceptor_trampoline_tmpnam_r@Base 14 + __interceptor_trampoline_tsearch@Base 14 + __interceptor_trampoline_ttyname@Base 14 + __interceptor_trampoline_ttyname_r@Base 14 + __interceptor_trampoline_uname@Base 14 + __interceptor_trampoline_unlink@Base 14 + __interceptor_trampoline_usleep@Base 14 + __interceptor_trampoline_valloc@Base 14 + __interceptor_trampoline_vasprintf@Base 14 + __interceptor_trampoline_vfork@Base 14 + __interceptor_trampoline_vfprintf@Base 14 + __interceptor_trampoline_vfscanf@Base 14 + __interceptor_trampoline_vprintf@Base 14 + __interceptor_trampoline_vscanf@Base 14 + __interceptor_trampoline_vsnprintf@Base 14 + __interceptor_trampoline_vsprintf@Base 14 + __interceptor_trampoline_vsscanf@Base 14 + __interceptor_trampoline_wait3@Base 14 + __interceptor_trampoline_wait4@Base 14 + __interceptor_trampoline_wait@Base 14 + __interceptor_trampoline_waitid@Base 14 + __interceptor_trampoline_waitpid@Base 14 + __interceptor_trampoline_wcrtomb@Base 14 + __interceptor_trampoline_wcscat@Base 14 + __interceptor_trampoline_wcsdup@Base 14 + __interceptor_trampoline_wcslen@Base 14 + __interceptor_trampoline_wcsncat@Base 14 + __interceptor_trampoline_wcsnlen@Base 14 + __interceptor_trampoline_wcsnrtombs@Base 14 + __interceptor_trampoline_wcsrtombs@Base 14 + __interceptor_trampoline_wcstombs@Base 14 + __interceptor_trampoline_wcsxfrm@Base 14 + __interceptor_trampoline_wcsxfrm_l@Base 14 + __interceptor_trampoline_wctomb@Base 14 + __interceptor_trampoline_wordexp@Base 14 + __interceptor_trampoline_write@Base 14 + __interceptor_trampoline_writev@Base 14 + __interceptor_trampoline_xdr_bool@Base 14 + __interceptor_trampoline_xdr_bytes@Base 14 + __interceptor_trampoline_xdr_char@Base 14 + __interceptor_trampoline_xdr_destroy@Base 14 + __interceptor_trampoline_xdr_double@Base 14 + __interceptor_trampoline_xdr_enum@Base 14 + __interceptor_trampoline_xdr_float@Base 14 + __interceptor_trampoline_xdr_hyper@Base 14 + __interceptor_trampoline_xdr_int16_t@Base 14 + __interceptor_trampoline_xdr_int32_t@Base 14 + __interceptor_trampoline_xdr_int64_t@Base 14 + __interceptor_trampoline_xdr_int8_t@Base 14 + __interceptor_trampoline_xdr_int@Base 14 + __interceptor_trampoline_xdr_long@Base 14 + __interceptor_trampoline_xdr_longlong_t@Base 14 + __interceptor_trampoline_xdr_quad_t@Base 14 + __interceptor_trampoline_xdr_short@Base 14 + __interceptor_trampoline_xdr_string@Base 14 + __interceptor_trampoline_xdr_u_char@Base 14 + __interceptor_trampoline_xdr_u_hyper@Base 14 + __interceptor_trampoline_xdr_u_int@Base 14 + __interceptor_trampoline_xdr_u_long@Base 14 + __interceptor_trampoline_xdr_u_longlong_t@Base 14 + __interceptor_trampoline_xdr_u_quad_t@Base 14 + __interceptor_trampoline_xdr_u_short@Base 14 + __interceptor_trampoline_xdr_uint16_t@Base 14 + __interceptor_trampoline_xdr_uint32_t@Base 14 + __interceptor_trampoline_xdr_uint64_t@Base 14 + __interceptor_trampoline_xdr_uint8_t@Base 14 + __interceptor_trampoline_xdrmem_create@Base 14 + __interceptor_trampoline_xdrrec_create@Base 14 + __interceptor_trampoline_xdrstdio_create@Base 14 + __interceptor_tsearch@Base 5 + __interceptor_ttyname@Base 10 + __interceptor_ttyname_r@Base 7 + __interceptor_uname@Base 11 + __interceptor_unlink@Base 4.9 + __interceptor_usleep@Base 4.9 + __interceptor_valloc@Base 4.9 + __interceptor_vasprintf@Base 5 + __interceptor_vfork@Base 5 + __interceptor_vfprintf@Base 5 + __interceptor_vfscanf@Base 4.9 + __interceptor_vprintf@Base 5 + __interceptor_vscanf@Base 4.9 + __interceptor_vsnprintf@Base 5 + __interceptor_vsprintf@Base 5 + __interceptor_vsscanf@Base 4.9 + __interceptor_wait3@Base 4.9 + __interceptor_wait4@Base 4.9 + __interceptor_wait@Base 4.9 + __interceptor_waitid@Base 4.9 + __interceptor_waitpid@Base 4.9 + __interceptor_wcrtomb@Base 6 + __interceptor_wcscat@Base 8 + __interceptor_wcsdup@Base 10 + __interceptor_wcslen@Base 8 + __interceptor_wcsncat@Base 8 + __interceptor_wcsnlen@Base 8 + __interceptor_wcsnrtombs@Base 4.9 + __interceptor_wcsrtombs@Base 4.9 + __interceptor_wcstombs@Base 4.9 + __interceptor_wcsxfrm@Base 9 + __interceptor_wcsxfrm_l@Base 9 + __interceptor_wctomb@Base 10 + __interceptor_wordexp@Base 4.9 + __interceptor_write@Base 4.9 + __interceptor_writev@Base 4.9 + __interceptor_xdr_bool@Base 5 + __interceptor_xdr_bytes@Base 5 + __interceptor_xdr_char@Base 5 + __interceptor_xdr_destroy@Base 11 + __interceptor_xdr_double@Base 5 + __interceptor_xdr_enum@Base 5 + __interceptor_xdr_float@Base 5 + __interceptor_xdr_hyper@Base 5 + __interceptor_xdr_int16_t@Base 5 + __interceptor_xdr_int32_t@Base 5 + __interceptor_xdr_int64_t@Base 5 + __interceptor_xdr_int8_t@Base 5 + __interceptor_xdr_int@Base 5 + __interceptor_xdr_long@Base 5 + __interceptor_xdr_longlong_t@Base 5 + __interceptor_xdr_quad_t@Base 5 + __interceptor_xdr_short@Base 5 + __interceptor_xdr_string@Base 5 + __interceptor_xdr_u_char@Base 5 + __interceptor_xdr_u_hyper@Base 5 + __interceptor_xdr_u_int@Base 5 + __interceptor_xdr_u_long@Base 5 + __interceptor_xdr_u_longlong_t@Base 5 + __interceptor_xdr_u_quad_t@Base 5 + __interceptor_xdr_u_short@Base 5 + __interceptor_xdr_uint16_t@Base 5 + __interceptor_xdr_uint32_t@Base 5 + __interceptor_xdr_uint64_t@Base 5 + __interceptor_xdr_uint8_t@Base 5 + __interceptor_xdrmem_create@Base 5 + __interceptor_xdrrec_create@Base 11 + __interceptor_xdrstdio_create@Base 5 + __isoc23_fscanf@Base 14 + __isoc23_scanf@Base 14 + __isoc23_sscanf@Base 14 + __isoc23_strtoimax@Base 14 + __isoc23_strtoumax@Base 14 + __isoc23_vfscanf@Base 14 + __isoc23_vscanf@Base 14 + __isoc23_vsscanf@Base 14 + __isoc99_fprintf@Base 5 + __isoc99_fscanf@Base 4.9 + __isoc99_printf@Base 5 + __isoc99_scanf@Base 4.9 + __isoc99_snprintf@Base 5 + __isoc99_sprintf@Base 5 + __isoc99_sscanf@Base 4.9 + __isoc99_vfprintf@Base 5 + __isoc99_vfscanf@Base 4.9 + __isoc99_vprintf@Base 5 + __isoc99_vscanf@Base 4.9 + __isoc99_vsnprintf@Base 5 + __isoc99_vsprintf@Base 5 + __isoc99_vsscanf@Base 4.9 + __libc_memalign@Base 4.9 + __lxstat64@Base 4.9 + __lxstat@Base 4.9 + __overflow@Base 5 + __res_iclose@Base 4.9 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_acquire_crash_state@Base 9 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_bool_flag_init@Base 11 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_load16@Base 13 + __sanitizer_cov_load1@Base 13 + __sanitizer_cov_load2@Base 13 + __sanitizer_cov_load4@Base 13 + __sanitizer_cov_load8@Base 13 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __sanitizer_cov_store16@Base 13 + __sanitizer_cov_store1@Base 13 + __sanitizer_cov_store2@Base 13 + __sanitizer_cov_store4@Base 13 + __sanitizer_cov_store8@Base 13 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6 + __sanitizer_cov_trace_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_free_hook@Base 5 + __sanitizer_get_allocated_begin@Base 14 + __sanitizer_get_allocated_size@Base 5 + __sanitizer_get_allocated_size_fast@Base 14 + __sanitizer_get_current_allocated_bytes@Base 5 + __sanitizer_get_estimated_allocated_size@Base 5 + __sanitizer_get_free_bytes@Base 5 + __sanitizer_get_heap_size@Base 5 + __sanitizer_get_module_and_offset_for_pc@Base 8 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_report_path@Base 13 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_internal_memcpy@Base 14 + __sanitizer_internal_memmove@Base 14 + __sanitizer_internal_memset@Base 14 + __sanitizer_malloc_hook@Base 5 + __sanitizer_on_print@Base 10 + __sanitizer_print_stack_trace@Base 5 + __sanitizer_purge_allocator@Base 14 + __sanitizer_report_error_summary@Base 4.9 + __sanitizer_sandbox_on_notify@Base 4.9 + __sanitizer_set_death_callback@Base 6 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.9 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + __sanitizer_syscall_post_impl_accept4@Base 4.9 + __sanitizer_syscall_post_impl_accept@Base 4.9 + __sanitizer_syscall_post_impl_access@Base 4.9 + __sanitizer_syscall_post_impl_acct@Base 4.9 + __sanitizer_syscall_post_impl_add_key@Base 4.9 + __sanitizer_syscall_post_impl_adjtimex@Base 4.9 + __sanitizer_syscall_post_impl_alarm@Base 4.9 + __sanitizer_syscall_post_impl_bdflush@Base 4.9 + __sanitizer_syscall_post_impl_bind@Base 4.9 + __sanitizer_syscall_post_impl_brk@Base 4.9 + __sanitizer_syscall_post_impl_capget@Base 4.9 + __sanitizer_syscall_post_impl_capset@Base 4.9 + __sanitizer_syscall_post_impl_chdir@Base 4.9 + __sanitizer_syscall_post_impl_chmod@Base 4.9 + __sanitizer_syscall_post_impl_chown@Base 4.9 + __sanitizer_syscall_post_impl_chroot@Base 4.9 + __sanitizer_syscall_post_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_post_impl_clock_getres@Base 4.9 + __sanitizer_syscall_post_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_post_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_clock_settime@Base 4.9 + __sanitizer_syscall_post_impl_close@Base 4.9 + __sanitizer_syscall_post_impl_connect@Base 4.9 + __sanitizer_syscall_post_impl_creat@Base 4.9 + __sanitizer_syscall_post_impl_delete_module@Base 4.9 + __sanitizer_syscall_post_impl_dup2@Base 4.9 + __sanitizer_syscall_post_impl_dup3@Base 4.9 + __sanitizer_syscall_post_impl_dup@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_post_impl_epoll_create@Base 4.9 + __sanitizer_syscall_post_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_post_impl_epoll_pwait2@Base 13 + __sanitizer_syscall_post_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_post_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_post_impl_eventfd2@Base 4.9 + __sanitizer_syscall_post_impl_eventfd@Base 4.9 + __sanitizer_syscall_post_impl_exit@Base 4.9 + __sanitizer_syscall_post_impl_exit_group@Base 4.9 + __sanitizer_syscall_post_impl_faccessat@Base 4.9 + __sanitizer_syscall_post_impl_fchdir@Base 4.9 + __sanitizer_syscall_post_impl_fchmod@Base 4.9 + __sanitizer_syscall_post_impl_fchmodat@Base 4.9 + __sanitizer_syscall_post_impl_fchown@Base 4.9 + __sanitizer_syscall_post_impl_fchownat@Base 4.9 + __sanitizer_syscall_post_impl_fcntl64@Base 4.9 + __sanitizer_syscall_post_impl_fcntl@Base 4.9 + __sanitizer_syscall_post_impl_fdatasync@Base 4.9 + __sanitizer_syscall_post_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_flistxattr@Base 4.9 + __sanitizer_syscall_post_impl_flock@Base 4.9 + __sanitizer_syscall_post_impl_fork@Base 4.9 + __sanitizer_syscall_post_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_fstat64@Base 4.9 + __sanitizer_syscall_post_impl_fstat@Base 4.9 + __sanitizer_syscall_post_impl_fstatat64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_post_impl_fstatfs@Base 4.9 + __sanitizer_syscall_post_impl_fsync@Base 4.9 + __sanitizer_syscall_post_impl_ftruncate@Base 4.9 + __sanitizer_syscall_post_impl_futimesat@Base 4.9 + __sanitizer_syscall_post_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_getcpu@Base 4.9 + __sanitizer_syscall_post_impl_getcwd@Base 4.9 + __sanitizer_syscall_post_impl_getdents64@Base 4.9 + __sanitizer_syscall_post_impl_getdents@Base 4.9 + __sanitizer_syscall_post_impl_getegid@Base 4.9 + __sanitizer_syscall_post_impl_geteuid@Base 4.9 + __sanitizer_syscall_post_impl_getgid@Base 4.9 + __sanitizer_syscall_post_impl_getgroups@Base 4.9 + __sanitizer_syscall_post_impl_gethostname@Base 4.9 + __sanitizer_syscall_post_impl_getitimer@Base 4.9 + __sanitizer_syscall_post_impl_getpeername@Base 4.9 + __sanitizer_syscall_post_impl_getpgid@Base 4.9 + __sanitizer_syscall_post_impl_getpgrp@Base 4.9 + __sanitizer_syscall_post_impl_getpid@Base 4.9 + __sanitizer_syscall_post_impl_getppid@Base 4.9 + __sanitizer_syscall_post_impl_getpriority@Base 4.9 + __sanitizer_syscall_post_impl_getrandom@Base 10 + __sanitizer_syscall_post_impl_getresgid@Base 4.9 + __sanitizer_syscall_post_impl_getresuid@Base 4.9 + __sanitizer_syscall_post_impl_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_getrusage@Base 4.9 + __sanitizer_syscall_post_impl_getsid@Base 4.9 + __sanitizer_syscall_post_impl_getsockname@Base 4.9 + __sanitizer_syscall_post_impl_getsockopt@Base 4.9 + __sanitizer_syscall_post_impl_gettid@Base 4.9 + __sanitizer_syscall_post_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_post_impl_getuid@Base 4.9 + __sanitizer_syscall_post_impl_getxattr@Base 4.9 + __sanitizer_syscall_post_impl_init_module@Base 4.9 + __sanitizer_syscall_post_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_post_impl_inotify_init@Base 4.9 + __sanitizer_syscall_post_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_post_impl_io_cancel@Base 4.9 + __sanitizer_syscall_post_impl_io_destroy@Base 4.9 + __sanitizer_syscall_post_impl_io_getevents@Base 4.9 + __sanitizer_syscall_post_impl_io_setup@Base 4.9 + __sanitizer_syscall_post_impl_io_submit@Base 4.9 + __sanitizer_syscall_post_impl_ioctl@Base 4.9 + __sanitizer_syscall_post_impl_ioperm@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_post_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_post_impl_ipc@Base 4.9 + __sanitizer_syscall_post_impl_kexec_load@Base 4.9 + __sanitizer_syscall_post_impl_keyctl@Base 4.9 + __sanitizer_syscall_post_impl_kill@Base 4.9 + __sanitizer_syscall_post_impl_lchown@Base 4.9 + __sanitizer_syscall_post_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_post_impl_link@Base 4.9 + __sanitizer_syscall_post_impl_linkat@Base 4.9 + __sanitizer_syscall_post_impl_listen@Base 4.9 + __sanitizer_syscall_post_impl_listxattr@Base 4.9 + __sanitizer_syscall_post_impl_llistxattr@Base 4.9 + __sanitizer_syscall_post_impl_llseek@Base 4.9 + __sanitizer_syscall_post_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_post_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_post_impl_lseek@Base 4.9 + __sanitizer_syscall_post_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_post_impl_lstat64@Base 4.9 + __sanitizer_syscall_post_impl_lstat@Base 4.9 + __sanitizer_syscall_post_impl_madvise@Base 4.9 + __sanitizer_syscall_post_impl_mbind@Base 4.9 + __sanitizer_syscall_post_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_post_impl_mincore@Base 4.9 + __sanitizer_syscall_post_impl_mkdir@Base 4.9 + __sanitizer_syscall_post_impl_mkdirat@Base 4.9 + __sanitizer_syscall_post_impl_mknod@Base 4.9 + __sanitizer_syscall_post_impl_mknodat@Base 4.9 + __sanitizer_syscall_post_impl_mlock@Base 4.9 + __sanitizer_syscall_post_impl_mlockall@Base 4.9 + __sanitizer_syscall_post_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_post_impl_mount@Base 4.9 + __sanitizer_syscall_post_impl_move_pages@Base 4.9 + __sanitizer_syscall_post_impl_mprotect@Base 4.9 + __sanitizer_syscall_post_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_post_impl_mq_notify@Base 4.9 + __sanitizer_syscall_post_impl_mq_open@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_post_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_post_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_post_impl_mremap@Base 4.9 + __sanitizer_syscall_post_impl_msgctl@Base 4.9 + __sanitizer_syscall_post_impl_msgget@Base 4.9 + __sanitizer_syscall_post_impl_msgrcv@Base 4.9 + __sanitizer_syscall_post_impl_msgsnd@Base 4.9 + __sanitizer_syscall_post_impl_msync@Base 4.9 + __sanitizer_syscall_post_impl_munlock@Base 4.9 + __sanitizer_syscall_post_impl_munlockall@Base 4.9 + __sanitizer_syscall_post_impl_munmap@Base 4.9 + __sanitizer_syscall_post_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_nanosleep@Base 4.9 + __sanitizer_syscall_post_impl_newfstat@Base 4.9 + __sanitizer_syscall_post_impl_newfstatat@Base 4.9 + __sanitizer_syscall_post_impl_newlstat@Base 4.9 + __sanitizer_syscall_post_impl_newstat@Base 4.9 + __sanitizer_syscall_post_impl_newuname@Base 4.9 + __sanitizer_syscall_post_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_post_impl_nice@Base 4.9 + __sanitizer_syscall_post_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_post_impl_old_mmap@Base 4.9 + __sanitizer_syscall_post_impl_old_readdir@Base 4.9 + __sanitizer_syscall_post_impl_old_select@Base 4.9 + __sanitizer_syscall_post_impl_oldumount@Base 4.9 + __sanitizer_syscall_post_impl_olduname@Base 4.9 + __sanitizer_syscall_post_impl_open@Base 4.9 + __sanitizer_syscall_post_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_post_impl_openat@Base 4.9 + __sanitizer_syscall_post_impl_pause@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_post_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_post_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_post_impl_personality@Base 4.9 + __sanitizer_syscall_post_impl_pipe2@Base 4.9 + __sanitizer_syscall_post_impl_pipe@Base 4.9 + __sanitizer_syscall_post_impl_pivot_root@Base 4.9 + __sanitizer_syscall_post_impl_poll@Base 4.9 + __sanitizer_syscall_post_impl_ppoll@Base 4.9 + __sanitizer_syscall_post_impl_pread64@Base 4.9 + __sanitizer_syscall_post_impl_preadv@Base 4.9 + __sanitizer_syscall_post_impl_prlimit64@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_post_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_post_impl_pselect6@Base 4.9 + __sanitizer_syscall_post_impl_ptrace@Base 4.9 + __sanitizer_syscall_post_impl_pwrite64@Base 4.9 + __sanitizer_syscall_post_impl_pwritev@Base 4.9 + __sanitizer_syscall_post_impl_quotactl@Base 4.9 + __sanitizer_syscall_post_impl_read@Base 4.9 + __sanitizer_syscall_post_impl_readlink@Base 4.9 + __sanitizer_syscall_post_impl_readlinkat@Base 4.9 + __sanitizer_syscall_post_impl_readv@Base 4.9 + __sanitizer_syscall_post_impl_reboot@Base 4.9 + __sanitizer_syscall_post_impl_recv@Base 4.9 + __sanitizer_syscall_post_impl_recvfrom@Base 4.9 + __sanitizer_syscall_post_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_post_impl_recvmsg@Base 4.9 + __sanitizer_syscall_post_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_post_impl_removexattr@Base 4.9 + __sanitizer_syscall_post_impl_rename@Base 4.9 + __sanitizer_syscall_post_impl_renameat@Base 4.9 + __sanitizer_syscall_post_impl_request_key@Base 4.9 + __sanitizer_syscall_post_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_post_impl_rmdir@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigaction@Base 7 + __sanitizer_syscall_post_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_post_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_post_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_post_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_post_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_post_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_post_impl_sched_yield@Base 4.9 + __sanitizer_syscall_post_impl_select@Base 4.9 + __sanitizer_syscall_post_impl_semctl@Base 4.9 + __sanitizer_syscall_post_impl_semget@Base 4.9 + __sanitizer_syscall_post_impl_semop@Base 4.9 + __sanitizer_syscall_post_impl_semtimedop@Base 4.9 + __sanitizer_syscall_post_impl_send@Base 4.9 + __sanitizer_syscall_post_impl_sendfile64@Base 4.9 + __sanitizer_syscall_post_impl_sendfile@Base 4.9 + __sanitizer_syscall_post_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendmsg@Base 4.9 + __sanitizer_syscall_post_impl_sendto@Base 4.9 + __sanitizer_syscall_post_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_post_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_post_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_post_impl_setdomainname@Base 4.9 + __sanitizer_syscall_post_impl_setfsgid@Base 4.9 + __sanitizer_syscall_post_impl_setfsuid@Base 4.9 + __sanitizer_syscall_post_impl_setgid@Base 4.9 + __sanitizer_syscall_post_impl_setgroups@Base 4.9 + __sanitizer_syscall_post_impl_sethostname@Base 4.9 + __sanitizer_syscall_post_impl_setitimer@Base 4.9 + __sanitizer_syscall_post_impl_setns@Base 4.9 + __sanitizer_syscall_post_impl_setpgid@Base 4.9 + __sanitizer_syscall_post_impl_setpriority@Base 4.9 + __sanitizer_syscall_post_impl_setregid@Base 4.9 + __sanitizer_syscall_post_impl_setresgid@Base 4.9 + __sanitizer_syscall_post_impl_setresuid@Base 4.9 + __sanitizer_syscall_post_impl_setreuid@Base 4.9 + __sanitizer_syscall_post_impl_setrlimit@Base 4.9 + __sanitizer_syscall_post_impl_setsid@Base 4.9 + __sanitizer_syscall_post_impl_setsockopt@Base 4.9 + __sanitizer_syscall_post_impl_settimeofday@Base 4.9 + __sanitizer_syscall_post_impl_setuid@Base 4.9 + __sanitizer_syscall_post_impl_setxattr@Base 4.9 + __sanitizer_syscall_post_impl_sgetmask@Base 4.9 + __sanitizer_syscall_post_impl_shmat@Base 4.9 + __sanitizer_syscall_post_impl_shmctl@Base 4.9 + __sanitizer_syscall_post_impl_shmdt@Base 4.9 + __sanitizer_syscall_post_impl_shmget@Base 4.9 + __sanitizer_syscall_post_impl_shutdown@Base 4.9 + __sanitizer_syscall_post_impl_sigaction@Base 7 + __sanitizer_syscall_post_impl_sigaltstack@Base 11 + __sanitizer_syscall_post_impl_signal@Base 4.9 + __sanitizer_syscall_post_impl_signalfd4@Base 4.9 + __sanitizer_syscall_post_impl_signalfd@Base 4.9 + __sanitizer_syscall_post_impl_sigpending@Base 4.9 + __sanitizer_syscall_post_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_post_impl_socket@Base 4.9 + __sanitizer_syscall_post_impl_socketcall@Base 4.9 + __sanitizer_syscall_post_impl_socketpair@Base 4.9 + __sanitizer_syscall_post_impl_splice@Base 4.9 + __sanitizer_syscall_post_impl_spu_create@Base 4.9 + __sanitizer_syscall_post_impl_spu_run@Base 4.9 + __sanitizer_syscall_post_impl_ssetmask@Base 4.9 + __sanitizer_syscall_post_impl_stat64@Base 4.9 + __sanitizer_syscall_post_impl_stat@Base 4.9 + __sanitizer_syscall_post_impl_statfs64@Base 4.9 + __sanitizer_syscall_post_impl_statfs@Base 4.9 + __sanitizer_syscall_post_impl_stime@Base 4.9 + __sanitizer_syscall_post_impl_swapoff@Base 4.9 + __sanitizer_syscall_post_impl_swapon@Base 4.9 + __sanitizer_syscall_post_impl_symlink@Base 4.9 + __sanitizer_syscall_post_impl_symlinkat@Base 4.9 + __sanitizer_syscall_post_impl_sync@Base 4.9 + __sanitizer_syscall_post_impl_syncfs@Base 4.9 + __sanitizer_syscall_post_impl_sysctl@Base 4.9 + __sanitizer_syscall_post_impl_sysfs@Base 4.9 + __sanitizer_syscall_post_impl_sysinfo@Base 4.9 + __sanitizer_syscall_post_impl_syslog@Base 4.9 + __sanitizer_syscall_post_impl_tee@Base 4.9 + __sanitizer_syscall_post_impl_tgkill@Base 4.9 + __sanitizer_syscall_post_impl_time@Base 4.9 + __sanitizer_syscall_post_impl_timer_create@Base 4.9 + __sanitizer_syscall_post_impl_timer_delete@Base 4.9 + __sanitizer_syscall_post_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_post_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timer_settime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_post_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_post_impl_times@Base 4.9 + __sanitizer_syscall_post_impl_tkill@Base 4.9 + __sanitizer_syscall_post_impl_truncate@Base 4.9 + __sanitizer_syscall_post_impl_umask@Base 4.9 + __sanitizer_syscall_post_impl_umount@Base 4.9 + __sanitizer_syscall_post_impl_uname@Base 4.9 + __sanitizer_syscall_post_impl_unlink@Base 4.9 + __sanitizer_syscall_post_impl_unlinkat@Base 4.9 + __sanitizer_syscall_post_impl_unshare@Base 4.9 + __sanitizer_syscall_post_impl_uselib@Base 4.9 + __sanitizer_syscall_post_impl_ustat@Base 4.9 + __sanitizer_syscall_post_impl_utime@Base 4.9 + __sanitizer_syscall_post_impl_utimensat@Base 4.9 + __sanitizer_syscall_post_impl_utimes@Base 4.9 + __sanitizer_syscall_post_impl_vfork@Base 4.9 + __sanitizer_syscall_post_impl_vhangup@Base 4.9 + __sanitizer_syscall_post_impl_vmsplice@Base 4.9 + __sanitizer_syscall_post_impl_wait4@Base 4.9 + __sanitizer_syscall_post_impl_waitid@Base 4.9 + __sanitizer_syscall_post_impl_waitpid@Base 4.9 + __sanitizer_syscall_post_impl_write@Base 4.9 + __sanitizer_syscall_post_impl_writev@Base 4.9 + __sanitizer_syscall_pre_impl_accept4@Base 4.9 + __sanitizer_syscall_pre_impl_accept@Base 4.9 + __sanitizer_syscall_pre_impl_access@Base 4.9 + __sanitizer_syscall_pre_impl_acct@Base 4.9 + __sanitizer_syscall_pre_impl_add_key@Base 4.9 + __sanitizer_syscall_pre_impl_adjtimex@Base 4.9 + __sanitizer_syscall_pre_impl_alarm@Base 4.9 + __sanitizer_syscall_pre_impl_bdflush@Base 4.9 + __sanitizer_syscall_pre_impl_bind@Base 4.9 + __sanitizer_syscall_pre_impl_brk@Base 4.9 + __sanitizer_syscall_pre_impl_capget@Base 4.9 + __sanitizer_syscall_pre_impl_capset@Base 4.9 + __sanitizer_syscall_pre_impl_chdir@Base 4.9 + __sanitizer_syscall_pre_impl_chmod@Base 4.9 + __sanitizer_syscall_pre_impl_chown@Base 4.9 + __sanitizer_syscall_pre_impl_chroot@Base 4.9 + __sanitizer_syscall_pre_impl_clock_adjtime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_getres@Base 4.9 + __sanitizer_syscall_pre_impl_clock_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_clock_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_clock_settime@Base 4.9 + __sanitizer_syscall_pre_impl_close@Base 4.9 + __sanitizer_syscall_pre_impl_connect@Base 4.9 + __sanitizer_syscall_pre_impl_creat@Base 4.9 + __sanitizer_syscall_pre_impl_delete_module@Base 4.9 + __sanitizer_syscall_pre_impl_dup2@Base 4.9 + __sanitizer_syscall_pre_impl_dup3@Base 4.9 + __sanitizer_syscall_pre_impl_dup@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create1@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_create@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_ctl@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_pwait2@Base 13 + __sanitizer_syscall_pre_impl_epoll_pwait@Base 4.9 + __sanitizer_syscall_pre_impl_epoll_wait@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd2@Base 4.9 + __sanitizer_syscall_pre_impl_eventfd@Base 4.9 + __sanitizer_syscall_pre_impl_exit@Base 4.9 + __sanitizer_syscall_pre_impl_exit_group@Base 4.9 + __sanitizer_syscall_pre_impl_faccessat@Base 4.9 + __sanitizer_syscall_pre_impl_fchdir@Base 4.9 + __sanitizer_syscall_pre_impl_fchmod@Base 4.9 + __sanitizer_syscall_pre_impl_fchmodat@Base 4.9 + __sanitizer_syscall_pre_impl_fchown@Base 4.9 + __sanitizer_syscall_pre_impl_fchownat@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl64@Base 4.9 + __sanitizer_syscall_pre_impl_fcntl@Base 4.9 + __sanitizer_syscall_pre_impl_fdatasync@Base 4.9 + __sanitizer_syscall_pre_impl_fgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_flock@Base 4.9 + __sanitizer_syscall_pre_impl_fork@Base 4.9 + __sanitizer_syscall_pre_impl_fremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_fsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_fstat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstat@Base 4.9 + __sanitizer_syscall_pre_impl_fstatat64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs64@Base 4.9 + __sanitizer_syscall_pre_impl_fstatfs@Base 4.9 + __sanitizer_syscall_pre_impl_fsync@Base 4.9 + __sanitizer_syscall_pre_impl_ftruncate@Base 4.9 + __sanitizer_syscall_pre_impl_futimesat@Base 4.9 + __sanitizer_syscall_pre_impl_get_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_get_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_getcpu@Base 4.9 + __sanitizer_syscall_pre_impl_getcwd@Base 4.9 + __sanitizer_syscall_pre_impl_getdents64@Base 4.9 + __sanitizer_syscall_pre_impl_getdents@Base 4.9 + __sanitizer_syscall_pre_impl_getegid@Base 4.9 + __sanitizer_syscall_pre_impl_geteuid@Base 4.9 + __sanitizer_syscall_pre_impl_getgid@Base 4.9 + __sanitizer_syscall_pre_impl_getgroups@Base 4.9 + __sanitizer_syscall_pre_impl_gethostname@Base 4.9 + __sanitizer_syscall_pre_impl_getitimer@Base 4.9 + __sanitizer_syscall_pre_impl_getpeername@Base 4.9 + __sanitizer_syscall_pre_impl_getpgid@Base 4.9 + __sanitizer_syscall_pre_impl_getpgrp@Base 4.9 + __sanitizer_syscall_pre_impl_getpid@Base 4.9 + __sanitizer_syscall_pre_impl_getppid@Base 4.9 + __sanitizer_syscall_pre_impl_getpriority@Base 4.9 + __sanitizer_syscall_pre_impl_getrandom@Base 10 + __sanitizer_syscall_pre_impl_getresgid@Base 4.9 + __sanitizer_syscall_pre_impl_getresuid@Base 4.9 + __sanitizer_syscall_pre_impl_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_getrusage@Base 4.9 + __sanitizer_syscall_pre_impl_getsid@Base 4.9 + __sanitizer_syscall_pre_impl_getsockname@Base 4.9 + __sanitizer_syscall_pre_impl_getsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_gettid@Base 4.9 + __sanitizer_syscall_pre_impl_gettimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_getuid@Base 4.9 + __sanitizer_syscall_pre_impl_getxattr@Base 4.9 + __sanitizer_syscall_pre_impl_init_module@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_add_watch@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init1@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_init@Base 4.9 + __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 4.9 + __sanitizer_syscall_pre_impl_io_cancel@Base 4.9 + __sanitizer_syscall_pre_impl_io_destroy@Base 4.9 + __sanitizer_syscall_pre_impl_io_getevents@Base 4.9 + __sanitizer_syscall_pre_impl_io_setup@Base 4.9 + __sanitizer_syscall_pre_impl_io_submit@Base 4.9 + __sanitizer_syscall_pre_impl_ioctl@Base 4.9 + __sanitizer_syscall_pre_impl_ioperm@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_get@Base 4.9 + __sanitizer_syscall_pre_impl_ioprio_set@Base 4.9 + __sanitizer_syscall_pre_impl_ipc@Base 4.9 + __sanitizer_syscall_pre_impl_kexec_load@Base 4.9 + __sanitizer_syscall_pre_impl_keyctl@Base 4.9 + __sanitizer_syscall_pre_impl_kill@Base 4.9 + __sanitizer_syscall_pre_impl_lchown@Base 4.9 + __sanitizer_syscall_pre_impl_lgetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_link@Base 4.9 + __sanitizer_syscall_pre_impl_linkat@Base 4.9 + __sanitizer_syscall_pre_impl_listen@Base 4.9 + __sanitizer_syscall_pre_impl_listxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llistxattr@Base 4.9 + __sanitizer_syscall_pre_impl_llseek@Base 4.9 + __sanitizer_syscall_pre_impl_lookup_dcookie@Base 4.9 + __sanitizer_syscall_pre_impl_lremovexattr@Base 4.9 + __sanitizer_syscall_pre_impl_lseek@Base 4.9 + __sanitizer_syscall_pre_impl_lsetxattr@Base 4.9 + __sanitizer_syscall_pre_impl_lstat64@Base 4.9 + __sanitizer_syscall_pre_impl_lstat@Base 4.9 + __sanitizer_syscall_pre_impl_madvise@Base 4.9 + __sanitizer_syscall_pre_impl_mbind@Base 4.9 + __sanitizer_syscall_pre_impl_migrate_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mincore@Base 4.9 + __sanitizer_syscall_pre_impl_mkdir@Base 4.9 + __sanitizer_syscall_pre_impl_mkdirat@Base 4.9 + __sanitizer_syscall_pre_impl_mknod@Base 4.9 + __sanitizer_syscall_pre_impl_mknodat@Base 4.9 + __sanitizer_syscall_pre_impl_mlock@Base 4.9 + __sanitizer_syscall_pre_impl_mlockall@Base 4.9 + __sanitizer_syscall_pre_impl_mmap_pgoff@Base 4.9 + __sanitizer_syscall_pre_impl_mount@Base 4.9 + __sanitizer_syscall_pre_impl_move_pages@Base 4.9 + __sanitizer_syscall_pre_impl_mprotect@Base 4.9 + __sanitizer_syscall_pre_impl_mq_getsetattr@Base 4.9 + __sanitizer_syscall_pre_impl_mq_notify@Base 4.9 + __sanitizer_syscall_pre_impl_mq_open@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedreceive@Base 4.9 + __sanitizer_syscall_pre_impl_mq_timedsend@Base 4.9 + __sanitizer_syscall_pre_impl_mq_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_mremap@Base 4.9 + __sanitizer_syscall_pre_impl_msgctl@Base 4.9 + __sanitizer_syscall_pre_impl_msgget@Base 4.9 + __sanitizer_syscall_pre_impl_msgrcv@Base 4.9 + __sanitizer_syscall_pre_impl_msgsnd@Base 4.9 + __sanitizer_syscall_pre_impl_msync@Base 4.9 + __sanitizer_syscall_pre_impl_munlock@Base 4.9 + __sanitizer_syscall_pre_impl_munlockall@Base 4.9 + __sanitizer_syscall_pre_impl_munmap@Base 4.9 + __sanitizer_syscall_pre_impl_name_to_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_nanosleep@Base 4.9 + __sanitizer_syscall_pre_impl_newfstat@Base 4.9 + __sanitizer_syscall_pre_impl_newfstatat@Base 4.9 + __sanitizer_syscall_pre_impl_newlstat@Base 4.9 + __sanitizer_syscall_pre_impl_newstat@Base 4.9 + __sanitizer_syscall_pre_impl_newuname@Base 4.9 + __sanitizer_syscall_pre_impl_ni_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_nice@Base 4.9 + __sanitizer_syscall_pre_impl_old_getrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_old_mmap@Base 4.9 + __sanitizer_syscall_pre_impl_old_readdir@Base 4.9 + __sanitizer_syscall_pre_impl_old_select@Base 4.9 + __sanitizer_syscall_pre_impl_oldumount@Base 4.9 + __sanitizer_syscall_pre_impl_olduname@Base 4.9 + __sanitizer_syscall_pre_impl_open@Base 4.9 + __sanitizer_syscall_pre_impl_open_by_handle_at@Base 4.9 + __sanitizer_syscall_pre_impl_openat@Base 4.9 + __sanitizer_syscall_pre_impl_pause@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_read@Base 4.9 + __sanitizer_syscall_pre_impl_pciconfig_write@Base 4.9 + __sanitizer_syscall_pre_impl_perf_event_open@Base 4.9 + __sanitizer_syscall_pre_impl_personality@Base 4.9 + __sanitizer_syscall_pre_impl_pipe2@Base 4.9 + __sanitizer_syscall_pre_impl_pipe@Base 4.9 + __sanitizer_syscall_pre_impl_pivot_root@Base 4.9 + __sanitizer_syscall_pre_impl_poll@Base 4.9 + __sanitizer_syscall_pre_impl_ppoll@Base 4.9 + __sanitizer_syscall_pre_impl_pread64@Base 4.9 + __sanitizer_syscall_pre_impl_preadv@Base 4.9 + __sanitizer_syscall_pre_impl_prlimit64@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_readv@Base 4.9 + __sanitizer_syscall_pre_impl_process_vm_writev@Base 4.9 + __sanitizer_syscall_pre_impl_pselect6@Base 4.9 + __sanitizer_syscall_pre_impl_ptrace@Base 4.9 + __sanitizer_syscall_pre_impl_pwrite64@Base 4.9 + __sanitizer_syscall_pre_impl_pwritev@Base 4.9 + __sanitizer_syscall_pre_impl_quotactl@Base 4.9 + __sanitizer_syscall_pre_impl_read@Base 4.9 + __sanitizer_syscall_pre_impl_readlink@Base 4.9 + __sanitizer_syscall_pre_impl_readlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_readv@Base 4.9 + __sanitizer_syscall_pre_impl_reboot@Base 4.9 + __sanitizer_syscall_pre_impl_recv@Base 4.9 + __sanitizer_syscall_pre_impl_recvfrom@Base 4.9 + __sanitizer_syscall_pre_impl_recvmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_recvmsg@Base 4.9 + __sanitizer_syscall_pre_impl_remap_file_pages@Base 4.9 + __sanitizer_syscall_pre_impl_removexattr@Base 4.9 + __sanitizer_syscall_pre_impl_rename@Base 4.9 + __sanitizer_syscall_pre_impl_renameat@Base 4.9 + __sanitizer_syscall_pre_impl_request_key@Base 4.9 + __sanitizer_syscall_pre_impl_restart_syscall@Base 4.9 + __sanitizer_syscall_pre_impl_rmdir@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigaction@Base 7 + __sanitizer_syscall_pre_impl_rt_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 4.9 + __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 4.9 + __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_getscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setaffinity@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setparam@Base 4.9 + __sanitizer_syscall_pre_impl_sched_setscheduler@Base 4.9 + __sanitizer_syscall_pre_impl_sched_yield@Base 4.9 + __sanitizer_syscall_pre_impl_select@Base 4.9 + __sanitizer_syscall_pre_impl_semctl@Base 4.9 + __sanitizer_syscall_pre_impl_semget@Base 4.9 + __sanitizer_syscall_pre_impl_semop@Base 4.9 + __sanitizer_syscall_pre_impl_semtimedop@Base 4.9 + __sanitizer_syscall_pre_impl_send@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile64@Base 4.9 + __sanitizer_syscall_pre_impl_sendfile@Base 4.9 + __sanitizer_syscall_pre_impl_sendmmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendmsg@Base 4.9 + __sanitizer_syscall_pre_impl_sendto@Base 4.9 + __sanitizer_syscall_pre_impl_set_mempolicy@Base 4.9 + __sanitizer_syscall_pre_impl_set_robust_list@Base 4.9 + __sanitizer_syscall_pre_impl_set_tid_address@Base 4.9 + __sanitizer_syscall_pre_impl_setdomainname@Base 4.9 + __sanitizer_syscall_pre_impl_setfsgid@Base 4.9 + __sanitizer_syscall_pre_impl_setfsuid@Base 4.9 + __sanitizer_syscall_pre_impl_setgid@Base 4.9 + __sanitizer_syscall_pre_impl_setgroups@Base 4.9 + __sanitizer_syscall_pre_impl_sethostname@Base 4.9 + __sanitizer_syscall_pre_impl_setitimer@Base 4.9 + __sanitizer_syscall_pre_impl_setns@Base 4.9 + __sanitizer_syscall_pre_impl_setpgid@Base 4.9 + __sanitizer_syscall_pre_impl_setpriority@Base 4.9 + __sanitizer_syscall_pre_impl_setregid@Base 4.9 + __sanitizer_syscall_pre_impl_setresgid@Base 4.9 + __sanitizer_syscall_pre_impl_setresuid@Base 4.9 + __sanitizer_syscall_pre_impl_setreuid@Base 4.9 + __sanitizer_syscall_pre_impl_setrlimit@Base 4.9 + __sanitizer_syscall_pre_impl_setsid@Base 4.9 + __sanitizer_syscall_pre_impl_setsockopt@Base 4.9 + __sanitizer_syscall_pre_impl_settimeofday@Base 4.9 + __sanitizer_syscall_pre_impl_setuid@Base 4.9 + __sanitizer_syscall_pre_impl_setxattr@Base 4.9 + __sanitizer_syscall_pre_impl_sgetmask@Base 4.9 + __sanitizer_syscall_pre_impl_shmat@Base 4.9 + __sanitizer_syscall_pre_impl_shmctl@Base 4.9 + __sanitizer_syscall_pre_impl_shmdt@Base 4.9 + __sanitizer_syscall_pre_impl_shmget@Base 4.9 + __sanitizer_syscall_pre_impl_shutdown@Base 4.9 + __sanitizer_syscall_pre_impl_sigaction@Base 7 + __sanitizer_syscall_pre_impl_sigaltstack@Base 11 + __sanitizer_syscall_pre_impl_signal@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd4@Base 4.9 + __sanitizer_syscall_pre_impl_signalfd@Base 4.9 + __sanitizer_syscall_pre_impl_sigpending@Base 4.9 + __sanitizer_syscall_pre_impl_sigprocmask@Base 4.9 + __sanitizer_syscall_pre_impl_socket@Base 4.9 + __sanitizer_syscall_pre_impl_socketcall@Base 4.9 + __sanitizer_syscall_pre_impl_socketpair@Base 4.9 + __sanitizer_syscall_pre_impl_splice@Base 4.9 + __sanitizer_syscall_pre_impl_spu_create@Base 4.9 + __sanitizer_syscall_pre_impl_spu_run@Base 4.9 + __sanitizer_syscall_pre_impl_ssetmask@Base 4.9 + __sanitizer_syscall_pre_impl_stat64@Base 4.9 + __sanitizer_syscall_pre_impl_stat@Base 4.9 + __sanitizer_syscall_pre_impl_statfs64@Base 4.9 + __sanitizer_syscall_pre_impl_statfs@Base 4.9 + __sanitizer_syscall_pre_impl_stime@Base 4.9 + __sanitizer_syscall_pre_impl_swapoff@Base 4.9 + __sanitizer_syscall_pre_impl_swapon@Base 4.9 + __sanitizer_syscall_pre_impl_symlink@Base 4.9 + __sanitizer_syscall_pre_impl_symlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_sync@Base 4.9 + __sanitizer_syscall_pre_impl_syncfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysctl@Base 4.9 + __sanitizer_syscall_pre_impl_sysfs@Base 4.9 + __sanitizer_syscall_pre_impl_sysinfo@Base 4.9 + __sanitizer_syscall_pre_impl_syslog@Base 4.9 + __sanitizer_syscall_pre_impl_tee@Base 4.9 + __sanitizer_syscall_pre_impl_tgkill@Base 4.9 + __sanitizer_syscall_pre_impl_time@Base 4.9 + __sanitizer_syscall_pre_impl_timer_create@Base 4.9 + __sanitizer_syscall_pre_impl_timer_delete@Base 4.9 + __sanitizer_syscall_pre_impl_timer_getoverrun@Base 4.9 + __sanitizer_syscall_pre_impl_timer_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timer_settime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_create@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_gettime@Base 4.9 + __sanitizer_syscall_pre_impl_timerfd_settime@Base 4.9 + __sanitizer_syscall_pre_impl_times@Base 4.9 + __sanitizer_syscall_pre_impl_tkill@Base 4.9 + __sanitizer_syscall_pre_impl_truncate@Base 4.9 + __sanitizer_syscall_pre_impl_umask@Base 4.9 + __sanitizer_syscall_pre_impl_umount@Base 4.9 + __sanitizer_syscall_pre_impl_uname@Base 4.9 + __sanitizer_syscall_pre_impl_unlink@Base 4.9 + __sanitizer_syscall_pre_impl_unlinkat@Base 4.9 + __sanitizer_syscall_pre_impl_unshare@Base 4.9 + __sanitizer_syscall_pre_impl_uselib@Base 4.9 + __sanitizer_syscall_pre_impl_ustat@Base 4.9 + __sanitizer_syscall_pre_impl_utime@Base 4.9 + __sanitizer_syscall_pre_impl_utimensat@Base 4.9 + __sanitizer_syscall_pre_impl_utimes@Base 4.9 + __sanitizer_syscall_pre_impl_vfork@Base 4.9 + __sanitizer_syscall_pre_impl_vhangup@Base 4.9 + __sanitizer_syscall_pre_impl_vmsplice@Base 4.9 + __sanitizer_syscall_pre_impl_wait4@Base 4.9 + __sanitizer_syscall_pre_impl_waitid@Base 4.9 + __sanitizer_syscall_pre_impl_waitpid@Base 4.9 + __sanitizer_syscall_pre_impl_write@Base 4.9 + __sanitizer_syscall_pre_impl_writev@Base 4.9 + __sanitizer_unaligned_load16@Base 4.9 + __sanitizer_unaligned_load32@Base 4.9 + __sanitizer_unaligned_load64@Base 4.9 + __sanitizer_unaligned_store16@Base 4.9 + __sanitizer_unaligned_store32@Base 4.9 + __sanitizer_unaligned_store64@Base 4.9 + __sanitizer_weak_hook_memcmp@Base 8 + __sanitizer_weak_hook_memmem@Base 8 + __sanitizer_weak_hook_strcasecmp@Base 8 + __sanitizer_weak_hook_strcasestr@Base 8 + __sanitizer_weak_hook_strcmp@Base 8 + __sanitizer_weak_hook_strncasecmp@Base 8 + __sanitizer_weak_hook_strncmp@Base 8 + __sanitizer_weak_hook_strstr@Base 8 + __sigsetjmp@Base 4.9 + __snprintf_chk@Base 9 + __sprintf_chk@Base 9 + __strndup@Base 8 + __strxfrm_l@Base 9 + __tls_get_addr@Base 6 + __tsan_acquire@Base 4.9 + __tsan_atomic128_compare_exchange_strong@Base 4.9 + __tsan_atomic128_compare_exchange_val@Base 4.9 + __tsan_atomic128_compare_exchange_weak@Base 4.9 + __tsan_atomic128_exchange@Base 4.9 + __tsan_atomic128_fetch_add@Base 4.9 + __tsan_atomic128_fetch_and@Base 4.9 + __tsan_atomic128_fetch_nand@Base 4.9 + __tsan_atomic128_fetch_or@Base 4.9 + __tsan_atomic128_fetch_sub@Base 4.9 + __tsan_atomic128_fetch_xor@Base 4.9 + __tsan_atomic128_load@Base 4.9 + __tsan_atomic128_store@Base 4.9 + __tsan_atomic16_compare_exchange_strong@Base 4.9 + __tsan_atomic16_compare_exchange_val@Base 4.9 + __tsan_atomic16_compare_exchange_weak@Base 4.9 + __tsan_atomic16_exchange@Base 4.9 + __tsan_atomic16_fetch_add@Base 4.9 + __tsan_atomic16_fetch_and@Base 4.9 + __tsan_atomic16_fetch_nand@Base 4.9 + __tsan_atomic16_fetch_or@Base 4.9 + __tsan_atomic16_fetch_sub@Base 4.9 + __tsan_atomic16_fetch_xor@Base 4.9 + __tsan_atomic16_load@Base 4.9 + __tsan_atomic16_store@Base 4.9 + __tsan_atomic32_compare_exchange_strong@Base 4.9 + __tsan_atomic32_compare_exchange_val@Base 4.9 + __tsan_atomic32_compare_exchange_weak@Base 4.9 + __tsan_atomic32_exchange@Base 4.9 + __tsan_atomic32_fetch_add@Base 4.9 + __tsan_atomic32_fetch_and@Base 4.9 + __tsan_atomic32_fetch_nand@Base 4.9 + __tsan_atomic32_fetch_or@Base 4.9 + __tsan_atomic32_fetch_sub@Base 4.9 + __tsan_atomic32_fetch_xor@Base 4.9 + __tsan_atomic32_load@Base 4.9 + __tsan_atomic32_store@Base 4.9 + __tsan_atomic64_compare_exchange_strong@Base 4.9 + __tsan_atomic64_compare_exchange_val@Base 4.9 + __tsan_atomic64_compare_exchange_weak@Base 4.9 + __tsan_atomic64_exchange@Base 4.9 + __tsan_atomic64_fetch_add@Base 4.9 + __tsan_atomic64_fetch_and@Base 4.9 + __tsan_atomic64_fetch_nand@Base 4.9 + __tsan_atomic64_fetch_or@Base 4.9 + __tsan_atomic64_fetch_sub@Base 4.9 + __tsan_atomic64_fetch_xor@Base 4.9 + __tsan_atomic64_load@Base 4.9 + __tsan_atomic64_store@Base 4.9 + __tsan_atomic8_compare_exchange_strong@Base 4.9 + __tsan_atomic8_compare_exchange_val@Base 4.9 + __tsan_atomic8_compare_exchange_weak@Base 4.9 + __tsan_atomic8_exchange@Base 4.9 + __tsan_atomic8_fetch_add@Base 4.9 + __tsan_atomic8_fetch_and@Base 4.9 + __tsan_atomic8_fetch_nand@Base 4.9 + __tsan_atomic8_fetch_or@Base 4.9 + __tsan_atomic8_fetch_sub@Base 4.9 + __tsan_atomic8_fetch_xor@Base 4.9 + __tsan_atomic8_load@Base 4.9 + __tsan_atomic8_store@Base 4.9 + __tsan_atomic_signal_fence@Base 4.9 + __tsan_atomic_thread_fence@Base 4.9 + __tsan_check_no_mutexes_held@Base 14 + __tsan_create_fiber@Base 10 + __tsan_default_options@Base 4.9 + __tsan_default_suppressions@Base 7 + __tsan_destroy_fiber@Base 10 + __tsan_external_assign_tag@Base 8 + __tsan_external_read@Base 8 + __tsan_external_register_header@Base 8 + __tsan_external_register_tag@Base 8 + __tsan_external_write@Base 8 + __tsan_flush_memory@Base 8 + __tsan_func_entry@Base 4.9 + __tsan_func_exit@Base 4.9 + __tsan_get_alloc_stack@Base 8 + __tsan_get_current_fiber@Base 10 + __tsan_get_current_report@Base 7 + __tsan_get_report_data@Base 7 + __tsan_get_report_loc@Base 7 + __tsan_get_report_loc_object_type@Base 8 + __tsan_get_report_mop@Base 7 + __tsan_get_report_mutex@Base 7 + __tsan_get_report_stack@Base 7 + __tsan_get_report_tag@Base 9 + __tsan_get_report_thread@Base 7 + __tsan_get_report_unique_tid@Base 7 + __tsan_ignore_thread_begin@Base 8 + __tsan_ignore_thread_end@Base 8 + __tsan_init@Base 4.9 + __tsan_java_acquire@Base 6 + __tsan_java_alloc@Base 4.9 + __tsan_java_finalize@Base 5 + __tsan_java_find@Base 8 + __tsan_java_fini@Base 4.9 + __tsan_java_free@Base 4.9 + __tsan_java_init@Base 4.9 + __tsan_java_move@Base 4.9 + __tsan_java_mutex_lock@Base 4.9 + __tsan_java_mutex_lock_rec@Base 4.9 + __tsan_java_mutex_read_lock@Base 4.9 + __tsan_java_mutex_read_unlock@Base 4.9 + __tsan_java_mutex_unlock@Base 4.9 + __tsan_java_mutex_unlock_rec@Base 4.9 + __tsan_java_release@Base 6 + __tsan_java_release_store@Base 6 + __tsan_locate_address@Base 8 + __tsan_memcpy@Base 13 + __tsan_memmove@Base 13 + __tsan_memset@Base 13 + __tsan_mutex_create@Base 8 + __tsan_mutex_destroy@Base 8 + __tsan_mutex_post_divert@Base 8 + __tsan_mutex_post_lock@Base 8 + __tsan_mutex_post_signal@Base 8 + __tsan_mutex_post_unlock@Base 8 + __tsan_mutex_pre_divert@Base 8 + __tsan_mutex_pre_lock@Base 8 + __tsan_mutex_pre_signal@Base 8 + __tsan_mutex_pre_unlock@Base 8 + __tsan_on_report@Base 7 + __tsan_on_thread_idle@Base 14 + __tsan_read16@Base 4.9 + __tsan_read16_pc@Base 6 + __tsan_read1@Base 4.9 + __tsan_read1_pc@Base 6 + __tsan_read2@Base 4.9 + __tsan_read2_pc@Base 6 + __tsan_read4@Base 4.9 + __tsan_read4_pc@Base 6 + __tsan_read8@Base 4.9 + __tsan_read8_pc@Base 6 + __tsan_read_range@Base 4.9 + __tsan_read_range_pc@Base 10 + __tsan_release@Base 4.9 + __tsan_set_fiber_name@Base 10 + __tsan_switch_to_fiber@Base 10 + __tsan_symbolize_external@Base 7 + __tsan_symbolize_external_ex@Base 9 + __tsan_test_only_on_fork@Base 13 + __tsan_testonly_barrier_init@Base 7 + __tsan_testonly_barrier_wait@Base 7 + __tsan_testonly_shadow_stack_current_size@Base 8 + __tsan_unaligned_read16@Base 6 + __tsan_unaligned_read2@Base 4.9 + __tsan_unaligned_read4@Base 4.9 + __tsan_unaligned_read8@Base 4.9 + __tsan_unaligned_write16@Base 6 + __tsan_unaligned_write2@Base 4.9 + __tsan_unaligned_write4@Base 4.9 + __tsan_unaligned_write8@Base 4.9 + __tsan_vptr_read@Base 4.9 + __tsan_vptr_update@Base 4.9 + __tsan_write16@Base 4.9 + __tsan_write16_pc@Base 6 + __tsan_write1@Base 4.9 + __tsan_write1_pc@Base 6 + __tsan_write2@Base 4.9 + __tsan_write2_pc@Base 6 + __tsan_write4@Base 4.9 + __tsan_write4_pc@Base 6 + __tsan_write8@Base 4.9 + __tsan_write8_pc@Base 6 + __tsan_write_range@Base 4.9 + __tsan_write_range_pc@Base 10 + __uflow@Base 5 + __underflow@Base 5 + __vsnprintf_chk@Base 9 + __vsprintf_chk@Base 9 + __wcsxfrm_l@Base 9 + __woverflow@Base 5 + __wuflow@Base 5 + __wunderflow@Base 5 + __xpg_strerror_r@Base 4.9 + __xstat64@Base 4.9 + __xstat@Base 4.9 + _exit@Base 4.9 + _obstack_begin@Base 5 + _obstack_begin_1@Base 5 + _obstack_newchunk@Base 5 + _setjmp@Base 4.9 + abort@Base 4.9 + accept4@Base 4.9 + accept@Base 4.9 + aligned_alloc@Base 5 + argp_parse@Base 14 + asctime@Base 4.9 + asctime_r@Base 4.9 + asprintf@Base 5 + atexit@Base 4.9 + backtrace@Base 4.9 + backtrace_symbols@Base 4.9 + bcmp@Base 10 + bind@Base 4.9 + bsearch@Base 13 + bzero@Base 10 + calloc@Base 4.9 + canonicalize_file_name@Base 4.9 + capget@Base 5 + capset@Base 5 + cfree@Base 4.9 + clock_getcpuclockid@Base 11 + clock_getres@Base 4.9 + clock_gettime@Base 4.9 + clock_settime@Base 4.9 + clone@Base 13 + close@Base 4.9 + closedir@Base 6 + confstr@Base 4.9 + connect@Base 4.9 + creat64@Base 4.9 + creat@Base 4.9 + ctermid@Base 7 + ctime@Base 4.9 + ctime_r@Base 4.9 + dl_iterate_phdr@Base 6 + dlclose@Base 4.9 + dlopen@Base 4.9 + dn_comp@Base 13 + dn_expand@Base 13 + drand48_r@Base 4.9 + dup2@Base 4.9 + dup3@Base 4.9 + dup@Base 4.9 + endgrent@Base 5 + endpwent@Base 5 + epoll_create1@Base 4.9 + epoll_create@Base 4.9 + epoll_ctl@Base 4.9 + epoll_pwait2@Base 14 + epoll_pwait@Base 7 + epoll_wait@Base 4.9 + ether_aton@Base 4.9 + ether_aton_r@Base 4.9 + ether_hostton@Base 4.9 + ether_line@Base 4.9 + ether_ntoa@Base 4.9 + ether_ntoa_r@Base 4.9 + ether_ntohost@Base 4.9 + eventfd@Base 4.9 + eventfd_read@Base 7 + eventfd_write@Base 7 + fclose@Base 4.9 + fdopen@Base 5 + fflush@Base 4.9 + fgetgrent@Base 10 + fgetgrent_r@Base 10 + fgetpwent@Base 10 + fgetpwent_r@Base 10 + fgets@Base 9 + fgetxattr@Base 5 + flistxattr@Base 5 + fmemopen@Base 5 + fopen64@Base 5 + fopen@Base 4.9 + fopencookie@Base 6 + fork@Base 4.9 + fprintf@Base 5 + fputs@Base 9 + fread@Base 4.9 + free@Base 4.9 + freopen64@Base 5 + freopen@Base 4.9 + frexp@Base 4.9 + frexpf@Base 4.9 + frexpl@Base 4.9 + fscanf@Base 4.9 + fstat64@Base 4.9 + fstat@Base 4.9 + fstatfs64@Base 4.9 + fstatfs@Base 4.9 + fstatvfs64@Base 4.9 + fstatvfs@Base 4.9 + ftime@Base 5 + fwrite@Base 4.9 + get_current_dir_name@Base 4.9 + getaddrinfo@Base 4.9 + getcwd@Base 4.9 + getdelim@Base 4.9 + getentropy@Base 14 + getgrent@Base 10 + getgrent_r@Base 10 + getgrgid@Base 10 + getgrgid_r@Base 10 + getgrnam@Base 10 + getgrnam_r@Base 10 + getgrouplist@Base 13 + getgroups@Base 4.9 + gethostbyaddr@Base 4.9 + gethostbyaddr_r@Base 4.9 + gethostbyname2@Base 4.9 + gethostbyname2_r@Base 4.9 + gethostbyname@Base 4.9 + gethostbyname_r@Base 4.9 + gethostent@Base 4.9 + gethostent_r@Base 4.9 + getifaddrs@Base 5 + getitimer@Base 4.9 + getline@Base 4.9 + getloadavg@Base 8 + getmntent@Base 4.9 + getmntent_r@Base 4.9 + getnameinfo@Base 5 + getnetbyaddr@Base 13 + getnetbyname@Base 13 + getnetent@Base 13 + getpass@Base 5 + getpeername@Base 4.9 + getprotobyname@Base 11 + getprotobyname_r@Base 11 + getprotobynumber@Base 11 + getprotobynumber_r@Base 11 + getprotoent@Base 11 + getprotoent_r@Base 11 + getpwent@Base 10 + getpwent_r@Base 10 + getpwnam@Base 10 + getpwnam_r@Base 10 + getpwuid@Base 10 + getpwuid_r@Base 10 + getrandom@Base 10 + getresgid@Base 5 + getresuid@Base 5 + getsockname@Base 4.9 + getsockopt@Base 4.9 + gettimeofday@Base 4.9 + getusershell@Base 10 + getutent@Base 8 + getutid@Base 8 + getutline@Base 8 + getutxent@Base 8 + getutxid@Base 8 + getutxline@Base 8 + getxattr@Base 5 + glob64@Base 5 + glob@Base 5 + gmtime@Base 4.9 + gmtime_r@Base 4.9 + iconv@Base 4.9 + if_indextoname@Base 5 + if_nametoindex@Base 5 + inet_aton@Base 4.9 + inet_ntop@Base 4.9 + inet_pton@Base 4.9 + initgroups@Base 4.9 + inotify_init1@Base 4.9 + inotify_init@Base 4.9 + ioctl@Base 4.9 + kill@Base 4.9 + lgamma@Base 4.9 + lgamma_r@Base 4.9 + lgammaf@Base 4.9 + lgammaf_r@Base 4.9 + lgammal@Base 4.9 + lgammal_r@Base 4.9 + lgetxattr@Base 5 + listen@Base 4.9 + listxattr@Base 5 + llistxattr@Base 5 + localtime@Base 4.9 + localtime_r@Base 4.9 + longjmp@Base 4.9 + lrand48_r@Base 4.9 + lstat64@Base 13 + lstat@Base 13 + malloc@Base 4.9 + malloc_usable_size@Base 4.9 + mbsnrtowcs@Base 4.9 + mbsrtowcs@Base 4.9 + mbstowcs@Base 4.9 + mcheck@Base 8 + mcheck_pedantic@Base 8 + memalign@Base 4.9 + memchr@Base 4.9 + memcmp@Base 4.9 + memcpy@Base 4.9 + memmem@Base 7 + memmove@Base 4.9 + memrchr@Base 4.9 + memset@Base 4.9 + mincore@Base 6 + mktime@Base 5 + mlock@Base 4.9 + mlockall@Base 4.9 + mmap64@Base 4.9 + mmap@Base 4.9 + modf@Base 4.9 + modff@Base 4.9 + modfl@Base 4.9 + mprobe@Base 8 + mprotect@Base 9 + msgrcv@Base 11 + msgsnd@Base 11 + munlock@Base 4.9 + munlockall@Base 4.9 + munmap@Base 4.9 + name_to_handle_at@Base 9 + nanosleep@Base 4.9 + on_exit@Base 4.9 + open64@Base 4.9 + open@Base 4.9 + open_by_handle_at@Base 9 + open_memstream@Base 5 + open_wmemstream@Base 5 + opendir@Base 4.9 + pause@Base 8 + pclose@Base 10 + pipe2@Base 4.9 + pipe@Base 4.9 + poll@Base 4.9 + popen@Base 10 + posix_memalign@Base 4.9 + posix_spawn@Base 13 + posix_spawnp@Base 13 + ppoll@Base 4.9 + prctl@Base 4.9 + pread64@Base 4.9 + pread@Base 4.9 + preadv64@Base 4.9 + preadv@Base 4.9 + printf@Base 5 + process_vm_readv@Base 6 + process_vm_writev@Base 6 + pthread_attr_getaffinity_np@Base 4.9 + pthread_attr_getdetachstate@Base 4.9 + pthread_attr_getguardsize@Base 4.9 + pthread_attr_getinheritsched@Base 4.9 + pthread_attr_getschedparam@Base 4.9 + pthread_attr_getschedpolicy@Base 4.9 + pthread_attr_getscope@Base 4.9 + pthread_attr_getstack@Base 4.9 + pthread_attr_getstacksize@Base 4.9 + pthread_barrier_destroy@Base 4.9 + pthread_barrier_init@Base 4.9 + pthread_barrier_wait@Base 4.9 + pthread_barrierattr_getpshared@Base 5 + pthread_cond_broadcast@Base 4.9 + pthread_cond_clockwait@Base 13 + pthread_cond_destroy@Base 4.9 + pthread_cond_init@Base 4.9 + pthread_cond_signal@Base 4.9 + pthread_cond_timedwait@Base 4.9 + pthread_cond_wait@Base 4.9 + pthread_condattr_getclock@Base 5 + pthread_condattr_getpshared@Base 5 + pthread_create@Base 4.9 + pthread_detach@Base 4.9 + pthread_exit@Base 10 + pthread_getaffinity_np@Base 13 + pthread_getcpuclockid@Base 13 + pthread_getname_np@Base 9 + pthread_getschedparam@Base 4.9 + pthread_join@Base 4.9 + pthread_kill@Base 4.9 + pthread_mutex_destroy@Base 4.9 + pthread_mutex_init@Base 4.9 + pthread_mutex_lock@Base 4.9 + pthread_mutex_timedlock@Base 4.9 + pthread_mutex_trylock@Base 4.9 + pthread_mutex_unlock@Base 4.9 + pthread_mutexattr_getprioceiling@Base 5 + pthread_mutexattr_getprotocol@Base 5 + pthread_mutexattr_getpshared@Base 5 + pthread_mutexattr_getrobust@Base 5 + pthread_mutexattr_getrobust_np@Base 5 + pthread_mutexattr_gettype@Base 5 + pthread_once@Base 4.9 + pthread_rwlock_destroy@Base 4.9 + pthread_rwlock_init@Base 4.9 + pthread_rwlock_rdlock@Base 4.9 + pthread_rwlock_timedrdlock@Base 4.9 + pthread_rwlock_timedwrlock@Base 4.9 + pthread_rwlock_tryrdlock@Base 4.9 + pthread_rwlock_trywrlock@Base 4.9 + pthread_rwlock_unlock@Base 4.9 + pthread_rwlock_wrlock@Base 4.9 + pthread_rwlockattr_getkind_np@Base 5 + pthread_rwlockattr_getpshared@Base 5 + pthread_setcancelstate@Base 6 + pthread_setcanceltype@Base 6 + pthread_setname_np@Base 4.9 + pthread_sigmask@Base 7 + pthread_spin_destroy@Base 4.9 + pthread_spin_init@Base 4.9 + pthread_spin_lock@Base 4.9 + pthread_spin_trylock@Base 4.9 + pthread_spin_unlock@Base 4.9 + pthread_timedjoin_np@Base 10 + pthread_tryjoin_np@Base 10 + ptrace@Base 4.9 + ptsname@Base 11 + ptsname_r@Base 11 + puts@Base 4.9 + pututxline@Base 10 + pvalloc@Base 4.9 + pwrite64@Base 4.9 + pwrite@Base 4.9 + pwritev64@Base 4.9 + pwritev@Base 4.9 + qsort@Base 11 + qsort_r@Base 11 + raise@Base 4.9 + rand_r@Base 5 + random_r@Base 4.9 + read@Base 4.9 + readdir64@Base 4.9 + readdir64_r@Base 4.9 + readdir@Base 4.9 + readdir_r@Base 4.9 + readlink@Base 9 + readlinkat@Base 9 + readv@Base 4.9 + realloc@Base 4.9 + reallocarray@Base 10 + realpath@Base 4.9 + recv@Base 4.9 + recvfrom@Base 7 + recvmmsg@Base 9 + recvmsg@Base 4.9 + regcomp@Base 10 + regerror@Base 10 + regexec@Base 10 + regfree@Base 10 + remquo@Base 4.9 + remquof@Base 4.9 + remquol@Base 4.9 + rmdir@Base 4.9 + scandir64@Base 4.9 + scandir@Base 4.9 + scanf@Base 4.9 + sched_getaffinity@Base 4.9 + sched_getparam@Base 6 + sem_destroy@Base 4.9 + sem_getvalue@Base 4.9 + sem_init@Base 4.9 + sem_open@Base 13 + sem_post@Base 4.9 + sem_timedwait@Base 4.9 + sem_trywait@Base 4.9 + sem_unlink@Base 13 + sem_wait@Base 4.9 + send@Base 4.9 + sendmmsg@Base 9 + sendmsg@Base 4.9 + sendto@Base 7 + setbuf@Base 10 + setbuffer@Base 10 + setgrent@Base 5 + setitimer@Base 4.9 + setjmp@Base 8 + setlinebuf@Base 10 + setlocale@Base 4.9 + setpwent@Base 5 + setvbuf@Base 10 + shmctl@Base 4.9 + sigaction@Base 4.9 + sigaltstack@Base 11 + sigandset@Base 11 + sigblock@Base 7 + sigemptyset@Base 4.9 + sigfillset@Base 4.9 + siglongjmp@Base 4.9 + signal@Base 4.9 + signalfd@Base 4.9 + sigorset@Base 11 + sigpending@Base 4.9 + sigprocmask@Base 4.9 + sigsetjmp@Base 4.9 + sigsetmask@Base 7 + sigsuspend@Base 4.9 + sigtimedwait@Base 4.9 + sigwait@Base 4.9 + sigwaitinfo@Base 4.9 + sincos@Base 4.9 + sincosf@Base 4.9 + sincosl@Base 4.9 + sleep@Base 4.9 + snprintf@Base 5 + socket@Base 4.9 + socketpair@Base 4.9 + sprintf@Base 5 + sscanf@Base 4.9 + stat64@Base 13 + stat@Base 13 + statfs64@Base 4.9 + statfs@Base 4.9 + statvfs64@Base 4.9 + statvfs@Base 4.9 + strcasecmp@Base 4.9 + strcasestr@Base 6 + strchr@Base 4.9 + strchrnul@Base 4.9 + strcmp@Base 4.9 + strcpy@Base 4.9 + strcspn@Base 6 + strdup@Base 4.9 + strerror@Base 4.9 + strerror_r@Base 4.9 + strlen@Base 4.9 + strncasecmp@Base 4.9 + strncmp@Base 4.9 + strncpy@Base 4.9 + strndup@Base 8 + strnlen@Base 7 + strpbrk@Base 6 + strptime@Base 4.9 + strrchr@Base 4.9 + strspn@Base 6 + strstr@Base 4.9 + strtoimax@Base 4.9 + strtok@Base 8 + strtoumax@Base 4.9 + strxfrm@Base 9 + strxfrm_l@Base 9 + sysinfo@Base 4.9 + tcgetattr@Base 4.9 + tempnam@Base 4.9 + textdomain@Base 4.9 + time@Base 4.9 + timerfd_gettime@Base 5 + timerfd_settime@Base 5 + times@Base 4.9 + tmpfile64@Base 5 + tmpfile@Base 5 + tmpnam@Base 4.9 + tmpnam_r@Base 4.9 + tsearch@Base 5 + ttyname@Base 10 + ttyname_r@Base 7 + uname@Base 11 + unlink@Base 4.9 + usleep@Base 4.9 + valloc@Base 4.9 + vasprintf@Base 5 + vfork@Base 5 + vfprintf@Base 5 + vfscanf@Base 4.9 + vprintf@Base 5 + vscanf@Base 4.9 + vsnprintf@Base 5 + vsprintf@Base 5 + vsscanf@Base 4.9 + wait3@Base 4.9 + wait4@Base 4.9 + wait@Base 4.9 + waitid@Base 4.9 + waitpid@Base 4.9 + wcrtomb@Base 6 + wcscat@Base 8 + wcsdup@Base 10 + wcslen@Base 8 + wcsncat@Base 8 + wcsnlen@Base 8 + wcsnrtombs@Base 4.9 + wcsrtombs@Base 4.9 + wcstombs@Base 4.9 + wcsxfrm@Base 9 + wcsxfrm_l@Base 9 + wctomb@Base 10 + wordexp@Base 4.9 + write@Base 4.9 + writev@Base 4.9 + xdr_bool@Base 5 + xdr_bytes@Base 5 + xdr_char@Base 5 + xdr_destroy@Base 11 + xdr_double@Base 5 + xdr_enum@Base 5 + xdr_float@Base 5 + xdr_hyper@Base 5 + xdr_int16_t@Base 5 + xdr_int32_t@Base 5 + xdr_int64_t@Base 5 + xdr_int8_t@Base 5 + xdr_int@Base 5 + xdr_long@Base 5 + xdr_longlong_t@Base 5 + xdr_quad_t@Base 5 + xdr_short@Base 5 + xdr_string@Base 5 + xdr_u_char@Base 5 + xdr_u_hyper@Base 5 + xdr_u_int@Base 5 + xdr_u_long@Base 5 + xdr_u_longlong_t@Base 5 + xdr_u_quad_t@Base 5 + xdr_u_short@Base 5 + xdr_uint16_t@Base 5 + xdr_uint32_t@Base 5 + xdr_uint64_t@Base 5 + xdr_uint8_t@Base 5 + xdrmem_create@Base 5 + xdrrec_create@Base 11 + xdrstdio_create@Base 5 diff --git a/libubsan1.symbols b/libubsan1.symbols new file mode 100644 index 0000000..acf4542 --- /dev/null +++ b/libubsan1.symbols @@ -0,0 +1,155 @@ +libubsan.so.1 libubsan1 #MINVER# + _ZN7__ubsan31RegisterUndefinedBehaviorReportEPNS_23UndefinedBehaviorReportE@Base 9 + __asan_backtrace_alloc@Base 4.9 + __asan_backtrace_close@Base 4.9 + __asan_backtrace_create_state@Base 4.9 + __asan_backtrace_dwarf_add@Base 4.9 + __asan_backtrace_free@Base 4.9 + __asan_backtrace_get_view@Base 4.9 + __asan_backtrace_initialize@Base 4.9 + __asan_backtrace_open@Base 4.9 + __asan_backtrace_pcinfo@Base 4.9 + __asan_backtrace_qsort@Base 4.9 + __asan_backtrace_release_view@Base 4.9 + __asan_backtrace_syminfo@Base 4.9 + __asan_backtrace_syminfo_to_full_callback@Base 11 + __asan_backtrace_syminfo_to_full_error_callback@Base 11 + __asan_backtrace_uncompress_lzma@Base 11 + __asan_backtrace_uncompress_zdebug@Base 8 + __asan_backtrace_uncompress_zstd@Base 13 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_cplus_demangle_builtin_types@Base 4.9 + __asan_cplus_demangle_fill_ctor@Base 4.9 + __asan_cplus_demangle_fill_dtor@Base 4.9 + __asan_cplus_demangle_fill_extended_operator@Base 4.9 + __asan_cplus_demangle_fill_name@Base 4.9 + __asan_cplus_demangle_init_info@Base 4.9 + __asan_cplus_demangle_mangled_name@Base 4.9 + __asan_cplus_demangle_operators@Base 4.9 + __asan_cplus_demangle_print@Base 4.9 + __asan_cplus_demangle_print_callback@Base 4.9 + __asan_cplus_demangle_type@Base 4.9 + __asan_cplus_demangle_v3@Base 4.9 + __asan_cplus_demangle_v3_callback@Base 4.9 + __asan_internal_memcmp@Base 4.9 + __asan_internal_memcpy@Base 4.9 + __asan_internal_memset@Base 4.9 + __asan_internal_strcmp@Base 4.9 + __asan_internal_strlen@Base 4.9 + __asan_internal_strncmp@Base 4.9 + __asan_internal_strnlen@Base 4.9 + __asan_is_gnu_v3_mangled_ctor@Base 4.9 + __asan_is_gnu_v3_mangled_dtor@Base 4.9 + __asan_java_demangle_v3@Base 4.9 + __asan_java_demangle_v3_callback@Base 4.9 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_acquire_crash_state@Base 9 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_bool_flag_init@Base 11 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_load16@Base 13 + __sanitizer_cov_load1@Base 13 + __sanitizer_cov_load2@Base 13 + __sanitizer_cov_load4@Base 13 + __sanitizer_cov_load8@Base 13 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __sanitizer_cov_store16@Base 13 + __sanitizer_cov_store1@Base 13 + __sanitizer_cov_store2@Base 13 + __sanitizer_cov_store4@Base 13 + __sanitizer_cov_store8@Base 13 + __sanitizer_cov_trace_cmp1@Base 7 + __sanitizer_cov_trace_cmp2@Base 7 + __sanitizer_cov_trace_cmp4@Base 7 + __sanitizer_cov_trace_cmp8@Base 7 + __sanitizer_cov_trace_cmp@Base 6 + __sanitizer_cov_trace_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __sanitizer_cov_trace_gep@Base 7 + __sanitizer_cov_trace_pc_guard@Base 7 + __sanitizer_cov_trace_pc_guard_init@Base 7 + __sanitizer_cov_trace_pc_indir@Base 7 + __sanitizer_cov_trace_switch@Base 6 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_free_hook@Base 13 + __sanitizer_get_module_and_offset_for_pc@Base 8 + __sanitizer_get_report_path@Base 12 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_internal_memcpy@Base 14 + __sanitizer_internal_memmove@Base 14 + __sanitizer_internal_memset@Base 14 + __sanitizer_malloc_hook@Base 13 + __sanitizer_on_print@Base 10 + __sanitizer_report_error_summary@Base 4.9 + __sanitizer_sandbox_on_notify@Base 4.9 + __sanitizer_set_death_callback@Base 6 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.9 + __sanitizer_symbolize_global@Base 7 + __sanitizer_symbolize_pc@Base 7 + __ubsan_default_options@Base 8 + __ubsan_get_current_report_data@Base 9 + __ubsan_handle_add_overflow@Base 4.9 + __ubsan_handle_add_overflow_abort@Base 4.9 + __ubsan_handle_alignment_assumption@Base 10 + __ubsan_handle_alignment_assumption_abort@Base 10 + __ubsan_handle_builtin_unreachable@Base 4.9 + __ubsan_handle_cfi_bad_icall@Base 9 + __ubsan_handle_cfi_bad_icall_abort@Base 9 + __ubsan_handle_cfi_bad_type@Base 7 + __ubsan_handle_cfi_check_fail@Base 7 + __ubsan_handle_cfi_check_fail_abort@Base 7 + __ubsan_handle_divrem_overflow@Base 4.9 + __ubsan_handle_divrem_overflow_abort@Base 4.9 + __ubsan_handle_dynamic_type_cache_miss@Base 4.9 + __ubsan_handle_dynamic_type_cache_miss_abort@Base 4.9 + __ubsan_handle_float_cast_overflow@Base 4.9 + __ubsan_handle_float_cast_overflow_abort@Base 4.9 + __ubsan_handle_function_type_mismatch@Base 14 + __ubsan_handle_function_type_mismatch_abort@Base 14 + __ubsan_handle_function_type_mismatch_v1@Base 4.9 + __ubsan_handle_function_type_mismatch_v1_abort@Base 4.9 + __ubsan_handle_implicit_conversion@Base 9 + __ubsan_handle_implicit_conversion_abort@Base 9 + __ubsan_handle_invalid_builtin@Base 8 + __ubsan_handle_invalid_builtin_abort@Base 8 + __ubsan_handle_invalid_objc_cast@Base 11 + __ubsan_handle_invalid_objc_cast_abort@Base 11 + __ubsan_handle_load_invalid_value@Base 4.9 + __ubsan_handle_load_invalid_value_abort@Base 4.9 + __ubsan_handle_missing_return@Base 4.9 + __ubsan_handle_mul_overflow@Base 4.9 + __ubsan_handle_mul_overflow_abort@Base 4.9 + __ubsan_handle_negate_overflow@Base 4.9 + __ubsan_handle_negate_overflow_abort@Base 4.9 + __ubsan_handle_nonnull_arg@Base 5 + __ubsan_handle_nonnull_arg_abort@Base 5 + __ubsan_handle_nonnull_return_v1@Base 8 + __ubsan_handle_nonnull_return_v1_abort@Base 8 + __ubsan_handle_nullability_arg@Base 8 + __ubsan_handle_nullability_arg_abort@Base 8 + __ubsan_handle_nullability_return_v1@Base 8 + __ubsan_handle_nullability_return_v1_abort@Base 8 + __ubsan_handle_out_of_bounds@Base 4.9 + __ubsan_handle_out_of_bounds_abort@Base 4.9 + __ubsan_handle_pointer_overflow@Base 8 + __ubsan_handle_pointer_overflow_abort@Base 8 + __ubsan_handle_shift_out_of_bounds@Base 4.9 + __ubsan_handle_shift_out_of_bounds_abort@Base 4.9 + __ubsan_handle_sub_overflow@Base 4.9 + __ubsan_handle_sub_overflow_abort@Base 4.9 + __ubsan_handle_type_mismatch_v1@Base 8 + __ubsan_handle_type_mismatch_v1_abort@Base 8 + __ubsan_handle_vla_bound_not_positive@Base 4.9 + __ubsan_handle_vla_bound_not_positive_abort@Base 4.9 + __ubsan_on_report@Base 9 + __ubsan_vptr_type_cache@Base 4.9 diff --git a/libvtv0.symbols b/libvtv0.symbols new file mode 100644 index 0000000..908a64e --- /dev/null +++ b/libvtv0.symbols @@ -0,0 +1,68 @@ +libvtv.so.0 libvtv0 #MINVER# + _Z10__vtv_freePv@Base 4.9.0 + (arch=amd64)_Z12__vtv_mallocm@Base 4.9.0 + (arch=i386)_Z12__vtv_mallocj@Base 4.9.0 + _Z14__VLTDumpStatsv@Base 4.9.0 + _Z14__vtv_open_logPKc@Base 4.9.0 + (arch=amd64)_Z16__VLTRegisterSetPPvPKvmmS0_@Base 4.9.0 + (arch=i386)_Z16__VLTRegisterSetPPvPKvjjS0_@Base 4.9.0 + _Z16__vtv_add_to_logiPKcz@Base 4.9.0 + (arch=amd64)_Z17__VLTRegisterPairPPvPKvmS2_@Base 4.9.0 + (arch=i386)_Z17__VLTRegisterPairPPvPKvjS2_@Base 4.9.0 + _Z17__vtv_malloc_initv@Base 4.9.0 + _Z17__vtv_really_failPKc@Base 4.9.0 + _Z17__vtv_verify_failPPvPKv@Base 4.9.0 + _Z18__vtv_malloc_statsv@Base 4.9.0 + _Z20__vtv_malloc_protectv@Base 4.9.0 + (arch=amd64)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@Base 4.9.0 + (arch=i386)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@Base 4.9.0 + (arch=amd64)_Z22__VLTRegisterPairDebugPPvPKvmS2_PKcS4_@Base 4.9.0 + (arch=i386)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@Base 4.9.0 + _Z22__vtv_malloc_unprotectv@Base 4.9.0 + _Z23__vtv_malloc_dump_statsv@Base 4.9.0 + _Z23__vtv_verify_fail_debugPPvPKvPKc@Base 4.9.0 + (arch=amd64)_Z23search_cached_file_datam@Base 4.9.0 + (arch=i386)_Z23search_cached_file_dataj@Base 4.9.0 + _Z24__VLTVerifyVtablePointerPPvPKv@Base 4.9.0 + _Z25__vtv_count_mmapped_pagesv@Base 4.9.0 + _Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@Base 4.9.0 + _Z30__vtv_log_verification_failurePKcb@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEm@Base 4.9.0 + (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEm@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0 + (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEj@Base 4.9.0 + (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEj@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0 + (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0 + __VLTChangePermission@Base 4.9.0 + __VLTprotect@Base 4.9.0 + __VLTunprotect@Base 4.9.0 + _vtable_map_vars_end@Base 4.9.0 + _vtable_map_vars_start@Base 4.9.0 + mprotect_cycles@Base 4.9.0 + num_cache_entries@Base 4.9.0 + num_calls_to_mprotect@Base 4.9.0 + num_calls_to_regpair@Base 4.9.0 + num_calls_to_regset@Base 4.9.0 + num_calls_to_verify_vtable@Base 4.9.0 + num_pages_protected@Base 4.9.0 + regpair_cycles@Base 4.9.0 + regset_cycles@Base 4.9.0 + verify_vtable_cycles@Base 4.9.0 diff --git a/libx32asan8.symbols b/libx32asan8.symbols new file mode 100644 index 0000000..994f196 --- /dev/null +++ b/libx32asan8.symbols @@ -0,0 +1,6 @@ +libasan.so.8 libx32asan8 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" +#include "libasan.symbols.16" + (arch=amd64 i386)__interceptor___tls_get_addr@Base 13 + (arch=amd64 i386)__tls_get_addr@Base 13 diff --git a/locale-gen b/locale-gen new file mode 100755 index 0000000..f07fa55 --- /dev/null +++ b/locale-gen @@ -0,0 +1,51 @@ +#!/bin/sh + +# generate locales that the libstdc++ testsuite depends on + +LOCPATH=`pwd`/locales +export LOCPATH + +[ -d $LOCPATH ] || mkdir -p $LOCPATH + +[ -n "$USE_CPUS" ] || USE_CPUS=1 + +umask 022 + +echo "Generating locales..." +xargs -L 1 -P $USE_CPUS -I{} \ + sh -c ' + set {}; locale=$1; charset=$2 + case $locale in \#*) exit;; esac + [ -n "$locale" -a -n "$charset" ] || exit + echo " `echo $locale | sed \"s/\([^.\@]*\).*/\1/\"`.$charset`echo $locale | sed \"s/\([^\@]*\)\(\@.*\)*/\2/\"`..." + if [ -f $LOCPATH/$locale ]; then + input=$locale + else + input=`echo $locale | sed "s/\([^.]*\)[^@]*\(.*\)/\1\2/"` + fi + localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias + ' <&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " " + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -t) + timeout=$2 + shift + shift + ;; + -m) + message="$2" + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -gt 0 ] || usage + +logfile="$1" +shift +builddir="$1" +shift +[ $# -eq 0 ] || usage + +cleanup() +{ + rm -f $pidfile + exit 0 +} + +#trap cleanup 0 1 3 15 + +echo $$ > $pidfile + +declare -A stamps + +find_logs() +{ + for f in $(find $builddir -name '*.log' \ + ! -name config.log \ + ! -path '*/ada/acats?/tests/*.log' \ + ! -path '*/libbacktrace/*.log') + do + if [ ! -v stamps[$f] ]; then + stamps[$f]=$(date -u -r $f '+%s') + fi + done +} + +# wait for test startups +sleep 30 +find_logs + +# activity in the main log file +sleep 10 +st_logfile=$(date -u -r $logfile '+%s') + +sleep 10 + +while true; do + find_logs + sleep 10 + stamp=$(date -u -r $logfile '+%s') + if [ $stamp -gt $st_logfile ]; then + # there is still action in the primary logfile. do nothing. + st_logfile=$stamp + else + activity=0 + for log in "${!stamps[@]}"; do + [ -f $log ] || continue + stamp=$(date -u -r $log '+%s') + if [ $stamp -gt ${stamps[$log]} ]; then + if [ $activity -eq 0 ]; then + echo + fi + echo "[$(date -u -r $log '+%T')] $log: $message" + tail -3 $log + activity=$(expr $activity + 1) + stamps[$log]=$stamp + fi + done + if [ $activity -gt 0 ]; then + # already emitted messages above + echo + else + # nothing changed in the other log files. maybe a timeout ... + : + fi + fi + sleep $timeout +done + +exit 0 diff --git a/patches/0004-Ada-merge-all-timeval-and-timespec-definitions-and-c.diff b/patches/0004-Ada-merge-all-timeval-and-timespec-definitions-and-c.diff new file mode 100644 index 0000000..3872c95 --- /dev/null +++ b/patches/0004-Ada-merge-all-timeval-and-timespec-definitions-and-c.diff @@ -0,0 +1,4395 @@ +Description: Ada: merge all timeval and timespec definitions and conversions + This is version 12. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065 +From: Nicolas Boulenguez + +diff --git a/src/gcc/ada/Makefile.rtl b/src/gcc/ada/Makefile.rtl +index 6e1ca30..8b34047 100644 +--- a/src/gcc/ada/Makefile.rtl ++++ b/src/gcc/ada/Makefile.rtl +@@ -752,6 +752,7 @@ GNATRTL_NONTASKING_OBJS= \ + s-string$(objext) \ + s-ststop$(objext) \ + s-tasloc$(objext) \ ++ s-c_time$(objext) \ + s-traceb$(objext) \ + s-traent$(objext) \ + s-trasym$(objext) \ +@@ -1384,7 +1385,6 @@ ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) $(target_os))),) + s-inmaop.adb. * +- * * +- * GNAT was originally developed by the GNAT team at New York University. * +- * Extensive contributions were provided by Ada Core Technologies Inc. * +- * * +- ****************************************************************************/ +- +-/* This file contains routines marked with pragmas Import in package */ +-/* GNAT.Calendar. It is used to do Duration to timeval conversion. */ +-/* These are simple wrapper functions to abstract the fact that the C */ +-/* struct timeval fields are not normalized (they are generally */ +-/* defined as int or long values). */ +- +-#if defined (__vxworks) +-#ifdef __RTP__ +-#include +-#include +-#if (_WRS_VXWORKS_MAJOR == 7) || (_WRS_VXWORKS_MINOR != 0) +-#include +-#endif +-#else +-#include +-#endif +-#elif defined (__nucleus__) +-#include +-#else +-#include +-#endif +- +-#ifdef __MINGW32__ +-#include "mingw32.h" +-#include +-#endif +- +-void +-__gnat_timeval_to_duration (struct timeval *t, long long *sec, long *usec) +-{ +- *sec = (long long) t->tv_sec; +- *usec = (long) t->tv_usec; +-} +- +-void +-__gnat_duration_to_timeval (long long sec, long usec, struct timeval *t) +-{ +- /* here we are doing implicit conversion to the struct timeval +- fields types. */ +- +- t->tv_sec = sec; +- t->tv_usec = usec; +-} +diff --git a/src/gcc/ada/gcc-interface/Makefile.in b/src/gcc/ada/gcc-interface/Makefile.in +index 0666fc0..976dae5 100644 +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -918,7 +918,6 @@ tracebak.o : tracebak.c + adadecode.o : adadecode.c adadecode.h + aux-io.o : aux-io.c + argv.o : argv.c +-cal.o : cal.c + deftarg.o : deftarg.c + errno.o : errno.c + exit.o : adaint.h exit.c +diff --git a/src/gcc/ada/libgnarl/a-exetim__posix.adb b/src/gcc/ada/libgnarl/a-exetim__posix.adb +index 05c55c5..db873fb 100644 +--- a/src/gcc/ada/libgnarl/a-exetim__posix.adb ++++ b/src/gcc/ada/libgnarl/a-exetim__posix.adb +@@ -34,6 +34,7 @@ + with Ada.Task_Identification; use Ada.Task_Identification; + with Ada.Unchecked_Conversion; + ++with System.C_Time; + with System.Tasking; + with System.OS_Interface; use System.OS_Interface; + with System.Task_Primitives.Operations; use System.Task_Primitives.Operations; +@@ -98,7 +99,7 @@ package body Ada.Execution_Time is + (T : Ada.Task_Identification.Task_Id := + Ada.Task_Identification.Current_Task) return CPU_Time + is +- TS : aliased timespec; ++ TS : aliased System.C_Time.timespec; + Clock_Id : aliased Interfaces.C.int; + Result : Interfaces.C.int; + +@@ -112,7 +113,7 @@ package body Ada.Execution_Time is + + function clock_gettime + (clock_id : Interfaces.C.int; +- tp : access timespec) ++ tp : access System.C_Time.timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + -- Function from the POSIX.1b Realtime Extensions library +@@ -139,7 +140,7 @@ package body Ada.Execution_Time is + (clock_id => Clock_Id, tp => TS'Unchecked_Access); + pragma Assert (Result = 0); + +- return To_CPU_Time (To_Duration (TS)); ++ return To_CPU_Time (System.C_Time.To_Duration (TS)); + end Clock; + + -------------------------- +diff --git a/src/gcc/ada/libgnarl/s-linux.ads b/src/gcc/ada/libgnarl/s-linux.ads +index 233b831..5ce6c70 100644 +--- a/src/gcc/ada/libgnarl/s-linux.ads ++++ b/src/gcc/ada/libgnarl/s-linux.ads +@@ -36,7 +36,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -45,24 +44,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__alpha.ads b/src/gcc/ada/libgnarl/s-linux__alpha.ads +index 72d703d..20dce8d 100644 +--- a/src/gcc/ada/libgnarl/s-linux__alpha.ads ++++ b/src/gcc/ada/libgnarl/s-linux__alpha.ads +@@ -36,7 +36,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package. + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -45,24 +44,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__android.ads b/src/gcc/ada/libgnarl/s-linux__android.ads +index ff369d5..601aec7 100644 +--- a/src/gcc/ada/libgnarl/s-linux__android.ads ++++ b/src/gcc/ada/libgnarl/s-linux__android.ads +@@ -36,7 +36,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -45,24 +44,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__hppa.ads b/src/gcc/ada/libgnarl/s-linux__hppa.ads +index aaa15f8..362408e 100644 +--- a/src/gcc/ada/libgnarl/s-linux__hppa.ads ++++ b/src/gcc/ada/libgnarl/s-linux__hppa.ads +@@ -36,7 +36,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package. + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -45,24 +44,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__loongarch.ads b/src/gcc/ada/libgnarl/s-linux__loongarch.ads +index 5673335..ae22441 100644 +--- a/src/gcc/ada/libgnarl/s-linux__loongarch.ads ++++ b/src/gcc/ada/libgnarl/s-linux__loongarch.ads +@@ -35,7 +35,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -44,25 +43,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype int is Interfaces.C.int; +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__mips.ads b/src/gcc/ada/libgnarl/s-linux__mips.ads +index e7a4597..395d125 100644 +--- a/src/gcc/ada/libgnarl/s-linux__mips.ads ++++ b/src/gcc/ada/libgnarl/s-linux__mips.ads +@@ -35,7 +35,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -44,25 +43,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype int is Interfaces.C.int; +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +@@ -125,8 +107,8 @@ package System.Linux is + + -- struct_sigaction offsets + +- sa_handler_pos : constant := int'Size / 8; +- sa_mask_pos : constant := int'Size / 8 + ++ sa_handler_pos : constant := Interfaces.C.int'Size / 8; ++ sa_mask_pos : constant := Interfaces.C.int'Size / 8 + + Standard'Address_Size / 8; + sa_flags_pos : constant := 0; + +diff --git a/src/gcc/ada/libgnarl/s-linux__riscv.ads b/src/gcc/ada/libgnarl/s-linux__riscv.ads +index 17df094..5ef97a3 100644 +--- a/src/gcc/ada/libgnarl/s-linux__riscv.ads ++++ b/src/gcc/ada/libgnarl/s-linux__riscv.ads +@@ -35,7 +35,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -44,25 +43,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype int is Interfaces.C.int; +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +@@ -125,8 +107,8 @@ package System.Linux is + -- struct_sigaction offsets + + sa_handler_pos : constant := 0; +- sa_mask_pos : constant := long'Size / 8; +- sa_flags_pos : constant := long'Size / 8 + 128; ++ sa_mask_pos : constant := Interfaces.C.long'Size / 8; ++ sa_flags_pos : constant := Interfaces.C.long'Size / 8 + 128; + + SA_SIGINFO : constant := 16#04#; + SA_ONSTACK : constant := 16#08000000#; +diff --git a/src/gcc/ada/libgnarl/s-linux__sparc.ads b/src/gcc/ada/libgnarl/s-linux__sparc.ads +index 9bfefc2..4f42192 100644 +--- a/src/gcc/ada/libgnarl/s-linux__sparc.ads ++++ b/src/gcc/ada/libgnarl/s-linux__sparc.ads +@@ -36,7 +36,6 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; + + package System.Linux is + pragma Preelaborate; +@@ -45,24 +44,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-linux__x32.ads b/src/gcc/ada/libgnarl/s-linux__x32.ads +index 93a2718..e586ae0 100644 +--- a/src/gcc/ada/libgnarl/s-linux__x32.ads ++++ b/src/gcc/ada/libgnarl/s-linux__x32.ads +@@ -38,8 +38,6 @@ + + with Interfaces.C; + +-with System.Parameters; +- + package System.Linux is + pragma Preelaborate; + +@@ -47,25 +45,8 @@ package System.Linux is + -- Time -- + ---------- + +- subtype suseconds_t is Long_Long_Integer; +- -- Note that suseconds_t is 64 bits. +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Long_Integer; +- -- Note that tv_nsec is 64 bits. +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__aix.adb b/src/gcc/ada/libgnarl/s-osinte__aix.adb +index 6ca3d98..2cd23b5 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__aix.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__aix.adb +@@ -35,15 +35,6 @@ package body System.OS_Interface is + + use Interfaces.C; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -72,29 +63,6 @@ package body System.OS_Interface is + end if; + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F is negative due to a round-up, adjust for positive F value +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------- + -- sched_yield -- + ----------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__aix.ads b/src/gcc/ada/libgnarl/s-osinte__aix.ads +index 9212d33..6bcb564 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__aix.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__aix.ads +@@ -43,7 +43,7 @@ with Ada.Unchecked_Conversion; + with Interfaces.C; + with Interfaces.C.Extensions; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -199,26 +199,18 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new long_long; + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + type struct_timezone is record + tz_minuteswest : int; + tz_dsttime : int; +@@ -419,7 +411,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -542,15 +534,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type pthread_attr_t is new System.Address; + pragma Convention (C, pthread_attr_t); + -- typedef struct __pt_attr *pthread_attr_t; +diff --git a/src/gcc/ada/libgnarl/s-osinte__android.adb b/src/gcc/ada/libgnarl/s-osinte__android.adb +deleted file mode 100644 +index 4670807..0000000 +--- a/src/gcc/ada/libgnarl/s-osinte__android.adb ++++ /dev/null +@@ -1,74 +0,0 @@ +------------------------------------------------------------------------------- +--- -- +--- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- +--- -- +--- S Y S T E M . O S _ I N T E R F A C E -- +--- -- +--- B o d y -- +--- -- +--- Copyright (C) 1995-2024, AdaCore -- +--- -- +--- 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. -- +--- -- +--- As a special exception 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 -- +--- . -- +--- -- +--- GNARL was developed by the GNARL team at Florida State University. -- +--- Extensive contributions were provided by Ada Core Technologies, Inc. -- +--- -- +------------------------------------------------------------------------------- +- +--- This is an Android version of this package. +- +--- This package encapsulates all direct interfaces to OS services +--- that are needed by children of System. +- +-with Interfaces.C; use Interfaces.C; +- +-package body System.OS_Interface is +- +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- +-end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__android.ads b/src/gcc/ada/libgnarl/s-osinte__android.ads +index ca35aab..ecf4a32 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__android.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__android.ads +@@ -40,9 +40,9 @@ + + with Ada.Unchecked_Conversion; + with Interfaces.C; ++with System.C_Time; + with System.Linux; + with System.OS_Constants; +-with System.Parameters; + + package System.OS_Interface is + pragma Preelaborate; +@@ -204,25 +204,17 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime +- (clock_id : clockid_t; tp : access timespec) return int; ++ (clock_id : clockid_t; tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + function sysconf (name : int) return long; + pragma Import (C, sysconf); + +@@ -412,7 +404,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -594,15 +586,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type unsigned_long_long_t is mod 2 ** 64; + -- Local type only used to get the alignment of this type below + +diff --git a/src/gcc/ada/libgnarl/s-osinte__darwin.adb b/src/gcc/ada/libgnarl/s-osinte__darwin.adb +index a2ab6d2..4d4cec4 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__darwin.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__darwin.adb +@@ -36,15 +36,6 @@ with Interfaces.C.Extensions; + package body System.OS_Interface is + use Interfaces.C; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -56,37 +47,13 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ------------------- + -- clock_gettime -- + ------------------- + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int ++ tp : access C_Time.timespec) return int + is + pragma Unreferenced (clock_id); + +@@ -94,33 +61,18 @@ package body System.OS_Interface is + + use Interfaces; + +- type timeval is array (1 .. 3) of C.long; +- -- The timeval array is sized to contain long_long sec and long usec. +- -- If long_long'Size = long'Size then it will be overly large but that +- -- won't effect the implementation since it's not accessed directly. +- +- procedure timeval_to_duration +- (T : not null access timeval; +- sec : not null access C.Extensions.long_long; +- usec : not null access C.long); +- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); +- +- Micro : constant := 10**6; +- sec : aliased C.Extensions.long_long; +- usec : aliased C.long; +- TV : aliased timeval; ++ TV : aliased C_Time.timeval; + Result : int; + + function gettimeofday +- (Tv : access timeval; ++ (Tv : access C_Time.timeval; + Tz : System.Address := System.Null_Address) return int; + pragma Import (C, gettimeofday, "gettimeofday"); + + begin + Result := gettimeofday (TV'Access, System.Null_Address); + pragma Assert (Result = 0); +- timeval_to_duration (TV'Access, sec'Access, usec'Access); +- tp.all := To_Timespec (Duration (sec) + Duration (usec) / Micro); ++ tp.all := C_Time.To_Timespec (TV); + return Result; + end clock_gettime; + +@@ -130,13 +82,12 @@ package body System.OS_Interface is + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int ++ res : access C_Time.timespec) return int + is + pragma Unreferenced (clock_id); + + -- Darwin Threads don't have clock_getres. + +- Nano : constant := 10**9; + nsec : int := 0; + Result : int := -1; + +@@ -145,7 +96,7 @@ package body System.OS_Interface is + + begin + nsec := clock_get_res; +- res.all := To_Timespec (Duration (0.0) + Duration (nsec) / Nano); ++ res.all := C_Time.Nanoseconds_To_Timespec (nsec); + + if nsec > 0 then + Result := 0; +diff --git a/src/gcc/ada/libgnarl/s-osinte__darwin.ads b/src/gcc/ada/libgnarl/s-osinte__darwin.ads +index af5dce5..8e25dff 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__darwin.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__darwin.ads +@@ -39,8 +39,8 @@ + -- Elaborate_Body. It is designed to be a bottom-level (leaf) package. + + with Interfaces.C; ++with System.C_Time; + with System.OS_Constants; +-with System.Parameters; + + package System.OS_Interface is + pragma Preelaborate; +@@ -182,23 +182,15 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; +- +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); ++ res : access C_Time.timespec) return int; + + ------------------------- + -- Priority Scheduling -- +@@ -395,7 +387,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -515,15 +507,6 @@ private + + type pid_t is new int32_t; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + -- + -- Darwin specific signal implementation + -- +diff --git a/src/gcc/ada/libgnarl/s-osinte__dragonfly.adb b/src/gcc/ada/libgnarl/s-osinte__dragonfly.adb +index 6f9c955..96d6c21 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__dragonfly.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__dragonfly.adb +@@ -69,15 +69,6 @@ package body System.OS_Interface is + null; + end pthread_init; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.ts_sec) + Duration (TS.ts_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -89,28 +80,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(ts_sec => S, +- ts_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__dragonfly.ads b/src/gcc/ada/libgnarl/s-osinte__dragonfly.ads +index bf078dd..875fbb5 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__dragonfly.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__dragonfly.ads +@@ -43,7 +43,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -197,30 +197,22 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + +- type timespec is private; +- +- function nanosleep (rqtp, rmtp : access timespec) return int; ++ function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + + type clockid_t is new unsigned_long; + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) ++ tp : access C_Time.timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + type struct_timezone is record + tz_minuteswest : int; + tz_dsttime : int; +@@ -431,7 +423,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + Relative_Timed_Wait : constant Boolean := False; +@@ -635,15 +627,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- ts_sec : time_t; +- ts_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type pthread_t is new System.Address; + type pthread_attr_t is new System.Address; + type pthread_mutex_t is new System.Address; +diff --git a/src/gcc/ada/libgnarl/s-osinte__freebsd.adb b/src/gcc/ada/libgnarl/s-osinte__freebsd.adb +index 1692536..0553771 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__freebsd.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__freebsd.adb +@@ -69,15 +69,6 @@ package body System.OS_Interface is + null; + end pthread_init; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.ts_sec) + Duration (TS.ts_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -89,27 +80,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(ts_sec => S, +- ts_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__freebsd.ads b/src/gcc/ada/libgnarl/s-osinte__freebsd.ads +index 8724ddc..4b60386 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__freebsd.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__freebsd.ads +@@ -43,7 +43,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -197,30 +197,22 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + +- type timespec is private; +- +- function nanosleep (rqtp, rmtp : access timespec) return int; ++ function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + + type clockid_t is new int; + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) ++ tp : access C_Time.timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + type struct_timezone is record + tz_minuteswest : int; + tz_dsttime : int; +@@ -430,7 +422,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -632,15 +624,6 @@ private + type pid_t is new int; + Self_PID : constant pid_t := 0; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- ts_sec : time_t; +- ts_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type pthread_t is new System.Address; + type pthread_attr_t is new System.Address; + type pthread_mutex_t is new System.Address; +diff --git a/src/gcc/ada/libgnarl/s-osinte__gnu.adb b/src/gcc/ada/libgnarl/s-osinte__gnu.adb +index f5a0311..9ebcb9e 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__gnu.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__gnu.adb +@@ -93,15 +93,6 @@ package body System.OS_Interface is + return 0; + end pthread_setschedparam; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -113,28 +104,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__gnu.ads b/src/gcc/ada/libgnarl/s-osinte__gnu.ads +index 8e5760d..b4597c5 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__gnu.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__gnu.ads +@@ -39,7 +39,7 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; +-with System.Parameters; ++with System.C_Time; + with Ada.Unchecked_Conversion; + + package System.OS_Interface is +@@ -207,9 +207,7 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + +- type timespec is private; +- +- function nanosleep (rqtp, rmtp : access timespec) return int; ++ function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + + type clockid_t is new int; +@@ -218,21 +216,15 @@ package System.OS_Interface is + -- From: /usr/include/time.h + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) ++ tp : access C_Time.timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + -- From: /usr/include/unistd.h + function sysconf (name : int) return long; + pragma Import (C, sysconf); +@@ -484,7 +476,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + Relative_Timed_Wait : constant Boolean := False; +@@ -653,15 +645,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + -- From: /usr/include/pthread/pthreadtypes.h: + -- typedef struct __pthread_attr pthread_attr_t; + -- /usr/include/i386-gnu/bits/thread-attr.h: struct __pthread_attr... +diff --git a/src/gcc/ada/libgnarl/s-osinte__hpux-dce.adb b/src/gcc/ada/libgnarl/s-osinte__hpux-dce.adb +index ff1e0d4..1cac79f 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__hpux-dce.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__hpux-dce.adb +@@ -40,38 +40,6 @@ with Interfaces.C; use Interfaces.C; + + package body System.OS_Interface is + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ------------------------- + -- POSIX.1c Section 3 -- + ------------------------- +@@ -298,12 +266,12 @@ package body System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int ++ abstime : access C_Time.timespec) return int + is + function pthread_cond_timedwait_base + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait_base, "pthread_cond_timedwait"); + + begin +diff --git a/src/gcc/ada/libgnarl/s-osinte__hpux-dce.ads b/src/gcc/ada/libgnarl/s-osinte__hpux-dce.ads +index b1ccd96..780ccf3 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__hpux-dce.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__hpux-dce.ads +@@ -42,7 +42,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -188,23 +188,15 @@ package System.OS_Interface is + -- Time -- + ---------- + +- type timespec is private; +- +- function nanosleep (rqtp, rmtp : access timespec) return int; ++ function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; + pragma Import (C, nanosleep); + + type clockid_t is new int; + + function Clock_Gettime +- (Clock_Id : clockid_t; Tp : access timespec) return int; ++ (Clock_Id : clockid_t; Tp : access C_Time.timespec) return int; + pragma Import (C, Clock_Gettime); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + ------------------------- + -- Priority Scheduling -- + ------------------------- +@@ -354,7 +346,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Inline (pthread_cond_timedwait); + -- DCE_THREADS has a nonstandard pthread_cond_timedwait + +@@ -446,15 +438,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + CLOCK_REALTIME : constant clockid_t := 1; + + type cma_t_address is new System.Address; +diff --git a/src/gcc/ada/libgnarl/s-osinte__hpux.ads b/src/gcc/ada/libgnarl/s-osinte__hpux.ads +index 52d5995..46f2199 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__hpux.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__hpux.ads +@@ -42,7 +42,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -180,26 +180,18 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + type struct_timezone is record + tz_minuteswest : int; + tz_dsttime : int; +@@ -399,7 +391,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -516,15 +508,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type pthread_attr_t is new int; + type pthread_condattr_t is new int; + type pthread_mutexattr_t is new int; +diff --git a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +index 9383759..9b40c9a 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +@@ -40,7 +40,7 @@ + + with Ada.Unchecked_Conversion; + with Interfaces.C; +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -202,9 +202,7 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + +- type timespec is private; +- +- function nanosleep (rqtp, rmtp : access timespec) return int; ++ function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + + type clockid_t is new int; +@@ -212,21 +210,15 @@ package System.OS_Interface is + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) ++ tp : access C_Time.timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + function sysconf (name : int) return long; + pragma Import (C, sysconf); + +@@ -427,7 +419,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -599,15 +591,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type pthread_attr_t is record + detachstate : int; + schedpolicy : int; +diff --git a/src/gcc/ada/libgnarl/s-osinte__linux.ads b/src/gcc/ada/libgnarl/s-osinte__linux.ads +index 1bf4d96..9de227e 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__linux.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__linux.ads +@@ -40,6 +40,7 @@ + + with Ada.Unchecked_Conversion; + with Interfaces.C; ++with System.C_Time; + with System.Linux; + with System.OS_Constants; + +@@ -51,8 +52,6 @@ package System.OS_Interface is + + pragma Linker_Options ("-lpthread"); + +- use type System.Linux.time_t; +- + subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; + subtype short is Interfaces.C.short; +@@ -226,26 +225,17 @@ package System.OS_Interface is + -- Time -- + ---------- + +- subtype time_t is System.Linux.time_t; +- subtype timespec is System.Linux.timespec; +- subtype timeval is System.Linux.timeval; + subtype clockid_t is System.Linux.clockid_t; + + function clock_gettime +- (clock_id : clockid_t; tp : access timespec) return int; ++ (clock_id : clockid_t; tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + function sysconf (name : int) return long; + pragma Import (C, sysconf); + +@@ -454,7 +444,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__lynxos178.adb b/src/gcc/ada/libgnarl/s-osinte__lynxos178.adb +index ea8cfab..bd941dd 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__lynxos178.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__lynxos178.adb +@@ -85,15 +85,6 @@ package body System.OS_Interface is + return int (sysconf (SC_PAGESIZE)); + end Get_Page_Size; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -105,29 +96,6 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F is negative due to a round-up, adjust for positive F value +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ------------- + -- sigwait -- + ------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__lynxos178e.ads b/src/gcc/ada/libgnarl/s-osinte__lynxos178e.ads +index 23ea89a..7047652 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__lynxos178e.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__lynxos178e.ads +@@ -42,8 +42,8 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + ++with System.C_Time; + with System.Multiprocessors; +-with System.Parameters; + + package System.OS_Interface is + pragma Preelaborate; +@@ -192,26 +192,18 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + type struct_timezone is record + tz_minuteswest : int; + tz_dsttime : int; +@@ -219,8 +211,6 @@ package System.OS_Interface is + pragma Convention (C, struct_timezone); + type struct_timezone_ptr is access all struct_timezone; + +- type struct_timeval is private; +- + ------------------------- + -- Priority Scheduling -- + ------------------------- +@@ -414,7 +404,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -540,23 +530,6 @@ private + + type pid_t is new long; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type suseconds_t is new int; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type struct_timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, struct_timeval); +- + type st_attr is record + stksize : int; + prio : int; +diff --git a/src/gcc/ada/libgnarl/s-osinte__posix.adb b/src/gcc/ada/libgnarl/s-osinte__posix.adb +index a91a9ae..70a3f2e 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__posix.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__posix.adb +@@ -58,15 +58,6 @@ package body System.OS_Interface is + null; + end pthread_init; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -78,28 +69,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__qnx.adb b/src/gcc/ada/libgnarl/s-osinte__qnx.adb +index d752eca..aef5465 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__qnx.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__qnx.adb +@@ -70,15 +70,6 @@ package body System.OS_Interface is + null; + end pthread_init; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -90,28 +81,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-osinte__qnx.ads b/src/gcc/ada/libgnarl/s-osinte__qnx.ads +index b1de1c6..e6febdb 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__qnx.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__qnx.ads +@@ -40,7 +40,7 @@ + with Ada.Unchecked_Conversion; + with Interfaces.C; + with System.OS_Constants; +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -210,25 +210,17 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime +- (clock_id : clockid_t; tp : access timespec) return int; ++ (clock_id : clockid_t; tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + ------------------------- + -- Priority Scheduling -- + ------------------------- +@@ -415,7 +407,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -569,15 +561,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type unsigned_long_long_t is mod 2 ** 64; + -- Local type only used to get the alignment of this type below + +diff --git a/src/gcc/ada/libgnarl/s-osinte__rtems.adb b/src/gcc/ada/libgnarl/s-osinte__rtems.adb +index 19b45c4..15e13c9 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__rtems.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__rtems.adb +@@ -92,15 +92,6 @@ package body System.OS_Interface is + return int + with Import, External_Name => "rtems_semaphore_release", Convention => C; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -112,27 +103,6 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to round-up, adjust for positive F value +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------------------- + -- Binary_Semaphore_Create -- + ----------------------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__rtems.ads b/src/gcc/ada/libgnarl/s-osinte__rtems.ads +index 6a7487c..b383a88 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__rtems.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__rtems.ads +@@ -51,8 +51,8 @@ + -- It is designed to be a bottom-level (leaf) package. + + with Interfaces.C; ++with System.C_Time; + with System.OS_Constants; +-with System.Parameters; + + package System.OS_Interface is + pragma Preelaborate; +@@ -179,8 +179,6 @@ package System.OS_Interface is + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + +- type timespec is private; +- + type clockid_t is new int; + + CLOCK_REALTIME : constant clockid_t; +@@ -188,20 +186,14 @@ package System.OS_Interface is + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; +- res : access timespec) return int; ++ res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + ------------------------- + -- Priority Scheduling -- + ------------------------- +@@ -426,7 +418,7 @@ package System.OS_Interface is + function pthread_cond_timedwait + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); + + -------------------------- +@@ -452,8 +444,8 @@ package System.OS_Interface is + type struct_sched_param is record + sched_priority : int; + ss_low_priority : int; +- ss_replenish_period : timespec; +- ss_initial_budget : timespec; ++ ss_replenish_period : C_Time.timespec; ++ ss_initial_budget : C_Time.timespec; + sched_ss_max_repl : int; + end record; + pragma Convention (C, struct_sched_param); +@@ -589,15 +581,6 @@ private + + type pid_t is new int; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + CLOCK_REALTIME : constant clockid_t := System.OS_Constants.CLOCK_REALTIME; + CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC; + +diff --git a/src/gcc/ada/libgnarl/s-osinte__solaris.adb b/src/gcc/ada/libgnarl/s-osinte__solaris.adb +index 32e5911..21cb90f 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__solaris.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__solaris.adb +@@ -35,42 +35,8 @@ + -- This package encapsulates all direct interfaces to OS services + -- that are needed by children of System. + +-with Interfaces.C; use Interfaces.C; +- + package body System.OS_Interface is + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ------------------ + -- pthread_init -- + ------------------ +diff --git a/src/gcc/ada/libgnarl/s-osinte__solaris.ads b/src/gcc/ada/libgnarl/s-osinte__solaris.ads +index a7ee96d..fe180fd 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__solaris.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__solaris.ads +@@ -42,7 +42,7 @@ with Interfaces.C; + + with Ada.Unchecked_Conversion; + +-with System.Parameters; ++with System.C_Time; + + package System.OS_Interface is + pragma Preelaborate; +@@ -240,24 +240,16 @@ package System.OS_Interface is + -- Time -- + ---------- + +- type timespec is private; +- + type clockid_t is new int; + + function clock_gettime +- (clock_id : clockid_t; tp : access timespec) return int; ++ (clock_id : clockid_t; tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + function clock_getres +- (clock_id : clockid_t; res : access timespec) return int; ++ (clock_id : clockid_t; res : access C_Time.timespec) return int; + pragma Import (C, clock_getres, "clock_getres"); + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- + function sysconf (name : int) return long; + pragma Import (C, sysconf); + +@@ -346,7 +338,7 @@ package System.OS_Interface is + function cond_timedwait + (cond : access cond_t; + mutex : access mutex_t; +- abstime : access timespec) return int; ++ abstime : access C_Time.timespec) return int; + pragma Import (C, cond_timedwait, "cond_timedwait"); + + function cond_signal (cond : access cond_t) return int; +@@ -525,15 +517,6 @@ private + + type pid_t is new long; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type array_type_9 is array (0 .. 3) of unsigned_char; + type record_type_3 is record + flag : array_type_9; +diff --git a/src/gcc/ada/libgnarl/s-osinte__vxworks.adb b/src/gcc/ada/libgnarl/s-osinte__vxworks.adb +index b4f5a6b..675b603 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__vxworks.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__vxworks.adb +@@ -41,38 +41,6 @@ package body System.OS_Interface is + Low_Priority : constant := 255; + -- VxWorks native (default) lowest scheduling priority + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.ts_sec) + Duration (TS.ts_nsec) / 10#1#E9; +- end To_Duration; +- +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F is negative due to a round-up, adjust for positive F value +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(ts_sec => S, +- ts_nsec => long (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ------------------------- + -- To_VxWorks_Priority -- + ------------------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__vxworks.ads b/src/gcc/ada/libgnarl/s-osinte__vxworks.ads +index 5e4e8ce..a62ec51 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__vxworks.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__vxworks.ads +@@ -39,10 +39,10 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package. + + with Interfaces.C; ++with System.C_Time; + with System.VxWorks; + with System.VxWorks.Ext; + with System.Multiprocessors; +-with System.Parameters; + + package System.OS_Interface is + pragma Preelaborate; +@@ -243,37 +243,13 @@ package System.OS_Interface is + -- Time -- + ---------- + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- -- Time_t here used to be unsigned to match the VxWorks header declaration. +- -- The header declaration has changed in newer releases and is now signed +- -- for applications. +- +- type timespec is record +- ts_sec : time_t; +- ts_nsec : long; +- end record; +- pragma Convention (C, timespec); +- + type clockid_t is new int; + +- function To_Duration (TS : timespec) return Duration; +- pragma Inline (To_Duration); +- +- function To_Timespec (D : Duration) return timespec; +- pragma Inline (To_Timespec); +- -- Convert a Duration value to a timespec value. Note that in VxWorks, +- -- timespec is always non-negative (since time_t is defined above as +- -- unsigned long). This means that there is a potential problem if a +- -- negative argument is passed for D. However, in actual usage, the +- -- value of the input argument D is always non-negative, so no problem +- -- arises in practice. +- + function To_Clock_Ticks (D : Duration) return int; + -- Convert a duration value (in seconds) into clock ticks + + function clock_gettime +- (clock_id : clockid_t; tp : access timespec) return int; ++ (clock_id : clockid_t; tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + ---------------------- +diff --git a/src/gcc/ada/libgnarl/s-osinte__x32.adb b/src/gcc/ada/libgnarl/s-osinte__x32.adb +index ad21941..3bf9623 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__x32.adb ++++ b/src/gcc/ada/libgnarl/s-osinte__x32.adb +@@ -59,15 +59,6 @@ package body System.OS_Interface is + null; + end pthread_init; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (TS : timespec) return Duration is +- begin +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; +- end To_Duration; +- + ------------------------ + -- To_Target_Priority -- + ------------------------ +@@ -79,28 +70,4 @@ package body System.OS_Interface is + return Interfaces.C.int (Prio); + end To_Target_Priority; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return timespec'(tv_sec => S, +- tv_nsec => Long_Long_Integer (F * 10#1#E9)); +- end To_Timespec; +- + end System.OS_Interface; +diff --git a/src/gcc/ada/libgnarl/s-qnx.ads b/src/gcc/ada/libgnarl/s-qnx.ads +index 6fd02b8..61cfcca 100644 +--- a/src/gcc/ada/libgnarl/s-qnx.ads ++++ b/src/gcc/ada/libgnarl/s-qnx.ads +@@ -37,8 +37,6 @@ + + with Interfaces.C; + +-with System.Parameters; +- + package System.QNX is + pragma Preelaborate; + +@@ -47,23 +45,8 @@ package System.QNX is + ---------- + + subtype long is Interfaces.C.long; +- subtype suseconds_t is Interfaces.C.long; +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; + subtype clockid_t is Interfaces.C.int; + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : long; +- end record; +- pragma Convention (C, timespec); +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : suseconds_t; +- end record; +- pragma Convention (C, timeval); +- + ----------- + -- Errno -- + ----------- +diff --git a/src/gcc/ada/libgnarl/s-taprop__hpux-dce.adb b/src/gcc/ada/libgnarl/s-taprop__hpux-dce.adb +index fb95f76..bcd2a17 100644 +--- a/src/gcc/ada/libgnarl/s-taprop__hpux-dce.adb ++++ b/src/gcc/ada/libgnarl/s-taprop__hpux-dce.adb +@@ -38,6 +38,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + ++with System.C_Time; + with System.Tasking.Debug; + with System.Interrupt_Management; + with System.OS_Constants; +@@ -426,7 +427,7 @@ package body System.Task_Primitives.Operations is + + Check_Time : constant Duration := Monotonic_Clock; + Abs_Time : Duration; +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + Result : Interfaces.C.int; + + begin +@@ -439,7 +440,7 @@ package body System.Task_Primitives.Operations is + else Duration'Min (Check_Time + Max_Sensible_Delay, Time)); + + if Abs_Time > Check_Time then +- Request := To_Timespec (Abs_Time); ++ Request := C_Time.To_Timespec (Abs_Time); + + loop + exit when Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level; +@@ -476,7 +477,7 @@ package body System.Task_Primitives.Operations is + is + Check_Time : constant Duration := Monotonic_Clock; + Abs_Time : Duration; +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + + Result : Interfaces.C.int; + pragma Warnings (Off, Result); +@@ -490,7 +491,7 @@ package body System.Task_Primitives.Operations is + else Duration'Min (Check_Time + Max_Sensible_Delay, Time)); + + if Abs_Time > Check_Time then +- Request := To_Timespec (Abs_Time); ++ Request := C_Time.To_Timespec (Abs_Time); + Self_ID.Common.State := Delay_Sleep; + + loop +@@ -521,12 +522,12 @@ package body System.Task_Primitives.Operations is + --------------------- + + function Monotonic_Clock return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : Interfaces.C.int; + begin + Result := Clock_Gettime (OSC.CLOCK_RT_Ada, TS'Unchecked_Access); + pragma Assert (Result = 0); +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end Monotonic_Clock; + + ------------------- +diff --git a/src/gcc/ada/libgnarl/s-taprop__solaris.adb b/src/gcc/ada/libgnarl/s-taprop__solaris.adb +index 657ad55..6429895 100644 +--- a/src/gcc/ada/libgnarl/s-taprop__solaris.adb ++++ b/src/gcc/ada/libgnarl/s-taprop__solaris.adb +@@ -36,6 +36,7 @@ + + with Interfaces.C; + ++with System.C_Time; + with System.Multiprocessors; + with System.Tasking.Debug; + with System.Interrupt_Management; +@@ -759,12 +760,12 @@ package body System.Task_Primitives.Operations is + --------------------- + + function Monotonic_Clock return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : Interfaces.C.int; + begin + Result := clock_gettime (OSC.CLOCK_RT_Ada, TS'Unchecked_Access); + pragma Assert (Result = 0); +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end Monotonic_Clock; + + ------------------- +@@ -772,13 +773,13 @@ package body System.Task_Primitives.Operations is + ------------------- + + function RT_Resolution return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : Interfaces.C.int; + begin + Result := clock_getres (OSC.CLOCK_REALTIME, TS'Unchecked_Access); + pragma Assert (Result = 0); + +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end RT_Resolution; + + ----------- +@@ -1173,7 +1174,7 @@ package body System.Task_Primitives.Operations is + Base_Time : constant Duration := Monotonic_Clock; + Check_Time : Duration := Base_Time; + Abs_Time : Duration; +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + Result : Interfaces.C.int; + + begin +@@ -1187,7 +1188,7 @@ package body System.Task_Primitives.Operations is + else Duration'Min (Check_Time + Max_Sensible_Delay, Time)); + + if Abs_Time > Check_Time then +- Request := To_Timespec (Abs_Time); ++ Request := C_Time.To_Timespec (Abs_Time); + loop + exit when Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level; + +@@ -1228,7 +1229,7 @@ package body System.Task_Primitives.Operations is + Base_Time : constant Duration := Monotonic_Clock; + Check_Time : Duration := Base_Time; + Abs_Time : Duration; +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + Result : Interfaces.C.int; + Yielded : Boolean := False; + +@@ -1241,7 +1242,7 @@ package body System.Task_Primitives.Operations is + else Duration'Min (Check_Time + Max_Sensible_Delay, Time)); + + if Abs_Time > Check_Time then +- Request := To_Timespec (Abs_Time); ++ Request := C_Time.To_Timespec (Abs_Time); + Self_ID.Common.State := Delay_Sleep; + + pragma Assert (Check_Sleep (Delay_Sleep)); +diff --git a/src/gcc/ada/libgnarl/s-taprop__vxworks.adb b/src/gcc/ada/libgnarl/s-taprop__vxworks.adb +index 8b146f9..01632fa 100644 +--- a/src/gcc/ada/libgnarl/s-taprop__vxworks.adb ++++ b/src/gcc/ada/libgnarl/s-taprop__vxworks.adb +@@ -38,6 +38,7 @@ with Ada.Unchecked_Conversion; + + with Interfaces.C; + ++with System.C_Time; + with System.Multiprocessors; + with System.Tasking.Debug; + with System.Interrupt_Management; +@@ -679,12 +680,12 @@ package body System.Task_Primitives.Operations is + --------------------- + + function Monotonic_Clock return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : int; + begin + Result := clock_gettime (OSC.CLOCK_RT_Ada, TS'Unchecked_Access); + pragma Assert (Result = 0); +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end Monotonic_Clock; + + ------------------- +diff --git a/src/gcc/ada/libgnarl/s-tpopmo.adb b/src/gcc/ada/libgnarl/s-tpopmo.adb +index a38f9f4..7fb0dea 100644 +--- a/src/gcc/ada/libgnarl/s-tpopmo.adb ++++ b/src/gcc/ada/libgnarl/s-tpopmo.adb +@@ -31,6 +31,8 @@ + + -- This is the Monotonic version of this package for Posix and Linux targets. + ++with System.C_Time; ++ + separate (System.Task_Primitives.Operations) + package body Monotonic is + +@@ -54,14 +56,14 @@ package body Monotonic is + --------------------- + + function Monotonic_Clock return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : Interfaces.C.int; + begin + Result := clock_gettime + (clock_id => OSC.CLOCK_RT_Ada, tp => TS'Unchecked_Access); + pragma Assert (Result = 0); + +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end Monotonic_Clock; + + ------------------- +@@ -69,14 +71,14 @@ package body Monotonic is + ------------------- + + function RT_Resolution return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : Interfaces.C.int; + + begin + Result := clock_getres (OSC.CLOCK_REALTIME, TS'Unchecked_Access); + pragma Assert (Result = 0); + +- return To_Duration (TS); ++ return C_Time.To_Duration (TS); + end RT_Resolution; + + ---------------------- +@@ -150,7 +152,7 @@ package body Monotonic is + Abs_Time : Duration; + P_Abs_Time : Duration; + +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + Result : Interfaces.C.int; + Exit_Outer : Boolean := False; + +@@ -184,7 +186,7 @@ package body Monotonic is + end if; + pragma Warnings (On); + +- Request := To_Timespec (P_Abs_Time); ++ Request := C_Time.To_Timespec (P_Abs_Time); + + Inner : loop + exit Outer +@@ -236,7 +238,7 @@ package body Monotonic is + Check_Time : Duration; + Abs_Time : Duration; + P_Abs_Time : Duration; +- Request : aliased timespec; ++ Request : aliased C_Time.timespec; + + Result : Interfaces.C.int; + Exit_Outer : Boolean := False; +@@ -271,7 +273,7 @@ package body Monotonic is + end if; + pragma Warnings (On); + +- Request := To_Timespec (P_Abs_Time); ++ Request := C_Time.To_Timespec (P_Abs_Time); + + Inner : loop + exit Outer +diff --git a/src/gcc/ada/libgnat/a-calcon.adb b/src/gcc/ada/libgnat/a-calcon.adb +index 8654d1e..3c5ec21 100644 +--- a/src/gcc/ada/libgnat/a-calcon.adb ++++ b/src/gcc/ada/libgnat/a-calcon.adb +@@ -69,39 +69,6 @@ package body Ada.Calendar.Conversions is + (Year, Month, Day, Hour, Minute, Second, DST); + end To_Ada_Time; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration +- (tv_sec : long; +- tv_nsec : long) return Duration +- is +- Secs : constant Long_Integer := Long_Integer (tv_sec); +- Nano_Secs : constant Long_Integer := Long_Integer (tv_nsec); +- begin +- return Conversion_Operations.To_Duration (Secs, Nano_Secs); +- end To_Duration; +- +- ------------------------ +- -- To_Struct_Timespec -- +- ------------------------ +- +- procedure To_Struct_Timespec +- (D : Duration; +- tv_sec : out long; +- tv_nsec : out long) +- is +- Secs : Long_Integer; +- Nano_Secs : Long_Integer; +- +- begin +- Conversion_Operations.To_Struct_Timespec (D, Secs, Nano_Secs); +- +- tv_sec := long (Secs); +- tv_nsec := long (Nano_Secs); +- end To_Struct_Timespec; +- + ------------------ + -- To_Struct_Tm -- + ------------------ +diff --git a/src/gcc/ada/libgnat/a-calcon.ads b/src/gcc/ada/libgnat/a-calcon.ads +index 97df2a9..196028e 100644 +--- a/src/gcc/ada/libgnat/a-calcon.ads ++++ b/src/gcc/ada/libgnat/a-calcon.ads +@@ -33,6 +33,7 @@ + -- time models - Time, Duration, struct tm and struct timespec. + + with Interfaces.C; ++with System.C_Time; + + package Ada.Calendar.Conversions is + +@@ -68,20 +69,18 @@ package Ada.Calendar.Conversions is + -- and the instance in time is not a leap second occurrence. + + function To_Duration +- (tv_sec : Interfaces.C.long; +- tv_nsec : Interfaces.C.long) return Duration; +- -- Convert an elapsed time value expressed in Unix-like fields of struct +- -- timespec into a Duration value. The expected ranges are: +- +- -- tv_sec - seconds +- -- tv_nsec - nanoseconds ++ (tv_sec : System.C_Time.Tv_Sec_Long; ++ tv_nsec : System.C_Time.Tv_Nsec_Long) ++ return System.C_Time.Non_Negative_Duration ++ renames System.C_Time.To_Duration; ++ -- Deprecated. Please use C_Time directly. + + procedure To_Struct_Timespec +- (D : Duration; +- tv_sec : out Interfaces.C.long; +- tv_nsec : out Interfaces.C.long); +- -- Convert a Duration value into the constituents of struct timespec. +- -- Formal tv_sec denotes seconds and tv_nsecs denotes nanoseconds. ++ (D : System.C_Time.Non_Negative_Duration; ++ tv_sec : out System.C_Time.Tv_Sec_Long; ++ tv_nsec : out System.C_Time.Tv_Nsec_Long) ++ renames System.C_Time.To_Struct_Timespec; ++ -- Deprecated. Please use C_Time directly. + + procedure To_Struct_Tm + (T : Time; +diff --git a/src/gcc/ada/libgnat/a-calend.adb b/src/gcc/ada/libgnat/a-calend.adb +index 1083ece..06946a5 100644 +--- a/src/gcc/ada/libgnat/a-calend.adb ++++ b/src/gcc/ada/libgnat/a-calend.adb +@@ -990,44 +990,6 @@ is + raise Time_Error; + end To_Ada_Time; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration +- (tv_sec : Long_Integer; +- tv_nsec : Long_Integer) return Duration +- is +- pragma Unsuppress (Overflow_Check); +- begin +- return Duration (tv_sec) + Duration (tv_nsec) / Nano_F; +- end To_Duration; +- +- ------------------------ +- -- To_Struct_Timespec -- +- ------------------------ +- +- procedure To_Struct_Timespec +- (D : Duration; +- tv_sec : out Long_Integer; +- tv_nsec : out Long_Integer) +- is +- pragma Unsuppress (Overflow_Check); +- Secs : Duration; +- Nano_Secs : Duration; +- +- begin +- -- Seconds extraction, avoid potential rounding errors +- +- Secs := D - 0.5; +- tv_sec := Long_Integer (Secs); +- +- -- Nanoseconds extraction +- +- Nano_Secs := D - Duration (tv_sec); +- tv_nsec := Long_Integer (Nano_Secs * Nano); +- end To_Struct_Timespec; +- + ------------------ + -- To_Struct_Tm -- + ------------------ +diff --git a/src/gcc/ada/libgnat/a-calend.ads b/src/gcc/ada/libgnat/a-calend.ads +index 9625f4d..cfffc70 100644 +--- a/src/gcc/ada/libgnat/a-calend.ads ++++ b/src/gcc/ada/libgnat/a-calend.ads +@@ -303,17 +303,6 @@ private + tm_isdst : Integer) return Time; + -- Struct tm to Ada Epoch conversion + +- function To_Duration +- (tv_sec : Long_Integer; +- tv_nsec : Long_Integer) return Duration; +- -- Struct timespec to Duration conversion +- +- procedure To_Struct_Timespec +- (D : Duration; +- tv_sec : out Long_Integer; +- tv_nsec : out Long_Integer); +- -- Duration to struct timespec conversion +- + procedure To_Struct_Tm + (T : Time; + tm_year : out Integer; +diff --git a/src/gcc/ada/libgnat/g-calend.adb b/src/gcc/ada/libgnat/g-calend.adb +index 0a98eb2..e0d34f5 100644 +--- a/src/gcc/ada/libgnat/g-calend.adb ++++ b/src/gcc/ada/libgnat/g-calend.adb +@@ -29,11 +29,8 @@ + -- -- + ------------------------------------------------------------------------------ + +-with Interfaces.C.Extensions; +- + package body GNAT.Calendar is + use Ada.Calendar; +- use Interfaces; + + ----------------- + -- Day_In_Year -- +@@ -328,61 +325,6 @@ package body GNAT.Calendar is + Time_Zone => 0); + end Time_Of_At_Locale; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (T : not null access timeval) return Duration is +- +- procedure timeval_to_duration +- (T : not null access timeval; +- sec : not null access C.Extensions.long_long; +- usec : not null access C.long); +- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); +- +- Micro : constant := 10**6; +- sec : aliased C.Extensions.long_long; +- usec : aliased C.long; +- +- begin +- timeval_to_duration (T, sec'Access, usec'Access); +- pragma Annotate (CodePeer, Modified, sec); +- pragma Annotate (CodePeer, Modified, usec); +- +- return Duration (sec) + Duration (usec) / Micro; +- end To_Duration; +- +- ---------------- +- -- To_Timeval -- +- ---------------- +- +- function To_Timeval (D : Duration) return timeval is +- +- procedure duration_to_timeval +- (Sec : C.Extensions.long_long; +- Usec : C.long; +- T : not null access timeval); +- pragma Import (C, duration_to_timeval, "__gnat_duration_to_timeval"); +- +- Micro : constant := 10**6; +- Result : aliased timeval; +- sec : C.Extensions.long_long; +- usec : C.long; +- +- begin +- if D = 0.0 then +- sec := 0; +- usec := 0; +- else +- sec := C.Extensions.long_long (D - 0.5); +- usec := C.long ((D - Duration (sec)) * Micro - 0.5); +- end if; +- +- duration_to_timeval (sec, usec, Result'Access); +- +- return Result; +- end To_Timeval; +- + ------------------ + -- Week_In_Year -- + ------------------ +diff --git a/src/gcc/ada/libgnat/g-calend.ads b/src/gcc/ada/libgnat/g-calend.ads +index b9dd15d..4a21d49 100644 +--- a/src/gcc/ada/libgnat/g-calend.ads ++++ b/src/gcc/ada/libgnat/g-calend.ads +@@ -40,7 +40,7 @@ + -- Day_Of_Week, Day_In_Year and Week_In_Year. + + with Ada.Calendar.Formatting; +-with Interfaces.C; ++with System.C_Time; + + package GNAT.Calendar is + +@@ -145,24 +145,19 @@ package GNAT.Calendar is + -- Return the week number as defined in ISO 8601 along with the year in + -- which the week occurs. + +- -- C timeval conversion ++ subtype timeval is System.C_Time.timeval; ++ -- Deprecated. Please use C_Time directly. + +- -- C timeval represent a duration (used in Select for example). This +- -- structure is composed of a number of seconds and a number of micro +- -- seconds. The timeval structure is not exposed here because its +- -- definition is target dependent. Interface to C programs is done via a +- -- pointer to timeval structure. ++ function To_Duration (T : not null access timeval) ++ return System.C_Time.Non_Negative_Duration ++ is (System.C_Time.To_Duration (T.all)); ++ -- Deprecated. Please use C_Time directly. + +- type timeval is private; +- +- function To_Duration (T : not null access timeval) return Duration; +- function To_Timeval (D : Duration) return timeval; ++ function To_Timeval (D : System.C_Time.Non_Negative_Duration) return timeval ++ renames System.C_Time.To_Timeval; ++ -- Deprecated. Please use C_Time directly. + + private +- -- This is a dummy declaration that should be the largest possible timeval +- -- structure of all supported targets. +- +- type timeval is array (1 .. 3) of Interfaces.C.long; + + function Julian_Day + (Year : Ada.Calendar.Year_Number; +diff --git a/src/gcc/ada/libgnat/g-socket.adb b/src/gcc/ada/libgnat/g-socket.adb +index e2f91b3..02c2bab 100644 +--- a/src/gcc/ada/libgnat/g-socket.adb ++++ b/src/gcc/ada/libgnat/g-socket.adb +@@ -45,6 +45,7 @@ pragma Warnings (Off, GNAT.Sockets.Linker_Options); + with GNAT.Sockets.Poll; + + with System; use System; ++with System.C_Time; + with System.Communication; use System.Communication; + with System.CRTL; use System.CRTL; + with System.Task_Lock; +@@ -179,13 +180,6 @@ package body GNAT.Sockets is + function Value (S : System.Address) return String; + -- Same as Interfaces.C.Strings.Value but taking a System.Address + +- function To_Timeval (Val : Timeval_Duration) return Timeval; +- -- Separate Val in seconds and microseconds +- +- function To_Duration (Val : Timeval) return Timeval_Duration; +- -- Reconstruct a Duration value from a Timeval record (seconds and +- -- microseconds). +- + function Dedot (Value : String) return String + is (if Value /= "" and then Value (Value'Last) = '.' + then Value (Value'First .. Value'Last - 1) +@@ -528,7 +522,7 @@ package body GNAT.Sockets is + Res : C.int; + Last : C.int; + RSig : Socket_Type := No_Socket; +- TVal : aliased Timeval; ++ TVal : aliased System.C_Time.timeval; + TPtr : Timeval_Access; + + begin +@@ -543,7 +537,7 @@ package body GNAT.Sockets is + if Timeout = Forever then + TPtr := null; + else +- TVal := To_Timeval (Timeout); ++ TVal := System.C_Time.To_Timeval (Timeout); + TPtr := TVal'Unchecked_Access; + end if; + +@@ -1423,7 +1417,7 @@ package body GNAT.Sockets is + U4 : aliased C.unsigned; + V1 : aliased C.unsigned_char; + VS : aliased C.char_array (1 .. NS); -- for devices name +- VT : aliased Timeval; ++ VT : aliased System.C_Time.timeval; + Len : aliased C.int; + Add : System.Address; + Res : C.int; +@@ -1596,8 +1590,10 @@ package body GNAT.Sockets is + Opt.Timeout := Duration (U4) / 1000; + end if; + ++ elsif System.C_Time.In_Duration (VT) then ++ Opt.Timeout := System.C_Time.To_Duration (VT); + else +- Opt.Timeout := To_Duration (VT); ++ Opt.Timeout := Forever; + end if; + + when Bind_To_Device => +@@ -2633,7 +2629,7 @@ package body GNAT.Sockets is + (1 .. (if Option.Name = Bind_To_Device + then C.size_t (ASU.Length (Option.Device) + 1) + else 0)); +- VT : aliased Timeval; ++ VT : aliased System.C_Time.timeval; + Len : C.int; + Add : System.Address := Null_Address; + Res : C.int; +@@ -2767,7 +2763,7 @@ package body GNAT.Sockets is + end if; + + else +- VT := To_Timeval (Option.Timeout); ++ VT := System.C_Time.To_Timeval (Option.Timeout); + Len := VT'Size / 8; + Add := VT'Address; + end if; +@@ -2865,33 +2861,6 @@ package body GNAT.Sockets is + return Integer (Socket); + end To_C; + +- ----------------- +- -- To_Duration -- +- ----------------- +- +- function To_Duration (Val : Timeval) return Timeval_Duration is +- Max_D : constant Long_Long_Integer := Long_Long_Integer (Forever - 0.5); +- Tv_sec_64 : constant Boolean := SOSC.SIZEOF_tv_sec = 8; +- -- Need to separate this condition into the constant declaration to +- -- avoid GNAT warning about "always true" or "always false". +- begin +- if Tv_sec_64 then +- -- Check for possible Duration overflow when Tv_Sec field is 64 bit +- -- integer. +- +- if Val.Tv_Sec > time_t (Max_D) +- or else +- (Val.Tv_Sec = time_t (Max_D) +- and then +- Val.Tv_Usec > suseconds_t ((Forever - Duration (Max_D)) * 1E6)) +- then +- return Forever; +- end if; +- end if; +- +- return Duration (Val.Tv_Sec) + Duration (Val.Tv_Usec) * 1.0E-6; +- end To_Duration; +- + ------------------- + -- To_Host_Entry -- + ------------------- +@@ -3041,36 +3010,6 @@ package body GNAT.Sockets is + return HN.Name (1 .. HN.Length); + end To_String; + +- ---------------- +- -- To_Timeval -- +- ---------------- +- +- function To_Timeval (Val : Timeval_Duration) return Timeval is +- S : time_t; +- uS : suseconds_t; +- +- begin +- -- If zero, set result as zero (otherwise it gets rounded down to -1) +- +- if Val = 0.0 then +- S := 0; +- uS := 0; +- +- -- Normal case where we do round down +- +- else +- S := time_t (Val - 0.5); +- uS := suseconds_t (1_000_000 * (Val - Selector_Duration (S)) - 0.5); +- +- if uS = -1 then +- -- It happen on integer duration +- uS := 0; +- end if; +- end if; +- +- return (S, uS); +- end To_Timeval; +- + ----------- + -- Value -- + ----------- +diff --git a/src/gcc/ada/libgnat/g-socthi.adb b/src/gcc/ada/libgnat/g-socthi.adb +index dce2717..f03e7e2 100644 +--- a/src/gcc/ada/libgnat/g-socthi.adb ++++ b/src/gcc/ada/libgnat/g-socthi.adb +@@ -40,6 +40,8 @@ with GNAT.Task_Lock; + + with Interfaces.C; use Interfaces.C; + ++with System.C_Time; ++ + package body GNAT.Sockets.Thin is + + Non_Blocking_Sockets : aliased Fd_Set; +@@ -191,7 +193,7 @@ package body GNAT.Sockets.Thin is + declare -- unreachable if Thread_Blocking_IO is statically True + pragma Warnings (On, "unreachable code"); + WSet : aliased Fd_Set; +- Now : aliased Timeval; ++ Now : aliased System.C_Time.timeval; + + begin + Reset_Socket_Set (WSet'Access); +diff --git a/src/gcc/ada/libgnat/g-socthi__vxworks.adb b/src/gcc/ada/libgnat/g-socthi__vxworks.adb +index 53ddc43..7621ea5 100644 +--- a/src/gcc/ada/libgnat/g-socthi__vxworks.adb ++++ b/src/gcc/ada/libgnat/g-socthi__vxworks.adb +@@ -40,6 +40,8 @@ with GNAT.Task_Lock; + + with Interfaces.C; use Interfaces.C; + ++with System.C_Time; ++ + package body GNAT.Sockets.Thin is + + Non_Blocking_Sockets : aliased Fd_Set; +@@ -194,7 +196,7 @@ package body GNAT.Sockets.Thin is + declare -- unreachable if Thread_Blocking_IO is statically True + pragma Warnings (On, "unreachable code"); + WSet : aliased Fd_Set; +- Now : aliased Timeval; ++ Now : aliased System.C_Time.timeval; + begin + Reset_Socket_Set (WSet'Access); + loop +diff --git a/src/gcc/ada/libgnat/g-sothco.ads b/src/gcc/ada/libgnat/g-sothco.ads +index 8c21933..c6df5a4 100644 +--- a/src/gcc/ada/libgnat/g-sothco.ads ++++ b/src/gcc/ada/libgnat/g-sothco.ads +@@ -34,7 +34,7 @@ + + with Ada.Unchecked_Conversion; + with Interfaces.C.Strings; +-with System.Parameters; ++with System.C_Time; + + package GNAT.Sockets.Thin_Common is + +@@ -44,31 +44,13 @@ package GNAT.Sockets.Thin_Common is + Success : constant C.int := 0; + Failure : constant C.int := -1; + +- type time_t is +- range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- for time_t'Size use System.Parameters.time_t_bits; +- pragma Convention (C, time_t); +- +- type suseconds_t is +- range -2 ** (8 * SOSC.SIZEOF_tv_usec - 1) +- .. 2 ** (8 * SOSC.SIZEOF_tv_usec - 1) - 1; +- for suseconds_t'Size use 8 * SOSC.SIZEOF_tv_usec; +- pragma Convention (C, suseconds_t); +- +- type Timeval is record +- Tv_Sec : time_t; +- Tv_Usec : suseconds_t; +- end record; +- pragma Convention (C, Timeval); +- +- type Timeval_Access is access all Timeval; ++ type Timeval_Access is access all System.C_Time.timeval; + pragma Convention (C, Timeval_Access); + + type socklen_t is mod 2 ** (8 * SOSC.SIZEOF_socklen_t); + for socklen_t'Size use (8 * SOSC.SIZEOF_socklen_t); + +- Immediat : constant Timeval := (0, 0); ++ Immediat : System.C_Time.timeval renames System.C_Time.Timeval_Zero; + + ------------------------------------------- + -- Mapping tables to low level constants -- +diff --git a/src/gcc/ada/libgnat/g-spogwa.adb b/src/gcc/ada/libgnat/g-spogwa.adb +index c16674e..530a6cd 100644 +--- a/src/gcc/ada/libgnat/g-spogwa.adb ++++ b/src/gcc/ada/libgnat/g-spogwa.adb +@@ -29,7 +29,7 @@ + -- -- + ------------------------------------------------------------------------------ + +-with GNAT.Sockets.Thin_Common; ++with System.C_Time; + + procedure GNAT.Sockets.Poll.G_Wait + (Fds : in out Set; Timeout : Interfaces.C.int; Result : out Integer) +@@ -41,11 +41,11 @@ is + readfds : access FD_Set_Type; + writefds : access FD_Set_Type; + exceptfds : access FD_Set_Type; +- timeout : access Thin_Common.Timeval) return Integer ++ timeout : access System.C_Time.timeval) return Integer + with Import => True, Convention => Stdcall, External_Name => "select"; + +- Timeout_V : aliased Thin_Common.Timeval; +- Timeout_A : access Thin_Common.Timeval; ++ Timeout_V : aliased System.C_Time.timeval; ++ Timeout_A : access System.C_Time.timeval; + + Rfds : aliased FD_Set_Type; + Rcount : Natural := 0; +@@ -63,8 +63,7 @@ begin + + if Timeout >= 0 then + Timeout_A := Timeout_V'Access; +- Timeout_V.Tv_Sec := Thin_Common.time_t (Timeout / 1000); +- Timeout_V.Tv_Usec := Thin_Common.suseconds_t (Timeout rem 1000 * 1000); ++ Timeout_V := System.C_Time.Milliseconds_To_Timeval (Timeout); + end if; + + Reset_Socket_Set (Rfds); +diff --git a/src/gcc/ada/libgnat/s-c_time.adb b/src/gcc/ada/libgnat/s-c_time.adb +new file mode 100644 +index 0000000..4a96c8d +--- /dev/null ++++ b/src/gcc/ada/libgnat/s-c_time.adb +@@ -0,0 +1,231 @@ ++------------------------------------------------------------------------------ ++-- -- ++-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- ++-- -- ++-- S Y S T E M . C _ T I M E -- ++-- -- ++-- B o d y -- ++-- -- ++-- Copyright (C) 1998-2024, Free Software Foundation, Inc. -- ++-- -- ++-- GNARL 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. -- ++-- -- ++-- As a special exception 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 -- ++-- . -- ++-- -- ++-- GNARL was developed by the GNARL team at Florida State University. -- ++-- Extensive contributions were provided by Ada Core Technologies, Inc. -- ++-- -- ++------------------------------------------------------------------------------ ++ ++package body System.C_Time is ++ ++ -- Two Duration representations are described in targparm.ads. ++ -- Size Delta Last = (2**(Size - 1) - 1) * Delta ++ -- 32 0.02 42_949_672.94 ++ -- 64 0.000_000_001 9_223_372_036.854_775_807 ++ ++ -- The overflows listed in comments must raise Constraint_Error. ++ pragma Unsuppress (Overflow_Check); ++ ++ ----------------- ++ -- In_Duration -- ++ ----------------- ++ ++ function In_Duration (T : timeval) return Boolean is ++ ++ -- Mimic To_Timeval (Duration'Last), except that ++ -- * this computation happens at compile time ++ -- * Sec may be far above MAX_tv_sec ++ -- * on 64 bits, Usec is truncated instead of rounded up ++ Sec : constant := (if Duration'Size = 64 ++ then (2**63 - 1) / 1_000_000_000 ++ else (2**31 - 1) / 50); ++ Usec : constant := (if Duration'Size = 64 ++ then (2**63 - 1) mod 1_000_000_000 / 1_000 ++ else (2**31 - 1) mod 50 * 20_000); ++ ++ pragma Warnings (Off, "condition is always"); ++ Dur_Covers_Tv_Sec : constant Boolean := OS_Constants.MAX_tv_sec < Sec; ++ pragma Warnings (On, "condition is always"); ++ ++ -- When Duration'Size = 64 and time_t'Size = 32, the compiler ++ -- complains that Sec does not fit in time_t, hence cannot be ++ -- compared with T.tv_sec. But then Dur_Covers_Tv_Sec is True ++ -- and the following comparisons are skipped. ++ Maybe_Sec : constant := (if Dur_Covers_Tv_Sec then 1 else Sec); ++ begin ++ return Dur_Covers_Tv_Sec ++ or else T.tv_sec < Maybe_Sec ++ or else (T.tv_sec = Maybe_Sec and then T.tv_usec <= Usec); ++ end In_Duration; ++ ++ ----------------------------- ++ -- Milliseconds_To_Timeval -- ++ ----------------------------- ++ ++ function Milliseconds_To_Timeval (M : Non_Negative_Int) return timeval is ++ use Interfaces.C; ++ Q : constant int range 0 .. int'Last / 1_000 := M / 1_000; ++ R : constant int range 0 .. 999 := M mod 1_000; ++ begin ++ return (tv_sec => time_t (Q), ++ tv_usec => 1_000 * usec_t (R)); ++ end Milliseconds_To_Timeval; ++ ++ ----------------------------- ++ -- Nanoseconds_To_Timespec -- ++ ----------------------------- ++ ++ function Nanoseconds_To_Timespec (N : Non_Negative_Int) return timespec is ++ use Interfaces.C; ++ Q : constant int range 0 .. int'Last / 10**9 := N / 10**9; ++ R : constant int range 0 .. 999_999_999 := N mod 10**9; ++ begin ++ return (tv_sec => time_t (Q), ++ tv_nsec => nsec_t (R)); ++ end Nanoseconds_To_Timespec; ++ ++ ----------------- ++ -- To_Duration -- ++ ----------------- ++ ++ function To_Duration (T : timeval) return Non_Negative_Duration is ++ Usec : usec_t range 0 .. 1_009_999; ++ Frac : Duration range 0.0 .. 1.0; ++ begin ++ if Duration'Size = 64 then ++ Usec := T.tv_usec; ++ else ++ -- Fix the rounding (999_999.0 / 1_000_000 = 0.98) ++ -- with a bias of half Duration'Small = 10 ms. ++ Usec := T.tv_usec + 10_000; ++ end if; ++ Frac := Duration (Usec) / 1_000_000; ++ ++ return Duration (T.tv_sec) + Frac; ++ -- Both the conversion and the addition may overflow. ++ end To_Duration; ++ ++ function To_Duration (T : timespec) return Non_Negative_Duration is ++ Frac : Duration range 0.0 .. 1.0; ++ begin ++ if Duration'Size = 64 then ++ Frac := Duration (T.tv_nsec) / 1_000_000_000; ++ else ++ -- Avoid an overflow (Duration'Last < 999_999_999). ++ -- Fix the rounding (999_999_999.0 / 1_000_000_000 = 0.98) ++ -- with a bias of half Duration'Small = 10 ms. ++ Frac := Duration (T.tv_nsec / 10_000_000 + 1) / 100; ++ end if; ++ ++ return Duration (T.tv_sec) + Frac; ++ -- Both the conversion and the addition may overflow. ++ end To_Duration; ++ ++ function To_Duration (tv_sec : Tv_Sec_Long; ++ tv_nsec : Tv_Nsec_Long) ++ return Non_Negative_Duration is ++ begin ++ return To_Duration (timespec'(tv_sec => time_t (tv_sec), ++ tv_nsec => nsec_t (tv_nsec))); ++ end To_Duration; ++ ++ ------------------------ ++ -- To_Struct_Timespec -- ++ ------------------------ ++ ++ procedure To_Struct_Timespec (D : Non_Negative_Duration; ++ tv_sec : out Tv_Sec_Long; ++ tv_nsec : out Tv_Nsec_Long) is ++ T : constant timespec := To_Timespec (D); ++ begin ++ tv_sec := Tv_Sec_Long (T.tv_sec); -- May overflow Interfaces.C.long. ++ tv_nsec := Tv_Nsec_Long (T.tv_nsec); ++ end To_Struct_Timespec; ++ ++ ----------------- ++ -- To_Timespec -- ++ ----------------- ++ ++ function To_Timespec (T : timeval) return timespec is ++ begin ++ return (tv_sec => T.tv_sec, ++ tv_nsec => 1_000 * nsec_t (T.tv_usec)); ++ end To_Timespec; ++ ++ function To_Timespec (D : Non_Negative_Duration) return timespec is ++ -- See To_Timeval. ++ Dm1 : constant Duration range -1.0 .. Duration'Last - 1.0 := D - 1.0; ++ Sec : constant time_t range -1 .. time_t'Last := time_t (Dm1); ++ Frac : constant Duration range -0.5 .. 0.5 := Dm1 - Duration (Sec); ++ Nsec : nsec_t range -500_000_000 .. 500_000_000; ++ begin ++ if Duration'Size = 64 then ++ Nsec := nsec_t (1_000_000_000 * Frac); ++ else ++ -- Duration'Last < 500_000_000 so there is an overflow issue, ++ -- easy to solve because Frac has few significative digits. ++ Nsec := 20_000_000 * nsec_t (50 * Frac); ++ end if; ++ if Nsec < 0 then ++ return (tv_sec => Sec, tv_nsec => Nsec + 1_000_000_000); ++ else ++ return (tv_sec => Sec + 1, tv_nsec => Nsec); ++ end if; ++ end To_Timespec; ++ ++ ----------------- ++ -- To_Timeval -- ++ ----------------- ++ ++ function To_Timeval (D : Non_Negative_Duration) return timeval is ++ ++ -- Most comments also apply to the timespec variant. ++ ++ -- Sec := time_t (D); ++ -- Usec := usec_t (1_000_000 * (D - Duration (Sec))); ++ -- fails when D is ++ -- Duration'Last (Sec is rounded up and Duration (Sec) overflows) ++ -- 0.9 (Sec is rounded up and Usec < 0) ++ ++ -- Sec := time_t (D - 0.5); ++ -- Usec := usec_t (1_000_000 * (D - Duration (Sec))); ++ -- leads to Usec = 1_000_000 when D is ++ -- 0.0 (Sec is rounded down) ++ -- 0.999_999_999 (Usec is rounded up) (not an issue with timespec) ++ ++ Dm1 : constant Duration range -1.0 .. Duration'Last - 1.0 := D - 1.0; ++ -- Converting D - 1 avoids overflows and simplifies roundings. ++ ++ Sec : constant time_t range -1 .. time_t'Last := time_t (Dm1); ++ -- The conversion of Dm1 may overflow if time_t has 32 bits. ++ ++ Frac : constant Duration range -0.5 .. 0.5 := Dm1 - Duration (Sec); ++ -- The conversion back is always possible, Sec <= Duration'Last - 0.5. ++ ++ Usec : constant usec_t range -500_000 .. 500_000 ++ := usec_t (1_000_000 * Frac); ++ begin ++ -- Add the second substracted at the beginning, in a way fixing ++ -- the Usec interval if necessary. ++ -- In both cases, tv_sec may exceed MAX_tv_sec. ++ if Usec < 0 then ++ return (tv_sec => Sec, tv_usec => Usec + 1_000_000); ++ else ++ return (tv_sec => Sec + 1, tv_usec => Usec); ++ end if; ++ end To_Timeval; ++ ++end System.C_Time; +diff --git a/src/gcc/ada/libgnat/s-c_time.ads b/src/gcc/ada/libgnat/s-c_time.ads +new file mode 100644 +index 0000000..8eaf22d +--- /dev/null ++++ b/src/gcc/ada/libgnat/s-c_time.ads +@@ -0,0 +1,128 @@ ++------------------------------------------------------------------------------ ++-- -- ++-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- ++-- -- ++-- S Y S T E M . C _ T I M E -- ++-- -- ++-- S p e c -- ++-- -- ++-- Copyright (C) 1998-2024, Free Software Foundation, Inc. -- ++-- -- ++-- GNARL 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. -- ++-- -- ++-- As a special exception 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 -- ++-- . -- ++-- -- ++-- GNARL was developed by the GNARL team at Florida State University. -- ++-- Extensive contributions were provided by Ada Core Technologies, Inc. -- ++-- -- ++------------------------------------------------------------------------------ ++ ++-- This package provides the timeval, timespec C types and conversions. ++-- It hides all details about time_t, suseconds_t. ++ ++with Interfaces.C; ++private with System.OS_Constants; ++ ++package System.C_Time ++ with Pure ++is ++ ++ -- These C structs represent non negative durations with different ++ -- accuracies and maximal values. ++ type timespec is private; -- accurate to 1 nanosecond ++ type timeval is private; -- accurate to 1 microsecond ++ ++ -- Duration is accurate to either 1 nanosecond or 20 milliseconds. ++ subtype Non_Negative_Duration is Duration range 0.0 .. Duration'Last; ++ ++ -- All conversions round if the target type is less accurate than ++ -- the source type, away from zero if the source value is midway ++ -- between two values of the target type. ++ -- They raise Constraint_Error when the value, after rounding, ++ -- exceeds the last value of the target type. ++ ++ function To_Duration (T : timespec) return Non_Negative_Duration; ++ function To_Duration (T : timeval) return Non_Negative_Duration; ++ ++ function To_Timespec (D : Non_Negative_Duration) return timespec; ++ function To_Timeval (D : Non_Negative_Duration) return timeval; ++ ++ Timeval_Zero : constant timeval; ++ -- g-sothco.ads ++ ++ function In_Duration (T : timeval) return Boolean with Inline; ++ -- True if computing To_Duration (T) is safe, ++ -- False if Constraint Error would be raised. ++ -- g-socket.adb: ++ ++ subtype Non_Negative_Int is ++ Interfaces.C.int range 0 .. Interfaces.C.int'Last; ++ ++ function Milliseconds_To_Timeval (M : Non_Negative_Int) return timeval ++ with Inline; ++ -- g-spogwa.adb ++ ++ function Nanoseconds_To_Timespec (N : Non_Negative_Int) return timespec ++ with Inline; ++ function To_Timespec (T : timeval) return timespec with Inline; ++ -- s-osinte__darwin.adb ++ ++ -- These functions are provided for backward compatibility, ++ -- but lead to non portable interfaces with C. ++ -- Tv_sec and tv_nsec do not match the long int type on x32, ++ -- or on 32 bits ARM with a 2038-compatible GNU libc. ++ ++ subtype Tv_Sec_Long is Interfaces.C.long range 0 .. Interfaces.C.long'Last; ++ subtype Tv_Nsec_Long is Interfaces.C.long range 0 .. 999_999_999; ++ function To_Duration (tv_sec : Tv_Sec_Long; ++ tv_nsec : Tv_Nsec_Long) return Non_Negative_Duration ++ with Inline; ++ procedure To_Struct_Timespec (D : Non_Negative_Duration; ++ tv_sec : out Tv_Sec_Long; ++ tv_nsec : out Tv_Nsec_Long) with Inline; ++ -- a-calcon.ads ++ ++private ++ ++ type time_t is range -2 ** (OS_Constants.SIZEOF_tv_sec * 8 - 1) .. ++ 2 ** (OS_Constants.SIZEOF_tv_sec * 8 - 1) - 1 ++ with Convention => C, Size => OS_Constants.SIZEOF_tv_sec * 8; ++ ++ type usec_t is range -2 ** (OS_Constants.SIZEOF_tv_usec * 8 - 1) .. ++ 2 ** (OS_Constants.SIZEOF_tv_usec * 8 - 1) - 1 ++ with Convention => C, Size => OS_Constants.SIZEOF_tv_usec * 8; ++ -- Larger than the suseconds_t C type on ARM 32 bits with GNU libc ++ -- when __TIME_BITS=64. ++ ++ type nsec_t is range -2 ** (OS_Constants.SIZEOF_tv_nsec * 8 - 1) .. ++ 2 ** (OS_Constants.SIZEOF_tv_nsec * 8 - 1) - 1 ++ with Convention => C, Size => OS_Constants.SIZEOF_tv_nsec * 8; ++ -- Larger than the signed long int C type on x32. ++ ++ type timeval is record ++ tv_sec : time_t range 0 .. OS_Constants.MAX_tv_sec; -- seconds ++ tv_usec : usec_t range 0 .. 999_999; -- microseconds ++ end record ++ with Convention => C; ++ ++ type timespec is record ++ tv_sec : time_t range 0 .. OS_Constants.MAX_tv_sec; -- seconds ++ tv_nsec : nsec_t range 0 .. 999_999_999; -- nanoseconds ++ end record ++ with Convention => C; ++ ++ Timeval_Zero : constant timeval := (tv_sec => 0, tv_usec => 0); ++ ++end System.C_Time; +diff --git a/src/gcc/ada/libgnat/s-optide.adb b/src/gcc/ada/libgnat/s-optide.adb +index c73d44f..e15493c 100644 +--- a/src/gcc/ada/libgnat/s-optide.adb ++++ b/src/gcc/ada/libgnat/s-optide.adb +@@ -36,8 +36,8 @@ procedure Timed_Delay + (Time : Duration; + Mode : Integer) + is +- Request : aliased timespec; +- Remaind : aliased timespec; ++ Request : aliased C_Time.timespec; ++ Remaind : aliased C_Time.timespec; + Rel_Time : Duration; + Abs_Time : Duration; + Base_Time : constant Duration := Clock; +@@ -71,7 +71,7 @@ begin + end if; + pragma Warnings (On); + +- Request := To_Timespec (Time_Chunk); ++ Request := C_Time.To_Timespec (Time_Chunk); + Result := nanosleep (Request'Access, Remaind'Access); + + Check_Time := Clock; +diff --git a/src/gcc/ada/libgnat/s-osprim__darwin.adb b/src/gcc/ada/libgnat/s-osprim__darwin.adb +index ce1ec3f..5f75688 100644 +--- a/src/gcc/ada/libgnat/s-osprim__darwin.adb ++++ b/src/gcc/ada/libgnat/s-osprim__darwin.adb +@@ -31,7 +31,7 @@ + + -- This version is for darwin + +-with System.Parameters; ++with System.C_Time; + package body System.OS_Primitives is + + -- ??? These definitions are duplicated from System.OS_Interface +@@ -46,27 +46,13 @@ package body System.OS_Primitives is + pragma Convention (C, struct_timezone); + type struct_timezone_ptr is access all struct_timezone; + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type struct_timeval is record +- tv_sec : time_t; +- tv_usec : Integer; +- end record; +- pragma Convention (C, struct_timeval); +- + function gettimeofday +- (tv : not null access struct_timeval; ++ (tv : not null access C_Time.timeval; + tz : struct_timezone_ptr) return Integer; + pragma Import (C, gettimeofday, "gettimeofday"); + +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Integer; +- end record; +- pragma Convention (C, timespec); +- +- function nanosleep (rqtp, rmtp : not null access timespec) return Integer; ++ function nanosleep (rqtp, rmtp : not null access C_Time.timespec) ++ return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- +@@ -74,7 +60,7 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- TV : aliased struct_timeval; ++ TV : aliased C_Time.timeval; + + Result : Integer; + pragma Unreferenced (Result); +@@ -89,36 +75,9 @@ package body System.OS_Primitives is + -- value is never checked. + + Result := gettimeofday (TV'Access, null); +- return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6; ++ return C_Time.To_Duration (TV); + end Clock; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec; +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return +- timespec'(tv_sec => S, +- tv_nsec => Long_Integer (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------- + -- Timed_Delay -- + ----------------- +@@ -127,8 +86,8 @@ package body System.OS_Primitives is + (Time : Duration; + Mode : Integer) + is +- Request : aliased timespec; +- Remaind : aliased timespec; ++ Request : aliased C_Time.timespec; ++ Remaind : aliased C_Time.timespec; + Rel_Time : Duration; + Abs_Time : Duration; + Base_Time : constant Duration := Clock; +@@ -148,7 +107,7 @@ package body System.OS_Primitives is + + if Rel_Time > 0.0 then + loop +- Request := To_Timespec (Rel_Time); ++ Request := C_Time.To_Timespec (Rel_Time); + Result := nanosleep (Request'Access, Remaind'Access); + Check_Time := Clock; + +diff --git a/src/gcc/ada/libgnat/s-osprim__posix.adb b/src/gcc/ada/libgnat/s-osprim__posix.adb +index ba61a0c..bb9a28d 100644 +--- a/src/gcc/ada/libgnat/s-osprim__posix.adb ++++ b/src/gcc/ada/libgnat/s-osprim__posix.adb +@@ -30,7 +30,7 @@ + ------------------------------------------------------------------------------ + + -- This version is for POSIX-like operating systems +-with System.Parameters; ++with System.C_Time; + + package body System.OS_Primitives is + +@@ -39,16 +39,8 @@ package body System.OS_Primitives is + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Integer; +- end record; +- pragma Convention (C, timespec); +- +- function nanosleep (rqtp, rmtp : not null access timespec) return Integer; ++ function nanosleep (rqtp, rmtp : not null access C_Time.timespec) ++ return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- +@@ -57,27 +49,12 @@ package body System.OS_Primitives is + + function Clock return Duration is + +- type timeval is array (1 .. 3) of Long_Integer; +- -- The timeval array is sized to contain Long_Long_Integer sec and +- -- Long_Integer usec. If Long_Long_Integer'Size = Long_Integer'Size then +- -- it will be overly large but that will not effect the implementation +- -- since it is not accessed directly. +- +- procedure timeval_to_duration +- (T : not null access timeval; +- sec : not null access Long_Long_Integer; +- usec : not null access Long_Integer); +- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); +- +- Micro : constant := 10**6; +- sec : aliased Long_Long_Integer; +- usec : aliased Long_Integer; +- TV : aliased timeval; ++ TV : aliased C_Time.timeval; + Result : Integer; + pragma Unreferenced (Result); + + function gettimeofday +- (Tv : access timeval; ++ (Tv : access C_Time.timeval; + Tz : System.Address := System.Null_Address) return Integer; + pragma Import (C, gettimeofday, "gettimeofday"); + +@@ -91,37 +68,9 @@ package body System.OS_Primitives is + -- value is never checked. + + Result := gettimeofday (TV'Access, System.Null_Address); +- timeval_to_duration (TV'Access, sec'Access, usec'Access); +- return Duration (sec) + Duration (usec) / Micro; ++ return C_Time.To_Duration (TV); + end Clock; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec; +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return +- timespec'(tv_sec => S, +- tv_nsec => Long_Integer (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------- + -- Timed_Delay -- + ----------------- +diff --git a/src/gcc/ada/libgnat/s-osprim__posix2008.adb b/src/gcc/ada/libgnat/s-osprim__posix2008.adb +index d819858..377fb3a 100644 +--- a/src/gcc/ada/libgnat/s-osprim__posix2008.adb ++++ b/src/gcc/ada/libgnat/s-osprim__posix2008.adb +@@ -31,9 +31,10 @@ + + -- This version is for POSIX.1-2008-like operating systems + ++with System.C_Time; + with System.CRTL; + with System.OS_Constants; +-with System.Parameters; ++ + package body System.OS_Primitives is + + subtype int is System.CRTL.int; +@@ -42,16 +43,8 @@ package body System.OS_Primitives is + -- we don't want to depend on any package. Consider removing these + -- declarations in System.OS_Interface and move these ones to the spec. + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Integer; +- end record; +- pragma Convention (C, timespec); +- +- function nanosleep (rqtp, rmtp : not null access timespec) return Integer; ++ function nanosleep (rqtp, rmtp : not null access C_Time.timespec) ++ return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- +@@ -59,7 +52,7 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- TS : aliased timespec; ++ TS : aliased C_Time.timespec; + Result : int; + + type clockid_t is new int; +@@ -68,42 +61,15 @@ package body System.OS_Primitives is + + function clock_gettime + (clock_id : clockid_t; +- tp : access timespec) return int; ++ tp : access C_Time.timespec) return int; + pragma Import (C, clock_gettime, "clock_gettime"); + + begin + Result := clock_gettime (CLOCK_REALTIME, TS'Unchecked_Access); + pragma Assert (Result = 0); +- return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9; ++ return C_Time.To_Duration (TS); + end Clock; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec; +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return +- timespec'(tv_sec => S, +- tv_nsec => Long_Integer (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------- + -- Timed_Delay -- + ----------------- +diff --git a/src/gcc/ada/libgnat/s-osprim__rtems.adb b/src/gcc/ada/libgnat/s-osprim__rtems.adb +index 2d1302c..f7b607a 100644 +--- a/src/gcc/ada/libgnat/s-osprim__rtems.adb ++++ b/src/gcc/ada/libgnat/s-osprim__rtems.adb +@@ -31,7 +31,8 @@ + + -- This version is for POSIX-like operating systems + +-with System.Parameters; ++with System.C_Time; ++ + package body System.OS_Primitives is + + -- ??? These definitions are duplicated from System.OS_Interface +@@ -39,16 +40,8 @@ package body System.OS_Primitives is + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Integer; +- end record; +- pragma Convention (C, timespec); +- +- function nanosleep (rqtp, rmtp : not null access timespec) return Integer; ++ function nanosleep (rqtp, rmtp : not null access C_Time.timespec) ++ return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- +@@ -56,28 +49,12 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- +- type timeval is record +- tv_sec : time_t; +- tv_usec : Long_Integer; +- end record; +- pragma Convention (C, timeval); +- +- procedure timeval_to_duration +- (T : not null access timeval; +- sec : not null access Long_Long_Integer; +- usec : not null access Long_Integer); +- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); +- +- Micro : constant := 10**6; +- sec : aliased Long_Long_Integer; +- usec : aliased Long_Integer; +- TV : aliased timeval; ++ TV : aliased C_Time.timeval; + Result : Integer; + pragma Unreferenced (Result); + + function gettimeofday +- (Tv : access timeval; ++ (Tv : access C_Time.timeval; + Tz : System.Address := System.Null_Address) return Integer; + pragma Import (C, gettimeofday, "gettimeofday"); + +@@ -91,37 +68,9 @@ package body System.OS_Primitives is + -- value is never checked. + + Result := gettimeofday (TV'Access, System.Null_Address); +- timeval_to_duration (TV'Access, sec'Access, usec'Access); +- return Duration (sec) + Duration (usec) / Micro; ++ return C_Time.To_Duration (TV); + end Clock; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec; +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return +- timespec'(tv_sec => S, +- tv_nsec => Long_Integer (Long_Long_Integer (F * 10#1#E9))); +- end To_Timespec; +- + ----------------- + -- Timed_Delay -- + ----------------- +@@ -130,8 +79,8 @@ package body System.OS_Primitives is + (Time : Duration; + Mode : Integer) + is +- Request : aliased timespec; +- Remaind : aliased timespec; ++ Request : aliased C_Time.timespec; ++ Remaind : aliased C_Time.timespec; + Rel_Time : Duration; + Abs_Time : Duration; + Base_Time : constant Duration := Clock; +@@ -151,7 +100,7 @@ package body System.OS_Primitives is + + if Rel_Time > 0.0 then + loop +- Request := To_Timespec (Rel_Time); ++ Request := C_Time.To_Timespec (Rel_Time); + Result := nanosleep (Request'Access, Remaind'Access); + Check_Time := Clock; + +diff --git a/src/gcc/ada/libgnat/s-osprim__solaris.adb b/src/gcc/ada/libgnat/s-osprim__solaris.adb +index e41d074..70c8dc4 100644 +--- a/src/gcc/ada/libgnat/s-osprim__solaris.adb ++++ b/src/gcc/ada/libgnat/s-osprim__solaris.adb +@@ -32,6 +32,8 @@ + -- This version uses gettimeofday and select + -- This file is suitable for Solaris (32 and 64 bits). + ++with System.C_Time; ++ + package body System.OS_Primitives is + + -- ??? These definitions are duplicated from System.OS_Interface +@@ -39,14 +41,8 @@ package body System.OS_Primitives is + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + +- type struct_timeval is record +- tv_sec : Long_Integer; +- tv_usec : Long_Integer; +- end record; +- pragma Convention (C, struct_timeval); +- + procedure gettimeofday +- (tv : not null access struct_timeval; ++ (tv : not null access C_Time.timeval; + tz : Address := Null_Address); + pragma Import (C, gettimeofday, "gettimeofday"); + +@@ -55,7 +51,7 @@ package body System.OS_Primitives is + readfds, + writefds, + exceptfds : Address := Null_Address; +- timeout : not null access struct_timeval); ++ timeout : not null access C_Time.timeval); + pragma Import (C, C_select, "select"); + + ----------- +@@ -63,11 +59,11 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- TV : aliased struct_timeval; ++ TV : aliased C_Time.timeval; + + begin + gettimeofday (TV'Access); +- return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6; ++ return C_Time.To_Duration (TV); + end Clock; + + ----------------- +@@ -82,7 +78,7 @@ package body System.OS_Primitives is + Abs_Time : Duration; + Base_Time : constant Duration := Clock; + Check_Time : Duration := Base_Time; +- timeval : aliased struct_timeval; ++ timeval : aliased C_Time.timeval; + + begin + if Mode = Relative then +@@ -95,14 +91,7 @@ package body System.OS_Primitives is + + if Rel_Time > 0.0 then + loop +- timeval.tv_sec := Long_Integer (Rel_Time); +- +- if Duration (timeval.tv_sec) > Rel_Time then +- timeval.tv_sec := timeval.tv_sec - 1; +- end if; +- +- timeval.tv_usec := +- Long_Integer ((Rel_Time - Duration (timeval.tv_sec)) * 10#1#E6); ++ timeval := C_Time.To_Timeval (Rel_Time); + + C_select (timeout => timeval'Unchecked_Access); + Check_Time := Clock; +diff --git a/src/gcc/ada/libgnat/s-osprim__unix.adb b/src/gcc/ada/libgnat/s-osprim__unix.adb +index e7a66aa..c1c7e51 100644 +--- a/src/gcc/ada/libgnat/s-osprim__unix.adb ++++ b/src/gcc/ada/libgnat/s-osprim__unix.adb +@@ -32,6 +32,8 @@ + -- This version uses gettimeofday and select + -- This file is suitable for OpenNT, Dec Unix and SCO UnixWare. + ++with System.C_Time; ++ + package body System.OS_Primitives is + + -- ??? These definitions are duplicated from System.OS_Interface +@@ -39,14 +41,8 @@ package body System.OS_Primitives is + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + +- type struct_timeval is record +- tv_sec : Integer; +- tv_usec : Integer; +- end record; +- pragma Convention (C, struct_timeval); +- + procedure gettimeofday +- (tv : not null access struct_timeval; ++ (tv : not null access C_Time.timeval; + tz : Address := Null_Address); + pragma Import (C, gettimeofday, "gettimeofday"); + +@@ -55,7 +51,7 @@ package body System.OS_Primitives is + readfds, + writefds, + exceptfds : Address := Null_Address; +- timeout : not null access struct_timeval); ++ timeout : not null access C_Time.timeval); + pragma Import (C, C_select, "select"); + + ----------- +@@ -63,11 +59,11 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- TV : aliased struct_timeval; ++ TV : aliased C_Time.timeval; + + begin + gettimeofday (TV'Access); +- return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6; ++ return C_Time.To_Duration (TV); + end Clock; + + ----------------- +@@ -82,7 +78,7 @@ package body System.OS_Primitives is + Abs_Time : Duration; + Base_Time : constant Duration := Clock; + Check_Time : Duration := Base_Time; +- timeval : aliased struct_timeval; ++ timeval : aliased C_Time.timeval; + + begin + if Mode = Relative then +@@ -95,14 +91,7 @@ package body System.OS_Primitives is + + if Rel_Time > 0.0 then + loop +- timeval.tv_sec := Integer (Rel_Time); +- +- if Duration (timeval.tv_sec) > Rel_Time then +- timeval.tv_sec := timeval.tv_sec - 1; +- end if; +- +- timeval.tv_usec := +- Integer ((Rel_Time - Duration (timeval.tv_sec)) * 10#1#E6); ++ timeval := C_Time.To_Timeval (Rel_Time); + + C_select (timeout => timeval'Unchecked_Access); + Check_Time := Clock; +diff --git a/src/gcc/ada/libgnat/s-osprim__x32.adb b/src/gcc/ada/libgnat/s-osprim__x32.adb +index 2340866..644c41c 100644 +--- a/src/gcc/ada/libgnat/s-osprim__x32.adb ++++ b/src/gcc/ada/libgnat/s-osprim__x32.adb +@@ -31,7 +31,7 @@ + + -- This version is for Linux/x32 + +-with System.Parameters; ++with System.C_Time; + + package body System.OS_Primitives is + +@@ -40,16 +40,8 @@ package body System.OS_Primitives is + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + +- type time_t is range -2 ** (System.Parameters.time_t_bits - 1) +- .. 2 ** (System.Parameters.time_t_bits - 1) - 1; +- +- type timespec is record +- tv_sec : time_t; +- tv_nsec : Long_Long_Integer; +- end record; +- pragma Convention (C, timespec); +- +- function nanosleep (rqtp, rmtp : not null access timespec) return Integer; ++ function nanosleep (rqtp, rmtp : not null access C_Time.timespec) ++ return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- +@@ -57,23 +49,12 @@ package body System.OS_Primitives is + ----------- + + function Clock return Duration is +- type timeval is array (1 .. 2) of Long_Long_Integer; +- +- procedure timeval_to_duration +- (T : not null access timeval; +- sec : not null access Long_Integer; +- usec : not null access Long_Integer); +- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); +- +- Micro : constant := 10**6; +- sec : aliased Long_Integer; +- usec : aliased Long_Integer; +- TV : aliased timeval; ++ TV : aliased C_Time.timeval; + Result : Integer; + pragma Unreferenced (Result); + + function gettimeofday +- (Tv : access timeval; ++ (Tv : access C_Time.timeval; + Tz : System.Address := System.Null_Address) return Integer; + pragma Import (C, gettimeofday, "gettimeofday"); + +@@ -87,37 +68,9 @@ package body System.OS_Primitives is + -- value is never checked. + + Result := gettimeofday (TV'Access, System.Null_Address); +- timeval_to_duration (TV'Access, sec'Access, usec'Access); +- return Duration (sec) + Duration (usec) / Micro; ++ return C_Time.To_Duration (TV); + end Clock; + +- ----------------- +- -- To_Timespec -- +- ----------------- +- +- function To_Timespec (D : Duration) return timespec; +- +- function To_Timespec (D : Duration) return timespec is +- S : time_t; +- F : Duration; +- +- begin +- S := time_t (Long_Long_Integer (D)); +- F := D - Duration (S); +- +- -- If F has negative value due to a round-up, adjust for positive F +- -- value. +- +- if F < 0.0 then +- S := S - 1; +- F := F + 1.0; +- end if; +- +- return +- timespec'(tv_sec => S, +- tv_nsec => Long_Long_Integer (F * 10#1#E9)); +- end To_Timespec; +- + ----------------- + -- Timed_Delay -- + ----------------- +@@ -126,8 +79,8 @@ package body System.OS_Primitives is + (Time : Duration; + Mode : Integer) + is +- Request : aliased timespec; +- Remaind : aliased timespec; ++ Request : aliased C_Time.timespec; ++ Remaind : aliased C_Time.timespec; + Rel_Time : Duration; + Abs_Time : Duration; + Base_Time : constant Duration := Clock; +@@ -147,7 +100,7 @@ package body System.OS_Primitives is + + if Rel_Time > 0.0 then + loop +- Request := To_Timespec (Rel_Time); ++ Request := C_Time.To_Timespec (Rel_Time); + Result := nanosleep (Request'Access, Remaind'Access); + Check_Time := Clock; + +diff --git a/src/gcc/ada/libgnat/s-parame.ads b/src/gcc/ada/libgnat/s-parame.ads +index e5ed7bf..81bd839 100644 +--- a/src/gcc/ada/libgnat/s-parame.ads ++++ b/src/gcc/ada/libgnat/s-parame.ads +@@ -96,13 +96,6 @@ package System.Parameters is + -- Indicates if secondary stacks can grow and shrink at run-time. If False, + -- the size of a secondary stack is fixed at the point of its creation. + +- ------------------------------------ +- -- Characteristics of time_t type -- +- ------------------------------------ +- +- time_t_bits : constant := Long_Integer'Size; +- -- Number of bits in type time_t +- + ---------------------------------------------- + -- Characteristics of types in Interfaces.C -- + ---------------------------------------------- +diff --git a/src/gcc/ada/libgnat/s-parame__hpux.ads b/src/gcc/ada/libgnat/s-parame__hpux.ads +index cd98dc7..264e12a 100644 +--- a/src/gcc/ada/libgnat/s-parame__hpux.ads ++++ b/src/gcc/ada/libgnat/s-parame__hpux.ads +@@ -96,13 +96,6 @@ package System.Parameters is + -- Indicates if secondary stacks can grow and shrink at run-time. If False, + -- the size of a secondary stack is fixed at the point of its creation. + +- ------------------------------------ +- -- Characteristics of time_t type -- +- ------------------------------------ +- +- time_t_bits : constant := Long_Integer'Size; +- -- Number of bits in type time_t +- + ---------------------------------------------- + -- Characteristics of Types in Interfaces.C -- + ---------------------------------------------- +diff --git a/src/gcc/ada/libgnat/s-parame__posix2008.ads b/src/gcc/ada/libgnat/s-parame__posix2008.ads +index 2652e56..5d4cf28 100644 +--- a/src/gcc/ada/libgnat/s-parame__posix2008.ads ++++ b/src/gcc/ada/libgnat/s-parame__posix2008.ads +@@ -96,14 +96,6 @@ package System.Parameters is + -- Indicates if secondary stacks can grow and shrink at run-time. If False, + -- the size of a secondary stack is fixed at the point of its creation. + +- ------------------------------------ +- -- Characteristics of time_t type -- +- ------------------------------------ +- +- time_t_bits : constant := Long_Long_Integer'Size; +- -- Number of bits in type time_t. Use for targets that are Posix 2008 +- -- compliant (fixes the year 2038 time_t overflow). +- + ---------------------------------------------- + -- Characteristics of types in Interfaces.C -- + ---------------------------------------------- +diff --git a/src/gcc/ada/libgnat/s-parame__vxworks.ads b/src/gcc/ada/libgnat/s-parame__vxworks.ads +index 802357e..d0bcecd 100644 +--- a/src/gcc/ada/libgnat/s-parame__vxworks.ads ++++ b/src/gcc/ada/libgnat/s-parame__vxworks.ads +@@ -98,21 +98,6 @@ package System.Parameters is + -- Indicates if secondary stacks can grow and shrink at run-time. If False, + -- the size of a secondary stack is fixed at the point of its creation. + +- ------------------------------------ +- -- Characteristics of time_t type -- +- ------------------------------------ +- +- -- IMPORTANT NOTE: +- -- Select the appropriate time_t_bits for the VSB in use, then rebuild +- -- the runtime using instructions in adainclude/libada.gpr. +- +- -- time_t_bits : constant := Long_Integer'Size; +- -- Number of bits in type time_t for SR0650 and before and SR0660 with +- -- non-default configuration. +- +- time_t_bits : constant := Long_Long_Integer'Size; +- -- Number of bits in type time_t for SR0660 with default configuration. +- + ---------------------------------------------- + -- Characteristics of types in Interfaces.C -- + ---------------------------------------------- +diff --git a/src/gcc/ada/s-oscons-tmplt.c b/src/gcc/ada/s-oscons-tmplt.c +index 4e512b9..e5dad44 100644 +--- a/src/gcc/ada/s-oscons-tmplt.c ++++ b/src/gcc/ada/s-oscons-tmplt.c +@@ -1764,6 +1764,17 @@ CND(SIZEOF_tv_usec, "tv_usec") + #endif + CNS(MAX_tv_sec, "") + } ++ ++{ ++ struct timespec ts; ++/* ++ -- Sizes (in bytes) of the components of struct timespec. ++ -- The tv_sec field is the same than in struct timeval. ++*/ ++#define SIZEOF_tv_nsec (sizeof (ts.tv_nsec)) ++CND(SIZEOF_tv_nsec, "tv_nsec"); ++} ++ + /* + + -- Sizes of various data types diff --git a/patches/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff b/patches/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff new file mode 100644 index 0000000..6df6af6 --- /dev/null +++ b/patches/0009-Ada-select-64-bits-time-functions-from-GNU-libc-when.diff @@ -0,0 +1,258 @@ +Description: Ada: select 64 bits time functions from GNU libc when __USE_TIME64_REDIRECTS + This is version 12. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065 +From: Nicolas Boulenguez + +diff --git a/src/gcc/ada/libgnarl/a-exetim__posix.adb b/src/gcc/ada/libgnarl/a-exetim__posix.adb +index db873fb..7fbd6c1 100644 +--- a/src/gcc/ada/libgnarl/a-exetim__posix.adb ++++ b/src/gcc/ada/libgnarl/a-exetim__posix.adb +@@ -35,6 +35,7 @@ with Ada.Task_Identification; use Ada.Task_Identification; + with Ada.Unchecked_Conversion; + + with System.C_Time; ++with System.OS_Constants; + with System.Tasking; + with System.OS_Interface; use System.OS_Interface; + with System.Task_Primitives.Operations; use System.Task_Primitives.Operations; +@@ -115,7 +116,9 @@ package body Ada.Execution_Time is + (clock_id : Interfaces.C.int; + tp : access System.C_Time.timespec) + return int; +- pragma Import (C, clock_gettime, "clock_gettime"); ++ pragma Import (C, clock_gettime, ++ (if System.OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_gettime64" else "clock_gettime")); + -- Function from the POSIX.1b Realtime Extensions library + + function pthread_getcpuclockid +diff --git a/src/gcc/ada/libgnarl/s-osinte__gnu.ads b/src/gcc/ada/libgnarl/s-osinte__gnu.ads +index b4597c5..08884ec 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__gnu.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__gnu.ads +@@ -39,6 +39,7 @@ + -- Preelaborate. This package is designed to be a bottom-level (leaf) package + + with Interfaces.C; ++with System.OS_Constants; + with System.C_Time; + with Ada.Unchecked_Conversion; + +@@ -208,7 +209,8 @@ package System.OS_Interface is + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + + function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; +- pragma Import (C, nanosleep, "nanosleep"); ++ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__nanosleep64" else "nanosleep")); + + type clockid_t is new int; + CLOCK_REALTIME : constant clockid_t := 0; +@@ -218,12 +220,14 @@ package System.OS_Interface is + (clock_id : clockid_t; + tp : access C_Time.timespec) + return int; +- pragma Import (C, clock_gettime, "clock_gettime"); ++ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_gettime64" else "clock_gettime")); + + function clock_getres + (clock_id : clockid_t; + res : access C_Time.timespec) return int; +- pragma Import (C, clock_getres, "clock_getres"); ++ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_getres64" else "clock_getres")); + + -- From: /usr/include/unistd.h + function sysconf (name : int) return long; +@@ -477,7 +481,9 @@ package System.OS_Interface is + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; + abstime : access C_Time.timespec) return int; +- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); ++ pragma Import (C, pthread_cond_timedwait, ++ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64" ++ else "pthread_cond_timedwait")); + + Relative_Timed_Wait : constant Boolean := False; + -- pthread_cond_timedwait requires an absolute delay time +diff --git a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +index 9b40c9a..59e6f79 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +@@ -40,6 +40,7 @@ + + with Ada.Unchecked_Conversion; + with Interfaces.C; ++with System.OS_Constants; + with System.C_Time; + + package System.OS_Interface is +@@ -203,7 +204,8 @@ package System.OS_Interface is + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + + function nanosleep (rqtp, rmtp : access C_Time.timespec) return int; +- pragma Import (C, nanosleep, "nanosleep"); ++ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__nanosleep64" else "nanosleep")); + + type clockid_t is new int; + CLOCK_REALTIME : constant clockid_t := 0; +@@ -212,12 +214,14 @@ package System.OS_Interface is + (clock_id : clockid_t; + tp : access C_Time.timespec) + return int; +- pragma Import (C, clock_gettime, "clock_gettime"); ++ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_gettime64" else "clock_gettime"); + + function clock_getres + (clock_id : clockid_t; + res : access C_Time.timespec) return int; +- pragma Import (C, clock_getres, "clock_getres"); ++ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_getres64" else "clock_getres"); + + function sysconf (name : int) return long; + pragma Import (C, sysconf); +@@ -420,7 +424,9 @@ package System.OS_Interface is + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; + abstime : access C_Time.timespec) return int; +- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); ++ pragma Import (C, pthread_cond_timedwait, ++ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64" ++ else "pthread_cond_timedwait"); + + -------------------------- + -- POSIX.1c Section 13 -- +diff --git a/src/gcc/ada/libgnarl/s-osinte__linux.ads b/src/gcc/ada/libgnarl/s-osinte__linux.ads +index 9de227e..7a0d37d 100644 +--- a/src/gcc/ada/libgnarl/s-osinte__linux.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__linux.ads +@@ -229,12 +229,14 @@ package System.OS_Interface is + + function clock_gettime + (clock_id : clockid_t; tp : access C_Time.timespec) return int; +- pragma Import (C, clock_gettime, "clock_gettime"); ++ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_gettime64" else "clock_gettime")); + + function clock_getres + (clock_id : clockid_t; + res : access C_Time.timespec) return int; +- pragma Import (C, clock_getres, "clock_getres"); ++ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__clock_getres64" else "clock_getres")); + + function sysconf (name : int) return long; + pragma Import (C, sysconf); +@@ -445,7 +447,9 @@ package System.OS_Interface is + (cond : access pthread_cond_t; + mutex : access pthread_mutex_t; + abstime : access C_Time.timespec) return int; +- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait"); ++ pragma Import (C, pthread_cond_timedwait, ++ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64" ++ else "pthread_cond_timedwait")); + + -------------------------- + -- POSIX.1c Section 13 -- +diff --git a/src/gcc/ada/libgnat/g-spogwa.adb b/src/gcc/ada/libgnat/g-spogwa.adb +index 530a6cd..598f3fc 100644 +--- a/src/gcc/ada/libgnat/g-spogwa.adb ++++ b/src/gcc/ada/libgnat/g-spogwa.adb +@@ -42,7 +42,9 @@ is + writefds : access FD_Set_Type; + exceptfds : access FD_Set_Type; + timeout : access System.C_Time.timeval) return Integer +- with Import => True, Convention => Stdcall, External_Name => "select"; ++ with Import => True, Convention => Stdcall, ++ External_Name => (if System.OS_Constants.Glibc_Use_Time_Bits64 ++ then "__select64" else "select"); + + Timeout_V : aliased System.C_Time.timeval; + Timeout_A : access System.C_Time.timeval; +diff --git a/src/gcc/ada/libgnat/s-osprim__posix.adb b/src/gcc/ada/libgnat/s-osprim__posix.adb +index bb9a28d..9e86121 100644 +--- a/src/gcc/ada/libgnat/s-osprim__posix.adb ++++ b/src/gcc/ada/libgnat/s-osprim__posix.adb +@@ -31,6 +31,7 @@ + + -- This version is for POSIX-like operating systems + with System.C_Time; ++with System.OS_Constants; + + package body System.OS_Primitives is + +@@ -41,7 +42,8 @@ package body System.OS_Primitives is + + function nanosleep (rqtp, rmtp : not null access C_Time.timespec) + return Integer; +- pragma Import (C, nanosleep, "nanosleep"); ++ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__nanosleep64" else "nanosleep")); + + ----------- + -- Clock -- +@@ -56,7 +58,8 @@ package body System.OS_Primitives is + function gettimeofday + (Tv : access C_Time.timeval; + Tz : System.Address := System.Null_Address) return Integer; +- pragma Import (C, gettimeofday, "gettimeofday"); ++ pragma Import (C, gettimeofday, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__gettimeofday64" else "gettimeofday")); + + begin + -- The return codes for gettimeofday are as follows (from man pages): +diff --git a/src/gcc/ada/libgnat/s-osprim__posix2008.adb b/src/gcc/ada/libgnat/s-osprim__posix2008.adb +index 377fb3a..76823c1 100644 +--- a/src/gcc/ada/libgnat/s-osprim__posix2008.adb ++++ b/src/gcc/ada/libgnat/s-osprim__posix2008.adb +@@ -45,7 +45,8 @@ package body System.OS_Primitives is + + function nanosleep (rqtp, rmtp : not null access C_Time.timespec) + return Integer; +- pragma Import (C, nanosleep, "nanosleep"); ++ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64 ++ then "__nanosleep64" else "nanosleep")); + + ----------- + -- Clock -- +@@ -62,7 +63,8 @@ package body System.OS_Primitives is + function clock_gettime + (clock_id : clockid_t; + tp : access C_Time.timespec) return int; +- pragma Import (C, clock_gettime, "clock_gettime"); ++ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64 ++ thon "__clock_gettime64" else "clock_gettime")); + + begin + Result := clock_gettime (CLOCK_REALTIME, TS'Unchecked_Access); +diff --git a/src/gcc/ada/s-oscons-tmplt.c b/src/gcc/ada/s-oscons-tmplt.c +index e5dad44..a64e578 100644 +--- a/src/gcc/ada/s-oscons-tmplt.c ++++ b/src/gcc/ada/s-oscons-tmplt.c +@@ -1775,6 +1775,22 @@ CNS(MAX_tv_sec, "") + CND(SIZEOF_tv_nsec, "tv_nsec"); + } + ++/* ++ ++ -- Functions with time_t suseconds_t timeval timespec parameters like ++ -- clock_get{res,time} gettimeofday nanosleep ++ -- pthread_cond_{,timed}wait select ++ -- must be imported from the GNU C library with ++ -- External_Name => (if Glibc_Use_Time_Bits64 then "__foo64" else "foo") ++ -- The test is safe in files that do not require GNU specifically. ++ ++*/ ++#if defined(__USE_TIME64_REDIRECTS) || (__TIMESIZE == 32 && __USE_TIME_BITS64) ++ C("Glibc_Use_Time_Bits64", Boolean, "True", "Y2038 Glibc transition") ++#else ++ C("Glibc_Use_Time_Bits64", Boolean, "False", "Y2038 Glibc transition") ++#endif ++ + /* + + -- Sizes of various data types diff --git a/patches/ada-749574.diff b/patches/ada-749574.diff new file mode 100644 index 0000000..c315e0f --- /dev/null +++ b/patches/ada-749574.diff @@ -0,0 +1,56 @@ +From: Ludovic Brenta +From: Nicolas Boulenguez +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81087 +Bug-Debian: http://bugs.debian.org/749574 +Description: array index out of range in gnatlink + The procedure gnatlink assumes that the Linker_Options.Table contains access + values to strings whose 'First index is always 1. This assumption is wrong + for the string returned by function Base_Name. + . + The wrong indices are not detected because gnatlink is compiled with + -gnatp, but the test result is wrong. + . + PR Ada/81087 shows a reproducer. + +--- a/src/gcc/ada/gnatlink.adb ++++ b/src/gcc/ada/gnatlink.adb +@@ -1294,7 +1294,9 @@ + > Run_Path_Opt'Length + and then + Linker_Options.Table (J) +- (1 .. Run_Path_Opt'Length) = ++ (Linker_Options.Table (J)'First .. ++ Linker_Options.Table (J)'First ++ + Run_Path_Opt'Length - 1) = + Run_Path_Opt + then + -- We have found an already specified +@@ -1892,7 +1894,9 @@ + if Linker_Options.Table (J).all = "-Xlinker" + and then J < Linker_Options.Last + and then Linker_Options.Table (J + 1)'Length > 8 +- and then Linker_Options.Table (J + 1) (1 .. 8) = "--stack=" ++ and then Linker_Options.Table (J + 1) ++ (Linker_Options.Table (J + 1)'First .. ++ Linker_Options.Table (J + 1)'First + 7) = "--stack=" + then + if Stack_Op then + Linker_Options.Table (J .. Linker_Options.Last - 2) := +@@ -1938,11 +1942,15 @@ + -- pragma Linker_Options set in the NT runtime. + + if (Linker_Options.Table (J)'Length > 17 +- and then Linker_Options.Table (J) (1 .. 17) = ++ and then Linker_Options.Table (J) ++ (Linker_Options.Table (J)'First .. ++ Linker_Options.Table (J)'First + 16) = + "-Xlinker --stack=") + or else + (Linker_Options.Table (J)'Length > 12 +- and then Linker_Options.Table (J) (1 .. 12) = ++ and then Linker_Options.Table (J) ++ (Linker_Options.Table (J)'First .. ++ Linker_Options.Table (J)'First + 11) = + "-Wl,--stack=") + then + if Stack_Op then diff --git a/patches/ada-armel-libatomic.diff b/patches/ada-armel-libatomic.diff new file mode 100644 index 0000000..7ef4136 --- /dev/null +++ b/patches/ada-armel-libatomic.diff @@ -0,0 +1,90 @@ +Description: link libgnarl with libatomic on armel and sparc + On other architectures, the library is ignored thanks to --as-needed. + . + Seen with 14-20240429-1 on armel: + cd rts; [bla]/./gcc/xgcc [bla] -shared [bla] -o libgnarl-14.so [bla] + /usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_compare_exchange_8' + /usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_load_8' + . + Seen with 13.2.0-25 on sparc: + checking fp.h usability... /usr/sparc-linux-gnu/bin/ld: libgnat-13.so: undefined reference to `__atomic_compare_exchange_8' + . + Libatomic becomes an artificial dependency for Ada in Makefile.def, + so a better solution is welcome. + . + Autogen should refresh src/Makefile.in from src/Makefile.{def,tpl} + at build time, but we do not want to Build-Depend: guile. + # export QUILT_PATCHES=debian/patches + # quilt pop $this.diff + # quilt add src/Makefile.in + # (cd src && autogen Makefile.def) + # quilt refresh --no-timestamps --no-index -pab + # quilt push -a + . + The issue is hidden without -Wl,--no-allow-shlib-undefined. + (ada-gnattools-cross.diff adds checking options to LDFLAGS, + then adds LDFLAGS to the command line). +Bug-Debian: https://bugs.debian.org/861734 +Bug-Debian: https://bugs.debian.org/1072071 +Author: Matthias Klose +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/Makefile.rtl ++++ b/src/gcc/ada/Makefile.rtl +@@ -2273,6 +2273,7 @@ endif + + # ARM linux, GNU eabi + ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) ++ MISCLIB = ../../../$(target_alias)/libatomic/.libs/libatomic.so + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads 1", + which may happen even if a match has been found. + This part will most probably be of interest for upstream. + . + Update the gnatchop tool to use this function. + This part will most probably be of interest for upstream. + . + Check that the target and version in the gnatmake program name, if + present, match the static constants inside the gnatmake program + itself. Also, knowing the length of the only allowed prefix and suffix + slightly improves performance by avoiding loops. + This part will most probably be of interest for upstream. + . + In Debian, gcc/gcc-version/target-gcc are symbolic links to the + target-gcc-version executable. The same holds for gnatmake, but the + target and version may differ. So "target-gcc-version" is the right + answer. It helps log checkers and humans debuggers, even if gnatmake + was invoked via a shortcut intended for human typers. + This part will probably be hard to merge for upstream, as some + distributions provide no "target-gcc-version". + . + Log for bug 903694 carries regression tests for both bugs. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87777 +Bug-Debian: https://bugs.debian.org/814977 +Bug-Debian: https://bugs.debian.org/814978 +Bug-Debian: https://bugs.debian.org/856274 +Bug-Debian: https://bugs.debian.org/881938 +Bug-Debian: https://bugs.debian.org/903694 +Author: Ludovic Brenta +Author: Nicolas Boulenguez +Author: Svante Signell +Author: YunQiang Su + +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -144,14 +144,10 @@ package Osint is + -- path) in Name_Buffer, with the length in Name_Len. + + function Program_Name (Nam : String; Prog : String) return String_Access; +- -- In the native compilation case, creates a string containing Nam. In the +- -- cross compilation case, looks at the prefix of the current program being +- -- run and prepends it to Nam. For instance if the program being run is +- -- -gnatmake and Nam is "gcc", the returned value will be a pointer +- -- to "-gcc". This function clobbers Name_Buffer and Name_Len. +- -- Also looks at any suffix, e.g. gnatmake-4.1 -> "gcc-4.1". Prog is the +- -- default name of the current program being executed, e.g. "gnatmake", +- -- "gnatlink". ++ -- On Debian, always create a string containing ++ -- Sdefault.Target_Name & '-' & Nam & '-' & Gnatvsn.Library_Version. ++ -- Fail if the program base name differs from Prog, ++ -- maybe extended with the same prefix or suffix. + + procedure Write_Program_Name; + -- Writes name of program as invoked to the current output (normally +--- a/src/gcc/ada/osint.adb ++++ b/src/gcc/ada/osint.adb +@@ -2268,50 +2268,51 @@ package body Osint is + ------------------ + + function Program_Name (Nam : String; Prog : String) return String_Access is +- End_Of_Prefix : Natural := 0; +- Start_Of_Prefix : Positive := 1; +- Start_Of_Suffix : Positive; +- ++ -- Most of the work is to check that the current program name ++ -- is consistent with the two static constants below. ++ Suffix : constant String := '-' & Gnatvsn.Library_Version; ++ Prefix : Types.String_Ptr := Sdefault.Target_Name; ++ First : Integer; ++ Result : System.OS_Lib.String_Access; + begin + -- Get the name of the current program being executed +- + Find_Program_Name; + +- Start_Of_Suffix := Name_Len + 1; ++ -- If our version is present, skip it. ++ First := Name_Len - Suffix'Length + 1; ++ if 0 < First and then Name_Buffer (First .. Name_Len) = Suffix then ++ Name_Len := First - 1; ++ end if; ++ ++ -- The central part must be Prog. ++ First := Name_Len - Prog'Length + 1; ++ if First <= 0 or else Name_Buffer (First .. Name_Len) /= Prog then ++ Fail ("Osint.Program_Name: must end with " & Prog ++ & " or " & Prog & Suffix); ++ end if; ++ Name_Len := First - 1; + +- -- Find the target prefix if any, for the cross compilation case. +- -- For instance in "powerpc-elf-gcc" the target prefix is +- -- "powerpc-elf-" +- -- Ditto for suffix, e.g. in "gcc-4.1", the suffix is "-4.1" +- +- for J in reverse 1 .. Name_Len loop +- if Is_Directory_Separator (Name_Buffer (J)) +- or else Name_Buffer (J) = ':' +- then +- Start_Of_Prefix := J + 1; +- exit; +- end if; +- end loop; +- +- -- Find End_Of_Prefix +- +- for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop +- if Name_Buffer (J .. J + Prog'Length - 1) = Prog then +- End_Of_Prefix := J - 1; +- exit; +- end if; +- end loop; ++ -- According to Make-generated.in, this ends with a slash. ++ Prefix.all (Prefix.all'Last) := '-'; + +- if End_Of_Prefix > 1 then +- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; ++ -- If our target is present, skip it. ++ First := Name_Len - Prefix.all'Length + 1; ++ if 0 < First and then Name_Buffer (First .. Name_Len) = Prefix.all then ++ Name_Len := First - 1; + end if; + +- -- Create the new program name ++ -- What remains must be the directory part. ++ if 0 < Name_Len ++ and then Name_Buffer (Name_Len) /= ':' ++ and then not Is_Directory_Separator (Name_Buffer (Name_Len)) ++ then ++ Fail ("Osint.Program_Name: must start with " & Prog ++ & " or " & Prefix.all & Prog); ++ end if; + +- return new String' +- (Name_Buffer (Start_Of_Prefix .. End_Of_Prefix) +- & Nam +- & Name_Buffer (Start_Of_Suffix .. Name_Len)); ++ Result := new String'(Prefix.all & Nam & Suffix); ++ Types.Free (Prefix); ++ return Result; + end Program_Name; + + ------------------------------ +--- a/src/gcc/ada/gnatchop.adb ++++ b/src/gcc/ada/gnatchop.adb +@@ -36,6 +36,7 @@ with GNAT.OS_Lib; use GNA + with GNAT.Heap_Sort_G; + with GNAT.Table; + ++with Osint; + with Switch; use Switch; + with Types; + +@@ -44,12 +45,9 @@ procedure Gnatchop is + Config_File_Name : constant String_Access := new String'("gnat.adc"); + -- The name of the file holding the GNAT configuration pragmas + +- Gcc : String_Access := new String'("gcc"); ++ Gcc : String_Access := null; + -- May be modified by switch --GCC= + +- Gcc_Set : Boolean := False; +- -- True if a switch --GCC= is used +- + Gnat_Cmd : String_Access; + -- Command to execute the GNAT compiler + +@@ -222,12 +220,6 @@ procedure Gnatchop is + Integer'Image + (Maximum_File_Name_Length); + +- function Locate_Executable +- (Program_Name : String; +- Look_For_Prefix : Boolean := True) return String_Access; +- -- Locate executable for given program name. This takes into account +- -- the target-prefix of the current command, if Look_For_Prefix is True. +- + subtype EOL_Length is Natural range 0 .. 2; + -- Possible lengths of end of line sequence + +@@ -492,76 +484,6 @@ procedure Gnatchop is + Unit.Table (Sorted_Units.Table (U + 1)).File_Name.all; + end Is_Duplicated; + +- ----------------------- +- -- Locate_Executable -- +- ----------------------- +- +- function Locate_Executable +- (Program_Name : String; +- Look_For_Prefix : Boolean := True) return String_Access +- is +- Gnatchop_Str : constant String := "gnatchop"; +- Current_Command : constant String := Normalize_Pathname (Command_Name); +- End_Of_Prefix : Natural; +- Start_Of_Prefix : Positive; +- Start_Of_Suffix : Positive; +- Result : String_Access; +- +- begin +- Start_Of_Prefix := Current_Command'First; +- Start_Of_Suffix := Current_Command'Last + 1; +- End_Of_Prefix := Start_Of_Prefix - 1; +- +- if Look_For_Prefix then +- +- -- Find Start_Of_Prefix +- +- for J in reverse Current_Command'Range loop +- if Current_Command (J) = '/' or else +- Current_Command (J) = Directory_Separator or else +- Current_Command (J) = ':' +- then +- Start_Of_Prefix := J + 1; +- exit; +- end if; +- end loop; +- +- -- Find End_Of_Prefix +- +- for J in Start_Of_Prefix .. +- Current_Command'Last - Gnatchop_Str'Length + 1 +- loop +- if Current_Command (J .. J + Gnatchop_Str'Length - 1) = +- Gnatchop_Str +- then +- End_Of_Prefix := J - 1; +- exit; +- end if; +- end loop; +- end if; +- +- if End_Of_Prefix > Current_Command'First then +- Start_Of_Suffix := End_Of_Prefix + Gnatchop_Str'Length + 1; +- end if; +- +- declare +- Command : constant String := +- Current_Command (Start_Of_Prefix .. End_Of_Prefix) +- & Program_Name +- & Current_Command (Start_Of_Suffix .. +- Current_Command'Last); +- begin +- Result := Locate_Exec_On_Path (Command); +- +- if Result = null then +- Error_Msg +- (Command & ": installation problem, executable not found"); +- end if; +- end; +- +- return Result; +- end Locate_Executable; +- + --------------- + -- Parse_EOL -- + --------------- +@@ -1089,8 +1011,8 @@ procedure Gnatchop is + exit; + + when '-' => +- Gcc := new String'(Parameter); +- Gcc_Set := True; ++ Free (Gcc); ++ Gcc := new String'(Parameter); + + when 'c' => + Compilation_Mode := True; +@@ -1768,9 +1690,13 @@ begin + + -- Check presence of required executables + +- Gnat_Cmd := Locate_Executable (Gcc.all, not Gcc_Set); ++ if Gcc = null then ++ Gcc := Osint.Program_Name ("gcc", "gnatchop"); ++ end if; ++ Gnat_Cmd := Locate_Exec_On_Path (Gcc.all); + + if Gnat_Cmd = null then ++ Error_Msg (Gcc.all & ": installation problem, executable not found"); + goto No_Files_Written; + end if; + diff --git a/patches/ada-gnat-name.diff b/patches/ada-gnat-name.diff new file mode 100644 index 0000000..06e161d --- /dev/null +++ b/patches/ada-gnat-name.diff @@ -0,0 +1,32 @@ +# DP: use GNATBIND and GNATMAKE passed from the toplevel Makefile + +this patch is incomplete. It still fails when building libada. + +--- a/src/gcc/ada/Make-generated.in ++++ b/src/gcc/ada/Make-generated.in +@@ -18,7 +18,7 @@ GEN_IL_FLAGS = -gnata -gnat2012 -gnatw.g -gnatyg -gnatU $(GEN_IL_INCLUDES) + ada/seinfo_tables.ads ada/seinfo_tables.adb ada/sinfo.h ada/einfo.h ada/nmake.ads ada/nmake.adb ada/seinfo.ads ada/sinfo-nodes.ads ada/sinfo-nodes.adb ada/einfo-entities.ads ada/einfo-entities.adb: ada/stamp-gen_il ; @true + ada/stamp-gen_il: $(fsrcdir)/ada/gen_il* + $(MKDIR) ada/gen_il +- cd ada/gen_il; gnatmake -q -g $(GEN_IL_FLAGS) gen_il-main ++ cd ada/gen_il; $(GNATMAKE) -q -g $(GEN_IL_FLAGS) gen_il-main + # Ignore errors to work around finalization issues in older compilers + - cd ada/gen_il; ./gen_il-main + $(fsrcdir)/../move-if-change ada/gen_il/seinfo_tables.ads ada/seinfo_tables.ads +@@ -39,14 +39,14 @@ ada/stamp-gen_il: $(fsrcdir)/ada/gen_il* + # would cause bootstrapping with older compilers to fail. You can call it by + # hand, as a sanity check that these files are legal. + ada/seinfo_tables.o: ada/seinfo_tables.ads ada/seinfo_tables.adb +- cd ada ; gnatmake $(GEN_IL_INCLUDES) seinfo_tables.adb -gnatU -gnatX ++ cd ada ; $(GNATMAKE) $(GEN_IL_INCLUDES) seinfo_tables.adb -gnatU -gnatX + + ada/snames.h ada/snames.ads ada/snames.adb : ada/stamp-snames ; @true + ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada/xsnamest.adb ada/xutil.ads ada/xutil.adb + -$(MKDIR) ada/bldtools/snamest + $(RM) $(addprefix ada/bldtools/snamest/,$(notdir $^)) + $(CP) $^ ada/bldtools/snamest +- cd ada/bldtools/snamest && gnatmake -q xsnamest && ./xsnamest ++ cd ada/bldtools/snamest && $(GNATMAKE) -q xsnamest && ./xsnamest + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.ns ada/snames.ads + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nb ada/snames.adb + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nh ada/snames.h diff --git a/patches/ada-gnattools-cross.diff b/patches/ada-gnattools-cross.diff new file mode 100644 index 0000000..4f0fd9a --- /dev/null +++ b/patches/ada-gnattools-cross.diff @@ -0,0 +1,228 @@ +TODO: Check that the part removing the dependency from stamp-gnatlib1 +to stamp-gnatlib2 is not necessary anymore with gcc-9. + +* Link tools dynamically. +* Prevent direct embedding of libada objects: + Mark ALI files as read-only, remove objects after the build. + A solution keeping the objects would be more intrusive. +* Rebuild gnatbind/make/link with themselves. + This removes unneeded objects inherited from the hardcoded bootstrap list. + The same thing would be useful for gnat1drv, but is less easy. +* TOOLS_ALREADY_COMPILED lists LIBGNAT objects that + gcc/ada/gcc-interface/Makefile should not rebuild. +* Link libgnat/gnarl with LDFLAGS. +* Link libgnarl with an explicit path to a shared object. + This prevents undefined symbols or unwanted usage of host libgnat. +* Compile with -gnatn for efficiency. + Double-check the link since Debian moves some symbols. +* set LD_LIBRARY_PATH so that rebuilt tools can be executed. + +--- a/src/gcc/ada/Makefile.rtl ++++ b/src/gcc/ada/Makefile.rtl +@@ -1845,6 +1845,11 @@ ifeq ($(strip $(filter-out s390% linux%, + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),) ++ GNATLIB_SHARED = gnatlib-shared-dual ++ LIBRARY_VERSION := $(LIB_VERSION) ++endif ++ + # HP/PA HP-UX 10 + ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),) + LIBGNAT_TARGET_PAIRS = \ +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -503,6 +503,20 @@ gnatlink-re: ../stamp-tools gnatmake-re + --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS) + $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext) + ++gnatbind-re: ../stamp-tools gnatmake-re gnatlink-re ++ $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatbind --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatbind ++ $(GNATLINK) -v gnatbind -o ../../gnatbind$(exeext) \ ++ --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS) ++ ++# When driven by gnattools/Makefile for a native build, ++# TOOLS_ALREADY_COMPILED will list objects in the target standard Ada ++# libraries, that Make should avoid rebuilding. ++# We cannot use recursive variables to avoid an infinite loop, ++# so we must put this after definition of EXTRA_GNATMAKE_OBJS. ++GNATLINK_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATLINK_OBJS)) ++GNATMAKE_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATMAKE_OBJS)) ++ + # Needs to be built with CC=gcc + # Since the RTL should be built with the latest compiler, remove the + # stamp target in the parent directory whenever gnat1 is rebuilt +@@ -630,7 +644,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib + $(OSCONS_EXTRACT) ; \ + ../bldtools/oscons/xoscons s-oscons) + +-gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads ++gnatlib: ../stamp-gnatlib1-$(RTSDIR) $(RTSDIR)/s-oscons.ads + test -f $(RTSDIR)/s-oscons.ads || exit 1 + # C files + $(MAKE) -C $(RTSDIR) \ +@@ -662,18 +676,30 @@ gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../ + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext) + endif + $(CHMOD) a-wx $(RTSDIR)/*.ali ++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o. ++ $(RM) $(RTSDIR)/*.o + touch ../stamp-gnatlib-$(RTSDIR) + + # Warning: this target assumes that LIBRARY_VERSION has been set correctly. + gnatlib-shared-default: +- $(MAKE) $(FLAGS_TO_PASS) \ +- GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET) -fno-lto" \ +- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-lto" \ +- MULTISUBDIR="$(MULTISUBDIR)" \ +- THREAD_KIND="$(THREAD_KIND)" \ +- LN_S="$(LN_S)" \ +- gnatlib ++ $(MAKE) -C $(RTSDIR) \ ++ CC="`echo \"$(GCC_FOR_TARGET)\" \ ++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ ++ CFLAGS="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-lto" \ ++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ srcdir=$(fsrcdir) \ ++ -f ../Makefile $(LIBGNAT_OBJS) ++ $(MAKE) -C $(RTSDIR) \ ++ CC="`echo \"$(GCC_FOR_TARGET)\" \ ++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ++ ADA_INCLUDES="" \ ++ CFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET) -fno-lto" \ ++ ADAFLAGS="$(GNATLIBFLAGS) $(PICFLAG_FOR_TARGET) -fno-lto" \ ++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ ++ srcdir=$(fsrcdir) \ ++ -f ../Makefile \ ++ $(GNATRTL_OBJS) + $(RM) $(RTSDIR)/libgna*$(soext) + cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared $(GNATLIBCFLAGS) \ + $(PICFLAG_FOR_TARGET) \ +@@ -684,8 +710,10 @@ gnatlib-shared-default: + cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared $(GNATLIBCFLAGS) \ + $(PICFLAG_FOR_TARGET) \ + -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ $(LDFLAGS) \ + $(GNATRTL_TASKING_OBJS) \ + $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ ++ libgnat$(hyphen)$(LIBRARY_VERSION).so \ + $(THREADSLIB) + cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + libgnat$(soext) +@@ -701,6 +729,10 @@ gnatlib-shared-default: + $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl_pic$(arext) + ++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o. ++ $(CHMOD) a-wx $(RTSDIR)/*.ali ++ $(RM) $(RTSDIR)/*.o ++ + gnatlib-shared-dual: + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +@@ -710,11 +742,8 @@ gnatlib-shared-dual: + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + LN_S="$(LN_S)" \ +- gnatlib-shared-default +- $(MV) $(RTSDIR)/libgna*$(soext) . +- $(MV) $(RTSDIR)/libgnat_pic$(arext) . +- $(MV) $(RTSDIR)/libgnarl_pic$(arext) . +- $(RM) ../stamp-gnatlib2-$(RTSDIR) ++ gnatlib ++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +@@ -722,10 +751,7 @@ gnatlib-shared-dual: + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + LN_S="$(LN_S)" \ +- gnatlib +- $(MV) libgna*$(soext) $(RTSDIR) +- $(MV) libgnat_pic$(arext) $(RTSDIR) +- $(MV) libgnarl_pic$(arext) $(RTSDIR) ++ gnatlib-shared-default + + gnatlib-shared-dual-win32: + $(MAKE) $(FLAGS_TO_PASS) \ +@@ -736,9 +762,8 @@ gnatlib-shared-dual-win32: + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + LN_S="$(LN_S)" \ +- gnatlib-shared-win32 +- $(MV) $(RTSDIR)/libgna*$(soext) . +- $(RM) ../stamp-gnatlib2-$(RTSDIR) ++ gnatlib ++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +@@ -746,8 +771,7 @@ gnatlib-shared-dual-win32: + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + LN_S="$(LN_S)" \ +- gnatlib +- $(MV) libgna*$(soext) $(RTSDIR) ++ gnatlib-shared-win32 + + # ??? we need to add the option to support auto-import of arrays/records to + # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will +--- a/src/gnattools/Makefile.in ++++ b/src/gnattools/Makefile.in +@@ -75,16 +75,23 @@ CXX_LFLAGS = \ + -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \ + -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs + ++rtsdir := $(abspath ../gcc/ada/rts) ++ + # Variables for gnattools, native + TOOLS_FLAGS_TO_PASS_NATIVE= \ + "CC=../../xgcc -B../../" \ + "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ +- "LDFLAGS=$(LDFLAGS)" \ +- "ADAFLAGS=$(ADAFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--no-allow-shlib-undefined \ ++ -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined" \ ++ "ADAFLAGS=$(ADAFLAGS) -gnatn" \ + "ADA_CFLAGS=$(ADA_CFLAGS)" \ + "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \ +- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\ ++ "ADA_INCLUDES=-I- -nostdinc -I$(rtsdir) $(ADA_INCLUDES_FOR_SUBDIR)" \ ++ "TOOLS_ALREADY_COMPILED=$(foreach d, $(rtsdir), \ ++ $(patsubst $(d)/%.ali,%.o, $(wildcard $(d)/*.ali)))" \ ++ 'LIBGNAT=$(rtsdir)/libgnat-$$(LIB_VERSION).so' \ ++ "GNATBIND_FLAGS=-nostdlib -x" \ + "exeext=$(exeext)" \ + "fsrcdir=$(fsrcdir)" \ + "srcdir=$(fsrcdir)" \ +@@ -194,6 +201,10 @@ $(GCC_DIR)/stamp-tools: + # to be able to build gnatmake without a version of gnatmake around. Once + # everything has been compiled once, gnatmake can be recompiled with itself + # (see target regnattools) ++gnattools-native: export LD_LIBRARY_PATH := \ ++ $(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(rtsdir) ++# Useful even for 1st pass, as ../../gnatmake may already be ++# dynamically linked in case this target has already been invoked. + gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts + # gnattools1 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ +@@ -202,6 +213,13 @@ gnattools-native: $(GCC_DIR)/stamp-tools + # gnattools2 + $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ + $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools ++# The hard-coded object lists for gnatbind/make/link contain unneeded ++# objects. Use the fresh tools to recompute dependencies. ++# A separate Make run avoids race conditions between gnatmakes ++# building the same object for common-tools and gnat*-re. ++# (parallelism is already forbidden between gnat*-re targets) ++ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ ++ $(TOOLS_FLAGS_TO_PASS_NATIVE) gnatbind-re gnatmake-re gnatlink-re + + # gnatmake/link can be built with recent gnatmake/link if they are available. + # This is especially convenient for building cross tools or for rebuilding diff --git a/patches/ada-hurd-amd64.diff b/patches/ada-hurd-amd64.diff new file mode 100644 index 0000000..27277b8 --- /dev/null +++ b/patches/ada-hurd-amd64.diff @@ -0,0 +1,37 @@ +--- a/src/gcc/ada/Makefile.rtl ++++ b/src/gcc/ada/Makefile.rtl +@@ -1674,6 +1674,34 @@ ifeq ($(strip $(filter-out x86_64 kfreeb + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++# x86_64-pc-gnu i.e. GNU Hurd ++ifeq ($(strip $(filter-out x86_64 pc gnu,$(target_cpu) $(target_os))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads + +--- a/src/gcc/ada/osint.adb ++++ b/src/gcc/ada/osint.adb +@@ -64,6 +64,10 @@ package body Osint is + -- Used in Locate_File as a fake directory when Name is already an + -- absolute path. + ++ Source_Date_Epoch : OS_Time := Invalid_Time; ++ -- Set at startup by the Initialize procedure. ++ -- See the specification of the File_Time_Stamp functions. ++ + ------------------------------------- + -- Use of Name_Find and Name_Enter -- + ------------------------------------- +@@ -1126,8 +1130,14 @@ package body Osint is + is + function Internal (N : C_File_Name; A : System.Address) return OS_Time; + pragma Import (C, Internal, "__gnat_file_time_name_attr"); ++ T : OS_Time := Internal (Name, Attr.all'Address); + begin +- return Internal (Name, Attr.all'Address); ++ if Source_Date_Epoch /= Invalid_Time and then T /= Invalid_Time ++ and then Source_Date_Epoch < T ++ then ++ T := Source_Date_Epoch; ++ end if; ++ return T; + end File_Time_Stamp; + + function File_Time_Stamp +@@ -1150,6 +1160,7 @@ package body Osint is + ---------------- + + function File_Stamp (Name : File_Name_Type) return Time_Stamp_Type is ++ T : OS_Time; + begin + if Name = No_File then + return Empty_Time_Stamp; +@@ -1161,9 +1172,13 @@ package body Osint is + -- not exist, and OS_Time_To_GNAT_Time will convert this value to + -- Empty_Time_Stamp. Therefore we do not need to first test whether + -- the file actually exists, which saves a system call. +- +- return OS_Time_To_GNAT_Time +- (File_Time_Stamp (Name_Buffer (1 .. Name_Len))); ++ T := File_Time_Stamp (Name_Buffer (1 .. Name_Len)); ++ if Source_Date_Epoch /= Invalid_Time and then T /= Invalid_Time ++ and then Source_Date_Epoch < T ++ then ++ T := Source_Date_Epoch; ++ end if; ++ return OS_Time_To_GNAT_Time (T); + end File_Stamp; + + function File_Stamp (Name : Path_Name_Type) return Time_Stamp_Type is +@@ -3261,4 +3276,34 @@ begin + Osint.Initialize; + end Initialization; + ++ -- When the SOURCE_DATE_EPOCH the environment variable is not empty, ++ -- only contains decimal digits and represents a value lower than 2**63, ++ -- set Source_Date_Epoch to this value. ++ Set_Source_Date_Epoch : declare ++ Env_Var : String_Access := Getenv ("SOURCE_DATE_EPOCH"); ++ Epoch : Long_Long_Integer range 0 .. Long_Long_Integer'Last := 0; ++ Index : Integer range Env_Var.all'First .. Env_Var.all'Last + 1 ++ := Env_Var.all'First; ++ Digit : Long_Long_Integer; ++ begin ++ if Index <= Env_Var.all'Last then ++ -- Calling System.Val_LLI breaks the bootstrap sequence. ++ loop ++ Digit := Character'Pos (Env_Var.all (Index)) - Character'Pos ('0'); ++ exit when Digit not in 0 .. 9; ++ exit when Long_Long_Integer'Last - Digit < Epoch; ++ Epoch := Epoch + Digit; ++ if Index = Env_Var.all'Last then ++ Source_Date_Epoch := To_Ada (Epoch); ++ exit; ++ end if; ++ Index := Index + 1; ++ -- The division is computed once at build time. ++ exit when Long_Long_Integer'Last / 10 < Epoch; ++ Epoch := Epoch * 10; ++ end loop; ++ end if; ++ Free (Env_Var); ++ end Set_Source_Date_Epoch; ++ + end Osint; +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -196,6 +196,7 @@ package Osint is + -- information in order to locate it. If the source file cannot be opened, + -- or Name = No_File, and all blank time stamp is returned (this is not an + -- error situation). ++ -- Handles SOURCE_DATE_EPOCH like File_Time_Stamp functions below. + + function File_Stamp (Name : Path_Name_Type) return Time_Stamp_Type; + -- Same as above for a path name +@@ -303,6 +304,11 @@ package Osint is + (Name : Path_Name_Type; + Attr : access File_Attributes) return Time_Stamp_Type; + -- Return the time stamp of the file ++ -- If the SOURCE_DATE_EPOCH environment variable exists and represents ++ -- an OS_Type value, any more recent file time stamp is truncated. ++ -- This ensures that gnat1 writes deterministic .ali files even in ++ -- the presence of patched or generated sources. See ++ -- https://reproducible-builds.org/specs/source-date-epoch. + + function Is_Readable_File + (Name : C_File_Name; diff --git a/patches/ada-link-lib.diff b/patches/ada-link-lib.diff new file mode 100644 index 0000000..7231867 --- /dev/null +++ b/patches/ada-link-lib.diff @@ -0,0 +1,168 @@ +Description: adapt libgnat build for Debian + Don't include a runtime link path (-rpath), when linking binaries. + . + Build the shared libraries on hppa-linux (see #786692 below). + TODO: ask the reporter (no porterbox) to attempt a rebuild without this + chunk, now that we diverge less from upstream. + . + Instead of building libada as a target library only, build it as + both a host and, if different, target library. + . + Compile with -gnatn for efficiency. + Double-check the link since Debian moves some symbols. + . + Autogen should refresh src/Makefile.in from src/Makefile.{def,tpl} + at build time, but we do not want to Build-Depend: guile. + # export QUILT_PATCHES=debian/patches + # quilt pop $this.diff + # quilt add src/Makefile.in + # (cd src && autogen Makefile.def) + # quilt refresh --no-timestamps --no-index -pab + # quilt push -a +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786692 +Forwarded: not-needed +Author: Ludovic Brenta +Author: Nicolas Boulenguez +Author: Matthias Klose + +--- a/src/gcc/ada/gcc-interface/config-lang.in ++++ b/src/gcc/ada/gcc-interface/config-lang.in +@@ -44,7 +44,7 @@ if test "x$cross_compiling/$build/$host" + fi + + target_libs="target-libada" +-lang_dirs="gnattools" ++lang_dirs="libada gnattools" + + # Ada is not enabled by default for the time being. + build_by_default=no +--- a/src/gcc/ada/link.c ++++ b/src/gcc/ada/link.c +@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir + || defined (__NetBSD__) || defined (__OpenBSD__) \ + || defined (__QNX__) + const char *__gnat_object_file_option = "-Wl,@"; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; +-char __gnat_shared_libgcc_default = STATIC; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; ++char __gnat_shared_libgcc_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + const char *__gnat_object_library_extension = ".a"; +@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir + + #elif defined (__linux__) || defined (__GLIBC__) + const char *__gnat_object_file_option = "-Wl,@"; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; +-char __gnat_shared_libgcc_default = STATIC; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; ++char __gnat_shared_libgcc_default = SHARED; + int __gnat_link_max = 8192; + unsigned char __gnat_objlist_file_supported = 1; + const char *__gnat_object_library_extension = ".a"; +--- a/src/libada/Makefile.in ++++ b/src/libada/Makefile.in +@@ -79,10 +79,11 @@ ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /, + # by recursive make invocations in gcc/ada/Makefile.in + LIBADA_FLAGS_TO_PASS = \ + "MAKEOVERRIDES=" \ +- "LDFLAGS=$(LDFLAGS)" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--no-allow-shlib-undefined \ ++ -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined" \ + "LN_S=$(LN_S)" \ + "SHELL=$(SHELL)" \ +- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \ + "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ + "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG)" \ +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -413,6 +413,7 @@ dependencies = { module=all-libcpp; on=a + + dependencies = { module=all-fixincludes; on=all-libiberty; }; + ++dependencies = { module=all-target-libada; on=all-gcc; }; + dependencies = { module=all-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -68711,6 +68711,7 @@ + @endif gcc-bootstrap + + @unless gcc-bootstrap ++all-target-libada: maybe-all-gcc + all-gnattools: maybe-all-target-libstdc++-v3 + configure-libcc1: maybe-configure-gcc + all-libcc1: maybe-all-gcc +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -143,6 +143,11 @@ host_libs="gettext libiberty opcodes bfd + # If --enable-gold is used, "gold" may replace "ld". + host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gm2tools gotools c++tools" + ++case "${target}" in ++ hppa64-*linux*) ;; ++ *) target_libiberty="target-libiberty";; ++esac ++ + # these libraries are built for the target environment, and are built after + # the host libraries and the host tools (which may be a cross compiler) + # Note that libiberty is not a target library. +@@ -162,6 +167,7 @@ target_libraries="target-libgcc \ + target-libffi \ + target-libobjc \ + target-libada \ ++ ${target_libiberty} \ + target-libgm2 \ + target-libgo \ + target-libgrust \ +--- a/src/gcc/ada/gcc-interface/Make-lang.in ++++ b/src/gcc/ada/gcc-interface/Make-lang.in +@@ -43,7 +43,7 @@ RMDIR = rm -rf + + + # Extra flags to pass to recursive makes. +-COMMON_ADAFLAGS= -gnatpg ++COMMON_ADAFLAGS= -gnatpgn + ifeq ($(TREECHECKING),) + CHECKING_ADAFLAGS= + else +@@ -267,7 +267,9 @@ GCC_LINKERFLAGS = $(filter-out -Werror - + GCC_LDFLAGS = $(filter-out -static-libgcc, $(LDFLAGS)) + else + # Strip -Werror during linking for the LTO bootstrap +-GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) ++GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) \ ++ -Wl,--no-allow-shlib-undefined -Wl,--no-copy-dt-needed-entries \ ++ -Wl,--no-undefined + GCC_LDFLAGS = $(LDFLAGS) + endif + +--- a/src/gcc/testsuite/lib/gnat.exp ++++ b/src/gcc/testsuite/lib/gnat.exp +@@ -115,6 +115,7 @@ proc gnat_target_compile { source dest t + global TOOL_OPTIONS + global gnat_target_current + global TEST_ALWAYS_FLAGS ++ global ld_library_path + + # dg-require-effective-target tests must be compiled as C. + if [ string match "*.c" $source ] then { +@@ -144,6 +145,11 @@ proc gnat_target_compile { source dest t + # Always log so compilations can be repeated manually. + verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude" + verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude" ++ ++ if { ! [ string match "*/libada/adalib*" $ld_library_path ] } { ++ append ld_library_path ":$rtsdir/adalib" ++ set_ld_library_path_env_vars ++ } + } + + lappend options "compiler=$GNAT_UNDER_TEST -q -f" diff --git a/patches/ada-perl-shebang.diff b/patches/ada-perl-shebang.diff new file mode 100644 index 0000000..ea930b1 --- /dev/null +++ b/patches/ada-perl-shebang.diff @@ -0,0 +1,10 @@ +# DP: Fix perl shebang for the gnathtml binary. + +--- a/src/gcc/ada/gnathtml.pl ++++ b/src/gcc/ada/gnathtml.pl +@@ -1,4 +1,4 @@ +-#! /usr/bin/env perl ++#! /usr/bin/perl + + #----------------------------------------------------------------------------- + #- -- diff --git a/patches/ada-sjlj.diff b/patches/ada-sjlj.diff new file mode 100644 index 0000000..a63a6da --- /dev/null +++ b/patches/ada-sjlj.diff @@ -0,0 +1,498 @@ +Autogen should refresh src/Makefile.in from src/Makefile.{def,tpl} +at build time, but we do not want to Build-Depend: guile. +# export QUILT_PATCHES=debian/patches +# quilt pop $this.diff +# quilt add src/Makefile.in +# (cd src && autogen Makefile.def) +# quilt refresh --no-timestamps --no-index -pab +# quilt push -a + +--- /dev/null ++++ b/src/libada-sjlj/Makefile.in +@@ -0,0 +1,204 @@ ++# Makefile for libada. ++# Copyright (C) 2003-2017 Free Software Foundation, Inc. ++# ++# This file is free software; you can redistribute 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 ++# . ++ ++# Default target; must be first. ++all: gnatlib ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE) ++ ++.PHONY: all ++ ++## Multilib support variables. ++MULTISRCTOP = ++MULTIBUILDTOP = ++MULTIDIRS = ++MULTISUBDIR = ++MULTIDO = true ++MULTICLEAN = true ++ ++# Standard autoconf-set variables. ++SHELL = @SHELL@ ++srcdir = @srcdir@ ++libdir = @libdir@ ++build = @build@ ++target = @target@ ++prefix = @prefix@ ++ ++# Nonstandard autoconf-set variables. ++enable_shared = @enable_shared@ ++ ++LN_S=@LN_S@ ++AWK=@AWK@ ++ ++ifeq (cp -p,$(LN_S)) ++LN_S_RECURSIVE = cp -pR ++else ++LN_S_RECURSIVE = $(LN_S) ++endif ++ ++# Variables for the user (or the top level) to override. ++objext=.o ++THREAD_KIND=native ++TRACE=no ++LDFLAGS= ++ ++# The tedious process of getting CFLAGS right. ++CFLAGS=-g ++PICFLAG = @PICFLAG@ ++GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc ++GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(CFLAGS_FOR_TARGET) \ ++ -fexceptions -DIN_RTS @have_getipinfo@ @have_capability@ ++ ++host_subdir = @host_subdir@ ++GCC_DIR=$(MULTIBUILDTOP)../../$(host_subdir)/gcc ++ ++target_noncanonical:=@target_noncanonical@ ++version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) ++libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) ++ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) ++ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR)) ++ ++# exeext should not be used because it's the *host* exeext. We're building ++# a *target* library, aren't we?!? Likewise for CC. Still, provide bogus ++# definitions just in case something slips through the safety net provided ++# by recursive make invocations in gcc/ada/Makefile.in ++LIBADA_FLAGS_TO_PASS = \ ++ "MAKEOVERRIDES=" \ ++ "LDFLAGS=$(LDFLAGS) -Wl,--no-allow-shlib-undefined \ ++ -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined" \ ++ "LN_S=$(LN_S)" \ ++ "SHELL=$(SHELL)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \ ++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ ++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ ++ "PICFLAG_FOR_TARGET=$(PICFLAG)" \ ++ "THREAD_KIND=$(THREAD_KIND)" \ ++ "TRACE=$(TRACE)" \ ++ "MULTISUBDIR=$(MULTISUBDIR)" \ ++ "libsubdir=$(libsubdir)" \ ++ "objext=$(objext)" \ ++ "prefix=$(prefix)" \ ++ "exeext=.exeext.should.not.be.used " \ ++ 'CC=the.host.compiler.should.not.be.needed' \ ++ "GCC_FOR_TARGET=$(CC)" \ ++ "CFLAGS=$(CFLAGS)" \ ++ "RTSDIR=rts-sjlj" ++ ++# Rules to build gnatlib. ++.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool ++gnatlib: gnatlib-sjlj ++ ++gnatlib-plain: osconstool $(GCC_DIR)/ada/Makefile ++ test -f stamp-libada || \ ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) gnatlib \ ++ && touch stamp-libada ++ -rm -rf adainclude ++ -rm -rf adalib ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib ++ ++gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile ++ test -f stamp-libada || \ ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) $@ \ ++ && touch stamp-libada-sjlj ++ -rm -rf adainclude ++ -rm -rf adalib ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude ++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib ++ ++osconstool: ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons ++ ++install-gnatlib: $(GCC_DIR)/ada/Makefile ++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) install-gnatlib-sjlj ++ ++# Check uninstalled version. ++check: ++ ++# Check installed version. ++installcheck: ++ ++# Build info (none here). ++info: ++ ++# Build DVI (none here). ++dvi: ++ ++# Build PDF (none here). ++pdf: ++ ++# Build html (none here). ++html: ++ ++# Build TAGS (none here). ++TAGS: ++ ++.PHONY: check installcheck info dvi pdf html ++ ++# Installation rules. ++install: install-gnatlib ++ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE) ++ ++install-strip: install ++ ++install-info: ++ ++install-pdf: ++ ++install-html: ++ ++.PHONY: install install-strip install-info install-pdf install-html ++ ++# Cleaning rules. ++mostlyclean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE) ++ ++clean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE) ++ ++distclean: ++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) ++ $(RM) Makefile config.status config.log ++ ++maintainer-clean: ++ ++.PHONY: mostlyclean clean distclean maintainer-clean ++ ++# Rules for rebuilding this Makefile. ++Makefile: $(srcdir)/Makefile.in config.status ++ CONFIG_FILES=$@ ; \ ++ CONFIG_HEADERS= ; \ ++ $(SHELL) ./config.status ++ ++config.status: $(srcdir)/configure ++ $(SHELL) ./config.status --recheck ++ ++AUTOCONF = autoconf ++configure_deps = \ ++ $(srcdir)/configure.ac \ ++ $(srcdir)/../config/acx.m4 \ ++ $(srcdir)/../config/multi.m4 \ ++ $(srcdir)/../config/override.m4 \ ++ $(srcdir)/../config/picflag.m4 \ ++ $(srcdir)/../config/unwind_ipinfo.m4 ++ ++$(srcdir)/configure: @MAINT@ $(configure_deps) ++ cd $(srcdir) && $(AUTOCONF) ++ ++# Don't export variables to the environment, in order to not confuse ++# configure. ++.NOEXPORT: +--- /dev/null ++++ b/src/libada-sjlj/configure.ac +@@ -0,0 +1,156 @@ ++# Configure script for libada. ++# Copyright (C) 2003-2017 Free Software Foundation, Inc. ++# ++# This file is free software; you can redistribute 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 ++# . ++ ++sinclude(../config/acx.m4) ++sinclude(../config/multi.m4) ++sinclude(../config/override.m4) ++sinclude(../config/picflag.m4) ++sinclude(../config/unwind_ipinfo.m4) ++ ++AC_INIT ++AC_PREREQ([2.64]) ++ ++AC_CONFIG_SRCDIR([Makefile.in]) ++ ++# Determine the host, build, and target systems ++AC_CANONICAL_BUILD ++AC_CANONICAL_HOST ++AC_CANONICAL_TARGET ++target_alias=${target_alias-$host_alias} ++ ++# Determine the noncanonical target name, for directory use. ++ACX_NONCANONICAL_TARGET ++ ++# Determine the target- and build-specific subdirectories ++GCC_TOPLEV_SUBDIRS ++ ++# Command-line options. ++# Very limited version of AC_MAINTAINER_MODE. ++AC_ARG_ENABLE([maintainer-mode], ++ [AC_HELP_STRING([--enable-maintainer-mode], ++ [enable make rules and dependencies not useful (and ++ sometimes confusing) to the casual installer])], ++ [case ${enable_maintainer_mode} in ++ yes) MAINT='' ;; ++ no) MAINT='#' ;; ++ *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;; ++ esac ++ maintainer_mode=${enableval}], ++ [MAINT='#']) ++AC_SUBST([MAINT])dnl ++ ++AM_ENABLE_MULTILIB(, ..) ++# Calculate toolexeclibdir ++# Also toolexecdir, though it's only used in toolexeclibdir ++case ${enable_version_specific_runtime_libs} in ++ yes) ++ # Need the gcc compiler version to know where to install libraries ++ # and header files if --enable-version-specific-runtime-libs option ++ # is selected. ++ toolexecdir='$(libdir)/gcc/$(target_alias)' ++ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' ++ ;; ++ no) ++ if test -n "$with_cross_host" && ++ test x"$with_cross_host" != x"no"; then ++ # Install a library built with a cross compiler in tooldir, not libdir. ++ toolexecdir='$(exec_prefix)/$(target_alias)' ++ toolexeclibdir='$(toolexecdir)/lib' ++ else ++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)' ++ toolexeclibdir='$(libdir)' ++ fi ++ multi_os_directory=`$CC -print-multi-os-directory` ++ case $multi_os_directory in ++ .) ;; # Avoid trailing /. ++ *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; ++ esac ++ ;; ++esac ++AC_SUBST(toolexecdir) ++AC_SUBST(toolexeclibdir) ++#TODO: toolexeclibdir is currently disregarded ++ ++# Check the compiler. ++# The same as in boehm-gc and libstdc++. Have to borrow it from there. ++# We must force CC to /not/ be precious variables; otherwise ++# the wrong, non-multilib-adjusted value will be used in multilibs. ++# As a side effect, we have to subst CFLAGS ourselves. ++ ++m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) ++m4_define([_AC_ARG_VAR_PRECIOUS],[]) ++AC_PROG_CC ++m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) ++ ++AC_SUBST(CFLAGS) ++ ++AC_ARG_ENABLE([shared], ++[AC_HELP_STRING([--disable-shared], ++ [don't provide a shared libgnat])], ++[ ++case $enable_shared in ++ yes | no) ;; ++ *) ++ enable_shared=no ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," ++ for pkg in $enableval; do ++ case $pkg in ++ ada | libada) ++ enable_shared=yes ;; ++ esac ++ done ++ IFS="$ac_save_ifs" ++ ;; ++esac ++], [enable_shared=yes]) ++AC_SUBST([enable_shared]) ++ ++GCC_PICFLAG ++AC_SUBST([PICFLAG]) ++ ++# These must be passed down, or are needed by gcc/libgcc.mvars ++AC_PROG_AWK ++AC_PROG_LN_S ++ ++# Determine what to build for 'gnatlib' ++if test ${enable_shared} = yes; then ++ default_gnatlib_target="gnatlib-shared" ++else ++ default_gnatlib_target="gnatlib-plain" ++fi ++AC_SUBST([default_gnatlib_target]) ++ ++# Check for _Unwind_GetIPInfo ++GCC_CHECK_UNWIND_GETIPINFO ++if test x$have_unwind_getipinfo = xyes; then ++ have_getipinfo=-DHAVE_GETIPINFO ++else ++ have_getipinfo= ++fi ++AC_SUBST([have_getipinfo]) ++ ++# Check for ++AC_CHECK_HEADER([sys/capability.h], have_capability=-DHAVE_CAPABILITY, have_capability=) ++AC_SUBST([have_capability]) ++ ++# Determine what GCC version number to use in filesystem paths. ++GCC_BASE_VER ++ ++# Output: create a Makefile. ++AC_CONFIG_FILES([Makefile]) ++ ++AC_OUTPUT +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -194,6 +194,7 @@ target_modules = { module= libgnatvsn; n + missing= TAGS; + missing= install-info; + missing= installcheck; }; ++target_modules = { module= libada-sjlj; }; + target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; + target_modules = { module= libitm; lib_path=.libs; }; + target_modules = { module= libatomic; lib_path=.libs; }; +@@ -394,6 +395,7 @@ dependencies = { module=all-libcpp; on=a + dependencies = { module=all-fixincludes; on=all-libiberty; }; + + dependencies = { module=all-target-libada; on=all-gcc; }; ++dependencies = { module=all-target-libada-sjlj; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; + dependencies = { module=all-gnattools; on=all-target-libgnat_util; }; +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -167,6 +167,7 @@ target_libraries="target-libgcc \ + target-libffi \ + target-libobjc \ + target-libada \ ++ target-libada-sjlj \ + ${target_libiberty} \ + target-libgnat_util \ + target-libgo \ +@@ -454,7 +455,7 @@ AC_ARG_ENABLE(libada, + ENABLE_LIBADA=$enableval, + ENABLE_LIBADA=yes) + if test "${ENABLE_LIBADA}" != "yes" ; then +- noconfigdirs="$noconfigdirs target-libgnat_util gnattools" ++ noconfigdirs="$noconfigdirs target-libgnat_util gnattools target-libada-sjlj" + fi + + AC_ARG_ENABLE(libssp, +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -193,7 +193,7 @@ GNAT_SRC=$(fsrcpfx)ada + + # Multilib handling + MULTISUBDIR = +-RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) ++RTSDIR := rts$(subst /,_,$(MULTISUBDIR)) + + # Link flags used to build gnat tools. By default we prefer to statically + # link with libgcc to avoid a dependency on shared libgcc (which is tricky +@@ -561,6 +561,26 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD + cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb + cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads + ++install-gnatlib-sjlj: ../stamp-gnatlib-$(RTSDIR) ++# Create the directory before deleting it, in case the directory is ++# a list of directories (as it may be on VMS). This ensures we are ++# deleting the right one. ++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ) ++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ) ++ for file in $(RTSDIR)/*.ali; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ); \ ++ done ++ # This copy must be done preserving the date on the original file. ++ for file in $(RTSDIR)/*.ad?; do \ ++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); \ ++ done ++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.adb ++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.ads ++ + ../stamp-gnatlib2-$(RTSDIR): + $(RM) $(RTSDIR)/s-*.ali + $(RM) $(RTSDIR)/s-*$(objext) +@@ -826,6 +846,7 @@ gnatlib-shared: + gnatlib-sjlj: + $(MAKE) $(FLAGS_TO_PASS) \ + EH_MECHANISM="" \ ++ RTSDIR="$(RTSDIR)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + ../stamp-gnatlib1-$(RTSDIR) +@@ -835,6 +856,7 @@ gnatlib-sjlj: + $(RTSDIR)/system.ads > $(RTSDIR)/s.ads + $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads + $(MAKE) $(FLAGS_TO_PASS) \ ++ RTSDIR="$(RTSDIR)" \ + EH_MECHANISM="" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ +@@ -889,6 +911,8 @@ b_gnatm.o : b_gnatm.adb + + ADA_INCLUDE_DIR = $(libsubdir)/adainclude + ADA_RTL_OBJ_DIR = $(libsubdir)/adalib ++ADA_INCLUDE_DIR_SJLJ = $(libsubdir)/rts-sjlj/adainclude ++ADA_RTL_OBJ_DIR_SJLJ = $(libsubdir)/rts-sjlj/adalib + + # Special flags + +--- a/src/gcc/ada/gcc-interface/config-lang.in ++++ b/src/gcc/ada/gcc-interface/config-lang.in +@@ -43,8 +43,8 @@ if test "x$cross_compiling/$build/$host" + lang_requires="c c++" + fi + +-target_libs="target-libada target-libgnat_util" +-lang_dirs="libada gnattools" ++target_libs="target-libada target-libgnat_util target-libada-sjlj" ++lang_dirs="libada gnattools libada-sjlj" + + # Ada is not enabled by default for the time being. + build_by_default=no +--- a/src/gcc/ada/gcc-interface/Make-lang.in ++++ b/src/gcc/ada/gcc-interface/Make-lang.in +@@ -837,6 +837,7 @@ ada.install-common: + + install-gnatlib: + $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib$(LIBGNAT_TARGET) ++ $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) RTSDIR="rts-sjlj" install-gnatlib-sjlj$(LIBGNAT_TARGET) + + install-gnatlib-obj: + $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib-obj diff --git a/patches/ada-verbose.diff b/patches/ada-verbose.diff new file mode 100644 index 0000000..580e43f --- /dev/null +++ b/patches/ada-verbose.diff @@ -0,0 +1,36 @@ +Description: Display subprocess command lines when building Ada. + The log can be a page longer if it helps debugging. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87778 +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/Make-generated.in ++++ b/src/gcc/ada/Make-generated.in +@@ -18,7 +18,7 @@ GEN_IL_FLAGS = -gnata -gnat2012 -gnatw.g + ada/seinfo_tables.ads ada/seinfo_tables.adb ada/sinfo.h ada/einfo.h ada/nmake.ads ada/nmake.adb ada/seinfo.ads ada/sinfo-nodes.ads ada/sinfo-nodes.adb ada/einfo-entities.ads ada/einfo-entities.adb: ada/stamp-gen_il ; @true + ada/stamp-gen_il: $(fsrcdir)/ada/gen_il* + $(MKDIR) ada/gen_il +- cd ada/gen_il; $(GNATMAKE) -q -g $(GEN_IL_FLAGS) gen_il-main ++ cd ada/gen_il; $(GNATMAKE) -v -g $(GEN_IL_FLAGS) gen_il-main + # Ignore errors to work around finalization issues in older compilers + - cd ada/gen_il; ./gen_il-main + $(fsrcdir)/../move-if-change ada/gen_il/seinfo_tables.ads ada/seinfo_tables.ads +@@ -46,7 +46,7 @@ ada/stamp-snames : ada/snames.ads-tmpl a + -$(MKDIR) ada/bldtools/snamest + $(RM) $(addprefix ada/bldtools/snamest/,$(notdir $^)) + $(CP) $^ ada/bldtools/snamest +- cd ada/bldtools/snamest && $(GNATMAKE) -q xsnamest && ./xsnamest ++ cd ada/bldtools/snamest && $(GNATMAKE) -v xsnamest && ./xsnamest + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.ns ada/snames.ads + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nb ada/snames.adb + $(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nh ada/snames.h +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -621,7 +621,7 @@ OSCONS_EXTRACT=$(GCC_FOR_ADA_RTS) $(GNAT + -$(MKDIR) ./bldtools/oscons + $(RM) $(addprefix ./bldtools/oscons/,$(notdir $^)) + $(CP) $^ ./bldtools/oscons +- (cd ./bldtools/oscons ; gnatmake -q xoscons) ++ (cd ./bldtools/oscons ; gnatmake -v xoscons) + + $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons + $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s diff --git a/patches/alpha-ieee-doc.diff b/patches/alpha-ieee-doc.diff new file mode 100644 index 0000000..526bde9 --- /dev/null +++ b/patches/alpha-ieee-doc.diff @@ -0,0 +1,26 @@ +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off (doc patch) + +--- + gcc/doc/invoke.texi | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +Index: b/src/gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -24169,6 +24169,13 @@ able to correctly support denormalized n + values such as not-a-number and plus/minus infinity. Other Alpha + compilers call this option @option{-ieee_with_no_inexact}. + ++DEBIAN SPECIFIC: This option is on by default for alpha-linux-gnu, unless ++@option{-ffinite-math-only} (which is part of the @option{-ffast-math} ++set) is specified, because the software functions in the GNU libc math ++libraries generate denormalized numbers, NaNs, and infs (all of which ++will cause a programs to SIGFPE when it attempts to use the results without ++@option{-mieee}). ++ + @opindex mieee-with-inexact + @item -mieee-with-inexact + This is like @option{-mieee} except the generated code also maintains diff --git a/patches/alpha-ieee.diff b/patches/alpha-ieee.diff new file mode 100644 index 0000000..f80ffa3 --- /dev/null +++ b/patches/alpha-ieee.diff @@ -0,0 +1,17 @@ +# DP: #212912 +# DP: on alpha-linux, make -mieee default and add -mieee-disable switch +# DP: to turn default off + +--- a/src/gcc/config/alpha/alpha.cc ++++ b/src/gcc/config/alpha/alpha.cc +@@ -384,6 +384,10 @@ alpha_option_override (void) + int line_size = 0, l1_size = 0, l2_size = 0; + int i; + ++ /* If not -ffinite-math-only, enable -mieee*/ ++ if (!flag_finite_math_only) ++ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT; ++ + #ifdef SUBTARGET_OVERRIDE_OPTIONS + SUBTARGET_OVERRIDE_OPTIONS; + #endif diff --git a/patches/alpha-no-ev4-directive.diff b/patches/alpha-no-ev4-directive.diff new file mode 100644 index 0000000..97738a9 --- /dev/null +++ b/patches/alpha-no-ev4-directive.diff @@ -0,0 +1,30 @@ +# DP: never emit .ev4 directive. + +--- + gcc/config/alpha/alpha.c | 7 +++---- + 1 files changed, 3 insertions(+), 4 deletions(-) + +--- a/src/gcc/config/alpha/alpha.cc ++++ b/src/gcc/config/alpha/alpha.cc +@@ -9494,7 +9494,7 @@ alpha_file_start (void) + fputs ("\t.set nomacro\n", asm_out_file); + if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX) + { +- const char *arch; ++ const char *arch = NULL; + + if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX) + arch = "ev6"; +@@ -9504,10 +9504,9 @@ alpha_file_start (void) + arch = "ev56"; + else if (alpha_cpu == PROCESSOR_EV5) + arch = "ev5"; +- else +- arch = "ev4"; + +- fprintf (asm_out_file, "\t.arch %s\n", arch); ++ if (arch) ++ fprintf (asm_out_file, "\t.arch %s\n", arch); + } + } + diff --git a/patches/arc-stddef.diff b/patches/arc-stddef.diff new file mode 100644 index 0000000..af330f4 --- /dev/null +++ b/patches/arc-stddef.diff @@ -0,0 +1,29 @@ +--- a/src/gcc/config/arc/arc-arch.h ++++ b/src/gcc/config/arc/arc-arch.h +@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. + #ifndef GCC_ARC_ARCH_H + #define GCC_ARC_ARCH_H + ++#include ++ + #ifndef IN_LIBGCC2 + /* Architecture selection types. */ + +@@ -116,7 +118,7 @@ typedef struct + + } arc_cpu_t; + +-const arc_arch_t arc_arch_types[] = ++static const arc_arch_t arc_arch_types[] = + { + {"none", BASE_ARCH_NONE, 0, 0}, + #define ARC_ARCH(NAME, ARCH, FLAGS, DFLAGS) \ +@@ -126,7 +128,7 @@ const arc_arch_t arc_arch_types[] = + {NULL, BASE_ARCH_END, 0, 0} + }; + +-const arc_cpu_t arc_cpu_types[] = ++static const arc_cpu_t arc_cpu_types[] = + { + {"none", NULL, PROCESSOR_NONE, 0, HAS_NONE, ARC_TUNE_NONE}, + #define ARC_CPU(NAME, ARCH, FLAGS, EXTRA, TUNE) \ diff --git a/patches/arm-multilib-defaults.diff b/patches/arm-multilib-defaults.diff new file mode 100644 index 0000000..88b0279 --- /dev/null +++ b/patches/arm-multilib-defaults.diff @@ -0,0 +1,88 @@ +# DP: Set MULTILIB_DEFAULTS for ARM multilib builds + +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -4342,10 +4342,18 @@ case "${target}" in + done + + case "$with_float" in +- "" \ +- | soft | hard | softfp) ++ "") + # OK + ;; ++ soft) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=0" ++ ;; ++ softfp) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=1" ++ ;; ++ hard) ++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=2" ++ ;; + *) + echo "Unknown floating point type used in --with-float=$with_float" 1>&2 + exit 1 +@@ -4380,6 +4388,9 @@ case "${target}" in + "" \ + | arm | thumb ) + #OK ++ if test "$with_mode" = thumb; then ++ tm_defines="${tm_defines} TARGET_CONFIGURED_THUMB_MODE=1" ++ fi + ;; + *) + echo "Unknown mode used in --with-mode=$with_mode" +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -37,7 +37,21 @@ + target hardware. If you override this to use the hard-float ABI then + change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ + #undef TARGET_DEFAULT_FLOAT_ABI ++#ifdef TARGET_CONFIGURED_FLOAT_ABI ++#if TARGET_CONFIGURED_FLOAT_ABI == 2 ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=hard" ++#elif TARGET_CONFIGURED_FLOAT_ABI == 1 ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=softfp" ++#else ++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft" ++#endif ++#else + #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT ++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft" ++#endif + + /* We default to the "aapcs-linux" ABI so that enums are int-sized by + default. */ +@@ -91,6 +105,28 @@ + #define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1" + ++/* Set the multilib defaults according the configuration, needed to ++ let gcc -print-multi-dir do the right thing. */ ++ ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define MULTILIB_DEFAULT_ENDIAN "mbig-endian" ++#else ++#define MULTILIB_DEFAULT_ENDIAN "mlittle-endian" ++#endif ++ ++#ifndef TARGET_CONFIGURED_THUMB_MODE ++#define MULTILIB_DEFAULT_MODE "marm" ++#elif TARGET_CONFIGURED_THUMB_MODE == 1 ++#define MULTILIB_DEFAULT_MODE "mthumb" ++#else ++#define MULTILIB_DEFAULT_MODE "marm" ++#endif ++ ++#undef MULTILIB_DEFAULTS ++#define MULTILIB_DEFAULTS \ ++ { MULTILIB_DEFAULT_MODE, MULTILIB_DEFAULT_ENDIAN, \ ++ MULTILIB_DEFAULT_FLOAT_ABI, "mno-thumb-interwork" } ++ + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ + #undef LINK_SPEC diff --git a/patches/arm-multilib-soft-float.diff b/patches/arm-multilib-soft-float.diff new file mode 100644 index 0000000..18f51fb --- /dev/null +++ b/patches/arm-multilib-soft-float.diff @@ -0,0 +1,26 @@ +--- a/src/gcc/config/arm/t-linux-eabi ++++ b/src/gcc/config/arm/t-linux-eabi +@@ -24,6 +24,23 @@ + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + ++ifneq (,$(findstring MULTIARCH_DEFAULTS,$(tm_defines))) ++ifneq (,$(findstring __arm_linux_gnueabi__,$(tm_defines))) ++ MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard/mfloat-abi=soft ++ MULTILIB_DIRNAMES = . hf soft-float ++ MULTILIB_EXCEPTIONS = ++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float ++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabi ../../lib/arm-linux-gnueabihf soft-float ++endif ++ifneq (,$(findstring __arm_linux_gnueabihf__,$(tm_defines))) ++ MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=softfp/mfloat-abi=soft ++ MULTILIB_DIRNAMES = . sf soft-float ++ MULTILIB_EXCEPTIONS = ++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float ++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabihf ../../lib/arm-linux-gnueabi soft-float ++endif ++endif ++ + #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te + #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te + #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te* diff --git a/patches/binutils-pr32491.diff b/patches/binutils-pr32491.diff new file mode 100644 index 0000000..f9a4766 --- /dev/null +++ b/patches/binutils-pr32491.diff @@ -0,0 +1,72 @@ +From thiago.bauermann@linaro.org Fri Dec 27 21:47:56 2024 +From: thiago.bauermann@linaro.org (Thiago Jung Bauermann) +Date: Fri, 27 Dec 2024 18:47:56 -0300 +Subject: [PATCH] gcc/configure: Fix check for assembler section merging + support on Arm +Message-ID: <20241227214756.1059146-1-thiago.bauermann@linaro.org> + +In 32-bit Arm assembly, the @ character is the start of a comment so +the section type needs to use the % character instead. + +configure.ac attempts to account for this difference by doing a second +try when checking the assembler for section merging support. +Unfortunately there is a bug: because the gcc_GAS_CHECK_FEATURE macro +has a call to AC_CACHE_CHECK, it will actually skip the second try +because the gcc_cv_as_shf_merge variable has already been set: + + checking assembler for section merging support... no + checking assembler for section merging support... (cached) no + +Fix by using a separate variable for the second try, as is done in the +check for COMDAT group support. + +This problem was noticed because the recent binutils commit +d5cbf916be4a ("gas/ELF: also reject merge entity size being zero") caused +gas to be stricter about mergeable sections without an entity size: + +configure:27013: checking assembler for section merging support +configure:27022: /path/to/as --fatal-warnings -o conftest.o conftest.s >&5 +conftest.s: Assembler messages: +conftest.s:1: Warning: invalid merge / string entity size +conftest.s: Error: 1 warning, treating warnings as errors +configure:27025: $? = 1 +configure: failed program was +.section .rodata.str, "aMS", @progbits, 1 +configure:27036: result: no + +In previous versions of gas the conftest.s program above was accepted +and configure detected support for section merging. + +See also: +https://linaro.atlassian.net/browse/GNU-1427 +https://sourceware.org/bugzilla/show_bug.cgi?id=32491 + +Tested on armv8l-linux-gnueabihf. + +gcc/ChangeLog: + * configure.ac: Fix check for HAVE_GAS_SHF_MERGE on Arm targets. + * configure: Regenerate. +--- + gcc/configure | 17 +++++++++-------- + gcc/configure.ac | 6 ++++-- + 2 files changed, 13 insertions(+), 10 deletions(-) + +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -3591,12 +3591,14 @@ gcc_GAS_CHECK_FEATURE(section merging su + [--fatal-warnings], + [.section .rodata.str, "aMS", @progbits, 1]) + if test $gcc_cv_as_shf_merge = no; then +- gcc_GAS_CHECK_FEATURE(section merging support, gcc_cv_as_shf_merge, ++ gcc_GAS_CHECK_FEATURE(section merging support (%progbits), ++ gcc_cv_as_shf_merge_percent, + [--fatal-warnings], + [.section .rodata.str, "aMS", %progbits, 1]) + fi + AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE, +- [`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`], ++ [`if test $gcc_cv_as_shf_merge = yes \ ++ || test $gcc_cv_as_shf_merge_percent = yes; then echo 1; else echo 0; fi`], + [Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.]) + + gcc_cv_ld_aligned_shf_merge=yes diff --git a/patches/bootstrap-no-unneeded-libs.diff b/patches/bootstrap-no-unneeded-libs.diff new file mode 100644 index 0000000..4939110 --- /dev/null +++ b/patches/bootstrap-no-unneeded-libs.diff @@ -0,0 +1,30 @@ +# DP: For bootstrap builds, don't build unneeded libstdc++ things +# DP: (debug library, PCH headers). + +# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl]. + +--- a/src/Makefile.tpl ++++ b/src/Makefile.tpl +@@ -1060,7 +1060,9 @@ + --target=[+target_alias+] $${srcdiroption} [+ IF prev +]\ + --with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\ + $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \ +- [+extra_configure_flags+][+ ENDIF extra_configure_flags +] ++ [+extra_configure_flags+][+ ENDIF extra_configure_flags +] \ ++ [+ IF bootstrap_configure_flags +][+bootstrap_configure_flags+] \ ++ [+ ENDIF bootstrap_configure_flags +] + @endif [+prefix+][+module+]-bootstrap + [+ ENDFOR bootstrap_stage +] + [+ ENDIF bootstrap +] +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -117,7 +117,8 @@ + target_modules = { module= libstdc++-v3; + bootstrap=true; + lib_path=src/.libs; +- raw_cxx=true; }; ++ raw_cxx=true; ++ bootstrap_configure_flags='--disable-libstdcxx-debug --disable-libstdcxx-pch'; }; + target_modules = { module= libmudflap; lib_path=.libs; }; + target_modules = { module= libsanitizer; lib_path=.libs; }; + target_modules = { module= libssp; lib_path=.libs; }; diff --git a/patches/canonical-cpppath.diff b/patches/canonical-cpppath.diff new file mode 100644 index 0000000..39969b7 --- /dev/null +++ b/patches/canonical-cpppath.diff @@ -0,0 +1,34 @@ +# DP: Don't use any relative path names for the standard include paths. + +--- a/src/gcc/incpath.cc ++++ b/src/gcc/incpath.cc +@@ -177,6 +177,14 @@ add_standard_paths (const char *sysroot, + str = reconcat (str, str, dir_separator_str, + imultiarch, NULL); + } ++ { ++ char *rp = lrealpath (str); ++ if (rp) ++ { ++ free (str); ++ str = rp; ++ } ++ } + add_path (str, INC_SYSTEM, p->cxx_aware, false); + } + } +@@ -252,6 +260,14 @@ add_standard_paths (const char *sysroot, + else + str = reconcat (str, str, dir_separator_str, imultiarch, NULL); + } ++ { ++ char *rp = lrealpath (str); ++ if (rp) ++ { ++ free (str); ++ str = rp; ++ } ++ } + + add_path (str, INC_SYSTEM, p->cxx_aware, false); + } diff --git a/patches/config-ml.diff b/patches/config-ml.diff new file mode 100644 index 0000000..6e4e870 --- /dev/null +++ b/patches/config-ml.diff @@ -0,0 +1,52 @@ +# DP: - Disable some biarch libraries for biarch builds. +# DP: - Fix multilib builds on kernels which don't support all multilibs. + +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -488,6 +488,25 @@ powerpc*-*-* | rs6000*-*-*) + ;; + esac + ++if [ -z "$biarch_multidir_names" ]; then ++ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp" ++ echo "WARNING: biarch_multidir_names is unset. Use default value:" ++ echo " $biarch_multidir_names" ++fi ++ml_srcbase=`basename $ml_realsrcdir` ++old_multidirs="${multidirs}" ++multidirs="" ++for x in ${old_multidirs}; do ++ case " $x " in ++ " 32 "|" n32 "|" x32 "|" 64 "|" hf "|" sf "|" m4-nofpu ") ++ case "$biarch_multidir_names" in ++ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;; ++ esac ++ ;; ++ *) multidirs="${multidirs} ${x}" ;; ++ esac ++done ++ + # Remove extraneous blanks from multidirs. + # Tests like `if [ -n "$multidirs" ]' require it. + multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` +@@ -886,9 +905,19 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + fi + fi + ++ ml_configure_args= ++ for arg in ${ac_configure_args} ++ do ++ case $arg in ++ *CC=*) ml_configure_args=${ml_config_env} ;; ++ *CXX=*) ml_configure_args=${ml_config_env} ;; ++ *) ;; ++ esac ++ done ++ + if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ + --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ +- "${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then ++ "${ac_configure_args}" ${ml_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then + true + else + exit 1 diff --git a/patches/cross-biarch.diff b/patches/cross-biarch.diff new file mode 100644 index 0000000..a62d4d7 --- /dev/null +++ b/patches/cross-biarch.diff @@ -0,0 +1,89 @@ +# DP: Fix the location of target's libs in cross-build for biarch + +--- a/src/config-ml.in ++++ b/src/config-ml.in +@@ -533,7 +533,13 @@ multi-do: + else \ + if [ -d ../$${dir}/$${lib} ]; then \ + flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ +- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \ ++ libsuffix_="$${dir}"; \ ++ if [ "$${dir}" = "n32" ]; then libsuffix_=32; fi; \ ++ if [ -n "$$($${compiler} -v 2>&1 |grep '^Target: mips')" ] && [ "$${dir}" = "32" ]; then libsuffix_=o32; fi; \ ++ if (cd ../$${dir}/$${lib}; $(MAKE) $(subst \ ++ -B$(build_tooldir)/lib/, \ ++ -B$(build_tooldir)/lib$${libsuffix_}/, \ ++ $(FLAGS_TO_PASS)) \ + CFLAGS="$(CFLAGS) $${flags}" \ + CCASFLAGS="$(CCASFLAGS) $${flags}" \ + FCFLAGS="$(FCFLAGS) $${flags}" \ +@@ -786,6 +792,15 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + GOC_=$GOC' ' + GDC_=$GDC' ' + else ++ if [ "${ml_dir}" = "." ]; then ++ FILTER_="s!X\\(.*\\)!\\1!p" ++ elif [ "${ml_dir}" = "n32" ]; then # mips n32 -> lib32 ++ FILTER_="s!X\\(.*\\)/!\\132/!p" ++ elif [ "${ml_dir}" = "32" ] && [ "$(echo ${host} |grep '^mips')" ]; then # mips o32 -> libo32 ++ FILTER_="s!X\\(.*\\)/!\\1o32/!p" ++ else ++ FILTER_="s!X\\(.*\\)/!\\1${ml_dir}/!p" ++ fi + # Create a regular expression that matches any string as long + # as ML_POPDIR. + popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'` +@@ -794,6 +809,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;; ++ -B*/lib/) ++ CC_="${CC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -806,6 +823,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ CXX_="${CXX_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -818,6 +837,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ F77_="${F77_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -830,6 +851,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -842,6 +865,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GOC_="${GOC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) +@@ -854,6 +879,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; ++ -B*/lib/) ++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;; + "${ML_POPDIR}"/*) + GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) diff --git a/patches/cross-fixes.diff b/patches/cross-fixes.diff new file mode 100644 index 0000000..8844eaa --- /dev/null +++ b/patches/cross-fixes.diff @@ -0,0 +1,57 @@ +# DP: Fix the linker error when creating an xcc for ia64 + +--- + gcc/config/ia64/fde-glibc.c | 3 +++ + gcc/config/ia64/unwind-ia64.c | 3 ++- + gcc/unwind-compat.c | 2 ++ + gcc/unwind-generic.h | 2 ++ + 6 files changed, 14 insertions(+), 1 deletions(-) + +--- a/src/libgcc/config/ia64/unwind-ia64.c ++++ b/src/libgcc/config/ia64/unwind-ia64.c +@@ -26,6 +26,7 @@ + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "coretypes.h" +@@ -2467,3 +2468,4 @@ alias (_Unwind_SetIP); + #endif + + #endif ++#endif +--- a/src/libgcc/unwind-compat.c ++++ b/src/libgcc/unwind-compat.c +@@ -23,6 +23,7 @@ + . */ + + #if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS) ++#ifndef inhibit_libc + #include "tconfig.h" + #include "tsystem.h" + #include "unwind.h" +@@ -207,3 +208,4 @@ _Unwind_SetIP (struct _Unwind_Context *c + } + symver (_Unwind_SetIP, GCC_3.0); + #endif ++#endif +--- a/src/libgcc/unwind-generic.h ++++ b/src/libgcc/unwind-generic.h +@@ -221,6 +221,7 @@ _Unwind_SjLj_Resume_or_Rethrow (struct _ + compatible with the standard ABI for IA-64, we inline these. */ + + #ifdef __ia64__ ++#ifndef inhibit_libc + static inline _Unwind_Ptr + _Unwind_GetDataRelBase (struct _Unwind_Context *_C) + { +@@ -237,6 +238,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C + + /* @@@ Retrieve the Backing Store Pointer of the given context. */ + extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *); ++#endif /* inhibit_libc */ + #else + extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); + extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); diff --git a/patches/cross-install-location.diff b/patches/cross-install-location.diff new file mode 100644 index 0000000..ef5f64b --- /dev/null +++ b/patches/cross-install-location.diff @@ -0,0 +1,497 @@ +--- a/src/fixincludes/Makefile.in ++++ b/src/fixincludes/Makefile.in +@@ -52,9 +52,9 @@ target_noncanonical:=@target_noncanonica + gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + # Directory in which the compiler finds executables +-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libexecsubdir = $(libexecdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + # Where our executable files go + itoolsdir = $(libexecsubdir)/install-tools + # Where our data files go +--- a/src/libgfortran/Makefile.in ++++ b/src/libgfortran/Makefile.in +@@ -750,7 +750,7 @@ gcc_version := $(shell @get_gcc_base_ver + @LIBGFOR_USE_SYMVER_GNU_TRUE@@LIBGFOR_USE_SYMVER_TRUE@version_dep = gfortran.ver + @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@version_dep = gfortran.ver-sun gfortran.ver + gfor_c_HEADERS = ISO_Fortran_binding.h +-gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++gfor_cdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ + $(lt_host_flags) + +@@ -765,12 +765,12 @@ libgfortran_la_LDFLAGS = -version-info ` + + libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) + cafexeclib_LTLIBRARIES = libcaf_single.la +-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) ++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR) + libcaf_single_la_SOURCES = caf/single.c + libcaf_single_la_LDFLAGS = -static + libcaf_single_la_DEPENDENCIES = caf/libcaf.h + libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS) +-@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude + @IEEE_SUPPORT_TRUE@nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod + AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \ + -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \ +--- a/src/libgfortran/Makefile.am ++++ b/src/libgfortran/Makefile.am +@@ -39,7 +39,7 @@ version_dep = + endif + + gfor_c_HEADERS = ISO_Fortran_binding.h +-gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++gfor_cdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ + $(lt_host_flags) +@@ -55,14 +55,14 @@ libgfortran_la_LDFLAGS = -version-info ` + libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) + + cafexeclib_LTLIBRARIES = libcaf_single.la +-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) ++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR) + libcaf_single_la_SOURCES = caf/single.c + libcaf_single_la_LDFLAGS = -static + libcaf_single_la_DEPENDENCIES = caf/libcaf.h + libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS) + + if IEEE_SUPPORT +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude + nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod + endif + +--- a/src/lto-plugin/Makefile.in ++++ b/src/lto-plugin/Makefile.in +@@ -342,7 +342,7 @@ with_libiberty = @with_libiberty@ + ACLOCAL_AMFLAGS = -I .. -I ../config + AUTOMAKE_OPTIONS = no-dependencies + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) ++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) + AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS) + AM_CFLAGS = @ac_lto_plugin_warn_cflags@ $(CET_HOST_FLAGS) -DBASE_VERSION='"$(gcc_version)"' + AM_LDFLAGS = @ac_lto_plugin_ldflags@ @ac_lto_plugin_extra_ldflags@ +--- a/src/lto-plugin/Makefile.am ++++ b/src/lto-plugin/Makefile.am +@@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = no-dependencies + + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + target_noncanonical := @target_noncanonical@ +-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) ++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix) + + AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS) + AM_CFLAGS = @ac_lto_plugin_warn_cflags@ $(CET_HOST_FLAGS) -DBASE_VERSION='"$(gcc_version)"' +--- a/src/libitm/Makefile.in ++++ b/src/libitm/Makefile.in +@@ -459,7 +459,7 @@ SUBDIRS = testsuite + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + abi_version = -fabi-version=4 + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + AM_CPPFLAGS = $(addprefix -I, $(search_path)) + AM_CFLAGS = $(XCFLAGS) + AM_CXXFLAGS = $(XCFLAGS) -std=gnu++0x -funwind-tables -fno-exceptions \ +--- a/src/libitm/Makefile.am ++++ b/src/libitm/Makefile.am +@@ -12,7 +12,7 @@ abi_version = -fabi-version=4 + config_path = @config_path@ + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) + +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + vpath % $(strip $(search_path)) + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -4828,7 +4828,7 @@ process_command (unsigned int decoded_op + GCC_EXEC_PREFIX is typically a directory name with a trailing + / (which is ignored by make_relative_prefix), so append a + program name. */ +- char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL); ++ char *tmp_prefix = concat (gcc_exec_prefix, "gcc-cross", NULL); + gcc_libexec_prefix = get_relative_prefix (tmp_prefix, + standard_exec_prefix, + standard_libexec_prefix); +@@ -4854,15 +4854,15 @@ process_command (unsigned int decoded_op + { + int len = strlen (gcc_exec_prefix); + +- if (len > (int) sizeof ("/lib/gcc/") - 1 ++ if (len > (int) sizeof ("/lib/gcc-cross/") - 1 + && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1]))) + { +- temp = gcc_exec_prefix + len - sizeof ("/lib/gcc/") + 1; ++ temp = gcc_exec_prefix + len - sizeof ("/lib/gcc-cross/") + 1; + if (IS_DIR_SEPARATOR (*temp) + && filename_ncmp (temp + 1, "lib", 3) == 0 + && IS_DIR_SEPARATOR (temp[4]) +- && filename_ncmp (temp + 5, "gcc", 3) == 0) +- len -= sizeof ("/lib/gcc/") - 1; ++ && filename_ncmp (temp + 5, "gcc-cross", 3) == 0) ++ len -= sizeof ("/lib/gcc-cross/") - 1; + } + + set_std_prefix (gcc_exec_prefix, len); +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -635,9 +635,9 @@ libexecdir = @libexecdir@ + # -------- + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) ++libsubdir = $(libdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) + # Directory in which the compiler finds executables +-libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) ++libexecsubdir = $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) + # Directory in which all plugin resources are installed + plugin_resourcesdir = $(libsubdir)/plugin + # Directory in which plugin headers are installed +@@ -2318,8 +2318,8 @@ default-d.o: config/default-d.cc + + DRIVER_DEFINES = \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ +- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ +- -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ ++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \ ++ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc-cross/\" \ + -DDEFAULT_TARGET_VERSION=\"$(version)\" \ + -DDEFAULT_REAL_TARGET_MACHINE=\"$(real_target_noncanonical)\" \ + -DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \ +@@ -3039,7 +3039,7 @@ PREPROCESSOR_DEFINES = \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DNATIVE_SYSTEM_HEADER_DIR=\"$(NATIVE_SYSTEM_HEADER_DIR)\" \ + -DPREFIX=\"$(prefix)/\" \ +- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ ++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ + + CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) +--- a/src/libssp/Makefile.in ++++ b/src/libssp/Makefile.in +@@ -366,7 +366,7 @@ gcc_version := $(shell @get_gcc_base_ver + @LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = ssp.map-sun + AM_CFLAGS = -Wall $(XCFLAGS) + toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la +-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include + nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h + libssp_la_SOURCES = \ + ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ +--- a/src/libssp/Makefile.am ++++ b/src/libssp/Makefile.am +@@ -39,7 +39,7 @@ AM_CFLAGS += $(XCFLAGS) + toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la + + target_noncanonical = @target_noncanonical@ +-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include + nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h + + libssp_la_SOURCES = \ +--- a/src/libquadmath/Makefile.in ++++ b/src/libquadmath/Makefile.in +@@ -468,7 +468,7 @@ AUTOMAKE_OPTIONS = foreign info-in-build + + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) + @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h +-@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + @BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \ + @BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/acoshq.c math/fmodq.c \ + @BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \ +--- a/src/libquadmath/Makefile.am ++++ b/src/libquadmath/Makefile.am +@@ -41,7 +41,7 @@ libquadmath_la_LDFLAGS = -version-info ` + libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) + + nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + libquadmath_la_SOURCES = \ + math/x2y2m1q.c math/acoshq.c math/fmodq.c \ +--- a/src/libobjc/Makefile.in ++++ b/src/libobjc/Makefile.in +@@ -48,7 +48,7 @@ extra_ldflags_libobjc = @extra_ldflags_l + top_builddir = . + + libdir = $(exec_prefix)/lib +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + + # Multilib support variables. + MULTISRCTOP = +--- a/src/libada/Makefile.in ++++ b/src/libada/Makefile.in +@@ -70,7 +70,7 @@ GCC_DIR=$(MULTIBUILDTOP)../../$(host_sub + + target_noncanonical:=@target_noncanonical@ + version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) +-libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) ++libsubdir := $(libdir)/gcc-cross/$(target_noncanonical)/$(version)$(MULTISUBDIR) + ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) + + # exeext should not be used because it's the *host* exeext. We're building +--- a/src/libgomp/Makefile.in ++++ b/src/libgomp/Makefile.in +@@ -516,8 +516,8 @@ gcc_version := $(shell @get_gcc_base_ver + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \ + $(top_srcdir)/../include + +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + AM_CPPFLAGS = $(addprefix -I, $(search_path)) + AM_CFLAGS = $(XCFLAGS) + AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS) +--- a/src/libgomp/Makefile.am ++++ b/src/libgomp/Makefile.am +@@ -11,8 +11,8 @@ config_path = @config_path@ + search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \ + $(top_srcdir)/../include + +-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude +-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude ++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + vpath % $(strip $(search_path)) + +--- a/src/libgcc/Makefile.in ++++ b/src/libgcc/Makefile.in +@@ -200,7 +200,7 @@ STRIP = @STRIP@ + STRIP_FOR_TARGET = $(STRIP) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(real_host_noncanonical)/$(version)@accel_dir_suffix@ ++libsubdir = $(libdir)/gcc-cross/$(real_host_noncanonical)/$(version)@accel_dir_suffix@ + # Used to install the shared libgcc. + slibdir = @slibdir@ + # Maybe used for DLLs on Windows targets. +--- a/src/libffi/include/Makefile.am ++++ b/src/libffi/include/Makefile.am +@@ -8,6 +8,6 @@ EXTRA_DIST=ffi.h.in + + # Where generated headers like ffitarget.h get installed. + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + + toollibffi_HEADERS = ffi.h ffitarget.h +--- a/src/libffi/include/Makefile.in ++++ b/src/libffi/include/Makefile.in +@@ -326,7 +326,7 @@ EXTRA_DIST = ffi.h.in + + # Where generated headers like ffitarget.h get installed. + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include ++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include + toollibffi_HEADERS = ffi.h ffitarget.h + all: all-am + +--- a/src/libcc1/Makefile.am ++++ b/src/libcc1/Makefile.am +@@ -40,7 +40,7 @@ libiberty = $(if $(wildcard $(libiberty_ + $(Wc)$(libiberty_normal))) + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) + +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin ++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin + cc1libdir = $(libdir)/$(libsuffix) + + if ENABLE_PLUGIN +--- a/src/libcc1/Makefile.in ++++ b/src/libcc1/Makefile.in +@@ -396,7 +396,7 @@ libiberty = $(if $(wildcard $(libiberty_ + $(Wc)$(libiberty_normal))) + + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin ++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin + cc1libdir = $(libdir)/$(libsuffix) + @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la + @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la +--- a/src/libsanitizer/Makefile.am ++++ b/src/libsanitizer/Makefile.am +@@ -1,6 +1,6 @@ + ACLOCAL_AMFLAGS = -I .. -I ../config + +-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer ++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer + + nodist_saninclude_HEADERS = + +--- a/src/libsanitizer/Makefile.in ++++ b/src/libsanitizer/Makefile.in +@@ -361,7 +361,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + ACLOCAL_AMFLAGS = -I .. -I ../config +-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer ++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer + nodist_saninclude_HEADERS = $(am__append_1) + @SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_2) \ + @SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \ +--- a/src/libphobos/configure.ac ++++ b/src/libphobos/configure.ac +@@ -256,6 +256,8 @@ AC_SUBST(SPEC_PHOBOS_DEPS) + libtool_VERSION=4:0:0 + AC_SUBST(libtool_VERSION) + ++# trigger rebuild of the configure file ++ + # Set default flags (after DRUNTIME_WERROR!) + if test -z "$GDCFLAGS"; then + GDCFLAGS="-g -O2" +--- a/src/libphobos/m4/druntime.m4 ++++ b/src/libphobos/m4/druntime.m4 +@@ -114,6 +114,7 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], + + # Default case for install directory for D sources files. + gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d' ++ gdc_include_dir='${libdir}/gcc-cross/${target_alias}'/${gcc_version}/include/d + AC_SUBST(gdc_include_dir) + ]) + +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -921,7 +921,7 @@ toolexeclibdir = $(ADA_RTL_OBJ_DIR) + + ADA_INCLUDE_DIR = $(libsubdir)/adainclude + ADA_RTL_OBJ_DIR = $(libsubdir)/adalib +-ADA_RTL_DSO_DIR = $(toolexeclibdir) ++ADA_RTL_DSO_DIR = $(subst /gcc/,/gcc-cross/,$(toolexeclibdir)) + + # Special flags + +--- a/src/c++tools/Makefile.in ++++ b/src/c++tools/Makefile.in +@@ -21,7 +21,7 @@ bindir := @bindir@ + libexecdir := @libexecdir@ + target_noncanonical := @target_noncanonical@ + gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) +-libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++libexecsubdir := $(libexecdir)/gcc-cross/$(target_noncanonical)/$(gcc_version) + INSTALL := @INSTALL@ + INSTALL_PROGRAM := @INSTALL_PROGRAM@ + INSTALL_STRIP_PROGRAM := $(srcdir)/../install-sh -c -s +--- a/src/libgm2/libm2cor/Makefile.am ++++ b/src/libgm2/libm2cor/Makefile.am +@@ -27,7 +27,7 @@ MAKEOVERRIDES= + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + # Used to install the shared libgcc. + slibdir = @slibdir@ + +--- a/src/libgm2/libm2cor/Makefile.in ++++ b/src/libgm2/libm2cor/Makefile.in +@@ -391,7 +391,7 @@ MAKEOVERRIDES = + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) + MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) + MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) +--- a/src/libgm2/libm2iso/Makefile.am ++++ b/src/libgm2/libm2iso/Makefile.am +@@ -27,7 +27,7 @@ MAKEOVERRIDES= + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + # Used to install the shared libgcc. + # was slibdir = @slibdir@ + slibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) +--- a/src/libgm2/libm2iso/Makefile.in ++++ b/src/libgm2/libm2iso/Makefile.in +@@ -416,7 +416,7 @@ MAKEOVERRIDES = + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) + MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) + MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) +--- a/src/libgm2/libm2log/Makefile.am ++++ b/src/libgm2/libm2log/Makefile.am +@@ -27,7 +27,7 @@ MAKEOVERRIDES= + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + # Used to install the shared libgcc. + slibdir = @slibdir@ + +--- a/src/libgm2/libm2log/Makefile.in ++++ b/src/libgm2/libm2log/Makefile.in +@@ -380,7 +380,7 @@ MAKEOVERRIDES = + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) + MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) + MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) +--- a/src/libgm2/libm2min/Makefile.am ++++ b/src/libgm2/libm2min/Makefile.am +@@ -27,7 +27,7 @@ MAKEOVERRIDES= + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + # Used to install the shared libgcc. + slibdir = @slibdir@ + +--- a/src/libgm2/libm2min/Makefile.in ++++ b/src/libgm2/libm2min/Makefile.in +@@ -370,7 +370,7 @@ MAKEOVERRIDES = + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) + MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) + MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) +--- a/src/libgm2/libm2pim/Makefile.am ++++ b/src/libgm2/libm2pim/Makefile.am +@@ -27,7 +27,7 @@ MAKEOVERRIDES= + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + # Used to install the shared libgcc. + slibdir = @slibdir@ + +--- a/src/libgm2/libm2pim/Makefile.in ++++ b/src/libgm2/libm2pim/Makefile.in +@@ -405,7 +405,7 @@ MAKEOVERRIDES = + gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version) ++libsubdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version) + MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) + MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) + MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) diff --git a/patches/cross-no-locale-include.diff b/patches/cross-no-locale-include.diff new file mode 100644 index 0000000..c728316 --- /dev/null +++ b/patches/cross-no-locale-include.diff @@ -0,0 +1,17 @@ +# DP: Don't add /usr/local/include for cross compilers. Assume that +# DP: /usr/include is ready for multiarch, but not /usr/local/include. + +--- a/src/gcc/cppdefault.cc ++++ b/src/gcc/cppdefault.cc +@@ -66,8 +66,11 @@ + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, ++#if 0 ++ /* Unsafe to assume that /usr/local/include is ready for multiarch. */ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, + #endif ++#endif + #ifdef PREFIX_INCLUDE_DIR + { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, + #endif diff --git a/patches/cuda-float128.diff b/patches/cuda-float128.diff new file mode 100644 index 0000000..e9349ab --- /dev/null +++ b/patches/cuda-float128.diff @@ -0,0 +1,46 @@ +# Mask __float128 types from CUDA compilers (LP: #1717257) + +--- a/src/libstdc++-v3/include/std/type_traits ++++ b/src/libstdc++-v3/include/std/type_traits +@@ -509,7 +509,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + : public true_type { }; + #endif + +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + template<> + struct __is_floating_point_helper<__float128> + : public true_type { }; +--- a/src/libstdc++-v3/include/bits/std_abs.h ++++ b/src/libstdc++-v3/include/bits/std_abs.h +@@ -131,7 +131,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + { return __gnu_cxx::__bfloat16_t(__builtin_fabsf(__x)); } + #endif + +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + __extension__ inline _GLIBCXX_CONSTEXPR + __float128 + abs(__float128 __x) +--- a/src/libstdc++-v3/include/bits/stl_algobase.h ++++ b/src/libstdc++-v3/include/bits/stl_algobase.h +@@ -1074,7 +1074,7 @@ _GLIBCXX_END_NAMESPACE_CONTAINER + __size_to_integer(double __n) { return (long long)__n; } + inline _GLIBCXX_CONSTEXPR long long + __size_to_integer(long double __n) { return (long long)__n; } +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + __extension__ inline _GLIBCXX_CONSTEXPR long long + __size_to_integer(__float128 __n) { return (long long)__n; } + #endif +--- a/src/libstdc++-v3/include/std/numbers ++++ b/src/libstdc++-v3/include/std/numbers +@@ -221,7 +221,7 @@ __glibcxx_numbers (_Float128, F128); + __glibcxx_numbers (__gnu_cxx::__bfloat16_t, BF16); + #endif + +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + __glibcxx_numbers (__float128, Q); + #endif // USE_FLOAT128 + diff --git a/patches/disable-gdc-tests.diff b/patches/disable-gdc-tests.diff new file mode 100644 index 0000000..626f6bd --- /dev/null +++ b/patches/disable-gdc-tests.diff @@ -0,0 +1,17 @@ +# DP: Disable D tests, hang on many buildds + +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -206,9 +206,9 @@ d.srcman: doc/gdc.1 + # check targets. However, our DejaGNU framework requires 'check-gdc' as its + # entry point. We feed the former to the latter here. + check-d: check-gdc +-lang_checks += check-gdc +-lang_checks_parallelized += check-gdc +-check_gdc_parallelize = 10 ++#lang_checks += check-gdc ++#lang_checks_parallelized += check-gdc ++#check_gdc_parallelize = 10 + + # No D-specific selftests. + selftest-d: diff --git a/patches/dwarf5-revert-default-doc.diff b/patches/dwarf5-revert-default-doc.diff new file mode 100644 index 0000000..c8a6e4b --- /dev/null +++ b/patches/dwarf5-revert-default-doc.diff @@ -0,0 +1,14 @@ +# DP: Don't turn on DWARF 5 by default, where GCC 11 is not the default. + +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -9630,6 +9630,9 @@ version for most targets is 5 (with the + Darwin/Mac OS X, which default to version 2, and AIX, which defaults + to version 4). + ++NOTE: On Ubuntu release, where GCC 11 is not used as the default (21.04 ++and earlier releases), it defaults to version 4. ++ + Note that with DWARF Version 2, some ports require and always + use some non-conflicting DWARF 3 extensions in the unwind tables. + diff --git a/patches/dwarf5-revert-default.diff b/patches/dwarf5-revert-default.diff new file mode 100644 index 0000000..5d596c2 --- /dev/null +++ b/patches/dwarf5-revert-default.diff @@ -0,0 +1,24 @@ +# DP: Don't turn on DWARF 5 by default, where GCC 11 is not the default. + +--- a/src/gcc/common.opt ++++ b/src/gcc/common.opt +@@ -3353,7 +3353,7 @@ Common Driver JoinedOrMissing RejectNega + Generate debug information in default version of DWARF format. + + gdwarf- +-Common Driver Joined UInteger Var(dwarf_version) Init(DWARF_VERSION_DEFAULT) RejectNegative ++Common Driver Joined UInteger Var(dwarf_version) Init(4) RejectNegative + Generate debug information in DWARF v2 (or later) format. + + gdwarf32 +--- a/src/gcc/defaults.h ++++ b/src/gcc/defaults.h +@@ -1444,7 +1444,7 @@ see the files COPYING3 and COPYING.RUNTI + /* 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 ++#define DWARF_VERSION_DEFAULT 4 + #endif + + #ifndef USED_FOR_TARGET diff --git a/patches/g++-multiarch-incdir.diff b/patches/g++-multiarch-incdir.diff new file mode 100644 index 0000000..3ce6040 --- /dev/null +++ b/patches/g++-multiarch-incdir.diff @@ -0,0 +1,109 @@ +# DP: Use /usr/include//c++/4.x as the include directory +# DP: for host dependent c++ header files. + +--- a/src/libstdc++-v3/include/Makefile.am ++++ b/src/libstdc++-v3/include/Makefile.am +@@ -1041,7 +1041,7 @@ endif + + host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR) + host_builddir = ./${host_alias}/bits +-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits ++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits) + host_headers = \ + ${host_srcdir}/ctype_base.h \ + ${host_srcdir}/ctype_inline.h \ +--- a/src/libstdc++-v3/include/Makefile.in ++++ b/src/libstdc++-v3/include/Makefile.in +@@ -1372,7 +1372,7 @@ parallel_headers = \ + @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers} + host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR) + host_builddir = ./${host_alias}/bits +-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits ++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits) + host_headers = \ + ${host_srcdir}/ctype_base.h \ + ${host_srcdir}/ctype_inline.h \ +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -1258,6 +1258,7 @@ FLAGS_TO_PASS = \ + "prefix=$(prefix)" \ + "local_prefix=$(local_prefix)" \ + "gxx_include_dir=$(gcc_gxx_include_dir)" \ ++ "gxx_tool_include_dir=$(gcc_gxx_tool_include_dir)" \ + "gxx_libcxx_include_dir=$(gcc_gxx_libcxx_include_dir)" \ + "build_tooldir=$(build_tooldir)" \ + "gcc_tooldir=$(gcc_tooldir)" \ +@@ -1959,6 +1960,14 @@ gnat_install_lib = @gnat_install_lib@ + # host overrides + -include $(xmake_file) + ++# Directory in which the compiler finds target-dependent g++ includes. ++ifneq ($(call if_multiarch,non-empty),) ++ gcc_gxx_tool_include_dir = $(libsubdir)/$(libsubdir_to_prefix)include/$(MULTIARCH_DIRNAME)/c++/$(version) ++else ++ gcc_gxx_tool_include_dir = $(gcc_gxx_include_dir)/$(target_noncanonical) ++endif ++ ++ + # all-tree.def includes all the tree.def files. + all-tree.def: s-alltree; @true + s-alltree: Makefile +@@ -3179,7 +3188,7 @@ PREPROCESSOR_DEFINES = \ + -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ +- -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ ++ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_tool_include_dir)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ + -DGPLUSPLUS_LIBCXX_INCLUDE_DIR=\"$(gcc_gxx_libcxx_include_dir)\" \ + -DGPLUSPLUS_LIBCXX_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_libcxx_include_dir_add_sysroot) \ +--- a/src/gcc/cppdefault.cc ++++ b/src/gcc/cppdefault.cc +@@ -49,6 +49,8 @@ const struct default_include cpp_include + /* Pick up GNU C++ target-dependent include files. */ + { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, ++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, ++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 2 }, + #endif + #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR + /* Pick up GNU C++ backward and deprecated include files. */ +--- a/src/gcc/incpath.cc ++++ b/src/gcc/incpath.cc +@@ -164,6 +164,18 @@ add_standard_paths (const char *sysroot, + } + str = reconcat (str, str, dir_separator_str, + imultiarch, NULL); ++ if (p->cplusplus && strstr (str, "/c++/")) ++ { ++ char *suffix = strstr (str, "/c++/"); ++ *suffix++ = '\0'; ++ suffix = xstrdup (suffix); ++ str = reconcat (str, str, dir_separator_str, ++ imultiarch, ++ dir_separator_str, suffix, NULL); ++ } ++ else ++ str = reconcat (str, str, dir_separator_str, ++ imultiarch, NULL); + } + add_path (str, INC_SYSTEM, p->cxx_aware, false); + } +@@ -229,7 +241,16 @@ add_standard_paths (const char *sysroot, + free (str); + continue; + } +- str = reconcat (str, str, dir_separator_str, imultiarch, NULL); ++ if (p->cplusplus && strstr (str, "/c++/")) ++ { ++ char *suffix = strstr (str, "/c++/"); ++ *suffix++ = '\0'; ++ suffix = xstrdup (suffix); ++ str = reconcat (str, str, dir_separator_str, imultiarch, ++ dir_separator_str, suffix, NULL); ++ } ++ else ++ str = reconcat (str, str, dir_separator_str, imultiarch, NULL); + } + + add_path (str, INC_SYSTEM, p->cxx_aware, false); diff --git a/patches/gcc-arm-disable-guality-tests.diff b/patches/gcc-arm-disable-guality-tests.diff new file mode 100644 index 0000000..bc43363 --- /dev/null +++ b/patches/gcc-arm-disable-guality-tests.diff @@ -0,0 +1,44 @@ +# DP: Don't run some tests from the guality test suite on armhf. These fail +# DP: on every target, but seem to hang on the buildds occasionally on armhf. + +--- a/src/gcc/testsuite/gcc.dg/guality/guality.exp ++++ b/src/gcc/testsuite/gcc.dg/guality/guality.exp +@@ -93,7 +93,37 @@ if {[check_guality " + } + } + +- gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] "" "" ++ # FIXME: these seem to hang on the buildds, and gdb always times out ++ # trying to run them. ++ if { [istarget arm-*-linux-gnueabi*] } { ++ set guality [list] ++ foreach file [lsort [glob $srcdir/$subdir/*.c]] { ++ switch -glob -- [file tail $file] { ++ pr36728-*.c - ++ pr41616-1.c - ++ pr43051-1.c - ++ pr54200.c - ++ pr54519-*.c - ++ pr54551.c - ++ pr54693-2.c - ++ pr54796.c - ++ pr56154-1.c - ++ pr58791-3.c - ++ pr58791-5.c - ++ pr68860-1.c - ++ pr68860-2.c - ++ pr78726.c - ++ pr89528.c - ++ pr90074.c - ++ pr90716.c { } ++ * { lappend guality $file } ++ } ++ } ++ } { ++ set guality [lsort [glob $srcdir/$subdir/*.c]] ++ } ++ ++ gcc-dg-runtest $guality "" "" + gcc-dg-runtest $general "" "-Wc++-compat" + set-torture-options \ + [list "-O0" "-Og"] \ diff --git a/patches/gcc-as-needed-gold.diff b/patches/gcc-as-needed-gold.diff new file mode 100644 index 0000000..241a79e --- /dev/null +++ b/patches/gcc-as-needed-gold.diff @@ -0,0 +1,85 @@ +# DP: Use --push-state/--pop-state for gold as well when linking libtsan. + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -774,10 +774,10 @@ proper position among the other output f + #define LIBASAN_SPEC STATIC_LIBASAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \ +- " %{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " %{!static-libasan:--push-state --no-as-needed}" \ + " -lasan " \ + " %{static-libasan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libasan:--pop-state}" \ + STATIC_LIBASAN_LIBS + #else + #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS +@@ -813,10 +813,10 @@ proper position among the other output f + #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \ +- " %{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " %{!static-libtsan:--push-state --no-as-needed}" \ + " -ltsan " \ + " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libtsan:--pop-state}" \ + STATIC_LIBTSAN_LIBS + #else + #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS +@@ -834,10 +834,10 @@ proper position among the other output f + #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \ +- " %{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " %{!static-liblsan:--push-state --no-as-needed}" \ + " -llsan " \ + " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-liblsan:--pop-state}" \ + STATIC_LIBLSAN_LIBS + #else + #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS +@@ -853,10 +853,10 @@ proper position among the other output f + " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}" + #ifdef HAVE_LD_STATIC_DYNAMIC + #define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \ +- " %{!static-libubsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " %{!static-libubsan:--push-state --no-as-needed}" \ + " -lubsan " \ + " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libubsan:--pop-state}" \ + STATIC_LIBUBSAN_LIBS + #else + #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS +--- a/src/gcc/config/gnu-user.h ++++ b/src/gcc/config/gnu-user.h +@@ -136,22 +136,22 @@ see the files COPYING3 and COPYING.RUNTI + #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:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}" ++ 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:%{!fuse-ld=gold:--push-state} --no-as-needed -lhwasan %{fuse-ld=gold:--as-needed;:--pop-state}}" ++ 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:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}" ++ 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:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}" ++ LD_DYNAMIC_OPTION "}}%{!static-liblsan:--push-state --no-as-needed -llsan --pop-state}" + #endif + + #undef TARGET_F951_OPTIONS diff --git a/patches/gcc-as-needed.diff b/patches/gcc-as-needed.diff new file mode 100644 index 0000000..7a232fe --- /dev/null +++ b/patches/gcc-as-needed.diff @@ -0,0 +1,285 @@ +# DP: On linux targets pass --as-needed by default to the linker, but always +# DP: link the sanitizer libraries with --no-as-needed. + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -773,8 +773,11 @@ proper position among the other output f + #ifdef LIBASAN_EARLY_SPEC + #define LIBASAN_SPEC STATIC_LIBASAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \ +- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " -lasan " \ ++ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBASAN_LIBS + #else + #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS +@@ -809,8 +812,11 @@ proper position among the other output f + #ifdef LIBTSAN_EARLY_SPEC + #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \ +- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " -ltsan " \ ++ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBTSAN_LIBS + #else + #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS +@@ -827,8 +833,11 @@ proper position among the other output f + #ifdef LIBLSAN_EARLY_SPEC + #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \ +- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " -llsan " \ ++ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBLSAN_LIBS + #else + #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS +@@ -843,8 +852,11 @@ proper position among the other output f + #define STATIC_LIBUBSAN_LIBS \ + " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}" + #ifdef HAVE_LD_STATIC_DYNAMIC +-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \ +- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libubsan:%{!fuse-ld=gold:--push-state} --no-as-needed}" \ ++ " -lubsan " \ ++ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBUBSAN_LIBS + #else + #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS +--- a/src/gcc/config/gnu-user.h ++++ b/src/gcc/config/gnu-user.h +@@ -136,22 +136,22 @@ see the files COPYING3 and COPYING.RUNTI + #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:-lasan}" ++ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--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:-lhwasan}" ++ LD_DYNAMIC_OPTION "}}%{!static-libhwasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lhwasan %{fuse-ld=gold:--as-needed;:--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:-ltsan}" ++ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--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:-llsan}" ++ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}" + #endif + + #undef TARGET_F951_OPTIONS +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -36,6 +36,7 @@ + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ + --hash-style=gnu \ ++ %{!fsanitize=*:--as-needed} \ + %{static:-Bstatic} \ + %{shared:-shared} \ + %{symbolic:-Bsymbolic} \ +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC " --hash-style=gnu \ ++#define LINK_SPEC " --hash-style=gnu %{!fsanitize=*:--as-needed} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/sparc/linux.h ++++ b/src/gcc/config/sparc/linux.h +@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{!fsanitize=*:--as-needed} %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/s390/linux.h ++++ b/src/gcc/config/s390/linux.h +@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu %{!fsanitize=*:--as-needed} \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -378,13 +378,13 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + +-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!fsanitize=*:--as-needed} %{!shared: %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \ + %(link_os_extra_spec32)" + +-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!fsanitize=*:--as-needed} %{!shared: %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \ +--- a/src/gcc/config/rs6000/sysv4.h ++++ b/src/gcc/config/rs6000/sysv4.h +@@ -780,7 +780,7 @@ GNU_USER_TARGET_CC1_SPEC + #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER + #endif + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!fsanitize=*:--as-needed} %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + +--- a/src/gcc/config/i386/gnu-user64.h ++++ b/src/gcc/config/i386/gnu-user64.h +@@ -57,6 +57,7 @@ see the files COPYING3 and COPYING.RUNTI + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ + --hash-style=gnu \ ++ %{!fsanitize=*:--as-needed} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/i386/gnu-user.h ++++ b/src/gcc/config/i386/gnu-user.h +@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. + { "link_emulation", GNU_USER_LINK_EMULATION },\ + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } + +-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \ ++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{!fsanitize=*:--as-needed} %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{!static-pie: \ +--- a/src/gcc/config/alpha/linux-elf.h ++++ b/src/gcc/config/alpha/linux-elf.h +@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. + + #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{!fsanitize=*:--as-needed} %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- a/src/gcc/config/arm/linux-elf.h ++++ b/src/gcc/config/arm/linux-elf.h +@@ -71,6 +71,7 @@ + %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \ + -X \ + --hash-style=gnu \ ++ %{!fsanitize=*:--as-needed} \ + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ + SUBTARGET_EXTRA_LINK_SPEC + +--- a/src/gcc/config/mips/gnu-user.h ++++ b/src/gcc/config/mips/gnu-user.h +@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. + #undef GNU_USER_TARGET_LINK_SPEC + #define GNU_USER_TARGET_LINK_SPEC "\ + %{G*} %{EB} %{EL} %{mips*} %{shared} \ ++ %{!fsanitize=*:--as-needed} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +--- a/src/gcc/config/riscv/linux.h ++++ b/src/gcc/config/riscv/linux.h +@@ -49,6 +49,7 @@ along with GCC; see the file COPYING3. + + #define LINK_SPEC "\ + -hash-style=gnu \ ++%{!fsanitize=*:--as-needed} \ + -melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \ + %{mno-relax:--no-relax} \ + -X \ +--- a/src/gcc/config/m68k/linux.h ++++ b/src/gcc/config/m68k/linux.h +@@ -78,6 +78,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC "-m m68kelf %{shared} \ ++ %{!fsanitize=*:--as-needed} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +--- a/src/gcc/config/sh/linux.h ++++ b/src/gcc/config/sh/linux.h +@@ -72,6 +72,7 @@ along with GCC; see the file COPYING3. + #undef SUBTARGET_LINK_SPEC + #define SUBTARGET_LINK_SPEC \ + "%{shared:-shared} \ ++ %{!fsanitize=*:--as-needed} \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ +--- a/src/gcc/config/pa/pa-linux.h ++++ b/src/gcc/config/pa/pa-linux.h +@@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC "\ ++ %{!fsanitize=*:--as-needed} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/loongarch/gnu-user.h ++++ b/src/gcc/config/loongarch/gnu-user.h +@@ -45,6 +45,7 @@ along with GCC; see the file COPYING3. + #undef GNU_USER_TARGET_LINK_SPEC + #define GNU_USER_TARGET_LINK_SPEC \ + "%{G*} %{shared} -m " GNU_USER_LINK_EMULATION \ ++ " %{!fsanitize=*:--as-needed} " \ + "%{!shared: %{static} " \ + "%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \ + "-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \ +--- a/src/gcc/config/sparc/linux64.h ++++ b/src/gcc/config/sparc/linux64.h +@@ -90,7 +90,7 @@ along with GCC; see the file COPYING3. If not see + { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ + { "link_arch", LINK_ARCH_SPEC }, + +-#define LINK_ARCH32_SPEC "-m elf32_sparc %{shared:-shared} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc %{shared:-shared} %{!fsanitize=*:--as-needed} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +@@ -98,7 +98,7 @@ along with GCC; see the file COPYING3. If not see + %{static:-static}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc %{shared:-shared} %{!fsanitize=*:--as-needed} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + diff --git a/patches/gcc-auto-build.diff b/patches/gcc-auto-build.diff new file mode 100644 index 0000000..f2a5bf9 --- /dev/null +++ b/patches/gcc-auto-build.diff @@ -0,0 +1,13 @@ +# DP: Fix cross building a native compiler. + +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -2148,7 +2148,7 @@ else + # Clearing GMPINC is necessary to prevent host headers being + # used by the build compiler. Defining GENERATOR_FILE stops + # system.h from including gmp.h. +- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ ++ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ + GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ diff --git a/patches/gcc-distro-specs-ubuntu-doc.diff b/patches/gcc-distro-specs-ubuntu-doc.diff new file mode 100644 index 0000000..3ae8920 --- /dev/null +++ b/patches/gcc-distro-specs-ubuntu-doc.diff @@ -0,0 +1,78 @@ +# DP: Document distro specific compiler flags turned on by default + +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -11859,6 +11859,19 @@ also turns on the following optimization + Please note the warning under @option{-fgcse} about + invoking @option{-O2} on programs that use computed gotos. + ++NOTE: In Ubuntu 8.10 and later versions, @option{-D_FORTIFY_SOURCE=2}, ++in Ubuntu 24.04 and later versions, @option{-D_FORTIFY_SOURCE=3}, is ++set by default, and is activated when @option{-O} is set to 2 or higher. ++This enables additional compile-time and run-time checks for several libc ++functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or ++@option{-D_FORTIFY_SOURCE=0}. ++ ++NOTE: In Debian 13 and Ubuntu 24.04 and later versions, ++@option{-D_TIME_BITS=64} together with @option{-D_FILE_OFFSET_BITS=64} is ++set by default on the 32bit architectures @samp{armel}, @samp{armhf}, ++@samp{hppa}, @samp{m68k}, @samp{mips}, @samp{mipsel}, @samp{powerpc} and ++@samp{sh4}. ++ + @opindex O3 + @item -O3 + Optimize yet more. @option{-O3} turns on all optimizations specified +@@ -15421,6 +15434,9 @@ value of a shared integer constant. + The minimum size of buffers (i.e.@: arrays) that receive stack smashing + protection when @option{-fstack-protector} is used. + ++This default before Ubuntu 10.10 was "8". Currently it is "4", to increase ++the number of functions protected by the stack protector. ++ + @item min-size-for-stack-sharing + The minimum size of variables taking part in stack slot sharing when not + optimizing. +@@ -17127,6 +17143,10 @@ Currently the x86 GNU/Linux target provi + on Intel Control-flow Enforcement Technology (CET) which works for + i686 processor or newer. + ++NOTE: In Ubuntu 19.10 and later versions, @option{-fcf-protection} ++is enabled by default for C, C++, ObjC, ObjC++, if none of ++@option{-fno-cf-protection} nor @option{-fcf-protection=*} are found. ++ + @opindex fharden-compares + @item -fharden-compares + For every logical test that survives gimple optimizations and is +@@ -17169,6 +17189,11 @@ references to local frame addresses. On + allocated on the stack are considered, optimized away variables or variables + allocated in registers don't count. + ++NOTE: In Ubuntu 14.10 and later versions, ++@option{-fstack-protector-strong} is enabled by default for C, ++C++, ObjC, ObjC++, if none of @option{-fno-stack-protector}, ++@option{-nostdlib}, nor @option{-ffreestanding} are found. ++ + @opindex fstack-protector-explicit + @item -fstack-protector-explicit + Like @option{-fstack-protector} but only protects those functions which +@@ -17232,6 +17257,10 @@ allocations. @option{-fstack-clash-prot + protection for static stack allocations if the target supports + @option{-fstack-check=specific}. + ++NOTE: In Ubuntu 19.10 and later versions, ++@option{-fstack-clash-protection} is enabled by default for C, ++C++, ObjC, ObjC++, unless @option{-fno-stack-clash-protection} is found. ++ + @opindex fstack-limit-register + @opindex fstack-limit-symbol + @opindex fno-stack-limit +@@ -17959,6 +17988,9 @@ For example, @option{-Wl,-Map,output.map + linker. When using the GNU linker, you can also get the same effect with + @option{-Wl,-Map=output.map}. + ++NOTE: In Ubuntu 8.10 and later versions, for LDFLAGS, the option ++@option{-Wl,-z,relro} is used. To disable, use @option{-Wl,-z,norelro}. ++ + @opindex u + @item -u @var{symbol} + Pretend the symbol @var{symbol} is undefined, to force linking of diff --git a/patches/gcc-distro-specs.diff b/patches/gcc-distro-specs.diff new file mode 100644 index 0000000..62d93fb --- /dev/null +++ b/patches/gcc-distro-specs.diff @@ -0,0 +1,321 @@ +# DP: Add empty distro and hardening specs + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -27,6 +27,11 @@ CC recognizes how to compile each input + Once it knows which kind of compilation to perform, the procedure for + compilation is specified by a string called a "spec". */ + ++/* Inject some default compilation flags which are used as the default. ++ Done by the packaging build system. Should that be done in the headers ++ gcc/config//*.h instead? */ ++#include "distro-defaults.h" ++ + #define INCLUDE_STRING + #include "config.h" + #include "system.h" +@@ -984,6 +989,113 @@ proper position among the other output f + #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}" + #endif + ++/* Generate full unwind information covering all program points. ++ Only needed for some architectures. */ ++#ifndef ASYNC_UNWIND_SPEC ++# ifdef DIST_DEFAULT_ASYNC_UNWIND ++# define ASYNC_UNWIND_SPEC "%{!fno-asynchronous-unwind-tables:-fasynchronous-unwind-tables}" ++# else ++# define ASYNC_UNWIND_SPEC "" ++# endif ++#endif ++ ++/* Turn on stack protector. ++ */ ++#ifndef SSP_DEFAULT_SPEC ++# ifdef DIST_DEFAULT_SSP ++# ifdef DIST_DEFAULT_SSP_STRONG ++# define SSP_DEFAULT_SPEC " %{!fno-stack-protector:%{!fstack-protector-explicit:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:%{!fstack-protector:-fstack-protector-strong}}}}}}" ++# else ++# define SSP_DEFAULT_SPEC " %{!fno-stack-protector:%{!fstack-protector-explicit:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}}}" ++# endif ++# else ++# define SSP_DEFAULT_SPEC "" ++# endif ++#endif ++ ++/* Turn on -Wformat -Wformat-security by default for C, C++, ++ ObjC, ObjC++. */ ++#ifndef FORMAT_SECURITY_SPEC ++# ifdef DIST_DEFAULT_FORMAT_SECURITY ++# define FORMAT_SECURITY_SPEC " %{!Wformat:%{!Wformat=2:%{!Wformat=0:%{!Wall:-Wformat} %{!Wno-format-security:-Wformat-security}}}}" ++# else ++# define FORMAT_SECURITY_SPEC "" ++# endif ++#endif ++ ++/* Enable -fstack-clash-protection by default. Only available ++ on some targets. */ ++#ifndef STACK_CLASH_SPEC ++# ifdef DIST_DEFAULT_STACK_CLASH ++# define STACK_CLASH_SPEC " %{!fno-stack-clash-protection:-fstack-clash-protection}" ++# else ++# define STACK_CLASH_SPEC "" ++# endif ++#endif ++ ++/* Enable code instrumentation of control-flow transfers. ++ Available on x86 and x86_64. */ ++#ifndef CF_PROTECTION_SPEC ++# ifdef DIST_DEFAULT_CF_PROTECTION ++# define CF_PROTECTION_SPEC " %{!m16:%{!m32:%{!fcf-protection*:%{!fno-cf-protection:-fcf-protection}}}}" ++# else ++# define CF_PROTECTION_SPEC "" ++# endif ++#endif ++ ++/* Enable -D_TIME_BITS=64, only available on some 32bit targets. */ ++#ifndef TIMET64_SPEC ++# ifdef DIST_DEFAULT_TIMET64 ++# define TIMET64_SPEC " %{!m16:%{!m64:%{!D_DISTRO_EVADE_TIME_BITS:%{!D_TIME_BITS=*:%{!U_TIME_BITS:-D_TIME_BITS=64%{!D_FILE_OFFSET_BITS=*:%{!U_FILE_OFFSET_BITS: -D_FILE_OFFSET_BITS=64}}}}}}}" ++# else ++# define TIMET64_SPEC "" ++# endif ++#endif ++ ++/* Enable -D_FORTIFY_SOURCE= */ ++#ifndef FORTIFY_SOURCE_SPEC ++# ifdef DIST_DEFAULT_FORTIFY_SOURCE ++# define FORTIFY_SOURCE_SPEC " %{!O0:%{O*:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=" DIST_DEFAULT_FORTIFY_SOURCE_S "}}}}" ++# else ++# define FORTIFY_SOURCE_SPEC "" ++# endif ++#endif ++ ++#ifndef BIND_NOW_SPEC ++# if defined(DIST_DEFAULT_BIND_NOW) && !defined(ACCEL_COMPILER) ++# define BIND_NOW_SPEC " -z now" ++# else ++# define BIND_NOW_SPEC "" ++# endif ++#endif ++ ++#ifndef RELRO_SPEC ++# ifdef DIST_DEFAULT_RELRO ++# define RELRO_SPEC " -z relro " ++# else ++# define RELRO_SPEC "" ++# endif ++#endif ++ ++/* Don't enable any of those for the offload compilers, ++ unsupported. */ ++#if !defined(DISTRO_DEFAULT_CPP_SPEC) && !defined(ACCEL_COMPILER) ++# define DISTRO_DEFAULT_CPP_SPEC TIMET64_SPEC FORTIFY_SOURCE_SPEC ++#else ++# define DISTRO_DEFAULT_CPP_SPEC "" ++#endif ++#if !defined(DISTRO_DEFAULT_SPEC) && !defined(ACCEL_COMPILER) ++# define DISTRO_DEFAULT_SPEC ASYNC_UNWIND_SPEC SSP_DEFAULT_SPEC \ ++ FORMAT_SECURITY_SPEC STACK_CLASH_SPEC CF_PROTECTION_SPEC ++#else ++# define DISTRO_DEFAULT_SPEC "" ++#endif ++#if !defined(DISTRO_DEFAULT_LINK_SPEC) && !defined(ACCEL_COMPILER) ++# define DISTRO_DEFAULT_LINK_SPEC RELRO_SPEC ++#else ++# define DISTRO_DEFAULT_LINK_SPEC "" ++#endif ++ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +@@ -1040,7 +1152,7 @@ proper position among the other output f + #ifndef LINK_PIE_SPEC + #ifdef HAVE_LD_PIE + #ifndef LD_PIE_SPEC +-#define LD_PIE_SPEC "-pie" ++#define LD_PIE_SPEC "-pie" BIND_NOW_SPEC + #endif + #else + #define LD_PIE_SPEC "" +@@ -1157,6 +1269,7 @@ proper position among the other output f + "%{flto|flto=*:% + + * gcc.c (offload_targets_default): New variable. + (process_command): Set it if -foffload is defaulted. + (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1 + into environment if -foffload has been defaulted. + * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. + (compile_offload_image): If OFFLOAD_TARGET_DEFAULT + is in the environment, don't fail if corresponding mkoffload + can't be found. + (compile_images_for_offload_targets): Likewise. Free and clear + offload_names if no valid offload is found. +libgomp/ + * target.c (gomp_load_plugin_for_device): If a plugin can't be + dlopened, assume it has no devices silently. + +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -324,6 +324,10 @@ static const char *spec_host_machine = D + + static char *offload_targets = NULL; + ++/* Set to true if -foffload has not been used and offload_targets ++ is set to the configured in default. */ ++static bool offload_targets_default; ++ + /* Nonzero if cross-compiling. + When -b is used, the value comes from the `specs' file. */ + +@@ -5058,7 +5062,10 @@ process_command (unsigned int decoded_op + /* If the user didn't specify any, default to all configured offload + targets. */ + if (ENABLE_OFFLOADING && offload_targets == NULL) +- handle_foffload_option (OFFLOAD_TARGETS); ++ { ++ handle_foffload_option (OFFLOAD_TARGETS); ++ offload_targets_default = true; ++ } + + /* Handle -gtoggle as it would later in toplev.c:process_options to + make the debug-level-gt spec function work as expected. */ +@@ -8758,6 +8765,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS () + obstack_grow (&collect_obstack, offload_targets, + strlen (offload_targets) + 1); + xputenv (XOBFINISH (&collect_obstack, char *)); ++ if (offload_targets_default) ++ xputenv ("OFFLOAD_TARGET_DEFAULT=1"); + } + + free (offload_targets); +--- a/src/gcc/lto-wrapper.c ++++ b/src/gcc/lto-wrapper.c +@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. + /* Environment variable, used for passing the names of offload targets from GCC + driver to lto-wrapper. */ + #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES" ++#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT" + + /* By default there is no special suffix for target executables. */ + #ifdef TARGET_EXECUTABLE_SUFFIX +@@ -907,6 +908,12 @@ compile_offload_image (const char *targe + break; + } + ++ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV)) ++ { ++ free_array_of_ptrs ((void **) paths, n_paths); ++ return NULL; ++ } ++ + if (!compiler) + fatal_error (input_location, + "could not find %s in %s (consider using %<-B%>)", +@@ -976,6 +983,7 @@ compile_images_for_offload_targets (unsi + if (!target_names) + return; + unsigned num_targets = parse_env_var (target_names, &names, NULL); ++ int next_name_entry = 0; + + const char *compiler_path = getenv ("COMPILER_PATH"); + if (!compiler_path) +@@ -986,13 +994,19 @@ compile_images_for_offload_targets (unsi + offload_names = XCNEWVEC (char *, num_targets + 1); + for (unsigned i = 0; i < num_targets; i++) + { +- offload_names[i] ++ offload_names[next_name_entry] + = compile_offload_image (names[i], compiler_path, in_argc, in_argv, + compiler_opts, compiler_opt_count, + linker_opts, linker_opt_count); +- if (!offload_names[i]) +- fatal_error (input_location, +- "problem with building target image for %s", names[i]); ++ if (!offload_names[next_name_entry]) ++ continue; ++ next_name_entry++; ++ } ++ ++ if (next_name_entry == 0) ++ { ++ free (offload_names); ++ offload_names = NULL; + } + + out: +--- a/src/libgomp/target.c ++++ b/src/libgomp/target.c +@@ -3173,7 +3173,7 @@ gomp_load_plugin_for_device (struct gomp + + void *plugin_handle = dlopen (plugin_name, RTLD_LAZY); + if (!plugin_handle) +- goto dl_fail; ++ return 0; + + /* Check if all required functions are available in the plugin and store + their handlers. None of the symbols can legitimately be NULL, diff --git a/patches/gcc-force-cross-layout.diff b/patches/gcc-force-cross-layout.diff new file mode 100644 index 0000000..f84a5ef --- /dev/null +++ b/patches/gcc-force-cross-layout.diff @@ -0,0 +1,49 @@ +# DP: Add FORCE_CROSS_LAYOUT env var to force a cross directory layout. + +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3490,7 +3490,7 @@ target_configargs="$target_configargs ${ + # native. However, it would be better to use other mechanisms to make the + # sorts of decisions they want to make on this basis. Please consider + # this option to be deprecated. FIXME. +-if test x${is_cross_compiler} = xyes ; then ++if test x${is_cross_compiler} = xyes || test x${FORCE_CROSS_LAYOUT} = xyes; then + target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}" + fi + +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -2501,14 +2501,14 @@ SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADE + BUILD_SYSTEM_HEADER_DIR=$SYSTEM_HEADER_DIR AC_SUBST(BUILD_SYSTEM_HEADER_DIR) + + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x || +- test x$build != x$host || test "x$with_build_sysroot" != x; then ++ test x$build != x$host || test "x$with_build_sysroot" != x || test x$FORCE_CROSS_LAYOUT = xyes; then + if test "x$with_build_sysroot" != x; then + BUILD_SYSTEM_HEADER_DIR=$with_build_sysroot'$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)' + else + BUILD_SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)' + fi + +- if test x$host != x$target ++ if test x$host != x$target || test x$FORCE_CROSS_LAYOUT = xyes + then + CROSS="-DCROSS_DIRECTORY_STRUCTURE" + ALL=all.cross +@@ -7602,14 +7602,14 @@ AC_SUBST_FILE(language_hooks) + + # Echo link setup. + if test x${build} = x${host} ; then +- if test x${host} = x${target} ; then ++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then + echo "Links are now set up to build a native compiler for ${target}." 1>&2 + else + echo "Links are now set up to build a cross-compiler" 1>&2 + echo " from ${host} to ${target}." 1>&2 + fi + else +- if test x${host} = x${target} ; then ++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then + echo "Links are now set up to build (on ${build}) a native compiler" 1>&2 + echo " for ${target}." 1>&2 + else diff --git a/patches/gcc-gfdl-build.diff b/patches/gcc-gfdl-build.diff new file mode 100644 index 0000000..9fb75e0 --- /dev/null +++ b/patches/gcc-gfdl-build.diff @@ -0,0 +1,39 @@ +# DP: Build a dummy s-tm-texi without access to the texinfo sources + +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -2757,32 +2757,8 @@ s-tm-texi: $(srcdir)/doc/../doc/tm.texi + # \r is not portable to Solaris tr, therefore we have a special + # case for ASCII. We use \r for other encodings like EBCDIC. + s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in +- $(RUN_GEN) build/genhooks$(build_exeext) -d \ +- $(srcdir)/doc/tm.texi.in > tmp-tm.texi +- case `echo X|tr X '\101'` in \ +- A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \ +- *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \ +- esac +- mv tmp2-tm.texi tmp-tm.texi +- $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi +- @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \ +- $(STAMP) $@; \ +- elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \ +- && ( test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/c-family/c-target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/common/common-target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/d/d-target.def \ +- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/rust/rust-target.def \ +- ); then \ +- echo >&2 ; \ +- echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \ +- false; \ +- else \ +- echo >&2 ; \ +- echo Verify that you have permission to grant a GFDL license for all >&2 ; \ +- echo new text in $(objdir)/tm.texi, then copy it to $(srcdir)/doc/tm.texi. >&2 ; \ +- false; \ +- fi ++ cat $(srcdir)/doc/tm.texi.in > tmp-tm.texi ++ $(STAMP) $@ + + $(GIMPLE_MATCH_PD_SEQ_SRC): s-gimple-match gimple-match-head.cc; @true + gimple-match-auto.h: s-gimple-match; @true diff --git a/patches/gcc-hash-style-gnu.diff b/patches/gcc-hash-style-gnu.diff new file mode 100644 index 0000000..a4dfd74 --- /dev/null +++ b/patches/gcc-hash-style-gnu.diff @@ -0,0 +1,164 @@ +# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64, +# DP: i386, powerpc, ppc64, riscv64, s390, sparc) + +2006-07-11 Jakub Jelinek + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +2009-12-21 Matthias Klose + + * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=gnu. + +2012-11-17 Matthias Klose + + * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=gnu. + +2018-03-02 Aurelien Jarno + + * config/riscv/linux.h (LINK_SPEC): Add --hash-style=gnu. + +--- + gcc/config/alpha/linux-elf.h | 2 +- + gcc/config/i386/linux.h | 2 +- + gcc/config/i386/linux64.h | 2 +- + gcc/config/ia64/linux.h | 2 +- + gcc/config/rs6000/linux64.h | 4 ++-- + gcc/config/rs6000/sysv4.h | 2 +- + gcc/config/s390/linux.h | 2 +- + gcc/config/sparc/linux.h | 2 +- + 8 files changed, 9 insertions(+), 9 deletions(-) + +--- a/src/gcc/config/alpha/linux-elf.h ++++ b/src/gcc/config/alpha/linux-elf.h +@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. + + #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- a/src/gcc/config/ia64/linux.h ++++ b/src/gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC " --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -378,13 +378,13 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + +-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \ + %(link_os_extra_spec32)" + +-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \ +--- a/src/gcc/config/rs6000/sysv4.h ++++ b/src/gcc/config/rs6000/sysv4.h +@@ -780,7 +780,7 @@ GNU_USER_TARGET_CC1_SPEC + #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER + #endif + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + +--- a/src/gcc/config/s390/linux.h ++++ b/src/gcc/config/s390/linux.h +@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- a/src/gcc/config/sparc/linux.h ++++ b/src/gcc/config/sparc/linux.h +@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/arm/linux-elf.h ++++ b/src/gcc/config/arm/linux-elf.h +@@ -70,6 +70,7 @@ + %{rdynamic:-export-dynamic} \ + %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \ + -X \ ++ --hash-style=gnu \ + %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ + SUBTARGET_EXTRA_LINK_SPEC + +--- a/src/gcc/config/i386/gnu-user.h ++++ b/src/gcc/config/i386/gnu-user.h +@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. + { "link_emulation", GNU_USER_LINK_EMULATION },\ + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } + +-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{!static-pie: \ +--- a/src/gcc/config/i386/gnu-user64.h ++++ b/src/gcc/config/i386/gnu-user64.h +@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTI + "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \ + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ ++ --hash-style=gnu \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -35,6 +35,7 @@ + #define CPP_SPEC "%{pthread:-D_REENTRANT}" + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ ++ --hash-style=gnu \ + %{static:-Bstatic} \ + %{shared:-shared} \ + %{symbolic:-Bsymbolic} \ +--- a/src/gcc/config/riscv/linux.h ++++ b/src/gcc/config/riscv/linux.h +@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. + "%{mabi=ilp32:_ilp32}" + + #define LINK_SPEC "\ ++-hash-style=gnu \ + -melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \ + %{mno-relax:--no-relax} \ + -X \ diff --git a/patches/gcc-ice-apport.diff b/patches/gcc-ice-apport.diff new file mode 100644 index 0000000..54395a4 --- /dev/null +++ b/patches/gcc-ice-apport.diff @@ -0,0 +1,39 @@ +# DP: Report an ICE to apport (if apport is available +# DP: and the environment variable GCC_NOAPPORT is not set) + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -8119,13 +8119,16 @@ do_report_bug (const char **new_argv, co + if (status == ATTEMPT_STATUS_SUCCESS) + { + const bool gcc_dump = has_deb_build_options ("gcc-ice", "nodump"); ++ const bool gcc_apport ++ = !env.get ("GCC_NOAPPORT") ++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK); + + if (gcc_dump) + fnotice (stderr, + "Preprocessed source stored into %s file," + " please attach this to your bugreport.\n", + *out_file); +- if (gcc_dump) ++ if (gcc_dump || gcc_apport) + { + char *cmd = XNEWVEC (char, 50 + strlen (*out_file)); + +@@ -8139,6 +8142,15 @@ do_report_bug (const char **new_argv, co + fflush (stderr); + free (cmd); + } ++ if (gcc_apport) ++ { ++ char *cmd ++ = XNEWVEC (char, 50 + strlen (*out_file) + strlen (new_argv[0])); ++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s", new_argv[0], ++ *out_file); ++ system (cmd); ++ free (cmd); ++ } + /* Make sure it is not deleted. */ + free (*out_file); + *out_file = NULL; diff --git a/patches/gcc-ice-dump.diff b/patches/gcc-ice-dump.diff new file mode 100644 index 0000000..bcf9635 --- /dev/null +++ b/patches/gcc-ice-dump.diff @@ -0,0 +1,111 @@ +# DP: For ICEs, dump the preprocessed source file to stderr +# DP: when in a distro build environment. + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -3146,6 +3146,61 @@ access_check (const char *name, int mode + return access (name, mode); + } + ++/* Check whether options line contains the specified variable, and ++ optionally set to the supplied value */ ++ ++static bool ++check_options (const char *options, const char *var = nullptr, ++ const char *val = nullptr) ++{ ++ if (!var) ++ return false; ++ ++ const char *const var_found = strstr (options, var); ++ if (!var_found) ++ return false; ++ ++ if (val) ++ { ++ if (var_found[strlen (var)] != '=') ++ return false; ++ ++ const char *var_end = strchr (var_found, ' '); ++ if (!var_end) ++ var_end = strchr (var_found, '\0'); ++ ++ const char *const val_found = strstr (var_found, val); ++ if (!val_found || val_found > var_end) ++ return false; ++ ++ const char c0 = val_found[-1]; ++ const char c1 = val_found[strlen (val)]; ++ if ((c0 == '=' || c0 == ',') && (c1 == ',' || c1 == ' ' || c1 == '\0')) ++ return true; ++ } ++ else ++ { ++ const char c1 = var_found[strlen (var)]; ++ if (c1 == ' ' || c1 == '\0') ++ return true; ++ } ++ return false; ++} ++ ++/* Check whether DEB_BUILD_OPTIONS environment variable is set, and ++ that it does not contain the specified exclusion keyword. */ ++ ++static bool ++has_deb_build_options (const char *exclude_var = nullptr, ++ const char *exclude_val = nullptr) ++{ ++ const char *const deb_build_options = env.get ("DEB_BUILD_OPTIONS"); ++ if (!deb_build_options) ++ return false; ++ ++ return !check_options (deb_build_options, exclude_var, exclude_val); ++} ++ + /* Callback for find_a_file. Appends the file name to the directory + path. If the resulting file exists in the right mode, return the + full pathname to the file. */ +@@ -3672,9 +3727,10 @@ execute (void) + /* For ICEs in cc1, cc1obj, cc1plus see if it is + reproducible or not. */ + const char *p; +- if (flag_report_bug +- && WEXITSTATUS (status) == ICE_EXIT_CODE +- && i == 0 ++ const bool deb_build_options ++ = has_deb_build_options ("gcc-ice", "norepro"); ++ if ((flag_report_bug || deb_build_options) ++ && WEXITSTATUS (status) == ICE_EXIT_CODE && i == 0 + && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR)) + && startswith (p + 1, "cc1")) + try_generate_repro (commands[0].argv); +@@ -8062,8 +8118,27 @@ do_report_bug (const char **new_argv, co + + if (status == ATTEMPT_STATUS_SUCCESS) + { +- fnotice (stderr, "Preprocessed source stored into %s file," +- " please attach this to your bugreport.\n", *out_file); ++ const bool gcc_dump = has_deb_build_options ("gcc-ice", "nodump"); ++ ++ if (gcc_dump) ++ fnotice (stderr, ++ "Preprocessed source stored into %s file," ++ " please attach this to your bugreport.\n", ++ *out_file); ++ if (gcc_dump) ++ { ++ char *cmd = XNEWVEC (char, 50 + strlen (*out_file)); ++ ++ sprintf (cmd, "/usr/bin/awk '{print \"%d:\", $0}' %s >&2", getpid (), ++ *out_file); ++ fprintf (stderr, "=== BEGIN GCC DUMP ===\n"); ++ fflush (stderr); ++ system (cmd); ++ fflush (stderr); ++ fprintf (stderr, "=== END GCC DUMP ===\n"); ++ fflush (stderr); ++ free (cmd); ++ } + /* Make sure it is not deleted. */ + free (*out_file); + *out_file = NULL; diff --git a/patches/gcc-multiarch.diff b/patches/gcc-multiarch.diff new file mode 100644 index 0000000..25de770 --- /dev/null +++ b/patches/gcc-multiarch.diff @@ -0,0 +1,189 @@ +# DP: - Remaining multiarch patches, not yet submitted upstream. +# DP: - Add MULTIARCH_DIRNAME definitions for multilib configurations, +# DP: which are used for the non-multilib builds. + +2013-06-12 Matthias Klose + + * config/i386/t-linux64: Set MULTIARCH_DIRNAME. + * config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend + i386/t-linux to $tmake_file; + set default ABI to N64 for mips64el. + * config/mips/t-linux64: Set MULTIARCH_DIRNAME. + * config/rs6000/t-linux64: Set MULTIARCH_DIRNAME. + * config/s390/t-linux64: Set MULTIARCH_DIRNAME. + * config/sparc/t-linux64: Set MULTIARCH_DIRNAME. + * src/gcc/config/mips/mips.h: (/usr)/lib as default path. + +--- a/src/gcc/config/sh/t-linux ++++ b/src/gcc/config/sh/t-linux +@@ -1,3 +1,11 @@ + MULTILIB_DIRNAMES= + MULTILIB_MATCHES= ++ ++ifneq (,$(findstring sh4,$(target))) ++MULTILIB_OSDIRNAMES = .:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu ++MULTIARCH_DIRNAME = $(call if_multiarch,sh4-linux-gnu) ++else ++MULTILIB_OSDIRNAMES = .:sh3-linux-gnu sh3_nofpu-linux-gnu:sh3-linux-gnu ++MULTIARCH_DIRNAME = $(call if_multiarch,sh3-linux-gnu) ++endif + MULTILIB_EXCEPTIONS=m1 mb/m1 m2a +--- a/src/gcc/config/sparc/t-linux64 ++++ b/src/gcc/config/sparc/t-linux64 +@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) + MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) ++ ++MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) +--- a/src/gcc/config/s390/t-linux64 ++++ b/src/gcc/config/s390/t-linux64 +@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31 + MULTILIB_DIRNAMES = 64 32 + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) + MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) ++ ++MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) +--- a/src/gcc/config/rs6000/t-linux64 ++++ b/src/gcc/config/rs6000/t-linux64 +@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS := + MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) + MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) + ++MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) ++ + rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc + $(COMPILE) $< + $(POSTCOMPILE) +--- a/src/gcc/config/i386/t-linux64 ++++ b/src/gcc/config/i386/t-linux64 +@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %, + MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) + MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++ ++ifneq (,$(findstring x86_64,$(target))) ++ ifneq (,$(findstring biarchx32.h,$(tm_include_list))) ++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32) ++ else ++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu) ++ endif ++else ++ MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu) ++endif +--- a/src/gcc/config/mips/t-linux64 ++++ b/src/gcc/config/mips/t-linux64 +@@ -18,24 +18,28 @@ + + MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 + MULTILIB_DIRNAMES = n32 32 64 ++MIPS_R6 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),r6) ++MIPS_32 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),32) ++MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa) + MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) + MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) ++ + ifeq (yes,$(enable_multiarch)) + ifneq (,$(findstring gnuabi64,$(target))) + MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) + else ifneq (,$(findstring gnuabin32,$(target))) + MULTILIB_OSDIRNAMES = \ +- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) + else + MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) + endif + else + MULTILIB_OSDIRNAMES = \ +@@ -43,3 +47,13 @@ else + ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ + ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) + endif ++ ++ifneq (,$(findstring abin32,$(target))) ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) ++else ++ifneq (,$(findstring abi64,$(target))) ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++else ++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) ++endif ++endif +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -2606,7 +2606,8 @@ mips*-*-linux*) # Linux MIPS, either + extra_options="${extra_options} linux-android.opt" + case ${target} in + mipsisa32r6*) +- default_mips_arch=mips32r6 ++ with_arch_32="mips32r6" ++ with_arch_64="mips64r6" + ;; + mipsisa32r2*) + default_mips_arch=mips32r2 +@@ -2628,7 +2629,8 @@ mips*-*-linux*) # Linux MIPS, either + ;; + mipsisa64r6*-*-linux-gnuabi64) + default_mips_abi=64 +- default_mips_arch=mips64r6 ++ with_arch_32="mips32r6" ++ with_arch_64="mips64r6" + enable_mips_multilibs="yes" + ;; + mipsisa64r6*-*-linux*) +@@ -5845,7 +5847,7 @@ case ${target} in + ;; + i[34567]86-*-linux* | x86_64-*-linux*) + extra_objs="${extra_objs} gnu-property.o" +- tmake_file="$tmake_file i386/t-linux i386/t-gnu-property" ++ tmake_file="i386/t-linux $tmake_file i386/t-gnu-property" + ;; + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) + tmake_file="$tmake_file i386/t-kfreebsd" +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -582,7 +582,7 @@ BUILD_SYSTEM_HEADER_DIR = `echo @BUILD_S + STMP_FIXINC = @STMP_FIXINC@ + + # Test to see whether exists in the system header files. +-LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ] ++LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h -o -f $(BUILD_SYSTEM_HEADER_DIR)/$(MULTIARCH_DIRNAME)/limits.h ] + + # Directory for prefix to system directories, for + # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc. +--- a/src/gcc/config/aarch64/t-aarch64-linux ++++ b/src/gcc/config/aarch64/t-aarch64-linux +@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm + LIB1ASMFUNCS = _aarch64_sync_cache_range + + AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) +-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) ++MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) + MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) + + MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +--- a/src/gcc/config/arc/t-multilib-linux ++++ b/src/gcc/config/arc/t-multilib-linux +@@ -23,3 +23,6 @@ MULTILIB_DIRNAMES = hs archs hs38 hs38_l + # Aliases: + MULTILIB_MATCHES += mcpu?arc700=mA7 + MULTILIB_MATCHES += mcpu?arc700=mARC700 ++ ++MULTILIB_OSDIRNAMES = ++MULTIARCH_DIRNAME = $(call if_multiarch,arc-linux-gnu) diff --git a/patches/gcc-multilib-multiarch.diff b/patches/gcc-multilib-multiarch.diff new file mode 100644 index 0000000..b9e293b --- /dev/null +++ b/patches/gcc-multilib-multiarch.diff @@ -0,0 +1,100 @@ +# DP: Don't auto-detect multilib osdirnames. + +--- a/src/gcc/config/sparc/t-linux64 ++++ b/src/gcc/config/sparc/t-linux64 +@@ -25,7 +25,12 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 ++ifneq (,$(findstring sparc64,$(target))) ++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:sparc-linux-gnu) ++else + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:sparc-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) +--- a/src/gcc/config/s390/t-linux64 ++++ b/src/gcc/config/s390/t-linux64 +@@ -7,7 +7,12 @@ + + MULTILIB_OPTIONS = m64/m31 + MULTILIB_DIRNAMES = 64 32 ++ifneq (,$(findstring s390x,$(target))) ++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:s390-linux-gnu) ++else + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) ++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:s390-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) +--- a/src/gcc/config/rs6000/t-linux64 ++++ b/src/gcc/config/rs6000/t-linux64 +@@ -28,8 +28,13 @@ + MULTILIB_OPTIONS := m64/m32 + MULTILIB_DIRNAMES := 64 32 + MULTILIB_EXTRA_OPTS := ++ifneq (,$(findstring powerpc64,$(target))) ++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu) ++MULTILIB_OSDIRNAMES += m32=../lib32$(call if_multiarch,:powerpc-linux-gnu) ++else + MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) +-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) ++MULTILIB_OSDIRNAMES += m32=../lib$(call if_multiarch,:powerpc-linux-gnu) ++endif + + MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) + +--- a/src/gcc/config/i386/t-linux64 ++++ b/src/gcc/config/i386/t-linux64 +@@ -33,9 +33,19 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) ++ifneq (,$(findstring gnux32,$(target))) + MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= mx32=../lib$(call if_multiarch,:x86_64-linux-gnux32) ++else ifneq (,$(findstring x86_64,$(target))) ++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu) + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++else ++MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=../lib$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++endif + + ifneq (,$(findstring x86_64,$(target))) + ifneq (,$(findstring biarchx32.h,$(tm_include_list))) +--- a/src/gcc/config/rs6000/t-linux ++++ b/src/gcc/config/rs6000/t-linux +@@ -2,7 +2,7 @@ + # or soft-float. + ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))) + ifneq (,$(findstring powerpc64,$(target))) +-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu) ++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu) + else + MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu) + endif +--- a/src/gcc/config/loongarch/t-linux ++++ b/src/gcc/config/loongarch/t-linux +@@ -16,9 +16,9 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-MULTIOSDIR_lp64d := ../lib64$(call if_multiarch,:loongarch64-linux-gnu) +-MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32) +-MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf) ++MULTIOSDIR_lp64d := ../lib$(call if_multiarch,:loongarch64-linux-gnu) ++MULTIOSDIR_lp64f := ../lib/f32$(call if_multiarch,:loongarch64-linux-gnuf32) ++MULTIOSDIR_lp64s := ../lib/sf$(call if_multiarch,:loongarch64-linux-gnusf) + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. + ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) diff --git a/patches/gcc-no-multilib-dejagnu.diff b/patches/gcc-no-multilib-dejagnu.diff new file mode 100644 index 0000000..9c8d6c1 --- /dev/null +++ b/patches/gcc-no-multilib-dejagnu.diff @@ -0,0 +1,61 @@ +# DP: Don't run the gnat and gm2 tests for multilibs, which are not built + +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4340,7 +4340,12 @@ $(filter-out $(lang_checks_parallelized) + if [ -f $${rootme}/../expect/expect ] ; then \ + TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \ + export TCL_LIBRARY ; fi ; \ +- $(RUNTEST) --tool $* $(RUNTESTFLAGS)) ++ case "$*" in \ ++ (gnat*|gm2*) rtflags=$$(printf '%s' '$(RUNTESTFLAGS)' | sed -E 's/,-m[a-z2-6=]+//g');; \ ++ (*) rtflags=$(RUNTESTFLAGS);; \ ++ esac; \ ++ echo "CHECK TARGET: $* -> $$rtflags"; \ ++ $(RUNTEST) --tool $* $$rtflags) + + $(patsubst %,%-subtargets,$(lang_checks)): check-%-subtargets: + @echo check-$* +@@ -4374,12 +4379,17 @@ check_p_subdirs=$(wordlist 1,$(check_p_c + # testsuites like objc or go. + $(lang_checks_parallelized): check-% : site.exp + -rm -rf $(TESTSUITEDIR)/$*-parallel +- @if [ -n "$(filter -j%, $(MFLAGS))" ]; then \ ++ @case "$*" in \ ++ (gnat*|gm2*) rtflags=$$(printf '%s' '$(RUNTESTFLAGS)' | sed -E 's/,-m[a-z2-6=]+//g');; \ ++ (*) rtflags=$(RUNTESTFLAGS);; \ ++ esac; \ ++ echo "CHECK TARGET: $* -> $$rtflags"; \ ++ if [ -n "$(filter -j%, $(MFLAGS))" ]; then \ + test -d $(TESTSUITEDIR) || mkdir $(TESTSUITEDIR) || true; \ + test -d $(TESTSUITEDIR)/$*-parallel || mkdir $(TESTSUITEDIR)/$*-parallel || true; \ + GCC_RUNTEST_PARALLELIZE_DIR=`${PWD_COMMAND}`/$(TESTSUITEDIR)/$(check_p_tool)-parallel ; \ + export GCC_RUNTEST_PARALLELIZE_DIR ; \ +- $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$(RUNTESTFLAGS)" \ ++ $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$$rtflags" \ + EXPECT=$(EXPECT) \ + check-parallel-$* \ + $(patsubst %,check-parallel-$*_%, $(check_p_subdirs)); \ +@@ -4398,7 +4408,7 @@ $(lang_checks_parallelized): check-% : s + > $(TESTSUITEDIR)/$*/$*.log; \ + rm -rf $(TESTSUITEDIR)/$*-parallel || true; \ + else \ +- $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$(RUNTESTFLAGS)" \ ++ $(MAKE) TESTSUITEDIR="$(TESTSUITEDIR)" RUNTESTFLAGS="$$rtflags" \ + EXPECT=$(EXPECT) \ + check_$*_parallelize= check-parallel-$*; \ + fi +@@ -4424,7 +4434,12 @@ check-parallel-% : site.exp + TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \ + export TCL_LIBRARY ; \ + fi ; \ +- $(RUNTEST) --tool $(check_p_tool) $(RUNTESTFLAGS); \ ++ case "$*" in \ ++ (gnat*|gm2*) rtflags=$$(printf '%s' '$(RUNTESTFLAGS)' | sed -E 's/,-m[a-z2-6=]+//g');; \ ++ (*) rtflags=$(RUNTESTFLAGS);; \ ++ esac; \ ++ echo "CHECK TARGET: $* -> $$rtflags"; \ ++ $(RUNTEST) --tool $(check_p_tool) $$rtflags; \ + if [ -n "$$GCC_RUNTEST_PARALLELIZE_DIR" ] ; then \ + touch $${rootme}/$(TESTSUITEDIR)/$(check_p_tool)-parallel/finished; \ + fi ; \ diff --git a/patches/gcc-search-prefixed-as-ld.diff b/patches/gcc-search-prefixed-as-ld.diff new file mode 100644 index 0000000..240fc79 --- /dev/null +++ b/patches/gcc-search-prefixed-as-ld.diff @@ -0,0 +1,37 @@ +# DP: Search for the -as / -ld before serching for as / ld. + +--- a/src/gcc/gcc.cc ++++ b/src/gcc/gcc.cc +@@ -2943,6 +2943,7 @@ for_each_path (const struct path_prefix + { + len = paths->max_len + extra_space + 1; + len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len); ++ len += MAX (strlen(DEFAULT_REAL_TARGET_MACHINE), multiarch_len) + 2; /* triplet prefix for as, ld. */ + path = XNEWVEC (char, len); + } + +@@ -3156,6 +3157,24 @@ file_at_path (char *path, void *data) + struct file_at_path_info *info = (struct file_at_path_info *) data; + size_t len = strlen (path); + ++ /* search for the -as / -ld first. */ ++ if (! strcmp (info->name, "as") || ! strcmp (info->name, "ld")) ++ { ++ struct file_at_path_info prefix_info = *info; ++ char *prefixed_name = XNEWVEC (char, info->name_len + 2 ++ + strlen (DEFAULT_REAL_TARGET_MACHINE)); ++ strcpy (prefixed_name, DEFAULT_REAL_TARGET_MACHINE); ++ strcat (prefixed_name, "-"); ++ strcat (prefixed_name, info->name); ++ prefix_info.name = (const char *) prefixed_name; ++ prefix_info.name_len = strlen (prefixed_name); ++ if (file_at_path (path, &prefix_info)) ++ { ++ XDELETEVEC (prefixed_name); ++ return path; ++ } ++ XDELETEVEC (prefixed_name); ++ } + memcpy (path + len, info->name, info->name_len); + len += info->name_len; + diff --git a/patches/gcc-target-include-asm.diff b/patches/gcc-target-include-asm.diff new file mode 100644 index 0000000..d383d05 --- /dev/null +++ b/patches/gcc-target-include-asm.diff @@ -0,0 +1,13 @@ +# DP: Search $(builddir)/sys-include for the asm header files + +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3631,7 +3631,7 @@ fi + # being built; programs in there won't even run. + if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then + # Search for pre-installed headers if nothing else fits. +- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include' ++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -isystem $(CURDIR)/sys-include' + fi + + if test "x${use_gnu_ld}" = x && diff --git a/patches/gcc-textdomain.diff b/patches/gcc-textdomain.diff new file mode 100644 index 0000000..757a7bd --- /dev/null +++ b/patches/gcc-textdomain.diff @@ -0,0 +1,86 @@ +# DP: Set gettext's domain and textdomain to the versioned package name. + +--- a/src/gcc/intl.cc ++++ b/src/gcc/intl.cc +@@ -55,8 +55,8 @@ gcc_init_libintl (void) + setlocale (LC_ALL, ""); + #endif + +- (void) bindtextdomain ("gcc", LOCALEDIR); +- (void) textdomain ("gcc"); ++ (void) bindtextdomain ("gcc-14", LOCALEDIR); ++ (void) textdomain ("gcc-14"); + + /* Opening quotation mark. */ + open_quote = _("`"); +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4516,8 +4516,8 @@ install-po: + dir=$(localedir)/$$lang/LC_MESSAGES; \ + echo $(mkinstalldirs) $(DESTDIR)$$dir; \ + $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-14.mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-14.mo; \ + done + + # Rule for regenerating the message template (gcc.pot). +--- a/src/libcpp/init.cc ++++ b/src/libcpp/init.cc +@@ -183,7 +183,7 @@ init_library (void) + init_trigraph_map (); + + #ifdef ENABLE_NLS +- (void) bindtextdomain (PACKAGE, LOCALEDIR); ++ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR); + #endif + } + } +--- a/src/libcpp/system.h ++++ b/src/libcpp/system.h +@@ -284,7 +284,7 @@ extern int errno; + #endif + + #ifndef _ +-# define _(msgid) dgettext (PACKAGE, msgid) ++# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid) + #endif + + #ifndef N_ +--- a/src/libcpp/Makefile.in ++++ b/src/libcpp/Makefile.in +@@ -49,6 +49,7 @@ LDFLAGS = @LDFLAGS@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ + PACKAGE = @PACKAGE@ ++PACKAGE_SUFFIX = -14 + RANLIB = @RANLIB@ + SHELL = @SHELL@ + USED_CATALOGS = @USED_CATALOGS@ +@@ -73,11 +74,12 @@ depcomp = $(SHELL) $(srcdir)/../depcomp + + INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \ + -I$(srcdir)/include ++DEBCPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\" + + ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) \ +- $(CET_HOST_FLAGS) ++ $(CET_HOST_FLAGS) $(DEBCPPFLAGS) + ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \ +- $(CPPFLAGS) $(PICFLAG) $(CET_HOST_FLAGS) ++ $(CPPFLAGS) $(PICFLAG) $(CET_HOST_FLAGS) $(DEBCPPFLAGS) + + # The name of the compiler to use. + COMPILER = $(CXX) +@@ -166,8 +168,8 @@ install-strip install: all installdirs + else continue; \ + fi; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ +- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ +- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ ++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \ + done + + mostlyclean: diff --git a/patches/gcc-verbose-lto-link.diff b/patches/gcc-verbose-lto-link.diff new file mode 100644 index 0000000..46cf1a4 --- /dev/null +++ b/patches/gcc-verbose-lto-link.diff @@ -0,0 +1,13 @@ +# DP: Prefix LLINKER with /usr/bin/time -v + +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -312,7 +312,7 @@ LINKER += $(LD_PICFLAG) + ifeq (@DO_LINK_MUTEX@,true) + LLINKER = $(SHELL) $(srcdir)/lock-and-run.sh linkfe.lck $(LINKER) + else +-LLINKER = $(LINKER) ++LLINKER = /usr/bin/time -v $(LINKER) + endif + + THIN_ARCHIVE_SUPPORT = @thin_archive_support@ diff --git a/patches/gcc-vhdl.diff b/patches/gcc-vhdl.diff new file mode 100644 index 0000000..900d289 --- /dev/null +++ b/patches/gcc-vhdl.diff @@ -0,0 +1,15 @@ +# DP: Make vhdl known to the PPC backend. See +# DP: https://github.com/ghdl/ghdl/blob/master/doc/development/building/GCC.rst + +--- a/src/gcc/config/rs6000/rs6000-logue.cc ++++ b/src/gcc/config/rs6000/rs6000-logue.cc +@@ -5341,7 +5341,8 @@ rs6000_output_function_epilogue (FILE *f + || ! strcmp (language_string, "GNU Go") + || ! strcmp (language_string, "GNU D") + || ! strcmp (language_string, "GNU Rust") +- || ! strcmp (language_string, "libgccjit")) ++ || ! strcmp (language_string, "libgccjit") ++ || ! strcmp (language_string, "vhdl")) + i = 0; + else if (! strcmp (language_string, "GNU F77") + || lang_GNU_Fortran ()) diff --git a/patches/gccrs-bootstrap-mipsel.diff b/patches/gccrs-bootstrap-mipsel.diff new file mode 100644 index 0000000..f6f4803 --- /dev/null +++ b/patches/gccrs-bootstrap-mipsel.diff @@ -0,0 +1,12 @@ +# DP: Ignore gccrs bootstrap comparison failures on mipsel. + +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -4009,6 +4009,7 @@ compare_exclusions="$compare_exclusions + compare_exclusions="$compare_exclusions | gcc/m2/gm2version*" + case "$target" in + hppa*64*-*-hpux*) ;; ++ mipsel-*linux-gnu) compare_exclusions="$compare_exclusions | gcc/rust/rust-macro-builtins.o | gcc/rust/rust-session-manager.o | gcc/rust/rust-cfg-parser.o | gcc/rust/rust-lex.o" ;; + powerpc*-ibm-aix*) compare_exclusions="$compare_exclusions | *libgomp*\$(objext)" ;; + esac + AC_SUBST(compare_exclusions) diff --git a/patches/gdc-dynamic-link-phobos.diff b/patches/gdc-dynamic-link-phobos.diff new file mode 100644 index 0000000..f8ccec9 --- /dev/null +++ b/patches/gdc-dynamic-link-phobos.diff @@ -0,0 +1,17 @@ +# DP: Dynamically link the phobos library. + +--- a/src/gcc/d/d-spec.cc ++++ b/src/gcc/d/d-spec.cc +@@ -426,9 +426,9 @@ lang_specific_driver (cl_decoded_option + /* Add `-lgphobos' if we haven't already done so. */ + if (phobos_library != PHOBOS_NOLINK) + { +- /* Default to static linking. */ +- if (phobos_library != PHOBOS_DYNAMIC) +- phobos_library = PHOBOS_STATIC; ++ /* Default to dynamic linking. */ ++ if (phobos_library != PHOBOS_STATIC) ++ phobos_library = PHOBOS_DYNAMIC; + + #ifdef HAVE_LD_STATIC_DYNAMIC + if (phobos_library == PHOBOS_STATIC && !static_link) diff --git a/patches/gdc-multiarch.diff b/patches/gdc-multiarch.diff new file mode 100644 index 0000000..1925e1a --- /dev/null +++ b/patches/gdc-multiarch.diff @@ -0,0 +1,17 @@ +# DP: Set the D target include directory to a multiarch location. + +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -61,7 +61,11 @@ + $(D_DMD_H) + + +-gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical) ++ifneq (,$(MULTIARCH_DIRNAME)) ++ gcc_d_target_include_dir = /usr/include/$(MULTIARCH_DIRNAME)/d/$(version) ++else ++ gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical) ++endif + + # Name of phobos library + D_LIBPHOBOS = -DLIBPHOBOS=\"gphobos2\" diff --git a/patches/gdc-texinfo.diff b/patches/gdc-texinfo.diff new file mode 100644 index 0000000..a024daf --- /dev/null +++ b/patches/gdc-texinfo.diff @@ -0,0 +1,53 @@ +# DP: Add macros for the gdc texinfo documentation. + +--- a/src/gcc/d/gdc.texi ++++ b/src/gcc/d/gdc.texi +@@ -45,6 +45,22 @@ man page gfdl(7). + @insertcopying + @end ifinfo + ++@macro versionsubtitle ++@ifclear DEVELOPMENT ++@subtitle For @sc{gcc} version @value{version-GCC} ++@end ifclear ++@ifset DEVELOPMENT ++@subtitle For @sc{gcc} version @value{version-GCC} (pre-release) ++@end ifset ++@ifset VERSION_PACKAGE ++@sp 1 ++@subtitle @value{VERSION_PACKAGE} ++@end ifset ++@c Even if there are no authors, the second titlepage line should be ++@c forced to the bottom of the page. ++@vskip 0pt plus 1filll ++@end macro ++ + @titlepage + @title The GNU D Compiler + @versionsubtitle +@@ -123,6 +139,25 @@ This manual only documents the options s + * Developer Options:: Options useful for developers of gdc + @end menu + ++@macro gcctabopt{body} ++@code{\body\} ++@end macro ++@macro gccoptlist{body} ++@smallexample ++\body\ ++@end smallexample ++@end macro ++@c Makeinfo handles the above macro OK, TeX needs manual line breaks; ++@c they get lost at some point in handling the macro. But if @macro is ++@c used here rather than @alias, it produces double line breaks. ++@iftex ++@alias gol = * ++@end iftex ++@ifnottex ++@macro gol ++@end macro ++@end ifnottex ++ + @c man begin OPTIONS + + @node Input and Output files diff --git a/patches/git-doc-updates.diff b/patches/git-doc-updates.diff new file mode 100644 index 0000000..51d65e7 --- /dev/null +++ b/patches/git-doc-updates.diff @@ -0,0 +1,600 @@ +# DP: updates from the 14 branch upto 20250212 (documentation). + +LANG=C git diff --no-renames --src-prefix=a/src/ --dst-prefix=b/src/ \ + 04696df09633baf97cdbbdd6e9929b9d472161d3 0075e4a8428d056d63724c3b8a48350c0d596613 \ + | awk '/^diff .*\.texi/ {skip=0; print; next} /^diff / {skip=1; next} skip==0' \ + | grep -v -E '^(diff|index)' + +--- a/src/gcc/doc/cpp.texi ++++ b/src/gcc/doc/cpp.texi +@@ -1971,7 +1971,7 @@ like this: + #if __GNUC__ > 3 || \ + (__GNUC__ == 3 && (__GNUC_MINOR__ > 2 || \ + (__GNUC_MINOR__ == 2 && \ +- __GNUC_PATCHLEVEL__ > 0)) ++ __GNUC_PATCHLEVEL__ > 0))) + @end smallexample + + @noindent +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -13219,16 +13219,11 @@ builtins (@pxref{__atomic Builtins}). They should not be used for new + code which should use the @samp{__atomic} builtins instead. + + Not all operations are supported by all target processors. If a particular +-operation cannot be implemented on the target processor, a warning is +-generated and a call to an external function is generated. The external +-function carries the same name as the built-in version, +-with an additional suffix ++operation cannot be implemented on the target processor, a call to an ++external function is generated. The external function carries the same name ++as the built-in version, with an additional suffix + @samp{_@var{n}} where @var{n} is the size of the data type. + +-@c ??? Should we have a mechanism to suppress this warning? This is almost +-@c useful for implementing the operation under the control of an external +-@c mutex. +- + In most cases, these built-in functions are considered a @dfn{full barrier}. + That is, + no memory operand is moved across the operation, either forward or +--- a/src/gcc/doc/gm2.texi ++++ b/src/gcc/doc/gm2.texi +@@ -291,7 +291,7 @@ This manual only documents the options specific to @command{gm2}. + + This section describes how to compile and link a simple hello world + program. It provides a few examples of using the different options +-mentioned in @pxref{Compiler options, , ,gm2}. Assuming that you have ++mentioned in @pxref{Compiler options}. Assuming that you have + a file called @file{hello.mod} in your current directory which + contains: + +@@ -442,7 +442,7 @@ turn on ISO standard features. Currently this enables the ISO + @code{SYSTEM} module and alters the default library search path so + that the ISO libraries are searched before the PIM libraries. It also + effects the behavior of @code{DIV} and @code{MOD} operators. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -flibs= + modifies the default library search path. The libraries supplied are: +@@ -529,30 +529,30 @@ turn on PIM standard features. Currently this enables the PIM + @code{SYSTEM} module and determines which identifiers are pervasive + (declared in the base module). If no other @samp{-fpim[234]} switch is + used then division and modulus operators behave as defined in PIM4. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -fpim2 + turn on PIM-2 standard features. Currently this removes @code{SIZE} + from being a pervasive identifier (declared in the base module). It + places @code{SIZE} in the @code{SYSTEM} module. It also effects the + behavior of @code{DIV} and @code{MOD} operators. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -fpim3 + turn on PIM-3 standard features. Currently this only effects the + behavior of @code{DIV} and @code{MOD} operators. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -fpim4 + turn on PIM-4 standard features. Currently this only effects the + behavior of @code{DIV} and @code{MOD} operators. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -fpositive-mod-floor-div + forces the @code{DIV} and @code{MOD} operators to behave as defined by PIM4. + All modulus results are positive and the results from the division are + rounded to the floor. +-@xref{Dialect, , ,gm2}. ++@xref{Dialect}. + + @item -fpthread + link against the pthread library. By default this option is on. It +@@ -847,8 +847,8 @@ LONGCOMPLEX complex long double + + Note that GNU Modula-2 also supports fixed sized data types which are + exported from the @code{SYSTEM} module. +-@xref{The PIM system module, , ,gm2}. +-@xref{The ISO system module, , ,gm2}. ++@xref{The PIM system module}. ++@xref{The ISO system module}. + + @node Standard procedures, High procedure function, Elementary data types, Using + @section Permanently accessible base procedures. +@@ -1599,7 +1599,7 @@ This section introduces the GNU Modula-2 language extensions. + The GNU Modula-2 compiler allows abstract data types to be any type, + not just restricted to a pointer type providing the + @samp{-fextended-opaque} option is supplied +-@xref{Compiler options, , ,gm2}. ++@xref{Compiler options}. + + Declarations can be made in any order, whether they are + types, constants, procedures, nested modules or variables. +@@ -1800,8 +1800,8 @@ program module. + + GNU Modula-2 also provides additional fixed sized data types which + are all exported from the @code{SYSTEM} module. +-@xref{The PIM system module, , ,gm2}. +-@xref{The ISO system module, , ,gm2}. ++@xref{The PIM system module}. ++@xref{The ISO system module}. + + @node Type compatibility, Unbounded by reference, Extensions, Using + @section Type compatibility +@@ -2176,7 +2176,7 @@ $ python3 testnum.py + 1234 x 2 = 2468 + @end example + +-@xref{Producing a Python module, , ,gm2} for another example which ++@xref{Producing a Python module} for another example which + uses the @code{UNQUALIFIED} keyword to reduce the module name clutter + from the viewport of Python3. + +@@ -2906,9 +2906,9 @@ you wish to see something different please email + @node Documentation, Regression tests, Release map, Using + @section Documentation + +-The GNU Modula-2 documentation is available on line +-@url{https://gcc.gnu.org/onlinedocs} +-or in the pdf, info, html file format. ++The GNU Modula-2 documentation is available online at ++@url{https://gcc.gnu.org/onlinedocs/} ++in the PDF, info, and HTML file formats. + + @node Regression tests, Limitations, Documentation, Using + @section Regression tests for gm2 in the repository +--- a/src/gcc/doc/install.texi ++++ b/src/gcc/doc/install.texi +@@ -336,6 +336,10 @@ environment to your ``good'' shell prior to running + @command{zsh} is not a fully compliant POSIX shell and will not + work when configuring GCC@. + ++@item GNU flex ++ ++Necessary to build the lexical analysis module. ++ + @item A POSIX or SVR4 awk + + Necessary for creating some of the generated source files for GCC@. +@@ -463,6 +467,12 @@ is shown below: + @item g++ testsuite + @code{gcov}, @code{gzip}, @code{json}, @code{os} and @code{pytest}. + ++@item SARIF testsuite ++Tests of SARIF output will use the @code{check-jsonschema} program from ++the @code{check-jsonschema} module (if available) to validate generated ++.sarif files. If this tool is not found, the validation parts of those ++tests are skipped. ++ + @item c++ cxx api generation + @code{csv}, @code{os}, @code{sys} and @code{time}. + +@@ -1106,7 +1116,7 @@ yielding a slightly slower compiler (but faster than + at random addresses each time they are executed, therefore provide additional + protection against Return Oriented Programming (ROP) attacks. + +-@option{--enable-host-pie}) may be used with @option{--enable-host-shared}), ++@option{--enable-host-pie} may be used with @option{--enable-host-shared}, + in which case @option{-fPIC} is used when compiling, and @option{-pie} when + linking. + +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -17471,8 +17471,10 @@ the available options are shown at startup of the instrumented program. See + @url{https://github.com/google/sanitizers/wiki/AddressSanitizerFlags#run-time-flags} + for a list of supported options. + The option cannot be combined with @option{-fsanitize=thread} or +-@option{-fsanitize=hwaddress}. Note that the only target +-@option{-fsanitize=hwaddress} is currently supported on is AArch64. ++@option{-fsanitize=hwaddress}. Note that the only targets ++@option{-fsanitize=hwaddress} is currently supported on are x86-64 ++(only with @code{-mlam=u48} or @code{-mlam=u57} options) and AArch64, ++in both cases only in ABIs with 64-bit pointers. + + To get more accurate stack traces, it is possible to use options such as + @option{-O0}, @option{-O1}, or @option{-Og} (which, for instance, prevent +@@ -21324,13 +21326,14 @@ performance of the code. Permissible values for this option are: + @samp{cortex-a78}, @samp{cortex-a78ae}, @samp{cortex-a78c}, + @samp{ares}, @samp{exynos-m1}, @samp{emag}, @samp{falkor}, + @samp{neoverse-512tvb}, @samp{neoverse-e1}, @samp{neoverse-n1}, +-@samp{neoverse-n2}, @samp{neoverse-v1}, @samp{neoverse-v2}, @samp{grace}, ++@samp{neoverse-n2}, @samp{neoverse-n3}, @samp{neoverse-v1}, @samp{neoverse-v2}, ++@samp{neoverse-v3}, @samp{neoverse-v3ae}, @samp{grace}, + @samp{qdf24xx}, @samp{saphira}, @samp{phecda}, @samp{xgene1}, @samp{vulcan}, + @samp{octeontx}, @samp{octeontx81}, @samp{octeontx83}, + @samp{octeontx2}, @samp{octeontx2t98}, @samp{octeontx2t96} + @samp{octeontx2t93}, @samp{octeontx2f95}, @samp{octeontx2f95n}, + @samp{octeontx2f95mm}, +-@samp{a64fx}, ++@samp{a64fx}, @samp{fujitsu-monaka}, + @samp{thunderx}, @samp{thunderxt88}, + @samp{thunderxt88p1}, @samp{thunderxt81}, @samp{tsv110}, + @samp{thunderxt83}, @samp{thunderx2t99}, @samp{thunderx3t110}, @samp{zeus}, +@@ -21338,9 +21341,10 @@ performance of the code. Permissible values for this option are: + @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, + @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55}, + @samp{cortex-r82}, @samp{cortex-x1}, @samp{cortex-x1c}, @samp{cortex-x2}, +-@samp{cortex-x3}, @samp{cortex-x4}, @samp{cortex-a510}, @samp{cortex-a520}, +-@samp{cortex-a710}, @samp{cortex-a715}, @samp{cortex-a720}, @samp{ampere1}, +-@samp{ampere1a}, @samp{ampere1b}, @samp{cobalt-100} and @samp{native}. ++@samp{cortex-x3}, @samp{cortex-x4}, @samp{cortex-x925}, @samp{cortex-a510}, ++@samp{cortex-a520}, @samp{cortex-a710}, @samp{cortex-a715}, @samp{cortex-a720}, ++@samp{cortex-a725}, @samp{ampere1}, @samp{ampere1a}, @samp{ampere1b}, ++@samp{cobalt-100} and @samp{native}. + + The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, + @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, +@@ -31321,7 +31325,7 @@ Supported values for @var{cpu_type} are @samp{401}, @samp{403}, + @samp{e6500}, @samp{ec603e}, @samp{G3}, @samp{G4}, @samp{G5}, + @samp{titan}, @samp{power3}, @samp{power4}, @samp{power5}, @samp{power5+}, + @samp{power6}, @samp{power6x}, @samp{power7}, @samp{power8}, +-@samp{power9}, @samp{power10}, @samp{powerpc}, @samp{powerpc64}, ++@samp{power9}, @samp{power10}, @samp{power11}, @samp{powerpc}, @samp{powerpc64}, + @samp{powerpc64le}, @samp{rs64}, and @samp{native}. + + @option{-mcpu=powerpc}, @option{-mcpu=powerpc64}, and +@@ -34315,6 +34319,7 @@ Intel Core 2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, CX16, + SAHF and FXSR instruction set support. + + @item nehalem ++@itemx corei7 + Intel Nehalem CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF and FXSR instruction set support. + +@@ -34323,17 +34328,20 @@ Intel Westmere CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR and PCLMUL instruction set support. + + @item sandybridge ++@itemx corei7-avx + Intel Sandy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE and PCLMUL instruction set + support. + + @item ivybridge ++@itemx core-avx-i + Intel Ivy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND + and F16C instruction set support. + + @item haswell +-Intel Haswell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, ++@itemx core-avx2 ++Intel Haswell CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, + F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE and HLE instruction set support. + +@@ -34349,74 +34357,6 @@ SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, + F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, + CLFLUSHOPT, XSAVEC, XSAVES and SGX instruction set support. + +-@item bonnell +-Intel Bonnell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3 +-instruction set support. +- +-@item silvermont +-Intel Silvermont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW and RDRND +-instruction set support. +- +-@item goldmont +-Intel Goldmont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, SHA, +-RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT and FSGSBASE instruction +-set support. +- +-@item goldmont-plus +-Intel Goldmont Plus CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, +-SHA, RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT, FSGSBASE, PTWRITE, +-RDPID and SGX instruction set support. +- +-@item tremont +-Intel Tremont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, SHA, +-RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT, FSGSBASE, PTWRITE, RDPID, +-SGX, CLWB, GFNI-SSE, MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG instruction set +-support. +- +-@item sierraforest +-Intel Sierra Forest CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, +-XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, +-MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, +-PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set +-support. +- +-@item grandridge +-Intel Grand Ridge CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, +-XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, +-MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, +-PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set +-support. +- +-@item clearwaterforest +-Intel Clearwater Forest CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, +-SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, +-XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, +-MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, +-LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-ENQCMD, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, +-SHA512, SM3, SM4, USER_MSR and PREFETCHI instruction set support. +- +-@item knl +-Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, +-RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, +-AVX512PF, AVX512ER, AVX512F, AVX512CD and PREFETCHWT1 instruction set support. +- +-@item knm +-Intel Knights Mill CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, +-RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, +-AVX512PF, AVX512ER, AVX512F, AVX512CD and PREFETCHWT1, AVX5124VNNIW, +-AVX5124FMAPS and AVX512VPOPCNTDQ instruction set support. +- + @item skylake-avx512 + Intel Skylake Server CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, +@@ -34424,16 +34364,30 @@ RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, CLWB, AVX512VL, AVX512BW, + AVX512DQ and AVX512CD instruction set support. + ++@item cascadelake ++Intel Cascade Lake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, ++F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, ++CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, ++AVX512CD and AVX512VNNI instruction set support. ++ + @item cannonlake +-Intel Cannonlake Server CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, ++Intel Cannon Lake Server CPU with 64-bit extensions, MMX, SSE, SSE2, + SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, + FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, + PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, + AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA and SHA instruction set + support. + ++@item cooperlake ++Intel Cooper Lake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, ++F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, ++CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, ++AVX512CD, AVX512VNNI and AVX512BF16 instruction set support. ++ + @item icelake-client +-Intel Icelake Client CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++Intel Ice Lake Client CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, + RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +@@ -34441,7 +34395,7 @@ AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2 + , VPCLMULQDQ, AVX512BITALG, RDPID and AVX512VPOPCNTDQ instruction set support. + + @item icelake-server +-Intel Icelake Server CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++Intel Ice Lake Server CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, + RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +@@ -34449,22 +34403,8 @@ AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2 + , VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD and CLWB + instruction set support. + +-@item cascadelake +-Intel Cascadelake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, +-F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, +-CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, +-AVX512CD and AVX512VNNI instruction set support. +- +-@item cooperlake +-Intel cooperlake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, +-F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, +-CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, +-AVX512CD, AVX512VNNI and AVX512BF16 instruction set support. +- + @item tigerlake +-Intel Tigerlake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, ++Intel Tiger Lake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, + SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, + F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, + CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD +@@ -34472,35 +34412,67 @@ PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, + VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, MOVDIRI, MOVDIR64B, CLWB, + AVX512VP2INTERSECT and KEYLOCKER instruction set support. + +-@item sapphirerapids +-Intel sapphirerapids CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, +-RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, +-AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +-AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, +-VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, +-MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, +-UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16 and AVX512BF16 +-instruction set support. +- +-@item alderlake +-Intel Alderlake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, +-SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, +-XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, +-CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, +-VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL and AVX-VNNI instruction set +-support. +- + @item rocketlake +-Intel Rocketlake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 +-, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, ++Intel Rocket Lake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, + F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, + CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD + PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, + VPCLMULQDQ, AVX512BITALG, RDPID and AVX512VPOPCNTDQ instruction set support. + ++@item alderlake ++@itemx raptorlake ++@itemx meteorlake ++@itemx gracemont ++Intel Alder Lake/Raptor Lake/Meteor Lake/Gracemont CPU with 64-bit extensions, ++MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, ++PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, ++GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, ++BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, ++WIDEKL and AVX-VNNI instruction set support. ++ ++@item arrowlake ++Intel Arrow Lake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, ++XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, ++MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, ++PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ++UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT and CMPCCXADD instruction set ++support. ++ ++@item arrowlake-s ++@itemx lunarlake ++Intel Arrow Lake S/Lunar Lake CPU with 64-bit extensions, MOVBE, MMX, SSE, ++SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, ++XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, ++MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, ++LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ++UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, ++SM3 and SM4 instruction set support. ++ ++@item pantherlake ++Intel Panther Lake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, ++XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, ++MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, ++PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ++UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, ++SM3, SM4 and PREFETCHI instruction set support. ++ ++@item sapphirerapids ++@itemx emeraldrapids ++Intel Sapphire Rapids/Emerald Rapids CPU with 64-bit extensions, MMX, SSE, ++SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, ++FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, ++PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, ++AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, ++AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, ++WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, ++SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16 ++and AVX512BF16 instruction set support. ++ + @item graniterapids +-Intel graniterapids CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++Intel Granite Rapids CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, + RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +@@ -34511,7 +34483,7 @@ UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, AVX512BF16, AMX-FP16 + and PREFETCHI instruction set support. + + @item graniterapids-d +-Intel graniterapids D CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++Intel Granite Rapids D CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, + RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, + AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, +@@ -34521,32 +34493,75 @@ MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, + UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, + PREFETCHI and AMX-COMPLEX instruction set support. + +-@item arrowlake +-Intel Arrow Lake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, +-SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, +-XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, +-MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, +-PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT and CMPCCXADD instruction set ++@item bonnell ++@itemx atom ++Intel Bonnell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3 ++instruction set support. ++ ++@item silvermont ++@itemx slm ++Intel Silvermont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW and RDRND ++instruction set support. ++ ++@item goldmont ++Intel Goldmont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, SHA, ++RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT and FSGSBASE instruction ++set support. ++ ++@item goldmont-plus ++Intel Goldmont Plus CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, ++SHA, RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT, FSGSBASE, PTWRITE, ++RDPID and SGX instruction set support. ++ ++@item tremont ++Intel Tremont CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, ++SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, PCLMUL, PREFETCHW, RDRND, AES, SHA, ++RDSEED, XSAVE, XSAVEC, XSAVES, XSAVEOPT, CLFLUSHOPT, FSGSBASE, PTWRITE, RDPID, ++SGX, CLWB, GFNI-SSE, MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG instruction set + support. + +-@item arrowlake-s +-Intel Arrow Lake S CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++@item sierraforest ++Intel Sierra Forest CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, + XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, + MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, + PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, +-SM3 and SM4 instruction set support. ++AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set ++support. + +-@item pantherlake +-Intel Panther Lake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++@item grandridge ++Intel Grand Ridge CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, + SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, + XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, + MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, + PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, +-UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, +-SM3, SM4 and PREFETCHI instruction set support. ++AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set ++support. ++ ++@item clearwaterforest ++Intel Clearwater Forest CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, ++SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, ++XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, ++MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, ++LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ++ENQCMD, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, ++SHA512, SM3, SM4, USER_MSR and PREFETCHI instruction set support. ++ ++@item knl ++Intel Knights Landing CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, ++RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, ++AVX512PF, AVX512ER, AVX512F, AVX512CD and PREFETCHWT1 instruction set support. ++ ++@item knm ++Intel Knights Mill CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, ++SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, ++RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, ++AVX512PF, AVX512ER, AVX512F, AVX512CD and PREFETCHWT1, AVX5124VNNIW, ++AVX5124FMAPS and AVX512VPOPCNTDQ instruction set support. + + @item k6 + AMD K6 CPU with MMX instruction set support. diff --git a/patches/git-updates.diff b/patches/git-updates.diff new file mode 100644 index 0000000..377b07d --- /dev/null +++ b/patches/git-updates.diff @@ -0,0 +1,673307 @@ +# DP: updates from the 14 branch upto 20250212 (0075e4a8428). + +LANG=C git diff --no-renames --src-prefix=a/src/ --dst-prefix=b/src/ \ + 04696df09633baf97cdbbdd6e9929b9d472161d3 0075e4a8428d056d63724c3b8a48350c0d596613 \ + | awk '/^diff .*\.texi/ {skip=1; next} /^diff / { skip=0 } skip==0' \ + | grep -v -E '^(diff|index)' + +--- a/src/gcc/ChangeLog ++++ b/src/gcc/ChangeLog +@@ -1,3 +1,2222 @@ ++2025-02-11 H.J. Lu ++ ++ Backported from master: ++ 2025-02-11 H.J. Lu ++ ++ PR target/118825 ++ * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Replace x with ++ SYM. ++ ++2025-02-11 Haochen Jiang ++ ++ PR target/118813 ++ * config/i386/avx512bwintrin.h: Fix wrong __OPTIMIZE__ ++ wrap. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-02-08 Jakub Jelinek ++ ++ PR target/118776 ++ * config/i386/sse.md (3_mask): Use VI1248_AVX512VLBW ++ iterator rather than VI48_AVX512VL. ++ (3): Rename to ... ++ (*avx512bw_3): ... this. Use ++ nonimmediate_operand rather than register_operand predicate and %v ++ rather than v constraint for operand 1 and adjust condition to reject ++ MEMs in both operand 1 and 2. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-02-06 Jakub Jelinek ++ ++ PR rtl-optimization/117506 ++ * loop-iv.cc (get_biv_step_1): For {ZERO,SIGN}_EXTEND ++ of PLUS apply {ZERO,SIGN}_EXTEND to op1. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-31 Jakub Jelinek ++ ++ PR ipa/117432 ++ * ipa-icf-gimple.cc (func_checker::compare_asm_inputs_outputs): ++ Also return_false if operands have incompatible types. ++ (func_checker::compare_gimple_call): Check fntype1 vs. fntype2 ++ compatibility for all non-internal calls and assume fntype1 and ++ fntype2 are non-NULL for those. For calls to non-prototyped ++ calls or for stdarg_p functions after the last named argument (if any) ++ check type compatibility of call arguments. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-31 Jakub Jelinek ++ ++ PR tree-optimization/118689 ++ PR modula2/115032 ++ * tree-ssa-loop-niter.cc (build_cltz_expr): Return NULL_TREE if fn is ++ NULL and use_ifn is false. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-28 Jakub Jelinek ++ ++ PR rtl-optimization/118638 ++ * combine.cc (make_extraction): Only optimize (mult x 2^n) if len is ++ larger than 1. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-23 Jakub Jelinek ++ ++ PR tree-optimization/118605 ++ * tree-assume.cc (assume_query::m_parm_list): Change type ++ from bitmap & to bitmap. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-23 Jakub Jelinek ++ ++ PR middle-end/114877 ++ * builtins.cc (fold_builtin_frexp): Handle rvc_nan and rvc_inf cases ++ like rvc_zero, return passed in arg and set *exp = 0. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-17 Jakub Jelinek ++ ++ PR tree-optimization/118522 ++ * match.pd ((FTYPE) N CMP (FTYPE) M): Add convert, as in GENERIC ++ integral types with the same precision and sign might actually not ++ be compatible types. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-16 Jakub Jelinek ++ ++ PR ipa/118400 ++ * vec.h (vec::release): Call m_vec->truncate (0) ++ instead of clearing m_vec->m_vecpfx.m_num. ++ ++2025-02-06 Lulu Cheng ++ ++ Backported from master: ++ 2025-02-06 Lulu Cheng ++ ++ PR target/118561 ++ * config/loongarch/loongarch-builtins.cc ++ (loongarch_expand_builtin_lsx_test_branch): ++ NULL_RTX will not be returned when an error is detected. ++ (loongarch_expand_builtin): Likewise. ++ ++2025-02-05 Sebastian Huber ++ ++ Backported from master: ++ 2025-02-05 Sebastian Huber ++ ++ * config/arm/t-rtems: Add Cortex-M33 multilib. ++ ++2025-02-03 Lewis Hyatt ++ ++ PR middle-end/115913 ++ * optc-save-gen.awk (cl_optimization_compare): Skip options with ++ CL_WARNING flag. ++ ++2025-01-28 Tamar Christina ++ ++ Backported from master: ++ 2025-01-16 Tamar Christina ++ ++ PR target/110901 ++ * config/aarch64/aarch64.h (MCPU_TO_MARCH_SPEC): Don't override if ++ march is set. ++ ++2025-01-28 Tamar Christina ++ ++ Backported from master: ++ 2025-01-16 Tamar Christina ++ Richard Sandiford ++ ++ PR target/113257 ++ * config/aarch64/driver-aarch64.cc (get_cpu_from_id, DEFAULT_CPU): New. ++ (host_detect_local_cpu): Use it. ++ ++2025-01-28 Ilya Leoshkevich ++ ++ Backported from master: ++ 2025-01-26 Ilya Leoshkevich ++ ++ * asan.cc (asan_emit_stack_protection): Always zero the flag ++ unless it is cleared by the __asan_stack_free_N() libcall. ++ ++2025-01-24 Peter Bergner ++ ++ Backported from master: ++ 2025-01-16 Peter Bergner ++ ++ * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Return ++ const0_rtx when there is an error. ++ ++2025-01-24 Peter Bergner ++ ++ Backported from master: ++ 2025-01-16 Peter Bergner ++ ++ * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Use correct ++ array size for the loop limit. ++ * config/rs6000/rs6000-builtins.def: Fix field size for PMASK operand. ++ ++2025-01-23 John David Anglin ++ ++ * config/pa/pa32-regs.h (ADDITIONAL_REGISTER_NAMES): Change ++ register 86 name to "%fr31L". ++ ++2025-01-22 Richard Sandiford ++ ++ PR rtl-optimization/117186 ++ * rtl.h (simplify_context::simplify_logical_relational_operation): Add ++ an invert0_p parameter. ++ * simplify-rtx.cc (unsigned_comparison_to_mask): New function. ++ (mask_to_unsigned_comparison): Likewise. ++ (comparison_code_valid_for_mode): Delete. ++ (simplify_context::simplify_logical_relational_operation): Add ++ an invert0_p parameter. Handle AND and XOR. Handle unsigned ++ comparisons. Handle always-false results. Ignore the low bit ++ of the mask if the operands are always ordered and remove the ++ then-redundant check of comparison_code_valid_for_mode. Check ++ for side-effects in the operands before simplifying them away. ++ (simplify_context::simplify_binary_operation_1): Remove ++ simplification of (compare (gt ...) (lt ...)) and instead... ++ (simplify_context::simplify_relational_operation_1): ...handle ++ comparisons of comparisons here. ++ (test_comparisons): New function. ++ (test_scalar_ops): Call it. ++ ++2025-01-22 Richard Sandiford ++ ++ PR target/118184 ++ * config/aarch64/aarch64-early-ra.cc (allocno_assignment_is_rmw): ++ New function. ++ (early_ra::record_insn_defs): Mark the live range information as ++ untrustworthy if an assignment would change part of an allocno ++ but preserve the rest. ++ ++2025-01-19 Uros Bizjak ++ ++ Backported from master: ++ 2025-01-19 Uros Bizjak ++ ++ * config/i386/i386.md (*movdi_internal): Reorder ISA attribute ++ by ascending alternative index. ++ ++2025-01-19 Uros Bizjak ++ ++ Backported from master: ++ 2024-12-20 Uros Bizjak ++ ++ PR target/118067 ++ * config/i386/i386.md (*movdi_internal): ++ Disable alternatives from/to mask registers without AVX512BW. ++ (*movsi_internal): Ditto. ++ ++2025-01-17 Georg-Johann Lay ++ ++ Backported from master: ++ 2025-01-17 Georg-Johann Lay ++ ++ PR target/118329 ++ * config/avr/avr-modes.def: Add INT_N (PSI, 24). ++ * config/avr/avr.cc (avr_init_builtin_int24) ++ <__int24>: Remove definition. ++ <__uint24>: Adjust definition to INT_N interface. ++ ++2025-01-17 Eugene Rozenfeld ++ ++ Backported from master: ++ 2025-01-16 Eugene Rozenfeld ++ ++ PR gcov-profile/116743 ++ * auto-profile.cc (afdo_annotate_cfg): Fix mismatch between the call graph node count ++ and the entry block count. ++ ++2025-01-14 Robin Dapp ++ ++ Backported from master: ++ 2025-01-14 Robin Dapp ++ ++ PR middle-end/118140 ++ * gimple-match-exports.cc (maybe_resimplify_conditional_op): Add ++ COND_EXPR when we simplified to a scalar gimple value but still ++ have an else value. ++ ++2025-01-10 Tamar Christina ++ ++ * config/aarch64/aarch64-cores.def (AARCH64_CORE): Fix cortex-x4 parts ++ num. ++ ++2025-01-10 Andrew Carlotti ++ ++ * multiple_target.cc ++ (redirect_to_specific_clone): Assert that "target" attribute is ++ used for FMV before checking it. ++ (ipa_target_clone): Skip redirect_to_specific_clone on some ++ targets. ++ ++2025-01-10 Richard Biener ++ ++ Backported from master: ++ 2024-12-10 Richard Biener ++ ++ PR tree-optimization/117912 ++ * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): For addresses ++ of zero-sized components do not set ->off if the object size pass ++ didn't run. ++ For OOB ARRAY_REF accesses in address expressions avoid setting ++ ->off if the object size pass didn't run. ++ (valueize_refs_1): Likewise. ++ ++2025-01-10 Sam James ++ ++ * doc/cpp.texi (Common Predefined Macros): Fix syntax. ++ ++2025-01-09 Christophe Lyon ++ ++ Backported from master: ++ 2024-12-13 Christophe Lyon ++ Jakub Jelinek ++ ++ PR target/114801 ++ * config/arm/arm-mve-builtins.cc ++ (function_expander::add_input_operand): Handle CONST_INT ++ predicates. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-14 Jakub Jelinek ++ ++ PR middle-end/118024 ++ * gimple-ssa-warn-access.cc (matching_alloc_calls_p): Walk malloc ++ attributes of alloc_decl and dealloc_decl in separate loops rather ++ than in lock-step. Use common_deallocs.contains rather than ++ common_deallocs.add in the second loop. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-13 Jakub Jelinek ++ ++ PR rtl-optimization/117095 ++ * cse.cc (cse_extended_basic_block): Don't call record_jump_equiv ++ if multiple_sets (insn). ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-09 Jakub Jelinek ++ ++ PR sanitizer/117960 ++ * doc/invoke.texi (fsanitize=hwaddress): Clarify on which targets ++ it is supported. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-05 Jakub Jelinek ++ ++ PR rtl-optimization/113994 ++ PR rtl-optimization/116799 ++ * loop-doloop.cc: Include targhooks.h. ++ (doloop_optimize): Also punt on intersection of modified ++ with df_get_live_in (desc->out_edge->dest). ++ (doloop_optimize_loops): Call df_analyze. Use ++ LI_ONLY_INNERMOST or LI_FROM_INNERMOST instead of 0 as ++ second loops_list argument. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-03 Jakub Jelinek ++ ++ PR middle-end/117847 ++ * gimple-lower-bitint.cc (gimple_lower_bitint) : ++ Use m = (p - n) % p instead of m = p - n for the other shift count. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-30 Jakub Jelinek ++ ++ PR libgomp/117851 ++ * lto-wrapper.cc (find_crtoffloadtable): Add PIE_OR_SHARED argument, ++ search for crtoffloadtableS.o rather than crtoffloadtable.o if ++ true. ++ (run_gcc): Add pie_or_shared variable. If OPT_pie or OPT_shared or ++ OPT_static_pie is seen, set pie_or_shared to true, if OPT_no_pie is ++ seen, set pie_or_shared to false. Pass it to find_crtoffloadtable. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-28 Jakub Jelinek ++ ++ PR target/117642 ++ * doc/extend.texi: Remove documentation of warning for unimplemented ++ __sync_* operations, such warning has never been implemented. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-28 Jakub Jelinek ++ ++ PR c/117802 ++ * builtins.cc (fold_builtin_iseqsig): Handle BITINT_TYPE like ++ INTEGER_TYPE. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-26 Jakub Jelinek ++ ++ PR middle-end/102674 ++ * builtins.cc (fold_builtin_fpclassify): Use real_from_string3 rather ++ than real_from_string. Use "1E%d" format string rather than "0x1p%d" ++ for decimal float minimum. Formatting fixes. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-26 Jakub Jelinek ++ ++ PR middle-end/43374 ++ * real.cc (get_max_float): Handle decimal float. ++ * builtins.cc (fold_builtin_interclass_mathfn): Use ++ real_from_string3 rather than real_from_string. Use ++ "1E%d" format string rather than "0x1p%d" for decimal ++ float minimum. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-21 Jakub Jelinek ++ ++ PR tree-optimization/94589 ++ PR tree-optimization/117612 ++ * tree-ssa-phiopt.cc (spaceship_replacement): Fix up ++ a pasto in check when arg1 is 2. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-19 Jakub Jelinek ++ ++ PR middle-end/117458 ++ * expr.cc (expand_expr_real_1) : Don't ++ call extract_bit_field if op0 has complex mode and isn't a MEM, ++ instead first force op0 into memory and then call extract_bit_field. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-19 Jakub Jelinek ++ ++ PR middle-end/117459 ++ * gimple-lower-bitint.cc (bitint_large_huge::handle_stmt, ++ bitint_large_huge::lower_stmt): Handle PAREN_EXPR. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-06 Jakub Jelinek ++ ++ PR tree-optimization/117439 ++ * gimple-ssa-store-merging.cc ++ (imm_store_chain_info::coalesce_immediate_stores): Punt if merging of ++ any of the additional overlapping stores would result in growing the ++ bitregion size over param_store_merging_max_size. ++ (pass_store_merging::process_store): Terminate all aliasing chains ++ for stores with bitregion larger than param_store_merging_max_size. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-06 Jakub Jelinek ++ ++ PR tree-optimization/117439 ++ * gimple-ssa-store-merging.cc (encode_tree_to_bitpos): For ++ empty_ctor_p use !sub_byte_op_p even if bitlen doesn't have an ++ integral mode. ++ ++2024-12-23 Patrick Palka ++ ++ Backported from master: ++ 2024-12-19 Patrick Palka ++ ++ PR c++/118069 ++ * hwint.h (add_sat_hwi): New function. ++ (mul_sat_hwi): Likewise. ++ ++2024-12-23 Christophe Lyon ++ ++ Revert: ++ 2024-12-19 Christophe Lyon ++ Jakub Jelinek ++ ++ PR target/114801 ++ * config/arm/arm-mve-builtins.cc ++ (function_expander::add_input_operand): Handle CONST_INT ++ predicates. ++ ++2024-12-19 Christophe Lyon ++ ++ Backported from master: ++ 2024-12-13 Christophe Lyon ++ Jakub Jelinek ++ ++ PR target/114801 ++ * config/arm/arm-mve-builtins.cc ++ (function_expander::add_input_operand): Handle CONST_INT ++ predicates. ++ ++2024-12-19 Andrew Carlotti ++ ++ * tree-assume.cc: Fix comment typos. ++ ++2024-12-18 Wilco Dijkstra ++ ++ Backported from master: ++ 2024-12-10 Wilco Dijkstra ++ ++ PR target/117675 ++ * config/arm/arm.cc (arm_ldrd_legitimate_address): New function. ++ * config/arm/arm-protos.h (arm_ldrd_legitimate_address): New prototype. ++ * config/arm/constraints.md: Add new Uo constraint. ++ * config/arm/predicates.md (arm_ldrd_memory_operand): Add new predicate. ++ * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Use ++ arm_ldrd_memory_operand and Uo. ++ ++2024-12-16 Heiko Eißfeldt ++ ++ Backported from master: ++ 2024-12-14 Heiko Eißfeldt ++ ++ * doc/install.texi (Configuration): Fix typos in documentation ++ for --enable-host-pie. ++ ++2024-12-13 Marek Polacek ++ ++ Backported from master: ++ 2024-12-09 Marek Polacek ++ ++ PR driver/117942 ++ * opts-common.cc (decode_cmdline_options_to_array): Also detect ++ --diagnostics-plain-output. ++ ++2024-12-13 Marek Polacek ++ ++ Backported from master: ++ 2024-12-10 Marek Polacek ++ ++ PR c++/117880 ++ * fold-const.cc (operand_compare::operand_equal_p) : ++ Use OP_SAME_WITH_NULL instead of OP_SAME. ++ ++2024-12-09 Juergen Christ ++ ++ Backported from master: ++ 2024-12-09 Juergen Christ ++ ++ * config/s390/s390.cc (s390_canonicalize_comparison): Add ++ missing UNSPEC_CC_TO_INT case. ++ ++2024-12-09 Simon Martin ++ ++ Backported from master: ++ 2024-12-09 Simon Martin ++ ++ PR c++/117845 ++ * tree-eh.cc (honor_protect_cleanup_actions): Support empty ++ finally sequences. ++ ++2024-12-08 Uros Bizjak ++ ++ Backported from master: ++ 2024-12-06 Uros Bizjak ++ ++ PR target/117926 ++ * config/i386/mmx.md (UNSPEC_3DNOW): New unspec. ++ (mmx_addv2sf3): Tag insn with UNSPEC_3DNOW tag. ++ (*mmx_addv2sf3): Ditto. ++ (mmx_sub2vsf3): Ditto. ++ (mmx_subrv2sf3): Ditto. ++ (*mmx_subv2sf3): Ditto. ++ (mmx_mulv2sf3): Ditto. ++ (mmx_v2sf3): Ditto. ++ (*mmx_v2sf3): Ditto. ++ (mmx_ieee_v2sf3): Ditto. ++ (mmx_eqv2sf3): Ditto. ++ (*mmx_eqv2sf3): Ditto. ++ (mmx_gtv2sf3): Ditto. ++ (mmx_gev2sf3): Ditto. ++ (mmx_fix_truncv2sfv2si2): Ditto. ++ (mmx_floatv2siv2sf2): Ditto. ++ ++2024-12-05 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-12-05 Georg-Johann Lay ++ ++ PR target/64242 ++ * config/avr/avr.md (nonlocal_goto): Don't restore ++ hard_frame_pointer_rtx directly, but copy it to local ++ register, and only set hard_frame_pointer_rtx from it ++ after emit_stack_restore(). ++ ++2024-12-03 Tamar Christina ++ ++ Backported from master: ++ 2024-11-22 Tamar Christina ++ ++ PR tree-optimization/116463 ++ * tree-vect-slp-patterns.cc (complex_mul_pattern::matches, ++ complex_fms_pattern::matches): Try swapping operands on multiply. ++ ++2024-12-02 Andre Vieira ++ ++ Backported from master: ++ 2024-12-02 Andre Vieira ++ ++ * config/arm/arm_mve.h: Add Runtime Library Exception. ++ * config/arm/arm_mve_types.h: Likewise. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-11-18 Richard Biener ++ ++ PR tree-optimization/117594 ++ * tree-vect-loop.cc (vectorizable_live_operation_1): Pass ++ factor == 1 to vect_get_loop_len, insert generated stmts. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-11-20 Richard Biener ++ ++ PR tree-optimization/117574 ++ * tree-ssa-loop-niter.cc (number_of_iterations_lt_to_ne): ++ Use the obvious may_be_zero condition. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-11-05 Richard Biener ++ ++ PR middle-end/117433 ++ * cfgexpand.cc (expand_gimple_stmt_1): Use emit_block_move ++ when moving temp to BLKmode target. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-11-12 Richard Biener ++ ++ PR tree-optimization/117417 ++ * tree-ssa-forwprop.cc (pass_forwprop::execute): Avoid ++ decomposing BIT_FIELD_REF complex load. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-10-29 Richard Biener ++ ++ PR tree-optimization/117333 ++ * tree-data-ref.cc (dr_may_alias_p): Guard against NULL ++ access size. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-10-28 Richard Biener ++ ++ PR tree-optimization/117307 ++ * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): ++ Properly compute STMT_VINFO_SLP_VECT_ONLY. Set it on all ++ parts of a split group. ++ ++2024-11-29 Richard Biener ++ ++ Backported from master: ++ 2024-10-22 Richard Biener ++ ++ PR tree-optimization/117254 ++ * gimple-ssa-warn-access.cc (maybe_warn_nonstring_arg): ++ Check the array domain max is constant before using it. ++ ++2024-11-28 Martin Jambor ++ ++ Backported from master: ++ 2024-10-23 Martin Jambor ++ ++ PR tree-optimization/117142 ++ * tree-sra.cc (build_access_from_call_arg): Disqualify any ++ candidate passed to a function returning twice. ++ ++2024-11-28 Vladimir N. Makarov ++ ++ Backported from master: ++ 2024-11-25 Vladimir N. Makarov ++ ++ PR target/117105 ++ * lra-constraints.cc (get_reload_reg): Create unique value reload ++ pseudos for early clobbered operands. ++ ++2024-11-28 Vladimir N. Makarov ++ ++ Backported from master: ++ 2024-05-10 Vladimir N. Makarov ++ ++ PR target/114942 ++ * lra-constraints.cc (struct input_reload): Add new member early_clobber_p. ++ (get_reload_reg): Add new arg early_clobber_p, don't reuse input ++ reload with true early_clobber_p member value, use the arg for new ++ element of curr_insn_input_reloads. ++ (match_reload): Assign false to early_clobber_p member. ++ (process_addr_reg, simplify_operand_subreg, curr_insn_transform): ++ Adjust get_reload_reg calls. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-24 Gaius Mulley ++ ++ * doc/install.texi (GM2-prerequisite): Add GNU flex. ++ ++2024-11-25 liuhongt ++ ++ Backported from master: ++ 2024-11-25 liuhongt ++ ++ PR target/117562 ++ * config/i386/sse.md (vec_unpacks_hi_v4sf): Initialize ++ operands[2] with CONST0_RTX. ++ ++2024-11-23 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-11-23 Georg-Johann Lay ++ ++ PR target/117744 ++ * config/avr/avr.cc (out_movqi_r_mr): Fix code when a load ++ only partially clobbers an address register due to ++ changing the address register temporally to accommodate for ++ faked addressing modes. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-10 Gaius Mulley ++ ++ * doc/gm2.texi (Documentation): Fix typos, grammar, and a link. ++ ++2024-11-22 Lulu Cheng ++ ++ Backported from master: ++ 2024-11-22 Lulu Cheng ++ ++ * config/loongarch/lasx.md: Fixed. ++ * config/loongarch/lsx.md: Fixed. ++ ++2024-11-22 Xi Ruoyao ++ ++ Backported from master: ++ 2024-11-22 Xi Ruoyao ++ ++ * config/loongarch/loongarch-builtins.cc (vorn_v, xvorn_v): Use ++ unsigned vector modes. ++ * config/loongarch/lsxintrin.h (__lsx_vorn_v): Cast arguments to ++ v16u8. ++ * config/loongarch/lasxintrin.h (__lasx_xvorn_v): Cast arguments ++ to v32u8. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-09-09 David Malcolm ++ ++ PR other/116603 ++ * diagnostic-format-sarif.cc (SARIF_SCHEMA): Update URL. ++ (sarif_builder::maybe_make_region_object): Don't create regions ++ with startLine <= 0. ++ (sarif_builder::maybe_make_region_object_for_context): Likewise. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-06-26 David Malcolm ++ ++ PR testsuite/109360 ++ * doc/install.texi (Python3 modules): Update SARIF validation ++ requirement to use check-jsonschema rather than jsonschema. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-06-21 David Malcolm ++ ++ PR testsuite/109360 ++ * doc/install.texi: Mention optional usage of "jsonschema" tool. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-06-21 David Malcolm ++ ++ PR testsuite/109360 ++ * diagnostic-format-sarif.cc ++ (sarif_builder::make_location_object): Pass any column override ++ from rich_loc to maybe_make_physical_location_object. ++ (sarif_builder::maybe_make_physical_location_object): Add ++ "column_override" param and pass it to maybe_make_region_object. ++ (sarif_builder::maybe_make_region_object): Add "column_override" ++ param and use it when the location has 0 for a column. Don't ++ add "startLine", "startColumn", "endLine", or "endColumn" if ++ the values aren't positive. ++ (sarif_builder::maybe_make_region_object_for_context): Don't ++ add "startLine" or "endLine" if the values aren't positive. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-05-28 David Malcolm ++ ++ * config/v850/v850.opt.urls: Regenerate, with fix. ++ * config/vax/vax.opt.urls: Likewise. ++ * regenerate-opt-urls.py (TARGET_SPECIFIC_PAGES): Fix transposed ++ values for "vax" and "v850". ++ ++2024-11-20 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-27 Gaius Mulley ++ ++ * doc/gm2.texi: Replace all occurrences of xref ++ {foo, , , gm2} with xref {foo}. ++ ++2024-11-20 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-24 Gaius Mulley ++ ++ * doc/gm2.texi: Replace all occurrences of xref {, , , gm2} ++ with xref {, , , m2}. ++ ++2024-11-18 Uros Bizjak ++ ++ Backported from master: ++ 2024-11-18 Uros Bizjak ++ ++ PR target/117357 ++ * config/i386/i386.md (*rsqrtsf2_sse): ++ Also enable for !TARGET_SSE_MATH. ++ ++2024-11-18 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-11-18 Georg-Johann Lay ++ ++ PR target/117659 ++ * config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as ++ input (instead of bogus %A0). ++ ++2024-11-18 Andre Vieira ++ ++ Backported from master: ++ 2024-10-14 Andre Vieira ++ Andrew Pinski ++ ++ PR middle-end/116997 ++ * fold-const.cc (fold_ternary_loc): Fix BIT_INSERT_EXPR constant folding ++ for BYTES_BIG_ENDIAN targets. ++ ++2024-11-18 Hu, Lin1 ++ ++ Backported from master: ++ 2024-11-13 Hu, Lin1 ++ ++ PR target/117418 ++ * config/i386/i386-expand.cc (ix86_expand_builtin): Convert ++ pointer's mode according to Pmode. ++ ++2024-11-16 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-11-16 Georg-Johann Lay ++ ++ PR target/117500 ++ * config/avr/avr.cc (avr_print_operand) [code = 'i']: Use ++ output_operand_lossage on bad operands instead of fatal_insn. ++ ++2024-11-15 John David Anglin ++ ++ PR target/117564 ++ * config/pa/pa.md: Fix typos in 32-bit SFmode peephole2 patterns. ++ ++2024-11-13 John David Anglin ++ ++ PR target/117525 ++ * config/pa/pa.md (fix_truncsfsi2): Remove inner `fix:SF`. ++ (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2, ++ fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncsfdi2, ++ fixuns_truncdfdi2): Likewise. ++ ++2024-11-12 John David Anglin ++ ++ * config/pa/pa.md (decrement_and_branch_until_zero): Fix ++ constraint. ++ ++2024-11-11 Haochen Jiang ++ ++ * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model ++ number for Arrow Lake. ++ ++2024-11-09 Torbjörn SVENSSON ++ ++ Backported from master: ++ 2024-11-09 Torbjörn SVENSSON ++ ++ PR target/117408 ++ * config/arm/arm-mve-builtins.cc(handle_arm_mve_h): Detect if MVE ++ types is missing and if so, return error. ++ ++2024-11-08 John David Anglin ++ ++ * config/pa/predicates.md (base14_operand): Use '&' operator ++ instead of '%' to check displacement alignment. ++ ++2024-11-08 John David Anglin ++ ++ PR target/117443 ++ * config/pa/pa.cc (pa_legitimate_address_p): Allow any ++ 14-bit displacement when reload is in progress and strict ++ is false. ++ ++2024-11-08 Tamar Christina ++ ++ * config/aarch64/aarch64-cores.def (cortex-a725, cortex-x925, ++ neoverse-n3, neoverse-v3, neoverse-v3ae): New. ++ * config/aarch64/aarch64-tune.md: Regenerate ++ * doc/invoke.texi: Document them. ++ ++2024-11-08 Richard Sandiford ++ ++ Backported from master: ++ 2024-11-07 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve2.md (@aarch64_sve_psel) ++ (*aarch64_sve_psel_plus): Require TARGET_STREAMING ++ rather than TARGET_STREAMING_SME2. ++ ++2024-11-08 Richard Sandiford ++ ++ Backported from master: ++ 2024-11-07 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve2.md (@aarch64_sve_fclamp) ++ (*aarch64_sve_fclamp_x): Require TARGET_STREAMING_SME2 ++ rather than TARGET_STREAMING_SME. ++ ++2024-11-08 Richard Sandiford ++ ++ Backported from master: ++ 2024-10-14 Richard Sandiford ++ ++ PR target/116999 ++ PR target/117045 ++ * config/aarch64/aarch64-sve-builtins-base.cc ++ (svwhilelx_impl::fold): Check for WHILELTs of the minimum value ++ and WHILELEs of the maximum value. Fold them to all-false and ++ all-true respectively. ++ ++2024-11-08 Richard Sandiford ++ ++ Backported from master: ++ 2024-10-09 Richard Sandiford ++ ++ PR target/116629 ++ * config/aarch64/aarch64-sve-builtins.cc ++ (function_builder::function_builder): Use direct overloads for LTO. ++ ++2024-11-08 Richard Sandiford ++ ++ Backported from master: ++ 2024-08-15 Richard Sandiford ++ ++ PR target/116371 ++ * config/aarch64/aarch64-sve-builtins-sve2.h (svpext): Rename to... ++ (svpext_lane): ...this. ++ * config/aarch64/aarch64-sve-builtins-sve2.cc (svpext_impl): Rename ++ to... ++ (svpext_lane_impl): ...this and update instantiation accordingly. ++ * config/aarch64/aarch64-sve-builtins-sve2.def (svpext): Rename to... ++ (svpext_lane): ...this. ++ ++2024-11-07 Yuta Mukai ++ ++ * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add fujitsu-monaka. ++ * config/aarch64/aarch64-tune.md: Regenerate. ++ * config/aarch64/aarch64.cc: Include fujitsu-monaka tuning model. ++ * doc/invoke.texi: Document -mcpu=fujitsu-monaka. ++ * config/aarch64/tuning_models/fujitsu_monaka.h: New file. ++ ++2024-11-07 Hu, Lin1 ++ ++ Backported from master: ++ 2024-11-06 Hu, Lin1 ++ ++ PR target/117304 ++ * config/i386/i386-builtin.def: Add OPTION_MASK_ISA2_EVEX512 for some ++ AVX512 512-bits instructions. ++ ++2024-11-06 Tamar Christina ++ ++ Backported from master: ++ 2024-10-14 Tamar Christina ++ ++ PR target/116371 ++ * config/aarch64/aarch64-sve-builtins-sve2.cc (class svpsel_impl): ++ Renamed to ... ++ (class svpsel_lane_impl): ... This and adjust initialization. ++ * config/aarch64/aarch64-sve-builtins-sve2.def (svpsel): Renamed to ... ++ (svpsel_lane): ... This. ++ * config/aarch64/aarch64-sve-builtins-sve2.h (svpsel): Renamed to ++ svpsel_lane. ++ ++2024-11-04 Andrew MacLeod ++ ++ PR tree-optimization/117398 ++ * gimple-range-edge.cc (gimple_outgoing_range::calc_switch_ranges): ++ Check for VARYING and don't call invert () on it. ++ ++2024-11-04 Andrew MacLeod ++ ++ * range-op.cc (operator_bitwise_or::op1_range): If LHS is signed ++ positive, so are both operands. ++ ++2024-11-04 Andrew MacLeod ++ ++ PR tree-optimization/117287 ++ * Makefile.in (IBJS): Add tree-assume.o ++ * gimple-range.cc (assume_query::assume_range_p): Remove. ++ (assume_query::range_of_expr): Remove. ++ (assume_query::assume_query): Move to tree-assume.cc. ++ (assume_query::~assume_query): Remove. ++ (assume_query::calculate_op): Move to tree-assume.cc. ++ (assume_query::calculate_phi): Likewise. ++ (assume_query::check_taken_edge): Remove. ++ (assume_query::calculate_stmt): Move to tree-assume.cc. ++ (assume_query::dump): Remove. ++ * gimple-range.h (class assume_query): Move to tree-assume.cc ++ * tree-assume.cc: New ++ * tree-vrp.cc (struct pass_data_assumptions): Move to tree-assume.cc. ++ (class pass_assumptions): Likewise. ++ (make_pass_assumptions): Likewise. ++ ++2024-11-04 Andrew MacLeod ++ ++ * gimple-range-fold.cc (class fur_edge): Relocate from here. ++ (fur_edge::fur_edge): Also move to: ++ * gimple-range-fold.h (class fur_edge): Relocate to here. ++ (fur_edge::fur_edge): Likewise. ++ ++2024-11-04 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-31 Jakub Jelinek ++ ++ PR middle-end/117354 ++ * expr.cc (expand_expr_real_1) : Pass ++ true as inner_reference_p argument to expand_expr_real if ++ mode is BLKmode. Don't call extract_bit_field if mode is BLKmode. ++ ++2024-11-04 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-30 Jakub Jelinek ++ ++ PR target/117296 ++ * function.cc (assign_parms): Call do_pending_stack_adjust. ++ ++2024-11-01 Haochen Jiang ++ ++ * config/i386/cmpccxaddintrin.h (_cmpccxadd_epi32): Do not do ++ type conversion for pointer. ++ (_cmpccxadd_epi64): Ditto. ++ ++2024-11-01 Hongyu Wang ++ ++ Backported from master: ++ 2024-07-04 Hongyu Wang ++ ++ * config/i386/i386.cc (ix86_expand_prologue): Set apx_ppx_used ++ flag in m.fs with TARGET_APX_PPX && !crtl->calls_eh_return. ++ (ix86_emit_save_regs): Emit ppx is available only when ++ TARGET_APX_PPX && !crtl->calls_eh_return. ++ (ix86_expand_epilogue): Don't restore reg using mov when ++ apx_ppx_used flag is true. ++ * config/i386/i386.h (struct machine_frame_state): ++ Add apx_ppx_used flag. ++ ++2024-10-31 Peter Bergner ++ ++ Backported from master: ++ 2024-08-12 Peter Bergner ++ ++ PR target/114759 ++ * config/rs6000/rs6000.cc (rs6000_override_options_after_change): Move ++ the disabling of shrink-wrapping from here.... ++ * config/rs6000/rs6000-logue.cc (rs6000_emit_prologue): ...to here. ++ ++2024-10-31 Richard Sandiford ++ ++ Backported from master: ++ 2024-10-31 Richard Sandiford ++ ++ * config/aarch64/aarch64-sve-builtins-base.def (svtrn1q, svtrn2q) ++ (svuzp1q, svuzp2q, svzip1q, svzip2q): Require SM_OFF. ++ ++2024-10-31 Yangyu Chen ++ ++ Backported from master: ++ 2024-10-30 Yangyu Chen ++ ++ * config/aarch64/aarch64.cc (dispatch_function_versions): Adding ++ DECL_EXTERNAL, TREE_PUBLIC and hidden DECL_VISIBILITY to ++ __init_cpu_features_resolver and __aarch64_cpu_features. ++ ++2024-10-30 David Malcolm ++ ++ Backported from master: ++ 2024-10-29 David Malcolm ++ ++ PR jit/117275 ++ * varasm.cc (process_pending_assemble_externals): Reset ++ pending_assemble_externals_set to nullptr after deleting it. ++ (varasm_cc_finalize): Delete pending_assemble_externals_set. ++ ++2024-10-30 David Malcolm ++ ++ Backported from master: ++ 2024-10-23 David Malcolm ++ ++ PR jit/117275 ++ * toplev.cc (toplev::finalize): Call varasm_cc_finalize. ++ * varasm.cc (varasm_cc_finalize): New. ++ * varasm.h (varasm_cc_finalize): New decl. ++ ++2024-10-30 Alex Coplan ++ ++ PR rtl-optimization/116783 ++ * config/aarch64/aarch64-ldp-fusion.cc ++ (def_walker::cand_addr_uses): New. ++ (def_walker::def_walker): Add parameter for candidate address ++ uses. ++ (def_walker::alias_conflict_p): Declare. ++ (def_walker::addr_reg_conflict_p): New. ++ (def_walker::conflict_p): New. ++ (store_walker::store_walker): Add parameter for candidate ++ address uses and pass to base ctor. ++ (store_walker::conflict_p): Rename to ... ++ (store_walker::alias_conflict_p): ... this. ++ (load_walker::load_walker): Add parameter for candidate ++ address uses and pass to base ctor. ++ (load_walker::conflict_p): Rename to ... ++ (load_walker::alias_conflict_p): ... this. ++ (ldp_bb_info::try_fuse_pair): Collect address register ++ uses for candidate insns and pass down to alias walkers. ++ ++2024-10-30 liuhongt ++ ++ Backported from master: ++ 2024-10-30 liuhongt ++ ++ PR target/117318 ++ * config/i386/sse.md (*avx512vl_v2div2qi2_mask_store_1): ++ Rename to .. ++ (avx512vl_v2div2qi2_mask_store_1): .. this. ++ (avx512vl_v2div2qi2_mask_store_2): Change to ++ define_expand. ++ (*avx512vl_v4qi2_mask_store_1): Rename to .. ++ (avx512vl_v4qi2_mask_store_1): .. this. ++ (avx512vl_v4qi2_mask_store_2): Change to ++ define_expand. ++ (*avx512vl_v8qi2_mask_store_1): Rename to .. ++ (avx512vl_v8qi2_mask_store_1): .. this. ++ (avx512vl_v8qi2_mask_store_2): Change to ++ define_expand. ++ (*avx512vl_v4hi2_mask_store_1): Rename to .. ++ (avx512vl_v4hi2_mask_store_1): .. this. ++ (avx512vl_v4hi2_mask_store_2): Change to ++ define_expand. ++ (*avx512vl_v2div2hi2_mask_store_1): Rename to .. ++ (avx512vl_v2div2hi2_mask_store_1): .. this. ++ (avx512vl_v2div2hi2_mask_store_2): Change to ++ define_expand. ++ (*avx512vl_v2div2si2_mask_store_1): Rename to .. ++ (avx512vl_v2div2si2_mask_store_1): .. this. ++ (avx512vl_v2div2si2_mask_store_2): Change to ++ define_expand. ++ (*avx512f_v8div16qi2_mask_store_1): Rename to .. ++ (avx512f_v8div16qi2_mask_store_1): .. this. ++ (avx512f_v8div16qi2_mask_store_2): Change to ++ define_expand. ++ ++2024-10-29 Eric Botcazou ++ ++ PR rtl-optimization/117327 ++ * reorg.cc (find_end_label): Do not return a dangling label at the ++ end of the function and adjust commentary. ++ ++2024-10-29 Peter Bergner ++ ++ Backported from master: ++ 2024-08-23 Peter Bergner ++ ++ PR target/116415 ++ * config/rs6000/rs6000.h (TI_OR_PTI_MODE): New define. ++ * config/rs6000/rs6000-p8swap.cc (rs6000_analyze_swaps): Use it to ++ handle PTImode identically to TImode. ++ ++2024-10-25 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-25 Jakub Jelinek ++ ++ PR middle-end/117249 ++ * tree-ssa-structalias.cc (insert_vi_for_tree): Move put calls out of ++ gcc_assert. ++ * lto-cgraph.cc (lto_symtab_encoder_delete_node): Likewise. ++ * gimple-ssa-strength-reduction.cc (get_alternative_base, ++ add_cand_for_stmt): Likewise. ++ * tree-eh.cc (add_stmt_to_eh_lp_fn): Likewise. ++ * except.cc (duplicate_eh_regions_1): Likewise. ++ * tree-ssa-reassoc.cc (insert_operand_rank): Likewise. ++ * config/nvptx/nvptx.cc (nvptx_expand_call): Use == rather than = in ++ gcc_assert. ++ * opts-common.cc (jobserver_info::disconnect): Call close outside of ++ gcc_assert and only check result in it. ++ (jobserver_info::return_token): Call write outside of gcc_assert and ++ only check result in it. ++ * genautomata.cc (output_default_latencies): Move j++ side-effect ++ outside of gcc_assert. ++ * tree-ssa-loop-ivopts.cc (get_alias_ptr_type_for_ptr_address): Use ++ == rather than = in gcc_assert. ++ * cgraph.cc (symbol_table::create_edge): Move ++edges_max_uid ++ side-effect outside of gcc_assert. ++ ++2024-10-25 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-24 Jakub Jelinek ++ ++ PR sanitizer/117209 ++ * asan.cc (maybe_cast_to_ptrmode): Formatting fix. ++ (build_check_stmt): Don't copy *iter into gsi, perform all ++ the updates on iter directly. ++ ++2024-10-25 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-10-24 Georg-Johann Lay ++ ++ PR target/116953 ++ * config/avr/avr.cc (avr_out_sbxx_branch): Revert previous fix ++ for PR116953 (r15-4078). Run extract_constrain_insn_cached ++ on the current insn after calling jump_over_one_insn_p. ++ ++2024-10-23 liuhongt ++ ++ Backported from master: ++ 2024-10-23 liuhongt ++ ++ PR target/117240 ++ * config/i386/i386-builtin.def: Add avx/avx512f to vaes ++ ymm/zmm builtins. ++ ++2024-10-23 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-15 Jakub Jelinek ++ ++ PR middle-end/116891 ++ * match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)): ++ Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. ++ ((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise. ++ ((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise. ++ ++2024-10-23 Richard Biener ++ ++ Backported from master: ++ 2024-10-14 Richard Biener ++ ++ PR middle-end/116891 ++ * match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)): ++ Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-10-12 Richard Biener ++ ++ PR tree-optimization/117104 ++ * match.pd ((cmp:c (minmax:c @0 @1) @0) -> (out @0 @1)): Properly ++ guard the vector case. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-10-07 Richard Biener ++ ++ PR tree-optimization/116982 ++ * tree-vectorizer.h (vect_analyze_loop): Pass in .LOOP_VECTORIZED ++ call. ++ (vect_analyze_loop_form): Likewise. ++ * tree-vect-loop.cc (vect_analyze_loop_form): Reject loops where we ++ cannot determine a IV exit for the scalar loop. ++ (vect_analyze_loop): Adjust. ++ * tree-vectorizer.cc (try_vectorize_loop_1): Likewise. ++ * tree-parloops.cc (gather_scalar_reductions): Likewise. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-10-15 Richard Biener ++ ++ PR tree-optimization/116907 ++ * tree-ssa-live.cc (clear_unused_block_pointer_in_block): New ++ helper. ++ (clear_unused_block_pointer): Call it. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-10-13 Richard Biener ++ ++ PR tree-optimization/116481 ++ * pointer-query.cc (build_printable_array_type): ++ Build an array types with function or method element type ++ manually to avoid bogus diagnostic. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-10-14 Richard Biener ++ ++ PR tree-optimization/116290 ++ * tree-loop-distribution.cc (determine_reduction_stmt_1): PHIs ++ have no debug variants. Start with first non-debug real stmt. ++ * tree-ssa-loop-ivopts.cc (find_givs_in_bb): Do not analyze ++ debug stmts. ++ ++2024-10-21 Richard Biener ++ ++ Backported from master: ++ 2024-05-17 Richard Biener ++ ++ PR middle-end/115110 ++ * tree-ssa-alias.cc (view_converted_memref_p): Fix. ++ ++2024-10-21 Jeevitha ++ ++ Backported from master: ++ 2024-10-21 Jeevitha ++ ++ * config/rs6000/amo.h (enum _AMO_LD): Correct the function code for ++ _AMO_LD_DEC_BOUNDED. ++ ++2024-10-21 liuhongt ++ ++ Backported from master: ++ 2024-10-21 liuhongt ++ ++ PR target/117159 ++ * config/i386/sse.md ++ (*_cmp3_zero_extend): ++ Change from define_insn_and_split to define_insn. ++ (*_cmp3_zero_extend): ++ Ditto. ++ (*_ucmp3_zero_extend): ++ Ditto. ++ (*_ucmp3_zero_extend): ++ Ditto. ++ (*_cmp3_zero_extend_2): ++ Split to the zero_extend pattern. ++ (*_cmp3_zero_extend_2): ++ Ditto. ++ (*_ucmp3_zero_extend_2): ++ Ditto. ++ (*_ucmp3_zero_extend_2): ++ Ditto. ++ ++2024-10-18 Martin Jambor ++ ++ Backported from master: ++ 2024-09-06 Martin Jambor ++ ++ PR ipa/115815 ++ * cgraph.cc (cgraph_node_cannot_be_local_p_1): Also check ++ DECL_STATIC_CONSTRUCTOR and DECL_STATIC_DESTRUCTOR. ++ * ipa-visibility.cc (non_local_p): Likewise. ++ (cgraph_node::local_p): Delete extraneous line of tabs. ++ ++2024-10-18 Li Xu ++ ++ Backported from master: ++ 2024-10-10 Li Xu ++ ++ PR target/116883 ++ * config/riscv/riscv-c.cc (riscv_pragma_intrinsic_flags_pollute): Choose zvl4096b ++ to initialize null type. ++ ++2024-10-17 Marek Polacek ++ ++ Backported from master: ++ 2024-09-17 Marek Polacek ++ ++ PR c++/116534 ++ * fold-const.cc (operand_compare::operand_equal_p): If either ++ field's DECL_FIELD_OFFSET is null, compare the fields with ==. ++ ++2024-10-16 Uros Bizjak ++ ++ Backported from master: ++ 2024-10-15 Uros Bizjak ++ ++ PR target/117116 ++ * config/i386/i386-expand.cc (expand_vector_set): Force "val" ++ into a register before VEC_MERGE/VEC_DUPLICATE RTX is generated ++ if it doesn't satisfy nonimmediate_operand predicate. ++ ++2024-10-15 Victor Do Nascimento ++ ++ * tree-if-conv.cc (predicate_statements): Fix handling of ++ predicated function calls. ++ ++2024-10-15 Jan Hubicka ++ ++ Backported from master: ++ 2024-07-22 Jan Hubicka ++ ++ PR ipa/109985 ++ * ipa-modref.cc (modref_summary::useful_p): Fix handling of ECF_NOVOPS. ++ (modref_access_analysis::process_fnspec): Likevise. ++ (modref_access_analysis::analyze_call): Likevise. ++ (propagate_unknown_call): Likevise. ++ (modref_propagate_in_scc): Likevise. ++ (modref_propagate_flags_in_scc): Likewise. ++ (ipa_merge_modref_summary_after_inlining): Likewise. ++ ++2024-10-14 Richard Sandiford ++ ++ Backported from master: ++ 2024-08-21 Richard Sandiford ++ ++ PR testsuite/116238 ++ * config/aarch64/aarch64.cc (aarch64_hard_regno_caller_save_mode): ++ Only return SImode if we can convert to and from it. ++ ++2024-10-14 liuhongt ++ ++ Backported from master: ++ 2024-10-10 liuhongt ++ ++ * config/i386/i386.cc (ix86_vector_costs::ix86_vector_costs): ++ Add new member m_num_avx256_vec_perm. ++ (ix86_vector_costs::add_stmt_cost): Record 256-bit vec_perm. ++ (ix86_vector_costs::finish_cost): Prevent vectorization for ++ TAREGT_AVX256_AVOID_VEC_PERM when there's 256-bit vec_perm ++ instruction. ++ * config/i386/i386.h (TARGET_AVX256_AVOID_VEC_PERM): New ++ Macro. ++ * config/i386/x86-tune.def (X86_TUNE_AVX256_SPLIT_REGS): Add ++ m_CORE_ATOM. ++ (X86_TUNE_AVX256_AVOID_VEC_PERM): New tune. ++ ++2024-10-14 liuhongt ++ ++ Backported from master: ++ 2024-10-10 liuhongt ++ ++ * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Guard ++ instruction blendv generation under new tune. ++ * config/i386/i386.h (TARGET_SSE_MOVCC_USE_BLENDV): New Macro. ++ * config/i386/x86-tune.def (X86_TUNE_SSE_MOVCC_USE_BLENDV): ++ New tune. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-10-09 Richard Biener ++ ++ PR tree-optimization/117041 ++ * tree-vect-stmts.cc (get_group_load_store_type): Only ++ check DR_GROUP_NEXT_ELEMENT for STMT_VINFO_GROUPED_ACCESS. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-10-11 Richard Biener ++ ++ PR middle-end/117086 ++ * match.pd ((op (vec_cond ...) ..) -> (vec_cond ...)): Add ++ missing checks for VECTOR_TYPE_P (type). ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-10-07 Richard Biener ++ ++ PR tree-optimization/116990 ++ * tree-vect-loop.cc (vect_analyze_loop_form): Check the current ++ loop body for control flow. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-09-30 Richard Biener ++ ++ PR tree-optimization/116879 ++ * tree-vect-loop.cc (vect_analyze_loop_form): Scan all ++ blocks that form the latch. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-09-30 Richard Biener ++ ++ PR tree-optimization/116850 ++ * gimple-ssa-isolate-paths.cc (bb_split_points): New global. ++ (insert_trap): Delay BB splitting if post-doms are computed. ++ (find_explicit_erroneous_behavior): Process delayed BB ++ splitting after releasing post dominators. ++ (gimple_ssa_isolate_erroneous_paths): Do not free post-dom ++ info here. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-09-19 Richard Biener ++ ++ PR tree-optimization/116768 ++ * tree-data-ref.cc (build_classic_dist_vector_1): Revert ++ PR101009 change. ++ * tree-chrec.cc (eq_evolutions_p): Make sure (sizetype)1 ++ and (int)1 compare equal. ++ ++2024-10-13 Richard Biener ++ ++ Backported from master: ++ 2024-08-07 Richard Biener ++ ++ PR tree-optimization/116166 ++ * tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks): ++ Add limit parameter. ++ (jump_threader::thread_through_normal_block): Likewise. ++ * tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks): ++ Honor and decrement limit parameter. ++ (jump_threader::thread_through_normal_block): Likewise. ++ (jump_threader::thread_across_edge): Initialize limit from ++ param_max_jump_thread_paths and pass it down to workers. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-04 Jakub Jelinek ++ ++ PR target/116921 ++ * config/i386/i386-expand.cc (ix86_expand_int_compare): Add a SUBREG ++ to V8HImode from V8HFmode or V8BFmode before generating a ptest. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-01 Jakub Jelinek ++ ++ PR middle-end/116899 ++ * gimple-range-cache.cc (ranger_cache::ranger_cache): Set m_workback ++ to vNULL instead of creating it, growing and then truncating. ++ (ranger_cache::fill_block_cache): Use safe_push rather than quick_push ++ on m_workback. ++ (ranger_cache::range_from_dom): Likewise. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-01 Jakub Jelinek ++ ++ PR middle-end/116898 ++ * gimple-range-cache.cc (ranger_cache::block_range): If a SSA_NAME ++ with NULL def_bb isn't SSA_NAME_IS_DEFAULT_DEF, return false instead ++ of failing assertion. Formatting fix. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-29 Jakub Jelinek ++ ++ PR target/116627 ++ * cselib.cc (remove_useless_values): Discard useless locs ++ even from preserved cselib_vals in cselib_preserved_hash_table ++ hash table. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-20 Uros Bizjak ++ Jakub Jelinek ++ ++ PR target/116738 ++ * config/i386/subst.md (mask_scalar_operand_arg34, ++ mask_scalar_expand_op3, round_saeonly_scalar_mask_arg3): New ++ subst attributes. ++ * config/i386/sse.md ++ (_vm3): ++ Change from define_insn to define_expand, rename the old define_insn ++ to ... ++ (*_vm3): ++ ... this. ++ (_ieee_vm3): ++ New define_insn. ++ ++2024-10-08 Jan Beulich ++ ++ * config/i386/sse.md (vaesdec_, vaesdeclast_, ++ vaesenc_, vaesenclast_): Replace which_alternative ++ check by TARGET_AES one. ++ ++2024-10-05 John David Anglin ++ ++ * config/pa/pa.md: Fix indirect_got constraint. ++ ++2024-10-04 H.J. Lu ++ ++ Backported from master: ++ 2024-10-04 H.J. Lu ++ ++ PR target/116962 ++ * config/i386/i386.cc (ix86_stack_protect_runtime_enabled_p): New ++ function. ++ (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): New. ++ ++2024-10-04 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-10-04 Georg-Johann Lay ++ ++ PR target/116953 ++ * config/avr/avr.cc (avr_out_sbxx_branch): Work on a copy of ++ the operands rather than on operands itself, which is just ++ recog_data.operand and may be clobbered by jump_over_one_insn_p. ++ ++2024-10-02 Richard Biener ++ ++ Backported from master: ++ 2024-09-18 Richard Biener ++ ++ PR tree-optimization/116585 ++ * tree-data-ref.cc (split_constant_offset_1): When either ++ operand is subject to abnormal coalescing do no further ++ processing. ++ ++2024-09-29 Uros Bizjak ++ ++ Backported from master: ++ 2024-09-27 Uros Bizjak ++ ++ * config/i386/i386.h: Add PTA_BDVER1, PTA_BDVER2, PTA_BDVER3, ++ PTA_BDVER4, PTA_BTVER1 and PTA_BTVER2. ++ * common/config/i386/i386-common.cc (processor_alias_table) ++ <"bdver1">: Use PTA_BDVER1. ++ <"bdver2">: Use PTA_BDVER2. ++ <"bdver3">: Use PTA_BDVER3. ++ <"bdver4">: Use PTA_BDVER4. ++ <"btver1">: Use PTA_BTVER1. Use M_CPU_TYPE (AMD_BTVER1). ++ <"btver2">: Use PTA_BTVER2. ++ <"shanghai>: Use M_CPU_SUBTYPE (AMDFAM10H_SHANGHAI). ++ <"istanbul>: Use M_CPU_SUBTYPE (AMDFAM10H_ISTANBUL). ++ ++2024-09-28 Jan Hubicka ++ ++ Backported from master: ++ 2024-09-03 Jan Hubicka ++ ++ * config/i386/i386.cc (ix86_reassociation_width): Update for Znver5. ++ * config/i386/x86-tune-costs.h (znver5_costs): Update reassociation ++ widths. ++ ++2024-09-28 Jan Hubicka ++ ++ Backported from master: ++ 2024-09-03 Jan Hubicka ++ ++ * config/i386/x86-tune-sched.cc (ix86_fuse_mov_alu_p): Fix ++ typo. ++ ++2024-09-28 Jan Hubicka ++ ++ Backported from master: ++ 2024-09-03 Jan Hubicka ++ ++ * config/i386/i386.h (TARGET_FUSE_MOV_AND_ALU): New tune. ++ * config/i386/x86-tune-sched.cc (ix86_issue_rate): Updat for znver5. ++ (ix86_adjust_cost): Add TODO about znver5 memory latency. ++ (ix86_fuse_mov_alu_p): New. ++ (ix86_macro_fusion_pair_p): Use it. ++ * config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add ZNVER5. ++ (X86_TUNE_FUSE_MOV_AND_ALU): New tune; ++ ++2024-09-28 Jan Hubicka ++ ++ Backported from master: ++ 2024-09-03 Jan Hubicka ++ ++ * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable for ++ ZNVER5. ++ (X86_TUNE_USE_SCATTER_2PARTS): Disable for ZNVER5. ++ (X86_TUNE_USE_GATHER_4PARTS): Disable for ZNVER5. ++ (X86_TUNE_USE_SCATTER_4PARTS): Disable for ZNVER5. ++ (X86_TUNE_USE_GATHER_8PARTS): Disable for ZNVER5. ++ (X86_TUNE_USE_SCATTER_8PARTS): Disable for ZNVER5. ++ ++2024-09-28 Jan Hubicka ++ ++ Backported from master: ++ 2024-09-03 Jan Hubicka ++ ++ * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): Enable for ++ znver5. ++ (X86_TUNE_AVOID_256FMA_CHAINS): Likewise. ++ (X86_TUNE_AVOID_512FMA_CHAINS): Likewise. ++ ++2024-09-28 H.J. Lu ++ ++ Backported from master: ++ 2024-09-25 H.J. Lu ++ ++ PR target/116839 ++ * config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it ++ static. Return if TLS address is thread register plus an integer ++ register. ++ ++2024-09-26 Stefan Schulze Frielinghaus ++ ++ Backported from master: ++ 2024-09-13 Stefan Schulze Frielinghaus ++ ++ PR target/115860 ++ * config/s390/s390.cc (print_operand): Remove operand specifier ++ %V. ++ * config/s390/s390.md (UNSPEC_TF_TO_FPRX2): New. ++ * config/s390/vector.md (*tf_to_fprx2_0): Remove. ++ (*tf_to_fprx2_1): Remove. ++ (tf_to_fprx2): New. ++ ++2024-09-26 Stefan Schulze Frielinghaus ++ ++ Backported from master: ++ 2024-09-13 Stefan Schulze Frielinghaus ++ ++ * config/s390/s390.cc (s390_mem_constraint): Check displacement ++ for AQ and AR constraints. ++ ++2024-09-23 Iain Sandoe ++ ++ Backported from master: ++ 2024-09-20 Iain Sandoe ++ ++ * config/darwin.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): New. ++ ++2024-09-23 Iain Sandoe ++ ++ Backported from master: ++ 2024-08-07 Iain Sandoe ++ ++ PR target/116237 ++ * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Add a spec for ++ weak_framework. ++ * config/darwin.opt: Handle weak_framework driver option. ++ ++2024-09-22 John David Anglin ++ ++ * config/pa/pa.h (GENERAL_REGNO_P): Define. ++ * config/pa/pa.md: Add SImode and SFmode peephole2 ++ patterns to generate loads and stores with long ++ displacements. ++ ++2024-09-20 Eric Botcazou ++ ++ * ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Always ++ process both the load and the store of a memory copy operation. ++ ++2024-09-20 Stefan Schulze Frielinghaus ++ ++ Backported from master: ++ 2024-09-12 Stefan Schulze Frielinghaus ++ ++ * config/s390/s390-protos.h (s390_gen_lowpart_subreg): Remove. ++ * config/s390/s390.cc (s390_gen_lowpart_subreg): Remove. ++ (s390_expand_insv): Use adjust_address() and emit a ++ strict_low_part only in case of a natural subreg. ++ * config/s390/s390.md: Use gen_lowpart() instead of ++ s390_gen_lowpart_subreg(). ++ ++2024-09-19 Haochen Jiang ++ ++ * doc/invoke.texi: Add corei7, corei7-avx, core-avx-i, ++ core-avx2, atom, slm, gracemont and emerarldrapids. Reorder ++ the -march documentation by splitting them into date-to-now ++ products, P-core, E-core and Xeon Phi. Refine the product names in ++ documentation. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-08-27 Richard Biener ++ ++ PR tree-optimization/116460 ++ * tree-ssa-forwprop.cc (pass_forwprop::execute): First do ++ simple_dce_from_worklist and then remove stmts in to_remove. ++ Track defs to be removed in to_remove_defs. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-07-04 Richard Biener ++ ++ PR middle-end/115426 ++ * gimplify.cc (gimplify_asm_expr): Handle "rm" output ++ constraint gimplified to a register (operation). ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-09-06 Richard Biener ++ ++ PR tree-optimization/116610 ++ * tree-vect-loop.cc (vectorizable_induction): Use MINUS_EXPR ++ to apply a mask peeling adjustment. ++ ++2024-09-18 Andrew Pinski ++ ++ Backported from master: ++ 2024-08-22 Andrew Pinski ++ Richard Biener ++ ++ PR middle-end/116454 ++ * fold-const.cc (fold_binary_loc): Fix `a * +-1i` ++ by wrapping arg0 with save_expr when it is not COMPLEX_EXPR. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-08-21 Richard Biener ++ ++ PR tree-optimization/116380 ++ * tree-loop-distribution.cc (copy_loop_before): Handle ++ out-of-loop defs appropriately. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-08-20 Richard Biener ++ ++ PR tree-optimization/116274 ++ * tree-vect-slp.cc (vect_bb_slp_scalar_cost): Cost scalar loads ++ and stores as simple scalar stmts when they access a non-global, ++ not address-taken variable that doesn't have BLKmode assigned. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-08-07 Richard Biener ++ ++ PR tree-optimization/116258 ++ * tree-vect-generic.cc (expand_vector_operations_1): Do not ++ lower PAREN_EXPR. ++ ++2024-09-18 Richard Biener ++ ++ Backported from master: ++ 2024-07-18 Richard Biener ++ ++ PR middle-end/115641 ++ * fold-const.cc (decode_field_reference): If the inner ++ reference isn't something we can take the address of, fail. ++ ++2024-09-15 H.J. Lu ++ ++ Backported from master: ++ 2024-09-08 H.J. Lu ++ ++ PR target/116621 ++ * config/i386/i386.cc (ix86_gimplify_va_arg): Don't use temp for ++ a PARALLEL BLKmode container of an EXPR_LIST expression in a ++ TImode register. ++ ++2024-09-09 Haochen Jiang ++ ++ PR target/116617 ++ * doc/invoke.texi: Add meteorlake, raptorlake and lunarlake. ++ ++2024-09-05 H.J. Lu ++ ++ Backported from master: ++ 2024-09-03 H.J. Lu ++ ++ PR ipa/116410 ++ * ipa-modref.cc (analyze_parms): Always analyze function parameter ++ for LTO. ++ ++2024-09-05 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-03 Jakub Jelinek ++ ++ PR tree-optimization/116501 ++ * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): ++ In the last_ovf case, use build_zero_cst operand not just when ++ TYPE_UNSIGNED (typeN), but also when precN >= 0. ++ ++2024-09-05 Jakub Jelinek ++ ++ Backported from master: ++ 2024-08-07 Jakub Jelinek ++ ++ PR c++/116219 ++ * gimple-expr.cc (remove_suffix): Formatting fixes. ++ (create_tmp_var_name): Don't call clean_symbol_name. ++ * gimplify.cc (gimplify_init_constructor): When promoting automatic ++ DECL_NAMELESS vars to static, don't preserve their DECL_NAME. ++ ++2024-09-04 Andrew Carlotti ++ ++ PR target/112108 ++ * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): Remove ++ feature check at initialisation. ++ (aarch64_general_check_builtin_call): Check ls64 intrinsics. ++ * config/aarch64/arm_acle.h: (data512_t) Make always available. ++ ++2024-09-04 Andrew Carlotti ++ ++ PR target/112108 ++ * config/aarch64/aarch64-builtins.cc (aarch64_init_memtag_builtins): ++ Define intrinsic names directly. ++ (aarch64_general_init_builtins): Move memtag intialisation... ++ (handle_arm_acle_h): ...to here, and remove feature check. ++ (aarch64_general_check_builtin_call): Check memtag intrinsics. ++ * config/aarch64/arm_acle.h (__arm_mte_create_random_tag) ++ (__arm_mte_exclude_tag, __arm_mte_ptrdiff) ++ (__arm_mte_increment_tag, __arm_mte_set_tag, __arm_mte_get_tag): ++ Remove. ++ ++2024-09-04 Andrew Carlotti ++ ++ PR target/112108 ++ * config/aarch64/aarch64-builtins.cc (aarch64_init_tme_builtins): ++ Define intrinsic names directly. ++ (aarch64_general_init_builtins): Move tme initialisation... ++ (handle_arm_acle_h): ...to here, and remove feature check. ++ (aarch64_general_check_builtin_call): Check tme intrinsics. ++ * config/aarch64/arm_acle.h (__tstart, __tcommit, __tcancel) ++ (__ttest): Remove. ++ (_TMFAILURE_*): Define unconditionally. ++ ++2024-09-04 Andrew Carlotti ++ ++ * config/aarch64/aarch64-sve-builtins.cc (check_builtin_call) ++ (expand_builtin): Update calls to the below. ++ (report_missing_extension, report_missing_registers) ++ (check_required_extensions): Move out of aarch64_sve namespace, ++ rename, and move into... ++ * config/aarch64/aarch64-builtins.cc (aarch64_report_missing_extension) ++ (aarch64_report_missing_registers) ++ (aarch64_check_required_extensions) ...here. ++ * config/aarch64/aarch64-protos.h (aarch64_check_required_extensions): ++ Add prototype. ++ ++2024-09-04 Andrew Carlotti ++ ++ * config/aarch64/aarch64-sve-builtins.cc ++ (check_required_registers): Remove target check and rename to... ++ (report_missing_registers): ...this. ++ (check_required_extensions): Refactor. ++ ++2024-09-03 Haochen Jiang ++ ++ * config/i386/avx512fp16intrin.h ++ (_mm512_mask_fpclass_ph_mask): Correct mask type to __mmask32. ++ (_mm512_fpclass_ph_mask): Ditto. ++ ++2024-09-02 liuhongt ++ ++ Backported from master: ++ 2024-08-30 liuhongt ++ ++ PR target/116512 ++ * config/i386/i386.cc (ix86_check_avx_upper_register): Iterate ++ subrtx to scan for avx upper register. ++ (ix86_check_avx_upper_stores): Inline old ++ ix86_check_avx_upper_register. ++ (ix86_avx_u128_mode_needed): Ditto, and replace ++ FOR_EACH_SUBRTX with call to new ++ ix86_check_avx_upper_register. ++ ++2024-08-22 liuhongt ++ ++ Backported from master: ++ 2024-08-22 liuhongt ++ ++ * config/i386/i386-options.cc (ix86_option_override_internal): ++ set ix86_{move_max,store_max} to PVW_AVX256 when TARGET_AVX ++ instead of PVW_AVX128. ++ ++2024-08-18 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-08-18 Georg-Johann Lay ++ ++ PR target/116407 ++ * config/avr/avr.md (*dec-and-branchhi!=-1.l.clobber): ++ Increase the additional jump offset to 2 words. ++ ++2024-08-18 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-08-18 Georg-Johann Lay ++ ++ PR target/116407 ++ * config/avr/avr-protos.h (avr_jump_mode): Add an int argument. ++ * config/avr/avr.cc (avr_jump_mode): Add an int argument to increase ++ the computed jump offset of backwards branches. ++ * config/avr/avr.md (*dec-and-branchhi!=-1, *dec-and-branchsi!=-1): ++ Increase the jump offset used by avr_jump_mode() as needed. ++ ++2024-08-17 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-08-17 Georg-Johann Lay ++ ++ PR target/116390 ++ * config/avr/avr.cc (avr_out_movsi_mr_r_reg_disp_tiny): Fix ++ output templates for the reg_base == reg_src and ++ reg_src == reg_base - 2 cases. ++ ++2024-08-16 Georg-Johann Lay ++ ++ PR target/85624 ++ * config/avr/avr.md (*clrmemqi*): Use HImode for alignment operand. ++ ++2024-08-16 Lingling Kong ++ ++ * config/i386/sse.md (vpmadd52): ++ Prohibit egpr for vex version. ++ (vpdpbusd_): Ditto. ++ (vpdpbusds_): Ditto. ++ (vpdpwssd_): Ditto. ++ (vpdpwssds_): Ditto. ++ (*vcvtneps2bf16_v4sf): Ditto. ++ (*vcvtneps2bf16_v8sf): Ditto. ++ (vpdp_): Ditto. ++ (vbcstnebf162ps_): Ditto. ++ (vbcstnesh2ps_): Ditto. ++ (vcvtnee2ps_): Ditto. ++ (vcvtneo2ps_): Ditto. ++ (vpdp_): Ditto. ++ ++2024-08-16 Richard Sandiford ++ ++ PR target/115464 ++ * config/aarch64/aarch64-sve-builtins-base.cc ++ (svset_neonq_impl::expand): Use force_subreg instead of ++ lowpart_subreg. ++ ++2024-08-16 Richard Sandiford ++ ++ Backported from master: ++ 2024-06-13 Richard Sandiford ++ ++ PR target/115464 ++ * simplify-rtx.cc (simplify_context::simplify_subreg): Don't try ++ to fold two subregs together if their relationship isn't known ++ at compile time. ++ * explow.h (force_subreg): Declare. ++ * explow.cc (force_subreg): New function. ++ * config/aarch64/aarch64-sve-builtins-base.cc ++ (svset_neonq_impl::expand): Use it instead of simplify_gen_subreg. ++ ++2024-08-16 liuhongt ++ ++ Backported from master: ++ 2024-08-14 liuhongt ++ ++ PR target/116174 ++ * config/i386/i386.cc (ix86_align_loops): Move this to .. ++ * config/i386/i386-features.cc (ix86_align_loops): .. here. ++ (class pass_align_tight_loops): New class. ++ (make_pass_align_tight_loops): New function. ++ * config/i386/i386-passes.def: Insert pass_align_tight_loops ++ after pass_insert_endbr_and_patchable_area. ++ * config/i386/i386-protos.h (make_pass_align_tight_loops): New ++ declare. ++ ++2024-08-14 Stefan Schulze Frielinghaus ++ ++ Backported from master: ++ 2024-08-14 Stefan Schulze Frielinghaus ++ ++ * config/s390/s390-builtin-types.def (BT_FN_UV16QI_UV2DI_UV2DI): ++ New. ++ (BT_FN_UV16QI_UV2DI_UV2DI_UV16QI): New. ++ * config/s390/s390-builtins.def (s390_vgfmg_128): New. ++ (s390_vgfmag_128): New. ++ * config/s390/vecintrin.h (vec_gfmsum_128): Use s390_vgfmg_128. ++ (vec_gfmsum_accum_128): Use s390_vgfmag_128. ++ ++2024-08-13 Michael Meissner ++ ++ * config.gcc (powerpc*-*-*): Add support for power11. ++ * config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for -mcpu=power11. ++ * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise. ++ * config/rs6000/aix73.h (ASM_CPU_SPEC): Likewise. ++ * config/rs6000/driver-rs6000.cc (asm_names): Likewise. ++ * config/rs6000/ppc-auxv.h (PPC_PLATFORM_POWER11): New define. ++ * config/rs6000/rs6000-builtin.cc (cpu_is_info): Add power11. ++ * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define ++ _ARCH_PWR11 if -mcpu=power11. ++ * config/rs6000/rs6000-cpus.def (POWER11_MASKS_SERVER): New define. ++ (POWERPC_MASKS): Add power11. ++ (power11 cpu): Add power11 definition. ++ * config/rs6000/rs6000-opts.h (PROCESSOR_POWER11): Add power11 processor. ++ * config/rs6000/rs6000-string.cc (expand_compare_loop): Likewise. ++ * config/rs6000/rs6000-tables.opt: Regenerate. ++ * config/rs6000/rs6000.cc (rs6000_option_override_internal): Add power11 ++ support. ++ (rs6000_machine_from_flags): Likewise. ++ (rs6000_reassociation_width): Likewise. ++ (rs6000_adjust_cost): Likewise. ++ (rs6000_issue_rate): Likewise. ++ (rs6000_sched_reorder): Likewise. ++ (rs6000_sched_reorder2): Likewise. ++ (rs6000_register_move_cost): Likewise. ++ (rs6000_opt_masks): Likewise. ++ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise. ++ * config/rs6000/rs6000.md (cpu attribute): Add power11. ++ * config/rs6000/rs6000.opt (-mpower11): Add internal power11 flag. ++ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=power11. ++ * config/rs6000/power10.md (all reservations): Add power11 support. ++ ++2024-08-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-08-09 Jakub Jelinek ++ ++ PR target/116287 ++ * config/i386/i386.cc (ix86_fold_builtin) : ++ When folding into zero without checking whether first argument is ++ constant, use omit_one_operand. ++ (ix86_fold_builtin) : Likewise. ++ ++2024-08-08 Georg-Johann Lay ++ ++ Backported from master: ++ 2024-08-08 Georg-Johann Lay ++ ++ PR target/116295 ++ * config/avr/avr.cc (Mem_Insn::Mem_Insn): Don't consider MEMs ++ that are avr_mem_memx_p or avr_load_libgcc_p. ++ ++2024-08-06 John David Anglin ++ ++ PR target/113384 ++ * config/pa/pa.cc (hppa_legitimize_address): Add check to ++ ensure constant is an integral multiple of shift the value. ++ ++2024-08-06 Jakub Jelinek ++ ++ Backported from master: ++ 2024-08-06 Jakub Jelinek ++ ++ PR tree-optimization/116224 ++ * wide-int.cc (wi::mul_internal): If prec isn't multiple of ++ HOST_BITS_PER_WIDE_INT, for need_overflow checking only look at ++ the least significant prec bits starting with r[half_blocks_needed]. ++ ++2024-08-06 Andrew Pinski ++ ++ Backported from master: ++ 2024-08-06 Andrew Pinski ++ ++ PR target/116189 ++ * config/sh/sh.cc (sh_recog_treg_set_expr): Don't call make_insn_raw, ++ make the insn with a fake uid. ++ ++2024-08-05 Christoph Müllner ++ ++ Backported from master: ++ 2024-07-25 Christoph Müllner ++ ++ PR target/116033 ++ * config/riscv/thead.cc (th_memidx_classify_address_modify): ++ Fix mode test. ++ ++2024-08-02 Andrew Pinski ++ ++ PR tree-optimization/116156 ++ * tree-ssa-forwprop.cc (pass_forwprop::execute): Don't add ++ uses if the statement was a debug statement. ++ ++2024-08-02 liuhongt ++ ++ Backported from master: ++ 2024-07-30 liuhongt ++ ++ PR target/116043 ++ * config/i386/constraints.md (Bk): Refine to ++ define_special_memory_constraint. ++ ++2024-08-02 Haochen Jiang ++ ++ * config/i386/prfchiintrin.h ++ (_m_prefetchit0): Add macro for non-optimized option. ++ (_m_prefetchit1): Ditto. ++ ++2024-08-02 Yang Yujie ++ ++ Backported from master: ++ 2024-08-02 Yang Yujie ++ ++ * config/loongarch/genopts/gen-evolution.awk: Do not use ++ "length()" to compute the size of an array. ++ ++2024-08-01 Jakub Jelinek ++ ++ Backported from master: ++ 2024-08-01 Jakub Jelinek ++ ++ PR target/115981 ++ * config/i386/sse.md ++ (*_vinsert_0): Swap the ++ first two VEC_MERGE operands, renumber match_operands and test ++ for 0xF or 0x3 rather than 0xFFF0 or 0xFC immediate. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/DATESTAMP ++++ b/src/gcc/DATESTAMP +@@ -1 +1 @@ +-20240801 ++20250212 +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -1697,6 +1697,7 @@ OBJS = \ + ubsan.o \ + sanopt.o \ + sancov.o \ ++ tree-assume.o \ + tree-call-cdce.o \ + tree-cfg.o \ + tree-cfgcleanup.o \ +--- a/src/gcc/ada/ChangeLog ++++ b/src/gcc/ada/ChangeLog +@@ -1,3 +1,126 @@ ++2025-02-01 Eric Botcazou ++ ++ PR ada/118712 ++ * sem_warn.adb (Check_References): Deal with small adjustments of ++ references. ++ ++2025-01-06 Eric Botcazou ++ ++ * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Use the base type of ++ the index type to find the type used to compute the length. ++ ++2025-01-05 Estevan Castilho (Tevo) ++ ++ * libgnarl/s-taprop__dummy.adb: Remove use clause for ++ System.Parameters. ++ (Unlock): Remove Global_Lock formal parameter. ++ (Write_Lock): Likewise. ++ ++2024-12-16 Eric Botcazou ++ ++ * gcc-interface/trans.cc (get_atomic_access): Deal specifically with ++ nodes that are both Atomic and Volatile_Full_Access in Ada 2012. ++ ++2024-12-12 Eric Botcazou ++ ++ PR ada/117996 ++ * libgnat/a-ngrear.adb (Jacobi): Remove default value for ++ Compute_Vectors formal parameter. ++ (Sort_Eigensystem): Add Compute_Vectors formal parameter. Do not ++ modify the Vectors if Compute_Vectors is False. ++ (Eigensystem): Pass True as Compute_Vectors to Sort_Eigensystem. ++ (Eigenvalues): Pass False as Compute_Vectors to Sort_Eigensystem. ++ ++2024-11-26 Arsen Arsenović ++ ++ Backported from master: ++ 2024-08-19 Arsen Arsenović ++ ++ PR ada/115917 ++ * gnatvsn.ads: Add note about the duplication of this value in ++ version.c. ++ * version.c (VER_LEN_MAX): Define to the same value as ++ Gnatvsn.Ver_Len_Max. ++ (gnat_version_string): Use VER_LEN_MAX as bound. ++ ++2024-11-12 Eric Botcazou ++ ++ PR ada/117328 ++ * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Use a type sized ++ from the index type to compute the length. Simplify and remove ++ useless calls to New_Copy_Tree for this computation. ++ ++2024-11-12 Eric Botcazou ++ ++ PR ada/113868 ++ * par-ch6.adb (P_Subprogram) : ++ Add delta aggregate alongside the other forms of aggregates. ++ ++2024-11-04 Eric Botcazou ++ ++ PR ada/113036 ++ * freeze.adb (Freeze_Expression): Deal with freezing actions coming ++ from within nested internal loops present in spec expressions. ++ ++2024-11-04 Eric Botcazou ++ ++ * freeze.adb (Freeze_Expression): Also attach pending freeze nodes ++ to the parent in the case of an internal block in a spec expression. ++ ++2024-11-04 Eric Botcazou ++ ++ * checks.adb (Selected_Length_Checks.Get_E_Length): For a ++ component of a record with discriminants and if the expression is ++ a selected component, try to build an actual subtype from its ++ prefix instead of from the discriminal. ++ ++2024-10-25 Eric Botcazou ++ ++ PR ada/116551 ++ * gcc-interface/trans.cc (node_is_atomic) : Return ++ false if the type of the entity is an unconstrained array type. ++ (node_is_volatile_full_access) : Likewise. ++ ++2024-10-14 Steve Baird ++ ++ PR ada/114593 ++ * sem_res.adb (Valid_Conversion): Test In_Instance instead of ++ In_Instance_Body. ++ ++2024-10-08 Eric Botcazou ++ ++ * exp_aggr.ads (Is_Two_Pass_Aggregate): New function declaration. ++ * exp_aggr.adb (Is_Two_Pass_Aggregate): New function body. ++ (Expand_Array_Aggregate): Call Is_Two_Pass_Aggregate to detect the ++ aggregates that need the 2-pass expansion. ++ * exp_ch3.adb (Expand_Freeze_Array_Type): In the anonymous array ++ case, build the initialization procedure if the initial value in ++ the object declaration is a 2-pass aggregate. ++ ++2024-10-08 Eric Botcazou ++ ++ PR ada/115535 ++ * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the size ++ of the underlying type to find the support type. ++ ++2024-10-08 Eric Botcazou ++ ++ PR ada/114640 ++ * exp_util.adb (Find_Hook_Context): For a node present within a ++ conditional expression, do not return an N_Elsif_Part node. ++ ++2024-10-08 Eric Botcazou ++ ++ PR ada/114636 ++ * sem_ch12.adb (Check_Formal_Package_Instance): For a defaulted ++ formal discrete type, skip the generated implicit base type. ++ ++2024-10-04 Eric Botcazou ++ ++ PR ada/116430 ++ * exp_ch7.adb (Build_Finalizer.Create_Finalizer): For the insertion ++ point of the finalizer, deal with package bodies that are subunits. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/ada/checks.adb ++++ b/src/gcc/ada/checks.adb +@@ -9800,7 +9800,15 @@ package body Checks is + if Ekind (Scope (E)) = E_Record_Type + and then Has_Discriminants (Scope (E)) + then +- N := Build_Discriminal_Subtype_Of_Component (E); ++ -- If the expression is a selected component, in other words, ++ -- has a prefix, then build an actual subtype from the prefix. ++ -- Otherwise, build an actual subtype from the discriminal. ++ ++ if Nkind (Expr) = N_Selected_Component then ++ N := Build_Actual_Subtype_Of_Component (E, Expr); ++ else ++ N := Build_Discriminal_Subtype_Of_Component (E); ++ end if; + + if Present (N) then + Insert_Action (Expr, N); +--- a/src/gcc/ada/exp_aggr.adb ++++ b/src/gcc/ada/exp_aggr.adb +@@ -5704,7 +5704,11 @@ package body Exp_Aggr is + Comp_Type : constant Entity_Id := Etype (N); + Index_Id : constant Entity_Id := Make_Temporary (Loc, 'I', N); + Index_Type : constant Entity_Id := Etype (First_Index (Etype (N))); ++ Index_Base : constant Entity_Id := Base_Type (Index_Type); + Size_Id : constant Entity_Id := Make_Temporary (Loc, 'I', N); ++ Size_Type : constant Entity_Id := ++ Integer_Type_For ++ (Esize (Index_Base), Is_Unsigned_Type (Index_Base)); + TmpE : constant Entity_Id := Make_Temporary (Loc, 'A', N); + + Assoc : Node_Id := First (Component_Associations (N)); +@@ -5720,7 +5724,7 @@ package body Exp_Aggr is + Size_Expr_Code := New_List ( + Make_Object_Declaration (Loc, + Defining_Identifier => Size_Id, +- Object_Definition => New_Occurrence_Of (Standard_Integer, Loc), ++ Object_Definition => New_Occurrence_Of (Size_Type, Loc), + Expression => Make_Integer_Literal (Loc, 0))); + + -- First pass: execute the iterators to count the number of elements +@@ -5747,32 +5751,35 @@ package body Exp_Aggr is + + Insert_Actions (N, Size_Expr_Code); + +- -- Build a constrained subtype with the calculated length +- -- and declare the proper bounded aggregate object. ++ -- Build a constrained subtype with the bounds deduced from ++ -- the size computed above and declare the aggregate object. + -- The index type is some discrete type, so the bounds of the +- -- constructed array are computed as T'Val (T'Pos (ineger bound)); ++ -- constrained subtype are computed as T'Val (integer bounds). + + declare ++ -- Pos_Lo := Index_Type'Pos (Index_Type'First) ++ + Pos_Lo : constant Node_Id := + Make_Attribute_Reference (Loc, +- Prefix => New_Occurrence_Of (Index_Type, Loc), ++ Prefix => New_Occurrence_Of (Index_Type, Loc), + Attribute_Name => Name_Pos, +- Expressions => New_List ( ++ Expressions => New_List ( + Make_Attribute_Reference (Loc, + Prefix => New_Occurrence_Of (Index_Type, Loc), + Attribute_Name => Name_First))); + ++ -- Corresponding index value, i.e. Index_Type'First ++ + Aggr_Lo : constant Node_Id := + Make_Attribute_Reference (Loc, +- Prefix => New_Occurrence_Of (Index_Type, Loc), +- Attribute_Name => Name_Val, +- Expressions => New_List (New_Copy_Tree (Pos_Lo))); ++ Prefix => New_Occurrence_Of (Index_Type, Loc), ++ Attribute_Name => Name_First); + +- -- Hi = Index_type'Pos (Lo + Size -1). ++ -- Pos_Hi := Pos_Lo + Size - 1 + + Pos_Hi : constant Node_Id := + Make_Op_Add (Loc, +- Left_Opnd => New_Copy_Tree (Pos_Lo), ++ Left_Opnd => Pos_Lo, + Right_Opnd => + Make_Op_Subtract (Loc, + Left_Opnd => New_Occurrence_Of (Size_Id, Loc), +@@ -5784,7 +5791,7 @@ package body Exp_Aggr is + Make_Attribute_Reference (Loc, + Prefix => New_Occurrence_Of (Index_Type, Loc), + Attribute_Name => Name_Val, +- Expressions => New_List (New_Copy_Tree (Pos_Hi))); ++ Expressions => New_List (Pos_Hi)); + + SubE : constant Entity_Id := Make_Temporary (Loc, 'T'); + SubD : constant Node_Id := +@@ -5807,6 +5814,7 @@ package body Exp_Aggr is + Make_Object_Declaration (Loc, + Defining_Identifier => TmpE, + Object_Definition => New_Occurrence_Of (SubE, Loc)); ++ + begin + Insert_Actions (N, New_List (SubD, TmpD)); + end; +@@ -5908,12 +5916,7 @@ package body Exp_Aggr is + then + return; + +- elsif Present (Component_Associations (N)) +- and then Nkind (First (Component_Associations (N))) = +- N_Iterated_Component_Association +- and then +- Present (Iterator_Specification (First (Component_Associations (N)))) +- then ++ elsif Is_Two_Pass_Aggregate (N) then + Two_Pass_Aggregate_Expansion (N); + return; + +@@ -8710,6 +8713,21 @@ package body Exp_Aggr is + and then C in Uint_1 | Uint_2 | Uint_4; -- False if No_Uint + end Is_Two_Dim_Packed_Array; + ++ --------------------------- ++ -- Is_Two_Pass_Aggregate -- ++ --------------------------- ++ ++ function Is_Two_Pass_Aggregate (N : Node_Id) return Boolean is ++ begin ++ return Nkind (N) = N_Aggregate ++ and then Present (Component_Associations (N)) ++ and then Nkind (First (Component_Associations (N))) = ++ N_Iterated_Component_Association ++ and then ++ Present ++ (Iterator_Specification (First (Component_Associations (N)))); ++ end Is_Two_Pass_Aggregate; ++ + -------------------- + -- Late_Expansion -- + -------------------- +--- a/src/gcc/ada/exp_aggr.ads ++++ b/src/gcc/ada/exp_aggr.ads +@@ -35,6 +35,10 @@ package Exp_Aggr is + -- Returns True if N is an aggregate of some kind whose Expansion_Delayed + -- flag is set (see sinfo for meaning of flag). + ++ function Is_Two_Pass_Aggregate (N : Node_Id) return Boolean; ++ -- Return True if N is an aggregate that is to be expanded in two passes. ++ -- This is the case if it consists only of iterated associations. ++ + procedure Convert_Aggr_In_Object_Decl (N : Node_Id); + -- N is a N_Object_Declaration with an expression which must be an + -- N_Aggregate or N_Extension_Aggregate with Expansion_Delayed. +--- a/src/gcc/ada/exp_ch3.adb ++++ b/src/gcc/ada/exp_ch3.adb +@@ -4889,17 +4889,22 @@ package body Exp_Ch3 is + + if No (Init_Proc (Base)) then + +- -- If this is an anonymous array created for a declaration with +- -- an initial value, its init_proc will never be called. The ++ -- If this is an anonymous array built for an object declaration ++ -- with an initial value, its Init_Proc will never be called. The + -- initial value itself may have been expanded into assignments, +- -- in which case the object declaration is carries the +- -- No_Initialization flag. ++ -- in which case the declaration has the No_Initialization flag. ++ -- The exception is when the initial value is a 2-pass aggregate, ++ -- because the special expansion used for it creates a temporary ++ -- that needs a fully-fledged initialization. + + if Is_Itype (Base) + and then Nkind (Associated_Node_For_Itype (Base)) = + N_Object_Declaration + and then +- (Present (Expression (Associated_Node_For_Itype (Base))) ++ ((Present (Expression (Associated_Node_For_Itype (Base))) ++ and then not ++ Is_Two_Pass_Aggregate ++ (Expression (Associated_Node_For_Itype (Base)))) + or else No_Initialization (Associated_Node_For_Itype (Base))) + then + null; +--- a/src/gcc/ada/exp_ch7.adb ++++ b/src/gcc/ada/exp_ch7.adb +@@ -2051,6 +2051,12 @@ package body Exp_Ch7 is + and then List_Containing (Finalizer_Insert_Nod) = Stmts) + then + Finalizer_Insert_Nod := Last_Top_Level_Ctrl_Construct; ++ if Nkind (Finalizer_Insert_Nod) = N_Package_Body ++ and then Nkind (Parent (Finalizer_Insert_Nod)) = N_Subunit ++ then ++ Finalizer_Insert_Nod := ++ Corresponding_Stub (Parent (Finalizer_Insert_Nod)); ++ end if; + end if; + + Insert_After (Finalizer_Insert_Nod, Fin_Body); +--- a/src/gcc/ada/exp_put_image.adb ++++ b/src/gcc/ada/exp_put_image.adb +@@ -293,10 +293,9 @@ package body Exp_Put_Image is + Loc : constant Source_Ptr := Sloc (N); + P_Type : constant Entity_Id := Entity (Prefix (N)); + U_Type : constant Entity_Id := Underlying_Type (P_Type); +- FST : constant Entity_Id := First_Subtype (U_Type); + Sink : constant Node_Id := First (Expressions (N)); + Item : constant Node_Id := Next (Sink); +- P_Size : constant Uint := Esize (FST); ++ P_Size : constant Uint := Esize (U_Type); + Lib_RE : RE_Id; + + begin +--- a/src/gcc/ada/exp_util.adb ++++ b/src/gcc/ada/exp_util.adb +@@ -6555,6 +6555,7 @@ package body Exp_Util is + | N_Aggregate + | N_Delta_Aggregate + | N_Extension_Aggregate ++ | N_Elsif_Part + and then Nkind (Parent (Par)) not in N_Function_Call + | N_Procedure_Call_Statement + | N_Entry_Call_Statement +--- a/src/gcc/ada/freeze.adb ++++ b/src/gcc/ada/freeze.adb +@@ -8684,8 +8684,9 @@ package body Freeze is + or else Ekind (Current_Scope) = E_Void + then + declare +- Freeze_Nodes : List_Id := No_List; +- Pos : Int := Scope_Stack.Last; ++ Freeze_Nodes : List_Id := No_List; ++ Pos : Int := Scope_Stack.Last; ++ Scop : Entity_Id := Current_Scope; + + begin + if Present (Desig_Typ) then +@@ -8701,7 +8702,8 @@ package body Freeze is + end if; + + -- The current scope may be that of a constrained component of +- -- an enclosing record declaration, or of a loop of an enclosing ++ -- an enclosing record declaration, or a block of an enclosing ++ -- declare expression in Ada 2022, or of a loop of an enclosing + -- quantified expression or aggregate with an iterated component + -- in Ada 2022, which is above the current scope in the scope + -- stack. Indeed in the context of a quantified expression or +@@ -8711,12 +8713,18 @@ package body Freeze is + -- If the expression is within a top-level pragma, as for a pre- + -- condition on a library-level subprogram, nothing to do. + +- if not Is_Compilation_Unit (Current_Scope) +- and then (Is_Record_Type (Scope (Current_Scope)) +- or else (Ekind (Current_Scope) = E_Loop +- and then Is_Internal (Current_Scope))) +- then +- Pos := Pos - 1; ++ if not Is_Compilation_Unit (Scop) then ++ if Is_Record_Type (Scope (Scop)) then ++ Pos := Pos - 1; ++ ++ else ++ while Ekind (Scop) in E_Block | E_Loop ++ and then Is_Internal (Scop) ++ loop ++ Pos := Pos - 1; ++ Scop := Scope (Scop); ++ end loop; ++ end if; + end if; + + if Is_Non_Empty_List (Freeze_Nodes) then +--- a/src/gcc/ada/gcc-interface/trans.cc ++++ b/src/gcc/ada/gcc-interface/trans.cc +@@ -4230,7 +4230,10 @@ node_is_atomic (Node_Id gnat_node) + if (!Is_Object (gnat_entity)) + break; + return Is_Atomic (gnat_entity) ++ /* Disregard the flag on unconstrained arrays or simple constants ++ since we cannot or need not generate an atomic access. */ + || (Is_Atomic (Etype (gnat_entity)) ++ && Ekind (Etype (gnat_entity)) != E_Array_Type + && !simple_constant_p (gnat_entity)); + + case N_Selected_Component: +@@ -4270,7 +4273,10 @@ node_is_volatile_full_access (Node_Id gnat_node) + if (!Is_Object (gnat_entity)) + break; + return Is_Volatile_Full_Access (gnat_entity) ++ /* Disregard the flag on unconstrained arrays or simple constants ++ since we cannot or need not generate a full access. */ + || (Is_Volatile_Full_Access (Etype (gnat_entity)) ++ && Ekind (Etype (gnat_entity)) != E_Array_Type + && !simple_constant_p (gnat_entity)); + + case N_Selected_Component: +@@ -4358,9 +4364,9 @@ get_atomic_access (Node_Id gnat_node, atomic_acces_t *type, bool *sync) + gnat_node = Expression (gnat_node); + + /* Up to Ada 2012, for Atomic itself, only reads and updates of the object as +- a whole require atomic access (RM C.6(15)). But, starting with Ada 2022, +- reads of or writes to a nonatomic subcomponent of the object also require +- atomic access (RM C.6(19)). */ ++ a whole require atomic access (RM C.6(15)), unless the object is also VFA. ++ But, starting with Ada 2022, reads of or writes to nonatomic subcomponents ++ of the object also require atomic access (RM C.6(19)). */ + if (node_is_atomic (gnat_node)) + { + bool as_a_whole = true; +@@ -4369,7 +4375,9 @@ get_atomic_access (Node_Id gnat_node, atomic_acces_t *type, bool *sync) + for (gnat_temp = gnat_node, gnat_parent = Parent (gnat_temp); + node_is_component (gnat_parent) && Prefix (gnat_parent) == gnat_temp; + gnat_temp = gnat_parent, gnat_parent = Parent (gnat_temp)) +- if (Ada_Version < Ada_2022 || node_is_atomic (gnat_parent)) ++ if (Ada_Version < Ada_2022 ++ ? !node_is_volatile_full_access (gnat_node) ++ : node_is_atomic (gnat_parent)) + goto not_atomic; + else + as_a_whole = false; +--- a/src/gcc/ada/gnatvsn.ads ++++ b/src/gcc/ada/gnatvsn.ads +@@ -83,7 +83,8 @@ package Gnatvsn is + -- space to store any possible version string value for checks. This + -- value should never be decreased in the future, but it would be + -- OK to increase it if absolutely necessary. If it is increased, +- -- be sure to increase GNAT.Compiler.Version.Ver_Len_Max as well. ++ -- be sure to increase GNAT.Compiler.Version.Ver_Len_Max, and to update ++ -- the VER_LEN_MAX define in version.c as well. + + Ver_Prefix : constant String := "GNAT Version: "; + -- Prefix generated by binder. If it is changed, be sure to change +--- a/src/gcc/ada/libgnarl/s-taprop__dummy.adb ++++ b/src/gcc/ada/libgnarl/s-taprop__dummy.adb +@@ -37,7 +37,6 @@ + package body System.Task_Primitives.Operations is + + use System.Tasking; +- use System.Parameters; + + pragma Warnings (Off); + -- Turn off warnings since so many unreferenced parameters +@@ -480,10 +479,7 @@ package body System.Task_Primitives.Operations is + null; + end Unlock; + +- procedure Unlock +- (L : not null access RTS_Lock; +- Global_Lock : Boolean := False) +- is ++ procedure Unlock (L : not null access RTS_Lock) is + begin + null; + end Unlock; +@@ -522,10 +518,7 @@ package body System.Task_Primitives.Operations is + Ceiling_Violation := False; + end Write_Lock; + +- procedure Write_Lock +- (L : not null access RTS_Lock; +- Global_Lock : Boolean := False) +- is ++ procedure Write_Lock (L : not null access RTS_Lock) is + begin + null; + end Write_Lock; +--- a/src/gcc/ada/libgnat/a-ngrear.adb ++++ b/src/gcc/ada/libgnat/a-ngrear.adb +@@ -96,7 +96,7 @@ package body Ada.Numerics.Generic_Real_Arrays is + (A : Real_Matrix; + Values : out Real_Vector; + Vectors : out Real_Matrix; +- Compute_Vectors : Boolean := True); ++ Compute_Vectors : Boolean); + -- Perform Jacobi's eigensystem algorithm on real symmetric matrix A + + function Length is new Square_Matrix_Length (Real'Base, Real_Matrix); +@@ -107,8 +107,9 @@ package body Ada.Numerics.Generic_Real_Arrays is + -- Perform a Givens rotation + + procedure Sort_Eigensystem +- (Values : in out Real_Vector; +- Vectors : in out Real_Matrix); ++ (Values : in out Real_Vector; ++ Vectors : in out Real_Matrix; ++ Compute_Vectors : Boolean); + -- Sort Values and associated Vectors by decreasing absolute value + + procedure Swap (Left, Right : in out Real); +@@ -486,7 +487,7 @@ package body Ada.Numerics.Generic_Real_Arrays is + is + begin + Jacobi (A, Values, Vectors, Compute_Vectors => True); +- Sort_Eigensystem (Values, Vectors); ++ Sort_Eigensystem (Values, Vectors, Compute_Vectors => True); + end Eigensystem; + + ----------------- +@@ -500,7 +501,7 @@ package body Ada.Numerics.Generic_Real_Arrays is + Vectors : Real_Matrix (1 .. 0, 1 .. 0); + begin + Jacobi (A, Values, Vectors, Compute_Vectors => False); +- Sort_Eigensystem (Values, Vectors); ++ Sort_Eigensystem (Values, Vectors, Compute_Vectors => False); + end; + end return; + end Eigenvalues; +@@ -522,7 +523,7 @@ package body Ada.Numerics.Generic_Real_Arrays is + (A : Real_Matrix; + Values : out Real_Vector; + Vectors : out Real_Matrix; +- Compute_Vectors : Boolean := True) ++ Compute_Vectors : Boolean) + is + -- This subprogram uses Carl Gustav Jacob Jacobi's iterative method + -- for computing eigenvalues and eigenvectors and is based on +@@ -731,8 +732,9 @@ package body Ada.Numerics.Generic_Real_Arrays is + ---------------------- + + procedure Sort_Eigensystem +- (Values : in out Real_Vector; +- Vectors : in out Real_Matrix) ++ (Values : in out Real_Vector; ++ Vectors : in out Real_Matrix; ++ Compute_Vectors : Boolean) + is + procedure Swap (Left, Right : Integer); + -- Swap Values (Left) with Values (Right), and also swap the +@@ -748,8 +750,10 @@ package body Ada.Numerics.Generic_Real_Arrays is + procedure Swap (Left, Right : Integer) is + begin + Swap (Values (Left), Values (Right)); +- Swap_Column (Vectors, Left - Values'First + Vectors'First (2), +- Right - Values'First + Vectors'First (2)); ++ if Compute_Vectors then ++ Swap_Column (Vectors, Left - Values'First + Vectors'First (2), ++ Right - Values'First + Vectors'First (2)); ++ end if; + end Swap; + + begin +--- a/src/gcc/ada/par-ch6.adb ++++ b/src/gcc/ada/par-ch6.adb +@@ -884,6 +884,7 @@ package body Ch6 is + + if not (Paren_Count (Expr) /= 0 + or else Nkind (Expr) in N_Aggregate ++ | N_Delta_Aggregate + | N_Extension_Aggregate + | N_Quantified_Expression) + then +--- a/src/gcc/ada/sem_ch12.adb ++++ b/src/gcc/ada/sem_ch12.adb +@@ -6696,8 +6696,12 @@ package body Sem_Ch12 is + then + -- If the formal is a tagged type the corresponding class-wide + -- type has been generated as well, and it must be skipped. ++ -- Likewise, for a formal discrete type, the base type has been ++ -- generated as well (see Analyze_Formal_Discrete_Type). + +- if Is_Type (E2) and then Is_Tagged_Type (E2) then ++ if Is_Type (E2) ++ and then (Is_Tagged_Type (E2) or else Is_Enumeration_Type (E2)) ++ then + Next_Entity (E2); + end if; + +--- a/src/gcc/ada/sem_res.adb ++++ b/src/gcc/ada/sem_res.adb +@@ -14621,7 +14621,7 @@ package body Sem_Res is + + -- If it was legal in the generic, it's legal in the instance + +- elsif In_Instance_Body then ++ elsif In_Instance then + return True; + + -- If both are tagged types, check legality of view conversions +--- a/src/gcc/ada/sem_warn.adb ++++ b/src/gcc/ada/sem_warn.adb +@@ -1229,6 +1229,10 @@ package body Sem_Warn is + UR := Unset_Reference (E1); + end if; + ++ -- Protect again small adjustments of reference ++ ++ UR := Unqual_Conv (UR); ++ + -- Special processing for access types + + if Present (UR) and then Is_Access_Type (E1T) then +--- a/src/gcc/ada/version.c ++++ b/src/gcc/ada/version.c +@@ -31,4 +31,7 @@ + + #include "version.h" + +-char gnat_version_string[] = version_string; ++/* Logically a reference to Gnatvsn.Ver_Len_Max. Please keep in sync. */ ++#define VER_LEN_MAX 256 ++ ++char gnat_version_string[VER_LEN_MAX] = version_string; +--- a/src/gcc/analyzer/ChangeLog ++++ b/src/gcc/analyzer/ChangeLog +@@ -1,3 +1,46 @@ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-07-04 David Malcolm ++ ++ PR analyzer/115724 ++ * kf.cc (register_known_functions): Add __error_alias and ++ __error_at_line_alias. ++ ++2024-11-20 David Malcolm ++ ++ Backported from master: ++ 2024-05-03 David Malcolm ++ ++ PR analyzer/111475 ++ * analyzer.cc (is_special_named_call_p): Add "look_in_std" param. ++ (is_std_function_p): Make non-static. ++ * analyzer.h (is_special_named_call_p): Add optional "look_in_std" ++ param. ++ (is_std_function_p): New decl. ++ * engine.cc (stmt_requires_new_enode_p): Look for both "signal" ++ and "std::signal". ++ * kf.cc (register_known_functions): Add various "std::" copies ++ of the known functions. ++ * known-function-manager.cc ++ (known_function_manager::~known_function_manager): Clean up ++ m_std_ns_map_id_to_kf. ++ (known_function_manager::add_std_ns): New. ++ (known_function_manager::get_match): Also look for known "std::" ++ functions. ++ (known_function_manager::get_by_identifier_in_std_ns): New. ++ * known-function-manager.h ++ (known_function_manager::add_std_ns): New decl. ++ (known_function_manager::get_by_identifier_in_std_ns): New decl. ++ (known_function_manager::m_std_ns_map_id_to_kf): New field. ++ * sm-file.cc (register_known_file_functions): Add various "std::" ++ copies of the known functions. ++ * sm-malloc.cc (malloc_state_machine::on_stmt): Handle ++ "std::realloc". ++ * sm-signal.cc (signal_unsafe_p): Consider "std::" copies of the ++ functions as also being async-signal-unsafe. ++ (signal_state_machine::on_stmt): Consider "std::signal". ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/analyzer/analyzer.cc ++++ b/src/gcc/analyzer/analyzer.cc +@@ -293,11 +293,13 @@ get_ssa_default_def (const function &fun, tree var) + is_named_call_p should be used instead, using a fndecl from + get_fndecl_for_call; this function should only be used for special cases + where it's not practical to get at the region model, or for special +- analyzer functions such as __analyzer_dump. */ ++ analyzer functions such as __analyzer_dump. ++ ++ If LOOK_IN_STD is true, then also look for within std:: for the name. */ + + bool + is_special_named_call_p (const gcall *call, const char *funcname, +- unsigned int num_args) ++ unsigned int num_args, bool look_in_std) + { + gcc_assert (funcname); + +@@ -305,7 +307,12 @@ is_special_named_call_p (const gcall *call, const char *funcname, + if (!fndecl) + return false; + +- return is_named_call_p (fndecl, funcname, call, num_args); ++ if (is_named_call_p (fndecl, funcname, call, num_args)) ++ return true; ++ if (look_in_std) ++ if (is_std_named_call_p (fndecl, funcname, call, num_args)) ++ return true; ++ return false; + } + + /* Helper function for checkers. Is FNDECL an extern fndecl at file scope +@@ -344,7 +351,7 @@ is_named_call_p (const_tree fndecl, const char *funcname) + Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't + rely on being the C++ FE (or handle inline namespaces inside of std). */ + +-static inline bool ++bool + is_std_function_p (const_tree fndecl) + { + tree name_decl = DECL_NAME (fndecl); +--- a/src/gcc/analyzer/analyzer.h ++++ b/src/gcc/analyzer/analyzer.h +@@ -448,10 +448,12 @@ extern tree remove_ssa_names (tree expr); + } // namespace ana + + extern bool is_special_named_call_p (const gcall *call, const char *funcname, +- unsigned int num_args); ++ unsigned int num_args, ++ bool look_in_std = false); + extern bool is_named_call_p (const_tree fndecl, const char *funcname); + extern bool is_named_call_p (const_tree fndecl, const char *funcname, + const gcall *call, unsigned int num_args); ++extern bool is_std_function_p (const_tree fndecl); + extern bool is_std_named_call_p (const_tree fndecl, const char *funcname); + extern bool is_std_named_call_p (const_tree fndecl, const char *funcname, + const gcall *call, unsigned int num_args); +--- a/src/gcc/analyzer/engine.cc ++++ b/src/gcc/analyzer/engine.cc +@@ -3768,7 +3768,7 @@ stmt_requires_new_enode_p (const gimple *stmt, + regular next state, which defeats the "detect state change" logic + in process_node. Work around this via special-casing, to ensure + we split the enode immediately before any "signal" call. */ +- if (is_special_named_call_p (call, "signal", 2)) ++ if (is_special_named_call_p (call, "signal", 2, true)) + return true; + } + +--- a/src/gcc/analyzer/kf.cc ++++ b/src/gcc/analyzer/kf.cc +@@ -2324,6 +2324,10 @@ register_known_functions (known_function_manager &kfm, + kfm.add ("__errno_location", make_unique ()); + kfm.add ("error", make_unique (3)); + kfm.add ("error_at_line", make_unique (5)); ++ /* Variants of "error" and "error_at_line" seen by the ++ analyzer at -O0 (PR analyzer/115724). */ ++ kfm.add ("__error_alias", make_unique (3)); ++ kfm.add ("__error_at_line_alias", make_unique (5)); + } + + /* Other implementations of C standard library. */ +@@ -2344,6 +2348,28 @@ register_known_functions (known_function_manager &kfm, + + /* Language-specific support functions. */ + register_known_functions_lang_cp (kfm); ++ ++ /* Some C++ implementations use the std:: copies of these functions ++ from etc for the C spellings of these headers (e.g. ), ++ so we must match against these too. */ ++ { ++ kfm.add_std_ns ("malloc", make_unique ()); ++ kfm.add_std_ns ("free", make_unique ()); ++ kfm.add_std_ns ("realloc", make_unique ()); ++ kfm.add_std_ns ("calloc", make_unique ()); ++ kfm.add_std_ns ++ ("memcpy", ++ make_unique (kf_memcpy_memmove::KF_MEMCPY)); ++ kfm.add_std_ns ++ ("memmove", ++ make_unique (kf_memcpy_memmove::KF_MEMMOVE)); ++ kfm.add_std_ns ("memset", make_unique (false)); ++ kfm.add_std_ns ("strcat", make_unique (2, false)); ++ kfm.add_std_ns ("strcpy", make_unique (2, false)); ++ kfm.add_std_ns ("strlen", make_unique ()); ++ kfm.add_std_ns ("strncpy", make_unique ()); ++ kfm.add_std_ns ("strtok", make_unique (rmm)); ++ } + } + + } // namespace ana +--- a/src/gcc/analyzer/known-function-manager.cc ++++ b/src/gcc/analyzer/known-function-manager.cc +@@ -50,6 +50,8 @@ known_function_manager::~known_function_manager () + /* Delete all owned kfs. */ + for (auto iter : m_map_id_to_kf) + delete iter.second; ++ for (auto iter : m_std_ns_map_id_to_kf) ++ delete iter.second; + for (auto iter : m_combined_fns_arr) + delete iter; + } +@@ -63,6 +65,15 @@ known_function_manager::add (const char *name, + m_map_id_to_kf.put (id, kf.release ()); + } + ++void ++known_function_manager::add_std_ns (const char *name, ++ std::unique_ptr kf) ++{ ++ LOG_FUNC_1 (get_logger (), "registering std::%s", name); ++ tree id = get_identifier (name); ++ m_std_ns_map_id_to_kf.put (id, kf.release ()); ++} ++ + void + known_function_manager::add (enum built_in_function name, + std::unique_ptr kf) +@@ -104,7 +115,16 @@ known_function_manager::get_match (tree fndecl, const call_details &cd) const + + /* Look for a match by name. */ + +- /* Reject fndecls that aren't in the root namespace. */ ++ if (is_std_function_p (fndecl)) ++ { ++ if (tree identifier = DECL_NAME (fndecl)) ++ if (const known_function *candidate ++ = get_by_identifier_in_std_ns (identifier)) ++ if (candidate->matches_call_types_p (cd)) ++ return candidate; ++ return nullptr; ++ } ++ + if (DECL_CONTEXT (fndecl) + && TREE_CODE (DECL_CONTEXT (fndecl)) != TRANSLATION_UNIT_DECL) + return NULL; +@@ -158,6 +178,22 @@ known_function_manager::get_by_identifier (tree identifier) const + return NULL; + } + ++/* Get any known_function in C++ std:: namespace matching IDENTIFIER, without ++ type-checking. ++ Return nullptr if there isn't one. */ ++ ++const known_function * ++known_function_manager::get_by_identifier_in_std_ns (tree identifier) const ++{ ++ known_function_manager *mut_this = const_cast(this); ++ known_function **slot = mut_this->m_std_ns_map_id_to_kf.get (identifier); ++ if (slot) ++ return *slot; ++ else ++ return nullptr; ++} ++ ++ + } // namespace ana + + #endif /* #if ENABLE_ANALYZER */ +--- a/src/gcc/analyzer/known-function-manager.h ++++ b/src/gcc/analyzer/known-function-manager.h +@@ -44,6 +44,7 @@ public: + ~known_function_manager (); + + void add (const char *name, std::unique_ptr kf); ++ void add_std_ns (const char *name, std::unique_ptr kf); + void add (enum built_in_function name, std::unique_ptr kf); + void add (enum internal_fn ifn, std::unique_ptr kf); + +@@ -57,11 +58,15 @@ private: + const known_function * + get_normal_builtin (const builtin_known_function *builtin_kf) const; + const known_function *get_by_identifier (tree identifier) const; ++ const known_function *get_by_identifier_in_std_ns (tree identifier) const; + + /* Map from identifier to known_function instance. + Has ownership of the latter. */ + hash_map m_map_id_to_kf; + ++ /* Likewise for C++'s std:: namespace. */ ++ hash_map m_std_ns_map_id_to_kf; ++ + /* Array of known builtins. */ + known_function *m_combined_fns_arr[CFN_LAST]; + }; +--- a/src/gcc/analyzer/sm-file.cc ++++ b/src/gcc/analyzer/sm-file.cc +@@ -648,6 +648,14 @@ register_known_file_functions (known_function_manager &kfm) + kfm.add ("fread", make_unique ()); + kfm.add ("getc", make_unique ()); + kfm.add ("getchar", make_unique ()); ++ ++ /* Some C++ implementations use the std:: copies of these functions ++ from for , so we must match against these too. */ ++ kfm.add_std_ns ("ferror", make_unique ()); ++ kfm.add_std_ns ("fgets", make_unique ()); ++ kfm.add_std_ns ("fread", make_unique ()); ++ kfm.add_std_ns ("getc", make_unique ()); ++ kfm.add_std_ns ("getchar", make_unique ()); + } + + #if CHECKING_P +--- a/src/gcc/analyzer/sm-malloc.cc ++++ b/src/gcc/analyzer/sm-malloc.cc +@@ -1983,6 +1983,7 @@ malloc_state_machine::on_stmt (sm_context *sm_ctxt, + } + + if (is_named_call_p (callee_fndecl, "realloc", call, 2) ++ || is_std_named_call_p (callee_fndecl, "realloc", call, 2) + || is_named_call_p (callee_fndecl, "__builtin_realloc", call, 2)) + { + on_realloc_call (sm_ctxt, node, call); +--- a/src/gcc/analyzer/sm-signal.cc ++++ b/src/gcc/analyzer/sm-signal.cc +@@ -320,7 +320,13 @@ static bool + signal_unsafe_p (tree fndecl) + { + function_set fs = get_async_signal_unsafe_fns (); +- return fs.contains_decl_p (fndecl); ++ if (fs.contains_decl_p (fndecl)) ++ return true; ++ if (is_std_function_p (fndecl) ++ && fs.contains_name_p (IDENTIFIER_POINTER (DECL_NAME (fndecl)))) ++ return true; ++ ++ return false; + } + + /* Implementation of state_machine::on_stmt vfunc for signal_state_machine. */ +@@ -335,7 +341,8 @@ signal_state_machine::on_stmt (sm_context *sm_ctxt, + { + if (const gcall *call = dyn_cast (stmt)) + if (tree callee_fndecl = sm_ctxt->get_fndecl_for_call (call)) +- if (is_named_call_p (callee_fndecl, "signal", call, 2)) ++ if (is_named_call_p (callee_fndecl, "signal", call, 2) ++ || is_std_named_call_p (callee_fndecl, "signal", call, 2)) + { + tree handler = gimple_call_arg (call, 1); + if (TREE_CODE (handler) == ADDR_EXPR +--- a/src/gcc/asan.cc ++++ b/src/gcc/asan.cc +@@ -2100,28 +2100,13 @@ asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb, + mem = adjust_address (mem, VOIDmode, base_align_bias); + emit_move_insn (mem, gen_int_mode (ASAN_STACK_RETIRED_MAGIC, ptr_mode)); + unsigned HOST_WIDE_INT sz = asan_frame_size >> ASAN_SHADOW_SHIFT; ++ bool asan_stack_free_emitted_p = false; + if (use_after_return_class < 5 + && can_store_by_pieces (sz, builtin_memset_read_str, &c, + BITS_PER_UNIT, true)) +- { +- /* Emit: +- memset(ShadowBase, kAsanStackAfterReturnMagic, ShadowSize); +- **SavedFlagPtr(FakeStack, class_id) = 0 +- */ +- store_by_pieces (shadow_mem, sz, builtin_memset_read_str, &c, +- BITS_PER_UNIT, true, RETURN_BEGIN); +- +- unsigned HOST_WIDE_INT offset +- = (1 << (use_after_return_class + 6)); +- offset -= GET_MODE_SIZE (ptr_mode); +- mem = gen_rtx_MEM (ptr_mode, base); +- mem = adjust_address (mem, ptr_mode, offset); +- rtx addr = gen_reg_rtx (ptr_mode); +- emit_move_insn (addr, mem); +- addr = convert_memory_address (Pmode, addr); +- mem = gen_rtx_MEM (QImode, addr); +- emit_move_insn (mem, const0_rtx); +- } ++ /* Emit memset (ShadowBase, kAsanStackAfterReturnMagic, ShadowSize). */ ++ store_by_pieces (shadow_mem, sz, builtin_memset_read_str, &c, ++ BITS_PER_UNIT, true, RETURN_BEGIN); + else if (use_after_return_class >= 5 + || !set_storage_via_setmem (shadow_mem, + GEN_INT (sz), +@@ -2138,6 +2123,20 @@ asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb, + GEN_INT (asan_frame_size + base_align_bias), + TYPE_MODE (pointer_sized_int_node), + orig_addr, ptr_mode); ++ asan_stack_free_emitted_p = true; ++ } ++ if (!asan_stack_free_emitted_p) ++ { ++ /* Emit **SavedFlagPtr (FakeStack, class_id) = 0. */ ++ unsigned HOST_WIDE_INT offset = (1 << (use_after_return_class + 6)); ++ offset -= GET_MODE_SIZE (ptr_mode); ++ mem = gen_rtx_MEM (ptr_mode, base); ++ mem = adjust_address (mem, ptr_mode, offset); ++ rtx addr = gen_reg_rtx (ptr_mode); ++ emit_move_insn (addr, mem); ++ addr = convert_memory_address (Pmode, addr); ++ mem = gen_rtx_MEM (QImode, addr); ++ emit_move_insn (mem, const0_rtx); + } + lab = gen_label_rtx (); + emit_jump (lab); +@@ -2610,7 +2609,7 @@ maybe_cast_to_ptrmode (location_t loc, tree len, gimple_stmt_iterator *iter, + if (ptrofftype_p (len)) + return len; + gimple *g = gimple_build_assign (make_ssa_name (pointer_sized_int_node), +- NOP_EXPR, len); ++ NOP_EXPR, len); + gimple_set_location (g, loc); + if (before_p) + gsi_safe_insert_before (iter, g); +@@ -2644,16 +2643,13 @@ build_check_stmt (location_t loc, tree base, tree len, + bool is_non_zero_len, bool before_p, bool is_store, + bool is_scalar_access, unsigned int align = 0) + { +- gimple_stmt_iterator gsi = *iter; + gimple *g; + + gcc_assert (!(size_in_bytes > 0 && !is_non_zero_len)); + gcc_assert (size_in_bytes == -1 || size_in_bytes >= 1); + +- gsi = *iter; +- + base = unshare_expr (base); +- base = maybe_create_ssa_name (loc, base, &gsi, before_p); ++ base = maybe_create_ssa_name (loc, base, iter, before_p); + + if (len) + { +@@ -2704,12 +2700,11 @@ build_check_stmt (location_t loc, tree base, tree len, + align / BITS_PER_UNIT)); + gimple_set_location (g, loc); + if (before_p) +- gsi_safe_insert_before (&gsi, g); ++ gsi_safe_insert_before (iter, g); + else + { +- gsi_insert_after (&gsi, g, GSI_NEW_STMT); +- gsi_next (&gsi); +- *iter = gsi; ++ gsi_insert_after (iter, g, GSI_NEW_STMT); ++ gsi_next (iter); + } + } + +--- a/src/gcc/auto-profile.cc ++++ b/src/gcc/auto-profile.cc +@@ -1538,8 +1538,6 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts) + + if (s == NULL) + return; +- cgraph_node::get (current_function_decl)->count +- = profile_count::from_gcov_type (s->head_count ()).afdo (); + ENTRY_BLOCK_PTR_FOR_FN (cfun)->count + = profile_count::from_gcov_type (s->head_count ()).afdo (); + EXIT_BLOCK_PTR_FOR_FN (cfun)->count = profile_count::zero ().afdo (); +@@ -1578,6 +1576,8 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts) + /* Calculate, propagate count and probability information on CFG. */ + afdo_calculate_branch_prob (&annotated_bb); + } ++ cgraph_node::get(current_function_decl)->count ++ = ENTRY_BLOCK_PTR_FOR_FN(cfun)->count; + update_max_bb_count (); + profile_status_for_fn (cfun) = PROFILE_READ; + if (flag_value_profile_transformations) +--- a/src/gcc/builtins.cc ++++ b/src/gcc/builtins.cc +@@ -9441,14 +9441,16 @@ fold_builtin_frexp (location_t loc, tree arg0, tree arg1, tree rettype) + switch (value->cl) + { + case rvc_zero: ++ case rvc_nan: ++ case rvc_inf: + /* For +-0, return (*exp = 0, +-0). */ ++ /* For +-NaN or +-Inf, *exp is unspecified, but something should ++ be stored there so that it isn't read from uninitialized object. ++ As glibc and newlib store *exp = 0 for +-Inf/NaN, storing ++ 0 here as well is easiest. */ + exp = integer_zero_node; + frac = arg0; + break; +- case rvc_nan: +- case rvc_inf: +- /* For +-NaN or +-Inf, *exp is unspecified, return arg0. */ +- return omit_one_operand_loc (loc, rettype, arg0, arg1); + case rvc_normal: + { + /* Since the frexp function always expects base 2, and in +@@ -9576,7 +9578,7 @@ fold_builtin_interclass_mathfn (location_t loc, tree fndecl, tree arg) + arg = fold_build1_loc (loc, NOP_EXPR, type, arg); + } + get_max_float (REAL_MODE_FORMAT (mode), buf, sizeof (buf), false); +- real_from_string (&r, buf); ++ real_from_string3 (&r, buf, mode); + result = build_call_expr (isgr_fn, 2, + fold_build1_loc (loc, ABS_EXPR, type, arg), + build_real (type, r)); +@@ -9600,7 +9602,7 @@ fold_builtin_interclass_mathfn (location_t loc, tree fndecl, tree arg) + arg = fold_build1_loc (loc, NOP_EXPR, type, arg); + } + get_max_float (REAL_MODE_FORMAT (mode), buf, sizeof (buf), false); +- real_from_string (&r, buf); ++ real_from_string3 (&r, buf, mode); + result = build_call_expr (isle_fn, 2, + fold_build1_loc (loc, ABS_EXPR, type, arg), + build_real (type, r)); +@@ -9639,9 +9641,12 @@ fold_builtin_interclass_mathfn (location_t loc, tree fndecl, tree arg) + arg = fold_build1_loc (loc, ABS_EXPR, type, arg); + + get_max_float (REAL_MODE_FORMAT (mode), buf, sizeof (buf), false); +- real_from_string (&rmax, buf); +- sprintf (buf, "0x1p%d", REAL_MODE_FORMAT (orig_mode)->emin - 1); +- real_from_string (&rmin, buf); ++ real_from_string3 (&rmax, buf, mode); ++ if (DECIMAL_FLOAT_MODE_P (mode)) ++ sprintf (buf, "1E%d", REAL_MODE_FORMAT (orig_mode)->emin - 1); ++ else ++ sprintf (buf, "0x1p%d", REAL_MODE_FORMAT (orig_mode)->emin - 1); ++ real_from_string3 (&rmin, buf, orig_mode); + max_exp = build_real (type, rmax); + min_exp = build_real (type, rmin); + +@@ -9830,28 +9835,33 @@ fold_builtin_fpclassify (location_t loc, tree *args, int nargs) + (x == 0 ? FP_ZERO : FP_SUBNORMAL))). */ + + tmp = fold_build2_loc (loc, EQ_EXPR, integer_type_node, arg, +- build_real (type, dconst0)); ++ build_real (type, dconst0)); + res = fold_build3_loc (loc, COND_EXPR, integer_type_node, +- tmp, fp_zero, fp_subnormal); ++ tmp, fp_zero, fp_subnormal); + +- sprintf (buf, "0x1p%d", REAL_MODE_FORMAT (mode)->emin - 1); +- real_from_string (&r, buf); ++ if (DECIMAL_FLOAT_MODE_P (mode)) ++ sprintf (buf, "1E%d", REAL_MODE_FORMAT (mode)->emin - 1); ++ else ++ sprintf (buf, "0x1p%d", REAL_MODE_FORMAT (mode)->emin - 1); ++ real_from_string3 (&r, buf, mode); + tmp = fold_build2_loc (loc, GE_EXPR, integer_type_node, +- arg, build_real (type, r)); +- res = fold_build3_loc (loc, COND_EXPR, integer_type_node, tmp, fp_normal, res); ++ arg, build_real (type, r)); ++ res = fold_build3_loc (loc, COND_EXPR, integer_type_node, tmp, ++ fp_normal, res); + + if (tree_expr_maybe_infinite_p (arg)) + { + tmp = fold_build2_loc (loc, EQ_EXPR, integer_type_node, arg, +- build_real (type, dconstinf)); ++ build_real (type, dconstinf)); + res = fold_build3_loc (loc, COND_EXPR, integer_type_node, tmp, +- fp_infinite, res); ++ fp_infinite, res); + } + + if (tree_expr_maybe_nan_p (arg)) + { + tmp = fold_build2_loc (loc, ORDERED_EXPR, integer_type_node, arg, arg); +- res = fold_build3_loc (loc, COND_EXPR, integer_type_node, tmp, res, fp_nan); ++ res = fold_build3_loc (loc, COND_EXPR, integer_type_node, tmp, ++ res, fp_nan); + } + + return res; +@@ -9933,9 +9943,11 @@ fold_builtin_iseqsig (location_t loc, tree arg0, tree arg1) + /* Choose the wider of two real types. */ + cmp_type = TYPE_PRECISION (type0) >= TYPE_PRECISION (type1) + ? type0 : type1; +- else if (code0 == REAL_TYPE && code1 == INTEGER_TYPE) ++ else if (code0 == REAL_TYPE ++ && (code1 == INTEGER_TYPE || code1 == BITINT_TYPE)) + cmp_type = type0; +- else if (code0 == INTEGER_TYPE && code1 == REAL_TYPE) ++ else if ((code0 == INTEGER_TYPE || code0 == BITINT_TYPE) ++ && code1 == REAL_TYPE) + cmp_type = type1; + + arg0 = builtin_save_expr (fold_convert_loc (loc, cmp_type, arg0)); +--- a/src/gcc/c-family/ChangeLog ++++ b/src/gcc/c-family/ChangeLog +@@ -1,3 +1,47 @@ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-26 Jakub Jelinek ++ ++ PR middle-end/43374 ++ * c-cppbuiltin.cc (builtin_define_decimal_float_constants): Use ++ get_max_float. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-22 Jakub Jelinek ++ ++ PR c/117641 ++ * c-common.cc (sync_resolve_size): For size 16 with _BitInt ++ on targets where TImode isn't supported, use goto incompatible if ++ !fetch. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-19 Jakub Jelinek ++ ++ PR c/117641 ++ * c-common.cc (sync_resolve_size): For size == 16 fetch of ++ BITINT_TYPE if TImode isn't supported scalar mode diagnose ++ and return 0 if orig_format instead of returning 16. ++ ++2024-10-23 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-22 Jakub Jelinek ++ ++ PR c/117230 ++ * c-warn.cc (sizeof_pointer_memaccess_warning): Only compare ++ TYPE_PRECISION of TREE_TYPE (type) to precision of char if ++ TREE_TYPE (type) is integral type. ++ ++2024-10-01 Jason Merrill ++ ++ * c-cppbuiltin.cc (c_cpp_builtins): Don't define __cpp_concepts ++ before C++17. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/c-family/c-common.cc ++++ b/src/gcc/c-family/c-common.cc +@@ -7383,11 +7383,13 @@ sync_resolve_size (tree function, vec *params, bool fetch, + + size = tree_to_uhwi (TYPE_SIZE_UNIT (type)); + if (size == 16 +- && fetch +- && !orig_format + && TREE_CODE (type) == BITINT_TYPE + && !targetm.scalar_mode_supported_p (TImode)) +- return -1; ++ { ++ if (fetch && !orig_format) ++ return -1; ++ goto incompatible; ++ } + + if (size == 1 || size == 2 || size == 4 || size == 8 || size == 16) + return size; +--- a/src/gcc/c-family/c-cppbuiltin.cc ++++ b/src/gcc/c-family/c-cppbuiltin.cc +@@ -357,17 +357,8 @@ builtin_define_decimal_float_constants (const char *name_prefix, + + /* Compute the maximum representable value. */ + sprintf (name, "__%s_MAX__", name_prefix); +- p = buf; +- for (digits = fmt->p; digits; digits--) +- { +- *p++ = '9'; +- if (digits == fmt->p) +- *p++ = '.'; +- } +- *p = 0; +- /* fmt->p plus 1, to account for the decimal point and fmt->emax +- minus 1 because the digits are nines, not 1.0. */ +- sprintf (&buf[fmt->p + 1], "E%d%s", fmt->emax - 1, suffix); ++ get_max_float (fmt, buf, sizeof (buf) - strlen (suffix), false); ++ strcat (buf, suffix); + builtin_define_with_value (name, buf, 0); + + /* Compute epsilon (the difference between 1 and least value greater +@@ -1093,10 +1084,10 @@ c_cpp_builtins (cpp_reader *pfile) + } + if (flag_concepts) + { +- if (cxx_dialect >= cxx20 || !flag_concepts_ts) +- cpp_define (pfile, "__cpp_concepts=202002L"); +- else ++ if (flag_concepts_ts && cxx_dialect < cxx20) + cpp_define (pfile, "__cpp_concepts=201507L"); ++ else if (cxx_dialect > cxx14) ++ cpp_define (pfile, "__cpp_concepts=202002L"); + } + if (flag_contracts) + { +--- a/src/gcc/c-family/c-warn.cc ++++ b/src/gcc/c-family/c-warn.cc +@@ -944,8 +944,9 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee, + "argument to % in %qD call is the same " + "expression as the destination; did you mean to " + "remove the addressof?", callee); +- else if ((TYPE_PRECISION (TREE_TYPE (type)) +- == TYPE_PRECISION (char_type_node)) ++ else if ((INTEGRAL_TYPE_P (TREE_TYPE (type)) ++ && (TYPE_PRECISION (TREE_TYPE (type)) ++ == TYPE_PRECISION (char_type_node))) + || strop) + warning_at (loc, OPT_Wsizeof_pointer_memaccess, + "argument to % in %qD call is the same " +@@ -984,8 +985,9 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee, + "argument to % in %qD call is the same " + "expression as the source; did you mean to " + "remove the addressof?", callee); +- else if ((TYPE_PRECISION (TREE_TYPE (type)) +- == TYPE_PRECISION (char_type_node)) ++ else if ((INTEGRAL_TYPE_P (TREE_TYPE (type)) ++ && (TYPE_PRECISION (TREE_TYPE (type)) ++ == TYPE_PRECISION (char_type_node))) + || strop) + warning_at (loc, OPT_Wsizeof_pointer_memaccess, + "argument to % in %qD call is the same " +@@ -1024,8 +1026,9 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee, + "argument to % in %qD call is the same " + "expression as the first source; did you mean to " + "remove the addressof?", callee); +- else if ((TYPE_PRECISION (TREE_TYPE (type)) +- == TYPE_PRECISION (char_type_node)) ++ else if ((INTEGRAL_TYPE_P (TREE_TYPE (type)) ++ && (TYPE_PRECISION (TREE_TYPE (type)) ++ == TYPE_PRECISION (char_type_node))) + || strop) + warning_at (loc, OPT_Wsizeof_pointer_memaccess, + "argument to % in %qD call is the same " +@@ -1064,8 +1067,9 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee, + "argument to % in %qD call is the same " + "expression as the second source; did you mean to " + "remove the addressof?", callee); +- else if ((TYPE_PRECISION (TREE_TYPE (type)) +- == TYPE_PRECISION (char_type_node)) ++ else if ((INTEGRAL_TYPE_P (TREE_TYPE (type)) ++ && (TYPE_PRECISION (TREE_TYPE (type)) ++ == TYPE_PRECISION (char_type_node))) + || strop) + warning_at (loc, OPT_Wsizeof_pointer_memaccess, + "argument to % in %qD call is the same " +--- a/src/gcc/c/ChangeLog ++++ b/src/gcc/c/ChangeLog +@@ -1,3 +1,22 @@ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-27 Jakub Jelinek ++ ++ PR c/117745 ++ * c-parser.cc (c_parser_sizeof_expression): If type_name is NULL, ++ just expr.set_error () and goto sizeof_expr instead of doing error ++ recovery manually. ++ ++2024-10-09 Martin Uecker ++ ++ Backported from master: ++ 2024-09-20 Martin Uecker ++ ++ PR c/116726 ++ * c-typeck.cc (tagged_types_tu_compatible_p): Restore value ++ of the cache after recursing into comptypes_internal. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/c/c-parser.cc ++++ b/src/gcc/c/c-parser.cc +@@ -9891,13 +9891,11 @@ c_parser_sizeof_expression (c_parser *parser) + finish = parser->tokens_buf[0].location; + if (type_name == NULL) + { +- struct c_expr ret; +- c_inhibit_evaluation_warnings--; +- in_sizeof--; +- ret.set_error (); +- ret.original_code = ERROR_MARK; +- ret.original_type = NULL; +- return ret; ++ /* Let c_expr_sizeof_expr call pop_maybe_used and fill in c_expr ++ for parsing error; the parsing of the expression could have ++ called record_maybe_used_decl. */ ++ expr.set_error (); ++ goto sizeof_expr; + } + if (c_parser_next_token_is (parser, CPP_OPEN_BRACE)) + { +--- a/src/gcc/c/c-typeck.cc ++++ b/src/gcc/c/c-typeck.cc +@@ -1611,8 +1611,11 @@ tagged_types_tu_compatible_p (const_tree t1, const_tree t2, + + data->anon_field = !DECL_NAME (s1); + ++ const struct tagged_tu_seen_cache *cache = data->cache; + data->cache = &entry; +- if (!comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2), data)) ++ bool ret = comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2), data); ++ data->cache = cache; ++ if (!ret) + return false; + + tree st1 = TYPE_SIZE (TREE_TYPE (s1)); +--- a/src/gcc/cfgexpand.cc ++++ b/src/gcc/cfgexpand.cc +@@ -4039,8 +4039,13 @@ expand_gimple_stmt_1 (gimple *stmt) + else + { + temp = force_operand (temp, target); +- if (temp != target) ++ if (temp == target) ++ ; ++ else if (GET_MODE (target) != BLKmode) + emit_move_insn (target, temp); ++ else ++ emit_block_move (target, temp, expr_size (lhs), ++ BLOCK_OP_NORMAL); + } + } + } +--- a/src/gcc/cgraph.cc ++++ b/src/gcc/cgraph.cc +@@ -894,7 +894,8 @@ symbol_table::create_edge (cgraph_node *caller, cgraph_node *callee, + edge->m_summary_id = -1; + edges_count++; + +- gcc_assert (++edges_max_uid != 0); ++ ++edges_max_uid; ++ gcc_assert (edges_max_uid != 0); + edge->m_uid = edges_max_uid; + edge->aux = NULL; + edge->caller = caller; +@@ -2434,7 +2435,9 @@ cgraph_node_cannot_be_local_p_1 (cgraph_node *node, void *) + && !node->forced_by_abi + && !node->used_from_object_file_p () + && !node->same_comdat_group) +- || !node->externally_visible)); ++ || !node->externally_visible) ++ && !DECL_STATIC_CONSTRUCTOR (node->decl) ++ && !DECL_STATIC_DESTRUCTOR (node->decl)); + } + + /* Return true if cgraph_node can be made local for API change. +--- a/src/gcc/combine.cc ++++ b/src/gcc/combine.cc +@@ -7588,7 +7588,7 @@ make_extraction (machine_mode mode, rtx inner, HOST_WIDE_INT pos, + least significant (LEN - C) bits of X, giving an rtx + whose mode is MODE, then multiply it by 2^C. */ + const HOST_WIDE_INT shift_amt = exact_log2 (INTVAL (XEXP (inner, 1))); +- if (IN_RANGE (shift_amt, 1, len - 1)) ++ if (len > 1 && IN_RANGE (shift_amt, 1, len - 1)) + { + new_rtx = make_extraction (mode, XEXP (inner, 0), + 0, 0, len - shift_amt, +--- a/src/gcc/common/config/i386/cpuinfo.h ++++ b/src/gcc/common/config/i386/cpuinfo.h +@@ -606,6 +606,7 @@ get_intel_cpu (struct __processor_model *cpu_model, + CHECK___builtin_cpu_is ("grandridge"); + cpu_model->__cpu_type = INTEL_GRANDRIDGE; + break; ++ case 0xb5: + case 0xc5: + /* Arrow Lake. */ + cpu = "arrowlake"; +--- a/src/gcc/common/config/i386/i386-common.cc ++++ b/src/gcc/common/config/i386/i386-common.cc +@@ -2395,34 +2395,16 @@ const pta processor_alias_table[] = + | PTA_SSE3 | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_PRFCHW | PTA_FXSR, + M_CPU_SUBTYPE (AMDFAM10H_BARCELONA), P_PROC_DYNAMIC}, + {"bdver1", PROCESSOR_BDVER1, CPU_BDVER1, +- 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_FMA4 +- | PTA_XOP | PTA_LWP | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE, +- M_CPU_TYPE (AMDFAM15H_BDVER1), P_PROC_XOP}, ++ PTA_BDVER1, ++ M_CPU_SUBTYPE (AMDFAM15H_BDVER1), P_PROC_XOP}, + {"bdver2", PROCESSOR_BDVER2, CPU_BDVER2, +- 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_FMA4 +- | PTA_XOP | PTA_LWP | PTA_BMI | PTA_TBM | PTA_F16C +- | PTA_FMA | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE, +- M_CPU_TYPE (AMDFAM15H_BDVER2), P_PROC_FMA}, ++ PTA_BDVER2, ++ M_CPU_SUBTYPE (AMDFAM15H_BDVER2), P_PROC_FMA}, + {"bdver3", PROCESSOR_BDVER3, CPU_BDVER3, +- 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_FMA4 +- | PTA_XOP | PTA_LWP | PTA_BMI | PTA_TBM | PTA_F16C +- | PTA_FMA | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE +- | PTA_XSAVEOPT | PTA_FSGSBASE, ++ PTA_BDVER3, + M_CPU_SUBTYPE (AMDFAM15H_BDVER3), P_PROC_FMA}, + {"bdver4", PROCESSOR_BDVER4, CPU_BDVER4, +- 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_FMA4 | PTA_XOP | PTA_LWP | PTA_BMI | PTA_BMI2 +- | PTA_TBM | PTA_F16C | PTA_FMA | PTA_PRFCHW | PTA_FXSR +- | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE | PTA_RDRND +- | PTA_MOVBE | PTA_MWAITX, ++ PTA_BDVER4, + M_CPU_SUBTYPE (AMDFAM15H_BDVER4), P_PROC_AVX2}, + {"znver1", PROCESSOR_ZNVER1, CPU_ZNVER1, + PTA_ZNVER1, +@@ -2440,16 +2422,10 @@ const pta processor_alias_table[] = + PTA_ZNVER5, + M_CPU_SUBTYPE (AMDFAM1AH_ZNVER5), P_PROC_AVX512F}, + {"btver1", PROCESSOR_BTVER1, CPU_GENERIC, +- PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 +- | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16 | PTA_PRFCHW +- | PTA_FXSR | PTA_XSAVE, +- M_CPU_SUBTYPE (AMDFAM15H_BDVER1), P_PROC_SSE4_A}, ++ PTA_BTVER1, ++ M_CPU_TYPE (AMD_BTVER1), P_PROC_SSE4_A}, + {"btver2", PROCESSOR_BTVER2, CPU_BTVER2, +- PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 +- | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16 | PTA_SSE4_1 +- | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX +- | PTA_BMI | PTA_F16C | PTA_MOVBE | PTA_PRFCHW +- | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT, ++ PTA_BTVER2, + M_CPU_TYPE (AMD_BTVER2), P_PROC_BMI}, + + {"generic", PROCESSOR_GENERIC, CPU_GENERIC, +@@ -2468,9 +2444,9 @@ const pta processor_alias_table[] = + {"amdfam19h", PROCESSOR_GENERIC, CPU_GENERIC, 0, + M_CPU_TYPE (AMDFAM19H), P_NONE}, + {"shanghai", PROCESSOR_GENERIC, CPU_GENERIC, 0, +- M_CPU_TYPE (AMDFAM10H_SHANGHAI), P_NONE}, ++ M_CPU_SUBTYPE (AMDFAM10H_SHANGHAI), P_NONE}, + {"istanbul", PROCESSOR_GENERIC, CPU_GENERIC, 0, +- M_CPU_TYPE (AMDFAM10H_ISTANBUL), P_NONE}, ++ M_CPU_SUBTYPE (AMDFAM10H_ISTANBUL), P_NONE}, + }; + + /* NB: processor_alias_table stops at the "generic" entry. */ +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -534,7 +534,7 @@ powerpc*-*-*) + extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h" + extra_headers="${extra_headers} amo.h" + case x$with_cpu in +- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower10|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) ++ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower1[01]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) + cpu_is_64bit=yes + ;; + esac +@@ -5601,7 +5601,7 @@ case "${target}" in + eval "with_$which=405" + ;; + "" | common | native \ +- | power[3456789] | power10 | power5+ | power6x \ ++ | power[3456789] | power1[01] | power5+ | power6x \ + | powerpc | powerpc64 | powerpc64le \ + | rs64 \ + | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ +--- a/src/gcc/config/aarch64/aarch64-builtins.cc ++++ b/src/gcc/config/aarch64/aarch64-builtins.cc +@@ -1709,21 +1709,17 @@ aarch64_init_tme_builtins (void) + = build_function_type_list (void_type_node, uint64_type_node, NULL); + + aarch64_builtin_decls[AARCH64_TME_BUILTIN_TSTART] +- = aarch64_general_add_builtin ("__builtin_aarch64_tstart", +- ftype_uint64_void, +- AARCH64_TME_BUILTIN_TSTART); ++ = aarch64_general_simulate_builtin ("__tstart", ftype_uint64_void, ++ AARCH64_TME_BUILTIN_TSTART); + aarch64_builtin_decls[AARCH64_TME_BUILTIN_TTEST] +- = aarch64_general_add_builtin ("__builtin_aarch64_ttest", +- ftype_uint64_void, +- AARCH64_TME_BUILTIN_TTEST); ++ = aarch64_general_simulate_builtin ("__ttest", ftype_uint64_void, ++ AARCH64_TME_BUILTIN_TTEST); + aarch64_builtin_decls[AARCH64_TME_BUILTIN_TCOMMIT] +- = aarch64_general_add_builtin ("__builtin_aarch64_tcommit", +- ftype_void_void, +- AARCH64_TME_BUILTIN_TCOMMIT); ++ = aarch64_general_simulate_builtin ("__tcommit", ftype_void_void, ++ AARCH64_TME_BUILTIN_TCOMMIT); + aarch64_builtin_decls[AARCH64_TME_BUILTIN_TCANCEL] +- = aarch64_general_add_builtin ("__builtin_aarch64_tcancel", +- ftype_void_uint64, +- AARCH64_TME_BUILTIN_TCANCEL); ++ = aarch64_general_simulate_builtin ("__tcancel", ftype_void_uint64, ++ AARCH64_TME_BUILTIN_TCANCEL); + } + + /* Add builtins for Random Number instructions. */ +@@ -1854,27 +1850,27 @@ aarch64_init_memtag_builtins (void) + + #define AARCH64_INIT_MEMTAG_BUILTINS_DECL(F, N, I, T) \ + aarch64_builtin_decls[AARCH64_MEMTAG_BUILTIN_##F] \ +- = aarch64_general_add_builtin ("__builtin_aarch64_memtag_"#N, \ +- T, AARCH64_MEMTAG_BUILTIN_##F); \ ++ = aarch64_general_simulate_builtin ("__arm_mte_"#N, T, \ ++ AARCH64_MEMTAG_BUILTIN_##F); \ + aarch64_memtag_builtin_data[AARCH64_MEMTAG_BUILTIN_##F - \ + AARCH64_MEMTAG_BUILTIN_START - 1] = \ + {T, CODE_FOR_##I}; + + fntype = build_function_type_list (ptr_type_node, ptr_type_node, + uint64_type_node, NULL); +- AARCH64_INIT_MEMTAG_BUILTINS_DECL (IRG, irg, irg, fntype); ++ AARCH64_INIT_MEMTAG_BUILTINS_DECL (IRG, create_random_tag, irg, fntype); + + fntype = build_function_type_list (uint64_type_node, ptr_type_node, + uint64_type_node, NULL); +- AARCH64_INIT_MEMTAG_BUILTINS_DECL (GMI, gmi, gmi, fntype); ++ AARCH64_INIT_MEMTAG_BUILTINS_DECL (GMI, exclude_tag, gmi, fntype); + + fntype = build_function_type_list (ptrdiff_type_node, ptr_type_node, + ptr_type_node, NULL); +- AARCH64_INIT_MEMTAG_BUILTINS_DECL (SUBP, subp, subp, fntype); ++ AARCH64_INIT_MEMTAG_BUILTINS_DECL (SUBP, ptrdiff, subp, fntype); + + fntype = build_function_type_list (ptr_type_node, ptr_type_node, + unsigned_type_node, NULL); +- AARCH64_INIT_MEMTAG_BUILTINS_DECL (INC_TAG, inc_tag, addg, fntype); ++ AARCH64_INIT_MEMTAG_BUILTINS_DECL (INC_TAG, increment_tag, addg, fntype); + + fntype = build_function_type_list (void_type_node, ptr_type_node, NULL); + AARCH64_INIT_MEMTAG_BUILTINS_DECL (SET_TAG, set_tag, stg, fntype); +@@ -1984,8 +1980,9 @@ aarch64_init_data_intrinsics (void) + void + handle_arm_acle_h (void) + { +- if (TARGET_LS64) +- aarch64_init_ls64_builtins (); ++ aarch64_init_ls64_builtins (); ++ aarch64_init_tme_builtins (); ++ aarch64_init_memtag_builtins (); + } + + /* Initialize fpsr fpcr getters and setters. */ +@@ -2078,12 +2075,6 @@ aarch64_general_init_builtins (void) + if (!TARGET_ILP32) + aarch64_init_pauth_hint_builtins (); + +- if (TARGET_TME) +- aarch64_init_tme_builtins (); +- +- if (TARGET_MEMTAG) +- aarch64_init_memtag_builtins (); +- + if (in_lto_p) + handle_arm_acle_h (); + } +@@ -2098,11 +2089,112 @@ aarch64_general_builtin_decl (unsigned code, bool) + return aarch64_builtin_decls[code]; + } + ++/* True if we've already complained about attempts to use functions ++ when the required extension is disabled. */ ++static bool reported_missing_extension_p; ++ ++/* True if we've already complained about attempts to use functions ++ which require registers that are missing. */ ++static bool reported_missing_registers_p; ++ ++/* Report an error against LOCATION that the user has tried to use ++ function FNDECL when extension EXTENSION is disabled. */ ++static void ++aarch64_report_missing_extension (location_t location, tree fndecl, ++ const char *extension) ++{ ++ /* Avoid reporting a slew of messages for a single oversight. */ ++ if (reported_missing_extension_p) ++ return; ++ ++ error_at (location, "ACLE function %qD requires ISA extension %qs", ++ fndecl, extension); ++ inform (location, "you can enable %qs using the command-line" ++ " option %<-march%>, or by using the %" ++ " attribute or pragma", extension); ++ reported_missing_extension_p = true; ++} ++ ++/* Report an error against LOCATION that the user has tried to use ++ function FNDECL when non-general registers are disabled. */ ++static void ++aarch64_report_missing_registers (location_t location, tree fndecl) ++{ ++ /* Avoid reporting a slew of messages for a single oversight. */ ++ if (reported_missing_registers_p) ++ return; ++ ++ error_at (location, ++ "ACLE function %qD is incompatible with the use of %qs", ++ fndecl, "-mgeneral-regs-only"); ++ reported_missing_registers_p = true; ++} ++ ++/* Check whether all the AARCH64_FL_* values in REQUIRED_EXTENSIONS are ++ enabled, given that those extensions are required for function FNDECL. ++ Report an error against LOCATION if not. */ ++bool ++aarch64_check_required_extensions (location_t location, tree fndecl, ++ aarch64_feature_flags required_extensions) ++{ ++ if ((required_extensions & ~aarch64_isa_flags) == 0) ++ return true; ++ ++ auto missing_extensions = required_extensions & ~aarch64_asm_isa_flags; ++ ++ if (missing_extensions == 0) ++ { ++ /* All required extensions are enabled in aarch64_asm_isa_flags, so the ++ error must be the use of general-regs-only. */ ++ aarch64_report_missing_registers (location, fndecl); ++ return false; ++ } ++ ++ if (missing_extensions & AARCH64_FL_SM_OFF) ++ { ++ error_at (location, "ACLE function %qD cannot be called when" ++ " SME streaming mode is enabled", fndecl); ++ return false; ++ } ++ ++ if (missing_extensions & AARCH64_FL_SM_ON) ++ { ++ error_at (location, "ACLE function %qD can only be called when" ++ " SME streaming mode is enabled", fndecl); ++ return false; ++ } ++ ++ if (missing_extensions & AARCH64_FL_ZA_ON) ++ { ++ error_at (location, "ACLE function %qD can only be called from" ++ " a function that has %qs state", fndecl, "za"); ++ return false; ++ } ++ ++ static const struct { ++ aarch64_feature_flags flag; ++ const char *name; ++ } extensions[] = { ++#define AARCH64_OPT_EXTENSION(EXT_NAME, IDENT, C, D, E, F) \ ++ { AARCH64_FL_##IDENT, EXT_NAME }, ++#include "aarch64-option-extensions.def" ++ }; ++ ++ for (unsigned int i = 0; i < ARRAY_SIZE (extensions); ++i) ++ if (missing_extensions & extensions[i].flag) ++ { ++ aarch64_report_missing_extension (location, fndecl, extensions[i].name); ++ return false; ++ } ++ gcc_unreachable (); ++} ++ + bool + aarch64_general_check_builtin_call (location_t location, vec, + unsigned int code, tree fndecl, + unsigned int nargs ATTRIBUTE_UNUSED, tree *args) + { ++ tree decl = aarch64_builtin_decls[code]; + switch (code) + { + case AARCH64_RSR: +@@ -2115,17 +2207,43 @@ aarch64_general_check_builtin_call (location_t location, vec, + case AARCH64_WSR64: + case AARCH64_WSRF: + case AARCH64_WSRF64: +- tree addr = STRIP_NOPS (args[0]); +- if (TREE_CODE (TREE_TYPE (addr)) != POINTER_TYPE +- || TREE_CODE (addr) != ADDR_EXPR +- || TREE_CODE (TREE_OPERAND (addr, 0)) != STRING_CST) +- { +- error_at (location, "first argument to %qD must be a string literal", +- fndecl); +- return false; +- } ++ { ++ tree addr = STRIP_NOPS (args[0]); ++ if (TREE_CODE (TREE_TYPE (addr)) != POINTER_TYPE ++ || TREE_CODE (addr) != ADDR_EXPR ++ || TREE_CODE (TREE_OPERAND (addr, 0)) != STRING_CST) ++ { ++ error_at (location, ++ "first argument to %qD must be a string literal", ++ fndecl); ++ return false; ++ } ++ break; ++ } ++ ++ case AARCH64_TME_BUILTIN_TSTART: ++ case AARCH64_TME_BUILTIN_TCOMMIT: ++ case AARCH64_TME_BUILTIN_TTEST: ++ case AARCH64_TME_BUILTIN_TCANCEL: ++ return aarch64_check_required_extensions (location, decl, ++ AARCH64_FL_TME); ++ ++ case AARCH64_LS64_BUILTIN_LD64B: ++ case AARCH64_LS64_BUILTIN_ST64B: ++ case AARCH64_LS64_BUILTIN_ST64BV: ++ case AARCH64_LS64_BUILTIN_ST64BV0: ++ return aarch64_check_required_extensions (location, decl, ++ AARCH64_FL_LS64); ++ ++ default: ++ break; + } +- /* Default behavior. */ ++ ++ if (code >= AARCH64_MEMTAG_BUILTIN_START ++ && code <= AARCH64_MEMTAG_BUILTIN_END) ++ return aarch64_check_required_extensions (location, decl, ++ AARCH64_FL_MEMTAG); ++ + return true; + } + +--- a/src/gcc/config/aarch64/aarch64-cores.def ++++ b/src/gcc/config/aarch64/aarch64-cores.def +@@ -132,6 +132,7 @@ AARCH64_CORE("octeontx2f95mm", octeontx2f95mm, cortexa57, V8_2A, (CRYPTO, PROFI + + /* Fujitsu ('F') cores. */ + AARCH64_CORE("a64fx", a64fx, a64fx, V8_2A, (F16, SVE), a64fx, 0x46, 0x001, -1) ++AARCH64_CORE("fujitsu-monaka", fujitsu_monaka, cortexa57, V9_3A, (F16, LS64, RNG, CRYPTO, SVE2_AES, SVE2_BITPERM, SVE2_SHA3, SVE2_SM4), fujitsu_monaka, 0x46, 0x003, -1) + + /* HiSilicon ('H') cores. */ + AARCH64_CORE("tsv110", tsv110, tsv110, V8_2A, (CRYPTO, F16), tsv110, 0x48, 0xd01, -1) +@@ -178,18 +179,24 @@ AARCH64_CORE("cortex-a710", cortexa710, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, + AARCH64_CORE("cortex-a715", cortexa715, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd4d, -1) + + AARCH64_CORE("cortex-a720", cortexa720, cortexa57, V9_2A, (SVE2_BITPERM, MEMTAG, PROFILE), neoversen2, 0x41, 0xd81, -1) ++AARCH64_CORE("cortex-a725", cortexa725, cortexa57, V9_2A, (SVE2_BITPERM, MEMTAG, PROFILE), neoversen2, 0x41, 0xd87, -1) + + AARCH64_CORE("cortex-x2", cortexx2, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd48, -1) + + AARCH64_CORE("cortex-x3", cortexx3, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd4e, -1) + +-AARCH64_CORE("cortex-x4", cortexx4, cortexa57, V9_2A, (SVE2_BITPERM, MEMTAG, PROFILE), neoversen2, 0x41, 0xd81, -1) ++AARCH64_CORE("cortex-x4", cortexx4, cortexa57, V9_2A, (SVE2_BITPERM, MEMTAG, PROFILE), neoversen2, 0x41, 0xd82, -1) ++ ++AARCH64_CORE("cortex-x925", cortexx925, cortexa57, V9_2A, (SVE2_BITPERM, MEMTAG, PROFILE), neoversen2, 0x41, 0xd85, -1) + + AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x41, 0xd49, -1) + AARCH64_CORE("cobalt-100", cobalt100, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x6d, 0xd49, -1) ++AARCH64_CORE("neoverse-n3", neoversen3, cortexa57, V9_2A, (SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x41, 0xd8e, -1) + + AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) + AARCH64_CORE("grace", grace, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, SVE2_AES, SVE2_SHA3, SVE2_SM4, PROFILE), neoversev2, 0x41, 0xd4f, -1) ++AARCH64_CORE("neoverse-v3", neoversev3, cortexa57, V9_2A, (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE), neoversev2, 0x41, 0xd84, -1) ++AARCH64_CORE("neoverse-v3ae", neoversev3ae, cortexa57, V9_2A, (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE), neoversev2, 0x41, 0xd83, -1) + + AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) + +--- a/src/gcc/config/aarch64/aarch64-early-ra.cc ++++ b/src/gcc/config/aarch64/aarch64-early-ra.cc +@@ -1933,6 +1933,43 @@ early_ra::record_artificial_refs (unsigned int flags) + m_current_point += 1; + } + ++// Return true if: ++// ++// - X is a SUBREG, in which case it is a SUBREG of some REG Y ++// ++// - one 64-bit word of Y can be modified while preserving all other words ++// ++// - X refers to no more than one 64-bit word of Y ++// ++// - assigning FPRs to Y would put more than one 64-bit word in each FPR ++// ++// For example, this is true of: ++// ++// - (subreg:DI (reg:TI R) 0) and ++// - (subreg:DI (reg:TI R) 8) ++// ++// but is not true of: ++// ++// - (subreg:V2SI (reg:V2x2SI R) 0) or ++// - (subreg:V2SI (reg:V2x2SI R) 8). ++static bool ++allocno_assignment_is_rmw (rtx x) ++{ ++ if (partial_subreg_p (x)) ++ { ++ auto outer_mode = GET_MODE (x); ++ auto inner_mode = GET_MODE (SUBREG_REG (x)); ++ if (known_eq (REGMODE_NATURAL_SIZE (inner_mode), 0U + UNITS_PER_WORD) ++ && known_lt (GET_MODE_SIZE (outer_mode), UNITS_PER_VREG)) ++ { ++ auto nregs = targetm.hard_regno_nregs (V0_REGNUM, inner_mode); ++ if (maybe_ne (nregs * UNITS_PER_WORD, GET_MODE_SIZE (inner_mode))) ++ return true; ++ } ++ } ++ return false; ++} ++ + // Model the register references in INSN as part of a backwards walk. + void + early_ra::record_insn_refs (rtx_insn *insn) +@@ -1945,9 +1982,21 @@ early_ra::record_insn_refs (rtx_insn *insn) + record_fpr_def (DF_REF_REGNO (ref)); + else + { +- auto range = get_allocno_subgroup (DF_REF_REG (ref)); ++ rtx reg = DF_REF_REG (ref); ++ auto range = get_allocno_subgroup (reg); + for (auto &allocno : range.allocnos ()) + { ++ // Make sure that assigning to the DF_REF_REG clobbers the ++ // whole of this allocno, not just some of it. ++ if (allocno_assignment_is_rmw (reg)) ++ { ++ m_allocation_successful = false; ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ fprintf (dump_file, "read-modify-write of allocno %d", ++ allocno.id); ++ break; ++ } ++ + // If the destination is unused, record a momentary blip + // in its live range. + if (!bitmap_bit_p (m_live_allocnos, allocno.id)) +--- a/src/gcc/config/aarch64/aarch64-ldp-fusion.cc ++++ b/src/gcc/config/aarch64/aarch64-ldp-fusion.cc +@@ -2173,11 +2173,80 @@ protected: + + def_iter_t def_iter; + insn_info *limit; +- def_walker (def_info *def, insn_info *limit) : +- def_iter (def), limit (limit) {} ++ ++ // Array of register uses from the candidate insn which occur in MEMs. ++ use_array cand_addr_uses; ++ ++ def_walker (def_info *def, insn_info *limit, use_array addr_uses) : ++ def_iter (def), limit (limit), cand_addr_uses (addr_uses) {} + + virtual bool iter_valid () const { return *def_iter; } + ++ // Implemented in {load,store}_walker. ++ virtual bool alias_conflict_p (int &budget) const = 0; ++ ++ // Return true if the current (walking) INSN () uses a register R inside a ++ // MEM, where R is also used inside a MEM by the (static) candidate insn, and ++ // those uses see different definitions of that register. In this case we ++ // can't rely on RTL alias analysis, and for now we conservatively assume that ++ // there is an alias conflict. See PR116783. ++ bool addr_reg_conflict_p () const ++ { ++ use_array curr_insn_uses = insn ()->uses (); ++ auto cand_use_iter = cand_addr_uses.begin (); ++ auto insn_use_iter = curr_insn_uses.begin (); ++ while (cand_use_iter != cand_addr_uses.end () ++ && insn_use_iter != curr_insn_uses.end ()) ++ { ++ auto insn_use = *insn_use_iter; ++ auto cand_use = *cand_use_iter; ++ if (insn_use->regno () > cand_use->regno ()) ++ cand_use_iter++; ++ else if (insn_use->regno () < cand_use->regno ()) ++ insn_use_iter++; ++ else ++ { ++ // As it stands I believe the alias code (memory_modified_in_insn_p) ++ // doesn't look at insn notes such as REG_EQU{IV,AL}, so it should ++ // be safe to skip over uses that only occur in notes. ++ if (insn_use->includes_address_uses () ++ && !insn_use->only_occurs_in_notes () ++ && insn_use->def () != cand_use->def ()) ++ { ++ if (dump_file) ++ { ++ fprintf (dump_file, ++ "assuming aliasing of cand i%d and i%d:\n" ++ "-> insns see different defs of common addr reg r%u\n" ++ "-> ", ++ cand_use->insn ()->uid (), insn_use->insn ()->uid (), ++ insn_use->regno ()); ++ ++ // Note that while the following sequence could be made more ++ // concise by eliding pp_string calls into the pp_printf ++ // calls, doing so triggers -Wformat-diag. ++ pretty_printer pp; ++ pp_string (&pp, "["); ++ pp_access (&pp, cand_use, 0); ++ pp_string (&pp, "] in "); ++ pp_printf (&pp, "i%d", cand_use->insn ()->uid ()); ++ pp_string (&pp, " vs ["); ++ pp_access (&pp, insn_use, 0); ++ pp_string (&pp, "] in "); ++ pp_printf (&pp, "i%d", insn_use->insn ()->uid ()); ++ fprintf (dump_file, "%s\n", pp_formatted_text (&pp)); ++ } ++ return true; ++ } ++ ++ cand_use_iter++; ++ insn_use_iter++; ++ } ++ } ++ ++ return false; ++ } ++ + public: + insn_info *insn () const override { return (*def_iter)->insn (); } + void advance () override { def_iter++; } +@@ -2191,6 +2260,14 @@ public: + else + return *(insn ()) < *limit; + } ++ ++ bool conflict_p (int &budget) const override final ++ { ++ if (addr_reg_conflict_p ()) ++ return true; ++ ++ return alias_conflict_p (budget); ++ } + }; + + // alias_walker that iterates over stores. +@@ -2201,12 +2278,14 @@ class store_walker : public def_walker + InsnPredicate tombstone_p; + + public: +- store_walker (def_info *mem_def, rtx mem, insn_info *limit_insn, ++ store_walker (def_info *mem_def, rtx mem, ++ use_array addr_uses, ++ insn_info *limit_insn, + InsnPredicate tombstone_fn) : +- def_walker (mem_def, limit_insn), ++ def_walker (mem_def, limit_insn, addr_uses), + cand_mem (mem), tombstone_p (tombstone_fn) {} + +- bool conflict_p (int &budget) const override final ++ bool alias_conflict_p (int &budget) const override final + { + if (tombstone_p (this->insn ())) + return false; +@@ -2243,13 +2322,14 @@ public: + return (*use_iter)->insn (); + } + +- bool conflict_p (int &budget) const override final ++ bool alias_conflict_p (int &budget) const override final + { + return load_modified_by_store_p (insn (), cand_store, budget); + } + +- load_walker (def_info *def, insn_info *store, insn_info *limit_insn) +- : Base (def, limit_insn), ++ load_walker (def_info *def, insn_info *store, use_array addr_uses, ++ insn_info *limit_insn) ++ : Base (def, limit_insn, addr_uses), + use_iter (Base::start_use_chain (this->def_iter)), + cand_store (store) {} + }; +@@ -2628,11 +2708,32 @@ ldp_bb_info::try_fuse_pair (bool load_p, unsigned access_size, + && bitmap_bit_p (&m_tombstone_bitmap, insn->uid ()); + }; + ++ auto_vec addr_use_vec[2]; ++ use_array addr_uses[2]; ++ ++ // Collect the lists of register uses that occur in the candidate MEMs. ++ for (int i = 0; i < 2; i++) ++ { ++ // N.B. it's safe for us to ignore uses that only occur in notes ++ // here (e.g. in a REG_EQUIV expression) since we only pass the ++ // MEM down to the alias machinery, so it can't see any insn-level ++ // notes. ++ for (auto use : insns[i]->uses ()) ++ if (use->is_reg () ++ && use->includes_address_uses () ++ && !use->only_occurs_in_notes ()) ++ addr_use_vec[i].safe_push (use); ++ ++ addr_uses[i] = use_array (addr_use_vec[i]); ++ } ++ + store_walker +- forward_store_walker (mem_defs[0], cand_mems[0], insns[1], tombstone_p); ++ forward_store_walker (mem_defs[0], cand_mems[0], addr_uses[0], insns[1], ++ tombstone_p); + + store_walker +- backward_store_walker (mem_defs[1], cand_mems[1], insns[0], tombstone_p); ++ backward_store_walker (mem_defs[1], cand_mems[1], addr_uses[1], insns[0], ++ tombstone_p); + + alias_walker *walkers[4] = {}; + if (mem_defs[0]) +@@ -2646,8 +2747,10 @@ ldp_bb_info::try_fuse_pair (bool load_p, unsigned access_size, + { + // We want to find any loads hanging off the first store. + mem_defs[0] = memory_access (insns[0]->defs ()); +- load_walker forward_load_walker (mem_defs[0], insns[0], insns[1]); +- load_walker backward_load_walker (mem_defs[1], insns[1], insns[0]); ++ load_walker forward_load_walker (mem_defs[0], insns[0], ++ addr_uses[0], insns[1]); ++ load_walker backward_load_walker (mem_defs[1], insns[1], ++ addr_uses[1], insns[0]); + walkers[2] = &forward_load_walker; + walkers[3] = &backward_load_walker; + do_alias_analysis (alias_hazards, walkers, load_p); +--- a/src/gcc/config/aarch64/aarch64-protos.h ++++ b/src/gcc/config/aarch64/aarch64-protos.h +@@ -1008,6 +1008,8 @@ tree aarch64_general_builtin_rsqrt (unsigned int); + void handle_arm_acle_h (void); + void handle_arm_neon_h (void); + ++bool aarch64_check_required_extensions (location_t, tree, ++ aarch64_feature_flags); + bool aarch64_general_check_builtin_call (location_t, vec, + unsigned int, tree, unsigned int, + tree *); +--- a/src/gcc/config/aarch64/aarch64-sve-builtins-base.cc ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins-base.cc +@@ -1174,7 +1174,7 @@ public: + Advanced SIMD argument as an SVE vector. */ + if (!BYTES_BIG_ENDIAN + && is_undef (CALL_EXPR_ARG (e.call_expr, 0))) +- return simplify_gen_subreg (mode, e.args[1], GET_MODE (e.args[1]), 0); ++ return force_subreg (mode, e.args[1], GET_MODE (e.args[1]), 0); + + rtx_vector_builder builder (VNx16BImode, 16, 2); + for (unsigned int i = 0; i < 16; i++) +@@ -1185,7 +1185,9 @@ public: + if (BYTES_BIG_ENDIAN) + return e.use_exact_insn (code_for_aarch64_sve_set_neonq (mode)); + insn_code icode = code_for_vcond_mask (mode, mode); +- e.args[1] = lowpart_subreg (mode, e.args[1], GET_MODE (e.args[1])); ++ e.args[1] = force_subreg (mode, e.args[1], GET_MODE (e.args[1]), ++ subreg_lowpart_offset (mode, ++ GET_MODE (e.args[1]))); + e.add_output_operand (icode); + e.add_input_operand (icode, e.args[1]); + e.add_input_operand (icode, e.args[0]); +@@ -2855,7 +2857,9 @@ public: + : while_comparison (unspec_for_sint, unspec_for_uint), m_eq_p (eq_p) + {} + +- /* Try to fold a call by treating its arguments as constants of type T. */ ++ /* Try to fold a call by treating its arguments as constants of type T. ++ We have already filtered out the degenerate cases of X .LT. MIN ++ and X .LE. MAX. */ + template + gimple * + fold_type (gimple_folder &f) const +@@ -2911,6 +2915,13 @@ public: + if (f.vectors_per_tuple () > 1) + return nullptr; + ++ /* Filter out cases where the condition is always true or always false. */ ++ tree arg1 = gimple_call_arg (f.call, 1); ++ if (!m_eq_p && operand_equal_p (arg1, TYPE_MIN_VALUE (TREE_TYPE (arg1)))) ++ return f.fold_to_pfalse (); ++ if (m_eq_p && operand_equal_p (arg1, TYPE_MAX_VALUE (TREE_TYPE (arg1)))) ++ return f.fold_to_ptrue (); ++ + if (f.type_suffix (1).unsigned_p) + return fold_type (f); + else +--- a/src/gcc/config/aarch64/aarch64-sve-builtins-base.def ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins-base.def +@@ -364,7 +364,11 @@ DEF_SVE_FUNCTION (svusmmla, ternary_uintq_intq, s_signed, none) + DEF_SVE_FUNCTION (svmmla, mmla, s_float, none) + #undef REQUIRED_EXTENSIONS + +-#define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_F64MM ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_F64MM \ ++ | AARCH64_FL_SM_OFF) ++DEF_SVE_FUNCTION (svld1ro, load_replicate, all_data, implicit) ++DEF_SVE_FUNCTION (svmmla, mmla, d_float, none) + DEF_SVE_FUNCTION (svtrn1q, binary, all_data, none) + DEF_SVE_FUNCTION (svtrn2q, binary, all_data, none) + DEF_SVE_FUNCTION (svuzp1q, binary, all_data, none) +@@ -372,10 +376,3 @@ DEF_SVE_FUNCTION (svuzp2q, binary, all_data, none) + DEF_SVE_FUNCTION (svzip1q, binary, all_data, none) + DEF_SVE_FUNCTION (svzip2q, binary, all_data, none) + #undef REQUIRED_EXTENSIONS +- +-#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ +- | AARCH64_FL_F64MM \ +- | AARCH64_FL_SM_OFF) +-DEF_SVE_FUNCTION (svld1ro, load_replicate, all_data, implicit) +-DEF_SVE_FUNCTION (svmmla, mmla, d_float, none) +-#undef REQUIRED_EXTENSIONS +--- a/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc +@@ -221,7 +221,7 @@ public: + } + }; + +-class svpext_impl : public function_base ++class svpext_lane_impl : public function_base + { + public: + rtx +@@ -234,7 +234,7 @@ public: + } + }; + +-class svpsel_impl : public function_base ++class svpsel_lane_impl : public function_base + { + public: + rtx +@@ -619,13 +619,13 @@ FUNCTION (svmullt_lane, unspec_based_lane_function, (UNSPEC_SMULLT, + UNSPEC_UMULLT, -1)) + FUNCTION (svnbsl, CODE_FOR_MODE0 (aarch64_sve2_nbsl),) + FUNCTION (svnmatch, svmatch_svnmatch_impl, (UNSPEC_NMATCH)) +-FUNCTION (svpext, svpext_impl,) ++FUNCTION (svpext_lane, svpext_lane_impl,) + FUNCTION (svpmul, CODE_FOR_MODE0 (aarch64_sve2_pmul),) + FUNCTION (svpmullb, unspec_based_function, (-1, UNSPEC_PMULLB, -1)) + FUNCTION (svpmullb_pair, unspec_based_function, (-1, UNSPEC_PMULLB_PAIR, -1)) + FUNCTION (svpmullt, unspec_based_function, (-1, UNSPEC_PMULLT, -1)) + FUNCTION (svpmullt_pair, unspec_based_function, (-1, UNSPEC_PMULLT_PAIR, -1)) +-FUNCTION (svpsel, svpsel_impl,) ++FUNCTION (svpsel_lane, svpsel_lane_impl,) + FUNCTION (svqabs, rtx_code_function, (SS_ABS, UNKNOWN, UNKNOWN)) + FUNCTION (svqcadd, svqcadd_impl,) + FUNCTION (svqcvt, integer_conversion, (UNSPEC_SQCVT, UNSPEC_SQCVTU, +--- a/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.def ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.def +@@ -235,7 +235,7 @@ DEF_SVE_FUNCTION (svsm4ekey, binary, s_unsigned, none) + | AARCH64_FL_SME \ + | AARCH64_FL_SM_ON) + DEF_SVE_FUNCTION (svclamp, clamp, all_integer, none) +-DEF_SVE_FUNCTION (svpsel, select_pred, all_pred_count, none) ++DEF_SVE_FUNCTION (svpsel_lane, select_pred, all_pred_count, none) + DEF_SVE_FUNCTION (svrevd, unary, all_data, mxz) + #undef REQUIRED_EXTENSIONS + +@@ -263,7 +263,7 @@ DEF_SVE_FUNCTION_GS (svmax, binary_opt_single_n, all_arith, x24, none) + DEF_SVE_FUNCTION_GS (svmaxnm, binary_opt_single_n, all_float, x24, none) + DEF_SVE_FUNCTION_GS (svmin, binary_opt_single_n, all_arith, x24, none) + DEF_SVE_FUNCTION_GS (svminnm, binary_opt_single_n, all_float, x24, none) +-DEF_SVE_FUNCTION_GS (svpext, extract_pred, all_count, x12, none) ++DEF_SVE_FUNCTION_GS (svpext_lane, extract_pred, all_count, x12, none) + DEF_SVE_FUNCTION (svptrue, inherent, all_count, none) + DEF_SVE_FUNCTION_GS (svqcvt, unary_convertxn, qcvt_x2, x2, none) + DEF_SVE_FUNCTION_GS (svqcvt, unary_convertxn, qcvt_x4, x4, none) +--- a/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.h ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins-sve2.h +@@ -100,13 +100,13 @@ namespace aarch64_sve + extern const function_base *const svmullt_lane; + extern const function_base *const svnbsl; + extern const function_base *const svnmatch; +- extern const function_base *const svpext; ++ extern const function_base *const svpext_lane; + extern const function_base *const svpmul; + extern const function_base *const svpmullb; + extern const function_base *const svpmullb_pair; + extern const function_base *const svpmullt; + extern const function_base *const svpmullt_pair; +- extern const function_base *const svpsel; ++ extern const function_base *const svpsel_lane; + extern const function_base *const svqabs; + extern const function_base *const svqcadd; + extern const function_base *const svqcvt; +--- a/src/gcc/config/aarch64/aarch64-sve-builtins.cc ++++ b/src/gcc/config/aarch64/aarch64-sve-builtins.cc +@@ -947,14 +947,6 @@ static hash_table *function_table; + are IDENTIFIER_NODEs. */ + static GTY(()) hash_map *overload_names[2]; + +-/* True if we've already complained about attempts to use functions +- when the required extension is disabled. */ +-static bool reported_missing_extension_p; +- +-/* True if we've already complained about attempts to use functions +- which require registers that are missing. */ +-static bool reported_missing_registers_p; +- + /* Record that TYPE is an ABI-defined SVE type that contains NUM_ZR SVE vectors + and NUM_PR SVE predicates. MANGLED_NAME, if nonnull, is the ABI-defined + mangling of the type. ACLE_NAME is the name of the type. */ +@@ -1076,96 +1068,6 @@ lookup_fndecl (tree fndecl) + return &(*registered_functions)[subcode]->instance; + } + +-/* Report an error against LOCATION that the user has tried to use +- function FNDECL when extension EXTENSION is disabled. */ +-static void +-report_missing_extension (location_t location, tree fndecl, +- const char *extension) +-{ +- /* Avoid reporting a slew of messages for a single oversight. */ +- if (reported_missing_extension_p) +- return; +- +- error_at (location, "ACLE function %qD requires ISA extension %qs", +- fndecl, extension); +- inform (location, "you can enable %qs using the command-line" +- " option %<-march%>, or by using the %" +- " attribute or pragma", extension); +- reported_missing_extension_p = true; +-} +- +-/* Check whether the registers required by SVE function fndecl are available. +- Report an error against LOCATION and return false if not. */ +-static bool +-check_required_registers (location_t location, tree fndecl) +-{ +- /* Avoid reporting a slew of messages for a single oversight. */ +- if (reported_missing_registers_p) +- return false; +- +- if (TARGET_GENERAL_REGS_ONLY) +- { +- /* SVE registers are not usable when -mgeneral-regs-only option +- is specified. */ +- error_at (location, +- "ACLE function %qD is incompatible with the use of %qs", +- fndecl, "-mgeneral-regs-only"); +- reported_missing_registers_p = true; +- return false; +- } +- +- return true; +-} +- +-/* Check whether all the AARCH64_FL_* values in REQUIRED_EXTENSIONS are +- enabled, given that those extensions are required for function FNDECL. +- Report an error against LOCATION if not. */ +-static bool +-check_required_extensions (location_t location, tree fndecl, +- aarch64_feature_flags required_extensions) +-{ +- auto missing_extensions = required_extensions & ~aarch64_asm_isa_flags; +- if (missing_extensions == 0) +- return check_required_registers (location, fndecl); +- +- if (missing_extensions & AARCH64_FL_SM_OFF) +- { +- error_at (location, "ACLE function %qD cannot be called when" +- " SME streaming mode is enabled", fndecl); +- return false; +- } +- +- if (missing_extensions & AARCH64_FL_SM_ON) +- { +- error_at (location, "ACLE function %qD can only be called when" +- " SME streaming mode is enabled", fndecl); +- return false; +- } +- +- if (missing_extensions & AARCH64_FL_ZA_ON) +- { +- error_at (location, "ACLE function %qD can only be called from" +- " a function that has %qs state", fndecl, "za"); +- return false; +- } +- +- static const struct { +- aarch64_feature_flags flag; +- const char *name; +- } extensions[] = { +-#define AARCH64_OPT_EXTENSION(EXT_NAME, IDENT, C, D, E, F) \ +- { AARCH64_FL_##IDENT, EXT_NAME }, +-#include "aarch64-option-extensions.def" +- }; +- +- for (unsigned int i = 0; i < ARRAY_SIZE (extensions); ++i) +- if (missing_extensions & extensions[i].flag) +- { +- report_missing_extension (location, fndecl, extensions[i].name); +- return false; +- } +- gcc_unreachable (); +-} + + /* Report that LOCATION has a call to FNDECL in which argument ARGNO + was not an integer constant expression. ARGNO counts from zero. */ +@@ -1357,7 +1259,7 @@ function_builder::function_builder (handle_pragma_index pragma_index, + bool function_nulls) + { + m_overload_type = build_function_type (void_type_node, void_list_node); +- m_direct_overloads = lang_GNU_CXX (); ++ m_direct_overloads = lang_GNU_CXX () || in_lto_p; + + if (initial_indexes[pragma_index] == 0) + { +@@ -4761,7 +4663,8 @@ check_builtin_call (location_t location, vec, unsigned int code, + tree fndecl, unsigned int nargs, tree *args) + { + const registered_function &rfn = *(*registered_functions)[code]; +- if (!check_required_extensions (location, rfn.decl, rfn.required_extensions)) ++ if (!aarch64_check_required_extensions (location, rfn.decl, ++ rfn.required_extensions)) + return false; + return function_checker (location, rfn.instance, fndecl, + TREE_TYPE (rfn.decl), nargs, args).check (); +@@ -4784,8 +4687,8 @@ rtx + expand_builtin (unsigned int code, tree exp, rtx target) + { + registered_function &rfn = *(*registered_functions)[code]; +- if (!check_required_extensions (EXPR_LOCATION (exp), rfn.decl, +- rfn.required_extensions)) ++ if (!aarch64_check_required_extensions (EXPR_LOCATION (exp), rfn.decl, ++ rfn.required_extensions)) + return target; + return function_expander (rfn.instance, rfn.decl, exp, target).expand (); + } +--- a/src/gcc/config/aarch64/aarch64-sve2.md ++++ b/src/gcc/config/aarch64/aarch64-sve2.md +@@ -418,7 +418,7 @@ (define_insn "@aarch64_sve_psel" + (match_operand:SI 3 "register_operand" "Ucj") + (const_int BHSD_BITS)] + UNSPEC_PSEL))] +- "TARGET_STREAMING_SME2" ++ "TARGET_STREAMING" + "psel\t%0, %1, %2.[%w3, 0]" + ) + +@@ -432,7 +432,7 @@ (define_insn "*aarch64_sve_psel_plus" + (match_operand:SI 4 "const_int_operand")) + (const_int BHSD_BITS)] + UNSPEC_PSEL))] +- "TARGET_STREAMING_SME2 ++ "TARGET_STREAMING + && UINTVAL (operands[4]) < 128 / " + "psel\t%0, %1, %2.[%w3, %4]" + ) +@@ -1117,7 +1117,7 @@ (define_insn "@aarch64_sve_fclamp" + UNSPEC_FMAXNM) + (match_operand:SVE_FULL_F 3 "register_operand")] + UNSPEC_FMINNM))] +- "TARGET_STREAMING_SME" ++ "TARGET_STREAMING_SME2" + {@ [cons: =0, 1, 2, 3; attrs: movprfx] + [ w, %0, w, w; * ] fclamp\t%0., %2., %3. + [ ?&w, w, w, w; yes ] movprfx\t%0, %1\;fclamp\t%0., %2., %3. +@@ -1137,7 +1137,7 @@ (define_insn_and_split "*aarch64_sve_fclamp_x" + UNSPEC_COND_FMAXNM) + (match_operand:SVE_FULL_F 3 "register_operand")] + UNSPEC_COND_FMINNM))] +- "TARGET_STREAMING_SME" ++ "TARGET_STREAMING_SME2" + {@ [cons: =0, 1, 2, 3; attrs: movprfx] + [ w, %0, w, w; * ] # + [ ?&w, w, w, w; yes ] # +--- a/src/gcc/config/aarch64/aarch64-tune.md ++++ b/src/gcc/config/aarch64/aarch64-tune.md +@@ -1,5 +1,5 @@ + ;; -*- buffer-read-only: t -*- + ;; Generated automatically by gentune.sh from aarch64-cores.def + (define_attr "tune" +- "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa520,cortexa710,cortexa715,cortexa720,cortexx2,cortexx3,cortexx4,neoversen2,cobalt100,neoversev2,grace,demeter,generic,generic_armv8_a,generic_armv9_a" ++ "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa520,cortexa710,cortexa715,cortexa720,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,demeter,generic,generic_armv8_a,generic_armv9_a" + (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) +--- a/src/gcc/config/aarch64/aarch64.cc ++++ b/src/gcc/config/aarch64/aarch64.cc +@@ -410,6 +410,7 @@ static const struct aarch64_flag_desc aarch64_tuning_flags[] = + #include "tuning_models/neoversen2.h" + #include "tuning_models/neoversev2.h" + #include "tuning_models/a64fx.h" ++#include "tuning_models/fujitsu_monaka.h" + + /* Support for fine-grained override of the tuning structures. */ + struct aarch64_tuning_override_function +@@ -2505,10 +2506,11 @@ aarch64_hard_regno_caller_save_mode (unsigned regno, unsigned, + unnecessarily significant. */ + if (PR_REGNUM_P (regno)) + return mode; +- if (known_ge (GET_MODE_SIZE (mode), 4)) +- return mode; +- else ++ if (known_lt (GET_MODE_SIZE (mode), 4) ++ && REG_CAN_CHANGE_MODE_P (regno, mode, SImode) ++ && REG_CAN_CHANGE_MODE_P (regno, SImode, mode)) + return SImode; ++ return mode; + } + + /* Return true if I's bits are consecutive ones from the MSB. */ +@@ -20282,6 +20284,10 @@ dispatch_function_versions (tree dispatch_decl, + tree init_fn_id = get_identifier ("__init_cpu_features_resolver"); + tree init_fn_decl = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL, + init_fn_id, init_fn_type); ++ DECL_EXTERNAL (init_fn_decl) = 1; ++ TREE_PUBLIC (init_fn_decl) = 1; ++ DECL_VISIBILITY (init_fn_decl) = VISIBILITY_HIDDEN; ++ DECL_VISIBILITY_SPECIFIED (init_fn_decl) = 1; + tree arg1 = DECL_ARGUMENTS (dispatch_decl); + tree arg2 = TREE_CHAIN (arg1); + ifunc_cpu_init_stmt = gimple_build_call (init_fn_decl, 2, arg1, arg2); +@@ -20301,6 +20307,9 @@ dispatch_function_versions (tree dispatch_decl, + get_identifier ("__aarch64_cpu_features"), + global_type); + DECL_EXTERNAL (global_var) = 1; ++ TREE_PUBLIC (global_var) = 1; ++ DECL_VISIBILITY (global_var) = VISIBILITY_HIDDEN; ++ DECL_VISIBILITY_SPECIFIED (global_var) = 1; + tree mask_var = create_tmp_var (long_long_unsigned_type_node); + + tree component_expr = build3 (COMPONENT_REF, long_long_unsigned_type_node, +--- a/src/gcc/config/aarch64/aarch64.h ++++ b/src/gcc/config/aarch64/aarch64.h +@@ -1448,7 +1448,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + CONFIG_TUNE_SPEC + + #define MCPU_TO_MARCH_SPEC \ +- " %{mcpu=*:-march=%:rewrite_mcpu(%{mcpu=*:%*})}" ++ "%{!march=*:%{mcpu=*:-march=%:rewrite_mcpu(%{mcpu=*:%*})}}" + + extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); + #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ +--- a/src/gcc/config/aarch64/arm_acle.h ++++ b/src/gcc/config/aarch64/arm_acle.h +@@ -252,10 +252,7 @@ __crc32d (uint32_t __a, uint64_t __b) + + #pragma GCC pop_options + +-#ifdef __ARM_FEATURE_TME +-#pragma GCC push_options +-#pragma GCC target ("+nothing+tme") +- ++/* Constants for TME failure reason. */ + #define _TMFAILURE_REASON 0x00007fffu + #define _TMFAILURE_RTRY 0x00008000u + #define _TMFAILURE_CNCL 0x00010000u +@@ -268,40 +265,7 @@ __crc32d (uint32_t __a, uint64_t __b) + #define _TMFAILURE_INT 0x00800000u + #define _TMFAILURE_TRIVIAL 0x01000000u + +-__extension__ extern __inline uint64_t +-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +-__tstart (void) +-{ +- return __builtin_aarch64_tstart (); +-} +- +-__extension__ extern __inline void +-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +-__tcommit (void) +-{ +- __builtin_aarch64_tcommit (); +-} +- +-__extension__ extern __inline void +-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +-__tcancel (const uint64_t __reason) +-{ +- __builtin_aarch64_tcancel (__reason); +-} +- +-__extension__ extern __inline uint64_t +-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +-__ttest (void) +-{ +- return __builtin_aarch64_ttest (); +-} +- +-#pragma GCC pop_options +-#endif +- +-#ifdef __ARM_FEATURE_LS64 + typedef __arm_data512_t data512_t; +-#endif + + #pragma GCC push_options + #pragma GCC target ("+nothing+rng") +@@ -321,29 +285,6 @@ __rndrrs (uint64_t *__res) + + #pragma GCC pop_options + +-#pragma GCC push_options +-#pragma GCC target ("+nothing+memtag") +- +-#define __arm_mte_create_random_tag(__ptr, __u64_mask) \ +- __builtin_aarch64_memtag_irg(__ptr, __u64_mask) +- +-#define __arm_mte_exclude_tag(__ptr, __u64_excluded) \ +- __builtin_aarch64_memtag_gmi(__ptr, __u64_excluded) +- +-#define __arm_mte_ptrdiff(__ptr_a, __ptr_b) \ +- __builtin_aarch64_memtag_subp(__ptr_a, __ptr_b) +- +-#define __arm_mte_increment_tag(__ptr, __u_offset) \ +- __builtin_aarch64_memtag_inc_tag(__ptr, __u_offset) +- +-#define __arm_mte_set_tag(__tagged_address) \ +- __builtin_aarch64_memtag_set_tag(__tagged_address) +- +-#define __arm_mte_get_tag(__address) \ +- __builtin_aarch64_memtag_get_tag(__address) +- +-#pragma GCC pop_options +- + #define __arm_rsr(__regname) \ + __builtin_aarch64_rsr (__regname) + +--- a/src/gcc/config/aarch64/driver-aarch64.cc ++++ b/src/gcc/config/aarch64/driver-aarch64.cc +@@ -60,6 +60,7 @@ struct aarch64_core_data + #define ALL_VARIANTS ((unsigned)-1) + /* Default architecture to use if -mcpu=native did not detect a known CPU. */ + #define DEFAULT_ARCH "8A" ++#define DEFAULT_CPU "generic-armv8-a" + + #define AARCH64_CORE(CORE_NAME, CORE_IDENT, SCHED, ARCH, FLAGS, COSTS, IMP, PART, VARIANT) \ + { CORE_NAME, #ARCH, IMP, PART, VARIANT, feature_deps::cpu_##CORE_IDENT }, +@@ -106,6 +107,19 @@ get_arch_from_id (const char* id) + return NULL; + } + ++/* Return an aarch64_core_data for the cpu described ++ by ID, or NULL if ID describes something we don't know about. */ ++ ++static const aarch64_core_data * ++get_cpu_from_id (const char* name) ++{ ++ for (unsigned i = 0; aarch64_cpu_data[i].name != NULL; i++) ++ if (strcmp (name, aarch64_cpu_data[i].name) == 0) ++ return &aarch64_cpu_data[i]; ++ ++ return NULL; ++} ++ + /* Check wether the CORE array is the same as the big.LITTLE BL_CORE. + For an example CORE={0xd08, 0xd03} and + BL_CORE=AARCH64_BIG_LITTLE (0xd08, 0xd03) will return true. */ +@@ -399,18 +413,11 @@ host_detect_local_cpu (int argc, const char **argv) + || variants[0] == aarch64_cpu_data[i].variant)) + break; + +- if (aarch64_cpu_data[i].name == NULL) ++ if (arch) + { +- auto arch_info = get_arch_from_id (DEFAULT_ARCH); +- +- gcc_assert (arch_info); +- +- res = concat ("-march=", arch_info->name, NULL); +- default_flags = arch_info->flags; +- } +- else if (arch) +- { +- const char *arch_id = aarch64_cpu_data[i].arch; ++ const char *arch_id = (aarch64_cpu_data[i].name ++ ? aarch64_cpu_data[i].arch ++ : DEFAULT_ARCH); + auto arch_info = get_arch_from_id (arch_id); + + /* We got some arch indentifier that's not in aarch64-arches.def? */ +@@ -420,12 +427,15 @@ host_detect_local_cpu (int argc, const char **argv) + res = concat ("-march=", arch_info->name, NULL); + default_flags = arch_info->flags; + } +- else ++ else if (cpu || aarch64_cpu_data[i].name) + { +- default_flags = aarch64_cpu_data[i].flags; ++ auto cpu_info = (aarch64_cpu_data[i].name ++ ? &aarch64_cpu_data[i] ++ : get_cpu_from_id (DEFAULT_CPU)); ++ default_flags = cpu_info->flags; + res = concat ("-m", + cpu ? "cpu" : "tune", "=", +- aarch64_cpu_data[i].name, ++ cpu_info->name, + NULL); + } + } +@@ -445,6 +455,20 @@ host_detect_local_cpu (int argc, const char **argv) + break; + } + } ++ ++ /* On big.LITTLE if we find any unknown CPUs we can still pick arch ++ features as the cores should have the same features. So just pick ++ the feature flags from any of the cpus. */ ++ if (cpu && aarch64_cpu_data[i].name == NULL) ++ { ++ auto cpu_info = get_cpu_from_id (DEFAULT_CPU); ++ ++ gcc_assert (cpu_info); ++ ++ res = concat ("-mcpu=", cpu_info->name, NULL); ++ default_flags = cpu_info->flags; ++ } ++ + if (!res) + goto not_found; + } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/aarch64/tuning_models/fujitsu_monaka.h +@@ -0,0 +1,65 @@ ++/* Tuning model description for FUJITSU-MONAKA. ++ Copyright (C) 2009-2024 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_AARCH64_H_FUJITSU_MONAKA ++#define GCC_AARCH64_H_FUJITSU_MONAKA ++ ++#include "generic.h" ++#include "generic_armv9_a.h" ++ ++/* Tuning parameters for FUJITSU-MONAKA processor. It is copied from the ++ generic one except for the vector width for now. */ ++static const struct tune_params fujitsu_monaka_tunings = ++{ ++ &cortexa76_extra_costs, ++ &generic_armv9_a_addrcost_table, ++ &generic_armv9_a_regmove_cost, ++ &generic_armv9_a_vector_cost, ++ &generic_branch_cost, ++ &generic_approx_modes, ++ SVE_256, /* sve_width. */ ++ { 4, /* load_int. */ ++ 1, /* store_int. */ ++ 6, /* load_fp. */ ++ 2, /* store_fp. */ ++ 6, /* load_pred. */ ++ 1 /* store_pred. */ ++ }, /* memmov_cost. */ ++ 3, /* issue_rate. */ ++ (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops. */ ++ "32:16", /* function_align. */ ++ "4", /* jump_align. */ ++ "32:16", /* loop_align. */ ++ 2, /* int_reassoc_width. */ ++ 4, /* fp_reassoc_width. */ ++ 2, /* fma_reassoc_width. */ ++ 2, /* vec_reassoc_width. */ ++ 2, /* min_div_recip_mul_sf. */ ++ 2, /* min_div_recip_mul_df. */ ++ 0, /* max_case_values. */ ++ tune_params::AUTOPREFETCHER_WEAK, /* autoprefetcher_model. */ ++ (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND ++ | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS ++ | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT), /* tune_flags. */ ++ &generic_prefetch_tune, ++ AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ ++ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ ++}; ++ ++#endif /* GCC_AARCH64_H_FUJITSU_MONAKA. */ +--- a/src/gcc/config/arm/arm-mve-builtins.cc ++++ b/src/gcc/config/arm/arm-mve-builtins.cc +@@ -492,6 +492,13 @@ handle_arm_mve_h (bool preserve_user_namespace) + return; + } + ++ if (!handle_arm_mve_types_p) ++ { ++ error ("this definition requires MVE types, please include %qs", ++ "arm_mve_types.h"); ++ return; ++ } ++ + /* Define MVE functions. */ + function_table = new hash_table (1023); + function_builder builder; +@@ -2100,7 +2107,40 @@ function_expander::add_input_operand (insn_code icode, rtx x) + mode = GET_MODE (x); + } + else if (VALID_MVE_PRED_MODE (mode)) +- x = gen_lowpart (mode, x); ++ { ++ if (CONST_INT_P (x)) ++ { ++ if (mode == V8BImode || mode == V4BImode) ++ { ++ /* In V8BI or V4BI each element has 2 or 4 bits, if those bits ++ aren't all the same, gen_lowpart might ICE. Canonicalize all ++ the 2 or 4 bits to all ones if any of them is non-zero. V8BI ++ and V4BI multi-bit masks are interpreted byte-by-byte at ++ instruction level, but such constants should describe lanes, ++ rather than bytes. See the section on MVE intrinsics in the ++ Arm ACLE specification. */ ++ unsigned HOST_WIDE_INT xi = UINTVAL (x); ++ xi |= ((xi & 0x5555) << 1) | ((xi & 0xaaaa) >> 1); ++ if (mode == V4BImode) ++ xi |= ((xi & 0x3333) << 2) | ((xi & 0xcccc) >> 2); ++ if (xi != UINTVAL (x)) ++ warning_at (location, 0, "constant predicate argument %d" ++ " (%wx) does not map to %d lane numbers," ++ " converted to %wx", ++ opno, UINTVAL (x) & 0xffff, ++ mode == V8BImode ? 8 : 4, ++ xi & 0xffff); ++ ++ x = gen_int_mode (xi, HImode); ++ } ++ x = gen_lowpart (mode, x); ++ } ++ else ++ { ++ auto byte = subreg_lowpart_offset (mode, GET_MODE (x)); ++ x = force_subreg (mode, x, GET_MODE (x), byte); ++ } ++ } + + m_ops.safe_grow (m_ops.length () + 1, true); + create_input_operand (&m_ops.last (), x, mode); +--- a/src/gcc/config/arm/arm-protos.h ++++ b/src/gcc/config/arm/arm-protos.h +@@ -202,6 +202,7 @@ extern rtx arm_load_tp (rtx); + extern bool arm_coproc_builtin_available (enum unspecv); + extern bool arm_coproc_ldc_stc_legitimate_address (rtx); + extern rtx arm_stack_protect_tls_canary_mem (bool); ++extern bool arm_ldrd_legitimate_address (rtx); + + + #if defined TREE_CODE +--- a/src/gcc/config/arm/arm.cc ++++ b/src/gcc/config/arm/arm.cc +@@ -34523,6 +34523,30 @@ arm_coproc_ldc_stc_legitimate_address (rtx op) + return false; + } + ++/* Return true if OP is a valid memory operand for LDRD/STRD without any ++ register overlap restrictions. Allow [base] and [base, imm] for now. */ ++bool ++arm_ldrd_legitimate_address (rtx op) ++{ ++ if (!MEM_P (op)) ++ return false; ++ ++ op = XEXP (op, 0); ++ if (REG_P (op)) ++ return true; ++ ++ if (GET_CODE (op) != PLUS) ++ return false; ++ if (!REG_P (XEXP (op, 0)) || !CONST_INT_P (XEXP (op, 1))) ++ return false; ++ ++ HOST_WIDE_INT val = INTVAL (XEXP (op, 1)); ++ ++ if (TARGET_ARM) ++ return IN_RANGE (val, -255, 255); ++ return IN_RANGE (val, -1020, 1020) && (val & 3) == 0; ++} ++ + /* Return the diagnostic message string if conversion from FROMTYPE to + TOTYPE is not allowed, NULL otherwise. */ + +--- a/src/gcc/config/arm/arm_mve.h ++++ b/src/gcc/config/arm/arm_mve.h +@@ -15,6 +15,10 @@ + 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 + along with GCC; see the file COPYING3. If not see + . */ +--- a/src/gcc/config/arm/arm_mve_types.h ++++ b/src/gcc/config/arm/arm_mve_types.h +@@ -15,6 +15,10 @@ + 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 + along with GCC; see the file COPYING3. If not see + . */ +--- a/src/gcc/config/arm/constraints.md ++++ b/src/gcc/config/arm/constraints.md +@@ -39,7 +39,7 @@ + ;; in all states: Pg + + ;; The following memory constraints have been used: +-;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Up, Uf, Ux, Ul ++;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Uo, Up, Uf, Ux, Ul, Uz + ;; in ARM state: Uq + ;; in Thumb state: Uu, Uw + ;; in all states: Q +@@ -585,6 +585,12 @@ (define_memory_constraint "Uz" + (and (match_code "mem") + (match_test "arm_coproc_ldc_stc_legitimate_address (op)"))) + ++(define_memory_constraint "Uo" ++ "@internal ++ A memory operand for Arm/Thumb-2 LDRD/STRD" ++ (and (match_code "mem") ++ (match_test "arm_ldrd_legitimate_address (op)"))) ++ + ;; We used to have constraint letters for S and R in ARM state, but + ;; all uses of these now appear to have been removed. + +--- a/src/gcc/config/arm/predicates.md ++++ b/src/gcc/config/arm/predicates.md +@@ -849,6 +849,10 @@ (define_predicate "arm_sync_memory_operand" + (and (match_operand 0 "memory_operand") + (match_code "reg" "0"))) + ++;; True if the operand is memory reference suitable for a ldrd/strd. ++(define_predicate "arm_ldrd_memory_operand" ++ (match_test "arm_ldrd_legitimate_address (op)")) ++ + ;; Predicates for parallel expanders based on mode. + (define_special_predicate "vect_par_constant_high" + (match_code "parallel") +--- a/src/gcc/config/arm/sync.md ++++ b/src/gcc/config/arm/sync.md +@@ -161,7 +161,7 @@ (define_expand "atomic_store" + (define_insn "arm_atomic_loaddi2_ldrd" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec_volatile:DI +- [(match_operand:DI 1 "memory_operand" "m")] ++ [(match_operand:DI 1 "arm_ldrd_memory_operand" "Uo")] + VUNSPEC_LDRD_ATOMIC))] + "ARM_DOUBLEWORD_ALIGN && TARGET_HAVE_LPAE" + "ldrd\t%0, %H0, %1" +--- a/src/gcc/config/arm/t-rtems ++++ b/src/gcc/config/arm/t-rtems +@@ -17,8 +17,8 @@ MULTILIB_DIRNAMES += eb + MULTILIB_OPTIONS += mthumb + MULTILIB_DIRNAMES += thumb + +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv6-m/march=armv7-a/march=armv7-a+simd/march=armv7-r/march=armv7-r+fp/mcpu=cortex-r52/mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m4+nofp/mcpu=cortex-m7 +-MULTILIB_DIRNAMES += armv5te+fp armv6-m armv7-a armv7-a+simd armv7-r armv7-r+fp cortex-r52 cortex-m3 cortex-m4 cortex-m4+nofp cortex-m7 ++MULTILIB_OPTIONS += march=armv5te+fp/march=armv6-m/march=armv7-a/march=armv7-a+simd/march=armv7-r/march=armv7-r+fp/mcpu=cortex-r52/mcpu=cortex-m3/mcpu=cortex-m33/mcpu=cortex-m4/mcpu=cortex-m4+nofp/mcpu=cortex-m7 ++MULTILIB_DIRNAMES += armv5te+fp armv6-m armv7-a armv7-a+simd armv7-r armv7-r+fp cortex-r52 cortex-m3 cortex-m33 cortex-m4 cortex-m4+nofp cortex-m7 + + MULTILIB_OPTIONS += mfloat-abi=hard + MULTILIB_DIRNAMES += hard +@@ -33,6 +33,7 @@ MULTILIB_REQUIRED += mthumb/march=armv7-r+fp/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb/march=armv7-r + MULTILIB_REQUIRED += mthumb/mcpu=cortex-r52/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb/mcpu=cortex-m3 ++MULTILIB_REQUIRED += mthumb/mcpu=cortex-m33 + MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4+nofp + MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfloat-abi=hard +--- a/src/gcc/config/avr/avr-modes.def ++++ b/src/gcc/config/avr/avr-modes.def +@@ -17,6 +17,7 @@ + . */ + + FRACTIONAL_INT_MODE (PSI, 24, 3); ++INT_N (PSI, 24); + + /* Make TA and UTA 64 bits wide. + 128 bit wide modes would be insane on a 8-bit machine. +--- a/src/gcc/config/avr/avr-protos.h ++++ b/src/gcc/config/avr/avr-protos.h +@@ -112,7 +112,7 @@ extern const char* avr_out_reload_inpsi (rtx*, rtx, int*); + extern const char* avr_out_lpm (rtx_insn *, rtx*, int*); + extern void avr_notice_update_cc (rtx body, rtx_insn *insn); + extern int reg_unused_after (rtx_insn *insn, rtx reg); +-extern int avr_jump_mode (rtx x, rtx_insn *insn); ++extern int avr_jump_mode (rtx x, rtx_insn *insn, int = 0); + extern int test_hard_reg_class (enum reg_class rclass, rtx x); + extern int jump_over_one_insn_p (rtx_insn *insn, rtx dest); + +--- a/src/gcc/config/avr/avr.cc ++++ b/src/gcc/config/avr/avr.cc +@@ -2052,6 +2052,10 @@ avr_pass_fuse_add::Mem_Insn::Mem_Insn (rtx_insn *insn) + else + return; + ++ if (avr_mem_memx_p (mem) ++ || avr_load_libgcc_p (mem)) ++ return; ++ + addr = XEXP (mem, 0); + addr_code = GET_CODE (addr); + +@@ -3808,6 +3812,69 @@ avr_print_operand (FILE *file, rtx x, int code) + rtx op = XEXP (XEXP (x, 0), 0); + fprintf (file, "%s", reg_names[REGNO (op) + ij]); + } ++ else if (code == 'i') ++ { ++ const int sfr0 = avr_arch->sfr_offset; ++ bool lossage_p = false; ++ ++ switch (GET_CODE (x)) ++ { ++ default: ++ lossage_p = true; ++ break; ++ ++ case CONST_INT: ++ { ++ const auto ival = INTVAL (x); ++ ++ if (io_address_operand (x, VOIDmode)) ++ { ++ if (AVR_HAVE_RAMPZ && ival == avr_addr.rampz) ++ fprintf (file, "__RAMPZ__"); ++ else if (AVR_HAVE_RAMPY && ival == avr_addr.rampy) ++ fprintf (file, "__RAMPY__"); ++ else if (AVR_HAVE_RAMPX && ival == avr_addr.rampx) ++ fprintf (file, "__RAMPX__"); ++ else if (AVR_HAVE_RAMPD && ival == avr_addr.rampd) ++ fprintf (file, "__RAMPD__"); ++ else if ((AVR_XMEGA || AVR_TINY) && ival == avr_addr.ccp) ++ fprintf (file, "__CCP__"); ++ else if (ival == avr_addr.sreg) fprintf (file, "__SREG__"); ++ else if (ival == avr_addr.sp_l) fprintf (file, "__SP_L__"); ++ else if (ival == avr_addr.sp_h) fprintf (file, "__SP_H__"); ++ else ++ fprintf (file, HOST_WIDE_INT_PRINT_HEX, ival - sfr0); ++ } ++ else ++ output_operand_lossage ++ ("bad I/O address 0x" HOST_WIDE_INT_PRINT_HEX_PURE ++ " outside of valid range [0x%x, 0x%x] for %%i operand", ++ ival, sfr0, sfr0 + 0x3f); ++ } ++ break; // CONST_INT ++ ++ case MEM: ++ if (io_address_operand (XEXP (x, 0), VOIDmode)) ++ avr_print_operand (file, XEXP (x, 0), 'i'); ++ else ++ lossage_p = true; ++ break; ++ ++ case SYMBOL_REF: ++ if (io_address_operand (x, VOIDmode)) ++ { ++ rtx addr = plus_constant (HImode, x, -sfr0); ++ avr_print_operand_address (file, VOIDmode, addr); ++ } ++ else ++ lossage_p = true; ++ break; ++ } // switch code ++ ++ if (lossage_p) ++ output_operand_lossage ("%s operand cannot be used as %%i I/O " ++ "address operand", rtx_name[GET_CODE (x)]); ++ } // code = i + else if (REG_P (x)) + { + if (x == zero_reg_rtx) +@@ -3819,34 +3886,7 @@ avr_print_operand (FILE *file, rtx x, int code) + } + else if (CONST_INT_P (x)) + { +- HOST_WIDE_INT ival = INTVAL (x); +- +- if ('i' != code) +- fprintf (file, HOST_WIDE_INT_PRINT_DEC, ival + abcd); +- else if (low_io_address_operand (x, VOIDmode) +- || high_io_address_operand (x, VOIDmode)) +- { +- if (AVR_HAVE_RAMPZ && ival == avr_addr.rampz) +- fprintf (file, "__RAMPZ__"); +- else if (AVR_HAVE_RAMPY && ival == avr_addr.rampy) +- fprintf (file, "__RAMPY__"); +- else if (AVR_HAVE_RAMPX && ival == avr_addr.rampx) +- fprintf (file, "__RAMPX__"); +- else if (AVR_HAVE_RAMPD && ival == avr_addr.rampd) +- fprintf (file, "__RAMPD__"); +- else if ((AVR_XMEGA || AVR_TINY) && ival == avr_addr.ccp) +- fprintf (file, "__CCP__"); +- else if (ival == avr_addr.sreg) fprintf (file, "__SREG__"); +- else if (ival == avr_addr.sp_l) fprintf (file, "__SP_L__"); +- else if (ival == avr_addr.sp_h) fprintf (file, "__SP_H__"); +- else +- { +- fprintf (file, HOST_WIDE_INT_PRINT_HEX, +- ival - avr_arch->sfr_offset); +- } +- } +- else +- fatal_insn ("bad address, not an I/O address:", x); ++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) + abcd); + } + else if (MEM_P (x)) + { +@@ -3866,10 +3906,6 @@ avr_print_operand (FILE *file, rtx x, int code) + } + output_addr_const (file, addr); + } +- else if (code == 'i') +- { +- avr_print_operand (file, addr, 'i'); +- } + else if (code == 'o') + { + if (GET_CODE (addr) != PLUS) +@@ -3907,14 +3943,6 @@ avr_print_operand (FILE *file, rtx x, int code) + else + avr_print_operand_address (file, VOIDmode, addr); + } +- else if (code == 'i') +- { +- if (SYMBOL_REF_P (x) && (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_IO)) +- avr_print_operand_address +- (file, VOIDmode, plus_constant (HImode, x, -avr_arch->sfr_offset)); +- else +- fatal_insn ("bad address, not an I/O address:", x); +- } + else if (code == 'x') + { + /* Constant progmem address - like used in jmp or call */ +@@ -3985,19 +4013,22 @@ avr_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size, + /* Choose mode for jump insn: + 1 - relative jump in range -63 <= x <= 62 ; + 2 - relative jump in range -2046 <= x <= 2045 ; +- 3 - absolute jump (only for ATmega[16]03). */ ++ 3 - absolute jump (only when we have JMP / CALL). ++ ++ When jumping backwards, assume the jump offset is EXTRA words ++ bigger than inferred from insn addresses. */ + + int +-avr_jump_mode (rtx x, rtx_insn *insn) ++avr_jump_mode (rtx x, rtx_insn *insn, int extra) + { + int dest_addr = INSN_ADDRESSES (INSN_UID (GET_CODE (x) == LABEL_REF + ? XEXP (x, 0) : x)); + int cur_addr = INSN_ADDRESSES (INSN_UID (insn)); + int jump_distance = cur_addr - dest_addr; + +- if (IN_RANGE (jump_distance, -63, 62)) ++ if (IN_RANGE (jump_distance, -63, 62 - extra)) + return 1; +- else if (IN_RANGE (jump_distance, -2046, 2045)) ++ else if (IN_RANGE (jump_distance, -2046, 2045 - extra)) + return 2; + else if (AVR_HAVE_JMP_CALL) + return 3; +@@ -4856,11 +4887,11 @@ avr_out_movqi_r_mr_reg_disp_tiny (rtx_insn *insn, rtx op[], int *plen) + rtx base2 = all_regs_rtx[1 ^ REGNO (dest)]; + + if (!reg_unused_after (insn, base2)) +- avr_asm_len ("mov __tmp_reg__,%0" , &base2, plen, 1); ++ avr_asm_len ("mov __tmp_reg__,%0", &base2, plen, 1); + avr_asm_len (TINY_ADIW (%I1, %J1, %o1) CR_TAB + "ld %0,%b1", op, plen, 3); + if (!reg_unused_after (insn, base2)) +- avr_asm_len ("mov %0,__tmp_reg__" , &base2, plen, 1); ++ avr_asm_len ("mov %0,__tmp_reg__", &base2, plen, 1); + } + + return ""; +@@ -4887,40 +4918,66 @@ out_movqi_r_mr (rtx_insn *insn, rtx op[], int *plen) + { + /* memory access by reg+disp */ + +- int disp = INTVAL (XEXP (x, 1)); +- + if (AVR_TINY) + return avr_out_movqi_r_mr_reg_disp_tiny (insn, op, plen); + ++ if (plen) ++ *plen = 0; ++ ++ int disp = INTVAL (XEXP (x, 1)); ++ rtx base = XEXP (x, 0); ++ rtx base2 = all_regs_rtx[1 ^ REGNO (dest)]; ++ bool partial_clobber = (reg_overlap_mentioned_p (dest, base) ++ && ! reg_unused_after (insn, base2)); ++ + if (disp - GET_MODE_SIZE (GET_MODE (src)) >= 63) + { ++ // PR117744: The base register overlaps dest and is ++ // only partially clobbered. ++ if (partial_clobber) ++ avr_asm_len ("mov __tmp_reg__,%0", &base2, plen, 1); ++ + if (REGNO (XEXP (x, 0)) != REG_Y) + fatal_insn ("incorrect insn:",insn); + + if (disp <= 63 + MAX_LD_OFFSET (GET_MODE (src))) +- return avr_asm_len ("adiw r28,%o1-63" CR_TAB +- "ldd %0,Y+63" CR_TAB +- "sbiw r28,%o1-63", op, plen, -3); ++ avr_asm_len ("adiw r28,%o1-63" CR_TAB ++ "ldd %0,Y+63" CR_TAB ++ "sbiw r28,%o1-63", op, plen, 3); ++ else ++ avr_asm_len ("subi r28,lo8(-%o1)" CR_TAB ++ "sbci r29,hi8(-%o1)" CR_TAB ++ "ld %0,Y" CR_TAB ++ "subi r28,lo8(%o1)" CR_TAB ++ "sbci r29,hi8(%o1)", op, plen, 5); + +- return avr_asm_len ("subi r28,lo8(-%o1)" CR_TAB +- "sbci r29,hi8(-%o1)" CR_TAB +- "ld %0,Y" CR_TAB +- "subi r28,lo8(%o1)" CR_TAB +- "sbci r29,hi8(%o1)", op, plen, -5); ++ if (partial_clobber) ++ avr_asm_len ("mov __tmp_reg__,%0", &base2, plen, 1); ++ ++ return ""; + } + else if (REGNO (XEXP (x, 0)) == REG_X) + { + /* This is a paranoid case LEGITIMIZE_RELOAD_ADDRESS must exclude + it but I have this situation with extremal optimizing options. */ + ++ // PR117744: The base register overlaps dest and is ++ // only partially clobbered. ++ bool clobber_r26 = (partial_clobber ++ && REGNO (base) == (REGNO (base) & ~1)); ++ if (partial_clobber ++ && ! clobber_r26) ++ avr_asm_len ("mov __tmp_reg__,%0", &base2, plen, 1); ++ + avr_asm_len ("adiw r26,%o1" CR_TAB +- "ld %0,X", op, plen, -2); ++ "ld %0,X", op, plen, 2); + +- if (!reg_overlap_mentioned_p (dest, XEXP (x, 0)) +- && !reg_unused_after (insn, XEXP (x, 0))) +- { +- avr_asm_len ("sbiw r26,%o1", op, plen, 1); +- } ++ if (clobber_r26) ++ avr_asm_len ("subi r26,lo8(%o1)", op, plen, 1); ++ else if (partial_clobber) ++ avr_asm_len ("mov %0,__tmp_reg__", &base2, plen, 1); ++ else if (! reg_unused_after (insn, base)) ++ avr_asm_len ("sbiw r26,%o1", op, plen, 1); + + return ""; + } +@@ -5497,33 +5554,33 @@ avr_out_movsi_mr_r_reg_disp_tiny (rtx op[], int *l) + rtx src = op[1]; + rtx base = XEXP (dest, 0); + int reg_base = REGNO (XEXP (base, 0)); +- int reg_src =true_regnum (src); ++ int reg_src = true_regnum (src); + + if (reg_base == reg_src) + { + *l = 11; +- return ("mov __tmp_reg__,%A2" CR_TAB +- "mov __zero_reg__,%B2" CR_TAB ++ return ("mov __tmp_reg__,%A1" CR_TAB ++ "mov __zero_reg__,%B1" CR_TAB + TINY_ADIW (%I0, %J0, %o0) CR_TAB + "st %b0+,__tmp_reg__" CR_TAB + "st %b0+,__zero_reg__" CR_TAB +- "st %b0+,%C2" CR_TAB +- "st %b0,%D2" CR_TAB ++ "st %b0+,%C1" CR_TAB ++ "st %b0,%D1" CR_TAB + "clr __zero_reg__" CR_TAB + TINY_SBIW (%I0, %J0, %o0+3)); + } + else if (reg_src == reg_base - 2) + { +- *l = 11; +- return ("mov __tmp_reg__,%C2" CR_TAB +- "mov __zero_reg__,%D2" CR_TAB +- TINY_ADIW (%I0, %J0, %o0) CR_TAB +- "st %b0+,%A0" CR_TAB +- "st %b0+,%B0" CR_TAB +- "st %b0+,__tmp_reg__" CR_TAB +- "st %b0,__zero_reg__" CR_TAB +- "clr __zero_reg__" CR_TAB +- TINY_SBIW (%I0, %J0, %o0+3)); ++ // This awkward case can occur when ext-dce turns zero-extend:SI(HI) ++ // into a paradoxical subreg, which register allocation may turn into ++ // something like *(R28:HI + 7) = R26:SI. There is actually no need ++ // to store the upper 2 bytes of R26:SI as they are unused rubbish. ++ // See PR116390. ++ *l = 6; ++ return (TINY_ADIW (%I0, %J0, %o0) CR_TAB ++ "st %b0+,%A1" CR_TAB ++ "st %b0,%B1" CR_TAB ++ TINY_SBIW (%I0, %J0, %o0+1)); + } + *l = 8; + return (TINY_ADIW (%I0, %J0, %o0) CR_TAB +@@ -7820,7 +7877,7 @@ avr_out_ashlpsi3 (rtx_insn *insn, rtx *op, int *plen) + int reg1 = REGNO (op[1]); + + if (reg0 + 2 != reg1) +- avr_asm_len ("mov %C0,%A0", op, plen, 1); ++ avr_asm_len ("mov %C0,%A1", op, plen, 1); + + return avr_asm_len ("clr %B0" CR_TAB + "clr %A0", op, plen, 2); +@@ -14408,6 +14465,10 @@ avr_out_sbxx_branch (rtx_insn *insn, rtx operands[]) + bool long_jump = get_attr_length (insn) >= 4; + bool reverse = long_jump || jump_over_one_insn_p (insn, operands[3]); + ++ // PR116953: jump_over_one_insn_p may call extract on the next insn, ++ // clobbering recog_data.operand. Thus, restore recog_data. ++ extract_constrain_insn_cached (insn); ++ + if (comp == GE) + comp = EQ; + else if (comp == LT) +@@ -15590,11 +15651,13 @@ avr_builtin_decl (unsigned id, bool /*initialize_p*/) + static void + avr_init_builtin_int24 (void) + { +- tree int24_type = make_signed_type (GET_MODE_BITSIZE (PSImode)); +- tree uint24_type = make_unsigned_type (GET_MODE_BITSIZE (PSImode)); +- +- lang_hooks.types.register_builtin_type (int24_type, "__int24"); +- lang_hooks.types.register_builtin_type (uint24_type, "__uint24"); ++ for (int i = 0; i < NUM_INT_N_ENTS; ++i) ++ if (int_n_data[i].bitsize == 24) ++ { ++ tree uint24_type = int_n_trees[i].unsigned_type; ++ lang_hooks.types.register_builtin_type (uint24_type, "__uint24"); ++ break; ++ } + } + + +--- a/src/gcc/config/avr/avr.md ++++ b/src/gcc/config/avr/avr.md +@@ -404,9 +404,14 @@ (define_expand "nonlocal_goto" + + emit_clobber (gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx)); + +- emit_move_insn (hard_frame_pointer_rtx, r_fp); ++ // PR64242: When r_sp is located in the frame, we must not ++ // change FP prior to reading r_sp. Hence copy r_fp to a ++ // local register (and hope that reload won't spill it). ++ rtx r_fp_reg = copy_to_reg (r_fp); + emit_stack_restore (SAVE_NONLOCAL, r_sp); + ++ emit_move_insn (hard_frame_pointer_rtx, r_fp_reg); ++ + emit_use (hard_frame_pointer_rtx); + emit_use (stack_pointer_rtx); + +@@ -1374,7 +1379,7 @@ (define_insn_and_split "*clrmemqi_split" + [(set (mem:BLK (match_operand:HI 0 "register_operand" "e")) + (const_int 0)) + (use (match_operand:QI 1 "register_operand" "r")) +- (use (match_operand:QI 2 "const_int_operand" "n")) ++ (use (match_operand:HI 2 "const_int_operand" "n")) + (clobber (match_scratch:HI 3 "=0")) + (clobber (match_scratch:QI 4 "=&1"))] + "" +@@ -1392,7 +1397,7 @@ (define_insn "*clrmemqi" + [(set (mem:BLK (match_operand:HI 0 "register_operand" "e")) + (const_int 0)) + (use (match_operand:QI 1 "register_operand" "r")) +- (use (match_operand:QI 2 "const_int_operand" "n")) ++ (use (match_operand:HI 2 "const_int_operand" "n")) + (clobber (match_scratch:HI 3 "=0")) + (clobber (match_scratch:QI 4 "=&1")) + (clobber (reg:CC REG_CC))] +@@ -7771,7 +7776,7 @@ (define_peephole ; "*dec-and-branchsi!=-1.d.clobber" + "sbc %C0,__zero_reg__" CR_TAB + "sbc %D0,__zero_reg__", operands); + +- int jump_mode = avr_jump_mode (operands[2], insn); ++ int jump_mode = avr_jump_mode (operands[2], insn, 3 - avr_adiw_reg_p (operands[0])); + const char *op = ((EQ == ) ^ (jump_mode == 1)) ? "brcc" : "brcs"; + operands[1] = gen_rtx_CONST_STRING (VOIDmode, op); + +@@ -7808,7 +7813,7 @@ (define_peephole ; "*dec-and-branchhi!=-1" + output_asm_insn ("subi %A0,1" CR_TAB + "sbc %B0,__zero_reg__", operands); + +- int jump_mode = avr_jump_mode (operands[2], insn); ++ int jump_mode = avr_jump_mode (operands[2], insn, 1 - avr_adiw_reg_p (operands[0])); + const char *op = ((EQ == ) ^ (jump_mode == 1)) ? "brcc" : "brcs"; + operands[1] = gen_rtx_CONST_STRING (VOIDmode, op); + +@@ -7847,7 +7852,7 @@ (define_peephole ; "*dec-and-branchhi!=-1.d.clobber" + output_asm_insn ("subi %A0,1" CR_TAB + "sbc %B0,__zero_reg__", operands); + +- int jump_mode = avr_jump_mode (operands[2], insn); ++ int jump_mode = avr_jump_mode (operands[2], insn, 1 - avr_adiw_reg_p (operands[0])); + const char *op = ((EQ == ) ^ (jump_mode == 1)) ? "brcc" : "brcs"; + operands[1] = gen_rtx_CONST_STRING (VOIDmode, op); + +@@ -7884,7 +7889,7 @@ (define_peephole ; "*dec-and-branchhi!=-1.l.clobber" + "sub %A0,%3" CR_TAB + "sbc %B0,__zero_reg__", operands); + +- int jump_mode = avr_jump_mode (operands[2], insn); ++ int jump_mode = avr_jump_mode (operands[2], insn, 2); + const char *op = ((EQ == ) ^ (jump_mode == 1)) ? "brcc" : "brcs"; + operands[1] = gen_rtx_CONST_STRING (VOIDmode, op); + +--- a/src/gcc/config/darwin.h ++++ b/src/gcc/config/darwin.h +@@ -264,6 +264,8 @@ extern GTY(()) int darwin_ms_struct; + "%{weak_reference_mismatches*:\ + -Xlinker -weak_reference_mismatches -Xlinker %*} \ + % Do not export the global symbols listed in . + ++weak_framework ++Driver RejectNegative Separate ++-weak_framework Make a weak link to the specified framework. ++ + weak_reference_mismatches + Driver RejectNegative Separate + -weak_reference_mismatches Specifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak. +--- a/src/gcc/config/i386/avx512bwintrin.h ++++ b/src/gcc/config/i386/avx512bwintrin.h +@@ -199,7 +199,7 @@ _kunpackw_mask32 (__mmask16 __A, __mmask16 __B) + (__mmask32) __B); + } + +-#if __OPTIMIZE__ ++#ifdef __OPTIMIZE__ + extern __inline __mmask32 + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _kshiftli_mask32 (__mmask32 __A, unsigned int __B) +--- a/src/gcc/config/i386/avx512fp16intrin.h ++++ b/src/gcc/config/i386/avx512fp16intrin.h +@@ -3961,11 +3961,11 @@ _mm512_fpclass_ph_mask (__m512h __A, const int __imm) + #else + #define _mm512_mask_fpclass_ph_mask(u, x, c) \ + ((__mmask32) __builtin_ia32_fpclassph512_mask ((__v32hf) (__m512h) (x), \ +- (int) (c),(__mmask8)(u))) ++ (int) (c),(__mmask32)(u))) + + #define _mm512_fpclass_ph_mask(x, c) \ + ((__mmask32) __builtin_ia32_fpclassph512_mask ((__v32hf) (__m512h) (x), \ +- (int) (c),(__mmask8)-1)) ++ (int) (c),(__mmask32)-1)) + #endif /* __OPIMTIZE__ */ + + /* Intrinsics vgetexpph. */ +--- a/src/gcc/config/i386/cmpccxaddintrin.h ++++ b/src/gcc/config/i386/cmpccxaddintrin.h +@@ -72,11 +72,11 @@ _cmpccxadd_epi64 (long long *__A, long long __B, long long __C, + } + #else + #define _cmpccxadd_epi32(A,B,C,D) \ +- __builtin_ia32_cmpccxadd ((int *) (A), (int) (B), (int) (C), \ ++ __builtin_ia32_cmpccxadd ((A), (int) (B), (int) (C), \ + (_CMPCCX_ENUM) (D)) + #define _cmpccxadd_epi64(A,B,C,D) \ +- __builtin_ia32_cmpccxadd64 ((long long *) (A), (long long) (B), \ +- (long long) (C), (_CMPCCX_ENUM) (D)) ++ __builtin_ia32_cmpccxadd64 ((A), (long long) (B), (long long) (C), \ ++ (_CMPCCX_ENUM) (D)) + #endif + + #ifdef __DISABLE_CMPCCXADD__ +--- a/src/gcc/config/i386/constraints.md ++++ b/src/gcc/config/i386/constraints.md +@@ -187,7 +187,7 @@ (define_special_memory_constraint "Bm" + "@internal Vector memory operand." + (match_operand 0 "vector_memory_operand")) + +-(define_memory_constraint "Bk" ++(define_special_memory_constraint "Bk" + "@internal TLS address that allows insn using non-integer registers." + (and (match_operand 0 "memory_operand") + (not (match_test "ix86_gpr_tls_address_pattern_p (op)")))) +--- a/src/gcc/config/i386/i386-builtin.def ++++ b/src/gcc/config/i386/i386-builtin.def +@@ -2832,17 +2832,17 @@ BDESC (0, OPTION_MASK_ISA2_RDPID, CODE_FOR_rdpid, "__builtin_ia32_rdpid", IX86_B + + /* VAES. */ + BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdec_v16qi, "__builtin_ia32_vaesdec_v16qi", IX86_BUILTIN_VAESDEC16, UNKNOWN, (int) V16QI_FTYPE_V16QI_V16QI) +-BDESC (0, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdec_v32qi, "__builtin_ia32_vaesdec_v32qi", IX86_BUILTIN_VAESDEC32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) +-BDESC (0, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesdec_v64qi, "__builtin_ia32_vaesdec_v64qi", IX86_BUILTIN_VAESDEC64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) ++BDESC (OPTION_MASK_ISA_AVX, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdec_v32qi, "__builtin_ia32_vaesdec_v32qi", IX86_BUILTIN_VAESDEC32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesdec_v64qi, "__builtin_ia32_vaesdec_v64qi", IX86_BUILTIN_VAESDEC64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) + BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdeclast_v16qi, "__builtin_ia32_vaesdeclast_v16qi", IX86_BUILTIN_VAESDECLAST16, UNKNOWN, (int) V16QI_FTYPE_V16QI_V16QI) +-BDESC (0, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdeclast_v32qi, "__builtin_ia32_vaesdeclast_v32qi", IX86_BUILTIN_VAESDECLAST32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) +-BDESC (0, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesdeclast_v64qi, "__builtin_ia32_vaesdeclast_v64qi", IX86_BUILTIN_VAESDECLAST64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) ++BDESC (OPTION_MASK_ISA_AVX, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesdeclast_v32qi, "__builtin_ia32_vaesdeclast_v32qi", IX86_BUILTIN_VAESDECLAST32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesdeclast_v64qi, "__builtin_ia32_vaesdeclast_v64qi", IX86_BUILTIN_VAESDECLAST64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) + BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenc_v16qi, "__builtin_ia32_vaesenc_v16qi", IX86_BUILTIN_VAESENC16, UNKNOWN, (int) V16QI_FTYPE_V16QI_V16QI) +-BDESC (0, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenc_v32qi, "__builtin_ia32_vaesenc_v32qi", IX86_BUILTIN_VAESENC32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) +-BDESC (0, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesenc_v64qi, "__builtin_ia32_vaesenc_v64qi", IX86_BUILTIN_VAESENC64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) ++BDESC (OPTION_MASK_ISA_AVX, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenc_v32qi, "__builtin_ia32_vaesenc_v32qi", IX86_BUILTIN_VAESENC32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesenc_v64qi, "__builtin_ia32_vaesenc_v64qi", IX86_BUILTIN_VAESENC64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) + BDESC (OPTION_MASK_ISA_AVX512VL, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenclast_v16qi, "__builtin_ia32_vaesenclast_v16qi", IX86_BUILTIN_VAESENCLAST16, UNKNOWN, (int) V16QI_FTYPE_V16QI_V16QI) +-BDESC (0, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenclast_v32qi, "__builtin_ia32_vaesenclast_v32qi", IX86_BUILTIN_VAESENCLAST32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) +-BDESC (0, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesenclast_v64qi, "__builtin_ia32_vaesenclast_v64qi", IX86_BUILTIN_VAESENCLAST64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) ++BDESC (OPTION_MASK_ISA_AVX, OPTION_MASK_ISA2_VAES, CODE_FOR_vaesenclast_v32qi, "__builtin_ia32_vaesenclast_v32qi", IX86_BUILTIN_VAESENCLAST32, UNKNOWN, (int) V32QI_FTYPE_V32QI_V32QI) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_VAES | OPTION_MASK_ISA2_EVEX512, CODE_FOR_vaesenclast_v64qi, "__builtin_ia32_vaesenclast_v64qi", IX86_BUILTIN_VAESENCLAST64, UNKNOWN, (int) V64QI_FTYPE_V64QI_V64QI) + + /* BF16 */ + BDESC (0, OPTION_MASK_ISA2_AVX512BF16 | OPTION_MASK_ISA2_EVEX512, CODE_FOR_avx512f_cvtne2ps2bf16_v32bf, "__builtin_ia32_cvtne2ps2bf16_v32bf", IX86_BUILTIN_CVTNE2PS2BF16_V32BF, UNKNOWN, (int) V32BF_FTYPE_V16SF_V16SF) +@@ -3065,11 +3065,11 @@ BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_sse_cvtsi2ss_round, "__builtin_ia32_ + BDESC (OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_sse_cvtsi2ssq_round, "__builtin_ia32_cvtsi2ss64", IX86_BUILTIN_CVTSI2SS64, UNKNOWN, (int) V4SF_FTYPE_V4SF_INT64_INT) + BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_sse2_cvtss2sd_round, "__builtin_ia32_cvtss2sd_round", IX86_BUILTIN_CVTSS2SD_ROUND, UNKNOWN, (int) V2DF_FTYPE_V2DF_V4SF_INT) + BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_sse2_cvtss2sd_mask_round, "__builtin_ia32_cvtss2sd_mask_round", IX86_BUILTIN_CVTSS2SD_MASK_ROUND, UNKNOWN, (int) V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT) +-BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_fix_truncv8dfv8si2_mask_round, "__builtin_ia32_cvttpd2dq512_mask", IX86_BUILTIN_CVTTPD2DQ512, UNKNOWN, (int) V8SI_FTYPE_V8DF_V8SI_QI_INT) +-BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_fixuns_truncv8dfv8si2_mask_round, "__builtin_ia32_cvttpd2udq512_mask", IX86_BUILTIN_CVTTPD2UDQ512, UNKNOWN, (int) V8SI_FTYPE_V8DF_V8SI_QI_INT) +-BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_fix_truncv16sfv16si2_mask_round, "__builtin_ia32_cvttps2dq512_mask", IX86_BUILTIN_CVTTPS2DQ512, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT) +-BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_fixuns_truncv16sfv16si2_mask_round, "__builtin_ia32_cvttps2udq512_mask", IX86_BUILTIN_CVTTPS2UDQ512, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT) +-BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_floatunsv16siv16sf2_mask_round, "__builtin_ia32_cvtudq2ps512_mask", IX86_BUILTIN_CVTUDQ2PS512, UNKNOWN, (int) V16SF_FTYPE_V16SI_V16SF_HI_INT) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_EVEX512, CODE_FOR_fix_truncv8dfv8si2_mask_round, "__builtin_ia32_cvttpd2dq512_mask", IX86_BUILTIN_CVTTPD2DQ512, UNKNOWN, (int) V8SI_FTYPE_V8DF_V8SI_QI_INT) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_EVEX512, CODE_FOR_fixuns_truncv8dfv8si2_mask_round, "__builtin_ia32_cvttpd2udq512_mask", IX86_BUILTIN_CVTTPD2UDQ512, UNKNOWN, (int) V8SI_FTYPE_V8DF_V8SI_QI_INT) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_EVEX512, CODE_FOR_fix_truncv16sfv16si2_mask_round, "__builtin_ia32_cvttps2dq512_mask", IX86_BUILTIN_CVTTPS2DQ512, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_EVEX512, CODE_FOR_fixuns_truncv16sfv16si2_mask_round, "__builtin_ia32_cvttps2udq512_mask", IX86_BUILTIN_CVTTPS2UDQ512, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT) ++BDESC (OPTION_MASK_ISA_AVX512F, OPTION_MASK_ISA2_EVEX512, CODE_FOR_floatunsv16siv16sf2_mask_round, "__builtin_ia32_cvtudq2ps512_mask", IX86_BUILTIN_CVTUDQ2PS512, UNKNOWN, (int) V16SF_FTYPE_V16SI_V16SF_HI_INT) + BDESC (OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_cvtusi2sd64_round, "__builtin_ia32_cvtusi2sd64", IX86_BUILTIN_CVTUSI2SD64, UNKNOWN, (int) V2DF_FTYPE_V2DF_UINT64_INT) + BDESC (OPTION_MASK_ISA_AVX512F, 0, CODE_FOR_cvtusi2ss32_round, "__builtin_ia32_cvtusi2ss32", IX86_BUILTIN_CVTUSI2SS32, UNKNOWN, (int) V4SF_FTYPE_V4SF_UINT_INT) + BDESC (OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_cvtusi2ss64_round, "__builtin_ia32_cvtusi2ss64", IX86_BUILTIN_CVTUSI2SS64, UNKNOWN, (int) V4SF_FTYPE_V4SF_UINT64_INT) +--- a/src/gcc/config/i386/i386-expand.cc ++++ b/src/gcc/config/i386/i386-expand.cc +@@ -3063,6 +3063,8 @@ ix86_expand_int_compare (enum rtx_code code, rtx op0, rtx op1) + && GET_MODE_SIZE (GET_MODE (SUBREG_REG (op0))) == 16) + { + tmp = SUBREG_REG (op0); ++ if (GET_MODE (tmp) == V8HFmode || GET_MODE (tmp) == V8BFmode) ++ tmp = gen_lowpart (V8HImode, tmp); + tmp = gen_rtx_UNSPEC (CCZmode, gen_rtvec (2, tmp, tmp), UNSPEC_PTEST); + } + else +@@ -4220,23 +4222,23 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) + switch (mode) + { + case E_V2SFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_mmx_blendvps; + break; + case E_V4SFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_sse4_1_blendvps; + break; + case E_V2DFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_sse4_1_blendvpd; + break; + case E_SFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_sse4_1_blendvss; + break; + case E_DFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_sse4_1_blendvsd; + break; + case E_V8QImode: +@@ -4244,7 +4246,7 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) + case E_V4HFmode: + case E_V4BFmode: + case E_V2SImode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + { + gen = gen_mmx_pblendvb_v8qi; + blend_mode = V8QImode; +@@ -4254,14 +4256,14 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) + case E_V2HImode: + case E_V2HFmode: + case E_V2BFmode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + { + gen = gen_mmx_pblendvb_v4qi; + blend_mode = V4QImode; + } + break; + case E_V2QImode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + gen = gen_mmx_pblendvb_v2qi; + break; + case E_V16QImode: +@@ -4271,18 +4273,18 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) + case E_V4SImode: + case E_V2DImode: + case E_V1TImode: +- if (TARGET_SSE4_1) ++ if (TARGET_SSE_MOVCC_USE_BLENDV && TARGET_SSE4_1) + { + gen = gen_sse4_1_pblendvb; + blend_mode = V16QImode; + } + break; + case E_V8SFmode: +- if (TARGET_AVX) ++ if (TARGET_AVX && TARGET_SSE_MOVCC_USE_BLENDV) + gen = gen_avx_blendvps256; + break; + case E_V4DFmode: +- if (TARGET_AVX) ++ if (TARGET_AVX && TARGET_SSE_MOVCC_USE_BLENDV) + gen = gen_avx_blendvpd256; + break; + case E_V32QImode: +@@ -4291,7 +4293,7 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) + case E_V16BFmode: + case E_V8SImode: + case E_V4DImode: +- if (TARGET_AVX2) ++ if (TARGET_AVX2 && TARGET_SSE_MOVCC_USE_BLENDV) + { + gen = gen_avx2_pblendvb; + blend_mode = V32QImode; +@@ -13475,6 +13477,9 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + op1 = expand_normal (arg1); + op2 = expand_normal (arg2); + ++ if (GET_MODE (op1) != Pmode) ++ op1 = convert_to_mode (Pmode, op1, 1); ++ + if (!address_operand (op2, VOIDmode)) + { + op2 = convert_memory_address (Pmode, op2); +@@ -13510,6 +13515,9 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + emit_label (ok_label); + emit_insn (gen_rtx_SET (target, pat)); + ++ if (GET_MODE (op0) != Pmode) ++ op0 = convert_to_mode (Pmode, op0, 1); ++ + for (i = 0; i < 8; i++) + { + op = gen_rtx_MEM (V2DImode, +@@ -13534,6 +13542,9 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + if (!REG_P (op0)) + op0 = copy_to_mode_reg (SImode, op0); + ++ if (GET_MODE (op2) != Pmode) ++ op2 = convert_to_mode (Pmode, op2, 1); ++ + op = gen_rtx_REG (V2DImode, GET_SSE_REGNO (0)); + emit_move_insn (op, op1); + +@@ -13571,6 +13582,9 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + if (!REG_P (op0)) + op0 = copy_to_mode_reg (SImode, op0); + ++ if (GET_MODE (op3) != Pmode) ++ op3 = convert_to_mode (Pmode, op3, 1); ++ + /* Force to use xmm0, xmm1 for keylow, keyhi*/ + op = gen_rtx_REG (V2DImode, GET_SSE_REGNO (0)); + emit_move_insn (op, op1); +@@ -17625,6 +17639,8 @@ quarter: + else if (use_vec_merge) + { + do_vec_merge: ++ if (!nonimmediate_operand (val, inner_mode)) ++ val = force_reg (inner_mode, val); + tmp = gen_rtx_VEC_DUPLICATE (mode, val); + tmp = gen_rtx_VEC_MERGE (mode, tmp, target, + GEN_INT (HOST_WIDE_INT_1U << elt)); +--- a/src/gcc/config/i386/i386-features.cc ++++ b/src/gcc/config/i386/i386-features.cc +@@ -3253,6 +3253,197 @@ make_pass_remove_partial_avx_dependency (gcc::context *ctxt) + return new pass_remove_partial_avx_dependency (ctxt); + } + ++/* When a hot loop can be fit into one cacheline, ++ force align the loop without considering the max skip. */ ++static void ++ix86_align_loops () ++{ ++ basic_block bb; ++ ++ /* Don't do this when we don't know cache line size. */ ++ if (ix86_cost->prefetch_block == 0) ++ return; ++ ++ loop_optimizer_init (AVOID_CFG_MODIFICATIONS); ++ profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ rtx_insn *label = BB_HEAD (bb); ++ bool has_fallthru = 0; ++ edge e; ++ edge_iterator ei; ++ ++ if (!LABEL_P (label)) ++ continue; ++ ++ profile_count fallthru_count = profile_count::zero (); ++ profile_count branch_count = profile_count::zero (); ++ ++ FOR_EACH_EDGE (e, ei, bb->preds) ++ { ++ if (e->flags & EDGE_FALLTHRU) ++ has_fallthru = 1, fallthru_count += e->count (); ++ else ++ branch_count += e->count (); ++ } ++ ++ if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) ++ continue; ++ ++ if (bb->loop_father ++ && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) ++ && (has_fallthru ++ ? (!(single_succ_p (bb) ++ && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) ++ && optimize_bb_for_speed_p (bb) ++ && branch_count + fallthru_count > count_threshold ++ && (branch_count > fallthru_count * param_align_loop_iterations)) ++ /* In case there'no fallthru for the loop. ++ Nops inserted won't be executed. */ ++ : (branch_count > count_threshold ++ || (bb->count > bb->prev_bb->count * 10 ++ && (bb->prev_bb->count ++ <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) ++ { ++ rtx_insn* insn, *end_insn; ++ HOST_WIDE_INT size = 0; ++ bool padding_p = true; ++ basic_block tbb = bb; ++ unsigned cond_branch_num = 0; ++ bool detect_tight_loop_p = false; ++ ++ for (unsigned int i = 0; i != bb->loop_father->num_nodes; ++ i++, tbb = tbb->next_bb) ++ { ++ /* Only handle continuous cfg layout. */ ++ if (bb->loop_father != tbb->loop_father) ++ { ++ padding_p = false; ++ break; ++ } ++ ++ FOR_BB_INSNS (tbb, insn) ++ { ++ if (!NONDEBUG_INSN_P (insn)) ++ continue; ++ size += ix86_min_insn_size (insn); ++ ++ /* We don't know size of inline asm. ++ Don't align loop for call. */ ++ if (asm_noperands (PATTERN (insn)) >= 0 ++ || CALL_P (insn)) ++ { ++ size = -1; ++ break; ++ } ++ } ++ ++ if (size == -1 || size > ix86_cost->prefetch_block) ++ { ++ padding_p = false; ++ break; ++ } ++ ++ FOR_EACH_EDGE (e, ei, tbb->succs) ++ { ++ /* It could be part of the loop. */ ++ if (e->dest == bb) ++ { ++ detect_tight_loop_p = true; ++ break; ++ } ++ } ++ ++ if (detect_tight_loop_p) ++ break; ++ ++ end_insn = BB_END (tbb); ++ if (JUMP_P (end_insn)) ++ { ++ /* For decoded icache: ++ 1. Up to two branches are allowed per Way. ++ 2. A non-conditional branch is the last micro-op in a Way. ++ */ ++ if (onlyjump_p (end_insn) ++ && (any_uncondjump_p (end_insn) ++ || single_succ_p (tbb))) ++ { ++ padding_p = false; ++ break; ++ } ++ else if (++cond_branch_num >= 2) ++ { ++ padding_p = false; ++ break; ++ } ++ } ++ ++ } ++ ++ if (padding_p && detect_tight_loop_p) ++ { ++ emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), ++ GEN_INT (0)), label); ++ /* End of function. */ ++ if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) ++ break; ++ /* Skip bb which already fits into one cacheline. */ ++ bb = tbb; ++ } ++ } ++ } ++ ++ loop_optimizer_finalize (); ++ free_dominance_info (CDI_DOMINATORS); ++} ++ ++namespace { ++ ++const pass_data pass_data_align_tight_loops = ++{ ++ RTL_PASS, /* type */ ++ "align_tight_loops", /* name */ ++ OPTGROUP_NONE, /* optinfo_flags */ ++ TV_MACH_DEP, /* tv_id */ ++ 0, /* properties_required */ ++ 0, /* properties_provided */ ++ 0, /* properties_destroyed */ ++ 0, /* todo_flags_start */ ++ 0, /* todo_flags_finish */ ++}; ++ ++class pass_align_tight_loops : public rtl_opt_pass ++{ ++public: ++ pass_align_tight_loops (gcc::context *ctxt) ++ : rtl_opt_pass (pass_data_align_tight_loops, ctxt) ++ {} ++ ++ /* opt_pass methods: */ ++ bool gate (function *) final override ++ { ++ return optimize && optimize_function_for_speed_p (cfun); ++ } ++ ++ unsigned int execute (function *) final override ++ { ++ timevar_push (TV_MACH_DEP); ++#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN ++ ix86_align_loops (); ++#endif ++ timevar_pop (TV_MACH_DEP); ++ return 0; ++ } ++}; // class pass_align_tight_loops ++ ++} // anon namespace ++ ++rtl_opt_pass * ++make_pass_align_tight_loops (gcc::context *ctxt) ++{ ++ return new pass_align_tight_loops (ctxt); ++} ++ + /* This compares the priority of target features in function DECL1 + and DECL2. It returns positive value if DECL1 is higher priority, + negative value if DECL2 is higher priority and 0 if they are the +--- a/src/gcc/config/i386/i386-options.cc ++++ b/src/gcc/config/i386/i386-options.cc +@@ -3062,6 +3062,9 @@ ix86_option_override_internal (bool main_args_p, + if (TARGET_AVX512F_P (opts->x_ix86_isa_flags) + && TARGET_EVEX512_P (opts->x_ix86_isa_flags2)) + opts->x_ix86_move_max = PVW_AVX512; ++ /* Align with vectorizer to avoid potential STLF issue. */ ++ else if (TARGET_AVX_P (opts->x_ix86_isa_flags)) ++ opts->x_ix86_move_max = PVW_AVX256; + else + opts->x_ix86_move_max = PVW_AVX128; + } +@@ -3086,6 +3089,9 @@ ix86_option_override_internal (bool main_args_p, + if (TARGET_AVX512F_P (opts->x_ix86_isa_flags) + && TARGET_EVEX512_P (opts->x_ix86_isa_flags2)) + opts->x_ix86_store_max = PVW_AVX512; ++ /* Align with vectorizer to avoid potential STLF issue. */ ++ else if (TARGET_AVX_P (opts->x_ix86_isa_flags)) ++ opts->x_ix86_store_max = PVW_AVX256; + else + opts->x_ix86_store_max = PVW_AVX128; + } +--- a/src/gcc/config/i386/i386-passes.def ++++ b/src/gcc/config/i386/i386-passes.def +@@ -31,5 +31,8 @@ along with GCC; see the file COPYING3. If not see + INSERT_PASS_BEFORE (pass_cse2, 1, pass_stv, true /* timode_p */); + + INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_endbr_and_patchable_area); ++ /* pass_align_tight_loops must be after pass_insert_endbr_and_patchable_area. ++ PR116174. */ ++ INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_tight_loops); + + INSERT_PASS_AFTER (pass_combine, 1, pass_remove_partial_avx_dependency); +--- a/src/gcc/config/i386/i386-protos.h ++++ b/src/gcc/config/i386/i386-protos.h +@@ -419,6 +419,7 @@ 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 rtl_opt_pass *make_pass_align_tight_loops (gcc::context *); + + extern bool ix86_has_no_direct_extern_access; + +--- a/src/gcc/config/i386/i386.cc ++++ b/src/gcc/config/i386/i386.cc +@@ -4893,13 +4893,31 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + + examine_argument (nat_mode, type, 0, &needed_intregs, &needed_sseregs); + +- need_temp = (!REG_P (container) ++ bool container_in_reg = false; ++ if (REG_P (container)) ++ container_in_reg = true; ++ else if (GET_CODE (container) == PARALLEL ++ && GET_MODE (container) == BLKmode ++ && XVECLEN (container, 0) == 1) ++ { ++ /* Check if it is a PARALLEL BLKmode container of an EXPR_LIST ++ expression in a TImode register. In this case, temp isn't ++ needed. Otherwise, the TImode variable will be put in the ++ GPR save area which guarantees only 8-byte alignment. */ ++ rtx x = XVECEXP (container, 0, 0); ++ if (GET_CODE (x) == EXPR_LIST ++ && REG_P (XEXP (x, 0)) ++ && XEXP (x, 1) == const0_rtx) ++ container_in_reg = true; ++ } ++ ++ need_temp = (!container_in_reg + && ((needed_intregs && TYPE_ALIGN (type) > 64) + || TYPE_ALIGN (type) > 128)); + + /* In case we are passing structure, verify that it is consecutive block + on the register save area. If not we need to do moves. */ +- if (!need_temp && !REG_P (container)) ++ if (!need_temp && !container_in_reg) + { + /* Verify that all registers are strictly consecutive */ + if (SSE_REGNO_P (REGNO (XEXP (XVECEXP (container, 0, 0), 0)))) +@@ -7417,6 +7435,7 @@ ix86_emit_save_regs (void) + { + int regno; + rtx_insn *insn; ++ bool use_ppx = TARGET_APX_PPX && !crtl->calls_eh_return; + + if (!TARGET_APX_PUSH2POP2 + || !ix86_can_use_push2pop2 () +@@ -7426,7 +7445,7 @@ ix86_emit_save_regs (void) + if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true, true)) + { + insn = emit_insn (gen_push (gen_rtx_REG (word_mode, regno), +- TARGET_APX_PPX)); ++ use_ppx)); + RTX_FRAME_RELATED_P (insn) = 1; + } + } +@@ -7457,7 +7476,7 @@ ix86_emit_save_regs (void) + regno_list[0]), + gen_rtx_REG (word_mode, + regno_list[1]), +- TARGET_APX_PPX)); ++ use_ppx)); + RTX_FRAME_RELATED_P (insn) = 1; + rtx dwarf = gen_rtx_SEQUENCE (VOIDmode, rtvec_alloc (3)); + +@@ -7490,7 +7509,7 @@ ix86_emit_save_regs (void) + else + { + insn = emit_insn (gen_push (gen_rtx_REG (word_mode, regno), +- TARGET_APX_PPX)); ++ use_ppx)); + RTX_FRAME_RELATED_P (insn) = 1; + aligned = true; + } +@@ -7499,7 +7518,7 @@ ix86_emit_save_regs (void) + { + insn = emit_insn (gen_push (gen_rtx_REG (word_mode, + regno_list[0]), +- TARGET_APX_PPX)); ++ use_ppx)); + RTX_FRAME_RELATED_P (insn) = 1; + } + } +@@ -8973,6 +8992,7 @@ ix86_expand_prologue (void) + if (!frame.save_regs_using_mov) + { + ix86_emit_save_regs (); ++ m->fs.apx_ppx_used = TARGET_APX_PPX && !crtl->calls_eh_return; + int_registers_saved = true; + gcc_assert (m->fs.sp_offset == frame.reg_save_offset); + } +@@ -9858,6 +9878,9 @@ ix86_expand_epilogue (int style) + /* SEH requires the use of pops to identify the epilogue. */ + else if (TARGET_SEH) + restore_regs_via_mov = false; ++ /* If we already save reg with pushp, don't use move at epilogue. */ ++ else if (m->fs.apx_ppx_used) ++ restore_regs_via_mov = false; + /* If we're only restoring one register and sp cannot be used then + using a move instruction to restore the register since it's + less work than reloading sp and popping the register. */ +@@ -12440,7 +12463,7 @@ ix86_tls_address_pattern_p (rtx op) + } + + /* Rewrite *LOC so that it refers to a default TLS address space. */ +-void ++static void + ix86_rewrite_tls_address_1 (rtx *loc) + { + subrtx_ptr_iterator::array_type array; +@@ -12462,6 +12485,13 @@ ix86_rewrite_tls_address_1 (rtx *loc) + if (GET_CODE (u) == UNSPEC + && XINT (u, 1) == UNSPEC_TP) + { ++ /* NB: Since address override only applies to the ++ (reg32) part in fs:(reg32), return if address ++ override is used. */ ++ if (Pmode != word_mode ++ && REG_P (XEXP (*x, 1 - i))) ++ return; ++ + addr_space_t as = DEFAULT_TLS_SEG_REG; + + *x = XEXP (*x, 1 - i); +@@ -15027,9 +15057,19 @@ ix86_dirflag_mode_needed (rtx_insn *insn) + static bool + ix86_check_avx_upper_register (const_rtx exp) + { +- return (SSE_REG_P (exp) +- && !EXT_REX_SSE_REG_P (exp) +- && GET_MODE_BITSIZE (GET_MODE (exp)) > 128); ++ /* construct_container may return a parallel with expr_list ++ which contains the real reg and mode */ ++ subrtx_iterator::array_type array; ++ FOR_EACH_SUBRTX (iter, array, exp, NONCONST) ++ { ++ const_rtx x = *iter; ++ if (SSE_REG_P (x) ++ && !EXT_REX_SSE_REG_P (x) ++ && GET_MODE_BITSIZE (GET_MODE (x)) > 128) ++ return true; ++ } ++ ++ return false; + } + + /* Check if a 256bit or 512bit AVX register is referenced in stores. */ +@@ -15037,7 +15077,9 @@ ix86_check_avx_upper_register (const_rtx exp) + static void + ix86_check_avx_upper_stores (rtx dest, const_rtx, void *data) + { +- if (ix86_check_avx_upper_register (dest)) ++ if (SSE_REG_P (dest) ++ && !EXT_REX_SSE_REG_P (dest) ++ && GET_MODE_BITSIZE (GET_MODE (dest)) > 128) + { + bool *used = (bool *) data; + *used = true; +@@ -15096,14 +15138,14 @@ ix86_avx_u128_mode_needed (rtx_insn *insn) + return AVX_U128_CLEAN; + } + +- subrtx_iterator::array_type array; +- + rtx set = single_set (insn); + if (set) + { + rtx dest = SET_DEST (set); + rtx src = SET_SRC (set); +- if (ix86_check_avx_upper_register (dest)) ++ if (SSE_REG_P (dest) ++ && !EXT_REX_SSE_REG_P (dest) ++ && GET_MODE_BITSIZE (GET_MODE (dest)) > 128) + { + /* This is an YMM/ZMM load. Return AVX_U128_DIRTY if the + source isn't zero. */ +@@ -15114,9 +15156,8 @@ ix86_avx_u128_mode_needed (rtx_insn *insn) + } + else + { +- FOR_EACH_SUBRTX (iter, array, src, NONCONST) +- if (ix86_check_avx_upper_register (*iter)) +- return AVX_U128_DIRTY; ++ if (ix86_check_avx_upper_register (src)) ++ return AVX_U128_DIRTY; + } + + /* This isn't YMM/ZMM load/store. */ +@@ -15127,9 +15168,8 @@ ix86_avx_u128_mode_needed (rtx_insn *insn) + Hardware changes state only when a 256bit register is written to, + but we need to prevent the compiler from moving optimal insertion + point above eventual read from 256bit or 512 bit register. */ +- FOR_EACH_SUBRTX (iter, array, PATTERN (insn), NONCONST) +- if (ix86_check_avx_upper_register (*iter)) +- return AVX_U128_DIRTY; ++ if (ix86_check_avx_upper_register (PATTERN (insn))) ++ return AVX_U128_DIRTY; + + return AVX_U128_ANY; + } +@@ -18671,9 +18711,11 @@ ix86_fold_builtin (tree fndecl, int n_args, + unsigned int prec = TYPE_PRECISION (TREE_TYPE (args[0])); + unsigned int start = tree_to_uhwi (args[1]); + unsigned int len = (start & 0xff00) >> 8; ++ tree lhs_type = TREE_TYPE (TREE_TYPE (fndecl)); + start &= 0xff; + if (start >= prec || len == 0) +- res = 0; ++ return omit_one_operand (lhs_type, build_zero_cst (lhs_type), ++ args[0]); + else if (!tree_fits_uhwi_p (args[0])) + break; + else +@@ -18682,7 +18724,7 @@ ix86_fold_builtin (tree fndecl, int n_args, + len = prec; + if (len < HOST_BITS_PER_WIDE_INT) + res &= (HOST_WIDE_INT_1U << len) - 1; +- return build_int_cstu (TREE_TYPE (TREE_TYPE (fndecl)), res); ++ return build_int_cstu (lhs_type, res); + } + break; + +@@ -18692,15 +18734,17 @@ ix86_fold_builtin (tree fndecl, int n_args, + if (tree_fits_uhwi_p (args[1])) + { + unsigned int idx = tree_to_uhwi (args[1]) & 0xff; ++ tree lhs_type = TREE_TYPE (TREE_TYPE (fndecl)); + if (idx >= TYPE_PRECISION (TREE_TYPE (args[0]))) + return args[0]; + if (idx == 0) +- return build_int_cst (TREE_TYPE (TREE_TYPE (fndecl)), 0); ++ return omit_one_operand (lhs_type, build_zero_cst (lhs_type), ++ args[0]); + if (!tree_fits_uhwi_p (args[0])) + break; + unsigned HOST_WIDE_INT res = tree_to_uhwi (args[0]); + res &= ~(HOST_WIDE_INT_M1U << idx); +- return build_int_cstu (TREE_TYPE (TREE_TYPE (fndecl)), res); ++ return build_int_cstu (lhs_type, res); + } + break; + +@@ -23440,150 +23484,6 @@ ix86_split_stlf_stall_load () + } + } + +-/* When a hot loop can be fit into one cacheline, +- force align the loop without considering the max skip. */ +-static void +-ix86_align_loops () +-{ +- basic_block bb; +- +- /* Don't do this when we don't know cache line size. */ +- if (ix86_cost->prefetch_block == 0) +- return; +- +- loop_optimizer_init (AVOID_CFG_MODIFICATIONS); +- profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; +- FOR_EACH_BB_FN (bb, cfun) +- { +- rtx_insn *label = BB_HEAD (bb); +- bool has_fallthru = 0; +- edge e; +- edge_iterator ei; +- +- if (!LABEL_P (label)) +- continue; +- +- profile_count fallthru_count = profile_count::zero (); +- profile_count branch_count = profile_count::zero (); +- +- FOR_EACH_EDGE (e, ei, bb->preds) +- { +- if (e->flags & EDGE_FALLTHRU) +- has_fallthru = 1, fallthru_count += e->count (); +- else +- branch_count += e->count (); +- } +- +- if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) +- continue; +- +- if (bb->loop_father +- && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) +- && (has_fallthru +- ? (!(single_succ_p (bb) +- && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) +- && optimize_bb_for_speed_p (bb) +- && branch_count + fallthru_count > count_threshold +- && (branch_count > fallthru_count * param_align_loop_iterations)) +- /* In case there'no fallthru for the loop. +- Nops inserted won't be executed. */ +- : (branch_count > count_threshold +- || (bb->count > bb->prev_bb->count * 10 +- && (bb->prev_bb->count +- <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) +- { +- rtx_insn* insn, *end_insn; +- HOST_WIDE_INT size = 0; +- bool padding_p = true; +- basic_block tbb = bb; +- unsigned cond_branch_num = 0; +- bool detect_tight_loop_p = false; +- +- for (unsigned int i = 0; i != bb->loop_father->num_nodes; +- i++, tbb = tbb->next_bb) +- { +- /* Only handle continuous cfg layout. */ +- if (bb->loop_father != tbb->loop_father) +- { +- padding_p = false; +- break; +- } +- +- FOR_BB_INSNS (tbb, insn) +- { +- if (!NONDEBUG_INSN_P (insn)) +- continue; +- size += ix86_min_insn_size (insn); +- +- /* We don't know size of inline asm. +- Don't align loop for call. */ +- if (asm_noperands (PATTERN (insn)) >= 0 +- || CALL_P (insn)) +- { +- size = -1; +- break; +- } +- } +- +- if (size == -1 || size > ix86_cost->prefetch_block) +- { +- padding_p = false; +- break; +- } +- +- FOR_EACH_EDGE (e, ei, tbb->succs) +- { +- /* It could be part of the loop. */ +- if (e->dest == bb) +- { +- detect_tight_loop_p = true; +- break; +- } +- } +- +- if (detect_tight_loop_p) +- break; +- +- end_insn = BB_END (tbb); +- if (JUMP_P (end_insn)) +- { +- /* For decoded icache: +- 1. Up to two branches are allowed per Way. +- 2. A non-conditional branch is the last micro-op in a Way. +- */ +- if (onlyjump_p (end_insn) +- && (any_uncondjump_p (end_insn) +- || single_succ_p (tbb))) +- { +- padding_p = false; +- break; +- } +- else if (++cond_branch_num >= 2) +- { +- padding_p = false; +- break; +- } +- } +- +- } +- +- if (padding_p && detect_tight_loop_p) +- { +- emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), +- GEN_INT (0)), label); +- /* End of function. */ +- if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) +- break; +- /* Skip bb which already fits into one cacheline. */ +- bb = tbb; +- } +- } +- } +- +- loop_optimizer_finalize (); +- free_dominance_info (CDI_DOMINATORS); +-} +- + /* Implement machine specific optimizations. We implement padding of returns + for K8 CPUs and pass to avoid 4 jumps in the single 16 byte window. */ + static void +@@ -23607,8 +23507,6 @@ ix86_reorg (void) + #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN + if (TARGET_FOUR_JUMP_LIMIT) + ix86_avoid_jump_mispredicts (); +- +- ix86_align_loops (); + #endif + } + } +@@ -24372,6 +24270,13 @@ ix86_stack_protect_guard (void) + return default_stack_protect_guard (); + } + ++static bool ++ix86_stack_protect_runtime_enabled_p (void) ++{ ++ /* Naked functions should not enable stack protector. */ ++ return !ix86_function_naked (current_function_decl); ++} ++ + /* For 32-bit code we can save PIC register setup by using + __stack_chk_fail_local hidden function instead of calling + __stack_chk_fail directly. 64-bit code doesn't need to setup any PIC +@@ -24644,13 +24549,17 @@ ix86_reassociation_width (unsigned int op, machine_mode mode) + if (width == 1) + return 1; + +- /* Integer vector instructions execute in FP unit ++ /* Znver1-4 Integer vector instructions execute in FP unit + and can execute 3 additions and one multiplication per cycle. */ + if ((ix86_tune == PROCESSOR_ZNVER1 || ix86_tune == PROCESSOR_ZNVER2 +- || ix86_tune == PROCESSOR_ZNVER3 || ix86_tune == PROCESSOR_ZNVER4 +- || ix86_tune == PROCESSOR_ZNVER5) ++ || ix86_tune == PROCESSOR_ZNVER3 || ix86_tune == PROCESSOR_ZNVER4) + && INTEGRAL_MODE_P (mode) && op != PLUS && op != MINUS) + return 1; ++ /* Znver5 can do 2 integer multiplications per cycle with latency ++ of 3. */ ++ if (ix86_tune == PROCESSOR_ZNVER5 ++ && INTEGRAL_MODE_P (mode) && op != PLUS && op != MINUS) ++ width = 6; + + /* Account for targets that splits wide vectors into multiple parts. */ + if (TARGET_AVX512_SPLIT_REGS && GET_MODE_BITSIZE (mode) > 256) +@@ -24925,12 +24834,15 @@ private: + where we know it's not loaded from memory. */ + unsigned m_num_gpr_needed[3]; + unsigned m_num_sse_needed[3]; ++ /* Number of 256-bit vector permutation. */ ++ unsigned m_num_avx256_vec_perm[3]; + }; + + ix86_vector_costs::ix86_vector_costs (vec_info* vinfo, bool costing_for_scalar) + : vector_costs (vinfo, costing_for_scalar), + m_num_gpr_needed (), +- m_num_sse_needed () ++ m_num_sse_needed (), ++ m_num_avx256_vec_perm () + { + } + +@@ -25164,6 +25076,10 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind, + if (stmt_cost == -1) + stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign); + ++ if (kind == vec_perm && vectype ++ && GET_MODE_SIZE (TYPE_MODE (vectype)) == 32) ++ m_num_avx256_vec_perm[where]++; ++ + /* Penalize DFmode vector operations for Bonnell. */ + if (TARGET_CPU_P (BONNELL) && kind == vector_stmt + && vectype && GET_MODE_INNER (TYPE_MODE (vectype)) == DFmode) +@@ -25233,6 +25149,11 @@ ix86_vector_costs::finish_cost (const vector_costs *scalar_costs) + + ix86_vect_estimate_reg_pressure (); + ++ for (int i = 0; i != 3; i++) ++ if (m_num_avx256_vec_perm[i] ++ && TARGET_AVX256_AVOID_VEC_PERM) ++ m_costs[i] = INT_MAX; ++ + vector_costs::finish_cost (scalar_costs); + } + +@@ -26685,6 +26606,10 @@ ix86_libgcc_floating_mode_supported_p + #undef TARGET_STACK_PROTECT_GUARD + #define TARGET_STACK_PROTECT_GUARD ix86_stack_protect_guard + ++#undef TARGET_STACK_PROTECT_RUNTIME_ENABLED_P ++#define TARGET_STACK_PROTECT_RUNTIME_ENABLED_P \ ++ ix86_stack_protect_runtime_enabled_p ++ + #if !TARGET_MACHO + #undef TARGET_STACK_PROTECT_FAIL + #define TARGET_STACK_PROTECT_FAIL ix86_stack_protect_fail +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -427,6 +427,8 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST]; + 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_FUSE_MOV_AND_ALU \ ++ ix86_tune_features[X86_TUNE_FUSE_MOV_AND_ALU] + #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] +@@ -434,6 +436,8 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST]; + ix86_tune_features[X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL] + #define TARGET_AVX256_SPLIT_REGS \ + ix86_tune_features[X86_TUNE_AVX256_SPLIT_REGS] ++#define TARGET_AVX256_AVOID_VEC_PERM \ ++ ix86_tune_features[X86_TUNE_AVX256_AVOID_VEC_PERM] + #define TARGET_AVX512_SPLIT_REGS \ + ix86_tune_features[X86_TUNE_AVX512_SPLIT_REGS] + #define TARGET_GENERAL_REGS_SSE_SPILL \ +@@ -459,6 +463,8 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST]; + ix86_tune_features[X86_TUNE_DEST_FALSE_DEP_FOR_GLC] + #define TARGET_SLOW_STC ix86_tune_features[X86_TUNE_SLOW_STC] + #define TARGET_USE_RCR ix86_tune_features[X86_TUNE_USE_RCR] ++#define TARGET_SSE_MOVCC_USE_BLENDV \ ++ ix86_tune_features[X86_TUNE_SSE_MOVCC_USE_BLENDV] + + /* Feature tests against the various architecture variations. */ + enum ix86_arch_indices { +@@ -2223,7 +2229,7 @@ extern int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER]; + #define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \ + do { \ + const char *name \ +- = assemble_name_resolve (XSTR (x, 0)); \ ++ = assemble_name_resolve (XSTR (SYM, 0)); \ + /* In -masm=att wrap identifiers that start with $ \ + into parens. */ \ + if (ASSEMBLER_DIALECT == ASM_ATT \ +@@ -2430,6 +2436,18 @@ constexpr wide_int_bitmask PTA_CLEARWATERFOREST = PTA_SIERRAFOREST + constexpr wide_int_bitmask PTA_PANTHERLAKE = PTA_ARROWLAKE_S | PTA_PREFETCHI; + constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW + | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ; ++ ++constexpr wide_int_bitmask PTA_BDVER1 = 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_FMA4 ++ | PTA_XOP | PTA_LWP | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE; ++constexpr wide_int_bitmask PTA_BDVER2 = PTA_BDVER1 | PTA_BMI | PTA_TBM ++ | PTA_F16C | PTA_FMA; ++constexpr wide_int_bitmask PTA_BDVER3 = PTA_BDVER2 | PTA_XSAVEOPT ++ | PTA_FSGSBASE; ++constexpr wide_int_bitmask PTA_BDVER4 = PTA_BDVER3 | PTA_AVX2 | PTA_BMI2 ++ | PTA_RDRND | PTA_MOVBE | PTA_MWAITX; ++ + 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 +@@ -2447,13 +2465,21 @@ constexpr wide_int_bitmask PTA_ZNVER4 = PTA_ZNVER3 | PTA_AVX512F | PTA_AVX512DQ + | PTA_AVX512VNNI | PTA_AVX512BITALG | PTA_AVX512VPOPCNTDQ | PTA_EVEX512; + constexpr wide_int_bitmask PTA_ZNVER5 = PTA_ZNVER4 | PTA_AVXVNNI + | PTA_MOVDIRI | PTA_MOVDIR64B | PTA_AVX512VP2INTERSECT | PTA_PREFETCHI; +-constexpr wide_int_bitmask PTA_LUJIAZUI = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 +- | PTA_SSE3 | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AES +- | PTA_PCLMUL | PTA_BMI | PTA_BMI2 | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT +- | PTA_FSGSBASE | PTA_RDRND | PTA_MOVBE | PTA_ADX | PTA_RDSEED | PTA_POPCNT; + +-constexpr wide_int_bitmask PTA_YONGFENG = PTA_LUJIAZUI | PTA_AVX | PTA_AVX2 | PTA_F16C +- | PTA_FMA | PTA_SHA | PTA_LZCNT; ++constexpr wide_int_bitmask PTA_BTVER1 = PTA_64BIT | PTA_MMX | PTA_SSE ++ | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16 ++ | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE; ++constexpr wide_int_bitmask PTA_BTVER2 = PTA_BTVER1 | PTA_SSE4_1 | PTA_SSE4_2 ++ | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_BMI | PTA_F16C | PTA_MOVBE ++ | PTA_XSAVEOPT; ++ ++constexpr wide_int_bitmask PTA_LUJIAZUI = PTA_64BIT | PTA_MMX | PTA_SSE ++ | PTA_SSE2 | PTA_SSE3 | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1 ++ | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_BMI | PTA_BMI2 | PTA_PRFCHW ++ | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE | PTA_RDRND | PTA_MOVBE ++ | PTA_ADX | PTA_RDSEED | PTA_POPCNT; ++constexpr wide_int_bitmask PTA_YONGFENG = PTA_LUJIAZUI | PTA_AVX | PTA_AVX2 ++ | PTA_F16C | PTA_FMA | PTA_SHA | PTA_LZCNT; + + #ifndef GENERATOR_FILE + +@@ -2701,6 +2727,10 @@ struct GTY(()) machine_frame_state + The flags realigned and sp_realigned are mutually exclusive. */ + BOOL_BITFIELD sp_realigned : 1; + ++ /* When APX_PPX used in prologue, force epilogue to emit ++ popp instead of move and leave. */ ++ BOOL_BITFIELD apx_ppx_used : 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; +--- a/src/gcc/config/i386/i386.md ++++ b/src/gcc/config/i386/i386.md +@@ -2485,7 +2485,7 @@ (define_insn "*movdi_internal" + [(set (match_operand:DI 0 "nonimmediate_operand" + "=r ,o ,r,r ,r,m ,*y,*y,?*y,?m,?r,?*y,?Yv,?v,?v,m ,m,?jc,?*Yd,?r,?v,?*y,?*x,*k,*k ,*r,*m,*k") + (match_operand:DI 1 "general_operand" +- "riFo,riF,Z,rem,i,re,C ,*y,Bk ,*y,*y,r ,C ,?v,Bk,?v,v,*Yd,jc ,?v,r ,*x ,*y ,*r,*kBk,*k,*k,CBC"))] ++ "riFo,riF,Z,rem,i,re,C ,*y,Bk ,*y,*y,r ,C ,?v,Bk,?v,v,*Yd,jc ,?v,r ,*x ,*y ,*r,*kBk,*k,*k,CBC"))] + "!(MEM_P (operands[0]) && MEM_P (operands[1])) + && ix86_hardreg_mov_ok (operands[0], operands[1])" + { +@@ -2547,12 +2547,16 @@ (define_insn "*movdi_internal" + [(set (attr "isa") + (cond [(eq_attr "alternative" "0,1,17,18") + (const_string "nox64") +- (eq_attr "alternative" "2,3,4,5,10,11,23,25") ++ (eq_attr "alternative" "2,3,4,5,10,11") + (const_string "x64") + (eq_attr "alternative" "19,20") + (const_string "x64_sse2") + (eq_attr "alternative" "21,22") + (const_string "sse2") ++ (eq_attr "alternative" "23,25") ++ (const_string "x64_avx512bw") ++ (eq_attr "alternative" "24,26,27") ++ (const_string "avx512bw") + ] + (const_string "*"))) + (set (attr "type") +@@ -2721,7 +2725,7 @@ (define_insn "*movsi_internal" + [(set (match_operand:SI 0 "nonimmediate_operand" + "=r,m ,*y,*y,?*y,?m,?r,?*y,?Yv,?v,?v,m ,?r,?v,*k,*k ,*rm,*k") + (match_operand:SI 1 "general_operand" +- "g ,re,C ,*y,Bk ,*y,*y,r ,C ,?v,Bk,?v,?v,r ,*r,*kBk,*k ,CBC"))] ++ "g ,re,C ,*y,Bk ,*y,*y,r ,C ,?v,Bk,?v,?v,r ,*r,*kBk,*k ,CBC"))] + "!(MEM_P (operands[0]) && MEM_P (operands[1])) + && ix86_hardreg_mov_ok (operands[0], operands[1])" + { +@@ -2775,6 +2779,8 @@ (define_insn "*movsi_internal" + [(set (attr "isa") + (cond [(eq_attr "alternative" "12,13") + (const_string "sse2") ++ (eq_attr "alternative" "14,15,16,17") ++ (const_string "avx512bw") + ] + (const_string "*"))) + (set (attr "type") +@@ -21865,7 +21871,7 @@ (define_insn "*rsqrtsf2_sse" + [(set (match_operand:SF 0 "register_operand" "=x,x,x,x") + (unspec:SF [(match_operand:SF 1 "nonimmediate_operand" "0,x,m,ja")] + UNSPEC_RSQRT))] +- "TARGET_SSE && TARGET_SSE_MATH" ++ "TARGET_SSE" + "@ + %vrsqrtss\t{%d1, %0|%0, %d1} + %vrsqrtss\t{%d1, %0|%0, %d1} +--- a/src/gcc/config/i386/mmx.md ++++ b/src/gcc/config/i386/mmx.md +@@ -30,6 +30,8 @@ + ;; direction of the user via a builtin. + + (define_c_enum "unspec" [ ++ UNSPEC_3DNOW ++ + UNSPEC_MOVNTQ + UNSPEC_PFRCP + UNSPEC_PFRCPIT1 +@@ -704,17 +706,20 @@ (define_expand "v2sf3" + }) + + (define_expand "mmx_addv2sf3" +- [(set (match_operand:V2SF 0 "register_operand") +- (plus:V2SF +- (match_operand:V2SF 1 "nonimmediate_operand") +- (match_operand:V2SF 2 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SF 0 "register_operand") ++ (plus:V2SF ++ (match_operand:V2SF 1 "nonimmediate_operand") ++ (match_operand:V2SF 2 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW" + "ix86_fixup_binary_operands_no_copy (PLUS, V2SFmode, operands);") + + (define_insn "*mmx_addv2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=y") + (plus:V2SF (match_operand:V2SF 1 "nonimmediate_operand" "%0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW && ix86_binary_operator_ok (PLUS, V2SFmode, operands)" + "pfadd\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxadd") +@@ -722,21 +727,26 @@ (define_insn "*mmx_addv2sf3" + (set_attr "mode" "V2SF")]) + + (define_expand "mmx_subv2sf3" +- [(set (match_operand:V2SF 0 "register_operand") +- (minus:V2SF (match_operand:V2SF 1 "register_operand") +- (match_operand:V2SF 2 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SF 0 "register_operand") ++ (minus:V2SF (match_operand:V2SF 1 "register_operand") ++ (match_operand:V2SF 2 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW") + + (define_expand "mmx_subrv2sf3" +- [(set (match_operand:V2SF 0 "register_operand") +- (minus:V2SF (match_operand:V2SF 2 "register_operand") +- (match_operand:V2SF 1 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SF 0 "register_operand") ++ (minus:V2SF (match_operand:V2SF 2 "register_operand") ++ (match_operand:V2SF 1 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW") + + (define_insn "*mmx_subv2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=y,y") + (minus:V2SF (match_operand:V2SF 1 "nonimmediate_operand" "0,ym") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym,0")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym,0"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))" + "@ + pfsub\t{%2, %0|%0, %2} +@@ -746,16 +756,19 @@ (define_insn "*mmx_subv2sf3" + (set_attr "mode" "V2SF")]) + + (define_expand "mmx_mulv2sf3" +- [(set (match_operand:V2SF 0 "register_operand") +- (mult:V2SF (match_operand:V2SF 1 "nonimmediate_operand") +- (match_operand:V2SF 2 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SF 0 "register_operand") ++ (mult:V2SF (match_operand:V2SF 1 "nonimmediate_operand") ++ (match_operand:V2SF 2 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW" + "ix86_fixup_binary_operands_no_copy (MULT, V2SFmode, operands);") + + (define_insn "*mmx_mulv2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=y") + (mult:V2SF (match_operand:V2SF 1 "nonimmediate_operand" "%0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW && ix86_binary_operator_ok (MULT, V2SFmode, operands)" + "pfmul\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxmul") +@@ -785,7 +798,7 @@ (define_expand "divv2sf3" + + (define_expand "v2sf3" + [(set (match_operand:V2SF 0 "register_operand") +- (smaxmin:V2SF ++ (smaxmin:V2SF + (match_operand:V2SF 1 "register_operand") + (match_operand:V2SF 2 "register_operand")))] + "TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math" +@@ -804,10 +817,11 @@ (define_expand "v2sf3" + }) + + (define_expand "mmx_v2sf3" +- [(set (match_operand:V2SF 0 "register_operand") +- (smaxmin:V2SF +- (match_operand:V2SF 1 "nonimmediate_operand") +- (match_operand:V2SF 2 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SF 0 "register_operand") ++ (smaxmin:V2SF (match_operand:V2SF 1 "nonimmediate_operand") ++ (match_operand:V2SF 2 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW" + { + if (!flag_finite_math_only || flag_signed_zeros) +@@ -828,9 +842,9 @@ (define_expand "mmx_v2sf3" + + (define_insn "*mmx_v2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=y") +- (smaxmin:V2SF +- (match_operand:V2SF 1 "nonimmediate_operand" "%0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (smaxmin:V2SF (match_operand:V2SF 1 "nonimmediate_operand" "%0") ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW && ix86_binary_operator_ok (, V2SFmode, operands)" + "pf\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxadd") +@@ -845,10 +859,11 @@ (define_insn "*mmx_v2sf3" + + (define_insn "mmx_ieee_v2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=y") +- (unspec:V2SF ++ (unspec:V2SF + [(match_operand:V2SF 1 "register_operand" "0") + (match_operand:V2SF 2 "nonimmediate_operand" "ym")] +- IEEE_MAXMIN))] ++ IEEE_MAXMIN)) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW" + "pf\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxadd") +@@ -857,7 +872,7 @@ (define_insn "mmx_ieee_v2sf3" + + (define_insn "mmx_rcpv2sf2" + [(set (match_operand:V2SF 0 "register_operand" "=y") +- (unspec:V2SF [(match_operand:V2SF 1 "nonimmediate_operand" "ym")] ++ (unspec:V2SF [(match_operand:V2SF 1 "nonimmediate_operand" "ym")] + UNSPEC_PFRCP))] + "TARGET_3DNOW" + "pfrcp\t{%1, %0|%0, %1}" +@@ -1101,16 +1116,19 @@ (define_expand "vec_addsubv2sf3" + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + (define_expand "mmx_eqv2sf3" +- [(set (match_operand:V2SI 0 "register_operand") +- (eq:V2SI (match_operand:V2SF 1 "nonimmediate_operand") +- (match_operand:V2SF 2 "nonimmediate_operand")))] ++ [(parallel ++ [(set (match_operand:V2SI 0 "register_operand") ++ (eq:V2SI (match_operand:V2SF 1 "nonimmediate_operand") ++ (match_operand:V2SF 2 "nonimmediate_operand"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)])] + "TARGET_3DNOW" + "ix86_fixup_binary_operands_no_copy (EQ, V2SFmode, operands);") + + (define_insn "*mmx_eqv2sf3" + [(set (match_operand:V2SI 0 "register_operand" "=y") + (eq:V2SI (match_operand:V2SF 1 "nonimmediate_operand" "%0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)" + "pfcmpeq\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxcmp") +@@ -1120,7 +1138,8 @@ (define_insn "*mmx_eqv2sf3" + (define_insn "mmx_gtv2sf3" + [(set (match_operand:V2SI 0 "register_operand" "=y") + (gt:V2SI (match_operand:V2SF 1 "register_operand" "0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW" + "pfcmpgt\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxcmp") +@@ -1130,7 +1149,8 @@ (define_insn "mmx_gtv2sf3" + (define_insn "mmx_gev2sf3" + [(set (match_operand:V2SI 0 "register_operand" "=y") + (ge:V2SI (match_operand:V2SF 1 "register_operand" "0") +- (match_operand:V2SF 2 "nonimmediate_operand" "ym")))] ++ (match_operand:V2SF 2 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW" + "pfcmpge\t{%2, %0|%0, %2}" + [(set_attr "type" "mmxcmp") +@@ -1495,7 +1515,8 @@ (define_expand "fixuns_truncv2sfv2si2" + + (define_insn "mmx_fix_truncv2sfv2si2" + [(set (match_operand:V2SI 0 "register_operand" "=y") +- (fix:V2SI (match_operand:V2SF 1 "nonimmediate_operand" "ym")))] ++ (fix:V2SI (match_operand:V2SF 1 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW" + "pf2id\t{%1, %0|%0, %1}" + [(set_attr "type" "mmxcvt") +@@ -1536,7 +1557,8 @@ (define_expand "floatunsv2siv2sf2" + + (define_insn "mmx_floatv2siv2sf2" + [(set (match_operand:V2SF 0 "register_operand" "=y") +- (float:V2SF (match_operand:V2SI 1 "nonimmediate_operand" "ym")))] ++ (float:V2SF (match_operand:V2SI 1 "nonimmediate_operand" "ym"))) ++ (unspec [(const_int 0)] UNSPEC_3DNOW)] + "TARGET_3DNOW" + "pi2fd\t{%1, %0|%0, %1}" + [(set_attr "type" "mmxcvt") +--- a/src/gcc/config/i386/prfchiintrin.h ++++ b/src/gcc/config/i386/prfchiintrin.h +@@ -37,6 +37,7 @@ + #define __DISABLE_PREFETCHI__ + #endif /* __PREFETCHI__ */ + ++#ifdef __OPTIMIZE__ + extern __inline void + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _m_prefetchit0 (void* __P) +@@ -50,6 +51,14 @@ _m_prefetchit1 (void* __P) + { + __builtin_ia32_prefetchi (__P, 2); + } ++#else ++#define _m_prefetchit0(P) \ ++ __builtin_ia32_prefetchi(P, 3); ++ ++#define _m_prefetchit1(P) \ ++ __builtin_ia32_prefetchi(P, 2); ++ ++#endif + + #ifdef __DISABLE_PREFETCHI__ + #undef __DISABLE_PREFETCHI__ +--- a/src/gcc/config/i386/sse.md ++++ b/src/gcc/config/i386/sse.md +@@ -3047,7 +3047,27 @@ (define_insn "*ieee_3" + (const_string "*"))) + (set_attr "mode" "")]) + +-(define_insn "_vm3" ++(define_expand "_vm3" ++ [(set (match_operand:VFH_128 0 "register_operand") ++ (vec_merge:VFH_128 ++ (smaxmin:VFH_128 ++ (match_operand:VFH_128 1 "register_operand") ++ (match_operand:VFH_128 2 "nonimmediate_operand")) ++ (match_dup 1) ++ (const_int 1)))] ++ "TARGET_SSE" ++{ ++ if (!flag_finite_math_only || flag_signed_zeros) ++ { ++ emit_insn (gen__ieee_vm3 ++ (operands[0], operands[1], operands[2] ++ ++ )); ++ DONE; ++ } ++}) ++ ++(define_insn "*_vm3" + [(set (match_operand:VFH_128 0 "register_operand" "=x,v") + (vec_merge:VFH_128 + (smaxmin:VFH_128 +@@ -3065,6 +3085,25 @@ (define_insn "_vm3 + (set_attr "prefix" "") + (set_attr "mode" "")]) + ++(define_insn "_ieee_vm3" ++ [(set (match_operand:VFH_128 0 "register_operand" "=x,v") ++ (vec_merge:VFH_128 ++ (unspec:VFH_128 ++ [(match_operand:VFH_128 1 "register_operand" "0,v") ++ (match_operand:VFH_128 2 "nonimmediate_operand" "xm,")] ++ IEEE_MAXMIN) ++ (match_dup 1) ++ (const_int 1)))] ++ "TARGET_SSE" ++ "@ ++ \t{%2, %0|%0, %2} ++ v\t{%2, %1, %0|%0, %1, %2}" ++ [(set_attr "isa" "noavx,avx") ++ (set_attr "type" "sse") ++ (set_attr "btver2_sse_attr" "maxmin") ++ (set_attr "prefix" "") ++ (set_attr "mode" "")]) ++ + (define_mode_attr addsub_cst [(V4DF "5") (V2DF "1") + (V4SF "5") (V8SF "85")]) + +@@ -3967,32 +4006,19 @@ (define_insn "_cmp3" + + ;; Since vpcmpd implicitly clear the upper bits of dest, transform + ;; vpcmpd + zero_extend to vpcmpd since the instruction +-(define_insn_and_split "*_cmp3_zero_extend" +- [(set (match_operand:SWI248x 0 "register_operand") ++(define_insn "*_cmp3_zero_extend" ++ [(set (match_operand:SWI248x 0 "register_operand" "=k") + (zero_extend:SWI248x + (unspec: +- [(match_operand:V48H_AVX512VL 1 "nonimmediate_operand") +- (match_operand:V48H_AVX512VL 2 "nonimmediate_operand") +- (match_operand:SI 3 "const_0_to_7_operand")] ++ [(match_operand:V48H_AVX512VL 1 "nonimmediate_operand" "v") ++ (match_operand:V48H_AVX512VL 2 "nonimmediate_operand" "vm") ++ (match_operand:SI 3 "const_0_to_7_operand" "n")] + UNSPEC_PCMP)))] + "TARGET_AVX512F + && (!VALID_MASK_AVX512BW_MODE (mode) || TARGET_AVX512BW) +- && ix86_pre_reload_split () + && (GET_MODE_NUNITS (mode) + < GET_MODE_PRECISION (mode))" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (unspec: +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_PCMP))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, +- operands[0], mode); +-} ++ "vcmp\t{%3, %2, %1, %0|%0, %1, %2, %3}" + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") + (set_attr "prefix" "evex") +@@ -4020,21 +4046,22 @@ (define_insn_and_split "*_cmp3_zero_extend +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_PCMP)) +- (set (match_dup 4) (match_dup 0))] ++ (zero_extend:SWI248x ++ (unspec: ++ [(match_dup 1) ++ (match_dup 2) ++ (match_dup 3)] ++ UNSPEC_PCMP))) ++ (set (match_dup 4) (match_dup 5))] + { +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, ++ operands[5] = lowpart_subreg (mode, + operands[0], mode); +-} +- [(set_attr "type" "ssecmp") +- (set_attr "length_immediate" "1") +- (set_attr "prefix" "evex") +- (set_attr "mode" "")]) ++ if (SUBREG_P (operands[5])) ++ { ++ SUBREG_PROMOTED_VAR_P (operands[5]) = 1; ++ SUBREG_PROMOTED_SET (operands[5], 1); ++ } ++}) + + (define_insn_and_split "*_cmp3" + [(set (match_operand: 0 "register_operand") +@@ -4069,31 +4096,18 @@ (define_insn "_cmp3" + (set_attr "prefix" "evex") + (set_attr "mode" "")]) + +-(define_insn_and_split "*_cmp3_zero_extend" +- [(set (match_operand:SWI248x 0 "register_operand") ++(define_insn "*_cmp3_zero_extend" ++ [(set (match_operand:SWI248x 0 "register_operand" "=k") + (zero_extend:SWI248x + (unspec: +- [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand") +- (match_operand:VI12_AVX512VL 2 "nonimmediate_operand") +- (match_operand:SI 3 "const_0_to_7_operand")] ++ [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand" "v") ++ (match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm") ++ (match_operand:SI 3 "const_0_to_7_operand" "n")] + UNSPEC_PCMP)))] + "TARGET_AVX512BW +- && ix86_pre_reload_split () +- && (GET_MODE_NUNITS (mode) +- < GET_MODE_PRECISION (mode))" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (unspec: +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_PCMP))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, +- operands[0], mode); +-} ++ && (GET_MODE_NUNITS (mode) ++ < GET_MODE_PRECISION (mode))" ++ "vpcmp\t{%3, %2, %1, %0|%0, %1, %2, %3}" + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") + (set_attr "prefix" "evex") +@@ -4120,16 +4134,21 @@ (define_insn_and_split "*_cmp3_zero_extend +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_PCMP)) +- (set (match_dup 4) (match_dup 0))] ++ (zero_extend:SWI248x ++ (unspec: ++ [(match_dup 1) ++ (match_dup 2) ++ (match_dup 3)] ++ UNSPEC_PCMP))) ++ (set (match_dup 4) (match_dup 5))] + { +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, ++ operands[5] = lowpart_subreg (mode, + operands[0], mode); ++ if (SUBREG_P (operands[5])) ++ { ++ SUBREG_PROMOTED_VAR_P (operands[5]) = 1; ++ SUBREG_PROMOTED_SET (operands[5], 1); ++ } + } + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") +@@ -4187,31 +4206,18 @@ (define_insn "_ucmp3" + (set_attr "prefix" "evex") + (set_attr "mode" "")]) + +-(define_insn_and_split "*_ucmp3_zero_extend" +- [(set (match_operand:SWI248x 0 "register_operand") ++(define_insn "*_ucmp3_zero_extend" ++ [(set (match_operand:SWI248x 0 "register_operand" "=k") + (zero_extend:SWI248x + (unspec: +- [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand") +- (match_operand:VI12_AVX512VL 2 "nonimmediate_operand") +- (match_operand:SI 3 "const_0_to_7_operand")] ++ [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand" "v") ++ (match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm") ++ (match_operand:SI 3 "const_0_to_7_operand" "n")] + UNSPEC_UNSIGNED_PCMP)))] + "TARGET_AVX512BW +- && ix86_pre_reload_split () + && (GET_MODE_NUNITS (mode) + < GET_MODE_PRECISION (mode))" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (unspec: +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_UNSIGNED_PCMP))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, +- operands[0], mode); +-} ++ "vpcmpu\t{%3, %2, %1, %0|%0, %1, %2, %3}" + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") + (set_attr "prefix" "evex") +@@ -4239,16 +4245,21 @@ (define_insn_and_split "*_ucmp3_zero_extend +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_UNSIGNED_PCMP)) +- (set (match_dup 4) (match_dup 0))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, ++ (zero_extend:SWI248x ++ (unspec: ++ [(match_dup 1) ++ (match_dup 2) ++ (match_dup 3)] ++ UNSPEC_UNSIGNED_PCMP))) ++ (set (match_dup 4) (match_dup 5))] ++{ ++ operands[5] = lowpart_subreg (mode, + operands[0], mode); ++ if (SUBREG_P (operands[5])) ++ { ++ SUBREG_PROMOTED_VAR_P (operands[5]) = 1; ++ SUBREG_PROMOTED_SET (operands[5], 1); ++ } + } + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") +@@ -4284,32 +4295,19 @@ (define_insn "_ucmp3" + (set_attr "prefix" "evex") + (set_attr "mode" "")]) + +-(define_insn_and_split "*_ucmp3_zero_extend" +- [(set (match_operand:SWI248x 0 "register_operand") ++(define_insn "*_ucmp3_zero_extend" ++ [(set (match_operand:SWI248x 0 "register_operand" "=k") + (zero_extend:SWI248x + (unspec: +- [(match_operand:VI48_AVX512VL 1 "nonimmediate_operand") +- (match_operand:VI48_AVX512VL 2 "nonimmediate_operand") +- (match_operand:SI 3 "const_0_to_7_operand")] ++ [(match_operand:VI48_AVX512VL 1 "nonimmediate_operand" "v") ++ (match_operand:VI48_AVX512VL 2 "nonimmediate_operand" "vm") ++ (match_operand:SI 3 "const_0_to_7_operand" "n")] + UNSPEC_UNSIGNED_PCMP)))] + "TARGET_AVX512F + && (!VALID_MASK_AVX512BW_MODE (mode) || TARGET_AVX512BW) +- && ix86_pre_reload_split () + && (GET_MODE_NUNITS (mode) + < GET_MODE_PRECISION (mode))" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (unspec: +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_UNSIGNED_PCMP))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, +- operands[0], mode); +-} ++ "vpcmpu\t{%3, %2, %1, %0|%0, %1, %2, %3}" + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") + (set_attr "prefix" "evex") +@@ -4337,16 +4335,21 @@ (define_insn_and_split "*_ucmp3_zero_extend +- [(match_dup 1) +- (match_dup 2) +- (match_dup 3)] +- UNSPEC_UNSIGNED_PCMP)) +- (set (match_dup 4) (match_dup 0))] +-{ +- operands[1] = force_reg (mode, operands[1]); +- operands[0] = lowpart_subreg (mode, ++ (zero_extend:SWI248x ++ (unspec: ++ [(match_dup 1) ++ (match_dup 2) ++ (match_dup 3)] ++ UNSPEC_UNSIGNED_PCMP))) ++ (set (match_dup 4) (match_dup 5))] ++{ ++ operands[5] = lowpart_subreg (mode, + operands[0], mode); ++ if (SUBREG_P (operands[5])) ++ { ++ SUBREG_PROMOTED_VAR_P (operands[5]) = 1; ++ SUBREG_PROMOTED_SET (operands[5], 1); ++ } + } + [(set_attr "type" "ssecmp") + (set_attr "length_immediate" "1") +@@ -9664,7 +9667,10 @@ (define_expand "vec_unpacks_hi_v4sf" + (match_dup 2) + (parallel [(const_int 0) (const_int 1)]))))] + "TARGET_SSE2" +- "operands[2] = gen_reg_rtx (V4SFmode);") ++{ ++ operands[2] = gen_reg_rtx (V4SFmode); ++ emit_move_insn (operands[2], CONST0_RTX (V4SFmode)); ++}) + + (define_expand "vec_unpacks_hi_v8sf" + [(set (match_dup 2) +@@ -14587,7 +14593,7 @@ (define_insn "*avx512vl_v2div2qi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v2div2qi2_mask_store_1" ++(define_insn "avx512vl_v2div2qi2_mask_store_1" + [(set (match_operand:V2QI 0 "memory_operand" "=m") + (vec_merge:V2QI + (any_truncate:V2QI +@@ -14601,28 +14607,19 @@ (define_insn "*avx512vl_v2div2qi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v2div2qi2_mask_store_2" +- [(set (match_operand:HI 0 "memory_operand") +- (subreg:HI +- (vec_merge:V2QI +- (any_truncate:V2QI +- (match_operand:V2DI 1 "register_operand")) +- (vec_select:V2QI +- (subreg:V4QI +- (vec_concat:V2HI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V2QI +- (any_truncate:V2QI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V2QImode, 0);") ++(define_expand "avx512vl_v2div2qi2_mask_store_2" ++ [(match_operand:HI 0 "memory_operand") ++ (any_truncate:V2QI ++ (match_operand:V2DI 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V2QImode, 0); ++ emit_insn (gen_avx512vl_v2div2qi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_insn "*avx512vl_v4qi2_store_1" + [(set (match_operand:V4QI 0 "memory_operand" "=m") +@@ -14691,7 +14688,7 @@ (define_insn "*avx512vl_v4qi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v4qi2_mask_store_1" ++(define_insn "avx512vl_v4qi2_mask_store_1" + [(set (match_operand:V4QI 0 "memory_operand" "=m") + (vec_merge:V4QI + (any_truncate:V4QI +@@ -14705,29 +14702,19 @@ (define_insn "*avx512vl_v4qi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v4qi2_mask_store_2" +- [(set (match_operand:SI 0 "memory_operand") +- (subreg:SI +- (vec_merge:V4QI +- (any_truncate:V4QI +- (match_operand:VI4_128_8_256 1 "register_operand")) +- (vec_select:V4QI +- (subreg:V8QI +- (vec_concat:V2SI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1) +- (const_int 2) (const_int 3)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V4QI +- (any_truncate:V4QI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V4QImode, 0);") ++(define_expand "avx512vl_v4qi2_mask_store_2" ++ [(match_operand:SI 0 "memory_operand") ++ (any_truncate:V4QI ++ (match_operand:VI4_128_8_256 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V4QImode, 0); ++ emit_insn (gen_avx512vl_v4qi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_mode_iterator VI2_128_BW_4_256 + [(V8HI "TARGET_AVX512BW") V8SI]) +@@ -14799,7 +14786,7 @@ (define_insn "*avx512vl_v8qi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v8qi2_mask_store_1" ++(define_insn "avx512vl_v8qi2_mask_store_1" + [(set (match_operand:V8QI 0 "memory_operand" "=m") + (vec_merge:V8QI + (any_truncate:V8QI +@@ -14813,31 +14800,19 @@ (define_insn "*avx512vl_v8qi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v8qi2_mask_store_2" +- [(set (match_operand:DI 0 "memory_operand") +- (subreg:DI +- (vec_merge:V8QI +- (any_truncate:V8QI +- (match_operand:VI2_128_BW_4_256 1 "register_operand")) +- (vec_select:V8QI +- (subreg:V16QI +- (vec_concat:V2DI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1) +- (const_int 2) (const_int 3) +- (const_int 4) (const_int 5) +- (const_int 6) (const_int 7)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V8QI +- (any_truncate:V8QI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V8QImode, 0);") ++(define_expand "avx512vl_v8qi2_mask_store_2" ++ [(match_operand:DI 0 "memory_operand") ++ (any_truncate:V8QI ++ (match_operand:VI2_128_BW_4_256 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V8QImode, 0); ++ emit_insn (gen_avx512vl_v8qi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_mode_iterator PMOV_SRC_MODE_4 [V4DI V2DI V4SI]) + (define_mode_attr pmov_dst_4 +@@ -14959,7 +14934,7 @@ (define_insn "*avx512vl_v4hi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v4hi2_mask_store_1" ++(define_insn "avx512vl_v4hi2_mask_store_1" + [(set (match_operand:V4HI 0 "memory_operand" "=m") + (vec_merge:V4HI + (any_truncate:V4HI +@@ -14977,30 +14952,19 @@ (define_insn "*avx512vl_v4hi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v4hi2_mask_store_2" +- [(set (match_operand:DI 0 "memory_operand") +- (subreg:DI +- (vec_merge:V4HI +- (any_truncate:V4HI +- (match_operand:VI4_128_8_256 1 "register_operand")) +- (vec_select:V4HI +- (subreg:V8HI +- (vec_concat:V2DI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1) +- (const_int 2) (const_int 3)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V4HI +- (any_truncate:V4HI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V4HImode, 0);") +- ++(define_expand "avx512vl_v4hi2_mask_store_2" ++ [(match_operand:DI 0 "memory_operand") ++ (any_truncate:V4HI ++ (match_operand:VI4_128_8_256 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V4HImode, 0); ++ emit_insn (gen_avx512vl_v4hi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_insn "*avx512vl_v2div2hi2_store_1" + [(set (match_operand:V2HI 0 "memory_operand" "=m") +@@ -15061,7 +15025,7 @@ (define_insn "*avx512vl_v2div2hi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v2div2hi2_mask_store_1" ++(define_insn "avx512vl_v2div2hi2_mask_store_1" + [(set (match_operand:V2HI 0 "memory_operand" "=m") + (vec_merge:V2HI + (any_truncate:V2HI +@@ -15075,28 +15039,19 @@ (define_insn "*avx512vl_v2div2hi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v2div2hi2_mask_store_2" +- [(set (match_operand:SI 0 "memory_operand") +- (subreg:SI +- (vec_merge:V2HI +- (any_truncate:V2HI +- (match_operand:V2DI 1 "register_operand")) +- (vec_select:V2HI +- (subreg:V4HI +- (vec_concat:V2SI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V2HI +- (any_truncate:V2HI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V2HImode, 0);") ++(define_expand "avx512vl_v2div2hi2_mask_store_2" ++ [(match_operand:SI 0 "memory_operand") ++ (any_truncate:V2HI ++ (match_operand:V2DI 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V2HImode, 0); ++ emit_insn (gen_avx512vl_v2div2hi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_expand "truncv2div2si2" + [(set (match_operand:V2SI 0 "register_operand") +@@ -15204,7 +15159,7 @@ (define_insn "*avx512vl_v2div2si2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512vl_v2div2si2_mask_store_1" ++(define_insn "avx512vl_v2div2si2_mask_store_1" + [(set (match_operand:V2SI 0 "memory_operand" "=m") + (vec_merge:V2SI + (any_truncate:V2SI +@@ -15218,28 +15173,19 @@ (define_insn "*avx512vl_v2div2si2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512vl_v2div2si2_mask_store_2" +- [(set (match_operand:DI 0 "memory_operand") +- (subreg:DI +- (vec_merge:V2SI +- (any_truncate:V2SI +- (match_operand:V2DI 1 "register_operand")) +- (vec_select:V2SI +- (subreg:V4SI +- (vec_concat:V2DI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512VL && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V2SI +- (any_truncate:V2SI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V2SImode, 0);") ++(define_expand "avx512vl_v2div2si2_mask_store_2" ++ [(match_operand:DI 0 "memory_operand") ++ (any_truncate:V2SI ++ (match_operand:V2DI 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512VL" ++{ ++ operands[0] = adjust_address_nv (operands[0], V2SImode, 0); ++ emit_insn (gen_avx512vl_v2div2si2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + (define_expand "truncv8div8qi2" + [(set (match_operand:V8QI 0 "register_operand") +@@ -15338,7 +15284,7 @@ (define_insn "*avx512f_v8div16qi2_mask_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn "*avx512f_v8div16qi2_mask_store_1" ++(define_insn "avx512f_v8div16qi2_mask_store_1" + [(set (match_operand:V8QI 0 "memory_operand" "=m") + (vec_merge:V8QI + (any_truncate:V8QI +@@ -15352,31 +15298,19 @@ (define_insn "*avx512f_v8div16qi2_mask_store_1" + (set_attr "prefix" "evex") + (set_attr "mode" "TI")]) + +-(define_insn_and_split "avx512f_v8div16qi2_mask_store_2" +- [(set (match_operand:DI 0 "memory_operand") +- (subreg:DI +- (vec_merge:V8QI +- (any_truncate:V8QI +- (match_operand:V8DI 1 "register_operand")) +- (vec_select:V8QI +- (subreg:V16QI +- (vec_concat:V2DI +- (match_dup 0) +- (const_int 0)) 0) +- (parallel [(const_int 0) (const_int 1) +- (const_int 2) (const_int 3) +- (const_int 4) (const_int 5) +- (const_int 6) (const_int 7)])) +- (match_operand:QI 2 "register_operand")) 0))] +- "TARGET_AVX512F && TARGET_EVEX512 && ix86_pre_reload_split ()" +- "#" +- "&& 1" +- [(set (match_dup 0) +- (vec_merge:V8QI +- (any_truncate:V8QI (match_dup 1)) +- (match_dup 0) +- (match_dup 2)))] +- "operands[0] = adjust_address_nv (operands[0], V8QImode, 0);") ++(define_expand "avx512f_v8div16qi2_mask_store_2" ++ [(match_operand:DI 0 "memory_operand") ++ (any_truncate:V8QI ++ (match_operand:V8DI 1 "register_operand")) ++ (match_operand:QI 2 "register_operand")] ++ "TARGET_AVX512F && TARGET_EVEX512" ++{ ++ operands[0] = adjust_address_nv (operands[0], V8QImode, 0); ++ emit_insn (gen_avx512f_v8div16qi2_mask_store_1 (operands[0], ++ operands[1], ++ operands[2])); ++ DONE; ++}) + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +@@ -16788,12 +16722,12 @@ (define_expand "cond_" + }) + + (define_expand "3_mask" +- [(set (match_operand:VI48_AVX512VL 0 "register_operand") +- (vec_merge:VI48_AVX512VL +- (maxmin:VI48_AVX512VL +- (match_operand:VI48_AVX512VL 1 "nonimmediate_operand") +- (match_operand:VI48_AVX512VL 2 "nonimmediate_operand")) +- (match_operand:VI48_AVX512VL 3 "nonimm_or_0_operand") ++ [(set (match_operand:VI1248_AVX512VLBW 0 "register_operand") ++ (vec_merge:VI1248_AVX512VLBW ++ (maxmin:VI1248_AVX512VLBW ++ (match_operand:VI1248_AVX512VLBW 1 "nonimmediate_operand") ++ (match_operand:VI1248_AVX512VLBW 2 "nonimmediate_operand")) ++ (match_operand:VI1248_AVX512VLBW 3 "nonimm_or_0_operand") + (match_operand: 4 "register_operand")))] + "TARGET_AVX512F" + "ix86_fixup_binary_operands_no_copy (, mode, operands);") +@@ -16809,12 +16743,12 @@ (define_insn "*avx512f_3" + (set_attr "prefix" "maybe_evex") + (set_attr "mode" "")]) + +-(define_insn "3" ++(define_insn "*avx512bw_3" + [(set (match_operand:VI12_AVX512VL 0 "register_operand" "=v") + (maxmin:VI12_AVX512VL +- (match_operand:VI12_AVX512VL 1 "register_operand" "v") ++ (match_operand:VI12_AVX512VL 1 "nonimmediate_operand" "%v") + (match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm")))] +- "TARGET_AVX512BW" ++ "TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))" + "vp\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "type" "sseiadd") + (set_attr "prefix" "evex") +@@ -19124,47 +19058,47 @@ (define_expand "_vinsert_mask" + (define_insn "*_vinsert_0" + [(set (match_operand:AVX512_VEC 0 "register_operand" "=v,x,Yv") + (vec_merge:AVX512_VEC +- (match_operand:AVX512_VEC 1 "reg_or_0_operand" "v,C,C") + (vec_duplicate:AVX512_VEC +- (match_operand: 2 "nonimmediate_operand" "vm,xm,vm")) ++ (match_operand: 1 "nonimmediate_operand" "vm,xm,vm")) ++ (match_operand:AVX512_VEC 2 "reg_or_0_operand" "v,C,C") + (match_operand:SI 3 "const_int_operand")))] + "TARGET_AVX512F + && (INTVAL (operands[3]) +- == (GET_MODE_UNIT_SIZE (mode) == 4 ? 0xFFF0 : 0xFC))" ++ == (GET_MODE_UNIT_SIZE (mode) == 4 ? 0xF : 0x3))" + { + if (which_alternative == 0) +- return "vinsert\t{$0, %2, %1, %0|%0, %1, %2, 0}"; ++ return "vinsert\t{$0, %1, %2, %0|%0, %2, %1, 0}"; + bool egpr_used = (TARGET_APX_EGPR +- && x86_extended_rex2reg_mentioned_p (operands[2])); +- const char *align_templ = egpr_used ? "vmovaps\t{%2, %x0|%x0, %2}" +- : "vmovdqa\t{%2, %x0|%x0, %2}"; +- const char *unalign_templ = egpr_used ? "vmovups\t{%2, %x0|%x0, %2}" +- : "vmovdqu\t{%2, %x0|%x0, %2}"; ++ && x86_extended_rex2reg_mentioned_p (operands[1])); ++ const char *align_templ = egpr_used ? "vmovaps\t{%1, %x0|%x0, %1}" ++ : "vmovdqa\t{%1, %x0|%x0, %1}"; ++ const char *unalign_templ = egpr_used ? "vmovups\t{%1, %x0|%x0, %1}" ++ : "vmovdqu\t{%1, %x0|%x0, %1}"; + switch (mode) + { + case E_V8DFmode: +- if (misaligned_operand (operands[2], mode)) +- return "vmovupd\t{%2, %x0|%x0, %2}"; ++ if (misaligned_operand (operands[1], mode)) ++ return "vmovupd\t{%1, %x0|%x0, %1}"; + else +- return "vmovapd\t{%2, %x0|%x0, %2}"; ++ return "vmovapd\t{%1, %x0|%x0, %1}"; + case E_V16SFmode: +- if (misaligned_operand (operands[2], mode)) +- return "vmovups\t{%2, %x0|%x0, %2}"; ++ if (misaligned_operand (operands[1], mode)) ++ return "vmovups\t{%1, %x0|%x0, %1}"; + else +- return "vmovaps\t{%2, %x0|%x0, %2}"; ++ return "vmovaps\t{%1, %x0|%x0, %1}"; + case E_V8DImode: +- if (misaligned_operand (operands[2], mode)) +- return which_alternative == 2 ? "vmovdqu64\t{%2, %x0|%x0, %2}" ++ if (misaligned_operand (operands[1], mode)) ++ return which_alternative == 2 ? "vmovdqu64\t{%1, %x0|%x0, %1}" + : unalign_templ; + else +- return which_alternative == 2 ? "vmovdqa64\t{%2, %x0|%x0, %2}" ++ return which_alternative == 2 ? "vmovdqa64\t{%1, %x0|%x0, %1}" + : align_templ; + case E_V16SImode: +- if (misaligned_operand (operands[2], mode)) +- return which_alternative == 2 ? "vmovdqu32\t{%2, %x0|%x0, %2}" ++ if (misaligned_operand (operands[1], mode)) ++ return which_alternative == 2 ? "vmovdqu32\t{%1, %x0|%x0, %1}" + : unalign_templ; + else +- return which_alternative == 2 ? "vmovdqa32\t{%2, %x0|%x0, %2}" ++ return which_alternative == 2 ? "vmovdqa32\t{%1, %x0|%x0, %1}" + : align_templ; + default: + gcc_unreachable (); +@@ -29364,7 +29298,7 @@ (define_insn "vpmadd52" + (unspec:VI8_AVX2 + [(match_operand:VI8_AVX2 1 "register_operand" "0,0") + (match_operand:VI8_AVX2 2 "register_operand" "x,v") +- (match_operand:VI8_AVX2 3 "nonimmediate_operand" "xm,vm")] ++ (match_operand:VI8_AVX2 3 "nonimmediate_operand" "xjm,vm")] + VPMADD52))] + "TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)" + "@ +@@ -29372,6 +29306,7 @@ (define_insn "vpmadd52" + vpmadd52\t{%3, %2, %0|%0, %2, %3}" + [(set_attr "isa" "avxifma,avx512ifmavl") + (set_attr "type" "ssemuladd") ++ (set_attr "addr" "gpr16,*") + (set_attr "prefix" "vex,evex") + (set_attr "mode" "")]) + +@@ -29989,13 +29924,14 @@ (define_insn "vpdpbusd_" + (unspec:VI4_AVX2 + [(match_operand:VI4_AVX2 1 "register_operand" "0,0") + (match_operand:VI4_AVX2 2 "register_operand" "x,v") +- (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] ++ (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] + UNSPEC_VPDPBUSD))] + "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" + "@ + %{vex%} vpdpbusd\t{%3, %2, %0|%0, %2, %3} + vpdpbusd\t{%3, %2, %0|%0, %2, %3}" + [(set_attr ("prefix") ("vex,evex")) ++ (set_attr "addr" "gpr16,*") + (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) + + (define_insn "vpdpbusd__mask" +@@ -30057,13 +29993,14 @@ (define_insn "vpdpbusds_" + (unspec:VI4_AVX2 + [(match_operand:VI4_AVX2 1 "register_operand" "0,0") + (match_operand:VI4_AVX2 2 "register_operand" "x,v") +- (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] ++ (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] + UNSPEC_VPDPBUSDS))] + "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" + "@ + %{vex%} vpdpbusds\t{%3, %2, %0|%0, %2, %3} + vpdpbusds\t{%3, %2, %0|%0, %2, %3}" + [(set_attr ("prefix") ("vex,evex")) ++ (set_attr "addr" "gpr16,*") + (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) + + (define_insn "vpdpbusds__mask" +@@ -30125,13 +30062,14 @@ (define_insn "vpdpwssd_" + (unspec:VI4_AVX2 + [(match_operand:VI4_AVX2 1 "register_operand" "0,0") + (match_operand:VI4_AVX2 2 "register_operand" "x,v") +- (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] ++ (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] + UNSPEC_VPDPWSSD))] + "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" + "@ + %{vex%} vpdpwssd\t{%3, %2, %0|%0, %2, %3} + vpdpwssd\t{%3, %2, %0|%0, %2, %3}" + [(set_attr ("prefix") ("vex,evex")) ++ (set_attr "addr" "gpr16,*") + (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) + + (define_insn "vpdpwssd__mask" +@@ -30193,13 +30131,14 @@ (define_insn "vpdpwssds_" + (unspec:VI4_AVX2 + [(match_operand:VI4_AVX2 1 "register_operand" "0,0") + (match_operand:VI4_AVX2 2 "register_operand" "x,v") +- (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] ++ (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] + UNSPEC_VPDPWSSDS))] + "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" + "@ + %{vex%} vpdpwssds\t{%3, %2, %0|%0, %2, %3} + vpdpwssds\t{%3, %2, %0|%0, %2, %3}" + [(set_attr ("prefix") ("vex,evex")) ++ (set_attr "addr" "gpr16,*") + (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) + + (define_insn "vpdpwssds__mask" +@@ -30253,7 +30192,7 @@ (define_insn "vaesdec_" + UNSPEC_VAESDEC))] + "TARGET_VAES" + { +- if (which_alternative == 0 && mode == V16QImode) ++ if (!TARGET_AES && mode == V16QImode) + return "%{evex%} vaesdec\t{%2, %1, %0|%0, %1, %2}"; + else + return "vaesdec\t{%2, %1, %0|%0, %1, %2}"; +@@ -30267,7 +30206,7 @@ (define_insn "vaesdeclast_" + UNSPEC_VAESDECLAST))] + "TARGET_VAES" + { +- if (which_alternative == 0 && mode == V16QImode) ++ if (!TARGET_AES && mode == V16QImode) + return "%{evex%} vaesdeclast\t{%2, %1, %0|%0, %1, %2}"; + else + return "vaesdeclast\t{%2, %1, %0|%0, %1, %2}"; +@@ -30281,7 +30220,7 @@ (define_insn "vaesenc_" + UNSPEC_VAESENC))] + "TARGET_VAES" + { +- if (which_alternative == 0 && mode == V16QImode) ++ if (!TARGET_AES && mode == V16QImode) + return "%{evex%} vaesenc\t{%2, %1, %0|%0, %1, %2}"; + else + return "vaesenc\t{%2, %1, %0|%0, %1, %2}"; +@@ -30295,7 +30234,7 @@ (define_insn "vaesenclast_" + UNSPEC_VAESENCLAST))] + "TARGET_VAES" + { +- if (which_alternative == 0 && mode == V16QImode) ++ if (!TARGET_AES && mode == V16QImode) + return "%{evex%} vaesenclast\t{%2, %1, %0|%0, %1, %2}"; + else + return "vaesenclast\t{%2, %1, %0|%0, %1, %2}"; +@@ -30417,13 +30356,14 @@ (define_insn "*vcvtneps2bf16_v4sf" + [(set (match_operand:V8BF 0 "register_operand" "=x,v") + (vec_concat:V8BF + (float_truncate:V4BF +- (match_operand:V4SF 1 "nonimmediate_operand" "xm,vm")) ++ (match_operand:V4SF 1 "nonimmediate_operand" "xjm,vm")) + (match_operand:V4BF 2 "const0_operand")))] + "TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)" + "@ + %{vex%} vcvtneps2bf16{x}\t{%1, %0|%0, %1} + vcvtneps2bf16{x}\t{%1, %0|%0, %1}" + [(set_attr "isa" "avxneconvert,avx512bf16vl") ++ (set_attr "addr" "gpr16,*") + (set_attr "prefix" "vex,evex")]) + + (define_expand "avx512f_cvtneps2bf16_v4sf_maskz" +@@ -30481,12 +30421,13 @@ (define_expand "avx512f_cvtneps2bf16__maskz" + (define_insn "vcvtneps2bf16_v8sf" + [(set (match_operand:V8BF 0 "register_operand" "=x,v") + (float_truncate:V8BF +- (match_operand:V8SF 1 "nonimmediate_operand" "xm,vm")))] ++ (match_operand:V8SF 1 "nonimmediate_operand" "xjm,vm")))] + "TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)" + "@ + %{vex%} vcvtneps2bf16{y}\t{%1, %0|%0, %1} + vcvtneps2bf16{y}\t{%1, %0|%0, %1}" + [(set_attr "isa" "avxneconvert,avx512bf16vl") ++ (set_attr "addr" "gpr16,*") + (set_attr "prefix" "vex,evex")]) + + +@@ -30942,30 +30883,33 @@ (define_insn "vpdp_" + (unspec:VI4_AVX + [(match_operand:VI4_AVX 1 "register_operand" "0") + (match_operand:VI4_AVX 2 "register_operand" "x") +- (match_operand:VI4_AVX 3 "nonimmediate_operand" "xm")] ++ (match_operand:VI4_AVX 3 "nonimmediate_operand" "xjm")] + VPDOTPROD))] + "TARGET_AVXVNNIINT8" + "vpdp\t{%3, %2, %0|%0, %2, %3}" +- [(set_attr "prefix" "vex")]) ++ [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16")]) + + (define_insn "vbcstnebf162ps_" + [(set (match_operand:VF1_128_256 0 "register_operand" "=x") + (vec_duplicate:VF1_128_256 + (float_extend:SF +- (match_operand:BF 1 "memory_operand" "m"))))] ++ (match_operand:BF 1 "memory_operand" "jm"))))] + "TARGET_AVXNECONVERT" + "vbcstnebf162ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_insn "vbcstnesh2ps_" + [(set (match_operand:VF1_128_256 0 "register_operand" "=x") + (vec_duplicate:VF1_128_256 + (float_extend:SF +- (match_operand:HF 1 "memory_operand" "m"))))] ++ (match_operand:HF 1 "memory_operand" "jm"))))] + "TARGET_AVXNECONVERT" + "vbcstnesh2ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_mode_attr bf16_ph +@@ -30976,19 +30920,20 @@ (define_insn "vcvtnee2ps_" + [(set (match_operand:V4SF 0 "register_operand" "=x") + (float_extend:V4SF + (vec_select: +- (match_operand:VHFBF_128 1 "memory_operand" "m") ++ (match_operand:VHFBF_128 1 "memory_operand" "jm") + (parallel [(const_int 0) (const_int 2) + (const_int 4) (const_int 6)]))))] + "TARGET_AVXNECONVERT" + "vcvtnee2ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_insn "vcvtnee2ps_" + [(set (match_operand:V8SF 0 "register_operand" "=x") + (float_extend:V8SF + (vec_select: +- (match_operand:VHFBF_256 1 "memory_operand" "m") ++ (match_operand:VHFBF_256 1 "memory_operand" "jm") + (parallel [(const_int 0) (const_int 2) + (const_int 4) (const_int 6) + (const_int 8) (const_int 10) +@@ -30996,25 +30941,27 @@ (define_insn "vcvtnee2ps_" + "TARGET_AVXNECONVERT" + "vcvtnee2ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_insn "vcvtneo2ps_" + [(set (match_operand:V4SF 0 "register_operand" "=x") + (float_extend:V4SF + (vec_select: +- (match_operand:VHFBF_128 1 "memory_operand" "m") ++ (match_operand:VHFBF_128 1 "memory_operand" "jm") + (parallel [(const_int 1) (const_int 3) + (const_int 5) (const_int 7)]))))] + "TARGET_AVXNECONVERT" + "vcvtneo2ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_insn "vcvtneo2ps_" + [(set (match_operand:V8SF 0 "register_operand" "=x") + (float_extend:V8SF + (vec_select: +- (match_operand:VHFBF_256 1 "memory_operand" "m") ++ (match_operand:VHFBF_256 1 "memory_operand" "jm") + (parallel [(const_int 1) (const_int 3) + (const_int 5) (const_int 7) + (const_int 9) (const_int 11) +@@ -31022,6 +30969,7 @@ (define_insn "vcvtneo2ps_" + "TARGET_AVXNECONVERT" + "vcvtneo2ps\t{%1, %0|%0, %1}" + [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16") + (set_attr "mode" "")]) + + (define_int_iterator VPDPWPROD +@@ -31078,8 +31026,9 @@ (define_insn "vpdp_" + (unspec:VI4_AVX + [(match_operand:VI4_AVX 1 "register_operand" "0") + (match_operand:VI4_AVX 2 "register_operand" "x") +- (match_operand:VI4_AVX 3 "nonimmediate_operand" "xm")] ++ (match_operand:VI4_AVX 3 "nonimmediate_operand" "xjm")] + VPDPWPROD))] + "TARGET_AVXVNNIINT16" + "vpdp\t{%3, %2, %0|%0, %2, %3}" +- [(set_attr "prefix" "vex")]) ++ [(set_attr "prefix" "vex") ++ (set_attr "addr" "gpr16")]) +--- a/src/gcc/config/i386/subst.md ++++ b/src/gcc/config/i386/subst.md +@@ -345,6 +345,8 @@ (define_subst_attr "mask_scalar_operand4" "mask_scalar" "" "%{%5%}%N4") + (define_subst_attr "mask_scalarcz_operand4" "mask_scalarcz" "" "%{%5%}%N4") + (define_subst_attr "mask_scalar4_dest_false_dep_for_glc_cond" "mask_scalar" "1" "operands[4] == CONST0_RTX(mode)") + (define_subst_attr "mask_scalarc_dest_false_dep_for_glc_cond" "mask_scalarc" "1" "operands[3] == CONST0_RTX(V8HFmode)") ++(define_subst_attr "mask_scalar_operand_arg34" "mask_scalar" "" ", operands[3], operands[4]") ++(define_subst_attr "mask_scalar_expand_op3" "mask_scalar" "3" "5") + + (define_subst "mask_scalar" + [(set (match_operand:SUBST_V 0) +@@ -452,6 +454,7 @@ (define_subst_attr "round_saeonly_scalar_mask_op4" "round_saeonly_scalar" "" "]") + + (define_subst "round_saeonly_scalar" + [(set (match_operand:SUBST_V 0) +--- a/src/gcc/config/i386/x86-tune-costs.h ++++ b/src/gcc/config/i386/x86-tune-costs.h +@@ -2100,16 +2100,19 @@ struct processor_costs znver5_cost = { + COSTS_N_INSNS (13), /* cost of DIVSD instruction. */ + COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */ + COSTS_N_INSNS (20), /* cost of SQRTSD instruction. */ +- /* Zen can execute 4 integer operations per cycle. FP operations +- take 3 cycles and it can execute 2 integer additions and 2 +- multiplications thus reassociation may make sense up to with of 6. +- SPEC2k6 bencharks suggests +- that 4 works better than 6 probably due to register pressure. +- +- Integer vector operations are taken by FP unit and execute 3 vector +- plus/minus operations per cycle but only one multiply. This is adjusted +- in ix86_reassociation_width. */ +- 4, 4, 3, 6, /* reassoc int, fp, vec_int, vec_fp. */ ++ /* Zen5 can execute: ++ - integer ops: 6 per cycle, at most 3 multiplications. ++ latency 1 for additions, 3 for multiplications (pipelined) ++ ++ Setting width of 9 for multiplication is probably excessive ++ for register pressure. ++ - fp ops: 2 additions per cycle, latency 2-3 ++ 2 multiplicaitons per cycle, latency 3 ++ - vector intger ops: 4 additions, latency 1 ++ 2 multiplications, latency 4 ++ We increase width to 6 for multiplications ++ in ix86_reassociation_width. */ ++ 6, 6, 4, 6, /* reassoc int, fp, vec_int, vec_fp. */ + znver2_memcpy, + znver2_memset, + COSTS_N_INSNS (4), /* cond_taken_branch_cost. */ +--- a/src/gcc/config/i386/x86-tune-sched.cc ++++ b/src/gcc/config/i386/x86-tune-sched.cc +@@ -69,7 +69,6 @@ ix86_issue_rate (void) + case PROCESSOR_ZNVER2: + case PROCESSOR_ZNVER3: + case PROCESSOR_ZNVER4: +- case PROCESSOR_ZNVER5: + case PROCESSOR_CORE2: + case PROCESSOR_NEHALEM: + case PROCESSOR_SANDYBRIDGE: +@@ -92,6 +91,13 @@ ix86_issue_rate (void) + return 5; + + case PROCESSOR_SAPPHIRERAPIDS: ++ /* For znver5 decoder can handle 4 or 8 instructions per cycle, ++ op cache 12 instruction/cycle, dispatch 8 instructions ++ integer rename 8 instructions and Fp 6 instructions. ++ ++ The scheduler, without understanding out of order nature of the CPU ++ is unlikely going to be able to fill all of these. */ ++ case PROCESSOR_ZNVER5: + return 6; + + default: +@@ -435,6 +441,8 @@ ix86_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, int cost, + enum attr_unit unit = get_attr_unit (insn); + int loadcost; + ++ /* TODO: On znver5 complex addressing modes have ++ greater latency. */ + if (unit == UNIT_INTEGER || unit == UNIT_UNKNOWN) + loadcost = 4; + else +@@ -565,6 +573,60 @@ ix86_macro_fusion_p () + return TARGET_FUSE_CMP_AND_BRANCH; + } + ++static bool ++ix86_fuse_mov_alu_p (rtx_insn *mov, rtx_insn *alu) ++{ ++ /* Validate mov: ++ - It should be reg-reg move with opcode 0x89 or 0x8B. */ ++ rtx set1 = PATTERN (mov); ++ if (GET_CODE (set1) != SET ++ || !GENERAL_REG_P (SET_SRC (set1)) ++ || !GENERAL_REG_P (SET_DEST (set1))) ++ return false; ++ rtx reg = SET_DEST (set1); ++ /* - it should have 0x89 or 0x8B opcode. */ ++ if (!INTEGRAL_MODE_P (GET_MODE (reg)) ++ || GET_MODE_SIZE (GET_MODE (reg)) < 2 ++ || GET_MODE_SIZE (GET_MODE (reg)) > 8) ++ return false; ++ /* Validate ALU. */ ++ if (GET_CODE (PATTERN (alu)) != PARALLEL) ++ return false; ++ rtx set2 = XVECEXP (PATTERN (alu), 0, 0); ++ if (GET_CODE (set2) != SET) ++ return false; ++ /* Match one of: ++ ADD ADC AND XOR OR SUB SBB INC DEC NOT SAL SHL SHR SAR ++ We also may add insn attribute to handle some of sporadic ++ case we output those with different RTX expressions. */ ++ ++ if (GET_CODE (SET_SRC (set2)) != PLUS ++ && GET_CODE (SET_SRC (set2)) != MINUS ++ && GET_CODE (SET_SRC (set2)) != XOR ++ && GET_CODE (SET_SRC (set2)) != AND ++ && GET_CODE (SET_SRC (set2)) != IOR ++ && GET_CODE (SET_SRC (set2)) != NOT ++ && GET_CODE (SET_SRC (set2)) != ASHIFT ++ && GET_CODE (SET_SRC (set2)) != ASHIFTRT ++ && GET_CODE (SET_SRC (set2)) != LSHIFTRT) ++ return false; ++ rtx op0 = XEXP (SET_SRC (set2), 0); ++ rtx op1 = GET_CODE (SET_SRC (set2)) != NOT ? XEXP (SET_SRC (set2), 1) : NULL; ++ /* One of operands should be register. */ ++ if (op1 && (!REG_P (op0) || REGNO (op0) != REGNO (reg))) ++ std::swap (op0, op1); ++ if (!REG_P (op0) || REGNO (op0) != REGNO (reg)) ++ return false; ++ if (op1 ++ && !REG_P (op1) ++ && !x86_64_immediate_operand (op1, VOIDmode)) ++ return false; ++ /* Only one of two paramters must be move destination. */ ++ if (op1 && REG_P (op1) && REGNO (op1) == REGNO (reg)) ++ return false; ++ return true; ++} ++ + /* Check whether current microarchitecture support macro fusion + for insn pair "CONDGEN + CONDJMP". Refer to + "Intel Architectures Optimization Reference Manual". */ +@@ -572,6 +634,9 @@ ix86_macro_fusion_p () + bool + ix86_macro_fusion_pair_p (rtx_insn *condgen, rtx_insn *condjmp) + { ++ if (TARGET_FUSE_MOV_AND_ALU ++ && ix86_fuse_mov_alu_p (condgen, condjmp)) ++ return true; + rtx src, dest; + enum rtx_code ccode; + rtx compare_set = NULL_RTX, test_if, cond; +--- a/src/gcc/config/i386/x86-tune.def ++++ b/src/gcc/config/i386/x86-tune.def +@@ -143,10 +143,17 @@ DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, "fuse_cmp_and_branch_soflags", + + /* 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. */ ++ the conditional jump instruction. ++ ++ TODO: znver5 supports fusing with SUB, ADD, INC, DEC, OR, AND, ++ There is also limitation for immediate and displacement supported. */ + DEF_TUNE (X86_TUNE_FUSE_ALU_AND_BRANCH, "fuse_alu_and_branch", +- m_SANDYBRIDGE | m_CORE_AVX2 | m_ZHAOXIN | m_GENERIC) ++ m_SANDYBRIDGE | m_CORE_AVX2 | m_ZHAOXIN | m_GENERIC | m_ZNVER5) + ++/* X86_TUNE_FUSE_MOV_AND_ALU: mov and alu in case mov is reg-reg mov ++ and the destination is used by alu. alu must be one of ++ ADD, ADC, AND, XOR, OR, SUB, SBB, INC, DEC, NOT, SAL, SHL, SHR, SAR. */ ++DEF_TUNE (X86_TUNE_FUSE_MOV_AND_ALU, "fuse_mov_and_alu", m_ZNVER5) + + /*****************************************************************************/ + /* Function prologue, epilogue and function calling sequences. */ +@@ -483,55 +490,64 @@ DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES, "avoid_4byte_prefixes", + /* 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_CORE_HYBRID ++ ~(m_ZNVER | m_CORE_HYBRID + | m_YONGFENG | 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)) ++ ~(m_ZNVER4 | m_ZNVER5)) + + /* 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_CORE_HYBRID ++ ~(m_ZNVER | m_CORE_HYBRID + | m_YONGFENG | 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)) ++ ~(m_ZNVER4 | m_ZNVER5)) + + /* 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_CORE_HYBRID | m_CORE_ATOM ++ ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER4 | m_ZNVER5 | m_CORE_HYBRID | m_CORE_ATOM + | m_YONGFENG | 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)) ++ ~(m_ZNVER4 | m_ZNVER5)) + + /* 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 | m_ZNVER4 ++DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER + | m_YONGFENG | m_GENERIC) + + /* 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_ZNVER4 +- | m_CORE_HYBRID | m_SAPPHIRERAPIDS | m_CORE_ATOM | m_GENERIC) ++DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", ++ m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ZNVER5 | m_CORE_HYBRID ++ | m_SAPPHIRERAPIDS | m_CORE_ATOM | m_GENERIC) + + /* 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) ++DEF_TUNE (X86_TUNE_AVOID_512FMA_CHAINS, "avoid_fma512_chains", m_ZNVER5) + + /* 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) + ++/* X86_TUNE_SSE_MOVCC_USE_BLENDV: Prefer blendv instructions to ++ 3-instruction sequence (op1 & mask) | (op2 & ~mask) ++ for vector condition move. ++ For Crestmont, 4-operand vex blendv instructions come from MSROM ++ which is slow. */ ++DEF_TUNE (X86_TUNE_SSE_MOVCC_USE_BLENDV, ++ "sse_movcc_use_blendv", ~m_CORE_ATOM) ++ + /*****************************************************************************/ + /* AVX instruction selection tuning (some of SSE flags affects AVX, too) */ + /*****************************************************************************/ +@@ -548,7 +564,7 @@ DEF_TUNE (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL, "256_unaligned_store_optimal" + + /* 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) ++ | m_ZNVER1 | m_CORE_ATOM) + + /* X86_TUNE_AVX128_OPTIMAL: Enable 128-bit AVX instruction generation for + the auto-vectorizer. */ +@@ -559,6 +575,11 @@ DEF_TUNE (X86_TUNE_AVX128_OPTIMAL, "avx128_optimal", m_BDVER | m_BTVER2 + instructions in the auto-vectorizer. */ + DEF_TUNE (X86_TUNE_AVX256_OPTIMAL, "avx256_optimal", m_CORE_AVX512) + ++/* X86_TUNE_AVX256_AVOID_VEC_PERM: Avoid using 256-bit cross-lane ++ vector permutation instructions in the auto-vectorizer. */ ++DEF_TUNE (X86_TUNE_AVX256_AVOID_VEC_PERM, ++ "avx256_avoid_vec_perm", m_CORE_ATOM) ++ + /* 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) + +--- a/src/gcc/config/loongarch/genopts/gen-evolution.awk ++++ b/src/gcc/config/loongarch/genopts/gen-evolution.awk +@@ -1,4 +1,4 @@ +-#!/usr/bin/gawk ++#!/usr/bin/awk -f + # + # A simple script that generates loongarch-evolution.h + # from genopts/isa-evolution.in +@@ -94,8 +94,9 @@ function gen_cpucfg_useful_idx() + idx_bucket[cpucfg_word[i]] = 1 + + delete idx_list ++ j = 1 + for (i in idx_bucket) +- idx_list[length(idx_list)-1] = i+0 ++ idx_list[j++] = i+0 + delete idx_bucket + + asort (idx_list) +@@ -108,7 +109,7 @@ function gen_cpucfg_useful_idx() + print "" + + printf ("static constexpr int N_CPUCFG_WORDS = %d;\n", +- idx_list[length(idx_list)] + 1) ++ idx_list[j - 1] + 1) + + delete idx_list + } +--- a/src/gcc/config/loongarch/lasx.md ++++ b/src/gcc/config/loongarch/lasx.md +@@ -1439,7 +1439,7 @@ (define_insn "lasx_xvreplgr2vr_" + "ISA_HAS_LASX" + { + if (which_alternative == 1) +- return "xvldi.b\t%u0,0" ; ++ return "xvrepli.b\t%u0,0"; + + return "xvreplgr2vr.\t%u0,%z1"; + } +--- a/src/gcc/config/loongarch/lasxintrin.h ++++ b/src/gcc/config/loongarch/lasxintrin.h +@@ -3564,11 +3564,11 @@ __m256i __lasx_xvssrln_w_d (__m256i _1, __m256i _2) + } + + /* Assembly instruction format: xd, xj, xk. */ +-/* Data types in instruction templates: V32QI, V32QI, V32QI. */ ++/* Data types in instruction templates: UV32QI, UV32QI, UV32QI. */ + extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + __m256i __lasx_xvorn_v (__m256i _1, __m256i _2) + { +- return (__m256i)__builtin_lasx_xvorn_v ((v32i8)_1, (v32i8)_2); ++ return (__m256i)__builtin_lasx_xvorn_v ((v32u8)_1, (v32u8)_2); + } + + /* Assembly instruction format: xd, i13. */ +--- a/src/gcc/config/loongarch/loongarch-builtins.cc ++++ b/src/gcc/config/loongarch/loongarch-builtins.cc +@@ -1568,7 +1568,7 @@ static const struct loongarch_builtin_description loongarch_builtins[] = { + LSX_BUILTIN (vssrln_b_h, LARCH_V16QI_FTYPE_V8HI_V8HI), + LSX_BUILTIN (vssrln_h_w, LARCH_V8HI_FTYPE_V4SI_V4SI), + LSX_BUILTIN (vssrln_w_d, LARCH_V4SI_FTYPE_V2DI_V2DI), +- LSX_BUILTIN (vorn_v, LARCH_V16QI_FTYPE_V16QI_V16QI), ++ LSX_BUILTIN (vorn_v, LARCH_UV16QI_FTYPE_UV16QI_UV16QI), + LSX_BUILTIN (vldi, LARCH_V2DI_FTYPE_HI), + LSX_BUILTIN (vshuf_b, LARCH_V16QI_FTYPE_V16QI_V16QI_V16QI), + LSX_BUILTIN (vldx, LARCH_V16QI_FTYPE_CVPOINTER_DI), +@@ -2118,7 +2118,7 @@ static const struct loongarch_builtin_description loongarch_builtins[] = { + LASX_BUILTIN (xvssrln_b_h, LARCH_V32QI_FTYPE_V16HI_V16HI), + LASX_BUILTIN (xvssrln_h_w, LARCH_V16HI_FTYPE_V8SI_V8SI), + LASX_BUILTIN (xvssrln_w_d, LARCH_V8SI_FTYPE_V4DI_V4DI), +- LASX_BUILTIN (xvorn_v, LARCH_V32QI_FTYPE_V32QI_V32QI), ++ LASX_BUILTIN (xvorn_v, LARCH_UV32QI_FTYPE_UV32QI_UV32QI), + LASX_BUILTIN (xvldi, LARCH_V4DI_FTYPE_HI), + LASX_BUILTIN (xvldx, LARCH_V32QI_FTYPE_CVPOINTER_DI), + LASX_NO_TARGET_BUILTIN (xvstx, LARCH_VOID_FTYPE_V32QI_CVPOINTER_DI), +@@ -3074,7 +3074,10 @@ loongarch_expand_builtin_lsx_test_branch (enum insn_code icode, tree exp) + ops[1].value = force_reg (ops[1].mode, ops[1].value); + + if ((cbranch = maybe_gen_insn (icode, 3, ops)) == NULL_RTX) +- error ("failed to expand built-in function"); ++ { ++ error ("failed to expand built-in function"); ++ return const0_rtx; ++ } + + cmp_result = gen_reg_rtx (SImode); + +@@ -3114,7 +3117,7 @@ loongarch_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED, + { + error_at (EXPR_LOCATION (exp), + "built-in function %qD is not enabled", fndecl); +- return target; ++ return target ? target : const0_rtx; + } + + switch (d->builtin_type) +--- a/src/gcc/config/loongarch/lsx.md ++++ b/src/gcc/config/loongarch/lsx.md +@@ -1306,7 +1306,7 @@ (define_insn "lsx_vreplgr2vr_" + "ISA_HAS_LSX" + { + if (which_alternative == 1) +- return "vldi.\t%w0,0"; ++ return "vrepli.b\t%w0,0"; + + return "vreplgr2vr.\t%w0,%z1"; + } +--- a/src/gcc/config/loongarch/lsxintrin.h ++++ b/src/gcc/config/loongarch/lsxintrin.h +@@ -4745,11 +4745,11 @@ __m128i __lsx_vssrln_w_d (__m128i _1, __m128i _2) + } + + /* Assembly instruction format: vd, vj, vk. */ +-/* Data types in instruction templates: V16QI, V16QI, V16QI. */ ++/* Data types in instruction templates: UV16QI, UV16QI, UV16QI. */ + extern __inline __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + __m128i __lsx_vorn_v (__m128i _1, __m128i _2) + { +- return (__m128i)__builtin_lsx_vorn_v ((v16i8)_1, (v16i8)_2); ++ return (__m128i)__builtin_lsx_vorn_v ((v16u8)_1, (v16u8)_2); + } + + /* Assembly instruction format: vd, i13. */ +--- a/src/gcc/config/nvptx/nvptx.cc ++++ b/src/gcc/config/nvptx/nvptx.cc +@@ -1900,7 +1900,7 @@ nvptx_expand_call (rtx retval, rtx address) + if (varargs) + XVECEXP (pat, 0, vec_pos++) = gen_rtx_USE (VOIDmode, varargs); + +- gcc_assert (vec_pos = XVECLEN (pat, 0)); ++ gcc_assert (vec_pos == XVECLEN (pat, 0)); + + nvptx_emit_forking (parallel, true); + emit_call_insn (pat); +--- a/src/gcc/config/pa/pa.cc ++++ b/src/gcc/config/pa/pa.cc +@@ -1407,6 +1407,7 @@ hppa_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, + /* If the index adds a large constant, try to scale the + constant so that it can be loaded with only one insn. */ + if (GET_CODE (XEXP (idx, 1)) == CONST_INT ++ && INTVAL (XEXP (idx, 1)) % (1 << shift_val) == 0 + && VAL_14_BITS_P (INTVAL (XEXP (idx, 1)) + / INTVAL (XEXP (XEXP (idx, 0), 1))) + && INTVAL (XEXP (idx, 1)) % INTVAL (XEXP (XEXP (idx, 0), 1)) == 0) +@@ -10982,6 +10983,7 @@ pa_legitimate_address_p (machine_mode mode, rtx x, bool strict, code_helper) + /* Long 14-bit displacements always okay for these cases. */ + if (INT14_OK_STRICT + || reload_completed ++ || (reload_in_progress && !strict) + || mode == QImode + || mode == HImode) + return true; +--- a/src/gcc/config/pa/pa.h ++++ b/src/gcc/config/pa/pa.h +@@ -480,6 +480,9 @@ extern rtx hppa_pic_save_rtx (void); + #define INDEX_REG_CLASS GENERAL_REGS + #define BASE_REG_CLASS GENERAL_REGS + ++/* True if register is a general register. */ ++#define GENERAL_REGNO_P(N) ((N) >= 1 && (N) <= 31) ++ + #define FP_REG_CLASS_P(CLASS) \ + ((CLASS) == FP_REGS || (CLASS) == FPUPPER_REGS) + +--- a/src/gcc/config/pa/pa.md ++++ b/src/gcc/config/pa/pa.md +@@ -2280,6 +2280,58 @@ (define_insn "" + (set_attr "pa_combine_type" "addmove") + (set_attr "length" "4")]) + ++; Rewrite RTL using a REG+D store. This will allow the insn that ++; computes the address to be deleted if the register it sets is dead. ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (mem:SI (match_dup 0)) ++ (match_operand:SI 3 "register_operand" ""))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) != REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (mem:SI (plus:SI (match_dup 1) (match_dup 2))) (match_dup 3)) ++ (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))] ++ "") ++ ++; Rewrite RTL using a REG+D load. This will allow the insn that ++; computes the address to be deleted if the register it sets is dead. ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (match_operand:SI 3 "register_operand" "") ++ (mem:SI (match_dup 0)))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) != REGNO (operands[3]) ++ && REGNO (operands[1]) != REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (match_dup 3) (mem:SI (plus:SI (match_dup 1) (match_dup 2)))) ++ (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))] ++ "") ++ ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (match_operand:SI 3 "register_operand" "") ++ (mem:SI (match_dup 0)))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) == REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (match_dup 3) (mem:SI (plus:SI (match_dup 1) (match_dup 2))))] ++ "") ++ + ; Rewrite RTL using an indexed store. This will allow the insn that + ; computes the address to be deleted if the register it sets is dead. + (define_peephole2 +@@ -4507,6 +4559,54 @@ (define_insn "" + (set_attr "pa_combine_type" "addmove") + (set_attr "length" "4")]) + ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (mem:SF (match_dup 0)) ++ (match_operand:SF 3 "register_operand" ""))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) != REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (mem:SF (plus:SI (match_dup 1) (match_dup 2))) (match_dup 3)) ++ (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))] ++ "") ++ ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (match_operand:SF 3 "register_operand" "") ++ (mem:SF (match_dup 0)))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) != REGNO (operands[3]) ++ && REGNO (operands[1]) != REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (match_dup 3) (mem:SF (plus:SI (match_dup 1) (match_dup 2)))) ++ (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))] ++ "") ++ ++(define_peephole2 ++ [(set (match_operand:SI 0 "register_operand" "") ++ (plus:SI (match_operand:SI 1 "register_operand" "") ++ (match_operand:SI 2 "const_int_operand" ""))) ++ (set (match_operand:SF 3 "register_operand" "") ++ (mem:SF (match_dup 0)))] ++ "!TARGET_64BIT ++ && !INT14_OK_STRICT ++ && GENERAL_REGNO_P (REGNO (operands[0])) ++ && GENERAL_REGNO_P (REGNO (operands[3])) ++ && REGNO (operands[0]) == REGNO (operands[3]) ++ && base14_operand (operands[2], E_SImode)" ++ [(set (match_dup 3) (mem:SF (plus:SI (match_dup 1) (match_dup 2))))] ++ "") ++ + (define_peephole2 + [(set (match_operand:SI 0 "register_operand" "") + (plus:SI (ashift:SI (match_operand:SI 1 "register_operand" "") +@@ -4918,7 +5018,7 @@ (define_insn "floatdidf2" + + (define_insn "fix_truncsfsi2" + [(set (match_operand:SI 0 "register_operand" "=f") +- (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] ++ (fix:SI (match_operand:SF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT" + "{fcnvfxt,sgl,sgl|fcnv,t,sgl,w} %1,%0" + [(set_attr "type" "fpalu") +@@ -4926,7 +5026,7 @@ (define_insn "fix_truncsfsi2" + + (define_insn "fix_truncdfsi2" + [(set (match_operand:SI 0 "register_operand" "=f") +- (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] ++ (fix:SI (match_operand:DF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT" + "{fcnvfxt,dbl,sgl|fcnv,t,dbl,w} %1,%0" + [(set_attr "type" "fpalu") +@@ -4934,7 +5034,7 @@ (define_insn "fix_truncdfsi2" + + (define_insn "fix_truncsfdi2" + [(set (match_operand:DI 0 "register_operand" "=f") +- (fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] ++ (fix:DI (match_operand:SF 1 "register_operand" "f")))] + "TARGET_PA_11 && ! TARGET_SOFT_FLOAT" + "{fcnvfxt,sgl,dbl|fcnv,t,sgl,dw} %1,%0" + [(set_attr "type" "fpalu") +@@ -4942,7 +5042,7 @@ (define_insn "fix_truncsfdi2" + + (define_insn "fix_truncdfdi2" + [(set (match_operand:DI 0 "register_operand" "=f") +- (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] ++ (fix:DI (match_operand:DF 1 "register_operand" "f")))] + "TARGET_PA_11 && ! TARGET_SOFT_FLOAT" + "{fcnvfxt,dbl,dbl|fcnv,t,dbl,dw} %1,%0" + [(set_attr "type" "fpalu") +@@ -4982,7 +5082,7 @@ (define_insn "floatunsdidf2" + + (define_insn "fixuns_truncsfsi2" + [(set (match_operand:SI 0 "register_operand" "=f") +- (unsigned_fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] ++ (unsigned_fix:SI (match_operand:SF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT && TARGET_PA_20" + "fcnv,t,sgl,uw %1,%0" + [(set_attr "type" "fpalu") +@@ -4990,7 +5090,7 @@ (define_insn "fixuns_truncsfsi2" + + (define_insn "fixuns_truncdfsi2" + [(set (match_operand:SI 0 "register_operand" "=f") +- (unsigned_fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] ++ (unsigned_fix:SI (match_operand:DF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT && TARGET_PA_20" + "fcnv,t,dbl,uw %1,%0" + [(set_attr "type" "fpalu") +@@ -4998,7 +5098,7 @@ (define_insn "fixuns_truncdfsi2" + + (define_insn "fixuns_truncsfdi2" + [(set (match_operand:DI 0 "register_operand" "=f") +- (unsigned_fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] ++ (unsigned_fix:DI (match_operand:SF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT && TARGET_PA_20" + "fcnv,t,sgl,udw %1,%0" + [(set_attr "type" "fpalu") +@@ -5006,7 +5106,7 @@ (define_insn "fixuns_truncsfdi2" + + (define_insn "fixuns_truncdfdi2" + [(set (match_operand:DI 0 "register_operand" "=f") +- (unsigned_fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] ++ (unsigned_fix:DI (match_operand:DF 1 "register_operand" "f")))] + "! TARGET_SOFT_FLOAT && TARGET_PA_20" + "fcnv,t,dbl,udw %1,%0" + [(set_attr "type" "fpalu") +@@ -7326,7 +7426,7 @@ (define_expand "nonlocal_goto" + }) + + (define_insn "indirect_goto" +- [(unspec [(match_operand 0 "register_operand" "=r")] UNSPEC_GOTO)] ++ [(unspec [(match_operand 0 "register_operand" "r")] UNSPEC_GOTO)] + "GET_MODE (operands[0]) == word_mode" + "bv%* %%r0(%0)" + [(set_attr "type" "branch") +@@ -9461,7 +9561,7 @@ (define_insn "decrement_and_branch_until_zero" + (pc))) + (set (match_dup 0) + (plus:SI (match_dup 0) (match_dup 1))) +- (clobber (match_scratch:SI 4 "=X,r,r"))] ++ (clobber (match_scratch:SI 4 "=X,r,&r"))] + "" + "* return pa_output_dbra (operands, insn, which_alternative); " + ;; Do not expect to understand this the first time through. +--- a/src/gcc/config/pa/pa32-regs.h ++++ b/src/gcc/config/pa/pa32-regs.h +@@ -344,7 +344,7 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FPUPPER_REGS, FP_REGS, + {"%fr16L",56}, {"%fr17L",58}, {"%fr18L",60}, {"%fr19L",62}, \ + {"%fr20L",64}, {"%fr21L",66}, {"%fr22L",68}, {"%fr23L",70}, \ + {"%fr24L",72}, {"%fr25L",74}, {"%fr26L",76}, {"%fr27L",78}, \ +- {"%fr28L",80}, {"%fr29L",82}, {"%fr30L",84}, {"%fr31R",86}, \ ++ {"%fr28L",80}, {"%fr29L",82}, {"%fr30L",84}, {"%fr31L",86}, \ + {"%cr11",88}} + + #define FP_SAVED_REG_LAST 66 +--- a/src/gcc/config/pa/predicates.md ++++ b/src/gcc/config/pa/predicates.md +@@ -285,7 +285,7 @@ (define_predicate "base14_operand" + return false; + + default: +- return (INTVAL (op) % GET_MODE_SIZE (mode)) == 0; ++ return (INTVAL (op) & (GET_MODE_SIZE (mode) - 1)) == 0; + } + + return false; +--- a/src/gcc/config/riscv/riscv-c.cc ++++ b/src/gcc/config/riscv/riscv-c.cc +@@ -59,7 +59,12 @@ riscv_pragma_intrinsic_flags_pollute (struct pragma_intrinsic_flags *flags) + riscv_zvl_flags = riscv_zvl_flags + | MASK_ZVL32B + | MASK_ZVL64B +- | MASK_ZVL128B; ++ | MASK_ZVL128B ++ | MASK_ZVL256B ++ | MASK_ZVL512B ++ | MASK_ZVL1024B ++ | MASK_ZVL2048B ++ | MASK_ZVL4096B; + + riscv_vector_elen_flags = riscv_vector_elen_flags + | MASK_VECTOR_ELEN_32 +--- a/src/gcc/config/riscv/thead.cc ++++ b/src/gcc/config/riscv/thead.cc +@@ -453,10 +453,8 @@ th_memidx_classify_address_modify (struct riscv_address_info *info, rtx x, + if (!TARGET_XTHEADMEMIDX) + return false; + +- if (!TARGET_64BIT && mode == DImode) +- return false; +- +- if (!(INTEGRAL_MODE_P (mode) && GET_MODE_SIZE (mode).to_constant () <= 8)) ++ if (GET_MODE_CLASS (mode) != MODE_INT ++ || GET_MODE_SIZE (mode).to_constant () > UNITS_PER_WORD) + return false; + + if (GET_CODE (x) != POST_MODIFY +--- a/src/gcc/config/rs6000/aix71.h ++++ b/src/gcc/config/rs6000/aix71.h +@@ -79,6 +79,7 @@ do { \ + #undef ASM_CPU_SPEC + #define ASM_CPU_SPEC \ + "%{mcpu=native: %(asm_cpu_native); \ ++ mcpu=power11: -mpwr11; \ + mcpu=power10: -mpwr10; \ + mcpu=power9: -mpwr9; \ + mcpu=power8: -mpwr8; \ +--- a/src/gcc/config/rs6000/aix72.h ++++ b/src/gcc/config/rs6000/aix72.h +@@ -79,6 +79,7 @@ do { \ + #undef ASM_CPU_SPEC + #define ASM_CPU_SPEC \ + "%{mcpu=native: %(asm_cpu_native); \ ++ mcpu=power11: -mpwr11; \ + mcpu=power10: -mpwr10; \ + mcpu=power9: -mpwr9; \ + mcpu=power8: -mpwr8; \ +--- a/src/gcc/config/rs6000/aix73.h ++++ b/src/gcc/config/rs6000/aix73.h +@@ -79,6 +79,7 @@ do { \ + #undef ASM_CPU_SPEC + #define ASM_CPU_SPEC \ + "%{mcpu=native: %(asm_cpu_native); \ ++ mcpu=power11: -mpwr11; \ + mcpu=power10: -mpwr10; \ + mcpu=power9: -mpwr9; \ + mcpu=power8: -mpwr8; \ +--- a/src/gcc/config/rs6000/amo.h ++++ b/src/gcc/config/rs6000/amo.h +@@ -46,7 +46,7 @@ enum _AMO_LD { + _AMO_LD_CS_NE = 0x10, /* Compare and Swap Not Equal. */ + _AMO_LD_INC_BOUNDED = 0x18, /* Fetch and Increment Bounded. */ + _AMO_LD_INC_EQUAL = 0x19, /* Fetch and Increment Equal. */ +- _AMO_LD_DEC_BOUNDED = 0x1A /* Fetch and Decrement Bounded. */ ++ _AMO_LD_DEC_BOUNDED = 0x1C /* Fetch and Decrement Bounded. */ + }; + + /* Implementation of the simple LWAT/LDAT operations that take one register and +--- a/src/gcc/config/rs6000/driver-rs6000.cc ++++ b/src/gcc/config/rs6000/driver-rs6000.cc +@@ -451,6 +451,7 @@ static const struct asm_name asm_names[] = { + { "power8", "-mpwr8" }, + { "power9", "-mpwr9" }, + { "power10", "-mpwr10" }, ++ { "power11", "-mpwr11" }, + { "powerpc", "-mppc" }, + { "rs64", "-mppc" }, + { "603", "-m603" }, +@@ -479,6 +480,7 @@ static const struct asm_name asm_names[] = { + { "power8", "-mpower8" }, + { "power9", "-mpower9" }, + { "power10", "-mpower10" }, ++ { "power11", "-mpower11" }, + { "a2", "-ma2" }, + { "powerpc", "-mppc" }, + { "powerpc64", "-mppc64" }, +--- a/src/gcc/config/rs6000/power10.md ++++ b/src/gcc/config/rs6000/power10.md +@@ -1,4 +1,4 @@ +-;; Scheduling description for the IBM POWER10 processor. ++;; Scheduling description for the IBM Power10 and Power11 processors. + ;; Copyright (C) 2020-2024 Free Software Foundation, Inc. + ;; + ;; Contributed by Pat Haugen (pthaugen@us.ibm.com). +@@ -97,12 +97,12 @@ (define_insn_reservation "power10-load" 4 + (eq_attr "update" "no") + (eq_attr "size" "!128") + (eq_attr "prefixed" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,LU_power10") + + (define_insn_reservation "power10-fused-load" 4 + (and (eq_attr "type" "fused_load_cmpi,fused_addis_load,fused_load_load") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10") + + (define_insn_reservation "power10-prefixed-load" 4 +@@ -110,13 +110,13 @@ (define_insn_reservation "power10-prefixed-load" 4 + (eq_attr "update" "no") + (eq_attr "size" "!128") + (eq_attr "prefixed" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10") + + (define_insn_reservation "power10-load-update" 4 + (and (eq_attr "type" "load") + (eq_attr "update" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10+SXU_power10") + + (define_insn_reservation "power10-fpload-double" 4 +@@ -124,7 +124,7 @@ (define_insn_reservation "power10-fpload-double" 4 + (eq_attr "update" "no") + (eq_attr "size" "64") + (eq_attr "prefixed" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,LU_power10") + + (define_insn_reservation "power10-prefixed-fpload-double" 4 +@@ -132,14 +132,14 @@ (define_insn_reservation "power10-prefixed-fpload-double" 4 + (eq_attr "update" "no") + (eq_attr "size" "64") + (eq_attr "prefixed" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10") + + (define_insn_reservation "power10-fpload-update-double" 4 + (and (eq_attr "type" "fpload") + (eq_attr "update" "yes") + (eq_attr "size" "64") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10+SXU_power10") + + ; SFmode loads are cracked and have additional 3 cycles over DFmode +@@ -148,27 +148,27 @@ (define_insn_reservation "power10-fpload-single" 7 + (and (eq_attr "type" "fpload") + (eq_attr "update" "no") + (eq_attr "size" "32") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10") + + (define_insn_reservation "power10-fpload-update-single" 7 + (and (eq_attr "type" "fpload") + (eq_attr "update" "yes") + (eq_attr "size" "32") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10+SXU_power10") + + (define_insn_reservation "power10-vecload" 4 + (and (eq_attr "type" "vecload") + (eq_attr "size" "!256") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,LU_power10") + + ; lxvp + (define_insn_reservation "power10-vecload-pair" 4 + (and (eq_attr "type" "vecload") + (eq_attr "size" "256") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10+SXU_power10") + + ; Store Unit +@@ -178,12 +178,12 @@ (define_insn_reservation "power10-store" 0 + (eq_attr "prefixed" "no") + (eq_attr "size" "!128") + (eq_attr "size" "!256") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,STU_power10") + + (define_insn_reservation "power10-fused-store" 0 + (and (eq_attr "type" "fused_store_store") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,STU_power10") + + (define_insn_reservation "power10-prefixed-store" 0 +@@ -191,52 +191,52 @@ (define_insn_reservation "power10-prefixed-store" 0 + (eq_attr "prefixed" "yes") + (eq_attr "size" "!128") + (eq_attr "size" "!256") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,STU_power10") + + ; Update forms have 2 cycle latency for updated addr reg + (define_insn_reservation "power10-store-update" 2 + (and (eq_attr "type" "store,fpstore") + (eq_attr "update" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,STU_power10") + + ; stxvp + (define_insn_reservation "power10-vecstore-pair" 0 + (and (eq_attr "type" "vecstore") + (eq_attr "size" "256") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,stu0_power10+stu1_power10") + + (define_insn_reservation "power10-larx" 4 + (and (eq_attr "type" "load_l") + (eq_attr "size" "!128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,LU_power10") + + ; All load quad forms + (define_insn_reservation "power10-lq" 4 + (and (eq_attr "type" "load,load_l") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,LU_power10+SXU_power10") + + (define_insn_reservation "power10-stcx" 0 + (and (eq_attr "type" "store_c") + (eq_attr "size" "!128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,STU_power10") + + ; All store quad forms + (define_insn_reservation "power10-stq" 0 + (and (eq_attr "type" "store,store_c") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,stu0_power10+stu1_power10") + + (define_insn_reservation "power10-sync" 1 + (and (eq_attr "type" "sync,isync") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,STU_power10") + + +@@ -248,7 +248,7 @@ (define_insn_reservation "power10-sync" 1 + (define_insn_reservation "power10-alu" 2 + (and (eq_attr "type" "add,exts,integer,logical,isel") + (eq_attr "prefixed" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + ; 4 cycle CR latency + (define_bypass 4 "power10-alu" +@@ -256,28 +256,28 @@ (define_bypass 4 "power10-alu" + + (define_insn_reservation "power10-fused_alu" 2 + (and (eq_attr "type" "fused_arith_logical,fused_cmp_isel,fused_carry") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + ; paddi + (define_insn_reservation "power10-paddi" 2 + (and (eq_attr "type" "add") + (eq_attr "prefixed" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + ; Rotate/shift (non-record form) + (define_insn_reservation "power10-rot" 2 + (and (eq_attr "type" "insert,shift") + (eq_attr "dot" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + ; Record form rotate/shift + (define_insn_reservation "power10-rot-compare" 3 + (and (eq_attr "type" "insert,shift") + (eq_attr "dot" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + ; 5 cycle CR latency + (define_bypass 5 "power10-rot-compare" +@@ -285,7 +285,7 @@ (define_bypass 5 "power10-rot-compare" + + (define_insn_reservation "power10-alu2" 3 + (and (eq_attr "type" "cntlz,popcnt,trap") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + ; 5 cycle CR latency + (define_bypass 5 "power10-alu2" +@@ -293,24 +293,24 @@ (define_bypass 5 "power10-alu2" + + (define_insn_reservation "power10-cmp" 2 + (and (eq_attr "type" "cmp") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + ; Treat 'two' and 'three' types as 2 or 3 way cracked + (define_insn_reservation "power10-two" 4 + (and (eq_attr "type" "two") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + (define_insn_reservation "power10-three" 6 + (and (eq_attr "type" "three") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_all_power10,EXU_power10") + + (define_insn_reservation "power10-mul" 5 + (and (eq_attr "type" "mul") + (eq_attr "dot" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + ; 4 cycle MUL->MUL latency + (define_bypass 4 "power10-mul" +@@ -319,7 +319,7 @@ (define_bypass 4 "power10-mul" + (define_insn_reservation "power10-mul-compare" 5 + (and (eq_attr "type" "mul") + (eq_attr "dot" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + ; 4 cycle MUL->MUL latency + (define_bypass 4 "power10-mul-compare" +@@ -331,13 +331,13 @@ (define_bypass 7 "power10-mul-compare" + (define_insn_reservation "power10-div" 12 + (and (eq_attr "type" "div") + (eq_attr "dot" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-div-compare" 12 + (and (eq_attr "type" "div") + (eq_attr "dot" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + ; 14 cycle CR latency + (define_bypass 14 "power10-div-compare" +@@ -345,34 +345,34 @@ (define_bypass 14 "power10-div-compare" + + (define_insn_reservation "power10-crlogical" 2 + (and (eq_attr "type" "cr_logical") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mfcrf" 2 + (and (eq_attr "type" "mfcrf") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mfcr" 3 + (and (eq_attr "type" "mfcr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + ; Should differentiate between 1 cr field and > 1 since target of > 1 cr + ; is cracked + (define_insn_reservation "power10-mtcr" 3 + (and (eq_attr "type" "mtcr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mtjmpr" 3 + (and (eq_attr "type" "mtjmpr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mfjmpr" 2 + (and (eq_attr "type" "mfjmpr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + +@@ -380,126 +380,126 @@ (define_insn_reservation "power10-mfjmpr" 2 + + (define_insn_reservation "power10-fpsimple" 3 + (and (eq_attr "type" "fpsimple") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-fp" 5 + (and (eq_attr "type" "fp,dmul") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-fpcompare" 3 + (and (eq_attr "type" "fpcompare") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-sdiv" 22 + (and (eq_attr "type" "sdiv") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-ddiv" 27 + (and (eq_attr "type" "ddiv") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-sqrt" 26 + (and (eq_attr "type" "ssqrt") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-dsqrt" 36 + (and (eq_attr "type" "dsqrt") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vec-2cyc" 2 + (and (eq_attr "type" "vecmove,veclogical,vecexts,veccmpfx") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-fused-vec" 2 + (and (eq_attr "type" "fused_vector") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + (define_insn_reservation "power10-veccmp" 3 + (and (eq_attr "type" "veccmp") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecsimple" 2 + (and (eq_attr "type" "vecsimple") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecnormal" 5 + (and (eq_attr "type" "vecfloat,vecdouble") + (eq_attr "size" "!128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-qp" 12 + (and (eq_attr "type" "vecfloat,vecdouble") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecperm" 3 + (and (eq_attr "type" "vecperm") + (eq_attr "prefixed" "no") + (eq_attr "dot" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecperm-compare" 3 + (and (eq_attr "type" "vecperm") + (eq_attr "dot" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + (define_insn_reservation "power10-prefixed-vecperm" 3 + (and (eq_attr "type" "vecperm") + (eq_attr "prefixed" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + (define_insn_reservation "power10-veccomplex" 6 + (and (eq_attr "type" "veccomplex") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecfdiv" 24 + (and (eq_attr "type" "vecfdiv") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-vecdiv" 27 + (and (eq_attr "type" "vecdiv") + (eq_attr "size" "!128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-qpdiv" 56 + (and (eq_attr "type" "vecdiv") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-qpmul" 24 + (and (eq_attr "type" "qmul") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mtvsr" 2 + (and (eq_attr "type" "mtvsr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-mfvsr" 2 + (and (eq_attr "type" "mfvsr") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + +@@ -507,26 +507,26 @@ (define_insn_reservation "power10-mfvsr" 2 + ; Branch is 2 cycles, grouped with STU for issue + (define_insn_reservation "power10-branch" 2 + (and (eq_attr "type" "jmpreg,branch") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,STU_power10") + + (define_insn_reservation "power10-fused-branch" 3 + (and (eq_attr "type" "fused_mtbc") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,STU_power10") + + + ; Crypto + (define_insn_reservation "power10-crypto" 4 + (and (eq_attr "type" "crypto") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + + ; HTM + (define_insn_reservation "power10-htm" 2 + (and (eq_attr "type" "htmsimple,htm") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + +@@ -535,26 +535,26 @@ (define_insn_reservation "power10-htm" 2 + (define_insn_reservation "power10-dfp" 12 + (and (eq_attr "type" "dfp") + (eq_attr "size" "!128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_power10") + + (define_insn_reservation "power10-dfpq" 12 + (and (eq_attr "type" "dfp") + (eq_attr "size" "128") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_power10") + + ; MMA + (define_insn_reservation "power10-mma" 9 + (and (eq_attr "type" "mma") + (eq_attr "prefixed" "no") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_any_power10,EXU_super_power10") + + (define_insn_reservation "power10-prefixed-mma" 9 + (and (eq_attr "type" "mma") + (eq_attr "prefixed" "yes") +- (eq_attr "cpu" "power10")) ++ (eq_attr "cpu" "power10,power11")) + "DU_even_power10,EXU_super_power10") + ; 4 cycle MMA->MMA latency + (define_bypass 4 "power10-mma,power10-prefixed-mma" +--- a/src/gcc/config/rs6000/ppc-auxv.h ++++ b/src/gcc/config/rs6000/ppc-auxv.h +@@ -47,9 +47,8 @@ + #define PPC_PLATFORM_PPC476 12 + #define PPC_PLATFORM_POWER8 13 + #define PPC_PLATFORM_POWER9 14 +- +-/* This is not yet official. */ + #define PPC_PLATFORM_POWER10 15 ++#define PPC_PLATFORM_POWER11 16 + + /* AT_HWCAP bits. These must match the values defined in the Linux kernel. */ + #define PPC_FEATURE_32 0x80000000 +--- a/src/gcc/config/rs6000/rs6000-builtin.cc ++++ b/src/gcc/config/rs6000/rs6000-builtin.cc +@@ -2493,6 +2493,7 @@ static const struct + const char *cpu; + unsigned int cpuid; + } cpu_is_info[] = { ++ { "power11", PPC_PLATFORM_POWER11 }, + { "power10", PPC_PLATFORM_POWER10 }, + { "power9", PPC_PLATFORM_POWER9 }, + { "power8", PPC_PLATFORM_POWER8 }, +@@ -3547,7 +3548,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, + } + + /* Check for restricted constant arguments. */ +- for (int i = 0; i < 2; i++) ++ for (size_t i = 0; i < ARRAY_SIZE (bifaddr->restr); i++) + { + switch (bifaddr->restr[i]) + { +@@ -3565,7 +3566,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, + error ("argument %d must be a literal between 0 and %d," + " inclusive", + bifaddr->restr_opnd[i], p); +- return CONST0_RTX (mode[0]); ++ return const0_rtx; + } + break; + } +@@ -3582,7 +3583,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, + " inclusive", + bifaddr->restr_opnd[i], bifaddr->restr_val1[i], + bifaddr->restr_val2[i]); +- return CONST0_RTX (mode[0]); ++ return const0_rtx; + } + break; + } +@@ -3599,7 +3600,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, + "between %d and %d, inclusive", + bifaddr->restr_opnd[i], bifaddr->restr_val1[i], + bifaddr->restr_val2[i]); +- return CONST0_RTX (mode[0]); ++ return const0_rtx; + } + break; + } +@@ -3615,7 +3616,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, + "literal %d", + bifaddr->restr_opnd[i], bifaddr->restr_val1[i], + bifaddr->restr_val2[i]); +- return CONST0_RTX (mode[0]); ++ return const0_rtx; + } + break; + } +--- a/src/gcc/config/rs6000/rs6000-builtins.def ++++ b/src/gcc/config/rs6000/rs6000-builtins.def +@@ -3885,11 +3885,11 @@ + PMXVI4GER8_INTERNAL mma_pmxvi4ger8 {mma} + + void __builtin_mma_pmxvi4ger8pp (v512 *, vuc, vuc, const int<4>, \ +- const int<4>, const int<4>); ++ const int<4>, const int<8>); + PMXVI4GER8PP nothing {mma,quad,mmaint} + + v512 __builtin_mma_pmxvi4ger8pp_internal (v512, vuc, vuc, const int<4>, \ +- const int<4>, const int<4>); ++ const int<4>, const int<8>); + PMXVI4GER8PP_INTERNAL mma_pmxvi4ger8pp {mma,quad} + + void __builtin_mma_pmxvi8ger4 (v512 *, vuc, vuc, const int<4>, \ +--- a/src/gcc/config/rs6000/rs6000-c.cc ++++ b/src/gcc/config/rs6000/rs6000-c.cc +@@ -435,6 +435,8 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags) + rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9"); + if ((flags & OPTION_MASK_POWER10) != 0) + rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR10"); ++ if ((flags & OPTION_MASK_POWER11) != 0) ++ rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR11"); + if ((flags & OPTION_MASK_SOFT_FLOAT) != 0) + rs6000_define_or_undefine_macro (define_p, "_SOFT_FLOAT"); + if ((flags & OPTION_MASK_RECIP_PRECISION) != 0) +--- a/src/gcc/config/rs6000/rs6000-cpus.def ++++ b/src/gcc/config/rs6000/rs6000-cpus.def +@@ -86,6 +86,9 @@ + | OPTION_MASK_POWER10 \ + | OTHER_POWER10_MASKS) + ++#define POWER11_MASKS_SERVER (ISA_3_1_MASKS_SERVER \ ++ | OPTION_MASK_POWER11) ++ + /* Flags that need to be turned off if -mno-vsx. */ + #define OTHER_VSX_VECTOR_MASKS (OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ + | OPTION_MASK_FLOAT128_KEYWORD \ +@@ -123,6 +126,7 @@ + | OPTION_MASK_FLOAT128_KEYWORD \ + | OPTION_MASK_FPRND \ + | OPTION_MASK_POWER10 \ ++ | OPTION_MASK_POWER11 \ + | OPTION_MASK_P10_FUSION \ + | OPTION_MASK_HTM \ + | OPTION_MASK_ISEL \ +@@ -250,6 +254,7 @@ RS6000_CPU ("power8", PROCESSOR_POWER8, MASK_POWERPC64 | ISA_2_7_MASKS_SERVER + RS6000_CPU ("power9", PROCESSOR_POWER9, MASK_POWERPC64 | ISA_3_0_MASKS_SERVER + | OPTION_MASK_HTM) + RS6000_CPU ("power10", PROCESSOR_POWER10, MASK_POWERPC64 | ISA_3_1_MASKS_SERVER) ++RS6000_CPU ("power11", PROCESSOR_POWER11, MASK_POWERPC64 | POWER11_MASKS_SERVER) + RS6000_CPU ("powerpc", PROCESSOR_POWERPC, 0) + RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64, OPTION_MASK_PPC_GFXOPT + | MASK_POWERPC64) +--- a/src/gcc/config/rs6000/rs6000-logue.cc ++++ b/src/gcc/config/rs6000/rs6000-logue.cc +@@ -3012,6 +3012,11 @@ rs6000_emit_prologue (void) + && (lookup_attribute ("no_split_stack", + DECL_ATTRIBUTES (cfun->decl)) + == NULL)); ++ /* If we are inserting ROP-protect hash instructions, disable shrink-wrap ++ until the bug where the hashst insn is emitted in the wrong location ++ is fixed. See PR101324 for details. */ ++ if (info->rop_hash_size) ++ flag_shrink_wrap = 0; + + frame_pointer_needed_indeed + = frame_pointer_needed && df_regs_ever_live_p (HARD_FRAME_POINTER_REGNUM); +--- a/src/gcc/config/rs6000/rs6000-opts.h ++++ b/src/gcc/config/rs6000/rs6000-opts.h +@@ -62,6 +62,7 @@ enum processor_type + PROCESSOR_POWER8, + PROCESSOR_POWER9, + PROCESSOR_POWER10, ++ PROCESSOR_POWER11, + + PROCESSOR_RS64A, + PROCESSOR_MPCCORE, +--- a/src/gcc/config/rs6000/rs6000-p8swap.cc ++++ b/src/gcc/config/rs6000/rs6000-p8swap.cc +@@ -2469,10 +2469,10 @@ rs6000_analyze_swaps (function *fun) + mode = V4SImode; + } + +- if (ALTIVEC_OR_VSX_VECTOR_MODE (mode) || mode == TImode) ++ if (ALTIVEC_OR_VSX_VECTOR_MODE (mode) || TI_OR_PTI_MODE (mode)) + { + insn_entry[uid].is_relevant = 1; +- if (mode == TImode || mode == V1TImode ++ if (TI_OR_PTI_MODE (mode) || mode == V1TImode + || FLOAT128_VECTOR_P (mode)) + insn_entry[uid].is_128_int = 1; + if (DF_REF_INSN_INFO (mention)) +@@ -2497,10 +2497,10 @@ rs6000_analyze_swaps (function *fun) + && ALTIVEC_OR_VSX_VECTOR_MODE (GET_MODE (SET_DEST (insn)))) + mode = GET_MODE (SET_DEST (insn)); + +- if (ALTIVEC_OR_VSX_VECTOR_MODE (mode) || mode == TImode) ++ if (ALTIVEC_OR_VSX_VECTOR_MODE (mode) || TI_OR_PTI_MODE (mode)) + { + insn_entry[uid].is_relevant = 1; +- if (mode == TImode || mode == V1TImode ++ if (TI_OR_PTI_MODE (mode) || mode == V1TImode + || FLOAT128_VECTOR_P (mode)) + insn_entry[uid].is_128_int = 1; + if (DF_REF_INSN_INFO (mention)) +--- a/src/gcc/config/rs6000/rs6000-string.cc ++++ b/src/gcc/config/rs6000/rs6000-string.cc +@@ -964,6 +964,7 @@ expand_compare_loop (rtx operands[]) + break; + case PROCESSOR_POWER9: + case PROCESSOR_POWER10: ++ case PROCESSOR_POWER11: + if (bytes_is_const) + max_bytes = 191; + else +--- a/src/gcc/config/rs6000/rs6000-tables.opt ++++ b/src/gcc/config/rs6000/rs6000-tables.opt +@@ -186,14 +186,17 @@ EnumValue + Enum(rs6000_cpu_opt_value) String(power10) Value(52) + + EnumValue +-Enum(rs6000_cpu_opt_value) String(powerpc) Value(53) ++Enum(rs6000_cpu_opt_value) String(power11) Value(53) + + EnumValue +-Enum(rs6000_cpu_opt_value) String(powerpc64) Value(54) ++Enum(rs6000_cpu_opt_value) String(powerpc) Value(54) + + EnumValue +-Enum(rs6000_cpu_opt_value) String(powerpc64le) Value(55) ++Enum(rs6000_cpu_opt_value) String(powerpc64) Value(55) + + EnumValue +-Enum(rs6000_cpu_opt_value) String(rs64) Value(56) ++Enum(rs6000_cpu_opt_value) String(powerpc64le) Value(56) ++ ++EnumValue ++Enum(rs6000_cpu_opt_value) String(rs64) Value(57) + +--- a/src/gcc/config/rs6000/rs6000.cc ++++ b/src/gcc/config/rs6000/rs6000.cc +@@ -1067,7 +1067,7 @@ struct processor_costs power9_cost = { + COSTS_N_INSNS (3), /* SF->DF convert */ + }; + +-/* Instruction costs on POWER10 processors. */ ++/* Instruction costs on Power10/Power11 processors. */ + static const + struct processor_costs power10_cost = { + COSTS_N_INSNS (2), /* mulsi */ +@@ -3424,10 +3424,6 @@ rs6000_override_options_after_change (void) + } + else if (!OPTION_SET_P (flag_cunroll_grow_size)) + flag_cunroll_grow_size = flag_peel_loops || optimize >= 3; +- +- /* If we are inserting ROP-protect instructions, disable shrink wrap. */ +- if (rs6000_rop_protect) +- flag_shrink_wrap = 0; + } + + #ifdef TARGET_USES_LINUX64_OPT +@@ -4370,7 +4366,8 @@ rs6000_option_override_internal (bool global_init_p) + generating power10 instructions. */ + if (!(rs6000_isa_flags_explicit & OPTION_MASK_P10_FUSION)) + { +- if (rs6000_tune == PROCESSOR_POWER10) ++ if (rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11) + rs6000_isa_flags |= OPTION_MASK_P10_FUSION; + else + rs6000_isa_flags &= ~OPTION_MASK_P10_FUSION; +@@ -4399,6 +4396,7 @@ rs6000_option_override_internal (bool global_init_p) + && rs6000_tune != PROCESSOR_POWER8 + && rs6000_tune != PROCESSOR_POWER9 + && rs6000_tune != PROCESSOR_POWER10 ++ && rs6000_tune != PROCESSOR_POWER11 + && rs6000_tune != PROCESSOR_PPCA2 + && rs6000_tune != PROCESSOR_CELL + && rs6000_tune != PROCESSOR_PPC476); +@@ -4413,6 +4411,7 @@ rs6000_option_override_internal (bool global_init_p) + || rs6000_tune == PROCESSOR_POWER8 + || rs6000_tune == PROCESSOR_POWER9 + || rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11 + || rs6000_tune == PROCESSOR_PPCE500MC + || rs6000_tune == PROCESSOR_PPCE500MC64 + || rs6000_tune == PROCESSOR_PPCE5500 +@@ -4712,6 +4711,7 @@ rs6000_option_override_internal (bool global_init_p) + break; + + case PROCESSOR_POWER10: ++ case PROCESSOR_POWER11: + rs6000_cost = &power10_cost; + break; + +@@ -5884,6 +5884,8 @@ rs6000_machine_from_flags (void) + flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT | OPTION_MASK_ISEL + | OPTION_MASK_ALTIVEC); + ++ if ((flags & (POWER11_MASKS_SERVER & ~ISA_3_1_MASKS_SERVER)) != 0) ++ return "power11"; + if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0) + return "power10"; + if ((flags & (ISA_3_0_MASKS_SERVER & ~ISA_2_7_MASKS_SERVER)) != 0) +@@ -10132,6 +10134,7 @@ rs6000_reassociation_width (unsigned int opc ATTRIBUTE_UNUSED, + case PROCESSOR_POWER8: + case PROCESSOR_POWER9: + case PROCESSOR_POWER10: ++ case PROCESSOR_POWER11: + if (DECIMAL_FLOAT_MODE_P (mode)) + return 1; + if (VECTOR_MODE_P (mode)) +@@ -18213,7 +18216,8 @@ rs6000_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, int cost, + + /* Separate a load from a narrower, dependent store. */ + if ((rs6000_sched_groups || rs6000_tune == PROCESSOR_POWER9 +- || rs6000_tune == PROCESSOR_POWER10) ++ || rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11) + && GET_CODE (PATTERN (insn)) == SET + && GET_CODE (PATTERN (dep_insn)) == SET + && MEM_P (XEXP (PATTERN (insn), 1)) +@@ -18252,6 +18256,7 @@ rs6000_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, int cost, + || rs6000_tune == PROCESSOR_POWER8 + || rs6000_tune == PROCESSOR_POWER9 + || rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11 + || rs6000_tune == PROCESSOR_CELL) + && recog_memoized (dep_insn) + && (INSN_CODE (dep_insn) >= 0)) +@@ -18826,6 +18831,7 @@ rs6000_issue_rate (void) + case PROCESSOR_POWER9: + return 6; + case PROCESSOR_POWER10: ++ case PROCESSOR_POWER11: + return 8; + default: + return 1; +@@ -19541,8 +19547,10 @@ rs6000_sched_reorder (FILE *dump ATTRIBUTE_UNUSED, int sched_verbose, + if (rs6000_tune == PROCESSOR_POWER6) + load_store_pendulum = 0; + +- /* Do Power10 dependent reordering. */ +- if (rs6000_tune == PROCESSOR_POWER10 && last_scheduled_insn) ++ /* Do Power10/Power11 dependent reordering. */ ++ if (last_scheduled_insn ++ && (rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11)) + power10_sched_reorder (ready, n_ready - 1); + + return rs6000_issue_rate (); +@@ -19566,8 +19574,10 @@ rs6000_sched_reorder2 (FILE *dump, int sched_verbose, rtx_insn **ready, + && recog_memoized (last_scheduled_insn) >= 0) + return power9_sched_reorder2 (ready, *pn_ready - 1); + +- /* Do Power10 dependent reordering. */ +- if (rs6000_tune == PROCESSOR_POWER10 && last_scheduled_insn) ++ /* Do Power10/Power11 dependent reordering. */ ++ if (last_scheduled_insn ++ && (rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11)) + return power10_sched_reorder (ready, *pn_ready - 1); + + return cached_can_issue_more; +@@ -22784,7 +22794,8 @@ rs6000_register_move_cost (machine_mode mode, + allocation a move within the same class might turn + out to be a nop. */ + if (rs6000_tune == PROCESSOR_POWER9 +- || rs6000_tune == PROCESSOR_POWER10) ++ || rs6000_tune == PROCESSOR_POWER10 ++ || rs6000_tune == PROCESSOR_POWER11) + ret = 3 * hard_regno_nregs (FIRST_GPR_REGNO, mode); + else + ret = 4 * hard_regno_nregs (FIRST_GPR_REGNO, mode); +@@ -24443,6 +24454,7 @@ static struct rs6000_opt_mask const rs6000_opt_masks[] = + { "float128-hardware", OPTION_MASK_FLOAT128_HW, false, true }, + { "fprnd", OPTION_MASK_FPRND, false, true }, + { "power10", OPTION_MASK_POWER10, false, true }, ++ { "power11", OPTION_MASK_POWER11, false, false }, + { "hard-dfp", OPTION_MASK_DFP, false, true }, + { "htm", OPTION_MASK_HTM, false, true }, + { "isel", OPTION_MASK_ISEL, false, true }, +--- a/src/gcc/config/rs6000/rs6000.h ++++ b/src/gcc/config/rs6000/rs6000.h +@@ -106,6 +106,7 @@ + you make changes here, make them also there. */ + #define ASM_CPU_SPEC \ + "%{mcpu=native: %(asm_cpu_native); \ ++ mcpu=power11: -mpower11; \ + mcpu=power10: -mpower10; \ + mcpu=power9: -mpower9; \ + mcpu=power8|mcpu=powerpc64le: -mpower8; \ +@@ -1004,6 +1005,8 @@ enum data_align { align_abi, align_opt, align_both }; + (ALTIVEC_VECTOR_MODE (MODE) || VSX_VECTOR_MODE (MODE) \ + || (MODE) == V2DImode || (MODE) == V1TImode) + ++#define TI_OR_PTI_MODE(mode) ((mode) == TImode || (mode) == PTImode) ++ + /* Post-reload, we can't use any new AltiVec registers, as we already + emitted the vrsave mask. */ + +--- a/src/gcc/config/rs6000/rs6000.md ++++ b/src/gcc/config/rs6000/rs6000.md +@@ -350,7 +350,7 @@ (define_attr "cpu" + ppc750,ppc7400,ppc7450, + ppc403,ppc405,ppc440,ppc476, + ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,ppce6500, +- power4,power5,power6,power7,power8,power9,power10, ++ power4,power5,power6,power7,power8,power9,power10,power11, + rs64a,mpccore,cell,ppca2,titan" + (const (symbol_ref "(enum attr_cpu) rs6000_tune"))) + +--- a/src/gcc/config/rs6000/rs6000.opt ++++ b/src/gcc/config/rs6000/rs6000.opt +@@ -585,6 +585,12 @@ Target Undocumented Var(rs6000_speculate_indirect_jumps) Init(1) Save + mpower10 + Target Undocumented Mask(POWER10) Var(rs6000_isa_flags) WarnRemoved + ++;; Users should not use -mpower11, but we need to use a bit to identify when ++;; the user changes the default cpu via #pragma GCC target("cpu=power11") ++;; and then resets it later. ++mpower11 ++Target Undocumented Mask(POWER11) Var(rs6000_isa_flags) WarnRemoved ++ + mprefixed + Target Mask(PREFIXED) Var(rs6000_isa_flags) + Generate (do not generate) prefixed memory instructions. +--- a/src/gcc/config/s390/s390-builtin-types.def ++++ b/src/gcc/config/s390/s390-builtin-types.def +@@ -221,6 +221,7 @@ DEF_FN_TYPE_2 (BT_FN_UV16QI_UCHAR_UCHAR, BT_UV16QI, BT_UCHAR, BT_UCHAR) + DEF_FN_TYPE_2 (BT_FN_UV16QI_UV16QI_INTPTR, BT_UV16QI, BT_UV16QI, BT_INTPTR) + DEF_FN_TYPE_2 (BT_FN_UV16QI_UV16QI_UCHAR, BT_UV16QI, BT_UV16QI, BT_UCHAR) + DEF_FN_TYPE_2 (BT_FN_UV16QI_UV16QI_UV16QI, BT_UV16QI, BT_UV16QI, BT_UV16QI) ++DEF_FN_TYPE_2 (BT_FN_UV16QI_UV2DI_UV2DI, BT_UV16QI, BT_UV2DI, BT_UV2DI) + DEF_FN_TYPE_2 (BT_FN_UV16QI_UV8HI_UV8HI, BT_UV16QI, BT_UV8HI, BT_UV8HI) + DEF_FN_TYPE_2 (BT_FN_UV2DI_UCHAR_UCHAR, BT_UV2DI, BT_UCHAR, BT_UCHAR) + DEF_FN_TYPE_2 (BT_FN_UV2DI_ULONGLONG_INT, BT_UV2DI, BT_ULONGLONG, BT_INT) +@@ -299,6 +300,7 @@ DEF_FN_TYPE_3 (BT_FN_UV16QI_UV16QI_UCHAR_INT, BT_UV16QI, BT_UV16QI, BT_UCHAR, BT + DEF_FN_TYPE_3 (BT_FN_UV16QI_UV16QI_UV16QI_INT, BT_UV16QI, BT_UV16QI, BT_UV16QI, BT_INT) + DEF_FN_TYPE_3 (BT_FN_UV16QI_UV16QI_UV16QI_INTPTR, BT_UV16QI, BT_UV16QI, BT_UV16QI, BT_INTPTR) + DEF_FN_TYPE_3 (BT_FN_UV16QI_UV16QI_UV16QI_UV16QI, BT_UV16QI, BT_UV16QI, BT_UV16QI, BT_UV16QI) ++DEF_FN_TYPE_3 (BT_FN_UV16QI_UV2DI_UV2DI_UV16QI, BT_UV16QI, BT_UV2DI, BT_UV2DI, BT_UV16QI) + DEF_FN_TYPE_3 (BT_FN_UV16QI_UV8HI_UV8HI_INTPTR, BT_UV16QI, BT_UV8HI, BT_UV8HI, BT_INTPTR) + DEF_FN_TYPE_3 (BT_FN_UV2DI_UV2DI_ULONGLONG_INT, BT_UV2DI, BT_UV2DI, BT_ULONGLONG, BT_INT) + DEF_FN_TYPE_3 (BT_FN_UV2DI_UV2DI_UV2DI_INT, BT_UV2DI, BT_UV2DI, BT_UV2DI, BT_INT) +--- a/src/gcc/config/s390/s390-builtins.def ++++ b/src/gcc/config/s390/s390-builtins.def +@@ -1666,6 +1666,7 @@ B_DEF (s390_vgfmb, vec_gfmsumv16qi, 0, + B_DEF (s390_vgfmh, vec_gfmsumv8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI) + B_DEF (s390_vgfmf, vec_gfmsumv4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI) + B_DEF (s390_vgfmg, vec_gfmsum_128, 0, B_VX, 0, BT_FN_UINT128_UV2DI_UV2DI) ++B_DEF (s390_vgfmg_128, vec_gfmsum_128, 0, B_VX, 0, BT_FN_UV16QI_UV2DI_UV2DI) + + OB_DEF (s390_vec_gfmsum_accum, s390_vec_gfmsum_accum_u8,s390_vec_gfmsum_accum_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI) + OB_DEF_VAR (s390_vec_gfmsum_accum_u8, s390_vgfmab, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI_UV8HI) +@@ -1676,6 +1677,7 @@ B_DEF (s390_vgfmab, vec_gfmsum_accumv16qi,0, + B_DEF (s390_vgfmah, vec_gfmsum_accumv8hi,0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI_UV4SI) + B_DEF (s390_vgfmaf, vec_gfmsum_accumv4si,0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI_UV2DI) + B_DEF (s390_vgfmag, vec_gfmsum_accum_128,0, B_VX, 0, BT_FN_UINT128_UV2DI_UV2DI_UINT128) ++B_DEF (s390_vgfmag_128, vec_gfmsum_accum_128,0, B_VX, 0, BT_FN_UV16QI_UV2DI_UV2DI_UV16QI) + + OB_DEF (s390_vec_abs, s390_vec_abs_s8, s390_vec_abs_dbl, B_VX, BT_FN_OV4SI_OV4SI) + OB_DEF_VAR (s390_vec_abs_s8, s390_vlpb, 0, 0, BT_OV_V16QI_V16QI) +--- a/src/gcc/config/s390/s390-protos.h ++++ b/src/gcc/config/s390/s390-protos.h +@@ -50,7 +50,6 @@ extern void s390_set_has_landing_pad_p (bool); + extern bool s390_hard_regno_rename_ok (unsigned int, unsigned int); + extern int s390_class_max_nregs (enum reg_class, machine_mode); + extern bool s390_return_addr_from_memory(void); +-extern rtx s390_gen_lowpart_subreg (machine_mode, rtx); + extern bool s390_fma_allowed_p (machine_mode); + #if S390_USE_TARGET_ATTRIBUTE + extern tree s390_valid_target_attribute_tree (tree args, +--- a/src/gcc/config/s390/s390.cc ++++ b/src/gcc/config/s390/s390.cc +@@ -516,31 +516,6 @@ s390_return_addr_from_memory () + return cfun_gpr_save_slot(RETURN_REGNUM) == SAVE_SLOT_STACK; + } + +-/* Generate a SUBREG for the MODE lowpart of EXPR. +- +- In contrast to gen_lowpart it will always return a SUBREG +- expression. This is useful to generate STRICT_LOW_PART +- expressions. */ +-rtx +-s390_gen_lowpart_subreg (machine_mode mode, rtx expr) +-{ +- rtx lowpart = gen_lowpart (mode, expr); +- +- /* There might be no SUBREG in case it could be applied to the hard +- REG rtx or it could be folded with a paradoxical subreg. Bring +- it back. */ +- if (!SUBREG_P (lowpart)) +- { +- machine_mode reg_mode = TARGET_ZARCH ? DImode : SImode; +- gcc_assert (REG_P (lowpart)); +- lowpart = gen_lowpart_SUBREG (mode, +- gen_rtx_REG (reg_mode, +- REGNO (lowpart))); +- } +- +- return lowpart; +-} +- + /* Return nonzero if it's OK to use fused multiply-add for MODE. */ + bool + s390_fma_allowed_p (machine_mode mode) +@@ -1884,7 +1859,7 @@ s390_canonicalize_comparison (int *code, rtx *op0, rtx *op1, + && CONST_INT_P (XEXP (*op0, 1)) + && CONST_INT_P (*op1) + && INTVAL (XEXP (*op0, 1)) == -3 +- && *code == EQ) ++ && (*code == EQ || *code == NE)) + { + if (INTVAL (*op1) == 0) + { +@@ -3577,6 +3552,18 @@ s390_mem_constraint (const char *str, rtx op) + if ((reload_completed || reload_in_progress) + ? !offsettable_memref_p (op) : !offsettable_nonstrict_memref_p (op)) + return 0; ++ /* offsettable_memref_p ensures only that any positive offset added to ++ the address forms a valid general address. For AQ and AR constraints ++ we also have to verify that the resulting displacement after adding ++ any positive offset less than the size of the object being referenced ++ is still valid. */ ++ if (str[1] == 'Q' || str[1] == 'R') ++ { ++ int o = GET_MODE_SIZE (GET_MODE (op)) - 1; ++ rtx tmp = adjust_address (op, QImode, o); ++ if (!s390_check_qrst_address (str[1], XEXP (tmp, 0), true)) ++ return 0; ++ } + return s390_check_qrst_address (str[1], XEXP (op, 0), true); + case 'B': + /* Check for non-literal-pool variants of memory constraints. */ +@@ -6982,15 +6969,21 @@ s390_expand_insv (rtx dest, rtx op1, rtx op2, rtx src) + /* Emit a strict_low_part pattern if possible. */ + if (smode_bsize == bitsize && bitpos == mode_bsize - smode_bsize) + { +- rtx low_dest = s390_gen_lowpart_subreg (smode, dest); +- rtx low_src = gen_lowpart (smode, src); +- +- switch (smode) ++ rtx low_dest = gen_lowpart (smode, dest); ++ if (SUBREG_P (low_dest) && !paradoxical_subreg_p (low_dest)) + { +- case E_QImode: emit_insn (gen_movstrictqi (low_dest, low_src)); return true; +- case E_HImode: emit_insn (gen_movstricthi (low_dest, low_src)); return true; +- case E_SImode: emit_insn (gen_movstrictsi (low_dest, low_src)); return true; +- default: break; ++ poly_int64 offset = GET_MODE_SIZE (mode) - GET_MODE_SIZE (smode); ++ rtx low_src = adjust_address (src, smode, offset); ++ switch (smode) ++ { ++ case E_QImode: emit_insn (gen_movstrictqi (low_dest, low_src)); ++ return true; ++ case E_HImode: emit_insn (gen_movstricthi (low_dest, low_src)); ++ return true; ++ case E_SImode: emit_insn (gen_movstrictsi (low_dest, low_src)); ++ return true; ++ default: break; ++ } + } + } + +@@ -8473,7 +8466,6 @@ print_operand_address (FILE *file, rtx addr) + CONST_VECTOR: Generate a bitmask for vgbm instruction. + 'x': print integer X as if it's an unsigned halfword. + 'v': print register number as vector register (v1 instead of f1). +- 'V': print the second word of a TFmode operand as vector register. + */ + + void +@@ -8666,13 +8658,13 @@ print_operand (FILE *file, rtx x, int code) + case REG: + /* Print FP regs as fx instead of vx when they are accessed + through non-vector mode. */ +- if ((code == 'v' || code == 'V') ++ if (code == 'v' + || VECTOR_NOFP_REG_P (x) + || (FP_REG_P (x) && VECTOR_MODE_P (GET_MODE (x))) + || (VECTOR_REG_P (x) + && (GET_MODE_SIZE (GET_MODE (x)) / + s390_class_max_nregs (FP_REGS, GET_MODE (x))) > 8)) +- fprintf (file, "%%v%s", reg_names[REGNO (x) + (code == 'V')] + 2); ++ fprintf (file, "%%v%s", reg_names[REGNO (x)] + 2); + else + fprintf (file, "%s", reg_names[REGNO (x)]); + break; +--- a/src/gcc/config/s390/s390.md ++++ b/src/gcc/config/s390/s390.md +@@ -241,6 +241,8 @@ (define_c_enum "unspec" [ + UNSPEC_VEC_VFMIN + UNSPEC_VEC_VFMAX + ++ UNSPEC_TF_TO_FPRX2 ++ + UNSPEC_NNPA_VCLFNHS_V8HI + UNSPEC_NNPA_VCLFNLS_V8HI + UNSPEC_NNPA_VCRNFS_V8HI +@@ -1967,12 +1969,11 @@ (define_insn_and_split "*get_tp_64" + "TARGET_ZARCH" + "#" + "&& reload_completed" +- [(set (match_dup 2) (match_dup 4)) ++ [(set (match_dup 2) (match_dup 3)) + (set (match_dup 0) (ashift:DI (match_dup 0) (const_int 32))) +- (set (strict_low_part (match_dup 3)) (match_dup 5))] ++ (set (strict_low_part (match_dup 2)) (match_dup 4))] + "operands[2] = gen_lowpart (SImode, operands[0]); +- operands[3] = s390_gen_lowpart_subreg (SImode, operands[0]); +- s390_split_access_reg (operands[1], &operands[5], &operands[4]);") ++ s390_split_access_reg (operands[1], &operands[4], &operands[3]);") + + ; Splitters for storing TLS pointer to %a0:DI. + +@@ -5061,7 +5062,7 @@ (define_insn_and_split "*zero_extendhisi2_31" + (parallel + [(set (strict_low_part (match_dup 2)) (match_dup 1)) + (clobber (reg:CC CC_REGNUM))])] +- "operands[2] = s390_gen_lowpart_subreg (HImode, operands[0]);") ++ "operands[2] = gen_lowpart (HImode, operands[0]);") + + (define_insn_and_split "*zero_extendqisi2_31" + [(set (match_operand:SI 0 "register_operand" "=&d") +@@ -5071,7 +5072,7 @@ (define_insn_and_split "*zero_extendqisi2_31" + "&& reload_completed" + [(set (match_dup 0) (const_int 0)) + (set (strict_low_part (match_dup 2)) (match_dup 1))] +- "operands[2] = s390_gen_lowpart_subreg (QImode, operands[0]);") ++ "operands[2] = gen_lowpart (QImode, operands[0]);") + + ; + ; zero_extendqihi2 instruction pattern(s). +@@ -5103,7 +5104,7 @@ (define_insn_and_split "*zero_extendqihi2_31" + "&& reload_completed" + [(set (match_dup 0) (const_int 0)) + (set (strict_low_part (match_dup 2)) (match_dup 1))] +- "operands[2] = s390_gen_lowpart_subreg (QImode, operands[0]);") ++ "operands[2] = gen_lowpart (QImode, operands[0]);") + + ; + ; fixuns_trunc(dd|td|sf|df|tf)(si|di)2 expander +--- a/src/gcc/config/s390/vecintrin.h ++++ b/src/gcc/config/s390/vecintrin.h +@@ -98,8 +98,8 @@ __lcbb(const void *ptr, int bndry) + #define vec_splat_u64 __builtin_s390_vec_splat_u64 + #define vec_splat_s64 __builtin_s390_vec_splat_s64 + #define vec_checksum __builtin_s390_vcksm +-#define vec_gfmsum_128 __builtin_s390_vgfmg +-#define vec_gfmsum_accum_128 __builtin_s390_vgfmag ++#define vec_gfmsum_128 __builtin_s390_vgfmg_128 ++#define vec_gfmsum_accum_128 __builtin_s390_vgfmag_128 + #define vec_ceil(X) __builtin_s390_vfi((X), 4, 6) + #define vec_roundp(X) __builtin_s390_vfi((X), 4, 6) + #define vec_floor(X) __builtin_s390_vfi((X), 4, 7) +--- a/src/gcc/config/s390/vector.md ++++ b/src/gcc/config/s390/vector.md +@@ -917,36 +917,45 @@ (define_insn "*vmrlg" + "vmrlg\t%0,%1,%2"; + [(set_attr "op_type" "VRR")]) + +- +-(define_insn "*tf_to_fprx2_0" +- [(set (subreg:DF (match_operand:FPRX2 0 "nonimmediate_operand" "+f") 0) +- (subreg:DF (match_operand:TF 1 "general_operand" "v") 0))] +- "TARGET_VXE" +- ; M4 == 1 corresponds to %v0[0] = %v1[0]; %v0[1] = %v0[1]; +- "vpdi\t%v0,%v1,%v0,1" +- [(set_attr "op_type" "VRR")]) +- +-(define_insn "*tf_to_fprx2_1" +- [(set (subreg:DF (match_operand:FPRX2 0 "nonimmediate_operand" "+f") 8) +- (subreg:DF (match_operand:TF 1 "general_operand" "v") 8))] ++(define_insn "tf_to_fprx2" ++ [(set (match_operand:FPRX2 0 "register_operand" "=f,f ,f") ++ (unspec:FPRX2 [(match_operand:TF 1 "general_operand" "v,AR,AT")] ++ UNSPEC_TF_TO_FPRX2))] + "TARGET_VXE" +- ; M4 == 5 corresponds to %V0[0] = %v1[1]; %V0[1] = %V0[1]; +- "vpdi\t%V0,%v1,%V0,5" +- [(set_attr "op_type" "VRR")]) +- +-(define_insn_and_split "tf_to_fprx2" +- [(set (match_operand:FPRX2 0 "nonimmediate_operand" "=f,f") +- (subreg:FPRX2 (match_operand:TF 1 "general_operand" "v,AR") 0))] +- "TARGET_VXE" +- "#" +- "!(MEM_P (operands[1]) && MEM_VOLATILE_P (operands[1]))" +- [(set (match_dup 2) (match_dup 3)) +- (set (match_dup 4) (match_dup 5))] + { +- operands[2] = simplify_gen_subreg (DFmode, operands[0], FPRX2mode, 0); +- operands[3] = simplify_gen_subreg (DFmode, operands[1], TFmode, 0); +- operands[4] = simplify_gen_subreg (DFmode, operands[0], FPRX2mode, 8); +- operands[5] = simplify_gen_subreg (DFmode, operands[1], TFmode, 8); ++ char buf[64]; ++ const char *reg_pair = reg_names[REGNO (operands[0]) + 1]; ++ switch (which_alternative) ++ { ++ case 0: ++ if (REGNO (operands[0]) == REGNO (operands[1])) ++ { ++ reg_pair += 2; // get rid of prefix %f ++ snprintf (buf, sizeof (buf), "vpdi\t%%%%v%s,%%v1,%%%%v%s,5", reg_pair, reg_pair); ++ output_asm_insn (buf, operands); ++ return ""; ++ } ++ else ++ { ++ reg_pair += 2; // get rid of prefix %f ++ snprintf (buf, sizeof (buf), "ldr\t%%f0,%%f1;vpdi\t%%%%v%s,%%v1,%%%%v%s,5", reg_pair, reg_pair); ++ output_asm_insn (buf, operands); ++ return ""; ++ } ++ case 1: ++ { ++ snprintf (buf, sizeof (buf), "ld\t%%f0,%%1;ld\t%%%s,8+%%1", reg_pair); ++ output_asm_insn (buf, operands); ++ return ""; ++ } ++ case 2: ++ { ++ snprintf (buf, sizeof (buf), "ldy\t%%f0,%%1;ldy\t%%%s,8+%%1", reg_pair); ++ output_asm_insn (buf, operands); ++ return ""; ++ } ++ default: gcc_unreachable (); ++ } + }) + + ;; VECTOR REVERSE ELEMENTS V16QI +@@ -2725,9 +2734,8 @@ (define_insn "fix_trunc2" + ; There is no instruction for rounding an extended BFP operand in a VR into + ; a signed integer, therefore copy it into a FPR pair first. + (define_expand "fix_trunctf2_vr" +- [(set (subreg:DF (match_dup 2) 0) +- (subreg:DF (match_operand:TF 1 "register_operand" "") 0)) +- (set (subreg:DF (match_dup 2) 8) (subreg:DF (match_dup 1) 8)) ++ [(set (match_dup 2) ++ (unspec:FPRX2 [(match_operand:TF 1 "register_operand")] UNSPEC_TF_TO_FPRX2)) + (parallel [(set (match_operand:GPR 0 "register_operand" "") + (fix:GPR (match_dup 2))) + (unspec:GPR [(const_int BFP_RND_TOWARD_0)] UNSPEC_ROUND) +@@ -2758,9 +2766,8 @@ (define_insn "fixuns_trunc2" + ; There is no instruction for rounding an extended BFP operand in a VR into + ; an unsigned integer, therefore copy it into a FPR pair first. + (define_expand "fixuns_trunctf2_vr" +- [(set (subreg:DF (match_dup 2) 0) +- (subreg:DF (match_operand:TF 1 "register_operand" "") 0)) +- (set (subreg:DF (match_dup 2) 8) (subreg:DF (match_dup 1) 8)) ++ [(set (match_dup 2) ++ (unspec:FPRX2 [(match_operand:TF 1 "register_operand")] UNSPEC_TF_TO_FPRX2)) + (parallel [(set (match_operand:GPR 0 "register_operand" "") + (unsigned_fix:GPR (match_dup 2))) + (unspec:GPR [(const_int BFP_RND_TOWARD_0)] UNSPEC_ROUND) +--- a/src/gcc/config/sh/sh.cc ++++ b/src/gcc/config/sh/sh.cc +@@ -12279,7 +12279,17 @@ sh_recog_treg_set_expr (rtx op, machine_mode mode) + have to capture its current state and restore it afterwards. */ + recog_data_d prev_recog_data = recog_data; + +- rtx_insn* i = make_insn_raw (gen_rtx_SET (get_t_reg_rtx (), op)); ++ /* Note we can't use insn_raw here since that increases the uid ++ and could cause debug compare differences; this insn never leaves ++ this function so create a dummy one. */ ++ rtx_insn* i = as_a (rtx_alloc (INSN)); ++ ++ INSN_UID (i) = 1; ++ PATTERN (i) = gen_rtx_SET (get_t_reg_rtx (), op); ++ INSN_CODE (i) = -1; ++ REG_NOTES (i) = NULL; ++ INSN_LOCATION (i) = curr_insn_location (); ++ BLOCK_FOR_INSN (i) = NULL; + SET_PREV_INSN (i) = NULL; + SET_NEXT_INSN (i) = NULL; + +--- a/src/gcc/config/v850/v850.opt.urls ++++ b/src/gcc/config/v850/v850.opt.urls +@@ -1,60 +1,87 @@ + ; Autogenerated by regenerate-opt-urls.py from gcc/config/v850/v850.opt and generated HTML + +-; skipping UrlSuffix for 'mapp-regs' due to finding no URLs ++mapp-regs ++UrlSuffix(gcc/V850-Options.html#index-mapp-regs-1) + +-; skipping UrlSuffix for 'mbig-switch' due to finding no URLs ++mbig-switch ++UrlSuffix(gcc/V850-Options.html#index-mbig-switch-1) + + ; skipping UrlSuffix for 'mdebug' due to finding no URLs + +-; skipping UrlSuffix for 'mdisable-callt' due to finding no URLs ++mdisable-callt ++UrlSuffix(gcc/V850-Options.html#index-mdisable-callt) + +-; skipping UrlSuffix for 'mep' due to finding no URLs ++mep ++UrlSuffix(gcc/V850-Options.html#index-mep) + +-; skipping UrlSuffix for 'mghs' due to finding no URLs ++mghs ++UrlSuffix(gcc/V850-Options.html#index-mghs) + +-; skipping UrlSuffix for 'mlong-calls' due to finding no URLs ++mlong-calls ++UrlSuffix(gcc/V850-Options.html#index-mlong-calls-7) + +-; skipping UrlSuffix for 'mprolog-function' due to finding no URLs ++mprolog-function ++UrlSuffix(gcc/V850-Options.html#index-mprolog-function) + +-; skipping UrlSuffix for 'msda=' due to finding no URLs ++msda= ++UrlSuffix(gcc/V850-Options.html#index-msda) + +-; skipping UrlSuffix for 'mspace' due to finding no URLs ++mspace ++UrlSuffix(gcc/V850-Options.html#index-mspace) + +-; skipping UrlSuffix for 'mtda=' due to finding no URLs ++mtda= ++UrlSuffix(gcc/V850-Options.html#index-mtda) + + ; skipping UrlSuffix for 'mno-strict-align' due to finding no URLs + +-; skipping UrlSuffix for 'mv850' due to finding no URLs ++mv850 ++UrlSuffix(gcc/V850-Options.html#index-mv850) + +-; skipping UrlSuffix for 'mv850e' due to finding no URLs ++mv850e ++UrlSuffix(gcc/V850-Options.html#index-mv850e) + +-; skipping UrlSuffix for 'mv850e1' due to finding no URLs ++mv850e1 ++UrlSuffix(gcc/V850-Options.html#index-mv850e1) + +-; skipping UrlSuffix for 'mv850es' due to finding no URLs ++mv850es ++UrlSuffix(gcc/V850-Options.html#index-mv850es) + +-; skipping UrlSuffix for 'mv850e2' due to finding no URLs ++mv850e2 ++UrlSuffix(gcc/V850-Options.html#index-mv850e2) + +-; skipping UrlSuffix for 'mv850e2v3' due to finding no URLs ++mv850e2v3 ++UrlSuffix(gcc/V850-Options.html#index-mv850e2v3) + +-; skipping UrlSuffix for 'mv850e3v5' due to finding no URLs ++mv850e3v5 ++UrlSuffix(gcc/V850-Options.html#index-mv850e3v5) + +-; skipping UrlSuffix for 'mv850e2v4' due to finding no URLs ++mv850e2v4 ++UrlSuffix(gcc/V850-Options.html#index-mv850e2v4) + +-; skipping UrlSuffix for 'mloop' due to finding no URLs ++mloop ++UrlSuffix(gcc/V850-Options.html#index-mloop-1) + +-; skipping UrlSuffix for 'mzda=' due to finding no URLs ++mzda= ++UrlSuffix(gcc/V850-Options.html#index-mzda) + +-; skipping UrlSuffix for 'mrelax' due to finding no URLs ++mrelax ++UrlSuffix(gcc/V850-Options.html#index-mrelax-9) + +-; skipping UrlSuffix for 'mlong-jumps' due to finding no URLs ++mlong-jumps ++UrlSuffix(gcc/V850-Options.html#index-mlong-jumps) + +-; skipping UrlSuffix for 'msoft-float' due to finding no URLs ++msoft-float ++UrlSuffix(gcc/V850-Options.html#index-msoft-float-14) + +-; skipping UrlSuffix for 'mhard-float' due to finding no URLs ++mhard-float ++UrlSuffix(gcc/V850-Options.html#index-mhard-float-9) + +-; skipping UrlSuffix for 'mrh850-abi' due to finding no URLs ++mrh850-abi ++UrlSuffix(gcc/V850-Options.html#index-mrh850-abi) + +-; skipping UrlSuffix for 'mgcc-abi' due to finding no URLs ++mgcc-abi ++UrlSuffix(gcc/V850-Options.html#index-mgcc-abi) + +-; skipping UrlSuffix for 'm8byte-align' due to finding no URLs ++m8byte-align ++UrlSuffix(gcc/V850-Options.html#index-m8byte-align) + +--- a/src/gcc/config/vax/vax.opt.urls ++++ b/src/gcc/config/vax/vax.opt.urls +@@ -1,10 +1,23 @@ + ; Autogenerated by regenerate-opt-urls.py from gcc/config/vax/vax.opt and generated HTML + +-; skipping UrlSuffix for 'mg' due to finding no URLs ++md ++UrlSuffix(gcc/VAX-Options.html#index-md) + +-; skipping UrlSuffix for 'mgnu' due to finding no URLs ++md-float ++UrlSuffix(gcc/VAX-Options.html#index-md-float) + +-; skipping UrlSuffix for 'munix' due to finding no URLs ++mg ++UrlSuffix(gcc/VAX-Options.html#index-mg) + +-; skipping UrlSuffix for 'mlra' due to finding no URLs ++mg-float ++UrlSuffix(gcc/VAX-Options.html#index-mg-float) ++ ++mgnu ++UrlSuffix(gcc/VAX-Options.html#index-mgnu) ++ ++munix ++UrlSuffix(gcc/VAX-Options.html#index-munix) ++ ++mlra ++UrlSuffix(gcc/VAX-Options.html#index-mlra-4) + +--- a/src/gcc/cp/ChangeLog ++++ b/src/gcc/cp/ChangeLog +@@ -1,3 +1,620 @@ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-02-07 Jakub Jelinek ++ ++ PR c++/115586 ++ * parser.cc (cp_parser_range_for): For name independent decls in ++ structured bindings, only push the name/binding once per ++ structured binding. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-02-07 Jakub Jelinek ++ ++ PR c++/118763 ++ * init.cc (build_new_1): Don't set CLEANUP_EH_ONLY. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-02-07 Jakub Jelinek ++ ++ PR c++/118661 ++ * constexpr.cc (potential_constant_expression_1): Don't diagnose ++ lvalue-to-rvalue conversion of volatile lvalue if it has NULLPTR_TYPE. ++ * decl2.cc (decl_maybe_constant_var_p): Return true for constexpr ++ decls with NULLPTR_TYPE even if they are volatile. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-29 Jakub Jelinek ++ ++ PR c++/118655 ++ * semantics.cc (trait_expr_value) : Return ++ false for zero-sized arrays. ++ ++2025-02-10 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-25 Jakub Jelinek ++ ++ PR c++/117827 ++ * init.cc (build_new_1): Pass address of a make_tree_vector () ++ initialized gc tree vector to build_vec_init and append ++ build_disable_temp_cleanup to init_expr from it. ++ ++2025-01-29 Marek Polacek ++ ++ Backported from master: ++ 2025-01-14 Marek Polacek ++ ++ PR c++/118047 ++ PR c++/118355 ++ * typeck2.cc (massage_init_elt): Call fold_non_dependent_init ++ unless for a CONSTRUCTOR in a template. ++ ++2025-01-28 Patrick Palka ++ ++ Backported from master: ++ 2025-01-28 Patrick Palka ++ ++ PR c++/117855 ++ * cp-tree.h (DECL_FRIEND_CONTEXT): Exclude deduction guides. ++ ++2025-01-27 Patrick Palka ++ ++ Backported from master: ++ 2025-01-16 Patrick Palka ++ ++ PR c++/107522 ++ * constraint.cc (get_normalized_constraints_from_decl): Use the ++ most general template for an explicit specialization of a ++ member template. ++ ++2025-01-24 Marek Polacek ++ ++ Backported from master: ++ 2025-01-24 Marek Polacek ++ ++ PR c++/117153 ++ * decl2.cc (build_anon_union_vars): Use FIELD for the second operand ++ of a COMPONENT_REF. ++ ++2025-01-21 Jakub Jelinek ++ ++ PR c++/118509 ++ * typeck.cc (get_member_function_from_ptrfunc): Wrap force_target_expr ++ with save_expr. ++ ++2025-01-21 Nathaniel Shead ++ ++ Backported from master: ++ 2025-01-17 Nathaniel Shead ++ ++ PR c++/118049 ++ * module.cc (trees_in::is_matching_decl): Propagate ++ FNDECL_USED_AUTO as well. ++ ++2025-01-19 Simon Martin ++ ++ Backported from master: ++ 2025-01-17 Simon Martin ++ ++ PR c++/118255 ++ * name-lookup.cc (pushdecl): Don't call check_template_shadow ++ for hidden bindings. ++ ++2025-01-17 Nathaniel Shead ++ ++ Backported from master: ++ 2025-01-17 Nathaniel Shead ++ ++ PR c++/118147 ++ * parser.cc (cp_parser_cache_defarg): Don't error when ++ CPP_PRAGMA_EOL. ++ ++2025-01-17 Simon Martin ++ ++ Backported from master: ++ 2025-01-16 Simon Martin ++ ++ PR c++/117775 ++ * decl.cc (fold_sizeof_expr): Make sure the folded result has ++ type size_type_node. ++ ++2025-01-11 Nathaniel Shead ++ ++ PR c++/114630 ++ * module.cc (trees_in::core_vals) : Chain a new node if ++ DECL_CHAIN already is set. ++ ++2025-01-09 Patrick Palka ++ ++ Backported from master: ++ 2025-01-09 Patrick Palka ++ ++ PR c++/118060 ++ * constraint.cc (tsubst_valid_expression_requirement): Don't ++ check convert_to_void during partial substitution. ++ ++2025-01-09 Patrick Palka ++ ++ Backported from master: ++ 2025-01-09 Patrick Palka ++ ++ PR c++/117925 ++ * constexpr.cc (potential_constant_expression_1) : ++ Fix check for class conversion to literal type to properly look ++ through the TREE_LIST operand of a CAST_EXPR. ++ ++2025-01-09 Patrick Palka ++ ++ Backported from master: ++ 2025-01-09 Patrick Palka ++ ++ PR c++/117925 ++ * constexpr.cc (cxx_eval_constant_expression) : ++ Relax ICE when encountering an unexpected tree code into a ++ checking ICE guarded by flag_checking. ++ ++2025-01-09 Patrick Palka ++ ++ Backported from master: ++ 2025-01-09 Patrick Palka ++ ++ PR c++/117792 ++ * pt.cc (type_dependent_expression_p): Consider the dependence ++ of the address of each template argument of a function ++ template-id. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-12-17 Marek Polacek ++ ++ PR c++/117985 ++ * init.cc (build_vec_init): Pop CLEANUP_FLAGS if we're not ++ generating the loop. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-07-01 Marek Polacek ++ ++ PR c++/115430 ++ * typeck.cc (cp_build_compound_expr): Call resolve_nondeduced_context ++ on RHS. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-09-04 Marek Polacek ++ ++ PR c++/113108 ++ * pt.cc (resolve_overloaded_unification): Call ++ maybe_instantiate_noexcept. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-09-27 Marek Polacek ++ ++ PR c++/102594 ++ * init.cc (build_vec_init): Build up a CONSTRUCTOR to signal ++ direct-initialization rather than a TREE_LIST. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-09-10 Marek Polacek ++ ++ PR c++/116369 ++ * call.cc (set_up_extended_ref_temp): Don't mark a temporary ++ TREE_READONLY if its type is TYPE_HAS_MUTABLE_P. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-08-19 Marek Polacek ++ ++ PR c++/115657 ++ * decl.cc (build_enumerator): Call maybe_fold_non_dependent_expr ++ instead of fold_non_dependent_expr. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-05-15 Marek Polacek ++ ++ PR c++/114854 ++ * call.cc (convert_like_internal) : Don't set ++ TARGET_EXPR_DIRECT_INIT_P. ++ ++2025-01-09 Marek Polacek ++ ++ Backported from master: ++ 2024-09-30 Marek Polacek ++ ++ PR c++/109859 ++ * parser.cc (cp_parser_lambda_declarator_opt): Temporarily clear ++ local_variables_forbidden_p. ++ (cp_parser_placeholder_type_specifier): Turn an assert into an ++ error. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2025-01-08 Jakub Jelinek ++ ++ PR c++/117825 ++ * typeck.cc (cp_build_function_call_vec): Don't call ++ check_function_arguments if complain doesn't have tf_warning bit set. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-17 Jakub Jelinek ++ ++ PR c++/116108 ++ * decl.cc (grokdeclarator): Pass TYYPE_MAIN_VARIANT (type) ++ rather than type to same_type_p when checking if the non-static ++ data member doesn't have current class type. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-12-11 Jakub Jelinek ++ ++ PR c++/117614 ++ * constexpr.cc (cxx_eval_store_expression): For stores to ++ DECL_ANON_UNION_VAR_P vars just continue with DECL_VALUE_EXPR ++ of it, without setting evaluated to true or full ++ cxx_eval_constant_expression. ++ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-08 Jakub Jelinek ++ ++ PR c++/117317 ++ * semantics.cc (emit_associated_thunks): Do nothing for ++ !DECL_INTERFACE_KNOWN && DECL_DEFER_OUTPUT fns. ++ ++2025-01-03 Nathaniel Shead ++ ++ Backported from master: ++ 2024-12-29 Nathaniel Shead ++ ++ PR c++/100358 ++ PR c++/115008 ++ * module.cc (elf_out::create_mapping): Fallback to ftruncate if ++ posix_fallocate fails. ++ ++2024-12-23 Patrick Palka ++ ++ Backported from master: ++ 2024-12-19 Patrick Palka ++ ++ PR c++/118069 ++ * logic.cc (dnf_size_r): Use HOST_WIDE_INT instead of int, and ++ handle overflow gracefully via add_sat_hwi and mul_sat_hwi. ++ (cnf_size_r): Likewise. ++ (dnf_size): Use HOST_WIDE_INT instead of int. ++ (cnf_size): Likewise. ++ ++2024-12-05 Simon Martin ++ ++ Backported from master: ++ 2024-12-04 Simon Martin ++ ++ PR c++/117615 ++ * constexpr.cc (cxx_eval_constant_expression): Don't reject ++ INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE. ++ ++2024-11-06 Simon Martin ++ ++ Backported from master: ++ 2024-11-05 Simon Martin ++ ++ PR c++/117158 ++ * typeck.cc (cp_build_array_ref): Only wrap array expression ++ into a SAVE_EXPR at template instantiation time. ++ ++2024-11-05 Patrick Palka ++ ++ PR c++/101463 ++ * pt.cc (type_unification_real): Avoid checking dependence of ++ a substituted default template argument if we can assume it's ++ non-dependent. ++ ++2024-11-05 Jason Merrill ++ ++ Backported from master: ++ 2024-11-05 Jason Merrill ++ ++ PR c++/116634 ++ * init.cc (can_init_array_with_p): Allow PR59465 case with ++ permerror. ++ ++2024-10-25 Jakub Jelinek ++ ++ Backported from master: ++ 2024-10-24 Jakub Jelinek ++ ++ PR c++/117259 ++ * typeck.cc (get_member_function_from_ptrfunc): Use force_target_expr ++ rather than save_expr for instance_ptr and function. Don't call it ++ for TREE_CONSTANT. ++ ++2024-10-22 Jason Merrill ++ ++ Backported from master: ++ 2024-10-22 Jason Merrill ++ ++ PR c++/117107 ++ PR c++/92687 ++ * decl.cc (lookup_decomp_type): Handle null table. ++ ++2024-10-22 Nathaniel Shead ++ ++ Backported from master: ++ 2024-05-24 Nathaniel Shead ++ ++ PR c++/116929 ++ * tree.cc (no_linkage_check): Anonymous types can't be accessed ++ in a different TU. ++ ++2024-10-17 Patrick Palka ++ ++ Backported from master: ++ 2024-10-15 Patrick Palka ++ ++ PR c++/117054 ++ * pt.cc (extract_locals_r): Disable tree_extra_args assert ++ for LAMBDA_EXPR. ++ ++2024-10-17 Marek Polacek ++ ++ Backported from master: ++ 2024-08-28 Marek Polacek ++ ++ PR c++/116476 ++ * call.cc (maybe_init_list_as_array): Try convert_like and see if it ++ worked. ++ ++2024-10-17 Marek Polacek ++ ++ Backported from master: ++ 2024-08-28 Marek Polacek ++ ++ PR c++/116424 ++ * typeck2.cc (process_init_constructor_record): Move the clearing of ++ TARGET_EXPR_ELIDING_P down. ++ ++2024-10-13 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-13 Jakub Jelinek ++ ++ PR c++/116678 ++ * optimize.cc: Include decl.h. ++ (maybe_thunk_body): Temporarily change deprecated_state to ++ UNAVAILABLE_DEPRECATED_SUPPRESS. ++ ++2024-10-01 Jason Merrill ++ ++ PR c++/115361 ++ * call.cc (do_warn_dangling_reference): Check is_empty_class. ++ ++2024-10-01 Marek Polacek ++ ++ PR c++/115987 ++ * call.cc (do_warn_dangling_reference): Don't consider a ++ temporary with a scalar type that cannot bind to the return type. ++ ++2024-09-20 Patrick Palka ++ ++ Backported from master: ++ 2024-09-12 Patrick Palka ++ ++ PR c++/116418 ++ * tree.cc (strip_typedefs_expr) : Replace ++ this error path with ... ++ : ... this, returning the original tree. ++ ++2024-09-20 Patrick Palka ++ ++ PR c++/116492 ++ DR 2789 ++ * call.cc (cand_parms_match): Return false for constructors that ++ come from different classes. ++ ++2024-09-17 Marek Polacek ++ ++ Backported from master: ++ 2024-09-17 Marek Polacek ++ ++ PR c++/116676 ++ * constexpr.cc (maybe_warn_about_constant_value): Check DECL_NAME. ++ ++2024-09-12 Marek Polacek ++ ++ Backported from master: ++ 2024-09-12 Marek Polacek ++ ++ PR c++/96097 ++ * pt.cc (coerce_template_template_parm): Increment ++ processing_template_decl before calling tsubst. ++ ++2024-09-12 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-12 Jakub Jelinek ++ ++ PR c++/116636 ++ * method.cc: Include decl.h. ++ (use_thunk): Temporarily change deprecated_state to ++ UNAVAILABLE_DEPRECATED_SUPPRESS. ++ ++2024-09-12 Jakub Jelinek ++ ++ Backported from master: ++ 2024-09-10 Jakub Jelinek ++ ++ PR c++/116449 ++ * typeck.cc (get_member_function_from_ptrfunc): Use save_expr ++ on instance_ptr and function even if it doesn't have side-effects, ++ as long as it isn't a decl. ++ ++2024-09-08 Patrick Palka ++ ++ Backported from master: ++ 2024-08-15 Patrick Palka ++ ++ PR c++/116320 ++ * semantics.cc (check_accessibility_of_qualified_id): Try ++ currently_open_class when using the object type as the ++ effective qualifying type. ++ ++2024-09-08 Patrick Palka ++ ++ Backported from master: ++ 2024-08-10 Patrick Palka ++ ++ PR c++/116276 ++ * call.cc (joust): Implement P2582R1 inherited vs non-inherited ++ guide tiebreaker. ++ * cp-tree.h (lang_decl_fn::context): Document usage in ++ deduction_guide_p FUNCTION_DECLs. ++ (inherited_guide_p): Declare. ++ * pt.cc (inherited_guide_p): Define. ++ (set_inherited_guide_context): Define. ++ (alias_ctad_tweaks): Use set_inherited_guide_context. ++ (inherited_ctad_tweaks): Recognize some inherited constructors ++ whose scope is a TYPENAME_TYPE. ++ (ctor_deduction_guides_for): For C++23 inherited CTAD, iterate ++ over TYPE_FIELDS instead of CLASSTYPE_CONSTRUCTORS to recognize ++ all inherited constructors. ++ ++2024-09-07 Patrick Palka ++ ++ PR c++/116567 ++ * pt.cc (tsubst_lambda_expr): For a deferred-substitution lambda, ++ trim the augmented template arguments to match the template depth ++ of the lambda. ++ ++2024-09-05 Marek Polacek ++ ++ Backported from master: ++ 2024-09-05 Marek Polacek ++ ++ PR c++/116606 ++ * decl2.cc (mark_vtable_entries): Temporarily override deprecated_state to ++ UNAVAILABLE_DEPRECATED_SUPPRESS. Remove a warning_sentinel. ++ ++2024-08-19 Marek Polacek ++ ++ Backported from master: ++ 2024-08-19 Marek Polacek ++ ++ PR c++/116384 ++ * pt.cc (tsubst_expr) : Bail if tsubst ++ returns error_mark_node. ++ ++2024-08-15 Patrick Palka ++ ++ Backported from master: ++ 2024-08-15 Patrick Palka ++ ++ PR c++/116327 ++ PR c++/104981 ++ PR c++/115550 ++ * coroutines.cc (morph_fn_to_coro): Use build_fold_indirect_ref ++ instead of cp_build_fold_indirect_ref. ++ ++2024-08-06 Jason Merrill ++ ++ Backported from master: ++ 2024-08-06 Jason Merrill ++ ++ PR c++/116223 ++ PR c++/112632 ++ * pt.cc (deducible_expression): Also look through ++ IMPLICIT_CONV_EXPR_FORCED. ++ (unify): Likewise. ++ ++2024-08-06 Jason Merrill ++ ++ Backported from master: ++ 2024-07-24 Jason Merrill ++ ++ PR c++/116071 ++ * parser.cc (cp_parser_simple_type_specifier): Call ++ cp_parser_simulate_error if nothing worked. ++ ++2024-08-02 Patrick Palka ++ ++ Backported from master: ++ 2024-07-29 Patrick Palka ++ ++ PR c++/88313 ++ * parser.cc (cp_parser_lambda_declarator_opt): Pass ++ lambda_p=true to cp_parser_parameter_declaration_clause. ++ (cp_parser_direct_declarator): Pass lambda_p=false to ++ to cp_parser_parameter_declaration_clause. ++ (cp_parser_parameter_declaration_clause): Add bool lambda_p ++ parameter. Consider lambda_p instead of current_class_type ++ when setting parser->auto_is_implicit_function_template_parm_p. ++ Don't consider processing_template_parmlist. ++ (cp_parser_requirement_parameter_list): Pass lambda_p=false ++ to cp_parser_parameter_declaration_clause. ++ ++2024-08-02 Patrick Palka ++ ++ Backported from master: ++ 2024-07-25 Patrick Palka ++ ++ PR c++/115897 ++ * tree.cc (strip_typedefs): Move up the typedef recursion case. ++ Never strip a dependent alias template-id that has dependent ++ attributes. ++ ++2024-08-02 Patrick Palka ++ ++ Backported from master: ++ 2024-07-23 Patrick Palka ++ ++ PR c++/115656 ++ * constraint.cc (weakly_subsumes): Pass in_decl=tmpl to ++ get_normalized_constraints_from_info. Rename to ... ++ (ttp_subsumes): ... this. ++ * cp-tree.h (weakly_subsumes): Rename to ... ++ (ttp_subsumes): ... this. ++ * pt.cc (is_compatible_template_arg): Adjust after renaming. ++ ++2024-08-02 Patrick Palka ++ ++ Backported from master: ++ 2024-07-23 Patrick Palka ++ ++ PR c++/115296 ++ * pt.cc (alias_ctad_tweaks): Use complain=tf_none instead of ++ tf_warning_or_error. ++ ++2024-08-02 Patrick Palka ++ ++ Backported from master: ++ 2024-07-18 Patrick Palka ++ ++ PR c++/112288 ++ * pt.cc (tsubst_friend_function): When adjusting existing ++ specializations after defining a previously declared template ++ friend, consider the most general template and correct ++ DECL_TI_ARGS adjustment. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/cp/call.cc ++++ b/src/gcc/cp/call.cc +@@ -4318,6 +4318,7 @@ maybe_init_list_as_array (tree elttype, tree init) + /* Check with a stub expression to weed out special cases, and check whether + we call the same function for direct-init as copy-list-init. */ + conversion_obstack_sentinel cos; ++ init_elttype = cp_build_qualified_type (init_elttype, TYPE_QUAL_CONST); + tree arg = build_stub_object (init_elttype); + conversion *c = implicit_conversion (elttype, init_elttype, arg, false, + LOOKUP_NORMAL, tf_none); +@@ -4325,6 +4326,10 @@ maybe_init_list_as_array (tree elttype, tree init) + c = next_conversion (c); + if (!c || c->kind != ck_user) + return NULL_TREE; ++ /* Check that we actually can perform the conversion. */ ++ if (convert_like (c, arg, tf_none) == error_mark_node) ++ /* Let the normal code give the error. */ ++ return NULL_TREE; + + tree first = CONSTRUCTOR_ELT (init, 0)->value; + conversion *fc = implicit_conversion (elttype, init_elttype, first, false, +@@ -4357,7 +4362,6 @@ maybe_init_list_as_array (tree elttype, tree init) + if (!is_xible (INIT_EXPR, elttype, copy_argtypes)) + return NULL_TREE; + +- init_elttype = cp_build_qualified_type (init_elttype, TYPE_QUAL_CONST); + tree arr = build_array_of_n_type (init_elttype, CONSTRUCTOR_NELTS (init)); + arr = finish_compound_literal (arr, init, tf_none); + DECL_MERGEABLE (TARGET_EXPR_SLOT (arr)) = true; +@@ -8598,16 +8602,12 @@ convert_like_internal (conversion *convs, tree expr, tree fn, int argnum, + && TYPE_HAS_DEFAULT_CONSTRUCTOR (totype) + && !processing_template_decl) + { +- bool direct = CONSTRUCTOR_IS_DIRECT_INIT (expr); + if (abstract_virtuals_error (NULL_TREE, totype, complain)) + return error_mark_node; + expr = build_value_init (totype, complain); + expr = get_target_expr (expr, complain); + if (expr != error_mark_node) +- { +- TARGET_EXPR_LIST_INIT_P (expr) = true; +- TARGET_EXPR_DIRECT_INIT_P (expr) = direct; +- } ++ TARGET_EXPR_LIST_INIT_P (expr) = true; + return expr; + } + +@@ -12826,6 +12826,14 @@ cand_parms_match (z_candidate *c1, z_candidate *c2, pmatch match_kind) + && DECL_FUNCTION_MEMBER_P (fn2))) + /* Early escape. */; + ++ else if ((DECL_INHERITED_CTOR (fn1) || DECL_INHERITED_CTOR (fn2)) ++ && (DECL_CONTEXT (strip_inheriting_ctors (fn1)) ++ != DECL_CONTEXT (strip_inheriting_ctors (fn2)))) ++ /* This should really be checked for all member functions as per ++ CWG2789, but for GCC 14 we check this only for constructors since ++ without r15-3740 doing so would result in inconsistent handling ++ of object parameters (such as in concepts-memfun4.C). */ ++ return false; + /* CWG2789 is not adequate, it should specify corresponding object + parameters, not same typed object parameters. */ + else if (!object_parms_correspond (c1, fn1, c2, fn2)) +@@ -13226,10 +13234,35 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn, + else if (cand2->rewritten ()) + return 1; + +- /* F1 is generated from a deduction-guide (13.3.1.8) and F2 is not */ + if (deduction_guide_p (cand1->fn)) + { + gcc_assert (deduction_guide_p (cand2->fn)); ++ ++ /* F1 and F2 are generated from class template argument deduction for a ++ class D, and F2 is generated from inheriting constructors from a base ++ class of D while F1 is not, and for each explicit function argument, ++ the corresponding parameters of F1 and F2 are either both ellipses or ++ have the same type. */ ++ bool inherited1 = inherited_guide_p (cand1->fn); ++ bool inherited2 = inherited_guide_p (cand2->fn); ++ if (int diff = inherited2 - inherited1) ++ { ++ for (i = 0; i < len; ++i) ++ { ++ conversion *t1 = cand1->convs[i + off1]; ++ conversion *t2 = cand2->convs[i + off2]; ++ /* ??? It seems the ellipses part of this tiebreaker isn't ++ needed since a mismatch should have broken the tie earlier ++ during ICS comparison. */ ++ gcc_checking_assert (t1->ellipsis_p == t2->ellipsis_p); ++ if (!same_type_p (t1->type, t2->type)) ++ break; ++ } ++ if (i == len) ++ return diff; ++ } ++ ++ /* F1 is generated from a deduction-guide (13.3.1.8) and F2 is not */ + /* We distinguish between candidates from an explicit deduction guide and + candidates built from a constructor based on DECL_ARTIFICIAL. */ + int art1 = DECL_ARTIFICIAL (cand1->fn); +@@ -13872,7 +13905,9 @@ set_up_extended_ref_temp (tree decl, tree expr, vec **cleanups, + init = cp_fully_fold (init); + if (TREE_CONSTANT (init)) + { +- if (literal_type_p (type) && CP_TYPE_CONST_NON_VOLATILE_P (type)) ++ if (literal_type_p (type) ++ && CP_TYPE_CONST_NON_VOLATILE_P (type) ++ && !TYPE_HAS_MUTABLE_P (type)) + { + /* 5.19 says that a constant expression can include an + lvalue-rvalue conversion applied to "a glvalue of literal type +@@ -14255,8 +14290,20 @@ do_warn_dangling_reference (tree expr, bool arg_p) + /* Recurse to see if the argument is a temporary. It could also + be another call taking a temporary and returning it and + initializing this reference parameter. */ +- if (do_warn_dangling_reference (arg, /*arg_p=*/true)) +- return expr; ++ if ((arg = do_warn_dangling_reference (arg, /*arg_p=*/true))) ++ { ++ /* If we know the temporary could not bind to the return type, ++ don't warn. This is for scalars and empty classes only ++ because for other classes we can't be sure we are not ++ returning its sub-object. */ ++ if ((SCALAR_TYPE_P (TREE_TYPE (arg)) ++ || is_empty_class (TREE_TYPE (arg))) ++ && TYPE_REF_P (rettype) ++ && !reference_related_p (TREE_TYPE (rettype), ++ TREE_TYPE (arg))) ++ continue; ++ return expr; ++ } + /* Don't warn about member functions like: + std::any a(...); + S& s = a.emplace({0}, 0); +--- a/src/gcc/cp/constexpr.cc ++++ b/src/gcc/cp/constexpr.cc +@@ -6326,6 +6326,14 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, + object = probe; + else + { ++ tree pvar = tree_strip_any_location_wrapper (probe); ++ if (VAR_P (pvar) && DECL_ANON_UNION_VAR_P (pvar)) ++ { ++ /* Stores to DECL_ANON_UNION_VAR_P var are allowed to change ++ active union member. */ ++ probe = DECL_VALUE_EXPR (pvar); ++ break; ++ } + probe = cxx_eval_constant_expression (ctx, probe, vc_glvalue, + non_constant_p, overflow_p); + evaluated = true; +@@ -7225,6 +7233,7 @@ maybe_warn_about_constant_value (location_t loc, tree decl) + && warn_interference_size + && !OPTION_SET_P (param_destruct_interfere_size) + && DECL_CONTEXT (decl) == std_node ++ && DECL_NAME (decl) + && id_equal (DECL_NAME (decl), "hardware_destructive_interference_size") + && (LOCATION_FILE (input_location) != main_input_filename + || module_exporting_p ()) +@@ -8253,6 +8262,12 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t, + return t; + } + } ++ else if (TYPE_PTR_P (type) ++ && TREE_CODE (TREE_TYPE (type)) == METHOD_TYPE) ++ /* INTEGER_CST with pointer-to-method type is only used ++ for a virtual method in a pointer to member function. ++ Don't reject those. */ ++ ; + else + { + /* This detects for example: +@@ -8611,7 +8626,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t, + error_at (EXPR_LOCATION (t), + "statement is not a constant expression"); + } +- else ++ else if (flag_checking) + internal_error ("unexpected expression %qE of kind %s", t, + get_tree_code_name (TREE_CODE (t))); + *non_constant_p = true; +@@ -9582,7 +9597,8 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, + return true; + + if (TREE_THIS_VOLATILE (t) && want_rval +- && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (t))) ++ && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (t)) ++ && !NULLPTR_TYPE_P (TREE_TYPE (t))) + { + if (flags & tf_error) + constexpr_error (loc, fundef_p, "lvalue-to-rvalue conversion of " +@@ -10264,9 +10280,14 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, + && (dependent_type_p (TREE_TYPE (t)) + || !COMPLETE_TYPE_P (TREE_TYPE (t)) + || literal_type_p (TREE_TYPE (t))) +- && TREE_OPERAND (t, 0)) +- { +- tree type = TREE_TYPE (TREE_OPERAND (t, 0)); ++ && TREE_OPERAND (t, 0) ++ && (TREE_CODE (t) != CAST_EXPR ++ || !TREE_CHAIN (TREE_OPERAND (t, 0)))) ++ { ++ tree from = TREE_OPERAND (t, 0); ++ if (TREE_CODE (t) == CAST_EXPR) ++ from = TREE_VALUE (from); ++ tree type = TREE_TYPE (from); + /* If this is a dependent type, it could end up being a class + with conversions. */ + if (type == NULL_TREE || WILDCARD_TYPE_P (type)) +--- a/src/gcc/cp/constraint.cc ++++ b/src/gcc/cp/constraint.cc +@@ -970,11 +970,19 @@ get_normalized_constraints_from_decl (tree d, bool diag = false) + accepting the latter causes the template parameter level of U + to be reduced in a way that makes it overly difficult substitute + concrete arguments (i.e., eventually {int, int} during satisfaction. */ +- if (tmpl) +- { +- if (DECL_LANG_SPECIFIC(tmpl) && !DECL_TEMPLATE_SPECIALIZATION (tmpl)) +- tmpl = most_general_template (tmpl); +- } ++ if (tmpl && DECL_LANG_SPECIFIC (tmpl) ++ && (!DECL_TEMPLATE_SPECIALIZATION (tmpl) ++ /* DECL_TEMPLATE_SPECIALIZATION means TMPL is either a partial ++ specialization, or an explicit specialization of a member ++ template. In the former case all is well: TMPL's constraints ++ are in terms of its parameters. But in the latter case TMPL's ++ parameters are partially instantiated whereas its constraints ++ aren't, so we need to instead use (the parameters of) the most ++ general template. The following test distinguishes between a ++ partial specialization and such an explicit specialization. */ ++ || (TMPL_PARMS_DEPTH (DECL_TEMPLATE_PARMS (tmpl)) ++ < TMPL_ARGS_DEPTH (DECL_TI_ARGS (tmpl))))) ++ tmpl = most_general_template (tmpl); + + d = tmpl ? tmpl : decl; + +@@ -1993,7 +2001,9 @@ tsubst_valid_expression_requirement (tree t, tree args, sat_info info) + { + tsubst_flags_t quiet = info.complain & ~tf_warning_or_error; + tree r = tsubst_expr (t, args, quiet, info.in_decl); +- if (convert_to_void (r, ICV_STATEMENT, quiet) != error_mark_node) ++ if (r != error_mark_node ++ && (processing_template_decl ++ || convert_to_void (r, ICV_STATEMENT, quiet) != error_mark_node)) + return r; + + if (info.diagnose_unsatisfaction_p ()) +@@ -3610,13 +3620,14 @@ strictly_subsumes (tree ci, tree tmpl) + return subsumes (n1, n2) && !subsumes (n2, n1); + } + +-/* Returns true when the constraints in CI subsume the +- associated constraints of TMPL. */ ++/* Returns true when the template template parameter constraints in CI ++ subsume the associated constraints of the template template argument ++ TMPL. */ + + bool +-weakly_subsumes (tree ci, tree tmpl) ++ttp_subsumes (tree ci, tree tmpl) + { +- tree n1 = get_normalized_constraints_from_info (ci, NULL_TREE); ++ tree n1 = get_normalized_constraints_from_info (ci, tmpl); + tree n2 = get_normalized_constraints_from_decl (tmpl); + + return subsumes (n1, n2); +--- a/src/gcc/cp/coroutines.cc ++++ b/src/gcc/cp/coroutines.cc +@@ -4618,7 +4618,9 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer) + if (parm_i->this_ptr || parm_i->lambda_cobj) + { + /* We pass a reference to *this to the allocator lookup. */ +- tree this_ref = cp_build_fold_indirect_ref (arg); ++ /* It's unsafe to use the cp_ version here since current_class_ref ++ might've gotten clobbered earlier during rewrite_param_uses. */ ++ tree this_ref = build_fold_indirect_ref (arg); + vec_safe_push (args, this_ref); + } + else +@@ -4838,7 +4840,9 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer) + if (parm.this_ptr || parm.lambda_cobj) + { + /* We pass a reference to *this to the param preview. */ +- tree this_ref = cp_build_fold_indirect_ref (arg); ++ /* It's unsafe to use the cp_ version here since current_class_ref ++ might've gotten clobbered earlier during rewrite_param_uses. */ ++ tree this_ref = build_fold_indirect_ref (arg); + vec_safe_push (promise_args, this_ref); + } + else if (parm.rv_ref) +--- a/src/gcc/cp/cp-tree.h ++++ b/src/gcc/cp/cp-tree.h +@@ -2981,9 +2981,10 @@ struct GTY(()) lang_decl_fn { + 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). */ ++ For a DECL_CONSTRUCTOR_P or deduction_guide_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 +@@ -3574,7 +3575,8 @@ struct GTY(()) lang_decl { + 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)) \ ++ && !DECL_CONSTRUCTOR_P (NODE) \ ++ && (cxx_dialect < cxx23 || !deduction_guide_p (NODE))) \ + ? LANG_DECL_FN_CHECK (NODE)->context \ + : NULL_TREE) + +@@ -7651,6 +7653,7 @@ 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 bool inherited_guide_p (const_tree); + extern void store_explicit_specifier (tree, tree); + extern tree lookup_explicit_specifier (tree); + extern tree lookup_imported_hidden_friend (tree); +@@ -8606,7 +8609,7 @@ 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 bool ttp_subsumes (tree, tree); + extern int more_constrained (tree, tree); + extern bool at_least_as_constrained (tree, tree); + extern bool constraints_equivalent_p (tree, tree); +--- a/src/gcc/cp/decl.cc ++++ b/src/gcc/cp/decl.cc +@@ -9271,8 +9271,9 @@ static GTY((cache)) decl_tree_cache_map *decomp_type_table; + tree + lookup_decomp_type (tree v) + { +- if (tree *slot = decomp_type_table->get (v)) +- return *slot; ++ if (decomp_type_table) ++ if (tree *slot = decomp_type_table->get (v)) ++ return *slot; + return NULL_TREE; + } + +@@ -11501,6 +11502,7 @@ fold_sizeof_expr (tree t) + false, false); + if (r == error_mark_node) + r = size_one_node; ++ r = cp_fold_convert (size_type_node, r); + return r; + } + +@@ -14791,7 +14793,8 @@ grokdeclarator (const cp_declarator *declarator, + } + else if (!staticp + && ((current_class_type +- && same_type_p (type, current_class_type)) ++ && same_type_p (TYPE_MAIN_VARIANT (type), ++ current_class_type)) + || (!dependent_type_p (type) + && !COMPLETE_TYPE_P (complete_type (type)) + && (!complete_or_array_type_p (type) +@@ -17383,9 +17386,15 @@ build_enumerator (tree name, tree value, tree enumtype, tree attributes, + tree type; + + /* scalar_constant_value will pull out this expression, so make sure +- it's folded as appropriate. */ ++ it's folded as appropriate. ++ ++ Creating a TARGET_EXPR in a template breaks when substituting, and ++ here we would create it for instance when using a class prvalue with ++ a user-defined conversion function. So don't use such a tree. We ++ instantiate VALUE here to get errors about bad enumerators even in ++ a template that does not get instantiated. */ + if (processing_template_decl) +- value = fold_non_dependent_expr (value); ++ value = maybe_fold_non_dependent_expr (value); + + /* If the VALUE was erroneous, pretend it wasn't there; that will + result in the enum being assigned the next value in sequence. */ +--- a/src/gcc/cp/decl2.cc ++++ b/src/gcc/cp/decl2.cc +@@ -1951,7 +1951,7 @@ build_anon_union_vars (tree type, tree object) + + if (processing_template_decl) + ref = build_min_nt_loc (UNKNOWN_LOCATION, COMPONENT_REF, object, +- DECL_NAME (field), NULL_TREE); ++ field, NULL_TREE); + else + ref = build_class_member_access_expr (object, field, NULL_TREE, + false, tf_warning_or_error); +@@ -2172,7 +2172,8 @@ static void + mark_vtable_entries (tree decl, vec &consteval_vtables) + { + /* It's OK for the vtable to refer to deprecated virtual functions. */ +- warning_sentinel w(warn_deprecated_decl); ++ auto du = make_temp_override (deprecated_state, ++ UNAVAILABLE_DEPRECATED_SUPPRESS); + + bool consteval_seen = false; + +@@ -4649,7 +4650,8 @@ decl_maybe_constant_var_p (tree decl) + tree type = TREE_TYPE (decl); + if (!VAR_P (decl)) + return false; +- if (DECL_DECLARED_CONSTEXPR_P (decl) && !TREE_THIS_VOLATILE (decl)) ++ if (DECL_DECLARED_CONSTEXPR_P (decl) ++ && (!TREE_THIS_VOLATILE (decl) || NULLPTR_TYPE_P (type))) + return true; + if (DECL_HAS_VALUE_EXPR_P (decl)) + /* A proxy isn't constant. */ +--- a/src/gcc/cp/init.cc ++++ b/src/gcc/cp/init.cc +@@ -962,7 +962,9 @@ can_init_array_with_p (tree type, tree init) + return true; + } + +- return false; ++ permerror (input_location, "array must be initialized " ++ "with a brace-enclosed initializer"); ++ return true; + } + + /* Initialize MEMBER, a FIELD_DECL, with INIT, a TREE_LIST of +@@ -3691,6 +3693,11 @@ build_new_1 (vec **placement, tree type, tree nelts, + error ("parenthesized initializer in array new"); + return error_mark_node; + } ++ ++ /* Collect flags for disabling subobject cleanups once the complete ++ object is fully constructed. */ ++ vec *flags = make_tree_vector (); ++ + init_expr + = build_vec_init (data_addr, + cp_build_binary_op (input_location, +@@ -3700,7 +3707,17 @@ build_new_1 (vec **placement, tree type, tree nelts, + vecinit, + explicit_value_init_p, + /*from_array=*/0, +- complain); ++ complain, ++ &flags); ++ ++ for (tree f : flags) ++ { ++ tree cl = build_disable_temp_cleanup (f); ++ cl = convert_to_void (cl, ICV_STATEMENT, complain); ++ init_expr = build2 (COMPOUND_EXPR, void_type_node, ++ init_expr, cl); ++ } ++ release_tree_vector (flags); + } + else + { +@@ -3809,7 +3826,6 @@ build_new_1 (vec **placement, tree type, tree nelts, + tree end, sentry, begin; + + begin = get_target_expr (boolean_true_node); +- CLEANUP_EH_ONLY (begin) = 1; + + sentry = TARGET_EXPR_SLOT (begin); + +@@ -4917,7 +4933,13 @@ build_vec_init (tree base, tree maxindex, tree init, + if (xvalue) + from = move (from); + if (direct_init) +- from = build_tree_list (NULL_TREE, from); ++ { ++ /* Wrap the initializer in a CONSTRUCTOR so that ++ build_vec_init recognizes it as direct-initialization. */ ++ from = build_constructor_single (init_list_type_node, ++ NULL_TREE, from); ++ CONSTRUCTOR_IS_DIRECT_INIT (from) = true; ++ } + } + else + from = NULL_TREE; +@@ -5054,6 +5076,15 @@ build_vec_init (tree base, tree maxindex, tree init, + { + if (!saw_non_const) + { ++ /* If we're not generating the loop, we don't need to reset the ++ iterator. */ ++ if (cleanup_flags ++ && !vec_safe_is_empty (*cleanup_flags)) ++ { ++ auto l = (*cleanup_flags)->last (); ++ gcc_assert (TREE_PURPOSE (l) == iterator); ++ (*cleanup_flags)->pop (); ++ } + tree const_init = build_constructor (atype, const_vec); + return build2 (INIT_EXPR, atype, obase, const_init); + } +--- a/src/gcc/cp/logic.cc ++++ b/src/gcc/cp/logic.cc +@@ -350,7 +350,7 @@ atomic_p (tree t) + distributing. In general, a conjunction for which this flag is set + is considered a disjunction for the purpose of counting. */ + +-static std::pair ++static std::pair + dnf_size_r (tree t) + { + if (atomic_p (t)) +@@ -361,9 +361,9 @@ dnf_size_r (tree t) + the results. */ + tree lhs = TREE_OPERAND (t, 0); + tree rhs = TREE_OPERAND (t, 1); +- std::pair p1 = dnf_size_r (lhs); +- std::pair p2 = dnf_size_r (rhs); +- int n1 = p1.first, n2 = p2.first; ++ auto p1 = dnf_size_r (lhs); ++ auto p2 = dnf_size_r (rhs); ++ HOST_WIDE_INT n1 = p1.first, n2 = p2.first; + bool d1 = p1.second, d2 = p2.second; + + if (disjunction_p (t)) +@@ -377,22 +377,24 @@ dnf_size_r (tree t) + { + if (disjunction_p (rhs) || (conjunction_p (rhs) && d2)) + /* Both P and Q are disjunctions. */ +- return std::make_pair (n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (n1, n2), d1 | d2); + else + /* Only LHS is a disjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + gcc_unreachable (); + } + if (conjunction_p (lhs)) + { + if ((disjunction_p (rhs) && d1) || (conjunction_p (rhs) && d1 && d2)) + /* Both P and Q are disjunctions. */ +- return std::make_pair (n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (n1, n2), d1 | d2); + if (disjunction_p (rhs) + || (conjunction_p (rhs) && d1 != d2) + || (atomic_p (rhs) && d1)) + /* Either LHS or RHS is a disjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + else + /* Neither LHS nor RHS is a disjunction. */ + return std::make_pair (2, false); +@@ -401,7 +403,8 @@ dnf_size_r (tree t) + { + if (disjunction_p (rhs) || (conjunction_p (rhs) && d2)) + /* Only RHS is a disjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + else + /* Neither LHS nor RHS is a disjunction. */ + return std::make_pair (2, false); +@@ -419,22 +422,22 @@ dnf_size_r (tree t) + { + if (disjunction_p (rhs) || (conjunction_p (rhs) && d2)) + /* Both P and Q are disjunctions. */ +- return std::make_pair (n1 * n2, true); ++ return std::make_pair (mul_sat_hwi (n1, n2), true); + else + /* Only LHS is a disjunction. */ +- return std::make_pair (n1 + n2, true); ++ return std::make_pair (add_sat_hwi (n1, n2), true); + gcc_unreachable (); + } + if (conjunction_p (lhs)) + { + if ((disjunction_p (rhs) && d1) || (conjunction_p (rhs) && d1 && d2)) + /* Both P and Q are disjunctions. */ +- return std::make_pair (n1 * n2, true); ++ return std::make_pair (mul_sat_hwi (n1, n2), true); + if (disjunction_p (rhs) + || (conjunction_p (rhs) && d1 != d2) + || (atomic_p (rhs) && d1)) + /* Either LHS or RHS is a disjunction. */ +- return std::make_pair (n1 + n2, true); ++ return std::make_pair (add_sat_hwi (n1, n2), true); + else + /* Neither LHS nor RHS is a disjunction. */ + return std::make_pair (0, false); +@@ -458,7 +461,7 @@ dnf_size_r (tree t) + distributing. In general, a disjunction for which this flag is set + is considered a conjunction for the purpose of counting. */ + +-static std::pair ++static std::pair + cnf_size_r (tree t) + { + if (atomic_p (t)) +@@ -469,9 +472,9 @@ cnf_size_r (tree t) + the results. */ + tree lhs = TREE_OPERAND (t, 0); + tree rhs = TREE_OPERAND (t, 1); +- std::pair p1 = cnf_size_r (lhs); +- std::pair p2 = cnf_size_r (rhs); +- int n1 = p1.first, n2 = p2.first; ++ auto p1 = cnf_size_r (lhs); ++ auto p2 = cnf_size_r (rhs); ++ HOST_WIDE_INT n1 = p1.first, n2 = p2.first; + bool d1 = p1.second, d2 = p2.second; + + if (disjunction_p (t)) +@@ -486,12 +489,12 @@ cnf_size_r (tree t) + { + if ((disjunction_p (rhs) && d1 && d2) || (conjunction_p (rhs) && d1)) + /* Both P and Q are conjunctions. */ +- return std::make_pair (n1 * n2, true); ++ return std::make_pair (mul_sat_hwi (n1, n2), true); + if ((disjunction_p (rhs) && d1 != d2) + || conjunction_p (rhs) + || (atomic_p (rhs) && d1)) + /* Either LHS or RHS is a conjunction. */ +- return std::make_pair (n1 + n2, true); ++ return std::make_pair (add_sat_hwi (n1, n2), true); + else + /* Neither LHS nor RHS is a conjunction. */ + return std::make_pair (0, false); +@@ -500,16 +503,16 @@ cnf_size_r (tree t) + { + if ((disjunction_p (rhs) && d2) || conjunction_p (rhs)) + /* Both LHS and RHS are conjunctions. */ +- return std::make_pair (n1 * n2, true); ++ return std::make_pair (mul_sat_hwi (n1, n2), true); + else + /* Only LHS is a conjunction. */ +- return std::make_pair (n1 + n2, true); ++ return std::make_pair (add_sat_hwi (n1, n2), true); + } + if (atomic_p (lhs)) + { + if ((disjunction_p (rhs) && d2) || conjunction_p (rhs)) + /* Only RHS is a disjunction. */ +- return std::make_pair (n1 + n2, true); ++ return std::make_pair (add_sat_hwi (n1, n2), true); + else + /* Neither LHS nor RHS is a disjunction. */ + return std::make_pair (0, false); +@@ -526,12 +529,13 @@ cnf_size_r (tree t) + { + if ((disjunction_p (rhs) && d1 && d2) || (conjunction_p (rhs) && d1)) + /* Both P and Q are conjunctions. */ +- return std::make_pair (n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (n1, n2), d1 | d2); + if ((disjunction_p (rhs) && d1 != d2) + || conjunction_p (rhs) + || (atomic_p (rhs) && d1)) + /* Either LHS or RHS is a conjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + else + /* Neither LHS nor RHS is a conjunction. */ + return std::make_pair (2, false); +@@ -540,16 +544,18 @@ cnf_size_r (tree t) + { + if ((disjunction_p (rhs) && d2) || conjunction_p (rhs)) + /* Both LHS and RHS are conjunctions. */ +- return std::make_pair (n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (n1, n2), d1 | d2); + else + /* Only LHS is a conjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + } + if (atomic_p (lhs)) + { + if ((disjunction_p (rhs) && d2) || conjunction_p (rhs)) + /* Only RHS is a disjunction. */ +- return std::make_pair (1 + n1 + n2, d1 | d2); ++ return std::make_pair (add_sat_hwi (1, add_sat_hwi (n1, n2)), ++ d1 | d2); + else + /* Neither LHS nor RHS is a disjunction. */ + return std::make_pair (2, false); +@@ -561,10 +567,10 @@ cnf_size_r (tree t) + /* Count the number conjunctive clauses that would be created + when rewriting T to DNF. */ + +-static int ++static HOST_WIDE_INT + dnf_size (tree t) + { +- std::pair result = dnf_size_r (t); ++ auto result = dnf_size_r (t); + return result.first == 0 ? 1 : result.first; + } + +@@ -572,10 +578,10 @@ dnf_size (tree t) + /* Count the number disjunctive clauses that would be created + when rewriting T to CNF. */ + +-static int ++static HOST_WIDE_INT + cnf_size (tree t) + { +- std::pair result = cnf_size_r (t); ++ auto result = cnf_size_r (t); + return result.first == 0 ? 1 : result.first; + } + +--- a/src/gcc/cp/method.cc ++++ b/src/gcc/cp/method.cc +@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see + #include "coretypes.h" + #include "target.h" + #include "cp-tree.h" ++#include "decl.h" + #include "stringpool.h" + #include "cgraph.h" + #include "varasm.h" +@@ -283,6 +284,11 @@ use_thunk (tree thunk_fndecl, bool emit_p) + /* Thunks are always addressable; they only appear in vtables. */ + TREE_ADDRESSABLE (thunk_fndecl) = 1; + ++ /* Don't diagnose deprecated or unavailable functions just because they ++ have thunks emitted for them. */ ++ auto du = make_temp_override (deprecated_state, ++ UNAVAILABLE_DEPRECATED_SUPPRESS); ++ + /* Figure out what function is being thunked to. It's referenced in + this translation unit. */ + TREE_ADDRESSABLE (function) = 1; +--- a/src/gcc/cp/module.cc ++++ b/src/gcc/cp/module.cc +@@ -1883,13 +1883,23 @@ elf_in::begin (location_t loc) + void + elf_out::create_mapping (unsigned ext, bool extending) + { +-#ifndef HAVE_POSIX_FALLOCATE +-#define posix_fallocate(fd,off,len) ftruncate (fd, off + len) ++ /* A wrapper around posix_fallocate, falling back to ftruncate ++ if the underlying filesystem does not support the operation. */ ++ auto allocate = [](int fd, off_t offset, off_t length) ++ { ++#ifdef HAVE_POSIX_FALLOCATE ++ int result = posix_fallocate (fd, offset, length); ++ if (result != EINVAL) ++ return result == 0; ++ /* Not supported by the underlying filesystem, fallback to ftruncate. */ + #endif ++ return ftruncate (fd, offset + length) == 0; ++ }; ++ + void *mapping = MAP_FAILED; + if (extending && ext < 1024 * 1024) + { +- if (!posix_fallocate (fd, offset, ext * 2)) ++ if (allocate (fd, offset, ext * 2)) + mapping = mmap (NULL, ext * 2, PROT_READ | PROT_WRITE, + MAP_SHARED, fd, offset); + if (mapping != MAP_FAILED) +@@ -1897,7 +1907,7 @@ elf_out::create_mapping (unsigned ext, bool extending) + } + if (mapping == MAP_FAILED) + { +- if (!extending || !posix_fallocate (fd, offset, ext)) ++ if (!extending || allocate (fd, offset, ext)) + mapping = mmap (NULL, ext, PROT_READ | PROT_WRITE, + MAP_SHARED, fd, offset); + if (mapping == MAP_FAILED) +@@ -1907,7 +1917,6 @@ elf_out::create_mapping (unsigned ext, bool extending) + ext = 0; + } + } +-#undef posix_fallocate + hdr.buffer = (char *)mapping; + extent = ext; + } +@@ -6804,11 +6813,23 @@ trees_in::core_vals (tree t) + body) anyway. */ + decl = maybe_duplicate (decl); + +- if (!DECL_P (decl) || DECL_CHAIN (decl)) ++ if (!DECL_P (decl)) + { + set_overrun (); + break; + } ++ ++ /* If DECL_CHAIN is already set then this was a backreference to a ++ local type or enumerator from a previous read (PR c++/114630). ++ Let's copy the node so we can keep building the chain for ODR ++ checking later. */ ++ if (DECL_CHAIN (decl)) ++ { ++ gcc_checking_assert (TREE_CODE (decl) == TYPE_DECL ++ && find_duplicate (DECL_CONTEXT (decl))); ++ decl = copy_decl (decl); ++ } ++ + *chain = decl; + chain = &DECL_CHAIN (decl); + } +@@ -11571,8 +11592,13 @@ trees_in::is_matching_decl (tree existing, tree decl, bool is_typedef) + { + dump (dumper::MERGE) + && dump ("Propagating deduced return type to %N", existing); ++ FNDECL_USED_AUTO (e_inner) = true; ++ DECL_SAVED_AUTO_RETURN_TYPE (existing) = TREE_TYPE (e_type); + TREE_TYPE (existing) = change_return_type (TREE_TYPE (d_type), e_type); + } ++ else if (type_uses_auto (d_ret) ++ && !same_type_p (TREE_TYPE (d_type), TREE_TYPE (e_type))) ++ goto mismatch; + } + else if (is_typedef) + { +--- a/src/gcc/cp/name-lookup.cc ++++ b/src/gcc/cp/name-lookup.cc +@@ -4001,7 +4001,10 @@ pushdecl (tree decl, bool hiding) + if (old && anticipated_builtin_p (old)) + old = OVL_CHAIN (old); + +- check_template_shadow (decl); ++ if (hiding) ++ ; /* Hidden bindings don't shadow anything. */ ++ else ++ check_template_shadow (decl); + + if (DECL_DECLARES_FUNCTION_P (decl)) + { +--- a/src/gcc/cp/optimize.cc ++++ b/src/gcc/cp/optimize.cc +@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. If not see + #include "coretypes.h" + #include "target.h" + #include "cp-tree.h" ++#include "decl.h" + #include "stringpool.h" + #include "cgraph.h" + #include "debug.h" +@@ -289,6 +290,11 @@ maybe_thunk_body (tree fn, bool force) + if (ctor_omit_inherited_parms (fns[0])) + return 0; + ++ /* Don't diagnose deprecated or unavailable cdtors just because they ++ have thunks emitted for them. */ ++ auto du = make_temp_override (deprecated_state, ++ UNAVAILABLE_DEPRECATED_SUPPRESS); ++ + DECL_ABSTRACT_P (fn) = false; + if (!DECL_WEAK (fn)) + { +--- a/src/gcc/cp/parser.cc ++++ b/src/gcc/cp/parser.cc +@@ -2598,7 +2598,7 @@ static tree cp_parser_type_id_1 + static void cp_parser_type_specifier_seq + (cp_parser *, cp_parser_flags, bool, bool, cp_decl_specifier_seq *); + static tree cp_parser_parameter_declaration_clause +- (cp_parser *, cp_parser_flags); ++ (cp_parser *, cp_parser_flags, bool); + static tree cp_parser_parameter_declaration_list + (cp_parser *, cp_parser_flags, auto_vec *); + static cp_parameter_declarator *cp_parser_parameter_declaration +@@ -11830,6 +11830,11 @@ cp_parser_lambda_declarator_opt (cp_parser* parser, tree lambda_expr) + "lambda templates are only available with " + "%<-std=c++20%> or %<-std=gnu++20%>"); + ++ /* Even though the whole lambda may be a default argument, its ++ template-parameter-list is a context where it's OK to create ++ new parameters. */ ++ auto lvf = make_temp_override (parser->local_variables_forbidden_p, 0u); ++ + cp_lexer_consume_token (parser->lexer); + + template_param_list = cp_parser_template_parameter_list (parser); +@@ -11867,7 +11872,7 @@ cp_parser_lambda_declarator_opt (cp_parser* parser, tree lambda_expr) + /* Parse parameters. */ + param_list + = cp_parser_parameter_declaration_clause +- (parser, CP_PARSER_FLAGS_TYPENAME_OPTIONAL); ++ (parser, CP_PARSER_FLAGS_TYPENAME_OPTIONAL, /*lambda_p=*/true); + + /* Default arguments shall not be specified in the + parameter-declaration-clause of a lambda-declarator. */ +@@ -14125,9 +14130,19 @@ cp_parser_range_for (cp_parser *parser, tree scope, tree init, tree range_decl, + decomp = &decomp_d; + decomp->count = tree_to_uhwi (TREE_OPERAND (v, 1)) + 1; + decomp->decl = d; ++ bool seen_name_independent_decl = false; + for (unsigned int i = 0; i < decomp->count; + i++, d = DECL_CHAIN (d)) + { ++ if (name_independent_decl_p (d)) ++ { ++ /* If there is more than one _ decl in ++ the structured binding, just push and move it ++ away once. */ ++ if (seen_name_independent_decl) ++ continue; ++ seen_name_independent_decl = true; ++ } + tree name = DECL_NAME (d); + names.safe_push (name); + bindings.safe_push (IDENTIFIER_BINDING (name)); +@@ -20625,9 +20640,13 @@ cp_parser_simple_type_specifier (cp_parser* parser, + } + + /* If it didn't work out, we don't have a TYPE. */ +- if ((flags & CP_PARSER_FLAGS_OPTIONAL) +- && !cp_parser_parse_definitely (parser)) +- type = NULL_TREE; ++ if (flags & CP_PARSER_FLAGS_OPTIONAL) ++ { ++ if (!type) ++ cp_parser_simulate_error (parser); ++ if (!cp_parser_parse_definitely (parser)) ++ type = NULL_TREE; ++ } + + /* Keep track of all name-lookups performed in class scopes. */ + if (type +@@ -20772,8 +20791,8 @@ cp_parser_placeholder_type_specifier (cp_parser *parser, location_t loc, + /* In a default argument we may not be creating new parameters. */ + if (parser->local_variables_forbidden_p & LOCAL_VARS_FORBIDDEN) + { +- /* If this assert turns out to be false, do error() instead. */ +- gcc_assert (tentative); ++ if (!tentative) ++ error_at (loc, "invalid use of concept-name %qD", con); + return error_mark_node; + } + return build_constrained_parameter (con, proto, args); +@@ -23903,7 +23922,8 @@ cp_parser_direct_declarator (cp_parser* parser, + + /* Parse the parameter-declaration-clause. */ + params +- = cp_parser_parameter_declaration_clause (parser, flags); ++ = cp_parser_parameter_declaration_clause (parser, flags, ++ /*lambda_p=*/false); + const location_t parens_end + = cp_lexer_peek_token (parser->lexer)->location; + +@@ -25252,13 +25272,17 @@ function_being_declared_is_template_p (cp_parser* parser) + + The parser flags FLAGS is used to control type-specifier parsing. + ++ LAMBDA_P is true if this is the parameter-declaration-clause of ++ a lambda-declarator. ++ + Returns a representation for the parameter declarations. A return + value of NULL indicates a parameter-declaration-clause consisting + only of an ellipsis. */ + + static tree + cp_parser_parameter_declaration_clause (cp_parser* parser, +- cp_parser_flags flags) ++ cp_parser_flags flags, ++ bool lambda_p) + { + tree parameters; + cp_token *token; +@@ -25267,15 +25291,15 @@ cp_parser_parameter_declaration_clause (cp_parser* parser, + auto cleanup = make_temp_override + (parser->auto_is_implicit_function_template_parm_p); + +- if (!processing_specialization +- && !processing_template_parmlist +- && !processing_explicit_instantiation +- /* default_arg_ok_p tracks whether this is a parameter-clause for an +- actual function or a random abstract declarator. */ +- && parser->default_arg_ok_p) +- if (!current_function_decl +- || (current_class_type && LAMBDA_TYPE_P (current_class_type))) +- parser->auto_is_implicit_function_template_parm_p = true; ++ if (lambda_p ++ || (!processing_specialization ++ && !processing_template_parmlist ++ && !processing_explicit_instantiation ++ /* default_arg_ok_p tracks whether this is a parameter-clause for an ++ actual function or a random abstract declarator. */ ++ && parser->default_arg_ok_p ++ && !current_function_decl)) ++ parser->auto_is_implicit_function_template_parm_p = true; + + /* Peek at the next token. */ + token = cp_lexer_peek_token (parser->lexer); +@@ -31472,7 +31496,8 @@ cp_parser_requirement_parameter_list (cp_parser *parser) + return error_mark_node; + + tree parms = (cp_parser_parameter_declaration_clause +- (parser, CP_PARSER_FLAGS_TYPENAME_OPTIONAL)); ++ (parser, CP_PARSER_FLAGS_TYPENAME_OPTIONAL, ++ /*lambda_p=*/false)); + + if (!parens.require_close (parser)) + return error_mark_node; +@@ -35659,7 +35684,6 @@ cp_parser_cache_defarg (cp_parser *parser, bool nsdmi) + + /* If we run out of tokens, issue an error message. */ + case CPP_EOF: +- case CPP_PRAGMA_EOL: + error_at (token->location, "file ends in default argument"); + return error_mark_node; + +--- a/src/gcc/cp/pt.cc ++++ b/src/gcc/cp/pt.cc +@@ -7933,7 +7933,9 @@ coerce_template_template_parm (tree parm, + i.e. the parameter list of TT depends on earlier parameters. */ + if (!uses_template_parms (TREE_TYPE (arg))) + { ++ ++processing_template_decl; + tree t = tsubst (TREE_TYPE (parm), outer_args, complain, in_decl); ++ --processing_template_decl; + if (!uses_template_parms (t) + && !same_type_p (t, TREE_TYPE (arg))) + return 0; +@@ -8504,7 +8506,7 @@ is_compatible_template_arg (tree parm, tree arg, tree args) + return false; + } + +- return weakly_subsumes (parm_cons, arg); ++ return ttp_subsumes (parm_cons, arg); + } + + // Convert a placeholder argument into a binding to the original +@@ -11582,6 +11584,7 @@ tsubst_friend_function (tree decl, tree args) + ; + else + { ++ tree old_template = most_general_template (old_decl); + tree new_template = TI_TEMPLATE (new_friend_template_info); + tree new_args = TI_ARGS (new_friend_template_info); + +@@ -11619,7 +11622,7 @@ tsubst_friend_function (tree decl, tree args) + /* Reassign any specializations already in the hash table + to the new more general template, and add the + additional template args. */ +- for (t = DECL_TEMPLATE_INSTANTIATIONS (old_decl); ++ for (t = DECL_TEMPLATE_INSTANTIATIONS (old_template); + t != NULL_TREE; + t = TREE_CHAIN (t)) + { +@@ -11632,15 +11635,15 @@ tsubst_friend_function (tree decl, tree args) + + decl_specializations->remove_elt (&elt); + +- DECL_TI_ARGS (spec) +- = add_outermost_template_args (new_args, +- DECL_TI_ARGS (spec)); ++ tree& spec_args = DECL_TI_ARGS (spec); ++ spec_args = add_outermost_template_args ++ (new_args, INNERMOST_TEMPLATE_ARGS (spec_args)); + + register_specialization +- (spec, new_template, DECL_TI_ARGS (spec), true, 0); ++ (spec, new_template, spec_args, true, 0); + + } +- DECL_TEMPLATE_INSTANTIATIONS (old_decl) = NULL_TREE; ++ DECL_TEMPLATE_INSTANTIATIONS (old_template) = NULL_TREE; + } + } + +@@ -13361,7 +13364,12 @@ extract_locals_r (tree *tp, int *walk_subtrees, void *data_) + outermost tree. Nested *_EXTRA_ARGS should naturally be empty since + the outermost (extra-args) tree will intercept any substitution before + a nested tree can. */ +- gcc_checking_assert (tree_extra_args (*tp) == NULL_TREE); ++ gcc_checking_assert (tree_extra_args (*tp) == NULL_TREE ++ /* Except a lambda nested inside an extra-args tree ++ can have extra args if we deferred partial ++ substitution into it at template parse time. But ++ we don't walk LAMBDA_EXPR_EXTRA_ARGS anyway. */ ++ || TREE_CODE (*tp) == LAMBDA_EXPR); + + if (TREE_CODE (*tp) == DECL_EXPR) + { +@@ -19678,6 +19686,18 @@ tsubst_lambda_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl) + LAMBDA_EXPR_EXTRA_ARGS (t) = build_extra_args (t, args, complain); + return t; + } ++ if (LAMBDA_EXPR_EXTRA_ARGS (t)) ++ { ++ /* If we deferred substitution into this lambda, then its original ++ context (e.g. default template argument context) might be unrelated ++ to the current context it's embedded in. After add_extra_args though, ++ the innermost levels of 'args' will correspond to the lambda context, ++ so get rid of all unrelated levels. */ ++ tree ctx_parms = DECL_TEMPLATE_PARMS (DECL_TI_TEMPLATE (oldfn)); ++ if (generic_lambda_fn_p (oldfn)) ++ ctx_parms = TREE_CHAIN (ctx_parms); ++ args = get_innermost_template_args (args, TMPL_PARMS_DEPTH (ctx_parms)); ++ } + + tree r = build_lambda_expr (); + +@@ -20219,6 +20239,8 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl) + case IMPLICIT_CONV_EXPR: + { + tree type = tsubst (TREE_TYPE (t), args, complain, in_decl); ++ if (type == error_mark_node) ++ RETURN (error_mark_node); + tree expr = RECUR (TREE_OPERAND (t, 0)); + if (dependent_type_p (type) || type_dependent_expression_p (expr)) + { +@@ -23072,6 +23094,8 @@ deducible_expression (tree expr) + /* Strip implicit conversions and implicit INDIRECT_REFs. */ + while (CONVERT_EXPR_P (expr) + || TREE_CODE (expr) == VIEW_CONVERT_EXPR ++ || (TREE_CODE (expr) == IMPLICIT_CONV_EXPR ++ && IMPLICIT_CONV_EXPR_FORCED (expr)) + || REFERENCE_REF_P (expr)) + expr = TREE_OPERAND (expr, 0); + return (TREE_CODE (expr) == TEMPLATE_PARM_INDEX); +@@ -23627,12 +23651,14 @@ type_unification_real (tree tparms, + /* We replaced all the tparms, substitute again out of + template context. */ + substed = NULL_TREE; ++ else ++ processing_template_decl = 1; + } + if (!substed) + substed = tsubst_template_arg (arg, full_targs, complain, + NULL_TREE); + +- if (!uses_template_parms (substed)) ++ if (!processing_template_decl || !uses_template_parms (substed)) + arg = convert_template_argument (parm, substed, full_targs, + complain, i, NULL_TREE); + else if (saw_undeduced == 1) +@@ -23773,6 +23799,8 @@ resolve_overloaded_unification (tree tparms, + for (lkp_iterator iter (arg); iter; ++iter) + { + tree fn = *iter; ++ if (flag_noexcept_type) ++ maybe_instantiate_noexcept (fn, tf_none); + if (try_one_overload (tparms, targs, tempargs, parm, TREE_TYPE (fn), + strict, sub_strict, addr_p, explain_p) + && (!goodfn || !decls_match (goodfn, fn))) +@@ -24601,7 +24629,9 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict, + signedness is the only information lost, and I think that will be + okay. VIEW_CONVERT_EXPR can appear with class NTTP, thanks to + finish_id_expression_1, and are also OK. */ +- while (CONVERT_EXPR_P (parm) || TREE_CODE (parm) == VIEW_CONVERT_EXPR) ++ while (CONVERT_EXPR_P (parm) || TREE_CODE (parm) == VIEW_CONVERT_EXPR ++ || (TREE_CODE (parm) == IMPLICIT_CONV_EXPR ++ && IMPLICIT_CONV_EXPR_FORCED (parm))) + parm = TREE_OPERAND (parm, 0); + + if (arg == error_mark_node) +@@ -28674,9 +28704,15 @@ type_dependent_expression_p (tree expression) + + if (TREE_CODE (expression) == TEMPLATE_ID_EXPR) + { +- if (any_dependent_template_arguments_p +- (TREE_OPERAND (expression, 1))) ++ tree args = TREE_OPERAND (expression, 1); ++ if (any_dependent_template_arguments_p (args)) + return true; ++ /* Arguments of a function template-id aren't necessarily coerced ++ yet so we must conservatively assume that the address (and not ++ just value) of the argument matters as per [temp.dep.temp]/3. */ ++ for (tree arg : tree_vec_range (args)) ++ if (has_value_dependent_address (arg)) ++ return true; + expression = TREE_OPERAND (expression, 0); + if (identifier_p (expression)) + return true; +@@ -29778,6 +29814,25 @@ builtin_guide_p (const_tree fn) + return true; + } + ++/* True if FN is a C++23 inherited guide. */ ++ ++bool ++inherited_guide_p (const_tree fn) ++{ ++ gcc_assert (deduction_guide_p (fn)); ++ return LANG_DECL_FN_CHECK (fn)->context != NULL_TREE; ++} ++ ++/* Set the base class BASE from which the transformed guide FN ++ was inherited as part of C++23 inherited CTAD. */ ++ ++static void ++set_inherited_guide_context (const_tree fn, tree base) ++{ ++ gcc_assert (deduction_guide_p (fn)); ++ LANG_DECL_FN_CHECK (fn)->context = base; ++} ++ + /* OLDDECL is a _DECL for a template parameter. Return a similar parameter at + LEVEL:INDEX, using tsubst_args and complain for substitution into non-type + template parameter types. Note that the handling of template template +@@ -30368,7 +30423,7 @@ alias_ctad_tweaks (tree tmpl, tree uguides) + (INNERMOST_TEMPLATE_PARMS (fullatparms))); + } + +- tsubst_flags_t complain = tf_warning_or_error; ++ tsubst_flags_t complain = tf_none; + tree aguides = NULL_TREE; + tree atparms = INNERMOST_TEMPLATE_PARMS (fullatparms); + unsigned natparms = TREE_VEC_LENGTH (atparms); +@@ -30546,6 +30601,7 @@ alias_ctad_tweaks (tree tmpl, tree uguides) + TREE_TYPE (fprime) = fntype; + if (TREE_CODE (fprime) == TEMPLATE_DECL) + TREE_TYPE (DECL_TEMPLATE_RESULT (fprime)) = fntype; ++ set_inherited_guide_context (fprime, utype); + } + + aguides = lookup_add (fprime, aguides); +@@ -30577,11 +30633,14 @@ inherited_ctad_tweaks (tree tmpl, tree ctor, tsubst_flags_t complain) + template specialization with the template argument list of A but with C as + the template. */ + +- /* FIXME: Also recognize inherited constructors of the form 'using C::B::B', +- which seem to be represented with TYPENAME_TYPE C::B as USING_DECL_SCOPE? +- And recognize constructors inherited from a non-dependent base class, which +- seem to be missing from the overload set entirely? */ + tree scope = USING_DECL_SCOPE (ctor); ++ if (TREE_CODE (scope) == TYPENAME_TYPE ++ && (TYPE_IDENTIFIER (TYPE_CONTEXT (scope)) ++ == TYPENAME_TYPE_FULLNAME (scope))) ++ /* Recognize using B::B::B as an inherited constructor. */ ++ /* FIXME: Also recognize using C::B::B? We might have to call ++ resolve_typename_type for that. */ ++ scope = TYPE_CONTEXT (scope); + if (!CLASS_TYPE_P (scope) + || !CLASSTYPE_TEMPLATE_INFO (scope) + || !PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (scope))) +@@ -30715,10 +30774,14 @@ ctor_deduction_guides_for (tree tmpl, tsubst_flags_t complain) + } + + if (cxx_dialect >= cxx23) +- for (tree ctor : ovl_range (CLASSTYPE_CONSTRUCTORS (type))) +- if (TREE_CODE (ctor) == USING_DECL) +- { +- tree uguides = inherited_ctad_tweaks (tmpl, ctor, complain); ++ /* FIXME: CLASSTYPE_CONSTRUCTORS doesn't contain inherited constructors if ++ e.g. the class also has a user-defined constructor. So instead iterate ++ over TYPE_FIELDS manually to robustly find all relevant using-decls. */ ++ for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field)) ++ if (TREE_CODE (field) == USING_DECL ++ && DECL_NAME (field) == ctor_identifier) ++ { ++ tree uguides = inherited_ctad_tweaks (tmpl, field, complain); + if (uguides) + cands = lookup_add (uguides, cands); + } +--- a/src/gcc/cp/semantics.cc ++++ b/src/gcc/cp/semantics.cc +@@ -2497,9 +2497,14 @@ check_accessibility_of_qualified_id (tree decl, + OBJECT_TYPE. */ + && CLASS_TYPE_P (object_type) + && DERIVED_FROM_P (scope, object_type)) +- /* If we are processing a `->' or `.' expression, use the type of the +- left-hand side. */ +- qualifying_type = object_type; ++ { ++ /* If we are processing a `->' or `.' expression, use the type of the ++ left-hand side. */ ++ if (tree open = currently_open_class (object_type)) ++ qualifying_type = open; ++ else ++ qualifying_type = object_type; ++ } + else if (nested_name_specifier) + { + /* If the reference is to a non-static member of the +@@ -5014,7 +5019,10 @@ emit_associated_thunks (tree fn) + enabling you to output all the thunks with the function itself. */ + if (DECL_VIRTUAL_P (fn) + /* Do not emit thunks for extern template instantiations. */ +- && ! DECL_REALLY_EXTERN (fn)) ++ && ! DECL_REALLY_EXTERN (fn) ++ /* Do not emit thunks for tentative decls, those will be processed ++ again at_eof if really needed. */ ++ && (DECL_INTERFACE_KNOWN (fn) || !DECL_DEFER_OUTPUT (fn))) + { + tree thunk; + +@@ -12519,7 +12527,14 @@ trait_expr_value (cp_trait_kind kind, tree type1, tree type2) + || DERIVED_FROM_P (type1, type2))); + + case CPTK_IS_BOUNDED_ARRAY: +- return type_code1 == ARRAY_TYPE && TYPE_DOMAIN (type1); ++ return (type_code1 == ARRAY_TYPE ++ && TYPE_DOMAIN (type1) ++ /* We don't want to report T[0] as being a bounded array type. ++ This is for compatibility with an implementation of ++ std::is_bounded_array by template argument deduction, because ++ compute_array_index_type_loc rejects a zero-size array ++ in SFINAE context. */ ++ && !(TYPE_SIZE (type1) && integer_zerop (TYPE_SIZE (type1)))); + + case CPTK_IS_CLASS: + return NON_UNION_CLASS_TYPE_P (type1); +--- a/src/gcc/cp/tree.cc ++++ b/src/gcc/cp/tree.cc +@@ -1607,11 +1607,32 @@ strip_typedefs (tree t, bool *remove_attributes /* = NULL */, + if (t == TYPE_CANONICAL (t)) + return t; + +- if (!(flags & STF_STRIP_DEPENDENT) +- && dependent_alias_template_spec_p (t, nt_opaque)) +- /* DR 1558: However, if the template-id is dependent, subsequent +- template argument substitution still applies to the template-id. */ +- return t; ++ if (typedef_variant_p (t)) ++ { ++ if ((flags & STF_USER_VISIBLE) ++ && !user_facing_original_type_p (t)) ++ return t; ++ ++ if (alias_template_specialization_p (t, nt_opaque)) ++ { ++ if (dependent_alias_template_spec_p (t, nt_opaque) ++ && (!(flags & STF_STRIP_DEPENDENT) ++ || any_dependent_type_attributes_p (DECL_ATTRIBUTES ++ (TYPE_NAME (t))))) ++ /* DR 1558: However, if the template-id is dependent, subsequent ++ template argument substitution still applies to the template-id. */ ++ return t; ++ } ++ else ++ /* If T is a non-template alias or typedef, we can assume that ++ instantiating its definition will hit any substitution failure, ++ so we don't need to retain it here as well. */ ++ flags |= STF_STRIP_DEPENDENT; ++ ++ result = strip_typedefs (DECL_ORIGINAL_TYPE (TYPE_NAME (t)), ++ remove_attributes, flags); ++ goto stripped; ++ } + + switch (TREE_CODE (t)) + { +@@ -1805,23 +1826,9 @@ strip_typedefs (tree t, bool *remove_attributes /* = NULL */, + } + + if (!result) +- { +- if (typedef_variant_p (t)) +- { +- if ((flags & STF_USER_VISIBLE) +- && !user_facing_original_type_p (t)) +- return t; +- /* If T is a non-template alias or typedef, we can assume that +- instantiating its definition will hit any substitution failure, +- so we don't need to retain it here as well. */ +- if (!alias_template_specialization_p (t, nt_opaque)) +- flags |= STF_STRIP_DEPENDENT; +- result = strip_typedefs (DECL_ORIGINAL_TYPE (TYPE_NAME (t)), +- remove_attributes, flags); +- } +- else +- result = TYPE_MAIN_VARIANT (t); +- } ++ result = TYPE_MAIN_VARIANT (t); ++ ++stripped: + /*gcc_assert (!typedef_variant_p (result) + || dependent_alias_template_spec_p (result, nt_opaque) + || ((flags & STF_USER_VISIBLE) +@@ -2001,12 +2008,9 @@ strip_typedefs_expr (tree t, bool *remove_attributes, unsigned int flags) + } + + case LAMBDA_EXPR: ++ case STMT_EXPR: + return t; + +- case STATEMENT_LIST: +- error ("statement-expression in a constant expression"); +- return error_mark_node; +- + default: + break; + } +@@ -3016,15 +3020,7 @@ no_linkage_check (tree t, bool relaxed_p) + /* Only treat unnamed types as having no linkage if they're at + namespace scope. This is core issue 966. */ + if (TYPE_UNNAMED_P (t) && TYPE_NAMESPACE_SCOPE_P (t)) +- { +- if (relaxed_p +- && TREE_PUBLIC (CP_TYPE_CONTEXT (t)) +- && module_maybe_has_cmi_p ()) +- /* This type could possibly be accessed outside this TU. */ +- return NULL_TREE; +- else +- return t; +- } ++ return t; + + for (r = CP_TYPE_CONTEXT (t); ; ) + { +--- a/src/gcc/cp/typeck.cc ++++ b/src/gcc/cp/typeck.cc +@@ -4073,7 +4073,8 @@ cp_build_array_ref (location_t loc, tree array, tree idx, + tree ar = cp_default_conversion (array, complain); + tree ind = cp_default_conversion (idx, complain); + +- if (!first && flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind)) ++ if (!processing_template_decl ++ && !first && flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind)) + ar = first = save_expr (ar); + + /* Put the integer in IND to simplify error checking. */ +@@ -4175,11 +4176,28 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function, + if (!nonvirtual && is_dummy_object (instance_ptr)) + nonvirtual = true; + +- if (TREE_SIDE_EFFECTS (instance_ptr)) +- instance_ptr = instance_save_expr = save_expr (instance_ptr); +- +- if (TREE_SIDE_EFFECTS (function)) +- function = save_expr (function); ++ /* Use force_target_expr even when instance_ptr doesn't have ++ side-effects, unless it is a simple decl or constant, so ++ that we don't ubsan instrument the expression multiple times. ++ Don't use save_expr, as save_expr can avoid building a SAVE_EXPR ++ and building a SAVE_EXPR manually can be optimized away during ++ cp_fold. See PR116449 and PR117259. */ ++ if (TREE_SIDE_EFFECTS (instance_ptr) ++ || (!nonvirtual ++ && !DECL_P (instance_ptr) ++ && !TREE_CONSTANT (instance_ptr))) ++ instance_ptr = instance_save_expr ++ = save_expr (force_target_expr (TREE_TYPE (instance_ptr), ++ instance_ptr, complain)); ++ ++ /* See above comment. */ ++ if (TREE_SIDE_EFFECTS (function) ++ || (!nonvirtual ++ && !DECL_P (function) ++ && !TREE_CONSTANT (function))) ++ function ++ = save_expr (force_target_expr (TREE_TYPE (function), function, ++ complain)); + + /* Start by extracting all the information from the PMF itself. */ + e3 = pfn_from_ptrmemfunc (function); +@@ -4452,8 +4470,10 @@ cp_build_function_call_vec (tree function, vec **params, + + /* Check for errors in format strings and inappropriately + null parameters. */ +- bool warned_p = check_function_arguments (input_location, fndecl, fntype, +- nargs, argarray, NULL); ++ bool warned_p ++ = ((complain & tf_warning) ++ && check_function_arguments (input_location, fndecl, fntype, ++ nargs, argarray, NULL)); + + ret = build_cxx_call (function, nargs, argarray, complain, orig_fndecl); + +@@ -8150,6 +8170,8 @@ cp_build_compound_expr (tree lhs, tree rhs, tsubst_flags_t complain) + return rhs; + } + ++ rhs = resolve_nondeduced_context (rhs, complain); ++ + if (type_unknown_p (rhs)) + { + if (complain & tf_error) +@@ -8157,7 +8179,7 @@ cp_build_compound_expr (tree lhs, tree rhs, tsubst_flags_t complain) + "no context to resolve type of %qE", rhs); + return error_mark_node; + } +- ++ + tree ret = build2 (COMPOUND_EXPR, TREE_TYPE (rhs), lhs, rhs); + if (eptype) + ret = build1 (EXCESS_PRECISION_EXPR, eptype, ret); +--- a/src/gcc/cp/typeck2.cc ++++ b/src/gcc/cp/typeck2.cc +@@ -1537,10 +1537,10 @@ massage_init_elt (tree type, tree init, int nested, int flags, + new_flags |= LOOKUP_AGGREGATE_PAREN_INIT; + init = digest_init_r (type, init, nested ? 2 : 1, new_flags, complain); + /* When we defer constant folding within a statement, we may want to +- defer this folding as well. Don't call this on CONSTRUCTORs because +- their elements have already been folded, and we must avoid folding +- the result of get_nsdmi. */ +- if (TREE_CODE (init) != CONSTRUCTOR) ++ defer this folding as well. Don't call this on CONSTRUCTORs in ++ a template because their elements have already been folded, and ++ we must avoid folding the result of get_nsdmi. */ ++ if (!(processing_template_decl && TREE_CODE (init) == CONSTRUCTOR)) + { + tree t = fold_non_dependent_init (init, complain); + if (TREE_CONSTANT (t)) +@@ -1774,13 +1774,6 @@ process_init_constructor_record (tree type, tree init, int nested, int flags, + { + gcc_assert (ce->value); + next = massage_init_elt (fldtype, next, nested, flags, complain); +- /* We can't actually elide the temporary when initializing a +- potentially-overlapping field from a function that returns by +- value. */ +- if (ce->index +- && TREE_CODE (next) == TARGET_EXPR +- && unsafe_copy_elision_p (ce->index, next)) +- TARGET_EXPR_ELIDING_P (next) = false; + ++idx; + } + } +@@ -1873,6 +1866,13 @@ process_init_constructor_record (tree type, tree init, int nested, int flags, + } + } + ++ /* We can't actually elide the temporary when initializing a ++ potentially-overlapping field from a function that returns by ++ value. */ ++ if (TREE_CODE (next) == TARGET_EXPR ++ && unsafe_copy_elision_p (field, next)) ++ TARGET_EXPR_ELIDING_P (next) = false; ++ + if (is_empty_field (field) + && !TREE_SIDE_EFFECTS (next)) + /* Don't add trivial initialization of an empty base/field to the +--- a/src/gcc/cse.cc ++++ b/src/gcc/cse.cc +@@ -6620,7 +6620,15 @@ cse_extended_basic_block (struct cse_basic_block_data *ebb_data) + && EDGE_COUNT (bb->succs) == 2 + && JUMP_P (insn) + && single_set (insn) +- && any_condjump_p (insn)) ++ && any_condjump_p (insn) ++ /* single_set may return non-NULL even for multiple sets ++ if there are REG_UNUSED notes. record_jump_equiv only ++ looks at pc_set and doesn't consider other sets that ++ could affect the value, and the recorded equivalence ++ can extend the lifetime of the compared REG, so use ++ also !multiple_sets check to verify it is exactly one ++ set. */ ++ && !multiple_sets (insn)) + { + basic_block next_bb = ebb_data->path[path_entry + 1].bb; + bool taken = (next_bb == BRANCH_EDGE (bb)->dest); +--- a/src/gcc/cselib.cc ++++ b/src/gcc/cselib.cc +@@ -751,6 +751,11 @@ remove_useless_values (void) + } + *p = &dummy_val; + ++ if (cselib_preserve_constants) ++ cselib_preserved_hash_table->traverse (NULL); ++ gcc_assert (!values_became_useless); ++ + n_useless_values += n_useless_debug_values; + n_debug_values -= n_useless_debug_values; + n_useless_debug_values = 0; +--- a/src/gcc/d/ChangeLog ++++ b/src/gcc/d/ChangeLog +@@ -1,3 +1,42 @@ ++2025-02-10 Arsen Arsenović ++ ++ Backported from master: ++ 2025-01-29 Arsen Arsenović ++ Jakub Jelinek ++ ++ PR d/118477 ++ * Make-lang.in (DCOMPILE, DPOSTCOMPILE): Use $(basename $(@F)) ++ instead of $(*F). ++ ++2025-01-20 Iain Buclaw ++ ++ Backported from master: ++ 2025-01-20 Iain Buclaw ++ ++ PR d/114434 ++ * expr.cc (ExprVisitor::visit (PtrExp *)): Get the offset as a ++ dinteger_t rather than a size_t. ++ (ExprVisitor::visit (SymOffExp *)): Likewise. ++ ++2025-01-16 Iain Buclaw ++ ++ Backported from master: ++ 2025-01-16 Iain Buclaw ++ ++ PR d/115249 ++ * typeinfo.cc (create_tinfo_types): Update internal Typenfo ++ representation. ++ (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Likewise. ++ ++2025-01-16 Iain Buclaw ++ ++ Backported from master: ++ 2025-01-16 Iain Buclaw ++ ++ PR d/116373 ++ * dmd/expressionsem.d (resolveLoc): Check for null pointer before ++ resolving bounds of slice. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/d/Make-lang.in ++++ b/src/gcc/d/Make-lang.in +@@ -65,8 +65,8 @@ ALL_DFLAGS = $(DFLAGS-$@) $(GDCFLAGS) -fversion=IN_GCC $(CHECKING_DFLAGS) \ + $(WARN_DFLAGS) + + DCOMPILE.base = $(GDC) -c $(ALL_DFLAGS) -o $@ +-DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo +-DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(*F).TPo $(@D)/$(DEPDIR)/$(*F).Po ++DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(basename $(@F)).TPo ++DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).TPo $(@D)/$(DEPDIR)/$(basename $(@F)).Po + DLINKER = $(GDC) $(NO_PIE_FLAG) -lstdc++ + + # Like LINKER, but use a mutex for serializing front end links. +--- a/src/gcc/d/dmd/enumsem.d ++++ b/src/gcc/d/dmd/enumsem.d +@@ -186,7 +186,7 @@ void enumSemantic(Scope* sc, EnumDeclaration ed) + + if (ed.members.length == 0) + { +- .error(ed.loc, "%s `%s enum `%s` must have at least one member", ed.kind, ed.toPrettyChars, ed.toChars()); ++ .error(ed.loc, "%s `%s` enum `%s` must have at least one member", ed.kind, ed.toPrettyChars, ed.toChars()); + ed.errors = true; + ed.semanticRun = PASS.semanticdone; + return; +--- a/src/gcc/d/dmd/expressionsem.d ++++ b/src/gcc/d/dmd/expressionsem.d +@@ -15331,8 +15331,10 @@ Expression resolveLoc(Expression exp, const ref Loc loc, Scope* sc) + Expression visitSlice(SliceExp exp) + { + exp.e1 = exp.e1.resolveLoc(loc, sc); +- exp.lwr = exp.lwr.resolveLoc(loc, sc); +- exp.upr = exp.upr.resolveLoc(loc, sc); ++ if (exp.lwr) ++ exp.lwr = exp.lwr.resolveLoc(loc, sc); ++ if (exp.upr) ++ exp.upr = exp.upr.resolveLoc(loc, sc); + + return exp; + } +--- a/src/gcc/d/expr.cc ++++ b/src/gcc/d/expr.cc +@@ -1497,7 +1497,7 @@ public: + void visit (PtrExp *e) final override + { + Type *tnext = NULL; +- size_t offset; ++ dinteger_t offset; + tree result; + + if (e->e1->op == EXP::add) +@@ -2072,7 +2072,7 @@ public: + void visit (SymOffExp *e) final override + { + /* Build the address and offset of the symbol. */ +- size_t soffset = e->isSymOffExp ()->offset; ++ dinteger_t soffset = e->isSymOffExp ()->offset; + tree result = get_decl_tree (e->var); + TREE_USED (result) = 1; + +--- a/src/gcc/d/typeinfo.cc ++++ b/src/gcc/d/typeinfo.cc +@@ -258,10 +258,10 @@ create_tinfo_types (Module *mod) + Identifier::idPool ("TypeInfo_Class"), + array_type_node, array_type_node, array_type_node, + array_type_node, ptr_type_node, ptr_type_node, +- ptr_type_node, d_uint_type, ptr_type_node, +- array_type_node, ptr_type_node, ptr_type_node, +- d_uint_type, d_uint_type, d_uint_type, d_uint_type, +- NULL); ++ ptr_type_node, d_ushort_type, d_ushort_type, ++ ptr_type_node, array_type_node, ptr_type_node, ++ ptr_type_node, d_uint_type, d_uint_type, d_uint_type, ++ d_uint_type, NULL); + + object_module = mod; + } +@@ -813,6 +813,7 @@ public: + void *destructor; + void function(Object) classInvariant; + ClassFlags m_flags; ++ ushort depth; + void *deallocator; + OffsetTypeInfo[] m_offTi; + void function(Object) defaultConstructor; +@@ -918,7 +919,10 @@ public: + flags |= ClassFlags::noPointers; + + Lhaspointers: +- this->layout_field (build_integer_cst (flags, d_uint_type)); ++ this->layout_field (build_integer_cst (flags, d_ushort_type)); ++ ++ /* ushort depth; (not implemented) */ ++ this->layout_field (build_zero_cst (d_ushort_type)); + + /* void *deallocator; */ + this->layout_field (null_pointer_node); +@@ -979,7 +983,10 @@ public: + if (cd->isCOMinterface ()) + flags |= ClassFlags::isCOMclass; + +- this->layout_field (build_integer_cst (flags, d_uint_type)); ++ this->layout_field (build_integer_cst (flags, d_ushort_type)); ++ ++ /* ushort depth; (not implemented) */ ++ this->layout_field (build_zero_cst (d_ushort_type)); + + /* void *deallocator; + OffsetTypeInfo[] m_offTi; (not implemented) +--- a/src/gcc/diagnostic-format-sarif.cc ++++ b/src/gcc/diagnostic-format-sarif.cc +@@ -189,11 +189,14 @@ private: + make_thread_flow_location_object (const diagnostic_event &event, + int path_event_idx); + json::array *maybe_make_kinds_array (diagnostic_event::meaning m) const; +- json::object *maybe_make_physical_location_object (location_t loc); ++ json::object * ++ maybe_make_physical_location_object (location_t loc, ++ int column_override); + json::object *make_artifact_location_object (location_t loc); + json::object *make_artifact_location_object (const char *filename); + json::object *make_artifact_location_object_for_pwd () const; +- json::object *maybe_make_region_object (location_t loc) const; ++ json::object *maybe_make_region_object (location_t loc, ++ int column_override) const; + json::object *maybe_make_region_object_for_context (location_t loc) const; + json::object *make_region_object_for_hint (const fixit_hint &hint) const; + json::object *make_multiformat_message_string (const char *msg) const; +@@ -771,7 +774,9 @@ sarif_builder::make_location_object (const rich_location &rich_loc, + location_t loc = rich_loc.get_loc (); + + /* "physicalLocation" property (SARIF v2.1.0 section 3.28.3). */ +- if (json::object *phs_loc_obj = maybe_make_physical_location_object (loc)) ++ if (json::object *phs_loc_obj ++ = maybe_make_physical_location_object (loc, ++ rich_loc.get_column_override ())) + location_obj->set ("physicalLocation", phs_loc_obj); + + /* "logicalLocations" property (SARIF v2.1.0 section 3.28.4). */ +@@ -790,7 +795,8 @@ sarif_builder::make_location_object (const diagnostic_event &event) + + /* "physicalLocation" property (SARIF v2.1.0 section 3.28.3). */ + location_t loc = event.get_location (); +- if (json::object *phs_loc_obj = maybe_make_physical_location_object (loc)) ++ if (json::object *phs_loc_obj ++ = maybe_make_physical_location_object (loc, 0)) + location_obj->set ("physicalLocation", phs_loc_obj); + + /* "logicalLocations" property (SARIF v2.1.0 section 3.28.4). */ +@@ -805,12 +811,15 @@ sarif_builder::make_location_object (const diagnostic_event &event) + return location_obj; + } + +-/* Make a physicalLocation object (SARIF v2.1.0 section 3.29) for LOC, +- or return NULL; +- Add any filename to the m_artifacts. */ ++/* Make a physicalLocation object (SARIF v2.1.0 section 3.29) for LOC. ++ ++ If COLUMN_OVERRIDE is non-zero, then use it as the column number ++ if LOC has no column information. */ + + json::object * +-sarif_builder::maybe_make_physical_location_object (location_t loc) ++sarif_builder:: ++maybe_make_physical_location_object (location_t loc, ++ int column_override) + { + if (loc <= BUILTINS_LOCATION || LOCATION_FILE (loc) == NULL) + return NULL; +@@ -823,7 +832,8 @@ sarif_builder::maybe_make_physical_location_object (location_t loc) + m_filenames.add (LOCATION_FILE (loc)); + + /* "region" property (SARIF v2.1.0 section 3.29.4). */ +- if (json::object *region_obj = maybe_make_region_object (loc)) ++ if (json::object *region_obj = maybe_make_region_object (loc, ++ column_override)) + phys_loc_obj->set ("region", region_obj); + + /* "contextRegion" property (SARIF v2.1.0 section 3.29.5). */ +@@ -929,10 +939,17 @@ sarif_builder::get_sarif_column (expanded_location exploc) const + } + + /* Make a region object (SARIF v2.1.0 section 3.30) for LOC, +- or return NULL. */ ++ or return NULL. ++ ++ If COLUMN_OVERRIDE is non-zero, then use it as the column number ++ if LOC has no column information. ++ ++ We only support text properties of regions ("text regions"), ++ not binary properties ("binary regions"); see 3.30.1. */ + + json::object * +-sarif_builder::maybe_make_region_object (location_t loc) const ++sarif_builder::maybe_make_region_object (location_t loc, ++ int column_override) const + { + location_t caret_loc = get_pure_location (loc); + +@@ -951,24 +968,48 @@ sarif_builder::maybe_make_region_object (location_t loc) const + if (exploc_finish.file !=exploc_caret.file) + return NULL; + ++ /* We can have line == 0 in the presence of "#" lines. ++ SARIF requires lines > 0, so if we hit this case we don't have a ++ way of validly representing the region as SARIF; bail out. */ ++ if (exploc_start.line <= 0) ++ return nullptr; ++ + json::object *region_obj = new json::object (); + + /* "startLine" property (SARIF v2.1.0 section 3.30.5) */ + region_obj->set_integer ("startLine", exploc_start.line); + +- /* "startColumn" property (SARIF v2.1.0 section 3.30.6) */ +- region_obj->set_integer ("startColumn", get_sarif_column (exploc_start)); ++ /* "startColumn" property (SARIF v2.1.0 section 3.30.6). ++ ++ We use column == 0 to mean the whole line, so omit the column ++ information for this case, unless COLUMN_OVERRIDE is non-zero, ++ (for handling certain awkward lexer diagnostics) */ ++ ++ if (exploc_start.column == 0 && column_override) ++ /* Use the provided column number. */ ++ exploc_start.column = column_override; ++ ++ if (exploc_start.column > 0) ++ { ++ int start_column = get_sarif_column (exploc_start); ++ region_obj->set_integer ("startColumn", start_column); ++ } + + /* "endLine" property (SARIF v2.1.0 section 3.30.7) */ +- if (exploc_finish.line != exploc_start.line) ++ if (exploc_finish.line != exploc_start.line ++ && exploc_finish.line > 0) + region_obj->set_integer ("endLine", exploc_finish.line); + + /* "endColumn" property (SARIF v2.1.0 section 3.30.8). +- This expresses the column immediately beyond the range. */ +- { +- int next_column = sarif_builder::get_sarif_column (exploc_finish) + 1; +- region_obj->set_integer ("endColumn", next_column); +- } ++ This expresses the column immediately beyond the range. ++ ++ We use column == 0 to mean the whole line, so omit the column ++ information for this case. */ ++ if (exploc_finish.column > 0) ++ { ++ int next_column = get_sarif_column (exploc_finish) + 1; ++ region_obj->set_integer ("endColumn", next_column); ++ } + + return region_obj; + } +@@ -1001,13 +1042,20 @@ sarif_builder::maybe_make_region_object_for_context (location_t loc) const + if (exploc_finish.file !=exploc_caret.file) + return NULL; + ++ /* We can have line == 0 in the presence of "#" lines. ++ SARIF requires lines > 0, so if we hit this case we don't have a ++ way of validly representing the region as SARIF; bail out. */ ++ if (exploc_start.line <= 0) ++ return nullptr; ++ + json::object *region_obj = new json::object (); + + /* "startLine" property (SARIF v2.1.0 section 3.30.5) */ + region_obj->set_integer ("startLine", exploc_start.line); + + /* "endLine" property (SARIF v2.1.0 section 3.30.7) */ +- if (exploc_finish.line != exploc_start.line) ++ if (exploc_finish.line != exploc_start.line ++ && exploc_finish.line > 0) + region_obj->set_integer ("endLine", exploc_finish.line); + + /* "snippet" property (SARIF v2.1.0 section 3.30.13). */ +@@ -1273,7 +1321,7 @@ sarif_builder::make_multiformat_message_string (const char *msg) const + return message_obj; + } + +-#define SARIF_SCHEMA "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json" ++#define SARIF_SCHEMA "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json" + #define SARIF_VERSION "2.1.0" + + /* Make a top-level sarifLog object (SARIF v2.1.0 section 3.13). +--- a/src/gcc/except.cc ++++ b/src/gcc/except.cc +@@ -541,7 +541,8 @@ duplicate_eh_regions_1 (struct duplicate_eh_regions_data *data, + eh_region new_r; + + new_r = gen_eh_region (old_r->type, outer); +- gcc_assert (!data->eh_map->put (old_r, new_r)); ++ bool existed = data->eh_map->put (old_r, new_r); ++ gcc_assert (!existed); + + switch (old_r->type) + { +@@ -586,7 +587,8 @@ duplicate_eh_regions_1 (struct duplicate_eh_regions_data *data, + continue; + + new_lp = gen_eh_landing_pad (new_r); +- gcc_assert (!data->eh_map->put (old_lp, new_lp)); ++ bool existed = data->eh_map->put (old_lp, new_lp); ++ gcc_assert (!existed); + + new_lp->post_landing_pad + = data->label_map (old_lp->post_landing_pad, data->label_map_data); +--- a/src/gcc/explow.cc ++++ b/src/gcc/explow.cc +@@ -745,6 +745,21 @@ force_reg (machine_mode mode, rtx x) + return temp; + } + ++/* Like simplify_gen_subreg, but force OP into a new register if the ++ subreg cannot be formed directly. */ ++ ++rtx ++force_subreg (machine_mode outermode, rtx op, ++ machine_mode innermode, poly_uint64 byte) ++{ ++ rtx x = simplify_gen_subreg (outermode, op, innermode, byte); ++ if (x) ++ return x; ++ ++ op = copy_to_mode_reg (innermode, op); ++ return simplify_gen_subreg (outermode, op, innermode, byte); ++} ++ + /* If X is a memory ref, copy its contents to a new temp reg and return + that reg. Otherwise, return X. */ + +--- a/src/gcc/explow.h ++++ b/src/gcc/explow.h +@@ -42,6 +42,8 @@ extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode); + Args are mode (in case value is a constant) and the value. */ + extern rtx force_reg (machine_mode, rtx); + ++extern rtx force_subreg (machine_mode, rtx, machine_mode, poly_uint64); ++ + /* Return given rtx, copied into a new temp reg if it was in memory. */ + extern rtx force_not_mem (rtx); + +--- a/src/gcc/expr.cc ++++ b/src/gcc/expr.cc +@@ -12427,7 +12427,7 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, + + if (!op0) + op0 = expand_expr_real (treeop0, NULL_RTX, VOIDmode, modifier, +- NULL, inner_reference_p); ++ NULL, inner_reference_p || mode == BLKmode); + + /* If the input and output modes are both the same, we are done. */ + if (mode == GET_MODE (op0)) +@@ -12464,7 +12464,9 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, + op0 = convert_modes (mode, GET_MODE (op0), op0, + TYPE_UNSIGNED (TREE_TYPE (treeop0))); + /* If the output type is a bit-field type, do an extraction. */ +- else if (reduce_bit_field) ++ else if (reduce_bit_field ++ && mode != BLKmode ++ && (MEM_P (op0) || !COMPLEX_MODE_P (GET_MODE (op0)))) + return extract_bit_field (op0, TYPE_PRECISION (type), 0, + TYPE_UNSIGNED (type), NULL_RTX, + mode, mode, false, NULL); +@@ -12488,6 +12490,11 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, + + emit_move_insn (target, op0); + op0 = target; ++ ++ if (reduce_bit_field && mode != BLKmode) ++ return extract_bit_field (op0, TYPE_PRECISION (type), 0, ++ TYPE_UNSIGNED (type), NULL_RTX, ++ mode, mode, false, NULL); + } + + /* If OP0 is (now) a MEM, we need to deal with alignment issues. If the +--- a/src/gcc/fold-const.cc ++++ b/src/gcc/fold-const.cc +@@ -3441,7 +3441,7 @@ operand_compare::operand_equal_p (const_tree arg0, const_tree arg1, + break; + } + +- return OP_SAME (0); ++ return OP_SAME_WITH_NULL (0); + + + case tcc_comparison: +@@ -3578,9 +3578,15 @@ operand_compare::operand_equal_p (const_tree arg0, const_tree arg1, + + /* Non-FIELD_DECL operands can appear in C++ templates. */ + if (TREE_CODE (field0) != FIELD_DECL +- || TREE_CODE (field1) != FIELD_DECL +- || !operand_equal_p (DECL_FIELD_OFFSET (field0), +- DECL_FIELD_OFFSET (field1), flags) ++ || TREE_CODE (field1) != FIELD_DECL) ++ return false; ++ ++ if (!DECL_FIELD_OFFSET (field0) ++ || !DECL_FIELD_OFFSET (field1)) ++ return field0 == field1; ++ ++ if (!operand_equal_p (DECL_FIELD_OFFSET (field0), ++ DECL_FIELD_OFFSET (field1), flags) + || !operand_equal_p (DECL_FIELD_BIT_OFFSET (field0), + DECL_FIELD_BIT_OFFSET (field1), + flags)) +@@ -4992,6 +4998,9 @@ decode_field_reference (location_t loc, tree *exp_, HOST_WIDE_INT *pbitsize, + || *pbitsize < 0 + || offset != 0 + || TREE_CODE (inner) == PLACEHOLDER_EXPR ++ /* We eventually want to build a larger reference and need to take ++ the address of this. */ ++ || (!REFERENCE_CLASS_P (inner) && !DECL_P (inner)) + /* Reject out-of-bound accesses (PR79731). */ + || (! AGGREGATE_TYPE_P (TREE_TYPE (inner)) + && compare_tree_int (TYPE_SIZE (TREE_TYPE (inner)), +@@ -12078,17 +12087,29 @@ fold_binary_loc (location_t loc, enum tree_code code, tree type, + { + tree rtype = TREE_TYPE (TREE_TYPE (arg0)); + if (real_onep (TREE_IMAGPART (arg1))) +- return +- fold_build2_loc (loc, COMPLEX_EXPR, type, +- negate_expr (fold_build1_loc (loc, IMAGPART_EXPR, +- rtype, arg0)), +- fold_build1_loc (loc, REALPART_EXPR, rtype, arg0)); ++ { ++ if (TREE_CODE (arg0) != COMPLEX_EXPR) ++ arg0 = save_expr (arg0); ++ tree iarg0 = fold_build1_loc (loc, IMAGPART_EXPR, ++ rtype, arg0); ++ tree rarg0 = fold_build1_loc (loc, REALPART_EXPR, ++ rtype, arg0); ++ return fold_build2_loc (loc, COMPLEX_EXPR, type, ++ negate_expr (iarg0), ++ rarg0); ++ } + else if (real_minus_onep (TREE_IMAGPART (arg1))) +- return +- fold_build2_loc (loc, COMPLEX_EXPR, type, +- fold_build1_loc (loc, IMAGPART_EXPR, rtype, arg0), +- negate_expr (fold_build1_loc (loc, REALPART_EXPR, +- rtype, arg0))); ++ { ++ if (TREE_CODE (arg0) != COMPLEX_EXPR) ++ arg0 = save_expr (arg0); ++ tree iarg0 = fold_build1_loc (loc, IMAGPART_EXPR, ++ rtype, arg0); ++ tree rarg0 = fold_build1_loc (loc, REALPART_EXPR, ++ rtype, arg0); ++ return fold_build2_loc (loc, COMPLEX_EXPR, type, ++ iarg0, ++ negate_expr (rarg0)); ++ } + } + + /* Optimize z * conj(z) for floating point complex numbers. +@@ -13631,6 +13652,8 @@ fold_ternary_loc (location_t loc, enum tree_code code, tree type, + { + unsigned HOST_WIDE_INT bitpos = tree_to_uhwi (op2); + unsigned bitsize = TYPE_PRECISION (TREE_TYPE (arg1)); ++ if (BYTES_BIG_ENDIAN) ++ bitpos = TYPE_PRECISION (type) - bitpos - bitsize; + wide_int tem = (wi::to_wide (arg0) + & wi::shifted_mask (bitpos, bitsize, true, + TYPE_PRECISION (type))); +--- a/src/gcc/fortran/ChangeLog ++++ b/src/gcc/fortran/ChangeLog +@@ -1,3 +1,317 @@ ++2025-02-07 Paul Thomas ++ ++ Backported from master: ++ 2025-02-06 Paul Thomas ++ ++ PR fortran/118750 ++ * resolve.cc (resolve_assoc_var): If the target expression has ++ a rank, do not use gfc_expression_rank, since it will return 0 ++ if the function is elemental. Resolution will have produced the ++ correct rank. ++ ++2025-02-07 Paul Thomas ++ ++ Backported from master: ++ 2025-01-11 Paul Thomas ++ ++ PR fortran/108434 ++ * class.cc (generate_finalization_wrapper): To avoid memory ++ leaks from callocs, return immediately if the derived type ++ error flag is set. ++ * decl.cc (build_struct): If the declaration of a derived type ++ or class component does not have a deferred arrayspec, correct, ++ set the error flag of the derived type and emit an immediate ++ error. ++ ++2025-02-06 Harald Anlauf ++ ++ Backported from master: ++ 2025-01-31 Harald Anlauf ++ ++ PR fortran/108454 ++ * resolve.cc (resolve_common_blocks): Initialize variable. ++ (resolve_symbol): If a symbol is already registered with a COMMON ++ block, do not search for an interface with the same name. ++ ++2025-02-04 Paul Thomas ++ ++ Backported from master: ++ 2024-11-06 Paul Thomas ++ ++ PR fortran/117434 ++ * interface.cc (gfc_compare_actual_formal): Skip 'Expected a ++ procedure pointer error' if the formal argument typespec has an ++ interface and the type of the actual arg is BT_PROCEDURE. ++ ++2025-01-31 Harald Anlauf ++ ++ Backported from master: ++ 2025-01-27 Harald Anlauf ++ ++ PR fortran/110993 ++ * frontend-passes.cc (check_externals_procedure): Do not compare ++ interfaces of a non-bind(C) procedure against a bind(C) global one. ++ (check_against_globals): Use local name from rename-on-use in the ++ search for interfaces. ++ ++2025-01-29 Harald Anlauf ++ ++ Backported from master: ++ 2025-01-29 Harald Anlauf ++ ++ PR fortran/118683 ++ * trans-expr.cc (gfc_conv_procedure_call): The bounds update for ++ passing to assumed-rank dummies shall also handle component ++ references besides inquiry references. ++ ++2025-01-24 Harald Anlauf ++ ++ Backported from master: ++ 2025-01-20 Harald Anlauf ++ ++ PR fortran/81978 ++ * trans-array.cc (gfc_conv_array_parameter): Do not copy back data ++ if actual array parameter has the PARAMETER attribute. ++ * trans-expr.cc (gfc_conv_subref_array_arg): Likewise. ++ ++2025-01-10 Harald Anlauf ++ ++ Backported from master: ++ 2025-01-03 Harald Anlauf ++ ++ PR fortran/106692 ++ * trans-expr.cc (gfc_conv_expr_op): Inhibit excessive optimization ++ of Cray pointers by treating them as volatile in comparisons. ++ ++2024-12-22 Paul Thomas ++ ++ Backported from master: ++ 2024-12-12 Paul Thomas ++ ++ PR fortran/117797 ++ * trans-array.cc (class_array_element_size): New function. ++ (gfc_get_array_span): Refactor, using class_array_element_size ++ to return the span for descriptors that are the _data component ++ of a class expression and then class dummy references. Revert ++ the conditions to those before r15-5083 tidying up using 'sym'. ++ ++2024-12-17 Paul Thomas ++ ++ Backported from master: ++ 2024-12-15 Paul Thomas ++ ++ PR fortran/117897 ++ * trans-expr.cc (gfc_trans_assignment_1): RHS pointer function ++ results must not be finalized. ++ ++2024-12-15 Paul Thomas ++ ++ PR fortran/117730 ++ PR fortran/84674 ++ * class.cc (add_proc_comp): If the present typebound procedure ++ component is abstract, unconditionally check the replacement. ++ Only reject a non_overridable if it has no overridden procedure ++ and the component is already present in the vtype. ++ ++2024-12-06 Jerry DeLisle ++ ++ Backported from master: ++ 2024-08-06 Jerry DeLisle ++ ++ PR fortran/109105 ++ * resolve.cc (CHECK_INTERFACES): New helper macro. ++ (resolve_operator): Replace use of snprintf with ++ gfc_error. ++ ++2024-12-06 Andrew Pinski ++ ++ Backported from master: ++ 2024-11-29 Andrew Pinski ++ ++ PR fortran/117843 ++ * trans-io.cc (gfc_trans_transfer): Add default case. ++ ++2024-12-06 Harald Anlauf ++ ++ Backported from master: ++ 2024-11-28 Harald Anlauf ++ ++ PR fortran/117791 ++ * trans-io.cc (gfc_trans_transfer): When an array index depends on ++ a function evaluation or an expression, do not use optimized array ++ I/O of an array section and fall back to normal scalarization. ++ ++2024-12-02 Harald Anlauf ++ ++ Backported from master: ++ 2024-11-26 Harald Anlauf ++ ++ PR fortran/117774 ++ * trans-expr.cc (gfc_conv_procedure_call): When passing an array ++ to an assumed-rank dummy, terminate search for array reference of ++ actual argument before an inquiry reference (e.g. INQUIRY_RE, ++ INQUIRY_IM) so that bounds update works properly. ++ ++2024-11-30 Paul Thomas ++ ++ Backported from master: ++ 2024-11-13 Paul Thomas ++ ++ PR fortran/105054 ++ * resolve.cc (get_temp_from_expr): If the pointer function has ++ a deferred character length, generate a new deferred charlen ++ for the temporary. ++ ++2024-11-27 Paul Thomas ++ ++ Backported from master: ++ 2024-11-26 Paul Thomas ++ ++ PR fortran/117763 ++ * trans-array.cc (gfc_get_array_span): Guard against derefences ++ of 'expr'. Clean up some typos. Use 'gfc_get_vptr_from_expr' ++ for clarity and apply a functional reversion of last section ++ that deals with class dummies. ++ ++2024-11-24 Paul Thomas ++ ++ PR fortran/84869 ++ * trans-expr.cc (trans_class_vptr_len_assignment): To access ++ the '_len' field, 're' must be unlimited polymorphic. ++ ++2024-11-23 Paul Thomas ++ ++ Backported from master: ++ 2024-11-11 Tomas Trnka ++ Paul Thomas ++ ++ PR fortran/116388 ++ * class.cc (finalize_component): Leading underscore in the name ++ of 'byte_stride' to suppress invalid finalization. ++ ++2024-11-23 Paul Thomas ++ ++ Backported from master: ++ 2024-11-11 Paul Thomas ++ ++ PR fortran/109345 ++ * trans-array.cc (gfc_get_array_span): Unlimited polymorphic ++ expressions are now treated separately since the span need not ++ be the same as the element size. ++ ++2024-11-22 Harald Anlauf ++ ++ Backported from master: ++ 2024-11-14 Harald Anlauf ++ ++ PR fortran/104819 ++ * trans-expr.cc (conv_null_actual): Helper function to handle ++ passing of NULL() to non-optional dummy arguments of non-bind(c) ++ procedures. ++ (gfc_conv_procedure_call): Use it for character dummies. ++ ++2024-11-14 Paul Thomas ++ ++ Backported from master: ++ 2024-11-01 Paul Thomas ++ ++ PR fortran/115700 ++ * resolve.cc (resolve_assoc_var): Extract a substring reference ++ with missing as well as non-constant start or end. ++ ++2024-11-14 Paul Thomas ++ ++ Backported from master: ++ 2024-10-31 Paul Thomas ++ ++ PR fortran/115700 ++ * resolve.cc (resolve_variable): The typespec of an expression, ++ which is not a substring, can be shared with a deferred length ++ associate name. ++ (resolve_assoc_var): Extract a substring reference with non- ++ constant start or end. Use it to flag up the need for array ++ associate name to be a pointer. ++ (resolve_block_construct): Change comment from past to future ++ tense. ++ ++2024-11-05 Paul Thomas ++ ++ PR fortran/115070 ++ PR fortran/115348 ++ * trans-expr.cc (gfc_trans_class_init_assign): If all the ++ components of the default initializer are null for a scalar, ++ build an empty statement to prevent prior declarations from ++ disappearing. ++ ++2024-11-01 Paul Thomas ++ ++ Backported from master: ++ 2024-10-25 Paul Thomas ++ ++ PR fortran/79685 ++ * decl.cc (match_data_constant): Find the symtree instead of ++ the symbol so the use renamed symbols are found. Pass this and ++ the derived type to gfc_match_structure_constructor. ++ * match.h: Update prototype of gfc_match_structure_contructor. ++ * primary.cc (gfc_match_structure_constructor): Remove call to ++ gfc_get_ha_sym_tree and use caller supplied symtree instead. ++ ++2024-10-25 Paul Thomas ++ ++ Backported from master: ++ 2024-07-16 Paul Thomas ++ ++ PR fortran/84868 ++ * simplify.cc (gfc_simplify_len_trim): If the argument is an ++ element of a parameter array, simplify all the elements and ++ build a new parameter array to hold the result, after checking ++ that it doesn't already exist. ++ * trans-expr.cc (gfc_get_interface_mapping_array) if a string ++ length is available, use it for the typespec. ++ (gfc_add_interface_mapping): Supply the se string length. ++ ++2024-09-20 Harald Anlauf ++ ++ Backported from master: ++ 2024-09-05 Harald Anlauf ++ ++ PR fortran/100273 ++ * trans-decl.cc (gfc_create_module_variable): Handle module ++ variable also when it is needed for the result specification ++ of a contained function. ++ ++2024-08-30 Harald Anlauf ++ ++ Backported from master: ++ 2024-08-29 Harald Anlauf ++ ++ PR fortran/116530 ++ * trans-io.cc (transfer_namelist_element): Prevent NULL pointer ++ dereference. ++ ++2024-08-06 Jakub Jelinek ++ ++ Backported from master: ++ 2024-08-01 Jakub Jelinek ++ ++ * trans-types.cc (gfc_get_array_descr_info): Don't test if ++ !integer_zerop (dtype_off), use fold_build_pointer_plus ++ unconditionally. ++ ++2024-08-05 Paul Thomas ++ ++ Backported from master: ++ 2024-07-18 Paul Thomas ++ ++ PR fortran/108889 ++ * gfortran.h: Add bit field 'allocated_in_scope' to gfc_symbol. ++ * trans-array.cc (gfc_array_allocate): Set 'allocated_in_scope' ++ after allocation if not a component reference. ++ (gfc_alloc_allocatable_for_assignment): If 'allocated_in_scope' ++ not set, not a component ref and not allocated, set the array ++ bounds and offset to give zero length in all dimensions. Then ++ set allocated_in_scope. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/fortran/class.cc ++++ b/src/gcc/fortran/class.cc +@@ -872,12 +872,23 @@ static void + add_proc_comp (gfc_symbol *vtype, const char *name, gfc_typebound_proc *tb) + { + gfc_component *c; +- +- if (tb->non_overridable && !tb->overridden) +- return; ++ bool is_abstract = false; + + c = gfc_find_component (vtype, name, true, true, NULL); + ++ /* If the present component typebound proc is abstract, the new version ++ should unconditionally be tested if it is a suitable replacement. */ ++ if (c && c->tb && c->tb->u.specific ++ && c->tb->u.specific->n.sym->attr.abstract) ++ is_abstract = true; ++ ++ /* Pass on the new tb being not overridable if a component is found and ++ either there is not an overridden specific or the present component ++ tb is abstract. This ensures that possible, viable replacements are ++ loaded. */ ++ if (tb->non_overridable && !tb->overridden && !is_abstract && c) ++ return; ++ + if (c == NULL) + { + /* Add procedure component. */ +@@ -1138,8 +1149,9 @@ finalize_component (gfc_expr *expr, gfc_symbol *derived, gfc_component *comp, + + gcc_assert (c); + +- /* Set scalar argument for storage_size. */ +- gfc_get_symbol ("comp_byte_stride", sub_ns, &byte_stride); ++ /* Set scalar argument for storage_size. A leading underscore in ++ the name prevents an unwanted finalization. */ ++ gfc_get_symbol ("_comp_byte_stride", sub_ns, &byte_stride); + byte_stride->ts = e->ts; + byte_stride->attr.flavor = FL_VARIABLE; + byte_stride->attr.value = 1; +@@ -1714,7 +1726,7 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns, + gfc_expr *ancestor_wrapper = NULL, *rank; + gfc_iterator *iter; + +- if (derived->attr.unlimited_polymorphic) ++ if (derived->attr.unlimited_polymorphic || derived->error) + { + vtab_final->initializer = gfc_get_null_expr (NULL); + return; +--- a/src/gcc/fortran/decl.cc ++++ b/src/gcc/fortran/decl.cc +@@ -376,6 +376,7 @@ match_data_constant (gfc_expr **result) + gfc_expr *expr; + match m; + locus old_loc; ++ gfc_symtree *symtree; + + m = gfc_match_literal_constant (&expr, 1); + if (m == MATCH_YES) +@@ -436,9 +437,11 @@ match_data_constant (gfc_expr **result) + if (m != MATCH_YES) + return m; + +- if (gfc_find_symbol (name, NULL, 1, &sym)) ++ if (gfc_find_sym_tree (name, NULL, 1, &symtree)) + return MATCH_ERROR; + ++ sym = symtree->n.sym; ++ + if (sym && sym->attr.generic) + dt_sym = gfc_find_dt_in_generic (sym); + +@@ -452,7 +455,7 @@ match_data_constant (gfc_expr **result) + return MATCH_ERROR; + } + else if (dt_sym && gfc_fl_struct (dt_sym->attr.flavor)) +- return gfc_match_structure_constructor (dt_sym, result); ++ return gfc_match_structure_constructor (dt_sym, symtree, result); + + /* Check to see if the value is an initialization array expression. */ + if (sym->value->expr_type == EXPR_ARRAY) +@@ -2417,11 +2420,24 @@ build_struct (const char *name, gfc_charlen *cl, gfc_expr **init, + } + else if (c->attr.allocatable) + { ++ const char *err = G_("Allocatable component of structure at %C must have " ++ "a deferred shape"); + if (c->as->type != AS_DEFERRED) + { +- gfc_error ("Allocatable component of structure at %C must have a " +- "deferred shape"); +- return false; ++ if (c->ts.type == BT_CLASS || c->ts.type == BT_DERIVED) ++ { ++ /* Issue an immediate error and allow this component to pass for ++ the sake of clean error recovery. Set the error flag for the ++ containing derived type so that finalizers are not built. */ ++ gfc_error_now (err); ++ s->sym->error = 1; ++ c->as->type = AS_DEFERRED; ++ } ++ else ++ { ++ gfc_error (err); ++ return false; ++ } + } + } + else +--- a/src/gcc/fortran/frontend-passes.cc ++++ b/src/gcc/fortran/frontend-passes.cc +@@ -5741,6 +5741,9 @@ check_externals_procedure (gfc_symbol *sym, locus *loc, + if (gsym->ns) + gfc_find_symbol (sym->name, gsym->ns, 0, &def_sym); + ++ if (gsym->bind_c && def_sym && def_sym->binding_label == NULL) ++ return 0; ++ + if (def_sym) + { + gfc_compare_actual_formal (&actual, def_sym->formal, 0, 0, 0, loc); +@@ -5837,6 +5840,10 @@ check_against_globals (gfc_symbol *sym) + + if (sym->binding_label) + sym_name = sym->binding_label; ++ else if (sym->attr.use_rename ++ && sym->ns->use_stmts->rename ++ && sym->ns->use_stmts->rename->local_name[0] != '\0') ++ sym_name = sym->ns->use_stmts->rename->local_name; + else + sym_name = sym->name; + +--- a/src/gcc/fortran/gfortran.h ++++ b/src/gcc/fortran/gfortran.h +@@ -1946,6 +1946,10 @@ typedef struct gfc_symbol + /* Set if this should be passed by value, but is not a VALUE argument + according to the Fortran standard. */ + unsigned pass_as_value:1; ++ /* Set if an allocatable array variable has been allocated in the current ++ scope. Used in the suppression of uninitialized warnings in reallocation ++ on assignment. */ ++ unsigned allocated_in_scope:1; + + /* Reference counter, used for memory management. + +--- a/src/gcc/fortran/interface.cc ++++ b/src/gcc/fortran/interface.cc +@@ -3495,12 +3495,17 @@ gfc_compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, + + skip_size_check: + +- /* Satisfy F03:12.4.1.3 by ensuring that a procedure pointer actual +- argument is provided for a procedure pointer formal argument. */ ++ /* Satisfy either: F03:12.4.1.3 by ensuring that a procedure pointer ++ actual argument is provided for a procedure pointer formal argument; ++ or: F08:12.5.2.9 (F18:15.5.2.10) by ensuring that the effective ++ argument shall be an external, internal, module, or dummy procedure. ++ The interfaces are checked elsewhere. */ + if (f->sym->attr.proc_pointer + && !((a->expr->expr_type == EXPR_VARIABLE + && (a->expr->symtree->n.sym->attr.proc_pointer + || gfc_is_proc_ptr_comp (a->expr))) ++ || (a->expr->ts.type == BT_PROCEDURE ++ && f->sym->ts.interface) + || (a->expr->expr_type == EXPR_FUNCTION + && is_procptr_result (a->expr)))) + { +--- a/src/gcc/fortran/match.h ++++ b/src/gcc/fortran/match.h +@@ -300,7 +300,7 @@ match gfc_match_bind_c_stmt (void); + match gfc_match_bind_c (gfc_symbol *, bool); + + /* primary.cc. */ +-match gfc_match_structure_constructor (gfc_symbol *, gfc_expr **); ++match gfc_match_structure_constructor (gfc_symbol *, gfc_symtree *, gfc_expr **); + match gfc_match_variable (gfc_expr **, int); + match gfc_match_equiv_variable (gfc_expr **); + match gfc_match_actual_arglist (int, gfc_actual_arglist **, bool = false); +--- a/src/gcc/fortran/primary.cc ++++ b/src/gcc/fortran/primary.cc +@@ -3520,18 +3520,16 @@ gfc_convert_to_structure_constructor (gfc_expr *e, gfc_symbol *sym, gfc_expr **c + + + match +-gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result) ++gfc_match_structure_constructor (gfc_symbol *sym, gfc_symtree *symtree, ++ gfc_expr **result) + { + match m; + gfc_expr *e; +- gfc_symtree *symtree; + bool t = true; + +- gfc_get_ha_sym_tree (sym->name, &symtree); +- + e = gfc_get_expr (); +- e->symtree = symtree; + e->expr_type = EXPR_FUNCTION; ++ e->symtree = symtree; + e->where = gfc_current_locus; + + gcc_assert (gfc_fl_struct (sym->attr.flavor) +--- a/src/gcc/fortran/resolve.cc ++++ b/src/gcc/fortran/resolve.cc +@@ -1040,7 +1040,7 @@ resolve_common_vars (gfc_common_head *common_block, bool named_common) + static void + resolve_common_blocks (gfc_symtree *common_root) + { +- gfc_symbol *sym; ++ gfc_symbol *sym = NULL; + gfc_gsymbol * gsym; + + if (common_root == NULL) +@@ -4137,15 +4137,23 @@ convert_to_numeric (gfc_expr *a, gfc_expr *b) + } + + /* Resolve an operator expression node. This can involve replacing the +- operation with a user defined function call. */ ++ operation with a user defined function call. CHECK_INTERFACES is a ++ helper macro. */ ++ ++#define CHECK_INTERFACES \ ++ { \ ++ match m = gfc_extend_expr (e); \ ++ if (m == MATCH_YES) \ ++ return true; \ ++ if (m == MATCH_ERROR) \ ++ return false; \ ++ } + + static bool + resolve_operator (gfc_expr *e) + { + gfc_expr *op1, *op2; + /* One error uses 3 names; additional space for wording (also via gettext). */ +- char msg[3*GFC_MAX_SYMBOL_LEN + 1 + 50]; +- bool dual_locus_error; + bool t = true; + + /* Reduce stacked parentheses to single pair */ +@@ -4195,8 +4203,6 @@ resolve_operator (gfc_expr *e) + if (t == false) + return false; + +- dual_locus_error = false; +- + /* op1 and op2 cannot both be BOZ. */ + if (op1 && op1->ts.type == BT_BOZ + && op2 && op2->ts.type == BT_BOZ) +@@ -4210,9 +4216,9 @@ resolve_operator (gfc_expr *e) + if ((op1 && op1->expr_type == EXPR_NULL) + || (op2 && op2->expr_type == EXPR_NULL)) + { +- snprintf (msg, sizeof (msg), +- _("Invalid context for NULL() pointer at %%L")); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Invalid context for NULL() pointer at %L", &e->where); ++ return false; + } + + switch (e->value.op.op) +@@ -4227,10 +4233,10 @@ resolve_operator (gfc_expr *e) + break; + } + +- snprintf (msg, sizeof (msg), +- _("Operand of unary numeric operator %%<%s%%> at %%L is %s"), +- gfc_op2string (e->value.op.op), gfc_typename (e)); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Operand of unary numeric operator %<%s%> at %L is %s", ++ gfc_op2string (e->value.op.op), &e->where, gfc_typename (e)); ++ return false; + + case INTRINSIC_PLUS: + case INTRINSIC_MINUS: +@@ -4244,10 +4250,10 @@ resolve_operator (gfc_expr *e) + Defer to a possibly overloading user-defined operator. */ + if (!gfc_op_rank_conformable (op1, op2)) + { +- dual_locus_error = true; +- snprintf (msg, sizeof (msg), +- _("Inconsistent ranks for operator at %%L and %%L")); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Inconsistent ranks for operator at %L and %L", ++ &op1->where, &op2->where); ++ return false; + } + + gfc_type_convert_binary (e, 1); +@@ -4255,16 +4261,21 @@ resolve_operator (gfc_expr *e) + } + + if (op1->ts.type == BT_DERIVED || op2->ts.type == BT_DERIVED) +- snprintf (msg, sizeof (msg), +- _("Unexpected derived-type entities in binary intrinsic " +- "numeric operator %%<%s%%> at %%L"), +- gfc_op2string (e->value.op.op)); ++ { ++ CHECK_INTERFACES ++ gfc_error ("Unexpected derived-type entities in binary intrinsic " ++ "numeric operator %<%s%> at %L", ++ gfc_op2string (e->value.op.op), &e->where); ++ return false; ++ } + else +- snprintf (msg, sizeof(msg), +- _("Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"), +- gfc_op2string (e->value.op.op), gfc_typename (op1), +- gfc_typename (op2)); +- goto bad_op; ++ { ++ CHECK_INTERFACES ++ gfc_error ("Operands of binary numeric operator %<%s%> at %L are %s/%s", ++ gfc_op2string (e->value.op.op), &e->where, gfc_typename (op1), ++ gfc_typename (op2)); ++ return false; ++ } + + case INTRINSIC_CONCAT: + if (op1->ts.type == BT_CHARACTER && op2->ts.type == BT_CHARACTER +@@ -4275,10 +4286,10 @@ resolve_operator (gfc_expr *e) + break; + } + +- snprintf (msg, sizeof (msg), +- _("Operands of string concatenation operator at %%L are %s/%s"), +- gfc_typename (op1), gfc_typename (op2)); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Operands of string concatenation operator at %L are %s/%s", ++ &e->where, gfc_typename (op1), gfc_typename (op2)); ++ return false; + + case INTRINSIC_AND: + case INTRINSIC_OR: +@@ -4318,12 +4329,11 @@ resolve_operator (gfc_expr *e) + goto simplify_op; + } + +- snprintf (msg, sizeof (msg), +- _("Operands of logical operator %%<%s%%> at %%L are %s/%s"), +- gfc_op2string (e->value.op.op), gfc_typename (op1), +- gfc_typename (op2)); +- +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Operands of logical operator %<%s%> at %L are %s/%s", ++ gfc_op2string (e->value.op.op), &e->where, gfc_typename (op1), ++ gfc_typename (op2)); ++ return false; + + case INTRINSIC_NOT: + /* Logical ops on integers become bitwise ops with -fdec. */ +@@ -4342,9 +4352,10 @@ resolve_operator (gfc_expr *e) + break; + } + +- snprintf (msg, sizeof (msg), _("Operand of .not. operator at %%L is %s"), +- gfc_typename (op1)); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Operand of .not. operator at %L is %s", &e->where, ++ gfc_typename (op1)); ++ return false; + + case INTRINSIC_GT: + case INTRINSIC_GT_OS: +@@ -4356,8 +4367,9 @@ resolve_operator (gfc_expr *e) + case INTRINSIC_LE_OS: + if (op1->ts.type == BT_COMPLEX || op2->ts.type == BT_COMPLEX) + { +- strcpy (msg, _("COMPLEX quantities cannot be compared at %L")); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("COMPLEX quantities cannot be compared at %L", &e->where); ++ return false; + } + + /* Fall through. */ +@@ -4427,10 +4439,10 @@ resolve_operator (gfc_expr *e) + Defer to a possibly overloading user-defined operator. */ + if (!gfc_op_rank_conformable (op1, op2)) + { +- dual_locus_error = true; +- snprintf (msg, sizeof (msg), +- _("Inconsistent ranks for operator at %%L and %%L")); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Inconsistent ranks for operator at %L and %L", ++ &op1->where, &op2->where); ++ return false; + } + + gfc_type_convert_binary (e, 1); +@@ -4464,18 +4476,22 @@ resolve_operator (gfc_expr *e) + } + + if (op1->ts.type == BT_LOGICAL && op2->ts.type == BT_LOGICAL) +- snprintf (msg, sizeof (msg), +- _("Logicals at %%L must be compared with %s instead of %s"), +- (e->value.op.op == INTRINSIC_EQ +- || e->value.op.op == INTRINSIC_EQ_OS) +- ? ".eqv." : ".neqv.", gfc_op2string (e->value.op.op)); ++ { ++ CHECK_INTERFACES ++ gfc_error ("Logicals at %L must be compared with %s instead of %s", ++ &e->where, ++ (e->value.op.op == INTRINSIC_EQ || e->value.op.op == INTRINSIC_EQ_OS) ++ ? ".eqv." : ".neqv.", gfc_op2string (e->value.op.op)); ++ } + else +- snprintf (msg, sizeof (msg), +- _("Operands of comparison operator %%<%s%%> at %%L are %s/%s"), +- gfc_op2string (e->value.op.op), gfc_typename (op1), +- gfc_typename (op2)); ++ { ++ CHECK_INTERFACES ++ gfc_error ("Operands of comparison operator %<%s%> at %L are %s/%s", ++ gfc_op2string (e->value.op.op), &e->where, gfc_typename (op1), ++ gfc_typename (op2)); ++ } + +- goto bad_op; ++ return false; + + case INTRINSIC_USER: + if (e->value.op.uop->op == NULL) +@@ -4483,28 +4499,29 @@ resolve_operator (gfc_expr *e) + const char *name = e->value.op.uop->name; + const char *guessed; + guessed = lookup_uop_fuzzy (name, e->value.op.uop->ns->uop_root); ++ CHECK_INTERFACES + if (guessed) +- snprintf (msg, sizeof (msg), +- _("Unknown operator %%<%s%%> at %%L; did you mean " +- "%%<%s%%>?"), name, guessed); ++ gfc_error ("Unknown operator %<%s%> at %L; did you mean " ++ "%<%s%>?", name, &e->where, guessed); + else +- snprintf (msg, sizeof (msg), _("Unknown operator %%<%s%%> at %%L"), +- name); ++ gfc_error ("Unknown operator %<%s%> at %L", name, &e->where); + } + else if (op2 == NULL) +- snprintf (msg, sizeof (msg), +- _("Operand of user operator %%<%s%%> at %%L is %s"), +- e->value.op.uop->name, gfc_typename (op1)); ++ { ++ CHECK_INTERFACES ++ gfc_error ("Operand of user operator %<%s%> at %L is %s", ++ e->value.op.uop->name, &e->where, gfc_typename (op1)); ++ } + else + { +- snprintf (msg, sizeof (msg), +- _("Operands of user operator %%<%s%%> at %%L are %s/%s"), +- e->value.op.uop->name, gfc_typename (op1), +- gfc_typename (op2)); + e->value.op.uop->op->sym->attr.referenced = 1; ++ CHECK_INTERFACES ++ gfc_error ("Operands of user operator %<%s%> at %L are %s/%s", ++ e->value.op.uop->name, &e->where, gfc_typename (op1), ++ gfc_typename (op2)); + } + +- goto bad_op; ++ return false; + + case INTRINSIC_PARENTHESES: + e->ts = op1->ts; +@@ -4582,10 +4599,10 @@ resolve_operator (gfc_expr *e) + e->rank = 0; + + /* Try user-defined operators, and otherwise throw an error. */ +- dual_locus_error = true; +- snprintf (msg, sizeof (msg), +- _("Inconsistent ranks for operator at %%L and %%L")); +- goto bad_op; ++ CHECK_INTERFACES ++ gfc_error ("Inconsistent ranks for operator at %L and %L", ++ &op1->where, &op2->where); ++ return false; + } + } + +@@ -4620,23 +4637,6 @@ simplify_op: + t = true; + } + return t; +- +-bad_op: +- +- { +- match m = gfc_extend_expr (e); +- if (m == MATCH_YES) +- return true; +- if (m == MATCH_ERROR) +- return false; +- } +- +- if (dual_locus_error) +- gfc_error (msg, &op1->where, &op2->where); +- else +- gfc_error (msg, &e->where); +- +- return false; + } + + +@@ -6011,6 +6011,15 @@ resolve_variable (gfc_expr *e) + e->ref = newref; + } + } ++ else if (sym->assoc && sym->ts.type == BT_CHARACTER && sym->ts.deferred) ++ { ++ gfc_ref *ref; ++ for (ref = e->ref; ref; ref = ref->next) ++ if (ref->type == REF_SUBSTRING) ++ break; ++ if (ref == NULL) ++ e->ts = sym->ts; ++ } + + if (e->ref && !gfc_resolve_ref (e)) + return false; +@@ -9538,7 +9547,7 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target) + || gfc_is_ptr_fcn (target)); + + /* Finally resolve if this is an array or not. */ +- if (target->expr_type == EXPR_FUNCTION ++ if (target->expr_type == EXPR_FUNCTION && target->rank == 0 + && (sym->ts.type == BT_CLASS || sym->ts.type == BT_DERIVED)) + { + gfc_expression_rank (target); +@@ -9676,6 +9685,15 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target) + /* Fix up the type-spec for CHARACTER types. */ + if (sym->ts.type == BT_CHARACTER && !sym->attr.select_type_temporary) + { ++ gfc_ref *ref; ++ for (ref = target->ref; ref; ref = ref->next) ++ if (ref->type == REF_SUBSTRING ++ && (ref->u.ss.start == NULL ++ || ref->u.ss.start->expr_type != EXPR_CONSTANT ++ || ref->u.ss.end == NULL ++ || ref->u.ss.end->expr_type != EXPR_CONSTANT)) ++ break; ++ + if (!sym->ts.u.cl) + sym->ts.u.cl = target->ts.u.cl; + +@@ -9694,9 +9712,10 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target) + gfc_get_int_expr (gfc_charlen_int_kind, NULL, + target->value.character.length); + } +- else if ((!sym->ts.u.cl->length +- || sym->ts.u.cl->length->expr_type != EXPR_CONSTANT) ++ else if (((!sym->ts.u.cl->length ++ || sym->ts.u.cl->length->expr_type != EXPR_CONSTANT) + && target->expr_type != EXPR_VARIABLE) ++ || ref) + { + if (!sym->ts.deferred) + { +@@ -9706,7 +9725,10 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target) + + /* This is reset in trans-stmt.cc after the assignment + of the target expression to the associate name. */ +- sym->attr.allocatable = 1; ++ if (ref && sym->as) ++ sym->attr.pointer = 1; ++ else ++ sym->attr.allocatable = 1; + } + } + +@@ -11290,8 +11312,9 @@ resolve_block_construct (gfc_code* code) + { + gfc_namespace *ns = code->ext.block.ns; + +- /* For an ASSOCIATE block, the associations (and their targets) are already +- resolved during resolve_symbol. Resolve the BLOCK's namespace. */ ++ /* For an ASSOCIATE block, the associations (and their targets) will be ++ resolved by gfc_resolve_symbol, during resolution of the BLOCK's ++ namespace. */ + gfc_resolve (ns); + } + +@@ -12429,6 +12452,17 @@ resolve_ptr_fcn_assign (gfc_code **code, gfc_namespace *ns) + tmp_ptr_expr->symtree->n.sym->attr.allocatable = 0; + tmp_ptr_expr->where = (*code)->loc; + ++ /* A new charlen is required to ensure that the variable string length ++ is different to that of the original lhs for deferred results. */ ++ if (s->result->ts.deferred && tmp_ptr_expr->ts.type == BT_CHARACTER) ++ { ++ tmp_ptr_expr->ts.u.cl = gfc_get_charlen(); ++ tmp_ptr_expr->ts.deferred = 1; ++ tmp_ptr_expr->ts.u.cl->next = gfc_current_ns->cl_list; ++ gfc_current_ns->cl_list = tmp_ptr_expr->ts.u.cl; ++ tmp_ptr_expr->symtree->n.sym->ts.u.cl = tmp_ptr_expr->ts.u.cl; ++ } ++ + this_code = build_assignment (EXEC_ASSIGN, + tmp_ptr_expr, (*code)->expr2, + NULL, NULL, (*code)->loc); +@@ -16320,6 +16354,12 @@ resolve_symbol (gfc_symbol *sym) + && sym->attr.if_source == IFSRC_UNKNOWN + && sym->ts.type == BT_UNKNOWN)) + { ++ /* A symbol in a common block might not have been resolved yet properly. ++ Do not try to find an interface with the same name. */ ++ if (sym->attr.flavor == FL_UNKNOWN && !sym->attr.intrinsic ++ && !sym->attr.generic && !sym->attr.external ++ && sym->attr.in_common) ++ goto skip_interfaces; + + /* If we find that a flavorless symbol is an interface in one of the + parent namespaces, find its symtree in this namespace, free the +@@ -16343,6 +16383,7 @@ resolve_symbol (gfc_symbol *sym) + } + } + ++skip_interfaces: + /* Otherwise give it a flavor according to such attributes as + it has. */ + if (sym->attr.flavor == FL_UNKNOWN && sym->attr.external == 0 +--- a/src/gcc/fortran/simplify.cc ++++ b/src/gcc/fortran/simplify.cc +@@ -4637,6 +4637,81 @@ gfc_simplify_len_trim (gfc_expr *e, gfc_expr *kind) + if (k == -1) + return &gfc_bad_expr; + ++ /* If the expression is either an array element or section, an array ++ parameter must be built so that the reference can be applied. Constant ++ references should have already been simplified away. All other cases ++ can proceed to translation, where kind conversion will occur silently. */ ++ if (e->expr_type == EXPR_VARIABLE ++ && e->ts.type == BT_CHARACTER ++ && e->symtree->n.sym->attr.flavor == FL_PARAMETER ++ && e->ref && e->ref->type == REF_ARRAY ++ && e->ref->u.ar.type != AR_FULL ++ && e->symtree->n.sym->value) ++ { ++ char name[2*GFC_MAX_SYMBOL_LEN + 12]; ++ gfc_namespace *ns = e->symtree->n.sym->ns; ++ gfc_symtree *st; ++ gfc_expr *expr; ++ gfc_expr *p; ++ gfc_constructor *c; ++ int cnt = 0; ++ ++ sprintf (name, "_len_trim_%s_%s", e->symtree->n.sym->name, ++ ns->proc_name->name); ++ st = gfc_find_symtree (ns->sym_root, name); ++ if (st) ++ goto already_built; ++ ++ /* Recursively call this fcn to simplify the constructor elements. */ ++ expr = gfc_copy_expr (e->symtree->n.sym->value); ++ expr->ts.type = BT_INTEGER; ++ expr->ts.kind = k; ++ expr->ts.u.cl = NULL; ++ c = gfc_constructor_first (expr->value.constructor); ++ for (; c; c = gfc_constructor_next (c)) ++ { ++ if (c->iterator) ++ continue; ++ ++ if (c->expr && c->expr->ts.type == BT_CHARACTER) ++ { ++ p = gfc_simplify_len_trim (c->expr, kind); ++ if (p == NULL) ++ goto clean_up; ++ gfc_replace_expr (c->expr, p); ++ cnt++; ++ } ++ } ++ ++ if (cnt) ++ { ++ /* Build a new parameter to take the result. */ ++ st = gfc_new_symtree (&ns->sym_root, name); ++ st->n.sym = gfc_new_symbol (st->name, ns); ++ st->n.sym->value = expr; ++ st->n.sym->ts = expr->ts; ++ st->n.sym->attr.dimension = 1; ++ st->n.sym->attr.save = SAVE_IMPLICIT; ++ st->n.sym->attr.flavor = FL_PARAMETER; ++ st->n.sym->as = gfc_copy_array_spec (e->symtree->n.sym->as); ++ gfc_set_sym_referenced (st->n.sym); ++ st->n.sym->refs++; ++ gfc_commit_symbol (st->n.sym); ++ ++already_built: ++ /* Build a return expression. */ ++ expr = gfc_copy_expr (e); ++ expr->ts = st->n.sym->ts; ++ expr->symtree = st; ++ gfc_expression_rank (expr); ++ return expr; ++ } ++ ++clean_up: ++ gfc_free_expr (expr); ++ return NULL; ++ } ++ + if (e->expr_type != EXPR_CONSTANT) + return NULL; + +--- a/src/gcc/fortran/trans-array.cc ++++ b/src/gcc/fortran/trans-array.cc +@@ -955,12 +955,34 @@ get_CFI_desc (gfc_symbol *sym, gfc_expr *expr, + } + + ++/* A helper function for gfc_get_array_span that returns the array element size ++ of a class entity. */ ++static tree ++class_array_element_size (tree decl, bool unlimited) ++{ ++ /* Class dummys usually require extraction from the saved descriptor, ++ which gfc_class_vptr_get does for us if necessary. This, of course, ++ will be a component of the class object. */ ++ tree vptr = gfc_class_vptr_get (decl); ++ /* If this is an unlimited polymorphic entity with a character payload, ++ the element size will be corrected for the string length. */ ++ if (unlimited) ++ return gfc_resize_class_size_with_len (NULL, ++ TREE_OPERAND (vptr, 0), ++ gfc_vptr_size_get (vptr)); ++ else ++ return gfc_vptr_size_get (vptr); ++} ++ ++ + /* Return the span of an array. */ + + tree + gfc_get_array_span (tree desc, gfc_expr *expr) + { + tree tmp; ++ gfc_symbol *sym = (expr && expr->expr_type == EXPR_VARIABLE) ? ++ expr->symtree->n.sym : NULL; + + if (is_pointer_array (desc) + || (get_CFI_desc (NULL, expr, &desc, NULL) +@@ -985,24 +1007,17 @@ gfc_get_array_span (tree desc, gfc_expr *expr) + else if (TREE_CODE (desc) == COMPONENT_REF + && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (desc)) + && GFC_CLASS_TYPE_P (TREE_TYPE (TREE_OPERAND (desc, 0)))) +- { +- /* The descriptor is a class _data field and so use the vtable +- size for the receiving span field. */ +- tmp = gfc_get_vptr_from_expr (desc); +- tmp = gfc_vptr_size_get (tmp); +- } +- else if (expr && expr->expr_type == EXPR_VARIABLE +- && expr->symtree->n.sym->ts.type == BT_CLASS ++ /* The descriptor is the _data field of a class object. */ ++ tmp = class_array_element_size (TREE_OPERAND (desc, 0), ++ UNLIMITED_POLY (expr)); ++ else if (sym && sym->ts.type == BT_CLASS + && expr->ref->type == REF_COMPONENT + && expr->ref->next->type == REF_ARRAY + && expr->ref->next->next == NULL +- && CLASS_DATA (expr->symtree->n.sym)->attr.dimension) +- { +- /* Dummys come in sometimes with the descriptor detached from +- the class field or declaration. */ +- tmp = gfc_class_vptr_get (expr->symtree->n.sym->backend_decl); +- tmp = gfc_vptr_size_get (tmp); +- } ++ && CLASS_DATA (sym)->attr.dimension) ++ /* Having escaped the above, this can only be a class array dummy. */ ++ tmp = class_array_element_size (sym->backend_decl, ++ UNLIMITED_POLY (sym)); + else + { + /* If none of the fancy stuff works, the span is the element +@@ -6561,6 +6576,8 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg, + else + gfc_add_expr_to_block (&se->pre, set_descriptor); + ++ expr->symtree->n.sym->allocated_in_scope = 1; ++ + return true; + } + +@@ -8636,6 +8653,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77, + bool good_allocatable; + bool ultimate_ptr_comp; + bool ultimate_alloc_comp; ++ bool readonly; + gfc_symbol *sym; + stmtblock_t block; + gfc_ref *ref; +@@ -8990,8 +9008,13 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77, + + gfc_start_block (&block); + +- /* Copy the data back. */ +- if (fsym == NULL || fsym->attr.intent != INTENT_IN) ++ /* Copy the data back. If input expr is read-only, e.g. a PARAMETER ++ array, copying back modified values is undefined behavior. */ ++ readonly = (expr->expr_type == EXPR_VARIABLE ++ && expr->symtree ++ && expr->symtree->n.sym->attr.flavor == FL_PARAMETER); ++ ++ if ((fsym == NULL || fsym->attr.intent != INTENT_IN) && !readonly) + { + tmp = build_call_expr_loc (input_location, + gfor_fndecl_in_unpack, 2, desc, ptr); +@@ -10932,6 +10955,8 @@ gfc_alloc_allocatable_for_assignment (gfc_loopinfo *loop, + stmtblock_t realloc_block; + stmtblock_t alloc_block; + stmtblock_t fblock; ++ stmtblock_t loop_pre_block; ++ gfc_ref *ref; + gfc_ss *rss; + gfc_ss *lss; + gfc_array_info *linfo; +@@ -11132,6 +11157,45 @@ gfc_alloc_allocatable_for_assignment (gfc_loopinfo *loop, + array1, build_int_cst (TREE_TYPE (array1), 0)); + cond_null= gfc_evaluate_now (cond_null, &fblock); + ++ /* If the data is null, set the descriptor bounds and offset. This suppresses ++ the maybe used uninitialized warning and forces the use of malloc because ++ the size is zero in all dimensions. Note that this block is only executed ++ if the lhs is unallocated and is only applied once in any namespace. ++ Component references are not subject to the warnings. */ ++ for (ref = expr1->ref; ref; ref = ref->next) ++ if (ref->type == REF_COMPONENT) ++ break; ++ ++ if (!expr1->symtree->n.sym->allocated_in_scope && !ref) ++ { ++ gfc_start_block (&loop_pre_block); ++ for (n = 0; n < expr1->rank; n++) ++ { ++ gfc_conv_descriptor_lbound_set (&loop_pre_block, desc, ++ gfc_rank_cst[n], ++ gfc_index_one_node); ++ gfc_conv_descriptor_ubound_set (&loop_pre_block, desc, ++ gfc_rank_cst[n], ++ gfc_index_zero_node); ++ gfc_conv_descriptor_stride_set (&loop_pre_block, desc, ++ gfc_rank_cst[n], ++ gfc_index_zero_node); ++ } ++ ++ tmp = gfc_conv_descriptor_offset (desc); ++ gfc_add_modify (&loop_pre_block, tmp, gfc_index_zero_node); ++ ++ tmp = fold_build2_loc (input_location, EQ_EXPR, ++ logical_type_node, array1, ++ build_int_cst (TREE_TYPE (array1), 0)); ++ tmp = build3_v (COND_EXPR, tmp, ++ gfc_finish_block (&loop_pre_block), ++ build_empty_stmt (input_location)); ++ gfc_prepend_expr_to_block (&loop->pre, tmp); ++ ++ expr1->symtree->n.sym->allocated_in_scope = 1; ++ } ++ + tmp = build3_v (COND_EXPR, cond_null, + build1_v (GOTO_EXPR, jump_label1), + build_empty_stmt (input_location)); +--- a/src/gcc/fortran/trans-decl.cc ++++ b/src/gcc/fortran/trans-decl.cc +@@ -5459,7 +5459,8 @@ gfc_create_module_variable (gfc_symbol * sym) + /* Create the variable. */ + pushdecl (decl); + gcc_assert (sym->ns->proc_name->attr.flavor == FL_MODULE +- || (sym->ns->parent->proc_name->attr.flavor == FL_MODULE ++ || ((sym->ns->parent->proc_name->attr.flavor == FL_MODULE ++ || sym->ns->parent->proc_name->attr.flavor == FL_PROCEDURE) + && sym->fn_result_spec)); + DECL_CONTEXT (decl) = sym->ns->proc_name->backend_decl; + rest_of_decl_compilation (decl, 1, 0); +--- a/src/gcc/fortran/trans-expr.cc ++++ b/src/gcc/fortran/trans-expr.cc +@@ -1723,10 +1723,12 @@ gfc_trans_class_init_assign (gfc_code *code) + { + stmtblock_t block; + tree tmp; ++ bool cmp_flag = true; + gfc_se dst,src,memsz; + gfc_expr *lhs, *rhs, *sz; + gfc_component *cmp; + gfc_symbol *sym; ++ gfc_ref *ref; + + gfc_start_block (&block); + +@@ -1744,24 +1746,25 @@ gfc_trans_class_init_assign (gfc_code *code) + rhs->rank = 0; + + /* Check def_init for initializers. If this is an INTENT(OUT) dummy with all +- default initializer components NULL, return NULL_TREE and use the passed +- value as required by F2018(8.5.10). */ ++ default initializer components NULL, use the passed value even though ++ F2018(8.5.10) asserts that it should considered to be undefined. This is ++ needed for consistency with other brands. */ + sym = code->expr1->expr_type == EXPR_VARIABLE ? code->expr1->symtree->n.sym + : NULL; + if (code->op != EXEC_ALLOCATE + && sym && sym->attr.dummy + && sym->attr.intent == INTENT_OUT) + { +- if (!lhs->ref && lhs->symtree->n.sym->attr.dummy) ++ ref = rhs->ref; ++ while (ref && ref->next) ++ ref = ref->next; ++ cmp = ref->u.c.component->ts.u.derived->components; ++ for (; cmp; cmp = cmp->next) + { +- cmp = rhs->ref->next->u.c.component->ts.u.derived->components; +- for (; cmp; cmp = cmp->next) +- { +- if (cmp->initializer) +- break; +- else if (!cmp->next) +- return NULL_TREE; +- } ++ if (cmp->initializer) ++ break; ++ else if (!cmp->next) ++ cmp_flag = false; + } + } + +@@ -1775,7 +1778,7 @@ gfc_trans_class_init_assign (gfc_code *code) + gfc_add_full_array_ref (lhs, tmparr); + tmp = gfc_trans_class_array_init_assign (rhs, lhs, code->expr1); + } +- else ++ else if (cmp_flag) + { + /* Scalar initialization needs the _data component. */ + gfc_add_data_component (lhs); +@@ -1805,6 +1808,8 @@ gfc_trans_class_init_assign (gfc_code *code) + tmp, build_empty_stmt (input_location)); + } + } ++ else ++ tmp = build_empty_stmt (input_location); + + if (code->expr1->symtree->n.sym->attr.dummy + && (code->expr1->symtree->n.sym->attr.optional +@@ -4020,6 +4025,19 @@ gfc_conv_expr_op (gfc_se * se, gfc_expr * expr) + + if (lop) + { ++ // Inhibit overeager optimization of Cray pointer comparisons (PR106692). ++ if (expr->value.op.op1->expr_type == EXPR_VARIABLE ++ && expr->value.op.op1->ts.type == BT_INTEGER ++ && expr->value.op.op1->symtree ++ && expr->value.op.op1->symtree->n.sym->attr.cray_pointer) ++ TREE_THIS_VOLATILE (lse.expr) = 1; ++ ++ if (expr->value.op.op2->expr_type == EXPR_VARIABLE ++ && expr->value.op.op2->ts.type == BT_INTEGER ++ && expr->value.op.op2->symtree ++ && expr->value.op.op2->symtree->n.sym->attr.cray_pointer) ++ TREE_THIS_VOLATILE (rse.expr) = 1; ++ + /* The result of logical ops is always logical_type_node. */ + tmp = fold_build2_loc (input_location, code, logical_type_node, + lse.expr, rse.expr); +@@ -4424,12 +4442,15 @@ gfc_get_interface_mapping_charlen (gfc_interface_mapping * mapping, + + static tree + gfc_get_interface_mapping_array (stmtblock_t * block, gfc_symbol * sym, +- gfc_packed packed, tree data) ++ gfc_packed packed, tree data, tree len) + { + tree type; + tree var; + +- type = gfc_typenode_for_spec (&sym->ts); ++ if (len != NULL_TREE && (TREE_CONSTANT (len) || VAR_P (len))) ++ type = gfc_get_character_type_len (sym->ts.kind, len); ++ else ++ type = gfc_typenode_for_spec (&sym->ts); + type = gfc_get_nodesc_array_type (type, sym->as, packed, + !sym->attr.target && !sym->attr.pointer + && !sym->attr.proc_pointer); +@@ -4576,7 +4597,8 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, + convert it to a boundless character type. */ + else if (!sym->attr.dimension && sym->ts.type == BT_CHARACTER) + { +- tmp = gfc_get_character_type_len (sym->ts.kind, NULL); ++ se->string_length = gfc_evaluate_now (se->string_length, &se->pre); ++ tmp = gfc_get_character_type_len (sym->ts.kind, se->string_length); + tmp = build_pointer_type (tmp); + if (sym->attr.pointer) + value = build_fold_indirect_ref_loc (input_location, +@@ -4595,7 +4617,7 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, + /* For character(*), use the actual argument's descriptor. */ + else if (sym->ts.type == BT_CHARACTER && !new_sym->ts.u.cl->length) + value = build_fold_indirect_ref_loc (input_location, +- se->expr); ++ se->expr); + + /* If the argument is an array descriptor, use it to determine + information about the actual argument's shape. */ +@@ -4609,7 +4631,8 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, + /* Create the replacement variable. */ + tmp = gfc_conv_descriptor_data_get (desc); + value = gfc_get_interface_mapping_array (&se->pre, sym, +- PACKED_NO, tmp); ++ PACKED_NO, tmp, ++ se->string_length); + + /* Use DESC to work out the upper bounds, strides and offset. */ + gfc_set_interface_mapping_bounds (&se->pre, TREE_TYPE (value), desc); +@@ -4617,7 +4640,8 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, + else + /* Otherwise we have a packed array. */ + value = gfc_get_interface_mapping_array (&se->pre, sym, +- PACKED_FULL, se->expr); ++ PACKED_FULL, se->expr, ++ se->string_length); + + new_sym->backend_decl = value; + } +@@ -5004,6 +5028,7 @@ gfc_conv_subref_array_arg (gfc_se *se, gfc_expr * expr, int g77, + gfc_se work_se; + gfc_se *parmse; + bool pass_optional; ++ bool readonly; + + pass_optional = fsym && fsym->attr.optional && sym && sym->attr.optional; + +@@ -5220,8 +5245,14 @@ gfc_conv_subref_array_arg (gfc_se *se, gfc_expr * expr, int g77, + + /* Wrap the whole thing up by adding the second loop to the post-block + and following it by the post-block of the first loop. In this way, +- if the temporary needs freeing, it is done after use! */ +- if (intent != INTENT_IN) ++ if the temporary needs freeing, it is done after use! ++ If input expr is read-only, e.g. a PARAMETER array, copying back ++ modified values is undefined behavior. */ ++ readonly = (expr->expr_type == EXPR_VARIABLE ++ && expr->symtree ++ && expr->symtree->n.sym->attr.flavor == FL_PARAMETER); ++ ++ if ((intent != INTENT_IN) && !readonly) + { + gfc_add_block_to_block (&parmse->post, &loop2.pre); + gfc_add_block_to_block (&parmse->post, &loop2.post); +@@ -6215,6 +6246,76 @@ conv_dummy_value (gfc_se * parmse, gfc_expr * e, gfc_symbol * fsym, + } + + ++/* Helper function for the handling of NULL() actual arguments associated with ++ non-optional dummy variables. Argument parmse should already be set up. */ ++static void ++conv_null_actual (gfc_se * parmse, gfc_expr * e, gfc_symbol * fsym) ++{ ++ gcc_assert (fsym && !fsym->attr.optional); ++ ++ /* Obtain the character length for a NULL() actual with a character ++ MOLD argument. Otherwise substitute a suitable dummy length. ++ Here we handle only non-optional dummies of non-bind(c) procedures. */ ++ if (fsym->ts.type == BT_CHARACTER) ++ { ++ if (e->ts.type == BT_CHARACTER ++ && e->symtree->n.sym->ts.type == BT_CHARACTER) ++ { ++ /* MOLD is present. Substitute a temporary character NULL pointer. ++ For an assumed-rank dummy we need a descriptor that passes the ++ correct rank. */ ++ if (fsym->as && fsym->as->type == AS_ASSUMED_RANK) ++ { ++ tree rank; ++ tree tmp = parmse->expr; ++ tmp = gfc_conv_scalar_to_descriptor (parmse, tmp, fsym->attr); ++ rank = gfc_conv_descriptor_rank (tmp); ++ gfc_add_modify (&parmse->pre, rank, ++ build_int_cst (TREE_TYPE (rank), e->rank)); ++ parmse->expr = gfc_build_addr_expr (NULL_TREE, tmp); ++ } ++ else ++ { ++ tree tmp = gfc_create_var (TREE_TYPE (parmse->expr), "null"); ++ gfc_add_modify (&parmse->pre, tmp, ++ build_zero_cst (TREE_TYPE (tmp))); ++ parmse->expr = gfc_build_addr_expr (NULL_TREE, tmp); ++ } ++ ++ /* Ensure that a usable length is available. */ ++ if (parmse->string_length == NULL_TREE) ++ { ++ gfc_typespec *ts = &e->symtree->n.sym->ts; ++ ++ if (ts->u.cl->length != NULL ++ && ts->u.cl->length->expr_type == EXPR_CONSTANT) ++ gfc_conv_const_charlen (ts->u.cl); ++ ++ if (ts->u.cl->backend_decl) ++ parmse->string_length = ts->u.cl->backend_decl; ++ } ++ } ++ else if (e->ts.type == BT_UNKNOWN && parmse->string_length == NULL_TREE) ++ { ++ /* MOLD is not present. Pass length of associated dummy character ++ argument if constant, or zero. */ ++ if (fsym->ts.u.cl->length != NULL ++ && fsym->ts.u.cl->length->expr_type == EXPR_CONSTANT) ++ { ++ gfc_conv_const_charlen (fsym->ts.u.cl); ++ parmse->string_length = fsym->ts.u.cl->backend_decl; ++ } ++ else ++ { ++ parmse->string_length = gfc_create_var (gfc_charlen_type_node, ++ "slen"); ++ gfc_add_modify (&parmse->pre, parmse->string_length, ++ build_zero_cst (gfc_charlen_type_node)); ++ } ++ } ++ } ++} ++ + + /* Generate code for a procedure call. Note can return se->post != NULL. + If se->direct_byref is set then se->expr contains the return parameter. +@@ -7150,7 +7251,13 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, + /* Change AR_FULL to a (:,:,:) ref to force bounds update. */ + gfc_ref *ref; + for (ref = e->ref; ref->next; ref = ref->next) +- ; ++ { ++ if (ref->next->type == REF_INQUIRY) ++ break; ++ if (ref->type == REF_ARRAY ++ && ref->u.ar.type != AR_ELEMENT) ++ break; ++ }; + if (ref->u.ar.type == AR_FULL + && ref->u.ar.as->type != AS_ASSUMED_SIZE) + ref->u.ar.type = AR_SECTION; +@@ -7364,6 +7471,15 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, + gfc_conv_const_charlen (e->symtree->n.sym->ts.u.cl); + parmse.string_length = e->symtree->n.sym->ts.u.cl->backend_decl; + } ++ ++ /* Obtain the character length for a NULL() actual with a character ++ MOLD argument. Otherwise substitute a suitable dummy length. ++ Here we handle non-optional dummies of non-bind(c) procedures. */ ++ if (e->expr_type == EXPR_NULL ++ && fsym->ts.type == BT_CHARACTER ++ && !fsym->attr.optional ++ && !(sym->attr.is_bind_c && is_CFI_desc (fsym, NULL))) ++ conv_null_actual (&parmse, e, fsym); + } + + /* If any actual argument of the procedure is allocatable and passed +@@ -10142,7 +10258,7 @@ trans_class_vptr_len_assignment (stmtblock_t *block, gfc_expr * le, + vptr_expr = NULL; + se.expr = gfc_class_vptr_get (GFC_DECL_SAVED_DESCRIPTOR ( + re->symtree->n.sym->backend_decl)); +- if (to_len) ++ if (to_len && UNLIMITED_POLY (re)) + from_len = gfc_class_len_get (GFC_DECL_SAVED_DESCRIPTOR ( + re->symtree->n.sym->backend_decl)); + } +@@ -12196,13 +12312,20 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag, + && (expr2->ts.type == BT_CLASS || gfc_may_be_finalized (expr2->ts))) + { + expr2->must_finalize = 1; ++ /* F2023 7.5.6.3: If an executable construct references a nonpointer ++ function, the result is finalized after execution of the innermost ++ executable construct containing the reference. */ ++ if (expr2->expr_type == EXPR_FUNCTION ++ && (gfc_expr_attr (expr2).pointer ++ || (expr2->ts.type == BT_CLASS && CLASS_DATA (expr2)->attr.class_pointer))) ++ expr2->must_finalize = 0; + /* F2008 4.5.6.3 para 5: If an executable construct references a + structure constructor or array constructor, the entity created by + the constructor is finalized after execution of the innermost + executable construct containing the reference. + These finalizations were later deleted by the Combined Techical + Corrigenda 1 TO 4 for fortran 2008 (f08/0011). */ +- if (gfc_notification_std (GFC_STD_F2018_DEL) ++ else if (gfc_notification_std (GFC_STD_F2018_DEL) + && (expr2->expr_type == EXPR_STRUCTURE + || expr2->expr_type == EXPR_ARRAY)) + expr2->must_finalize = 0; +--- a/src/gcc/fortran/trans-io.cc ++++ b/src/gcc/fortran/trans-io.cc +@@ -1692,7 +1692,8 @@ transfer_namelist_element (stmtblock_t * block, const char * var_name, + gcc_assert (sym || c); + + /* Build the namelist object name. */ +- if (sym && !sym->attr.use_only && sym->attr.use_rename) ++ if (sym && !sym->attr.use_only && sym->attr.use_rename ++ && sym->ns->use_stmts->rename) + string = gfc_build_cstring_const (sym->ns->use_stmts->rename->local_name); + else + string = gfc_build_cstring_const (var_name); +@@ -2632,6 +2633,28 @@ gfc_trans_transfer (gfc_code * code) + || gfc_expr_attr (expr).pointer)) + goto scalarize; + ++ /* With array-bounds checking enabled, force scalarization in some ++ situations, e.g., when an array index depends on a function ++ evaluation or an expression and possibly has side-effects. */ ++ if ((gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) ++ && ref ++ && ref->u.ar.type == AR_SECTION) ++ { ++ for (n = 0; n < ref->u.ar.dimen; n++) ++ if (ref->u.ar.dimen_type[n] == DIMEN_ELEMENT ++ && ref->u.ar.start[n]) ++ { ++ switch (ref->u.ar.start[n]->expr_type) ++ { ++ case EXPR_FUNCTION: ++ case EXPR_OP: ++ goto scalarize; ++ default: ++ break; ++ } ++ } ++ } ++ + if (!(gfc_bt_struct (expr->ts.type) + || expr->ts.type == BT_CLASS) + && ref && ref->next == NULL +--- a/src/gcc/fortran/trans-types.cc ++++ b/src/gcc/fortran/trans-types.cc +@@ -3527,14 +3527,11 @@ gfc_get_array_descr_info (const_tree type, struct array_descr_info *info) + { + rank = 1; + info->ndimensions = 1; +- t = base_decl; +- if (!integer_zerop (dtype_off)) +- t = fold_build_pointer_plus (t, dtype_off); ++ t = fold_build_pointer_plus (base_decl, dtype_off); + dtype = TYPE_MAIN_VARIANT (get_dtype_type_node ()); + field = gfc_advance_chain (TYPE_FIELDS (dtype), GFC_DTYPE_RANK); + rank_off = byte_position (field); +- if (!integer_zerop (dtype_off)) +- t = fold_build_pointer_plus (t, rank_off); ++ t = fold_build_pointer_plus (t, rank_off); + + t = build1 (NOP_EXPR, build_pointer_type (TREE_TYPE (field)), t); + t = build1 (INDIRECT_REF, TREE_TYPE (field), t); +--- a/src/gcc/function.cc ++++ b/src/gcc/function.cc +@@ -3746,6 +3746,8 @@ assign_parms (tree fndecl) + now that all parameters have been copied out of hard registers. */ + emit_insn (all.first_conversion_insn); + ++ do_pending_stack_adjust (); ++ + /* Estimate reload stack alignment from scalar return mode. */ + if (SUPPORTS_STACK_ALIGNMENT) + { +--- a/src/gcc/genautomata.cc ++++ b/src/gcc/genautomata.cc +@@ -8348,7 +8348,8 @@ output_default_latencies (void) + if ((col = (col+1) % 8) == 0) + fputs ("\n ", output_file); + decl = description->decls[i]; +- gcc_assert (j++ == DECL_INSN_RESERV (decl)->insn_num); ++ gcc_assert (j == DECL_INSN_RESERV (decl)->insn_num); ++ ++j; + fprintf (output_file, "% 4d,", + DECL_INSN_RESERV (decl)->default_latency); + } +--- a/src/gcc/gimple-expr.cc ++++ b/src/gcc/gimple-expr.cc +@@ -406,14 +406,12 @@ remove_suffix (char *name, int len) + { + int i; + +- for (i = 2; i < 7 && len > i; i++) +- { +- if (name[len - i] == '.') +- { +- name[len - i] = '\0'; +- break; +- } +- } ++ for (i = 2; i < 7 && len > i; i++) ++ if (name[len - i] == '.') ++ { ++ name[len - i] = '\0'; ++ break; ++ } + } + + /* Create a new temporary name with PREFIX. Return an identifier. */ +@@ -430,8 +428,6 @@ create_tmp_var_name (const char *prefix) + char *preftmp = ASTRDUP (prefix); + + remove_suffix (preftmp, strlen (preftmp)); +- clean_symbol_name (preftmp); +- + prefix = preftmp; + } + +--- a/src/gcc/gimple-lower-bitint.cc ++++ b/src/gcc/gimple-lower-bitint.cc +@@ -2142,6 +2142,7 @@ bitint_large_huge::handle_stmt (gimple *stmt, tree idx) + idx), + gimple_assign_rhs2 (stmt), idx); + case SSA_NAME: ++ case PAREN_EXPR: + case INTEGER_CST: + return handle_operand (gimple_assign_rhs1 (stmt), idx); + CASE_CONVERT: +@@ -4192,7 +4193,7 @@ bitint_large_huge::lower_addsub_overflow (tree obj, gimple *stmt) + else + { + m_data_cnt = data_cnt; +- if (TYPE_UNSIGNED (type0)) ++ if (TYPE_UNSIGNED (type0) || prec0 >= 0) + rhs1 = build_zero_cst (m_limb_type); + else + { +@@ -4210,7 +4211,7 @@ bitint_large_huge::lower_addsub_overflow (tree obj, gimple *stmt) + rhs1 = add_cast (m_limb_type, gimple_assign_lhs (g)); + } + } +- if (TYPE_UNSIGNED (type1)) ++ if (TYPE_UNSIGNED (type1) || prec1 >= 0) + rhs2 = build_zero_cst (m_limb_type); + else + { +@@ -5606,7 +5607,9 @@ bitint_large_huge::lower_stmt (gimple *stmt) + || gimple_store_p (stmt) + || gimple_assign_load_p (stmt) + || eq_p +- || mergeable_cast_p) ++ || mergeable_cast_p ++ || (is_gimple_assign (stmt) ++ && gimple_assign_rhs_code (stmt) == PAREN_EXPR)) + { + lhs = lower_mergeable_stmt (stmt, cmp_code, cmp_op1, cmp_op2); + if (!eq_p) +@@ -6224,11 +6227,20 @@ gimple_lower_bitint (void) + tree p = build_int_cst (TREE_TYPE (n), + TYPE_PRECISION (type)); + if (TREE_CODE (n) == INTEGER_CST) +- m = fold_build2 (MINUS_EXPR, TREE_TYPE (n), p, n); ++ { ++ if (integer_zerop (n)) ++ m = n; ++ else ++ m = fold_build2 (MINUS_EXPR, TREE_TYPE (n), p, n); ++ } + else + { ++ tree tem = make_ssa_name (TREE_TYPE (n)); ++ g = gimple_build_assign (tem, MINUS_EXPR, p, n); ++ gsi_insert_before (&gsi, g, GSI_SAME_STMT); ++ gimple_set_location (g, loc); + m = make_ssa_name (TREE_TYPE (n)); +- g = gimple_build_assign (m, MINUS_EXPR, p, n); ++ g = gimple_build_assign (m, TRUNC_MOD_EXPR, tem, p); + gsi_insert_before (&gsi, g, GSI_SAME_STMT); + gimple_set_location (g, loc); + } +--- a/src/gcc/gimple-match-exports.cc ++++ b/src/gcc/gimple-match-exports.cc +@@ -323,23 +323,29 @@ maybe_resimplify_conditional_op (gimple_seq *seq, gimple_match_op *res_op, + } + + /* If the "then" value is a gimple value and the "else" value matters, +- create a VEC_COND_EXPR between them, then see if it can be further ++ create a (VEC_)COND_EXPR between them, then see if it can be further + simplified. */ + gimple_match_op new_op; + if (res_op->cond.else_value +- && VECTOR_TYPE_P (res_op->type) + && gimple_simplified_result_is_gimple_val (res_op)) + { +- tree len = res_op->cond.len; +- if (!len) +- new_op.set_op (VEC_COND_EXPR, res_op->type, +- res_op->cond.cond, res_op->ops[0], +- res_op->cond.else_value); ++ if (VECTOR_TYPE_P (res_op->type)) ++ { ++ tree len = res_op->cond.len; ++ if (!len) ++ new_op.set_op (VEC_COND_EXPR, res_op->type, ++ res_op->cond.cond, res_op->ops[0], ++ res_op->cond.else_value); ++ else ++ new_op.set_op (IFN_VCOND_MASK_LEN, res_op->type, ++ res_op->cond.cond, res_op->ops[0], ++ res_op->cond.else_value, ++ res_op->cond.len, res_op->cond.bias); ++ } + else +- new_op.set_op (IFN_VCOND_MASK_LEN, res_op->type, ++ new_op.set_op (COND_EXPR, res_op->type, + res_op->cond.cond, res_op->ops[0], +- res_op->cond.else_value, +- res_op->cond.len, res_op->cond.bias); ++ res_op->cond.else_value); + *res_op = new_op; + return gimple_resimplify3 (seq, res_op, valueize); + } +--- a/src/gcc/gimple-range-cache.cc ++++ b/src/gcc/gimple-range-cache.cc +@@ -953,9 +953,7 @@ ranger_cache::ranger_cache (int not_executable_flag, bool use_imm_uses) + : m_gori (not_executable_flag), + m_exit (use_imm_uses) + { +- m_workback.create (0); +- m_workback.safe_grow_cleared (last_basic_block_for_fn (cfun)); +- m_workback.truncate (0); ++ m_workback = vNULL; + m_temporal = new temporal_cache; + // If DOM info is available, spawn an oracle as well. + if (dom_info_available_p (CDI_DOMINATORS)) +@@ -1239,13 +1237,16 @@ ranger_cache::block_range (vrange &r, basic_block bb, tree name, bool calc) + gimple *def_stmt = SSA_NAME_DEF_STMT (name); + basic_block def_bb = NULL; + if (def_stmt) +- def_bb = gimple_bb (def_stmt);; ++ def_bb = gimple_bb (def_stmt); + if (!def_bb) + { + // If we get to the entry block, this better be a default def + // or range_on_entry was called for a block not dominated by +- // the def. +- gcc_checking_assert (SSA_NAME_IS_DEFAULT_DEF (name)); ++ // the def. But it could be also SSA_NAME defined by a statement ++ // not yet in the IL (such as queued edge insertion), in that case ++ // just punt. ++ if (!SSA_NAME_IS_DEFAULT_DEF (name)) ++ return false; + def_bb = ENTRY_BLOCK_PTR_FOR_FN (cfun); + } + +@@ -1507,7 +1508,7 @@ ranger_cache::fill_block_cache (tree name, basic_block bb, basic_block def_bb) + // Visit each block back to the DEF. Initialize each one to UNDEFINED. + // m_visited at the end will contain all the blocks that we needed to set + // the range_on_entry cache for. +- m_workback.quick_push (bb); ++ m_workback.safe_push (bb); + undefined.set_undefined (); + m_on_entry.set_bb_range (name, bb, undefined); + gcc_checking_assert (m_update->empty_p ()); +@@ -1581,7 +1582,7 @@ ranger_cache::fill_block_cache (tree name, basic_block bb, basic_block def_bb) + // the list. + gcc_checking_assert (!m_on_entry.bb_range_p (name, pred)); + m_on_entry.set_bb_range (name, pred, undefined); +- m_workback.quick_push (pred); ++ m_workback.safe_push (pred); + } + } + +@@ -1676,7 +1677,7 @@ ranger_cache::range_from_dom (vrange &r, tree name, basic_block start_bb, + + // This block has an outgoing range. + if (m_gori.has_edge_range_p (name, bb)) +- m_workback.quick_push (prev_bb); ++ m_workback.safe_push (prev_bb); + else + { + // Normally join blocks don't carry any new range information on +@@ -1700,7 +1701,7 @@ ranger_cache::range_from_dom (vrange &r, tree name, basic_block start_bb, + break; + } + if (all_dom) +- m_workback.quick_push (prev_bb); ++ m_workback.safe_push (prev_bb); + } + } + +--- a/src/gcc/gimple-range-edge.cc ++++ b/src/gcc/gimple-range-edge.cc +@@ -147,8 +147,14 @@ gimple_outgoing_range::calc_switch_ranges (gswitch *sw) + // Remove the case range from the default case. + int_range_max def_range (type, low, high); + range_cast (def_range, type); +- def_range.invert (); +- default_range.intersect (def_range); ++ // If all possible values are taken, set default_range to UNDEFINED. ++ if (def_range.varying_p ()) ++ default_range.set_undefined (); ++ else ++ { ++ def_range.invert (); ++ default_range.intersect (def_range); ++ } + + // Create/union this case with anything on else on the edge. + int_range_max case_range (type, low, high); +--- a/src/gcc/gimple-range-fold.cc ++++ b/src/gcc/gimple-range-fold.cc +@@ -108,26 +108,6 @@ fur_source::register_relation (edge e ATTRIBUTE_UNUSED, + { + } + +-// This version of fur_source will pick a range up off an edge. +- +-class fur_edge : public fur_source +-{ +-public: +- fur_edge (edge e, 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; +-private: +- edge m_edge; +-}; +- +-// Instantiate an edge based fur_source. +- +-inline +-fur_edge::fur_edge (edge e, range_query *q) : fur_source (q) +-{ +- m_edge = e; +-} +- + // Get the value of EXPR on edge m_edge. + + bool +--- a/src/gcc/gimple-range-fold.h ++++ b/src/gcc/gimple-range-fold.h +@@ -142,6 +142,20 @@ protected: + relation_oracle *m_oracle; + }; + ++ ++// This version of fur_source will pick a range up off an edge. ++ ++class fur_edge : public fur_source ++{ ++public: ++ fur_edge (edge e, range_query *q = NULL) : fur_source (q) ++ { m_edge = e; } ++ virtual bool get_operand (vrange &r, tree expr) override; ++ virtual bool get_phi_operand (vrange &r, tree expr, edge e) override; ++private: ++ edge m_edge; ++}; ++ + // 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 +--- a/src/gcc/gimple-range.cc ++++ b/src/gcc/gimple-range.cc +@@ -711,194 +711,6 @@ disable_ranger (struct function *fun) + bitmap_obstack_release (NULL); + } + +-// ------------------------------------------------------------------------ +- +-// If there is a non-varying value associated with NAME, return true and the +-// range in R. +- +-bool +-assume_query::assume_range_p (vrange &r, tree name) +-{ +- if (global.get_range (r, name)) +- return !r.varying_p (); +- return false; +-} +- +-// Query used by GORI to pick up any known value on entry to a block. +- +-bool +-assume_query::range_of_expr (vrange &r, tree expr, gimple *stmt) +-{ +- if (!gimple_range_ssa_p (expr)) +- return get_tree_range (r, expr, stmt); +- +- if (!global.get_range (r, expr)) +- r.set_varying (TREE_TYPE (expr)); +- return true; +-} +- +-// If the current function returns an integral value, and has a single return +-// statement, it will calculate any SSA_NAMES it can determine ranges for +-// assuming the function returns 1. +- +-assume_query::assume_query () +-{ +- basic_block exit_bb = EXIT_BLOCK_PTR_FOR_FN (cfun); +- if (single_pred_p (exit_bb)) +- { +- basic_block bb = single_pred (exit_bb); +- gimple_stmt_iterator gsi = gsi_last_nondebug_bb (bb); +- if (gsi_end_p (gsi)) +- return; +- gimple *s = gsi_stmt (gsi); +- if (!is_a (s)) +- return; +- greturn *gret = as_a (s); +- tree op = gimple_return_retval (gret); +- if (!gimple_range_ssa_p (op)) +- return; +- tree lhs_type = TREE_TYPE (op); +- if (!irange::supports_p (lhs_type)) +- return; +- +- unsigned prec = TYPE_PRECISION (lhs_type); +- int_range<2> lhs_range (lhs_type, wi::one (prec), wi::one (prec)); +- global.set_range (op, lhs_range); +- +- gimple *def = SSA_NAME_DEF_STMT (op); +- if (!def || gimple_get_lhs (def) != op) +- return; +- fur_stmt src (gret, this); +- calculate_stmt (def, lhs_range, src); +- } +-} +- +-// Evaluate operand OP on statement S, using the provided LHS range. +-// If successful, set the range in the global table, then visit OP's def stmt. +- +-void +-assume_query::calculate_op (tree op, gimple *s, vrange &lhs, fur_source &src) +-{ +- Value_Range op_range (TREE_TYPE (op)); +- if (m_gori.compute_operand_range (op_range, s, lhs, op, src) +- && !op_range.varying_p ()) +- { +- // Set the global range, merging if there is already a range. +- global.merge_range (op, op_range); +- gimple *def_stmt = SSA_NAME_DEF_STMT (op); +- if (def_stmt && gimple_get_lhs (def_stmt) == op) +- calculate_stmt (def_stmt, op_range, src); +- } +-} +- +-// Evaluate PHI statement, using the provided LHS range. +-// Check each constant argument predecessor if it can be taken +-// provide LHS to any symbolic arguments, and process their def statements. +- +-void +-assume_query::calculate_phi (gphi *phi, vrange &lhs_range, fur_source &src) +-{ +- for (unsigned x= 0; x < gimple_phi_num_args (phi); x++) +- { +- tree arg = gimple_phi_arg_def (phi, x); +- Value_Range arg_range (TREE_TYPE (arg)); +- if (gimple_range_ssa_p (arg)) +- { +- // A symbol arg will be the LHS value. +- arg_range = lhs_range; +- range_cast (arg_range, TREE_TYPE (arg)); +- if (!global.get_range (arg_range, arg)) +- { +- global.set_range (arg, arg_range); +- gimple *def_stmt = SSA_NAME_DEF_STMT (arg); +- if (def_stmt && gimple_get_lhs (def_stmt) == arg) +- calculate_stmt (def_stmt, arg_range, src); +- } +- } +- else if (get_tree_range (arg_range, arg, NULL)) +- { +- // If this is a constant value that differs from LHS, this +- // edge cannot be taken. +- arg_range.intersect (lhs_range); +- if (arg_range.undefined_p ()) +- continue; +- // Otherwise check the condition feeding this edge. +- edge e = gimple_phi_arg_edge (phi, x); +- check_taken_edge (e, src); +- } +- } +-} +- +-// If an edge is known to be taken, examine the outgoing edge to see +-// if it carries any range information that can also be evaluated. +- +-void +-assume_query::check_taken_edge (edge e, fur_source &src) +-{ +- gimple *stmt = gimple_outgoing_range_stmt_p (e->src); +- if (stmt && is_a (stmt)) +- { +- int_range<2> cond; +- gcond_edge_range (cond, e); +- calculate_stmt (stmt, cond, src); +- } +-} +- +-// Evaluate statement S which produces range LHS_RANGE. +- +-void +-assume_query::calculate_stmt (gimple *s, vrange &lhs_range, fur_source &src) +-{ +- gimple_range_op_handler handler (s); +- if (handler) +- { +- tree op = gimple_range_ssa_p (handler.operand1 ()); +- if (op) +- calculate_op (op, s, lhs_range, src); +- op = gimple_range_ssa_p (handler.operand2 ()); +- if (op) +- calculate_op (op, s, lhs_range, src); +- } +- else if (is_a (s)) +- { +- calculate_phi (as_a (s), lhs_range, src); +- // Don't further check predecessors of blocks with PHIs. +- return; +- } +- +- // Even if the walk back terminates before the top, if this is a single +- // predecessor block, see if the predecessor provided any ranges to get here. +- if (single_pred_p (gimple_bb (s))) +- check_taken_edge (single_pred_edge (gimple_bb (s)), src); +-} +- +-// Show everything that was calculated. +- +-void +-assume_query::dump (FILE *f) +-{ +- fprintf (f, "Assumption details calculated:\n"); +- for (unsigned i = 0; i < num_ssa_names; i++) +- { +- tree name = ssa_name (i); +- if (!name || !gimple_range_ssa_p (name)) +- continue; +- tree type = TREE_TYPE (name); +- if (!Value_Range::supports_type_p (type)) +- continue; +- +- Value_Range assume_range (type); +- if (assume_range_p (assume_range, name)) +- { +- print_generic_expr (f, name, TDF_SLIM); +- fprintf (f, " -> "); +- assume_range.dump (f); +- fputc ('\n', f); +- } +- } +- fprintf (f, "------------------------------\n"); +-} +- + // --------------------------------------------------------------------------- + + +--- a/src/gcc/gimple-range.h ++++ b/src/gcc/gimple-range.h +@@ -83,23 +83,6 @@ 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_lazy_cache global; +- gori_compute m_gori; +-}; +- + // DOM based ranger for fast VRP. + // This must be processed in DOM order, and does only basic range operations. + +--- a/src/gcc/gimple-ssa-isolate-paths.cc ++++ b/src/gcc/gimple-ssa-isolate-paths.cc +@@ -62,6 +62,8 @@ check_loadstore (gimple *stmt, tree op, tree, void *data) + return false; + } + ++static vec *bb_split_points; ++ + /* Insert a trap after SI and split the block after the trap. */ + + static void +@@ -104,14 +106,20 @@ insert_trap (gimple_stmt_iterator *si_p, tree op) + gsi_insert_after (si_p, seq, GSI_NEW_STMT); + if (stmt_ends_bb_p (stmt)) + { +- split_block (gimple_bb (stmt), stmt); ++ if (dom_info_available_p (CDI_POST_DOMINATORS)) ++ bb_split_points->safe_push (stmt); ++ else ++ split_block (gimple_bb (stmt), stmt); + return; + } + } + else + gsi_insert_before (si_p, seq, GSI_NEW_STMT); + +- split_block (gimple_bb (new_stmt), new_stmt); ++ if (dom_info_available_p (CDI_POST_DOMINATORS)) ++ bb_split_points->safe_push (new_stmt); ++ else ++ split_block (gimple_bb (new_stmt), new_stmt); + *si_p = gsi_for_stmt (stmt); + } + +@@ -842,6 +850,8 @@ static void + find_explicit_erroneous_behavior (void) + { + basic_block bb; ++ auto_vec local_bb_split_points; ++ bb_split_points = &local_bb_split_points; + + FOR_EACH_BB_FN (bb, cfun) + { +@@ -883,6 +893,14 @@ find_explicit_erroneous_behavior (void) + warn_return_addr_local (bb, return_stmt); + } + } ++ ++ free_dominance_info (CDI_POST_DOMINATORS); ++ ++ /* Perform delayed splitting of blocks. */ ++ for (gimple *stmt : local_bb_split_points) ++ split_block (gimple_bb (stmt), stmt); ++ ++ bb_split_points = NULL; + } + + /* Search the function for statements which, if executed, would cause +@@ -939,7 +957,6 @@ gimple_ssa_isolate_erroneous_paths (void) + /* We scramble the CFG and loop structures a bit, clean up + appropriately. We really should incrementally update the + loop structures, in theory it shouldn't be that hard. */ +- free_dominance_info (CDI_POST_DOMINATORS); + if (cfg_altered) + { + free_dominance_info (CDI_DOMINATORS); +--- a/src/gcc/gimple-ssa-store-merging.cc ++++ b/src/gcc/gimple-ssa-store-merging.cc +@@ -1933,14 +1933,15 @@ encode_tree_to_bitpos (tree expr, unsigned char *ptr, int bitlen, int bitpos, + unsigned int total_bytes) + { + unsigned int first_byte = bitpos / BITS_PER_UNIT; +- bool sub_byte_op_p = ((bitlen % BITS_PER_UNIT) +- || (bitpos % BITS_PER_UNIT) +- || !int_mode_for_size (bitlen, 0).exists ()); + bool empty_ctor_p + = (TREE_CODE (expr) == CONSTRUCTOR + && CONSTRUCTOR_NELTS (expr) == 0 + && TYPE_SIZE_UNIT (TREE_TYPE (expr)) +- && tree_fits_uhwi_p (TYPE_SIZE_UNIT (TREE_TYPE (expr)))); ++ && tree_fits_uhwi_p (TYPE_SIZE_UNIT (TREE_TYPE (expr)))); ++ bool sub_byte_op_p = ((bitlen % BITS_PER_UNIT) ++ || (bitpos % BITS_PER_UNIT) ++ || (!int_mode_for_size (bitlen, 0).exists () ++ && !empty_ctor_p)); + + if (!sub_byte_op_p) + { +@@ -3244,6 +3245,10 @@ imm_store_chain_info::coalesce_immediate_stores () + unsigned int min_order = first_order; + unsigned first_nonmergeable_int_order = ~0U; + unsigned HOST_WIDE_INT this_end = end; ++ unsigned HOST_WIDE_INT this_bitregion_start ++ = new_bitregion_start; ++ unsigned HOST_WIDE_INT this_bitregion_end ++ = new_bitregion_end; + k = i; + first_nonmergeable_order = ~0U; + for (unsigned int j = i + 1; j < len; ++j) +@@ -3267,6 +3272,19 @@ imm_store_chain_info::coalesce_immediate_stores () + k = 0; + break; + } ++ if (info2->bitregion_start ++ < this_bitregion_start) ++ this_bitregion_start = info2->bitregion_start; ++ if (info2->bitregion_end ++ > this_bitregion_end) ++ this_bitregion_end = info2->bitregion_end; ++ if (((this_bitregion_end - this_bitregion_start ++ + 1) / BITS_PER_UNIT) ++ > (unsigned) param_store_merging_max_size) ++ { ++ k = 0; ++ break; ++ } + k = j; + min_order = MIN (min_order, info2->order); + this_end = MAX (this_end, +@@ -5334,7 +5352,9 @@ pass_store_merging::process_store (gimple *stmt) + || !bitsize.is_constant (&const_bitsize) + || !bitpos.is_constant (&const_bitpos) + || !bitregion_start.is_constant (&const_bitregion_start) +- || !bitregion_end.is_constant (&const_bitregion_end)) ++ || !bitregion_end.is_constant (&const_bitregion_end) ++ || ((const_bitregion_end - const_bitregion_start + 1) / BITS_PER_UNIT ++ > (unsigned) param_store_merging_max_size)) + return terminate_all_aliasing_chains (NULL, stmt); + + if (!ins_stmt) +--- a/src/gcc/gimple-ssa-strength-reduction.cc ++++ b/src/gcc/gimple-ssa-strength-reduction.cc +@@ -473,7 +473,8 @@ get_alternative_base (tree base) + aff.offset = 0; + expr = aff_combination_to_tree (&aff); + +- gcc_assert (!alt_base_map->put (base, base == expr ? NULL : expr)); ++ bool existed = alt_base_map->put (base, base == expr ? NULL : expr); ++ gcc_assert (!existed); + + return expr == base ? NULL : expr; + } +@@ -791,7 +792,8 @@ base_cand_from_table (tree base_in) + static void + add_cand_for_stmt (gimple *gs, slsr_cand_t c) + { +- gcc_assert (!stmt_cand_map->put (gs, c)); ++ bool existed = stmt_cand_map->put (gs, c); ++ gcc_assert (!existed); + } + + /* Given PHI which contains a phi statement, determine whether it +--- a/src/gcc/gimple-ssa-warn-access.cc ++++ b/src/gcc/gimple-ssa-warn-access.cc +@@ -606,7 +606,8 @@ maybe_warn_nonstring_arg (tree fndecl, GimpleOrTree exp) + { + if (tree arrbnd = TYPE_DOMAIN (type)) + { +- if ((arrbnd = TYPE_MAX_VALUE (arrbnd))) ++ if ((arrbnd = TYPE_MAX_VALUE (arrbnd)) ++ && TREE_CODE (arrbnd) == INTEGER_CST) + { + asize = wi::to_offset (arrbnd) + 1; + known_size = true; +@@ -1932,52 +1933,49 @@ matching_alloc_calls_p (tree alloc_decl, tree dealloc_decl) + headers. + With AMATS set to the Allocator's Malloc ATtributes, + and RMATS set to Reallocator's Malloc ATtributes... */ +- for (tree amats = DECL_ATTRIBUTES (alloc_decl), +- rmats = DECL_ATTRIBUTES (dealloc_decl); +- (amats = lookup_attribute ("malloc", amats)) +- || (rmats = lookup_attribute ("malloc", rmats)); +- amats = amats ? TREE_CHAIN (amats) : NULL_TREE, +- rmats = rmats ? TREE_CHAIN (rmats) : NULL_TREE) +- { +- if (tree args = amats ? TREE_VALUE (amats) : NULL_TREE) +- if (tree adealloc = TREE_VALUE (args)) +- { +- if (DECL_P (adealloc) +- && fndecl_built_in_p (adealloc, BUILT_IN_NORMAL)) +- { +- built_in_function fncode = DECL_FUNCTION_CODE (adealloc); +- if (fncode == BUILT_IN_FREE || fncode == BUILT_IN_REALLOC) +- { +- if (realloc_kind == alloc_kind_t::builtin) +- return true; +- alloc_dealloc_kind = alloc_kind_t::builtin; +- } +- continue; +- } +- +- common_deallocs.add (adealloc); +- } ++ for (tree amats = DECL_ATTRIBUTES (alloc_decl); ++ (amats = lookup_attribute ("malloc", amats)); ++ amats = amats ? TREE_CHAIN (amats) : NULL_TREE) ++ if (tree args = amats ? TREE_VALUE (amats) : NULL_TREE) ++ if (tree adealloc = TREE_VALUE (args)) ++ { ++ if (DECL_P (adealloc) ++ && fndecl_built_in_p (adealloc, BUILT_IN_NORMAL)) ++ { ++ built_in_function fncode = DECL_FUNCTION_CODE (adealloc); ++ if (fncode == BUILT_IN_FREE || fncode == BUILT_IN_REALLOC) ++ { ++ if (realloc_kind == alloc_kind_t::builtin) ++ return true; ++ alloc_dealloc_kind = alloc_kind_t::builtin; ++ } ++ continue; ++ } + +- if (tree args = rmats ? TREE_VALUE (rmats) : NULL_TREE) +- if (tree ddealloc = TREE_VALUE (args)) +- { +- if (DECL_P (ddealloc) +- && fndecl_built_in_p (ddealloc, BUILT_IN_NORMAL)) +- { +- built_in_function fncode = DECL_FUNCTION_CODE (ddealloc); +- if (fncode == BUILT_IN_FREE || fncode == BUILT_IN_REALLOC) +- { +- if (alloc_dealloc_kind == alloc_kind_t::builtin) +- return true; +- realloc_dealloc_kind = alloc_kind_t::builtin; +- } +- continue; +- } ++ common_deallocs.add (adealloc); ++ } ++ for (tree rmats = DECL_ATTRIBUTES (dealloc_decl); ++ (rmats = lookup_attribute ("malloc", rmats)); ++ rmats = rmats ? TREE_CHAIN (rmats) : NULL_TREE) ++ if (tree args = rmats ? TREE_VALUE (rmats) : NULL_TREE) ++ if (tree ddealloc = TREE_VALUE (args)) ++ { ++ if (DECL_P (ddealloc) ++ && fndecl_built_in_p (ddealloc, BUILT_IN_NORMAL)) ++ { ++ built_in_function fncode = DECL_FUNCTION_CODE (ddealloc); ++ if (fncode == BUILT_IN_FREE || fncode == BUILT_IN_REALLOC) ++ { ++ if (alloc_dealloc_kind == alloc_kind_t::builtin) ++ return true; ++ realloc_dealloc_kind = alloc_kind_t::builtin; ++ } ++ continue; ++ } + +- if (common_deallocs.add (ddealloc)) +- return true; +- } +- } ++ if (common_deallocs.contains (ddealloc)) ++ return true; ++ } + + /* Succeed only if ALLOC_DECL and the reallocator DEALLOC_DECL share + a built-in deallocator. */ +--- a/src/gcc/gimplify.cc ++++ b/src/gcc/gimplify.cc +@@ -5598,7 +5598,7 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, + + DECL_INITIAL (object) = ctor; + TREE_STATIC (object) = 1; +- if (!DECL_NAME (object)) ++ if (!DECL_NAME (object) || DECL_NAMELESS (object)) + DECL_NAME (object) = create_tmp_var_name ("C"); + walk_tree (&DECL_INITIAL (object), force_labels_r, NULL, NULL); + +@@ -7035,6 +7035,14 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + ret = tret; + } + ++ /* If the gimplified operand is a register we do not allow memory. */ ++ if (allows_reg ++ && allows_mem ++ && (is_gimple_reg (TREE_VALUE (link)) ++ || (handled_component_p (TREE_VALUE (link)) ++ && is_gimple_reg (TREE_OPERAND (TREE_VALUE (link), 0))))) ++ allows_mem = 0; ++ + /* If the constraint does not allow memory make sure we gimplify + it to a register if it is not already but its base is. This + happens for complex and vector components. */ +--- a/src/gcc/go/gofrontend/expressions.cc ++++ b/src/gcc/go/gofrontend/expressions.cc +@@ -11137,6 +11137,12 @@ Builtin_call_expression::do_determine_type(Gogo* gogo, + is_print = false; + break; + ++ case BUILTIN_PANIC: ++ arg_type = ++ Type::make_empty_interface_type(Linemap::predeclared_location()); ++ is_print = false; ++ break; ++ + case BUILTIN_PRINT: + case BUILTIN_PRINTLN: + // Do not force a large integer constant to "int". +--- a/src/gcc/hwint.h ++++ b/src/gcc/hwint.h +@@ -396,4 +396,30 @@ mul_hwi (HOST_WIDE_INT a, HOST_WIDE_INT b, bool *overflow) + #endif + } + ++/* Compute the saturated sum of signed A and B, i.e. upon overflow clamp ++ the result to the corresponding extremum. */ ++ ++inline HOST_WIDE_INT ++add_sat_hwi (HOST_WIDE_INT a, HOST_WIDE_INT b) ++{ ++ bool overflow; ++ HOST_WIDE_INT result = add_hwi (a, b, &overflow); ++ if (!overflow) ++ return result; ++ return (a < 0) ? HOST_WIDE_INT_MIN : HOST_WIDE_INT_MAX; ++} ++ ++/* Compute the saturated product of signed A and B, i.e. upon overflow clamp ++ the result to the corresponding extremum. */ ++ ++inline HOST_WIDE_INT ++mul_sat_hwi (HOST_WIDE_INT a, HOST_WIDE_INT b) ++{ ++ bool overflow; ++ HOST_WIDE_INT result = mul_hwi (a, b, &overflow); ++ if (!overflow) ++ return result; ++ return ((a < 0) != (b < 0)) ? HOST_WIDE_INT_MIN : HOST_WIDE_INT_MAX; ++} ++ + #endif /* ! GCC_HWINT_H */ +--- a/src/gcc/ipa-icf-gimple.cc ++++ b/src/gcc/ipa-icf-gimple.cc +@@ -459,7 +459,9 @@ func_checker::compare_asm_inputs_outputs (tree t1, tree t2, + return false; + + if (!compare_operand (TREE_VALUE (t1), TREE_VALUE (t2), +- get_operand_access_type (map, t1))) ++ get_operand_access_type (map, t1)) ++ || !types_compatible_p (TREE_TYPE (TREE_VALUE (t1)), ++ TREE_TYPE (TREE_VALUE (t2)))) + return return_false (); + + tree p1 = TREE_PURPOSE (t1); +@@ -709,26 +711,37 @@ func_checker::compare_gimple_call (gcall *s1, gcall *s2) + || gimple_call_alloca_for_var_p (s1) != gimple_call_alloca_for_var_p (s2)) + return false; + +- if (gimple_call_internal_p (s1) +- && gimple_call_internal_fn (s1) != gimple_call_internal_fn (s2)) +- return false; +- +- tree fntype1 = gimple_call_fntype (s1); +- tree fntype2 = gimple_call_fntype (s2); +- +- /* For direct calls we verify that types are compatible so if we matched +- callees, callers must match, too. For indirect calls however verify +- function type. */ +- if (!gimple_call_fndecl (s1)) ++ unsigned check_arg_types_from = 0; ++ if (gimple_call_internal_p (s1)) + { +- if ((fntype1 && !fntype2) +- || (!fntype1 && fntype2) +- || (fntype1 && !types_compatible_p (fntype1, fntype2))) +- return return_false_with_msg ("call function types are not compatible"); ++ if (gimple_call_internal_fn (s1) != gimple_call_internal_fn (s2)) ++ return false; + } ++ else ++ { ++ tree fntype1 = gimple_call_fntype (s1); ++ tree fntype2 = gimple_call_fntype (s2); ++ if (!types_compatible_p (fntype1, fntype2)) ++ return return_false_with_msg ("call function types are not compatible"); ++ ++ if (comp_type_attributes (fntype1, fntype2) != 1) ++ return return_false_with_msg ("different fntype attributes"); + +- if (fntype1 && fntype2 && comp_type_attributes (fntype1, fntype2) != 1) +- return return_false_with_msg ("different fntype attributes"); ++ check_arg_types_from = gimple_call_num_args (s1); ++ if (!prototype_p (fntype1) || !prototype_p (fntype2)) ++ check_arg_types_from = 0; ++ else if (stdarg_p (fntype1)) ++ { ++ check_arg_types_from = list_length (TYPE_ARG_TYPES (fntype1)); ++ if (stdarg_p (fntype2)) ++ { ++ unsigned n = list_length (TYPE_ARG_TYPES (fntype2)); ++ check_arg_types_from = MIN (check_arg_types_from, n); ++ } ++ } ++ else if (stdarg_p (fntype2)) ++ check_arg_types_from = list_length (TYPE_ARG_TYPES (fntype2)); ++ } + + tree chain1 = gimple_call_chain (s1); + tree chain2 = gimple_call_chain (s2); +@@ -746,6 +759,10 @@ func_checker::compare_gimple_call (gcall *s1, gcall *s2) + + if (!compare_operand (t1, t2, get_operand_access_type (&map, t1))) + return return_false_with_msg ("GIMPLE call operands are different"); ++ if (i >= check_arg_types_from ++ && !types_compatible_p (TREE_TYPE (t1), TREE_TYPE (t2))) ++ return return_false_with_msg ("GIMPLE call operand types are " ++ "different"); + } + + /* Return value checking. */ +--- a/src/gcc/ipa-modref.cc ++++ b/src/gcc/ipa-modref.cc +@@ -334,7 +334,7 @@ modref_summary::useful_p (int ecf_flags, bool check_flags) + if (check_flags + && remove_useless_eaf_flags (static_chain_flags, ecf_flags, false)) + return true; +- if (ecf_flags & (ECF_CONST | ECF_NOVOPS)) ++ if (ecf_flags & ECF_CONST) + return ((!side_effects || !nondeterministic) + && (ecf_flags & ECF_LOOPING_CONST_OR_PURE)); + if (loads && !loads->every_base) +@@ -1263,7 +1263,7 @@ modref_access_analysis::merge_call_side_effects + int flags = gimple_call_flags (call); + + /* Nothing to do for non-looping cont functions. */ +- if ((flags & (ECF_CONST | ECF_NOVOPS)) ++ if ((flags & ECF_CONST) + && !(flags & ECF_LOOPING_CONST_OR_PURE)) + return false; + +@@ -1276,7 +1276,7 @@ modref_access_analysis::merge_call_side_effects + /* Merge side effects and non-determinism. + PURE/CONST flags makes functions deterministic and if there is + no LOOPING_CONST_OR_PURE they also have no side effects. */ +- if (!(flags & (ECF_CONST | ECF_NOVOPS | ECF_PURE)) ++ if (!(flags & (ECF_CONST | ECF_PURE)) + || (flags & ECF_LOOPING_CONST_OR_PURE)) + { + if (!m_summary->side_effects && callee_summary->side_effects) +@@ -1465,7 +1465,7 @@ modref_access_analysis::process_fnspec (gcall *call) + + /* PURE/CONST flags makes functions deterministic and if there is + no LOOPING_CONST_OR_PURE they also have no side effects. */ +- if (!(flags & (ECF_CONST | ECF_NOVOPS | ECF_PURE)) ++ if (!(flags & (ECF_CONST | ECF_PURE)) + || (flags & ECF_LOOPING_CONST_OR_PURE) + || (cfun->can_throw_non_call_exceptions + && stmt_could_throw_p (cfun, call))) +@@ -1604,12 +1604,12 @@ modref_access_analysis::analyze_call (gcall *stmt) + print_gimple_stmt (dump_file, stmt, 0); + } + +- if ((flags & (ECF_CONST | ECF_NOVOPS)) ++ if ((flags & ECF_CONST) + && !(flags & ECF_LOOPING_CONST_OR_PURE)) + { + if (dump_file) + fprintf (dump_file, +- " - ECF_CONST | ECF_NOVOPS, ignoring all stores and all loads " ++ " - ECF_CONST, ignoring all stores and all loads " + "except for args.\n"); + return; + } +@@ -1624,7 +1624,13 @@ modref_access_analysis::analyze_call (gcall *stmt) + if (dump_file) + fprintf (dump_file, gimple_call_internal_p (stmt) + ? " - Internal call" : " - Indirect call.\n"); +- process_fnspec (stmt); ++ if (flags & ECF_NOVOPS) ++ { ++ set_side_effects (); ++ set_nondeterministic (); ++ } ++ else ++ process_fnspec (stmt); + return; + } + /* We only need to handle internal calls in IPA mode. */ +@@ -2604,8 +2610,9 @@ modref_eaf_analysis::analyze_ssa_name (tree name, bool deferred) + is used arbitrarily. */ + if (memory_access_to (gimple_assign_rhs1 (assign), name)) + m_lattice[index].merge (deref_flags (0, false)); ++ + /* Handle *name = *exp. */ +- else if (memory_access_to (gimple_assign_lhs (assign), name)) ++ if (memory_access_to (gimple_assign_lhs (assign), name)) + m_lattice[index].merge_direct_store (); + } + /* Handle lhs = *name. */ +@@ -2969,7 +2976,7 @@ analyze_parms (modref_summary *summary, modref_summary_lto *summary_lto, + summary->arg_flags.safe_grow_cleared (count, true); + summary->arg_flags[parm_index] = EAF_UNUSED; + } +- else if (summary_lto) ++ if (summary_lto) + { + if (parm_index >= summary_lto->arg_flags.length ()) + summary_lto->arg_flags.safe_grow_cleared (count, true); +@@ -3028,7 +3035,7 @@ analyze_parms (modref_summary *summary, modref_summary_lto *summary_lto, + summary->arg_flags.safe_grow_cleared (count, true); + summary->arg_flags[parm_index] = flags; + } +- else if (summary_lto) ++ if (summary_lto) + { + if (parm_index >= summary_lto->arg_flags.length ()) + summary_lto->arg_flags.safe_grow_cleared (count, true); +@@ -4569,7 +4576,7 @@ propagate_unknown_call (cgraph_node *node, + return changed; + } + +- if (!(ecf_flags & (ECF_CONST | ECF_NOVOPS | ECF_PURE)) ++ if (!(ecf_flags & (ECF_CONST | ECF_PURE)) + || (ecf_flags & ECF_LOOPING_CONST_OR_PURE) + || nontrivial_scc) + { +@@ -4783,7 +4790,7 @@ modref_propagate_in_scc (cgraph_node *component_node) + struct cgraph_node *callee; + + if (!callee_edge->inline_failed +- || ((flags & (ECF_CONST | ECF_NOVOPS)) ++ || ((flags & ECF_CONST) + && !(flags & ECF_LOOPING_CONST_OR_PURE))) + continue; + +@@ -5206,8 +5213,8 @@ modref_propagate_flags_in_scc (cgraph_node *component_node) + { + escape_summary *sum = escape_summaries->get (e); + +- if (!sum || (e->indirect_info->ecf_flags +- & (ECF_CONST | ECF_NOVOPS))) ++ if (!sum || ((e->indirect_info->ecf_flags & ECF_CONST) ++ && !(e->indirect_info->ecf_flags & ECF_LOOPING_CONST_OR_PURE))) + continue; + + changed |= modref_merge_call_site_flags +@@ -5232,8 +5239,8 @@ modref_propagate_flags_in_scc (cgraph_node *component_node) + modref_summary_lto *callee_summary_lto = NULL; + struct cgraph_node *callee; + +- if (ecf_flags & (ECF_CONST | ECF_NOVOPS) +- || !callee_edge->inline_failed) ++ if ((ecf_flags & ECF_CONST) ++ && !(ecf_flags & ECF_LOOPING_CONST_OR_PURE)) + continue; + + /* Get the callee and its summary. */ +@@ -5331,7 +5338,7 @@ ipa_merge_modref_summary_after_inlining (cgraph_edge *edge) + + if (!callee_info && to_info) + { +- if (!(flags & (ECF_CONST | ECF_NOVOPS))) ++ if (!(flags & (ECF_CONST | ECF_PURE | ECF_NOVOPS))) + to_info->loads->collapse (); + if (!ignore_stores) + to_info->stores->collapse (); +@@ -5346,7 +5353,7 @@ ipa_merge_modref_summary_after_inlining (cgraph_edge *edge) + /* Merge side effects and non-determinism. + PURE/CONST flags makes functions deterministic and if there is + no LOOPING_CONST_OR_PURE they also have no side effects. */ +- if (!(flags & (ECF_CONST | ECF_NOVOPS | ECF_PURE)) ++ if (!(flags & (ECF_CONST | ECF_PURE)) + || (flags & ECF_LOOPING_CONST_OR_PURE)) + { + if (to_info) +--- a/src/gcc/ipa-visibility.cc ++++ b/src/gcc/ipa-visibility.cc +@@ -102,7 +102,9 @@ non_local_p (struct cgraph_node *node, void *data ATTRIBUTE_UNUSED) + && !node->externally_visible + && !node->used_from_other_partition + && !node->in_other_partition +- && node->get_availability () >= AVAIL_AVAILABLE); ++ && node->get_availability () >= AVAIL_AVAILABLE ++ && !DECL_STATIC_CONSTRUCTOR (node->decl) ++ && !DECL_STATIC_DESTRUCTOR (node->decl)); + } + + /* Return true when function can be marked local. */ +@@ -116,7 +118,6 @@ cgraph_node::local_p (void) + return n->callees->callee->local_p (); + return !n->call_for_symbol_thunks_and_aliases (non_local_p, + NULL, true); +- + } + + /* A helper for comdat_can_be_unshared_p. */ +--- a/src/gcc/loop-doloop.cc ++++ b/src/gcc/loop-doloop.cc +@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see + #include "loop-unroll.h" + #include "regs.h" + #include "df.h" ++#include "targhooks.h" + + /* This module is used to modify loops with a determinable number of + iterations to use special low-overhead looping instructions. +@@ -770,6 +771,18 @@ doloop_optimize (class loop *loop) + + basic_block loop_end = desc->out_edge->src; + bool fail = bitmap_intersect_p (df_get_live_out (loop_end), modified); ++ /* iv_analysis_loop_init calls df_analyze_loop, which computes just ++ partial df for blocks of the loop only. The above will catch if ++ any of the modified registers are use inside of the loop body, but ++ it will most likely not have accurate info on registers used ++ at the destination of the out_edge. We call df_analyze on the ++ whole function at the start of the pass though and iterate only ++ on innermost loops or from innermost loops, so ++ live in on desc->out_edge->dest should be still unmodified from ++ the initial df_analyze. */ ++ if (!fail) ++ fail = bitmap_intersect_p (df_get_live_in (desc->out_edge->dest), ++ modified); + BITMAP_FREE (modified); + + if (fail) +@@ -795,7 +808,12 @@ doloop_optimize_loops (void) + df_live_set_all_dirty (); + } + +- for (auto loop : loops_list (cfun, 0)) ++ df_analyze (); ++ ++ for (auto loop : loops_list (cfun, ++ targetm.can_use_doloop_p ++ == can_use_doloop_if_innermost ++ ? LI_ONLY_INNERMOST : LI_FROM_INNERMOST)) + doloop_optimize (loop); + + if (optimize == 1) +--- a/src/gcc/loop-iv.cc ++++ b/src/gcc/loop-iv.cc +@@ -714,6 +714,7 @@ get_biv_step_1 (df_ref def, scalar_int_mode outer_mode, rtx reg, + if (!simple_reg_p (op0) || !CONSTANT_P (op1)) + return false; + ++ op1 = simplify_gen_unary (code, outer_mode, op1, GET_MODE (rhs)); + prev_code = code; + code = PLUS; + } +--- a/src/gcc/lra-constraints.cc ++++ b/src/gcc/lra-constraints.cc +@@ -599,6 +599,8 @@ struct input_reload + { + /* True for input reload of matched operands. */ + bool match_p; ++ /* True for input reload of inout earlyclobber operand. */ ++ bool early_clobber_p; + /* Reloaded value. */ + rtx input; + /* Reload pseudo used. */ +@@ -649,17 +651,18 @@ canonicalize_reload_addr (rtx addr) + /* Create a new pseudo using MODE, RCLASS, EXCLUDE_START_HARD_REGS, ORIGINAL or + reuse an existing reload pseudo. Don't reuse an existing reload pseudo if + IN_SUBREG_P is true and the reused pseudo should be wrapped up in a SUBREG. ++ EARLY_CLOBBER_P is true for input reload of inout early clobber operand. + The result pseudo is returned through RESULT_REG. Return TRUE if we created + a new pseudo, FALSE if we reused an existing reload pseudo. Use TITLE to + describe new registers for debug purposes. */ + static bool + get_reload_reg (enum op_type type, machine_mode mode, rtx original, + enum reg_class rclass, HARD_REG_SET *exclude_start_hard_regs, +- bool in_subreg_p, const char *title, rtx *result_reg) ++ bool in_subreg_p, bool early_clobber_p, ++ const char *title, rtx *result_reg) + { + int i, regno; + enum reg_class new_class; +- bool unique_p = false; + + if (type == OP_OUT) + { +@@ -697,12 +700,15 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original, + exclude_start_hard_regs, title); + return true; + } ++ ++ bool unique_p = early_clobber_p; + /* Prevent reuse value of expression with side effects, + e.g. volatile memory. */ + if (! side_effects_p (original)) + for (i = 0; i < curr_insn_input_reloads_num; i++) + { + if (! curr_insn_input_reloads[i].match_p ++ && ! curr_insn_input_reloads[i].early_clobber_p + && rtx_equal_p (curr_insn_input_reloads[i].input, original) + && in_class_p (curr_insn_input_reloads[i].reg, rclass, &new_class)) + { +@@ -750,6 +756,8 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original, + lra_assert (curr_insn_input_reloads_num < LRA_MAX_INSN_RELOADS); + curr_insn_input_reloads[curr_insn_input_reloads_num].input = original; + curr_insn_input_reloads[curr_insn_input_reloads_num].match_p = false; ++ curr_insn_input_reloads[curr_insn_input_reloads_num].early_clobber_p ++ = early_clobber_p; + curr_insn_input_reloads[curr_insn_input_reloads_num++].reg = *result_reg; + return true; + } +@@ -1189,6 +1197,7 @@ match_reload (signed char out, signed char *ins, signed char *outs, + lra_assert (curr_insn_input_reloads_num < LRA_MAX_INSN_RELOADS); + curr_insn_input_reloads[curr_insn_input_reloads_num].input = in_rtx; + curr_insn_input_reloads[curr_insn_input_reloads_num].match_p = true; ++ curr_insn_input_reloads[curr_insn_input_reloads_num].early_clobber_p = false; + curr_insn_input_reloads[curr_insn_input_reloads_num++].reg = new_in_reg; + for (i = 0; (in = ins[i]) >= 0; i++) + if (GET_MODE (*curr_id->operand_loc[in]) == VOIDmode +@@ -1577,7 +1586,7 @@ process_addr_reg (rtx *loc, bool check_only_p, rtx_insn **before, rtx_insn **aft + reg = *loc; + if (get_reload_reg (after == NULL ? OP_IN : OP_INOUT, + mode, reg, cl, NULL, +- subreg_p, "address", &new_reg)) ++ subreg_p, false, "address", &new_reg)) + before_p = true; + } + else if (new_class != NO_REGS && rclass != new_class) +@@ -1733,7 +1742,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode) + = (enum reg_class) targetm.preferred_reload_class (reg, ALL_REGS); + if (get_reload_reg (curr_static_id->operand[nop].type, innermode, + reg, rclass, NULL, +- true, "slow/invalid mem", &new_reg)) ++ true, false, "slow/invalid mem", &new_reg)) + { + bool insert_before, insert_after; + bitmap_set_bit (&lra_subreg_reload_pseudos, REGNO (new_reg)); +@@ -1753,7 +1762,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode) + = (enum reg_class) targetm.preferred_reload_class (reg, ALL_REGS); + if (get_reload_reg (curr_static_id->operand[nop].type, mode, reg, + rclass, NULL, +- true, "slow/invalid mem", &new_reg)) ++ true, false, "slow/invalid mem", &new_reg)) + { + bool insert_before, insert_after; + bitmap_set_bit (&lra_subreg_reload_pseudos, REGNO (new_reg)); +@@ -1854,7 +1863,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode) + + if (get_reload_reg (curr_static_id->operand[nop].type, reg_mode, reg, + rclass, NULL, +- true, "subreg reg", &new_reg)) ++ true, false, "subreg reg", &new_reg)) + { + bool insert_before, insert_after; + bitmap_set_bit (&lra_subreg_reload_pseudos, REGNO (new_reg)); +@@ -1928,7 +1937,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode) + + if (get_reload_reg (curr_static_id->operand[nop].type, mode, reg, + rclass, NULL, +- true, "paradoxical subreg", &new_reg)) ++ true, false, "paradoxical subreg", &new_reg)) + { + rtx subreg; + bool insert_before, insert_after; +@@ -4594,7 +4603,7 @@ curr_insn_transform (bool check_only_p) + /* This value does not matter for MODIFY. */ + GET_MODE_SIZE (GET_MODE (op))); + else if (get_reload_reg (OP_IN, Pmode, *loc, rclass, +- NULL, false, ++ NULL, false, false, + "offsetable address", &new_reg)) + { + rtx addr = *loc; +@@ -4680,7 +4689,10 @@ curr_insn_transform (bool check_only_p) + old = *loc; + if (get_reload_reg (type, mode, old, goal_alt[i], + &goal_alt_exclude_start_hard_regs[i], +- loc != curr_id->operand_loc[i], "", &new_reg) ++ loc != curr_id->operand_loc[i], ++ curr_static_id->operand_alternative ++ [goal_alt_number * n_operands + i].earlyclobber, ++ "", &new_reg) + && type != OP_OUT) + { + push_to_sequence (before); +--- a/src/gcc/lto-cgraph.cc ++++ b/src/gcc/lto-cgraph.cc +@@ -155,7 +155,8 @@ lto_symtab_encoder_delete_node (lto_symtab_encoder_t encoder, + last_node = encoder->nodes.pop (); + if (last_node.node != node) + { +- gcc_assert (encoder->map->put (last_node.node, index + 1)); ++ bool existed = encoder->map->put (last_node.node, index + 1); ++ gcc_assert (existed); + + /* Move the last element to the original spot of NODE. */ + encoder->nodes[index] = last_node; +--- a/src/gcc/lto-wrapper.cc ++++ b/src/gcc/lto-wrapper.cc +@@ -1083,13 +1083,16 @@ copy_file (const char *dest, const char *src) + the copy to the linker. */ + + static void +-find_crtoffloadtable (int save_temps, const char *dumppfx) ++find_crtoffloadtable (int save_temps, bool pie_or_shared, const char *dumppfx) + { + char **paths = NULL; + const char *library_path = getenv ("LIBRARY_PATH"); + if (!library_path) + return; +- unsigned n_paths = parse_env_var (library_path, &paths, "/crtoffloadtable.o"); ++ unsigned n_paths = parse_env_var (library_path, &paths, ++ pie_or_shared ++ ? "/crtoffloadtableS.o" ++ : "/crtoffloadtable.o"); + + unsigned i; + for (i = 0; i < n_paths; i++) +@@ -1108,7 +1111,8 @@ find_crtoffloadtable (int save_temps, const char *dumppfx) + } + if (i == n_paths) + fatal_error (input_location, +- "installation error, cannot find %"); ++ "installation error, cannot find %", ++ pie_or_shared ? "S" : ""); + + free_array_of_ptrs ((void **) paths, n_paths); + } +@@ -1423,6 +1427,11 @@ run_gcc (unsigned argc, char *argv[]) + char **lto_argv, **ltoobj_argv; + bool linker_output_rel = false; + bool skip_debug = false; ++#ifdef ENABLE_DEFAULT_PIE ++ bool pie_or_shared = true; ++#else ++ bool pie_or_shared = false; ++#endif + const char *incoming_dumppfx = dumppfx = NULL; + static char current_dir[] = { '.', DIR_SEPARATOR, '\0' }; + +@@ -1590,6 +1599,16 @@ run_gcc (unsigned argc, char *argv[]) + diagnostic_color_init (global_dc, option->value); + break; + ++ case OPT_pie: ++ case OPT_shared: ++ case OPT_static_pie: ++ pie_or_shared = true; ++ break; ++ ++ case OPT_no_pie: ++ pie_or_shared = false; ++ break; ++ + default: + break; + } +@@ -1798,7 +1817,7 @@ cont1: + + if (offload_names) + { +- find_crtoffloadtable (save_temps, dumppfx); ++ find_crtoffloadtable (save_temps, pie_or_shared, dumppfx); + for (i = 0; offload_names[i]; i++) + printf ("%s\n", offload_names[i]); + free_array_of_ptrs ((void **) offload_names, i); +--- a/src/gcc/m2/ChangeLog ++++ b/src/gcc/m2/ChangeLog +@@ -1,3 +1,2120 @@ ++2025-01-09 Jakub Jelinek ++ ++ Backported from master: ++ 2024-11-09 Jakub Jelinek ++ ++ * Make-lang.in (m2_OBJS): Add $(BUILD-LIBS-BOOT), ++ $(BUILD-COMPILER-BOOT) and $(MC_LIBS). ++ ++2024-12-14 Gaius Mulley ++ ++ Backported from master: ++ 2024-12-10 Gaius Mulley ++ ++ PR modula2/117120 ++ * gm2-compiler/M2CaseList.mod (CaseBoundsResolved): Rewrite. ++ (ConvertNulStr2NulChar): New procedure function. ++ (NulStr2NulChar): Ditto. ++ (GetCaseExpression): Ditto. ++ (OverlappingCaseBound): Rewrite. ++ * gm2-compiler/M2GCCDeclare.mod (CheckResolveSubrange): Allow ++ '' to be used as the subrange low limit. ++ * gm2-compiler/M2GenGCC.mod (FoldConvert): Rewrite. ++ (PopKindTree): Ditto. ++ (BuildHighFromString): Reformat. ++ * gm2-compiler/SymbolTable.mod (PushConstString): Add test for ++ length 0 and PushChar (nul). ++ ++2024-12-13 Gaius Mulley ++ ++ Backported from master: ++ 2024-12-09 Gaius Mulley ++ ++ PR modula2/115328 ++ * gm2-compiler/M2Options.def (GetEnableForward): New procedure ++ function. ++ (SetEnableForward): New procedure. ++ * gm2-compiler/M2Options.mod (GetEnableForward): New procedure ++ function. ++ (SetEnableForward): New procedure. ++ (EnableForward): New boolean. ++ * gm2-compiler/P1SymBuild.mod (EndBuildForward): Check ++ GetEnableForward and generate an error message if false. ++ ++2024-12-07 Gaius Mulley ++ ++ Backported from master: ++ 2024-12-07 Gaius Mulley ++ ++ PR modula2/117948 ++ * gm2-compiler/P1Build.bnf (ForwardDeclaration): Pass token ++ position of the FORWARD keyword to EndBuildForward. ++ * gm2-compiler/P1SymBuild.def (EndBuildForward): New parameter ++ forwardPos. ++ * gm2-compiler/P1SymBuild.mod (EndBuildForward): Issue an error at ++ forwardPos if the Iso boolean is false. ++ ++2024-12-06 Gaius Mulley ++ ++ Backported from master: ++ 2024-12-05 Gaius Mulley ++ ++ PR modula2/117904 ++ * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): Add call to ++ BuildConvert when increment is > 0. ++ ++2024-12-04 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-18 Gaius Mulley ++ ++ PR modula2/117660 ++ * gm2-compiler/P2Build.bnf (ArrayType): Update tok with the ++ composite token produced during array type declaration. ++ * gm2-compiler/P2SymBuild.mod (EndBuildArray): Create the ++ combinedtok and store it into the symbol table. ++ Also ensure combinedtok is pushed to the quad stack. ++ (BuildFieldArray): Preserve typetok. ++ * gm2-compiler/SymbolTable.def (PutArray): Rename parameters. ++ * gm2-compiler/SymbolTable.mod (PutArray): Rename parameters. ++ ++2024-12-04 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-18 Gaius Mulley ++ ++ PR modula2/117371 ++ * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): ++ Add check for zero step value and issue an error message. ++ ++2024-12-04 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-15 Gaius Mulley ++ ++ PR modula2/117371 ++ * gm2-compiler/M2Base.mod (MixMetaTypes): Add parameter TRUE to ++ MetaErrorDecl. ++ (IsUserType): Test against ZType. ++ (MixTypesDecl): Test for ZType. ++ * gm2-compiler/M2GenGCC.mod (ErrorMessageDecl): Add parameter TRUE to ++ MetaErrorDecl. ++ (CodeLastForIterator): New procedure. ++ (FoldLastForIterator): Ditto. ++ (PerformLastForIterator): Ditto. ++ (CodeStatement): Add case clause for LastForIteratorOp. ++ (ErrorMessageDecl): Add iserror parameter. ++ Call MetaErrorDecl with iserror parameter. ++ (checkIncorrectMeta): Call MetaErrorDecl with TRUE parameter. ++ (CheckBinaryExpressionTypes): Ditto. ++ (CheckElementSetTypes): Ditto. ++ * gm2-compiler/M2LexBuf.def (MakeVirtualTok): Update comment ++ detailing the fall back when UnknownTokenNo is encountered. ++ (MakeVirtual2Tok): Ditto. ++ * gm2-compiler/M2LexBuf.mod (MakeVirtualTok): Check against ++ UnknownTokenNo. ++ (MakeVirtual2Tok): Ditto. ++ * gm2-compiler/M2MetaError.def (MetaErrorDecl): Add error parameter. ++ * gm2-compiler/M2MetaError.mod (MetaErrorDecl): Add error ++ parameter. ++ Issue warning if error is FALSE. ++ * gm2-compiler/M2Quads.def (QuadOperator): Add LastForIteratorOp. ++ * gm2-compiler/M2Quads.mod (AddQuadInformation): New case clause ++ LastForIteratorOp. ++ (CheckAddTuple2Read): New procedure. ++ (BuildForLoopToRangeCheck): Remove. ++ (ForLoopLastIteratorVariable): Ditto. ++ (ForLoopLastIteratorConstant): Ditto. ++ (ForLoopLastIterator): Reimplement. ++ (BuildForToByDo): Remove ByType from call to ForLoopLastIterator. ++ (WriteQuad): New case clause LastForIteratorOp. ++ (WriteOperator): Ditto. ++ * gm2-compiler/M2Students.def ++ (CheckForVariableThatLooksLikeKeyword): Replace with ... ++ (CheckVariableAgainstKeyword): ... this. ++ * gm2-compiler/M2Students.mod ++ (CheckForVariableThatLooksLikeKeyword): Replace with ... ++ (CheckVariableAgainstKeyword): ... this. ++ * gm2-compiler/M2SymInit.mod (CheckLastForIterator): New ++ procedure. ++ (CheckReadBeforeInitQuad): New case clause to call ++ CheckLastForIterator. ++ * gm2-compiler/P2SymBuild.mod: Replace ++ CheckForVariableThatLooksLikeKeyword with CheckVariableAgainstKeyword. ++ ++2024-12-03 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-15 Gaius Mulley ++ ++ * Make-lang.in (m2/gm2-compiler-boot/P0SyntaxCheck.c): ++ New rule. ++ (m2/gm2-compiler-boot/P0SyntaxCheck.o): Ditto. ++ (m2/gm2-compiler-boot/P1Build.c): Ditto. ++ (m2/gm2-compiler-boot/P1Build.o): Ditto. ++ (m2/gm2-compiler-boot/P2Build.c): Ditto. ++ (m2/gm2-compiler-boot/P2Build.o): Ditto. ++ (m2/gm2-compiler-boot/P3Build.c): Ditto. ++ (m2/gm2-compiler-boot/P3Build.o): Ditto. ++ (m2/gm2-compiler-boot/PCBuild.c): Ditto. ++ (m2/gm2-compiler-boot/PCBuild.o): Ditto. ++ (m2/gm2-compiler-boot/PHBuild.c): Ditto. ++ (m2/gm2-compiler-boot/PHBuild.o): Ditto. ++ ++2024-12-03 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-11 Gaius Mulley ++ ++ * gm2-compiler/M2Base.def (MixTypes): Rename parameters. ++ (MixTypesDecl): New procedure function. ++ * gm2-compiler/M2Base.mod (BuildOrdFunctions): Add ++ DefProcedure parameter to PutFunction. ++ (BuildTruncFunctions): Ditto. ++ (BuildFloatFunctions): Ditto. ++ (BuildIntFunctions): Ditto. ++ (InitBaseFunctions): Ditto. ++ (MixTypesDecl): New procedure function. ++ (MixTypes): Reimplement. ++ * gm2-compiler/M2Check.mod (checkProcType): Replace ++ NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ (checkProcedureProcType): Ditto. ++ * gm2-compiler/M2Error.def: Remove unnecessary export qualified list. ++ * gm2-compiler/M2GCCDeclare.mod: Replace NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ (DeclareProcedureToGccWholeProgram): Rename son to ++ Variable. ++ (DeclareProcedureToGccSeparateProgram): Ditto. ++ (PrintKind): New procedure. ++ (PrintProcedureParameters): Ditto. ++ (PrintProcedureReturnType): Ditto. ++ (PrintProcedure): Reimplement. ++ (PrintProcTypeParameters): New procedure. ++ (PrintProcType): Ditto. ++ (DeclareProcType): Rename Son to Parameter. ++ * gm2-compiler/M2GenGCC.mod: Replace NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ (ErrorMessageDecl): New procedure. ++ (checkIncorrectMeta): Replace call to MetaErrorT2 with ++ ErrorMessageDecl. ++ (ComparisonMixTypes): Add varleft and varright parameters. ++ Adjust all callers of ComparisonMixTypes. ++ * gm2-compiler/M2MetaError.def (MetaErrorDecl): New procedure. ++ * gm2-compiler/M2MetaError.mod (MetaErrorDecl): New procedure. ++ * gm2-compiler/M2Options.def (SetXCode): Add -fd flag description ++ to comment. ++ * gm2-compiler/M2Options.mod (SetXCode): Add -fd flag description ++ to comment. ++ * gm2-compiler/M2Quads.mod (CheckBreak): New procedure. ++ Replace NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ (FailParameter): Reimplement using GetVarDeclFullTok. ++ Generate message for formal parameter, actual parameter and ++ declaration of actual parameter. ++ (WarnParameter): Ditto. ++ (CheckBuildFunction): Reimplement error message using MetaErrorT1. ++ * gm2-compiler/M2Range.mod: Replace NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ * gm2-compiler/M2Scaffold.mod (DeclareScaffoldFunctions): Call ++ PutProcedureDefined after every procedure declaration. ++ (DeclareArgEnvParams): Add ProperProcedure parameter to PutParam. ++ * gm2-compiler/M2Size.mod (MakeSize): Add DefProcedure parameter ++ to PutFunction. ++ * gm2-compiler/M2Swig.mod: Replace NoOfParam with NoOfParamAny. ++ Replace IsVarParam with IsVarParamAny. ++ * gm2-compiler/M2SymInit.mod: Ditto. ++ * gm2-compiler/M2System.mod (InitSystem): Add DefProcedure ++ parameter to PutFunction. ++ * gm2-compiler/P1SymBuild.mod (StartBuildProcedure): Reimplement. ++ (EndBuildProcedure): Ditto. ++ (EndBuildForward): Ditto. ++ * gm2-compiler/P2Build.bnf (BuildProcedureDefinedByForward): ++ Remove. ++ (BuildProcedureDefinedByProper): Ditto. ++ (ForwardDeclaration): Remove BuildProcedureDefinedByForward. ++ (BuildNoReturnAttribute): Remove parameter. ++ * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): Remove ++ parameter. ++ (BuildProcedureDefinedByForward): Remove. ++ (BuildProcedureDefinedByProper): Ditto. ++ * gm2-compiler/P2SymBuild.mod (Import): Remove ++ AreParametersDefinedInDefinition, ++ AreParametersDefinedInImplementation, ++ AreProcedureParametersDefined, ++ ParametersDefinedInDefinition, ++ ParametersDefinedInImplementation, ++ GetProcedureDeclaredDefinition, ++ GetProcedureDeclaredForward, ++ GetProcedureDeclaredProper, ++ GetParametersDefinedByForward, ++ GetParametersDefinedByProper and ++ PutProcedureNoReturn. ++ Add PutProcedureParametersDefined, ++ GetProcedureParametersDefined, ++ GetProcedureKindDesc, ++ GetProcedureDeclaredTok, ++ GetProcedureKind, ++ GetReturnTypeTok, ++ SetReturnOptional, ++ IsReturnOptional, ++ PutProcedureNoReturn and ++ PutProcedureDefined. ++ (Debug): New procedure. ++ (P2StartBuildDefModule): Space formatting. ++ (BuildVariable): Reimplement to record full declaration. ++ (StartBuildProcedure): Reimplement using token to determine ++ the kind of procedure. ++ (BuildProcedureHeading): Ditto. ++ (BuildFPSection): Ditto. ++ (BuildVarArgs): Ditto. ++ (BuildOptArg): Ditto. ++ (BuildProcedureDefinedByForward): Remove. ++ (BuildProcedureDefinedByProper): Ditto. ++ (BuildFormalParameterSection): Reimplement so that the ++ quad stack is unchanged. ++ (CheckFormalParameterSection): Ditto. ++ (RemoveFPParameters): New procedure. ++ (ParameterError): Reimplement. ++ (StartBuildFormalParameters): Add annotation. ++ (ParameterMismatch): Reimplement. ++ (EndBuildFormalParameters): Reimplement to check against ++ all procedure kinds. ++ (GetSourceDesc): Remove. ++ (GetCurSrcDesc): Ditto. ++ (GetDeclared): Ditto. ++ (ReturnTypeMismatch): Reimplement. ++ (BuildFunction): Ditto. ++ (BuildOptFunction): Ditto. ++ (CheckOptFunction): New procedure. ++ (BuildNoReturnAttribute): Remove parameter and obtain ++ procedure symbol from quad stack. ++ (CheckProcedureReturn): New procedure. ++ * gm2-compiler/P3SymBuild.mod (BuildOptArgInitializer): ++ Preserve ProcSym tok on the quad stack. ++ Add Assert. ++ * gm2-compiler/PCSymBuild.mod (fixupProcedureType): Replace ++ NoOfParam with NoOfParamAny. ++ * gm2-compiler/SymbolTable.def (GetNthParam): Add ProcedureKind ++ parameter. ++ (PutFunction): Ditto. ++ (PutOptFunction): Ditto. ++ (IsReturnOptional): Ditto. ++ (PutParam): Ditto. ++ (PutVarParam): Ditto. ++ (PutParamName): Ditto. ++ (PutProcedureNoReturn): Ditto. ++ (IsProcedureNoReturn): Ditto. ++ (IsVarParam): Ditto. ++ (IsUnboundedParam): Ditto. ++ (NoOfParam): Ditto. ++ (ForeachLocalSymDo): Ditto. ++ (GetProcedureKind): Ditto. ++ (GetProcedureDeclaredTok): Ditto. ++ (PutProcedureDeclaredTok): Ditto. ++ (GetReturnTypeTok): Ditto. ++ (PutReturnTypeTok): Ditto. ++ (PutParametersDefinedByForward): New procedure. ++ (PutProcedureParametersDefined): Ditto. ++ (PutProcedureDefined): Ditto. ++ (GetParametersDefinedByProper): Ditto. ++ (GetProcedureDeclaredForward): Ditto. ++ (GetProcedureDeclaredProper): Ditto. ++ (PutProcedureDeclaredProper): Ditto. ++ (GetProcedureDeclaredDefinition): Ditto. ++ (PutProcedureDeclaredDefinition): Ditto. ++ (GetProcedureDefined): Ditto. ++ (PutUseOptArg): Ditto. ++ (UsesOptArg): Ditto. ++ (PutOptArgInit): Ditto. ++ (SetReturnOptional): Ditto. ++ (UsesOptArgAny): Ditto. ++ (GetProcedureKindDesc): Ditto. ++ (IsReturnOptionalAny): New procedure function. ++ (GetNthParamAny): Ditto. ++ (NoOfParamAny): Ditto. ++ (IsProcedureAnyNoReturn): Ditto. ++ (AreParametersDefinedInImplementation): Remove. ++ (ParametersDefinedInImplementation): Ditto. ++ (AreParametersDefinedInDefinition): Ditto. ++ (AreProcedureParametersDefined): Ditto. ++ (ParametersDefinedInDefinition): Ditto. ++ (ProcedureParametersDefined): Ditto. ++ (PutParametersDefinedByProper): Ditto. ++ (PutProcedureDeclaredForward): Ditto. ++ (GetParametersDefinedByForward): Ditto. ++ (GetProcedureParametersDefined): Ditto. ++ (PushOffset): Ditto. ++ (PopSize): Ditto. ++ (PushParamSize): Ditto. ++ (PushSumOfLocalVarSize): Ditto. ++ (PushSumOfParamSize): Ditto. ++ (PopOffset): Ditto. ++ (PopSumOfParamSize): Ditto. ++ * gm2-compiler/SymbolTable.mod (MakeProcedure): Reimplement. ++ (PutProcedureNoReturn): Add ProcedureKind parameter. ++ (GetNthParam): Ditto. ++ (PutFunction): Ditto. ++ (PutOptFunction): Ditto. ++ (IsReturnOptional): Ditto. ++ (MakeVariableForParam): Ditto. ++ (PutParam): Ditto. ++ (PutVarParam): Ditto. ++ (PutParamName): Ditto. ++ (AddParameter): Ditto. ++ (IsVarParam): Ditto. ++ (IsVarParamAny): Ditto. ++ (NoOfParam): Ditto. ++ (HasVarParameters): Ditto. ++ (IsUnboundedParam): Ditto. ++ (PutUseVarArgs): Ditto. ++ (UsesVarArgs): Ditto. ++ (PutUseOptArg): Ditto. ++ (UsesOptArg): Ditto. ++ (UsesOptArgAny): Ditto. ++ (PutOptArgInit): Ditto. ++ (IsProcedure): Ditto. ++ (IsPointer): Ditto. ++ (IsRecord): Ditto. ++ (IsArray): Ditto. ++ (IsEnumeration): Ditto. ++ (IsUnbounded): Ditto. ++ (IsSet): Ditto. ++ (IsSetPacked): Ditto. ++ (CheckUnbounded): Ditto. ++ (IsOAFamily): Ditto. ++ (IsModuleWithinProcedure): Ditto. ++ (GetDeclaredDef): Ditto. ++ (GetDeclaredMod): Ditto. ++ (GetDeclaredFor): Ditto. ++ (GetProcedureDeclaredForward): Ditto. ++ (GetProcedureKind): Ditto. ++ (PutProcedureDeclaredForward): Ditto. ++ (GetProcedureDeclaredTok): Ditto. ++ (GetProcedureDeclaredProper): Ditto. ++ (PutProcedureDeclaredTok): Ditto. ++ (PutProcedureDeclaredProper): Ditto. ++ (GetReturnTypeTok): Ditto. ++ (GetProcedureDeclaredDefinition): Ditto. ++ (PutReturnTypeTok): Ditto. ++ (PutProcedureDeclaredDefinition): Ditto. ++ (GetProcedureKindDesc): Ditto. ++ (IsProcedureVariable): Ditto. ++ (IsAModula2Type): Ditto. ++ (GetParam): Ditto. ++ (ProcedureParametersDefined): Ditto. ++ (AreParametersDefinedInImplementation): Remove. ++ (AreParametersDefinedInDefinition): Ditto. ++ (AreProcedureParametersDefined): Ditto. ++ (IsSizeSolved): Ditto. ++ (IsOffsetSolved): Ditto. ++ (IsValueSolved): Ditto. ++ (IsSumOfParamSizeSolved): Ditto. ++ (PushSize): Ditto. ++ (PushOffset): Ditto. ++ (PopSize): Ditto. ++ (PushValue): Ditto. ++ (PushParamSize): Ditto. ++ (PushSumOfLocalVarSize): Ditto. ++ (PushSumOfParamSize): Ditto. ++ (PushVarSize): Ditto. ++ (PopValue): Ditto. ++ (PopSize): Ditto. ++ (PopOffset): Ditto. ++ (PopSumOfParamSize): Ditto. ++ (PutParametersDefinedByForward): New procedure. ++ (PutProcedureParametersDefined): Ditto. ++ (PutProcedureDefined): Ditto. ++ (GetParametersDefinedByProper): Ditto. ++ (GetProcedureDeclaredForward): Ditto. ++ (GetProcedureDeclaredProper): Ditto. ++ (PutProcedureDeclaredProper): Ditto. ++ (GetProcedureDeclaredDefinition): Ditto. ++ (PutProcedureDeclaredDefinition): Ditto. ++ (GetProcedureDefined): Ditto. ++ (PutUseOptArg): Ditto. ++ (UsesOptArg): Ditto. ++ (PutOptArgInit): Ditto. ++ (SetReturnOptional): Ditto. ++ (UsesOptArgAny): Ditto. ++ (GetProcedureKindDesc): Ditto. ++ (PutParametersDefinedByProper): Ditto. ++ (GetParametersDefinedByProper): Ditto. ++ (IsReturnOptionalAny): New procedure function. ++ (IsProcedureAnyDefaultBoolean): Ditto. ++ (IsProcedureAnyBoolean): Ditto. ++ (IsProcedureAnyNoReturn): Ditto. ++ (GetNthParamAny): Ditto. ++ (NoOfParamAny): Ditto. ++ (IsProcedureAnyNoReturn): Ditto. ++ (GetProcedureKind): Ditto. ++ (IsVarParamAny): Ditto. ++ (IsUnboundedParamAny): Ditto. ++ (ForeachParamSymDo): New comment. ++ * gm2-libs-coroutines/SYSTEM.mod: Reformat. ++ ++2024-12-03 Gaius Mulley ++ ++ Backported from master: ++ 2024-10-20 Gaius Mulley ++ ++ * gm2-compiler/M2MetaError.mod (op): Corrected ordering. ++ * gm2-compiler/P2SymBuild.def: Remove comment. ++ * gm2-compiler/P2SymBuild.mod (GetComparison): Replace ++ the word less with fewer. ++ ++2024-12-03 Gaius Mulley ++ ++ Backported from master: ++ 2024-10-19 Gaius Mulley ++ ++ * gm2-compiler/M2MetaError.mod (op): Alphabetically order ++ each case label and comment. ++ ++2024-12-03 Gaius Mulley ++ ++ Backported from master: ++ 2024-10-19 Gaius Mulley ++ ++ PR modula2/115328 ++ * gm2-compiler/M2MetaError.def: Extend comment documentating ++ new format specifiers. ++ * gm2-compiler/M2MetaError.mod (GetTokProcedure): New declaration. ++ (doErrorScopeModule): New procedure. ++ (doErrorScopeForward): Ditto. ++ (doErrorScopeMod): Reimplement. ++ (doErrorScopeFor): New procedure. ++ (declarationMod): Ditto. ++ (doErrorScopeDefinition): Ditto. ++ (doErrorScopeDef): Reimplement. ++ (declaredDef): New procedure. ++ (declaredFor): Ditto. ++ (doErrorScopeProc): Ditto. ++ (declaredVar): Ditto. ++ (declaredType): Ditto. ++ (declaredFull): Ditto. ++ * gm2-compiler/M2Options.mod (SetAutoInit): Add missing ++ return type. ++ (GetDumpGimple): Remove duplicate implementation. ++ * gm2-compiler/M2Quads.def (DupFrame): New procedure. ++ * gm2-compiler/M2Quads.mod (DupFrame): New procedure. ++ * gm2-compiler/M2Reserved.def (ForwardTok): New variable. ++ * gm2-compiler/M2Reserved.mod (ForwardTok): Initialize variable. ++ * gm2-compiler/M2Scaffold.mod (DeclareArgEnvParams): Add ++ tokno parameter for call to PutParam. ++ * gm2-compiler/P0SymBuild.def (EndForward): New procedure. ++ * gm2-compiler/P0SymBuild.mod (EndForward): New procedure. ++ * gm2-compiler/P0SyntaxCheck.bnf (BlockAssert): New procedure. ++ (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/P1Build.bnf (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/P1SymBuild.def (Export): Removed unnecessary ++ export. ++ (EndBuildForward): New procedure. ++ * gm2-compiler/P1SymBuild.mod (StartBuildProcedure): Reimplement. ++ (EndBuildProcedure): Ditto. ++ (EndBuildForward): Ditto. ++ * gm2-compiler/P2Build.bnf (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/P2SymBuild.def (BuildProcedureDefinedByForward): ++ New procedure. ++ (BuildProcedureDefinedByProper): Ditto. ++ (CheckProcedure): Ditto. ++ (EndBuildForward): Ditto. ++ * gm2-compiler/P2SymBuild.mod (EndBuildProcedure): Reimplement. ++ (EndBuildForward): New procedure. ++ (BuildFPSection): Reimplement to allow forward declaration or ++ checking of parameters. ++ (BuildProcedureDefinedByProper): New procedure. ++ (BuildProcedureDefinedByForward): Ditto ++ (FailParameter): Remove. ++ (ParameterError): New procedure. ++ (ParameterMismatch): Ditto. ++ (EndBuildFormalParameters): Add parameter number check. ++ (GetComparison): New procedure function. ++ (GetSourceDesc): Ditto. ++ (GetCurSrcDesc): Ditto. ++ (GetDeclared): New procedure. ++ (ReturnTypeMismatch): Ditto. ++ (BuildFunction): Reimplement. ++ (CheckProcedure): New procedure. ++ (CheckFormalParameterSection): Reimplement using ParameterError. ++ * gm2-compiler/P3Build.bnf (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/P3SymBuild.def (Export): Remove unnecessary export. ++ (EndBuildForward): New procedure. ++ * gm2-compiler/P3SymBuild.mod (EndBuildForward): New procedure. ++ * gm2-compiler/PCBuild.bnf (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/PCSymBuild.def (EndBuildForward): New procedure. ++ * gm2-compiler/PCSymBuild.mod (EndBuildForward): Ditto. ++ * gm2-compiler/PHBuild.bnf (ProcedureDeclaration): Reimplement rule. ++ (PostProcedureHeading): New rule. ++ (ForwardDeclaration): Ditto. ++ (ProperProcedure): Ditto. ++ * gm2-compiler/SymbolTable.def (PutVarTok): New procedure. ++ (PutParam): Add typetok parameter. ++ (PutVarParam): Ditto. ++ (PutParamName): Ditto. ++ (GetDeclaredFor): New procedure function. ++ (AreParametersDefinedInDefinition): Ditto. ++ (PutParametersDefinedByForward): New procedure. ++ (GetParametersDefinedByForward): New procedure function. ++ (PutParametersDefinedByProper): New procedure. ++ (GetParametersDefinedByProper): New procedure function. ++ (GetProcedureDeclaredForward): Ditto. ++ (PutProcedureDeclaredForward): New procedure. ++ (GetProcedureDeclaredProper): New procedure function. ++ (PutProcedureDeclaredProper): New procedure. ++ (GetProcedureDeclaredDefinition): New procedure function. ++ (PutProcedureDeclaredDefinition): New procedure. ++ (GetVarDeclTypeTok): Ditto. ++ (PutVarDeclTypeTok): New procedure. ++ (GetVarDeclTok): Ditto. ++ (PutVarDeclTok): New procedure. ++ (GetVarDeclFullTok): Ditto. ++ * gm2-compiler/SymbolTable.mod (ProcedureDecl): New record type. ++ (VarDecl): Ditto. ++ (SymProcedure): Add new field Declared. ++ (SymVar): Add new field Declared. ++ (PutVarTok): New procedure. ++ (PutParam): Add typetok parameter. ++ (PutVarParam): Ditto. ++ (PutParamName): Ditto. ++ (GetDeclaredFor): New procedure function. ++ (AreParametersDefinedInDefinition): Ditto. ++ (PutParametersDefinedByForward): New procedure. ++ (GetParametersDefinedByForward): New procedure function. ++ (PutParametersDefinedByProper): New procedure. ++ (GetParametersDefinedByProper): New procedure function. ++ (GetProcedureDeclaredForward): Ditto. ++ (PutProcedureDeclaredForward): New procedure. ++ (GetProcedureDeclaredProper): New procedure function. ++ (PutProcedureDeclaredProper): New procedure. ++ (GetProcedureDeclaredDefinition): New procedure function. ++ (PutProcedureDeclaredDefinition): New procedure. ++ (GetVarDeclTypeTok): Ditto. ++ (PutVarDeclTypeTok): New procedure. ++ (GetVarDeclTok): Ditto. ++ (PutVarDeclTok): New procedure. ++ (GetVarDeclFullTok): Ditto. ++ (MakeProcedure): Initialize Declared field. ++ (MakeVar): Initialize Declared field. ++ * gm2-libs-log/FileSystem.def (FileNameChar): Add ++ missing return type. ++ * m2.flex: Add FORWARD keyword. ++ ++2024-12-02 Gaius Mulley ++ ++ Backported from master: ++ 2024-10-04 Gaius Mulley ++ ++ PR modula2/116918 ++ * gm2-compiler/M2Swig.mod (DoCheckUnbounded): Escape ++ the % character used in array_functions with %%. ++ ++2024-12-02 Gaius Mulley ++ ++ Backported from master: ++ 2024-10-01 Gaius Mulley ++ ++ PR modula2/116918 ++ * gm2-compiler/M2Swig.mod (AnnotateProcedure): Capitalize ++ the generated comment, split comment into multiple lines and ++ terminate the comment with ". */". ++ (DoCheckUnbounded): Escape the % character with %%. ++ (DoWriteFile): Ditto. ++ ++2024-12-02 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-23 Gaius Mulley ++ ++ * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): Remove ++ --suppress-noreturn. ++ * gm2-libs/M2RTS.mod (HaltC): Add noreturn attribute. ++ * gm2-libs-min/M2RTS.mod (HALT): Add LOOP END. ++ ++2024-12-02 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-16 Gaius Mulley ++ ++ PR modula2/117555 ++ * gm2-libs-iso/EXCEPTIONS.mod (CurrentNumber): Add return ++ statement. ++ * gm2-libs-iso/IOChan.mod (ReadResult): Ditto. ++ (CurrentFlags): Ditto. ++ (DeviceError): Ditto. ++ * gm2-libs-iso/IOLink.mod (DeviceTablePtrValue): Ditto. ++ * gm2-libs-iso/LongConv.mod (ValueReal): Ditto. ++ * gm2-libs/M2RTS.mod (Halt): Add noreturn attribute. ++ Add exit (1). ++ (HaltC): Add exit (1). ++ * pge-boot/GM2RTS.cc (M2RTS_Halt): Add exit (1). ++ (M2RTS_HaltC): Ditto. ++ ++2024-12-02 Gaius Mulley ++ ++ Backported from master: ++ 2024-11-18 Gaius Mulley ++ ++ PR modula2/117555 ++ * gm2-libs-iso/M2EXCEPTION.mod (M2Exception): Add missing ++ return statement. ++ * gm2-libs-iso/RealConv.mod (ValueReal): Ditto. ++ * gm2-libs-iso/RndFile.mod (StartPos): Ditto. ++ (EndPos): Ditto. ++ (NewPos): Ditto. ++ * gm2-libs-iso/ShortConv.mod (ValueReal): Ditto. ++ * gm2-libs-iso/WholeConv.mod (ValueInt): Ditto. ++ (ValueCard): Ditto. ++ ++2024-12-01 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-21 Gaius Mulley ++ ++ * gm2-compiler/M2Comp.mod (GenerateDependencies): Remove ++ unused parameter. ++ (WriteDep): Remove parameter dep. ++ (WritePhoneDep): Ditto. ++ ++2024-12-01 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-20 Gaius Mulley ++ ++ * gm2-compiler/M2Check.mod (checkUnboundedArray): New ++ procedure function. ++ (checkUnboundedUnbounded): Ditto. ++ (checkUnbounded): Rewrite to check the unbounded data ++ type. ++ (checkPair): Add comment. ++ (doCheckPair): Add comment. ++ Remove tinfo parameter from the call to checkTypeKindViolation. ++ (checkTypeKindViolation): Remove ununsed parameter tinfo. ++ * gm2-libs-ch/UnixArgs.cc (GM2RTS.h): Remove include. ++ * gm2-libs-ch/m2rts.h (M2RTS_INIT): New define. ++ (M2RTS_DEP): Ditto. ++ (M2RTS_RegisterModule): New prototype. ++ (GM2RTS.h): Add include to the MC_M2 block. ++ ++2024-11-30 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-16 Gaius Mulley ++ ++ * Make-lang.in (GM2_BOOT_INCLUDES): New variable. ++ (m2/gm2-compiler-boot/M2GCCDeclare.o): Rewrite to use ++ GM2_BOOT_INCLUDES. ++ (m2/gm2-compiler-boot/M2Error.o): Ditto. ++ (m2/gm2-compiler-boot/%.o): Ditto. ++ ++2024-11-29 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-16 Gaius Mulley ++ ++ PR modula2/116181 ++ * Make-lang.in (GM2-GCC-DEFS): Add gcctypes.def and ++ CDataTypes.def. ++ (MC-LIB-DEFS): Add CDataTypes.def. ++ * Make-maintainer.in (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): ++ Change include path to pge-boot. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Output.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. ++ (GM2PATH): Add -I$(srcdir)/m2/gm2-gcc. ++ (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Add -I$(srcdir)/m2/gm2-gcc. ++ (m2/mc-boot-gen/$(SRC_PREFIX)%.cc): Ditto. ++ * gm2-compiler/M2ALU.def (PushIntegerTree): Replace Tree with tree. ++ (PopIntegerTree): Ditto. ++ (PushRealTree): Ditto. ++ (PopRealTree): Ditto. ++ (PushComplexTree): Ditto. ++ (PopComplexTree): Ditto. ++ (PushSetTree): Ditto. ++ (PopSetTree): Ditto. ++ (PopConstructorTree): Ditto. ++ (ConstructSetConstant): Ditto. ++ (BuildRange): Ditto. ++ (CheckOrResetOverflow): Ditto. ++ (PushTypeOfTree): Ditto. ++ * gm2-compiler/M2ALU.mod (Tree): Replace with ... ++ (tree): ... this. ++ (gcctypes): Import location_t and tree. ++ (m2linemap): Remove import of location_t. ++ * gm2-compiler/M2Base.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2Base.mod (gcctypes): Import of location_t. ++ (m2linemap): Remove import of location_t. ++ * gm2-compiler/M2Bitset.mod (m2tree): Remove import of Tree. ++ * gm2-compiler/M2CaseList.mod (gcctypes): Import tree. ++ (m2tree): Remove import of Tree. ++ (Tree): Replace with ... ++ (tree): ... this. ++ * gm2-compiler/M2Emit.def (gcctypes): Import location_t. ++ * gm2-compiler/M2GCCDeclare.def (gcctypes): Import tree. ++ (PromoteToString): Replace Tree with tree. ++ (PromoteToCString): Ditto. ++ (ConstantKnownAndUsed): Ditto. ++ * gm2-compiler/M2GCCDeclare.mod (gcctypes): Import tree. ++ (m2tree): Remove import of Tree. ++ (Tree): Replace with ... ++ (tree): ... this. ++ * gm2-compiler/M2GenGCC.def (gcctypes): Import tree. ++ (m2tree): Remove import of Tree. ++ (Tree): Replace with ... ++ (tree): ... this. ++ (GetHighFromUnbounded): Replace Tree with tree. ++ (StringToChar): Ditto. ++ (LValueToGenericPtr): Ditto. ++ (ZConstToTypedConst): Ditto. ++ (PrepareCopyString): Ditto. ++ * gm2-compiler/M2GenGCC.mod (gcctypes): Import tree. ++ (m2tree): Remove import of Tree. ++ (Tree): Replace with ... ++ (tree): ... this. ++ * gm2-compiler/M2LangDump.def (gcctypes): Import tree. ++ (m2tree): Remove import of Tree. ++ (Tree): Replace with ... ++ (tree): ... this. ++ * gm2-compiler/M2LangDump.mod (Tree): Replace with ... ++ (tree): ... this. ++ * gm2-compiler/M2LexBuf.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2LexBuf.mod (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2Options.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2Options.mod (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2Range.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ (CDataTypes): Import ConstCharStar. ++ (CodeErrorCheck): Replace Tree with tree. ++ (OverlapsRange): Ditto. ++ (IsEqual): Ditto. ++ (IsGreaterOrEqual): Ditto. ++ (IsGreater): Ditto. ++ (BuildIfCallWholeHandlerLoc): Replace Tree with tree. ++ Replace ADDRESS with ConstCharStar. ++ (BuildIfCallRealHandlerLoc): Ditto. ++ (GetMinMax): Ditto. ++ * gm2-compiler/M2Range.mod (m2tree): Remove Tree. ++ (CodeErrorCheck): Replace Tree with tree. ++ (OverlapsRange): Ditto. ++ (IsEqual): Ditto. ++ (IsGreaterOrEqual): Ditto. ++ (IsGreater): Ditto. ++ (GetMinMax): Ditto. ++ (BuildIfCallWholeHandlerLoc): Replace Tree with tree. ++ Replace ADDRESS with ConstCharStar. ++ (BuildIfCallRealHandlerLoc): Ditto. ++ * gm2-compiler/M2System.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/M2System.mod (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ (CreateMinMaxFor): Replace Tree with tree. ++ (CreateType): Ditto. ++ (AttemptToCreateType): Ditto. ++ (CreateSetType): Ditto. ++ (AttemptToCreateSetType): Ditto. ++ * gm2-compiler/P2SymBuild.mod (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-compiler/SymbolConversion.def (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (Mod2Gcc): Replace Tree with tree. ++ (Gcc2Mod): Ditto. ++ (AddModGcc): Ditto. ++ * gm2-compiler/SymbolConversion.mod (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (Mod2Gcc): Replace Tree with tree. ++ (Gcc2Mod): Ditto. ++ (AddModGcc): Ditto. ++ (Mod2GccWithoutGCCPoison): Ditto. ++ * gm2-compiler/SymbolTable.def (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (PutModuleFinallyFunction): Replace Tree with tree. ++ (GetModuleFinallyFunction): Ditto. ++ * gm2-compiler/SymbolTable.mod (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (PutModuleFinallyFunction): Replace Tree with tree. ++ (GetModuleFinallyFunction): Ditto. ++ * gm2-compiler/m2flex.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ * gm2-gcc/init.def (PerCompilationInit): Replace ADDRESS with ConstCharStar. ++ (CDataTypes): Import ConstCharStar. ++ * gm2-gcc/m2block.def (SYSTEM): Remove import. ++ (CDataTypes): Import ConstCharStar. ++ (m2linemap): Remove import. ++ (m2tree): Remove import. ++ (gcctypes): Import tree. ++ (global_constant): Replace Tree with tree. ++ (RememberInitModuleFunction): Ditto. ++ (DumpGlobalConstants): Ditto. ++ (RememberConstant): Ditto. ++ (RememberType): Ditto. ++ (pushDecl): Ditto. ++ (popFunctionScope): Ditto. ++ (pushFunctionScope): Ditto. ++ (finishFunctionCode): Ditto. ++ (finishFunctionDecl): Ditto. ++ (GetErrorNode): Ditto. ++ (includeDecl): Ditto. ++ (GetGlobals): Ditto. ++ (GetGlobalContext): Ditto. ++ (begin_statement_list): Ditto. ++ (push_statement_list): Ditto. ++ (pop_statement_list): Ditto. ++ (getLabel): Replace Tree with tree. ++ Replace ADDRESS with ConstCharStar. ++ * gm2-gcc/m2builtins.def (CDataTypes): Import ConstCharStar. ++ (GetBuiltinConst): Replace Tree with tree. ++ (GetBuiltinConstType): Ditto. ++ (GetBuiltinTypeInfoType): Ditto. ++ (GetBuiltinTypeInfo): Ditto. ++ (BuiltinExists): Ditto. ++ (BuildBuiltinTree): Ditto. ++ (BuiltinMemCopy): Ditto. ++ (BuiltinMemSet): Ditto. ++ (BuiltInAlloca): Ditto. ++ (BuiltInIsfinite): Ditto. ++ * gm2-gcc/m2convert.def (CDataTypes): Import ConstCharStar. ++ (ToWord): Ditto. ++ (ToCardinal): Ditto. ++ (ToInteger): Ditto. ++ (ToBitset): Ditto. ++ (ConvertToPtr): Ditto. ++ (BuildConvert): Ditto. ++ (ConvertConstantAndCheck): Ditto. ++ (ConvertString): Ditto. ++ (GenericToType): Ditto. ++ * gm2-gcc/m2decl.cc (m2decl_BuildParameterDeclaration): Add ++ const attribute. ++ * gm2-gcc/m2decl.def (CDataTypes): Import ConstCharStar. ++ (BuildModuleCtor): Ditto. ++ (DeclareModuleCtor): Ditto. ++ (DeclareM2linkForcedModuleInitOrder): Ditto. ++ (DeclareM2linkStaticInitialization): Ditto. ++ (BuildPtrToTypeString): Ditto. ++ (BuildIntegerConstant): Ditto. ++ (BuildStringConstantType): Ditto. ++ (DeclareKnownVariable): Ditto. ++ (DeclareKnownConstant): Ditto. ++ (BuildParameterDeclaration): Ditto. ++ (BuildEndFunctionDeclaration): Ditto. ++ (RememberVariables): Ditto. ++ (BuildConstLiteralNumber): Ditto. ++ (BuildStringConstant): Ditto. ++ (BuildCStringConstant): Ditto. ++ (GetDeclContext): Ditto. ++ * gm2-gcc/m2decl.h (m2decl_BuildParameterDeclaration): Add ++ const attribute. ++ * gm2-gcc/m2except.def (CDataTypes): Import ConstCharStar. ++ (BuildThrow): Ditto. ++ (BuildTryBegin): Ditto. ++ (BuildTryEnd): Ditto. ++ (BuildCatchBegin): Ditto. ++ (BuildCatchEnd): Ditto. ++ * gm2-gcc/m2expr.def (CDataTypes): Import ConstCharStar. ++ (CSTIntToString): Ditto. ++ (CSTIntToChar): Ditto. ++ (CheckConstStrZtypeRange): Ditto. ++ (CompareTrees): Ditto. ++ (GetPointerOne): Ditto. ++ (GetPointerZero): Ditto. ++ (GetWordOne): Ditto. ++ (GetWordZero): Ditto. ++ (GetIntegerOne): Ditto. ++ (GetIntegerZero): Ditto. ++ (GetCardinalOne): Ditto. ++ (GetCardinalZero): Ditto. ++ (GetSizeOfInBits): Ditto. ++ (GetSizeOf): Ditto. ++ (BuildLogicalRotate): Ditto. ++ (BuildLRRn): Ditto. ++ (BuildLRLn): Ditto. ++ (BuildMask): Ditto. ++ (BuildMult): Ditto. ++ (BuildMultCheck): Ditto. ++ (BuildLRR): Ditto. ++ (BuildLRL): Ditto. ++ (BuildLogicalShift): Ditto. ++ (BuildLSR): Ditto. ++ (BuildLSL): Ditto. ++ (BuildDivM2): Ditto. ++ (BuildDivM2Check): Ditto. ++ (BuildModM2): Ditto. ++ (BuildModM2Check): Ditto. ++ (BuildModFloor): Ditto. ++ (BuildDivCeil): Ditto. ++ (BuildModCeil): Ditto. ++ (BuildDivFloor): Ditto. ++ (BuildModTrunc): Ditto. ++ (BuildDivTrunc): Ditto. ++ (BuildDivTruncCheck): Ditto. ++ (BuildRDiv): Ditto. ++ (BuildSubCheck): Ditto. ++ (BuildAddCheck): Ditto. ++ (BuildSub): Ditto. ++ (BuildAdd): Ditto. ++ (FoldAndStrip): Ditto. ++ (StringLength): Ditto. ++ (TreeOverflow): Ditto. ++ (RemoveOverflow): Ditto. ++ (BuildCoerce): Ditto. ++ (BuildTrunc): Ditto. ++ (BuildNegate): Ditto. ++ (BuildNegateCheck): Ditto. ++ (BuildSetNegate): Ditto. ++ (BuildTBitSize): Ditto. ++ (BuildSize): Ditto. ++ (BuildAddr): Ditto. ++ (BuildOffset1): Ditto. ++ (BuildOffset): Ditto. ++ (BuildLogicalOrAddress): Ditto. ++ (BuildLogicalOr): Ditto. ++ (BuildLogicalAnd): Ditto. ++ (BuildSymmetricDifference): Ditto. ++ (BuildLogicalDifference): Ditto. ++ (BuildLessThan): Ditto. ++ (BuildGreaterThan): Ditto. ++ (BuildLessThanOrEqual): Ditto. ++ (BuildGreaterThanOrEqual): Ditto. ++ (BuildEqualTo): Ditto. ++ (BuildNotEqualTo): Ditto. ++ (BuildIsSuperset): Ditto. ++ (BuildIsNotSuperset): Ditto. ++ (BuildIsSubset): Ditto. ++ (BuildIsNotSubset): Ditto. ++ (BuildIfConstInVar): Ditto. ++ (BuildIfNotConstInVar): Ditto. ++ (BuildIfVarInVar): Ditto. ++ (BuildIfNotVarInVar): Ditto. ++ (BuildForeachWordInSetDoIfExpr): Ditto. ++ (BuildIfInRangeGoto): Ditto. ++ (BuildIfNotInRangeGoto): Ditto. ++ (BuildArray): Ditto. ++ (BuildComponentRef): Ditto. ++ (BuildIndirect): Ditto. ++ (IsTrue): Ditto. ++ (IsFalse): Ditto. ++ (GetCstInteger): Ditto. ++ (AreConstantsEqual): Ditto. ++ (AreRealOrComplexConstantsEqual): Ditto. ++ (DetermineSign): Ditto. ++ (BuildCap): Ditto. ++ (BuildAbs): Ditto. ++ (BuildRe): Ditto. ++ (BuildIm): Ditto. ++ (BuildCmplx): Ditto. ++ (BuildBinaryForeachWordDo): Ditto. ++ (BuildBinarySetDo): Ditto. ++ (ConstantExpressionWarning): Ditto. ++ (BuildAddAddress): Ditto. ++ (calcNbits): Ditto. ++ (OverflowZType): Ditto. ++ (BuildCondIfExpression): Ditto. ++ * gm2-gcc/m2linemap.def (CDataTypes): Import ConstCharStar. ++ * gm2-gcc/m2misc.def (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (DebugTree): Replace Tree with tree. ++ * gm2-gcc/m2pp.def (m2tree): Replace with ... ++ (gcctypes): ... this. ++ (DumpGimpleFd): Replace Tree with tree. ++ * gm2-gcc/m2statement.cc (m2statement_BuildBuiltinCallTree): ++ Remove unused location parameter. ++ * gm2-gcc/m2statement.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ (CDataTypes): Import CharStar. ++ (DoJump): Replace Tree with tree. ++ Replace ADDRESS with CharStar. ++ (BuildStartFunctionCode): Replace Tree with tree. ++ (BuildEndFunctionCode): Ditto. ++ (BuildReturnValueCode): Ditto. ++ (BuildAssignmentTree): Ditto. ++ (BuildAssignmentStatement): Ditto. ++ (BuildGoto): Ditto. ++ (DeclareLabel): Ditto. ++ (BuildIfThenDoEnd): Ditto. ++ (BuildIfThenElseEnd): Ditto. ++ (BuildParam): Ditto. ++ (BuildFunctionCallTree): Ditto. ++ (BuildProcedureCallTree): Ditto. ++ (BuildIndirectProcedureCallTree): Ditto. ++ (BuildFunctValue): Ditto. ++ (BuildCall2): Ditto. ++ (BuildCall3): Ditto. ++ (SetLastFunction): Ditto. ++ (GetLastFunction): Ditto. ++ (GetParamTree): Ditto. ++ (BuildTryFinally): Ditto. ++ (BuildCleanUp): Ditto. ++ (BuildAsm): Ditto. ++ (BuildUnaryForeachWordDo): Ditto. ++ (BuildExcludeVarConst): Ditto. ++ (BuildExcludeVarVar): Ditto. ++ (BuildIncludeVarConst): Ditto. ++ (BuildIncludeVarVar): Ditto. ++ (BuildStart): Ditto. ++ (BuildEnd): Ditto. ++ (BuildCallInner): Ditto. ++ (BuildBuiltinCallTree): Remove unused location parameter. ++ * gm2-gcc/m2statement.h (m2statement_BuildBuiltinCallTree): Remove ++ unused location parameter. ++ * gm2-gcc/m2tree.def (gcctypes): Import tree. ++ (IsAConstant): Replace Tree with tree. ++ (IsOrdinal): Ditto. ++ (IsTreeOverflow): Ditto. ++ (skip_const_decl): Ditto. ++ (skip_type_decl): Ditto. ++ (is_type): Ditto. ++ (is_array): Ditto. ++ (is_var): Ditto. ++ (debug_tree): Ditto. ++ (IstreeOverflow): Ditto. ++ * gm2-gcc/m2treelib.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ (get_set_address_if_var): Ditto. ++ (get_set_field_rhs): Ditto. ++ (get_set_field_lhs): Ditto. ++ (get_set_address): Ditto. ++ (get_set_value): Ditto. ++ (get_field_no): Ditto. ++ (get_rvalue): Ditto. ++ (DoCall): Ditto. ++ (build_modify_expr): Ditto. ++ (do_jump_if_bit): Ditto. ++ * gm2-gcc/m2type.def (m2linemap): Replace with ... ++ (gcctypes): ... this. ++ (m2tree): Remove. ++ (CDataTypes): Import ConstCharStar and charStar. ++ (ValueInTypeRange): Replace Tree with tree. ++ (ValueOutOfTypeRange): Ditto. ++ (ExceedsTypeRange): Ditto. ++ (WithinTypeRange): Ditto. ++ (BuildSubrangeType): Ditto. ++ (BuildCharConstant): Ditto. ++ (BuildCharConstantChar): Ditto. ++ (BuildArrayConstructorElement): Ditto. ++ (BuildEndArrayConstructor): Ditto. ++ (BuildStartArrayConstructor): Ditto. ++ (BuildRecordConstructorElement): Ditto. ++ (BuildEndRecordConstructor): Ditto. ++ (BuildStartRecordConstructor): Ditto. ++ (BuildEndSetConstructor): Ditto. ++ (BuildSetConstructorElement): Ditto. ++ (BuildStartSetConstructor): Ditto. ++ (BuildSetType): Ditto. ++ (BuildConstPointerType): Ditto. ++ (BuildPointerType): Ditto. ++ (BuildEnumerator): Ditto. ++ (BuildEndEnumeration): Ditto. ++ (BuildStartEnumeration): Ditto. ++ (BuildTypeDeclaration): Ditto. ++ (GetMaxFrom): Ditto. ++ (GetMinFrom): Ditto. ++ (GetDefaultType): Ditto. ++ (BuildEndType): Ditto. ++ (BuildStartType): Ditto. ++ (BuildVariableArrayAndDeclare): Ditto. ++ (BuildProcTypeParameterDeclaration): Ditto. ++ (BuildStartFunctionType): Ditto. ++ (BuildEndFunctionType): Ditto. ++ (GetTreeType): Ditto. ++ (DeclareKnownType): Ditto. ++ (GetM2ZType): Ditto. ++ (GetM2RType): Ditto. ++ (BuildSetTypeFromSubrange): Ditto. ++ (BuildSmallestTypeRange): Ditto. ++ (GetBooleanType): Ditto. ++ (GetBooleanFalse): Ditto. ++ (GetBooleanTrue): Ditto. ++ (GetPackedBooleanType): Ditto. ++ (GetCharType): Ditto. ++ (GetByteType): Ditto. ++ (GetVoidType): Ditto. ++ (GetBitnumType): Ditto. ++ (GetRealType): Ditto. ++ (GetLongRealType): Ditto. ++ (GetShortRealType): Ditto. ++ (GetLongIntType): Ditto. ++ (GetPointerType): Ditto. ++ (GetCardinalType): Ditto. ++ (GetIntegerType): Ditto. ++ (GetWordType): Ditto. ++ (GetM2CardinalType): Ditto. ++ (GetBitsetType): Ditto. ++ (GetM2CType): Ditto. ++ (GetProcType): Ditto. ++ (GetM2ComplexType): Ditto. ++ (GetM2LongComplexType): Ditto. ++ (GetM2ShortComplexType): Ditto. ++ (GetM2Complex128): Ditto. ++ (GetM2Complex96): Ditto. ++ (GetM2Complex64): Ditto. ++ (GetM2Complex32): Ditto. ++ (GetM2Real128): Ditto. ++ (GetM2Real96): Ditto. ++ (GetM2Real64): Ditto. ++ (GetM2Real32): Ditto. ++ (GetM2Bitset32): Ditto. ++ (GetM2Bitset16): Ditto. ++ (GetM2Bitset8): Ditto. ++ (GetM2Word64): Ditto. ++ (GetM2Word32): Ditto. ++ (GetM2Word16): Ditto. ++ (GetM2Cardinal64): Ditto. ++ (GetM2Cardinal32): Ditto. ++ (GetM2Cardinal16): Ditto. ++ (GetM2Cardinal8): Ditto. ++ (GetM2Integer64): Ditto. ++ (GetM2Integer32): Ditto. ++ (GetM2Integer16): Ditto. ++ (GetM2Integer8): Ditto. ++ (GetISOLocType): Ditto. ++ (GetISOByteType): Ditto. ++ (GetISOWordType): Ditto. ++ (GetShortCardType): Ditto. ++ (GetM2ShortCardType): Ditto. ++ (GetShortIntType): Ditto. ++ (GetM2ShortIntType): Ditto. ++ (GetM2LongCardType): Ditto. ++ (GetM2LongIntType): Ditto. ++ (GetM2LongRealType): Ditto. ++ (GetM2RealType): Ditto. ++ (GetM2ShortRealType): Ditto. ++ (GetM2IntegerType): Ditto. ++ (GetM2CharType): Ditto. ++ (GetCSizeTType): Ditto. ++ (GetCSSizeTType): Ditto. ++ (BuildArrayStringConstructor): Ditto. ++ (RealToTree): Ditto. ++ (BuildStartRecord): Ditto. ++ (BuildStartUnion): Ditto. ++ (BuildStartVarient): Ditto. ++ (BuildEndVarient): Ditto. ++ (BuildStartFieldVarient): Ditto. ++ (BuildEndFieldVarient): Ditto. ++ (BuildStartFieldRecord): Ditto. ++ (BuildFieldRecord): Ditto. ++ (ChainOn): Ditto. ++ (ChainOnParamValue): Ditto. ++ (AddStringToTreeList): Ditto. ++ (BuildEndRecord): Ditto. ++ (SetAlignment): Ditto. ++ (SetDeclPacked): Ditto. ++ (SetTypePacked): Ditto. ++ (SetRecordFieldOffset): Ditto. ++ (BuildPackedFieldRecord): Ditto. ++ (BuildNumberOfArrayElements): Ditto. ++ (AddStatement): Ditto. ++ (MarkFunctionReferenced): Ditto. ++ (BuildArrayIndexType): Ditto. ++ (GetArrayNoOfElements): Ditto. ++ (BuildEndArrayType): Ditto. ++ (PutArrayType): Ditto. ++ (BuildStartArrayType): Ditto. ++ (IsAddress): Ditto. ++ (SameRealType): Ditto. ++ * m2.flex (Gm2linemap.h): Include. ++ * mc-boot/GDynamicStrings.cc: Rebuild. ++ * mc-boot/GFIO.cc: Ditto. ++ * mc-boot/GIndexing.cc: Ditto. ++ * mc-boot/GM2Dependent.cc: Ditto. ++ * mc-boot/GSArgs.cc: Ditto. ++ * mc-boot/GStringConvert.cc: Ditto. ++ * mc-boot/Gdecl.cc: Ditto. ++ * mc-boot/Gdecl.h: Ditto. ++ * mc-boot/Gdtoa.h: Ditto. ++ * mc-boot/Gkeyc.cc: Ditto. ++ * mc-boot/Gkeyc.h: Ditto. ++ * mc-boot/Glibc.h: Ditto. ++ * mc-boot/GmcComp.cc: Ditto. ++ * mc-boot/GmcLexBuf.cc: Ditto. ++ * mc-boot/GmcPreprocess.cc: Ditto. ++ * mc-boot/GmcStream.cc: Ditto. ++ * mc-boot/Gmcp1.cc: Ditto. ++ * mc-boot/Gmcp3.cc: Ditto. ++ * mc-boot/Gmcp4.cc: Ditto. ++ * mc-boot/Gmcp5.cc: Ditto. ++ * mc-boot/GnameKey.cc: Ditto. ++ * mc-boot/Gvarargs.cc: Ditto. ++ * mc/decl.def (putDefUnqualified): New procedure function. ++ (isDefUnqualified): Ditto. ++ * mc/decl.mod (defT): Add unqualified field. ++ (charStarN): New variable. ++ (constCharStarN): Ditto. ++ (checkGccType): New procedure. ++ (checkCDataTypes): Ditto. ++ (import): Call checkGccType and checkCDataTypes. ++ (putDefUnqualified): New procedure function. ++ (isDefUnqualified): Ditto. ++ * mc/keyc.def (useGccTree): New procedure. ++ (useGccLocation): Ditto. ++ * mc/keyc.mod (checkGccConfigSystem): Call checkGccConfigSystem. ++ (useGccTree): New procedure. ++ (useGccLocation): Ditto. ++ * mc/mcp1.bnf (decl): Import putDefUnqualified. ++ (Export): Call putDefUnqualified. ++ * gm2-gcc/CDataTypes.def: New file. ++ * gm2-gcc/gcctypes.def: New file. ++ ++2024-11-29 Gaius Mulley ++ ++ Backported from master: ++ 2024-09-02 Gaius Mulley ++ ++ PR modula2/116557 ++ * gm2-lang.cc: Replace physical address with URL in GPL header. ++ * gm2-lang.h: Ditto. ++ * images/LICENSE.IMG: Ditto. ++ * m2-tree.def: Ditto. ++ * mc-boot/GIndexing.cc: Ditto. ++ * mc-boot/Gkeyc.cc: Ditto. ++ * mc-boot/Glists.cc: Ditto. ++ * mc-boot/GmcComp.cc: Ditto. ++ * mc-boot/GmcDebug.cc: Ditto. ++ * mc-boot/GmcFileName.cc: Ditto. ++ * mc-boot/GmcMetaError.cc: Ditto. ++ * mc-boot/GmcOptions.cc: Ditto. ++ * mc-boot/GmcPreprocess.cc: Ditto. ++ * mc-boot/GmcPretty.cc: Ditto. ++ * mc-boot/GmcPrintf.cc: Ditto. ++ * mc-boot/GmcQuiet.cc: Ditto. ++ * mc-boot/GmcReserved.cc: Ditto. ++ * mc-boot/GmcSearch.cc: Ditto. ++ * mc-boot/GmcStack.cc: Ditto. ++ * mc/Indexing.mod: Ditto. ++ * mc/keyc.mod: Ditto. ++ * mc/lists.mod: Ditto. ++ * mc/mcComp.mod: Ditto. ++ * mc/mcDebug.mod: Ditto. ++ * mc/mcFileName.mod: Ditto. ++ * mc/mcMetaError.mod: Ditto. ++ * mc/mcOptions.mod: Ditto. ++ * mc/mcPreprocess.mod: Ditto. ++ * mc/mcPretty.mod: Ditto. ++ * mc/mcPrintf.mod: Ditto. ++ * mc/mcQuiet.mod: Ditto. ++ * mc/mcReserved.mod: Ditto. ++ * mc/mcSearch.mod: Ditto. ++ * mc/mcStack.mod: Ditto. ++ * tools-src/buildpg: Ditto. ++ * tools-src/calcpath: Ditto. ++ * tools-src/checkmeta.py: Ditto. ++ * tools-src/def2doc.py: Ditto. ++ * tools-src/makeSystem: Ditto. ++ * tools-src/tidydates.py: Ditto. ++ ++2024-11-29 Gaius Mulley ++ ++ Backported from master: ++ 2024-08-30 Gaius Mulley ++ ++ PR modula2/116181 ++ * pge-boot/GM2RTS.h: Regenerate. ++ * pge-boot/m2rts.h: Ditto. ++ ++2024-11-29 Gaius Mulley ++ ++ Backported from master: ++ 2024-08-28 Gaius Mulley ++ ++ PR modula2/116181 ++ * Make-lang.in (MC_SRC_FLAGS): New macro. ++ (m2/mc-boot/$(SRC_PREFIX)%.o): Use MC_SRC_FLAGS. ++ (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. ++ (m2/gm2-libs-boot/M2RTS.o): Ditto. ++ (m2/gm2-libs-boot/%.o): Ditto. ++ (GM2-LIBS-BOOT-H): New macro. ++ (m2/gm2-libs-boot/RTcodummy.o): Use MC_SRC_FLAGS. ++ Remove gm2-libs-host.h from the dependancy. ++ (m2/gm2-libs-boot/wrapc.o): Use MC_SRC_FLAGS. ++ Add dependancy GM2-LIBS-BOOT-H. ++ (m2/gm2-libs-boot/UnixArgs.o): Ditto. ++ (m2/gm2-libs-boot/choosetemp.o): Ditto. ++ (m2/gm2-libs-boot/errno.o): Ditto. ++ (m2/gm2-libs-boot/dtoa.o): Ditto. ++ (m2/gm2-libs-boot/ldtoa.o): Ditto. ++ (m2/gm2-libs-boot/termios.o): Ditto. ++ (m2/gm2-libs-boot/SysExceptions.o): Ditto. ++ (m2/gm2-compiler-boot/M2GCCDeclare.o): Add gm2-libs-ch to the ++ search path. ++ (m2/gm2-compiler-boot/M2Error.o): Ditto. ++ (m2/gm2-compiler-boot/%.o): Ditto. ++ (m2/pge-boot/%.o): Ditto. ++ * gm2-gcc/m2color.cc (m2color_colorize_start): Replace parameter ++ type char to void and recast to char * when calling colorize_start. ++ * gm2-gcc/m2color.h (m2color_colorize_start): Replace parameter ++ type char to void. ++ * gm2-gcc/m2type.h: Remove #if 0 block. ++ * gm2-libs-ch/SysExceptions.c (DECL_PROC_T): Provide alternative ++ defines for MC an gm2. ++ (PROC_FUNC): Ditto. ++ (EXTERN): Force undefine and redefine. ++ (SysExceptions_InitExceptionHandlers): Rewrite function ++ declaration using defined macros. ++ (_M2_SysExceptions_init): Use EXTERN. ++ (_M2_SysExceptions_finish): Replace with ... ++ (_M2_SysExceptions_fini): ... this and add parameters. ++ * gm2-libs-ch/UnixArgs.cc (gm2-libs-host.h): Include. ++ (GUnixArgs.h): Include. ++ (GM2RTS.h): Include. ++ (UnixArgs_GetArgV): Change return type to void *. ++ (UnixArgs_GetEnvV): Ditto. ++ * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule_Cstr): Add new ++ conditional macro. ++ (M2RTS_RequestDependant): Remove. ++ (M2RTS_RegisterModule): Ditto. ++ (M2RTS_Terminate): Ditto. ++ (M2RTS_DeconstructModules): Ditto. ++ (M2RTS_Halt): Ditto. ++ (_M2_M2RTS_init): Ditto. ++ (M2RTS_ConstructModules): Ditto. ++ * gm2-libs-ch/termios.c (_termios_C): Define. ++ (EXTERN): Add conditional definition. ++ (doSetUnset): New function. ++ (_M2_termios_init): Add correct parameters. ++ (_M2_termios_finish): Ditto. ++ (_M2_termios_fini): Ditto. ++ * mc-boot-ch/GSysExceptions.c (DECL_PROC_T): New define. ++ (PROC_FUNC): Ditto. ++ (EXTERN): Force undef. ++ (SysExceptions_InitExceptionHandlers): Rewrite. ++ * mc-boot-ch/Glibc.c (libc_open): Rename parameter ++ oflag to flags. ++ * mc-boot-ch/Gtermios.cc (_termios_C): New define. ++ (KillTermios): Change parameter type from ++ struct termios * to termios_TERMIOS. ++ (tcsnow): Rewrite. ++ (tcsnow): Rewrite. ++ (tcsdrain): Rewrite. ++ (tcsflush): Rewrite. ++ (cfgetospeed): Rewrite. ++ (cfgetispeed): Rewrite. ++ (cfsetospeed): Rewrite. ++ (cfsetispeed): Rewrite. ++ (cfsetspeed): Rewrite. ++ (cfsetspeed): Rewrite. ++ (tcgetattr): Rewrite. ++ (tcsetattr): Rewrite. ++ (cfmakeraw): Rewrite. ++ (tcsendbreak): Rewrite. ++ (tcdrain): Rewrite. ++ (tcflushi): Rewrite. ++ (tcflusho): Rewrite. ++ (tcflushio): Rewrite. ++ (tcflowoni): Rewrite. ++ (tcflowoffi): Rewrite. ++ (tcflowono): Rewrite. ++ (tcflowoffo): Rewrite. ++ (GetFlag): Rewrite. ++ (SetFlag): Rewrite. ++ (GetChar): Rewrite. ++ (SetChar): Rewrite. ++ (InitTermios): Rewrite. ++ * pge-boot/GM2RTS.cc: Regenerate. ++ * pge-boot/GSysExceptions.cc: Ditto. ++ * pge-boot/Gtermios.cc: Ditto. ++ * pge-boot/m2rts.h: Rewrite. ++ * mc-boot-ch/GSYSTEM.h: New file. ++ * mc-boot-ch/GSysExceptions.h: New file. ++ * mc-boot-ch/Gtermios.h: New file. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-08-16 Gaius Mulley ++ ++ * gm2-libs-iso/StdChans.mod (in): Rename to ... ++ (inch): ... this. ++ (out): Rename to ... ++ (outch): ... this. ++ (err): Rename to ... ++ (errch): ... this. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-08-16 Gaius Mulley ++ ++ PR modula2/116378 ++ * gm2-libs-iso/TermFile.mod (termOpen): Add third argument ++ for open. ++ * gm2-libs/libc.def (open): Remove vararg and use INTEGER for ++ mode parameter three. ++ * mc-boot-ch/Glibc.c (tracedb_open): Replace mode_t with int. ++ (libc_open): Rewrite without varargs. ++ * mc-boot/Glibc.h (libc_open): Replace varargs with int mode. ++ * pge-boot/Glibc.cc (libc_open): Rewrite. ++ * pge-boot/Glibc.h (libc_open): Replace varargs with int mode. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-08-12 Gaius Mulley ++ ++ PR modula2/116181 ++ * gm2-compiler/ppg.mod (FindStr): Initialize j. ++ * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Replace ++ M2RTS_RegisterModule with M2RTS_RegisterModule_Cstr. ++ * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Ditto. ++ * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Cast parameter s ++ for strtod. ++ (_M2_ldtoa_ctor): Replace M2RTS_RegisterModule with ++ M2RTS_RegisterModule_Cstr. ++ * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule_Cstr): New ++ define. ++ (M2RTS_RegisterModule): Remove const. ++ * mc-boot-ch/GSelective.c (Selective_FdIsSet): Return bool ++ rather than int. ++ * mc-boot-ch/Gldtoa.cc (ldtoa_strtold): Change const char to ++ void. ++ Cast s before passing as a parameter to strtod. ++ * mc-boot-ch/Glibc.c (tracedb_open): Replace const char with const ++ void. ++ (libc_perror): Replace char with const char. ++ (libc_printf): Replace char with void. ++ (libc_snprintf): Replace char with void. ++ Add const_cast for parameter to index. ++ Add reinterpret_cast for parameter to vsnprintf. ++ (libc_open): Replace first paramter type char with void. ++ Add vararg for the third parameter. ++ * mc-boot-ch/Gm2rtsdummy.cc (M2RTS_RequestDependant): Remove #if 0 code. ++ (m2pim_M2RTS_RegisterModule): Change const char parameters to void ++ (M2RTS_RegisterModule): Ditto. ++ (_M2_M2RTS_init): Remove #if 0 code. ++ (M2RTS_ConstructModules): Ditto. ++ (M2RTS_Terminate): Ditto. ++ (M2RTS_DeconstructModules): Ditto. ++ (M2RTS_Halt): Ditto. ++ * mc-boot-ch/Gtermios.cc (SetFlag): Return bool. ++ * mc-boot-ch/m2rts.h (M2RTS_RegisterModule_Cstr): New define. ++ (M2RTS_RegisterModule): Change const char parameters to void. ++ * mc-boot/Gdecl.cc: Regenerate. ++ * mc/decl.mod (getNextConstExp): Reimplement. ++ * pge-boot/GDynamicStrings.cc: Regenerate. ++ * pge-boot/GDynamicStrings.h: Ditto. ++ * pge-boot/GM2RTS.h (M2RTS_RegisterModule_Cstr): New function. ++ (M2RTS_RegisterModule): Reformat. ++ * pge-boot/GSymbolKey.cc: Regenerate. ++ * pge-boot/GSysExceptions.cc (_M2_SysExceptions_init): Add correct parameters. ++ (_M2_SysExceptions_fini): Ditto. ++ * pge-boot/GUnixArgs.cc (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): ++ Replace call to M2RTS_RegisterModule with M2RTS_RegisterModuleCstr. ++ * pge-boot/Gerrno.cc (_M2_errno_init): Add correct parameters. ++ (_M2_errno_fini): Ditto. ++ * pge-boot/Gldtoa.cc (ldtoa_strtold): Replace const char with ++ void. ++ Use reinterpret_cast when passing s to strtod. ++ Replace true with TRUE. ++ * pge-boot/Gldtoa.h (ldtoa_strtold): Tidy up. ++ * pge-boot/Glibc.cc (libc_read): Use size_t as the return type. ++ (libc_write): Ditto. ++ (libc_strlen): Ditto. ++ (libc_perror): Replace char with const char. ++ (libc_printf): Replace char to const char. ++ Cast parameter to index using const_cast. ++ (libc_snprintf): Replace char with void. ++ Cast parameter to index using const_cast. ++ (libc_malloc): Replace parameter type with size_t. ++ (libc_memcpy): Replace third parameter type with size_t. ++ (libc_open): Use varargs. ++ * pge-boot/Glibc.h (libc_perror): Add _string_high parameter. ++ * pge-boot/Gpge.cc: Regenerate. ++ * pge-boot/Gtermios.cc (SetFlag): Replace return type with bool. ++ (_M2_termios_init): Add correct parameters. ++ (_M2_termios_fini): Ditto. ++ * pge-boot/m2rts.h (M2RTS_RegisterModule_Cstr): New define. ++ (M2RTS_RegisterModule): Replace const char with void. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-28 Gaius Mulley ++ ++ PR modula2/115823 ++ * gm2-gcc/m2builtins.cc (define_builtin): Build ++ the function decl using the libname. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-24 Gaius Mulley ++ ++ * gm2-compiler/M2StateCheck.mod (GenerateError): Add ++ symbol name to the error message. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-23 Gaius Mulley ++ ++ PR modula2/116048 ++ * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2StateCheck.def. ++ (GM2-COMP-BOOT-MODS): Add M2StateCheck.mod. ++ (GM2-COMP-DEFS): Add M2StateCheck.def. ++ (GM2-COMP-MODS): Add M2StateCheck.mod. ++ * gm2-compiler/M2Quads.mod (StartBuildWith): Generate ++ unrecoverable error is the qualident type is NulSym. ++ Replace MetaError1 with MetaErrorT1 and position the error ++ to the qualident. ++ * gm2-compiler/P3Build.bnf (M2StateCheck): Import procedures. ++ (seenError): New variable. ++ (WasNoError): Remove variable. ++ (BlockState): New variable. ++ (ErrorString): Rewrite using seenError. ++ (CompilationUnit): Ditto. ++ (QualidentCheck): New rule. ++ (ConstantDeclaration): Bookend with InclConst and ExclConst. ++ (Constructor): Add InclConstructor, ExclConstructor and call ++ CheckQualident. ++ (ConstActualParameters): Call PushState, PopState, InclConstFunc ++ and CheckQualident. ++ (TypeDeclaration): Bookend with InclType and ExclType. ++ (SimpleType): Call QualidentCheck. ++ (CaseTag): Ditto. ++ (OptReturnType): Ditto. ++ (VariableDeclaration): Bookend with InclVar and ExclVar. ++ (Designator): Call QualidentCheck. ++ (Formal;Type): Ditto. ++ * gm2-compiler/PCBuild.bnf (M2StateCheck): Import procedures. ++ (ConstantDeclaration): Rewrite using InclConst and ExclConst. ++ (Constructor): Bookend with InclConstructor and ExclConstructor. ++ Call CheckQualident. ++ (ConstructorOrConstActualParameters): Rewrite and cal ++ l CheckQualident. ++ (ConstActualParameters): Bookend with PushState PopState. ++ Call InclConstFunc and CheckQualident. ++ * gm2-gcc/init.cc (_M2_M2StateCheck_init): New declaration. ++ (_M2_P3Build_init): New declaration. ++ (init_PerCompilationInit): Call _M2_M2StateCheck_init and ++ _M2_P3Build_init. ++ * gm2-compiler/M2StateCheck.def: New file. ++ * gm2-compiler/M2StateCheck.mod: New file. ++ ++2024-11-26 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-16 Gaius Mulley ++ ++ PR modula2/115957 ++ * gm2-compiler/M2StackAddress.mod (PopAddress): Detect tail=NIL ++ and generate an internal error. ++ * gm2-compiler/PCBuild.bnf (InConstParameter): New variable. ++ (InConstBlock): New variable. ++ (ErrorString): Rewrite using MetaErrorStringT0. ++ (ErrorArrayAt): Rewrite using MetaErrorStringT0. ++ (WarnMissingToken): Use MetaErrorStringT0. ++ (CompilationUnit): Set seenError FALSE. ++ (init): Initialize InConstParameter and InConstBlock. ++ (ConstantDeclaration): Set InConstBlock. ++ (ConstSetOrQualidentOrFunction): Call CheckNotVar if not ++ InConstParameter and InConstBlock. ++ (ConstActualParameters): Set InConstParameter TRUE and restore ++ value at the end. ++ * gm2-compiler/PCSymBuild.def (CheckNotVar): New procedure. ++ Remove all unnecessary export qualified list. ++ * gm2-compiler/PCSymBuild.mod (CheckNotVar): New procedure. ++ ++2024-11-23 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-12 Gaius Mulley ++ ++ * gm2-gcc/m2linemap.cc (INCLUDE_STRING): Define before ++ include of gcc-consolidation.h. ++ * gm2spec.cc (INCLUDE_STRING): Define before include of ++ system.h. ++ (INCLUDE_VECTOR): Ditto. ++ ++2024-11-23 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-10 Gaius Mulley ++ ++ PR modula2/115823 ++ * gm2-gcc/m2builtins.cc (struct builtin_macro_definition): New ++ field builtinname. ++ (builtin_function_match): New function. ++ (builtin_macro_match): Ditto. ++ (m2builtins_BuiltinExists): Use builtin_function_match and ++ builtin_macro_match. ++ (lookup_builtin_macro): Use builtin_macro_match. ++ (lookup_builtin_function): Use builtin_function_match. ++ (define_builtin): Assign builtinname field. ++ ++2024-11-23 Gaius Mulley ++ ++ Backported from master: ++ 2024-07-07 Gaius Mulley ++ Stefan Schulze Frielinghaus ++ Andrew Pinski ++ ++ PR modula2/115804 ++ * gm2-gcc/m2builtins.cc (builtin_function_entry): Add GTY. ++ (DoBuiltinMemCopy): Add rettype and use rettype in the call. ++ (DoBuiltinAlloca): Ditto. ++ (DoBuiltinIsfinite): Ditto. ++ (DoBuiltinIsnan): Ditto. ++ (m2builtins_BuiltInHugeVal): Ditto. ++ (m2builtins_BuiltInHugeValShort): Ditto. ++ (m2builtins_BuiltInHugeValLong): Ditto. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-25 Gaius Mulley ++ ++ * gm2-compiler/M2GenGCC.mod (QuadCondition): Remove. ++ (FoldIfEqu): Remove WalkAction parameter. ++ (FoldIfNotEqu): Ditto. ++ (FoldIfGreEqu): Ditto. ++ (FoldIfLessEqu): Ditto. ++ (FoldIfGre): Ditto. ++ (FoldIfLess): Ditto. ++ (FoldIfIn): Ditto. ++ (FoldIfNotIn): Ditto. ++ * gm2-compiler/M2Quads.mod (GenQuadOTypeUniquetok): Remove. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-25 Gaius Mulley ++ ++ PR modula2/115540 ++ * gm2-libs-ch/termios.c (cfmakeraw): Remove return. ++ * mc-boot-ch/Gtermios.cc (cfmakeraw): Remove return. ++ * pge-boot/Gtermios.cc (cfmakeraw): Remove return. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-25 Gaius Mulley ++ ++ PR modula2/115536 ++ * gm2-compiler/M2BasicBlock.def (GetBasicBlockScope): New procedure. ++ (GetBasicBlockStart): Ditto. ++ (GetBasicBlockEnd): Ditto. ++ (IsBasicBlockFirst): New procedure function. ++ * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): Allow ++ conditional boolean quads to be removed. ++ (GetBasicBlockScope): Implement new procedure. ++ (GetBasicBlockStart): Ditto. ++ (GetBasicBlockEnd): Ditto. ++ (IsBasicBlockFirst): Implement new procedure function. ++ * gm2-compiler/M2GCCDeclare.def (FoldConstants): New parameter ++ declaration. ++ * gm2-compiler/M2GCCDeclare.mod (FoldConstants): New parameter ++ declaration. ++ (DeclareTypesConstantsProceduresInRange): Recreate basic blocks ++ after resolving constant expressions. ++ (CodeBecomes): Guard IsVariableSSA with IsVar. ++ * gm2-compiler/M2GenGCC.def (ResolveConstantExpressions): New ++ parameter declaration. ++ * gm2-compiler/M2GenGCC.mod (FoldIfLess): Remove relop pattern ++ detection. ++ (FoldIfGre): Ditto. ++ (FoldIfLessEqu): Ditto. ++ (FoldIfGreEqu): Ditto. ++ (FoldIfIn): Ditto. ++ (FoldIfNotIn): Ditto. ++ (FoldIfEqu): Ditto. ++ (FoldIfNotEqu): Ditto. ++ (FoldBecomes): Add BasicBlock parameter and allow conditional ++ boolean becomes to be folded in the first basic block. ++ (ResolveConstantExpressions): Reimplement. ++ * gm2-compiler/M2Quads.def (IsConstQuad): New procedure function. ++ (IsConditionalBooleanQuad): Ditto. ++ * gm2-compiler/M2Quads.mod (IsConstQuad): Implement new procedure function. ++ (IsConditionalBooleanQuad): Ditto. ++ (MoveWithMode): Use GenQuadOTypetok. ++ (IsInitialisingConst): Rewrite using OpUsesOp1. ++ (OpUsesOp1): New procedure function. ++ (doBuildAssignment): Mark des as a VarConditional. ++ (ConvertBooleanToVariable): Call PutVarConditional. ++ (DumpQuadSummary): New procedure. ++ (BuildRelOpFromBoolean): Updated debugging and improved comments. ++ (BuildRelOp): Only call BuildRelOpFromBoolean if we are in a const ++ expression and both operands are boolean relops. ++ (GenQuadOTypeUniquetok): New procedure. ++ (BackPatch): Correct comment. ++ * gm2-compiler/SymbolTable.def (PutVarConditional): New procedure. ++ (IsVarConditional): New procedure function. ++ * gm2-compiler/SymbolTable.mod (PutVarConditional): Implement new ++ procedure. ++ (IsVarConditional): Implement new procedure function. ++ (SymConstVar): New field IsConditional. ++ (SymVar): New field IsConditional. ++ (MakeVar): Initialize IsConditional field. ++ (MakeConstVar): Initialize IsConditional field. ++ * gm2-compiler/M2Swig.mod (DoBasicBlock): Change parameters to ++ use BasicBlock. ++ * gm2-compiler/M2Code.mod (SecondDeclareAndOptimize): Use iterator ++ to FoldConstants over basic block list. ++ * gm2-compiler/M2SymInit.mod (AppendEntry): Replace parameters ++ with BasicBlock. ++ * gm2-compiler/P3Build.bnf (Relation): Call RecordOp for #, <> and =. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-11 Gaius Mulley ++ ++ PR modula2/114529 ++ * Make-lang.in (MC_EXTENDED_OPAQUE): Assign to nothing. ++ * Make-maintainer.in (mc-basetest): New rule. ++ (mc-devel-basetest): New rule. ++ (mc-clean): Remove mc. ++ (m2/mc-boot-gen/$(SRC_PREFIX)decl.cc): Replace --extended-opaque ++ with $(EXTENDED_OPAQUE). ++ (PG-SRC): Move define before generic rules. ++ (PGE-DEF): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)%.h): New rule. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)libc.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)mcrts.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)UnixArgs.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)Selective.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)termios.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)SysExceptions.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)ldtoa.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)wrapc.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)SYSTEM.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)errno.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)Output.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.h): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.o): Ditto. ++ (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto. ++ (m2/ppg$(exeext)): Ditto. ++ (m2/gm2-ppg-boot/main.o): Ditto. ++ (m2/gm2-auto): Ditto. ++ (c-family/m2pp.o): Ditto. ++ (BUILD-BOOT-PG-H): Correct macro definition. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)%.h): New rule. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.o): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)Lists.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)Lists.o): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)Output.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)Output.o): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.o): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)RTco.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.h): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)RTco.o): Ditto. ++ (m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.o): Ditto. ++ (BUILD-BOOT-PGE-H): Correct macro definition. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Output.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)Output.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTco.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTco.o): Ditto. ++ (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o): Ditto. ++ (mc-basetest): Ditto. ++ (mc-devel-basetest): Ditto. ++ * gm2-compiler/M2Options.def (SetM2Dump): Add BOOLEAN return. ++ * gm2-compiler/M2Quads.def (BuildAlignment): Add tokno parameter. ++ (BuildBitLength): Ditto. ++ * gm2-compiler/P3Build.bnf (ByteAlignment): Move tokpos assignment ++ to the start of the block. ++ * gm2-compiler/PCBuild.bnf (ConstSetOrQualidentOrFunction): Ditto. ++ (SetOrDesignatorOrFunction): Ditto. ++ * gm2-compiler/PHBuild.bnf (ConstSetOrQualidentOrFunction): Ditto. ++ (SetOrDesignatorOrFunction): Ditto. ++ (ByteAlignment): Ditto. ++ * gm2-libs/dtoa.def (dtoa): Change mode to INTEGER. ++ * gm2-libs/ldtoa.def (ldtoa): Ditto. ++ * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_init): Correct parameter list. ++ (_M2_SYSTEM_fini): Ditto. ++ * mc-boot-ch/Gdtoa.cc (dtoa_calcsign): Return bool. ++ (dtoa_dtoa): Return void * and use bool in the fifth parameter. ++ (_M2_dtoa_init): Correct parameter list. ++ (_M2_dtoa_fini): Ditto. ++ * mc-boot-ch/Gerrno.cc (_M2_errno_init): Ditto. ++ (_M2_errno_fini): Ditto. ++ * mc-boot-ch/Gldtoa.cc (dtoa_calcsign): Return bool. ++ (ldtoa_ldtoa): Return void * and use bool in the fifth parameter. ++ (_M2_ldtoa_init): Correct parameter list. ++ (_M2_ldtoa_fini): Ditto. ++ * mc-boot-ch/Glibc.c (tracedb_zresult): New function. ++ (libc_read): Return size_t and use size_t in parameter three. ++ (libc_write): Return size_t and use size_t in parameter three. ++ (libc_printf): Add const to the format specifier. ++ Change declaration of c to use const. ++ (libc_snprintf): Add const to the format specifier. ++ Change declaration of c to use const. ++ (libc_malloc): Use size_t. ++ (libc_memcpy): Ditto. ++ * mc-boot/GASCII.cc: Regenerate. ++ * mc-boot/GArgs.cc: Ditto. ++ * mc-boot/GAssertion.cc: Ditto. ++ * mc-boot/GBreak.cc: Ditto. ++ * mc-boot/GCmdArgs.cc: Ditto. ++ * mc-boot/GDebug.cc: Ditto. ++ * mc-boot/GDynamicStrings.cc: Ditto. ++ * mc-boot/GEnvironment.cc: Ditto. ++ * mc-boot/GFIO.cc: Ditto. ++ * mc-boot/GFormatStrings.cc: Ditto. ++ * mc-boot/GFpuIO.cc: Ditto. ++ * mc-boot/GIO.cc: Ditto. ++ * mc-boot/GIndexing.cc: Ditto. ++ * mc-boot/GM2Dependent.cc: Ditto. ++ * mc-boot/GM2EXCEPTION.cc: Ditto. ++ * mc-boot/GM2RTS.cc: Ditto. ++ * mc-boot/GMemUtils.cc: Ditto. ++ * mc-boot/GNumberIO.cc: Ditto. ++ * mc-boot/GPushBackInput.cc: Ditto. ++ * mc-boot/GRTExceptions.cc: Ditto. ++ * mc-boot/GRTint.cc: Ditto. ++ * mc-boot/GSArgs.cc: Ditto. ++ * mc-boot/GSFIO.cc: Ditto. ++ * mc-boot/GStdIO.cc: Ditto. ++ * mc-boot/GStorage.cc: Ditto. ++ * mc-boot/GStrCase.cc: Ditto. ++ * mc-boot/GStrIO.cc: Ditto. ++ * mc-boot/GStrLib.cc: Ditto. ++ * mc-boot/GStringConvert.cc: Ditto. ++ * mc-boot/GSysStorage.cc: Ditto. ++ * mc-boot/GTimeString.cc: Ditto. ++ * mc-boot/Galists.cc: Ditto. ++ * mc-boot/Gdecl.cc: Ditto. ++ * mc-boot/Gkeyc.cc: Ditto. ++ * mc-boot/Glists.cc: Ditto. ++ * mc-boot/GmcComment.cc: Ditto. ++ * mc-boot/GmcComp.cc: Ditto. ++ * mc-boot/GmcDebug.cc: Ditto. ++ * mc-boot/GmcError.cc: Ditto. ++ * mc-boot/GmcFileName.cc: Ditto. ++ * mc-boot/GmcLexBuf.cc: Ditto. ++ * mc-boot/GmcMetaError.cc: Ditto. ++ * mc-boot/GmcOptions.cc: Ditto. ++ * mc-boot/GmcPreprocess.cc: Ditto. ++ * mc-boot/GmcPretty.cc: Ditto. ++ * mc-boot/GmcPrintf.cc: Ditto. ++ * mc-boot/GmcQuiet.cc: Ditto. ++ * mc-boot/GmcReserved.cc: Ditto. ++ * mc-boot/GmcSearch.cc: Ditto. ++ * mc-boot/GmcStack.cc: Ditto. ++ * mc-boot/GmcStream.cc: Ditto. ++ * mc-boot/Gmcp1.cc: Ditto. ++ * mc-boot/Gmcp2.cc: Ditto. ++ * mc-boot/Gmcp3.cc: Ditto. ++ * mc-boot/Gmcp4.cc: Ditto. ++ * mc-boot/Gmcp5.cc: Ditto. ++ * mc-boot/GnameKey.cc: Ditto. ++ * mc-boot/GsymbolKey.cc: Ditto. ++ * mc-boot/Gvarargs.cc: Ditto. ++ * mc-boot/Gwlists.cc: Ditto. ++ * mc-boot/Gdecl.h: Ditto. ++ * mc-boot/Gldtoa.h: Ditto. ++ * mc-boot/Glibc.h: Ditto. ++ * mc/decl.def (putTypeOpaque): New procedure. ++ (isTypeOpaque): New procedure function. ++ * mc/decl.mod (debugOpaque): New constant. ++ (nodeT): New enumeration field opaquecast. ++ (node): New record field opaquecastF. ++ (opaqueCastState): New record. ++ (opaquecastT): New record. ++ (typeT): New field isOpaque. ++ (varT): New field opaqueState. ++ (arrayT): Ditto. ++ (varparamT): Ditto. ++ (paramT): Ditto. ++ (pointerT): Ditto. ++ (recordfieldT): Ditto. ++ (componentrefT): Ditto. ++ (pointerrefT): Ditto. ++ (arrayrefT): Ditto. ++ (procedureT): Ditto. ++ (proctypeT): Ditto. ++ (makeType): Initialize field isOpaque. ++ (makeTypeImp): Initialize field isOpaque. ++ (putVar): Call initNodeOpaqueCastState. ++ (putReturnType): Ditto. ++ (makeProcType): Ditto. ++ (putProcTypeReturn): Ditto. ++ (makeVarParameter): Ditto. ++ (makeNonVarParameter): Ditto. ++ (makeFuncCall): Ditto. ++ (putTypeOpaque): New procedure. ++ (isTypeOpaque): New procedure function. ++ (doMakeComponentRef): Call initNodeOpaqueCastState. ++ (makePointerRef): Call initNodeOpaqueCastState. ++ (doGetFuncType): Call initNodeOpaqueCastState. ++ (doBinary): Add FALSE parameter to doExprCup. ++ (doDeRefC): Rewrite. ++ (doComponentRefC): Call flushOpaque. ++ (doPointerRefC): Call flushOpaque. ++ (doArrayRefC): Add const_cast for unbounded array. ++ (doExprCup): Rewrite. ++ (doTypeAliasC): Remove. ++ (isDeclType): New procedure function. ++ (doEnumerationC): New procedure function. ++ (doParamTypeEmit): Ditto. ++ (doParamTypeNameModifier): Ditto. ++ (initOpaqueCastState): Ditto. ++ (initNodeOpaqueCastState): Ditto. ++ (setOpaqueCastState): Ditto. ++ (setNodeOpaqueVoidStar): Ditto. ++ (nodeUsesOpaque): Ditto. ++ (getNodeOpaqueVoidStar): Ditto. ++ (getOpaqueFlushNecessary): Ditto. ++ (makeOpaqueCast): Ditto. ++ (flushOpaque): Ditto. ++ (castOpaque): Ditto. ++ (isTypeOpaqueDefImp): Ditto. ++ (isParamVoidStar): Ditto. ++ (isRefVoidStar): Ditto. ++ (isReturnVoidStar): Ditto. ++ (isVarVoidStar): Ditto. ++ (initNodeOpaqueState): Ditto. ++ (assignNodeOpaqueCastState): Ditto. ++ (assignNodeOpaqueCastFalse): Ditto. ++ (dumpOpaqueState): Ditto. ++ (doProcTypeC): Rewrite. ++ (isDeclInImp): New procedure function. ++ (doTypeNameModifier): Ditto. ++ (doTypeC): Emit typedef if enum is declared in this module. ++ (doCompletePartialProcType): Rewrite. ++ (outputCompletePartialProcType): New procedure. ++ (doOpaqueModifier): Ditto. ++ (doVarC): Ditto. ++ (doProcedureHeadingC): Add opaque modifier to return type if ++ necessary. ++ (doReturnC): Cast opaque type for return if necessary. ++ (forceCastOpaque): New procedure. ++ (forceReintCastOpaque): New procedure. ++ (doUnConstCastUnbounded): New procedure. ++ (doAssignmentC): Cast opaque for both des and expr if necessary. ++ (doAdrExprC): Use static_cast for void * casting. ++ (doFuncVarParam): New procedure. ++ (doFuncParamC): Rewrite. ++ (doAdrArgC): Rewrite. ++ (getFunction): New procedure function. ++ (stop): Rename to ... ++ (localstop): ... this. ++ (dupFunccall): Call assignNodeOpaqueCastState. ++ (dbg): Rewrite. ++ (addDone): Rewrite. ++ (addDoneDef): Do not add opaque types to the doneQ when declared in ++ the definition module. ++ * mc/mc.flex (openSource): Return bool. ++ (_M2_mcflex_init): Correct parameter list. ++ (_M2_mcflex_fini): Ditto. ++ * mc/mcComment.h (stdbool.h): Include. ++ (mcComment_initComment): Change unsigned int to bool. ++ * mc/mcOptions.mod (handleOption): Disable --extended-opaque ++ and issue warning. ++ * mc/mcp1.bnf (DefTypeDeclaration): Call putTypeOpaque. ++ ++2024-11-22 Gaius Mulley ++ ++ Backported from master: ++ 2024-06-06 Gaius Mulley ++ Kewen.Lin ++ ++ * gm2-gcc/m2type.cc (build_m2_short_real_node): Rewrite ++ to use the default float_type_node. ++ (build_m2_real_node): Rewrite to use the default ++ double_type_node. ++ (build_m2_long_real_node): Rewrite to use the default ++ long_double_type_node or float128_type_node. ++ ++2024-11-20 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-21 Gaius Mulley ++ ++ * Make-lang.in (MC_EXTENDED_OPAQUE): New definition. ++ * mc-boot/GDynamicStrings.cc: Rebuild. ++ * mc-boot/GDynamicStrings.h: Rebuild. ++ * mc-boot/Galists.cc: Rebuild. ++ * mc-boot/Galists.h: Rebuild. ++ * mc-boot/Gdecl.cc: Rebuild. ++ * mc/alists.def (equalList): New procedure. ++ * mc/alists.mod (equalList): New procedure implementation. ++ * mc/decl.mod (group): New type. ++ (freeGroup): New variable. ++ (globalGroup): Ditto. ++ (todoQ): Remove declaration and prefix all occurances with globalGroup^. ++ (partialQ): Ditto. ++ (doneQ): Ditto. ++ (newGroup): New procedure. ++ (initGroup): Ditto. ++ (killGroup): Ditto. ++ (dupGroup): Ditto. ++ (equalGroup): Ditto. ++ (topologicallyOut): Rewrite. ++ ++2024-11-19 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-21 Gaius Mulley ++ ++ * Make-lang.in (m2.install-info): Pass --destdir for dir index. ++ ++2024-11-19 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-15 Gaius Mulley ++ ++ PR modula2/115057 ++ * gm2-libs-iso/TextIO.mod (ReadRestLine): Use ReadChar to ++ skip unwanted characters as this calls IOChan.Look and updates ++ the cid result status. A Skip without a Look does not update ++ the status. Skip always sets read result to allRight. ++ * gm2-libs-iso/TextUtil.def (SkipSpaces): Improve comments. ++ (CharAvailable): Improve comments. ++ * gm2-libs-iso/TextUtil.mod (SkipSpaces): Improve comments. ++ (CharAvailable): Improve comments. ++ ++2024-11-19 Gaius Mulley ++ ++ Backported from master: ++ 2024-05-09 Gaius Mulley ++ ++ PR modula2/115003 ++ * gm2-compiler/SymbolTable.mod (GetScope): Add UndefinedSym ++ case clause and return NulSym. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/m2/Make-lang.in ++++ b/src/gcc/m2/Make-lang.in +@@ -425,7 +425,7 @@ m2.install-info: installdirs + else true; fi + -if [ -f gm2$(exeext) ] && [ -f $(DESTDIR)$(infodir)/m2.info ]; then \ + if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \ +- install-info --dir-file=$(infodir)/dir $(DESTDIR)$(infodir)/m2.info; \ ++ install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/m2.info; \ + else true; fi; \ + else true; fi + +@@ -505,12 +505,15 @@ MC_ARGS= --olang=c++ \ + $(MC_COPYRIGHT) \ + --gcc-config-system + ++MC_EXTENDED_OPAQUE= + MCDEPS=m2/boot-bin/mc$(exeext) + + MC=m2/boot-bin/mc$(exeext) $(MC_ARGS) + + MC_LIBS=m2/mc-boot-ch/Glibc.o m2/mc-boot-ch/Gmcrts.o + ++MC_SRC_FLAGS=-DMC_M2 ++ + M2LINK=m2/boot-bin/mklink$(exeext) + GM2_O=-O0 + GM2_O_S3=-O +@@ -577,7 +580,8 @@ GM2_LIBS_BOOT = m2/gm2-compiler-boot/gm2.a \ + $(GM2-BOOT-O) + + m2_OBJS = $(GM2_C_OBJS) m2/gm2-gcc/rtegraph.o \ +- m2/gm2-compiler-boot/m2flex.o ++ m2/gm2-compiler-boot/m2flex.o \ ++ $(BUILD-LIBS-BOOT) $(BUILD-COMPILER-BOOT) $(MC_LIBS) + + cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) $(m2.prev) + cp -p $< $@ +@@ -807,6 +811,7 @@ GM2-COMP-BOOT-DEFS = \ + M2Size.def \ + M2StackAddress.def \ + M2StackWord.def \ ++ M2StateCheck.def \ + M2Students.def \ + M2Swig.def \ + M2SymInit.def \ +@@ -881,6 +886,7 @@ GM2-COMP-BOOT-MODS = \ + M2Size.mod \ + M2StackAddress.mod \ + M2StackWord.mod \ ++ M2StateCheck.mod \ + M2Students.mod \ + M2Swig.mod \ + M2SymInit.mod \ +@@ -904,6 +910,7 @@ GM2-COMP-BOOT-MODS = \ + # The interface between the modula-2 front end and gimple/trees found in directory gm2-gcc. + + GM2-GCC-DEFS = \ ++ gcctypes.def \ + m2block.def \ + m2builtins.def \ + m2color.def \ +@@ -921,6 +928,7 @@ GM2-GCC-DEFS = \ + m2tree.def \ + m2treelib.def \ + m2type.def \ ++ CDataTypes.def \ + + # The following lists define the source files used to build gm2 using Modula-2 + # sources directly. +@@ -1089,6 +1097,7 @@ GM2-COMP-DEFS = \ + M2Size.def \ + M2StackAddress.def \ + M2StackWord.def \ ++ M2StateCheck.def \ + M2Students.def \ + M2Swig.def \ + M2SymInit.def \ +@@ -1160,6 +1169,7 @@ GM2-COMP-MODS = \ + M2Size.mod \ + M2StackAddress.mod \ + M2StackWord.mod \ ++ M2StateCheck.mod \ + M2Students.mod \ + M2Swig.mod \ + M2SymInit.mod \ +@@ -1228,6 +1238,7 @@ MC-LIB-DEFS = \ + Break.def \ + COROUTINES.def \ + CmdArgs.def \ ++ CDataTypes.def \ + Debug.def \ + DynamicStrings.def \ + Environment.def \ +@@ -1418,6 +1429,15 @@ GM2GCC = -I$(srcdir)/m2 -Im2 -I$(srcdir)/m2/gm2-gcc -Im2/gm2-gcc + + MCINCLUDES= -I$(srcdir)/m2/mc-boot-ch + LOCAL_INCLUDES = -I. -I$(srcdir)/../include -I$(srcdir) ++GM2_BOOT_INCLUDES=-I. \ ++ -I$(srcdir)/../include \ ++ -I$(srcdir) \ ++ -Im2/gm2-libs-boot \ ++ -I$(srcdir)/m2/gm2-libs-ch \ ++ -Im2/gm2-compiler-boot \ ++ -I$(srcdir)m2/gm2-gcc \ ++ -Im2/gm2-libiberty \ ++ -I$(srcdir)/m2/gm2-libiberty + + GCC_COLOR=m2/gm2-gcc/m2color.o diagnostic-color.o + +@@ -1429,17 +1449,17 @@ m2/boot-bin/mc$(exeext): $(BUILD-MC-BOOT-O) $(BUILD-MC-INTERFACE-O) \ + + m2/mc-boot/$(SRC_PREFIX)%.o: m2/mc-boot/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -g -c -I. -I$(srcdir)/m2/mc-boot-ch -I$(srcdir)/m2/mc-boot -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -g -c -I. -I$(srcdir)/m2/mc-boot-ch -I$(srcdir)/m2/mc-boot -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + + m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ ++ $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ + $(POSTCOMPILE) + + m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ ++ $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ + $(POSTCOMPILE) + + m2/mc-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit +@@ -1458,132 +1478,185 @@ mcflex.c: $(srcdir)/m2/mc/mc.flex + + m2/gm2-libs-boot/M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(MC) --suppress-noreturn -o=m2/gm2-libs-boot/M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod +- $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/M2RTS.c -o $@ ++ $(MC) -o=m2/gm2-libs-boot/M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod ++ $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -I$(srcdir)/m2/gm2-libs-ch $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/M2RTS.c -o $@ + $(POSTCOMPILE) + + m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs-boot/$*.mod +- $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MCINCLUDES) m2/gm2-libs-boot/$*.c -o $@ ++ $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MCINCLUDES) -I$(srcdir)/m2/gm2-libs-ch m2/gm2-libs-boot/$*.c -o $@ + $(POSTCOMPILE) + + m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs/$*.mod +- $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/$*.c -o $@ ++ $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -I$(srcdir)/m2/gm2-libs-ch $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/$*.c -o $@ + $(POSTCOMPILE) + + m2/gm2-libs-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) + -test -d $(@D) || $(mkinstalldirs) $(@D) + $(MC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def + +-m2/gm2-libs-boot/RTcodummy.o: $(srcdir)/m2/gm2-libs-ch/RTcodummy.c m2/gm2-libs/gm2-libs-host.h ++GM2-LIBS-BOOT-H=m2/gm2-libs/gm2-libs-host.h m2/gm2-libs-boot/GM2RTS.h m2/gm2-libs-boot/GSYSTEM.h ++ ++m2/gm2-libs-boot/RTcodummy.o: $(srcdir)/m2/gm2-libs-ch/RTcodummy.c + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/RTintdummy.o: $(srcdir)/m2/gm2-libs-ch/RTintdummy.c m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/RTintdummy.o: $(srcdir)/m2/gm2-libs-ch/RTintdummy.c + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c -DHAVE_CONFIG_H $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libs $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c -DHAVE_CONFIG_H $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libs $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c m2/gm2-libs-boot/$(SRC_PREFIX)errno.h m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c m2/gm2-libs-boot/$(SRC_PREFIX)errno.h $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs-boot -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs-boot -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + +-m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c $(BUILD-LIBS-BOOT-H) m2/gm2-libs/gm2-libs-host.h ++m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c $(BUILD-LIBS-BOOT-H) $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + + m2/gm2-libs-boot/SysExceptions.o: $(srcdir)/m2/gm2-libs-ch/SysExceptions.c \ +- m2/gm2-libs-boot/$(SRC_PREFIX)SysExceptions.h m2/gm2-libs/gm2-libs-host.h ++ m2/gm2-libs-boot/$(SRC_PREFIX)SysExceptions.h $(GM2-LIBS-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ++ $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ + $(POSTCOMPILE) + + m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(MC) -o=m2/gm2-libs-boot/SysStorage.c $(srcdir)/m2/gm2-libs/SysStorage.mod +- $(COMPILER) $(CM2DEP) -DIN_GCC -c $(CFLAGS) $(GM2_PICFLAGS) \ ++ $(COMPILER) $(CM2DEP) -DIN_GCC -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) \ + -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) \ + m2/gm2-libs-boot/SysStorage.c -o m2/gm2-libs-boot/SysStorage.o + $(POSTCOMPILE) + + m2/gm2-compiler-boot/M2GCCDeclare.o: $(srcdir)/m2/gm2-compiler/M2GCCDeclare.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2GCCDeclare.c $< ++ $(MC) $(MC_EXTENDED_OPAQUE) -o=m2/gm2-compiler-boot/M2GCCDeclare.c $< + $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ +- -I. -I$(srcdir)/../include -I$(srcdir) \ +- -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ +- -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2GCCDeclare.c -o $@ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2GCCDeclare.c -o $@ + $(POSTCOMPILE) + + m2/gm2-compiler-boot/M2Error.o: $(srcdir)/m2/gm2-compiler/M2Error.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2Error.c $< ++ $(MC) $(MC_EXTENDED_OPAQUE) -o=m2/gm2-compiler-boot/M2Error.c $< + $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ +- -I. -I$(srcdir)/../include -I$(srcdir) \ +- -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ +- -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2Error.c -o $@ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2Error.c -o $@ + $(POSTCOMPILE) + + m2/gm2-compiler-boot/%.o: $(srcdir)/m2/gm2-compiler/%.mod $(BUILD-BOOT-H) $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(MC) -o=m2/gm2-compiler-boot/$*.c $(srcdir)/m2/gm2-compiler/$*.mod + $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ +- -I. -I$(srcdir)/../include -I$(srcdir) \ +- -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot -Im2/gm2-libiberty \ +- -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ + $(POSTCOMPILE) + + m2/gm2-compiler-boot/%.o: m2/gm2-compiler-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(MC) -o=m2/gm2-compiler-boot/$*.c m2/gm2-compiler-boot/$*.mod + $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ +- -I. -I$(srcdir)/../include -I$(srcdir) \ +- -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ +- -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ + $(POSTCOMPILE) + + m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler/%.def $(MCDEPS) + -test -d $(@D) || $(mkinstalldirs) $(@D) + $(MC) -o=$@ $(srcdir)/m2/gm2-compiler/$*.def + ++m2/gm2-compiler-boot/P0SyntaxCheck.c: m2/gm2-compiler-boot/P0SyntaxCheck.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/P0SyntaxCheck.c m2/gm2-compiler-boot/P0SyntaxCheck.mod ++ ++m2/gm2-compiler-boot/P0SyntaxCheck.o: m2/gm2-compiler-boot/P0SyntaxCheck.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P0SyntaxCheck.c -o $@ ++ $(POSTCOMPILE) ++ ++m2/gm2-compiler-boot/P1Build.c: m2/gm2-compiler-boot/P1Build.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/P1Build.c m2/gm2-compiler-boot/P1Build.mod ++ ++m2/gm2-compiler-boot/P1Build.o: m2/gm2-compiler-boot/P1Build.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P1Build.c -o $@ ++ $(POSTCOMPILE) ++ ++m2/gm2-compiler-boot/P2Build.c: m2/gm2-compiler-boot/P2Build.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/P2Build.c m2/gm2-compiler-boot/P2Build.mod ++ ++m2/gm2-compiler-boot/P2Build.o: m2/gm2-compiler-boot/P2Build.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P2Build.c -o $@ ++ $(POSTCOMPILE) ++ ++m2/gm2-compiler-boot/P3Build.c: m2/gm2-compiler-boot/P3Build.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/P3Build.c m2/gm2-compiler-boot/P3Build.mod ++ ++m2/gm2-compiler-boot/P3Build.o: m2/gm2-compiler-boot/P3Build.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P3Build.c -o $@ ++ $(POSTCOMPILE) ++ ++m2/gm2-compiler-boot/PCBuild.c: m2/gm2-compiler-boot/PCBuild.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/PCBuild.c m2/gm2-compiler-boot/PCBuild.mod ++ ++m2/gm2-compiler-boot/PCBuild.o: m2/gm2-compiler-boot/PCBuild.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/PCBuild.c -o $@ ++ $(POSTCOMPILE) ++ ++m2/gm2-compiler-boot/PHBuild.c: m2/gm2-compiler-boot/PHBuild.mod $(MCDEPS) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(MC) -o=m2/gm2-compiler-boot/PHBuild.c m2/gm2-compiler-boot/PHBuild.mod ++ ++m2/gm2-compiler-boot/PHBuild.o: m2/gm2-compiler-boot/PHBuild.c $(MCDEPS) $(BUILD-BOOT-H) ++ -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ++ $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ++ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/PHBuild.c -o $@ ++ $(POSTCOMPILE) ++ + m2/gm2-compiler-boot/m2flex.o: m2/gm2-compiler/m2flex.c $(BUILD-BOOT-H) $(TIMEVAR_H) \ +- $(BUILD-LIBS-BOOT-H) m2/gm2-compiler-boot/$(SRC_PREFIX)NameKey.h \ ++ $(BUILD-LIBS-BOOT-H) m2/gm2-compiler-boot/$(SRC_PREFIX)NameKey.h \ + $(CONFIG_H) m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) + $(COMPILER) $(CM2DEP) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ +- $(GM2GCC) $(INCLUDES) -I$(srcdir)/m2 \ +- -Im2 -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ ++ $(GM2GCC) $(INCLUDES) $(GM2_BOOT_INCLUDES) $< -o $@ + $(POSTCOMPILE) + + m2/gm2-compiler/m2flex.c: $(srcdir)/m2/m2.flex $(TIMEVAR_H) insn-attr-common.h +@@ -1832,12 +1905,12 @@ include m2/Make-maintainer + else + m2/pge-boot/%.o: m2/pge-boot/%.c m2/gm2-libs/gm2-libs-host.h m2/gm2config.h + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) $(CFLAGS) $(GM2_PICFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ ++ $(CXX) $(CM2DEP) $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ + $(POSTCOMPILE) + + m2/pge-boot/%.o: m2/pge-boot/%.cc m2/gm2-libs/gm2-libs-host.h m2/gm2config.h + -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) +- $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ ++ $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ + $(POSTCOMPILE) + + $(PGE): $(BUILD-PGE-O) +--- a/src/gcc/m2/Make-maintainer.in ++++ b/src/gcc/m2/Make-maintainer.in +@@ -77,90 +77,14 @@ PPG-LIB-MODS = ASCII.mod \ + + PPG-SRC = ppg.mod + +-BUILD-PPG-O = $(PPG-INTERFACE-C:%.c=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ +- $(PPG-INTERFACE-CC:%.cc=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ +- $(PPG-MODS:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ +- $(PPG-LIB-MODS:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ +- $(PPG-SRC:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) +- +-MCC_ARGS= --olang=c++ \ +- --quiet \ +- --h-file-prefix=$(SRC_PREFIX) \ +- -I$(srcdir)/m2/gm2-libs \ +- -I$(srcdir)/m2/gm2-compiler \ +- -I$(srcdir)/m2/gm2-libiberty \ +- -I$(srcdir)/m2/gm2-gcc +- +-MCC=m2/boot-bin/mc$(exeext) $(MCC_ARGS) +- +-BUILD-PPG-LIBS-H = $(PPG-LIB-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) +- +-BUILD-PPG-H = m2/boot-bin/mc$(exeext) $(BUILD-PPG-LIBS-H) +- +-BUILD-BOOT-PPG-H: $(BUILD-BOOT-H) \ +- m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.h \ +- m2/gm2-ppg-boot/$(SRC_PREFIX)M2Dependent.h \ +- $(PPG-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(MCC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h $(BUILD-BOOT-PPG-H) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h $(BUILD-BOOT-PPG-H) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.cc $(srcdir)/m2/gm2-libs/M2RTS.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) \ +- -Im2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot -Im2/gm2-libs-boot \ +- -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.cc -o $@ +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(MCC) -o=m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-libs/$*.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) \ +- -Im2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot -Im2/gm2-libs-boot \ +- -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ +- +-m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-compiler/%.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- $(MCC) -o=m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-compiler/$*.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) \ +- -Im2/mc-boot -Im2/gm2-compiler-boot -Im2/gm2-libs-boot \ +- -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ +- +-m2/ppg$(exeext): m2/boot-bin/mc $(BUILD-PPG-O) $(BUILD-MC-INTERFACE-O) m2/gm2-ppg-boot/main.o \ +- m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o +- -test -d m2 || $(mkinstalldirs) m2 +- +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PPG-O) m2/gm2-ppg-boot/main.o \ +- m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm +- +-m2/gm2-ppg-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit +- -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot +- unset CC ; $(M2LINK) -s --langc++ --exit --name mainppginit.cc $(srcdir)/m2/init/ppginit +- mv mainppginit.cc m2/gm2-ppg-boot/main.cc +- $(CXX) $(INCLUDES) -g -c -o $@ m2/gm2-ppg-boot/main.cc +- +-m2/gm2-auto: +- -test -d $@ || $(mkinstalldirs) $@ +- +-c-family/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) +- $(COMPILER) -c -g $(ALL_COMPILERFLAGS) \ +- $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) +- +-# m2/pg$(exext) is the 2nd generation parser generator built from ebnf +-# without error recovery ++# m2/pg$(exext) is the 2nd generation parser generator built from the ++# ebnf src without error recovery + + PG-SRC = pg.mod + PGE-DEF = ASCII.def \ + Args.def \ + Assertion.def \ ++ bnflex.def \ + Break.def \ + COROUTINES.def \ + CmdArgs.def \ +@@ -176,6 +100,7 @@ PGE-DEF = ASCII.def \ + M2RTS.def \ + MemUtils.def \ + NumberIO.def \ ++ Output.def \ + PushBackInput.def \ + RTExceptions.def \ + RTco.def \ +@@ -191,6 +116,7 @@ PGE-DEF = ASCII.def \ + StrIO.def \ + StrLib.def \ + StringConvert.def \ ++ SymbolKey.def \ + SysExceptions.def \ + SysStorage.def \ + TimeString.def \ +@@ -260,6 +186,9 @@ PGE-DEPS = Gabort.cc \ + GPushBackInput.cc \ + GPushBackInput.h \ + GRTco.cc \ ++ GRTco.h \ ++ GRTentity.cc \ ++ GRTentity.h \ + GRTExceptions.cc \ + GRTExceptions.h \ + GSArgs.h \ +@@ -295,19 +224,320 @@ PGE-DEPS = Gabort.cc \ + Gwrapc.cc \ + Gwrapc.h + ++BUILD-PPG-O = $(PPG-INTERFACE-C:%.c=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ ++ $(PPG-INTERFACE-CC:%.cc=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ ++ $(PPG-MODS:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ ++ $(PPG-LIB-MODS:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) \ ++ $(PPG-SRC:%.mod=m2/gm2-ppg-boot/$(SRC_PREFIX)%.o) ++ ++MCC_ARGS= --olang=c++ \ ++ --quiet \ ++ --h-file-prefix=$(SRC_PREFIX) \ ++ -I$(srcdir)/m2/gm2-libs \ ++ -I$(srcdir)/m2/gm2-compiler \ ++ -I$(srcdir)/m2/gm2-libiberty \ ++ -I$(srcdir)/m2/gm2-gcc ++ ++MCC=m2/boot-bin/mc$(exeext) $(MCC_ARGS) ++ ++BUILD-PPG-LIBS-H = $(PPG-LIB-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) ++ ++BUILD-PPG-H = m2/boot-bin/mc$(exeext) $(BUILD-PPG-LIBS-H) ++ ++BUILD-BOOT-PPG-H = $(BUILD-BOOT-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.h \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)M2Dependent.h \ ++ $(PGE-DEF:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) \ ++ $(PPG-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) \ ++ $(PPG-LIB-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) ++ ++# BUILD-BOOT-PPG-H = $(BUILD-BOOT-H) $(PGE-DEF:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)libc.o: $(srcdir)/m2/mc-boot-ch/Glibc.c m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)mcrts.o: $(srcdir)/m2/mc-boot-ch/Gmcrts.c m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)UnixArgs.o: $(srcdir)/m2/mc-boot-ch/GUnixArgs.cc ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)Selective.o: $(srcdir)/m2/mc-boot-ch/GSelective.c m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -Im2/gm2-libs -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)termios.o: $(srcdir)/m2/mc-boot-ch/Gtermios.cc m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)SysExceptions.o: $(srcdir)/m2/mc-boot-ch/GSysExceptions.c m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)ldtoa.o: $(srcdir)/m2/mc-boot-ch/Gldtoa.cc m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)dtoa.o: $(srcdir)/m2/mc-boot-ch/Gdtoa.cc m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)wrapc.o: $(srcdir)/m2/mc-boot-ch/Gwrapc.c m2/gm2-libs/gm2-libs-host.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)SYSTEM.o: $(srcdir)/m2/mc-boot-ch/GSYSTEM.c $(BUILD-BOOT-PPG-H) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)errno.o: $(srcdir)/m2/mc-boot-ch/Gerrno.cc ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.cc $(srcdir)/m2/gm2-libs/M2RTS.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.h: $(srcdir)/m2/gm2-compiler/SymbolKey.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/SymbolKey.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.o: $(srcdir)/m2/gm2-compiler/SymbolKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.cc $(srcdir)/m2/gm2-compiler/SymbolKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.h: $(srcdir)/m2/gm2-compiler/NameKey.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/NameKey.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.o: $(srcdir)/m2/gm2-compiler/NameKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.cc $(srcdir)/m2/gm2-compiler/NameKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.h: $(srcdir)/m2/gm2-compiler/Lists.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Lists.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.o: $(srcdir)/m2/gm2-compiler/Lists.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.cc $(srcdir)/m2/gm2-compiler/Lists.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)Output.h: $(srcdir)/m2/gm2-compiler/Output.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Output.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)Output.o: $(srcdir)/m2/gm2-compiler/Output.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)Output.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)Output.cc $(srcdir)/m2/gm2-compiler/Output.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)Output.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.h: $(srcdir)/m2/gm2-compiler/bnflex.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/bnflex.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.o: $(srcdir)/m2/gm2-compiler/bnflex.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.cc $(srcdir)/m2/gm2-compiler/bnflex.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.h: $(srcdir)/m2/gm2-libs-iso/RTco.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTco.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.h: $(srcdir)/m2/gm2-libs-iso/RTentity.def $(MCDEPS) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTentity.def ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.o: $(srcdir)/m2/gm2-libs-iso/RTcodummy.c ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.o: $(srcdir)/m2/gm2-libs-iso/RTentity.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PPG-H) \ ++ m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.h ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.cc $(srcdir)/m2/gm2-libs-iso/RTentity.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-libs/$*.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-ppg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ ++ ++m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-compiler/%.mod $(MCDEPS) $(BUILD-BOOT-PPG-H) ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ $(MCC) -o=m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-compiler/$*.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot -Im2/gm2-compiler-boot \ ++ -Im2/gm2-libs-boot -Im2/gm2-ppg-boot \ ++ -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ ++ ++m2/ppg$(exeext): m2/boot-bin/mc $(BUILD-PPG-O) $(BUILD-MC-INTERFACE-O) m2/gm2-ppg-boot/main.o \ ++ m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o ++ -test -d m2 || $(mkinstalldirs) m2 ++ +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PPG-O) m2/gm2-ppg-boot/main.o \ ++ m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm ++ ++m2/gm2-ppg-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit ++ -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot ++ unset CC ; $(M2LINK) -s --langc++ --exit --name mainppginit.cc $(srcdir)/m2/init/ppginit ++ mv mainppginit.cc m2/gm2-ppg-boot/main.cc ++ $(CXX) $(INCLUDES) -g -c -o $@ m2/gm2-ppg-boot/main.cc ++ ++m2/gm2-auto: ++ -test -d $@ || $(mkinstalldirs) $@ ++ ++c-family/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ++ $(COMPILER) -c -g $(ALL_COMPILERFLAGS) \ ++ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) ++ ++ + BUILD-PG-O = $(PPG-INTERFACE-C:%.c=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ + $(PPG-INTERFACE-CC:%.cc=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ + $(PPG-MODS:%.mod=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ + $(PPG-LIB-MODS:%.mod=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ + $(PG-SRC:%.mod=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) + +-BUILD-BOOT-PG-H: $(BUILD-BOOT-H) \ ++BUILD-BOOT-PG-H = $(BUILD-BOOT-H) \ + m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.h \ +- m2/gm2-pg-boot/$(SRC_PREFIX)M2Dependent.h ++ m2/gm2-pg-boot/$(SRC_PREFIX)M2Dependent.h \ ++ $(PGE-DEF:%.def=m2/gm2-pg-boot/$(SRC_PREFIX)%.h) \ ++ $(PPG-DEFS:%.def=m2/gm2-pg-boot/$(SRC_PREFIX)%.h) \ ++ $(PPG-LIB-DEFS:%.def=m2/gm2-pg-boot/$(SRC_PREFIX)%.h) + + m2/gm2-pg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) + -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot +- $(MCC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def $< ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler/%.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-compiler $< ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)SymbolKey.h: $(srcdir)/m2/gm2-compiler/SymbolKey.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/SymbolKey.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)SymbolKey.o: $(srcdir)/m2/gm2-compiler/SymbolKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)SymbolKey.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)SymbolKey.cc $(srcdir)/m2/gm2-compiler/SymbolKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)SymbolKey.cc -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.h: $(srcdir)/m2/gm2-compiler/NameKey.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/NameKey.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.o: $(srcdir)/m2/gm2-compiler/NameKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.cc $(srcdir)/m2/gm2-compiler/NameKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.cc -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)Lists.h: $(srcdir)/m2/gm2-compiler/Lists.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Lists.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)Lists.o: $(srcdir)/m2/gm2-compiler/Lists.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)Lists.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)Lists.cc $(srcdir)/m2/gm2-compiler/Lists.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)Lists.cc -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)Output.h: $(srcdir)/m2/gm2-compiler/Output.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Output.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)Output.o: $(srcdir)/m2/gm2-compiler/Output.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)Output.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)Output.cc $(srcdir)/m2/gm2-compiler/Output.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)Output.cc -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.h: $(srcdir)/m2/gm2-compiler/bnflex.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/bnflex.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.o: $(srcdir)/m2/gm2-compiler/bnflex.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.cc $(srcdir)/m2/gm2-compiler/bnflex.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.cc -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)RTco.h: $(srcdir)/m2/gm2-libs-iso/RTco.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTco.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.h: $(srcdir)/m2/gm2-libs-iso/RTentity.def $(MCDEPS) ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTentity.def ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)RTco.o: $(srcdir)/m2/gm2-libs-iso/RTcodummy.c ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.o: $(srcdir)/m2/gm2-libs-iso/RTentity.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PG-H) \ ++ m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.h ++ -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.cc $(srcdir)/m2/gm2-libs-iso/RTentity.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.cc -o $@ + + m2/gm2-pg-boot/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h $(BUILD-BOOT-PG-H) + -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot +@@ -319,16 +549,15 @@ m2/gm2-pg-boot/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2 + + m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-PG-H) + -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot +- $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -Im2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ +- -I$(srcdir)/m2/mc-boot-ch \ +- -Im2/gm2-libs-boot $(INCLUDES) \ +- -g -c m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.c -o $@ ++ $(MCC) --suppress-noreturn -o=m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.cc $(srcdir)/m2/gm2-libs/M2RTS.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.cc -o $@ + + m2/gm2-pg-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-PG-H) + -test -d m2/gm2-pg-boot || $(mkinstalldirs) m2/gm2-pg-boot + $(MCC) -o=m2/gm2-pg-boot/$(SRC_PREFIX)$*.c $(srcdir)/m2/gm2-libs/$*.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -Im2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -Im2/gm2-pg-boot -I$(srcdir)/m2/mc-boot \ + -I$(srcdir)/m2/mc-boot-ch \ + -Im2/gm2-libs-boot $(INCLUDES) \ + -g -c m2/gm2-pg-boot/$(SRC_PREFIX)$*.c -o $@ +@@ -390,8 +619,7 @@ BUILD-PGE-O = $(PPG-INTERFACE-C:%.c=m2/gm2-pge-boot/$(SRC_PREFIX)%.o) \ + $(PPG-LIB-MODS:%.mod=m2/gm2-pge-boot/$(SRC_PREFIX)%.o) \ + $(PGE-SRC:%.mod=m2/gm2-pge-boot/$(SRC_PREFIX)%.o) + +-BUILD-BOOT-PGE-H: $(BUILD-BOOT-H) $(PGE-DEF:%.def=m2/gm2-pge-boot/$(SRC_PREFIX)%.h) \ +- m2/gm2-pge-boot/GM2RTS.h m2/gm2-pge-boot/GM2Dependent.h ++BUILD-BOOT-PGE-H = $(BUILD-BOOT-H) $(PGE-DEF:%.def=m2/gm2-pge-boot/$(SRC_PREFIX)%.h) + + m2/gm2-auto/pge.mod: m2/pg$(exeext) + -test -d m2/gm2-auto || $(mkinstalldirs) m2/gm2-auto +@@ -449,14 +677,102 @@ m2/gm2-pge-boot/$(SRC_PREFIX)errno.o: $(srcdir)/m2/mc-boot-ch/Gerrno.cc + m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-PGE-H) + -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot + $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.cc $(srcdir)/m2/gm2-libs/M2RTS.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pge-boot -I$(srcdir)/m2/mc-boot \ ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ + -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ + $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.cc -o $@ + ++m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.h: $(srcdir)/m2/gm2-compiler/SymbolKey.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/SymbolKey.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o: $(srcdir)/m2/gm2-compiler/SymbolKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.cc $(srcdir)/m2/gm2-compiler/SymbolKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.cc -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.h: $(srcdir)/m2/gm2-compiler/NameKey.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/NameKey.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o: $(srcdir)/m2/gm2-compiler/NameKey.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.cc $(srcdir)/m2/gm2-compiler/NameKey.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.cc -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)Lists.h: $(srcdir)/m2/gm2-compiler/Lists.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Lists.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o: $(srcdir)/m2/gm2-compiler/Lists.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)Lists.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)Lists.cc $(srcdir)/m2/gm2-compiler/Lists.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)Lists.cc -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)Output.h: $(srcdir)/m2/gm2-compiler/Output.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/Output.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)Output.o: $(srcdir)/m2/gm2-compiler/Output.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)Output.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)Output.cc $(srcdir)/m2/gm2-compiler/Output.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)Output.cc -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.h: $(srcdir)/m2/gm2-compiler/bnflex.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ $(srcdir)/m2/gm2-compiler/bnflex.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o: $(srcdir)/m2/gm2-compiler/bnflex.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.cc $(srcdir)/m2/gm2-compiler/bnflex.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.cc -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)RTco.h: $(srcdir)/m2/gm2-libs-iso/RTco.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTco.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h: $(srcdir)/m2/gm2-libs-iso/RTentity.def $(MCDEPS) ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) -o=$@ -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $(srcdir)/m2/gm2-libs-iso/RTentity.def ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)RTco.o: $(srcdir)/m2/gm2-libs-iso/RTcodummy.c ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c $< -o $@ ++ ++m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o: $(srcdir)/m2/gm2-libs-iso/RTentity.mod \ ++ $(MCDEPS) $(BUILD-BOOT-PGE-H) \ ++ m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h ++ -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot ++ $(MCC) --suppress-noreturn -o=m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.cc $(srcdir)/m2/gm2-libs-iso/RTentity.mod ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ ++ -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ ++ $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.cc -o $@ ++ + m2/gm2-pge-boot/$(SRC_PREFIX)%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-PGE-H) + -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot + $(MCC) -o=m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-libs/$*.mod +- $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/gm2-pge-boot -I$(srcdir)/m2/mc-boot \ ++ $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/pge-boot -I$(srcdir)/m2/mc-boot \ + -I$(srcdir)/m2/mc-boot-ch -Im2/gm2-libs-boot \ + $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc -o $@ + +@@ -586,20 +902,26 @@ MCLINK=-g # use -g -fmodules -c if you are debugging and wish to see missing + # This is only needed in maintainer mode by 'make mc-maintainer' when regenerating the C + # version of mc. We need a working Modula-2 compiler to run mc-maintainer. + +-# GM2SYS=${HOME}/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim + GM2PATH=-I$(srcdir)/m2/mc \ + -I$(srcdir)/m2 -Im2/gm2-auto \ ++ -I$(srcdir)/m2/gm2-gcc \ + -fm2-pathname=m2pim -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-ch \ + -fm2-pathname=m2iso -I$(srcdir)/m2/gm2-libs-iso -fm2-pathname=- + + mc: mc-clean mc-devel + ++mc-basetest: force ++ $(SHELL) $(srcdir)/testsuite/gm2/base-lang/pass/base-lang-test.sh ./mc $(srcdir) `pwd` $(COMPILER) ++ ++mc-devel-basetest: force ++ $(SHELL) $(srcdir)/testsuite/gm2/base-lang/pass/base-lang-test.sh m2/boot-bin/mc-devel$(exeext) $(srcdir) `pwd` $(COMPILER) ++ + mc-push: force + cp -p m2/mc-boot-gen/*.cc $(srcdir)/m2/mc-boot/ + cp -p m2/mc-boot-gen/*.h $(srcdir)/m2/mc-boot/ + + mc-clean: force m2/mc-obj +- $(RM) m2/mc-boot-gen/*.{cc,h} m2/boot-bin/* m2/mc-boot/* m2/mc-boot-ch/* ++ $(RM) m2/mc-boot-gen/*.{cc,h} m2/boot-bin/* m2/mc-boot/* m2/mc-boot-ch/* mc + + mc-maintainer: mc-clean mc-autogen mc-push mc-clean mc-bootstrap + +@@ -753,39 +1075,43 @@ MC_OPTIONS = $(MC_COPYRIGHT) --gcc-config-system --olang=c++ + + m2/mc-boot-gen/$(SRC_PREFIX)%.h: $(srcdir)/m2/mc/%.def + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs-iso/%.def + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ++m2/mc-boot-gen/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-gcc/%.def ++ -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)decl.cc: $(srcdir)/m2/mc/decl.mod + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) --extended-opaque -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) $(EXTENDED_OPAQUE) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.cc: $(srcdir)/m2/mc/%.mod + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.cc: $(srcdir)/m2/gm2-libs/%.mod + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.cc: $(srcdir)/m2/gm2-libs-iso/%.mod + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs-iso/%.def + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + m2/mc-boot-gen/$(SRC_PREFIX)%.cc: m2/mc-obj/%.mod + -test -d m2/mc-boot-gen || $(mkinstalldirs) m2/mc-boot-gen +- ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< ++ ./mc $(MC_OPTIONS) -I$(srcdir)/m2/mc -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-gcc $(EXTENDED_OPAQUE) --h-file-prefix=$(SRC_PREFIX) -o=$@ $< + + # mc-bootstrap compiles mc using the C version previously generated by mc-autogen. + # These autogenerated files will be checked into git by the maintainer. +--- a/src/gcc/m2/gm2-compiler/M2ALU.def ++++ b/src/gcc/m2/gm2-compiler/M2ALU.def +@@ -32,8 +32,8 @@ DEFINITION MODULE M2ALU ; + *) + + FROM NameKey IMPORT Name ; +-FROM m2tree IMPORT Tree ; + FROM M2GCCDeclare IMPORT WalkAction, IsAction ; ++FROM gcctypes IMPORT tree ; + + EXPORT QUALIFIED PtrToValue, + InitValue, +@@ -163,42 +163,42 @@ PROCEDURE GetSetValueType () : CARDINAL ; + PushIntegerTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushIntegerTree (t: Tree) ; ++PROCEDURE PushIntegerTree (t: tree) ; + + + (* + PopIntegerTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopIntegerTree () : Tree ; ++PROCEDURE PopIntegerTree () : tree ; + + + (* + PushRealTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushRealTree (t: Tree) ; ++PROCEDURE PushRealTree (t: tree) ; + + + (* + PopRealTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopRealTree () : Tree ; ++PROCEDURE PopRealTree () : tree ; + + + (* + PushComplexTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushComplexTree (t: Tree) ; ++PROCEDURE PushComplexTree (t: tree) ; + + + (* + PopComplexTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopComplexTree () : Tree ; ++PROCEDURE PopComplexTree () : tree ; + + + (* +@@ -209,21 +209,21 @@ PROCEDURE PopComplexTree () : Tree ; + *) + + PROCEDURE PushSetTree (tokenno: CARDINAL; +- t: Tree; sym: CARDINAL) ; ++ t: tree; sym: CARDINAL) ; + + + (* + PopSetTree - pops a gcc tree from the ALU stack. + *) + +-PROCEDURE PopSetTree (tokenno: CARDINAL) : Tree ; ++PROCEDURE PopSetTree (tokenno: CARDINAL) : tree ; + + + (* + PopConstructorTree - returns a tree containing the compound literal. + *) + +-PROCEDURE PopConstructorTree (tokenno: CARDINAL) : Tree ; ++PROCEDURE PopConstructorTree (tokenno: CARDINAL) : tree ; + + + (* +@@ -832,7 +832,7 @@ PROCEDURE GetRange (v: PtrToValue; n: CARDINAL; VAR low, high: CARDINAL) : BOOLE + set const, sym. + *) + +-PROCEDURE ConstructSetConstant (tokenno: CARDINAL; v: PtrToValue) : Tree ; ++PROCEDURE ConstructSetConstant (tokenno: CARDINAL; v: PtrToValue) : tree ; + + + (* +@@ -840,7 +840,7 @@ PROCEDURE ConstructSetConstant (tokenno: CARDINAL; v: PtrToValue) : Tree ; + value {e1..e2}. + *) + +-PROCEDURE BuildRange (tokenno: CARDINAL; e1, e2: Tree) : Tree ; ++PROCEDURE BuildRange (tokenno: CARDINAL; e1, e2: tree) : tree ; + + + (* +@@ -882,7 +882,7 @@ PROCEDURE IsValueAndTreeKnown () : BOOLEAN ; + error message. + *) + +-PROCEDURE CheckOrResetOverflow (tokenno: CARDINAL; t: Tree; check: BOOLEAN) ; ++PROCEDURE CheckOrResetOverflow (tokenno: CARDINAL; t: tree; check: BOOLEAN) ; + + + (* +@@ -991,7 +991,7 @@ PROCEDURE IsValueConst (v: PtrToValue) : BOOLEAN ; + front end type. + *) + +-PROCEDURE PushTypeOfTree (sym: CARDINAL; gcc: Tree) ; ++PROCEDURE PushTypeOfTree (sym: CARDINAL; gcc: tree) ; + + + END M2ALU. +--- a/src/gcc/m2/gm2-compiler/M2ALU.mod ++++ b/src/gcc/m2/gm2-compiler/M2ALU.mod +@@ -33,7 +33,7 @@ IMPLEMENTATION MODULE M2ALU ; + *) + + FROM ASCII IMPORT nul ; +-FROM SYSTEM IMPORT WORD ; ++FROM SYSTEM IMPORT WORD, ADDRESS ; + FROM NameKey IMPORT KeyToCharStar, MakeKey, CharKey ; + FROM M2Error IMPORT InternalError, FlushErrors ; + FROM M2Debug IMPORT Assert ; +@@ -60,8 +60,8 @@ FROM SymbolTable IMPORT NulSym, IsEnumeration, IsSubrange, IsValueSolved, PushVa + + IMPORT DynamicStrings ; + +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t, UnknownLocation ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM m2linemap IMPORT UnknownLocation ; + + FROM m2expr IMPORT BuildAdd, BuildSub, BuildMult, + BuildDivTrunc, BuildModTrunc, BuildDivFloor, BuildModFloor, +@@ -122,7 +122,7 @@ TYPE + solved : BOOLEAN ; + constructorType: CARDINAL ; + next : PtrToValue ; +- numberValue : Tree ; ++ numberValue : tree ; + + CASE type: cellType OF + +@@ -146,7 +146,7 @@ VAR + RangeFreeList : listOfRange ; + FreeList, + TopOfStack : PtrToValue ; +- EnumerationValue: Tree ; ++ EnumerationValue: tree ; + EnumerationField: CARDINAL ; + CurrentTokenNo : CARDINAL ; + (* WatchedValue : PtrToValue ; *) +@@ -694,7 +694,7 @@ END GetSetValueType ; + PushIntegerTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushIntegerTree (t: Tree) ; ++PROCEDURE PushIntegerTree (t: tree) ; + VAR + v: PtrToValue ; + BEGIN +@@ -713,10 +713,10 @@ END PushIntegerTree ; + PopIntegerTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopIntegerTree () : Tree ; ++PROCEDURE PopIntegerTree () : tree ; + VAR + v: PtrToValue ; +- t: Tree ; ++ t: tree ; + BEGIN + v := Pop() ; + WITH v^ DO +@@ -736,7 +736,7 @@ END PopIntegerTree ; + PushRealTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushRealTree (t: Tree) ; ++PROCEDURE PushRealTree (t: tree) ; + VAR + v: PtrToValue ; + BEGIN +@@ -755,10 +755,10 @@ END PushRealTree ; + PopRealTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopRealTree () : Tree ; ++PROCEDURE PopRealTree () : tree ; + VAR + v: PtrToValue ; +- t: Tree ; ++ t: tree ; + BEGIN + v := Pop() ; + WITH v^ DO +@@ -778,7 +778,7 @@ END PopRealTree ; + PushComplexTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushComplexTree (t: Tree) ; ++PROCEDURE PushComplexTree (t: tree) ; + VAR + v: PtrToValue ; + BEGIN +@@ -797,10 +797,10 @@ END PushComplexTree ; + PopComplexTree - pops a gcc tree value from the ALU stack. + *) + +-PROCEDURE PopComplexTree () : Tree ; ++PROCEDURE PopComplexTree () : tree ; + VAR + v: PtrToValue ; +- t: Tree ; ++ t: tree ; + BEGIN + v := Pop() ; + WITH v^ DO +@@ -824,7 +824,7 @@ END PopComplexTree ; + *) + + PROCEDURE PushSetTree (tokenno: CARDINAL; +- t: Tree; sym: CARDINAL) ; ++ t: tree; sym: CARDINAL) ; + VAR + v: PtrToValue ; + c, +@@ -868,10 +868,10 @@ END PushSetTree ; + PopSetTree - pops a gcc tree from the ALU stack. + *) + +-PROCEDURE PopSetTree (tokenno: CARDINAL) : Tree ; ++PROCEDURE PopSetTree (tokenno: CARDINAL) : tree ; + VAR + v: PtrToValue ; +- t: Tree ; ++ t: tree ; + BEGIN + v := Pop() ; + WITH v^ DO +@@ -900,10 +900,10 @@ END PopSetTree ; + PopConstructorTree - returns a tree containing the compound literal. + *) + +-PROCEDURE PopConstructorTree (tokenno: CARDINAL) : Tree ; ++PROCEDURE PopConstructorTree (tokenno: CARDINAL) : tree ; + VAR + v: PtrToValue ; +- t: Tree ; ++ t: tree ; + BEGIN + v := Pop() ; + WITH v^ DO +@@ -3503,7 +3503,7 @@ END FindValueEnum ; + of type, type. + *) + +-PROCEDURE Val (tokenno: CARDINAL; type: CARDINAL; value: Tree) : CARDINAL ; ++PROCEDURE Val (tokenno: CARDINAL; type: CARDINAL; value: tree) : CARDINAL ; + VAR + sym: CARDINAL ; + BEGIN +@@ -3548,7 +3548,7 @@ END DupConst ; + *) + + PROCEDURE DupConstAndAdd (tokenno: CARDINAL; +- sym: CARDINAL; extra: Tree) : CARDINAL ; ++ sym: CARDINAL; extra: tree) : CARDINAL ; + BEGIN + PushValue(sym) ; + PushIntegerTree(extra) ; +@@ -3565,7 +3565,7 @@ END DupConstAndAdd ; + *) + + PROCEDURE DupConstAndAddMod (tokenno: CARDINAL; +- sym: CARDINAL; extra: Tree; ++ sym: CARDINAL; extra: tree; + l, h: CARDINAL) : CARDINAL ; + BEGIN + (* result := (((sym-l) + extra) MOD (h-l)) + l) *) +@@ -3977,7 +3977,7 @@ END IsRangeLess ; + MinTree - returns the tree symbol which has the least value. + *) + +-PROCEDURE MinTree (tokenno: CARDINAL; a, b: Tree) : Tree ; ++PROCEDURE MinTree (tokenno: CARDINAL; a, b: tree) : tree ; + BEGIN + PushIntegerTree(a) ; + ConvertToInt ; +@@ -3996,7 +3996,7 @@ END MinTree ; + MaxTree - returns the symbol which has the greatest value. + *) + +-PROCEDURE MaxTree (tokenno: CARDINAL; a, b: Tree) : Tree ; ++PROCEDURE MaxTree (tokenno: CARDINAL; a, b: tree) : tree ; + BEGIN + PushIntegerTree(a) ; + ConvertToInt ; +@@ -4015,7 +4015,7 @@ END MaxTree ; + IsIntersectionTree - returns TRUE if ranges, a..b, and, c..d, intersect. + *) + +-PROCEDURE IsIntersectionTree (tokenno: CARDINAL; a, b, c, d: Tree) : BOOLEAN ; ++PROCEDURE IsIntersectionTree (tokenno: CARDINAL; a, b, c, d: tree) : BOOLEAN ; + BEGIN + (* easier to prove NOT outside limits *) + PushIntegerTree(a) ; +@@ -4044,7 +4044,7 @@ END IsIntersectionTree ; + SubTree - returns the tree value containing (a-b) + *) + +-PROCEDURE SubTree (a, b: Tree) : Tree ; ++PROCEDURE SubTree (a, b: tree) : tree ; + BEGIN + PushIntegerTree(a) ; + PushIntegerTree(b) ; +@@ -4401,9 +4401,9 @@ END GetRange ; + low and high are the limits of the subrange. + *) + +-PROCEDURE BuildStructBitset (tokenno: CARDINAL; v: PtrToValue; low, high: Tree) : Tree ; ++PROCEDURE BuildStructBitset (tokenno: CARDINAL; v: PtrToValue; low, high: tree) : tree ; + VAR +- BitsInSet : Tree ; ++ BitsInSet : tree ; + bpw : CARDINAL ; + cons : Constructor ; + BEGIN +@@ -4468,7 +4468,7 @@ END BuildStructBitset ; + { (cardinal), (cardinal) etc } + *) + +-PROCEDURE ConstructLargeOrSmallSet (tokenno: CARDINAL; v: PtrToValue; low, high: CARDINAL) : Tree ; ++PROCEDURE ConstructLargeOrSmallSet (tokenno: CARDINAL; v: PtrToValue; low, high: CARDINAL) : tree ; + BEGIN + PushValue(high) ; + ConvertToInt ; +@@ -4492,10 +4492,10 @@ END ConstructLargeOrSmallSet ; + set const as defined by, v. + *) + +-PROCEDURE ConstructSetConstant (tokenno: CARDINAL; v: PtrToValue) : Tree ; ++PROCEDURE ConstructSetConstant (tokenno: CARDINAL; v: PtrToValue) : tree ; + VAR + n1, n2 : Name ; +- gccsym : Tree ; ++ gccsym : tree ; + baseType, + high, low: CARDINAL ; + BEGIN +@@ -4530,10 +4530,10 @@ END ConstructSetConstant ; + array constructor. + *) + +-PROCEDURE ConvertConstToType (tokenno: CARDINAL; field: CARDINAL; init: CARDINAL) : Tree ; ++PROCEDURE ConvertConstToType (tokenno: CARDINAL; field: CARDINAL; init: CARDINAL) : tree ; + VAR + initT, +- nBytes: Tree ; ++ nBytes: tree ; + BEGIN + IF IsConstString(init) AND IsArray(SkipType(GetType(field))) AND + (SkipTypeAndSubrange(GetType(GetType(field)))=Char) +@@ -4555,7 +4555,7 @@ END ConvertConstToType ; + ConstructRecordConstant - builds a struct initializer, as defined by, v. + *) + +-PROCEDURE ConstructRecordConstant (tokenno: CARDINAL; v: PtrToValue) : Tree ; ++PROCEDURE ConstructRecordConstant (tokenno: CARDINAL; v: PtrToValue) : tree ; + VAR + n1, n2 : Name ; + i, +@@ -4639,7 +4639,7 @@ END GetConstructorField ; + + PROCEDURE GetConstructorElement (tokenno: CARDINAL; v: PtrToValue; i: CARDINAL) : CARDINAL ; + VAR +- j: Tree ; ++ j: tree ; + e: listOfElements ; + BEGIN + WITH v^ DO +@@ -4746,15 +4746,15 @@ END GetArrayLimits ; + InitialiseArrayOfCharWithString - + *) + +-PROCEDURE InitialiseArrayOfCharWithString (tokenno: CARDINAL; cons: Tree; +- el, baseType, arrayType: CARDINAL) : Tree ; ++PROCEDURE InitialiseArrayOfCharWithString (tokenno: CARDINAL; cons: ADDRESS; ++ el, baseType, arrayType: CARDINAL) : tree ; + VAR + isChar : BOOLEAN ; + s, letter: String ; + i, l : CARDINAL ; + high, low: CARDINAL ; + value, +- indice : Tree ; ++ indice : tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -4830,9 +4830,9 @@ END InitialiseArrayOfCharWithString ; + CheckElementString - + *) + +-PROCEDURE CheckElementString (el, arrayType: CARDINAL; tokenno: CARDINAL) : Tree ; ++PROCEDURE CheckElementString (el, arrayType: CARDINAL; tokenno: CARDINAL) : tree ; + VAR +- cons: Tree ; ++ cons: ADDRESS ; + BEGIN + IF IsString(arrayType) AND IsString(el) + THEN +@@ -4848,13 +4848,13 @@ END CheckElementString ; + InitialiseArrayWith - + *) + +-PROCEDURE InitialiseArrayWith (tokenno: CARDINAL; cons: Tree; +- v: PtrToValue; el, high, low, arrayType: CARDINAL) : Tree ; ++PROCEDURE InitialiseArrayWith (tokenno: CARDINAL; cons: ADDRESS; ++ v: PtrToValue; el, high, low, arrayType: CARDINAL) : tree ; + VAR + location: location_t ; + i : CARDINAL ; + indice, +- value : Tree ; ++ value : tree ; + BEGIN + location := TokenToLocation (tokenno) ; + i := 0 ; +@@ -4900,7 +4900,7 @@ PROCEDURE CheckGetCharFromString (location: location_t; + constDecl: PtrToValue; + consType: CARDINAL ; + arrayIndex: CARDINAL; +- VAR value: Tree) : BOOLEAN ; ++ VAR value: tree) : BOOLEAN ; + VAR + elementIndex: CARDINAL ; + element : CARDINAL ; +@@ -4957,14 +4957,14 @@ END CheckGetCharFromString ; + InitialiseArrayOfCharWith - + *) + +-PROCEDURE InitialiseArrayOfCharWith (tokenno: CARDINAL; cons: Tree; ++PROCEDURE InitialiseArrayOfCharWith (tokenno: CARDINAL; cons: ADDRESS; + constDecl: PtrToValue; +- el, high, low, consType, arrayType: CARDINAL) : Tree ; ++ el, high, low, consType, arrayType: CARDINAL) : tree ; + VAR + location : location_t ; + arrayIndex: CARDINAL ; (* arrayIndex is the char position index of the final string. *) + indice, +- value : Tree ; ++ value : tree ; + BEGIN + location := TokenToLocation (tokenno) ; + arrayIndex := 0 ; +@@ -5004,14 +5004,14 @@ END InitialiseArrayOfCharWith ; + ConstructArrayConstant - builds a struct initializer, as defined by, v. + *) + +-PROCEDURE ConstructArrayConstant (tokenno: CARDINAL; v: PtrToValue) : Tree ; ++PROCEDURE ConstructArrayConstant (tokenno: CARDINAL; v: PtrToValue) : tree ; + VAR + n1, n2 : Name ; + el1, el2, + baseType, + arrayType, + high, low : CARDINAL ; +- cons : Constructor ; ++ cons : ADDRESS ; + BEGIN + WITH v^ DO + IF constructorType=NulSym +@@ -5052,9 +5052,9 @@ END ConstructArrayConstant ; + value {e1..e2}. + *) + +-PROCEDURE BuildRange (tokenno: CARDINAL; e1, e2: Tree) : Tree ; ++PROCEDURE BuildRange (tokenno: CARDINAL; e1, e2: tree) : tree ; + VAR +- c, i, t : Tree ; ++ c, i, t : tree ; + location: location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -5066,11 +5066,11 @@ BEGIN + e1 := e2 ; + e2 := c + END ; +- t := Tree(NIL) ; ++ t := tree(NIL) ; + PushIntegerTree(e1) ; + i := PopIntegerTree() ; + REPEAT +- IF t=Tree(NIL) ++ IF t=tree(NIL) + THEN + t := BuildLSL(location, GetWordOne(location), ToWord(location, i), FALSE) + ELSE +@@ -5093,10 +5093,10 @@ END BuildRange ; + *) + + PROCEDURE BuildBitset (tokenno: CARDINAL; +- v: PtrToValue; low, high: Tree) : Tree ; ++ v: PtrToValue; low, high: tree) : tree ; + VAR + tl, th, +- t : Tree ; ++ t : tree ; + n : CARDINAL ; + r1, r2 : CARDINAL ; + location: location_t ; +@@ -5175,7 +5175,7 @@ END IsValueAndTreeKnown ; + error message. + *) + +-PROCEDURE CheckOverflow (tokenno: CARDINAL; t: Tree) ; ++PROCEDURE CheckOverflow (tokenno: CARDINAL; t: tree) ; + BEGIN + IF TreeOverflow (t) + THEN +@@ -5191,7 +5191,7 @@ END CheckOverflow ; + error message. + *) + +-PROCEDURE CheckOrResetOverflow (tokenno: CARDINAL; t: Tree; check: BOOLEAN) ; ++PROCEDURE CheckOrResetOverflow (tokenno: CARDINAL; t: tree; check: BOOLEAN) ; + BEGIN + IF check + THEN +@@ -5206,7 +5206,7 @@ END CheckOrResetOverflow ; + PushGCCArrayTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushGCCArrayTree (gcc: Tree; t: CARDINAL) ; ++PROCEDURE PushGCCArrayTree (gcc: tree; t: CARDINAL) ; + VAR + v: PtrToValue ; + BEGIN +@@ -5227,7 +5227,7 @@ END PushGCCArrayTree ; + PushGCCSetTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushGCCSetTree (gcc: Tree; t: CARDINAL) ; ++PROCEDURE PushGCCSetTree (gcc: tree; t: CARDINAL) ; + VAR + v: PtrToValue ; + BEGIN +@@ -5248,7 +5248,7 @@ END PushGCCSetTree ; + PushGCCRecordTree - pushes a gcc tree value onto the ALU stack. + *) + +-PROCEDURE PushGCCRecordTree (gcc: Tree; t: CARDINAL) ; ++PROCEDURE PushGCCRecordTree (gcc: tree; t: CARDINAL) ; + VAR + v: PtrToValue ; + BEGIN +@@ -5270,7 +5270,7 @@ END PushGCCRecordTree ; + front end type. + *) + +-PROCEDURE PushTypeOfTree (sym: CARDINAL; gcc: Tree) ; ++PROCEDURE PushTypeOfTree (sym: CARDINAL; gcc: tree) ; + VAR + t: CARDINAL ; + BEGIN +--- a/src/gcc/m2/gm2-compiler/M2Base.def ++++ b/src/gcc/m2/gm2-compiler/M2Base.def +@@ -21,94 +21,11 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE M2Base ; + +-(* +- Author : Gaius Mulley +- Title : M2Base +- Date : 22/5/87 +- Description: Implements the default Base Types and Base +- procedures in the Modula-2 compiler. +-*) ++(* M2Base implements the default base types and base procedures in the ++ Modula-2 front end. *) + + FROM NameKey IMPORT Name ; +-FROM m2linemap IMPORT location_t ; +- +-EXPORT QUALIFIED Nil, (* Base constants *) +- Cardinal, (* Base types *) +- Integer, +- Boolean, +- True, False, +- Char, +- Proc, +- LongInt, LongCard, +- ShortInt, ShortCard, +- ZType, RType, CType, +- Real, +- LongReal, ShortReal, +- Complex, +- LongComplex, +- ShortComplex, +- High, IsOrd, (* Base functions *) +- LengthS, +- Convert, +- Re, Im, Cmplx, +- Cap, Abs, Odd, +- Chr, Val, +- IsTrunc, IsFloat, +- IsInt, +- Min, Max, +- New, Dispose, (* Base procedures *) +- Inc, Dec, +- Incl, Excl, +- IsPseudoBaseFunction, (* Manipulation procedures *) +- IsPseudoBaseProcedure, (* Manipulation procedures *) +- IsBaseType, +- GetBaseTypeMinMax, +- InitBase, +- CannotCheckTypeInPass3, +- CheckExpressionCompatible, +- CheckAssignmentCompatible, +- CheckParameterCompatible, +- IsAssignmentCompatible, +- IsExpressionCompatible, +- IsParameterCompatible, +- IsComparisonCompatible, +- IsValidParameter, +- AssignmentRequiresWarning, +- IsMathType, +- IsRealType, +- IsOrdinalType, +- IsComplexType, +- GetCmplxReturnType, +- ComplexToScalar, +- ScalarToComplex, +- MixTypes, NegateType, +- TemplateProcedure, +- ActivationPointer, +- IsNeededAtRunTime, +- ExceptionAssign, +- ExceptionReturn, +- ExceptionInc, +- ExceptionDec, +- ExceptionIncl, +- ExceptionExcl, +- ExceptionShift, +- ExceptionRotate, +- ExceptionStaticArray, +- ExceptionDynamicArray, +- ExceptionForLoopBegin, +- ExceptionForLoopTo, +- ExceptionForLoopEnd, +- ExceptionPointerNil, +- ExceptionNoReturn, +- ExceptionCase, +- ExceptionNonPosDiv, +- ExceptionNonPosMod, +- ExceptionZeroDiv, +- ExceptionZeroRem, +- ExceptionWholeValue, +- ExceptionRealValue, +- ExceptionParameterBounds, +- ExceptionNo ; ++FROM gcctypes IMPORT location_t ; + + + VAR +@@ -346,12 +263,24 @@ PROCEDURE CannotCheckTypeInPass3 (e: CARDINAL) : BOOLEAN ; + + + (* +- MixTypes - returns the type symbol that corresponds to the types t1 and t2. ++ MixTypes - given types leftType and rightType return a type symbol that ++ provides expression type compatibility. + NearTok is used to identify the source position if a type + incompatability occurs. + *) + +-PROCEDURE MixTypes (t1, t2: CARDINAL; NearTok: CARDINAL) : CARDINAL ; ++PROCEDURE MixTypes (leftType, rightType: CARDINAL; NearTok: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ MixTypesDecl - returns a type symbol which provides expression compatibility ++ between leftType and rightType. An error is emitted if this ++ is not possible. left and right are the source (variable, ++ constant) of leftType and rightType respectively. ++*) ++ ++PROCEDURE MixTypesDecl (left, right, leftType, rightType: CARDINAL; ++ NearTok: CARDINAL) : CARDINAL ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2Base.mod ++++ b/src/gcc/m2/gm2-compiler/M2Base.mod +@@ -43,10 +43,11 @@ FROM FormatStrings IMPORT Sprintf2 ; + FROM StrLib IMPORT StrLen ; + + FROM M2MetaError IMPORT MetaError0, MetaError1, MetaError2, MetaErrors3, +- MetaErrorT1, MetaErrorT2, +- MetaErrorStringT2, MetaErrorStringT1 ; ++ MetaErrorT1, MetaErrorT2, MetaErrorT4, ++ MetaErrorStringT2, MetaErrorStringT1, ++ MetaErrorDecl ; + +-FROM SymbolTable IMPORT ModeOfAddr, ++FROM SymbolTable IMPORT ModeOfAddr, ProcedureKind, + MakeModule, MakeType, PutType, + MakeEnumeration, PutFieldEnumeration, + MakeProcType, +@@ -73,8 +74,10 @@ FROM SymbolTable IMPORT ModeOfAddr, + IsParameterUnbounded, GetSubrange, + IsArray, IsProcedure, IsConstString, + IsVarient, IsRecordField, IsFieldVarient, +- GetArraySubscript, IsRecord, NoOfParam, +- GetNthParam, IsVarParam, GetNth, GetDimension, ++ IsVarAParam, IsVar, ++ GetArraySubscript, IsRecord, NoOfParamAny, ++ GetNthParamAny, IsVarParam, GetNth, GetDimension, ++ GetVarDeclFullTok, + MakeError ; + + FROM M2ALU IMPORT PushIntegerTree, PushRealTree, PushCard, Equ, Gre, Less ; +@@ -114,7 +117,8 @@ FROM m2type IMPORT GetIntegerType, + InitBaseTypes ; + + FROM m2expr IMPORT GetSizeOf ; +-FROM m2linemap IMPORT location_t, BuiltinsLocation ; ++FROM gcctypes IMPORT location_t ; ++FROM m2linemap IMPORT BuiltinsLocation ; + FROM m2decl IMPORT BuildIntegerConstant ; + + +@@ -742,11 +746,11 @@ END IsOrd ; + PROCEDURE BuildOrdFunctions ; + BEGIN + Ord := MakeProcedure(BuiltinTokenNo, MakeKey('ORD')) ; +- PutFunction(Ord, Cardinal) ; ++ PutFunction (BuiltinTokenNo, Ord, DefProcedure, Cardinal) ; + OrdS := MakeProcedure(BuiltinTokenNo, MakeKey('ORDS')) ; +- PutFunction(OrdS, ShortCard) ; ++ PutFunction (BuiltinTokenNo, OrdS, DefProcedure, ShortCard) ; + OrdL := MakeProcedure(BuiltinTokenNo, MakeKey('ORDL')) ; +- PutFunction(OrdL, LongCard) ++ PutFunction (BuiltinTokenNo, OrdL, DefProcedure, LongCard) + END BuildOrdFunctions ; + + +@@ -770,18 +774,18 @@ BEGIN + IF Pim2 OR Pim3 OR Iso + THEN + Trunc := MakeProcedure(BuiltinTokenNo, MakeKey('TRUNC')) ; +- PutFunction(Trunc, Cardinal) ; ++ PutFunction (BuiltinTokenNo, Trunc, DefProcedure, Cardinal) ; + TruncS := MakeProcedure(BuiltinTokenNo, MakeKey('STRUNC')) ; +- PutFunction(TruncS, ShortCard) ; ++ PutFunction (BuiltinTokenNo, TruncS, DefProcedure, ShortCard) ; + TruncL := MakeProcedure(BuiltinTokenNo, MakeKey('LTRUNC')) ; +- PutFunction(TruncL, LongCard) ++ PutFunction (BuiltinTokenNo, TruncL, DefProcedure, LongCard) + ELSE + Trunc := MakeProcedure(BuiltinTokenNo, MakeKey('TRUNC')) ; +- PutFunction(Trunc, Integer) ; ++ PutFunction (BuiltinTokenNo, Trunc, DefProcedure, Integer) ; + TruncS := MakeProcedure(BuiltinTokenNo, MakeKey('STRUNC')) ; +- PutFunction(TruncS, ShortInt) ; ++ PutFunction (BuiltinTokenNo, TruncS, DefProcedure, ShortInt) ; + TruncL := MakeProcedure(BuiltinTokenNo, MakeKey('LTRUNC')) ; +- PutFunction(TruncL, LongInt) ++ PutFunction (BuiltinTokenNo, TruncL, DefProcedure, LongInt) + END + END BuildTruncFunctions ; + +@@ -807,15 +811,15 @@ END IsFloat ; + PROCEDURE BuildFloatFunctions ; + BEGIN + Float := MakeProcedure(BuiltinTokenNo, MakeKey('FLOAT')) ; +- PutFunction(Float, Real) ; ++ PutFunction (BuiltinTokenNo, Float, DefProcedure, Real) ; + SFloat := MakeProcedure(BuiltinTokenNo, MakeKey('SFLOAT')) ; +- PutFunction(SFloat, ShortReal) ; ++ PutFunction (BuiltinTokenNo, SFloat, DefProcedure, ShortReal) ; + LFloat := MakeProcedure(BuiltinTokenNo, MakeKey('LFLOAT')) ; +- PutFunction(LFloat, LongReal) ; ++ PutFunction (BuiltinTokenNo, LFloat, DefProcedure, LongReal) ; + FloatS := MakeProcedure(BuiltinTokenNo, MakeKey('FLOATS')) ; +- PutFunction(FloatS, ShortReal) ; ++ PutFunction (BuiltinTokenNo, FloatS, DefProcedure, ShortReal) ; + FloatL := MakeProcedure(BuiltinTokenNo, MakeKey('FLOATL')) ; +- PutFunction(FloatL, LongReal) ++ PutFunction (BuiltinTokenNo, FloatL, DefProcedure, LongReal) + END BuildFloatFunctions ; + + +@@ -837,11 +841,11 @@ END IsInt ; + PROCEDURE BuildIntFunctions ; + BEGIN + Int := MakeProcedure(BuiltinTokenNo, MakeKey('INT')) ; +- PutFunction(Int, Integer) ; ++ PutFunction (BuiltinTokenNo, Int, DefProcedure, Integer) ; + IntS := MakeProcedure(BuiltinTokenNo, MakeKey('INTS')) ; +- PutFunction(IntS, ShortInt) ; ++ PutFunction (BuiltinTokenNo, IntS, DefProcedure, ShortInt) ; + IntL := MakeProcedure(BuiltinTokenNo, MakeKey('INTL')) ; +- PutFunction(IntL, LongInt) ++ PutFunction (BuiltinTokenNo, IntL, DefProcedure, LongInt) + END BuildIntFunctions ; + + +@@ -853,7 +857,7 @@ PROCEDURE InitBaseFunctions ; + BEGIN + (* Now declare the dynamic array components, HIGH *) + High := MakeProcedure(BuiltinTokenNo, MakeKey('HIGH')) ; (* Pseudo Base function HIGH *) +- PutFunction(High, Cardinal) ; ++ PutFunction (BuiltinTokenNo, High, DefProcedure, Cardinal) ; + + (* + _TemplateProcedure is a procedure which has a local variable _ActivationPointer +@@ -872,21 +876,21 @@ BEGIN + IF Iso + THEN + LengthS := MakeProcedure(BuiltinTokenNo, MakeKey('LENGTH')) ; (* Pseudo Base function LENGTH *) +- PutFunction(LengthS, ZType) ++ PutFunction (BuiltinTokenNo, LengthS, DefProcedure, ZType) + ELSE + LengthS := NulSym + END ; + Abs := MakeProcedure(BuiltinTokenNo, MakeKey('ABS')) ; (* Pseudo Base function ABS *) +- PutFunction(Abs, ZType) ; ++ PutFunction (BuiltinTokenNo, Abs, DefProcedure, ZType) ; + + Cap := MakeProcedure(BuiltinTokenNo, MakeKey('CAP')) ; (* Pseudo Base function CAP *) +- PutFunction(Cap, Char) ; ++ PutFunction (BuiltinTokenNo, Cap, DefProcedure, Char) ; + + Odd := MakeProcedure(BuiltinTokenNo, MakeKey('ODD')) ; (* Pseudo Base function ODD *) +- PutFunction(Odd, Boolean) ; ++ PutFunction (BuiltinTokenNo, Odd, DefProcedure, Boolean) ; + + Chr := MakeProcedure(BuiltinTokenNo, MakeKey('CHR')) ; (* Pseudo Base function CHR *) +- PutFunction(Chr, Char) ; ++ PutFunction (BuiltinTokenNo, Chr, DefProcedure, Char) ; + + (* the following three procedure functions have a return type depending upon *) + (* the parameters. *) +@@ -896,13 +900,13 @@ BEGIN + Max := MakeProcedure(BuiltinTokenNo, MakeKey('MAX')) ; (* Pseudo Base function MIN *) + + Re := MakeProcedure(BuiltinTokenNo, MakeKey('RE')) ; (* Pseudo Base function RE *) +- PutFunction(Re, RType) ; ++ PutFunction (BuiltinTokenNo, Re, DefProcedure, RType) ; + + Im := MakeProcedure(BuiltinTokenNo, MakeKey('IM')) ; (* Pseudo Base function IM *) +- PutFunction(Im, RType) ; ++ PutFunction (BuiltinTokenNo, Im, DefProcedure, RType) ; + + Cmplx := MakeProcedure(BuiltinTokenNo, MakeKey('CMPLX')) ; (* Pseudo Base function CMPLX *) +- PutFunction(Cmplx, CType) ; ++ PutFunction (BuiltinTokenNo, Cmplx, DefProcedure, CType) ; + + BuildFloatFunctions ; + BuildTruncFunctions ; +@@ -1735,27 +1739,27 @@ VAR + pa, pb: CARDINAL ; + n, i : CARDINAL ; + BEGIN +- n := NoOfParam(p1) ; +- IF n#NoOfParam(p2) ++ n := NoOfParamAny (p1) ; ++ IF n # NoOfParamAny (p2) + THEN + IF error + THEN +- MetaError2('parameter is incompatible as {%1Dd} was declared with {%2n} parameters', p1, NoOfParam(p1)) ; +- MetaError2('whereas {%1Dd} was declared with {%2n} parameters', p2, NoOfParam(p2)) ++ MetaError2('parameter is incompatible as {%1Dd} was declared with {%2n} parameters', p1, NoOfParamAny(p1)) ; ++ MetaError2('whereas {%1Dd} was declared with {%2n} parameters', p2, NoOfParamAny(p2)) + END ; + RETURN( FALSE ) + END ; + i := 1 ; + WHILE i<=n DO +- pa := GetNthParam(p1, i) ; +- pb := GetNthParam(p2, i) ; +- IF IsVarParam(p1, i)#IsVarParam(p2, i) ++ pa := GetNthParamAny (p1, i) ; ++ pb := GetNthParamAny (p2, i) ; ++ IF IsParameterVar (pa) # IsParameterVar (pb) + THEN + IF error + THEN + MetaErrors3('the {%1n} parameter is incompatible between {%2Dad} and {%3ad} as only one was declared as VAR', + 'the {%1n} parameter is incompatible between {%2ad} and {%3Dad} as only one was declared as VAR', +- i, p1, p2) ++ i, pa, pb) + END ; + RETURN( FALSE ) + END ; +@@ -1983,20 +1987,23 @@ END IsComparisonCompatible ; + MixMetaTypes - + *) + +-PROCEDURE MixMetaTypes (t1, t2: CARDINAL; NearTok: CARDINAL) : CARDINAL ; ++PROCEDURE MixMetaTypes (left, right, leftType, rightType: CARDINAL; NearTok: CARDINAL) : CARDINAL ; + VAR + mt1, mt2: MetaType ; + BEGIN +- mt1 := FindMetaType(t1) ; +- mt2 := FindMetaType(t2) ; ++ mt1 := FindMetaType (leftType) ; ++ mt2 := FindMetaType (rightType) ; + CASE Expr[mt1, mt2] OF + +- no : MetaErrorT2 (NearTok, 'type incompatibility between {%1asd} and {%2asd}', t1, t2) ; ++ no : MetaErrorT2 (NearTok, 'type incompatibility between {%1asd} and {%2asd}', ++ leftType, rightType) ; ++ MetaErrorDecl (left, TRUE) ; ++ MetaErrorDecl (right, TRUE) ; + FlushErrors (* unrecoverable at present *) | + warnfirst, +- first : RETURN( t1 ) | ++ first : RETURN( leftType ) | + warnsecond, +- second : RETURN( t2 ) ++ second : RETURN( rightType ) + + ELSE + InternalError ('not expecting this metatype value') +@@ -2011,95 +2018,117 @@ END MixMetaTypes ; + + PROCEDURE IsUserType (type: CARDINAL) : BOOLEAN ; + BEGIN +- RETURN IsType (type) AND (NOT IsBaseType (type)) AND (NOT IsSystemType (type)) ++ RETURN IsType (type) AND ++ (NOT IsBaseType (type)) AND ++ (NOT IsSystemType (type)) AND ++ (type # ZType) + END IsUserType ; + + + (* +- MixTypes - given types, t1 and t2, returns a type symbol that ++ MixTypes - given types leftType and rightType return a type symbol that + provides expression type compatibility. + NearTok is used to identify the source position if a type + incompatability occurs. + *) + +-PROCEDURE MixTypes (t1, t2: CARDINAL; NearTok: CARDINAL) : CARDINAL ; ++PROCEDURE MixTypes (leftType, rightType: CARDINAL; NearTok: CARDINAL) : CARDINAL ; + BEGIN +- IF t1=t2 ++ RETURN MixTypesDecl (NulSym, NulSym, leftType, rightType, NearTok) ++END MixTypes ; ++ ++ ++(* ++ MixTypesDecl - returns a type symbol which provides expression compatibility ++ between leftType and rightType. An error is emitted if this ++ is not possible. left and right are the source (variable, ++ constant) of leftType and rightType respectively. ++*) ++ ++PROCEDURE MixTypesDecl (left, right, leftType, rightType: CARDINAL; NearTok: CARDINAL) : CARDINAL ; ++BEGIN ++ IF leftType=rightType + THEN +- RETURN( t1 ) +- ELSIF (t1=Address) AND (t2=Cardinal) ++ RETURN( leftType ) ++ ELSIF (leftType=Address) AND (rightType=Cardinal) + THEN + RETURN( Address ) +- ELSIF (t1=Cardinal) AND (t2=Address) ++ ELSIF (leftType=Cardinal) AND (rightType=Address) + THEN + RETURN( Address ) +- ELSIF (t1=Address) AND (t2=Integer) ++ ELSIF (leftType=Address) AND (rightType=Integer) + THEN + RETURN( Address ) +- ELSIF (t1=Integer) AND (t2=Address) ++ ELSIF (leftType=Integer) AND (rightType=Address) + THEN + RETURN( Address ) +- ELSIF t1=NulSym ++ ELSIF leftType=NulSym + THEN +- RETURN( t2 ) +- ELSIF t2=NulSym ++ RETURN( rightType ) ++ ELSIF rightType=NulSym + THEN +- RETURN( t1 ) +- ELSIF (t1=Bitset) AND IsSet(t2) ++ RETURN( leftType ) ++ ELSIF (leftType=Bitset) AND IsSet(rightType) + THEN +- RETURN( t1 ) +- ELSIF IsSet(t1) AND (t2=Bitset) ++ RETURN( leftType ) ++ ELSIF IsSet(leftType) AND (rightType=Bitset) + THEN +- RETURN( t2 ) +- ELSIF IsEnumeration(t1) ++ RETURN( rightType ) ++ ELSIF IsEnumeration(leftType) + THEN +- RETURN( MixTypes(Integer, t2, NearTok) ) +- ELSIF IsEnumeration(t2) ++ RETURN( MixTypesDecl (left, right, Integer, rightType, NearTok) ) ++ ELSIF IsEnumeration(rightType) + THEN +- RETURN( MixTypes(t1, Integer, NearTok) ) +- ELSIF IsSubrange(t1) ++ RETURN( MixTypesDecl (left, right, leftType, Integer, NearTok) ) ++ ELSIF IsSubrange(leftType) + THEN +- RETURN( MixTypes(GetType(t1), t2, NearTok) ) +- ELSIF IsSubrange(t2) ++ RETURN( MixTypesDecl (left, right, GetType(leftType), rightType, NearTok) ) ++ ELSIF IsSubrange(rightType) + THEN +- RETURN( MixTypes(t1, GetType(t2), NearTok) ) +- ELSIF IsRealType(t1) AND IsRealType(t2) ++ RETURN( MixTypesDecl (left, right, leftType, GetType(rightType), NearTok) ) ++ ELSIF IsRealType(leftType) AND IsRealType(rightType) + THEN +- IF t1=RType ++ IF leftType=RType + THEN +- RETURN( t2 ) +- ELSIF t2=RType ++ RETURN( rightType ) ++ ELSIF rightType=RType + THEN +- RETURN( t1 ) ++ RETURN( leftType ) + ELSE + RETURN( RType ) + END +- ELSIF IsComplexType(t1) AND IsComplexType(t2) ++ ELSIF IsComplexType(leftType) AND IsComplexType(rightType) + THEN +- IF t1=CType ++ IF leftType=CType + THEN +- RETURN( t2 ) +- ELSIF t2=CType ++ RETURN( rightType ) ++ ELSIF rightType=CType + THEN +- RETURN( t1 ) ++ RETURN( leftType ) + ELSE + RETURN( CType ) + END +- ELSIF IsUserType (t1) ++ ELSIF IsUserType (leftType) + THEN +- RETURN( MixTypes(GetType(t1), t2, NearTok) ) +- ELSIF IsUserType (t2) ++ RETURN( MixTypesDecl (left, right, GetType(leftType), rightType, NearTok) ) ++ ELSIF IsUserType (rightType) + THEN +- RETURN( MixTypes(t1, GetType(t2), NearTok) ) +- ELSIF (t1=GetLowestType(t1)) AND (t2=GetLowestType(t2)) ++ RETURN( MixTypes(leftType, GetType(rightType), NearTok) ) ++ ELSIF leftType = ZType + THEN +- RETURN( MixMetaTypes(t1, t2, NearTok) ) ++ RETURN rightType ++ ELSIF rightType = ZType ++ THEN ++ RETURN leftType ++ ELSIF (leftType=GetLowestType(leftType)) AND (rightType=GetLowestType(rightType)) ++ THEN ++ RETURN( MixMetaTypes (left, right, leftType, rightType, NearTok) ) + ELSE +- t1 := GetLowestType(t1) ; +- t2 := GetLowestType(t2) ; +- RETURN( MixTypes(t1, t2, NearTok) ) ++ leftType := GetLowestType(leftType) ; ++ rightType := GetLowestType(rightType) ; ++ RETURN( MixTypesDecl (left, right, leftType, rightType, NearTok) ) + END +-END MixTypes ; ++END MixTypesDecl ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2BasicBlock.def ++++ b/src/gcc/m2/gm2-compiler/M2BasicBlock.def +@@ -32,15 +32,11 @@ DEFINITION MODULE M2BasicBlock ; + *) + + FROM M2Scope IMPORT ScopeBlock ; +-EXPORT QUALIFIED BasicBlock, BasicBlockProc, +- InitBasicBlocks, InitBasicBlocksFromRange, +- KillBasicBlocks, FreeBasicBlocks, +- ForeachBasicBlockDo ; + + + TYPE + BasicBlock ; +- BasicBlockProc = PROCEDURE (CARDINAL, CARDINAL) ; ++ BasicBlockProc = PROCEDURE (BasicBlock) ; + + + (* +@@ -85,4 +81,32 @@ PROCEDURE FreeBasicBlocks (bb: BasicBlock) ; + PROCEDURE ForeachBasicBlockDo (bb: BasicBlock; p: BasicBlockProc) ; + + ++(* ++ GetBasicBlockScope - return the scope associated with the basic block. ++*) ++ ++PROCEDURE GetBasicBlockScope (bb: BasicBlock) : CARDINAL ; ++ ++ ++(* ++ GetBasicBlockStart - return the quad associated with the start of the basic block. ++*) ++ ++PROCEDURE GetBasicBlockStart (bb: BasicBlock) : CARDINAL ; ++ ++ ++(* ++ GetBasicBlockEnd - return the quad associated with the end of the basic block. ++*) ++ ++PROCEDURE GetBasicBlockEnd (bb: BasicBlock) : CARDINAL ; ++ ++ ++(* ++ IsBasicBlockFirst - return TRUE if this basic block is the first in the sequence. ++*) ++ ++PROCEDURE IsBasicBlockFirst (bb: BasicBlock) : BOOLEAN ; ++ ++ + END M2BasicBlock. +--- a/src/gcc/m2/gm2-compiler/M2BasicBlock.mod ++++ b/src/gcc/m2/gm2-compiler/M2BasicBlock.mod +@@ -32,7 +32,7 @@ FROM M2Quads IMPORT IsReferenced, IsConditional, IsUnConditional, IsCall, + IsReturn, IsNewLocalVar, IsKillLocalVar, + IsCatchBegin, IsCatchEnd, + IsInitStart, IsInitEnd, IsFinallyStart, IsFinallyEnd, +- IsInitialisingConst, ++ IsInitialisingConst, IsConditionalBooleanQuad, + IsPseudoQuad, IsDefOrModFile, + GetNextQuad, GetQuad, QuadOperator, + SubQuad, DisplayQuadRange ; +@@ -45,10 +45,11 @@ CONST + + TYPE + BasicBlock = POINTER TO RECORD +- StartQuad : CARDINAL ; (* First Quad in Basic Block *) +- EndQuad : CARDINAL ; (* End Quad in Basic Block *) ++ Scope : CARDINAL ; (* Scope associated with the block. *) ++ StartQuad : CARDINAL ; (* First Quad in Basic Block. *) ++ EndQuad : CARDINAL ; (* End Quad in Basic Block. *) ++ First : BOOLEAN ; (* The first block? *) + Right : BasicBlock ; +- (* Last Basic Block in list *) + Left : BasicBlock ; + END ; + +@@ -57,6 +58,10 @@ VAR + HeadOfBasicBlock: BasicBlock ; + + ++PROCEDURE stop ; ++END stop ; ++ ++ + (* + InitBasicBlocks - converts a list of quadruples as defined by + scope blocks into a set of basic blocks. +@@ -128,19 +133,21 @@ END FreeBasicBlocks ; + New - returns a basic block. + *) + +-PROCEDURE New () : BasicBlock ; ++PROCEDURE New (Scope: CARDINAL; First: BOOLEAN) : BasicBlock ; + VAR + b: BasicBlock ; + BEGIN + IF FreeList=NIL + THEN +- NEW(b) ++ NEW (b) + ELSE + b := FreeList ; + FreeList := FreeList^.Right + END ; +- Assert(b#NIL) ; +- RETURN( b ) ++ Assert (b#NIL) ; ++ b^.Scope := Scope ; ++ b^.First := First ; ++ RETURN b + END New ; + + +@@ -153,6 +160,7 @@ END New ; + + PROCEDURE ConvertQuads2BasicBlock (ScopeSym: CARDINAL; Start, End: CARDINAL) ; + VAR ++ First, + LastQuadDefMod, + LastQuadConditional, + LastQuadCall, +@@ -163,13 +171,14 @@ VAR + BEGIN + IF Debugging + THEN ++ WriteString ("Enter ConvertQuads2BasicBlock") ; WriteLn ; + DisplayQuadRange (ScopeSym, Start, End) + END ; + (* + Algorithm to perform Basic Block: + + For every quadruple establish a set of leaders. +- A Leader is defined as a quadruple which is ++ A leader is defined as a quadruple which is + either: + + (i) The first quadruple. +@@ -179,7 +188,7 @@ BEGIN + For each leader construct a basic block. + A Basic Block starts with a leader quadruple and ends with either: + +- (i) Another Leader ++ (i) Another leader + (ii) An unconditional Jump. + + Any quadruples that do not fall into a Basic Block can be thrown away +@@ -188,20 +197,26 @@ BEGIN + LastBB := NIL ; + CurrentBB := NIL ; + Quad := Start ; +- LastQuadConditional := TRUE ; (* Force Rule (i) *) ++ LastQuadConditional := TRUE ; (* Force Rule (i). *) + LastQuadCall := FALSE ; + LastQuadReturn := FALSE ; + LastQuadDefMod := FALSE ; +- (* Scan all quadruples *) ++ First := TRUE ; ++ (* Scan all quadruples. *) + WHILE (Quad<=End) AND (Quad#0) DO ++ IF Quad = 200 ++ THEN ++ stop ++ END ; + IF LastQuadConditional OR LastQuadCall OR LastQuadReturn OR + LastQuadDefMod OR IsReferenced(Quad) + THEN + (* Rule (ii) *) +- CurrentBB := New() ; (* Get a new Basic Block *) +- (* At least one quad in this Basic Block *) ++ CurrentBB := New (ScopeSym, First) ; (* Get a new Basic Block. *) ++ (* At least one quad in this Basic Block. *) + StartBB(CurrentBB, Quad) ; +- EndBB(CurrentBB, Quad) ++ EndBB(CurrentBB, Quad) ; ++ First := FALSE + ELSIF CurrentBB#NIL + THEN + (* We have a Basic Block - therefore add quad to this Block *) +@@ -216,14 +231,20 @@ BEGIN + IsInitStart(Quad) OR IsInitEnd(Quad) OR + IsFinallyStart(Quad) OR IsFinallyEnd(Quad) + THEN +- (* we must leave these quads alone *) ++ (* We must leave these quads alone. *) + EndBB(LastBB, Quad) ++ ELSIF IsConditionalBooleanQuad (Quad) ++ THEN ++ (* We can remove unreachable const quads. *) ++ SubQuad (Quad) ++(* + ELSIF IsInitialisingConst(Quad) + THEN +- (* we must leave these quads alone *) ++ (* But we leave remaining constant quads alone. *) + EndBB(LastBB, Quad) ++*) + ELSE +- (* remove this Quad since it will never be reached *) ++ (* Remove this Quad since it will never be reached. *) + SubQuad(Quad) + END ; + LastQuadConditional := IsConditional(Quad) ; +@@ -236,12 +257,17 @@ BEGIN + CurrentBB := NIL + END ; + Quad := GetNextQuad(Quad) ++ END ; ++ IF Debugging ++ THEN ++ WriteString ("Exit ConvertQuads2BasicBlock") ; WriteLn ; ++ DisplayQuadRange (ScopeSym, Start, End) + END + END ConvertQuads2BasicBlock ; + + + (* +- ForeachBasicBlockDo - for each basic block call procedure, p. ++ ForeachBasicBlockDo - for each basic block call procedure p. + *) + + PROCEDURE ForeachBasicBlockDo (bb: BasicBlock; p: BasicBlockProc) ; +@@ -253,7 +279,7 @@ BEGIN + b := bb ; + REPEAT + WITH b^ DO +- p (StartQuad, EndQuad) ++ p (b) + END ; + b := b^.Right + UNTIL b=bb +@@ -307,29 +333,6 @@ BEGIN + END Add ; + + +-(* +- Sub deletes an element from the specified queue. +-*) +- +-(* +-PROCEDURE Sub (VAR Head: BasicBlock; +- b: BasicBlock) ; +-BEGIN +- IF (b^.Right=Head) AND (b=Head) +- THEN +- Head := NIL +- ELSE +- IF Head=b +- THEN +- Head := Head^.Right +- END ; +- b^.Left^.Right := b^.Right ; +- b^.Right^.Left := b^.Left +- END +-END Sub ; +-*) +- +- + (* + DisplayBasicBlocks - displays the basic block data structure. + *) +@@ -359,6 +362,46 @@ BEGIN + END DisplayBlock ; + + ++(* ++ GetBasicBlockScope - return the scope associated with the basic block. ++*) ++ ++PROCEDURE GetBasicBlockScope (bb: BasicBlock) : CARDINAL ; ++BEGIN ++ RETURN bb^.Scope ++END GetBasicBlockScope ; ++ ++ ++(* ++ GetBasicBlockStart - return the quad associated with the start of the basic block. ++*) ++ ++PROCEDURE GetBasicBlockStart (bb: BasicBlock) : CARDINAL ; ++BEGIN ++ RETURN bb^.StartQuad ++END GetBasicBlockStart ; ++ ++ ++(* ++ GetBasicBlockEnd - return the quad associated with the end of the basic block. ++*) ++ ++PROCEDURE GetBasicBlockEnd (bb: BasicBlock) : CARDINAL ; ++BEGIN ++ RETURN bb^.EndQuad ++END GetBasicBlockEnd ; ++ ++ ++(* ++ IsBasicBlockFirst - return TRUE if this basic block is the first in the sequence. ++*) ++ ++PROCEDURE IsBasicBlockFirst (bb: BasicBlock) : BOOLEAN ; ++BEGIN ++ RETURN bb^.First ++END IsBasicBlockFirst ; ++ ++ + BEGIN + FreeList := NIL + END M2BasicBlock. +--- a/src/gcc/m2/gm2-compiler/M2Bitset.mod ++++ b/src/gcc/m2/gm2-compiler/M2Bitset.mod +@@ -23,7 +23,6 @@ IMPLEMENTATION MODULE M2Bitset ; + + + FROM M2Debug IMPORT Assert ; +-FROM m2tree IMPORT Tree ; + FROM m2linemap IMPORT BuiltinsLocation ; + FROM m2type IMPORT GetWordType ; + FROM m2decl IMPORT GetBitsPerBitset ; +--- a/src/gcc/m2/gm2-compiler/M2CaseList.mod ++++ b/src/gcc/m2/gm2-compiler/M2CaseList.mod +@@ -27,13 +27,13 @@ FROM M2GCCDeclare IMPORT TryDeclareConstant, GetTypeMin, GetTypeMax ; + FROM M2MetaError IMPORT MetaError1, MetaError2, MetaErrorT0, MetaErrorT1, MetaErrorT2, MetaErrorT3, MetaErrorT4, MetaErrorStringT0, MetaErrorString1 ; + FROM M2Error IMPORT InternalError ; + FROM M2Range IMPORT OverlapsRange, IsEqual, IsGreater ; +-FROM M2ALU IMPORT PushIntegerTree, PopIntegerTree, Addn, Sub, PushInt ; ++FROM M2ALU IMPORT PushIntegerTree, PopIntegerTree, Addn, Sub, PushInt, PushCard ; + FROM Indexing IMPORT Index, InitIndex, PutIndice, GetIndice, ForeachIndiceInIndexDo, HighIndice ; + FROM Lists IMPORT InitList, IncludeItemIntoList, RemoveItemFromList, NoOfItemsInList, GetItemFromList ; +-FROM NameKey IMPORT KeyToCharStar ; ++FROM NameKey IMPORT NulName, KeyToCharStar ; + FROM SymbolConversion IMPORT GccKnowsAbout, Mod2Gcc, AddModGcc ; + FROM DynamicStrings IMPORT InitString, InitStringCharStar, InitStringChar, ConCat, Mark, KillString ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM m2block IMPORT RememberType ; + FROM m2type IMPORT GetMinFrom ; + FROM m2expr IMPORT GetIntegerOne, CSTIntToString, CSTIntToChar ; +@@ -44,7 +44,8 @@ FROM NumberIO IMPORT WriteCard ; + + FROM SymbolTable IMPORT NulSym, IsConst, IsFieldVarient, IsRecord, IsRecordField, GetVarientTag, GetType, + ForeachLocalSymDo, GetSymName, IsEnumeration, SkipType, NoOfElements, GetNth, +- IsSubrange ; ++ IsSubrange, MakeConstLit, IsConstString, GetStringLength, MakeConstVar, PutConst, ++ PopValue ; + + TYPE + RangePair = POINTER TO RECORD +@@ -64,6 +65,7 @@ TYPE + END ; + + CaseDescriptor = POINTER TO RECORD ++ resolved : BOOLEAN ; + elseClause : BOOLEAN ; + elseField : CARDINAL ; + record : CARDINAL ; +@@ -76,7 +78,7 @@ TYPE + END ; + + SetRange = POINTER TO RECORD +- low, high: Tree ; ++ low, high: tree ; + next : SetRange ; + END ; + +@@ -110,6 +112,7 @@ BEGIN + InternalError ('out of memory error') + ELSE + WITH c^ DO ++ resolved := FALSE ; + elseClause := FALSE ; + elseField := NulSym ; + record := rec ; +@@ -244,7 +247,30 @@ END GetVariantTagType ; + + PROCEDURE CaseBoundsResolved (tokenno: CARDINAL; c: CARDINAL) : BOOLEAN ; + VAR +- resolved: BOOLEAN ; ++ p: CaseDescriptor ; ++BEGIN ++ p := GetIndice (caseArray, c) ; ++ IF p^.resolved ++ THEN ++ RETURN TRUE ++ ELSE ++ IF CheckCaseBoundsResolved (tokenno, c) ++ THEN ++ ConvertNulStr2NulChar (tokenno, c) ; ++ RETURN TRUE ++ ELSE ++ RETURN FALSE ++ END ++ END ++END CaseBoundsResolved ; ++ ++ ++(* ++ CheckCaseBoundsResolved - return TRUE if all constants in the case list c are known to GCC. ++*) ++ ++PROCEDURE CheckCaseBoundsResolved (tokenno: CARDINAL; c: CARDINAL) : BOOLEAN ; ++VAR + p : CaseDescriptor ; + q : CaseList ; + r : RangePair ; +@@ -327,7 +353,62 @@ BEGIN + END + END ; + RETURN( TRUE ) +-END CaseBoundsResolved ; ++END CheckCaseBoundsResolved ; ++ ++ ++(* ++ ConvertNulStr2NulChar - ++*) ++ ++PROCEDURE ConvertNulStr2NulChar (tokenno: CARDINAL; c: CARDINAL) ; ++VAR ++ p : CaseDescriptor ; ++ q : CaseList ; ++ r : RangePair ; ++ i, j: CARDINAL ; ++BEGIN ++ p := GetIndice (caseArray, c) ; ++ WITH p^ DO ++ i := 1 ; ++ WHILE i <= maxCaseId DO ++ q := GetIndice (caseListArray, i) ; ++ j := 1 ; ++ WHILE j<=q^.maxRangeId DO ++ r := GetIndice (q^.rangeArray, j) ; ++ r^.low := NulStr2NulChar (tokenno, r^.low) ; ++ r^.high := NulStr2NulChar (tokenno, r^.high) ; ++ INC (j) ++ END ; ++ INC (i) ++ END ++ END ++END ConvertNulStr2NulChar ; ++ ++ ++(* ++ NulStr2NulChar - if sym is a const string of length 0 then return ++ a nul char instead otherwise return sym. ++*) ++ ++PROCEDURE NulStr2NulChar (tok: CARDINAL; sym: CARDINAL) : CARDINAL ; ++BEGIN ++ IF sym # NulSym ++ THEN ++ IF IsConst (sym) AND IsConstString (sym) AND GccKnowsAbout (sym) ++ THEN ++ IF GetStringLength (tok, sym) = 0 ++ THEN ++ sym := MakeConstVar (tok, NulName) ; ++ PutConst (sym, Char) ; ++ PushCard (0) ; ++ PopValue (sym) ; ++ TryDeclareConstant (tok, sym) ; ++ Assert (GccKnowsAbout (sym)) ++ END ++ END ++ END ; ++ RETURN sym ++END NulStr2NulChar ; + + + (* +@@ -439,6 +520,26 @@ BEGIN + END Overlaps ; + + ++(* ++ GetCaseExpression - return the type from the expression. ++*) ++ ++PROCEDURE GetCaseExpression (p: CaseDescriptor) : CARDINAL ; ++VAR ++ type: CARDINAL ; ++BEGIN ++ WITH p^ DO ++ IF expression = NulSym ++ THEN ++ type := NulSym ++ ELSE ++ type := SkipType (GetType (expression)) ++ END ++ END ; ++ RETURN type ++END GetCaseExpression ; ++ ++ + (* + OverlappingCaseBound - returns TRUE if, r, overlaps any case bound in the + case statement, c. +@@ -488,15 +589,15 @@ VAR + i, j : CARDINAL ; + overlap: BOOLEAN ; + BEGIN +- p := GetIndice(caseArray, c) ; ++ p := GetIndice (caseArray, c) ; + overlap := FALSE ; + WITH p^ DO + i := 1 ; + WHILE i<=maxCaseId DO +- q := GetIndice(caseListArray, i) ; ++ q := GetIndice (caseListArray, i) ; + j := 1 ; + WHILE j<=q^.maxRangeId DO +- r := GetIndice(q^.rangeArray, j) ; ++ r := GetIndice (q^.rangeArray, j) ; + IF OverlappingCaseBound (r, c) + THEN + overlap := TRUE +@@ -608,7 +709,7 @@ END RemoveRange ; + SubBitRange - subtracts bits, lo..hi, from, set. + *) + +-PROCEDURE SubBitRange (set: SetRange; lo, hi: Tree; tokenno: CARDINAL) : SetRange ; ++PROCEDURE SubBitRange (set: SetRange; lo, hi: tree; tokenno: CARDINAL) : SetRange ; + VAR + h, i: SetRange ; + BEGIN +@@ -681,7 +782,7 @@ END SubBitRange ; + + PROCEDURE CheckLowHigh (rp: RangePair) ; + VAR +- lo, hi: Tree ; ++ lo, hi: tree ; + temp : CARDINAL ; + BEGIN + lo := Mod2Gcc (rp^.low) ; +@@ -741,9 +842,9 @@ VAR + IncludeElement - only include enumeration field into errorString if it lies between low..high. + *) + +-PROCEDURE IncludeElement (enumList: List; field: CARDINAL; low, high: Tree) ; ++PROCEDURE IncludeElement (enumList: List; field: CARDINAL; low, high: tree) ; + VAR +- fieldTree: Tree ; ++ fieldTree: tree ; + BEGIN + IF field # NulSym + THEN +@@ -760,7 +861,7 @@ END IncludeElement ; + IncludeElements - only include enumeration field values low..high in errorString. + *) + +-PROCEDURE IncludeElements (type: CARDINAL; enumList: List; low, high: Tree) ; ++PROCEDURE IncludeElements (type: CARDINAL; enumList: List; low, high: tree) ; + VAR + field : CARDINAL ; + i, +@@ -782,7 +883,7 @@ END IncludeElements ; + + PROCEDURE ErrorRangeEnum (type: CARDINAL; set: SetRange; enumList: List) ; + VAR +- Low, High: Tree ; ++ Low, High: tree ; + BEGIN + Low := set^.low ; + High := set^.high ; +@@ -894,7 +995,7 @@ END EnumerateErrors ; + NoOfSetElements - return the number of set elements. + *) + +-PROCEDURE NoOfSetElements (set: SetRange) : Tree ; ++PROCEDURE NoOfSetElements (set: SetRange) : tree ; + BEGIN + PushInt (0) ; + WHILE set # NIL DO +@@ -922,7 +1023,7 @@ END NoOfSetElements ; + isPrintableChar - a cautious isprint. + *) + +-PROCEDURE isPrintableChar (value: Tree) : BOOLEAN ; ++PROCEDURE isPrintableChar (value: tree) : BOOLEAN ; + BEGIN + CASE CSTIntToChar (value) OF + +@@ -958,7 +1059,7 @@ END isPrintableChar ; + CHAR constants and will fall back to CHR (x) if necessary. + *) + +-PROCEDURE appendTree (value: Tree; type: CARDINAL) ; ++PROCEDURE appendTree (value: tree; type: CARDINAL) ; + BEGIN + IF SkipType (GetType (type)) = Char + THEN +@@ -994,7 +1095,7 @@ VAR + sr : SetRange ; + rangeNo : CARDINAL ; + nMissing, +- zero, one: Tree ; ++ zero, one: tree ; + BEGIN + nMissing := NoOfSetElements (set) ; + PushInt (0) ; +@@ -1121,27 +1222,24 @@ BEGIN + WITH p^ DO + IF NOT elseClause + THEN +- IF expression # NulSym ++ type := GetCaseExpression (p) ; ++ IF type # NulSym + THEN +- type := SkipType (GetType (expression)) ; +- IF type # NulSym ++ IF IsEnumeration (type) OR IsSubrange (type) + THEN +- IF IsEnumeration (type) OR IsSubrange (type) ++ (* A case statement sequence without an else clause but ++ selecting using an enumeration type. *) ++ set := NewSet (type) ; ++ set := ExcludeCaseRanges (set, p) ; ++ IF set # NIL + THEN +- (* A case statement sequence without an else clause but +- selecting using an enumeration type. *) +- set := NewSet (type) ; +- set := ExcludeCaseRanges (set, p) ; +- IF set # NIL +- THEN +- missing := TRUE ; +- MetaErrorT1 (tokenno, +- 'not all {%1Wd} values in the {%kCASE} statements are specified, hint you either need to specify each value of {%1ad} or use an {%kELSE} clause', +- type) ; +- EmitMissingRangeErrors (tokenno, type, set) +- END ; +- set := DisposeRanges (set) +- END ++ missing := TRUE ; ++ MetaErrorT1 (tokenno, ++ 'not all {%1Wd} values in the {%kCASE} statements are specified, hint you either need to specify each value of {%1ad} or use an {%kELSE} clause', ++ type) ; ++ EmitMissingRangeErrors (tokenno, type, set) ++ END ; ++ set := DisposeRanges (set) + END + END + END +@@ -1157,7 +1255,7 @@ procedure InRangeList (cl: CaseList; tag: cardinal) : boolean ; + var + i, h: cardinal ; + r : RangePair ; +- a : Tree ; ++ a : tree ; + begin + with cl^ do + i := 1 ; +--- a/src/gcc/m2/gm2-compiler/M2Check.mod ++++ b/src/gcc/m2/gm2-compiler/M2Check.mod +@@ -41,14 +41,14 @@ FROM StrLib IMPORT StrEqual ; + FROM M2Debug IMPORT Assert ; + + FROM SymbolTable IMPORT NulSym, IsRecord, IsSet, GetDType, GetSType, IsType, +- SkipType, IsProcedure, NoOfParam, IsVarParam, GetNth, +- GetNthParam, IsProcType, IsVar, IsEnumeration, IsArray, +- GetDeclaredMod, IsSubrange, GetArraySubscript, IsConst, ++ SkipType, IsProcedure, NoOfParamAny, IsVarParamAny, GetNth, ++ GetNthParamAny, IsProcType, IsVar, IsEnumeration, IsArray, ++ IsSubrange, GetArraySubscript, IsConst, + IsReallyPointer, IsPointer, IsParameter, ModeOfAddr, + GetMode, GetType, IsUnbounded, IsComposite, IsConstructor, + IsParameter, IsConstString, IsConstLitInternal, IsConstLit, + GetStringLength, GetProcedureProcType, IsHiddenType, +- IsHiddenReallyPointer ; ++ IsHiddenReallyPointer, GetDimension ; + + FROM M2GCCDeclare IMPORT GetTypeMin, GetTypeMax ; + FROM M2System IMPORT Address ; +@@ -259,12 +259,93 @@ BEGIN + END checkSubrange ; + + ++(* ++ checkUnboundedArray - returns status if unbounded is parameter compatible with array. ++ It checks all type equivalences of the static array for a ++ match with the dynamic (unbounded) array. ++*) ++ ++PROCEDURE checkUnboundedArray (result: status; ++ unbounded, array: CARDINAL) : status ; ++VAR ++ dim : CARDINAL ; ++ ubtype, ++ type : CARDINAL ; ++BEGIN ++ (* Firstly check to see if we have resolved this as false. *) ++ IF isFalse (result) ++ THEN ++ RETURN result ++ ELSE ++ Assert (IsUnbounded (unbounded)) ; ++ Assert (IsArray (array)) ; ++ dim := GetDimension (unbounded) ; ++ ubtype := GetType (unbounded) ; ++ type := array ; ++ REPEAT ++ type := GetType (type) ; ++ DEC (dim) ; ++ (* Check type equivalences. *) ++ IF checkTypeEquivalence (result, type, ubtype) = true ++ THEN ++ RETURN true ++ END ; ++ type := SkipType (type) ; ++ (* If we have run out of dimensions we conclude false. *) ++ IF dim = 0 ++ THEN ++ RETURN false ++ END ; ++ UNTIL NOT IsArray (type) ++ END ; ++ RETURN false ++END checkUnboundedArray ; ++ ++ ++(* ++ checkUnboundedUnbounded - check to see if formal and actual are compatible. ++ Both are unbounded parameters. ++*) ++ ++PROCEDURE checkUnboundedUnbounded (result: status; ++ tinfo: tInfo; ++ formal, actual: CARDINAL) : status ; ++BEGIN ++ (* Firstly check to see if we have resolved this as false. *) ++ IF isFalse (result) ++ THEN ++ RETURN result ++ ELSE ++ Assert (IsUnbounded (formal)) ; ++ Assert (IsUnbounded (actual)) ; ++ (* The actual parameter above might be a different symbol to the actual parameter ++ symbol in the tinfo. So we must compare the original actual parameter against ++ the formal. ++ The actual above maybe a temporary which is created after derefencing an array. ++ For example 'bar[10]' where bar is defined as ARRAY OF ARRAY OF CARDINAL. ++ The GetDimension for 'bar[10]' is 1 indicating that one dimension has been ++ referenced. We use GetDimension for 'bar' which is 2. *) ++ IF GetDimension (formal) # GetDimension (tinfo^.actual) ++ THEN ++ RETURN false ++ END ; ++ IF checkTypeEquivalence (result, GetType (formal), GetType (actual)) = true ++ THEN ++ RETURN true ++ END ++ END ; ++ RETURN false ++END checkUnboundedUnbounded ; ++ ++ + (* + checkUnbounded - check to see if the unbounded is type compatible with right. + This is only allowed during parameter passing. + *) + +-PROCEDURE checkUnbounded (result: status; tinfo: tInfo; unbounded, right: CARDINAL) : status ; ++PROCEDURE checkUnbounded (result: status; ++ tinfo: tInfo; ++ unbounded, right: CARDINAL) : status ; + BEGIN + (* Firstly check to see if we have resolved this as false. *) + IF isFalse (result) +@@ -274,13 +355,32 @@ BEGIN + Assert (IsUnbounded (unbounded)) ; + IF tinfo^.kind = parameter + THEN +- (* --fixme-- we should check the unbounded data type against the type of right. *) +- RETURN true +- ELSE +- (* Not allowed to use an unbounded symbol (type) in an expression or assignment. *) +- RETURN false ++ (* Check the unbounded data type against the type of right, SYSTEM types ++ are compared by the caller, so no need to test for them again. *) ++ IF isSkipEquivalence (GetType (unbounded), right) ++ THEN ++ RETURN true ++ ELSIF IsType (right) ++ THEN ++ IF GetType (right) = NulSym ++ THEN ++ (* Base type check. *) ++ RETURN checkPair (result, tinfo, GetType (unbounded), right) ++ ELSE ++ (* It is safe to GetType (right) and we check the pair ++ [unbounded, GetType (right)]. *) ++ RETURN checkPair (result, tinfo, unbounded, GetType (right)) ++ END ++ ELSIF IsArray (right) ++ THEN ++ RETURN checkUnboundedArray (result, unbounded, right) ++ ELSIF IsUnbounded (right) ++ THEN ++ RETURN checkUnboundedUnbounded (result, tinfo, unbounded, right) ++ END + END +- END ++ END ; ++ RETURN false + END checkUnbounded ; + + +@@ -527,7 +627,14 @@ END checkBaseEquivalence ; + + + (* +- checkPair - ++ checkPair - check whether left and right are type compatible. ++ It will update the visited, unresolved list before ++ calling the docheckPair for the cascaded type checking. ++ Pre-condition: tinfo is initialized. ++ left and right are modula2 symbols. ++ Post-condition: tinfo visited, resolved, unresolved lists ++ are updated and the result status is ++ returned. + *) + + PROCEDURE checkPair (result: status; tinfo: tInfo; +@@ -829,7 +936,7 @@ END checkSystemEquivalence ; + a set, record or array. + *) + +-PROCEDURE checkTypeKindViolation (result: status; tinfo: tInfo; ++PROCEDURE checkTypeKindViolation (result: status; + left, right: CARDINAL) : status ; + BEGIN + IF isFalse (result) OR (result = visited) +@@ -849,7 +956,14 @@ END checkTypeKindViolation ; + + + (* +- doCheckPair - ++ doCheckPair - invoke a series of ordered type checks checking compatibility ++ between left and right modula2 symbols. ++ Pre-condition: left and right are modula-2 symbols. ++ tinfo is configured. ++ Post-condition: status is returned determining the ++ correctness of the type check. ++ The tinfo resolved, unresolved, visited ++ lists will be updated. + *) + + PROCEDURE doCheckPair (result: status; tinfo: tInfo; +@@ -889,7 +1003,7 @@ BEGIN + result := checkTypeKindEquivalence (result, tinfo, left, right) ; + IF NOT isKnown (result) + THEN +- result := checkTypeKindViolation (result, tinfo, left, right) ++ result := checkTypeKindViolation (result, left, right) + END + END + END +@@ -944,7 +1058,7 @@ BEGIN + result := checkPair (unknown, tinfo, lt, rt) + END ; + +- IF NoOfParam (left) # NoOfParam (right) ++ IF NoOfParamAny (left) # NoOfParamAny (right) + THEN + IF tinfo^.format # NIL + THEN +@@ -953,11 +1067,11 @@ BEGIN + RETURN return (false, tinfo, left, right) + END ; + i := 1 ; +- n := NoOfParam (left) ; ++ n := NoOfParamAny (left) ; + WHILE i <= n DO +- IF IsVarParam (left, i) # IsVarParam (right, i) ++ IF IsVarParamAny (left, i) # IsVarParamAny (right, i) + THEN +- IF IsVarParam (left, i) ++ IF IsVarParamAny (left, i) + THEN + IF tinfo^.format # NIL + THEN +@@ -971,7 +1085,7 @@ BEGIN + END ; + RETURN return (false, tinfo, left, right) + END ; +- result := checkPair (result, tinfo, GetDType (GetNthParam (left, i)), GetDType (GetNthParam (right, i))) ; ++ result := checkPair (result, tinfo, GetDType (GetNthParamAny (left, i)), GetDType (GetNthParamAny (right, i))) ; + INC (i) + END + END ; +@@ -1017,7 +1131,7 @@ BEGIN + result := checkPair (result, tinfo, lt, rt) + END ; + +- IF NoOfParam (left) # NoOfParam (right) ++ IF NoOfParamAny (left) # NoOfParamAny (right) + THEN + IF tinfo^.format # NIL + THEN +@@ -1026,11 +1140,11 @@ BEGIN + RETURN return (false, tinfo, left, right) + END ; + i := 1 ; +- n := NoOfParam (left) ; ++ n := NoOfParamAny (left) ; + WHILE i <= n DO +- IF IsVarParam (left, i) # IsVarParam (right, i) ++ IF IsVarParamAny (left, i) # IsVarParamAny (right, i) + THEN +- IF IsVarParam (left, i) ++ IF IsVarParamAny (left, i) + THEN + IF tinfo^.format # NIL + THEN +@@ -1044,7 +1158,7 @@ BEGIN + END ; + RETURN return (false, tinfo, left, right) + END ; +- result := checkPair (result, tinfo, GetDType (GetNthParam (left, i)), GetDType (GetNthParam (right, i))) ; ++ result := checkPair (result, tinfo, GetDType (GetNthParamAny (left, i)), GetDType (GetNthParamAny (right, i))) ; + INC (i) + END + END ; +--- a/src/gcc/m2/gm2-compiler/M2Code.mod ++++ b/src/gcc/m2/gm2-compiler/M2Code.mod +@@ -320,9 +320,14 @@ END InitialDeclareAndOptimize ; + + PROCEDURE SecondDeclareAndOptimize (scope: CARDINAL; + start, end: CARDINAL) ; ++VAR ++ bb: BasicBlock ; + BEGIN + REPEAT +- FoldConstants(start, end) ; ++ bb := InitBasicBlocksFromRange (scope, start, end) ; ++ ForeachBasicBlockDo (bb, FoldConstants) ; ++ FreeBasicBlocks (bb) ; ++ + DeltaConst := Count - CountQuads () ; + Count := CountQuads () ; + +--- a/src/gcc/m2/gm2-compiler/M2Comp.mod ++++ b/src/gcc/m2/gm2-compiler/M2Comp.mod +@@ -226,7 +226,7 @@ END GenerateDependenciesFromList ; + the source code is found in sourcefile. + *) + +-PROCEDURE GenerateDependencies (sourcefile: String) ; ++PROCEDURE GenerateDependencies ; + BEGIN + IF IsDefImp (GetMainModule ()) + THEN +@@ -252,7 +252,7 @@ BEGIN + FlushWarnings ; FlushErrors ; + IF GetM () OR GetMM () + THEN +- GenerateDependencies (s) ++ GenerateDependencies + END ; + IF NOT PPonly + THEN +@@ -652,7 +652,7 @@ END ReadDepContents ; + WriteDep - write the dependencies and target to file out. + *) + +-PROCEDURE WriteDep (dep: String; contents: Index; out: File) ; ++PROCEDURE WriteDep (contents: Index; out: File) ; + VAR + i, h: CARDINAL ; + line: String ; +@@ -692,7 +692,7 @@ END WriteDep ; + WritePhonyDep - write the dependencies and target to file out. + *) + +-PROCEDURE WritePhonyDep (dep: String; contents: Index; out: File) ; ++PROCEDURE WritePhonyDep (contents: Index; out: File) ; + VAR + i, h: CARDINAL ; + line: String ; +@@ -735,10 +735,10 @@ BEGIN + END ; + IF IsNoError (out) + THEN +- WriteDep (dep, contents, out) ; ++ WriteDep (contents, out) ; + IF GetMP () + THEN +- WritePhonyDep (dep, contents, out) ++ WritePhonyDep (contents, out) + END + END ; + IF GetMF () = NIL +--- a/src/gcc/m2/gm2-compiler/M2Emit.def ++++ b/src/gcc/m2/gm2-compiler/M2Emit.def +@@ -23,7 +23,7 @@ DEFINITION MODULE M2Emit ; + + + FROM DynamicStrings IMPORT String ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2Error.def ++++ b/src/gcc/m2/gm2-compiler/M2Error.def +@@ -33,25 +33,6 @@ FROM SYSTEM IMPORT BYTE ; + FROM DynamicStrings IMPORT String ; + FROM NameKey IMPORT Name ; + +-EXPORT QUALIFIED Error, ErrorScope, +- InternalError, +- WriteFormat0, WriteFormat1, WriteFormat2, WriteFormat3, +- NewError, ErrorFormat0, ErrorFormat1, ErrorFormat2, ErrorFormat3, +- ErrorString, +- NewWarning, NewNote, SetColor, +- FlushErrors, FlushWarnings, ChainError, +- ErrorStringAt, ErrorStringAt2, ErrorStringsAt2, +- WarnStringAt, WarnStringAt2, WarnStringsAt2, +- ErrorAbort0, +- WarnFormat0, WarnFormat1, MoveError, +- AnnounceScope, EnterImplementationScope, +- EnterModuleScope, EnterDefinitionScope, EnterProgramScope, +- EnterProcedureScope, DepthScope, GetAnnounceScope, +- DefaultProgramModule, DefaultImplementationModule, +- DefaultDefinitionModule, DefaultInnerModule, DefaultProcedure, +- EnterErrorScope, GetCurrentErrorScope, ResetErrorScope, +- LeaveErrorScope ; +- + + TYPE + Error ; +--- a/src/gcc/m2/gm2-compiler/M2GCCDeclare.def ++++ b/src/gcc/m2/gm2-compiler/M2GCCDeclare.def +@@ -31,7 +31,8 @@ DEFINITION MODULE M2GCCDeclare ; + *) + + FROM SYSTEM IMPORT WORD ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; ++FROM M2BasicBlock IMPORT BasicBlock ; + + TYPE + WalkAction = PROCEDURE (WORD) ; +@@ -42,7 +43,7 @@ TYPE + FoldConstants - a wrapper for ResolveConstantExpressions. + *) + +-PROCEDURE FoldConstants (start, end: CARDINAL) ; ++PROCEDURE FoldConstants (bb: BasicBlock) ; + + + (* +@@ -158,7 +159,7 @@ PROCEDURE PoisonSymbols (sym: CARDINAL) ; + return a string constant. + *) + +-PROCEDURE PromoteToString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE PromoteToString (tokenno: CARDINAL; sym: CARDINAL) : tree ; + + + (* +@@ -169,7 +170,7 @@ PROCEDURE PromoteToString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; + return a string constant. + *) + +-PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : tree ; + + + (* +@@ -185,7 +186,7 @@ PROCEDURE CompletelyResolved (sym: CARDINAL) : BOOLEAN ; + ConstantKnownAndUsed - + *) + +-PROCEDURE ConstantKnownAndUsed (sym: CARDINAL; t: Tree) ; ++PROCEDURE ConstantKnownAndUsed (sym: CARDINAL; t: tree) ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2GCCDeclare.mod ++++ b/src/gcc/m2/gm2-compiler/M2GCCDeclare.mod +@@ -48,7 +48,6 @@ FROM M2Batch IMPORT MakeDefinitionSource ; + FROM NameKey IMPORT Name, MakeKey, NulName, KeyToCharStar, makekey ; + FROM M2FileName IMPORT CalculateFileName ; + FROM DynamicStrings IMPORT String, string, InitString, KillString, InitStringCharStar, InitStringChar, Mark ; +-FROM FormatStrings IMPORT Sprintf1 ; + FROM M2LexBuf IMPORT TokenToLineNo, FindFileNameFromToken, TokenToLocation, UnknownTokenNo, BuiltinTokenNo ; + FROM M2MetaError IMPORT MetaError1, MetaError2, MetaError3 ; + FROM M2Error IMPORT FlushErrors, InternalError ; +@@ -71,15 +70,19 @@ FROM Sets IMPORT Set, InitSet, KillSet, + NoOfElementsInSet, IsElementInSet, ForeachElementInSetDo, + DuplicateSet, EqualSet ; + ++FROM M2BasicBlock IMPORT BasicBlock, InitBasicBlocks, KillBasicBlocks, ForeachBasicBlockDo ; ++ + FROM SymbolTable IMPORT NulSym, +- ModeOfAddr, ++ ModeOfAddr, ProcedureKind, ++ GetProcedureKindDesc, ++ GetProcedureParametersDefined, + GetMode, + GetScope, + GetNth, SkipType, GetVarBackEndType, + GetSType, GetLType, GetDType, + MakeType, PutType, GetLowestType, + GetSubrange, PutSubrange, GetArraySubscript, +- NoOfParam, GetNthParam, ++ NoOfParamAny, GetNthParamAny, + PushValue, PopValue, PopSize, + IsTemporary, IsUnbounded, IsPartialUnbounded, + IsEnumeration, IsVar, +@@ -92,7 +95,7 @@ FROM SymbolTable IMPORT NulSym, + IsConst, IsConstSet, IsConstructor, + IsFieldEnumeration, + IsExported, IsImported, +- IsVarParam, IsRecordField, IsUnboundedParam, ++ IsVarParamAny, IsRecordField, IsUnboundedParam, + IsValueSolved, + IsDefinitionForC, IsHiddenTypeDeclared, + IsInnerModule, IsUnknown, +@@ -102,15 +105,17 @@ FROM SymbolTable IMPORT NulSym, + IsError, IsHiddenType, IsVarHeap, + IsComponent, IsPublic, IsExtern, IsCtor, + IsImport, IsImportStatement, IsConstStringKnown, ++ IsUnboundedParamAny, + GetMainModule, GetBaseModule, GetModule, GetLocalSym, + PutModuleFinallyFunction, + GetProcedureScope, GetProcedureQuads, ++ NoOfParam, IsVarParam, GetNthParam, GetType, + IsRecordFieldAVarientTag, IsEmptyFieldVarient, + GetVarient, GetUnbounded, PutArrayLarge, + IsAModula2Type, UsesVarArgs, + GetSymName, GetParent, + GetDeclaredMod, GetVarBackEndType, +- GetProcedureBeginEnd, IsProcedureNoReturn, ++ GetProcedureBeginEnd, IsProcedureAnyNoReturn, + GetString, GetStringLength, IsConstString, + IsConstStringM2, IsConstStringC, IsConstStringM2nul, IsConstStringCnul, + GetAlignment, IsDeclaredPacked, PutDeclaredPacked, +@@ -118,7 +123,7 @@ FROM SymbolTable IMPORT NulSym, + GetPackedEquivalent, + GetParameterShadowVar, + GetUnboundedRecordType, +- GetModuleCtors, ++ GetModuleCtors, GetProcedureProcType, + MakeSubrange, MakeConstVar, MakeConstLit, + PutConst, + ForeachOAFamily, GetOAFamily, +@@ -158,8 +163,8 @@ FROM M2ALU IMPORT Addn, Sub, Equ, GreEqu, Gre, Less, PushInt, PushCard, ConvertT + ChangeToConstructor, EvaluateValue, TryEvaluateValue ; + + FROM M2Batch IMPORT IsSourceSeen, GetModuleFile, IsModuleSeen, LookupModule ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t, BuiltinsLocation ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM m2linemap IMPORT BuiltinsLocation ; + + FROM m2decl IMPORT BuildIntegerConstant, BuildStringConstant, BuildCStringConstant, + BuildStartFunctionDeclaration, +@@ -203,7 +208,7 @@ FROM m2block IMPORT RememberType, pushGlobalScope, popGlobalScope, + + + TYPE +- StartProcedure = PROCEDURE (location_t, ADDRESS) : Tree ; ++ StartProcedure = PROCEDURE (location_t, ADDRESS) : tree ; + ListType = (fullydeclared, partiallydeclared, niltypedarrays, + heldbyalignment, finishedalignment, todolist, + tobesolvedbyquads, finishedsetarray) ; +@@ -252,6 +257,7 @@ VAR + WatchList : Set ; (* Set of symbols being watched. *) + EnumerationIndex : Index ; + action : IsAction ; ++ ConstantResolved, + enumDeps : BOOLEAN ; + + +@@ -645,11 +651,11 @@ END LookupSet ; + GetEnumList - + *) + +-PROCEDURE GetEnumList (sym: CARDINAL) : Tree ; ++PROCEDURE GetEnumList (sym: CARDINAL) : tree ; + BEGIN + IF InBounds(EnumerationIndex, sym) + THEN +- RETURN( GetIndice(EnumerationIndex, sym) ) ++ RETURN( tree (GetIndice(EnumerationIndex, sym)) ) + ELSE + RETURN( NIL ) + END +@@ -660,7 +666,7 @@ END GetEnumList ; + PutEnumList - + *) + +-PROCEDURE PutEnumList (sym: CARDINAL; enumlist: Tree) ; ++PROCEDURE PutEnumList (sym: CARDINAL; enumlist: tree) ; + BEGIN + PutIndice(EnumerationIndex, sym, enumlist) + END PutEnumList ; +@@ -705,7 +711,7 @@ END Chained ; + recursive types. + *) + +-PROCEDURE DoStartDeclaration (sym: CARDINAL; p: StartProcedure) : Tree ; ++PROCEDURE DoStartDeclaration (sym: CARDINAL; p: StartProcedure) : tree ; + VAR + location: location_t ; + BEGIN +@@ -1243,7 +1249,7 @@ END PutToBeSolvedByQuads ; + + PROCEDURE DeclareTypeConstFully (sym: CARDINAL) ; + VAR +- t: Tree ; ++ t: tree ; + BEGIN + IF NOT IsElementInSet(GlobalGroup^.ToBeSolvedByQuads, sym) + THEN +@@ -1282,7 +1288,7 @@ END DeclareTypeConstFully ; + + PROCEDURE DeclareTypeFromPartial (sym: CARDINAL) ; + VAR +- t: Tree ; ++ t: tree ; + BEGIN + t := CompleteDeclarationOf(sym) ; + IF t=NIL +@@ -1296,30 +1302,6 @@ BEGIN + END DeclareTypeFromPartial ; + + +-(* +- DeclarePointerTypeFully - if, sym, is a pointer type then +- declare it. +-*) +- +-(* +-PROCEDURE DeclarePointerTypeFully (sym: CARDINAL) ; +-BEGIN +- IF IsPointer(sym) +- THEN +- WatchIncludeList(sym, fullydeclared) ; +- WatchRemoveList(sym, partiallydeclared) ; +- WatchRemoveList(sym, todolist) ; +- PreAddModGcc(sym, DeclarePointer(sym)) +- ELSE +- (* place sym and all dependants on the todolist +- providing they are not already on the FullyDeclared list +- *) +- TraverseDependants(sym) +- END +-END DeclarePointerTypeFully ; +-*) +- +- + (* + CanBeDeclaredPartiallyViaPartialDependants - returns TRUE if, sym, + can be partially declared via +@@ -1476,22 +1458,6 @@ BEGIN + DeclareTypePartially) + THEN + (* continue looping *) +-(* +- ELSIF ForeachTryDeclare (todolist, +- setarraynul, +- CanCreateSetArray, +- CreateSetArray) +- THEN +- (* Populates the finishedsetarray list with each set seen. *) +- (* Continue looping. *) +- ELSIF ForeachTryDeclare (finishedsetarray, +- setfully, +- CanCreateSet, +- CreateSet) +- THEN +- (* Populates the fullydeclared list with each set. *) +- (* Continue looping. *) +-*) + ELSIF ForeachTryDeclare (todolist, + arraynil, + CanDeclareArrayAsNil, +@@ -1587,7 +1553,7 @@ END DeclaredOutstandingTypes ; + dependents. + *) + +-PROCEDURE CompleteDeclarationOf (sym: CARDINAL) : Tree ; ++PROCEDURE CompleteDeclarationOf (sym: CARDINAL) : tree ; + BEGIN + IF IsArray(sym) + THEN +@@ -1612,9 +1578,9 @@ END CompleteDeclarationOf ; + we must tell GCC about it. + *) + +-PROCEDURE DeclareType (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareType (sym: CARDINAL) : tree ; + VAR +- t : Tree ; ++ t : tree ; + location: location_t ; + BEGIN + IF GetSType(sym)=NulSym +@@ -1624,7 +1590,7 @@ BEGIN + ELSE + IF GetSymName(sym)=NulName + THEN +- RETURN( Tree(Mod2Gcc(GetSType(sym))) ) ++ RETURN( tree(Mod2Gcc(GetSType(sym))) ) + ELSE + location := TokenToLocation(GetDeclaredMod(sym)) ; + IF GccKnowsAbout(sym) +@@ -1660,7 +1626,7 @@ END DeclareIntegerConstant ; + DeclareIntegerFromTree - declares an integer constant from a Tree, value. + *) + +-PROCEDURE DeclareConstantFromTree (sym: CARDINAL; value: Tree) ; ++PROCEDURE DeclareConstantFromTree (sym: CARDINAL; value: tree) ; + BEGIN + PreAddModGcc(sym, value) ; + WatchRemoveList(sym, todolist) ; +@@ -1690,7 +1656,7 @@ END DeclareCharConstant ; + + PROCEDURE DeclareStringConstant (tokenno: CARDINAL; sym: CARDINAL) ; + VAR +- symtree : Tree ; ++ symtree : tree ; + BEGIN + Assert (IsConstStringKnown (sym)) ; + IF IsConstStringM2nul (sym) OR IsConstStringCnul (sym) +@@ -1718,7 +1684,7 @@ END DeclareStringConstant ; + return a string constant. + *) + +-PROCEDURE PromoteToString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE PromoteToString (tokenno: CARDINAL; sym: CARDINAL) : tree ; + VAR + size: CARDINAL ; + ch : CHAR ; +@@ -1735,7 +1701,7 @@ BEGIN + IF size > 1 + THEN + (* It will be already be declared as a string, so return it. *) +- RETURN Tree (Mod2Gcc (sym)) ++ RETURN tree (Mod2Gcc (sym)) + ELSE + RETURN BuildStringConstant (KeyToCharStar (GetString (sym)), + GetStringLength (tokenno, sym)) +@@ -1752,7 +1718,7 @@ END PromoteToString ; + return a string constant. + *) + +-PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : tree ; + VAR + size: CARDINAL ; + ch : CHAR ; +@@ -1902,25 +1868,15 @@ BEGIN + IF (type#NulSym) AND (NOT CompletelyResolved(type)) + THEN + TraverseDependants(sym) ; +-(* +- WatchIncludeList(sym, todolist) ; +- WatchIncludeList(type, todolist) ; +-*) + RETURN + END ; + IF IsConstructor(sym) AND (NOT IsConstructorConstant(sym)) + THEN + TraverseDependants(sym) ; +-(* +- WatchIncludeList(sym, todolist) ; +-*) + RETURN + END ; + IF (IsConstructor(sym) OR IsConstSet(sym)) AND (type=NulSym) + THEN +-(* +- WatchIncludeList(sym, todolist) ; +-*) + TraverseDependants(sym) ; + RETURN + END ; +@@ -1936,10 +1892,7 @@ BEGIN + THEN + RETURN + END ; +- TraverseDependants(sym) ; +-(* +- WatchIncludeList(sym, todolist) +-*) ++ TraverseDependants(sym) + ELSE + TryDeclareConst(tokenno, sym) + END +@@ -1955,7 +1908,7 @@ END TryDeclareConstant ; + PROCEDURE DeclareConstant (tokenno: CARDINAL; sym: CARDINAL) ; + VAR + type: CARDINAL ; +- t : Tree ; ++ t : tree ; + BEGIN + IF IsConst(sym) + THEN +@@ -1981,7 +1934,7 @@ BEGIN + IF IsConstStringKnown (sym) + THEN + size := GetStringLength (tokenno, sym) ; +- IF size=1 ++ IF size = 1 + THEN + DeclareCharConstant (tokenno, sym) + ELSE +@@ -2011,9 +1964,6 @@ BEGIN + TryEvaluateValue(sym) ; + IF NOT IsConstructorDependants(sym, IsFullyDeclared) + THEN +-(* +- WatchIncludeList(sym, todolist) ; +-*) + TraverseDependants(sym) ; + RETURN + END ; +@@ -2064,7 +2014,7 @@ END TryDeclareConst ; + DeclareConst - declares a const to gcc and returns a Tree. + *) + +-PROCEDURE DeclareConst (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE DeclareConst (tokenno: CARDINAL; sym: CARDINAL) : tree ; + VAR + type: CARDINAL ; + BEGIN +@@ -2161,38 +2111,6 @@ BEGIN + END WalkAssociatedUnbounded ; + + +-(* +- WalkProcedureParameterDependants - +-*) +- +-(* +-PROCEDURE WalkProcedureParameterDependants (sym: CARDINAL; p: WalkAction) ; +-VAR +- son, +- type, +- n, i: CARDINAL ; +-BEGIN +- IF IsProcedure(sym) +- THEN +- n := NoOfParam(sym) ; +- i := n ; +- WHILE i>0 DO +- IF IsUnboundedParam(sym, i) +- THEN +- son := GetNthParam(sym, i) +- ELSE +- son := GetNth(sym, i) ; +- END ; +- type := GetSType(son) ; +- p(type) ; +- WalkDependants(type, p) ; +- DEC(i) +- END +- END +-END WalkProcedureParameterDependants ; +-*) +- +- + (* + WalkDependants - walks through all dependants of, Sym, + calling, p, for each dependant. +@@ -2327,12 +2245,12 @@ VAR + BEGIN + IF IsProcedure(sym) + THEN +- p := NoOfParam(sym) ; ++ p := NoOfParamAny (sym) ; + i := p ; + WHILE i>0 DO +- IF IsUnboundedParam(sym, i) ++ IF IsUnboundedParamAny (sym, i) + THEN +- param := GetNthParam(sym, i) ; ++ param := GetNthParamAny (sym, i) ; + type := GetSType(param) ; + TraverseDependants(type) ; + IF GccKnowsAbout(type) +@@ -2363,12 +2281,12 @@ VAR + BEGIN + IF IsProcedure (sym) + THEN +- p := NoOfParam (sym) ; ++ p := NoOfParamAny (sym) ; + i := p ; + WHILE i>0 DO +- IF IsUnboundedParam (sym, i) ++ IF IsUnboundedParamAny (sym, i) + THEN +- param := GetNthParam (sym, i) ++ param := GetNthParamAny (sym, i) + ELSE + param := GetNth (sym, i) + END ; +@@ -2542,9 +2460,9 @@ END IsExternalToWholeProgram ; + PROCEDURE DeclareProcedureToGccWholeProgram (Sym: CARDINAL) ; + VAR + returnType, +- GccParam : Tree ; ++ GccParam : tree ; + scope, +- Son, ++ Variable, + p, i : CARDINAL ; + b, e : CARDINAL ; + begin, end, +@@ -2553,30 +2471,30 @@ BEGIN + IF (NOT GccKnowsAbout(Sym)) AND (NOT IsPseudoProcFunc(Sym)) + THEN + BuildStartFunctionDeclaration(UsesVarArgs(Sym)) ; +- p := NoOfParam(Sym) ; ++ p := NoOfParamAny (Sym) ; + i := p ; + WHILE i>0 DO +- (* note we dont use GetNthParam as we want the parameter that is seen by the procedure block ++ (* note we dont use GetNthParamAny as we want the parameter that is seen by the procedure block + remember that this is treated exactly the same as a variable, just its position on + the activation record is special (ie a parameter) + *) +- Son := GetNth(Sym, i) ; +- location := TokenToLocation(GetDeclaredMod(Son)) ; +- IF IsUnboundedParam(Sym, i) ++ Variable := GetNth(Sym, i) ; ++ location := TokenToLocation(GetDeclaredMod(Variable)) ; ++ IF IsUnboundedParamAny (Sym, i) + THEN + GccParam := BuildParameterDeclaration(location, +- KeyToCharStar(GetSymName(Son)), +- Mod2Gcc(GetLType(Son)), ++ KeyToCharStar(GetSymName(Variable)), ++ Mod2Gcc(GetLType(Variable)), + FALSE) + ELSE + GccParam := BuildParameterDeclaration(location, +- KeyToCharStar(GetSymName(Son)), +- Mod2Gcc(GetLType(Son)), +- IsVarParam(Sym, i)) ++ KeyToCharStar(GetSymName(Variable)), ++ Mod2Gcc(GetLType(Variable)), ++ IsVarParamAny (Sym, i)) + END ; +- PreAddModGcc(Son, GccParam) ; +- WatchRemoveList(Son, todolist) ; +- WatchIncludeList(Son, fullydeclared) ; ++ PreAddModGcc(Variable, GccParam) ; ++ WatchRemoveList(Variable, todolist) ; ++ WatchIncludeList(Variable, fullydeclared) ; + DEC(i) + END ; + GetProcedureBeginEnd(Sym, b, e) ; +@@ -2596,7 +2514,7 @@ BEGIN + IsExternalToWholeProgram(Sym), + IsProcedureGccNested(Sym), + IsExported(GetModuleWhereDeclared(Sym), Sym), +- IsProcedureNoReturn(Sym))) ; ++ IsProcedureAnyNoReturn(Sym))) ; + PopBinding(scope) ; + WatchRemoveList(Sym, todolist) ; + WatchIncludeList(Sym, fullydeclared) +@@ -2611,9 +2529,9 @@ END DeclareProcedureToGccWholeProgram ; + PROCEDURE DeclareProcedureToGccSeparateProgram (Sym: CARDINAL) ; + VAR + returnType, +- GccParam : Tree ; ++ GccParam : tree ; + scope, +- Son, ++ Variable, + p, i : CARDINAL ; + b, e : CARDINAL ; + begin, end, +@@ -2630,30 +2548,30 @@ BEGIN + IsExtern (Sym)) + THEN + BuildStartFunctionDeclaration(UsesVarArgs(Sym)) ; +- p := NoOfParam(Sym) ; ++ p := NoOfParamAny (Sym) ; + i := p ; + WHILE i>0 DO +- (* Note we dont use GetNthParam as we want the parameter that is seen by ++ (* Note we dont use GetNthParamAny as we want the parameter that is seen by + the procedure block remember that this is treated exactly the same as + a variable, just its position on the activation record is special (ie + a parameter). *) +- Son := GetNth(Sym, i) ; +- location := TokenToLocation(GetDeclaredMod(Son)) ; +- IF IsUnboundedParam(Sym, i) ++ Variable := GetNth(Sym, i) ; ++ location := TokenToLocation(GetDeclaredMod(Variable)) ; ++ IF IsUnboundedParamAny (Sym, i) + THEN + GccParam := BuildParameterDeclaration(location, +- KeyToCharStar(GetSymName(Son)), +- Mod2Gcc(GetLType(Son)), ++ KeyToCharStar(GetSymName(Variable)), ++ Mod2Gcc(GetLType(Variable)), + FALSE) + ELSE + GccParam := BuildParameterDeclaration(location, +- KeyToCharStar(GetSymName(Son)), +- Mod2Gcc(GetLType(Son)), +- IsVarParam(Sym, i)) ++ KeyToCharStar(GetSymName(Variable)), ++ Mod2Gcc(GetLType(Variable)), ++ IsVarParamAny (Sym, i)) + END ; +- PreAddModGcc(Son, GccParam) ; +- WatchRemoveList(Son, todolist) ; +- WatchIncludeList(Son, fullydeclared) ; ++ PreAddModGcc(Variable, GccParam) ; ++ WatchRemoveList(Variable, todolist) ; ++ WatchIncludeList(Variable, fullydeclared) ; + DEC(i) + END ; + GetProcedureBeginEnd(Sym, b, e) ; +@@ -2674,7 +2592,7 @@ BEGIN + IsProcedureGccNested (Sym), + (* Exported from the module where it was declared. *) + IsExported (GetModuleWhereDeclared (Sym), Sym) OR IsExtern (Sym), +- IsProcedureNoReturn(Sym))) ; ++ IsProcedureAnyNoReturn(Sym))) ; + PopBinding(scope) ; + WatchRemoveList(Sym, todolist) ; + WatchIncludeList(Sym, fullydeclared) +@@ -2723,10 +2641,11 @@ END DeclareProcedure ; + FoldConstants - a wrapper for ResolveConstantExpressions. + *) + +-PROCEDURE FoldConstants (start, end: CARDINAL) ; ++PROCEDURE FoldConstants (bb: BasicBlock) ; + BEGIN +- IF ResolveConstantExpressions(DeclareConstFully, start, end) ++ IF ResolveConstantExpressions (DeclareConstFully, bb) + THEN ++ ConstantResolved := TRUE + END + END FoldConstants ; + +@@ -2778,6 +2697,8 @@ CONST + VAR + copy: Group ; + loop: CARDINAL ; ++ sb : ScopeBlock ; ++ bb : BasicBlock ; + BEGIN + IF TraceQuadruples + THEN +@@ -2785,11 +2706,18 @@ BEGIN + END ; + loop := 0 ; + copy := NIL ; ++ sb := InitScopeBlock (scope) ; + REPEAT ++ (* Throw away any unreachable quad. *) ++ bb := InitBasicBlocks (sb) ; ++ KillBasicBlocks (bb) ; ++ (* Now iterate over remaining quads in scope attempting to resolve constants. *) + copy := DupGroup (copy) ; +- WHILE ResolveConstantExpressions (DeclareConstFully, start, end) DO +- END ; +- (* we need to evaluate some constant expressions to resolve these types *) ++ bb := InitBasicBlocks (sb) ; ++ ConstantResolved := FALSE ; ++ ForeachBasicBlockDo (bb, FoldConstants) ; ++ KillBasicBlocks (bb) ; ++ (* And now types. *) + IF DeclaredOutstandingTypes (FALSE) + THEN + END ; +@@ -2803,9 +2731,11 @@ BEGIN + loop := 0 + END ; + INC (loop) +- UNTIL (NOT ResolveConstantExpressions (DeclareConstFully, start, end)) AND +- EqualGroup (copy, GlobalGroup) ; +- KillGroup (copy) ++ UNTIL (NOT ConstantResolved) AND EqualGroup (copy, GlobalGroup) ; ++ KillGroup (copy) ; ++ bb := InitBasicBlocks (sb) ; ++ KillBasicBlocks (bb) ; ++ KillScopeBlock (sb) + END DeclareTypesConstantsProceduresInRange ; + + +@@ -3151,7 +3081,7 @@ END DumpFilteredDefinitive ; + PreAddModGcc - adds a relationship between sym and tree. + *) + +-PROCEDURE PreAddModGcc (sym: CARDINAL; tree: Tree) ; ++PROCEDURE PreAddModGcc (sym: CARDINAL; tree: tree) ; + BEGIN + AddModGcc (sym, tree) + END PreAddModGcc ; +@@ -3161,9 +3091,9 @@ END PreAddModGcc ; + DeclareDefaultType - declares a default type, sym, with, name. + *) + +-PROCEDURE DeclareDefaultType (sym: CARDINAL; name: ARRAY OF CHAR; gcctype: Tree) ; ++PROCEDURE DeclareDefaultType (sym: CARDINAL; name: ARRAY OF CHAR; gcctype: tree) ; + VAR +- t : Tree ; ++ t : tree ; + high, low: CARDINAL ; + location : location_t ; + BEGIN +@@ -3228,7 +3158,7 @@ END DeclareBoolean ; + (if the back end support such a type). + *) + +-PROCEDURE DeclareFixedSizedType (name: ARRAY OF CHAR; type: CARDINAL; t: Tree) ; ++PROCEDURE DeclareFixedSizedType (name: ARRAY OF CHAR; type: CARDINAL; t: tree) ; + VAR + location : location_t ; + typetype, +@@ -3389,7 +3319,7 @@ END DeclareDefaultConstants ; + a procedure will return the procedure Tree. + *) + +-PROCEDURE FindContext (sym: CARDINAL) : Tree ; ++PROCEDURE FindContext (sym: CARDINAL) : tree ; + BEGIN + sym := GetProcedureScope(sym) ; + IF sym=NulSym +@@ -3452,9 +3382,9 @@ END FindOuterModule ; + PROCEDURE DoVariableDeclaration (var: CARDINAL; name: ADDRESS; + isImported, isExported, + isTemporary, isGlobal: BOOLEAN; +- scope: Tree) ; ++ scope: tree) ; + VAR +- type : Tree ; ++ type : tree ; + varType : CARDINAL ; + location: location_t ; + BEGIN +@@ -3528,7 +3458,7 @@ END IsGlobal ; + + PROCEDURE DeclareVariable (ModSym, variable: CARDINAL) ; + VAR +- scope: Tree ; ++ scope: tree ; + decl : CARDINAL ; + BEGIN + IF NOT GccKnowsAbout (variable) +@@ -3556,7 +3486,7 @@ END DeclareVariable ; + + PROCEDURE DeclareVariableWholeProgram (mainModule, variable: CARDINAL) ; + VAR +- scope: Tree ; ++ scope: tree ; + decl : CARDINAL ; + BEGIN + IF NOT GccKnowsAbout (variable) +@@ -3584,14 +3514,14 @@ END DeclareVariableWholeProgram ; + + PROCEDURE DeclareGlobalVariablesWholeProgram (ModSym: CARDINAL) ; + VAR +- n, Son: CARDINAL ; ++ n, Variable: CARDINAL ; + BEGIN + n := 1 ; +- Son := GetNth(ModSym, n) ; +- WHILE Son#NulSym DO +- DeclareVariableWholeProgram(ModSym, Son) ; +- INC(n) ; +- Son := GetNth(ModSym, n) ++ Variable := GetNth (ModSym, n) ; ++ WHILE Variable # NulSym DO ++ DeclareVariableWholeProgram (ModSym, Variable) ; ++ INC (n) ; ++ Variable := GetNth (ModSym, n) + END ; + ForeachInnerModuleDo(ModSym, DeclareGlobalVariablesWholeProgram) + END DeclareGlobalVariablesWholeProgram ; +@@ -3604,14 +3534,14 @@ END DeclareGlobalVariablesWholeProgram ; + + PROCEDURE DeclareGlobalVariables (ModSym: CARDINAL) ; + VAR +- n, variable: CARDINAL ; ++ n, Variable: CARDINAL ; + BEGIN + n := 1 ; +- variable := GetNth (ModSym, n) ; +- WHILE variable # NulSym DO +- DeclareVariable (ModSym, variable) ; ++ Variable := GetNth (ModSym, n) ; ++ WHILE Variable # NulSym DO ++ DeclareVariable (ModSym, Variable) ; + INC (n) ; +- variable := GetNth (ModSym, n) ++ Variable := GetNth (ModSym, n) + END ; + ForeachInnerModuleDo (ModSym, DeclareGlobalVariables) + END DeclareGlobalVariables ; +@@ -3679,7 +3609,7 @@ PROCEDURE DeclareLocalVariables (procedure: CARDINAL) ; + VAR + i, var: CARDINAL ; + BEGIN +- i := NoOfParam (procedure) + 1 ; ++ i := NoOfParamAny (procedure) + 1 ; + var := GetNth (procedure, i) ; + WHILE var # NulSym DO + Assert (procedure = GetScope (var)) ; +@@ -3697,7 +3627,7 @@ END DeclareLocalVariables ; + + PROCEDURE DeclareModuleVariables (sym: CARDINAL) ; + VAR +- scope : Tree ; ++ scope : tree ; + i, Var: CARDINAL ; + BEGIN + i := 1 ; +@@ -3722,7 +3652,7 @@ END DeclareModuleVariables ; + DeclareFieldValue - + *) + +-PROCEDURE DeclareFieldValue (sym: CARDINAL; value: Tree; VAR list: Tree) : Tree ; ++PROCEDURE DeclareFieldValue (sym: CARDINAL; value: tree; VAR list: tree) : tree ; + VAR + location: location_t ; + BEGIN +@@ -3741,11 +3671,11 @@ END DeclareFieldValue ; + DeclareFieldEnumeration - declares an enumerator within the current enumeration type. + *) + +-PROCEDURE DeclareFieldEnumeration (sym: WORD) : Tree ; ++PROCEDURE DeclareFieldEnumeration (sym: WORD) : tree ; + VAR + type : CARDINAL ; + field, +- enumlist: Tree ; ++ enumlist: tree ; + BEGIN + (* add relationship between gccSym and sym *) + type := GetSType (sym) ; +@@ -3761,10 +3691,10 @@ END DeclareFieldEnumeration ; + DeclareEnumeration - declare an enumerated type. + *) + +-PROCEDURE DeclareEnumeration (sym: WORD) : Tree ; ++PROCEDURE DeclareEnumeration (sym: WORD) : tree ; + VAR + enumlist, +- gccenum : Tree ; ++ gccenum : tree ; + location: location_t ; + BEGIN + location := TokenToLocation (GetDeclaredMod (sym)) ; +@@ -3780,11 +3710,11 @@ END DeclareEnumeration ; + *) + + PROCEDURE DeclareSubrangeNarrow (location: location_t; +- high, low: CARDINAL; type: Tree) : Tree ; ++ high, low: CARDINAL; type: tree) : tree ; + VAR + m2low, m2high, + lowtree, +- hightree : Tree ; ++ hightree : tree ; + BEGIN + (* No zero alignment, therefore the front end will prioritize subranges to match + unsigned int, int, or ZTYPE assuming the low..high range fits. *) +@@ -3816,10 +3746,10 @@ END DeclareSubrangeNarrow ; + DeclareSubrange - declare a subrange type. + *) + +-PROCEDURE DeclareSubrange (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareSubrange (sym: CARDINAL) : tree ; + VAR + type, +- gccsym : Tree ; ++ gccsym : tree ; + align, + high, low: CARDINAL ; + location: location_t ; +@@ -3857,7 +3787,7 @@ PROCEDURE IncludeGetNth (l: List; sym: CARDINAL) ; + VAR + i: CARDINAL ; + BEGIN +- fprintf0 (GetDumpFile (), ' ListOfSons [') ; ++ fprintf0 (GetDumpFile (), ' ListOfFields [') ; + i := 1 ; + WHILE GetNth (sym, i) # NulSym DO + IF i>1 +@@ -4068,13 +3998,84 @@ BEGIN + END PrintScope ; + + ++(* ++ PrintKind - ++*) ++ ++PROCEDURE PrintKind (kind: ProcedureKind) ; ++VAR ++ s: String ; ++BEGIN ++ s := GetProcedureKindDesc (kind) ; ++ fprintf1 (GetDumpFile (), "%s", s) ; ++ s := KillString (s) ++END PrintKind ; ++ ++ ++(* ++ PrintProcedureParameters - ++*) ++ ++PROCEDURE PrintProcedureParameters (sym: CARDINAL; kind: ProcedureKind) ; ++VAR ++ typeName, ++ paramName: Name ; ++ p, i, n, ++ type : CARDINAL ; ++BEGIN ++ fprintf0 (GetDumpFile (), ' (') ; ++ n := NoOfParam (sym, kind) ; ++ i := 1 ; ++ WHILE i <= n DO ++ IF i > 1 ++ THEN ++ fprintf0 (GetDumpFile (), '; ') ++ END ; ++ IF IsVarParam (sym, kind, i) ++ THEN ++ fprintf0 (GetDumpFile (), 'VAR ') ++ END ; ++ p := GetNthParam (sym, kind, i) ; ++ paramName := GetSymName (p) ; ++ type := GetType (p) ; ++ typeName := GetSymName (type) ; ++ IF IsUnboundedParam (sym, kind, i) ++ THEN ++ fprintf2 (GetDumpFile (), '%a: ARRAY OF %a', paramName, typeName) ++ ELSE ++ fprintf2 (GetDumpFile (), '%a: %a', paramName, typeName) ++ END ; ++ INC (i) ++ END ; ++ fprintf0 (GetDumpFile (), ')') ++END PrintProcedureParameters ; ++ ++ ++(* ++ PrintProcedureReturnType - ++*) ++ ++PROCEDURE PrintProcedureReturnType (sym: CARDINAL) ; ++VAR ++ typeName: Name ; ++BEGIN ++ IF GetType (sym) # NulSym ++ THEN ++ typeName := GetSymName (GetType (sym)) ; ++ fprintf1 (GetDumpFile (), ' : %a', typeName) ++ END ; ++ fprintf0 (GetDumpFile (), ' ;') ++END PrintProcedureReturnType ; ++ ++ + (* + PrintProcedure - + *) + + PROCEDURE PrintProcedure (sym: CARDINAL) ; + VAR +- n: Name ; ++ n : Name ; ++ kind: ProcedureKind ; + BEGIN + n := GetSymName (sym) ; + fprintf2 (GetDumpFile (), 'sym %d IsProcedure (%a)', sym, n); +@@ -4095,10 +4096,83 @@ BEGIN + THEN + fprintf0 (GetDumpFile (), ' ctor') + END ; +- PrintDeclared(sym) ++ PrintDeclared (sym) ; ++ fprintf0 (GetDumpFile (), '\n') ; ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ fprintf0 (GetDumpFile (), 'parameters ') ; ++ PrintKind (kind) ; ++ IF GetProcedureParametersDefined (sym, kind) ++ THEN ++ fprintf0 (GetDumpFile (), ' defined') ; ++ PrintProcedureParameters (sym, kind) ; ++ PrintProcedureReturnType (sym) ++ ELSE ++ fprintf0 (GetDumpFile (), ' undefined') ++ END ; ++ fprintf0 (GetDumpFile (), '\n') ++ END ; ++ fprintf0 (GetDumpFile (), ' Associated proctype: ') ; ++ PrintProcType (GetProcedureProcType (sym)) + END PrintProcedure ; + + ++(* ++ PrintProcTypeParameters - ++*) ++ ++PROCEDURE PrintProcTypeParameters (sym: CARDINAL) ; ++VAR ++ typeName : Name ; ++ p, i, n, ++ type : CARDINAL ; ++BEGIN ++ fprintf0 (GetDumpFile (), ' (') ; ++ n := NoOfParam (sym, ProperProcedure) ; ++ i := 1 ; ++ WHILE i <= n DO ++ IF i > 1 ++ THEN ++ fprintf0 (GetDumpFile (), '; ') ++ END ; ++ IF IsVarParam (sym, ProperProcedure, i) ++ THEN ++ fprintf0 (GetDumpFile (), 'VAR ') ++ END ; ++ p := GetNthParam (sym, ProperProcedure, i) ; ++ type := GetType (p) ; ++ typeName := GetSymName (type) ; ++ IF IsUnboundedParam (sym, ProperProcedure, i) ++ THEN ++ fprintf1 (GetDumpFile (), 'ARRAY OF %a', typeName) ++ ELSE ++ fprintf1 (GetDumpFile (), '%a', typeName) ++ END ; ++ INC (i) ++ END ; ++ fprintf0 (GetDumpFile (), ')') ++END PrintProcTypeParameters ; ++ ++ ++(* ++ PrintProcType - ++*) ++ ++PROCEDURE PrintProcType (sym: CARDINAL) ; ++VAR ++ n: Name ; ++BEGIN ++ n := GetSymName (sym) ; ++ fprintf2 (GetDumpFile (), 'sym %d IsProcType (%a)', sym, n); ++ PrintScope (sym) ; ++ PrintDeclared (sym) ; ++ fprintf0 (GetDumpFile (), '\n') ; ++ fprintf0 (GetDumpFile (), 'parameters ') ; ++ PrintProcTypeParameters (sym) ; ++ PrintProcedureReturnType (sym) ; ++ fprintf0 (GetDumpFile (), '\n') ++END PrintProcType ; ++ ++ + (* + PrintString - + *) +@@ -4258,7 +4332,7 @@ BEGIN + PrintDecl(sym) + ELSIF IsProcType(sym) + THEN +- fprintf2 (GetDumpFile (), 'sym %d IsProcType (%a)', sym, n) ++ PrintProcType (sym) + ELSIF IsVar(sym) + THEN + fprintf2 (GetDumpFile (), 'sym %d IsVar (%a) declared in ', sym, n) ; +@@ -4576,7 +4650,7 @@ END PrintTerse ; + CheckAlignment - + *) + +-PROCEDURE CheckAlignment (type: Tree; sym: CARDINAL) : Tree ; ++PROCEDURE CheckAlignment (type: tree; sym: CARDINAL) : tree ; + VAR + align: CARDINAL ; + BEGIN +@@ -4598,7 +4672,7 @@ END CheckAlignment ; + CheckPragma - + *) + +-PROCEDURE CheckPragma (type: Tree; sym: CARDINAL) : Tree ; ++PROCEDURE CheckPragma (type: tree; sym: CARDINAL) : tree ; + BEGIN + IF IsDeclaredPacked (sym) + THEN +@@ -4703,7 +4777,7 @@ END DetermineIfRecordPacked ; + PROCEDURE DeclarePackedSubrange (equiv, sym: CARDINAL) ; + VAR + type, +- gccsym : Tree ; ++ gccsym : tree ; + high, low: CARDINAL ; + location : location_t ; + BEGIN +@@ -4724,7 +4798,7 @@ PROCEDURE DeclarePackedSet (equiv, sym: CARDINAL) ; + VAR + highLimit, + range, +- gccsym : Tree ; ++ gccsym : tree ; + type, + high, low: CARDINAL ; + location: location_t ; +@@ -4753,7 +4827,7 @@ VAR + equiv, + type : CARDINAL ; + field, +- enumlist: Tree ; ++ enumlist: tree ; + BEGIN + (* add relationship between gccSym and sym *) + type := GetSType (sym) ; +@@ -4773,7 +4847,7 @@ END DeclarePackedFieldEnumeration ; + PROCEDURE DeclarePackedEnumeration (equiv, sym: CARDINAL) ; + VAR + enumlist, +- gccenum : Tree ; ++ gccenum : tree ; + location: location_t ; + BEGIN + location := TokenToLocation(GetDeclaredMod(sym)) ; +@@ -4813,7 +4887,7 @@ END DeclarePackedType ; + doDeclareEquivalent - + *) + +-PROCEDURE doDeclareEquivalent (sym: CARDINAL; p: doDeclareProcedure) : Tree ; ++PROCEDURE doDeclareEquivalent (sym: CARDINAL; p: doDeclareProcedure) : tree ; + VAR + equiv: CARDINAL ; + BEGIN +@@ -4831,7 +4905,7 @@ END doDeclareEquivalent ; + PossiblyPacked - + *) + +-PROCEDURE PossiblyPacked (sym: CARDINAL; isPacked: BOOLEAN) : Tree ; ++PROCEDURE PossiblyPacked (sym: CARDINAL; isPacked: BOOLEAN) : tree ; + BEGIN + IF isPacked + THEN +@@ -4857,7 +4931,7 @@ END PossiblyPacked ; + GetPackedType - returns a possibly packed type for field. + *) + +-PROCEDURE GetPackedType (sym: CARDINAL) : Tree ; ++PROCEDURE GetPackedType (sym: CARDINAL) : tree ; + BEGIN + IF IsSubrange(sym) + THEN +@@ -4878,10 +4952,10 @@ END GetPackedType ; + the offsets if appropriate. + *) + +-PROCEDURE MaybeAlignField (field: CARDINAL; VAR byteOffset, bitOffset: Tree) : Tree ; ++PROCEDURE MaybeAlignField (field: CARDINAL; VAR byteOffset, bitOffset: tree) : tree ; + VAR + f, ftype, +- nbits : Tree ; ++ nbits : tree ; + location: location_t ; + BEGIN + f := Mod2Gcc(field) ; +@@ -4905,7 +4979,7 @@ END MaybeAlignField ; + The final gcc record type is returned. + *) + +-PROCEDURE DeclareRecord (Sym: CARDINAL) : Tree ; ++PROCEDURE DeclareRecord (Sym: CARDINAL) : tree ; + VAR + Field : CARDINAL ; + i : CARDINAL ; +@@ -4915,11 +4989,11 @@ VAR + byteOffset, + bitOffset, + FieldList, +- RecordType: Tree ; ++ RecordType: tree ; + location : location_t ; + BEGIN + i := 1 ; +- FieldList := Tree(NIL) ; ++ FieldList := tree(NIL) ; + RecordType := DoStartDeclaration(Sym, BuildStartRecord) ; + location := TokenToLocation(GetDeclaredMod(Sym)) ; + byteOffset := GetIntegerZero(location) ; +@@ -4971,10 +5045,10 @@ END DeclareRecord ; + DeclareRecordField - + *) + +-PROCEDURE DeclareRecordField (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareRecordField (sym: CARDINAL) : tree ; + VAR + field, +- GccFieldType: Tree ; ++ GccFieldType: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(GetDeclaredMod(sym)) ; +@@ -4989,18 +5063,18 @@ END DeclareRecordField ; + The final gcc record type is returned. + *) + +-PROCEDURE DeclareVarient (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareVarient (sym: CARDINAL) : tree ; + VAR + Field : CARDINAL ; + i : CARDINAL ; + byteOffset, + bitOffset, + FieldList, +- VarientType : Tree ; ++ VarientType : tree ; + location : location_t ; + BEGIN + i := 1 ; +- FieldList := Tree(NIL) ; ++ FieldList := tree(NIL) ; + VarientType := DoStartDeclaration(sym, BuildStartVarient) ; + location := TokenToLocation(GetDeclaredMod(sym)) ; + byteOffset := GetIntegerZero(location) ; +@@ -5031,19 +5105,19 @@ END DeclareVarient ; + DeclareFieldVarient - + *) + +-PROCEDURE DeclareFieldVarient (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareFieldVarient (sym: CARDINAL) : tree ; + VAR + i, f : CARDINAL ; + VarientList, + VarientType, + byteOffset, + bitOffset, +- GccFieldType: Tree ; ++ GccFieldType: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(GetDeclaredMod(sym)) ; + i := 1 ; +- VarientList := Tree(NIL) ; ++ VarientList := tree(NIL) ; + VarientType := DoStartDeclaration(sym, BuildStartFieldVarient) ; + (* no need to store the [sym, RecordType] tuple as it is stored by DeclareRecord which calls us *) + byteOffset := GetIntegerZero(location) ; +@@ -5072,7 +5146,7 @@ END DeclareFieldVarient ; + DeclarePointer - declares a pointer type to gcc and returns the Tree. + *) + +-PROCEDURE DeclarePointer (sym: CARDINAL) : Tree ; ++PROCEDURE DeclarePointer (sym: CARDINAL) : tree ; + BEGIN + RETURN( BuildPointerType(Mod2Gcc(GetSType(sym))) ) + END DeclarePointer ; +@@ -5082,7 +5156,7 @@ END DeclarePointer ; + DeclareUnbounded - builds an unbounded type and returns the gcc tree. + *) + +-PROCEDURE DeclareUnbounded (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareUnbounded (sym: CARDINAL) : tree ; + VAR + record: CARDINAL ; + BEGIN +@@ -5108,13 +5182,13 @@ END DeclareUnbounded ; + BuildIndex - + *) + +-PROCEDURE BuildIndex (tokenno: CARDINAL; array: CARDINAL) : Tree ; ++PROCEDURE BuildIndex (tokenno: CARDINAL; array: CARDINAL) : tree ; + VAR + Subscript: CARDINAL ; + Type, + High, Low: CARDINAL ; + n, +- low, high: Tree ; ++ low, high: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -5152,12 +5226,12 @@ END BuildIndex ; + DeclareArray - declares an array to gcc and returns the gcc tree. + *) + +-PROCEDURE DeclareArray (Sym: CARDINAL) : Tree ; ++PROCEDURE DeclareArray (Sym: CARDINAL) : tree ; + VAR + typeOfArray: CARDINAL ; + ArrayType, + GccArray, +- GccIndex : Tree ; ++ GccIndex : tree ; + Subscript : CARDINAL ; + tokenno : CARDINAL ; + location : location_t ; +@@ -5195,31 +5269,32 @@ END DeclareArray ; + DeclareProcType - declares a procedure type to gcc and returns the gcc type tree. + *) + +-PROCEDURE DeclareProcType (Sym: CARDINAL) : Tree ; ++PROCEDURE DeclareProcType (Sym: CARDINAL) : tree ; + VAR +- i, p, Son, ++ i, p, ++ Parameter, + ReturnType: CARDINAL ; + func, +- GccParam : Tree ; ++ GccParam : tree ; + location : location_t ; + BEGIN + ReturnType := GetSType(Sym) ; + func := DoStartDeclaration(Sym, BuildStartFunctionType) ; + InitFunctionTypeParameters ; +- p := NoOfParam(Sym) ; ++ p := NoOfParamAny (Sym) ; + i := p ; +- WHILE i>0 DO +- Son := GetNthParam(Sym, i) ; +- location := TokenToLocation(GetDeclaredMod(Son)) ; +- GccParam := BuildProcTypeParameterDeclaration(location, Mod2Gcc(GetSType(Son)), IsVarParam(Sym, i)) ; +- PreAddModGcc(Son, GccParam) ; ++ WHILE i > 0 DO ++ Parameter := GetNthParamAny (Sym, i) ; ++ location := TokenToLocation (GetDeclaredMod (Parameter)) ; ++ GccParam := BuildProcTypeParameterDeclaration (location, Mod2Gcc (GetSType (Parameter)), IsVarParamAny (Sym, i)) ; ++ PreAddModGcc(Parameter, GccParam) ; + DEC(i) + END ; +- IF ReturnType=NulSym ++ IF ReturnType = NulSym + THEN +- RETURN( BuildEndFunctionType(func, NIL, UsesVarArgs(Sym)) ) ++ RETURN( BuildEndFunctionType (func, NIL, UsesVarArgs(Sym)) ) + ELSE +- RETURN( BuildEndFunctionType(func, Mod2Gcc(ReturnType), UsesVarArgs(Sym)) ) ++ RETURN( BuildEndFunctionType (func, Mod2Gcc(ReturnType), UsesVarArgs(Sym)) ) + END + END DeclareProcType ; + +@@ -5360,14 +5435,14 @@ END PushNoOfBits ; + low and high are the limits of the subrange. + *) + +-PROCEDURE DeclareLargeSet (n: Name; type: CARDINAL; low, high: CARDINAL) : Tree ; ++PROCEDURE DeclareLargeSet (n: Name; type: CARDINAL; low, high: CARDINAL) : tree ; + VAR + lowtree, + hightree, + BitsInSet, + RecordType, + GccField, +- FieldList : Tree ; ++ FieldList : tree ; + bpw : CARDINAL ; + location : location_t ; + BEGIN +@@ -5377,7 +5452,7 @@ BEGIN + lowtree := PopIntegerTree() ; + PushValue(high) ; + hightree := PopIntegerTree() ; +- FieldList := Tree(NIL) ; ++ FieldList := tree(NIL) ; + RecordType := BuildStartRecord(location, KeyToCharStar(n)) ; (* no problem with recursive types here *) + PushNoOfBits(type, low, high) ; + PushCard(1) ; +@@ -5430,7 +5505,7 @@ END DeclareLargeSet ; + *) + + PROCEDURE DeclareLargeOrSmallSet (sym: CARDINAL; +- n: Name; type: CARDINAL; low, high: CARDINAL) : Tree ; ++ n: Name; type: CARDINAL; low, high: CARDINAL) : tree ; + VAR + location: location_t ; + packed : BOOLEAN ; +@@ -5456,9 +5531,9 @@ END DeclareLargeOrSmallSet ; + DeclareSet - declares a set type to gcc and returns a Tree. + *) + +-PROCEDURE DeclareSet (sym: CARDINAL) : Tree ; ++PROCEDURE DeclareSet (sym: CARDINAL) : tree ; + VAR +- gccsym : Tree ; ++ gccsym : tree ; + type, + high, low: CARDINAL ; + BEGIN +@@ -5495,7 +5570,7 @@ BEGIN + IF IsConstString (low) AND IsConstStringKnown (low) + THEN + size := GetStringLength (tokenno, low) ; +- IF size=1 ++ IF size <= 1 + THEN + PutSubrange(sym, low, high, Char) + ELSE +@@ -5529,9 +5604,9 @@ END CheckResolveSubrange ; + return the GCC Tree equivalent. + *) + +-PROCEDURE TypeConstFullyDeclared (sym: CARDINAL) : Tree ; ++PROCEDURE TypeConstFullyDeclared (sym: CARDINAL) : tree ; + VAR +- t: Tree ; ++ t: tree ; + BEGIN + IF IsEnumeration(sym) + THEN +@@ -5990,33 +6065,6 @@ BEGIN + END WalkRecordFieldDependants ; + + +-(* +- WalkVarient - +-*) +- +-(* +-PROCEDURE WalkVarient (sym: CARDINAL; p: WalkAction) ; +-VAR +- v : CARDINAL ; +- var, +- align: CARDINAL ; +-BEGIN +- p(sym) ; +- v := GetVarient(sym) ; +- IF v#NulSym +- THEN +- p(v) +- END ; +- var := GetRecordOfVarient(sym) ; +- align := GetDefaultRecordFieldAlignment(var) ; +- IF align#NulSym +- THEN +- p(align) +- END +-END WalkVarient ; +-*) +- +- + (* + WalkRecordDependants2 - walks the fields of record, sym, calling + p on every dependant. +@@ -6353,9 +6401,9 @@ BEGIN + Assert(IsProcType(sym)) ; + i := 1 ; + ReturnType := GetSType(sym) ; +- p := NoOfParam(sym) ; ++ p := NoOfParamAny (sym) ; + WHILE i<=p DO +- son := GetNthParam(sym, i) ; ++ son := GetNthParamAny (sym, i) ; + ParamType := GetSType(son) ; + IF NOT q(ParamType) + THEN +@@ -6385,9 +6433,9 @@ BEGIN + Assert(IsProcType(sym)) ; + i := 1 ; + ReturnType := GetSType(sym) ; +- n := NoOfParam(sym) ; ++ n := NoOfParamAny (sym) ; + WHILE i<=n DO +- son := GetNthParam(sym, i) ; ++ son := GetNthParamAny (sym, i) ; + ParamType := GetSType(son) ; + p(ParamType) ; + INC(i) +@@ -6562,7 +6610,7 @@ END PoisonSymbols ; + ConstantKnownAndUsed - + *) + +-PROCEDURE ConstantKnownAndUsed (sym: CARDINAL; t: Tree) ; ++PROCEDURE ConstantKnownAndUsed (sym: CARDINAL; t: tree) ; + BEGIN + DeclareConstantFromTree(sym, RememberConstant(t)) + END ConstantKnownAndUsed ; +--- a/src/gcc/m2/gm2-compiler/M2GenGCC.def ++++ b/src/gcc/m2/gm2-compiler/M2GenGCC.def +@@ -32,12 +32,8 @@ DEFINITION MODULE M2GenGCC ; + *) + + FROM M2GCCDeclare IMPORT WalkAction ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; +-EXPORT QUALIFIED ConvertQuadsToTree, ResolveConstantExpressions, +- GetHighFromUnbounded, StringToChar, +- LValueToGenericPtr, ZConstToTypedConst, +- PrepareCopyString ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM M2BasicBlock IMPORT BasicBlock ; + + + (* +@@ -55,7 +51,7 @@ PROCEDURE ConvertQuadsToTree (Start, End: CARDINAL) ; + p(sym) is invoked. + *) + +-PROCEDURE ResolveConstantExpressions (p: WalkAction; start, end: CARDINAL) : BOOLEAN ; ++PROCEDURE ResolveConstantExpressions (p: WalkAction; bb: BasicBlock) : BOOLEAN ; + + + (* +@@ -63,7 +59,7 @@ PROCEDURE ResolveConstantExpressions (p: WalkAction; start, end: CARDINAL) : BOO + param.HIGH. + *) + +-PROCEDURE GetHighFromUnbounded (location: location_t; dim, param: CARDINAL) : Tree ; ++PROCEDURE GetHighFromUnbounded (location: location_t; dim, param: CARDINAL) : tree ; + + + (* +@@ -71,7 +67,7 @@ PROCEDURE GetHighFromUnbounded (location: location_t; dim, param: CARDINAL) : Tr + then convert the string into a character constant. + *) + +-PROCEDURE StringToChar (t: Tree; type, str: CARDINAL) : Tree ; ++PROCEDURE StringToChar (t: tree; type, str: CARDINAL) : tree ; + + + (* +@@ -79,7 +75,7 @@ PROCEDURE StringToChar (t: Tree; type, str: CARDINAL) : Tree ; + It coerces a lvalue into an internal pointer type + *) + +-PROCEDURE LValueToGenericPtr (location: location_t; sym: CARDINAL) : Tree ; ++PROCEDURE LValueToGenericPtr (location: location_t; sym: CARDINAL) : tree ; + + + (* +@@ -87,7 +83,7 @@ PROCEDURE LValueToGenericPtr (location: location_t; sym: CARDINAL) : Tree ; + coerces, t, appropriately. + *) + +-PROCEDURE ZConstToTypedConst (t: Tree; op1, op2: CARDINAL) : Tree ; ++PROCEDURE ZConstToTypedConst (t: tree; op1, op2: CARDINAL) : tree ; + + + (* +@@ -105,7 +101,7 @@ PROCEDURE ZConstToTypedConst (t: Tree; op1, op2: CARDINAL) : Tree ; + which fits in dest. + *) + +-PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: Tree; ++PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: tree; + src, destStrType: CARDINAL) : BOOLEAN ; + + +--- a/src/gcc/m2/gm2-compiler/M2GenGCC.mod ++++ b/src/gcc/m2/gm2-compiler/M2GenGCC.mod +@@ -25,8 +25,6 @@ FROM SYSTEM IMPORT ADDRESS, WORD ; + + FROM SymbolTable IMPORT PushSize, PopSize, PushValue, PopValue, + PushVarSize, +- PushSumOfLocalVarSize, +- PushSumOfParamSize, + MakeConstLit, + RequestSym, FromModuleGetSym, + StartScope, EndScope, GetScope, +@@ -38,16 +36,16 @@ FROM SymbolTable IMPORT PushSize, PopSize, PushValue, PopValue, + GetLocalSym, GetVarWritten, + GetVarient, GetVarBackEndType, GetModuleCtors, + NoOfVariables, +- NoOfParam, GetParent, GetDimension, IsAModula2Type, ++ NoOfParamAny, GetParent, GetDimension, IsAModula2Type, + IsModule, IsDefImp, IsType, IsModuleWithinProcedure, + IsConstString, GetString, GetStringLength, + IsConstStringCnul, IsConstStringM2nul, + IsConst, IsConstSet, IsProcedure, IsProcType, +- IsVar, IsVarParam, IsTemporary, ++ IsVar, IsVarParamAny, IsTemporary, IsTuple, + IsEnumeration, + IsUnbounded, IsArray, IsSet, IsConstructor, + IsProcedureVariable, +- IsUnboundedParam, ++ IsUnboundedParamAny, + IsRecordField, IsFieldVarient, IsVarient, IsRecord, + IsExportQualified, + IsExported, +@@ -64,7 +62,7 @@ FROM SymbolTable IMPORT PushSize, PopSize, PushValue, PopValue, + ForeachInnerModuleDo, + ForeachLocalSymDo, + GetLType, +- GetType, GetNth, GetNthParam, ++ GetType, GetNth, GetNthParamAny, + SkipType, SkipTypeAndSubrange, + GetUnboundedHighOffset, + GetUnboundedAddressOffset, +@@ -79,6 +77,7 @@ FROM SymbolTable IMPORT PushSize, PopSize, PushValue, PopValue, + PutConst, PutConstSet, PutConstructor, + GetSType, GetTypeMode, + HasVarParameters, CopyConstString, ++ GetVarDeclFullTok, + NulSym ; + + FROM M2Batch IMPORT MakeDefinitionSource ; +@@ -91,7 +90,8 @@ FROM M2Debug IMPORT Assert ; + FROM M2Error IMPORT InternalError, WriteFormat0, WriteFormat1, WriteFormat2, WarnStringAt ; + + FROM M2MetaError IMPORT MetaErrorT0, MetaErrorT1, MetaErrorT2, MetaErrorT3, +- MetaError1, MetaError2, MetaErrorStringT1 ; ++ MetaError1, MetaError2, MetaErrorStringT1, ++ MetaErrorDecl ; + + FROM M2Options IMPORT UnboundedByReference, PedanticCast, + VerboseUnbounded, Iso, Pim, DebugBuiltins, WholeProgram, +@@ -101,7 +101,7 @@ FROM M2Options IMPORT UnboundedByReference, PedanticCast, + FROM M2Printf IMPORT printf0, printf1, printf2, printf4 ; + FROM M2Quiet IMPORT qprintf0 ; + +-FROM M2Base IMPORT MixTypes, NegateType, ActivationPointer, IsMathType, ++FROM M2Base IMPORT MixTypes, MixTypesDecl, NegateType, ActivationPointer, IsMathType, + IsRealType, IsComplexType, IsBaseType, + IsOrdinalType, + Cardinal, Char, Integer, IsTrunc, +@@ -169,6 +169,7 @@ FROM m2expr IMPORT GetIntegerZero, GetIntegerOne, + GetPointerZero, + GetCardinalZero, + GetSizeOfInBits, ++ TreeOverflow, + FoldAndStrip, + CompareTrees, + StringLength, +@@ -210,8 +211,8 @@ FROM m2expr IMPORT GetIntegerZero, GetIntegerOne, + BuildAddAddress, + BuildIfInRangeGoto, BuildIfNotInRangeGoto ; + +-FROM m2tree IMPORT Tree, debug_tree, skip_const_decl ; +-FROM m2linemap IMPORT location_t ; ++FROM m2tree IMPORT debug_tree, skip_const_decl ; ++FROM gcctypes IMPORT location_t, tree ; + + FROM m2decl IMPORT BuildStringConstant, BuildCStringConstant, + DeclareKnownConstant, GetBitsPerBitset, +@@ -239,7 +240,7 @@ FROM m2statement IMPORT BuildAsm, BuildProcedureCallTree, BuildParam, BuildFunct + FROM m2type IMPORT ChainOnParamValue, GetPointerType, GetIntegerType, AddStatement, + GetCardinalType, GetWordType, GetM2ZType, GetM2RType, GetM2CType, + BuildCharConstant, AddStringToTreeList, BuildArrayStringConstructor, +- GetArrayNoOfElements ; ++ GetArrayNoOfElements, GetTreeType ; + + FROM m2block IMPORT RememberConstant, pushGlobalScope, popGlobalScope, finishFunctionDecl, + pushFunctionScope, popFunctionScope, +@@ -259,13 +260,16 @@ FROM M2Quads IMPORT QuadOperator, GetQuad, IsReferenced, GetNextQuad, + QuadToTokenNo, DisplayQuad, GetQuadtok, + GetM2OperatorDesc, GetQuadOp, + IsQuadConstExpr, IsBecomes, IsGoto, IsConditional, +- IsDummy, ++ IsDummy, IsConditionalBooleanQuad, + GetQuadOp1, GetQuadOp3, GetQuadDest, SetQuadConstExpr ; + + FROM M2Check IMPORT ParameterTypeCompatible, AssignmentTypeCompatible, ExpressionTypeCompatible ; + FROM M2SSA IMPORT EnableSSA ; + FROM M2Optimize IMPORT FoldBranches ; + ++FROM M2BasicBlock IMPORT BasicBlock, IsBasicBlockFirst, ++ GetBasicBlockStart, GetBasicBlockEnd ; ++ + + CONST + Debugging = FALSE ; +@@ -378,6 +382,20 @@ VAR + *) + + ++(* ++ ErrorMessageDecl - emit an error message together with declaration fragments of left ++ and right if they are parameters or variables. ++*) ++ ++PROCEDURE ErrorMessageDecl (tok: CARDINAL; message: ARRAY OF CHAR; ++ left, right: CARDINAL; iserror: BOOLEAN) ; ++BEGIN ++ MetaErrorT2 (tok, message, left, right) ; ++ MetaErrorDecl (left, iserror) ; ++ MetaErrorDecl (right, iserror) ++END ErrorMessageDecl ; ++ ++ + (* + IsExportedGcc - returns TRUE if this symbol should be (as far as the middle/backend of GCC) + is concerned, exported. +@@ -441,6 +459,146 @@ BEGIN + END IsCompilingMainModule ; + + ++(* ++ CodeLastForIterator - call PerformLastForIterator allowing for ++ a non constant last iterator value. ++*) ++ ++PROCEDURE CodeLastForIterator (quad: CARDINAL) ; ++BEGIN ++ PerformLastForIterator (quad, NoWalkProcedure, FALSE) ++END CodeLastForIterator ; ++ ++ ++(* ++ FoldLastForIterator - call PerformLastForIterator providing ++ all operands are constant and are known by GCC. ++*) ++ ++PROCEDURE FoldLastForIterator (quad: CARDINAL; p: WalkAction) ; ++VAR ++ op : QuadOperator ; ++ e1, e2, ++ op1, tuple, incr: CARDINAL ; ++BEGIN ++ GetQuad (quad, op, op1, tuple, incr) ; ++ Assert (IsTuple (tuple)) ; ++ e1 := GetNth (tuple, 1) ; ++ e2 := GetNth (tuple, 2) ; ++ IF IsConst (op1) AND IsConst (e1) AND IsConst (e2) AND IsConst (incr) AND ++ GccKnowsAbout (e1) AND GccKnowsAbout (e2) AND GccKnowsAbout (incr) ++ THEN ++ PerformLastForIterator (quad, p, TRUE) ++ END ++END FoldLastForIterator ; ++ ++ ++(* ++ FoldLastForIterator - generates code to calculate the last iterator value ++ in a for loop. It examines the increment constant ++ and generates different code depending whether it is ++ negative or positive. ++*) ++ ++PROCEDURE PerformLastForIterator (quad: CARDINAL; p: WalkAction; constant: BOOLEAN) ; ++VAR ++ success, ++ constExpr, ++ overflowChecking : BOOLEAN ; ++ op : QuadOperator ; ++ lastpos, op1pos, ++ op2pos, incrpos, ++ last, tuple, incr: CARDINAL ; ++ e1, e2 : CARDINAL ; ++ lasttree, ++ e1tree, e2tree, ++ expr, incrtree : tree ; ++ location : location_t ; ++BEGIN ++ GetQuadOtok (quad, lastpos, op, last, tuple, incr, ++ overflowChecking, constExpr, ++ op1pos, op2pos, incrpos) ; ++ DeclareConstant (incrpos, incr) ; ++ lasttree := Mod2Gcc (last) ; ++ success := TRUE ; ++ IF IsConst (incr) ++ THEN ++ incrtree := Mod2Gcc (incr) ; ++ location := TokenToLocation (lastpos) ; ++ e1 := GetNth (tuple, 1) ; ++ e2 := GetNth (tuple, 2) ; ++ e1tree := Mod2Gcc (e1) ; ++ e2tree := Mod2Gcc (e2) ; ++ IF CompareTrees (incrtree, GetIntegerZero (location)) = 0 ++ THEN ++ MetaErrorT0 (lastpos, ++ 'the {%kFOR} loop step value must not be zero') ; ++ MetaErrorDecl (incr, TRUE) ; ++ NoChange := FALSE ; ++ SubQuad (quad) ; ++ success := FALSE ++ ELSIF CompareTrees (incrtree, GetIntegerZero (location)) > 0 ++ THEN ++ (* If incr > 0 then LastIterator := ((e2-e1) DIV incr) * incr + e1. *) ++ expr := BuildSub (location, e2tree, e1tree, FALSE) ; ++ incrtree := BuildConvert (location, GetTreeType (expr), incrtree, FALSE) ; ++ IF TreeOverflow (incrtree) ++ THEN ++ MetaErrorT0 (lastpos, ++ 'the intemediate calculation for the last iterator value in the {%kFOR} loop has caused an overflow') ; ++ NoChange := FALSE ; ++ SubQuad (quad) ; ++ success := FALSE ++ ELSE ++ expr := BuildDivFloor (location, expr, incrtree, FALSE) ; ++ expr := BuildMult (location, expr, incrtree, FALSE) ; ++ expr := BuildAdd (location, expr, e1tree, FALSE) ++ END ++ ELSE ++ (* Else use LastIterator := e1 - ((e1-e2) DIV PositiveBy) * PositiveBy ++ to avoid unsigned div signed arithmetic. *) ++ expr := BuildSub (location, e1tree, e2tree, FALSE) ; ++ incrtree := BuildConvert (location, GetM2ZType (), incrtree, FALSE) ; ++ incrtree := BuildNegate (location, incrtree, FALSE) ; ++ incrtree := BuildConvert (location, GetTreeType (expr), incrtree, FALSE) ; ++ IF TreeOverflow (incrtree) ++ THEN ++ MetaErrorT0 (lastpos, ++ 'the intemediate calculation for the last iterator value in the {%kFOR} loop has caused an overflow') ; ++ NoChange := FALSE ; ++ SubQuad (quad) ; ++ success := FALSE ++ ELSE ++ expr := BuildSub (location, e1tree, e2tree, FALSE) ; ++ expr := BuildDivFloor (location, expr, incrtree, FALSE) ; ++ expr := BuildMult (location, expr, incrtree, FALSE) ; ++ expr := BuildSub (location, e1tree, expr, FALSE) ++ END ++ END ; ++ IF success ++ THEN ++ IF IsConst (last) ++ THEN ++ AddModGcc (last, expr) ; ++ p (last) ; ++ NoChange := FALSE ; ++ SubQuad (quad) ++ ELSE ++ Assert (NOT constant) ; ++ BuildAssignmentStatement (location, lasttree, expr) ++ END ++ END ++ ELSE ++ MetaErrorT1 (lastpos, ++ 'the value {%1Ead} in the {%kBY} clause of the {%kFOR} loop must be constant', ++ incr) ; ++ MetaErrorDecl (incr, TRUE) ; ++ NoChange := FALSE ; ++ SubQuad (quad) ++ END ++END PerformLastForIterator ; ++ ++ + (* + CodeStatement - A multi-way decision call depending on the current + quadruple. +@@ -507,6 +665,7 @@ BEGIN + InclOp : CodeIncl (op1, op3) | + ExclOp : CodeExcl (op1, op3) | + NegateOp : CodeNegateChecked (q, op1, op3) | ++ LastForIteratorOp : CodeLastForIterator (q) | + LogicalShiftOp : CodeSetShift (q, op1, op2, op3) | + LogicalRotateOp : CodeSetRotate (q, op1, op2, op3) | + LogicalOrOp : CodeSetOr (q) | +@@ -568,7 +727,7 @@ END CodeStatement ; + p(sym) is invoked. + *) + +-PROCEDURE ResolveConstantExpressions (p: WalkAction; start, end: CARDINAL) : BOOLEAN ; ++PROCEDURE ResolveConstantExpressions (p: WalkAction; bb: BasicBlock) : BOOLEAN ; + VAR + tokenno: CARDINAL ; + quad : CARDINAL ; +@@ -580,8 +739,12 @@ VAR + op2pos, + op3pos : CARDINAL ; + Changed: BOOLEAN ; ++ start, ++ end : CARDINAL ; + BEGIN + InitBuiltinSyms (BuiltinTokenNo) ; ++ start := GetBasicBlockStart (bb) ; ++ end := GetBasicBlockEnd (bb) ; + Changed := FALSE ; + REPEAT + NoChange := TRUE ; +@@ -607,7 +770,7 @@ BEGIN + LogicalOrOp : FoldSetOr (tokenno, p, quad, op1, op2, op3) | + LogicalAndOp : FoldSetAnd (tokenno, p, quad, op1, op2, op3) | + LogicalXorOp : FoldSymmetricDifference (tokenno, p, quad, op1, op2, op3) | +- BecomesOp : FoldBecomes (p, quad) | ++ BecomesOp : FoldBecomes (p, bb, quad) | + ArithAddOp : FoldArithAdd (op1pos, p, quad, op1, op2, op3) | + AddOp : FoldAdd (op1pos, p, quad, op1, op2, op3) | + SubOp : FoldSub (op1pos, p, quad, op1, op2, op3) | +@@ -630,14 +793,14 @@ BEGIN + CastOp : FoldCast (tokenno, p, quad, op1, op2, op3) | + InclOp : FoldIncl (tokenno, p, quad, op1, op3) | + ExclOp : FoldExcl (tokenno, p, quad, op1, op3) | +- IfEquOp : FoldIfEqu (tokenno, p, quad, op1, op2, op3) | +- IfNotEquOp : FoldIfNotEqu (tokenno, p, quad, op1, op2, op3) | +- IfLessOp : FoldIfLess (tokenno, p, quad, op1, op2, op3) | +- IfLessEquOp : FoldIfLessEqu (tokenno, p, quad, op1, op2, op3) | +- IfGreOp : FoldIfGre (tokenno, p, quad, op1, op2, op3) | +- IfGreEquOp : FoldIfGreEqu (tokenno, p, quad, op1, op2, op3) | +- IfInOp : FoldIfIn (tokenno, p, quad, op1, op2, op3) | +- IfNotInOp : FoldIfNotIn (tokenno, p, quad, op1, op2, op3) | ++ IfEquOp : FoldIfEqu (tokenno, quad, op1, op2, op3) | ++ IfNotEquOp : FoldIfNotEqu (tokenno, quad, op1, op2, op3) | ++ IfLessOp : FoldIfLess (tokenno, quad, op1, op2, op3) | ++ IfLessEquOp : FoldIfLessEqu (tokenno, quad, op1, op2, op3) | ++ IfGreOp : FoldIfGre (tokenno, quad, op1, op2, op3) | ++ IfGreEquOp : FoldIfGreEqu (tokenno, quad, op1, op2, op3) | ++ IfInOp : FoldIfIn (tokenno, quad, op1, op2, op3) | ++ IfNotInOp : FoldIfNotIn (tokenno, quad, op1, op2, op3) | + LogicalShiftOp : FoldSetShift(tokenno, p, quad, op1, op2, op3) | + LogicalRotateOp : FoldSetRotate (tokenno, p, quad, op1, op2, op3) | + ParamOp : FoldBuiltinFunction (tokenno, p, quad, op1, op2, op3) | +@@ -645,12 +808,13 @@ BEGIN + StatementNoteOp : FoldStatementNote (op3) | + StringLengthOp : FoldStringLength (quad, p) | + StringConvertM2nulOp: FoldStringConvertM2nul (quad, p) | +- StringConvertCnulOp : FoldStringConvertCnul (quad, p) ++ StringConvertCnulOp : FoldStringConvertCnul (quad, p) | ++ LastForIteratorOp : FoldLastForIterator (quad, p) + + ELSE + (* ignore quadruple as it is not associated with a constant expression *) + END ; +- quad := GetNextQuad(quad) ++ quad := GetNextQuad (quad) + END ; + IF NOT NoChange + THEN +@@ -666,7 +830,7 @@ END ResolveConstantExpressions ; + constant representing the storage size in bytes. + *) + +-PROCEDURE FindSize (tokenno: CARDINAL; sym: CARDINAL) : Tree ; ++PROCEDURE FindSize (tokenno: CARDINAL; sym: CARDINAL) : tree ; + VAR + location: location_t ; + BEGIN +@@ -721,7 +885,7 @@ END FindType ; + BuildTreeFromInterface - generates a GCC tree from an interface definition. + *) + +-PROCEDURE BuildTreeFromInterface (sym: CARDINAL) : Tree ; ++PROCEDURE BuildTreeFromInterface (sym: CARDINAL) : tree ; + CONST + DebugTokPos = FALSE ; + VAR +@@ -731,9 +895,9 @@ VAR + str, + obj : CARDINAL ; + gccName, +- tree : Tree ; ++ asmTree : tree ; + BEGIN +- tree := Tree (NIL) ; ++ asmTree := tree (NIL) ; + IF sym#NulSym + THEN + i := 1 ; +@@ -750,8 +914,8 @@ BEGIN + ELSE + gccName := BuildCStringConstant (KeyToCharStar (name), LengthKey (name)) + END ; +- tree := ChainOnParamValue (tree, gccName, PromoteToCString (tok, str), +- skip_const_decl (Mod2Gcc (obj))) ; ++ asmTree := ChainOnParamValue (asmTree, gccName, PromoteToCString (tok, str), ++ skip_const_decl (Mod2Gcc (obj))) ; + IF DebugTokPos + THEN + WarnStringAt (InitString ('input expression'), tok) +@@ -765,7 +929,7 @@ BEGIN + INC(i) + UNTIL (str = NulSym) AND (obj = NulSym) ; + END ; +- RETURN tree ++ RETURN asmTree + END BuildTreeFromInterface ; + + +@@ -773,18 +937,18 @@ END BuildTreeFromInterface ; + BuildTrashTreeFromInterface - generates a GCC string tree from an interface definition. + *) + +-PROCEDURE BuildTrashTreeFromInterface (sym: CARDINAL) : Tree ; ++PROCEDURE BuildTrashTreeFromInterface (sym: CARDINAL) : tree ; + CONST + DebugTokPos = FALSE ; + VAR +- tok : CARDINAL ; +- i : CARDINAL ; ++ tok : CARDINAL ; ++ i : CARDINAL ; + str, +- obj : CARDINAL ; +- name: Name ; +- tree: Tree ; ++ obj : CARDINAL ; ++ name : Name ; ++ asmTree: tree ; + BEGIN +- tree := Tree (NIL) ; ++ asmTree := tree (NIL) ; + IF sym # NulSym + THEN + i := 1 ; +@@ -794,7 +958,7 @@ BEGIN + THEN + IF IsConstString (str) + THEN +- tree := AddStringToTreeList (tree, PromoteToCString (tok, str)) ; ++ asmTree := AddStringToTreeList (asmTree, PromoteToCString (tok, str)) ; + IF DebugTokPos + THEN + WarnStringAt (InitString ('trash expression'), tok) +@@ -814,7 +978,7 @@ BEGIN + INC (i) + UNTIL (str = NulSym) AND (obj = NulSym) + END ; +- RETURN tree ++ RETURN asmTree + END BuildTrashTreeFromInterface ; + + +@@ -836,7 +1000,7 @@ VAR + inputs, + outputs, + trash, +- labels : Tree ; ++ labels : tree ; + location : location_t ; + BEGIN + GetQuadOtok (quad, asmpos, op, op1, op2, GnuAsm, +@@ -895,7 +1059,7 @@ END FoldRange ; + + PROCEDURE CodeSaveException (des, exceptionProcedure: CARDINAL) ; + VAR +- functValue: Tree ; ++ functValue: tree ; + location : location_t; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -914,7 +1078,7 @@ END CodeSaveException ; + + PROCEDURE CodeRestoreException (des, exceptionProcedure: CARDINAL) ; + VAR +- functValue: Tree ; ++ functValue: tree ; + location : location_t; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -1221,7 +1385,7 @@ END CodeFinallyEnd ; + GetAddressOfUnbounded - returns the address of the unbounded array contents. + *) + +-PROCEDURE GetAddressOfUnbounded (location: location_t; param: CARDINAL) : Tree ; ++PROCEDURE GetAddressOfUnbounded (location: location_t; param: CARDINAL) : tree ; + VAR + UnboundedType: CARDINAL ; + BEGIN +@@ -1240,12 +1404,12 @@ END GetAddressOfUnbounded ; + param.HIGH. + *) + +-PROCEDURE GetHighFromUnbounded (location: location_t; dim, param: CARDINAL) : Tree ; ++PROCEDURE GetHighFromUnbounded (location: location_t; dim, param: CARDINAL) : tree ; + VAR + UnboundedType, + ArrayType, + HighField : CARDINAL ; +- HighTree : Tree ; ++ HighTree : tree ; + accessibleDim: CARDINAL ; + (* remainingDim : CARDINAL ; *) + BEGIN +@@ -1289,9 +1453,9 @@ END GetHighFromUnbounded ; + occupies. + *) + +-PROCEDURE GetSizeOfHighFromUnbounded (tokenno: CARDINAL; param: CARDINAL) : Tree ; ++PROCEDURE GetSizeOfHighFromUnbounded (tokenno: CARDINAL; param: CARDINAL) : tree ; + VAR +- t : Tree ; ++ t : tree ; + UnboundedType, + ArrayType : CARDINAL ; + i, n : CARDINAL ; +@@ -1331,11 +1495,11 @@ END GetSizeOfHighFromUnbounded ; + else call Builtins.alloca. + *) + +-PROCEDURE MaybeDebugBuiltinAlloca (location: location_t; tok: CARDINAL; high: Tree) : Tree ; ++PROCEDURE MaybeDebugBuiltinAlloca (location: location_t; tok: CARDINAL; high: tree) : tree ; + VAR + call, + memptr, +- func : Tree ; ++ func : tree ; + BEGIN + IF DebugBuiltins + THEN +@@ -1361,10 +1525,10 @@ END MaybeDebugBuiltinAlloca ; + else call Builtins.memcpy. + *) + +-PROCEDURE MaybeDebugBuiltinMemcpy (location: location_t; src, dest, nbytes: Tree) : Tree ; ++PROCEDURE MaybeDebugBuiltinMemcpy (location: location_t; src, dest, nbytes: tree) : tree ; + VAR + call, +- func: Tree ; ++ func: tree ; + BEGIN + IF DebugBuiltins + THEN +@@ -1398,7 +1562,7 @@ VAR + UnboundedType: CARDINAL ; + Addr, + High, +- NewArray : Tree ; ++ NewArray : tree ; + BEGIN + location := TokenToLocation (tokenno) ; + UnboundedType := GetType (param) ; +@@ -1424,7 +1588,7 @@ END MakeCopyUse ; + GetParamAddress - returns the address of parameter, param. + *) + +-PROCEDURE GetParamAddress (location: location_t; proc, param: CARDINAL) : Tree ; ++PROCEDURE GetParamAddress (location: location_t; proc, param: CARDINAL) : tree ; + VAR + sym, + type: CARDINAL ; +@@ -1489,7 +1653,7 @@ END IsUnboundedWrittenTo ; + GetParamSize - returns the size in bytes of, param. + *) + +-PROCEDURE GetParamSize (tokenno: CARDINAL; param: CARDINAL) : Tree ; ++PROCEDURE GetParamSize (tokenno: CARDINAL; param: CARDINAL) : tree ; + BEGIN + Assert(IsVar(param) OR IsParameter(param)) ; + IF IsUnbounded(param) +@@ -1506,7 +1670,7 @@ END GetParamSize ; + else jump to, fLabel. + *) + +-PROCEDURE DoIsIntersection (tokenno: CARDINAL; ta, tb, tc, td: Tree; tLabel, fLabel: String) ; ++PROCEDURE DoIsIntersection (tokenno: CARDINAL; ta, tb, tc, td: tree; tLabel, fLabel: String) ; + VAR + location: location_t ; + BEGIN +@@ -1542,7 +1706,7 @@ PROCEDURE BuildCascadedIfThenElsif (tokenno: CARDINAL; + proc, param: CARDINAL) ; + VAR + ta, tb, +- tc, td : Tree ; ++ tc, td : tree ; + n, j : CARDINAL ; + tLabel, + fLabel, +@@ -1730,9 +1894,9 @@ VAR + BEGIN + InitList(trashed) ; + i := 1 ; +- p := NoOfParam(proc) ; ++ p := NoOfParamAny (proc) ; + WHILE i<=p DO +- sym := GetNthParam(proc, i) ; ++ sym := GetNthParamAny (proc, i) ; + IF IsParameterWritten(proc, sym) + THEN + IF VerboseUnbounded +@@ -1750,9 +1914,9 @@ BEGIN + END ; + (* now see whether we need to copy any unbounded array parameters *) + i := 1 ; +- p := NoOfParam(proc) ; ++ p := NoOfParamAny (proc) ; + WHILE i<=p DO +- IF IsUnboundedParam(proc, i) AND (NOT IsVarParam(proc, i)) ++ IF IsUnboundedParamAny (proc, i) AND (NOT IsVarParamAny (proc, i)) + THEN + CheckUnboundedNonVarParameter (tokenno, trashed, proc, GetNth (proc, i)) + END ; +@@ -1805,7 +1969,7 @@ BEGIN + IF IsProcedure (scope) + THEN + (* the parameters are stored as local variables. *) +- INC (i, NoOfParam (scope)) ++ INC (i, NoOfParamAny (scope)) + END ; + WHILE i <= n DO + AutoInitVariable (location, GetNth (scope, i)) ; +@@ -1845,7 +2009,7 @@ END CodeNewLocalVar ; + PROCEDURE CodeKillLocalVar (CurrentProcedure: CARDINAL) ; + VAR + begin, end: CARDINAL ; +- proc : Tree ; ++ proc : tree ; + BEGIN + GetProcedureBeginEnd (CurrentProcedure, begin, end) ; + CurrentQuadToken := end ; +@@ -1900,7 +2064,7 @@ VAR + expr, none, procedure : CARDINAL ; + combinedpos, + returnpos, exprpos, nonepos, procpos: CARDINAL ; +- value, length : Tree ; ++ value, length : tree ; + location : location_t ; + BEGIN + GetQuadOtok (quad, returnpos, op, expr, none, procedure, +@@ -1935,17 +2099,17 @@ END CodeReturnValue ; + + PROCEDURE CodeCall (tokenno: CARDINAL; procedure: CARDINAL) ; + VAR +- tree : Tree ; ++ callTree: tree ; + location: location_t ; + BEGIN + IF IsProcedure (procedure) + THEN + DeclareParameters (procedure) ; +- tree := CodeDirectCall (tokenno, procedure) ++ callTree := CodeDirectCall (tokenno, procedure) + ELSIF IsProcType (SkipType (GetType (procedure))) + THEN + DeclareParameters (SkipType (GetType (procedure))) ; +- tree := CodeIndirectCall (tokenno, procedure) ; ++ callTree := CodeIndirectCall (tokenno, procedure) ; + procedure := SkipType (GetType (procedure)) + ELSE + InternalError ('expecting Procedure or ProcType') +@@ -1953,7 +2117,7 @@ BEGIN + IF GetType (procedure) = NulSym + THEN + location := TokenToLocation (tokenno) ; +- AddStatement (location, tree) ++ AddStatement (location, callTree) + ELSE + (* leave tree alone - as it will be picked up when processing FunctValue *) + END +@@ -1966,7 +2130,7 @@ END CodeCall ; + CanUseBuiltin or IsProcedureBuiltinAvailable returns TRUE. + *) + +-PROCEDURE UseBuiltin (tokenno: CARDINAL; Sym: CARDINAL) : Tree ; ++PROCEDURE UseBuiltin (tokenno: CARDINAL; Sym: CARDINAL) : tree ; + BEGIN + IF BuiltinExists(KeyToCharStar(GetProcedureBuiltin(Sym))) + THEN +@@ -1981,10 +2145,10 @@ END UseBuiltin ; + CodeDirectCall - calls a function/procedure. + *) + +-PROCEDURE CodeDirectCall (tokenno: CARDINAL; procedure: CARDINAL) : Tree ; ++PROCEDURE CodeDirectCall (tokenno: CARDINAL; procedure: CARDINAL) : tree ; + VAR + location: location_t ; +- call : Tree ; ++ call : tree ; + BEGIN + location := TokenToLocation (tokenno) ; + IF IsProcedureBuiltinAvailable (procedure) +@@ -1992,7 +2156,7 @@ BEGIN + call := UseBuiltin (tokenno, procedure) ; + IF call # NIL + THEN +- call := BuildBuiltinCallTree (location, call) ++ call := BuildBuiltinCallTree (call) + END + ELSE + call := NIL +@@ -2020,9 +2184,9 @@ END CodeDirectCall ; + CodeIndirectCall - calls a function/procedure indirectly. + *) + +-PROCEDURE CodeIndirectCall (tokenno: CARDINAL; ProcVar: CARDINAL) : Tree ; ++PROCEDURE CodeIndirectCall (tokenno: CARDINAL; ProcVar: CARDINAL) : tree ; + VAR +- ReturnType: Tree ; ++ ReturnType: tree ; + proc : CARDINAL ; + location : location_t ; + BEGIN +@@ -2030,9 +2194,9 @@ BEGIN + proc := SkipType(GetType(ProcVar)) ; + IF GetType(proc)=NulSym + THEN +- ReturnType := Tree(NIL) ++ ReturnType := tree(NIL) + ELSE +- ReturnType := Tree(Mod2Gcc(GetType(proc))) ++ ReturnType := tree(Mod2Gcc(GetType(proc))) + END ; + + (* now we dereference the lvalue if necessary *) +@@ -2053,7 +2217,7 @@ END CodeIndirectCall ; + then convert the string into a character constant. + *) + +-PROCEDURE StringToChar (t: Tree; type, str: CARDINAL) : Tree ; ++PROCEDURE StringToChar (t: tree; type, str: CARDINAL) : tree ; + VAR + s: String ; + n: Name ; +@@ -2092,7 +2256,7 @@ END StringToChar ; + a symbol of, type. + *) + +-PROCEDURE ConvertTo (t: Tree; type, op3: CARDINAL) : Tree ; ++PROCEDURE ConvertTo (t: tree; type, op3: CARDINAL) : tree ; + BEGIN + IF SkipType(type)#SkipType(GetType(op3)) + THEN +@@ -2114,7 +2278,7 @@ END ConvertTo ; + first and then the remaining types. + *) + +-PROCEDURE ConvertRHS (t: Tree; type, rhs: CARDINAL) : Tree ; ++PROCEDURE ConvertRHS (t: tree; type, rhs: CARDINAL) : tree ; + BEGIN + t := StringToChar (Mod2Gcc (rhs), type, rhs) ; + RETURN ConvertTo (t, type, rhs) +@@ -2161,20 +2325,20 @@ END IsConstant ; + CheckConvertCoerceParameter - + *) + +-PROCEDURE CheckConvertCoerceParameter (tokenno: CARDINAL; op1, op2, op3: CARDINAL) : Tree ; ++PROCEDURE CheckConvertCoerceParameter (tokenno: CARDINAL; op1, op2, op3: CARDINAL) : tree ; + VAR + OperandType, + ParamType : CARDINAL ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +- IF GetNthParam(op2, op1)=NulSym ++ IF GetNthParamAny (op2, op1)=NulSym + THEN + (* We reach here if the argument is being passed to a C vararg function. *) + RETURN( Mod2Gcc(op3) ) + ELSE + OperandType := SkipType(GetType(op3)) ; +- ParamType := SkipType(GetType(GetNthParam(op2, op1))) ++ ParamType := SkipType(GetType(GetNthParamAny (op2, op1))) + END ; + IF IsProcType(ParamType) + THEN +@@ -2214,7 +2378,7 @@ END CheckConvertCoerceParameter ; + CheckConstant - checks to see whether we should declare the constant. + *) + +-PROCEDURE CheckConstant (tokenno: CARDINAL; des, expr: CARDINAL) : Tree ; ++PROCEDURE CheckConstant (tokenno: CARDINAL; des, expr: CARDINAL) : tree ; + VAR + location: location_t ; + BEGIN +@@ -2242,7 +2406,7 @@ VAR + max, + tmp, + res, +- val : Tree ; ++ val : tree ; + location: location_t ; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -2327,7 +2491,7 @@ VAR + bits, + max, + tmp, +- val : Tree ; ++ val : tree ; + location: location_t ; + BEGIN + location := TokenToLocation (tokenno) ; +@@ -2420,7 +2584,7 @@ VAR + op1, op2, + op3 : CARDINAL ; + op : QuadOperator ; +- val, call : Tree ; ++ val, call : tree ; + location : location_t ; + BEGIN + GetQuad (q, op, op1, op2, op3) ; +@@ -2533,17 +2697,17 @@ BEGIN + ELSE + IF StrictTypeChecking + THEN +- IF (nth <= NoOfParam (procedure)) ++ IF (nth <= NoOfParamAny (procedure)) + THEN + compatible := ParameterTypeCompatible (parampos, + 'parameter incompatibility when attempting to pass actual parameter {%2ad} to a {%kVAR} formal parameter {%3Ead} during call to procedure {%1ad}', +- procedure, GetNthParam (procedure, nth), +- parameter, nth, IsVarParam (procedure, nth)) ++ procedure, GetNthParamAny (procedure, nth), ++ parameter, nth, IsVarParamAny (procedure, nth)) + END + END ; + +- IF (nth <= NoOfParam (procedure)) AND +- IsVarParam (procedure, nth) AND IsConst (parameter) ++ IF (nth <= NoOfParamAny (procedure)) AND ++ IsVarParamAny (procedure, nth) AND IsConst (parameter) + THEN + MetaErrorT1 (parampos, + 'cannot pass a constant {%1Ead} as a VAR parameter', parameter) +@@ -2564,13 +2728,13 @@ END CodeParam ; + Replace - replace the entry for sym in the double entry bookkeeping with sym/tree. + *) + +-PROCEDURE Replace (sym: CARDINAL; tree: Tree) ; ++PROCEDURE Replace (sym: CARDINAL; gcc: tree) ; + BEGIN + IF GccKnowsAbout (sym) + THEN + RemoveMod2Gcc (sym) + END ; +- AddModGcc (sym, tree) ++ AddModGcc (sym, gcc) + END Replace ; + + +@@ -2582,7 +2746,7 @@ END Replace ; + PROCEDURE CodeFunctValue (location: location_t; op1: CARDINAL) ; + VAR + call, +- value: Tree ; ++ value: tree ; + BEGIN + (* + operator : FunctValueOp +@@ -2703,7 +2867,7 @@ END FoldStringConvertCnul ; + + PROCEDURE CodeAddr (tokenno: CARDINAL; quad: CARDINAL; op1, op3: CARDINAL) ; + VAR +- value : Tree ; ++ value : tree ; + type : CARDINAL ; + location: location_t ; + BEGIN +@@ -2750,19 +2914,22 @@ END CheckStop ; + Sym1 := Sym3 := produces a constant + *) + +-PROCEDURE FoldBecomes (p: WalkAction; quad: CARDINAL) ; ++PROCEDURE FoldBecomes (p: WalkAction; bb: BasicBlock; quad: CARDINAL) ; + VAR + op : QuadOperator ; + des, op2, expr: CARDINAL ; + BEGIN +- IF DeclaredOperandsBecomes (p, quad) AND (NOT IsQuadConstExpr (quad)) ++ IF DeclaredOperandsBecomes (p, quad) + THEN +- IF TypeCheckBecomes (p, quad) ++ IF (NOT IsConditionalBooleanQuad (quad)) OR IsBasicBlockFirst (bb) + THEN +- PerformFoldBecomes (p, quad) +- ELSE +- GetQuad (quad, op, des, op2, expr) ; +- RemoveQuad (p, des, quad) ++ IF TypeCheckBecomes (p, quad) ++ THEN ++ PerformFoldBecomes (p, quad) ++ ELSE ++ GetQuad (quad, op, des, op2, expr) ; ++ RemoveQuad (p, des, quad) ++ END + END + END + END FoldBecomes ; +@@ -2963,9 +3130,9 @@ END PerformFoldBecomes ; + + + VAR +- tryBlock: Tree ; (* this must be placed into gccgm2 and it must follow the ++ tryBlock: tree ; (* this must be placed into gccgm2 and it must follow the + current function scope - ie it needs work with nested procedures *) +- handlerBlock: Tree ; ++ handlerBlock: tree ; + + + (* +@@ -2993,7 +3160,7 @@ BEGIN + location := TokenToLocation (CurrentQuadToken) ; + IF value = NulSym + THEN +- AddStatement (location, BuildThrow (location, Tree (NIL))) ++ AddStatement (location, BuildThrow (location, tree (NIL))) + ELSE + DeclareConstant (CurrentQuadToken, value) ; (* checks to see whether it is a constant and declares it *) + AddStatement (location, BuildThrow (location, BuildConvert (location, +@@ -3051,7 +3218,7 @@ END DescribeTypeError ; + typed constants. + *) + +-PROCEDURE DefaultConvertGM2 (sym: CARDINAL) : Tree ; ++PROCEDURE DefaultConvertGM2 (sym: CARDINAL) : tree ; + BEGIN + sym := SkipType (sym) ; + IF sym=Bitset +@@ -3070,9 +3237,9 @@ END DefaultConvertGM2 ; + *) + + PROCEDURE FoldConstBecomes (tokenno: CARDINAL; +- op1, op3: CARDINAL) : Tree ; ++ op1, op3: CARDINAL) : tree ; + VAR +- t, type : Tree ; ++ t, type : tree ; + location: location_t ; + BEGIN + IF IsConstSet(op3) OR ((SkipType(GetType(op3))#NulSym) AND +@@ -3134,7 +3301,7 @@ END FoldConstBecomes ; + which fits in dest. + *) + +-PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: Tree; ++PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: tree; + src, destStrType: CARDINAL) : BOOLEAN ; + VAR + location : location_t ; +@@ -3206,7 +3373,7 @@ END PrepareCopyString ; + + PROCEDURE checkArrayElements (des, expr: CARDINAL; virtpos, despos, exprpos: CARDINAL) : BOOLEAN ; + VAR +- e1, e3: Tree ; ++ e1, e3: tree ; + t1, t3: CARDINAL ; + BEGIN + t1 := GetType (des) ; +@@ -3313,9 +3480,9 @@ BEGIN + THEN + IF NOT IsAssignmentCompatible (t1, t2) + THEN +- MetaErrorT2 (virtpos, +- 'illegal assignment error between {%1Etad} and {%2tad}', +- des, expr) ; ++ ErrorMessageDecl (virtpos, ++ 'illegal assignment error between {%1Etad} and {%2tad}', ++ des, expr, TRUE) ; + RETURN( FALSE ) + END + END +@@ -3373,7 +3540,7 @@ VAR + op2pos, + exprpos : CARDINAL ; + length, +- exprt : Tree ; ++ exprt : tree ; + location : location_t ; + BEGIN + GetQuadOtok (quad, becomespos, op, des, op2, expr, +@@ -3388,9 +3555,9 @@ BEGIN + IF StrictTypeChecking AND + (NOT AssignmentTypeCompatible (virtpos, "", des, expr)) + THEN +- MetaErrorT2 (virtpos, +- 'assignment check caught mismatch between {%1Ead} and {%2ad}', +- des, expr) ++ ErrorMessageDecl (virtpos, ++ 'assignment check caught mismatch between {%1Ead} and {%2ad}', ++ des, expr, TRUE) + END ; + IF IsConstString (expr) AND (NOT IsConstStringKnown (expr)) + THEN +@@ -3405,9 +3572,9 @@ BEGIN + checkDeclare (des) ; + IF NOT PrepareCopyString (becomespos, length, exprt, expr, SkipType (GetType (des))) + THEN +- MetaErrorT2 (virtpos, +- 'string constant {%1Ea} is too large to be assigned to the array {%2ad}', +- expr, des) ++ ErrorMessageDecl (virtpos, ++ 'string constant {%1Ea} is too large to be assigned to the array {%2ad}', ++ expr, des, TRUE) + END ; + AddStatement (location, + MaybeDebugBuiltinMemcpy (location, +@@ -3432,7 +3599,7 @@ BEGIN + ELSE + IF checkBecomes (des, expr, virtpos, despos, exprpos) + THEN +- IF IsVariableSSA (des) ++ IF IsVar (des) AND IsVariableSSA (des) + THEN + Replace (des, FoldConstBecomes (virtpos, des, expr)) + ELSE +@@ -3441,7 +3608,7 @@ BEGIN + FoldConstBecomes (virtpos, des, expr)) + END + ELSE +- SubQuad (quad) (* we don't want multiple errors for the quad. *) ++ SubQuad (quad) (* We don't want multiple errors for the quad. *) + END + END + END +@@ -3453,9 +3620,9 @@ END CodeBecomes ; + It coerces a lvalue into an internal pointer type + *) + +-PROCEDURE LValueToGenericPtr (location: location_t; sym: CARDINAL) : Tree ; ++PROCEDURE LValueToGenericPtr (location: location_t; sym: CARDINAL) : tree ; + VAR +- t: Tree ; ++ t: tree ; + BEGIN + t := Mod2Gcc (sym) ; + IF t = NIL +@@ -3475,9 +3642,9 @@ END LValueToGenericPtr ; + else convert to type, type. Return the converted tree. + *) + +-PROCEDURE LValueToGenericPtrOrConvert (sym: CARDINAL; type: Tree) : Tree ; ++PROCEDURE LValueToGenericPtrOrConvert (sym: CARDINAL; type: tree) : tree ; + VAR +- n : Tree ; ++ n : tree ; + location: location_t ; + BEGIN + n := Mod2Gcc (sym) ; +@@ -3501,7 +3668,7 @@ END LValueToGenericPtrOrConvert ; + coerces, t, appropriately. + *) + +-PROCEDURE ZConstToTypedConst (t: Tree; op1, op2: CARDINAL) : Tree ; ++PROCEDURE ZConstToTypedConst (t: tree; op1, op2: CARDINAL) : tree ; + VAR + location: location_t ; + BEGIN +@@ -3544,7 +3711,7 @@ END ZConstToTypedConst ; + PROCEDURE FoldBinary (tokenno: CARDINAL; p: WalkAction; binop: BuildBinProcedure; + quad: CARDINAL; op1, op2, op3: CARDINAL) ; + VAR +- tl, tr, tv, resType: Tree ; ++ tl, tr, tv, resType: tree ; + location : location_t ; + BEGIN + (* firstly ensure that constant literals are declared *) +@@ -3596,7 +3763,7 @@ END FoldBinary ; + ConvertBinaryOperands - + *) + +-PROCEDURE ConvertBinaryOperands (location: location_t; VAR tl, tr: Tree; type, op2, op3: CARDINAL) ; ++PROCEDURE ConvertBinaryOperands (location: location_t; VAR tl, tr: tree; type, op2, op3: CARDINAL) ; + BEGIN + tl := NIL ; + tr := NIL ; +@@ -3641,7 +3808,7 @@ VAR + min, max, + lowest, + tv, +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + BEGIN + (* firstly ensure that constant literals are declared. *) +@@ -3692,7 +3859,7 @@ BEGIN + THEN + RETURN Address + ELSE +- RETURN MixTypes (FindType (left), FindType (right), tokpos) ++ RETURN MixTypesDecl (left, right, FindType (left), FindType (right), tokpos) + END + END MixTypesBinary ; + +@@ -3711,7 +3878,7 @@ VAR + op3pos, + type : CARDINAL ; + tv, +- tl, tr : Tree ; ++ tl, tr : tree ; + location: location_t ; + BEGIN + (* firstly ensure that constant literals are declared *) +@@ -3799,9 +3966,9 @@ BEGIN + is bug free. *) + IF NOT IsExpressionCompatible (lefttype, righttype) + THEN +- MetaErrorT2 (subexprpos, +- 'expression mismatch between {%1Etad} and {%2tad}', +- left, right) ; ++ ErrorMessageDecl (subexprpos, ++ 'expression mismatch between {%1Etad} and {%2tad}', ++ left, right, TRUE) ; + NoChange := FALSE ; + SubQuad (quad) ; + p (des) ; +@@ -3867,9 +4034,9 @@ BEGIN + (* Now fall though and compare the set element left against the type of set righttype. *) + IF NOT IsExpressionCompatible (lefttype, righttype) + THEN +- MetaErrorT2 (subexprpos, +- 'the types used in expression {%1Etad} {%kIN} {%2tad} are incompatible', +- left, right) ; ++ ErrorMessageDecl (subexprpos, ++ 'the types used in expression {%1Etad} {%kIN} {%2tad} are incompatible', ++ left, right, TRUE) ; + NoChange := FALSE ; + SubQuad (quad) ; + RETURN FALSE +@@ -4628,7 +4795,7 @@ END CodeModFloor ; + PROCEDURE FoldBuiltinConst (tokenno: CARDINAL; p: WalkAction; + quad: CARDINAL; result, constDesc: CARDINAL) ; + VAR +- value: Tree ; ++ value: tree ; + BEGIN + value := GetBuiltinConst (KeyToCharStar (Name (constDesc))) ; + IF value = NIL +@@ -4650,7 +4817,7 @@ END FoldBuiltinConst ; + PROCEDURE FoldBuiltinTypeInfo (tokenno: CARDINAL; p: WalkAction; + quad: CARDINAL; op1, op2, op3: CARDINAL) ; + VAR +- t : Tree ; ++ t : tree ; + location: location_t ; + BEGIN + IF GccKnowsAbout(op2) AND CompletelyResolved(op2) +@@ -4909,7 +5076,7 @@ END CodeStandardFunction ; + + PROCEDURE CodeSavePriority (oldValue, scopeSym, procedureSym: CARDINAL) ; + VAR +- funcTree: Tree ; ++ funcTree: tree ; + mod : CARDINAL ; + n : Name ; + location: location_t ; +@@ -4953,7 +5120,7 @@ END CodeSavePriority ; + + PROCEDURE CodeRestorePriority (oldValue, scopeSym, procedureSym: CARDINAL) ; + VAR +- funcTree: Tree ; ++ funcTree: tree ; + mod : CARDINAL ; + n : Name ; + location: location_t ; +@@ -5094,7 +5261,7 @@ VAR + unbounded, + leftproc, + rightproc, +- varproc : Tree ; ++ varproc : tree ; + location : location_t ; + BEGIN + (* firstly ensure that constant literals are declared *) +@@ -5123,7 +5290,7 @@ BEGIN + varproc := Mod2Gcc(FromModuleGetSym(CurrentQuadToken, var, System)) ; + leftproc := Mod2Gcc(FromModuleGetSym(CurrentQuadToken, left, System)) ; + rightproc := Mod2Gcc(FromModuleGetSym(CurrentQuadToken, right, System)) ; +- unbounded := Mod2Gcc(GetType(GetNthParam(FromModuleGetSym(CurrentQuadToken, ++ unbounded := Mod2Gcc(GetType(GetNthParamAny (FromModuleGetSym(CurrentQuadToken, + var, System), 1))) ; + PushValue(GetTypeMax(SkipType(GetType(op1)))) ; + PushIntegerTree(BuildConvert(location, GetM2ZType(), PopIntegerTree(), FALSE)) ; +@@ -5322,7 +5489,7 @@ END FoldIncl ; + if op1 < op2 then goto op3. + *) + +-PROCEDURE FoldIfLess (tokenno: CARDINAL; p: WalkAction; ++PROCEDURE FoldIfLess (tokenno: CARDINAL; + quad: CARDINAL; left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) +@@ -5333,18 +5500,13 @@ BEGIN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN + (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF Less (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- PushValue (left) ; +- PushValue (right) ; +- IF Less (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5352,115 +5514,14 @@ BEGIN + END FoldIfLess ; + + +-(* +- IsBooleanRelOpPattern - return TRUE if the pattern: +- q If left right q+2 +- q+1 Goto q+4 +- q+2 Becomes des[i] TRUE[i] +- q+3 Goto q+5 +- q+4 Becomes des[i] FALSE[i] +-*) +- +-PROCEDURE IsBooleanRelOpPattern (quad: CARDINAL) : BOOLEAN ; +-BEGIN +- IF IsQuadConstExpr (quad) +- THEN +- IF IsConditional (quad) AND +- (IsGoto (quad+1) OR IsDummy (quad+1)) AND +- IsBecomes (quad+2) AND IsGoto (quad+3) AND +- IsBecomes (quad+4) AND +- (GetQuadDest (quad) = quad+2) AND +- (GetQuadDest (quad+1) = quad+4) AND +- (GetQuadDest (quad+3) = quad+5) AND +- (GetQuadOp1 (quad+2) = GetQuadOp1 (quad+4)) +- THEN +- RETURN TRUE +- END +- END ; +- RETURN FALSE +-END IsBooleanRelOpPattern ; +- +- +-(* +- FoldBooleanRelopPattern - fold the boolean relop pattern of quadruples +- above to: +- q+2 Becomes des[i] TRUE[i] +- or +- q+4 Becomes des[i] FALSE[i] +- depending upon the condition in quad. +-*) +- +-PROCEDURE FoldBooleanRelopPattern (p: WalkAction; quad: CARDINAL) ; +-VAR +- des: CARDINAL ; +-BEGIN +- des := GetQuadOp1 (quad+2) ; +- IF QuadCondition (quad) +- THEN +- SetQuadConstExpr (quad+2, FALSE) ; +- SubQuad (quad+4) (* Remove des := FALSE. *) +- ELSE +- SetQuadConstExpr (quad+4, FALSE) ; +- SubQuad (quad+2) (* Remove des := TRUE. *) +- END ; +- RemoveQuad (p, des, quad) ; +- SubQuad (quad+1) ; +- SubQuad (quad+3) +-END FoldBooleanRelopPattern ; +- +- +-(* +- QuadCondition - Pre-condition: left, right operands are constants +- which have been resolved. +- Post-condition: return TRUE if the condition at +- quad is TRUE. +-*) +- +-PROCEDURE QuadCondition (quad: CARDINAL) : BOOLEAN ; +-VAR +- left, right, dest, combined, +- leftpos, rightpos, destpos : CARDINAL ; +- constExpr, overflow : BOOLEAN ; +- op : QuadOperator ; +-BEGIN +- GetQuadOtok (quad, combined, op, +- left, right, dest, overflow, +- constExpr, +- leftpos, rightpos, destpos) ; +- CASE op OF +- +- IfInOp : PushValue (right) ; +- RETURN SetIn (left, combined) | +- IfNotInOp : PushValue (right) ; +- RETURN NOT SetIn (left, combined) +- +- ELSE +- END ; +- PushValue (left) ; +- PushValue (right) ; +- CASE op OF +- +- IfGreOp : RETURN Gre (combined) | +- IfLessOp : RETURN Less (combined) | +- IfLessEquOp: RETURN LessEqu (combined) | +- IfGreEquOp : RETURN GreEqu (combined) | +- IfEquOp : RETURN GreEqu (combined) | +- IfNotEquOp : RETURN NotEqu (combined) +- +- ELSE +- InternalError ('unrecognized comparison operator') +- END ; +- RETURN FALSE +-END QuadCondition ; +- +- + (* + FoldIfGre - check to see if it is possible to evaluate + if op1 > op2 then goto op3. + *) + +-PROCEDURE FoldIfGre (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfGre (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant(tokenno, left) ; +@@ -5470,18 +5531,13 @@ BEGIN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN + (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF Gre (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- PushValue (left) ; +- PushValue (right) ; +- IF Gre (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5494,8 +5550,9 @@ END FoldIfGre ; + if op1 <= op2 then goto op3. + *) + +-PROCEDURE FoldIfLessEqu (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfLessEqu (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant(tokenno, left) ; +@@ -5505,18 +5562,13 @@ BEGIN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN + (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF LessEqu (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- PushValue (left) ; +- PushValue (right) ; +- IF LessEqu (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5529,8 +5581,9 @@ END FoldIfLessEqu ; + if op1 >= op2 then goto op3. + *) + +-PROCEDURE FoldIfGreEqu (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfGreEqu (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant(tokenno, left) ; +@@ -5540,18 +5593,13 @@ BEGIN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN + (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF GreEqu (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- PushValue (left) ; +- PushValue (right) ; +- IF GreEqu (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5564,8 +5612,9 @@ END FoldIfGreEqu ; + if op1 in op2 then goto op3 + *) + +-PROCEDURE FoldIfIn (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfIn (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant (tokenno, left) ; +@@ -5577,17 +5626,12 @@ BEGIN + IF CheckBinaryExpressionTypes (quad, NoWalkProcedure) + THEN + (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ PushValue (right) ; ++ IF SetIn (tokenno, left) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) ; + ELSE +- PushValue (right) ; +- IF SetIn (tokenno, left) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END + ELSE + SubQuad (quad) +@@ -5603,8 +5647,9 @@ END FoldIfIn ; + if not (op1 in op2) then goto op3 + *) + +-PROCEDURE FoldIfNotIn (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfNotIn (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant (tokenno, left) ; +@@ -5615,18 +5660,14 @@ BEGIN + THEN + IF CheckBinaryExpressionTypes (quad, NoWalkProcedure) + THEN +- (* We can take advantage of the known values and evaluate the condition. *) +- IF IsBooleanRelOpPattern (quad) ++ (* We can take advantage of the known values and evaluate the ++ condition. *) ++ PushValue (right) ; ++ IF NOT SetIn (tokenno, left) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- PushValue (right) ; +- IF NOT SetIn (tokenno, left) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END + ELSE + SubQuad (quad) +@@ -5642,8 +5683,9 @@ END FoldIfNotIn ; + if op1 = op2 then goto op3. + *) + +-PROCEDURE FoldIfEqu (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfEqu (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant(tokenno, left) ; +@@ -5652,19 +5694,15 @@ BEGIN + THEN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN +- IF IsBooleanRelOpPattern (quad) ++ (* We can take advantage of the known values and evaluate the ++ condition. *) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF Equ (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- (* We can take advantage of the known values and evaluate the condition. *) +- PushValue (left) ; +- PushValue (right) ; +- IF Equ (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5677,8 +5715,9 @@ END FoldIfEqu ; + if op1 # op2 then goto op3. + *) + +-PROCEDURE FoldIfNotEqu (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; left, right, destQuad: CARDINAL) ; ++PROCEDURE FoldIfNotEqu (tokenno: CARDINAL; ++ quad: CARDINAL; ++ left, right, destQuad: CARDINAL) ; + BEGIN + (* Firstly ensure that constant literals are declared. *) + TryDeclareConstant(tokenno, left) ; +@@ -5687,19 +5726,15 @@ BEGIN + THEN + IF IsValueSolved (left) AND IsValueSolved (right) + THEN +- IF IsBooleanRelOpPattern (quad) ++ (* We can take advantage of the known values and evaluate the ++ condition. *) ++ PushValue (left) ; ++ PushValue (right) ; ++ IF NotEqu (tokenno) + THEN +- FoldBooleanRelopPattern (p, quad) ++ PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) + ELSE +- (* We can take advantage of the known values and evaluate the condition. *) +- PushValue (left) ; +- PushValue (right) ; +- IF NotEqu (tokenno) +- THEN +- PutQuad (quad, GotoOp, NulSym, NulSym, destQuad) +- ELSE +- SubQuad (quad) +- END ++ SubQuad (quad) + END ; + NoChange := FALSE + END +@@ -5730,7 +5765,7 @@ END GetSetLimits ; + GetFieldNo - returns the field number in the, set, which contains, element. + *) + +-PROCEDURE GetFieldNo (tokenno: CARDINAL; element: CARDINAL; set: CARDINAL; VAR offset: Tree) : INTEGER ; ++PROCEDURE GetFieldNo (tokenno: CARDINAL; element: CARDINAL; set: CARDINAL; VAR offset: tree) : INTEGER ; + VAR + low, high, bpw, c: CARDINAL ; + location : location_t ; +@@ -5795,7 +5830,7 @@ PROCEDURE CodeIncl (result, expr: CARDINAL) ; + VAR + low, + high : CARDINAL ; +- offset : Tree ; ++ offset : tree ; + fieldno : INTEGER ; + location: location_t ; + BEGIN +@@ -5872,7 +5907,7 @@ PROCEDURE CodeExcl (result, expr: CARDINAL) ; + VAR + low, + high : CARDINAL ; +- offset : Tree ; ++ offset : tree ; + fieldno : INTEGER ; + location: location_t ; + BEGIN +@@ -5914,10 +5949,10 @@ END CodeExcl ; + *) + + PROCEDURE FoldUnary (tokenno: CARDINAL; p: WalkAction; +- unop: BuildUnaryProcedure; ZConstToTypedConst: Tree; ++ unop: BuildUnaryProcedure; ZConstToTypedConst: tree; + quad: CARDINAL; result, expr: CARDINAL) ; + VAR +- tv : Tree ; ++ tv : tree ; + location: location_t ; + BEGIN + (* firstly ensure that any constant literal is declared *) +@@ -5931,7 +5966,7 @@ BEGIN + (* fine, we can take advantage of this and fold constants *) + IF IsConst (result) + THEN +- IF ZConstToTypedConst = Tree(NIL) ++ IF ZConstToTypedConst = tree(NIL) + THEN + IF (GetType (expr) = NulSym) OR IsOrdinalType (SkipType (GetType (expr))) + THEN +@@ -6006,13 +6041,13 @@ END FoldUnarySet ; + CodeUnaryCheck - encode a unary arithmetic operation. + *) + +-PROCEDURE CodeUnaryCheck (unop: BuildUnaryCheckProcedure; ZConstToTypedConst: Tree; ++PROCEDURE CodeUnaryCheck (unop: BuildUnaryCheckProcedure; ZConstToTypedConst: tree; + quad: CARDINAL; result, expr: CARDINAL) ; + VAR + lowestType: CARDINAL ; + min, max, + lowest, +- tv : Tree ; ++ tv : tree ; + location : location_t ; + BEGIN + (* firstly ensure that any constant literal is declared *) +@@ -6036,9 +6071,9 @@ BEGIN + CheckOrResetOverflow (CurrentQuadToken, tv, MustCheckOverflow(quad)) ; + IF IsConst (result) + THEN +- IF ZConstToTypedConst = Tree (NIL) ++ IF ZConstToTypedConst = tree (NIL) + THEN +- ZConstToTypedConst := Tree (Mod2Gcc( GetType (expr))) ++ ZConstToTypedConst := tree (Mod2Gcc( GetType (expr))) + END ; + (* still have a constant which was not resolved, pass it to gcc *) + PutConst (result, FindType (expr)) ; +@@ -6058,10 +6093,10 @@ END CodeUnaryCheck ; + CodeUnary - encode a unary arithmetic operation. + *) + +-PROCEDURE CodeUnary (unop: BuildUnaryProcedure; ZConstToTypedConst: Tree; ++PROCEDURE CodeUnary (unop: BuildUnaryProcedure; ZConstToTypedConst: tree; + quad: CARDINAL; result, expr: CARDINAL) ; + VAR +- tv : Tree ; ++ tv : tree ; + location: location_t ; + BEGIN + (* firstly ensure that any constant literal is declared *) +@@ -6073,9 +6108,9 @@ BEGIN + CheckOrResetOverflow (CurrentQuadToken, tv, MustCheckOverflow (quad)) ; + IF IsConst(result) + THEN +- IF ZConstToTypedConst=Tree(NIL) ++ IF ZConstToTypedConst=tree(NIL) + THEN +- ZConstToTypedConst := Tree(Mod2Gcc(GetType(expr))) ++ ZConstToTypedConst := tree(Mod2Gcc(GetType(expr))) + END ; + (* still have a constant which was not resolved, pass it to gcc *) + PutConst (result, FindType (expr)) ; +@@ -6136,7 +6171,7 @@ END CodeNegateChecked ; + PROCEDURE FoldSize (tokenno: CARDINAL; p: WalkAction; + quad: CARDINAL; op1, op2, op3: CARDINAL) ; + VAR +- t : Tree ; ++ t : tree ; + location: location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -6205,7 +6240,7 @@ PROCEDURE FoldRecordField (tokenno: CARDINAL; p: WalkAction; + VAR + recordType, + fieldType : CARDINAL ; +- ptr : Tree ; ++ ptr : tree ; + location : location_t ; + BEGIN + RETURN ; (* this procedure should no longer be called *) +@@ -6253,7 +6288,7 @@ PROCEDURE CodeRecordField (result, record, field: CARDINAL) ; + VAR + recordType, + fieldType : CARDINAL ; +- ptr : Tree ; ++ ptr : tree ; + location : location_t ; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -6288,7 +6323,7 @@ END CodeRecordField ; + BuildHighFromChar - + *) + +-PROCEDURE BuildHighFromChar (operand: CARDINAL) : Tree ; ++PROCEDURE BuildHighFromChar (operand: CARDINAL) : tree ; + VAR + location: location_t ; + BEGIN +@@ -6326,7 +6361,7 @@ END SkipToArray ; + BuildHighFromArray - + *) + +-PROCEDURE BuildHighFromArray (tokenno: CARDINAL; dim, operand: CARDINAL) : Tree ; ++PROCEDURE BuildHighFromArray (tokenno: CARDINAL; dim, operand: CARDINAL) : tree ; + VAR + Type : CARDINAL ; + location: location_t ; +@@ -6341,7 +6376,7 @@ END BuildHighFromArray ; + BuildHighFromStaticArray - + *) + +-PROCEDURE BuildHighFromStaticArray (location: location_t; (* dim, *) Type: CARDINAL) : Tree ; ++PROCEDURE BuildHighFromStaticArray (location: location_t; (* dim, *) Type: CARDINAL) : tree ; + VAR + High, Low: CARDINAL ; + Subscript, +@@ -6355,7 +6390,7 @@ BEGIN + GetBaseTypeMinMax (Subrange, Low, High) ; + IF GccKnowsAbout (High) + THEN +- RETURN Tree (Mod2Gcc (High)) ++ RETURN tree (Mod2Gcc (High)) + END + ELSIF IsSubrange(Subrange) + THEN +@@ -6366,13 +6401,13 @@ BEGIN + END + ELSE + MetaError1 ('array subscript {%1EDad:for} must be a subrange or enumeration type', Type) ; +- RETURN Tree(NIL) ++ RETURN tree(NIL) + END ; + IF GccKnowsAbout (High) + THEN +- RETURN Tree (Mod2Gcc (High)) ++ RETURN tree (Mod2Gcc (High)) + ELSE +- RETURN Tree (NIL) ++ RETURN tree (NIL) + END + END BuildHighFromStaticArray ; + +@@ -6381,16 +6416,16 @@ END BuildHighFromStaticArray ; + BuildHighFromString - + *) + +-PROCEDURE BuildHighFromString (operand: CARDINAL) : Tree ; ++PROCEDURE BuildHighFromString (operand: CARDINAL) : tree ; + VAR + location: location_t ; + BEGIN +- location := TokenToLocation(GetDeclaredMod(operand)) ; +- IF GccKnowsAbout(operand) AND (StringLength(Mod2Gcc(operand))>0) ++ location := TokenToLocation (GetDeclaredMod (operand)) ; ++ IF GccKnowsAbout (operand) AND (StringLength (Mod2Gcc (operand)) > 0) + THEN +- RETURN( BuildIntegerConstant(StringLength(Mod2Gcc(operand))-1) ) ++ RETURN( BuildIntegerConstant (StringLength (Mod2Gcc (operand))-1) ) + ELSE +- RETURN( GetIntegerZero(location) ) ++ RETURN( GetIntegerZero (location) ) + END + END BuildHighFromString ; + +@@ -6401,7 +6436,7 @@ END BuildHighFromString ; + HIGH(operand). + *) + +-PROCEDURE ResolveHigh (tokenno: CARDINAL; dim, operand: CARDINAL) : Tree ; ++PROCEDURE ResolveHigh (tokenno: CARDINAL; dim, operand: CARDINAL) : tree ; + VAR + Type : CARDINAL ; + location: location_t ; +@@ -6439,7 +6474,7 @@ END ResolveHigh ; + PROCEDURE FoldHigh (tokenno: CARDINAL; p: WalkAction; + quad: CARDINAL; op1, dim, op3: CARDINAL) ; + VAR +- t : Tree ; ++ t : tree ; + location: location_t ; + BEGIN + (* firstly ensure that any constant literal is declared *) +@@ -6449,7 +6484,7 @@ BEGIN + THEN + t := ResolveHigh(tokenno, dim, op3) ; + (* fine, we can take advantage of this and fold constants *) +- IF IsConst(op1) AND (t#Tree(NIL)) ++ IF IsConst(op1) AND (t#tree(NIL)) + THEN + PutConst(op1, Cardinal) ; + AddModGcc(op1, +@@ -6504,7 +6539,7 @@ END CodeHigh ; + + PROCEDURE CodeUnbounded (result, array: CARDINAL) ; + VAR +- Addr : Tree ; ++ Addr : tree ; + location: location_t ; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -6574,7 +6609,7 @@ VAR + low, + subscript : CARDINAL ; + a, ta, +- ti, tl : Tree ; ++ ti, tl : tree ; + location : location_t ; + BEGIN + location := TokenToLocation (CurrentQuadToken) ; +@@ -6726,100 +6761,106 @@ END FoldElementSize ; + PopKindTree - returns a Tree from M2ALU of the type implied by, op. + *) + +-PROCEDURE PopKindTree (op: CARDINAL; tokenno: CARDINAL) : Tree ; ++PROCEDURE PopKindTree (op: CARDINAL; tokenno: CARDINAL) : tree ; + VAR + type: CARDINAL ; + BEGIN +- type := SkipType (GetType (op)) ; +- IF IsSet (type) +- THEN +- RETURN( PopSetTree (tokenno) ) +- ELSIF IsRealType (type) ++ IF IsConst (op) AND IsConstString (op) + THEN +- RETURN( PopRealTree () ) ++ (* Converting a nul char or char for example. *) ++ RETURN PopIntegerTree () + ELSE +- RETURN( PopIntegerTree () ) ++ type := SkipType (GetType (op)) ; ++ IF IsSet (type) ++ THEN ++ RETURN( PopSetTree (tokenno) ) ++ ELSIF IsRealType (type) ++ THEN ++ RETURN( PopRealTree () ) ++ ELSE ++ RETURN( PopIntegerTree () ) ++ END + END + END PopKindTree ; + + + (* +- FoldConvert - attempts to fold op3 to type op2 placing the result into +- op1, providing that op1 and op3 are constants. +- Convert will, if need be, alter the machine representation +- of op3 to comply with TYPE op2. ++ FoldConvert - attempts to fold expr to type into result ++ providing that result and expr are constants. ++ If required convert will alter the machine representation ++ of expr to comply with type. + *) + + PROCEDURE FoldConvert (tokenno: CARDINAL; p: WalkAction; +- quad: CARDINAL; op1, op2, op3: CARDINAL) ; ++ quad: CARDINAL; result, type, expr: CARDINAL) ; + + VAR +- tl : Tree ; ++ tl : tree ; + location: location_t ; + BEGIN +- location := TokenToLocation(tokenno) ; +- (* firstly ensure that constant literals are declared *) +- TryDeclareConstant(tokenno, op3) ; +- IF IsConstant(op3) ++ location := TokenToLocation (tokenno) ; ++ (* First ensure that constant literals are declared. *) ++ TryDeclareConstant (tokenno, expr) ; ++ IF IsConstant (expr) + THEN +- IF GccKnowsAbout(op2) AND +- (IsProcedure(op3) OR IsValueSolved(op3)) AND +- GccKnowsAbout(SkipType(op2)) ++ IF GccKnowsAbout (type) AND ++ (IsProcedure (expr) OR IsValueSolved (expr)) AND ++ GccKnowsAbout (SkipType (type)) + THEN +- (* fine, we can take advantage of this and fold constant *) +- IF IsConst(op1) ++ (* The type is known and expr is resolved so fold the convert. *) ++ IF IsConst (result) + THEN +- PutConst(op1, op2) ; +- tl := Mod2Gcc(SkipType(op2)) ; +- IF IsProcedure(op3) ++ PutConst (result, type) ; (* Change result type just in case. *) ++ tl := Mod2Gcc (SkipType (type)) ; ++ IF IsProcedure (expr) + THEN +- AddModGcc(op1, BuildConvert(location, tl, Mod2Gcc(op3), TRUE)) ++ AddModGcc (result, BuildConvert (location, tl, Mod2Gcc (expr), TRUE)) + ELSE +- PushValue(op3) ; +- IF IsConstSet(op3) ++ PushValue (expr) ; ++ IF IsConstSet (expr) + THEN +- IF IsSet(SkipType(op2)) ++ IF IsSet (SkipType (type)) + THEN +- WriteFormat0('cannot convert values between sets') ++ WriteFormat0 ('cannot convert values between sets') + ELSE +- PushIntegerTree(FoldAndStrip(BuildConvert(location, tl, PopSetTree(tokenno), TRUE))) ; +- PopValue(op1) ; +- PushValue(op1) ; +- AddModGcc(op1, PopIntegerTree()) ++ PushIntegerTree (FoldAndStrip (BuildConvert (location, tl, PopSetTree (tokenno), TRUE))) ; ++ PopValue (result) ; ++ PushValue (result) ; ++ AddModGcc (result, PopIntegerTree()) + END + ELSE +- IF IsSet(SkipType(op2)) ++ IF IsSet (SkipType (type)) + THEN +- PushSetTree(tokenno, +- FoldAndStrip(BuildConvert(location, tl, PopKindTree(op3, tokenno), +- TRUE)), SkipType(op2)) ; +- PopValue(op1) ; +- PutConstSet(op1) ; +- PushValue(op1) ; +- AddModGcc(op1, PopSetTree(tokenno)) +- ELSIF IsRealType(SkipType(op2)) ++ PushSetTree (tokenno, ++ FoldAndStrip (BuildConvert (location, tl, PopKindTree (expr, tokenno), ++ TRUE)), SkipType (type)) ; ++ PopValue (result) ; ++ PutConstSet (result) ; ++ PushValue (result) ; ++ AddModGcc (result, PopSetTree (tokenno)) ++ ELSIF IsRealType (SkipType (type)) + THEN +- PushRealTree(FoldAndStrip(BuildConvert(location, tl, PopKindTree(op3, tokenno), +- TRUE))) ; +- PopValue(op1) ; +- PushValue(op1) ; +- AddModGcc(op1, PopKindTree(op1, tokenno)) ++ PushRealTree (FoldAndStrip (BuildConvert (location, tl, PopKindTree (expr, tokenno), ++ TRUE))) ; ++ PopValue (result) ; ++ PushValue (result) ; ++ AddModGcc (result, PopKindTree (result, tokenno)) + ELSE +- (* we let CheckOverflow catch a potential overflow rather than BuildConvert *) +- PushIntegerTree(FoldAndStrip(BuildConvert(location, tl, +- PopKindTree(op3, tokenno), +- FALSE))) ; +- PopValue(op1) ; +- PushValue(op1) ; +- CheckOrResetOverflow(tokenno, PopKindTree(op1, tokenno), MustCheckOverflow(quad)) ; +- PushValue(op1) ; +- AddModGcc(op1, PopKindTree(op1, tokenno)) ++ (* Let CheckOverflow catch a potential overflow rather than BuildConvert. *) ++ PushIntegerTree (FoldAndStrip (BuildConvert (location, tl, ++ PopKindTree (expr, tokenno), ++ FALSE))) ; ++ PopValue (result) ; ++ PushValue (result) ; ++ CheckOrResetOverflow (tokenno, PopKindTree (result, tokenno), MustCheckOverflow (quad)) ; ++ PushValue (result) ; ++ AddModGcc (result, PopKindTree (result, tokenno)) + END + END + END ; +- p(op1) ; ++ p (result) ; + NoChange := FALSE ; +- SubQuad(quad) ++ SubQuad (quad) + END + END + END +@@ -6834,7 +6875,7 @@ END FoldConvert ; + + PROCEDURE CodeConvert (quad: CARDINAL; lhs, type, rhs: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location: location_t ; + BEGIN + CheckStop(quad) ; +@@ -7175,7 +7216,7 @@ END CodeIfSetLess ; + + PROCEDURE PerformCodeIfLess (quad: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7211,7 +7252,8 @@ BEGIN + ELSE + ConvertBinaryOperands (location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7288,7 +7330,7 @@ END CodeIfSetGre ; + + PROCEDURE PerformCodeIfGre (quad: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7322,7 +7364,8 @@ BEGIN + ELSE + ConvertBinaryOperands(location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7398,7 +7441,7 @@ END CodeIfSetLessEqu ; + + PROCEDURE PerformCodeIfLessEqu (quad: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7433,7 +7476,8 @@ BEGIN + ELSE + ConvertBinaryOperands (location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7510,7 +7554,7 @@ END CodeIfSetGreEqu ; + + PROCEDURE PerformCodeIfGreEqu (quad: CARDINAL) ; + VAR +- tl, tr: Tree ; ++ tl, tr: tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7545,7 +7589,8 @@ BEGIN + ELSE + ConvertBinaryOperands(location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7677,7 +7722,7 @@ END CodeIfSetNotEqu ; + ComparisonMixTypes - + *) + +-PROCEDURE ComparisonMixTypes (left, right: CARDINAL; tokpos: CARDINAL) : CARDINAL ; ++PROCEDURE ComparisonMixTypes (varleft, varright, left, right: CARDINAL; tokpos: CARDINAL) : CARDINAL ; + BEGIN + IF IsGenericSystemType (left) + THEN +@@ -7686,7 +7731,7 @@ BEGIN + THEN + RETURN right + ELSE +- RETURN MixTypes (left, right, tokpos) ++ RETURN MixTypesDecl (varleft, varright, left, right, tokpos) + END + END ComparisonMixTypes ; + +@@ -7697,7 +7742,7 @@ END ComparisonMixTypes ; + + PROCEDURE PerformCodeIfEqu (quad: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7732,7 +7777,8 @@ BEGIN + ELSE + ConvertBinaryOperands (location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7749,7 +7795,7 @@ END PerformCodeIfEqu ; + + PROCEDURE PerformCodeIfNotEqu (quad: CARDINAL) ; + VAR +- tl, tr : Tree ; ++ tl, tr : tree ; + location : location_t ; + left, right, dest, combined, + leftpos, rightpos, destpos : CARDINAL ; +@@ -7785,7 +7831,8 @@ BEGIN + ELSE + ConvertBinaryOperands (location, + tl, tr, +- ComparisonMixTypes (SkipType (GetType (left)), ++ ComparisonMixTypes (left, right, ++ SkipType (GetType (left)), + SkipType (GetType (right)), + combined), + left, right) ; +@@ -7882,7 +7929,7 @@ END MixTypes3 ; + PROCEDURE BuildIfVarInConstValue (location: location_t; tokenno: CARDINAL; + constsetvalue: PtrToValue; var, trueexit: CARDINAL) ; + VAR +- vt, lt, ht : Tree ; ++ vt, lt, ht : tree ; + type, + low, high, n: CARDINAL ; + truelabel : String ; +@@ -7905,7 +7952,7 @@ END BuildIfVarInConstValue ; + + PROCEDURE BuildIfNotVarInConstValue (quad: CARDINAL; constsetvalue: PtrToValue; var, trueexit: CARDINAL) ; + VAR +- vt, lt, ht : Tree ; ++ vt, lt, ht : tree ; + type, + low, high, n: CARDINAL ; + falselabel, +@@ -7952,7 +7999,7 @@ VAR + high : CARDINAL ; + lowtree, + hightree, +- offset : Tree ; ++ offset : tree ; + fieldno : INTEGER ; + location : location_t ; + left, right, dest, combined, +@@ -8022,7 +8069,7 @@ VAR + high : CARDINAL ; + lowtree, + hightree, +- offset : Tree ; ++ offset : tree ; + fieldno : INTEGER ; + location : location_t ; + left, right, dest, combined, +@@ -8161,7 +8208,7 @@ VAR + typepos, + xindrpos : CARDINAL ; + length, +- newstr : Tree ; ++ newstr : tree ; + location : location_t ; + BEGIN + GetQuadOtok (quad, xindrpos, op, left, type, right, +--- a/src/gcc/m2/gm2-compiler/M2LangDump.def ++++ b/src/gcc/m2/gm2-compiler/M2LangDump.def +@@ -21,7 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE M2LangDump ; + +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM DynamicStrings IMPORT String ; + FROM FIO IMPORT File ; + +@@ -31,7 +31,7 @@ FROM FIO IMPORT File ; + If no filter is specified it will always return default. + *) + +-PROCEDURE IsDumpRequiredTree (tree: Tree; default: BOOLEAN) : BOOLEAN ; ++PROCEDURE IsDumpRequiredTree (gcctree: tree; default: BOOLEAN) : BOOLEAN ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2LangDump.mod ++++ b/src/gcc/m2/gm2-compiler/M2LangDump.mod +@@ -377,11 +377,11 @@ END GetDumpFile ; + IsDumpRequiredTree - return TRUE if the gcc tree should be dumped. + *) + +-PROCEDURE IsDumpRequiredTree (tree: Tree; default: BOOLEAN) : BOOLEAN ; ++PROCEDURE IsDumpRequiredTree (gcctree: tree; default: BOOLEAN) : BOOLEAN ; + VAR + sym: CARDINAL ; + BEGIN +- sym := Gcc2Mod (tree) ; ++ sym := Gcc2Mod (gcctree) ; + IF sym = NulSym + THEN + RETURN default +--- a/src/gcc/m2/gm2-compiler/M2LexBuf.def ++++ b/src/gcc/m2/gm2-compiler/M2LexBuf.def +@@ -32,7 +32,7 @@ DEFINITION MODULE M2LexBuf ; + FROM SYSTEM IMPORT ADDRESS ; + FROM M2Reserved IMPORT toktype ; + FROM DynamicStrings IMPORT String ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + FROM NameKey IMPORT Name ; + + +@@ -185,8 +185,12 @@ PROCEDURE GetFileName () : String ; + + + (* +- MakeVirtualTok - creates and return a new tokenno which is created from +- tokenno caret, left and right. ++ MakeVirtualTok - providing caret, left, right are associated with a source file ++ and exist on the same src line then ++ create and return a new tokenno which is created from ++ tokenno left and right. Otherwise return caret. ++ If caret is UnknownTokenNo then it is replaced with left or right ++ in sequence to avoid an UnknownTokenNo. + *) + + PROCEDURE MakeVirtualTok (caret, left, right: CARDINAL) : CARDINAL ; +@@ -194,7 +198,8 @@ PROCEDURE MakeVirtualTok (caret, left, right: CARDINAL) : CARDINAL ; + + (* + MakeVirtual2Tok - creates and return a new tokenno which is created from +- two tokens left and right. ++ two tokens left and right. It tries to avoid UnknownTokenNo ++ and will fall back to left or right if necessary. + *) + + PROCEDURE MakeVirtual2Tok (left, right: CARDINAL) : CARDINAL ; +--- a/src/gcc/m2/gm2-compiler/M2LexBuf.mod ++++ b/src/gcc/m2/gm2-compiler/M2LexBuf.mod +@@ -35,7 +35,8 @@ FROM M2Printf IMPORT printf0, printf1, printf2, printf3 ; + FROM M2Debug IMPORT Assert ; + FROM NameKey IMPORT makekey ; + FROM NumberIO IMPORT CardToStr ; +-FROM m2linemap IMPORT location_t, GetLocationBinary ; ++FROM gcctypes IMPORT location_t ; ++FROM m2linemap IMPORT GetLocationBinary ; + FROM M2Emit IMPORT UnknownLocation, BuiltinsLocation ; + FROM M2Error IMPORT WarnStringAt ; + FROM M2MetaError IMPORT MetaErrorT0 ; +@@ -1060,6 +1061,8 @@ END isSrcToken ; + and exist on the same src line then + create and return a new tokenno which is created from + tokenno left and right. Otherwise return caret. ++ If caret is UnknownTokenNo then it is replaced with left or right ++ in sequence to avoid an UnknownTokenNo. + *) + + PROCEDURE MakeVirtualTok (caret, left, right: CARDINAL) : CARDINAL ; +@@ -1067,6 +1070,14 @@ VAR + descLeft, descRight: TokenDesc ; + lc, ll, lr : location_t ; + BEGIN ++ IF caret = UnknownTokenNo ++ THEN ++ caret := left ++ END ; ++ IF caret = UnknownTokenNo ++ THEN ++ caret := right ++ END ; + IF isSrcToken (caret) AND isSrcToken (left) AND isSrcToken (right) + THEN + lc := TokenToLocation (caret) ; +@@ -1097,11 +1108,19 @@ END MakeVirtualTok ; + + (* + MakeVirtual2Tok - creates and return a new tokenno which is created from +- two tokens left and right. ++ two tokens left and right. It tries to avoid UnknownTokenNo ++ and will fall back to left or right if necessary. + *) + + PROCEDURE MakeVirtual2Tok (left, right: CARDINAL) : CARDINAL ; + BEGIN ++ IF left = UnknownTokenNo ++ THEN ++ left := right ++ ELSIF right = UnknownTokenNo ++ THEN ++ right := left ++ END ; + RETURN MakeVirtualTok (left, left, right) ; + END MakeVirtual2Tok ; + +--- a/src/gcc/m2/gm2-compiler/M2MetaError.def ++++ b/src/gcc/m2/gm2-compiler/M2MetaError.def +@@ -21,33 +21,11 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE M2MetaError ; + +-(* +- Title : M2MetaError +- Author : Gaius Mulley +- System : GNU Modula-2 +- Date : Tue Oct 14 12:11:13 2008 +- Revision : $Version$ +- Description: provides a set of high level error routines. These +- routines utilise M2Error and provides the programmer +- with an easier method to obtain useful symbol table +- information. +-*) ++(* Provides a set of high level error routines using format specifiers. *) + + FROM DynamicStrings IMPORT String ; + FROM NameKey IMPORT Name ; + +-EXPORT QUALIFIED MetaError0, MetaError1, MetaError2, MetaError3, MetaError4, +- MetaErrors1, MetaErrors2, MetaErrors3, MetaErrors4, +- MetaErrorT0, MetaErrorT1, MetaErrorT2, MetaErrorT3, MetaErrorT4, +- MetaErrorsT1, MetaErrorsT2, MetaErrorsT3, MetaErrorsT4, +- MetaErrorString0, +- MetaErrorString1, MetaErrorString2, MetaErrorString3, +- MetaErrorString4, +- MetaErrorStringT0, MetaErrorStringT1, MetaErrorStringT2, +- MetaErrorStringT3, MetaErrorStringT4, +- MetaErrorN1, MetaErrorN2, MetaErrorNT0, MetaErrorNT1, MetaErrorNT2, +- MetaString0, MetaString1, MetaString2, MetaString3, MetaString4 ; +- + + (* + All the procedures below expect the s, s1, s2, s3, s4 to be symbols +@@ -69,11 +47,23 @@ EXPORT QUALIFIED MetaError0, MetaError1, MetaError2, MetaError3, MetaError4, + {%1D} sets the error message to where symbol 1 was declared. + The declaration will choose the definition module, then + implementation (or program) module. ++ {%1G} sets the error message to where symbol 1 was declared. ++ The declaration will choose in order the forward declaration, ++ implementation module, program module or definition module. + {%1M} sets the error message to where symbol 1 was declared. + The declaration will choose the implementation or program + module and if these do not exist then it falls back to + the definition module. + {%1U} sets the error message to where symbol 1 was first used. ++ {%1V} set the error message location to the name of the symbol declared. ++ For example foo: bar ++ ^^^ some error message. ++ {%1H} set the error message location to the whole declaration of the symbol. ++ For example foo: bar ++ ^^^^^^^^ some error message. ++ {%1B} set the error message location to the type declaration of the symbol. ++ For example foo: bar ++ ^^^ some error message. + {%A} abort, issue non recoverable error message (this should + not used for internal errors). + {%E} error (default recoverable error). +@@ -182,4 +172,14 @@ PROCEDURE MetaString2 (m: String; s1, s2: CARDINAL) : String ; + PROCEDURE MetaString3 (m: String; s1, s2, s3: CARDINAL) : String ; + PROCEDURE MetaString4 (m: String; s1, s2, s3, s4: CARDINAL) : String ; + ++ ++(* ++ MetaErrorDecl - if sym is a variable or parameter then generate a ++ declaration error or warning message. If error is ++ FALSE then a warning is issued. ++*) ++ ++PROCEDURE MetaErrorDecl (sym: CARDINAL; error: BOOLEAN) ; ++ ++ + END M2MetaError. +--- a/src/gcc/m2/gm2-compiler/M2MetaError.mod ++++ b/src/gcc/m2/gm2-compiler/M2MetaError.mod +@@ -50,7 +50,7 @@ FROM SymbolTable IMPORT NulSym, + IsDefImp, IsModule, IsInnerModule, + IsUnknown, IsType, IsProcedure, IsParameter, + IsParameterUnbounded, IsParameterVar, IsVarParam, +- IsUnboundedParam, IsPointer, IsRecord, IsVarient, ++ IsUnboundedParamAny, IsPointer, IsRecord, IsVarient, + IsFieldVarient, IsEnumeration, IsFieldEnumeration, + IsUnbounded, IsArray, IsRecordField, IsProcType, + IsVar, IsConst, IsConstString, IsConstLit, IsConstSet, +@@ -58,8 +58,10 @@ FROM SymbolTable IMPORT NulSym, + IsSubscript, IsSubrange, IsSet, IsHiddenType, + IsError, GetSymName, GetScope, IsExported, + GetType, SkipType, GetDeclaredDef, GetDeclaredMod, +- GetDeclaredModule, GetDeclaredDefinition, GetScope, +- GetFirstUsed, IsNameAnonymous, GetErrorScope ; ++ GetDeclaredFor, GetDeclaredModule, ++ GetDeclaredDefinition, GetScope, ++ GetFirstUsed, IsNameAnonymous, GetErrorScope, ++ GetVarDeclTok, GetVarDeclTypeTok, GetVarDeclFullTok ; + + IMPORT M2ColorString ; + IMPORT M2Error ; +@@ -71,6 +73,8 @@ CONST + ColorDebug = FALSE ; + + TYPE ++ GetTokProcedure = PROCEDURE (CARDINAL) : CARDINAL ; ++ + errorType = (none, error, warning, note, chained, aborta) ; + colorType = (unsetColor, noColor, quoteColor, filenameColor, errorColor, + warningColor, noteColor, keywordColor, locusColor, +@@ -704,11 +708,23 @@ END killErrorBlock ; + ) + =: + +- op := {'a'|'q'|'t'|'d'|'n'|'s'|'D'|'I'|'U'|'E'|'W'|'A'} then =: ++ op := {'a'|'q'|'t'|'d'|'n'|'s'|'B'|'D'|'F'|'G'|'H'|'M'|'U'|'E'|'V'|'W'|'A'} then =: + + then := [ ':' ebnf ] =: + *) + ++(* ++ {%1V} set the error message location to the name of the symbol declared. ++ For example foo: bar ++ ^^^ some error message. ++ {%1H} set the error message location to the whole declaration of the symbol. ++ For example foo: bar ++ ^^^^^^^^ some error message. ++ {%1B} set the error message location to the type declaration of the symbol. ++ For example foo: bar ++ ^^^ some error message. ++*) ++ + + (* + InternalFormat - produces an informative internal error. +@@ -1185,6 +1201,72 @@ BEGIN + END chooseError ; + + ++(* ++ doErrorScopeModule - ++*) ++ ++PROCEDURE doErrorScopeModule (VAR eb: errorBlock; sym: CARDINAL) ; ++VAR ++ scope: CARDINAL ; ++BEGIN ++ scope := GetScope (sym) ; ++ IF IsModule (scope) ++ THEN ++ IF IsInnerModule (scope) ++ THEN ++ doError (eb, GetDeclaredMod (sym)) ++ ELSE ++ doError (eb, GetDeclaredMod (sym)) ++ END ++ ELSE ++ Assert (IsDefImp (scope)) ; ++ (* if this fails then we need to skip to the outer scope. ++ REPEAT ++ OuterModule := GetScope(OuterModule) ++ UNTIL GetScope(OuterModule)=NulSym. *) ++ IF GetDeclaredModule (sym) = UnknownTokenNo ++ THEN ++ doError (eb, GetDeclaredDef (sym)) ++ ELSE ++ doError (eb, GetDeclaredMod (sym)) ++ END ++ END ++END doErrorScopeModule ; ++ ++ ++(* ++ doErrorScopeForward - ++*) ++ ++PROCEDURE doErrorScopeForward (VAR eb: errorBlock; sym: CARDINAL) ; ++VAR ++ scope: CARDINAL ; ++BEGIN ++ scope := GetScope (sym) ; ++ IF IsModule (scope) ++ THEN ++ IF IsInnerModule (scope) ++ THEN ++ doError (eb, GetDeclaredFor (sym)) ++ ELSE ++ doError (eb, GetDeclaredFor (sym)) ++ END ++ ELSE ++ Assert (IsDefImp (scope)) ; ++ (* if this fails then we need to skip to the outer scope. ++ REPEAT ++ OuterModule := GetScope(OuterModule) ++ UNTIL GetScope(OuterModule)=NulSym. *) ++ IF GetDeclaredModule (sym) = UnknownTokenNo ++ THEN ++ doError (eb, GetDeclaredDef (sym)) ++ ELSE ++ doError (eb, GetDeclaredFor (sym)) ++ END ++ END ++END doErrorScopeForward ; ++ ++ + (* + doErrorScopeMod - potentially create an error referring to the definition + module, fall back to the implementation or program module if +@@ -1206,33 +1288,82 @@ BEGIN + THEN + doError (eb, GetDeclaredMod (sym)) + ELSE +- IF IsModule (scope) +- THEN +- IF IsInnerModule (scope) +- THEN +- doError (eb, GetDeclaredMod (sym)) +- ELSE +- doError (eb, GetDeclaredMod (sym)) +- END +- ELSE +- Assert (IsDefImp (scope)) ; +- (* if this fails then we need to skip to the outer scope. +- REPEAT +- OuterModule := GetScope(OuterModule) +- UNTIL GetScope(OuterModule)=NulSym ; *) +- IF GetDeclaredModule (sym) = UnknownTokenNo +- THEN +- doError (eb, GetDeclaredDef (sym)) +- ELSE +- doError (eb, GetDeclaredMod (sym)) +- END +- END ++ doErrorScopeModule (eb, sym) + END + END ; + M2Error.LeaveErrorScope + END doErrorScopeMod ; + + ++(* ++ doErrorScopeFor - potentially create an error referring to the ++ forward declaration, definition module, fall back ++ to the implementation or program module if ++ there is no declaration in the definition module. ++*) ++ ++PROCEDURE doErrorScopeFor (VAR eb: errorBlock; sym: CARDINAL) ; ++VAR ++ scope: CARDINAL ; ++BEGIN ++ scope := GetScope (sym) ; ++ IF scope = NulSym ++ THEN ++ M2Error.EnterErrorScope (NIL) ; ++ doError (eb, GetDeclaredFor (sym)) ++ ELSE ++ M2Error.EnterErrorScope (GetErrorScope (scope)) ; ++ IF IsProcedure (scope) ++ THEN ++ doError (eb, GetDeclaredFor (sym)) ++ ELSE ++ doErrorScopeForward (eb, sym) ++ END ++ END ; ++ M2Error.LeaveErrorScope ++END doErrorScopeFor ; ++ ++ ++(* ++ doDeclaredMod - creates an error note where sym[bol] was declared. ++*) ++ ++PROCEDURE declaredMod (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++BEGIN ++ IF bol <= HIGH (sym) ++ THEN ++ doErrorScopeMod (eb, sym[bol]) ++ END ++END declaredMod ; ++ ++ ++(* ++ doErrorScopeDefinition - use the declaration in the definitio module if one is available. ++*) ++ ++PROCEDURE doErrorScopeDefinition (VAR eb: errorBlock; sym: CARDINAL) ; ++VAR ++ scope: CARDINAL ; ++BEGIN ++ scope := GetScope (sym) ; ++ IF IsModule (scope) ++ THEN ++ (* No definition module for a program module. *) ++ doError (eb, GetDeclaredMod (sym)) ++ ELSE ++ Assert (IsDefImp (scope)) ; ++ IF GetDeclaredDefinition (sym) = UnknownTokenNo ++ THEN ++ (* Fall back to the implementation module if no declaration exists ++ in the definition module. *) ++ doError (eb, GetDeclaredMod (sym)) ++ ELSE ++ doError (eb, GetDeclaredDef (sym)) ++ END ++ END ++END doErrorScopeDefinition ; ++ ++ + (* + doErrorScopeDef - potentially create an error referring to the definition + module, fall back to the implementation or program module if +@@ -1247,12 +1378,73 @@ BEGIN + IF scope = NulSym + THEN + M2Error.EnterErrorScope (NIL) ; +- doError (eb, GetDeclaredDef (sym)) ++ doError (eb, GetDeclaredFor (sym)) + ELSE + M2Error.EnterErrorScope (GetErrorScope (scope)) ; + IF IsProcedure (scope) + THEN + doError (eb, GetDeclaredDef (sym)) ++ ELSE ++ doErrorScopeDefinition (eb, sym) ++ END ++ END ; ++ M2Error.LeaveErrorScope ++END doErrorScopeDef ; ++ ++ ++(* ++ doDeclaredDef - creates an error note where sym[bol] was declared. ++*) ++ ++PROCEDURE declaredDef (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++BEGIN ++ IF bol <= HIGH (sym) ++ THEN ++ doErrorScopeDef (eb, sym[bol]) ++ END ++END declaredDef ; ++ ++ ++(* ++ doDeclaredFor - creates an error note where sym[bol] was declared. ++*) ++ ++PROCEDURE declaredFor (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++BEGIN ++ IF bol <= HIGH (sym) ++ THEN ++ doErrorScopeFor (eb, sym[bol]) ++ END ++END declaredFor ; ++ ++ ++(* ++ doErrorScopeProc - determine the location for the error or warning from ++ the default declaration. For example parameters can be ++ declared in definition, forward or in modules (proper procedure). ++ Use GetVarParamTok to obtain a variable or parameter location. ++*) ++ ++PROCEDURE doErrorScopeProc (VAR eb: errorBlock; sym: CARDINAL; ++ GetVarParamTok: GetTokProcedure) ; ++VAR ++ scope: CARDINAL ; ++BEGIN ++ scope := GetScope (sym) ; ++ IF scope = NulSym ++ THEN ++ M2Error.EnterErrorScope (NIL) ; ++ doError (eb, GetDeclaredDef (sym)) ++ ELSE ++ M2Error.EnterErrorScope (GetErrorScope (scope)) ; ++ IF IsProcedure (scope) ++ THEN ++ IF IsVar (sym) OR IsParameter (sym) ++ THEN ++ doError (eb, GetVarParamTok (sym)) ++ ELSE ++ doError (eb, GetDeclaredDef (sym)) ++ END + ELSE + IF IsModule (scope) + THEN +@@ -1275,36 +1467,49 @@ BEGIN + doError (eb, GetDeclaredDef (sym)) + END + END +- END ++ END + END ; + M2Error.LeaveErrorScope +-END doErrorScopeDef ; ++END doErrorScopeProc ; + + + (* +- declaredDef - creates an error note where sym[bol] was declared. ++ doDeclaredVar - creates an error note where sym[bol] was declared. + *) + +-PROCEDURE declaredDef (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++PROCEDURE declaredVar (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; + BEGIN + IF bol <= HIGH (sym) + THEN +- doErrorScopeDef (eb, sym[bol]) ++ doErrorScopeProc (eb, sym[bol], GetVarDeclTok) + END +-END declaredDef ; ++END declaredVar ; + + + (* +- doDeclaredMod - creates an error note where sym[bol] was declared. ++ doDeclaredType - creates an error note where sym[bol] was declared. + *) + +-PROCEDURE declaredMod (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++PROCEDURE declaredType (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; + BEGIN + IF bol <= HIGH (sym) + THEN +- doErrorScopeMod (eb, sym[bol]) ++ doErrorScopeProc (eb, sym[bol], GetVarDeclTypeTok) + END +-END declaredMod ; ++END declaredType ; ++ ++ ++(* ++ doDeclaredFull - creates an error note where sym[bol] was declared. ++*) ++ ++PROCEDURE declaredFull (VAR eb: errorBlock; sym: ARRAY OF CARDINAL; bol: CARDINAL) ; ++BEGIN ++ IF bol <= HIGH (sym) ++ THEN ++ doErrorScopeProc (eb, sym[bol], GetVarDeclFullTok) ++ END ++END declaredFull ; + + + (* +@@ -1479,7 +1684,9 @@ END copySym ; + + + (* +- op := {'a'|'q'|'t'|'d'|'n'|'s'| 'u' |'D'|'I'|'U'|'E'|'W'} then =: ++ op := {'!'|'a'|'c'|'d'|'k'|'n'|'p'|'q'|'s'|'t'|'u'| ++ 'A'|'B'|'C'|'D'|'E'|'F'|'G'|'H'|'K'|'M'|'N'| ++ 'O'|'P'|'Q'|'R'|'S'|'T'|'U'|'V'|'W'|'X'|'Y'|'Z'} then =: + *) + + PROCEDURE op (VAR eb: errorBlock; +@@ -1495,39 +1702,43 @@ BEGIN + + '!': eb.positive := NOT eb.positive | + 'a': doName (eb, sym, bol) | +- 'q': doQualified (eb, sym, bol) | +- 't': doType (eb, sym, bol) | ++ 'c': eb.currentCol := readColor (eb) ; ++ DEC (eb.ini) | + 'd': doDesc (eb, sym, bol) | ++ 'k': unquotedKeyword (eb) ; ++ DEC (eb.ini) | + 'n': doNumber (eb, sym, bol) | +- 'N': doCount (eb, sym, bol) | ++ 'p': popColor (eb) | ++ 'q': doQualified (eb, sym, bol) | + 's': doSkipType (eb, sym, bol) | +- 'D': declaredDef (eb, sym, bol) | +- 'M': declaredMod (eb, sym, bol) | +- 'U': used (eb, sym, bol) | +- 'E': eb.type := error | ++ 't': doType (eb, sym, bol) | ++ 'u': eb.quotes := FALSE | + 'A': eb.type := aborta ; + seenAbort := TRUE | +- 'W': eb.type := warning | +- 'O': eb.type := note | ++ 'B': declaredType (eb, sym, bol) | + 'C': eb.chain := TRUE | +- 'R': eb.root := TRUE | +- 'S': doGetSkipType (eb, sym, bol) | +- 'T': doGetType (eb, sym, bol) | +- 'P': pushColor (eb) | +- 'p': popColor (eb) | +- 'c': eb.currentCol := readColor (eb) ; ++ 'D': declaredDef (eb, sym, bol) | ++ 'E': eb.type := error | ++ 'F': filename (eb) ; + DEC (eb.ini) | ++ 'G': declaredFor (eb, sym, bol) | ++ 'H': declaredFull (eb, sym, bol) | + 'K': keyword (eb) ; + DEC (eb.ini) | +- 'k': unquotedKeyword (eb) ; +- DEC (eb.ini) | ++ 'M': declaredMod (eb, sym, bol) | ++ 'N': doCount (eb, sym, bol) | ++ 'O': eb.type := note | ++ 'P': pushColor (eb) | + 'Q': resetDictionary | ++ 'R': eb.root := TRUE | ++ 'S': doGetSkipType (eb, sym, bol) | ++ 'T': doGetType (eb, sym, bol) | ++ 'U': used (eb, sym, bol) | ++ 'V': declaredVar (eb, sym, bol) | ++ 'W': eb.type := warning | + 'X': pushOutput (eb) | + 'Y': processDefine (eb) | + 'Z': popOutput (eb) | +- 'F': filename (eb) ; +- DEC (eb.ini) | +- 'u': eb.quotes := FALSE | + ':': ifNonNulThen (eb, sym) ; + DEC (eb.ini) | + '1': InternalError ('incorrect format spec, expecting %1 rather than % spec 1') | +@@ -1536,7 +1747,7 @@ BEGIN + '4': InternalError ('incorrect format spec, expecting %4 rather than % spec 4') + + ELSE +- InternalFormat (eb, 'expecting one of [akqtdnpsuCDEFKNOPQRSTUWXYZ:<>%]', __LINE__) ++ InternalFormat (eb, 'expecting one of [akqtdnpsuCDEFGKNOPQRSTUWXYZ:<>%]', __LINE__) + END ; + INC (eb.ini) + END ; +@@ -2471,6 +2682,36 @@ BEGIN + END MetaString4 ; + + ++(* ++ MetaErrorDecl - if sym is a variable or parameter then generate a ++ declaration error or warning message. If error is ++ FALSE then a warning is issued. ++*) ++ ++PROCEDURE MetaErrorDecl (sym: CARDINAL; error: BOOLEAN) ; ++BEGIN ++ IF (sym # NulSym) AND IsVar (sym) ++ THEN ++ IF error ++ THEN ++ IF IsVarAParam (sym) ++ THEN ++ MetaErrorT1 (GetVarDeclFullTok (sym), 'parameter declaration for {%1ad}', sym) ++ ELSE ++ MetaErrorT1 (GetVarDeclFullTok (sym), 'variable declaration for {%1ad}', sym) ++ END ++ ELSE ++ IF IsVarAParam (sym) ++ THEN ++ MetaErrorT1 (GetVarDeclFullTok (sym), 'parameter declaration for {%1Wad}', sym) ++ ELSE ++ MetaErrorT1 (GetVarDeclFullTok (sym), 'variable declaration for {%1Wad}', sym) ++ END ++ END ++ END ++END MetaErrorDecl ; ++ ++ + BEGIN + lastRoot := NIL ; + lastColor := noColor ; +--- a/src/gcc/m2/gm2-compiler/M2Options.def ++++ b/src/gcc/m2/gm2-compiler/M2Options.def +@@ -32,7 +32,7 @@ DEFINITION MODULE M2Options ; + + FROM SYSTEM IMPORT ADDRESS ; + FROM DynamicStrings IMPORT String ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + + + VAR +@@ -653,6 +653,7 @@ PROCEDURE SetXCode (value: BOOLEAN) ; + + (* + SetCompilerDebugging - turn on internal compiler debugging. ++ Enabled via the command line option -fd. + *) + + PROCEDURE SetCompilerDebugging (value: BOOLEAN) ; +@@ -1061,7 +1062,7 @@ PROCEDURE GetM2DumpFilter () : ADDRESS ; + SetM2Dump - sets the dump via a comma separated list: quad,decl,gimple,all. + *) + +-PROCEDURE SetM2Dump (value: BOOLEAN; filter: ADDRESS) ; ++PROCEDURE SetM2Dump (value: BOOLEAN; filter: ADDRESS) : BOOLEAN ; + + + (* +@@ -1120,6 +1121,20 @@ PROCEDURE GetDebugTraceLine () : BOOLEAN ; + PROCEDURE GetDebugFunctionLineNumbers () : BOOLEAN ; + + ++(* ++ GetEnableForward - return EnableForward. ++*) ++ ++PROCEDURE GetEnableForward () : BOOLEAN ; ++ ++ ++(* ++ SetEnableForward - set EnableForward to value. ++*) ++ ++PROCEDURE SetEnableForward (value: BOOLEAN) ; ++ ++ + (* + FinaliseOptions - once all options have been parsed we set any inferred + values. +--- a/src/gcc/m2/gm2-compiler/M2Options.mod ++++ b/src/gcc/m2/gm2-compiler/M2Options.mod +@@ -30,7 +30,7 @@ FROM M2Printf IMPORT printf0, printf1, fprintf1 ; + FROM FIO IMPORT StdErr ; + FROM libc IMPORT exit, printf ; + FROM Debug IMPORT Halt ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + FROM m2configure IMPORT FullPathCPP, TargetIEEEQuadDefault ; + FROM M2Error IMPORT InternalError ; + FROM FormatStrings IMPORT Sprintf1 ; +@@ -76,6 +76,7 @@ VAR + UselistFilename, + RuntimeModuleOverride, + CppArgs : String ; ++ EnableForward, + DebugFunctionLineNumbers, + DebugTraceQuad, (* -fm2-debug-trace=quad. *) + DebugTraceLine, (* -fm2-debug-trace=line. *) +@@ -617,7 +618,7 @@ END SetCheckAll ; + TRUE is returned. + *) + +-PROCEDURE SetAutoInit (value: BOOLEAN) ; ++PROCEDURE SetAutoInit (value: BOOLEAN) : BOOLEAN ; + BEGIN + AutoInit := value ; + RETURN TRUE +@@ -1097,6 +1098,7 @@ END SetQuadDebugging ; + + (* + SetCompilerDebugging - turn on internal compiler debugging. ++ Enabled via the command line option -fd. + *) + + PROCEDURE SetCompilerDebugging (value: BOOLEAN) ; +@@ -2008,13 +2010,23 @@ END GetDumpDecl ; + + + (* +- GetDumpLangGimple - return TRUE if the gimple flag is set from SetM2Dump. ++ GetEnableForward - return EnableForward. + *) + +-PROCEDURE GetDumpGimple () : BOOLEAN ; ++PROCEDURE GetEnableForward () : BOOLEAN ; + BEGIN +- RETURN DumpGimple +-END GetDumpGimple ; ++ RETURN EnableForward ++END GetEnableForward ; ++ ++ ++(* ++ SetEnableForward - set EnableForward to value. ++*) ++ ++PROCEDURE SetEnableForward (value: BOOLEAN) ; ++BEGIN ++ EnableForward := value ++END SetEnableForward ; + + + BEGIN +@@ -2108,5 +2120,6 @@ BEGIN + DumpQuad := FALSE ; + DumpGimple := FALSE ; + M2Dump := NIL ; +- M2DumpFilter := NIL ++ M2DumpFilter := NIL ; ++ EnableForward := TRUE + END M2Options. +--- a/src/gcc/m2/gm2-compiler/M2Quads.def ++++ b/src/gcc/m2/gm2-compiler/M2Quads.def +@@ -78,7 +78,7 @@ EXPORT QUALIFIED StartBuildDefFile, StartBuildModFile, EndBuildFile, + BuildBinaryOp, + BuildUnaryOp, + RecordOp, +- Top, ++ Top, DupFrame, + PopTF, PushTF, PopT, PushT, PopNothing, PopN, PushTFA, + PushTtok, PushTFtok, PopTFtok, PopTtok, PushTFAtok, + PushTFn, PushTFntok, PopTFn, +@@ -123,7 +123,7 @@ EXPORT QUALIFIED StartBuildDefFile, StartBuildModFile, EndBuildFile, + IsOptimizeOn, + IsPseudoQuad, + IsDefOrModFile, +- IsInitialisingConst, ++ IsInitialisingConst, IsConstQuad, IsConditionalBooleanQuad, + IsQuadConstExpr, + IsBecomes, + IsDummy, +@@ -202,6 +202,7 @@ TYPE + InitStartOp, + InlineOp, + KillLocalVarOp, ++ LastForIteratorOp, + LineNumberOp, + LogicalAndOp, + LogicalDiffOp, +@@ -465,6 +466,20 @@ PROCEDURE GetQuadOp3 (QuadNo: CARDINAL) : CARDINAL ; + PROCEDURE IsInitialisingConst (QuadNo: CARDINAL) : BOOLEAN ; + + ++(* ++ IsConstQuad - return TRUE if the quadruple is marked as a constexpr. ++*) ++ ++PROCEDURE IsConstQuad (quad: CARDINAL) : BOOLEAN ; ++ ++ ++(* ++ IsConditionalBooleanQuad - return TRUE if operand 1 is a boolean result. ++*) ++ ++PROCEDURE IsConditionalBooleanQuad (quad: CARDINAL) : BOOLEAN ; ++ ++ + (* + IsOptimizeOn - returns true if the Optimize flag was true at QuadNo. + *) +@@ -1012,7 +1027,7 @@ PROCEDURE BuildAssignConstant (equalsTokNo: CARDINAL) ; + |---------------| empty + *) + +-PROCEDURE BuildAlignment ; ++PROCEDURE BuildAlignment (tokno: CARDINAL) ; + + + (* +@@ -1030,7 +1045,7 @@ PROCEDURE BuildAlignment ; + |------------| empty + *) + +-PROCEDURE BuildBitLength ; ++PROCEDURE BuildBitLength (tokno: CARDINAL) ; + + + (* +@@ -2514,6 +2529,13 @@ PROCEDURE DisplayStack ; + PROCEDURE Top () : CARDINAL ; + + ++(* ++ DupFrame - duplicate the top of stack and push the new frame. ++*) ++ ++PROCEDURE DupFrame ; ++ ++ + (* + WriteOperand - displays the operands name, symbol id and mode of addressing. + *) +--- a/src/gcc/m2/gm2-compiler/M2Quads.mod ++++ b/src/gcc/m2/gm2-compiler/M2Quads.mod +@@ -37,9 +37,11 @@ FROM M2MetaError IMPORT MetaError0, MetaError1, MetaError2, MetaError3, + MetaErrorT0, MetaErrorT1, MetaErrorT2, + MetaErrorsT1, MetaErrorsT2, MetaErrorT3, + MetaErrorStringT0, MetaErrorStringT1, ++ MetaErrorStringT2, + MetaErrorString1, MetaErrorString2, + MetaErrorN1, MetaErrorN2, +- MetaErrorNT0, MetaErrorNT1, MetaErrorNT2 ; ++ MetaErrorNT0, MetaErrorNT1, MetaErrorNT2, ++ MetaErrorDecl ; + + FROM DynamicStrings IMPORT String, string, InitString, KillString, + ConCat, InitStringCharStar, Dup, Mark, +@@ -48,13 +50,13 @@ FROM DynamicStrings IMPORT String, string, InitString, KillString, + InitStringCharDB, MultDB, DupDB, SliceDB ; + + FROM SymbolTable IMPORT ModeOfAddr, GetMode, PutMode, GetSymName, IsUnknown, +- MakeTemporary, ++ MakeTemporary, ProcedureKind, + MakeTemporaryFromExpression, + MakeTemporaryFromExpressions, + MakeConstLit, + MakeConstString, MakeConstant, MakeConstVar, + MakeConstStringM2nul, MakeConstStringCnul, +- Make2Tuple, ++ Make2Tuple, IsTuple, + RequestSym, MakePointer, PutPointer, + SkipType, + GetDType, GetSType, GetLType, +@@ -65,7 +67,7 @@ FROM SymbolTable IMPORT ModeOfAddr, GetMode, PutMode, GetSymName, IsUnknown, + GetStringLength, GetString, + GetArraySubscript, GetDimension, + GetParam, +- GetNth, GetNthParam, ++ GetNth, GetNthParamAny, + GetFirstUsed, GetDeclaredMod, + GetQuads, GetReadQuads, GetWriteQuads, + GetWriteLimitQuads, GetReadLimitQuads, +@@ -88,14 +90,14 @@ FROM SymbolTable IMPORT ModeOfAddr, GetMode, PutMode, GetSymName, IsUnknown, + PutVarConst, IsVarConst, + PutConstLitInternal, + PutVarHeap, +- IsVarParam, IsProcedure, IsPointer, IsParameter, +- IsUnboundedParam, IsEnumeration, IsDefinitionForC, ++ IsVarParamAny, IsProcedure, IsPointer, IsParameter, ++ IsUnboundedParamAny, IsEnumeration, IsDefinitionForC, + IsVarAParam, IsVarient, IsLegal, +- UsesVarArgs, UsesOptArg, ++ UsesVarArgs, UsesOptArgAny, + GetOptArgInit, +- IsReturnOptional, ++ IsReturnOptionalAny, + NoOfElements, +- NoOfParam, ++ NoOfParamAny, + StartScope, EndScope, + IsGnuAsm, IsGnuAsmVolatile, + MakeRegInterface, PutRegInterface, +@@ -131,10 +133,14 @@ FROM SymbolTable IMPORT ModeOfAddr, GetMode, PutMode, GetSymName, IsUnknown, + GetUnboundedAddressOffset, + GetUnboundedHighOffset, + PutVarArrayRef, ++ PutProcedureDefined, ++ PutProcedureParametersDefined, ++ GetVarDeclFullTok, + + ForeachFieldEnumerationDo, ForeachLocalSymDo, + GetExported, PutImported, GetSym, GetLibName, + GetTypeMode, ++ IsVarConditional, PutVarConditional, + IsUnused, + NulSym ; + +@@ -276,7 +282,7 @@ IMPORT M2Error, FIO, SFIO, DynamicStrings, StdIO ; + CONST + DebugStackOn = TRUE ; + DebugVarients = FALSE ; +- BreakAtQuad = 140 ; ++ BreakAtQuad = 758 ; + DebugTokPos = FALSE ; + + TYPE +@@ -959,6 +965,29 @@ VAR + op1, op2, op3: CARDINAL ; + BEGIN + GetQuad (QuadNo, op, op1, op2, op3) ; ++ RETURN OpUsesOp1 (op) AND IsConst (op1) ++END IsInitialisingConst ; ++ ++ ++(* ++ IsConstQuad - return TRUE if the quadruple is marked as a constexpr. ++*) ++ ++PROCEDURE IsConstQuad (quad: CARDINAL) : BOOLEAN ; ++VAR ++ f: QuadFrame ; ++BEGIN ++ f := GetQF (quad) ; ++ RETURN f^.ConstExpr ++END IsConstQuad ; ++ ++ ++(* ++ OpUsesOp1 - return TRUE if op allows op1. ++*) ++ ++PROCEDURE OpUsesOp1 (op: QuadOperator) : BOOLEAN ; ++BEGIN + CASE op OF + + StringConvertCnulOp, +@@ -997,12 +1026,27 @@ BEGIN + XIndrOp, + IndrXOp, + SaveExceptionOp, +- RestoreExceptionOp: RETURN( IsConst(op1) ) ++ RestoreExceptionOp: RETURN TRUE + + ELSE +- RETURN( FALSE ) ++ RETURN FALSE + END +-END IsInitialisingConst ; ++END OpUsesOp1 ; ++ ++ ++(* ++ IsConditionalBooleanQuad - return TRUE if operand 1 is a boolean result. ++*) ++ ++PROCEDURE IsConditionalBooleanQuad (quad: CARDINAL) : BOOLEAN ; ++VAR ++ f: QuadFrame ; ++BEGIN ++ f := GetQF (quad) ; ++ RETURN OpUsesOp1 (f^.Operator) AND ++ (IsVar (f^.Operand1) OR IsConst (f^.Operand1)) AND ++ IsVarConditional (f^.Operand1) ++END IsConditionalBooleanQuad ; + + + (* +@@ -1315,10 +1359,6 @@ PROCEDURE PutQuadOtok (QuadNo: CARDINAL; + VAR + f: QuadFrame ; + BEGIN +- IF QuadNo = BreakAtQuad +- THEN +- stop +- END ; + IF QuadrupleGeneration + THEN + EraseQuad (QuadNo) ; +@@ -1360,7 +1400,9 @@ BEGIN + IfGreEquOp : ManipulateReference(QuadNo, Oper3) ; + CheckAddVariableRead(Oper1, FALSE, QuadNo) ; + CheckAddVariableRead(Oper2, FALSE, QuadNo) | +- ++ LastForIteratorOp: CheckAddVariableWrite (Oper1, FALSE, QuadNo) ; ++ CheckAddTuple2Read (Oper2, FALSE, QuadNo) ; ++ CheckAddVariableRead (Oper3, FALSE, QuadNo) | + TryOp, + RetryOp, + GotoOp : ManipulateReference(QuadNo, Oper3) | +@@ -1393,8 +1435,8 @@ BEGIN + + ParamOp : CheckAddVariableRead(Oper2, FALSE, QuadNo) ; + CheckAddVariableRead(Oper3, FALSE, QuadNo) ; +- IF (Oper1>0) AND (Oper1<=NoOfParam(Oper2)) AND +- IsVarParam(Oper2, Oper1) ++ IF (Oper1>0) AND (Oper1<=NoOfParamAny(Oper2)) AND ++ IsVarParamAny (Oper2, Oper1) + THEN + (* _may_ also write to a var parameter, although we dont know *) + CheckAddVariableWrite(Oper3, TRUE, QuadNo) +@@ -1445,6 +1487,19 @@ END AddQuadInformation ; + PROCEDURE stop ; BEGIN END stop ; + + ++(* ++ CheckBreak - check whether QuadNo = BreakAtQuad and if so call stop. ++*) ++ ++PROCEDURE CheckBreak (QuadNo: CARDINAL) ; ++BEGIN ++ IF QuadNo = BreakAtQuad ++ THEN ++ stop ++ END ++END CheckBreak ; ++ ++ + (* + PutQuadO - alters a quadruple QuadNo with Op, Oper1, Oper2, Oper3, and + sets a boolean to determinine whether overflow should be checked. +@@ -1470,10 +1525,6 @@ PROCEDURE PutQuadOType (QuadNo: CARDINAL; + VAR + f: QuadFrame ; + BEGIN +- IF QuadNo = BreakAtQuad +- THEN +- stop +- END ; + IF QuadrupleGeneration + THEN + EraseQuad (QuadNo) ; +@@ -1486,7 +1537,7 @@ BEGIN + Operand3 := Oper3 ; + CheckOverflow := overflow ; + CheckType := checktype ; +- ConstExpr := IsInConstExpression () ++ ConstExpr := FALSE ; (* IsInConstExpression () *) + END + END + END PutQuadOType ; +@@ -1586,8 +1637,8 @@ BEGIN + KillLocalVarOp : | + ParamOp : CheckRemoveVariableRead(Oper2, FALSE, QuadNo) ; + CheckRemoveVariableRead(Oper3, FALSE, QuadNo) ; +- IF (Oper1>0) AND (Oper1<=NoOfParam(Oper2)) AND +- IsVarParam(Oper2, Oper1) ++ IF (Oper1>0) AND (Oper1<=NoOfParamAny(Oper2)) AND ++ IsVarParamAny (Oper2, Oper1) + THEN + (* _may_ also write to a var parameter, although we dont know *) + CheckRemoveVariableWrite(Oper3, TRUE, QuadNo) +@@ -1640,6 +1691,7 @@ PROCEDURE EraseQuad (QuadNo: CARDINAL) ; + VAR + f: QuadFrame ; + BEGIN ++ CheckBreak (QuadNo) ; + f := GetQF(QuadNo) ; + WITH f^ DO + UndoReadWriteInfo(QuadNo, Operator, Operand1, Operand2, Operand3) ; +@@ -1686,6 +1738,22 @@ END CheckRemoveVariableReadLeftValue ; + *) + + ++(* ++ CheckAddTuple2Read - checks to see whether symbol tuple contains variables or ++ parameters and if so it then adds them to the quadruple ++ variable list. ++*) ++ ++PROCEDURE CheckAddTuple2Read (tuple: CARDINAL; canDereference: BOOLEAN; Quad: CARDINAL) ; ++BEGIN ++ IF IsTuple (tuple) ++ THEN ++ CheckAddVariableRead (GetNth (tuple, 1), canDereference, Quad) ; ++ CheckAddVariableRead (GetNth (tuple, 2), canDereference, Quad) ++ END ++END CheckAddTuple2Read ; ++ ++ + (* + CheckAddVariableRead - checks to see whether symbol, Sym, is a variable or + a parameter and if so it then adds this quadruple +@@ -1810,6 +1878,7 @@ VAR + i : CARDINAL ; + f, g: QuadFrame ; + BEGIN ++ CheckBreak (QuadNo) ; + f := GetQF(QuadNo) ; + WITH f^ DO + AlterReference(Head, QuadNo, f^.Next) ; +@@ -1955,8 +2024,8 @@ END ManipulateReference ; + + + (* +- RemoveReference - remove the reference by quadruple, q, to wherever +- it was pointing to. ++ RemoveReference - remove the reference by quadruple q to wherever ++ it was pointing. + *) + + PROCEDURE RemoveReference (q: CARDINAL) ; +@@ -1966,6 +2035,7 @@ BEGIN + f := GetQF(q) ; + IF (f^.Operand3#0) AND (f^.Operand3 0 then. *) +- (* q+1 if >= by 0 q+3. *) +- (* q+2 GotoOp q+else. *) +- PushTFtok (BySym, ByType, bytok) ; (* BuildRelOp 1st parameter *) +- PushT (GreaterEqualTok) ; (* 2nd parameter *) +- (* 3rd parameter *) +- PushZero (bytok, ByType) ; +- BuildRelOp (e2tok) ; (* Choose final expression position. *) +- PopBool (t, f) ; +- BackPatch (t, NextQuad) ; +- +- (* LastIterator := ((e2-e1) DIV By) * By + e1. *) +- PushTF (LastIterator, GetSType (LastIterator)) ; +- PushTFtok (e2, GetSType (e2), e2tok) ; +- PushT (MinusTok) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- doBuildBinaryOp (TRUE, FALSE) ; +- PushT (DivideTok) ; +- PushTFtok (BySym, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- PushT (TimesTok) ; +- PushTFtok (BySym, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- PushT (ArithPlusTok) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- BuildForLoopToRangeCheck ; +- BuildAssignmentWithoutBounds (e1tok, FALSE, FALSE) ; +- GenQuad (GotoOp, NulSym, NulSym, 0) ; +- ElseQuad := NextQuad-1 ; +- +- (* Else. *) +- +- BackPatch (f, NextQuad) ; +- +- PushTtok (MinusTok, bytok) ; +- PushTFtok (BySym, ByType, bytok) ; +- BuildUnaryOp ; +- PopTF (PositiveBy, PBType) ; (* PositiveBy := - BySym. *) +- +- (* LastIterator := e1 - ((e1-e2) DIV PositiveBy) * PositiveBy. *) +- PushTF (LastIterator, GetSType (LastIterator)) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- PushT (MinusTok) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- PushT (MinusTok) ; +- PushTFtok (e2, GetSType (e2), e2tok) ; +- doBuildBinaryOp (TRUE, FALSE) ; +- PushT (DivideTok) ; +- PushTFtok (PositiveBy, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- PushT (TimesTok) ; +- PushTFtok (PositiveBy, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- BuildForLoopToRangeCheck ; +- BuildAssignmentWithoutBounds (e1tok, FALSE, FALSE) ; +- BackPatch (ElseQuad, NextQuad) ; +- +- (* End. *) +-END ForLoopLastIteratorVariable ; +- +- +-(* +- ForLoopLastIteratorConstant - assigns the last value of the index variable to +- symbol LastIterator. +- The For Loop is regarded: +- +- For ident := e1 To e2 By BySym Do +- +- End +-*) +- +-PROCEDURE ForLoopLastIteratorConstant (LastIterator, e1, e2, BySym, ByType: CARDINAL; +- e1tok, e2tok, bytok: CARDINAL) ; +-BEGIN +- Assert (IsConst (LastIterator)) ; +- (* LastIterator := VAL (GetType (LastIterator), ((e2-e1) DIV By) * By + e1) *) +- PushTF (LastIterator, GetSType (LastIterator)) ; +- PushTFtok (e2, GetSType (e2), e2tok) ; +- PushT (MinusTok) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- doBuildBinaryOp (TRUE, FALSE) ; +- PushT (DivideTok) ; +- PushTFtok (BySym, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- PushT (TimesTok) ; +- PushTFtok (BySym, ByType, bytok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- PushT (ArithPlusTok) ; +- PushTFtok (e1, GetSType (e1), e1tok) ; +- doBuildBinaryOp (FALSE, FALSE) ; +- BuildForLoopToRangeCheck ; +- BuildAssignmentWithoutBounds (e1tok, FALSE, FALSE) +-END ForLoopLastIteratorConstant ; +- +- + (* + ForLoopLastIterator - calculate the last iterator value but avoid setting + LastIterator twice if it is a constant (in the quads). +@@ -4707,16 +4639,19 @@ END ForLoopLastIteratorConstant ; + generation we do not know the value of BySym. + *) + +-PROCEDURE ForLoopLastIterator (LastIterator, e1, e2, BySym, ByType: CARDINAL ; ++PROCEDURE ForLoopLastIterator (LastIterator, e1, e2, BySym: CARDINAL ; + e1tok, e2tok, bytok: CARDINAL) ; + BEGIN +- IF IsVar (LastIterator) ++ IF NOT IsConst (BySym) + THEN +- ForLoopLastIteratorVariable (LastIterator, e1, e2, BySym, ByType, +- e1tok, e2tok, bytok) ++ MetaErrorT1 (bytok, ++ '{%E}the {%kFOR} loop {%kBY} expression must be constant, the expression {%1a} is variable', ++ BySym) ; ++ MetaErrorDecl (BySym, TRUE) + ELSE +- ForLoopLastIteratorConstant (LastIterator, e1, e2, BySym, ByType, +- e1tok, e2tok, bytok) ++ GenQuadOTypetok (bytok, LastForIteratorOp, LastIterator, ++ Make2Tuple (e1, e2), BySym, FALSE, FALSE, ++ bytok, MakeVirtual2Tok (e1tok, e2tok), bytok) + END + END ForLoopLastIterator ; + +@@ -4745,6 +4680,8 @@ END ForLoopLastIterator ; + + + x := e1 ; ++ Note that LASTVALUE is calculated during M2GenGCC ++ after all the types have been resolved. + LASTVALUE := ((e2-e1) DIV BySym) * BySym + e1 + IF BySym<0 + THEN +@@ -4770,7 +4707,7 @@ END ForLoopLastIterator ; + Quadruples: + + q BecomesOp IdentSym _ e1 +- q+ LastValue := ((e1-e2) DIV by) * by + e1 ++ q+ LastForIteratorOp LastValue := ((e1-e2) DIV by) * by + e1 + q+1 if >= by 0 q+..2 + q+2 GotoOp q+3 + q+3 If >= e1 e2 q+5 +@@ -4832,7 +4769,7 @@ BEGIN + e1 := doConvert (etype, e1) ; + e2 := doConvert (etype, e2) ; + +- ForLoopLastIterator (LastIterator, e1, e2, BySym, ByType, e1tok, e2tok, bytok) ; ++ ForLoopLastIterator (LastIterator, e1, e2, BySym, e1tok, e2tok, bytok) ; + + (* q+1 if >= by 0 q+..2 *) + (* q+2 GotoOp q+3 *) +@@ -5573,7 +5510,7 @@ BEGIN + IF GetSType (Proc) # NulSym + THEN + (* however it was declared as a procedure function *) +- IF NOT IsReturnOptional (Proc) ++ IF NOT IsReturnOptionalAny (Proc) + THEN + MetaErrors1 ('function {%1a} is being called but its return value is ignored', + 'function {%1Da} return a type {%1ta:of {%1ta}}', +@@ -5594,9 +5531,9 @@ BEGIN + THEN + GenQuad (ParamOp, 0, Proc, ProcSym) (* Space for return value *) + END ; +- IF (NoOfParameters+1=NoOfParam(Proc)) AND UsesOptArg(Proc) ++ IF (NoOfParameters+1=NoOfParamAny(Proc)) AND UsesOptArgAny (Proc) + THEN +- GenQuad (OptParamOp, NoOfParam(Proc), Proc, Proc) ++ GenQuad (OptParamOp, NoOfParamAny (Proc), Proc, Proc) + END ; + i := NoOfParameters ; + pi := 1 ; (* stack index referencing stacked parameter, i *) +@@ -5731,7 +5668,7 @@ BEGIN + i := 1 ; + pi := ParamTotal+1 ; (* stack index referencing stacked parameter, i *) + WHILE i<=ParamTotal DO +- IF i<=NoOfParam(Proc) ++ IF i <= NoOfParamAny (Proc) + THEN + FormalI := GetParam(Proc, i) ; + IF CompilerDebugging +@@ -5752,11 +5689,11 @@ BEGIN + BuildRange (InitTypesParameterCheck (paramtok, Proc, i, FormalI, Actual)) ; + IF IsConst(Actual) + THEN +- IF IsVarParam(Proc, i) ++ IF IsVarParamAny (Proc, i) + THEN + FailParameter (paramtok, + 'trying to pass a constant to a VAR parameter', +- Actual, FormalI, Proc, i) ++ Actual, Proc, i) + ELSIF IsConstString (Actual) + THEN + IF (NOT IsConstStringKnown (Actual)) +@@ -5769,17 +5706,17 @@ BEGIN + ELSIF (GetStringLength(paramtok, Actual) = 1) (* If = 1 then it maybe treated as a char. *) + THEN + CheckParameter (paramtok, Actual, Dim, FormalI, Proc, i, NIL) +- ELSIF NOT IsUnboundedParam(Proc, i) ++ ELSIF NOT IsUnboundedParamAny (Proc, i) + THEN + IF IsForC AND (GetSType(FormalI)=Address) + THEN + FailParameter (paramtok, + 'a string constant can either be passed to an ADDRESS parameter or an ARRAY OF CHAR', +- Actual, FormalI, Proc, i) ++ Actual, Proc, i) + ELSE + FailParameter (paramtok, + 'cannot pass a string constant to a non unbounded array parameter', +- Actual, FormalI, Proc, i) ++ Actual, Proc, i) + END + END + END +@@ -5821,14 +5758,14 @@ VAR + CheckedProcedure: CARDINAL ; + e : Error ; + BEGIN +- n := NoOfParam(ProcType) ; ++ n := NoOfParamAny (ProcType) ; + IF IsVar(call) OR IsTemporary(call) OR IsParameter(call) + THEN + CheckedProcedure := GetDType(call) + ELSE + CheckedProcedure := call + END ; +- IF n#NoOfParam(CheckedProcedure) ++ IF n # NoOfParamAny (CheckedProcedure) + THEN + e := NewError(GetDeclaredMod(ProcType)) ; + n1 := GetSymName(call) ; +@@ -5836,7 +5773,7 @@ BEGIN + ErrorFormat2(e, 'procedure (%a) is a parameter being passed as variable (%a) but they are declared with different number of parameters', + n1, n2) ; + e := ChainError(GetDeclaredMod(call), e) ; +- t := NoOfParam(CheckedProcedure) ; ++ t := NoOfParamAny (CheckedProcedure) ; + IF n<2 + THEN + ErrorFormat3(e, 'procedure (%a) is being called incorrectly with (%d) parameter, declared with (%d)', +@@ -5848,7 +5785,7 @@ BEGIN + ELSE + i := 1 ; + WHILE i<=n DO +- IF IsVarParam (ProcType, i) # IsVarParam (CheckedProcedure, i) ++ IF IsVarParamAny (ProcType, i) # IsVarParamAny (CheckedProcedure, i) + THEN + MetaError3 ('parameter {%3n} in {%1dD} causes a mismatch it was declared as a {%2d}', ProcType, GetNth (ProcType, i), i) ; + MetaError3 ('parameter {%3n} in {%1dD} causes a mismatch it was declared as a {%2d}', call, GetNth (call, i), i) +@@ -5914,7 +5851,7 @@ BEGIN + ELSE + FailParameter(tokpos, + 'attempting to pass an array with the incorrect number dimenisons to an unbounded formal parameter of different dimensions', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN( FALSE ) + END + END +@@ -5935,7 +5872,7 @@ BEGIN + ELSE + FailParameter(tokpos, + 'attempting to pass an unbounded array with the incorrect number dimenisons to an unbounded formal parameter of different dimensions', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN( FALSE ) + END + END +@@ -5951,7 +5888,7 @@ BEGIN + ELSE + FailParameter(tokpos, + 'identifier with an incompatible type is being passed to this procedure', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN( FALSE ) + END + END LegalUnboundedParam ; +@@ -6012,7 +5949,7 @@ BEGIN + THEN + FailParameter(tokpos, + 'expecting a procedure or procedure variable as a parameter', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + END ; + IF IsProcedure(Actual) AND IsProcedureNested(Actual) +@@ -6026,19 +5963,19 @@ BEGIN + THEN + FailParameter(tokpos, + 'the item being passed is a function whereas the formal procedure parameter is a procedure', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + ELSIF ((GetSType(ActualType)=NulSym) AND (GetSType(FormalType)#NulSym)) + THEN + FailParameter(tokpos, + 'the item being passed is a procedure whereas the formal procedure parameter is a function', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + ELSIF AssignmentRequiresWarning(GetSType(ActualType), GetSType(FormalType)) + THEN + WarnParameter(tokpos, + 'the return result of the procedure variable parameter may not be compatible on other targets with the return result of the item being passed', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + ELSIF IsGenericSystemType (GetSType(FormalType)) OR + IsGenericSystemType (GetSType(ActualType)) OR +@@ -6048,7 +5985,7 @@ BEGIN + ELSE + FailParameter(tokpos, + 'the return result of the procedure variable parameter is not compatible with the return result of the item being passed', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + END + END ; +@@ -6060,16 +5997,16 @@ BEGIN + THEN + FailParameter(tokpos, + 'procedure parameter type is undeclared', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN + END ; +- IF IsUnbounded(ActualType) AND (NOT IsUnboundedParam(ProcSym, i)) ++ IF IsUnbounded(ActualType) AND (NOT IsUnboundedParamAny (ProcSym, i)) + THEN + FailParameter(tokpos, + 'attempting to pass an unbounded array to a NON unbounded parameter', +- Actual, Formal, ProcSym, i) ; ++ Actual, ProcSym, i) ; + RETURN +- ELSIF IsUnboundedParam(ProcSym, i) ++ ELSIF IsUnboundedParamAny (ProcSym, i) + THEN + IF NOT LegalUnboundedParam(tokpos, ProcSym, i, ActualType, Actual, Dimension, Formal) + THEN +@@ -6081,7 +6018,7 @@ BEGIN + THEN + WarnParameter (tokpos, + 'identifier being passed to this procedure may contain a possibly incompatible type when compiling for a different target', +- Actual, Formal, ProcSym, i) ++ Actual, ProcSym, i) + ELSIF IsGenericSystemType (FormalType) OR + IsGenericSystemType (ActualType) OR + IsAssignmentCompatible (ActualType, FormalType) +@@ -6091,7 +6028,7 @@ BEGIN + ELSE + FailParameter (tokpos, + 'identifier with an incompatible type is being passed to this procedure', +- Actual, Formal, ProcSym, i) ++ Actual, ProcSym, i) + END + END + END ; +@@ -6183,8 +6120,7 @@ END DescribeType ; + The parameters are: + + CurrentState - string describing the current failing state. +- Given - the token that the source code provided. +- Expecting - token or identifier that was expected. ++ Actual - actual parameter. + ParameterNo - parameter number that has failed. + ProcedureSym - procedure symbol where parameter has failed. + +@@ -6193,63 +6129,43 @@ END DescribeType ; + + PROCEDURE FailParameter (tokpos : CARDINAL; + CurrentState : ARRAY OF CHAR; +- Given : CARDINAL; +- Expecting : CARDINAL; ++ Actual : CARDINAL; + ProcedureSym : CARDINAL; + ParameterNo : CARDINAL) ; + VAR +- First, +- ExpectType: CARDINAL ; +- s, s1, s2 : String ; ++ FormalParam: CARDINAL ; ++ Msg : String ; + BEGIN +- MetaErrorT2 (tokpos, +- 'parameter mismatch between the {%2N} parameter of procedure {%1Ead}', +- ProcedureSym, ParameterNo) ; +- s := InitString ('{%kPROCEDURE} {%1Eau} (') ; +- IF NoOfParam(ProcedureSym)>=ParameterNo ++ Msg := InitString ('parameter mismatch between the {%2N} parameter of procedure {%1Ead}, ') ; ++ Msg := ConCat (Msg, Mark (InitString (CurrentState))) ; ++ MetaErrorStringT2 (tokpos, Msg, ProcedureSym, ParameterNo) ; ++ IF NoOfParamAny (ProcedureSym) >= ParameterNo + THEN +- IF ParameterNo>1 ++ FormalParam := GetNthParamAny (ProcedureSym, ParameterNo) ; ++ IF IsUnboundedParamAny (ProcedureSym, ParameterNo) + THEN +- s := ConCat(s, Mark(InitString('.., '))) +- END ; +- IF IsVarParam(ProcedureSym, ParameterNo) +- THEN +- s := ConCat(s, Mark(InitString('{%kVAR} '))) +- END ; +- +- First := GetDeclaredMod(GetNthParam(ProcedureSym, ParameterNo)) ; +- ExpectType := GetSType(Expecting) ; +- IF IsUnboundedParam(ProcedureSym, ParameterNo) +- THEN +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Expecting)))) ; +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(GetSType(ExpectType))))) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString('%s: {%%kARRAY} {%%kOF} %s')), +- s1, s2))) ++ MetaErrorT2 (GetVarDeclFullTok (FormalParam), 'formal parameter {%1ad} has an open array type {%2tad}', ++ FormalParam, GetSType (GetSType (FormalParam))) + ELSE +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Expecting)))) ; +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(ExpectType)))) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString('%s: %s')), s1, s2))) +- END ; +- IF ParameterNo0 +- THEN +- s := ConCat(s, Mark(InitString('..'))) +- END ++ MetaErrorT1 (GetDeclaredMod (ProcedureSym), 'procedure declaration', ProcedureSym) + END ; +- s := ConCat (s, Mark (InitString ('){%1Tau:% : {%1Tau}} ;'))) ; +- MetaErrorStringT1 (First, Dup (s), ProcedureSym) ; +- MetaErrorStringT1 (tokpos, s, ProcedureSym) ; +- IF GetLType (Given) = NulSym ++ IF GetLType (Actual) = NulSym + THEN +- MetaError1 ('item being passed is {%1EDda} {%1Dad}', Given) ++ MetaError1 ('actual parameter being passed is {%1Eda} {%1ad}', Actual) + ELSE +- MetaError1 ('item being passed is {%1EDda} {%1Dad} of type {%1Dts}', +- Given) ++ IF IsVar (Actual) ++ THEN ++ MetaErrorT1 (GetVarDeclFullTok (Actual), ++ 'actual parameter variable being passed is {%1Eda} {%1ad} of an incompatible type {%1ts}', ++ Actual) ++ ELSE ++ MetaErrorT1 (tokpos, ++ 'actual parameter being passed is {%1Eda} {%1ad} of an incompatible type {%1ts}', ++ Actual) ++ END + END + END FailParameter ; + +@@ -6258,11 +6174,8 @@ END FailParameter ; + WarnParameter - generates a warning message indicating that a parameter + use might cause problems on another target. + +- The parameters are: +- + CurrentState - string describing the current failing state. +- Given - the token that the source code provided. +- Expecting - token or identifier that was expected. ++ Actual - actual parameter. + ParameterNo - parameter number that has failed. + ProcedureSym - procedure symbol where parameter has failed. + +@@ -6271,90 +6184,44 @@ END FailParameter ; + + PROCEDURE WarnParameter (tokpos : CARDINAL; + CurrentState : ARRAY OF CHAR; +- Given : CARDINAL; +- Expecting : CARDINAL; ++ Actual : CARDINAL; + ProcedureSym : CARDINAL; + ParameterNo : CARDINAL) ; + VAR +- First, +- ExpectType, +- ReturnType: CARDINAL ; +- s, s1, s2 : String ; ++ FormalParam: CARDINAL ; ++ Msg : String ; + BEGIN +- s := InitString('{%W}') ; +- IF CompilingImplementationModule() +- THEN +- s := ConCat(s, Sprintf0(Mark(InitString('warning issued while compiling the implementation module\n')))) +- ELSIF CompilingProgramModule() ++ Msg := InitString ('{%W}parameter mismatch between the {%2N} parameter of procedure {%1ad}, ') ; ++ Msg := ConCat (Msg, Mark (InitString (CurrentState))) ; ++ MetaErrorStringT2 (tokpos, Msg, ProcedureSym, ParameterNo) ; ++ IF NoOfParamAny (ProcedureSym) >= ParameterNo + THEN +- s := ConCat(s, Sprintf0(Mark(InitString('warning issued while compiling the program module\n')))) +- END ; +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(ProcedureSym)))) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString('problem in parameter %d, PROCEDURE %s (')), +- ParameterNo, +- s1))) ; +- IF NoOfParam(ProcedureSym)>=ParameterNo +- THEN +- IF ParameterNo>1 ++ FormalParam := GetNthParamAny (ProcedureSym, ParameterNo) ; ++ IF IsUnboundedParamAny (ProcedureSym, ParameterNo) + THEN +- s := ConCat(s, Mark(InitString('.., '))) +- END ; +- IF IsVarParam(ProcedureSym, ParameterNo) +- THEN +- s := ConCat(s, Mark(InitString('{%kVAR} '))) +- END ; +- +- First := GetDeclaredMod(GetNthParam(ProcedureSym, ParameterNo)) ; +- ExpectType := GetSType(Expecting) ; +- IF IsUnboundedParam(ProcedureSym, ParameterNo) +- THEN +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Expecting)))) ; +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(GetSType(ExpectType))))) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString('%s: {%%kARRAY} {%%kOF} %s')), +- s1, s2))) ++ MetaErrorT2 (GetVarDeclFullTok (FormalParam), '{%W}formal parameter {%1ad} has an open array type {%2tad}', ++ FormalParam, GetSType (GetSType (FormalParam))) + ELSE +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Expecting)))) ; +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(ExpectType)))) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString('%s: %s')), s1, s2))) +- END ; +- IF ParameterNo0 +- THEN +- s := ConCat(s, Mark(InitString('..'))) +- END ++ MetaErrorT1 (GetDeclaredMod (ProcedureSym), '{%W}procedure declaration', ProcedureSym) + END ; +- ReturnType := GetSType(ProcedureSym) ; +- IF ReturnType=NulSym ++ IF GetLType (Actual) = NulSym + THEN +- s := ConCat(s, Sprintf0(Mark(InitString(') ;\n')))) ++ MetaError1 ('actual parameter being passed is {%1Wda} {%1ad}', Actual) + ELSE +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(ReturnType)))) ; +- s := ConCat(s, Mark(Sprintf1(Mark(InitString(') : %s ;\n')), s1))) +- END ; +- IF IsConstString(Given) +- THEN +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Given)))) ; +- s := ConCat(s, Mark(Sprintf1(Mark(InitString("item being passed is '%s'")), +- s1))) +- ELSIF IsTemporary(Given) +- THEN +- s := ConCat(s, Mark(InitString("item being passed has type"))) +- ELSE +- s1 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(Given)))) ; +- s := ConCat(s, Mark(Sprintf1(Mark(InitString("item being passed is '%s'")), +- s1))) +- END ; +- s1 := DescribeType(Given) ; +- s2 := Mark(InitString(CurrentState)) ; +- s := ConCat(s, Mark(Sprintf2(Mark(InitString(': %s\nparameter mismatch: %s')), +- s1, s2))) ; +- MetaErrorStringT0 (tokpos, Dup (s)) ; +- MetaErrorStringT0 (First, Dup (s)) ++ IF IsVar (Actual) ++ THEN ++ MetaErrorT1 (GetVarDeclFullTok (Actual), ++ 'actual parameter variable being passed is {%1Wda} {%1ad} of type {%1ts}', ++ Actual) ++ ELSE ++ MetaErrorT1 (tokpos, ++ 'actual parameter being passed is {%1Wda} {%1ad} of type {%1ts}', ++ Actual) ++ END ++ END + END WarnParameter ; + + +@@ -6607,28 +6474,28 @@ BEGIN + + IF IsForC AND UsesVarArgs(Proc) + THEN +- IF NoOfParametersNoOfParam(Proc) ++ IF i>NoOfParamAny (Proc) + THEN + IF IsForC AND UsesVarArgs(Proc) + THEN +@@ -6676,12 +6543,12 @@ BEGIN + 'attempting to pass too many parameters to procedure {%1a}, the {%2N} parameter does not exist', + Proc, i) + END +- ELSIF IsForC AND IsUnboundedParam(Proc, i) AND ++ ELSIF IsForC AND IsUnboundedParamAny (Proc, i) AND + (GetSType(OperandT(pi))#NulSym) AND IsArray(GetDType(OperandT(pi))) + THEN + f^.TrueExit := MakeLeftValue(OperandTok(pi), OperandT(pi), RightValue, Address) ; + MarkAsReadWrite(rw) +- ELSIF IsForC AND IsUnboundedParam(Proc, i) AND ++ ELSIF IsForC AND IsUnboundedParamAny (Proc, i) AND + (GetSType(OperandT(pi))#NulSym) AND IsUnbounded(GetDType(OperandT(pi))) + THEN + MarkAsReadWrite(rw) ; +@@ -6692,13 +6559,13 @@ BEGIN + BuildAdrFunction ; + PopT(f^.TrueExit) + ELSIF IsForC AND IsConstString(OperandT(pi)) AND +- (IsUnboundedParam(Proc, i) OR (GetDType(GetParam(Proc, i))=Address)) ++ (IsUnboundedParamAny (Proc, i) OR (GetDType(GetParam(Proc, i))=Address)) + THEN + f^.TrueExit := MakeLeftValue (OperandTok (pi), + DeferMakeConstStringCnul (OperandTok (pi), OperandT (pi)), + RightValue, Address) ; + MarkAsReadWrite (rw) +- ELSIF IsUnboundedParam(Proc, i) ++ ELSIF IsUnboundedParamAny (Proc, i) + THEN + (* always pass constant strings with a nul terminator, but leave the HIGH as before. *) + IF IsConstString (OperandT(pi)) +@@ -6716,7 +6583,7 @@ BEGIN + ELSE + ArraySym := OperandA(pi) + END ; +- IF IsVarParam(Proc, i) ++ IF IsVarParamAny (Proc, i) + THEN + MarkArrayWritten (OperandT (pi)) ; + MarkArrayWritten (OperandA (pi)) ; +@@ -6727,14 +6594,14 @@ BEGIN + AssignUnboundedNonVar (OperandTtok (pi), OperandT (pi), ArraySym, t, ParamType, OperandD (pi)) + END ; + f^.TrueExit := t +- ELSIF IsVarParam(Proc, i) ++ ELSIF IsVarParamAny (Proc, i) + THEN + (* must reference by address, but we contain the type of the referenced entity *) + MarkArrayWritten(OperandT(pi)) ; + MarkArrayWritten(OperandA(pi)) ; + MarkAsReadWrite(rw) ; + f^.TrueExit := MakeLeftValue(OperandTok(pi), OperandT(pi), LeftValue, GetSType(GetParam(Proc, i))) +- ELSIF (NOT IsVarParam(Proc, i)) AND (GetMode(OperandT(pi))=LeftValue) ++ ELSIF (NOT IsVarParamAny (Proc, i)) AND (GetMode(OperandT(pi))=LeftValue) + THEN + (* must dereference LeftValue *) + t := MakeTemporary (OperandTok (pi), RightValue) ; +@@ -6780,7 +6647,7 @@ BEGIN + i := 1 ; + pi := ParamTotal+1 ; (* stack index referencing stacked parameter, i *) + WHILE i<=ParamTotal DO +- IF i<=NoOfParam(Proc) ++ IF i<=NoOfParamAny (Proc) + THEN + FormalI := GetParam (Proc, i) ; + Actual := OperandT (pi) ; +@@ -7819,7 +7686,6 @@ END BuildExclProcedure ; + + PROCEDURE CheckBuildFunction () : BOOLEAN ; + VAR +- n : Name ; + tokpos, + TempSym, + ProcSym, Type: CARDINAL ; +@@ -7833,17 +7699,10 @@ BEGIN + PutVar(TempSym, GetSType(Type)) ; + PushTFtok(TempSym, GetSType(Type), tokpos) ; + PushTFtok(ProcSym, Type, tokpos) ; +- IF NOT IsReturnOptional(Type) ++ IF NOT IsReturnOptionalAny (Type) + THEN +- IF IsTemporary(ProcSym) +- THEN +- ErrorFormat0 (NewError (tokpos), +- 'function is being called but its return value is ignored') +- ELSE +- n := GetSymName (ProcSym) ; +- ErrorFormat1 (NewError (tokpos), +- 'function (%a) is being called but its return value is ignored', n) +- END ++ MetaErrorT1 (tokpos, ++ 'function {%1Ea} is called but its return value is ignored', ProcSym) + END ; + RETURN TRUE + END +@@ -7853,11 +7712,10 @@ BEGIN + PutVar(TempSym, Type) ; + PushTFtok(TempSym, Type, tokpos) ; + PushTFtok(ProcSym, Type, tokpos) ; +- IF NOT IsReturnOptional(ProcSym) ++ IF NOT IsReturnOptionalAny (ProcSym) + THEN +- n := GetSymName(ProcSym) ; +- ErrorFormat1(NewError(tokpos), +- 'function (%a) is being called but its return value is ignored', n) ++ MetaErrorT1 (tokpos, ++ 'function {%1Ea} is called but its return value is ignored', ProcSym) + END ; + RETURN TRUE + END ; +@@ -10997,7 +10855,7 @@ VAR + BEGIN + IF IsProcedure(BlockSym) + THEN +- ParamNo := NoOfParam(BlockSym) ++ ParamNo := NoOfParamAny (BlockSym) + ELSE + ParamNo := 0 + END ; +@@ -11147,6 +11005,11 @@ BEGIN + GenQuad(ReturnOp, NulSym, NulSym, ProcSym) ; + CheckFunctionReturn(ProcSym) ; + CheckVariablesInBlock(ProcSym) ; ++ (* Call PutProcedureEndQuad so that any runtime procedure will be ++ seen as defined even if it not seen during pass 2 (which will also ++ call PutProcedureEndQuad). *) ++ PutProcedureParametersDefined (ProcSym, ProperProcedure) ; ++ PutProcedureDefined (ProcSym, ProperProcedure) ; + RemoveTop (CatchStack) ; + RemoveTop (TryStack) ; + PushT(ProcSym) +@@ -12025,31 +11888,34 @@ BEGIN + PopTFtok (Sym, Type, tok) ; + DebugLocation (tok, "expression") ; + Type := SkipType (Type) ; +- +- Ref := MakeTemporary (tok, LeftValue) ; +- PutVar (Ref, Type) ; +- IF GetMode (Sym) = LeftValue ++ IF Type = NulSym + THEN +- (* Copy LeftValue. *) +- GenQuadO (tok, BecomesOp, Ref, NulSym, Sym, TRUE) ++ MetaErrorT1 (tok, ++ '{%1Aa} {%1d} has a no type, the {%kWITH} statement requires a variable or parameter of a {%kRECORD} type', ++ Sym) + ELSE +- (* Calculate the address of Sym. *) +- GenQuadO (tok, AddrOp, Ref, NulSym, Sym, TRUE) +- END ; ++ Ref := MakeTemporary (tok, LeftValue) ; ++ PutVar (Ref, Type) ; ++ IF GetMode (Sym) = LeftValue ++ THEN ++ (* Copy LeftValue. *) ++ GenQuadO (tok, BecomesOp, Ref, NulSym, Sym, TRUE) ++ ELSE ++ (* Calculate the address of Sym. *) ++ GenQuadO (tok, AddrOp, Ref, NulSym, Sym, TRUE) ++ END ; + +- PushWith (Sym, Type, Ref, tok) ; +- DebugLocation (tok, "with ref") ; +- IF Type = NulSym +- THEN +- MetaError1 ('{%1Ea} {%1d} has a no type, the {%kWITH} statement requires a variable or parameter of a {%kRECORD} type', +- Sym) +- ELSIF NOT IsRecord(Type) +- THEN +- MetaError1 ('the {%kWITH} statement requires that {%1Ea} {%1d} be of a {%kRECORD} {%1tsa:type rather than {%1tsa}}', +- Sym) ++ PushWith (Sym, Type, Ref, tok) ; ++ DebugLocation (tok, "with ref") ; ++ IF NOT IsRecord(Type) ++ THEN ++ MetaErrorT1 (tok, ++ 'the {%kWITH} statement requires that {%1Ea} {%1d} be of a {%kRECORD} {%1tsa:type rather than {%1tsa}}', ++ Sym) ++ END ; ++ StartScope (Type) + END ; +- StartScope (Type) +- ; DisplayStack ; ++ DisplayStack ; + END StartBuildWith ; + + +@@ -12735,7 +12601,7 @@ BEGIN + PopT(e2) ; + PopT(e1) ; + PopT(const) ; +- WriteFormat0('the constant must be an array constructor or a set constructor but not both') ; ++ WriteFormat0('the constant must be either an array constructor or a set constructor') ; + PushT(const) + END + END +@@ -12744,6 +12610,14 @@ END BuildComponentValue ; + + (* + RecordOp - Records the operator passed on the stack. ++ This is called when a boolean operator is found in an ++ expression. It is called just after the lhs has been built ++ and pushed to the quad stack and prior to the rhs build. ++ It checks to see if AND OR or equality tests are required. ++ It will short circuit AND and OR expressions. It also ++ converts a lhs to a boolean variable if an xor comparison ++ is about to be performed. ++ + Checks for AND operator or OR operator + if either of these operators are found then BackPatching + takes place. +@@ -12787,6 +12661,10 @@ BEGIN + PopBool(t, f) ; + BackPatch(f, NextQuad) ; + PushBool(t, 0) ++ ELSIF IsBoolean (1) AND ++ ((Op = EqualTok) OR (Op = LessGreaterTok) OR (Op = HashTok) OR (Op = InTok)) ++ THEN ++ ConvertBooleanToVariable (tokno, 1) + END ; + PushTtok(Op, tokno) + END RecordOp ; +@@ -13180,7 +13058,7 @@ END AreConstant ; + (* + ConvertBooleanToVariable - converts a BoolStack(i) from a Boolean True|False + exit pair into a variable containing the value TRUE or +- FALSE. The parameter, i, is relative to the top ++ FALSE. The parameter i is relative to the top + of the stack. + *) + +@@ -13194,10 +13072,12 @@ BEGIN + constant boolean. *) + Des := MakeTemporary (tok, AreConstant (IsInConstExpression ())) ; + PutVar (Des, Boolean) ; ++ PutVarConditional (Des, TRUE) ; + PushTtok (Des, tok) ; (* we have just increased the stack so we must use i+1 *) + f := PeepAddress (BoolStack, i+1) ; + PushBool (f^.TrueExit, f^.FalseExit) ; +- BuildAssignmentWithoutBounds (tok, FALSE, TRUE) ; (* restored stack *) ++ BuildAssignmentWithoutBounds (tok, FALSE, TRUE) ; ++ (* Restored stack after the BuildAssign... above. *) + f := PeepAddress (BoolStack, i) ; + WITH f^ DO + TrueExit := Des ; (* Alter Stack(i) to contain the variable. *) +@@ -13228,6 +13108,23 @@ BEGIN + END BuildBooleanVariable ; + + ++(* ++ DumpQuadSummary - ++*) ++ ++PROCEDURE DumpQuadSummary (quad: CARDINAL) ; ++VAR ++ f: QuadFrame ; ++BEGIN ++ IF quad # 0 ++ THEN ++ f := GetQF (quad) ; ++ printf2 ("%d op3 = %d\n", quad, f^.Operand3) ++ END ++END DumpQuadSummary ; ++ ++ ++ + (* + BuildRelOpFromBoolean - builds a relational operator sequence of quadruples + instead of using a temporary boolean variable. +@@ -13244,10 +13141,11 @@ END BuildBooleanVariable ; + + before + +- q if r1 op1 op2 t2 +- q+1 Goto f2 +- q+2 if r2 op3 op4 t1 +- q+3 Goto f1 ++ q if r1 op1 op2 t2 ++ q+1 Goto f2 ++ ... ++ q+n if r2 op3 op4 t1 ++ q+n+1 Goto f1 + + after (in case of =) + +@@ -13260,12 +13158,14 @@ END BuildBooleanVariable ; + + after (in case of #) + +- q if r1 op1 op2 q+2 +- q+1 Goto q+4 +- q+2 if r2 op3 op4 f +- q+3 Goto t +- q+4 if r2 op3 op4 t +- q+5 Goto f ++ q if r1 op1 op2 q+2 ++ q+1 Goto q+n+2 ++ q+2 ... ++ ... ... ++ q+n if r2 op3 op4 f ++ q+n+1 Goto t ++ q+n+2 if r2 op3 op4 t ++ q+n+3 Goto f + + The Stack is expected to contain: + +@@ -13295,11 +13195,11 @@ BEGIN + Assert (IsBoolean (1) AND IsBoolean (3)) ; + IF OperandT (2) = EqualTok + THEN +- (* are the two boolean expressions the same? *) ++ (* Are the two boolean expressions the same? *) + PopBool (t1, f1) ; + PopT (Tok) ; + PopBool (t2, f2) ; +- (* give the false exit a second chance *) ++ (* Give the false exit a second chance. *) + BackPatch (t2, t1) ; (* q if _ _ q+2 *) + BackPatch (f2, NextQuad) ; (* q+1 if _ _ q+4 *) + Assert (NextQuad = f1+1) ; +@@ -13311,11 +13211,25 @@ BEGIN + PushBooltok (Merge (NextQuad-1, t1), Merge (NextQuad-2, f1), tokpos) + ELSIF (OperandT (2) = HashTok) OR (OperandT (2) = LessGreaterTok) + THEN +- (* are the two boolean expressions different? *) ++ IF CompilerDebugging ++ THEN ++ printf0 ("BuildRelOpFromBoolean (NotEqualTok)\n") ; ++ DisplayStack ++ END ; ++ (* Are the two boolean expressions different? *) + PopBool (t1, f1) ; + PopT (Tok) ; + PopBool (t2, f2) ; +- (* give the false exit a second chance *) ++ IF CompilerDebugging ++ THEN ++ printf2 ("t1 = %d, f1 = %d\n", t1, f1) ; ++ printf2 ("t2 = %d, f2 = %d\n", t2, f2) ; ++ DumpQuadSummary (t1) ; ++ DumpQuadSummary (f1) ; ++ DumpQuadSummary (t2) ; ++ DumpQuadSummary (f2) ; ++ END ; ++ (* Give the false exit a second chance. *) + BackPatch (t2, t1) ; (* q if _ _ q+2 *) + BackPatch (f2, NextQuad) ; (* q+1 if _ _ q+4 *) + Assert (NextQuad = f1+1) ; +@@ -13410,11 +13324,13 @@ BEGIN + THEN + DisplayStack (* Debugging info *) + END ; +- IF IsBoolean (1) AND IsBoolean (3) ++ IF IsInConstExpression () AND IsBoolean (1) AND IsBoolean (3) + THEN + (* + we allow # and = to be used with Boolean expressions. +- we do not allow > < >= <= though ++ we do not allow > < >= <= though. We only examine ++ this case if we are in a const expression as there will be ++ no dereferencing of operands. + *) + BuildRelOpFromBoolean (optokpos) + ELSE +@@ -13630,10 +13546,7 @@ BEGIN + (* MetaErrorT1 (TokenNo, '{%1On}', NextQuad) *) + END + END ; +- IF NextQuad=BreakAtQuad +- THEN +- stop +- END ; ++ CheckBreak (NextQuad) ; + NewQuad (NextQuad) + END + END GenQuadOTrash ; +@@ -13720,10 +13633,7 @@ BEGIN + (* MetaErrorT1 (TokenNo, '{%1On}', NextQuad) *) + END + END ; +- IF NextQuad=BreakAtQuad +- THEN +- stop +- END ; ++ CheckBreak (NextQuad) ; + NewQuad (NextQuad) + END + END GenQuadOTypetok ; +@@ -13869,7 +13779,7 @@ END DisplayQuadRange ; + + (* + BackPatch - Makes each of the quadruples on the list pointed to by +- StartQuad, take quadruple Value as a target. ++ QuadNo take quadruple Value as a target. + *) + + PROCEDURE BackPatch (QuadNo, Value: CARDINAL) ; +@@ -14043,6 +13953,11 @@ BEGIN + END ; + CASE Operator OF + ++ LastForIteratorOp: WriteOperand(Operand1) ; ++ fprintf0 (GetDumpFile (), ' ') ; ++ WriteOperand(Operand2) ; ++ fprintf0 (GetDumpFile (), ' ') ; ++ WriteOperand(Operand3) | + HighOp : WriteOperand(Operand1) ; + fprintf1 (GetDumpFile (), ' %4d ', Operand2) ; + WriteOperand(Operand3) | +@@ -14097,7 +14012,7 @@ BEGIN + + ProcedureScopeOp : n1 := GetSymName(Operand2) ; + n2 := GetSymName(Operand3) ; +- fprintf3 (GetDumpFile (), ' %4d %a %a', Operand1, n1, n2) ; ++ fprintf4 (GetDumpFile (), ' %4d %a %a(%d)', Operand1, n1, n2, Operand3) ; + DisplayProcedureAttributes (Operand3) | + NewLocalVarOp, + FinallyStartOp, +@@ -14193,6 +14108,7 @@ BEGIN + + ArithAddOp : fprintf0 (GetDumpFile (), 'Arith + ') | + InitAddressOp : fprintf0 (GetDumpFile (), 'InitAddress ') | ++ LastForIteratorOp : fprintf0 (GetDumpFile (), 'LastForIterator ') | + LogicalOrOp : fprintf0 (GetDumpFile (), 'Or ') | + LogicalAndOp : fprintf0 (GetDumpFile (), 'And ') | + LogicalXorOp : fprintf0 (GetDumpFile (), 'Xor ') | +@@ -15522,6 +15438,22 @@ BEGIN + END PopTF ; + + ++(* ++ DupFrame - duplicate the top of stack and push the new frame. ++*) ++ ++PROCEDURE DupFrame ; ++VAR ++ f, newf: BoolFrame ; ++BEGIN ++ f := PopAddress (BoolStack) ; ++ PushAddress (BoolStack, f) ; ++ newf := newBoolFrame () ; ++ newf^ := f^ ; ++ PushAddress (BoolStack, newf) ++END DupFrame ; ++ ++ + (* + newBoolFrame - creates a new BoolFrame with all fields initialised to their defaults. + *) +--- a/src/gcc/m2/gm2-compiler/M2Range.def ++++ b/src/gcc/m2/gm2-compiler/M2Range.def +@@ -38,12 +38,12 @@ DEFINITION MODULE M2Range ; + time, post optimization. + *) + +-FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM CDataTypes IMPORT ConstCharStar ; ++FROM gcctypes IMPORT location_t, tree ; + FROM DynamicStrings IMPORT String ; + + ++ + (* + InitAssignmentRangeCheck - returns a range check node which + remembers the information necessary +@@ -315,7 +315,7 @@ PROCEDURE FoldRangeCheck (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + CodeErrorCheck - returns a Tree calling the approprate exception handler. + *) + +-PROCEDURE CodeErrorCheck (r: CARDINAL; function, message: String) : Tree ; ++PROCEDURE CodeErrorCheck (r: CARDINAL; function, message: String) : tree ; + + + (* +@@ -348,51 +348,51 @@ PROCEDURE WriteRangeCheck (r: CARDINAL) ; + OverlapsRange - returns TRUE if a1..a2 overlaps with b1..b2. + *) + +-PROCEDURE OverlapsRange (a1, a2, b1, b2: Tree) : BOOLEAN ; ++PROCEDURE OverlapsRange (a1, a2, b1, b2: tree) : BOOLEAN ; + + + (* + IsEqual - returns TRUE if a=b. + *) + +-PROCEDURE IsEqual (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsEqual (a, b: tree) : BOOLEAN ; + + + (* + IsGreaterOrEqual - returns TRUE if a>=b. + *) + +-PROCEDURE IsGreaterOrEqual (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsGreaterOrEqual (a, b: tree) : BOOLEAN ; + + + (* + IsGreater - returns TRUE if a>b. + *) + +-PROCEDURE IsGreater (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsGreater (a, b: tree) : BOOLEAN ; + + + (* + BuildIfCallWholeHandlerLoc - return a Tree containing a runtime test whether, condition, is true. + *) + +-PROCEDURE BuildIfCallWholeHandlerLoc (location: location_t; condition: Tree; +- scope, message: ADDRESS) : Tree ; ++PROCEDURE BuildIfCallWholeHandlerLoc (location: location_t; condition: tree; ++ scope, message: ConstCharStar) : tree ; + + + (* + BuildIfCallRealHandlerLoc - return a Tree containing a runtime test whether, condition, is true. + *) + +-PROCEDURE BuildIfCallRealHandlerLoc (location: location_t; condition: Tree; +- scope, message: ADDRESS) : Tree ; ++PROCEDURE BuildIfCallRealHandlerLoc (location: location_t; condition: tree; ++ scope, message: ConstCharStar) : tree ; + + + (* + GetMinMax - returns TRUE if we know the max and min of a type, t. + *) + +-PROCEDURE GetMinMax (tokenno: CARDINAL; type: CARDINAL; VAR min, max: Tree) : BOOLEAN ; ++PROCEDURE GetMinMax (tokenno: CARDINAL; type: CARDINAL; VAR min, max: tree) : BOOLEAN ; + + + END M2Range. +--- a/src/gcc/m2/gm2-compiler/M2Range.mod ++++ b/src/gcc/m2/gm2-compiler/M2Range.mod +@@ -28,10 +28,12 @@ FROM SymbolTable IMPORT NulSym, GetLowestType, PutReadQuad, RemoveReadQuad, + IsRecord, IsPointer, IsArray, IsProcType, IsConstLit, + IsAModula2Type, IsUnbounded, IsEnumeration, GetMode, + IsConstString, MakeConstLit, SkipType, IsProcedure, +- IsParameter, GetDeclaredMod, IsVarParam, GetNthParam, ++ IsParameter, GetDeclaredMod, IsVarParamAny, GetNthParam, + ModeOfAddr ; + +-FROM m2tree IMPORT Tree, debug_tree ; ++FROM SYSTEM IMPORT ADDRESS ; ++FROM m2tree IMPORT debug_tree ; ++ + FROM m2linemap IMPORT ErrorAt, GetFilenameFromLocation, GetColumnNoFromLocation, GetLineNoFromLocation ; + + FROM m2type IMPORT GetMinFrom, GetMaxFrom, +@@ -155,7 +157,7 @@ VAR + OverlapsRange - returns TRUE if a1..a2 overlaps with b1..b2. + *) + +-PROCEDURE OverlapsRange (a1, a2, b1, b2: Tree) : BOOLEAN ; ++PROCEDURE OverlapsRange (a1, a2, b1, b2: tree) : BOOLEAN ; + BEGIN + (* RETURN( ((a1<=b2) AND (a2>=b1)) ) *) + RETURN( (CompareTrees(a1, b2)<=0) AND (CompareTrees(a2, b1)>=0) ) +@@ -166,7 +168,7 @@ END OverlapsRange ; + IsGreater - returns TRUE if a>b. + *) + +-PROCEDURE IsGreater (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsGreater (a, b: tree) : BOOLEAN ; + BEGIN + RETURN( CompareTrees(a, b)>0 ) + END IsGreater ; +@@ -176,7 +178,7 @@ END IsGreater ; + IsGreaterOrEqual - returns TRUE if a>=b. + *) + +-PROCEDURE IsGreaterOrEqual (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsGreaterOrEqual (a, b: tree) : BOOLEAN ; + BEGIN + RETURN( CompareTrees(a, b)>=0 ) + END IsGreaterOrEqual ; +@@ -186,7 +188,7 @@ END IsGreaterOrEqual ; + IsEqual - returns TRUE if a=b. + *) + +-PROCEDURE IsEqual (a, b: Tree) : BOOLEAN ; ++PROCEDURE IsEqual (a, b: tree) : BOOLEAN ; + BEGIN + RETURN( CompareTrees(a, b)=0 ) + END IsEqual ; +@@ -1073,7 +1075,7 @@ END FoldNil ; + GetMinMax - returns TRUE if we know the max and min of m2type. + *) + +-PROCEDURE GetMinMax (tokenno: CARDINAL; type: CARDINAL; VAR min, max: Tree) : BOOLEAN ; ++PROCEDURE GetMinMax (tokenno: CARDINAL; type: CARDINAL; VAR min, max: tree) : BOOLEAN ; + VAR + minC, maxC: CARDINAL ; + location : location_t ; +@@ -1119,9 +1121,9 @@ END GetMinMax ; + *) + + PROCEDURE OutOfRange (tokenno: CARDINAL; +- min: Tree; ++ min: tree; + expr: CARDINAL; +- max: Tree; ++ max: tree; + type: CARDINAL) : BOOLEAN ; + BEGIN + IF TreeOverflow (min) +@@ -1209,7 +1211,7 @@ END HandlerExists ; + PROCEDURE FoldAssignment (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice (RangeIndex, r) ; + WITH p^ DO +@@ -1246,7 +1248,7 @@ END FoldAssignment ; + PROCEDURE FoldParameterAssign (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -1281,7 +1283,7 @@ END FoldParameterAssign ; + PROCEDURE FoldReturn (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -1313,7 +1315,7 @@ END FoldReturn ; + PROCEDURE FoldInc (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- t, min, max: Tree ; ++ t, min, max: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -1364,7 +1366,7 @@ END FoldInc ; + PROCEDURE FoldDec (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- t, min, max: Tree ; ++ t, min, max: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -1481,7 +1483,7 @@ END CheckSet ; + PROCEDURE FoldIncl (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -1519,7 +1521,7 @@ END FoldIncl ; + PROCEDURE FoldExcl (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -1560,7 +1562,7 @@ VAR + p : Range ; + shiftMin, + shiftMax, +- min, max: Tree ; ++ min, max: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -1611,7 +1613,7 @@ VAR + p : Range ; + rotateMin, + rotateMax, +- min, max : Tree ; ++ min, max : tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -1702,7 +1704,7 @@ VAR + compatible: BOOLEAN ; + BEGIN + compatible := FALSE ; +- IF IsVarParam (procedure, paramNo) ++ IF IsVarParamAny (procedure, paramNo) + THEN + (* Expression type compatibility rules for pass by reference parameters. *) + compatible := ParameterTypeCompatible (tokenNo, +@@ -1790,7 +1792,7 @@ PROCEDURE CodeTypeParam (tokenNo: CARDINAL; formal, actual, procedure: CARDINAL; + BEGIN + IF NOT ParameterTypeCompatible (tokenNo, + '{%4EN} type failure between actual {%3ad} and the formal {%2ad}', +- procedure, formal, actual, paramNo, IsVarParam (procedure, paramNo)) ++ procedure, formal, actual, paramNo, IsVarParamAny (procedure, paramNo)) + THEN + END + END CodeTypeParam ; +@@ -1937,7 +1939,7 @@ END ForLoopBeginTypeCompatible ; + PROCEDURE FoldForLoopBegin (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -1972,7 +1974,7 @@ END FoldForLoopBegin ; + PROCEDURE FoldForLoopTo (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -2004,7 +2006,7 @@ END FoldForLoopTo ; + PROCEDURE FoldStaticArraySubscript (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; + VAR + p : Range ; +- min, max: Tree ; ++ min, max: tree ; + BEGIN + p := GetIndice (RangeIndex, r) ; + WITH p^ DO +@@ -2327,9 +2329,9 @@ END FoldRangeCheck ; + is an LValue. + *) + +-PROCEDURE DeReferenceLValue (tokenno: CARDINAL; expr: CARDINAL) : Tree ; ++PROCEDURE DeReferenceLValue (tokenno: CARDINAL; expr: CARDINAL) : tree ; + VAR +- e : Tree ; ++ e : tree ; + location: location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -2371,13 +2373,13 @@ END BuildStringParamLoc ; + CodeErrorCheck - returns a Tree calling the approprate exception handler. + *) + +-PROCEDURE CodeErrorCheck (r: CARDINAL; function, message: String) : Tree ; ++PROCEDURE CodeErrorCheck (r: CARDINAL; function, message: String) : tree ; + VAR + filename: String ; + line, + column : CARDINAL ; + p : Range ; +- f : Tree ; ++ f : tree ; + location: location_t ; + BEGIN + IF HandlerExists (r) +@@ -2468,11 +2470,11 @@ END IssueWarning ; + *) + + PROCEDURE CodeErrorCheckLoc (location: location_t; +- function, message: ADDRESS; func: CARDINAL) : Tree ; ++ function, message: ConstCharStar; func: CARDINAL) : tree ; + VAR + scope, + errorMessage: String ; +- t : Tree ; ++ t : tree ; + filename : String ; + line, + column : CARDINAL ; +@@ -2518,7 +2520,7 @@ END CodeErrorCheckLoc ; + IssueWarningLoc - + *) + +-PROCEDURE IssueWarningLoc (location: location_t; message: ADDRESS) ; ++PROCEDURE IssueWarningLoc (location: location_t; message: ConstCharStar) ; + VAR + s: String ; + BEGIN +@@ -2533,8 +2535,8 @@ END IssueWarningLoc ; + BuildIfCallWholeHandlerLoc - return a Tree containing a runtime test whether, condition, is true. + *) + +-PROCEDURE BuildIfCallWholeHandlerLoc (location: location_t; condition: Tree; +- scope, message: ADDRESS) : Tree ; ++PROCEDURE BuildIfCallWholeHandlerLoc (location: location_t; condition: tree; ++ scope, message: ConstCharStar) : tree ; + BEGIN + RETURN BuildIfCallHandlerLoc (location, condition, scope, message, ExceptionWholeValue) + END BuildIfCallWholeHandlerLoc ; +@@ -2544,8 +2546,8 @@ END BuildIfCallWholeHandlerLoc ; + BuildIfCallRealHandlerLoc - return a Tree containing a runtime test whether, condition, is true. + *) + +-PROCEDURE BuildIfCallRealHandlerLoc (location: location_t; condition: Tree; +- scope, message: ADDRESS) : Tree ; ++PROCEDURE BuildIfCallRealHandlerLoc (location: location_t; condition: tree; ++ scope, message: ConstCharStar) : tree ; + BEGIN + RETURN BuildIfCallHandlerLoc (location, condition, scope, message, ExceptionRealValue) + END BuildIfCallRealHandlerLoc ; +@@ -2555,8 +2557,8 @@ END BuildIfCallRealHandlerLoc ; + BuildIfCallHandlerLoc - return a Tree containing a runtime test whether, condition, is true. + *) + +-PROCEDURE BuildIfCallHandlerLoc (location: location_t; condition: Tree; +- scope, message: ADDRESS; func: CARDINAL) : Tree ; ++PROCEDURE BuildIfCallHandlerLoc (location: location_t; condition: tree; ++ scope, message: ConstCharStar; func: CARDINAL) : tree ; + BEGIN + IF IsTrue (condition) + THEN +@@ -2570,8 +2572,8 @@ END BuildIfCallHandlerLoc ; + BuildIfCallHandler - + *) + +-PROCEDURE BuildIfCallHandler (condition: Tree; r: CARDINAL; +- function, message: String; warning: BOOLEAN) : Tree ; ++PROCEDURE BuildIfCallHandler (condition: tree; r: CARDINAL; ++ function, message: String; warning: BOOLEAN) : tree ; + BEGIN + IF warning AND IsTrue (condition) + THEN +@@ -2588,7 +2590,7 @@ END BuildIfCallHandler ; + PROCEDURE RangeCheckReal (p: Range; r: CARDINAL; function, message: String) ; + VAR + e, +- condition: Tree ; ++ condition: tree ; + location : location_t ; + BEGIN + WITH p^ DO +@@ -2610,7 +2612,7 @@ PROCEDURE RangeCheckOrdinal (p: Range; r: CARDINAL; function, message: String) ; + VAR + condition, + desMin, desMax, +- exprMin, exprMax: Tree ; ++ exprMin, exprMax: tree ; + location : location_t ; + BEGIN + WITH p^ DO +@@ -2670,7 +2672,7 @@ PROCEDURE DoCodeAssignmentWithoutExprType (p: Range; + r: CARDINAL; function, message: String) ; + VAR + condition, +- desMin, desMax: Tree ; ++ desMin, desMax: tree ; + location : location_t ; + BEGIN + WITH p^ DO +@@ -2762,10 +2764,10 @@ END CodeReturn ; + IfOutsideLimitsDo - + *) + +-PROCEDURE IfOutsideLimitsDo (tokenno: CARDINAL; min, expr, max: Tree; r: CARDINAL; ++PROCEDURE IfOutsideLimitsDo (tokenno: CARDINAL; min, expr, max: tree; r: CARDINAL; + function, message: String) ; + VAR +- condition: Tree ; ++ condition: tree ; + location : location_t ; + BEGIN + location := TokenToLocation (tokenno) ; +@@ -2786,7 +2788,7 @@ VAR + p : Range ; + t, condition, + e, +- desMin, desMax: Tree ; ++ desMin, desMax: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -2829,7 +2831,7 @@ VAR + p : Range ; + t, condition, + e, +- desMin, desMax: Tree ; ++ desMin, desMax: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -2870,7 +2872,7 @@ PROCEDURE CodeInclExcl (tokenno: CARDINAL; + VAR + p : Range ; + e, +- desMin, desMax: Tree ; ++ desMin, desMax: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -2916,7 +2918,7 @@ VAR + p : Range ; + e, + shiftMin, shiftMax, +- desMin, desMax : Tree ; ++ desMin, desMax : tree ; + location : location_t ; + BEGIN + p := GetIndice(RangeIndex, r) ; +@@ -2958,7 +2960,7 @@ PROCEDURE CodeStaticArraySubscript (tokenno: CARDINAL; + r: CARDINAL; function, message: String) ; + VAR + p : Range ; +- desMin, desMax: Tree ; ++ desMin, desMax: tree ; + location : location_t ; + BEGIN + location := TokenToLocation (tokenno) ; +@@ -2991,7 +2993,7 @@ PROCEDURE CodeDynamicArraySubscript (tokenno: CARDINAL; + VAR + UnboundedType: CARDINAL ; + p : Range ; +- high, e : Tree ; ++ high, e : tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenno) ; +@@ -3109,12 +3111,12 @@ END CodeForLoopTo ; + *) + + PROCEDURE SameTypesCodeForLoopEnd (tokenNo: CARDINAL; r: CARDINAL; function, message: String; +- p: Range; dmax: Tree) ; ++ p: Range; dmax: tree) ; + VAR + inc, + room, + statement, +- condition: Tree ; ++ condition: tree ; + location : location_t ; + BEGIN + location := TokenToLocation(tokenNo) ; +@@ -3134,7 +3136,7 @@ END SameTypesCodeForLoopEnd ; + *) + + PROCEDURE DiffTypesCodeForLoopEnd (tokenNo: CARDINAL; r: CARDINAL; function, message: String; +- p: Range; dmax, emin, emax: Tree) ; ++ p: Range; dmax, emin, emax: tree) ; + VAR + location : location_t ; + desoftypee, +@@ -3147,7 +3149,7 @@ VAR + s4, s5, s6, + s7, s8, + lg1, lg2, +- dz, ez : Tree ; ++ dz, ez : tree ; + BEGIN + location := TokenToLocation(tokenNo) ; + WITH p^ DO +@@ -3219,7 +3221,7 @@ VAR + isCard : BOOLEAN ; + p : Range ; + dmin, dmax, +- emin, emax: Tree ; ++ emin, emax: tree ; + BEGIN + p := GetIndice(RangeIndex, r) ; + WITH p^ DO +@@ -3255,7 +3257,7 @@ END CodeForLoopEnd ; + PROCEDURE CodeNil (r: CARDINAL; function, message: String) ; + VAR + p : Range ; +- condition, t: Tree ; ++ condition, t: tree ; + location : location_t ; + BEGIN + p := GetIndice(RangeIndex, r) ; +@@ -3287,7 +3289,7 @@ VAR + zero : CARDINAL ; + p : Range ; + condition, +- e : Tree ; ++ e : tree ; + location : location_t ; + BEGIN + p := GetIndice(RangeIndex, r) ; +@@ -3317,7 +3319,7 @@ VAR + zero : CARDINAL ; + p : Range ; + condition, +- e : Tree ; ++ e : tree ; + location : location_t ; + BEGIN + p := GetIndice(RangeIndex, r) ; +--- a/src/gcc/m2/gm2-compiler/M2Reserved.def ++++ b/src/gcc/m2/gm2-compiler/M2Reserved.def +@@ -44,7 +44,8 @@ EXPORT QUALIFIED IsReserved, tokToTok, + AndTok, ArrayTok, BeginTok, ByTok, CaseTok, ConstTok, + DefinitionTok, DivTok, DoTok, ElseTok, ElsifTok, EndTok, + ExceptTok, +- ExitTok, ExportTok, FinallyTok, ForTok, FromTok, IfTok, ++ ExitTok, ExportTok, FinallyTok, ForTok, ForwardTok, ++ FromTok, IfTok, + ImplementationTok, ImportTok, InTok, LoopTok, ModTok, + ModuleTok, NotTok, OfTok, OrTok, + PackedSetTok, PointerTok, ProcedureTok, +@@ -71,7 +72,7 @@ TYPE + arraytok, begintok, bytok, casetok, consttok, + definitiontok, divtok, dotok, elsetok, elsiftok, + endtok, excepttok, exittok, exporttok, finallytok, +- fortok, fromtok, iftok, implementationtok, ++ fortok, forwardtok, fromtok, iftok, implementationtok, + importtok, intok, looptok, modtok, + moduletok, nottok, oftok, ortok, + packedsettok, pointertok, proceduretok, +@@ -96,7 +97,8 @@ VAR + + AndTok, ArrayTok, BeginTok, ByTok, CaseTok, ConstTok, + DefinitionTok, DivTok, DoTok, ElseTok, ElsifTok, EndTok, +- ExceptTok, ExitTok, ExportTok, FinallyTok, ForTok, FromTok, ++ ExceptTok, ExitTok, ExportTok, FinallyTok, ForTok, ++ ForwardTok, FromTok, + IfTok, ImplementationTok, ImportTok, InTok, LoopTok, ModTok, + ModuleTok, NotTok, OfTok, OrTok, + PackedSetTok, PointerTok, ProcedureTok, +--- a/src/gcc/m2/gm2-compiler/M2Reserved.mod ++++ b/src/gcc/m2/gm2-compiler/M2Reserved.mod +@@ -197,6 +197,9 @@ BEGIN + ForTok := MakeKey('FOR') ; + AddKeyword(ForTok, fortok) ; + ++ ForwardTok := MakeKey('FORWARD') ; ++ AddKeyword(ForwardTok, forwardtok) ; ++ + FromTok := MakeKey('FROM') ; + AddKeyword(FromTok, fromtok) ; + +--- a/src/gcc/m2/gm2-compiler/M2Scaffold.mod ++++ b/src/gcc/m2/gm2-compiler/M2Scaffold.mod +@@ -21,7 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + IMPLEMENTATION MODULE M2Scaffold ; + +-FROM SymbolTable IMPORT NulSym, MakeProcedure, PutFunction, ++FROM SymbolTable IMPORT NulSym, ProcedureKind, MakeProcedure, PutFunction, + PutPublic, PutCtor, PutParam, IsProcedure, + MakeConstant, PutExtern, MakeArray, PutArray, + MakeSubrange, PutSubrange, +@@ -36,12 +36,14 @@ FROM SymbolTable IMPORT NulSym, MakeProcedure, PutFunction, + GetModuleDefImportStatementList, + GetModuleModImportStatementList, + GetImportModule, GetImportStatementList, +- PutLibName ; ++ PutLibName, ++ PutProcedureDeclaredTok, PutProcedureParametersDefined, ++ PutProcedureDefined ; + + FROM NameKey IMPORT NulName, Name, MakeKey, makekey, KeyToCharStar ; + FROM M2Base IMPORT Integer, Cardinal ; + FROM M2System IMPORT Address ; +-FROM M2LexBuf IMPORT GetTokenNo ; ++FROM M2LexBuf IMPORT GetTokenNo, BuiltinTokenNo ; + FROM Assertion IMPORT Assert ; + FROM Lists IMPORT List, InitList, IncludeItemIntoList, NoOfItemsInList, GetItemFromList, KillList, IsItemInList ; + FROM M2MetaError IMPORT MetaErrorT0, MetaErrorStringT0 ; +@@ -573,7 +575,8 @@ BEGIN + DeclareCtorGlobal (tokenno) ; + DeclareModuleExtern (tokenno) ; + linkFunction := MakeProcedure (tokenno, MakeKey ("_M2_link")) ; +- PutMonoName (linkFunction, TRUE) ++ PutMonoName (linkFunction, TRUE) ; ++ PutProcedureDefined (linkFunction, ProperProcedure) ; + ELSIF ScaffoldDynamic AND (NOT cflag) + THEN + MetaErrorT0 (tokenno, +@@ -582,8 +585,10 @@ BEGIN + + initFunction := MakeProcedure (tokenno, MakeKey ("_M2_init")) ; + PutMonoName (initFunction, TRUE) ; ++ PutProcedureDefined (initFunction, ProperProcedure) ; + finiFunction := MakeProcedure (tokenno, MakeKey ("_M2_fini")) ; + PutMonoName (finiFunction, TRUE) ; ++ PutProcedureDefined (initFunction, ProperProcedure) ; + IF SharedFlag + THEN + PutCtor (initFunction, TRUE) ; +@@ -595,9 +600,10 @@ BEGIN + mainFunction := MakeProcedure (tokenno, MakeKey ("main")) ; + PutMonoName (mainFunction, TRUE) ; + StartScope (mainFunction) ; +- PutFunction (mainFunction, Integer) ; ++ PutFunction (BuiltinTokenNo, mainFunction, ProperProcedure, Integer) ; + DeclareArgEnvParams (tokenno, mainFunction) ; + PutPublic (mainFunction, TRUE) ; ++ PutProcedureDefined (mainFunction, ProperProcedure) ; + EndScope + END + END DeclareScaffoldFunctions ; +@@ -611,9 +617,11 @@ PROCEDURE DeclareArgEnvParams (tokno: CARDINAL; proc: CARDINAL) ; + BEGIN + Assert (IsProcedure (proc)) ; + StartScope (proc) ; +- Assert (PutParam (tokno, proc, 1, MakeKey ("argc"), Integer, FALSE)) ; +- Assert (PutParam (tokno, proc, 2, MakeKey ("argv"), Address, FALSE)) ; +- Assert (PutParam (tokno, proc, 3, MakeKey ("envp"), Address, FALSE)) ; ++ Assert (PutParam (tokno, proc, ProperProcedure, 1, MakeKey ("argc"), Integer, FALSE, tokno)) ; ++ Assert (PutParam (tokno, proc, ProperProcedure, 2, MakeKey ("argv"), Address, FALSE, tokno)) ; ++ Assert (PutParam (tokno, proc, ProperProcedure, 3, MakeKey ("envp"), Address, FALSE, tokno)) ; ++ PutProcedureParametersDefined (proc, ProperProcedure) ; ++ PutProcedureDeclaredTok (proc, ProperProcedure, tokno) ; + EndScope + END DeclareArgEnvParams ; + +--- a/src/gcc/m2/gm2-compiler/M2Size.mod ++++ b/src/gcc/m2/gm2-compiler/M2Size.mod +@@ -26,7 +26,8 @@ FROM M2Base IMPORT ZType ; + FROM M2LexBuf IMPORT BuiltinTokenNo ; + + FROM SymbolTable IMPORT NulSym, MakeProcedure, PutFunction, +- AddSymToModuleScope, GetCurrentScope ; ++ AddSymToModuleScope, GetCurrentScope, ++ ProcedureKind ; + + + (* +@@ -38,11 +39,12 @@ BEGIN + IF Size=NulSym + THEN + (* Function *) +- Size := MakeProcedure (BuiltinTokenNo, MakeKey('SIZE')) ; +- PutFunction(Size, ZType) (* Return Type *) ++ Size := MakeProcedure (BuiltinTokenNo, MakeKey ('SIZE')) ; ++ PutFunction (BuiltinTokenNo, Size, DefProcedure, ZType) ++ (* Return Type *) + (* ZType *) + ELSE +- AddSymToModuleScope(GetCurrentScope(), Size) ++ AddSymToModuleScope (GetCurrentScope (), Size) + END + END MakeSize ; + +--- a/src/gcc/m2/gm2-compiler/M2StackAddress.mod ++++ b/src/gcc/m2/gm2-compiler/M2StackAddress.mod +@@ -157,9 +157,14 @@ BEGIN + END ; + DISPOSE(b) + END ; +- WITH s^.tail^ DO +- DEC(items) ; +- RETURN( bucket[items] ) ++ IF s^.tail = NIL ++ THEN ++ InternalError ('stack underflow') ++ ELSE ++ WITH s^.tail^ DO ++ DEC(items) ; ++ RETURN( bucket[items] ) ++ END + END + END + END +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/gm2-compiler/M2StateCheck.def +@@ -0,0 +1,154 @@ ++(* M2StateCheck.def provide state check tracking for declarations. ++ ++Copyright (C) 2024 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. ++ ++You should have received a copy of the GNU General Public License ++along with GNU Modula-2; see the file COPYING3. If not see ++. *) ++ ++DEFINITION MODULE M2StateCheck ; ++ ++(* This module provides state tracking for VAR, TYPE and CONST ++ declarations. It should be used by any pass creating ++ symbols in these blocks and it will detect a constant ++ being created from a variable, type from a variable, ++ variable from a constant (instead of type) etc. *) ++ ++TYPE ++ StateCheck ; ++ ++ ++(* ++ InitState - returns a new initialized StateCheck. ++*) ++ ++PROCEDURE InitState () : StateCheck ; ++ ++ ++(* ++ KillState - destructor for StateCheck. ++*) ++ ++PROCEDURE KillState (VAR s: StateCheck) ; ++ ++ ++(* ++ PushState - duplicates the StateCheck s and chains the new copy to s. ++ Return the copy. ++*) ++ ++PROCEDURE PushState (VAR s: StateCheck) ; ++ ++ ++(* ++ PopState - pops the current state. ++*) ++ ++PROCEDURE PopState (VAR s: StateCheck) ; ++ ++ ++(* ++ InclVar - s := s + {var}. ++*) ++ ++PROCEDURE InclVar (s: StateCheck) ; ++ ++ ++(* ++ InclConst - s := s + {const}. ++*) ++ ++PROCEDURE InclConst (s: StateCheck) ; ++ ++ ++(* ++ InclType - s := s + {type}. ++*) ++ ++PROCEDURE InclType (s: StateCheck) ; ++ ++ ++(* ++ InclConstFunc - s := s + {constfunc}. ++*) ++ ++PROCEDURE InclConstFunc (s: StateCheck) ; ++ ++ ++(* ++ InclVarParam - s := s + {varparam}. ++*) ++ ++PROCEDURE InclVarParam (s: StateCheck) ; ++ ++ ++(* ++ InclConstructor - s := s + {constructor}. ++*) ++ ++PROCEDURE InclConstructor (s: StateCheck) ; ++ ++ ++(* ++ ExclVar - s := s + {var}. ++*) ++ ++PROCEDURE ExclVar (s: StateCheck) ; ++ ++ ++(* ++ ExclConst - s := s + {const}. ++*) ++ ++PROCEDURE ExclConst (s: StateCheck) ; ++ ++ ++(* ++ ExclType - s := s + {type}. ++*) ++ ++PROCEDURE ExclType (s: StateCheck) ; ++ ++ ++(* ++ ExclConstFunc - s := s + {constfunc}. ++*) ++ ++PROCEDURE ExclConstFunc (s: StateCheck) ; ++ ++ ++(* ++ ExclVarParam - s := s + {varparam}. ++*) ++ ++PROCEDURE ExclVarParam (s: StateCheck) ; ++ ++ ++(* ++ ExclConstructor - s := s - {varparam}. ++*) ++ ++PROCEDURE ExclConstructor (s: StateCheck) ; ++ ++ ++(* ++ CheckQualident - checks to see that qualident sym is allowed in the state s. ++*) ++ ++PROCEDURE CheckQualident (tok: CARDINAL; s: StateCheck; sym: CARDINAL) ; ++ ++ ++END M2StateCheck. +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/gm2-compiler/M2StateCheck.mod +@@ -0,0 +1,344 @@ ++(* M2StateCheck.mod provide state check tracking for declarations. ++ ++Copyright (C) 2024 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. ++ ++You should have received a copy of the GNU General Public License ++along with GNU Modula-2; see the file COPYING3. If not see ++. *) ++ ++IMPLEMENTATION MODULE M2StateCheck ; ++ ++FROM Storage IMPORT ALLOCATE ; ++FROM M2MetaError IMPORT MetaErrorStringT1 ; ++FROM DynamicStrings IMPORT String, InitString, ConCat, Mark ; ++FROM SymbolTable IMPORT NulSym, IsType, IsVar, IsConst ; ++ ++ ++TYPE ++ StateCheck = POINTER TO RECORD ++ state: StateSet ; ++ stack, ++ next : StateCheck ; ++ END ; ++ ++ State = (const, var, type, constfunc, varparam, constructor) ; ++ ++ StateSet = SET OF State ; ++ ++VAR ++ FreeList: StateCheck ; ++ ++ ++(* ++ InitState - returns a new initialized StateCheck. ++*) ++ ++PROCEDURE InitState () : StateCheck ; ++VAR ++ s: StateCheck ; ++BEGIN ++ s := New () ; ++ WITH s^ DO ++ state := StateSet {} ; ++ stack := NIL ; ++ next := NIL ++ END ; ++ RETURN s ++END InitState ; ++ ++ ++(* ++ New - returns an uninitialized StateCheck. ++*) ++ ++PROCEDURE New () : StateCheck ; ++VAR ++ s: StateCheck ; ++BEGIN ++ IF FreeList = NIL ++ THEN ++ NEW (s) ++ ELSE ++ s := FreeList ; ++ FreeList := FreeList^.next ++ END ; ++ RETURN s ++END New ; ++ ++ ++(* ++ PushState - duplicates the StateCheck s and chains the new copy to s. ++ Return the copy. ++*) ++ ++PROCEDURE PushState (VAR s: StateCheck) ; ++VAR ++ copy: StateCheck ; ++BEGIN ++ copy := InitState () ; ++ copy^.state := s^.state ; ++ copy^.stack := s ; ++ s := copy ++END PushState ; ++ ++ ++(* ++ KillState - destructor for StateCheck. ++*) ++ ++PROCEDURE KillState (VAR s: StateCheck) ; ++VAR ++ t: StateCheck ; ++BEGIN ++ WHILE s^.stack # NIL DO ++ t := s^.stack ; ++ s^.stack := t^.stack ; ++ Dispose (t) ++ END ; ++ Dispose (s) ++END KillState ; ++ ++ ++(* ++ Dispose - place s onto the FreeList and set s to NIL. ++*) ++ ++PROCEDURE Dispose (VAR s: StateCheck) ; ++BEGIN ++ s^.next := FreeList ; ++ FreeList := s ++END Dispose ; ++ ++ ++(* ++ InclVar - s := s + {var}. ++*) ++ ++PROCEDURE InclVar (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, var) ++END InclVar ; ++ ++ ++(* ++ InclConst - s := s + {const}. ++*) ++ ++PROCEDURE InclConst (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, const) ++END InclConst ; ++ ++ ++(* ++ InclType - s := s + {type}. ++*) ++ ++PROCEDURE InclType (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, type) ++END InclType ; ++ ++ ++(* ++ InclConstFunc - s := s + {constfunc}. ++*) ++ ++PROCEDURE InclConstFunc (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, constfunc) ++END InclConstFunc ; ++ ++ ++(* ++ InclVarParam - s := s + {varparam}. ++*) ++ ++PROCEDURE InclVarParam (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, varparam) ++END InclVarParam ; ++ ++ ++(* ++ InclConstructor - s := s + {constructor}. ++*) ++ ++PROCEDURE InclConstructor (s: StateCheck) ; ++BEGIN ++ INCL (s^.state, constructor) ++END InclConstructor ; ++ ++ ++(* ++ ExclVar - s := s - {var}. ++*) ++ ++PROCEDURE ExclVar (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, var) ++END ExclVar ; ++ ++ ++(* ++ ExclConst - s := s - {const}. ++*) ++ ++PROCEDURE ExclConst (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, const) ++END ExclConst ; ++ ++ ++(* ++ ExclType - s := s - {type}. ++*) ++ ++PROCEDURE ExclType (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, type) ++END ExclType ; ++ ++ ++(* ++ ExclConstFunc - s := s - {constfunc}. ++*) ++ ++PROCEDURE ExclConstFunc (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, constfunc) ++END ExclConstFunc ; ++ ++ ++(* ++ ExclVarParam - s := s - {varparam}. ++*) ++ ++PROCEDURE ExclVarParam (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, varparam) ++END ExclVarParam ; ++ ++ ++(* ++ ExclConstructor - s := s - {varparam}. ++*) ++ ++PROCEDURE ExclConstructor (s: StateCheck) ; ++BEGIN ++ EXCL (s^.state, constructor) ++END ExclConstructor ; ++ ++ ++(* ++ PopState - pops the current state. ++*) ++ ++PROCEDURE PopState (VAR s: StateCheck) ; ++VAR ++ t: StateCheck ; ++BEGIN ++ t := s ; ++ s := s^.stack ; ++ t^.stack := NIL ; ++ Dispose (t) ++END PopState ; ++ ++ ++(* ++ CheckQualident - checks to see that qualident sym is allowed in the state s. ++*) ++ ++PROCEDURE CheckQualident (tok: CARDINAL; s: StateCheck; sym: CARDINAL) ; ++BEGIN ++ IF sym = NulSym ++ THEN ++ (* Ignore. *) ++ ELSIF IsType (sym) ++ THEN ++ IF (constfunc IN s^.state) OR (constructor IN s^.state) ++ THEN ++ (* Ok. *) ++ ELSIF const IN s^.state ++ THEN ++ GenerateError (tok, s, sym) ++ END ++ ELSIF IsConst (sym) ++ THEN ++ IF (constfunc IN s^.state) OR (constructor IN s^.state) ++ THEN ++ (* Ok. *) ++ ELSIF (var IN s^.state) OR (type IN s^.state) ++ THEN ++ GenerateError (tok, s, sym) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ IF constfunc IN s^.state ++ THEN ++ (* Ok. *) ++ ELSIF (const IN s^.state) OR (type IN s^.state) OR (var IN s^.state) ++ THEN ++ GenerateError (tok, s, sym) ++ END ++ END ++END CheckQualident ; ++ ++ ++(* ++ GenerateError - generates an unrecoverable error string based on the state and sym. ++*) ++ ++PROCEDURE GenerateError (tok: CARDINAL; s: StateCheck; sym: CARDINAL) ; ++VAR ++ str: String ; ++BEGIN ++ str := InitString ('not expecting the {%1Ad} {%1a} in a ') ; ++ IF const IN s^.state ++ THEN ++ str := ConCat (str, Mark (InitString ('{%kCONST} block'))) ++ ELSIF type IN s^.state ++ THEN ++ str := ConCat (str, Mark (InitString ('{%kTYPE} block'))) ++ ELSIF var IN s^.state ++ THEN ++ str := ConCat (str, Mark (InitString ('{%kVAR} block'))) ++ END ; ++ IF constfunc IN s^.state ++ THEN ++ str := ConCat (str, Mark (InitString (' and within a constant procedure function actual parameter'))) ++ END ; ++ IF constructor IN s^.state ++ THEN ++ str := ConCat (str, Mark (InitString (' and within a constructor'))) ++ END ; ++ MetaErrorStringT1 (tok, str, sym) ++END GenerateError ; ++ ++ ++(* ++ init - initialize the global variables in the module. ++*) ++ ++PROCEDURE init ; ++BEGIN ++ FreeList := NIL ++END init ; ++ ++ ++BEGIN ++ init ++END M2StateCheck. +--- a/src/gcc/m2/gm2-compiler/M2Students.def ++++ b/src/gcc/m2/gm2-compiler/M2Students.def +@@ -31,15 +31,15 @@ DEFINITION MODULE M2Students ; + + FROM SYSTEM IMPORT ADDRESS ; + FROM NameKey IMPORT Name ; +-EXPORT QUALIFIED StudentVariableCheck, CheckForVariableThatLooksLikeKeyword ; ++EXPORT QUALIFIED StudentVariableCheck, CheckVariableAgainstKeyword ; + + + (* +- CheckForVariableThatLooksLikeKeyword - checks for a identifier that looks the same +- as a keyword except for its case. ++ CheckVariableAgainstKeyword - checks for a identifier that looks the same ++ as a keyword except for its case. + *) + +-PROCEDURE CheckForVariableThatLooksLikeKeyword (name: Name) ; ++PROCEDURE CheckVariableAgainstKeyword (name: Name) ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2Students.mod ++++ b/src/gcc/m2/gm2-compiler/M2Students.mod +@@ -74,17 +74,17 @@ END IsNotADuplicateName ; + + + (* +- CheckForVariableThatLooksLikeKeyword - checks for a identifier that looks the same +- as a keyword except for its case. ++ CheckVariableAgainstKeyword - checks for a identifier that looks the same ++ as a keyword except for its case. + *) + +-PROCEDURE CheckForVariableThatLooksLikeKeyword (name: Name) ; ++PROCEDURE CheckVariableAgainstKeyword (name: Name) ; + BEGIN + IF StyleChecking + THEN + PerformVariableKeywordCheck (name) + END +-END CheckForVariableThatLooksLikeKeyword ; ++END CheckVariableAgainstKeyword ; + + + (* +--- a/src/gcc/m2/gm2-compiler/M2Swig.mod ++++ b/src/gcc/m2/gm2-compiler/M2Swig.mod +@@ -49,15 +49,16 @@ FROM M2Base IMPORT IsBaseType, Char, Cardinal, Integer, Real, LongReal, ShortRea + LongCard, ShortCard, LongInt, ShortInt, Boolean ; + + FROM SymbolTable IMPORT GetSymName, IsType, IsProcedure, IsConst, IsVar, +- GetType, GetNthParam, IsUnbounded, GetMode, ModeOfAddr, +- NoOfParam, IsConstString, IsConstLit, IsPointer, +- IsExported, ForeachExportedDo, IsUnboundedParam, ++ GetType, GetNthParamAny, IsUnbounded, GetMode, ModeOfAddr, ++ NoOfParamAny, IsConstString, IsConstLit, IsPointer, ++ IsExported, ForeachExportedDo, IsUnboundedParamAny, + IsParameter, IsParameterUnbounded, IsParameterVar, + GetParameterShadowVar, GetReadQuads, GetWriteQuads, + NulSym ; + + FROM M2BasicBlock IMPORT BasicBlock, InitBasicBlocks, KillBasicBlocks, +- ForeachBasicBlockDo ; ++ ForeachBasicBlockDo, ++ GetBasicBlockStart, GetBasicBlockEnd ; + + + TYPE +@@ -252,10 +253,10 @@ BEGIN + solved := FALSE + END + END ; +- p := NoOfParam(sym) ; ++ p := NoOfParamAny (sym) ; + i := 1 ; + WHILE i<=p DO +- son := GetNthParam(sym, i) ; ++ son := GetNthParamAny(sym, i) ; + IF TryDependents(son) + THEN + result := TRUE +@@ -520,8 +521,12 @@ VAR + DoBasicBlock - + *) + +-PROCEDURE DoBasicBlock (start, end: CARDINAL) ; ++PROCEDURE DoBasicBlock (bb: BasicBlock) ; ++VAR ++ start, end: CARDINAL ; + BEGIN ++ start := GetBasicBlockStart (bb) ; ++ end := GetBasicBlockEnd (bb) ; + IF IsProcedureScope(start) + THEN + (* skip this basic block, as this will not modify the parameter *) +@@ -680,24 +685,24 @@ VAR + son, p, i: CARDINAL ; + needComma: BOOLEAN ; + BEGIN +- fprintf0(f, '/* parameter: ') ; +- p := NoOfParam(sym) ; ++ fprintf0(f, '/* Parameter: ') ; ++ p := NoOfParamAny (sym) ; + i := 1 ; + needComma := FALSE ; + WHILE i<=p DO +- son := GetNthParam(sym, i) ; ++ son := GetNthParamAny(sym, i) ; + IF IsParameterVar(son) + THEN + IF needComma + THEN +- fprintf0(f, ', ') ++ fprintf0(f, ',\n ') + END ; + CalculateVarDirective(sym, son, TRUE) ; + needComma := TRUE + END ; + INC(i) + END ; +- fprintf0(f, ' */\n\n') ++ fprintf0(f, '. */\n\n') + END AnnotateProcedure ; + + +@@ -722,15 +727,15 @@ BEGIN + fprintf0(f, ' ') ; + DoName(sym) ; + fprintf0(f, ' (') ; +- p := NoOfParam(sym) ; ++ p := NoOfParamAny (sym) ; + IF p=0 + THEN + fprintf0(f, 'void') ; + ELSE + i := 1 ; + WHILE i<=p DO +- son := GetNthParam(sym, i) ; +- IF IsUnboundedParam(sym, i) ++ son := GetNthParamAny(sym, i) ; ++ IF IsUnboundedParamAny (sym, i) + THEN + DoUnbounded(son) + ELSE +@@ -874,15 +879,15 @@ BEGIN + IF NOT includedArray + THEN + includedArray := TRUE ; +- fprintf0(f, '%include "carrays.i"\n') ++ fprintf0(f, '%%include "carrays.i"\n') + END ; +- fprintf0(f, '%') ; ++ fprintf0(f, '%%') ; + fprintf0(f, 'apply (char *STRING, int LENGTH) { (') ; + DoUnbounded(sym) ; + fprintf0(f, ') };\n') ; + IF typeUnique + THEN +- fprintf0(f, '%array_functions(') ; ++ fprintf0(f, '%%array_functions(') ; + DoType(type) ; + fprintf0(f, ', ') ; + DoType(type) ; +@@ -903,12 +908,12 @@ VAR + BEGIN + mainModule := sym ; + n := GetSymName(sym) ; +- fprintf0(f, '/* automatically generated by gm2 -fswig */\n') ; +- fprintf0(f, '%') ; ++ fprintf0(f, '/* Automatically generated by gm2 -fswig. */\n') ; ++ fprintf0(f, '%%') ; + fprintf1(f, 'module %a\n\n', n) ; +- fprintf0(f, '%') ; ++ fprintf0(f, '%%') ; + fprintf1(f, 'include exception.i\n\n', n) ; +- fprintf0(f, '%') ; ++ fprintf0(f, '%%') ; + fprintf0(f, 'exception {\n') ; + fprintf0(f, ' try {\n') ; + fprintf0(f, ' $action\n') ; +@@ -917,9 +922,9 @@ BEGIN + fprintf0(f, ' }\n') ; + fprintf0(f, '}\n\n') ; + ForeachItemInListDo(Done, DoCheckUnbounded) ; +- fprintf0(f, '\n%{\n') ; ++ fprintf0(f, '\n%%{\n') ; + ForeachItemInListDo(Done, DoCheckExported) ; +- fprintf0(f, '%}\n\n') ; ++ fprintf0(f, '%%}\n\n') ; + ForeachItemInListDo(Done, DoCheckExported) + END DoWriteFile ; + +--- a/src/gcc/m2/gm2-compiler/M2SymInit.mod ++++ b/src/gcc/m2/gm2-compiler/M2SymInit.mod +@@ -39,7 +39,8 @@ FROM M2Error IMPORT InternalError ; + FROM M2BasicBlock IMPORT BasicBlock, + InitBasicBlocks, InitBasicBlocksFromRange, + KillBasicBlocks, FreeBasicBlocks, +- ForeachBasicBlockDo ; ++ ForeachBasicBlockDo, ++ GetBasicBlockStart, GetBasicBlockEnd ; + + IMPORT Indexing ; + FROM Indexing IMPORT Index ; +@@ -49,19 +50,20 @@ FROM Lists IMPORT List, InitList, GetItemFromList, PutItemIntoList, + RemoveItemFromList, ForeachItemInListDo, KillList, DuplicateList ; + + FROM SymbolTable IMPORT NulSym, ModeOfAddr, IsVar, IsRecord, GetSType, ++ ProcedureKind, GetNthParam, NoOfParam, + GetNth, IsRecordField, IsSet, IsArray, IsProcedure, + GetVarScope, IsVarAParam, IsComponent, GetMode, + VarCheckReadInit, VarInitState, PutVarInitialized, + PutVarFieldInitialized, GetVarFieldInitialized, +- IsConst, IsConstString, NoOfParam, IsVarParam, ++ IsConst, IsConstString, NoOfParamAny, IsVarParamAny, + ForeachLocalSymDo, ForeachParamSymDo, + IsTemporary, ModeOfAddr, + IsReallyPointer, IsUnbounded, + IsVarient, IsFieldVarient, GetVarient, + IsVarArrayRef, GetSymName, +- IsType, IsPointer, ++ IsType, IsPointer, IsTuple, + GetParameterShadowVar, IsParameter, GetLType, +- GetParameterHeapVar ; ++ GetParameterHeapVar, GetVarDeclTok ; + + FROM M2Quads IMPORT QuadOperator, GetQuadOtok, GetQuad, GetNextQuad, + IsNewLocalVar, IsReturn, IsKillLocalVar, IsConditional, +@@ -1163,6 +1165,21 @@ BEGIN + END CheckRecordField ; + + ++(* ++ CheckLastForIterator - ++*) ++ ++PROCEDURE CheckLastForIterator (op1tok: CARDINAL; op1: CARDINAL; ++ op2tok: CARDINAL; op2: CARDINAL; ++ warning: BOOLEAN; i: CARDINAL) ; ++BEGIN ++ SetVarInitialized (op1, FALSE, op1tok) ; ++ Assert (IsTuple (op2)) ; ++ CheckDeferredRecordAccess (op2tok, GetNth (op2, 1), FALSE, warning, i) ; ++ CheckDeferredRecordAccess (op2tok, GetNth (op2, 2), FALSE, warning, i) ; ++END CheckLastForIterator ; ++ ++ + (* + CheckBecomes - + *) +@@ -1280,6 +1297,9 @@ BEGIN + IfLessEquOp, + IfGreOp, + IfGreEquOp : CheckComparison (op1tok, op1, op2tok, op2, warning, i) | ++ LastForIteratorOp : CheckLastForIterator (op1tok, op1, op2tok, op2, ++ warning, i) ; ++ Assert (IsConst (op3)) | + TryOp, + ReturnOp, + CallOp, +@@ -1302,11 +1322,11 @@ BEGIN + SizeOp : SetVarInitialized (op1, FALSE, op1tok) | + AddrOp : CheckAddr (op1tok, op1, op3tok, op3) | + ReturnValueOp : SetVarInitialized (op1, FALSE, op1tok) | +- NewLocalVarOp : | ++ NewLocalVarOp : SetParameterVariablesInitialized (op3) | + ParamOp : CheckDeferredRecordAccess (op2tok, op2, FALSE, warning, i) ; + CheckDeferredRecordAccess (op3tok, op3, FALSE, warning, i) ; +- IF (op1 > 0) AND (op1 <= NoOfParam (op2)) AND +- IsVarParam (op2, op1) ++ IF (op1 > 0) AND (op1 <= NoOfParamAny (op2)) AND ++ IsVarParamAny (op2, op1) + THEN + SetVarInitialized (op3, TRUE, op3tok) + END | +@@ -1381,6 +1401,18 @@ BEGIN + END CheckReadBeforeInitQuad ; + + ++(* ++ SetParameterVariablesInitialized - sets all shadow variables for parameters as ++ initialized. ++*) ++ ++PROCEDURE SetParameterVariablesInitialized (procSym: CARDINAL) ; ++BEGIN ++ ForeachLocalSymDo (procSym, SetVarUninitialized) ; ++ ForeachParamSymDo (procSym, SetVarLRInitialized) ; ++END SetParameterVariablesInitialized ; ++ ++ + (* + FilterCheckReadBeforeInitQuad - + *) +@@ -1873,7 +1905,7 @@ END DetectTrash ; + AppendEntry - + *) + +-PROCEDURE AppendEntry (Start, End: CARDINAL) ; ++PROCEDURE AppendEntry (bb: BasicBlock) ; + VAR + bbPtr: bbEntry ; + high : CARDINAL ; +@@ -1881,13 +1913,13 @@ BEGIN + high := Indexing.HighIndice (bbArray) ; + bbPtr := NewEntry () ; + WITH bbPtr^ DO +- start := Start ; +- end := End ; ++ start := GetBasicBlockStart (bb) ; ++ end := GetBasicBlockEnd (bb) ; + first := high = 0 ; +- endCall := IsCall (End) ; +- endGoto := IsGoto (End) ; +- endCond := IsConditional (End) ; +- topOfLoop := IsBackReference (Start) ; ++ endCall := IsCall (end) ; ++ endGoto := IsGoto (end) ; ++ endCond := IsConditional (end) ; ++ topOfLoop := IsBackReference (start) ; + trashQuad := 0 ; + indexBB := high + 1 ; + nextQuad := 0 ; +--- a/src/gcc/m2/gm2-compiler/M2System.def ++++ b/src/gcc/m2/gm2-compiler/M2System.def +@@ -31,7 +31,7 @@ DEFINITION MODULE M2System ; + are mapped onto their equivalents in the gcc backend. + *) + +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + + EXPORT QUALIFIED + System, (* The SYSTEM module symbol. *) +--- a/src/gcc/m2/gm2-compiler/M2System.mod ++++ b/src/gcc/m2/gm2-compiler/M2System.mod +@@ -50,7 +50,7 @@ FROM SymbolTable IMPORT NulSym, + PutProcedureNoReturn, + GetSym, GetSymName, + GetCurrentModule, SetCurrentModule, +- IsLegal, ++ IsLegal, ProcedureKind, + PopValue, + PopSize ; + +@@ -73,7 +73,7 @@ FROM M2Base IMPORT Real, Cardinal, Integer, Complex, + LongReal, LongCard, LongInt, LongComplex, + ShortReal, ShortCard, ShortInt, ShortComplex ; + +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM m2linemap IMPORT BuiltinsLocation ; + FROM m2decl IMPORT GetBitsPerBitset, GetBitsPerUnit ; + +@@ -116,7 +116,7 @@ END Init ; + CreateMinMaxFor - creates the min and max values for, type, given gccType. + *) + +-PROCEDURE CreateMinMaxFor (type: CARDINAL; min, max: ARRAY OF CHAR; gccType: Tree) ; ++PROCEDURE CreateMinMaxFor (type: CARDINAL; min, max: ARRAY OF CHAR; gccType: tree) ; + VAR + maxval, minval: CARDINAL ; + BEGIN +@@ -140,7 +140,7 @@ END CreateMinMaxFor ; + + PROCEDURE MapType (type: CARDINAL; + name, min, max: ARRAY OF CHAR; +- needsExporting: BOOLEAN; t: Tree) ; ++ needsExporting: BOOLEAN; t: tree) ; + VAR + n: Name ; + BEGIN +@@ -170,7 +170,7 @@ END MapType ; + *) + + PROCEDURE CreateType (name, min, max: ARRAY OF CHAR; +- needsExporting: BOOLEAN; gccType: Tree) : CARDINAL ; ++ needsExporting: BOOLEAN; gccType: tree) : CARDINAL ; + VAR + type: CARDINAL ; + BEGIN +@@ -194,7 +194,7 @@ END CreateType ; + *) + + PROCEDURE AttemptToCreateType (name, min, max: ARRAY OF CHAR; +- needsExporting: BOOLEAN; gccType: Tree) ; ++ needsExporting: BOOLEAN; gccType: tree) ; + BEGIN + Assert (IsLegal (CreateType (name, min, max, needsExporting, gccType))) + END AttemptToCreateType ; +@@ -206,7 +206,7 @@ END AttemptToCreateType ; + *) + + PROCEDURE CreateSetType (name, highBit: ARRAY OF CHAR; +- needsExporting: BOOLEAN; gccType: Tree) : CARDINAL ; ++ needsExporting: BOOLEAN; gccType: tree) : CARDINAL ; + VAR + low, + high, +@@ -237,7 +237,7 @@ END CreateSetType ; + *) + + PROCEDURE AttemptToCreateSetType (name, highBit: ARRAY OF CHAR; +- needsExporting: BOOLEAN; gccType: Tree) ; ++ needsExporting: BOOLEAN; gccType: tree) ; + BEGIN + Assert (IsLegal (CreateSetType (name, highBit, needsExporting, gccType))) + END AttemptToCreateSetType ; +@@ -372,43 +372,45 @@ BEGIN + END + END ; + +- (* And now the predefined pseudo functions *) ++ (* The predefined pseudo functions. *) + + Adr := MakeProcedure(BuiltinTokenNo, + MakeKey('ADR')) ; (* Function *) +- PutFunction(Adr, Address) ; (* Return Type *) ++ PutFunction (BuiltinTokenNo, Adr, DefProcedure, Address) ; ++ (* Return Type *) + (* Address *) +- + TSize := MakeProcedure(BuiltinTokenNo, + MakeKey('TSIZE')) ; (* Function *) +- PutFunction(TSize, ZType) ; (* Return Type *) ++ PutFunction (BuiltinTokenNo, TSize, DefProcedure, ZType) ; ++ (* Return Type *) + (* ZType *) +- + TBitSize := MakeProcedure(BuiltinTokenNo, + MakeKey('TBITSIZE')) ; (* GNU extension *) + (* Function *) +- PutFunction(TBitSize, ZType) ; (* Return Type *) ++ PutFunction (BuiltinTokenNo, TBitSize, DefProcedure, ZType) ; ++ (* Return Type *) + (* ZType *) +- (* and the ISO specific predefined pseudo functions *) ++ (* The ISO specific predefined pseudo functions. *) + + AddAdr := MakeProcedure(BuiltinTokenNo, + MakeKey('ADDADR')) ; (* Function *) +- PutFunction(AddAdr, Address) ; (* Return Type *) +- ++ PutFunction (BuiltinTokenNo, AddAdr, DefProcedure, Address) ; ++ (* Return Type *) + SubAdr := MakeProcedure(BuiltinTokenNo, + MakeKey('SUBADR')) ; (* Function *) +- PutFunction(SubAdr, Address) ; (* Return Type *) +- +- DifAdr := MakeProcedure(BuiltinTokenNo, +- MakeKey('DIFADR')) ; (* Function *) +- PutFunction(DifAdr, Address) ; (* Return Type *) +- +- MakeAdr := MakeProcedure(BuiltinTokenNo, +- MakeKey('MAKEADR')) ; (* Function *) +- PutFunction(MakeAdr, Address) ; (* Return Type *) +- +- (* the return value for ROTATE, SHIFT and CAST is actually the +- same as the first parameter, this is faked in M2Quads *) ++ PutFunction (BuiltinTokenNo, SubAdr, DefProcedure, Address) ; ++ (* Return Type *) ++ DifAdr := MakeProcedure (BuiltinTokenNo, ++ MakeKey ('DIFADR')) ; (* Function *) ++ PutFunction (BuiltinTokenNo, DifAdr, DefProcedure, Address) ; ++ (* Return Type *) ++ MakeAdr := MakeProcedure (BuiltinTokenNo, ++ MakeKey ('MAKEADR')) ; (* Function *) ++ PutFunction (BuiltinTokenNo, MakeAdr, DefProcedure, Address) ; ++ (* Return Type *) ++ ++ (* The return value for ROTATE, SHIFT and CAST is the ++ same as the first parameter and is faked in M2Quads. *) + + Rotate := MakeProcedure(BuiltinTokenNo, + MakeKey('ROTATE')) ; (* Function *) +@@ -419,7 +421,7 @@ BEGIN + + Throw := MakeProcedure(BuiltinTokenNo, + MakeKey('THROW')) ; (* Procedure *) +- PutProcedureNoReturn (Throw, TRUE) ; ++ PutProcedureNoReturn (Throw, DefProcedure, TRUE) ; + + CreateMinMaxFor(Word, 'MinWord', 'MaxWord', GetWordType()) ; + CreateMinMaxFor(Address, 'MinAddress', 'MaxAddress', GetPointerType()) ; +--- a/src/gcc/m2/gm2-compiler/P0SymBuild.def ++++ b/src/gcc/m2/gm2-compiler/P0SymBuild.def +@@ -103,6 +103,13 @@ PROCEDURE RegisterProcedure ; + PROCEDURE EndProcedure ; + + ++(* ++ EndForward - ends building a forward procedure. ++*) ++ ++PROCEDURE EndForward ; ++ ++ + (* + P0Init - + *) +--- a/src/gcc/m2/gm2-compiler/P0SymBuild.mod ++++ b/src/gcc/m2/gm2-compiler/P0SymBuild.mod +@@ -46,7 +46,7 @@ TYPE + name : Name ; + kind : Kind ; + sym : CARDINAL ; +- level : CARDINAL ; ++ level : INTEGER ; + token : CARDINAL ; (* where the block starts. *) + LocalModules : List ; (* locally declared modules at the current level *) + ImportedModules: Index ; (* current list of imports for the scanned module *) +@@ -65,7 +65,7 @@ TYPE + VAR + headBP, + curBP : BlockInfoPtr ; +- Level : CARDINAL ; ++ Level : INTEGER ; + + + (* +@@ -536,6 +536,18 @@ BEGIN + END EndProcedure ; + + ++(* ++ EndForward - ends building a forward procedure. ++*) ++ ++PROCEDURE EndForward ; ++BEGIN ++ PopN (1) ; ++ EndBlock ; ++ M2Error.LeaveErrorScope ++END EndForward ; ++ ++ + (* + EndModule - + *) +--- a/src/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf ++++ b/src/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf +@@ -47,9 +47,14 @@ IMPLEMENTATION MODULE P0SyntaxCheck ; + FROM M2LexBuf IMPORT currentstring, currenttoken, GetToken, InsertToken, + InsertTokenAndRewind, GetTokenNo, DisplayToken, DumpTokens ; + ++FROM M2Quads IMPORT PushT, PushTF, IsAutoPushOn, PushAutoOff, PushAutoOn, ++ PopAuto, DisplayStack, PushTFtok, PushTtok, DupFrame, ++ Top ; ++ ++FROM M2Reserved IMPORT tokToTok, toktype, NulTok, ImportTok, ExportTok, ++ QualifiedTok, UnQualifiedTok, BuiltinTok, InlineTok ; ++ + FROM M2MetaError IMPORT MetaErrorStringT0 ; +-FROM M2Quads IMPORT PushT, PushTF, IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto, DisplayStack, PushTFtok, PushTtok ; +-FROM M2Reserved IMPORT tokToTok, toktype, NulTok, ImportTok, ExportTok, QualifiedTok, UnQualifiedTok, BuiltinTok, InlineTok ; + FROM P2SymBuild IMPORT BuildString, BuildNumber ; + FROM NameKey IMPORT Name, NulName, makekey ; + FROM StrLib IMPORT StrCopy, StrConCat, StrEqual ; +@@ -64,7 +69,7 @@ FROM P0SymBuild IMPORT RegisterImports, RegisterInnerImports, + RegisterProgramModule, + RegisterImplementationModule, RegisterDefinitionModule, + RegisterInnerModule, EndModule, +- RegisterProcedure, EndProcedure ; ++ RegisterProcedure, EndProcedure, EndForward ; + + FROM SymbolTable IMPORT NulSym, PutModuleContainsBuiltin, PutHiddenTypeDeclared ; + +@@ -88,6 +93,16 @@ VAR + InsertCount : CARDINAL ; + + ++(* ++ BlockAssert - wrap an Assert specifically for blocks. ++*) ++ ++PROCEDURE BlockAssert (value: BOOLEAN) ; ++BEGIN ++ Assert (value) ; ++END BlockAssert ; ++ ++ + PROCEDURE ErrorString (s: String) ; + BEGIN + MetaErrorStringT0 (GetTokenNo (), s) ; +@@ -487,6 +502,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -805,11 +821,20 @@ LoopStatement := "LOOP" StatementSequence "END" =: + + WithStatement := "WITH" Designator "DO" StatementSequence "END" =: + +-ProcedureDeclaration := +- ProcedureHeading ";" ( ProcedureBlock % PushAutoOn % +- Ident % EndProcedure % ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading ";" PostProcedureHeading % BlockAssert (top = Top ()) % ++ =: ++ ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: ++ ++ForwardDeclaration := "FORWARD" % EndForward % ++ =: ++ ++ProperProcedure := ProcedureBlock % PushAutoOn % ++ Ident % EndProcedure % + % PopAuto % +- ) =: ++ =: + + DefineBuiltinProcedure := [ "__ATTRIBUTE__" "__BUILTIN__" "(" "(" Ident ")" ")" | + "__INLINE__" ] =: +--- a/src/gcc/m2/gm2-compiler/P1Build.bnf ++++ b/src/gcc/m2/gm2-compiler/P1Build.bnf +@@ -46,7 +46,7 @@ IMPLEMENTATION MODULE P1Build ; + + FROM M2LexBuf IMPORT currentstring, currenttoken, GetToken, InsertToken, InsertTokenAndRewind, GetTokenNo ; + FROM M2Error IMPORT ErrorStringAt ; +-FROM M2Quads IMPORT PushT, PushTF, PushTFtok, IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto, DisplayStack ; ++FROM M2Quads IMPORT Top, PushT, PushTF, PushTFtok, IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto, DisplayStack, DupFrame ; + FROM M2Reserved IMPORT tokToTok, toktype, NulTok, ImportTok, ExportTok, QualifiedTok, UnQualifiedTok, BuiltinTok, InlineTok ; + FROM NameKey IMPORT Name, NulName, makekey ; + FROM StrLib IMPORT StrCopy, StrConCat, StrEqual ; +@@ -89,6 +89,7 @@ FROM P1SymBuild IMPORT P1StartBuildProgramModule, + BuildProcedureHeading, + StartBuildProcedure, + EndBuildProcedure, ++ EndBuildForward, + AddImportToImportStatement, + BuildImportStatement ; + +@@ -482,6 +483,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -869,10 +871,20 @@ LoopStatement := "LOOP" StatementSequence "END" =: + + WithStatement := "WITH" Designator "DO" StatementSequence "END" =: + +-ProcedureDeclaration := ProcedureHeading ";" ( ProcedureBlock % PushAutoOn % +- Ident ) % EndBuildProcedure % ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading ";" PostProcedureHeading % Assert (top = Top ()) % ++ =: ++ ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: ++ ++ForwardDeclaration := "FORWARD" % EndBuildForward (GetTokenNo ()-1) % ++ =: ++ ++ProperProcedure := ProcedureBlock % PushAutoOn % ++ Ident % EndBuildProcedure % + % PopAuto % +- =: ++ =: + + DefineBuiltinProcedure := "__ATTRIBUTE__" "__BUILTIN__" "(" "(" Ident ")" ")" + | "__INLINE__" % PushT(InlineTok) % +--- a/src/gcc/m2/gm2-compiler/P1SymBuild.def ++++ b/src/gcc/m2/gm2-compiler/P1SymBuild.def +@@ -25,37 +25,12 @@ DEFINITION MODULE P1SymBuild ; + Title : P1SymBuild + Author : Gaius Mulley + Date : 24/6/87 +- LastEdit : Sat Dec 9 11:34:34 EST 1989 + System : UNIX (GNU Modula-2) + Description: Builds symbol entities, types, constants, variables, + procedures, modules and scopes. + All procedures are only called during Pass 1. + *) + +-EXPORT QUALIFIED P1StartBuildDefinitionModule, +- P1EndBuildDefinitionModule, +- P1StartBuildImplementationModule, +- P1EndBuildImplementationModule, +- P1StartBuildProgramModule, +- P1EndBuildProgramModule, +- StartBuildInnerModule, +- EndBuildInnerModule, +- BuildImportOuterModule, +- BuildExportOuterModule, +- BuildImportInnerModule, +- BuildExportInnerModule, +- StartBuildEnumeration, +- EndBuildEnumeration, +- BuildHiddenType, +- StartBuildProcedure, +- EndBuildProcedure, +- BuildProcedureHeading, +- BuildNulName, +- BuildTypeEnd, +- CheckExplicitExported, +- BuildImportStatement, +- AddImportToImportStatement ; +- + + (* + StartBuildDefinitionModule - Creates a definition module and starts +@@ -496,6 +471,27 @@ PROCEDURE EndBuildProcedure ; + PROCEDURE BuildProcedureHeading ; + + ++(* ++ EndBuildForward - Ends building a forward procedure declaration. ++ ++ The Stack: ++ ++ (This procedure is not defined in definition module) ++ ++ Entry Exit ++ ++ Ptr -> ++ +------------+ ++ | ProcSym | ++ |------------| ++ | NameStart | ++ |------------| ++ Empty ++*) ++ ++PROCEDURE EndBuildForward (forwardPos: CARDINAL) ; ++ ++ + (* + BuildNulName - Pushes a NulKey onto the top of the stack. + The Stack: +--- a/src/gcc/m2/gm2-compiler/P1SymBuild.mod ++++ b/src/gcc/m2/gm2-compiler/P1SymBuild.mod +@@ -26,10 +26,13 @@ FROM ASCII IMPORT nul ; + FROM NameKey IMPORT Name, WriteKey, MakeKey, KeyToCharStar, NulName ; + FROM M2Debug IMPORT Assert, WriteDebug ; + FROM M2LexBuf IMPORT GetFileName, GetTokenNo, UnknownTokenNo ; +-FROM M2MetaError IMPORT MetaErrorString2, MetaError0, MetaError1, MetaError2, MetaErrorT1, MetaErrorT2 ; ++ ++FROM M2MetaError IMPORT MetaErrorString2, MetaError0, MetaError1, ++ MetaError2, MetaErrorT0, MetaErrorT1, MetaErrorT2 ; ++ + FROM DynamicStrings IMPORT String, Slice, InitString, KillString, EqualCharStar, RIndex, Mark, ConCat ; + FROM M2Printf IMPORT printf0, printf1, printf2 ; +-FROM M2Options IMPORT Iso ; ++FROM M2Options IMPORT Iso, GetEnableForward ; + + FROM M2Reserved IMPORT ImportTok, ExportTok, QualifiedTok, UnQualifiedTok, + NulTok, VarTok, ArrayTok, BuiltinTok, InlineTok ; +@@ -69,8 +72,6 @@ FROM SymbolTable IMPORT NulSym, + PutDoesNeedExportList, PutDoesNotNeedExportList, + DoesNotNeedExportList, + MakeProcedure, +- PutFunction, PutParam, PutVarParam, +- GetNthParam, + IsProcedure, IsConstString, + MakePointer, PutPointer, + MakeRecord, PutFieldRecord, +@@ -82,6 +83,9 @@ FROM SymbolTable IMPORT NulSym, + PutProcedureBuiltin, PutProcedureInline, + GetSymName, + ResolveImports, PutDeclared, ++ ProcedureKind, ++ PutProcedureDeclaredTok, GetProcedureDeclaredTok, ++ PutProcedureDefined, GetProcedureDefined, + MakeError, MakeErrorS, + DisplayTrees ; + +@@ -931,14 +935,20 @@ BEGIN + ProcSym := RequestSym (tokno, name) ; + IF IsUnknown (ProcSym) + THEN +- (* +- May have been compiled in DEF or IMP module, remember that IMP maybe +- compiled before corresponding DEF module. +- *) ++ (* A procedure may be created in a definition or implementation module, remember ++ that an implementation module maybe compiled before the corresponding ++ definition module. ++ ++ The procedure can also be created during a forward declaration. ++ We record the forward declaration as the token of creation and adjust this ++ later when we see the proper procedure declaration. Likwwise when the forward ++ keyword is seen we assign the procedure forward token location. *) + ProcSym := MakeProcedure (tokno, name) + ELSIF IsProcedure (ProcSym) + THEN +- (* declared in the other module, we record declaration here as well *) ++ (* Declared in the other module or it could have been declared by a forward decl, ++ we overwrite the declaration to tokno. The forward location is assigned in ++ EndBuildForward. *) + PutDeclared (tokno, ProcSym) + ELSE + MetaError1 ('expecting a procedure name and symbol {%1Ea} has been declared as a {%1d}', ProcSym) ; +@@ -957,10 +967,21 @@ BEGIN + PutProcedureBuiltin (ProcSym, builtin) + END + END ; +- PushT (ProcSym) ; ++ PushTtok (ProcSym, tokno) ; + StartScope (ProcSym) ; +- IF NOT CompilingDefinitionModule () ++ IF CompilingDefinitionModule () + THEN ++ IF GetProcedureDefined (ProcSym, DefProcedure) ++ THEN ++ MetaErrorT1 (GetProcedureDeclaredTok (ProcSym, DefProcedure), ++ 'first declaration of procedure {%1Ea} in the definition module', ProcSym) ; ++ MetaErrorT1 (tokno, ++ 'duplicate declaration of procedure {%1Ea} in the definition module', ProcSym) ++ ELSE ++ PutProcedureDeclaredTok (ProcSym, DefProcedure, tokno) ; ++ PutProcedureDefined (ProcSym, DefProcedure) ++ END ++ ELSE + EnterBlock (name) + END + END StartBuildProcedure ; +@@ -990,15 +1011,16 @@ END StartBuildProcedure ; + + PROCEDURE EndBuildProcedure ; + VAR ++ tok, + start, end: CARDINAL ; + ProcSym : CARDINAL ; + NameEnd, + NameStart : Name ; + BEGIN + PopTtok(NameEnd, end) ; +- PopT(ProcSym) ; ++ PopTtok(ProcSym, tok) ; + PopTtok(NameStart, start) ; +- IF NameEnd#NameStart ++ IF NameEnd # NameStart + THEN + IF end # UnknownTokenNo + THEN +@@ -1014,11 +1036,65 @@ BEGIN + END + END ; + EndScope ; ++ IF GetProcedureDefined (ProcSym, ProperProcedure) ++ THEN ++ MetaErrorT1 (GetProcedureDeclaredTok (ProcSym, ProperProcedure), ++ 'first proper declaration of procedure {%1Ea}', ProcSym) ; ++ MetaErrorT1 (tok, 'procedure {%1Ea} has already been declared', ProcSym) ++ ELSE ++ PutProcedureDeclaredTok (ProcSym, ProperProcedure, tok) ++ END ; + Assert (NOT CompilingDefinitionModule()) ; + LeaveBlock + END EndBuildProcedure ; + + ++(* ++ EndBuildForward - Ends building a forward procedure declaration. ++ ++ The Stack: ++ ++ (This procedure is not defined in definition module) ++ ++ Entry Exit ++ ++ Ptr -> ++ +------------+ ++ | ProcSym | ++ |------------| ++ | NameStart | ++ |------------| ++ Empty ++*) ++ ++PROCEDURE EndBuildForward (forwardPos: CARDINAL) ; ++VAR ++ ProcSym: CARDINAL ; ++ tok : CARDINAL ; ++BEGIN ++ ProcSym := OperandT (1) ; ++ tok := OperandTok (1) ; ++ IF NOT GetEnableForward () ++ THEN ++ MetaErrorT0 (forwardPos, ++ 'forward declaration has not been enabled, use -fiso or -fenable-forward to enable forward procedure declarations') ++ END ; ++ IF GetProcedureDefined (ProcSym, ForwardProcedure) ++ THEN ++ MetaErrorT1 (GetProcedureDeclaredTok (ProcSym, ForwardProcedure), ++ 'first forward declaration of {%1Ea}', ProcSym) ; ++ MetaErrorT1 (tok, 'forward declaration of procedure {%1Ea} has already occurred', ProcSym) ++ ELSE ++ PutProcedureDeclaredTok (ProcSym, ForwardProcedure, tok) ; ++ PutProcedureDefined (ProcSym, ForwardProcedure) ++ END ; ++ PopN (2) ; ++ EndScope ; ++ Assert (NOT CompilingDefinitionModule ()) ; ++ LeaveBlock ++END EndBuildForward ; ++ ++ + (* + BuildProcedureHeading - Builds a procedure heading for the definition + module procedures. +--- a/src/gcc/m2/gm2-compiler/P2Build.bnf ++++ b/src/gcc/m2/gm2-compiler/P2Build.bnf +@@ -54,6 +54,7 @@ FROM M2Printf IMPORT printf0 ; + FROM M2Debug IMPORT Assert ; + + FROM M2Quads IMPORT PushT, PopT, PushTF, PopTF, PopNothing, OperandT, PushTFA, Top, Annotate, ++ OperandTok, + PushTFtok, PopTFtok, PushTFAtok, PopTtok, PushTtok, + StartBuildInit, + EndBuildInit, +@@ -97,6 +98,7 @@ FROM P2SymBuild IMPORT P2StartBuildProgramModule, + EndBuildProcedure, + BuildFunction, BuildOptFunction, + BuildNoReturnAttribute, ++ EndBuildForward, + + BuildPointerType, + BuildRecord, BuildFieldRecord, +@@ -115,7 +117,8 @@ FROM P2SymBuild IMPORT P2StartBuildProgramModule, + DetermineType, PushType, PopType, + SeenUnknown, SeenSet, SeenString, SeenArray, SeenConstructor, + SeenCast, +- PushRememberConstant, PopRememberConstant ; ++ PushRememberConstant, PopRememberConstant, ++ CheckProcedure ; + + FROM M2Reserved IMPORT ArrayTok, VarTok ; + +@@ -499,6 +502,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -780,8 +784,9 @@ ArrayType := "ARRAY" % VAR + SimpleType % BuildFieldArray ; % + } "OF" % BuildNulName ; % + Type % EndBuildArray ; ++ tok := OperandTok (1) ; + PopNothing ; +- PushTtok(arrayType, tok) % ++ PushTtok (arrayType, tok) % + =: + + RecordType := "RECORD" % BuildRecord % +@@ -884,7 +889,9 @@ FormalTypeList := "(" ( ")" FormalReturn | + ProcedureParameters + ")" FormalReturn ) =: + +-FormalReturn := [ ":" OptReturnType ] =: ++FormalReturn := ( ":" OptReturnType | % CheckProcedure % ++ ) ++ =: + + OptReturnType := "[" Qualident % BuildOptFunction % + "]" | Qualident % BuildFunction % +@@ -1008,13 +1015,21 @@ LoopStatement := "LOOP" StatementSequence "END" =: + + WithStatement := "WITH" Designator "DO" StatementSequence "END" =: + +-ProcedureDeclaration := ProcedureHeading % Assert(IsProcedure(OperandT(1))) % +- ";" ( ProcedureBlock +- % Assert(IsProcedure(OperandT(1))) % +- Ident ) +- % EndBuildProcedure % ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading % Assert(IsProcedure(OperandT(1))) % ++ ";" PostProcedureHeading % Assert (top = Top ()) % ++ =: + +- =: ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: ++ ++ForwardDeclaration := "FORWARD" % Assert (IsProcedure (OperandT (1))) % ++ % EndBuildForward % ++ =: ++ ++ProperProcedure := ProcedureBlock % Assert(IsProcedure(OperandT(1))) % ++ Ident % EndBuildProcedure % ++ =: + + DefineBuiltinProcedure := [ "__ATTRIBUTE__" "__BUILTIN__" + "(" "(" % PushAutoOff % +@@ -1028,7 +1043,10 @@ ProcedureHeading := "PROCEDURE" % M2E + % StartBuildProcedure % + % Assert(IsProcedure(OperandT(1))) % + % StartBuildFormalParameters % +- [ FormalParameters ] % EndBuildFormalParameters % ++ % Assert(IsProcedure(OperandT(2))) % ++ [ FormalParameters ++ % Assert(IsProcedure(OperandT(2))) % ++ ] % EndBuildFormalParameters % + AttributeNoReturn + % BuildProcedureHeading % + ) +@@ -1041,8 +1059,12 @@ DefProcedureHeading := "PROCEDURE" % M2E + ( Ident + % StartBuildProcedure % + % Assert(IsProcedure(OperandT(1))) % ++ % DisplayStack % + % StartBuildFormalParameters % +- [ DefFormalParameters ] % EndBuildFormalParameters % ++ % DisplayStack % ++ [ DefFormalParameters % DisplayStack % ++ ] % DisplayStack % ++ % EndBuildFormalParameters % + AttributeNoReturn + % BuildProcedureHeading % + ) % M2Error.LeaveErrorScope % +@@ -1052,7 +1074,7 @@ AttributeNoReturn := [ "<*" % Pus + Ident % PopAuto % + % checkReturnAttribute % + % Assert(IsProcedure(OperandT(1))) % +- % BuildNoReturnAttribute (OperandT(1)) % ++ % BuildNoReturnAttribute % + "*>" ] =: + + AttributeUnused := [ "<*" % PushAutoOn % +@@ -1100,7 +1122,8 @@ DefFormalParameters := "(" + [ DefMultiFPSection ] % VAR n: CARDINAL; % + % PopT(n) ; (* remove param count *) % + ")" +- FormalReturn % PushT(n) ; (* restore param count *) % ++ FormalReturn % PushT(n) ; (* restore param count *) ++ Annotate ("%1d||running total of no. of parameters") % + =: + + DefMultiFPSection := DefExtendedFP | +@@ -1110,7 +1133,8 @@ FormalParameters := "(" + [ MultiFPSection ] % VAR n: CARDINAL; % + % PopT(n) ; (* remove param count *) % + ")" +- FormalReturn % PushT(n) ; (* restore param count *) % ++ FormalReturn % PushT(n) ; (* restore param count *) ; ++ Annotate ("%1d||running total of no. of parameters") % + =: + + MultiFPSection := ExtendedFP | +@@ -1130,6 +1154,7 @@ OptArg := "[" % VAR + % PushT(NulTok) % + Ident % PushT(1) % + ":" FormalType % PushT(n) % ++ % Annotate ("%1d||running total of no. of parameters") % + % BuildFPSection % + % BuildOptArg % + [ "=" ConstExpression ] +@@ -1140,6 +1165,7 @@ DefOptArg := "[" % VAR + % PushT(NulTok) % + Ident % PushT(1) % + ":" FormalType % PushT(n) % ++ % Annotate ("%1d||running total of no. of parameters") % + % BuildFPSection % + % BuildOptArg % + "=" ConstExpression +@@ -1149,6 +1175,7 @@ VarFPSection := "VAR" % VAR + % PopT(n) ; % + % PushT(VarTok) ; % + IdentList ":" FormalType % PushT(n) % ++ % Annotate ("%1d||running total of no. of parameters") % + [ AttributeUnused ] + % BuildFPSection % + =: +@@ -1157,11 +1184,12 @@ NonVarFPSection := % VAR + % PopT(n) % + % PushT(NulTok) % + IdentList ":" FormalType % PushT(n) % ++ % Annotate ("%1d||running total of no. of parameters") % + [ AttributeUnused ] + % BuildFPSection % + =: + +-FormalType := "ARRAY" "OF" % VAR n: CARDINAL ; % ++FormalType := "ARRAY" "OF" % VAR n, tok: CARDINAL ; % + % PushTF(ArrayTok, 1) % + { "ARRAY" "OF" % PopTF(ArrayTok, n) % + % INC(n) % +@@ -1169,9 +1197,9 @@ FormalType := "ARRAY" "OF" % VAR + } Qualident + | % VAR Sym, Type: CARDINAL ; % + Qualident +- % PopTF(Sym, Type) ; ++ % PopTFtok (Sym, Type, tok) ; + PushT(NulTok) ; +- PushTF(Sym, Type) % ++ PushTFtok (Sym, Type, tok) % + =: + + ModuleDeclaration := "MODULE" % M2Error.DefaultInnerModule % +--- a/src/gcc/m2/gm2-compiler/P2SymBuild.def ++++ b/src/gcc/m2/gm2-compiler/P2SymBuild.def +@@ -21,78 +21,6 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE P2SymBuild ; + +-(* +- Title : P2SymBuild +- Author : Gaius Mulley +- Date : 24/6/87 +- LastEdit : Sat Dec 9 11:10:57 EST 1989 +- System : UNIX (GNU Modula-2) +- Description: pass 2 symbol creation. +-*) +- +-EXPORT QUALIFIED P2StartBuildDefModule, +- P2EndBuildDefModule, +- P2StartBuildImplementationModule, +- P2EndBuildImplementationModule, +- P2StartBuildProgramModule, +- P2EndBuildProgramModule, +- StartBuildInnerModule, +- EndBuildInnerModule, +- BuildImportOuterModule, +- BuildExportOuterModule, +- BuildImportInnerModule, +- BuildExportInnerModule, +- BlockStart, BlockEnd, BlockBegin, BlockFinally, +- BuildNumber, +- BuildString, +- BuildConst, +- BuildSubrange, BuildAligned, +- BuildTypeAlignment, BuildVarAlignment, +- P2BuildDefaultFieldAlignment, BuildPragmaConst, +- BuildVariable, +- StartBuildEnumeration, +- BuildType, +- StartBuildFormalParameters, +- EndBuildFormalParameters, +- BuildProcedureHeading, +- BuildFPSection, +- BuildVarArgs, +- BuildFormalVarArgs, +- BuildOptArg, +- StartBuildProcedure, +- EndBuildProcedure, +- BuildNoReturnAttribute, +- BuildFunction, +- BuildOptFunction, +- BuildPointerType, +- BuildSetType, +- BuildRecord, +- BuildFieldRecord, +- StartBuildVarient, +- EndBuildVarient, +- BuildVarientSelector, +- StartBuildVarientFieldRecord, +- EndBuildVarientFieldRecord, +- BuildNulName, +- BuildTypeEnd, +- StartBuildArray, BuildArrayComma, +- EndBuildArray, +- BuildFieldArray, +- BuildProcedureType, +- BuildFormalType, +- SeenCast, +- SeenSet, +- SeenArray, +- SeenConstructor, +- SeenUnknown, +- SeenString, +- SeenBoolean, +- SeenCType, SeenRType, SeenZType, +- DetermineType, PushType, PopType, +- PushRememberConstant, +- PopRememberConstant, +- RememberConstant ; +- + + (* + BlockStart - tokno is the module/procedure/implementation/definition token +@@ -864,11 +792,35 @@ PROCEDURE StartBuildProcedure ; + PROCEDURE EndBuildProcedure ; + + ++(* ++ EndBuildForward - ends building a forward procedure. ++*) ++ ++PROCEDURE EndBuildForward ; ++ ++ + (* + BuildNoReturnAttribute - provide an interface to the symbol table module. + *) + +-PROCEDURE BuildNoReturnAttribute (procedureSym: CARDINAL) ; ++PROCEDURE BuildNoReturnAttribute ; ++ ++ ++(* ++ CheckProcedure - checks to see that the top of stack procedure ++ has not been declared as a procedure function. ++ ++ The Stack: ++ ++ Entry Exit ++ ++ Ptr -> <- Ptr ++ +------------+ +------------+ ++ | ProcSym | | ProcSym | ++ |------------| |------------| ++*) ++ ++PROCEDURE CheckProcedure ; + + + (* +--- a/src/gcc/m2/gm2-compiler/P2SymBuild.mod ++++ b/src/gcc/m2/gm2-compiler/P2SymBuild.mod +@@ -27,27 +27,31 @@ FROM NameKey IMPORT Name, MakeKey, makekey, KeyToCharStar, NulName, LengthKey, W + FROM StrLib IMPORT StrEqual ; + FROM M2Debug IMPORT Assert, WriteDebug ; + FROM M2LexBuf IMPORT UnknownTokenNo, GetTokenNo, MakeVirtual2Tok ; +-FROM M2Error IMPORT InternalError, WriteFormat1, WriteFormat2, WriteFormat0, ErrorStringAt, ErrorStringAt2 ; +-FROM M2MetaError IMPORT MetaError1, MetaError2, MetaErrorsT2, MetaErrors1, MetaErrors2, MetaErrorString1 ; ++FROM M2Error IMPORT InternalError, WriteFormat1, WriteFormat2, WriteFormat0, ErrorStringAt, ErrorStringAt2, WarnStringAt ; + FROM DynamicStrings IMPORT String, InitString, InitStringCharStar, Mark, Slice, ConCat, KillString, string ; +-FROM FormatStrings IMPORT Sprintf0, Sprintf1, Sprintf2, Sprintf4 ; ++FROM FormatStrings IMPORT Sprintf0, Sprintf1, Sprintf2, Sprintf3, Sprintf4 ; + FROM M2Printf IMPORT printf0, printf1, printf2, printf3 ; + FROM M2StackWord IMPORT StackOfWord, InitStackWord, PushWord, PopWord ; + FROM M2Options IMPORT PedanticParamNames, ExtendedOpaque ; + FROM StrIO IMPORT WriteString, WriteLn ; + FROM M2Base IMPORT ZType ; + FROM Storage IMPORT ALLOCATE ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + FROM M2LexBuf IMPORT TokenToLocation ; + + FROM M2Reserved IMPORT ImportTok, ExportTok, QualifiedTok, UnQualifiedTok, + NulTok, VarTok, ArrayTok ; + ++FROM M2MetaError IMPORT MetaError1, MetaError2, MetaError3, ++ MetaErrorsT2, MetaErrors1, MetaErrorT1, ++ MetaErrors2, MetaErrorString1, MetaErrorStringT1, ++ MetaErrorString3, MetaErrorStringT3 ; ++ + FROM FifoQueue IMPORT GetEnumerationFromFifoQueue, PutSubrangeIntoFifoQueue, + PutConstructorIntoFifoQueue, PutConstIntoFifoQueue ; + + FROM SymbolTable IMPORT NulSym, +- ModeOfAddr, ++ ModeOfAddr, ProcedureKind, + StartScope, EndScope, PseudoScope, + GetCurrentScope, GetScope, + IsDeclaredIn, +@@ -60,7 +64,7 @@ FROM SymbolTable IMPORT NulSym, + MakeVar, MakeType, PutType, + MakeModuleCtor, + PutMode, PutDeclared, GetParameterShadowVar, +- PutFieldEnumeration, PutSubrange, PutVar, PutConst, ++ PutFieldEnumeration, PutSubrange, PutVar, PutVarTok, PutConst, + PutConstSet, PutConstructor, + IsDefImp, IsType, IsRecord, IsRecordField, IsPointer, + IsSubrange, IsEnumeration, IsConstString, +@@ -87,6 +91,7 @@ FROM SymbolTable IMPORT NulSym, + MakeVarient, MakeFieldVarient, + MakeArray, PutArraySubscript, + MakeSubscript, PutSubscript, ++ MakeError, + PutConstStringKnown, GetString, + PutArray, IsArray, + GetType, SkipType, +@@ -102,13 +107,8 @@ FROM SymbolTable IMPORT NulSym, + NoOfParam, + PutParamName, + GetParam, GetDimension, +- AreParametersDefinedInDefinition, +- AreParametersDefinedInImplementation, +- AreProcedureParametersDefined, +- ParametersDefinedInDefinition, +- ParametersDefinedInImplementation, +- ProcedureParametersDefined, +- PutProcedureNoReturn, ++ PutProcedureParametersDefined, ++ GetProcedureParametersDefined, + PutProcedureParameterHeapVars, + CheckForUnImplementedExports, + CheckForUndeclaredExports, +@@ -125,6 +125,17 @@ FROM SymbolTable IMPORT NulSym, + RequestSym, + PutDeclared, + GetPackedEquivalent, ++ GetVarDeclTok, ++ PutVarDeclTok, ++ GetVarDeclTypeTok, ++ GetProcedureKindDesc, ++ GetProcedureDeclaredTok, ++ GetProcedureKind, ++ GetReturnTypeTok, ++ SetReturnOptional, ++ IsReturnOptional, ++ PutProcedureNoReturn, ++ PutProcedureDefined, + DisplayTrees ; + + FROM M2Batch IMPORT MakeDefinitionSource, +@@ -135,14 +146,14 @@ FROM M2Batch IMPORT MakeDefinitionSource, + FROM M2Quads IMPORT PushT, PopT, + PushTF, PopTF, PopTtok, PushTFtok, PushTtok, PopTFtok, + OperandT, OperandF, OperandA, OperandTok, PopN, DisplayStack, Annotate, +- AddVarientFieldToList ; ++ AddVarientFieldToList, Top ; + + FROM M2Comp IMPORT CompilingDefinitionModule, + CompilingImplementationModule, + CompilingProgramModule ; + + FROM M2Const IMPORT constType ; +-FROM M2Students IMPORT CheckForVariableThatLooksLikeKeyword ; ++FROM M2Students IMPORT CheckVariableAgainstKeyword ; + IMPORT M2Error ; + + +@@ -167,6 +178,19 @@ VAR + PROCEDURE stop ; BEGIN END stop ; + + ++(* ++ Debug - call stop if symbol name is name. ++*) ++ ++PROCEDURE Debug (sym: CARDINAL; name: ARRAY OF CHAR) ; ++BEGIN ++ IF MakeKey (name) = GetSymName (sym) ++ THEN ++ stop ++ END ++END Debug ; ++ ++ + (* + BlockStart - tokno is the module/procedure/implementation/definition token + *) +@@ -282,7 +306,7 @@ VAR + ModuleSym: CARDINAL ; + tokno : CARDINAL ; + BEGIN +- PopTtok(name, tokno) ; ++ PopTtok (name, tokno) ; + ModuleSym := MakeDefinitionSource(tokno, name) ; + curModuleSym := ModuleSym ; + SetCurrentModule(ModuleSym) ; +@@ -356,7 +380,7 @@ VAR + ModuleSym: CARDINAL ; + tokno : CARDINAL ; + BEGIN +- PopTtok(name, tokno) ; ++ PopTtok (name, tokno) ; + ModuleSym := MakeImplementationSource(tokno, name) ; + curModuleSym := ModuleSym ; + SetCurrentModule(ModuleSym) ; +@@ -394,8 +418,8 @@ BEGIN + Assert(CompilingImplementationModule()) ; + CheckForUnImplementedExports ; + EndScope ; +- PopT(NameStart) ; +- PopT(NameEnd) ; ++ PopT (NameStart) ; ++ PopT (NameEnd) ; + IF NameStart#NameEnd + THEN + WriteFormat1('inconsistant implementation module name %a', NameStart) +@@ -425,7 +449,7 @@ VAR + ModuleSym: CARDINAL ; + tokno : CARDINAL ; + BEGIN +- PopTtok(name, tokno) ; ++ PopTtok (name, tokno) ; + ModuleSym := MakeProgramSource(tokno, name) ; + curModuleSym := ModuleSym ; + SetCurrentModule(ModuleSym) ; +@@ -463,8 +487,8 @@ BEGIN + Assert(CompilingProgramModule()) ; + CheckForUndeclaredExports(GetCurrentModule()) ; (* Not really allowed exports here though! *) + EndScope ; +- PopT(NameStart) ; +- PopT(NameEnd) ; ++ PopT (NameStart) ; ++ PopT (NameEnd) ; + IF Debugging + THEN + printf0('pass 2: ') ; +@@ -1143,34 +1167,30 @@ PROCEDURE BuildVariable ; + VAR + name : Name ; + tok, ++ typetok, + AtAddress, + Type, + Var, + i, n : CARDINAL ; + BEGIN +- PopTF (Type, name) ; ++ PopTFtok (Type, name, typetok) ; + PopT (n) ; + i := 1 ; + WHILE i <= n DO +- CheckForVariableThatLooksLikeKeyword (OperandT (n+1-i)) ; +- Var := MakeVar (OperandTok (n+1-i), OperandT (n+1-i)) ; ++ CheckVariableAgainstKeyword (OperandT (n+1-i)) ; ++ tok := OperandTok (n+1-i) ; ++ Var := MakeVar (tok, OperandT (n+1-i)) ; + AtAddress := OperandA (n+1-i) ; + IF AtAddress # NulSym + THEN + PutVariableAtAddress (Var, NulSym) ; + PutMode (Var, LeftValue) + END ; +- PutVar (Var, Type) ; +- tok := OperandTok (n+1-i) ; ++ PutVarTok (Var, Type, typetok) ; + IF tok # UnknownTokenNo + THEN + PutDeclared (tok, Var) ; +- name := OperandT (n+1-i) ; +- (* printf3 ('declaring variable %a at tok %d Type %d \n', name, tok, Type) *) +- (* +- l := TokenToLocation (tok) ; +- printf3 ('declaring variable %a at position %d location %d\n', name, tok, l) +- *) ++ PutVarDeclTok (Var, tok) + END ; + INC (i) + END ; +@@ -1261,7 +1281,7 @@ BEGIN + THEN + IF isunknown + THEN +- MetaError2('attempting to declare a type {%1ad} to a type which is itself unknown {%2ad}', ++ MetaError2('attempting to declare a type {%1ad} to a type which is itself and also unknown {%2ad}', + Sym, Type) + ELSE + MetaError1('attempting to declare a type {%1ad} as itself', Sym) +@@ -1313,15 +1333,13 @@ VAR + BEGIN + PopTtok (name, tokno) ; + PushTtok (name, tokno) ; (* name saved for the EndBuildProcedure name check *) ++ Annotate ("%1n|(%1d)||procedure name saved by StartBuildProcedure") ; + ProcSym := GetDeclareSym (tokno, name) ; + IF IsUnknown (ProcSym) + THEN +- (* +- May have been compiled in the definition or implementation module, +- remember that implementation maybe compiled before corresponding +- definition module. +- - no definition should always be compilied before implementation modules. +- *) ++ (* May have been compiled in the definition or implementation module. ++ Note we always see an implementation module before its corresponding ++ definition module. *) + ProcSym := MakeProcedure (tokno, name) + ELSIF IsProcedure (ProcSym) + THEN +@@ -1369,22 +1387,38 @@ PROCEDURE EndBuildProcedure ; + VAR + NameEnd, + NameStart: Name ; ++ tok : CARDINAL ; + ProcSym : CARDINAL ; +-BEGIN +- PopT(NameEnd) ; +- PopT(ProcSym) ; +- Assert(IsProcedure(ProcSym)) ; +- PopT(NameStart) ; +- IF NameEnd#NameStart ++ kind : ProcedureKind ; ++BEGIN ++ PopT (NameEnd) ; ++ PopTtok (ProcSym, tok) ; ++ Assert (IsProcedure(ProcSym)) ; ++ kind := GetProcedureKind (ProcSym, tok) ; ++ PopT (NameStart) ; ++ IF NameEnd # NameStart + THEN +- WriteFormat2('end procedure name does not match beginning %a name %a', NameStart, NameEnd) ++ WriteFormat2 ('end procedure name does not match beginning %a name %a', NameStart, NameEnd) + END ; + PutProcedureParameterHeapVars (ProcSym) ; ++ PutProcedureDefined (ProcSym, kind) ; + EndScope ; + M2Error.LeaveErrorScope + END EndBuildProcedure ; + + ++(* ++ EndBuildForward - ends building a forward procedure. ++*) ++ ++PROCEDURE EndBuildForward ; ++BEGIN ++ PopN (2) ; ++ EndScope ; ++ M2Error.LeaveErrorScope ++END EndBuildForward ; ++ ++ + (* + BuildProcedureHeading - Builds a procedure heading for the definition + module procedures. +@@ -1408,14 +1442,18 @@ END EndBuildProcedure ; + + PROCEDURE BuildProcedureHeading ; + VAR ++ tok, + ProcSym : CARDINAL ; + NameStart: Name ; + BEGIN +- IF CompilingDefinitionModule() ++ ProcSym := OperandT (1) ; ++ tok := OperandTok (1) ; ++ PutProcedureParametersDefined (ProcSym, GetProcedureKind (ProcSym, tok)) ; ++ IF CompilingDefinitionModule () + THEN +- PopT(ProcSym) ; +- Assert(IsProcedure(ProcSym)) ; +- PopT(NameStart) ; ++ PopT (ProcSym) ; ++ Assert (IsProcedure (ProcSym)) ; ++ PopT (NameStart) ; + EndScope + END + END BuildProcedureHeading ; +@@ -1454,65 +1492,43 @@ END BuildProcedureHeading ; + + PROCEDURE BuildFPSection ; + VAR +- n : Name ; ++ kind, ++ curkind : ProcedureKind ; ++ tok : CARDINAL ; ++ top, + ProcSym, + ParamTotal: CARDINAL ; + BEGIN +- PopT(ParamTotal) ; +- ProcSym := CARDINAL(OperandT(3+CARDINAL(OperandT(3))+2)) ; +- PushT(ParamTotal) ; +- Assert(IsProcedure(ProcSym)) ; +- IF CompilingDefinitionModule() ++ top := Top () ; ++ PopT (ParamTotal) ; ++ ProcSym := CARDINAL (OperandT (3 + CARDINAL (OperandT (3)) + 2)) ; ++ tok := CARDINAL (OperandTok (3 + CARDINAL (OperandT (3)) + 2)) ; ++ Debug (ProcSym, 'foo') ; ++ curkind := GetProcedureKind (ProcSym, tok) ; ++ PushT (ParamTotal) ; ++ Annotate ("%1d||running total of no. of parameters") ; ++ Assert (IsProcedure (ProcSym) OR IsProcType (ProcSym)) ; ++ Assert (top = Top ()) ; ++ ProcSym := CARDINAL (OperandT (3 + CARDINAL (OperandT (3 + 1)) + 2 + 1)) ; ++ Assert (IsProcedure (ProcSym) OR IsProcType (ProcSym)) ; ++ ++ IF NOT GetProcedureParametersDefined (ProcSym, curkind) + THEN +- IF AreParametersDefinedInDefinition(ProcSym) AND (ParamTotal=0) +- THEN +- n := GetSymName(ProcSym) ; +- WriteFormat1('cannot declare procedure %a twice in the definition module', n) +- ELSIF AreParametersDefinedInImplementation(ProcSym) +- THEN +- CheckFormalParameterSection +- ELSE +- BuildFormalParameterSection ; +- IF ParamTotal=0 +- THEN +- ParametersDefinedInDefinition(ProcSym) ; +- ProcedureParametersDefined(ProcSym) +- END +- END +- ELSIF CompilingImplementationModule() +- THEN +- IF AreParametersDefinedInImplementation(ProcSym) AND (ParamTotal=0) +- THEN +- n := GetSymName(ProcSym) ; +- WriteFormat1('cannot declare procedure %a twice in the implementation module', n) +- ELSIF AreParametersDefinedInDefinition(ProcSym) +- THEN +- CheckFormalParameterSection +- ELSE +- BuildFormalParameterSection ; +- IF ParamTotal=0 +- THEN +- ParametersDefinedInImplementation(ProcSym) ; +- ProcedureParametersDefined(ProcSym) +- END +- END +- ELSIF CompilingProgramModule() +- THEN +- IF AreProcedureParametersDefined(ProcSym) AND (ParamTotal=0) ++ BuildFormalParameterSection (curkind) ++ END ; ++ (* Check against any previous declaration. *) ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF (kind # curkind) AND GetProcedureParametersDefined (ProcSym, kind) + THEN +- n := GetSymName(ProcSym) ; +- WriteFormat1('procedure %a parameters already declared in program module', n) +- ELSE +- BuildFormalParameterSection ; +- IF ParamTotal=0 +- THEN +- ProcedureParametersDefined(ProcSym) +- END +- END +- ELSE +- InternalError ('should never reach this point') ++ Assert (top = Top ()) ; ++ CheckFormalParameterSection (curkind, kind) ; ++ Assert (top = Top ()) ++ END ; ++ ProcSym := CARDINAL (OperandT (3 + CARDINAL (OperandT (3 + 1)) + 2 + 1)) ; ++ Assert (IsProcedure (ProcSym) OR IsProcType (ProcSym)) + END ; +- Assert(IsProcedure(OperandT(2))) ++ RemoveFPParameters ; ++ Assert (IsProcedure (OperandT (2))) + END BuildFPSection ; + + +@@ -1530,20 +1546,23 @@ END BuildFPSection ; + + PROCEDURE BuildVarArgs ; + VAR ++ kind : ProcedureKind ; ++ tok : CARDINAL ; + ProcSym, + ParamTotal: CARDINAL ; + BEGIN +- PopT(ParamTotal) ; +- PopT(ProcSym) ; +- IF UsesOptArg(ProcSym) ++ PopT (ParamTotal) ; ++ PopTtok (ProcSym, tok) ; ++ kind := GetProcedureKind (ProcSym, tok) ; ++ IF UsesOptArg (ProcSym, kind) + THEN + WriteFormat0('procedure can use either a single optional argument or a single vararg section ... at the end of the formal parameter list') + END ; +- IF UsesVarArgs(ProcSym) ++ IF UsesVarArgs (ProcSym) + THEN + WriteFormat0('procedure can only have one vararg section ... at the end of the formal parameter list') + END ; +- PutUseVarArgs(ProcSym) ; ++ PutUseVarArgs (ProcSym) ; + IF IsDefImp(GetCurrentModule()) + THEN + IF NOT IsDefinitionForC(GetCurrentModule()) +@@ -1553,8 +1572,8 @@ BEGIN + ELSE + WriteFormat0('varargs can only be used in the module declared as DEFINITION MODULE FOR "C"') + END ; +- PushT(ProcSym) ; +- PushT(ParamTotal) ++ PushTtok (ProcSym, tok) ; ++ PushT (ParamTotal) + END BuildVarArgs ; + + +@@ -1572,18 +1591,21 @@ END BuildVarArgs ; + + PROCEDURE BuildOptArg ; + VAR ++ kind : ProcedureKind ; ++ tok : CARDINAL ; + ProcSym, + ParamTotal: CARDINAL ; + BEGIN +- PopT(ParamTotal) ; +- PopT(ProcSym) ; +- IF UsesVarArgs(ProcSym) ++ PopT (ParamTotal) ; ++ PopTtok (ProcSym, tok) ; ++ kind := GetProcedureKind (ProcSym, tok) ; ++ IF UsesVarArgs (ProcSym) + THEN + WriteFormat0('procedure can not use an optional argument after a vararg ...') + END ; +- PutUseOptArg(ProcSym) ; +- PushT(ProcSym) ; +- PushT(ParamTotal) ++ PutUseOptArg (ProcSym, kind) ; ++ PushTtok (ProcSym, tok) ; ++ PushT (ParamTotal) + END BuildOptArg ; + + +@@ -1616,7 +1638,7 @@ BEGIN + ELSE + WriteFormat0('varargs can only be used in the module declared as DEFINITION MODULE FOR "C"') + END ; +- PushT(ProcSym) ++ PushT (ProcSym) + END BuildFormalVarArgs ; + + +@@ -1625,9 +1647,9 @@ END BuildFormalVarArgs ; + + The Stack: + +- Entry Exit ++ Entry and Exit + +- Ptr -> ++ Ptr -> <- Ptr + +------------+ + | ParamTotal | + |------------| +@@ -1643,20 +1665,22 @@ END BuildFormalVarArgs ; + . . + . . + |------------| +- | Id n | <- Ptr +- |------------| +------------+ +- | Var / Nul | | ParamTotal | +- |------------| |------------| +- | ProcSym | | ProcSym | +- |------------| |------------| ++ | Id n | ++ |------------| ++ | Var / Nul | ++ |------------| ++ | ProcSym | ++ |------------| + *) + +-PROCEDURE BuildFormalParameterSection ; ++PROCEDURE BuildFormalParameterSection (kind: ProcedureKind) ; + VAR + ParamName, + Var, + Array : Name ; + tok : CARDINAL ; ++ pi, ++ TypeTok, + ParamTotal, + TypeSym, + UnBoundedSym, +@@ -1664,70 +1688,76 @@ VAR + ProcSym, + i, ndim : CARDINAL ; + BEGIN +- PopT(ParamTotal) ; +- PopT(TypeSym) ; +- PopTF(Array, ndim) ; +- Assert( (Array=ArrayTok) OR (Array=NulTok) ) ; +- PopT(NoOfIds) ; +- ProcSym := OperandT(NoOfIds+2) ; +- Assert(IsProcedure(ProcSym)) ; +- Var := OperandT(NoOfIds+1) ; +- tok := OperandTok (NoOfIds+2) ; +- Assert( (Var=VarTok) OR (Var=NulTok) ) ; +- IF Array=ArrayTok ++ PopT (ParamTotal) ; ++ PopTtok (TypeSym, TypeTok) ; ++ PopTF (Array, ndim) ; ++ Assert ((Array=ArrayTok) OR (Array=NulTok)) ; ++ PopT (NoOfIds) ; ++ ProcSym := OperandT (NoOfIds + 2) ; ++ Assert (IsProcedure (ProcSym)) ; ++ Var := OperandT (NoOfIds + 1) ; ++ tok := OperandTok (NoOfIds + 2) ; ++ Assert ((Var=VarTok) OR (Var=NulTok)) ; ++ (* Restore popped elements. *) ++ PushT (NoOfIds) ; ++ PushTF (Array, ndim) ; ++ PushTtok (TypeSym, TypeTok) ; ++ PushT (ParamTotal) ; ++ ++ IF Array = ArrayTok + THEN +- UnBoundedSym := MakeUnbounded(tok, TypeSym, ndim) ; ++ UnBoundedSym := MakeUnbounded (tok, TypeSym, ndim) ; + TypeSym := UnBoundedSym + END ; + i := 1 ; +-(* +- WriteString('Procedure ') ; WriteKey(GetSymName(ProcSym)) ; +- WriteString(' adding No. of identifiers:') ; WriteCard(NoOfIds, 4) ; WriteLn ; +-*) +- WHILE i<=NoOfIds DO +- IF CompilingDefinitionModule() AND (NOT PedanticParamNames) AND +- (* we will see the parameters in the implementation module *) +- ((GetMainModule()=GetCurrentModule()) OR +- (IsHiddenTypeDeclared(GetCurrentModule()) AND ExtendedOpaque)) ++ (* +4 to skip over the top restored elements. *) ++ pi := NoOfIds + 4 ; (* Stack index referencing stacked parameter i. *) ++ WHILE i <= NoOfIds DO ++ IF CompilingDefinitionModule () AND (NOT PedanticParamNames) AND ++ (* We will see the parameters in the implementation module. *) ++ ((GetMainModule () = GetCurrentModule ()) OR ++ (IsHiddenTypeDeclared (GetCurrentModule ()) AND ExtendedOpaque)) + THEN + ParamName := NulName + ELSE +- ParamName := OperandT(NoOfIds+1-i) ++ ParamName := OperandT (pi) + END ; +- tok := OperandTok(NoOfIds+1-i) ; ++ tok := OperandTok (pi) ; + IF Var=VarTok + THEN +- (* VAR parameter *) +- IF NOT PutVarParam(tok, ProcSym, ParamTotal+i, ParamName, TypeSym, Array=ArrayTok) ++ (* VAR parameter. *) ++ IF NOT PutVarParam (tok, ProcSym, kind, ParamTotal + i, ParamName, ++ TypeSym, Array = ArrayTok, TypeTok) + THEN +- InternalError ('problems adding a VarParameter - wrong param #?') ++ InternalError ('problems adding a VarParameter - wrong param number?') + END + ELSE +- (* Non VAR parameter *) +- IF NOT PutParam(tok, ProcSym, ParamTotal+i, ParamName, TypeSym, Array=ArrayTok) ++ (* Non VAR parameter. *) ++ IF NOT PutParam (tok, ProcSym, kind, ParamTotal + i, ParamName, ++ TypeSym, Array = ArrayTok, TypeTok) + THEN +- InternalError ('problems adding a Parameter - wrong param #?') ++ InternalError ('problems adding a Parameter - wrong param number?') + END + END ; +-(* +- WriteString(' parameter') ; WriteCard(ParamTotal+i, 4) ; WriteLn ; +- WriteKey(Operand(Ptr+i+1)) ; WriteString(' is a parameter with type ') ; +- WriteKey(GetSymName(TypeSym)) ; WriteLn ; +-*) +- INC(i) +- END ; +- PopN(NoOfIds+1) ; +- PushT(ParamTotal+NoOfIds) ; +- Assert(IsProcedure(OperandT(2))) ++ (* ++ IF kind = ProperProcedure ++ THEN ++ PutDeclared (OperandTok (pi), GetParameterShadowVar (GetNthParam (ProcSym, kind, ParamTotal + i))) ++ END ; ++ *) ++ INC (i) ; ++ DEC (pi) ++ END + END BuildFormalParameterSection ; + + + (* + CheckFormalParameterSection - Checks a Formal Parameter in a procedure. ++ The stack is unaffected. + + The Stack: + +- Entry Exit ++ Entry and Exit + + Ptr -> + +------------+ +@@ -1745,211 +1775,214 @@ END BuildFormalParameterSection ; + . . + . . + |------------| +- | Id n | <- Ptr +- |------------| +------------+ +- | Var / Nul | | ParamTotal | +- |------------| |------------| +- | ProcSym | | ProcSym | +- |------------| |------------| ++ | Id n | ++ |------------| ++ | Var / Nul | ++ |------------| ++ | ProcSym | ++ |------------| + *) + +-PROCEDURE CheckFormalParameterSection ; ++PROCEDURE CheckFormalParameterSection (curkind, prevkind: ProcedureKind) ; + VAR + Array, Var: Name ; ++ isVarParam, + Unbounded : BOOLEAN ; + ParamI, + ParamIType, + ParamTotal, ++ TypeTok, + TypeSym, + NoOfIds, + ProcSym, + pi, i, ndim: CARDINAL ; + BEGIN + PopT(ParamTotal) ; +- PopT(TypeSym) ; ++ PopTtok(TypeSym, TypeTok) ; + PopTF(Array, ndim) ; + Assert( (Array=ArrayTok) OR (Array=NulTok) ) ; + PopT(NoOfIds) ; +- ProcSym := OperandT(NoOfIds+2) ; +- Assert(IsProcedure(ProcSym)) ; +- Var := OperandT(NoOfIds+1) ; ++ ProcSym := OperandT (NoOfIds+2) ; ++ Assert (IsProcedure (ProcSym)) ; ++ Var := OperandT (NoOfIds+1) ; ++ Assert ((Var = NulName) OR (Var = VarTok)) ; ++ isVarParam := (Var # NulName) ; ++ ++ (* Restore popped elements. *) ++ PushT (NoOfIds) ; ++ PushTF (Array, ndim) ; ++ PushTtok (TypeSym, TypeTok) ; ++ PushT (ParamTotal) ; ++ + Assert( (Var=VarTok) OR (Var=NulTok) ) ; +- Unbounded := (Array=ArrayTok) ; (* ARRAY OF Type, parameter *) ++ Unbounded := (Array=ArrayTok) ; (* ARRAY OF Type, parameter. *) + i := 1 ; +- pi := NoOfIds ; (* stack index referencing stacked parameter, i *) +-(* +- WriteString('No. of identifiers:') ; WriteCard(NoOfIds, 4) ; WriteLn ; +-*) ++ (* +4 to skip over the top restored elements. *) ++ pi := NoOfIds + 4 ; (* Stack index referencing stacked parameter i. *) ++ ++ (* If there are an incorrect number of parameters specified then this ++ will be detcted by EndBuildFormalParameters. *) + WHILE i<=NoOfIds DO +- IF ParamTotal+i<=NoOfParam(ProcSym) ++ IF ParamTotal+i <= NoOfParam (ProcSym, prevkind) + THEN +- IF Unbounded AND (NOT IsUnboundedParam(ProcSym, ParamTotal+i)) ++ (* WarnStringAt (InitString ('parampos?'), OperandTok (pi)) ; *) ++ IF Unbounded AND (NOT IsUnboundedParam (ProcSym, prevkind, ParamTotal+i)) + THEN +- FailParameter('the parameter was declared as an ARRAY OF type', +- 'the parameter was not declared as an ARRAY OF type', +- NulName, ParamTotal+i, ProcSym) +- ELSIF (NOT Unbounded) AND IsUnboundedParam(ProcSym, ParamTotal+i) ++ ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ 'the parameter {%3EHa} was not declared as an ARRAY OF type', ++ 'the parameter {%3EVa} was declared as an ARRAY OF type', ++ ParamTotal+i, ProcSym, curkind, prevkind) ++ ELSIF (NOT Unbounded) AND IsUnboundedParam (ProcSym, prevkind, ParamTotal+i) + THEN +- FailParameter('the parameter was not declared as an ARRAY OF type', +- 'the parameter was declared as an ARRAY OF type', +- NulName, ParamTotal+i, ProcSym) ++ ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ 'the parameter {%3EHa} was declared as an ARRAY OF type', ++ 'the parameter {%3EVa} was not declared as an ARRAY OF type', ++ ParamTotal+i, ProcSym, curkind, prevkind) + END ; + IF Unbounded + THEN +- IF GetDimension(GetNthParam(ProcSym, ParamTotal+1))#ndim ++ IF GetDimension (GetNthParam (ProcSym, prevkind, ParamTotal+1)) # ndim + THEN +- FailParameter('', 'the dynamic array parameter was declared with different number of dimensions', +- NulName, ParamTotal+i, ProcSym) ++ ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ 'the dynamic array parameter {%3EHa} was declared with a different of dimensions', ++ 'the dynamic array parameter {%3EVa} was declared with a different of dimensions', ++ ParamTotal+i, ProcSym, curkind, prevkind) + END + END ; +- IF (Var=VarTok) AND (NOT IsVarParam(ProcSym, ParamTotal+i)) ++ IF isVarParam AND (NOT IsVarParam (ProcSym, prevkind, ParamTotal+i)) + THEN +- (* expecting non VAR pamarater *) +- FailParameter('the parameter has been declared as a VAR parameter', +- 'the parameter was not declared as a VAR parameter', +- NulName, ParamTotal+i, ProcSym) +- ELSIF (Var=NulTok) AND IsVarParam(ProcSym, ParamTotal+i) ++ (* Expecting non VAR parameter. *) ++ ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ '{%3EHa} was not declared as a {%kVAR} parameter', ++ '{%3EVa} was declared as a {%kVAR} parameter', ++ ParamTotal+i, ProcSym, curkind, prevkind) ++ ELSIF (NOT isVarParam) AND IsVarParam (ProcSym, prevkind, ParamTotal+i) + THEN +- (* expecting VAR pamarater *) +- FailParameter('the parameter was not declared as a VAR parameter', +- 'the parameter has been declared as a VAR parameter', +- NulName, ParamTotal+i, ProcSym) ++ (* Expecting VAR pamarater. *) ++ ParameterError ('declaration of procedure {%%1a} in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ '{%3EHa} was declared as a {%kVAR} parameter', ++ '{%3EVa} was not declared as a {%kVAR} parameter', ++ ParamTotal+i, ProcSym, curkind, prevkind) + END ; +- ParamI := GetParam(ProcSym, ParamTotal+i) ; ++ ParamI := GetNthParam (ProcSym, prevkind, ParamTotal+i) ; + IF PedanticParamNames + THEN +- IF GetSymName(ParamI)#OperandT(pi) ++ IF GetSymName (ParamI) # OperandT (pi) + THEN +- (* different parameter names *) +- FailParameter('', +- 'the parameter has been declared with a different name', +- OperandT (pi), ParamTotal+i, ProcSym) +- END +- ELSE +- IF GetSymName (ParamI) = NulName +- THEN +- PutParamName (OperandTok (pi), ProcSym, ParamTotal+i, OperandT (pi)) ++ (* Different parameter names. *) ++ ParameterError ('procedure {%%1a} in the %s differs from the %s, {%%2N} parameter name is inconsistant, %s', ++ 'named as {%3EVa}', ++ 'named as {%3EVa}', ++ ParamTotal+i, ProcSym, curkind, prevkind) + END + END ; +- PutDeclared (OperandTok (pi), GetParameterShadowVar (ParamI)) ; + IF Unbounded + THEN + (* GetType(ParamI) yields an UnboundedSym or a PartialUnboundedSym, + depending whether it has been resolved.. *) +- ParamIType := GetType(GetType(ParamI)) ++ ParamIType := GetType (GetType (ParamI)) + ELSE +- ParamIType := GetType(ParamI) ++ ParamIType := GetType (ParamI) + END ; + IF ((SkipType(ParamIType)#SkipType(TypeSym)) OR + (PedanticParamNames AND (ParamIType#TypeSym))) AND + (NOT IsUnknown(SkipType(TypeSym))) AND + (NOT IsUnknown(SkipType(ParamIType))) + THEN +- (* different parameter types *) +- FailParameter('', +- 'the parameter has been declared with a different type', +- OperandT(pi), ParamTotal+i, ProcSym) ++ (* Different parameter types. *) ++ ParameterError ('declaration in the %s differs from the %s, {%%2N} parameter is inconsistant, %s', ++ 'the parameter {%3EHa} was declared with a different type', ++ 'the parameter {%3EVa} was declared with a different type', ++ ParamTotal+i, ProcSym, curkind, prevkind) + END +- ELSE +- FailParameter('too many parameters', +- 'fewer parameters were declared', +- NulName, ParamTotal+i, ProcSym) + END ; +- INC(i) ; +- DEC(pi) +- END ; +- PopN(NoOfIds+1) ; (* +1 for the Var/Nul *) +- PushT(ParamTotal+NoOfIds) ; +- Assert(IsProcedure(OperandT(2))) ++ INC (i) ; ++ DEC (pi) ++ END + END CheckFormalParameterSection ; + + + (* +- FailParameter - generates an error message indicating that a parameter +- declaration has failed. ++ RemoveFPParameters - remove the FPSection parameters from the stack and ++ increment the param total with the NoOfIds. ++ ++ The Stack: + +- The parameters are: ++ Entry Exit ++ ++ Ptr -> ++ +------------+ ++ | ParamTotal | ++ |------------| ++ | TypeSym | ++ |------------| ++ | Array/Nul | ++ |------------| ++ | NoOfIds | ++ |------------| ++ | Id 1 | ++ |------------| ++ . . ++ . . ++ . . ++ |------------| ++ | Id n | <- Ptr ++ |------------| +------------+ ++ | Var / Nul | | ParamTotal | ++ |------------| |------------| ++ | ProcSym | | ProcSym | ++ |------------| |------------| ++*) ++ ++PROCEDURE RemoveFPParameters ; ++VAR ++ ParamTotal, ++ Array, ++ TypeSym, ++ NoOfIds, ++ ProcSym : CARDINAL ; ++BEGIN ++ PopT (ParamTotal) ; ++ PopT (TypeSym) ; ++ PopT (Array) ; ++ Assert ((Array=ArrayTok) OR (Array=NulTok)) ; ++ PopT (NoOfIds) ; ++ ProcSym := OperandT (NoOfIds+2) ; ++ Assert (IsProcedure (ProcSym)) ; ++ PopN (NoOfIds+1) ; (* +1 for the Var/Nul. *) ++ PushT (ParamTotal + NoOfIds) ; ++ Annotate ("%1d||running total of no. of parameters") ; ++ Assert (IsProcedure (OperandT (2))) ++END RemoveFPParameters ; + +- CurrentState - string describing the current failing state. +- PreviousState - string describing the old defined state. +- Given - token or identifier that was given. +- ParameterNo - parameter number that has failed. +- ProcedureSym - procedure symbol where parameter has failed. + +- If any parameter is Nul then it is ignored. ++(* ++ ParameterError - create two error strings chained together. + *) + +-PROCEDURE FailParameter (CurrentState : ARRAY OF CHAR; +- PreviousState: ARRAY OF CHAR; +- Given : Name ; +- ParameterNo : CARDINAL; +- ProcedureSym : CARDINAL) ; ++PROCEDURE ParameterError (FmtHeader, PrevDesc, CurDesc: ARRAY OF CHAR; ++ ParamNo, ProcSym: CARDINAL; ++ curkind, prevkind: ProcedureKind) ; + VAR +- First : CARDINAL ; +- FirstModule, +- SecondModule, +- s1, s2, s3 : String ; +-BEGIN +- IF NoOfParam(ProcedureSym)>=ParameterNo +- THEN +- IF CompilingDefinitionModule() +- THEN +- First := GetDeclaredDef(GetNthParam(ProcedureSym, ParameterNo)) +- ELSE +- First := GetDeclaredMod(GetNthParam(ProcedureSym, ParameterNo)) +- END +- ELSE +- (* ParameterNo does not exist - which is probably the reason why this routine was called.. *) +- IF CompilingDefinitionModule() +- THEN +- First := GetDeclaredDef(ProcedureSym) +- ELSE +- First := GetDeclaredMod(ProcedureSym) +- END +- END ; +- IF CompilingDefinitionModule() +- THEN +- FirstModule := InitString('definition module') ; +- SecondModule := InitString('implementation module') +- ELSIF CompilingImplementationModule() +- THEN +- FirstModule := InitString('implementation module') ; +- SecondModule := InitString('definition module') +- ELSE +- Assert (CompilingProgramModule ()) ; +- FirstModule := InitString('program module') ; +- SecondModule := InitString('definition module') +- END ; +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(ProcedureSym)))) ; +- s3 := Mark(FirstModule) ; +- s1 := Sprintf4(Mark(InitString('declaration of procedure %s in the %s differs from the %s, problem with parameter number %d')), +- s2, s3, +- SecondModule, +- ParameterNo) ; +- IF NoOfParam(ProcedureSym)>=ParameterNo +- THEN +- s2 := Mark(InitStringCharStar(KeyToCharStar(GetSymName(GetNthParam(ProcedureSym, ParameterNo))))) ; +- s1 := ConCat(s1, Mark(Sprintf1(Mark(InitString(' (%s)')), s2))) +- END ; +- IF NOT StrEqual(CurrentState, '') +- THEN +- s2 := Mark(InitString(CurrentState)) ; +- s1 := ConCat(s1, Mark(Sprintf1(Mark(InitString(', %s')), s2))) +- END ; +- IF NOT StrEqual(PreviousState, '') +- THEN +- s2 := Mark(SecondModule) ; +- s3 := Mark(InitString(PreviousState)) ; +- s1 := ConCat(s1, Mark(Sprintf2(Mark(InitString(' in the %s %s')), s2, s3))) +- END ; +- IF Given#NulName +- THEN +- s2 := Mark(InitStringCharStar(KeyToCharStar(Given))) ; +- s1 := ConCat(s1, Mark(Sprintf1(Mark(InitString(' (%s)')), s2))) +- END ; +- s1 := ConCat(s1, Mark(Sprintf0(Mark(InitString('\n'))))) ; +- ErrorStringAt2(s1, GetTokenNo(), First) +-END FailParameter ; ++ PrevParam, ++ CurParam : CARDINAL ; ++ CurStr, ++ PrevStr, ++ Msg, ++ CurKindStr, ++ PrevKindStr: String ; ++BEGIN ++ CurParam := GetNthParam (ProcSym, curkind, ParamNo) ; ++ CurKindStr := GetProcedureKindDesc (curkind) ; ++ PrevKindStr := GetProcedureKindDesc (prevkind) ; ++ PrevParam := GetNthParam (ProcSym, prevkind, ParamNo) ; ++ PrevStr := InitString (PrevDesc) ; ++ CurStr := InitString (CurDesc) ; ++ Msg := Sprintf3 (Mark (InitString (FmtHeader)), CurKindStr, PrevKindStr, PrevStr) ; ++ MetaErrorString3 (Msg, ProcSym, ParamNo, PrevParam) ; ++ Msg := Sprintf3 (Mark (InitString (FmtHeader)), CurKindStr, PrevKindStr, CurStr) ; ++ MetaErrorString3 (Msg, ProcSym, ParamNo, CurParam) ++END ParameterError ; + + + (* +@@ -1968,10 +2001,44 @@ END FailParameter ; + + PROCEDURE StartBuildFormalParameters ; + BEGIN +- PushT(0) ++ PushT (0) ; ++ Annotate ("%1d||running total of no. of parameters") + END StartBuildFormalParameters ; + + ++(* ++ ParameterMismatch - generate a parameter mismatch error between the current ++ declaration at tok and a previous ProcSym declaration. ++ NoOfPar is the current number of parameters. ++*) ++ ++PROCEDURE ParameterMismatch (tok: CARDINAL; ProcSym: CARDINAL; ++ NoOfPar: CARDINAL; prevkind, curkind: ProcedureKind) ; ++VAR ++ MsgCurrent, ++ MsgPrev, ++ CompCur, ++ CompPrev, ++ CurDesc, ++ PrevDesc : String ; ++BEGIN ++ CurDesc := GetProcedureKindDesc (curkind) ; ++ PrevDesc := GetProcedureKindDesc (prevkind) ; ++ CompPrev := GetComparison (NoOfParam (ProcSym, prevkind), NoOfPar) ; ++ CompCur := GetComparison (NoOfPar, NoOfParam (ProcSym, prevkind)) ; ++ MsgCurrent := Sprintf3 (Mark (InitString ('the %s for {%%1ad} has %s parameters than the %s')), ++ CurDesc, CompCur, PrevDesc) ; ++ MsgPrev := Sprintf3 (Mark (InitString ('the %s for {%%1ad} has %s parameters than the %s')), ++ PrevDesc, CompPrev, CurDesc) ; ++ MetaErrorStringT1 (GetProcedureDeclaredTok (ProcSym, prevkind), MsgPrev, ProcSym) ; ++ MetaErrorStringT1 (tok, MsgCurrent, ProcSym) ; ++ CurDesc := KillString (CurDesc) ; ++ PrevDesc := KillString (PrevDesc) ; ++ CompCur := KillString (CompCur) ; ++ CompPrev := KillString (CompPrev) ++END ParameterMismatch ; ++ ++ + (* + EndBuildFormalParameters - Resets the quadruple stack after building + Formal Parameters. +@@ -1990,28 +2057,96 @@ END StartBuildFormalParameters ; + + PROCEDURE EndBuildFormalParameters ; + VAR +- n : Name ; ++ kind, ++ curkind: ProcedureKind ; ++ tok : CARDINAL ; + NoOfPar: CARDINAL ; + ProcSym: CARDINAL ; + BEGIN +- PopT(NoOfPar) ; +- PopT(ProcSym) ; +- PushT(ProcSym) ; +- Assert(IsProcedure(ProcSym)) ; +- IF NoOfParam(ProcSym)#NoOfPar +- THEN +- n := GetSymName(ProcSym) ; +- IF CompilingDefinitionModule() ++ PopT (NoOfPar) ; ++ PopTtok (ProcSym, tok) ; ++ PushTtok (ProcSym, tok) ; ++ Annotate ("%1s(%1d)||procedure start symbol") ; ++ Assert (IsProcedure (ProcSym)) ; ++ curkind := GetProcedureKind (ProcSym, tok) ; ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureParametersDefined (ProcSym, kind) AND ++ (curkind # kind) AND (NoOfParam (ProcSym, kind) # NoOfPar) + THEN +- WriteFormat1('procedure (%a) was declared with fewer parameters in the DEFINITION MODULE', n) +- ELSE +- WriteFormat1('procedure (%a) was declared with more parameters in the DEFINITION MODULE', n) ++ ParameterMismatch (tok, ProcSym, NoOfPar, kind, curkind) + END + END ; +- Assert(IsProcedure(OperandT(1))) ++ (* All parameter seen so set procedure defined. *) ++ PutProcedureParametersDefined (ProcSym, curkind) ; ++ Assert (IsProcedure (OperandT (1))) + END EndBuildFormalParameters ; + + ++(* ++ GetComparison - return a simple description from the result of ++ a comparison between left and right. ++*) ++ ++PROCEDURE GetComparison (left, right: CARDINAL) : String ; ++BEGIN ++ IF left < right ++ THEN ++ RETURN InitString ('fewer') ++ ELSIF left > right ++ THEN ++ RETURN InitString ('more') ++ ELSE ++ RETURN InitString ('same') ++ END ++END GetComparison ; ++ ++ ++(* ++ ReturnTypeMismatch - generate two errors showing the return type mismatches between ++ ProcSym and ReturnType at procedure location tok. ++*) ++ ++PROCEDURE ReturnTypeMismatch (curtok: CARDINAL; ProcSym, CurRetType: CARDINAL; ++ curtypetok: CARDINAL; ++ curkind, prevkind: ProcedureKind; ++ PrevRetType: CARDINAL) ; ++VAR ++ prevtok : CARDINAL ; ++ CurDesc, ++ PrevDesc, ++ MsgCurrent, ++ MsgPrev : String ; ++BEGIN ++ CurDesc := GetProcedureKindDesc (curkind) ; ++ PrevDesc := GetProcedureKindDesc (prevkind) ; ++ prevtok := GetProcedureDeclaredTok (ProcSym, prevkind) ; ++ IF CurRetType = NulSym ++ THEN ++ MsgCurrent := Sprintf2 (Mark (InitString ('there is no return type for {%%1ad} specified in the %s whereas a return type is specified in the %s')), ++ CurDesc, PrevDesc) ; ++ MsgPrev := Sprintf2 (Mark (InitString ('there is no return type for {%%1ad} specified in the %s whereas a return type is specified in the %s')), ++ CurDesc, PrevDesc) ; ++ prevtok := GetReturnTypeTok (ProcSym, prevkind) ++ ELSIF PrevRetType = NulSym ++ THEN ++ MsgCurrent := Sprintf2 (Mark (InitString ('there is no return type for {%%1ad} specified in the %s whereas a return type is specified in the %s')), ++ PrevDesc, CurDesc) ; ++ MsgPrev := Sprintf2 (Mark (InitString ('there is no return type for {%%1ad} specified in the %s whereas a return type is specified in the %s')), ++ PrevDesc, CurDesc) ; ++ curtok := curtypetok ++ ELSE ++ MsgCurrent := Sprintf2 (Mark (InitString ('the return type for {%%1ad} specified in the %s differs in the %s')), ++ CurDesc, PrevDesc) ; ++ MsgPrev := Sprintf2 (Mark (InitString ('the return type for {%%1ad} specified in the %s differs in the %s')), ++ CurDesc, PrevDesc) ; ++ curtok := curtypetok ; ++ prevtok := GetReturnTypeTok (ProcSym, prevkind) ++ END ; ++ MetaErrorStringT1 (curtok, MsgCurrent, ProcSym) ; ++ MetaErrorStringT1 (prevtok, MsgPrev, ProcSym) ++END ReturnTypeMismatch ; ++ ++ + (* + BuildFunction - Builds a procedures return type. + Procedure becomes a function. +@@ -2030,40 +2165,17 @@ END EndBuildFormalParameters ; + + PROCEDURE BuildFunction ; + VAR +- PrevSym, +- TypeSym, +- ProcSym : CARDINAL ; +-BEGIN +- PopT(TypeSym) ; +- PopT(ProcSym) ; +- IF IsProcedure(ProcSym) AND AreProcedureParametersDefined(ProcSym) +- THEN +- PrevSym := GetType(ProcSym) ; +- IF (PrevSym#NulSym) AND (PrevSym#TypeSym) +- THEN +- IF CompilingDefinitionModule() +- THEN +- MetaErrorsT2(GetDeclaredDef(ProcSym), +- 'the return type for procedure {%1a} is defined differently in the definition module as {%1tad} and the implementation module as {%2ad}', +- 'the return type for procedure {%1a} is defined differently in the definition module as {%1tad} and the implementation module as {%2ad}', +- ProcSym, TypeSym) +- ELSE +- MetaErrorsT2(GetDeclaredMod(ProcSym), +- 'the return type for procedure {%1a} is defined differently in the definition module as {%2ad} and the implementation module as {%1tad}', +- 'the return type for procedure {%1a} is defined differently in the definition module as {%2ad} and the implementation module as {%1tad}', +- ProcSym, TypeSym) +- END +- END +- END ; +- PutFunction(ProcSym, TypeSym) ; +-(* +- WriteString('Procedure ') ; WriteKey(GetSymName(ProcSym)) ; +- WriteString(' has a return argument ') ; +- WriteKey(GetSymName(TypeSym)) ; +- WriteString(' checking ') ; WriteKey(GetSymName(GetType(ProcSym))) ; +- WriteLn ; +-*) +- PushT(ProcSym) ++ tok : CARDINAL ; ++ ProcSym, ++ typetok: CARDINAL ; ++ RetType: CARDINAL ; ++BEGIN ++ PopTtok (RetType, typetok) ; ++ PopTtok (ProcSym, tok) ; ++ PushTtok (ProcSym, tok) ; ++ PutFunction (typetok, ProcSym, GetProcedureKind (ProcSym, tok), RetType) ; ++ CheckOptFunction (tok, ProcSym, GetProcedureKind (ProcSym, tok), FALSE) ; ++ CheckProcedureReturn (RetType, typetok) + END BuildFunction ; + + +@@ -2086,34 +2198,125 @@ END BuildFunction ; + + PROCEDURE BuildOptFunction ; + VAR +- TypeSym, ++ typetok, ++ tok : CARDINAL ; ++ RetType, + ProcSym : CARDINAL ; + BEGIN +- PopT(TypeSym) ; +- PopT(ProcSym) ; +- PutOptFunction(ProcSym, TypeSym) ; ++ PopTtok (RetType, typetok) ; ++ PopTtok (ProcSym, tok) ; ++ PutOptFunction (typetok, ProcSym, GetProcedureKind (ProcSym, tok), RetType) ; ++ CheckOptFunction (tok, ProcSym, GetProcedureKind (ProcSym, tok), TRUE) ; ++ PushTtok (ProcSym, tok) ++END BuildOptFunction ; ++ ++ + (* +- WriteString('Procedure ') ; WriteKey(GetSymName(ProcSym)) ; +- WriteString(' has a return argument ') ; +- WriteKey(GetSymName(TypeSym)) ; +- WriteString(' checking ') ; WriteKey(GetSymName(GetType(ProcSym))) ; +- WriteLn ; ++ CheckOptFunction - checks to see whether the optional return value ++ has been set before and if it differs it will ++ generate an error message. It will set the ++ new value to isopt. + *) +- PushT(ProcSym) +-END BuildOptFunction ; ++ ++PROCEDURE CheckOptFunction (tok: CARDINAL; sym: CARDINAL; kind: ProcedureKind; ++ isopt: BOOLEAN) ; ++VAR ++ other: ProcedureKind ; ++BEGIN ++ IF GetType (sym) # NulSym ++ THEN ++ (* Procedure sym has been declared as a function. *) ++ FOR other := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF (kind # other) AND GetProcedureParametersDefined (sym, other) ++ THEN ++ IF IsReturnOptional (sym, kind) AND (NOT isopt) ++ THEN ++ MetaErrorT1 (tok, 'procedure {%1Ea} is not declared with an optional return type here', sym) ; ++ MetaErrorT1 (GetReturnTypeTok (sym, kind), ++ 'previously procedure {%1Ea} was declared with an optional return type', sym) ++ ELSIF (NOT IsReturnOptional (sym, kind)) AND isopt ++ THEN ++ MetaErrorT1 (tok, 'procedure {%1Ea} is declared with an optional return type here', sym) ; ++ MetaErrorT1 (GetReturnTypeTok (sym, kind), ++ 'previously procedure {%1Ea} was declared without an optional return type', sym) ++ END ++ END ++ END ++ END ; ++ SetReturnOptional (sym, kind, isopt) ++END CheckOptFunction ; + + + (* + BuildNoReturnAttribute - provide an interface to the symbol table module. + *) + +-PROCEDURE BuildNoReturnAttribute (procedureSym: CARDINAL) ; ++PROCEDURE BuildNoReturnAttribute ; ++VAR ++ kind : ProcedureKind ; ++ ProcSym, ++ tok : CARDINAL ; + BEGIN +- Assert (IsProcedure (procedureSym)) ; +- PutProcedureNoReturn (procedureSym, TRUE) ++ PopTtok (ProcSym, tok) ; ++ PushTtok (ProcSym, tok) ; ++ kind := GetProcedureKind (ProcSym, tok) ; ++ Assert (IsProcedure (ProcSym)) ; ++ PutProcedureNoReturn (ProcSym, kind, TRUE) + END BuildNoReturnAttribute ; + + ++(* ++ CheckProcedure - checks to see that the top of stack procedure ++ has not been declared as a procedure function. ++ ++ The Stack: ++ ++ Entry Exit ++ ++ Ptr -> <- Ptr ++ +------------+ +------------+ ++ | ProcSym | | ProcSym | ++ |------------| |------------| ++*) ++ ++PROCEDURE CheckProcedure ; ++BEGIN ++ CheckProcedureReturn (NulSym, UnknownTokenNo) ++END CheckProcedure ; ++ ++ ++ ++PROCEDURE CheckProcedureReturn (RetType: CARDINAL; typetok: CARDINAL) ; ++VAR ++ curkind, ++ kind : ProcedureKind ; ++ tok : CARDINAL ; ++ PrevRetType, ++ ProcSym : CARDINAL ; ++BEGIN ++ PopTtok (ProcSym, tok) ; ++ PushTtok (ProcSym, tok) ; ++ Annotate ("%1s(%1d)||procedure start symbol") ; ++ IF IsProcedure (ProcSym) ++ THEN ++ curkind := GetProcedureKind (ProcSym, tok) ; ++ (* Check against any previously declared kinds. *) ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF (kind # curkind) AND GetProcedureParametersDefined (ProcSym, kind) ++ THEN ++ PrevRetType := GetType (ProcSym) ; ++ IF PrevRetType # RetType ++ THEN ++ ReturnTypeMismatch (tok, ProcSym, RetType, typetok, ++ curkind, kind, PrevRetType) ++ END ++ END ++ END ; ++ PutFunction (tok, ProcSym, curkind, RetType) ++ END ++END CheckProcedureReturn ; ++ ++ + (* + BuildPointerType - builds a pointer type. + The Stack: +@@ -2693,15 +2896,20 @@ END StartBuildArray ; + + PROCEDURE EndBuildArray ; + VAR ++ typetok, ++ arraytok, ++ combinedtok: CARDINAL ; + TypeSym, +- ArraySym: CARDINAL ; +-BEGIN +- PopT(TypeSym) ; +- PopT(ArraySym) ; +- Assert(IsArray(ArraySym)) ; +- PutArray(ArraySym, TypeSym) ; +- PushT(ArraySym) ; +- Annotate("%1s(%1d)||array type") ++ ArraySym : CARDINAL ; ++BEGIN ++ PopTtok (TypeSym, typetok) ; ++ PopTtok (ArraySym, arraytok) ; ++ Assert (IsArray (ArraySym)) ; ++ combinedtok := MakeVirtual2Tok (arraytok, typetok) ; ++ PutArray (ArraySym, TypeSym) ; ++ PutDeclared (combinedtok, ArraySym) ; ++ PushTtok (ArraySym, combinedtok) ; ++ Annotate ("%1s(%1d)||array type") + END EndBuildArray ; + + +@@ -2725,15 +2933,17 @@ END EndBuildArray ; + + PROCEDURE BuildFieldArray ; + VAR ++ typetok, ++ arraytok : CARDINAL ; + Subscript, + Type, + Array : CARDINAL ; + name : Name ; + BEGIN +- PopTF(Type, name) ; +- PopT(Array) ; +- Assert(IsArray(Array)) ; +- Subscript := MakeSubscript() ; ++ PopTFtok (Type, name, typetok) ; ++ PopTtok (Array, arraytok) ; ++ Assert (IsArray (Array)) ; ++ Subscript := MakeSubscript () ; + (* + We cannot Assert(IsSubrange(Type)) as the subrange type might be + declared later on in the file. +@@ -2743,10 +2953,10 @@ BEGIN + However this works to our advantage as it preserves the + actual declaration as specified by the source file. + *) +- PutSubscript(Subscript, Type) ; +- PutArraySubscript(Array, Subscript) ; +- PushT(Array) ; +- Annotate("%1s(%1d)||array type") ++ PutSubscript (Subscript, Type) ; ++ PutArraySubscript (Array, Subscript) ; ++ PushTtok (Array, arraytok) ; ++ Annotate ("%1s(%1d)||array type") + (* ; WriteString('Field Placed in Array') ; WriteLn *) + END BuildFieldArray ; + +--- a/src/gcc/m2/gm2-compiler/P3Build.bnf ++++ b/src/gcc/m2/gm2-compiler/P3Build.bnf +@@ -66,6 +66,7 @@ FROM M2Reserved IMPORT tokToTok, toktype, + + FROM M2Quads IMPORT PushT, PopT, PushTF, PopTF, PopNothing, Annotate, + PushTtok, PushTFtok, PopTtok, PopTFtok, OperandTok, ++ DupFrame, Top, + BuildModuleStart, + StartBuildDefFile, StartBuildModFile, + EndBuildFile, +@@ -132,6 +133,7 @@ FROM M2Quads IMPORT PushT, PopT, PushTF, PopTF, PopNothing, Annotate, + PushInConstExpression, PopInConstExpression, + PushInConstParameters, PopInConstParameters, IsInConstParameters, + BuildDefaultFieldAlignment, BuildPragmaField, ++ OperandT, OperandTok, + IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto ; + + FROM P3SymBuild IMPORT P3StartBuildProgModule, +@@ -151,6 +153,7 @@ FROM P3SymBuild IMPORT P3StartBuildProgModule, + StartBuildProcedure, + BuildProcedureHeading, + EndBuildProcedure, ++ EndBuildForward, + BuildVarAtAddress, + BuildConst, + BuildSubrange, +@@ -177,6 +180,14 @@ FROM M2Batch IMPORT IsModuleKnown ; + + FROM M2CaseList IMPORT BeginCaseList, EndCaseList ; + ++FROM M2StateCheck IMPORT StateCheck, ++ InitState, PushState, PopState, ++ InclConst, ExclConst, ++ InclType, ExclType, ++ InclVar, ExclVar, ++ InclConstructor, ExclConstructor, ++ InclConstFunc, CheckQualident ; ++ + IMPORT M2Error ; + + CONST +@@ -184,19 +195,20 @@ CONST + DebugAsm = FALSE ; + + VAR +- WasNoError: BOOLEAN ; ++ seenError : BOOLEAN ; ++ BlockState: StateCheck ; + + + PROCEDURE ErrorString (s: String) ; + BEGIN +- ErrorStringAt(s, GetTokenNo ()) ; +- WasNoError := FALSE ++ ErrorStringAt (s, GetTokenNo ()) ; ++ seenError := TRUE + END ErrorString ; + + + PROCEDURE ErrorArray (a: ARRAY OF CHAR) ; + BEGIN +- ErrorString(InitString(a)) ++ ErrorString (InitString (a)) + END ErrorArray ; + + +@@ -391,9 +403,9 @@ END Expect ; + + PROCEDURE CompilationUnit () : BOOLEAN ; + BEGIN +- WasNoError := TRUE ; ++ seenError := FALSE ; + FileUnit(SetOfStop0{eoftok}, SetOfStop1{}, SetOfStop2{}) ; +- RETURN( WasNoError ) ++ RETURN NOT seenError + END CompilationUnit ; + + +@@ -457,6 +469,8 @@ BEGIN + END Real ; + + % module P3Build end ++BEGIN ++ BlockState := InitState () + END P3Build. + % rules + error 'ErrorArray' 'ErrorString' +@@ -510,6 +524,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -662,12 +677,25 @@ Qualident := % VAR + { "." Ident } % END % + =: + ++ ++QualidentCheck := % PushAutoOn % ++ Qualident ++ % PopAuto % ++ % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % ++ % IF NOT IsAutoPushOn () ++ THEN ++ PopNothing ++ END % ++ =: ++ + ConstantDeclaration := % VAR tokno: CARDINAL ; % ++ % InclConst (BlockState) % + % PushAutoOn % + ( Ident "=" % tokno := GetTokenNo () -1 % + % BuildConst % + ConstExpression ) % BuildAssignConstant (tokno) % + % PopAuto % ++ % ExclConst (BlockState) % + =: + + ConstExpression := % VAR tokpos: CARDINAL ; % +@@ -679,9 +707,12 @@ ConstExpression := % VAR + % PopInConstExpression % + =: + +-Relation := "=" % PushTtok(EqualTok, GetTokenNo() -1) % +- | "#" % PushTtok(HashTok, GetTokenNo() -1) % +- | "<>" % PushTtok(LessGreaterTok, GetTokenNo() -1) % ++Relation := "=" % PushTtok(EqualTok, GetTokenNo() -1) ; ++ RecordOp % ++ | "#" % PushTtok(HashTok, GetTokenNo() -1) ; ++ RecordOp % ++ | "<>" % PushTtok(LessGreaterTok, GetTokenNo() -1) ; ++ RecordOp % + | "<" % PushTtok(LessTok, GetTokenNo() -1) % + | "<=" % PushTtok(LessEqualTok, GetTokenNo() -1) % + | ">" % PushTtok(GreaterTok, GetTokenNo() -1) % +@@ -761,10 +792,14 @@ ArraySetRecordValue := ComponentValue % Bui + + Constructor := % VAR tokpos: CARDINAL ; % + % DisplayStack % ++ % InclConstructor (BlockState) % ++ % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % + '{' % tokpos := GetTokenNo () -1 % + % BuildConstructorStart (tokpos) % + [ ArraySetRecordValue ] % BuildConstructorEnd (tokpos, GetTokenNo()) % +- '}' =: ++ '}' ++ % ExclConstructor (BlockState) % ++ =: + + ConstSetOrQualidentOrFunction := % VAR tokpos: CARDINAL ; % + % tokpos := GetTokenNo () % +@@ -776,8 +811,12 @@ ConstSetOrQualidentOrFunction := % VAR + Constructor + ) =: + +-ConstActualParameters := % PushInConstParameters % ++ConstActualParameters := % PushState (BlockState) % ++ % InclConstFunc (BlockState) % ++ % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % ++ % PushInConstParameters % + ActualParameters % PopInConstParameters % ++ % PopState (BlockState) % + =: + + ConstAttribute := "__ATTRIBUTE__" "__BUILTIN__" "(" "(" % PushAutoOn % +@@ -790,14 +829,18 @@ ConstAttributeExpression := + ">" + =: + +-ByteAlignment := '<*' % PushAutoOn % +- AttributeExpression % BuildAlignment % ++ByteAlignment := % VAR tokpos: CARDINAL ; % ++ '<*' % PushAutoOn % ++ % tokpos := GetTokenNo () % ++ AttributeExpression % BuildAlignment (tokpos) % + '*>' % PopAuto % + =: + + Alignment := [ ByteAlignment ] =: + +-TypeDeclaration := Ident "=" Type Alignment ++TypeDeclaration := % InclType (BlockState) % ++ Ident "=" Type Alignment ++ % ExclType (BlockState) % + =: + + Type := +@@ -809,7 +852,7 @@ Type := + | ProcedureType ) % PopAuto % + =: + +-SimpleType := Qualident [ SubrangeType ] | Enumeration | SubrangeType =: ++SimpleType := QualidentCheck [ SubrangeType ] | Enumeration | SubrangeType =: + + Enumeration := "(" + ( IdentList +@@ -895,7 +938,7 @@ FieldList := IdentList ":" + + TagIdent := [ Ident ] =: + +-CaseTag := TagIdent [":" Qualident ] =: ++CaseTag := TagIdent [":" QualidentCheck ] =: + + Varient := [ % BeginVarientList % + VarientCaseLabelList ":" FieldListSequence % EndVarientList % +@@ -975,7 +1018,7 @@ FormalTypeList := "(" ( ")" FormalReturn | + + FormalReturn := [ ":" OptReturnType ] =: + +-OptReturnType := "[" Qualident "]" | Qualident =: ++OptReturnType := "[" QualidentCheck "]" | QualidentCheck =: + + ProcedureParameters := ProcedureParameter + { "," ProcedureParameter } =: +@@ -1022,10 +1065,12 @@ VarIdentList := VarIdent % VAR + =: + + VariableDeclaration := VarIdentList ":" ++ % InclVar (BlockState) % + Type Alignment ++ % ExclVar (BlockState) % + =: + +-Designator := Qualident % CheckWithReference % ++Designator := QualidentCheck % CheckWithReference % + { SubDesignator } =: + + SubDesignator := "." % VAR Sym, Type, tok, +@@ -1294,12 +1339,21 @@ WithStatement := % VAR + "END" % EndBuildWith % + =: + +-ProcedureDeclaration := ProcedureHeading ";" ProcedureBlock % BuildProcedureEnd ; +- PushAutoOn % ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading ";" PostProcedureHeading % Assert (top = Top ()) % ++ =: ++ ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: + +- Ident % EndBuildProcedure ; ++ForwardDeclaration := "FORWARD" % EndBuildForward % ++ =: ++ ++ProperProcedure := ProcedureBlock % BuildProcedureEnd ; ++ PushAutoOn % ++ Ident % EndBuildProcedure ; + PopAuto % +- =: ++ =: + + DefineBuiltinProcedure := [ "__ATTRIBUTE__" "__BUILTIN__" + "(" "(" % PushAutoOff % +@@ -1414,7 +1468,7 @@ OptArg := "[" Ident ":" FormalType [ "=" ConstExpression % Bui + DefOptArg := "[" Ident ":" FormalType "=" ConstExpression % BuildOptArgInitializer % + "]" =: + +-FormalType := { "ARRAY" "OF" } Qualident =: ++FormalType := { "ARRAY" "OF" } QualidentCheck =: + + ModuleDeclaration := % VAR modulet: CARDINAL ; % + % modulet := GetTokenNo () % +--- a/src/gcc/m2/gm2-compiler/P3SymBuild.def ++++ b/src/gcc/m2/gm2-compiler/P3SymBuild.def +@@ -25,37 +25,10 @@ DEFINITION MODULE P3SymBuild ; + Title : P3SymBuild + Author : Gaius Mulley + Date : 24/6/87 +- LastEdit : 1/9/89 + System : UNIX (GNU Modula-2) + Description: pass 3 symbol creation. + *) + +-(* StartBuildDefinitionModule, *) +-(* EndBuildDefinitionModule, *) +-(* StartBuildImplementationModule, *) +-(* EndBuildImplementationModule, *) +-(* StartBuildProgramModule, *) +-(* EndBuildProgramModule, *) +- +-EXPORT QUALIFIED P3StartBuildDefModule, +- P3EndBuildDefModule, +- P3StartBuildImpModule, +- P3EndBuildImpModule, +- P3StartBuildProgModule, +- P3EndBuildProgModule, +- StartBuildInnerModule, +- EndBuildInnerModule, +- CheckImportListOuterModule, +- CheckCanBeImported, +- BuildProcedureHeading, +- StartBuildProcedure, +- EndBuildProcedure, +- BuildSubrange, +- BuildNulName, +- BuildConst, +- BuildVarAtAddress, +- BuildOptArgInitializer ; +- + + (* + StartBuildDefinitionModule - Creates a definition module and starts +@@ -310,6 +283,13 @@ PROCEDURE StartBuildProcedure ; + PROCEDURE EndBuildProcedure ; + + ++(* ++ EndBuildForward - ++*) ++ ++PROCEDURE EndBuildForward ; ++ ++ + (* + BuildSubrange - Builds a Subrange type Symbol. + +--- a/src/gcc/m2/gm2-compiler/P3SymBuild.mod ++++ b/src/gcc/m2/gm2-compiler/P3SymBuild.mod +@@ -29,7 +29,7 @@ FROM M2Debug IMPORT Assert, WriteDebug ; + FROM M2Error IMPORT WriteFormat0, WriteFormat1, WriteFormat2, FlushErrors, InternalError ; + FROM M2LexBuf IMPORT GetTokenNo ; + +-FROM SymbolTable IMPORT NulSym, ModeOfAddr, ++FROM SymbolTable IMPORT NulSym, ModeOfAddr, ProcedureKind, + StartScope, EndScope, GetScope, GetCurrentScope, + GetModuleScope, + SetCurrentModule, GetCurrentModule, SetFileModule, +@@ -45,7 +45,7 @@ FROM SymbolTable IMPORT NulSym, ModeOfAddr, + IsConst, IsConstructor, PutConst, PutConstructor, + PopValue, PushValue, + MakeTemporary, PutVar, +- PutSubrange, ++ PutSubrange, GetProcedureKind, + GetSymName ; + + FROM M2Batch IMPORT MakeDefinitionSource, +@@ -550,6 +550,18 @@ BEGIN + END BuildProcedureHeading ; + + ++(* ++ EndBuildForward - ++*) ++ ++PROCEDURE EndBuildForward ; ++BEGIN ++ PopN (2) ; ++ EndScope ; ++ M2Error.LeaveErrorScope ++END EndBuildForward ; ++ ++ + (* + BuildSubrange - Builds a Subrange type Symbol. + +@@ -680,10 +692,15 @@ END BuildVarAtAddress ; + + PROCEDURE BuildOptArgInitializer ; + VAR +- const: CARDINAL ; ++ tok : CARDINAL ; ++ const, ++ ProcSym: CARDINAL ; + BEGIN +- PopT(const) ; +- PutOptArgInit(GetCurrentScope(), const) ++ PopT (const) ; ++ PopTtok (ProcSym, tok) ; ++ Assert (IsProcedure (ProcSym)) ; ++ PushTtok (ProcSym, tok) ; ++ PutOptArgInit (GetCurrentScope (), const) + END BuildOptArgInitializer ; + + +--- a/src/gcc/m2/gm2-compiler/PCBuild.bnf ++++ b/src/gcc/m2/gm2-compiler/PCBuild.bnf +@@ -47,7 +47,7 @@ IMPLEMENTATION MODULE PCBuild ; + FROM M2LexBuf IMPORT currentstring, currenttoken, GetToken, InsertToken, + InsertTokenAndRewind, GetTokenNo, MakeVirtualTok ; + +-FROM M2Error IMPORT ErrorStringAt, WriteFormat1, WriteFormat2 ; ++FROM M2MetaError IMPORT MetaErrorStringT0 ; + FROM NameKey IMPORT NulName, Name, makekey ; + FROM DynamicStrings IMPORT String, InitString, KillString, Mark, ConCat, ConCatChar ; + FROM M2Printf IMPORT printf0 ; +@@ -61,9 +61,11 @@ FROM M2Reserved IMPORT tokToTok, toktype, + OrTok, TimesTok, DivTok, DivideTok, ModTok, RemTok, + AndTok, AmbersandTok, PeriodPeriodTok, ByTok ; + +-FROM M2Quads IMPORT Top, PushT, PopT, PushTF, PopTF, PopNothing, OperandT, PushTFA, ++FROM M2Quads IMPORT Top, PushT, PopT, PushTF, PopTF, PopNothing, OperandT, OperandTok, ++ PushTFA, + PushTFn, PopTFn, PushTFtok, PopTtok, PopTFtok, PushTtok, PushTFntok, + PushT, PushTF, IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto, ++ DupFrame, + BuildTypeForConstructor, BuildConstructor, BuildConstructorEnd, + PopConstructor, + NextConstructorField, SilentBuildConstructor, +@@ -86,6 +88,7 @@ FROM PCSymBuild IMPORT PCStartBuildProgModule, + PCStartBuildProcedure, + PCBuildProcedureHeading, + PCEndBuildProcedure, ++ PCEndBuildForward, + PCBuildImportOuterModule, + PCBuildImportInnerModule, + StartDesConst, +@@ -102,7 +105,8 @@ FROM PCSymBuild IMPORT PCStartBuildProgModule, + PushConstType, + PushConstAttributeType, + PushConstAttributePairType, +- PushRType ; ++ PushRType, ++ CheckNotVar ; + + FROM SymbolTable IMPORT MakeGnuAsm, PutGnuAsmVolatile, PutGnuAsm, PutGnuAsmInput, + PutGnuAsmOutput, PutGnuAsmTrash, PutGnuAsmVolatile, +@@ -119,6 +123,11 @@ FROM SymbolTable IMPORT MakeGnuAsm, PutGnuAsmVolatile, PutGnuAsm, PutGnuAsmInput + + FROM M2Batch IMPORT IsModuleKnown ; + ++FROM M2StateCheck IMPORT StateCheck, ++ InitState, PushState, PopState, InclConst, ExclConst, ++ InclConstructor, ExclConstructor, ++ InclConstFunc, CheckQualident ; ++ + IMPORT M2Error ; + + +@@ -127,13 +136,14 @@ CONST + Pass1 = FALSE ; + + VAR +- WasNoError : BOOLEAN ; ++ BlockState: StateCheck ; ++ seenError : BOOLEAN ; + + + PROCEDURE ErrorString (s: String) ; + BEGIN +- ErrorStringAt (s, GetTokenNo ()) ; +- WasNoError := FALSE ++ MetaErrorStringT0 (GetTokenNo (), s) ; ++ seenError := TRUE + END ErrorString ; + + +@@ -145,7 +155,7 @@ END ErrorArray ; + + PROCEDURE ErrorArrayAt (a: ARRAY OF CHAR; tok: CARDINAL) ; + BEGIN +- ErrorStringAt (InitString(a), tok) ++ MetaErrorStringT0 (tok, InitString (a)) + END ErrorArrayAt ; + + +@@ -220,7 +230,7 @@ BEGIN + str := DescribeStop(s0, s1, s2) ; + + str := ConCat(InitString('syntax error,'), Mark(str)) ; +- ErrorStringAt(str, GetTokenNo()) ++ MetaErrorStringT0 (GetTokenNo (), str) + END WarnMissingToken ; + + +@@ -338,9 +348,9 @@ END Expect ; + + PROCEDURE CompilationUnit () : BOOLEAN ; + BEGIN +- WasNoError := TRUE ; ++ seenError := FALSE ; + FileUnit(SetOfStop0{eoftok}, SetOfStop1{}, SetOfStop2{}) ; +- RETURN( WasNoError ) ++ RETURN NOT seenError + END CompilationUnit ; + + +@@ -403,6 +413,8 @@ BEGIN + END Real ; + + % module PCBuild end ++BEGIN ++ BlockState := InitState () + END PCBuild. + % rules + error 'ErrorArray' 'ErrorString' +@@ -456,6 +468,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -591,6 +604,7 @@ Qualident := % VAR + =: + + ConstantDeclaration := % VAR top: CARDINAL ; % ++ % InclConst (BlockState) % + % top := Top() % + % PushAutoOn % + ( Ident "=" % StartDesConst % +@@ -600,6 +614,7 @@ ConstantDeclaration := % VAR + % EndDesConst % + % PopAuto % + % Assert(top=Top()) % ++ % ExclConst (BlockState) % + =: + + ConstExpression := % VAR top: CARDINAL ; % +@@ -689,11 +704,14 @@ ComponentValue := ComponentElement [ 'BY' ConstExpression ] =: + ArraySetRecordValue := ComponentValue { ',' % NextConstructorField % + ComponentValue } =: + +-Constructor := '{' % PushConstructorCastType % ++Constructor := '{' % InclConstructor (BlockState) % ++ % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % ++ % PushConstructorCastType % + % PushInConstructor % + % BuildConstructor (GetTokenNo ()-1) % + [ ArraySetRecordValue ] % PopConstructor % + '}' % PopInConstructor % ++ % ExclConstructor (BlockState) % + =: + + ConstructorOrConstActualParameters := Constructor | ConstActualParameters % PushConstFunctionType % +@@ -704,17 +722,24 @@ ConstructorOrConstActualParameters := Constructor | ConstActualParameters % Pus + + ConstSetOrQualidentOrFunction := % PushAutoOff % + % VAR tokpos: CARDINAL ; % +- ( % tokpos := GetTokenNo () % ++ % tokpos := GetTokenNo () % ++ ( + PushQualident +- ( ConstructorOrConstActualParameters | % PushConstType % ++ ( ConstructorOrConstActualParameters | % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % ++ % PushConstType % + % PopNothing % + ) + | % BuildTypeForConstructor (tokpos) % + Constructor ) % PopAuto % + =: + +-ConstActualParameters := % PushT(0) % +- "(" [ ConstExpList ] ")" =: ++ConstActualParameters := % PushState (BlockState) % ++ % InclConstFunc (BlockState) % ++ % CheckQualident (OperandTok (1), BlockState, OperandT (1)) % ++ % PushT(0) % ++ "(" [ ConstExpList ] ")" ++ % PopState (BlockState) % ++ =: + + ConstExpList := % VAR n: CARDINAL ; % + ConstExpression % PopT(n) % +@@ -1006,10 +1031,10 @@ ConstructorOrSimpleDes := Constructor | % Pop + SimpleDes [ ActualParameters ] + =: + +-SetOrDesignatorOrFunction := % PushAutoOff % +- % VAR tokpos: CARDINAL ; % +- +- ( % tokpos := GetTokenNo () % ++SetOrDesignatorOrFunction := % VAR tokpos: CARDINAL ; % ++ % tokpos := GetTokenNo () % ++ % PushAutoOff % ++ ( + PushQualident + ( ConstructorOrSimpleDes | % PopNothing % + ) +@@ -1095,11 +1120,20 @@ WithStatement := "WITH" Designator "DO" + "END" + =: + +-ProcedureDeclaration := ProcedureHeading ";" % PushAutoOff % +- ProcedureBlock % PopAuto ; PushAutoOn % +- Ident % PCEndBuildProcedure ; +- PopAuto % +- =: ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading ";" PostProcedureHeading % Assert (top = Top ()) % ++ =: ++ ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: ++ ++ForwardDeclaration := "FORWARD" % PCEndBuildForward % ++ =: ++ ++ProperProcedure := ProcedureBlock % PushAutoOn % ++ Ident % PCEndBuildProcedure % ++ % PopAuto % ++ =: + + DefineBuiltinProcedure := [ "__ATTRIBUTE__" "__BUILTIN__" + "(" "(" % PushAutoOff % +@@ -1111,11 +1145,11 @@ ProcedureHeading := "PROCEDURE" % M2E + % PushAutoOn % + DefineBuiltinProcedure + ( Ident +- % PCStartBuildProcedure ; +- PushAutoOff % ++ % PCStartBuildProcedure % ++ % PushAutoOff % + [ FormalParameters ] AttributeNoReturn +- % PCBuildProcedureHeading ; +- PopAuto % ++ % PCBuildProcedureHeading % ++ % PopAuto % + ) % PopAuto % + =: + +@@ -1125,11 +1159,11 @@ DefProcedureHeading := "PROCEDURE" % M2E + % PushAutoOn % + Builtin + ( Ident +- % PCStartBuildProcedure ; +- PushAutoOff % ++ % PCStartBuildProcedure % ++ % PushAutoOff % + [ DefFormalParameters ] AttributeNoReturn +- % PCBuildProcedureHeading ; +- PopAuto % ++ % PCBuildProcedureHeading % ++ % PopAuto % + ) % PopAuto % + % M2Error.LeaveErrorScope % + =: +--- a/src/gcc/m2/gm2-compiler/PCSymBuild.def ++++ b/src/gcc/m2/gm2-compiler/PCSymBuild.def +@@ -29,38 +29,12 @@ DEFINITION MODULE PCSymBuild ; + the import/export symbols and assigns types to constructors. + *) + +-EXPORT QUALIFIED PCStartBuildDefModule, +- PCEndBuildDefModule, +- PCStartBuildImpModule, +- PCEndBuildImpModule, +- PCStartBuildProgModule, +- PCEndBuildProgModule, +- PCStartBuildInnerModule, +- PCEndBuildInnerModule, +- PCBuildProcedureHeading, +- PCStartBuildProcedure, +- PCEndBuildProcedure, +- BuildNulName, +- BuildConst, +- PCBuildImportOuterModule, +- PCBuildImportInnerModule, +- StartDesConst, +- EndDesConst, +- BuildRelationConst, +- BuildUnaryConst, +- BuildBinaryConst, +- PushInConstructor, +- PopInConstructor, +- SkipConst, +- PushConstType, +- PushConstAttributeType, +- PushConstAttributePairType, +- PushConstructorCastType, +- PushRType, +- PushConstFunctionType, +- PushIntegerType, +- PushStringType, +- ResolveConstTypes ; ++ ++(* ++ CheckNotVar - checks to see that the top of stack is not a variable. ++*) ++ ++PROCEDURE CheckNotVar (tok: CARDINAL) ; + + + (* +@@ -274,6 +248,25 @@ PROCEDURE PCStartBuildProcedure ; + PROCEDURE PCEndBuildProcedure ; + + ++(* ++ EndBuildForward - Ends building a forward declaration. ++ ++ The Stack: ++ ++ Entry Exit ++ ++ Ptr -> ++ +------------+ ++ | ProcSym | ++ |------------| ++ | NameStart | ++ |------------| ++ Empty ++*) ++ ++PROCEDURE PCEndBuildForward ; ++ ++ + (* + BuildImportOuterModule - Builds imported identifiers into an outer module + from a definition module. +--- a/src/gcc/m2/gm2-compiler/PCSymBuild.mod ++++ b/src/gcc/m2/gm2-compiler/PCSymBuild.mod +@@ -52,7 +52,7 @@ FROM M2Reserved IMPORT PlusTok, MinusTok, TimesTok, DivTok, ModTok, + LessTok, GreaterTok, HashTok, LessGreaterTok, + InTok, NotTok ; + +-FROM SymbolTable IMPORT NulSym, ModeOfAddr, ++FROM SymbolTable IMPORT NulSym, ModeOfAddr, ProcedureKind, + StartScope, EndScope, GetScope, GetCurrentScope, + GetModuleScope, + SetCurrentModule, GetCurrentModule, SetFileModule, +@@ -73,12 +73,12 @@ FROM SymbolTable IMPORT NulSym, ModeOfAddr, + CheckAnonymous, + IsProcedureBuiltin, + MakeProcType, +- NoOfParam, ++ NoOfParamAny, + GetParam, + IsParameterVar, PutProcTypeParam, + PutProcTypeVarParam, IsParameterUnbounded, + PutFunction, PutProcTypeParam, +- GetType, ++ GetType, IsVar, + IsAModula2Type, GetDeclaredMod ; + + FROM M2Batch IMPORT MakeDefinitionSource, +@@ -192,6 +192,22 @@ BEGIN + END GetSkippedType ; + + ++(* ++ CheckNotVar - checks to see that the top of stack is not a variable. ++*) ++ ++PROCEDURE CheckNotVar (tok: CARDINAL) ; ++VAR ++ const: CARDINAL ; ++BEGIN ++ const := OperandT (1) ; ++ IF (const # NulSym) AND IsVar (const) ++ THEN ++ MetaErrorT1 (tok, 'not expecting a variable {%Aad} as a term in a constant expression', const) ++ END ++END CheckNotVar ; ++ ++ + (* + StartBuildDefinitionModule - Creates a definition module and starts + a new scope. +@@ -660,6 +676,28 @@ BEGIN + END PCEndBuildProcedure ; + + ++(* ++ EndBuildForward - Ends building a forward declaration. ++ ++ The Stack: ++ ++ Entry Exit ++ ++ Ptr -> ++ +------------+ ++ | ProcSym | ++ |------------| ++ | NameStart | ++ |------------| ++ Empty ++*) ++ ++PROCEDURE PCEndBuildForward ; ++BEGIN ++ PopN (2) ++END PCEndBuildForward ; ++ ++ + (* + BuildProcedureHeading - Builds a procedure heading for the definition + module procedures. +@@ -1125,7 +1163,7 @@ BEGIN + tok := GetTokenNo () ; + t := MakeProcType (tok, CheckAnonymous (NulName)) ; + i := 1 ; +- n := NoOfParam(p) ; ++ n := NoOfParamAny (p) ; + WHILE i<=n DO + par := GetParam (p, i) ; + IF IsParameterVar (par) +@@ -1138,7 +1176,7 @@ BEGIN + END ; + IF GetType (p) # NulSym + THEN +- PutFunction (t, GetType (p)) ++ PutFunction (tok, t, ProperProcedure, GetType (p)) + END ; + RETURN( t ) + ELSE +--- a/src/gcc/m2/gm2-compiler/PHBuild.bnf ++++ b/src/gcc/m2/gm2-compiler/PHBuild.bnf +@@ -57,7 +57,7 @@ FROM P2SymBuild IMPORT BuildString, BuildNumber ; + + FROM M2Quads IMPORT PushT, PopT, PushTF, PopTF, PopNothing, Annotate, + PushTtok, PushTFtok, PopTtok, PopTFtok, OperandTok, +- PushTFntok, Top, ++ PushTFntok, Top, DupFrame, + StartBuildDefFile, StartBuildModFile, + BuildModuleStart, + EndBuildFile, +@@ -422,6 +422,7 @@ token 'EXIT' exittok + token 'EXPORT' exporttok + token 'FINALLY' finallytok + token 'FOR' fortok ++token 'FORWARD' forwardtok + token 'FROM' fromtok + token 'IF' iftok + token 'IMPLEMENTATION' implementationtok +@@ -664,7 +665,8 @@ Constructor := % VAR + + ConstSetOrQualidentOrFunction := % PushAutoOn % + % VAR tokpos: CARDINAL ; % +- ( % tokpos := GetTokenNo () % ++ % tokpos := GetTokenNo () % ++ ( + Qualident + [ Constructor | + ConstActualParameters % BuildConstFunctionCall % +@@ -678,8 +680,10 @@ ConstAttribute := "__ATTRIBUTE__" "__BUILTIN__" "(" "(" ConstAttributeExpression + + ConstAttributeExpression := Ident | "<" Qualident ',' Ident ">" =: + +-ByteAlignment := '<*' % PushAutoOn % +- AttributeExpression % BuildAlignment % ++ByteAlignment := % VAR tokpos: CARDINAL ; % ++ '<*' % PushAutoOn % ++ % tokpos := GetTokenNo () % ++ AttributeExpression % BuildAlignment (tokpos) % + '*>' % PopAuto % + =: + +@@ -1084,14 +1088,23 @@ WithStatement := "WITH" + "END" + =: + +-ProcedureDeclaration := ProcedureHeading ";" ( ProcedureBlock % PushAutoOn % +- Ident ) % EndBuildProcedure % ++ProcedureDeclaration := % VAR top: CARDINAL ; % ++ % top := Top () % ++ ProcedureHeading ";" PostProcedureHeading % BlockAssert (top = Top ()) % ++ =: ++ ++PostProcedureHeading := ProperProcedure | ForwardDeclaration =: ++ ++ForwardDeclaration := "FORWARD" % DupFrame % ++ % EndBuildProcedure % ++ =: ++ProperProcedure := ProcedureBlock % PushAutoOn % ++ Ident % EndBuildProcedure % + % PopAuto % +- =: ++ =: + + DefineBuiltinProcedure := [ "__ATTRIBUTE__" "__BUILTIN__" "(" "(" Ident ")" ")" | +- "__INLINE__" ] +- =: ++ "__INLINE__" ] =: + + ProcedureHeading := "PROCEDURE" % M2Error.DefaultProcedure % + DefineBuiltinProcedure % PushAutoOn % +--- a/src/gcc/m2/gm2-compiler/SymbolConversion.def ++++ b/src/gcc/m2/gm2-compiler/SymbolConversion.def +@@ -29,7 +29,7 @@ DEFINITION MODULE SymbolConversion ; + Description: mapping between m2 symbols and gcc symbols. + *) + +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM SYSTEM IMPORT WORD ; + + +@@ -37,21 +37,21 @@ FROM SYSTEM IMPORT WORD ; + Mod2Gcc - given a modula-2 symbol, sym, return the gcc equivalent. + *) + +-PROCEDURE Mod2Gcc (sym: CARDINAL) : Tree ; ++PROCEDURE Mod2Gcc (sym: CARDINAL) : tree ; + + + (* + Gcc2Mod - given a gcc tree return the modula-2 symbol. + *) + +-PROCEDURE Gcc2Mod (tree: Tree) : CARDINAL ; ++PROCEDURE Gcc2Mod (tree: tree) : CARDINAL ; + + + (* + AddModGcc - adds the tuple [ sym, gcc ] into the database. + *) + +-PROCEDURE AddModGcc (sym: CARDINAL; gcc: Tree) ; ++PROCEDURE AddModGcc (sym: CARDINAL; gcc: tree) ; + + + (* +--- a/src/gcc/m2/gm2-compiler/SymbolConversion.mod ++++ b/src/gcc/m2/gm2-compiler/SymbolConversion.mod +@@ -32,7 +32,7 @@ FROM SymbolTable IMPORT IsConst, PopValue, IsValueSolved, GetSymName, + FROM M2Error IMPORT InternalError ; + FROM M2ALU IMPORT PushTypeOfTree ; + FROM m2block IMPORT GetErrorNode, RememberConstant ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM M2Printf IMPORT printf1 ; + FROM Storage IMPORT ALLOCATE ; + FROM SYSTEM IMPORT ADDRESS ; +@@ -53,11 +53,11 @@ VAR + Mod2Gcc - given a modula-2 symbol, sym, return the gcc equivalent. + *) + +-PROCEDURE Mod2Gcc (sym: CARDINAL) : Tree ; ++PROCEDURE Mod2Gcc (sym: CARDINAL) : tree ; + VAR + n : Name ; + t : PtrToCardinal ; +- tr: Tree ; ++ tr: tree ; + BEGIN + IF USEPOISON + THEN +@@ -72,7 +72,7 @@ BEGIN + END ; + IF InBounds(mod2gcc, sym) + THEN +- tr := Tree(GetIndice(mod2gcc, sym)) ; ++ tr := tree(GetIndice(mod2gcc, sym)) ; + IF tr=PoisonedSymbol + THEN + n := GetSymName(sym) ; +@@ -91,7 +91,7 @@ END Mod2Gcc ; + Gcc2Mod - given a gcc tree return the modula-2 symbol. + *) + +-PROCEDURE Gcc2Mod (tree: Tree) : CARDINAL ; ++PROCEDURE Gcc2Mod (tree: tree) : CARDINAL ; + VAR + high, i: CARDINAL ; + BEGIN +@@ -112,9 +112,9 @@ END Gcc2Mod ; + AddModGcc - adds the tuple [ sym, gcc ] into the database. + *) + +-PROCEDURE AddModGcc (sym: CARDINAL; gcc: Tree) ; ++PROCEDURE AddModGcc (sym: CARDINAL; gcc: tree) ; + VAR +- old: Tree ; ++ old: tree ; + t : PtrToCardinal ; + BEGIN + IF gcc=GetErrorNode() +@@ -125,14 +125,14 @@ BEGIN + IF USEPOISON + THEN + t := PtrToCardinal(gcc) ; +- IF (gcc#Tree(NIL)) AND (t^=GGCPOISON) ++ IF (gcc#tree(NIL)) AND (t^=GGCPOISON) + THEN + InternalError ('gcc symbol has been poisoned') + END + END ; + + old := Mod2Gcc(sym) ; +- IF old=Tree(NIL) ++ IF old=tree(NIL) + THEN + (* absent - add it *) + PutIndice(mod2gcc, sym, gcc) ; +@@ -211,14 +211,14 @@ END RemoveTemporaryKnown ; + whether the gcc symbol has been poisoned. + *) + +-PROCEDURE Mod2GccWithoutGCCPoison (sym: CARDINAL) : Tree ; ++PROCEDURE Mod2GccWithoutGCCPoison (sym: CARDINAL) : tree ; + VAR + n : Name ; +- tr: Tree ; ++ tr: tree ; + BEGIN + IF InBounds(mod2gcc, sym) + THEN +- tr := Tree(GetIndice(mod2gcc, sym)) ; ++ tr := tree(GetIndice(mod2gcc, sym)) ; + IF tr=PoisonedSymbol + THEN + n := GetSymName(sym) ; +--- a/src/gcc/m2/gm2-compiler/SymbolTable.def ++++ b/src/gcc/m2/gm2-compiler/SymbolTable.def +@@ -32,7 +32,7 @@ DEFINITION MODULE SymbolTable ; + FROM SYSTEM IMPORT WORD ; + FROM SymbolKey IMPORT PerformOperation ; + FROM NameKey IMPORT Name ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM DynamicStrings IMPORT String ; + FROM M2Error IMPORT ErrorScope ; + FROM Lists IMPORT List ; +@@ -53,6 +53,7 @@ CONST + + TYPE + ModeOfAddr = (NoValue, ImmediateValue, RightValue, LeftValue) ; ++ ProcedureKind = (ProperProcedure, ForwardProcedure, DefProcedure) ; + FamilyOperation = PROCEDURE (CARDINAL, CARDINAL, CARDINAL) ; + + +@@ -392,6 +393,21 @@ PROCEDURE IsVarHeap (sym: CARDINAL) : BOOLEAN ; + PROCEDURE MakeVar (tok: CARDINAL; VarName: Name) : CARDINAL ; + + ++(* ++ PutVarConditional - assign IsConditional to value. ++*) ++ ++PROCEDURE PutVarConditional (sym: CARDINAL; value: BOOLEAN) ; ++ ++ ++(* ++ IsVarConditional - return TRUE if the symbol is a var symbol ++ containing the result of a boolean conditional. ++*) ++ ++PROCEDURE IsVarConditional (sym: CARDINAL) : BOOLEAN ; ++ ++ + (* + MakeRecord - makes a Record symbol with name RecordName. + *) +@@ -981,7 +997,7 @@ PROCEDURE GetNth (Sym: CARDINAL; n: CARDINAL) : CARDINAL ; + a parameter. + *) + +-PROCEDURE GetNthParam (Sym: CARDINAL; ParamNo: CARDINAL) : CARDINAL ; ++PROCEDURE GetNthParam (Sym: CARDINAL; kind: ProcedureKind; ParamNo: CARDINAL) : CARDINAL ; + + + (* +@@ -1107,6 +1123,13 @@ PROCEDURE HasExceptionFinally (sym: CARDINAL) : BOOLEAN ; + PROCEDURE PutVar (Sym: CARDINAL; VarType: CARDINAL) ; + + ++(* ++ PutVarTok - gives the VarSym symbol Sym a type Type at typetok. ++*) ++ ++PROCEDURE PutVarTok (Sym: CARDINAL; VarType: CARDINAL; typetok: CARDINAL) ; ++ ++ + (* + PutLeftValueFrontBackType - gives the variable symbol a front and backend type. + The variable must be a LeftValue. +@@ -1310,14 +1333,15 @@ PROCEDURE PutType (Sym: CARDINAL; TypeSymbol: CARDINAL) ; + PutFunction - Places a TypeSym as the return type to a procedure Sym. + *) + +-PROCEDURE PutFunction (Sym: CARDINAL; TypeSym: CARDINAL) ; ++PROCEDURE PutFunction (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; ++ TypeSym: CARDINAL) ; + + + (* + PutOptFunction - places a TypeSym as the optional return type to a procedure Sym. + *) + +-PROCEDURE PutOptFunction (Sym: CARDINAL; TypeSym: CARDINAL) ; ++PROCEDURE PutOptFunction (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; TypeSym: CARDINAL) ; + + + (* +@@ -1325,42 +1349,53 @@ PROCEDURE PutOptFunction (Sym: CARDINAL; TypeSym: CARDINAL) ; + optional. + *) + +-PROCEDURE IsReturnOptional (sym: CARDINAL) : BOOLEAN ; ++PROCEDURE IsReturnOptional (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; ++ ++ ++(* ++ IsReturnOptionalAny - returns TRUE if the return value for sym is ++ optional. ++*) ++ ++PROCEDURE IsReturnOptionalAny (sym: CARDINAL) : BOOLEAN ; + + + (* + PutParam - Places a Non VAR parameter ParamName with type ParamType into +- procedure Sym. The parameter number is ParamNo. ++ procedure Sym:kind. The parameter number is ParamNo. + If the procedure Sym already has this parameter then + the parameter is checked for consistancy and the + consistancy test is returned. + *) + +-PROCEDURE PutParam (tok: CARDINAL; Sym: CARDINAL; ParamNo: CARDINAL; ++PROCEDURE PutParam (tok: CARDINAL; Sym: CARDINAL; ++ kind: ProcedureKind; ParamNo: CARDINAL; + ParamName: Name; ParamType: CARDINAL; +- isUnbounded: BOOLEAN) : BOOLEAN ; ++ isUnbounded: BOOLEAN; typetok: CARDINAL) : BOOLEAN ; + + + (* + PutVarParam - Places a Non VAR parameter ParamName with type +- ParamType into procedure Sym. ++ ParamType into procedure Sym:kind. + The parameter number is ParamNo. + If the procedure Sym already has this parameter then + the parameter is checked for consistancy and the + consistancy test is returned. + *) + +-PROCEDURE PutVarParam (tok: CARDINAL; Sym: CARDINAL; ParamNo: CARDINAL; ++PROCEDURE PutVarParam (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL; + ParamName: Name; ParamType: CARDINAL; +- isUnbounded: BOOLEAN) : BOOLEAN ; ++ isUnbounded: BOOLEAN; typetok: CARDINAL) : BOOLEAN ; + + + (* +- PutParamName - assigns a name, name, to paramater, no, of procedure, +- ProcSym. ++ PutParamName - assigns a name to paramater no of procedure ProcSym:kind. + *) + +-PROCEDURE PutParamName (tok: CARDINAL; ProcSym: CARDINAL; no: CARDINAL; name: Name) ; ++PROCEDURE PutParamName (tok: CARDINAL; ProcSym: CARDINAL; kind: ProcedureKind; ++ no: CARDINAL; ++ name: Name; ParamType: CARDINAL; typetok: CARDINAL) ; + + + (* +@@ -1384,14 +1419,15 @@ PROCEDURE IsProcedureReachable (Sym: CARDINAL) : BOOLEAN ; + field of procedure sym. + *) + +-PROCEDURE PutProcedureNoReturn (Sym: CARDINAL; value: BOOLEAN) ; ++PROCEDURE PutProcedureNoReturn (Sym: CARDINAL; kind: ProcedureKind; ++ value: BOOLEAN) ; + + + (* + IsProcedureNoReturn - returns TRUE if this procedure never returns. + *) + +-PROCEDURE IsProcedureNoReturn (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE IsProcedureNoReturn (Sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + + + (* +@@ -1452,14 +1488,14 @@ PROCEDURE GetModuleQuads (Sym: CARDINAL; + PutModuleFinallyFunction - Places Tree, finally, into the Module symbol, Sym. + *) + +-PROCEDURE PutModuleFinallyFunction (Sym: CARDINAL; finally: Tree) ; ++PROCEDURE PutModuleFinallyFunction (Sym: CARDINAL; finally: tree) ; + + + (* + GetModuleFinallyFunction - returns the finally tree from the Module symbol, Sym. + *) + +-PROCEDURE GetModuleFinallyFunction (Sym: CARDINAL) : Tree ; ++PROCEDURE GetModuleFinallyFunction (Sym: CARDINAL) : tree ; + + + (* +@@ -1598,6 +1634,16 @@ PROCEDURE GetDeclaredDef (Sym: CARDINAL) : CARDINAL ; + PROCEDURE GetDeclaredMod (Sym: CARDINAL) : CARDINAL ; + + ++(* ++ GetDeclaredFor - returns the token where this symbol was declared. ++ It chooses the first from the forward declaration, ++ implementation module, program module ++ and definition module. ++*) ++ ++PROCEDURE GetDeclaredFor (Sym: CARDINAL) : CARDINAL ; ++ ++ + (* + GetDeclaredDefinition - returns the token where this symbol + was declared in the definition module. +@@ -1682,7 +1728,16 @@ PROCEDURE ForeachInnerModuleDo (Sym: CARDINAL; P: PerformOperation) ; + is a VAR procedure parameter. + *) + +-PROCEDURE IsVarParam (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++PROCEDURE IsVarParam (Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL) : BOOLEAN ; ++ ++ ++(* ++ IsVarParamAny - Returns a conditional depending whether parameter ParamNo ++ is a VAR parameter. ++*) ++ ++PROCEDURE IsVarParamAny (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; + + + (* +@@ -1690,7 +1745,16 @@ PROCEDURE IsVarParam (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; + ParamNo is an unbounded array procedure parameter. + *) + +-PROCEDURE IsUnboundedParam (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++PROCEDURE IsUnboundedParam (Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL) : BOOLEAN ; ++ ++ ++(* ++ IsUnboundedParam - Returns a conditional depending whether parameter ++ ParamNo is an unbounded array procedure parameter. ++*) ++ ++PROCEDURE IsUnboundedParamAny (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; + + + (* +@@ -1721,7 +1785,7 @@ PROCEDURE GetParameterShadowVar (sym: CARDINAL) : CARDINAL ; + NoOfParam - Returns the number of parameters that procedure Sym contains. + *) + +-PROCEDURE NoOfParam (Sym: CARDINAL) : CARDINAL ; ++PROCEDURE NoOfParam (Sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; + + + (* +@@ -2124,8 +2188,11 @@ PROCEDURE ForeachLocalSymDo (Sym: CARDINAL; P: PerformOperation) ; + + + (* +- ForeachParamSymDo - foreach parameter symbol in procedure, Sym, +- perform the procedure, P. ++ ForeachParamSymDo - foreach parameter symbol in procedure Sym ++ perform the procedure P. Each symbol ++ looked up will be VarParam or Param ++ (not the shadow variable). Every parameter ++ from each KindProcedure is iterated over. + *) + + PROCEDURE ForeachParamSymDo (Sym: CARDINAL; P: PerformOperation) ; +@@ -2163,55 +2230,79 @@ PROCEDURE IsParameter (Sym: CARDINAL) : BOOLEAN ; + + + (* +- ProcedureParametersDefined - dictates to procedure symbol, Sym, +- that its parameters have been defined. ++ GetProcedureKind - returns the procedure kind given the declaration tok. ++ The declaration tok must match the ident tok in the ++ procedure name. It is only safe to call this ++ procedure function during pass 2 onwards. ++*) ++ ++PROCEDURE GetProcedureKind (sym: CARDINAL; tok: CARDINAL) : ProcedureKind ; ++ ++ ++(* ++ GetProcedureDeclaredTok - return the token where the ++ declaration of procedure sym:kind ++ occurred. ++*) ++ ++PROCEDURE GetProcedureDeclaredTok (sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; ++ ++ ++(* ++ PutProcedureDeclaredTok - places the tok where the ++ declaration of procedure sym:kind ++ occurred. + *) + +-PROCEDURE ProcedureParametersDefined (Sym: CARDINAL) ; ++PROCEDURE PutProcedureDeclaredTok (sym: CARDINAL; kind: ProcedureKind; ++ tok: CARDINAL) ; + + + (* +- AreProcedureParametersDefined - returns true if the parameters to procedure +- symbol, Sym, have been defined. ++ GetReturnTypeTok - return the token where the ++ return type procedure sym:kind was defined. + *) + +-PROCEDURE AreProcedureParametersDefined (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE GetReturnTypeTok (sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; + + + (* +- ParametersDefinedInDefinition - dictates to procedure symbol, Sym, +- that its parameters have been defined in +- a definition module. ++ PutReturnTypeTok - places the tok where the return type of procedure sym:kind ++ was defined. + *) + +-PROCEDURE ParametersDefinedInDefinition (Sym: CARDINAL) ; ++PROCEDURE PutReturnTypeTok (sym: CARDINAL; kind: ProcedureKind; tok: CARDINAL) ; + + + (* +- AreParametersDefinedInDefinition - returns true if procedure symbol, Sym, +- has had its parameters been defined in +- a definition module. ++ PutProcedureParametersDefined - the procedure symbol sym:kind ++ parameters have been defined. + *) + +-PROCEDURE AreParametersDefinedInDefinition (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE PutProcedureParametersDefined (sym: CARDINAL; kind: ProcedureKind) ; + + + (* +- ParametersDefinedInImplementation - dictates to procedure symbol, Sym, +- that its parameters have been defined in +- a implementation module. ++ GetProcedureParametersDefined - returns true if procedure symbol sym:kind ++ parameters are defined. + *) + +-PROCEDURE ParametersDefinedInImplementation (Sym: CARDINAL) ; ++PROCEDURE GetProcedureParametersDefined (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + + + (* +- AreParametersDefinedInImplementation - returns true if procedure symbol, Sym, +- has had its parameters been defined in +- an implementation module. ++ PutProcedureDefined - the procedure symbol sym:kind is defined. + *) + +-PROCEDURE AreParametersDefinedInImplementation (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE PutProcedureDefined (sym: CARDINAL; kind: ProcedureKind) ; ++ ++ ++(* ++ GetProcedureDefined - returns true if procedure symbol sym:kind ++ is defined. ++*) ++ ++PROCEDURE GetProcedureDefined (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + + + (* +@@ -2238,14 +2329,14 @@ PROCEDURE UsesVarArgs (Sym: CARDINAL) : BOOLEAN ; + uses an optarg. + *) + +-PROCEDURE PutUseOptArg (Sym: CARDINAL) ; ++PROCEDURE PutUseOptArg (Sym: CARDINAL; kind: ProcedureKind) ; + + + (* + UsesOptArg - returns TRUE if procedure, Sym, uses varargs. + *) + +-PROCEDURE UsesOptArg (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE UsesOptArg (Sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + + + (* +@@ -2253,7 +2344,7 @@ PROCEDURE UsesOptArg (Sym: CARDINAL) : BOOLEAN ; + procedure, ProcSym. + *) + +-PROCEDURE PutOptArgInit (ProcSym, Sym: CARDINAL) ; ++PROCEDURE PutOptArgInit (ProcSym: CARDINAL; Sym: CARDINAL) ; + + + (* +@@ -2460,10 +2551,10 @@ PROCEDURE NoOfElements (Sym: CARDINAL) : CARDINAL ; + + + (* +- PutArray - places a type symbol into an Array. ++ PutArray - places a type symbol into an arraysym. + *) + +-PROCEDURE PutArray (Sym, TypeSymbol: CARDINAL) ; ++PROCEDURE PutArray (arraysym, typesym: CARDINAL) ; + + + (* +@@ -2869,10 +2960,10 @@ PROCEDURE PushSize (Sym: CARDINAL) ; + + + (* +- PushOffset - pushes the Offset of Sym. ++ PopSize - pops the ALU stack into Size of Sym. + *) + +-PROCEDURE PushOffset (Sym: CARDINAL) ; ++PROCEDURE PopSize (Sym: CARDINAL) ; + + + (* +@@ -2882,30 +2973,6 @@ PROCEDURE PushOffset (Sym: CARDINAL) ; + PROCEDURE PushValue (Sym: CARDINAL) ; + + +-(* +- PushParamSize - push the size of parameter, ParamNo, +- of procedure Sym onto the ALU stack. +-*) +- +-PROCEDURE PushParamSize (Sym: CARDINAL; ParamNo: CARDINAL) ; +- +- +-(* +- PushSumOfLocalVarSize - push the total size of all local variables +- onto the ALU stack. +-*) +- +-PROCEDURE PushSumOfLocalVarSize (Sym: CARDINAL) ; +- +- +-(* +- PushSumOfParamSize - push the total size of all parameters onto +- the ALU stack. +-*) +- +-PROCEDURE PushSumOfParamSize (Sym: CARDINAL) ; +- +- + (* + PushVarSize - pushes the size of a variable, Sym. + The runtime size of Sym will depend upon its addressing mode, +@@ -2926,28 +2993,6 @@ PROCEDURE PushVarSize (Sym: CARDINAL) ; + PROCEDURE PopValue (Sym: CARDINAL) ; + + +-(* +- PopSize - pops the ALU stack into Size of Sym. +-*) +- +-PROCEDURE PopSize (Sym: CARDINAL) ; +- +- +-(* +- PopOffset - pops the ALU stack into Offset of Sym. +-*) +- +-PROCEDURE PopOffset (Sym: CARDINAL) ; +- +- +-(* +- PopSumOfParamSize - pop the total value on the ALU stack as the +- sum of all parameters. +-*) +- +-PROCEDURE PopSumOfParamSize (Sym: CARDINAL) ; +- +- + (* + IsObject - returns TRUE if the symbol is an object symbol. + *) +@@ -3349,4 +3394,88 @@ PROCEDURE PutConstLitInternal (sym: CARDINAL; value: BOOLEAN) ; + PROCEDURE IsConstLitInternal (sym: CARDINAL) : BOOLEAN ; + + ++(* ++ GetVarDeclTypeTok - returns the TypeTok field associate with variable sym. ++*) ++ ++PROCEDURE GetVarDeclTypeTok (sym: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ PutVarDeclTypeTok - assigns the TypeTok field to typetok. ++ sym can be a variable or parameter. ++*) ++ ++PROCEDURE PutVarDeclTypeTok (sym: CARDINAL; typetok: CARDINAL) ; ++ ++ ++(* ++ GetVarDeclTok - returns the TypeTok field associate with variable sym. ++*) ++ ++PROCEDURE GetVarDeclTok (sym: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ PutVarDeclTok - assigns the VarTok field to vartok. ++ sym can be a variable or parameter. ++*) ++ ++PROCEDURE PutVarDeclTok (sym: CARDINAL; vartok: CARDINAL) ; ++ ++ ++(* ++ GetVarDeclFullTok - returns the full virtual token containing var: type. ++*) ++ ++PROCEDURE GetVarDeclFullTok (sym: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ IsProcedureAnyNoReturn - return TRUE if any of the defined kinds ++ of procedure sym is declared no return. ++*) ++ ++PROCEDURE IsProcedureAnyNoReturn (sym: CARDINAL) : BOOLEAN ; ++ ++ ++(* ++ GetNthParamAny - returns the nth parameter from the order ++ proper procedure, forward declaration ++ or definition module procedure. ++*) ++ ++PROCEDURE GetNthParamAny (sym: CARDINAL; ParamNo: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ NoOfParamAny - return the number of parameters for sym. ++*) ++ ++PROCEDURE NoOfParamAny (sym: CARDINAL) : CARDINAL ; ++ ++ ++(* ++ SetReturnOptional - sets the ReturnOptional field in the Procedure:kind or ++ ProcType symboltable entry. ++*) ++ ++PROCEDURE SetReturnOptional (sym: CARDINAL; kind: ProcedureKind; ++ isopt: BOOLEAN) ; ++ ++ ++(* ++ UsesOptArgAny - returns TRUE if procedure, Sym, uses varargs. ++*) ++ ++PROCEDURE UsesOptArgAny (Sym: CARDINAL) : BOOLEAN ; ++ ++ ++(* ++ GetProcedureKindDesc - return a string describing kind. ++*) ++ ++PROCEDURE GetProcedureKindDesc (kind: ProcedureKind) : String ; ++ ++ + END SymbolTable. +--- a/src/gcc/m2/gm2-compiler/SymbolTable.mod ++++ b/src/gcc/m2/gm2-compiler/SymbolTable.mod +@@ -26,6 +26,7 @@ FROM SYSTEM IMPORT ADDRESS, ADR ; + FROM Storage IMPORT ALLOCATE, DEALLOCATE ; + FROM M2Debug IMPORT Assert ; + FROM libc IMPORT printf ; ++FROM ASCII IMPORT nul ; + + IMPORT Indexing ; + +@@ -33,14 +34,15 @@ FROM Indexing IMPORT InitIndex, InBounds, LowIndice, HighIndice, + PutIndice, GetIndice, InitIndexTuned ; + + FROM Sets IMPORT Set, InitSet, IncludeElementIntoSet, IsElementInSet ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + + FROM M2Options IMPORT Pedantic, ExtendedOpaque, + GetDebugFunctionLineNumbers, ScaffoldDynamic, + DebugBuiltins ; + + FROM M2LexBuf IMPORT UnknownTokenNo, TokenToLineNo, +- FindFileNameFromToken, TokenToLocation ; ++ FindFileNameFromToken, TokenToLocation, ++ MakeVirtual2Tok ; + + FROM M2ALU IMPORT InitValue, PtrToValue, PushCard, PopInto, + PushString, PushFrom, PushChar, PushInt, +@@ -77,12 +79,12 @@ FROM SymbolKey IMPORT NulKey, SymbolTree, IsSymbol, + DoesTreeContainAny, ForeachNodeDo, ForeachNodeConditionDo, + NoOfNodes ; + +-FROM M2Base IMPORT MixTypes, InitBase, Char, Integer, LongReal, ++FROM M2Base IMPORT MixTypes, MixTypesDecl, InitBase, Char, Integer, LongReal, + Cardinal, LongInt, LongCard, ZType, RType ; + + FROM M2System IMPORT Address ; + FROM m2expr IMPORT OverflowZType ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM m2linemap IMPORT BuiltinsLocation ; + FROM StrLib IMPORT StrEqual ; + FROM m2builtins IMPORT BuiltinExists ; +@@ -120,9 +122,12 @@ CONST + UnboundedAddressName = "_m2_contents" ; + UnboundedHighName = "_m2_high_%d" ; + +- BreakSym = 8496 ; ++ BreakSym = 203 ; + + TYPE ++ ProcAnyBoolean = PROCEDURE (CARDINAL, ProcedureKind) : BOOLEAN ; ++ ProcAnyCardinal = PROCEDURE (CARDINAL, ProcedureKind) : CARDINAL ; ++ + ConstLitPoolEntry = POINTER TO RECORD + sym : CARDINAL ; + tok : CARDINAL ; +@@ -149,10 +154,16 @@ TYPE + + Where = RECORD + DefDeclared, +- ModDeclared, +- FirstUsed : CARDINAL ; ++ FirstUsed, ++ ModDeclared: CARDINAL ; + END ; + ++ VarDecl = RECORD ++ FullTok, ++ VarTok, ++ TypeTok: CARDINAL ; (* Variable and type token *) ++ END ; (* locations. *) ++ + PackedInfo = RECORD + IsPacked : BOOLEAN ; (* is this type packed? *) + PackedEquiv : CARDINAL ; (* the equivalent packed type *) +@@ -207,6 +218,7 @@ TYPE + + SymError = RECORD + name : Name ; ++ Scope : CARDINAL ; (* Scope of declaration. *) + At : Where ; (* Where was sym declared/used *) + END ; + +@@ -360,40 +372,34 @@ TYPE + NDim: CARDINAL ; (* dimensions associated *) + END ; + +- SymProcedure ++ ProcedureDeclaration + = RECORD +- name : Name ; (* Index into name array, name *) +- (* of procedure. *) + ListOfParam : List ; (* Contains a list of all the *) + (* parameters in this procedure. *) ++ Defined : BOOLEAN ; (* Has the procedure been *) ++ (* declared yet? *) + ParamDefined : BOOLEAN ; (* Have the parameters been *) + (* defined yet? *) +- DefinedInDef : BOOLEAN ; (* Were the parameters defined *) +- (* in the Definition module? *) +- (* Note that this depends on *) +- (* whether the compiler has read *) +- (* the .def or .mod first. *) +- (* The second occurence is *) +- (* compared to the first. *) +- DefinedInImp : BOOLEAN ; (* Were the parameters defined *) +- (* in the Implementation module? *) +- (* Note that this depends on *) +- (* whether the compiler has read *) +- (* the .def or .mod first. *) +- (* The second occurence is *) +- (* compared to the first. *) + HasVarArgs : BOOLEAN ; (* Does this procedure use ... ? *) + HasOptArg : BOOLEAN ; (* Does this procedure use [ ] ? *) +- OptArgInit : CARDINAL ; (* The optarg initial value. *) +- IsBuiltin : BOOLEAN ; (* Was it declared __BUILTIN__ ? *) +- BuiltinName : Name ; (* name of equivalent builtin *) +- IsInline : BOOLEAN ; (* Was it declared __INLINE__ ? *) + IsNoReturn : BOOLEAN ; (* Attribute noreturn ? *) + ReturnOptional: BOOLEAN ; (* Is the return value optional? *) ++ ReturnTypeTok, ++ ProcedureTok : CARDINAL ; (* Token pos of procedure name. *) ++ END ; ++ ++ SymProcedure ++ = RECORD ++ name : Name ; (* Index into name array, name *) ++ (* of procedure. *) ++ Decl : ARRAY ProcedureKind OF ProcedureDeclaration ; ++ OptArgInit : CARDINAL ; (* The optarg initial value. *) + IsExtern : BOOLEAN ; (* Make this procedure extern. *) + IsPublic : BOOLEAN ; (* Make this procedure visible. *) + IsCtor : BOOLEAN ; (* Is this procedure a ctor? *) + IsMonoName : BOOLEAN ; (* Ignores module name prefix. *) ++ BuildProcType : BOOLEAN ; (* Are we building the *) ++ (* associated proctype? *) + Unresolved : SymbolTree ; (* All symbols currently *) + (* unresolved in this procedure. *) + ScopeQuad : CARDINAL ; (* Index into quads for scope *) +@@ -408,9 +414,9 @@ TYPE + (* and restore interrupts? *) + ReturnType : CARDINAL ; (* Return type for function. *) + ProcedureType : CARDINAL ; (* Proc type for this procedure. *) +- Offset : CARDINAL ; (* Location of procedure used *) +- (* in Pass 2 and if procedure *) +- (* is a syscall. *) ++ IsBuiltin : BOOLEAN ; (* Was it declared __BUILTIN__ ? *) ++ BuiltinName : Name ; (* name of equivalent builtin *) ++ IsInline : BOOLEAN ; (* Was it declared __INLINE__ ? *) + LocalSymbols: SymbolTree ; (* Contains all symbols declared *) + (* within this procedure. *) + EnumerationScopeList: List ; +@@ -446,6 +452,7 @@ TYPE + OptArgInit : CARDINAL ; (* The optarg initial value. *) + ReturnType : CARDINAL ; (* Return type for function. *) + ReturnOptional: BOOLEAN ; (* Is the return value optional? *) ++ ReturnTypeTok : CARDINAL ; (* Token of return type. *) + Scope : CARDINAL ; (* Scope of declaration. *) + Size : PtrToValue ; (* Runtime size of symbol. *) + TotalParamSize: PtrToValue ; (* size of all parameters. *) +@@ -510,6 +517,8 @@ TYPE + (* of const. *) + Value : PtrToValue ; (* Value of the constant *) + Type : CARDINAL ; (* TYPE of constant, char etc *) ++ IsConditional, (* Is it the result of a *) ++ (* boolean conditional? *) + IsSet : BOOLEAN ; (* is the constant a set? *) + IsConstructor: BOOLEAN ; (* is the constant a set? *) + FromType : CARDINAL ; (* type is determined FromType *) +@@ -533,6 +542,7 @@ TYPE + IsComponentRef: BOOLEAN ; (* Is temporary referencing a *) + (* record field? *) + list : Indexing.Index ; (* the record and fields *) ++ IsConditional, + IsTemp : BOOLEAN ; (* Is variable a temporary? *) + IsParam : BOOLEAN ; (* Is variable a parameter? *) + IsPointerCheck: BOOLEAN ; (* Is variable used to *) +@@ -544,6 +554,7 @@ TYPE + (* to an array? *) + Heap : BOOLEAN ; (* Is var on the heap? *) + InitState : LRInitDesc ; (* Initialization state. *) ++ Declared : VarDecl ; (* Var and type tokens. *) + At : Where ; (* Where was sym declared/used *) + ReadUsageList, (* list of var read quads *) + WriteUsageList: LRLists ; (* list of var write quads *) +@@ -725,7 +736,7 @@ TYPE + StartFinishQuad: CARDINAL ; (* Signify the finalization *) + (* code. *) + EndFinishQuad : CARDINAL ; (* should point to a finish *) +- FinallyFunction: Tree ; (* The GCC function for finally *) ++ FinallyFunction: tree ; (* The GCC function for finally *) + ExceptionFinally, + ExceptionBlock: BOOLEAN ; (* does it have an exception? *) + ContainsHiddenType: BOOLEAN ;(* True if this module *) +@@ -800,7 +811,7 @@ TYPE + StartFinishQuad: CARDINAL ; (* Signify the finalization *) + (* code. *) + EndFinishQuad : CARDINAL ; (* should point to a finish *) +- FinallyFunction: Tree ; (* The GCC function for finally *) ++ FinallyFunction: tree ; (* The GCC function for finally *) + ExceptionFinally, + ExceptionBlock: BOOLEAN ; (* does it have an exception? *) + ModLink : BOOLEAN ; (* Is the module parsed for *) +@@ -1511,6 +1522,7 @@ BEGIN + WITH pSym^ DO + SymbolType := ErrorSym ; + Error.name := name ; ++ Error.Scope := GetCurrentScope () ; + InitWhereDeclaredTok(tok, Error.At) ; + InitWhereFirstUsedTok(tok, Error.At) + END ; +@@ -1538,7 +1550,7 @@ PROCEDURE IsError (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=ErrorSym ) + END IsError ; +@@ -1573,7 +1585,7 @@ PROCEDURE IsTuple (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=TupleSym ) + END IsTuple ; +@@ -1587,7 +1599,7 @@ PROCEDURE IsObject (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=ObjectSym ) + END IsObject ; +@@ -3913,6 +3925,26 @@ BEGIN + END PutModuleCtorExtern ; + + ++(* ++ InitProcedureDeclaration - initialize all the ProcedureDeclaration ++ fields. ++*) ++ ++PROCEDURE InitProcedureDeclaration (VAR decl: ProcedureDeclaration) ; ++BEGIN ++ WITH decl DO ++ Defined := FALSE ; (* Has the procedure been *) ++ (* declared yet? *) ++ ParamDefined := FALSE ; (* Have the parameters been *) ++ (* defined yet? *) ++ HasVarArgs := FALSE ; (* Does the procedure use ... ? *) ++ HasOptArg := FALSE ; (* Does this procedure use [ ] ? *) ++ IsNoReturn := FALSE ; (* Declared attribute noreturn ? *) ++ ReturnOptional := FALSE (* Is the return value optional? *) ++ END ++END InitProcedureDeclaration ; ++ ++ + (* + MakeProcedure - creates a procedure sym with name. It returns + the symbol index. +@@ -3922,9 +3954,14 @@ PROCEDURE MakeProcedure (tok: CARDINAL; ProcedureName: Name) : CARDINAL ; + VAR + pSym: PtrToSymbol ; + Sym : CARDINAL ; ++ kind: ProcedureKind ; + BEGIN + tok := CheckTok (tok, 'procedure') ; + Sym := DeclareSym(tok, ProcedureName) ; ++ IF Sym = BreakSym ++ THEN ++ stop ++ END ; + IF NOT IsError(Sym) + THEN + pSym := GetPsym(Sym) ; +@@ -3932,36 +3969,18 @@ BEGIN + SymbolType := ProcedureSym ; + WITH Procedure DO + name := ProcedureName ; +- InitList(ListOfParam) ; (* Contains a list of all the *) +- (* parameters in this procedure. *) +- ParamDefined := FALSE ; (* Have the parameters been *) +- (* defined yet? *) +- DefinedInDef := FALSE ; (* Were the parameters defined *) +- (* in the Definition module? *) +- (* Note that this depends on *) +- (* whether the compiler has read *) +- (* the .def or .mod first. *) +- (* The second occurence is *) +- (* compared to the first. *) +- DefinedInImp := FALSE ; (* Were the parameters defined *) +- (* in the Implementation module? *) +- (* Note that this depends on *) +- (* whether the compiler has read *) +- (* the .def or .mod first. *) +- (* The second occurence is *) +- (* compared to the first. *) +- HasVarArgs := FALSE ; (* Does the procedure use ... ? *) +- HasOptArg := FALSE ; (* Does this procedure use [ ] ? *) +- OptArgInit := NulSym ; (* The optarg initial value. *) +- IsBuiltin := FALSE ; (* Was it declared __BUILTIN__ ? *) +- BuiltinName := NulName ; (* name of equivalent builtin *) +- IsInline := FALSE ; (* Was is declared __INLINE__ ? *) +- IsNoReturn := FALSE ; (* Declared attribute noreturn ? *) +- ReturnOptional := FALSE ; (* Is the return value optional? *) ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ InitProcedureDeclaration (Decl[kind]) ; ++ InitList (Decl[kind].ListOfParam) ++ END ; ++ OptArgInit := NulSym ; (* The optional arg default *) ++ (* value. *) + IsExtern := FALSE ; (* Make this procedure external. *) + IsPublic := FALSE ; (* Make this procedure visible. *) + IsCtor := FALSE ; (* Is this procedure a ctor? *) + IsMonoName := FALSE ; (* Overrides module name prefix. *) ++ BuildProcType := TRUE ; (* Are we building the *) ++ (* proctype associated with sym? *) + Scope := GetCurrentScope() ; (* Scope of procedure. *) + InitTree(Unresolved) ; (* All symbols currently *) + (* unresolved in this procedure. *) +@@ -3975,7 +3994,6 @@ BEGIN + ReturnType := NulSym ; (* Not a function yet! *) + (* The ProcType equivalent. *) + ProcedureType := MakeProcType (tok, NulName) ; +- Offset := 0 ; (* Location of procedure. *) + InitTree(LocalSymbols) ; + InitList(EnumerationScopeList) ; + (* Enumeration scope list which *) +@@ -3991,6 +4009,9 @@ BEGIN + InitList(ListOfModules) ; (* List of all inner modules. *) + ExceptionFinally := FALSE ; (* does it have an exception? *) + ExceptionBlock := FALSE ; (* does it have an exception? *) ++ IsBuiltin := FALSE ; (* Was it declared __BUILTIN__ ? *) ++ BuiltinName := NulName ; (* name of equivalent builtin *) ++ IsInline := FALSE ; (* Was is declared __INLINE__ ? *) + Size := InitValue() ; (* Activation record size. *) + TotalParamSize + := InitValue() ; (* size of all parameters. *) +@@ -4013,7 +4034,8 @@ END MakeProcedure ; + field of procedure sym. + *) + +-PROCEDURE PutProcedureNoReturn (Sym: CARDINAL; value: BOOLEAN) ; ++PROCEDURE PutProcedureNoReturn (Sym: CARDINAL; kind: ProcedureKind; ++ value: BOOLEAN) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -4021,7 +4043,7 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: Procedure.IsNoReturn := value ++ ProcedureSym: Procedure.Decl[kind].IsNoReturn := value + + ELSE + InternalError ('expecting ProcedureSym symbol') +@@ -4034,7 +4056,7 @@ END PutProcedureNoReturn ; + IsProcedureNoReturn - returns TRUE if this procedure never returns. + *) + +-PROCEDURE IsProcedureNoReturn (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE IsProcedureNoReturn (Sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -4042,7 +4064,7 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: RETURN Procedure.IsNoReturn ++ ProcedureSym: RETURN Procedure.Decl[kind].IsNoReturn + + ELSE + InternalError ('expecting ProcedureSym symbol') +@@ -4280,6 +4302,237 @@ BEGIN + END AddVarToList ; + + ++(* ++ InitVarDecl - initialize the variable and type token location positions. ++*) ++ ++PROCEDURE InitVarDecl (VAR decl: VarDecl; vartok: CARDINAL) ; ++BEGIN ++ decl.FullTok := UnknownTokenNo ; ++ decl.VarTok := vartok ; ++ decl.TypeTok := UnknownTokenNo ++END InitVarDecl ; ++ ++ ++(* ++ doPutVarDeclTypeTok - places typetok into decl.TypeTok. ++ sym must be a variable. ++*) ++ ++PROCEDURE doPutVarDeclTypeTok (sym: CARDINAL; typetok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ Assert (IsVar (sym)) ; ++ pSym := GetPsym (sym) ; ++ WITH pSym^.Var DO ++ Declared.TypeTok := typetok ++ END ++END doPutVarDeclTypeTok ; ++ ++ ++(* ++ PutVarDeclTypeTok - assigns the TypeTok field to typetok. ++ sym can be a variable or parameter. ++*) ++ ++PROCEDURE PutVarDeclTypeTok (sym: CARDINAL; typetok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ IF IsParameter (sym) ++ THEN ++ pSym := GetPsym (sym) ; ++ IF IsParameterVar (sym) ++ THEN ++ PutVarDeclTypeTok (pSym^.VarParam.ShadowVar, typetok) ++ ELSE ++ PutVarDeclTypeTok (pSym^.Param.ShadowVar, typetok) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ doPutVarDeclTypeTok (sym, typetok) ++ END ++END PutVarDeclTypeTok ; ++ ++ ++(* ++ doPutVarDeclTok - places vartok into decl.VarTok. ++ sym must be a variable. ++*) ++ ++PROCEDURE doPutVarDeclTok (sym: CARDINAL; vartok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ Assert (IsVar (sym)) ; ++ pSym := GetPsym (sym) ; ++ WITH pSym^.Var DO ++ Declared.VarTok := vartok ++ END ++END doPutVarDeclTok ; ++ ++ ++(* ++ PutVarDeclTok - assigns the VarTok field to typetok. ++ sym can be a variable or parameter. ++*) ++ ++PROCEDURE PutVarDeclTok (sym: CARDINAL; vartok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ IF IsParameter (sym) ++ THEN ++ pSym := GetPsym (sym) ; ++ IF IsParameterVar (sym) ++ THEN ++ PutVarDeclTok (pSym^.VarParam.ShadowVar, vartok) ++ ELSE ++ PutVarDeclTok (pSym^.Param.ShadowVar, vartok) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ doPutVarDeclTok (sym, vartok) ++ END ++END PutVarDeclTok ; ++ ++ ++(* ++ doGetVarDeclTok - return decl.VarTok for a variable. ++*) ++ ++PROCEDURE doGetVarDeclTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ Assert (IsVar (sym)) ; ++ WITH pSym^.Var DO ++ RETURN Declared.VarTok ++ END ++END doGetVarDeclTok ; ++ ++ ++(* ++ GetVarDeclTok - returns the TypeTok field associate with variable sym. ++*) ++ ++PROCEDURE GetVarDeclTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ IF IsParameter (sym) ++ THEN ++ pSym := GetPsym (sym) ; ++ IF IsParameterVar (sym) ++ THEN ++ RETURN GetVarDeclTok (pSym^.VarParam.ShadowVar) ++ ELSE ++ RETURN GetVarDeclTok (pSym^.Param.ShadowVar) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ RETURN doGetVarDeclTok (sym) ++ ELSE ++ RETURN UnknownTokenNo ++ END ++END GetVarDeclTok ; ++ ++ ++(* ++ doGetVarDeclTypeTok - return decl.TypeTok for a variable. ++*) ++ ++PROCEDURE doGetVarDeclTypeTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ Assert (IsVar (sym)) ; ++ WITH pSym^.Var DO ++ RETURN Declared.TypeTok ++ END ++END doGetVarDeclTypeTok ; ++ ++ ++(* ++ GetVarDeclTypeTok - returns the TypeTok field associate with variable sym. ++*) ++ ++PROCEDURE GetVarDeclTypeTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ IF IsParameter (sym) ++ THEN ++ pSym := GetPsym (sym) ; ++ IF IsParameterVar (sym) ++ THEN ++ RETURN GetVarDeclTypeTok (pSym^.VarParam.ShadowVar) ++ ELSE ++ RETURN GetVarDeclTypeTok (pSym^.Param.ShadowVar) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ RETURN doGetVarDeclTypeTok (sym) ++ ELSE ++ RETURN UnknownTokenNo ++ END ++END GetVarDeclTypeTok ; ++ ++ ++(* ++ doGetVarDeclFullTok - return the full declaration of var: type. ++*) ++ ++PROCEDURE doGetVarDeclFullTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ Assert (IsVar (sym)) ; ++ WITH pSym^.Var DO ++ IF Declared.FullTok = UnknownTokenNo ++ THEN ++ IF Declared.TypeTok = UnknownTokenNo ++ THEN ++ RETURN Declared.VarTok ++ ELSE ++ Declared.FullTok := MakeVirtual2Tok (Declared.VarTok, Declared.TypeTok) ++ END ++ END ; ++ RETURN Declared.FullTok ++ END ++END doGetVarDeclFullTok ; ++ ++ ++(* ++ GetVarDeclFullTok - returns the full virtual token containing var: type. ++*) ++ ++PROCEDURE GetVarDeclFullTok (sym: CARDINAL) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ IF IsParameter (sym) ++ THEN ++ IF IsParameterVar (sym) ++ THEN ++ RETURN GetVarDeclFullTok (pSym^.VarParam.ShadowVar) ++ ELSE ++ RETURN GetVarDeclFullTok (pSym^.Param.ShadowVar) ++ END ++ ELSIF IsVar (sym) ++ THEN ++ RETURN doGetVarDeclFullTok (sym) ++ ELSE ++ RETURN UnknownTokenNo ++ END ++END GetVarDeclFullTok ; ++ ++ + (* + MakeVar - creates a variable sym with VarName. It returns the + symbol index. +@@ -4306,6 +4559,7 @@ BEGIN + Scope := GetCurrentScope() ; (* Procedure or Module? *) + AtAddress := FALSE ; + Address := NulSym ; (* Address at which declared. *) ++ IsConditional := FALSE ; + IsTemp := FALSE ; + IsComponentRef := FALSE ; + IsParam := FALSE ; +@@ -4315,6 +4569,7 @@ BEGIN + IsConst := FALSE ; + ArrayRef := FALSE ; + Heap := FALSE ; ++ InitVarDecl (Declared, tok) ; + InitWhereDeclaredTok(tok, At) ; + InitWhereFirstUsedTok(tok, At) ; (* Where symbol first used. *) + InitList(ReadUsageList[RightValue]) ; +@@ -4334,6 +4589,52 @@ BEGIN + END MakeVar ; + + ++(* ++ PutVarConditional - assign IsConditional to value. ++*) ++ ++PROCEDURE PutVarConditional (sym: CARDINAL; value: BOOLEAN) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym(sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ VarSym : Var.IsConditional := value | ++ ConstVarSym: ConstVar.IsConditional := value ++ ++ ELSE ++ InternalError ('expecting Var') ++ END ++ END ++END PutVarConditional ; ++ ++ ++(* ++ IsVarConditional - return TRUE if the symbol is a var symbol ++ containing the result of a boolean conditional. ++*) ++ ++PROCEDURE IsVarConditional (sym: CARDINAL) : BOOLEAN ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym(sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ VarSym : RETURN Var.IsConditional | ++ ConstVarSym: RETURN ConstVar.IsConditional ++ ++ ELSE ++ RETURN FALSE ++ END ++ END ; ++ RETURN FALSE ++END IsVarConditional ; ++ ++ + (* + PutExceptionBlock - sets a BOOLEAN in block module/procedure/defimp, + sym, indicating that this block as an EXCEPT +@@ -5043,6 +5344,7 @@ BEGIN + Value := InitValue() ; + Type := NulSym ; + IsSet := FALSE ; ++ IsConditional := FALSE ; + IsConstructor := FALSE ; + FromType := NulSym ; (* type is determined FromType *) + UnresFromType := FALSE ; (* is Type resolved? *) +@@ -6574,22 +6876,24 @@ END GetNth ; + GetNthParam - returns the n th parameter of a procedure Sym. + *) + +-PROCEDURE GetNthParam (Sym: CARDINAL; ParamNo: CARDINAL) : CARDINAL ; ++PROCEDURE GetNthParam (Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL) : CARDINAL ; + VAR + pSym: PtrToSymbol ; + i : CARDINAL ; + BEGIN + IF ParamNo=0 + THEN +- (* Demands the return type of the function *) ++ (* The return type of the function *) + i := GetType(Sym) + ELSE + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: i := GetItemFromList(Procedure.ListOfParam, ParamNo) | +- ProcTypeSym : i := GetItemFromList(ProcType.ListOfParam, ParamNo) ++ ProcedureSym: i := GetItemFromList (Procedure.Decl[kind].ListOfParam, ++ ParamNo) | ++ ProcTypeSym : i := GetItemFromList (ProcType.ListOfParam, ParamNo) + + ELSE + InternalError ('expecting ProcedureSym or ProcTypeSym') +@@ -6600,6 +6904,26 @@ BEGIN + END GetNthParam ; + + ++(* ++ GetNthParamAny - returns the nth parameter from the order ++ proper procedure, forward declaration ++ or definition module procedure. ++*) ++ ++PROCEDURE GetNthParamAny (sym: CARDINAL; ParamNo: CARDINAL) : CARDINAL ; ++VAR ++ kind: ProcedureKind ; ++BEGIN ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureParametersDefined (sym, kind) ++ THEN ++ RETURN GetNthParam (sym, kind, ParamNo) ++ END ++ END ; ++ InternalError ('no procedure kind exists') ++END GetNthParamAny ; ++ ++ + (* + The Following procedures fill in the symbol table with the + symbol entities. +@@ -6629,6 +6953,31 @@ BEGIN + END PutVar ; + + ++(* ++ PutVarTok - gives the VarSym symbol Sym a type Type at typetok. ++*) ++ ++PROCEDURE PutVarTok (Sym: CARDINAL; VarType: CARDINAL; typetok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym(Sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ VarSym : Var.Type := VarType ; ++ Var.Declared.TypeTok := typetok ; ++ ConfigSymInit (Var.InitState[LeftValue], Sym) ; ++ ConfigSymInit (Var.InitState[RightValue], Sym) | ++ ConstVarSym: ConstVar.Type := VarType ++ ++ ELSE ++ InternalError ('expecting VarSym or ConstVarSym') ++ END ++ END ++END PutVarTok ; ++ ++ + (* + PutLeftValueFrontBackType - gives the variable symbol a front and backend type. + The variable must be a LeftValue. +@@ -7815,7 +8164,7 @@ BEGIN + InternalError ('expecting a Var symbol') + END + END ; +- t := MixTypes(GetType(e1), GetType(e2), tok) ; ++ t := MixTypesDecl (e1, e2, GetType(e1), GetType(e2), tok) ; + IF t#NulSym + THEN + Assert(NOT IsConstructor(t)) ; +@@ -7950,23 +8299,23 @@ PROCEDURE IsUnknown (Sym: WORD) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal (Sym) ; ++ AssertInRange (Sym) ; + pSym := GetPsym(Sym) ; + RETURN pSym^.SymbolType=UndefinedSym + END IsUnknown ; + + + (* +- CheckLegal - determines whether the Sym is a legal symbol. ++ AssertInRange - determines whether the Sym is a legal symbol. + *) + +-PROCEDURE CheckLegal (Sym: CARDINAL) ; ++PROCEDURE AssertInRange (Sym: CARDINAL) ; + BEGIN + IF (Sym<1) OR (Sym>FinalSymbol()) + THEN + InternalError ('illegal symbol') + END +-END CheckLegal ; ++END AssertInRange ; + + + (* +@@ -9025,25 +9374,29 @@ END ForeachLocalSymDo ; + + + (* +- ForeachParamSymDo - foreach parameter symbol in procedure, Sym, +- perform the procedure, P. Each symbol ++ ForeachParamSymDo - foreach parameter symbol in procedure Sym ++ perform the procedure P. Each symbol + looked up will be VarParam or Param +- (not the shadow variable). ++ (not the shadow variable). Every parameter ++ from each KindProcedure is iterated over. + *) + + PROCEDURE ForeachParamSymDo (Sym: CARDINAL; P: PerformOperation) ; + VAR ++ kind : ProcedureKind ; + param: CARDINAL ; + p, i : CARDINAL ; + BEGIN + IF IsProcedure (Sym) + THEN +- p := NoOfParam (Sym) ; +- i := p ; +- WHILE i>0 DO +- param := GetNthParam (Sym, i) ; +- P (param) ; +- DEC(i) ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ p := NoOfParam (Sym, kind) ; ++ i := p ; ++ WHILE i>0 DO ++ param := GetNthParam (Sym, kind, i) ; ++ P (param) ; ++ DEC(i) ++ END + END + END + END ForeachParamSymDo ; +@@ -9989,7 +10342,7 @@ END IsType ; + optional. + *) + +-PROCEDURE IsReturnOptional (sym: CARDINAL) : BOOLEAN ; ++PROCEDURE IsReturnOptional (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -9997,7 +10350,7 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: RETURN( Procedure.ReturnOptional ) | ++ ProcedureSym: RETURN( Procedure.Decl[kind].ReturnOptional ) | + ProcTypeSym : RETURN( ProcType.ReturnOptional ) + + ELSE +@@ -10008,11 +10361,12 @@ END IsReturnOptional ; + + + (* +- SetReturnOptional - sets the ReturnOptional field in the Procedure or ++ SetReturnOptional - sets the ReturnOptional field in the Procedure:kind or + ProcType symboltable entry. + *) + +-PROCEDURE SetReturnOptional (sym: CARDINAL; isopt: BOOLEAN) ; ++PROCEDURE SetReturnOptional (sym: CARDINAL; kind: ProcedureKind; ++ isopt: BOOLEAN) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -10020,7 +10374,7 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: Procedure.ReturnOptional := isopt | ++ ProcedureSym: Procedure.Decl[kind].ReturnOptional := isopt | + ProcTypeSym : ProcType.ReturnOptional := isopt + + ELSE +@@ -10031,44 +10385,34 @@ END SetReturnOptional ; + + + (* +- CheckOptFunction - checks to see whether the optional return value +- has been set before and if it differs it will +- generate an error message. It will set the +- new value to, isopt. ++ IsReturnOptionalAny - returns TRUE if the return value for sym is ++ optional. + *) + +-PROCEDURE CheckOptFunction (sym: CARDINAL; isopt: BOOLEAN) ; ++PROCEDURE IsReturnOptionalAny (sym: CARDINAL) : BOOLEAN ; + VAR +- n: Name ; +- e: Error ; ++ pSym: PtrToSymbol ; + BEGIN +- IF GetType(sym)#NulSym +- THEN +- IF IsReturnOptional(sym) AND (NOT isopt) +- THEN +- n := GetSymName(sym) ; +- e := NewError(GetTokenNo()) ; +- ErrorFormat1(e, 'function (%a) has no optional return value here', n) ; +- e := ChainError(GetDeclaredMod(sym), e) ; +- ErrorFormat1(e, 'whereas the same function (%a) was declared to have an optional return value at this point', n) +- ELSIF (NOT IsReturnOptional(sym)) AND isopt +- THEN +- n := GetSymName(sym) ; +- e := NewError(GetTokenNo()) ; +- ErrorFormat1(e, 'function (%a) has an optional return value', n) ; +- e := ChainError(GetDeclaredMod(sym), e) ; +- ErrorFormat1(e, 'whereas the same function (%a) was declared to have no optional return value at this point', n) ++ pSym := GetPsym(sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: RETURN IsProcedureAnyBoolean (sym, IsReturnOptional) | ++ ProcTypeSym : RETURN ProcType.ReturnOptional ++ ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') + END +- END ; +- SetReturnOptional(sym, isopt) +-END CheckOptFunction ; ++ END ++END IsReturnOptionalAny ; + + + (* + PutFunction - Places a TypeSym as the return type to a procedure Sym. + *) + +-PROCEDURE PutFunction (Sym: CARDINAL; TypeSym: CARDINAL) ; ++PROCEDURE PutFunction (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; ++ TypeSym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -10077,11 +10421,11 @@ BEGIN + CASE SymbolType OF + + ErrorSym: | +- ProcedureSym: CheckOptFunction(Sym, FALSE) ; +- Procedure.ReturnType := TypeSym ; +- PutFunction (Procedure.ProcedureType, TypeSym) | +- ProcTypeSym : CheckOptFunction(Sym, FALSE) ; +- ProcType.ReturnType := TypeSym ++ ProcedureSym: Procedure.ReturnType := TypeSym ; ++ Procedure.Decl[kind].ReturnTypeTok := tok ; ++ PutFunction (tok, Procedure.ProcedureType, kind, TypeSym) | ++ ProcTypeSym : ProcType.ReturnType := TypeSym ; ++ ProcType.ReturnTypeTok := tok ; + + ELSE + InternalError ('expecting a Procedure or ProcType symbol') +@@ -10094,7 +10438,7 @@ END PutFunction ; + PutOptFunction - places a TypeSym as the optional return type to a procedure Sym. + *) + +-PROCEDURE PutOptFunction (Sym: CARDINAL; TypeSym: CARDINAL) ; ++PROCEDURE PutOptFunction (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; TypeSym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -10103,11 +10447,12 @@ BEGIN + CASE SymbolType OF + + ErrorSym: | +- ProcedureSym: CheckOptFunction (Sym, TRUE) ; +- Procedure.ReturnType := TypeSym ; +- PutOptFunction (Procedure.ProcedureType, TypeSym) | +- ProcTypeSym : CheckOptFunction (Sym, TRUE) ; +- ProcType.ReturnType := TypeSym ++ ProcedureSym: Procedure.ReturnType := TypeSym ; ++ Procedure.Decl[kind].ReturnOptional := TRUE ; ++ Procedure.Decl[kind].ReturnTypeTok := tok ; ++ PutOptFunction (tok, Procedure.ProcedureType, kind, TypeSym) | ++ ProcTypeSym : ProcType.ReturnType := TypeSym ; ++ ProcType.ReturnTypeTok := tok ; + + ELSE + InternalError ('expecting a Procedure or ProcType symbol') +@@ -10122,8 +10467,11 @@ END PutOptFunction ; + + PROCEDURE MakeVariableForParam (tok : CARDINAL; + ParamName: Name; +- ProcSym : CARDINAL ; +- no : CARDINAL) : CARDINAL ; ++ ProcSym : CARDINAL; ++ kind : ProcedureKind; ++ no : CARDINAL; ++ ParmType : CARDINAL; ++ typetok : CARDINAL) : CARDINAL ; + VAR + pSym : PtrToSymbol ; + VariableSym: CARDINAL ; +@@ -10142,14 +10490,14 @@ BEGIN + END + END ; + (* Note that the parameter is now treated as a local variable. *) +- PutVar (VariableSym, GetType(GetNthParam(ProcSym, no))) ; ++ PutVarTok (VariableSym, ParmType, typetok) ; + PutDeclared (tok, VariableSym) ; + (* + Normal VAR parameters have LeftValue, + however Unbounded VAR parameters have RightValue. + Non VAR parameters always have RightValue. + *) +- IF IsVarParam (ProcSym, no) AND (NOT IsUnboundedParam (ProcSym, no)) ++ IF IsVarParam (ProcSym, kind, no) AND (NOT IsUnboundedParam (ProcSym, kind, no)) + THEN + PutMode (VariableSym, LeftValue) + ELSE +@@ -10161,22 +10509,24 @@ END MakeVariableForParam ; + + (* + PutParam - Places a Non VAR parameter ParamName with type ParamType into +- procedure Sym. The parameter number is ParamNo. ++ procedure Sym:kind. The parameter number is ParamNo. + If the procedure Sym already has this parameter then + the parameter is checked for consistancy and the + consistancy test is returned. + *) + +-PROCEDURE PutParam (tok: CARDINAL; Sym: CARDINAL; ParamNo: CARDINAL; ++PROCEDURE PutParam (tok: CARDINAL; Sym: CARDINAL; ++ kind: ProcedureKind; ParamNo: CARDINAL; + ParamName: Name; ParamType: CARDINAL; +- isUnbounded: BOOLEAN) : BOOLEAN ; ++ isUnbounded: BOOLEAN; typetok: CARDINAL) : BOOLEAN ; + VAR + pSym : PtrToSymbol ; + ParSym : CARDINAL ; + VariableSym: CARDINAL ; + BEGIN +- IF ParamNo<=NoOfParam(Sym) ++ IF GetProcedureParametersDefined (Sym, kind) + THEN ++ (* ParamNo <= NoOfParamAny (Sym) *) + InternalError ('why are we trying to put parameters again') + ELSE + (* Add a new parameter *) +@@ -10192,10 +10542,14 @@ BEGIN + InitWhereDeclaredTok(tok, At) + END + END ; +- AddParameter(Sym, ParSym) ; +- IF ParamName#NulName ++ AddParameter (Sym, kind, ParSym) ; ++ (* Only declare a parameter as a local variable if it has not been done before. ++ It might be declared during the definition module, forward declaration or ++ proper procedure. Name mismatches are checked in P2SymBuild.mod. *) ++ IF (ParamName # NulName) AND (GetNth (Sym, ParamNo) = NulSym) + THEN +- VariableSym := MakeVariableForParam(tok, ParamName, Sym, ParamNo) ; ++ VariableSym := MakeVariableForParam (tok, ParamName, Sym, kind, ++ ParamNo, ParamType, typetok) ; + IF VariableSym=NulSym + THEN + RETURN( FALSE ) +@@ -10212,22 +10566,23 @@ END PutParam ; + + (* + PutVarParam - Places a Non VAR parameter ParamName with type +- ParamType into procedure Sym. ++ ParamType into procedure Sym:kind. + The parameter number is ParamNo. + If the procedure Sym already has this parameter then + the parameter is checked for consistancy and the + consistancy test is returned. + *) + +-PROCEDURE PutVarParam (tok: CARDINAL; Sym: CARDINAL; ParamNo: CARDINAL; ++PROCEDURE PutVarParam (tok: CARDINAL; Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL; + ParamName: Name; ParamType: CARDINAL; +- isUnbounded: BOOLEAN) : BOOLEAN ; ++ isUnbounded: BOOLEAN; typetok: CARDINAL) : BOOLEAN ; + VAR + pSym : PtrToSymbol ; + ParSym : CARDINAL ; + VariableSym: CARDINAL ; + BEGIN +- IF ParamNo<=NoOfParam(Sym) ++ IF GetProcedureParametersDefined (Sym, kind) + THEN + InternalError ('why are we trying to put parameters again') + ELSE +@@ -10245,10 +10600,14 @@ BEGIN + InitWhereDeclaredTok(tok, At) + END + END ; +- AddParameter(Sym, ParSym) ; +- IF ParamName#NulName ++ AddParameter (Sym, kind, ParSym) ; ++ (* Only declare a parameter as a local variable if it has not been done before. ++ It might be declared during the definition module, forward declaration or ++ proper procedure. Name mismatches are checked in P2SymBuild.mod. *) ++ IF (ParamName # NulName) AND (GetNth (Sym, ParamNo) = NulSym) + THEN +- VariableSym := MakeVariableForParam(tok, ParamName, Sym, ParamNo) ; ++ VariableSym := MakeVariableForParam (tok, ParamName, Sym, kind, ++ ParamNo, ParamType, typetok) ; + IF VariableSym=NulSym + THEN + RETURN( FALSE ) +@@ -10257,18 +10616,19 @@ BEGIN + pSym^.VarParam.ShadowVar := VariableSym + END + END ; +- AddProcedureProcTypeParam (Sym, ParamType, isUnbounded, TRUE) ; +- RETURN( TRUE ) +- END ++ AddProcedureProcTypeParam (Sym, ParamType, isUnbounded, TRUE) ++ END ; ++ RETURN( TRUE ) + END PutVarParam ; + + + (* +- PutParamName - assigns a name, name, to paramater, no, of procedure, +- ProcSym. ++ PutParamName - assigns a name to paramater no of procedure ProcSym:kind. + *) + +-PROCEDURE PutParamName (tok: CARDINAL; ProcSym: CARDINAL; no: CARDINAL; name: Name) ; ++PROCEDURE PutParamName (tok: CARDINAL; ProcSym: CARDINAL; kind: ProcedureKind; ++ no: CARDINAL; ++ name: Name; ParamType: CARDINAL; typetok: CARDINAL) ; + VAR + pSym : PtrToSymbol ; + ParSym: CARDINAL ; +@@ -10279,7 +10639,8 @@ BEGIN + CASE SymbolType OF + + ErrorSym : RETURN | +- ProcedureSym: ParSym := GetItemFromList(Procedure.ListOfParam, no) | ++ ProcedureSym: ParSym := GetItemFromList(Procedure.Decl[kind].ListOfParam, ++ no) | + ProcTypeSym : ParSym := GetItemFromList(ProcType.ListOfParam, no) + + ELSE +@@ -10293,14 +10654,16 @@ BEGIN + ParamSym: IF Param.name=NulName + THEN + Param.name := name ; +- Param.ShadowVar := MakeVariableForParam(tok, name, ProcSym, no) ++ Param.ShadowVar := MakeVariableForParam(tok, name, ProcSym, kind, ++ no, ParamType, typetok) + ELSE + InternalError ('name of parameter has already been assigned') + END | + VarParamSym: IF VarParam.name=NulName + THEN + VarParam.name := name ; +- VarParam.ShadowVar := MakeVariableForParam(tok, name, ProcSym, no) ++ VarParam.ShadowVar := MakeVariableForParam(tok, name, ProcSym, kind, ++ no, ParamType, typetok) + ELSE + InternalError ('name of parameter has already been assigned') + END +@@ -10316,7 +10679,7 @@ END PutParamName ; + AddParameter - adds a parameter ParSym to a procedure Sym. + *) + +-PROCEDURE AddParameter (Sym: CARDINAL; ParSym: CARDINAL) ; ++PROCEDURE AddParameter (Sym: CARDINAL; kind: ProcedureKind; ParSym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -10325,11 +10688,11 @@ BEGIN + CASE SymbolType OF + + ErrorSym: | +- ProcedureSym: PutItemIntoList(Procedure.ListOfParam, ParSym) | +- ProcTypeSym : PutItemIntoList(ProcType.ListOfParam, ParSym) ++ ProcedureSym: PutItemIntoList (Procedure.Decl[kind].ListOfParam, ParSym) | ++ ProcTypeSym : PutItemIntoList (ProcType.ListOfParam, ParSym) + + ELSE +- InternalError ('expecting a Procedure symbol') ++ InternalError ('expecting a Procedure or ProcType symbol') + END + END + END AddParameter ; +@@ -10349,13 +10712,16 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ProcedureSym: IF isVarParam ++ ProcedureSym: IF Procedure.BuildProcType + THEN +- PutProcTypeVarParam (Procedure.ProcedureType, ++ IF isVarParam ++ THEN ++ PutProcTypeVarParam (Procedure.ProcedureType, ++ ParamType, isUnbounded) ++ ELSE ++ PutProcTypeParam (Procedure.ProcedureType, + ParamType, isUnbounded) +- ELSE +- PutProcTypeParam (Procedure.ProcedureType, +- ParamType, isUnbounded) ++ END + END + + ELSE +@@ -10370,7 +10736,8 @@ END AddProcedureProcTypeParam ; + is a VAR parameter. + *) + +-PROCEDURE IsVarParam (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++PROCEDURE IsVarParam (Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL) : BOOLEAN ; + VAR + pSym : PtrToSymbol ; + IsVar: BOOLEAN ; +@@ -10381,7 +10748,8 @@ BEGIN + CASE SymbolType OF + + ErrorSym : | +- ProcedureSym: IsVar := IsNthParamVar(Procedure.ListOfParam, ParamNo) | ++ ProcedureSym: IsVar := IsNthParamVar(Procedure.Decl[kind].ListOfParam, ++ ParamNo) | + ProcTypeSym : IsVar := IsNthParamVar(ProcType.ListOfParam, ParamNo) + + ELSE +@@ -10392,6 +10760,38 @@ BEGIN + END IsVarParam ; + + ++(* ++ IsVarParamAny - Returns a conditional depending whether parameter ParamNo ++ is a VAR parameter. ++*) ++ ++PROCEDURE IsVarParamAny (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++VAR ++ pSym: PtrToSymbol ; ++ kind: ProcedureKind ; ++BEGIN ++ pSym := GetPsym(Sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ErrorSym : | ++ ProcedureSym: FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureDefined (Sym, kind) ++ THEN ++ RETURN IsNthParamVar (Procedure.Decl[kind].ListOfParam, ++ ParamNo) ++ END ++ END | ++ ProcTypeSym : RETURN IsNthParamVar(ProcType.ListOfParam, ParamNo) ++ ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') ++ END ++ END ; ++ RETURN FALSE ++END IsVarParamAny ; ++ ++ + (* + IsNthParamVar - returns true if the n th parameter of the parameter list, + List, is a VAR parameter. +@@ -10427,18 +10827,18 @@ END IsNthParamVar ; + NoOfParam - Returns the number of parameters that procedure Sym contains. + *) + +-PROCEDURE NoOfParam (Sym: CARDINAL) : CARDINAL ; ++PROCEDURE NoOfParam (Sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; + VAR + pSym: PtrToSymbol ; + n : CARDINAL ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : n := 0 | +- ProcedureSym: n := NoOfItemsInList(Procedure.ListOfParam) | ++ ProcedureSym: n := NoOfItemsInList(Procedure.Decl[kind].ListOfParam) | + ProcTypeSym : n := NoOfItemsInList(ProcType.ListOfParam) + + ELSE +@@ -10449,6 +10849,37 @@ BEGIN + END NoOfParam ; + + ++(* ++ NoOfParamAny - return the number of parameters for sym. ++*) ++ ++PROCEDURE NoOfParamAny (sym: CARDINAL) : CARDINAL ; ++VAR ++ kind: ProcedureKind ; ++ pSym: PtrToSymbol ; ++BEGIN ++ AssertInRange (sym) ; ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ErrorSym : RETURN 0 | ++ ProcedureSym: FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureParametersDefined (sym, kind) ++ THEN ++ RETURN NoOfParam (sym, kind) ++ END ++ END | ++ ProcTypeSym : RETURN NoOfItemsInList(ProcType.ListOfParam) ++ ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') ++ END ++ END ; ++ RETURN 0 ++END NoOfParamAny ; ++ ++ + (* + HasVarParameters - returns TRUE if procedure, p, has any VAR parameters. + *) +@@ -10457,10 +10888,10 @@ PROCEDURE HasVarParameters (p: CARDINAL) : BOOLEAN ; + VAR + i, n: CARDINAL ; + BEGIN +- n := NoOfParam(p) ; ++ n := NoOfParamAny (p) ; + i := 1 ; +- WHILE i<=n DO +- IF IsVarParam(p, i) ++ WHILE i <= n DO ++ IF IsParameterVar (GetNthParamAny (p, i)) + THEN + RETURN TRUE + END ; +@@ -10482,13 +10913,14 @@ PROCEDURE PutUseVarArgs (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym: | +- ProcedureSym: Procedure.HasVarArgs := TRUE | ++ (* Currently can only declare var args in a definition module. *) ++ ProcedureSym: Procedure.Decl[DefProcedure].HasVarArgs := TRUE | + ProcTypeSym : ProcType.HasVarArgs := TRUE + + ELSE +@@ -10508,13 +10940,14 @@ PROCEDURE UsesVarArgs (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : RETURN( FALSE ) | +- ProcedureSym: RETURN( Procedure.HasVarArgs ) | ++ (* Currently can only declare var args in a definition module. *) ++ ProcedureSym: RETURN( Procedure.Decl[DefProcedure].HasVarArgs ) | + ProcTypeSym : RETURN( ProcType.HasVarArgs ) + + ELSE +@@ -10529,17 +10962,17 @@ END UsesVarArgs ; + uses an optarg. + *) + +-PROCEDURE PutUseOptArg (Sym: CARDINAL) ; ++PROCEDURE PutUseOptArg (Sym: CARDINAL; kind: ProcedureKind) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym: | +- ProcedureSym: Procedure.HasOptArg := TRUE | ++ ProcedureSym: Procedure.Decl[kind].HasOptArg := TRUE | + ProcTypeSym : ProcType.HasOptArg := TRUE + + ELSE +@@ -10553,18 +10986,18 @@ END PutUseOptArg ; + UsesOptArg - returns TRUE if procedure, Sym, uses varargs. + *) + +-PROCEDURE UsesOptArg (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE UsesOptArg (Sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + +- ErrorSym : RETURN( FALSE ) | +- ProcedureSym: RETURN( Procedure.HasOptArg ) | +- ProcTypeSym : RETURN( ProcType.HasOptArg ) ++ ErrorSym : RETURN FALSE | ++ ProcedureSym: RETURN Procedure.Decl[kind].HasOptArg | ++ ProcTypeSym : RETURN ProcType.HasOptArg + + ELSE + InternalError ('expecting a Procedure or ProcType symbol') +@@ -10573,31 +11006,51 @@ BEGIN + END UsesOptArg ; + + ++(* ++ UsesOptArgAny - returns TRUE if procedure Sym:kind uses an optional argument. ++*) ++ ++PROCEDURE UsesOptArgAny (Sym: CARDINAL) : BOOLEAN ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym(Sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ErrorSym : RETURN FALSE | ++ ProcedureSym: RETURN IsProcedureAnyDefaultBoolean (Sym, FALSE, UsesOptArg) | ++ ProcTypeSym : RETURN ProcType.HasOptArg ++ ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') ++ END ++ END ++END UsesOptArgAny ; ++ ++ + (* + PutOptArgInit - makes symbol, Sym, the initializer value to + procedure, ProcSym. + *) + +-PROCEDURE PutOptArgInit (ProcSym, Sym: CARDINAL) ; ++PROCEDURE PutOptArgInit (ProcSym: CARDINAL; Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + IF NOT IsError(ProcSym) + THEN +- IF UsesOptArg(ProcSym) +- THEN +- pSym := GetPsym(ProcSym) ; +- WITH pSym^ DO +- CASE SymbolType OF ++ pSym := GetPsym(ProcSym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF + +- ErrorSym : | +- ProcedureSym: Procedure.OptArgInit := Sym | +- ProcTypeSym : ProcType.OptArgInit := Sym ++ ErrorSym : | ++ ProcedureSym: Procedure.OptArgInit := Sym | ++ ProcTypeSym : ProcType.OptArgInit := Sym + +- ELSE +- InternalError ('expecting a Procedure or ProcType symbol') +- END ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') + END + END + END +@@ -10615,19 +11068,16 @@ VAR + BEGIN + IF NOT IsError(ProcSym) + THEN +- IF UsesOptArg(ProcSym) +- THEN +- pSym := GetPsym(ProcSym) ; +- WITH pSym^ DO +- CASE SymbolType OF ++ pSym := GetPsym(ProcSym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF + +- ErrorSym : | +- ProcedureSym: RETURN( Procedure.OptArgInit ) | +- ProcTypeSym : RETURN( ProcType.OptArgInit ) ++ ErrorSym : | ++ ProcedureSym: RETURN( Procedure.OptArgInit ) | ++ ProcTypeSym : RETURN( ProcType.OptArgInit ) + +- ELSE +- InternalError ('expecting a Procedure or ProcType symbol') +- END ++ ELSE ++ InternalError ('expecting a Procedure or ProcType symbol') + END + END + END ; +@@ -10782,7 +11232,7 @@ BEGIN + therefore we must subtract the Parameter Number from local variable + total. + *) +- RETURN( n-NoOfParam(Sym) ) ++ RETURN( n - NoOfParamAny (Sym) ) + END NoOfLocalVar ; + + +@@ -10837,16 +11287,35 @@ END IsParameterUnbounded ; + ParamNo is an unbounded array procedure parameter. + *) + +-PROCEDURE IsUnboundedParam (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++PROCEDURE IsUnboundedParam (Sym: CARDINAL; kind: ProcedureKind; ++ ParamNo: CARDINAL) : BOOLEAN ; + VAR + param: CARDINAL ; + BEGIN +- Assert(IsProcedure(Sym) OR IsProcType(Sym)) ; +- param := GetNthParam(Sym, ParamNo) ; +- RETURN( IsParameterUnbounded(param) ) ++ param := GetNthParam (Sym, kind, ParamNo) ; ++ RETURN IsParameterUnbounded (param) + END IsUnboundedParam ; + + ++(* ++ IsUnboundedParam - Returns a conditional depending whether parameter ++ ParamNo is an unbounded array procedure parameter. ++*) ++ ++PROCEDURE IsUnboundedParamAny (Sym: CARDINAL; ParamNo: CARDINAL) : BOOLEAN ; ++VAR ++ kind: ProcedureKind ; ++BEGIN ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureParametersDefined (Sym, kind) ++ THEN ++ RETURN IsUnboundedParam (Sym, kind, ParamNo) ++ END ++ END ; ++ InternalError ('no procedure kind exists') ++END IsUnboundedParamAny ; ++ ++ + (* + IsParameter - returns true if Sym is a parameter symbol. + *) +@@ -10900,161 +11369,157 @@ PROCEDURE IsProcedure (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=ProcedureSym ) + END IsProcedure ; + + + (* +- ProcedureParametersDefined - dictates to procedure symbol, Sym, +- that its parameters have been defined. ++ PutProcedureParametersDefined - the procedure symbol sym:kind ++ parameters have been defined. + *) + +-PROCEDURE ProcedureParametersDefined (Sym: CARDINAL) ; ++PROCEDURE PutProcedureParametersDefined (sym: CARDINAL; kind: ProcedureKind) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; ++ AssertInRange (sym) ; ++ pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : | +- ProcedureSym: Assert(NOT Procedure.ParamDefined) ; +- Procedure.ParamDefined := TRUE ++ ProcedureSym: Procedure.Decl[kind].ParamDefined := TRUE ; ++ Procedure.BuildProcType := FALSE | ++ ProcTypeSym : + + ELSE + InternalError ('expecting a Procedure symbol') + END + END +-END ProcedureParametersDefined ; ++END PutProcedureParametersDefined ; + + + (* +- AreProcedureParametersDefined - returns true if the parameters to procedure +- symbol, Sym, have been defined. ++ GetProcedureParametersDefined - returns true if procedure symbol sym:kind ++ parameters are defined. + *) + +-PROCEDURE AreProcedureParametersDefined (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE GetProcedureParametersDefined (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; ++ AssertInRange (sym) ; ++ pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : RETURN( FALSE ) | +- ProcedureSym: RETURN( Procedure.ParamDefined ) ++ ProcedureSym: RETURN( Procedure.Decl[kind].ParamDefined ) | ++ ProcTypeSym : RETURN( TRUE ) + + ELSE + InternalError ('expecting a Procedure symbol') + END + END +-END AreProcedureParametersDefined ; ++END GetProcedureParametersDefined ; + + + (* +- ParametersDefinedInDefinition - dictates to procedure symbol, Sym, +- that its parameters have been defined in +- a definition module. ++ PutProcedureDefined - the procedure symbol sym:kind is defined. + *) + +-PROCEDURE ParametersDefinedInDefinition (Sym: CARDINAL) ; ++PROCEDURE PutProcedureDefined (sym: CARDINAL; kind: ProcedureKind) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; ++ AssertInRange (sym) ; ++ pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : | +- ProcedureSym: Assert(NOT Procedure.DefinedInDef) ; +- Procedure.DefinedInDef := TRUE ++ ProcedureSym: Procedure.Decl[kind].Defined := TRUE + + ELSE + InternalError ('expecting a Procedure symbol') + END + END +-END ParametersDefinedInDefinition ; ++END PutProcedureDefined ; + + + (* +- AreParametersDefinedInDefinition - returns true if procedure symbol, Sym, +- has had its parameters been defined in +- a definition module. ++ GetProcedureDefined - returns true if procedure symbol sym:kind ++ is defined. + *) + +-PROCEDURE AreParametersDefinedInDefinition (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE GetProcedureDefined (sym: CARDINAL; kind: ProcedureKind) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; ++ AssertInRange (sym) ; ++ pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym : RETURN( FALSE ) | +- ProcedureSym: RETURN( Procedure.DefinedInDef ) ++ ProcedureSym: RETURN( Procedure.Decl[kind].Defined ) + + ELSE + InternalError ('expecting a Procedure symbol') + END + END +-END AreParametersDefinedInDefinition ; ++END GetProcedureDefined ; + + + (* +- ParametersDefinedInImplementation - dictates to procedure symbol, Sym, +- that its parameters have been defined in +- a implemtation module. ++ IsProcedureAnyBoolean - returns the boolean result from p ++ for any of procedure kind which is defined. + *) + +-PROCEDURE ParametersDefinedInImplementation (Sym: CARDINAL) ; ++PROCEDURE IsProcedureAnyBoolean (sym: CARDINAL; p: ProcAnyBoolean) : BOOLEAN ; + VAR +- pSym: PtrToSymbol ; ++ kind: ProcedureKind ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- ErrorSym : | +- ProcedureSym: Assert(NOT Procedure.DefinedInImp) ; +- Procedure.DefinedInImp := TRUE +- +- ELSE +- InternalError ('expecting a Procedure symbol') ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureDefined (sym, kind) ++ THEN ++ RETURN p (sym, kind) + END +- END +-END ParametersDefinedInImplementation ; ++ END ; ++ InternalError ('no procedure kind exists') ++END IsProcedureAnyBoolean ; + + + (* +- AreParametersDefinedInImplementation - returns true if procedure symbol, Sym, +- has had its parameters been defined in +- an implementation module. ++ IsProcedureAnyDefaultBoolean - returns the boolean result from p ++ for any of procedure kind which is defined. + *) + +-PROCEDURE AreParametersDefinedInImplementation (Sym: CARDINAL) : BOOLEAN ; ++PROCEDURE IsProcedureAnyDefaultBoolean (sym: CARDINAL; default: BOOLEAN; p: ProcAnyBoolean) : BOOLEAN ; + VAR +- pSym: PtrToSymbol ; ++ kind: ProcedureKind ; + BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF ++ FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF GetProcedureDefined (sym, kind) ++ THEN ++ RETURN p (sym, kind) ++ END ++ END ; ++ RETURN default ++END IsProcedureAnyDefaultBoolean ; + +- ErrorSym : RETURN( FALSE ) | +- ProcedureSym: RETURN( Procedure.DefinedInImp ) + +- ELSE +- InternalError ('expecting a Procedure symbol') +- END +- END +-END AreParametersDefinedInImplementation ; ++(* ++ IsProcedureAnyNoReturn - return TRUE if any of the defined kinds ++ of procedure sym is declared no return. ++*) ++ ++PROCEDURE IsProcedureAnyNoReturn (sym: CARDINAL) : BOOLEAN ; ++BEGIN ++ RETURN IsProcedureAnyDefaultBoolean (sym, FALSE, IsProcedureNoReturn) ++END IsProcedureAnyNoReturn ; + + + (* +@@ -11157,7 +11622,7 @@ PROCEDURE IsPointer (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=PointerSym ) + END IsPointer ; +@@ -11171,7 +11636,7 @@ PROCEDURE IsRecord (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=RecordSym ) + END IsRecord ; +@@ -11185,7 +11650,7 @@ PROCEDURE IsArray (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=ArraySym ) + END IsArray ; +@@ -11199,7 +11664,7 @@ PROCEDURE IsEnumeration (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=EnumerationSym ) + END IsEnumeration ; +@@ -11213,7 +11678,7 @@ PROCEDURE IsUnbounded (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=UnboundedSym ) + END IsUnbounded ; +@@ -11440,7 +11905,7 @@ PROCEDURE IsSet (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=SetSym ) + END IsSet ; +@@ -11454,7 +11919,7 @@ PROCEDURE IsSetPacked (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal (Sym) ; ++ AssertInRange (Sym) ; + pSym := GetPsym (Sym) ; + RETURN (pSym^.SymbolType=SetSym) AND pSym^.Set.ispacked + END IsSetPacked ; +@@ -11488,7 +11953,7 @@ PROCEDURE CheckUnbounded (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -11517,7 +11982,7 @@ PROCEDURE IsOAFamily (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + RETURN( pSym^.SymbolType=OAFamilySym ) + END IsOAFamily ; +@@ -11933,20 +12398,20 @@ END GetDimension ; + + + (* +- PutArray - places a type symbol into an Array. ++ PutArray - places a type symbol into an arraysym. + *) + +-PROCEDURE PutArray (Sym, TypeSymbol: CARDINAL) ; ++PROCEDURE PutArray (arraysym, typesym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- pSym := GetPsym(Sym) ; ++ pSym := GetPsym (arraysym) ; + WITH pSym^ DO + CASE SymbolType OF + + ErrorSym: | + ArraySym: WITH Array DO +- Type := TypeSymbol (* The Array Type. ARRAY OF Type. *) ++ Type := typesym (* The ARRAY OF typesym. *) + END + ELSE + InternalError ('expecting an Array symbol') +@@ -12113,15 +12578,15 @@ VAR + i, n: CARDINAL ; + BEGIN + i := 1 ; +- n := NoOfParam(sym) ; +- WHILE i<=n DO +- p := GetType(GetParam(sym, i)) ; +- IF IsConst(p) ++ n := NoOfParamAny (sym) ; ++ WHILE i <= n DO ++ p := GetType (GetParam (sym, i)) ; ++ IF IsConst (p) + THEN +- MetaError3('the {%1N} formal parameter in procedure {%2Dad} should have a type rather than a constant {%3Dad}', +- i, sym, p) ++ MetaError3 ('the {%1N} formal parameter in procedure {%2Dad} should have a type rather than a constant {%3Dad}', ++ i, sym, p) + END ; +- INC(i) ++ INC (i) + END + END SanityCheckParameters ; + +@@ -12428,7 +12893,7 @@ BEGIN + WITH pSym^ DO + CASE SymbolType OF + +- ErrorSym : ErrorAbort0('') | ++ ErrorSym : RETURN( Error.Scope ) | + DefImpSym : RETURN( NulSym ) | + ModuleSym : RETURN( Module.Scope ) | + VarSym : RETURN( Var.Scope ) | +@@ -12449,6 +12914,19 @@ BEGIN + ConstLitSym : RETURN( ConstLit.Scope ) | + ConstStringSym : RETURN( ConstString.Scope ) | + ConstVarSym : RETURN( ConstVar.Scope ) | ++ ParamSym : IF Param.ShadowVar = NulSym ++ THEN ++ RETURN NulSym ++ ELSE ++ RETURN( GetScope (Param.ShadowVar) ) ++ END | ++ VarParamSym : IF VarParam.ShadowVar = NulSym ++ THEN ++ RETURN NulSym ++ ELSE ++ RETURN( GetScope (VarParam.ShadowVar) ) ++ END | ++ UndefinedSym : RETURN( NulSym ) | + PartialUnboundedSym: InternalError ('should not be requesting the scope of a PartialUnbounded symbol') + + ELSE +@@ -12505,7 +12983,7 @@ END GetProcedureScope ; + + PROCEDURE IsModuleWithinProcedure (sym: CARDINAL) : BOOLEAN ; + BEGIN +- RETURN( GetProcedureScope(sym)#NulSym ) ++ RETURN( GetProcedureScope (sym) # NulSym ) + END IsModuleWithinProcedure ; + + +@@ -12572,6 +13050,7 @@ BEGIN + ProcType.HasOptArg := FALSE ; (* Does this proc type use [ ] ? *) + ProcType.OptArgInit := NulSym ; (* The optarg initial value. *) + ProcType.ReturnOptional := FALSE ; (* Is the return value optional? *) ++ ProcType.ReturnTypeTok := UnknownTokenNo ; + ProcType.Scope := GetCurrentScope() ; + (* scope of procedure. *) + ProcType.Size := InitValue() ; +@@ -12612,7 +13091,7 @@ BEGIN + InitWhereDeclared(At) + END + END ; +- AddParameter(Sym, ParSym) ++ AddParameter (Sym, ProperProcedure, ParSym) + END PutProcTypeParam ; + + +@@ -12639,7 +13118,7 @@ BEGIN + InitWhereDeclared(At) + END + END ; +- AddParameter(Sym, ParSym) ++ AddParameter (Sym, ProperProcedure, ParSym) + END PutProcTypeVarParam ; + + +@@ -12824,7 +13303,7 @@ END GetModuleQuads ; + PutModuleFinallyFunction - Places Tree, finally, into the Module symbol, Sym. + *) + +-PROCEDURE PutModuleFinallyFunction (Sym: CARDINAL; finally: Tree) ; ++PROCEDURE PutModuleFinallyFunction (Sym: CARDINAL; finally: tree) ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -12846,7 +13325,7 @@ END PutModuleFinallyFunction ; + GetModuleFinallyFunction - returns the finally tree from the Module symbol, Sym. + *) + +-PROCEDURE GetModuleFinallyFunction (Sym: CARDINAL) : Tree ; ++PROCEDURE GetModuleFinallyFunction (Sym: CARDINAL) : tree ; + VAR + pSym: PtrToSymbol ; + BEGIN +@@ -13519,41 +13998,192 @@ END PutDeclared ; + + + (* +- GetDeclaredDef - returns the tokenno where the symbol was declared. +- The priority of declaration is definition, implementation +- and program module. ++ GetDeclaredDef - returns the tokenno where the symbol was declared ++ in the definition module. UnknownTokenNo is returned ++ if no declaration occurred. + *) + + PROCEDURE GetDeclaredDef (Sym: CARDINAL) : CARDINAL ; +-VAR +- declared: CARDINAL ; + BEGIN +- declared := GetDeclaredDefinition (Sym) ; +- IF declared = UnknownTokenNo +- THEN +- RETURN GetDeclaredModule (Sym) +- END ; +- RETURN declared ++ RETURN GetDeclaredDefinition (Sym) + END GetDeclaredDef ; + + + (* + GetDeclaredMod - returns the tokenno where the symbol was declared. +- The priority of declaration is program, +- implementation and definition module. ++ in the program or implementation module. ++ UnknownTokenNo is returned if no declaration occurred. + *) + + PROCEDURE GetDeclaredMod (Sym: CARDINAL) : CARDINAL ; ++BEGIN ++ RETURN GetDeclaredModule (Sym) ++END GetDeclaredMod ; ++ ++ ++(* ++ GetDeclaredFor - returns the token where this forward procedure symbol ++ was declared in the program or implementation module. ++ UnknownTokenNo is returned if no declaration occurred. ++*) ++ ++PROCEDURE GetDeclaredFor (Sym: CARDINAL) : CARDINAL ; ++BEGIN ++ IF IsProcedure (Sym) ++ THEN ++ RETURN GetProcedureDeclaredTok (Sym, ForwardProcedure) ++ ELSE ++ RETURN UnknownTokenNo ++ END ++END GetDeclaredFor ; ++ ++ ++(* ++ GetProcedureKind - returns the procedure kind given the declaration tok. ++ The declaration tok must match the ident tok in the ++ procedure name. It is only safe to call this ++ procedure function during pass 2 onwards. ++*) ++ ++PROCEDURE GetProcedureKind (sym: CARDINAL; tok: CARDINAL) : ProcedureKind ; ++VAR ++ kind: ProcedureKind ; ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: FOR kind := MIN (ProcedureKind) TO MAX (ProcedureKind) DO ++ IF Procedure.Decl[kind].ProcedureTok = tok ++ THEN ++ RETURN kind ++ END ++ END | ++ ProcTypeSym: RETURN ProperProcedure ++ ++ ELSE ++ InternalError ('expecting ProcedureSym symbol') ++ END ++ END ; ++ InternalError ('ProcedureSym kind has not yet been declared') ++END GetProcedureKind ; ++ ++ ++(* ++ GetProcedureDeclaredTok - return the token where the ++ declaration of procedure sym:kind ++ occurred. ++*) ++ ++PROCEDURE GetProcedureDeclaredTok (sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: RETURN Procedure.Decl[kind].ProcedureTok ++ ++ ELSE ++ InternalError ('expecting procedure symbol') ++ END ++ END ++END GetProcedureDeclaredTok ; ++ ++ ++(* ++ PutProcedureDeclaredTok - places the tok where the ++ declaration of procedure sym:kind ++ occurred. ++*) ++ ++PROCEDURE PutProcedureDeclaredTok (sym: CARDINAL; kind: ProcedureKind; ++ tok: CARDINAL) ; + VAR +- declared: CARDINAL ; ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: Procedure.Decl[kind].ProcedureTok := tok ++ ++ ELSE ++ InternalError ('expecting procedure symbol') ++ END ++ END ++END PutProcedureDeclaredTok ; ++ ++ ++(* ++ GetReturnTypeTok - return the token where the ++ return type procedure sym:kind or proctype ++ was defined. ++*) ++ ++PROCEDURE GetReturnTypeTok (sym: CARDINAL; kind: ProcedureKind) : CARDINAL ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: RETURN Procedure.Decl[kind].ReturnTypeTok | ++ ProcTypeSym : RETURN ProcType.ReturnTypeTok ++ ++ ELSE ++ InternalError ('expecting procedure symbol') ++ END ++ END ++END GetReturnTypeTok ; ++ ++ ++(* ++ PutReturnTypeTok - places the tok where the ++ return type of procedure sym:kind or proctype ++ was defined. ++*) ++ ++PROCEDURE PutReturnTypeTok (sym: CARDINAL; kind: ProcedureKind; ++ tok: CARDINAL) ; ++VAR ++ pSym: PtrToSymbol ; ++BEGIN ++ pSym := GetPsym (sym) ; ++ WITH pSym^ DO ++ CASE SymbolType OF ++ ++ ProcedureSym: Procedure.Decl[kind].ReturnTypeTok := tok | ++ ProcTypeSym : ProcType.ReturnTypeTok := tok ++ ++ ELSE ++ InternalError ('expecting procedure symbol') ++ END ++ END ++END PutReturnTypeTok ; ++ ++ ++(* ++ GetProcedureKindDesc - return a string describing kind. ++*) ++ ++PROCEDURE GetProcedureKindDesc (kind: ProcedureKind) : String ; + BEGIN +- declared := GetDeclaredModule (Sym) ; +- IF declared = UnknownTokenNo ++ IF kind = ProperProcedure ++ THEN ++ RETURN InitString ('proper procedure') ++ ELSIF kind = ForwardProcedure + THEN +- RETURN GetDeclaredDefinition (Sym) ++ RETURN InitString ('forward procedure') ++ ELSIF kind = DefProcedure ++ THEN ++ RETURN InitString ('definition procedure') + END ; +- RETURN declared +-END GetDeclaredMod ; ++ InternalError ('unknown kind value') ++END GetProcedureKindDesc ; + + + (* +@@ -13886,7 +14516,7 @@ END IsSubrange ; + + PROCEDURE IsProcedureVariable (Sym: CARDINAL) : BOOLEAN ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + RETURN( IsVar(Sym) AND IsProcedure(GetVarScope(Sym)) ) + END IsProcedureVariable ; + +@@ -13911,7 +14541,7 @@ END IsProcedureNested ; + + PROCEDURE IsAModula2Type (Sym: CARDINAL) : BOOLEAN ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + RETURN( + IsType(Sym) OR IsRecord(Sym) OR IsPointer(Sym) OR + IsEnumeration(Sym) OR IsSubrange(Sym) OR IsArray(Sym) OR +@@ -13998,13 +14628,13 @@ END IsRegInterface ; + + PROCEDURE GetParam (Sym: CARDINAL; ParamNo: CARDINAL) : CARDINAL ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + IF ParamNo=0 + THEN + (* Parameter Zero is the return argument for the Function *) + RETURN(GetType(Sym)) + ELSE +- RETURN(GetNthParam(Sym, ParamNo)) ++ RETURN (GetNthParamAny (Sym, ParamNo)) + END + END GetParam ; + +@@ -14070,7 +14700,7 @@ PROCEDURE IsSizeSolved (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14106,7 +14736,7 @@ PROCEDURE IsOffsetSolved (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14130,7 +14760,7 @@ PROCEDURE IsValueSolved (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14200,7 +14830,7 @@ PROCEDURE IsSumOfParamSizeSolved (Sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14223,7 +14853,7 @@ PROCEDURE PushSize (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14252,27 +14882,39 @@ END PushSize ; + + + (* +- PushOffset - pushes the Offset of Sym. ++ PopSize - pops the ALU stack into Size of Sym. + *) + +-PROCEDURE PushOffset (Sym: CARDINAL) ; ++PROCEDURE PopSize (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF + +- VarSym : PushFrom(Var.Offset) | +- RecordFieldSym : PushFrom(RecordField.Offset) | +- VarientFieldSym : PushFrom(VarientField.Offset) ++ ProcedureSym : PopInto(Procedure.Size) | ++ VarSym : PopInto(Var.Size) | ++ TypeSym : PopInto(Type.Size) | ++ RecordSym : PopInto(Record.Size) | ++ VarientSym : PopInto(Varient.Size) | ++ EnumerationSym : PopInto(Enumeration.Size) | ++ PointerSym : PopInto(Pointer.Size) | ++ ArraySym : PopInto(Array.Size) | ++ RecordFieldSym : PopInto(RecordField.Size) | ++ VarientFieldSym : PopInto(VarientField.Size) | ++ SubrangeSym : PopInto(Subrange.Size) | ++ SubscriptSym : PopInto(Subscript.Size) | ++ ProcTypeSym : PopInto(ProcType.Size) | ++ UnboundedSym : PopInto(Unbounded.Size) | ++ SetSym : PopInto(Set.Size) + + ELSE + InternalError ('not expecting this kind of symbol') + END + END +-END PushOffset ; ++END PopSize ; + + + (* +@@ -14283,7 +14925,7 @@ PROCEDURE PushValue (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14311,18 +14953,21 @@ VAR + pSym: PtrToSymbol ; + a : ARRAY [0..10] OF CHAR ; + BEGIN +- CheckLegal (Sym) ; ++ AssertInRange (Sym) ; + pSym := GetPsym (Sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ConstStringSym: WITH ConstString DO +- IF Length = 1 ++ IF Length = 0 ++ THEN ++ PushChar (nul) ++ ELSIF Length = 1 + THEN + GetKey (Contents, a) ; + PushChar (a[0]) + ELSE +- WriteFormat0 ('ConstString must be length 1') ++ WriteFormat0 ('ConstString must be length 0 or 1') + END + END + +@@ -14333,95 +14978,6 @@ BEGIN + END PushConstString ; + + +-(* +- PushParamSize - push the size of parameter, ParamNo, +- of procedure Sym onto the ALU stack. +-*) +- +-PROCEDURE PushParamSize (Sym: CARDINAL; ParamNo: CARDINAL) ; +-VAR +- p, Type: CARDINAL ; +-BEGIN +- CheckLegal(Sym) ; +- Assert(IsProcedure(Sym) OR IsProcType(Sym)) ; +- IF ParamNo=0 +- THEN +- PushSize(GetType(Sym)) +- ELSE +- (* +- can use GetNthParam but 1..n returns parameter. +- But 0 yields the function return type. +- +- Note that VAR Unbounded parameters and non VAR Unbounded parameters +- contain the unbounded descriptor. VAR unbounded parameters +- do NOT JUST contain an address re: other VAR parameters. +- *) +- IF IsVarParam(Sym, ParamNo) AND (NOT IsUnboundedParam(Sym, ParamNo)) +- THEN +- PushSize(Address) (* VAR parameters point to the variable *) +- ELSE +- p := GetNthParam(Sym, ParamNo) ; (* nth Parameter *) +- (* +- N.B. chose to get the Type of the parameter rather than the Var +- because ProcType's have Type but no Var associated with them. +- *) +- Type := GetType(p) ; (* ie Variable from Procedure Sym *) +- Assert(p#NulSym) ; (* If this fails then ParamNo is out of range *) +- PushSize(Type) +- END +- END +-END PushParamSize ; +- +- +-(* +- PushSumOfLocalVarSize - push the total size of all local variables +- onto the ALU stack. +-*) +- +-PROCEDURE PushSumOfLocalVarSize (Sym: CARDINAL) ; +-VAR +- pSym: PtrToSymbol ; +-BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- ProcedureSym, +- DefImpSym, +- ModuleSym : PushSize(Sym) +- +- ELSE +- InternalError ('expecting Procedure, DefImp or Module symbol') +- END +- END +-END PushSumOfLocalVarSize ; +- +- +-(* +- PushSumOfParamSize - push the total size of all parameters onto +- the ALU stack. +-*) +- +-PROCEDURE PushSumOfParamSize (Sym: CARDINAL) ; +-VAR +- pSym: PtrToSymbol ; +-BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- ProcedureSym: PushFrom(Procedure.TotalParamSize) | +- ProcTypeSym : PushFrom(ProcType.TotalParamSize) +- +- ELSE +- InternalError ('expecting Procedure or ProcType symbol') +- END +- END +-END PushSumOfParamSize ; +- +- + (* + PushVarSize - pushes the size of a variable, Sym. + The runtime size of Sym will depend upon its addressing mode, +@@ -14432,7 +14988,7 @@ END PushSumOfParamSize ; + + PROCEDURE PushVarSize (Sym: CARDINAL) ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + Assert(IsVar(Sym)) ; + IF GetMode(Sym)=LeftValue + THEN +@@ -14452,7 +15008,7 @@ PROCEDURE PopValue (Sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN +- CheckLegal(Sym) ; ++ AssertInRange(Sym) ; + pSym := GetPsym(Sym) ; + WITH pSym^ DO + CASE SymbolType OF +@@ -14468,90 +15024,6 @@ BEGIN + END PopValue ; + + +-(* +- PopSize - pops the ALU stack into Size of Sym. +-*) +- +-PROCEDURE PopSize (Sym: CARDINAL) ; +-VAR +- pSym: PtrToSymbol ; +-BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- ProcedureSym : PopInto(Procedure.Size) | +- VarSym : PopInto(Var.Size) | +- TypeSym : PopInto(Type.Size) | +- RecordSym : PopInto(Record.Size) | +- VarientSym : PopInto(Varient.Size) | +- EnumerationSym : PopInto(Enumeration.Size) | +- PointerSym : PopInto(Pointer.Size) | +- ArraySym : PopInto(Array.Size) | +- RecordFieldSym : PopInto(RecordField.Size) | +- VarientFieldSym : PopInto(VarientField.Size) | +- SubrangeSym : PopInto(Subrange.Size) | +- SubscriptSym : PopInto(Subscript.Size) | +- ProcTypeSym : PopInto(ProcType.Size) | +- UnboundedSym : PopInto(Unbounded.Size) | +- SetSym : PopInto(Set.Size) +- +- ELSE +- InternalError ('not expecting this kind of symbol') +- END +- END +-END PopSize ; +- +- +-(* +- PopOffset - pops the ALU stack into Offset of Sym. +-*) +- +-PROCEDURE PopOffset (Sym: CARDINAL) ; +-VAR +- pSym: PtrToSymbol ; +-BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- VarSym : PopInto(Var.Offset) | +- RecordFieldSym : PopInto(RecordField.Offset) | +- VarientFieldSym : PopInto(VarientField.Offset) +- +- ELSE +- InternalError ('not expecting this kind of symbol') +- END +- END +-END PopOffset ; +- +- +-(* +- PopSumOfParamSize - pop the total value on the ALU stack as the +- sum of all parameters. +-*) +- +-PROCEDURE PopSumOfParamSize (Sym: CARDINAL) ; +-VAR +- pSym: PtrToSymbol ; +-BEGIN +- CheckLegal(Sym) ; +- pSym := GetPsym(Sym) ; +- WITH pSym^ DO +- CASE SymbolType OF +- +- ProcedureSym: PopInto(Procedure.TotalParamSize) | +- ProcTypeSym : PopInto(ProcType.TotalParamSize) +- +- ELSE +- InternalError ('expecting Procedure or ProcType symbol') +- END +- END +-END PopSumOfParamSize ; +- +- + (* + PutAlignment - assigns the alignment constant associated with, + type, with, align. +--- a/src/gcc/m2/gm2-compiler/m2flex.def ++++ b/src/gcc/m2/gm2-compiler/m2flex.def +@@ -33,7 +33,7 @@ DEFINITION MODULE m2flex ; + *) + + FROM SYSTEM IMPORT ADDRESS ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t ; + + EXPORT QUALIFIED GetToken, M2Error, OpenSource, CloseSource, GetLineNo, + GetColumnNo, GetLocation, GetTotalLines ; +--- a/src/gcc/m2/gm2-compiler/ppg.mod ++++ b/src/gcc/m2/gm2-compiler/ppg.mod +@@ -3678,6 +3678,7 @@ VAR + BEGIN + t := code ; + k := StrLen(code^.codetext)+1 ; ++ j := StrLen(str) ; + WHILE t#NIL DO + REPEAT + WHILE (k>0) AND IsWhite(t^.codetext[k-1]) DO +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/gm2-gcc/CDataTypes.def +@@ -0,0 +1,33 @@ ++(* CDataTypes provides a placeholder module for C address types. ++ ++Copyright (C) 2024 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. ++ ++You should have received a copy of the GNU General Public License ++along with GNU Modula-2; see the file COPYING3. If not see ++. *) ++ ++DEFINITION MODULE CDataTypes ; (*!m2pim*) ++ ++FROM SYSTEM IMPORT ADDRESS ; ++ ++EXPORT UNQUALIFIED CharStar, ConstCharStar ; ++ ++TYPE ++ CharStar = ADDRESS ; ++ ConstCharStar = ADDRESS ; ++ ++ ++END CDataTypes. +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/gm2-gcc/gcctypes.def +@@ -0,0 +1,36 @@ ++(* gcctypes provides a placeholder module for gcc declared data types. ++ ++Copyright (C) 2024 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. ++ ++You should have received a copy of the GNU General Public License ++along with GNU Modula-2; see the file COPYING3. If not see ++. *) ++ ++DEFINITION MODULE gcctypes ; ++ ++FROM SYSTEM IMPORT ADDRESS ; ++ ++EXPORT UNQUALIFIED location_t, tree ; ++ ++ ++TYPE ++ (* Not declared here by the bootstrap tool mc when ++ --gcc-config-system is used. *) ++ location_t = CARDINAL ; ++ tree = ADDRESS ; ++ ++ ++END gcctypes. +--- a/src/gcc/m2/gm2-gcc/init.cc ++++ b/src/gcc/m2/gm2-gcc/init.cc +@@ -105,6 +105,8 @@ EXTERN void _M2_ldtoa_init (int argc, char *argv[], char *envp[]); + EXTERN void _M2_M2Check_init (int argc, char *argv[], char *envp[]); + EXTERN void _M2_M2SSA_init (int argc, char *argv[], char *envp[]); + EXTERN void _M2_M2SymInit_init (int argc, char *argv[], char *envp[]); ++EXTERN void _M2_M2StateCheck_init (int argc, char *argv[], char *envp[]); ++EXTERN void _M2_P3Build_init (int argc, char *argv[], char *envp[]); + EXTERN void exit (int); + EXTERN void M2Comp_compile (const char *filename); + EXTERN void RTExceptions_DefaultErrorCatch (void); +@@ -200,5 +202,7 @@ init_PerCompilationInit (const char *filename) + _M2_M2SymInit_init (0, NULL, NULL); + _M2_M2Check_init (0, NULL, NULL); + _M2_M2LangDump_init (0, NULL, NULL); ++ _M2_M2StateCheck_init (0, NULL, NULL); ++ _M2_P3Build_init (0, NULL, NULL); + M2Comp_compile (filename); + } +--- a/src/gcc/m2/gm2-gcc/init.def ++++ b/src/gcc/m2/gm2-gcc/init.def +@@ -21,7 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" init ; + +-FROM SYSTEM IMPORT ADDRESS ; ++FROM CDataTypes IMPORT ConstCharStar ; + + + (* +@@ -37,7 +37,7 @@ PROCEDURE FrontEndInit ; + This is to be called every time we compile a new file. + *) + +-PROCEDURE PerCompilationInit (filename: ADDRESS) ; ++PROCEDURE PerCompilationInit (filename: ConstCharStar) ; + + + END init. +--- a/src/gcc/m2/gm2-gcc/m2block.def ++++ b/src/gcc/m2/gm2-gcc/m2block.def +@@ -21,10 +21,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2block ; + +- +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; +-FROM SYSTEM IMPORT ADDRESS ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM CDataTypes IMPORT CharStar ; + + + (* +@@ -46,7 +44,7 @@ PROCEDURE toplevel () : BOOLEAN ; + in the global binding level. + *) + +-PROCEDURE global_constant (t: Tree) : Tree ; ++PROCEDURE global_constant (t: tree) : tree ; + + + (* +@@ -56,7 +54,7 @@ PROCEDURE global_constant (t: Tree) : Tree ; + inside the current_binding_level I suspect. + *) + +-PROCEDURE RememberInitModuleFunction (t: Tree) : Tree ; ++PROCEDURE RememberInitModuleFunction (t: tree) : tree ; + + + (* +@@ -64,7 +62,7 @@ PROCEDURE RememberInitModuleFunction (t: Tree) : Tree ; + poisoned. + *) + +-PROCEDURE DumpGlobalConstants () : Tree ; ++PROCEDURE DumpGlobalConstants () : tree ; + + + (* +@@ -74,21 +72,21 @@ PROCEDURE DumpGlobalConstants () : Tree ; + can be used by many different functions if necessary. + *) + +-PROCEDURE RememberConstant (t: Tree) : Tree ; ++PROCEDURE RememberConstant (t: tree) : tree ; + + + (* + RememberType - remember the type, t, in the ggc marked list. + *) + +-PROCEDURE RememberType (t: Tree) : Tree ; ++PROCEDURE RememberType (t: tree) : tree ; + + + (* + pushDecl - pushes a declaration onto the current binding level. + *) + +-PROCEDURE pushDecl (decl: Tree) : Tree ; ++PROCEDURE pushDecl (decl: tree) : tree ; + + + (* +@@ -113,14 +111,14 @@ PROCEDURE pushGlobalScope ; + binding level. + *) + +-PROCEDURE popFunctionScope () : Tree ; ++PROCEDURE popFunctionScope () : tree ; + + + (* + pushFunctionScope - push a binding level. + *) + +-PROCEDURE pushFunctionScope (fndecl: Tree) ; ++PROCEDURE pushFunctionScope (fndecl: tree) ; + + + (* +@@ -129,7 +127,7 @@ PROCEDURE pushFunctionScope (fndecl: Tree) ; + The cur_stmt_list is appended to the STATEMENT_LIST. + *) + +-PROCEDURE finishFunctionCode (fndecl: Tree) ; ++PROCEDURE finishFunctionCode (fndecl: tree) ; + + + (* +@@ -142,7 +140,7 @@ PROCEDURE finishFunctionCode (fndecl: Tree) ; + containing the DECL_EXPR is also created. + *) + +-PROCEDURE finishFunctionDecl (location: location_t; fndecl: Tree) ; ++PROCEDURE finishFunctionDecl (location: location_t; fndecl: tree) ; + + + (* +@@ -150,14 +148,14 @@ PROCEDURE finishFunctionDecl (location: location_t; fndecl: Tree) ; + in the current scope. + *) + +-PROCEDURE getLabel (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE getLabel (location: location_t; name: CharStar) : tree ; + + + (* + GetErrorNode - returns the gcc error_mark_node. + *) + +-PROCEDURE GetErrorNode () : Tree ; ++PROCEDURE GetErrorNode () : tree ; + + + (* +@@ -165,21 +163,21 @@ PROCEDURE GetErrorNode () : Tree ; + it is not already present. + *) + +-PROCEDURE includeDecl (decl: Tree) ; ++PROCEDURE includeDecl (decl: tree) ; + + + (* + GetGlobals - returns a list of global variables, functions, constants. + *) + +-PROCEDURE GetGlobals () : Tree ; ++PROCEDURE GetGlobals () : tree ; + + + (* + GetGlobalContext - returns the global context tree. + *) + +-PROCEDURE GetGlobalContext () : Tree ; ++PROCEDURE GetGlobalContext () : tree ; + + + (* +@@ -187,7 +185,7 @@ PROCEDURE GetGlobalContext () : Tree ; + statement list and returns the list node. + *) + +-PROCEDURE begin_statement_list () : Tree ; ++PROCEDURE begin_statement_list () : tree ; + + + (* +@@ -195,7 +193,7 @@ PROCEDURE begin_statement_list () : Tree ; + current binding level. + *) + +-PROCEDURE push_statement_list (t: Tree) : Tree ; ++PROCEDURE push_statement_list (t: tree) : tree ; + + + (* +@@ -203,7 +201,7 @@ PROCEDURE push_statement_list (t: Tree) : Tree ; + current binding level. + *) + +-PROCEDURE pop_statement_list () : Tree ; ++PROCEDURE pop_statement_list () : tree ; + + + (* +--- a/src/gcc/m2/gm2-gcc/m2builtins.cc ++++ b/src/gcc/m2/gm2-gcc/m2builtins.cc +@@ -138,7 +138,7 @@ struct builtin_function_entry + /* Entries are added by examining gcc/builtins.def and copying those + functions which can be applied to Modula-2. */ + +-static struct builtin_function_entry list_of_builtins[] = { ++static struct GTY(()) builtin_function_entry list_of_builtins[] = { + { "__builtin_alloca", BT_FN_PTR_SIZE, BUILT_IN_ALLOCA, BUILT_IN_NORMAL, + "alloca", NULL, NULL, bf_extension_lib }, + { "__builtin_memcpy", BT_FN_TRAD_PTR_PTR_CONST_PTR_SIZE, BUILT_IN_MEMCPY, +@@ -396,6 +396,7 @@ struct builtin_type_info + struct GTY(()) builtin_macro_definition + { + const char *name; ++ const char *builtinname; + tree function_node; + tree return_node; + }; +@@ -911,6 +912,26 @@ target_support_exists (struct builtin_function_entry *fe) + } + } + ++/* Return true if name matches the builtin name. */ ++ ++static ++bool builtin_function_match (struct builtin_function_entry *fe, ++ const char *name) ++{ ++ return (strcmp (name, fe->name) == 0) ++ || (strcmp (name, fe->library_name) == 0); ++} ++ ++/* Return true if name matches the builtin macro name. */ ++ ++static ++bool builtin_macro_match (builtin_macro_definition bmd, ++ const char *name) ++{ ++ return (strcmp (bmd.name, name) == 0) ++ || (strcmp (bmd.builtinname, name) == 0); ++} ++ + + /* BuiltinExists - returns TRUE if the builtin function, name, exists + for this target architecture. */ +@@ -921,12 +942,11 @@ m2builtins_BuiltinExists (char *name) + struct builtin_function_entry *fe; + + for (fe = &list_of_builtins[0]; fe->name != NULL; fe++) +- if (strcmp (name, fe->name) == 0) ++ if (builtin_function_match (fe, name)) + return true; +- // return target_support_exists (fe); + int length = vec_safe_length (builtin_macros); + for (int idx = 0; idx < length; idx++) +- if (strcmp ((*builtin_macros)[idx].name, name) == 0) ++ if (builtin_macro_match ((*builtin_macros)[idx], name)) + return true; + return false; + } +@@ -939,7 +959,7 @@ lookup_builtin_macro (location_t location, char *name) + { + int length = vec_safe_length (builtin_macros); + for (int idx = 0; idx < length; idx++) +- if (strcmp ((*builtin_macros)[idx].name, name) == 0) ++ if (builtin_macro_match ((*builtin_macros)[idx], name)) + { + tree functype = TREE_TYPE ((*builtin_macros)[idx].function_node); + tree funcptr = build1 (ADDR_EXPR, build_pointer_type (functype), +@@ -965,7 +985,7 @@ lookup_builtin_function (location_t location, char *name) + struct builtin_function_entry *fe; + + for (fe = &list_of_builtins[0]; fe->name != NULL; fe++) +- if ((strcmp (name, fe->name) == 0) && target_support_exists (fe)) ++ if (builtin_function_match (fe, name) && target_support_exists (fe)) + { + tree functype = TREE_TYPE (fe->function_node); + tree funcptr = build1 (ADDR_EXPR, build_pointer_type (functype), +@@ -1007,10 +1027,11 @@ static tree + DoBuiltinMemCopy (location_t location, tree dest, tree src, tree bytes) + { + tree functype = TREE_TYPE (gm2_memcpy_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_memcpy_node); + tree call +- = m2treelib_DoCall3 (location, ptr_type_node, funcptr, dest, src, bytes); ++ = m2treelib_DoCall3 (location, rettype, funcptr, dest, src, bytes); + return call; + } + +@@ -1018,10 +1039,10 @@ static tree + DoBuiltinAlloca (location_t location, tree bytes) + { + tree functype = TREE_TYPE (gm2_alloca_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_alloca_node); +- tree call = m2treelib_DoCall1 (location, ptr_type_node, funcptr, bytes); +- ++ tree call = m2treelib_DoCall1 (location, rettype, funcptr, bytes); + return call; + } + +@@ -1029,10 +1050,10 @@ static tree + DoBuiltinIsfinite (location_t location, tree value) + { + tree functype = TREE_TYPE (gm2_isfinite_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_isfinite_node); +- tree call = m2treelib_DoCall1 (location, ptr_type_node, funcptr, value); +- ++ tree call = m2treelib_DoCall1 (location, rettype, funcptr, value); + return call; + } + +@@ -1040,10 +1061,10 @@ static tree + DoBuiltinIsnan (location_t location, tree value) + { + tree functype = TREE_TYPE (gm2_isnan_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_isnan_node); +- tree call = m2treelib_DoCall1 (location, ptr_type_node, funcptr, value); +- ++ tree call = m2treelib_DoCall1 (location, rettype, funcptr, value); + return call; + } + +@@ -1051,9 +1072,10 @@ tree + m2builtins_BuiltInHugeVal (location_t location) + { + tree functype = TREE_TYPE (gm2_huge_val_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_huge_val_node); +- tree call = m2treelib_DoCall0 (location, ptr_type_node, funcptr); ++ tree call = m2treelib_DoCall0 (location, rettype, funcptr); + return call; + } + +@@ -1061,9 +1083,10 @@ tree + m2builtins_BuiltInHugeValShort (location_t location) + { + tree functype = TREE_TYPE (gm2_huge_valf_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_huge_valf_node); +- tree call = m2treelib_DoCall0 (location, ptr_type_node, funcptr); ++ tree call = m2treelib_DoCall0 (location, rettype, funcptr); + return call; + } + +@@ -1071,9 +1094,10 @@ tree + m2builtins_BuiltInHugeValLong (location_t location) + { + tree functype = TREE_TYPE (gm2_huge_vall_node); ++ tree rettype = TREE_TYPE (functype); + tree funcptr + = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_huge_vall_node); +- tree call = m2treelib_DoCall0 (location, ptr_type_node, funcptr); ++ tree call = m2treelib_DoCall0 (location, rettype, funcptr); + return call; + } + +@@ -1407,8 +1431,8 @@ define_builtin (enum built_in_function val, const char *name, tree prototype, + tree decl; + builtin_macro_definition bmd; + +- decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, get_identifier (name), +- prototype); ++ decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, ++ get_identifier (libname), prototype); + DECL_EXTERNAL (decl) = 1; + TREE_PUBLIC (decl) = 1; + SET_DECL_ASSEMBLER_NAME (decl, get_identifier (libname)); +@@ -1418,6 +1442,7 @@ define_builtin (enum built_in_function val, const char *name, tree prototype, + set_call_expr_flags (decl, flags); + set_builtin_decl (val, decl, true); + bmd.name = name; ++ bmd.builtinname = libname; + bmd.function_node = decl; + bmd.return_node = TREE_TYPE (prototype); + vec_safe_push (builtin_macros, bmd); +--- a/src/gcc/m2/gm2-gcc/m2builtins.def ++++ b/src/gcc/m2/gm2-gcc/m2builtins.def +@@ -21,9 +21,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2builtins ; + +-FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM CDataTypes IMPORT CharStar, ConstCharStar ; ++FROM gcctypes IMPORT location_t, tree ; + + EXPORT QUALIFIED GetBuiltinConst, GetBuiltinConstType, + GetBuiltinTypeInfoType, GetBuiltinTypeInfo, +@@ -37,7 +36,7 @@ EXPORT QUALIFIED GetBuiltinConst, GetBuiltinConstType, + NIL is returned if the constant is unknown. + *) + +-PROCEDURE GetBuiltinConst (name: ADDRESS) : Tree ; ++PROCEDURE GetBuiltinConst (name: CharStar) : tree ; + + + (* +@@ -48,7 +47,7 @@ PROCEDURE GetBuiltinConst (name: ADDRESS) : Tree ; + 2 = real + *) + +-PROCEDURE GetBuiltinConstType (name: ADDRESS) : CARDINAL ; ++PROCEDURE GetBuiltinConstType (name: CharStar) : CARDINAL ; + + + +@@ -62,21 +61,21 @@ PROCEDURE GetBuiltinConstType (name: ADDRESS) : CARDINAL ; + 3 if ident is large, small. + *) + +-PROCEDURE GetBuiltinTypeInfoType (ident: ADDRESS) : CARDINAL ; ++PROCEDURE GetBuiltinTypeInfoType (ident: ConstCharStar) : CARDINAL ; + + + (* +- GetBuiltinTypeInfo - returns a Tree value: ++ GetBuiltinTypeInfo - returns a tree value: + + NULL_TREE if ident is unknown. +- boolean Tree if ident is IEC559, LIA1, ISO, IEEE, rounds, underflow, ++ boolean tree if ident is IEC559, LIA1, ISO, IEEE, rounds, underflow, + exception, extend. +- ZType Tree if ident is radix, places, exponentmin, exponentmax, ++ ZType tree if ident is radix, places, exponentmin, exponentmax, + noofmodes. +- RType Tree if ident is large, small. ++ RType tree if ident is large, small. + *) + +-PROCEDURE GetBuiltinTypeInfo (location: location_t; type: Tree; ident: ADDRESS) : Tree ; ++PROCEDURE GetBuiltinTypeInfo (location: location_t; type: tree; ident: ConstCharStar) : tree ; + + + (* +@@ -84,28 +83,28 @@ PROCEDURE GetBuiltinTypeInfo (location: location_t; type: Tree; ident: ADDRESS) + for this target architecture. + *) + +-PROCEDURE BuiltinExists (name: ADDRESS) : BOOLEAN ; ++PROCEDURE BuiltinExists (name: CharStar) : BOOLEAN ; + + + (* +- BuildBuiltinTree - returns a Tree containing the builtin function, name. ++ BuildBuiltinTree - returns a tree containing the builtin function, name. + *) + +-PROCEDURE BuildBuiltinTree (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildBuiltinTree (location: location_t; name: CharStar) : tree ; + + + (* + BuiltinMemCopy and BuiltinAlloca - are called by M2GenGCC to implement open arrays. + *) + +-PROCEDURE BuiltinMemCopy (location: location_t; dest, src, n: Tree) : Tree ; ++PROCEDURE BuiltinMemCopy (location: location_t; dest, src, n: tree) : tree ; + + + (* + BuiltinMemSet is called by M2GenGCC to implement the set type. + *) + +-PROCEDURE BuiltinMemSet (location: location_t; dest, bytevalue, nbytes: Tree) : Tree ; ++PROCEDURE BuiltinMemSet (location: location_t; dest, bytevalue, nbytes: tree) : tree ; + + + (* +@@ -113,16 +112,16 @@ PROCEDURE BuiltinMemSet (location: location_t; dest, bytevalue, nbytes: Tree) : + of the current function. + *) + +-PROCEDURE BuiltInAlloca (location: location_t; n: Tree) : Tree ; ++PROCEDURE BuiltInAlloca (location: location_t; n: tree) : tree ; + + + (* +- BuiltInIsfinite - given an expression, e, return an integer Tree of 1 if the +- value is finite. Return an integer Tree 0 if the value is ++ BuiltInIsfinite - given an expression, e, return an integer tree of 1 if the ++ value is finite. Return an integer tree 0 if the value is + not finite. + *) + +-PROCEDURE BuiltInIsfinite (location: location_t; e: Tree) : Tree ; ++PROCEDURE BuiltInIsfinite (location: location_t; e: tree) : tree ; + + + END m2builtins. +--- a/src/gcc/m2/gm2-gcc/m2color.cc ++++ b/src/gcc/m2/gm2-gcc/m2color.cc +@@ -27,9 +27,11 @@ along with GNU Modula-2; see the file COPYING3. If not see + + + char * +-m2color_colorize_start (bool show_color, char *name, unsigned int _name_high) ++m2color_colorize_start (bool show_color, void *name, unsigned int _name_high) + { +- return const_cast (colorize_start (show_color, name, _name_high)); ++ return const_cast (colorize_start (show_color, ++ reinterpret_cast (name), ++ _name_high)); + } + + +--- a/src/gcc/m2/gm2-gcc/m2color.h ++++ b/src/gcc/m2/gm2-gcc/m2color.h +@@ -37,7 +37,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + + EXTERN char * +-m2color_colorize_start (bool show_color, char *name, unsigned int name_len); ++m2color_colorize_start (bool show_color, void *name, unsigned int name_len); + + EXTERN char *m2color_colorize_stop (bool show_color); + +--- a/src/gcc/m2/gm2-gcc/m2convert.def ++++ b/src/gcc/m2/gm2-gcc/m2convert.def +@@ -21,8 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2convert ; + +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; + + + (* +@@ -30,35 +29,35 @@ FROM m2linemap IMPORT location_t ; + a WORD. + *) + +-PROCEDURE ToWord (location: location_t; expr: Tree) : Tree ; ++PROCEDURE ToWord (location: location_t; expr: tree) : tree ; + + + (* + ToCardinal - convert an expression, expr, to a CARDINAL. + *) + +-PROCEDURE ToCardinal (location: location_t; expr: Tree) : Tree ; ++PROCEDURE ToCardinal (location: location_t; expr: tree) : tree ; + + + (* + ToInteger - convert an expression, expr, to an INTEGER. + *) + +-PROCEDURE ToInteger (location: location_t; expr: Tree) : Tree ; ++PROCEDURE ToInteger (location: location_t; expr: tree) : tree ; + + + (* + ToBitset - convert an expression, expr, to a BITSET. + *) + +-PROCEDURE ToBitset (location: location_t; expr: Tree) : Tree ; ++PROCEDURE ToBitset (location: location_t; expr: tree) : tree ; + + + (* + ConvertToPtr - convert an expression to a void *. + *) + +-PROCEDURE ConvertToPtr (p: Tree) : Tree ; ++PROCEDURE ConvertToPtr (p: tree) : tree ; + + + (* +@@ -67,7 +66,7 @@ PROCEDURE ConvertToPtr (p: Tree) : Tree ; + should suppress overflow checking. + *) + +-PROCEDURE BuildConvert (location: location_t; type: Tree; value: Tree; checkOverflow: BOOLEAN) : Tree ; ++PROCEDURE BuildConvert (location: location_t; type: tree; value: tree; checkOverflow: BOOLEAN) : tree ; + + + (* +@@ -76,14 +75,14 @@ PROCEDURE BuildConvert (location: location_t; type: Tree; value: Tree; checkOver + overflow checking is performed. + *) + +-PROCEDURE ConvertConstantAndCheck (location: location_t; type: Tree; expr: Tree) : Tree ; ++PROCEDURE ConvertConstantAndCheck (location: location_t; type: tree; expr: tree) : tree ; + + + (* + ConvertString - converts string, expr, into a string of type, type. + *) + +-PROCEDURE ConvertString (type, expr: Tree) : Tree ; ++PROCEDURE ConvertString (type, expr: tree) : tree ; + + + (* +@@ -92,7 +91,7 @@ PROCEDURE ConvertString (type, expr: Tree) : Tree ; + expr is returned unaltered. + *) + +-PROCEDURE GenericToType (location: location_t; type, expr: Tree) : Tree ; ++PROCEDURE GenericToType (location: location_t; type, expr: tree) : tree ; + + + END m2convert. +--- a/src/gcc/m2/gm2-gcc/m2decl.cc ++++ b/src/gcc/m2/gm2-gcc/m2decl.cc +@@ -165,7 +165,7 @@ m2decl_DeclareKnownConstant (location_t location, tree type, tree value) + param_type_list. */ + + tree +-m2decl_BuildParameterDeclaration (location_t location, char *name, tree type, ++m2decl_BuildParameterDeclaration (location_t location, const char *name, tree type, + bool isreference) + { + tree parm_decl; +--- a/src/gcc/m2/gm2-gcc/m2decl.def ++++ b/src/gcc/m2/gm2-gcc/m2decl.def +@@ -22,8 +22,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + DEFINITION MODULE m2decl ; + + FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM CDataTypes IMPORT ConstCharStar ; + + + (* +@@ -31,14 +31,14 @@ FROM m2linemap IMPORT location_t ; + the dynamic linking scaffold. + *) + +-PROCEDURE BuildModuleCtor (moduleCtor: Tree) ; ++PROCEDURE BuildModuleCtor (moduleCtor: tree) ; + + + (* + DeclareModuleCtor configures the function to be used as a ctor. + *) + +-PROCEDURE DeclareModuleCtor (decl: Tree) : Tree ; ++PROCEDURE DeclareModuleCtor (decl: tree) : tree ; + + + +@@ -47,13 +47,13 @@ PROCEDURE DeclareModuleCtor (decl: Tree) : Tree ; + *) + + PROCEDURE DeclareM2linkForcedModuleInitOrder (location: location_t; +- RuntimeOverride: ADDRESS) : Tree ; ++ RuntimeOverride: ADDRESS) : tree ; + + + PROCEDURE DeclareM2linkStaticInitialization (location: location_t; +- ScaffoldStatic: INTEGER) : Tree ; ++ ScaffoldStatic: INTEGER) : tree ; + +-PROCEDURE BuildPtrToTypeString (location: location_t; string: ADDRESS; type: Tree) : Tree ; ++PROCEDURE BuildPtrToTypeString (location: location_t; string: ADDRESS; type: tree) : tree ; + + + (* +@@ -88,14 +88,14 @@ PROCEDURE GetBitsPerWord () : INTEGER ; + BuildIntegerConstant - return a tree containing the integer value. + *) + +-PROCEDURE BuildIntegerConstant (value: INTEGER) : Tree ; ++PROCEDURE BuildIntegerConstant (value: INTEGER) : tree ; + + + (* + BuildStringConstantType - builds a string constant with a type. + *) + +-PROCEDURE BuildStringConstantType (length: INTEGER; string: ADDRESS; type: Tree) : Tree ; ++PROCEDURE BuildStringConstantType (length: INTEGER; string: ConstCharStar; type: tree) : tree ; + + + (* +@@ -105,9 +105,9 @@ PROCEDURE BuildStringConstantType (length: INTEGER; string: ADDRESS; type: Tree) + isglobal is TRUE. + *) + +-PROCEDURE DeclareKnownVariable (location: location_t; name: ADDRESS; type: Tree; ++PROCEDURE DeclareKnownVariable (location: location_t; name: ConstCharStar; type: tree; + exported, imported, istemporary, isglobal: BOOLEAN; +- scope, initial: Tree) : Tree ; ++ scope, initial: tree) : tree ; + + + (* +@@ -120,7 +120,7 @@ PROCEDURE DeclareKnownVariable (location: location_t; name: ADDRESS; type: Tree; + always be referenced. + *) + +-PROCEDURE DeclareKnownConstant (location: location_t; type: Tree; value: Tree) : Tree ; ++PROCEDURE DeclareKnownConstant (location: location_t; type: tree; value: tree) : tree ; + + + (* +@@ -130,8 +130,8 @@ PROCEDURE DeclareKnownConstant (location: location_t; type: Tree; value: Tree) : + type declaration and we ignore names. + *) + +-PROCEDURE BuildParameterDeclaration (location: location_t; name: ADDRESS; type: Tree; +- isreference: BOOLEAN) : Tree ; ++PROCEDURE BuildParameterDeclaration (location: location_t; name: ConstCharStar; type: tree; ++ isreference: BOOLEAN) : tree ; + + + (* +@@ -148,16 +148,16 @@ PROCEDURE BuildStartFunctionDeclaration (uses_varargs: BOOLEAN) ; + *) + + PROCEDURE BuildEndFunctionDeclaration (location_begin, location_end: location_t; +- name: ADDRESS; returntype: Tree; ++ name: ConstCharStar; returntype: tree; + isexternal, isnested, ispublic, +- isnoreturn: BOOLEAN) : Tree ; ++ isnoreturn: BOOLEAN) : tree ; + + + (* + RememberVariables - + *) + +-PROCEDURE RememberVariables (l: Tree) ; ++PROCEDURE RememberVariables (l: tree) ; + + + (* +@@ -168,8 +168,8 @@ PROCEDURE RememberVariables (l: Tree) ; + *) + + PROCEDURE BuildConstLiteralNumber (location: location_t; +- str: ADDRESS; base: CARDINAL; +- issueError: BOOLEAN) : Tree ; ++ str: ConstCharStar; base: CARDINAL; ++ issueError: BOOLEAN) : tree ; + + + (* +@@ -177,7 +177,7 @@ PROCEDURE BuildConstLiteralNumber (location: location_t; + and, length. + *) + +-PROCEDURE BuildStringConstant (string: ADDRESS; length: INTEGER) : Tree ; ++PROCEDURE BuildStringConstant (string: ConstCharStar; length: INTEGER) : tree ; + + + (* +@@ -185,11 +185,11 @@ PROCEDURE BuildStringConstant (string: ADDRESS; length: INTEGER) : Tree ; + and, length. + *) + +-PROCEDURE BuildCStringConstant (string: ADDRESS; length: INTEGER) : Tree ; ++PROCEDURE BuildCStringConstant (string: ConstCharStar; length: INTEGER) : tree ; + + + +-PROCEDURE GetDeclContext (t: Tree) : Tree ; ++PROCEDURE GetDeclContext (t: tree) : tree ; + + + END m2decl. +--- a/src/gcc/m2/gm2-gcc/m2decl.h ++++ b/src/gcc/m2/gm2-gcc/m2decl.h +@@ -58,7 +58,7 @@ EXTERN tree m2decl_BuildEndFunctionDeclaration ( + tree returntype, bool isexternal, bool isnested, bool ispublic, + bool isnoreturn); + EXTERN void m2decl_BuildStartFunctionDeclaration (bool uses_varargs); +-EXTERN tree m2decl_BuildParameterDeclaration (location_t location, char *name, ++EXTERN tree m2decl_BuildParameterDeclaration (location_t location, const char *name, + tree type, bool isreference); + EXTERN tree m2decl_DeclareKnownConstant (location_t location, tree type, + tree value); +--- a/src/gcc/m2/gm2-gcc/m2except.def ++++ b/src/gcc/m2/gm2-gcc/m2except.def +@@ -21,8 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2except ; + +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; + + + (* +@@ -38,14 +37,14 @@ PROCEDURE InitExceptions (location: location_t) ; + BuildThrow - builds a throw statement and return the tree. + *) + +-PROCEDURE BuildThrow (location: location_t; t: Tree) : Tree ; ++PROCEDURE BuildThrow (location: location_t; t: tree) : tree ; + + + (* + BuildTryBegin - returns a tree representing the 'try' block. + *) + +-PROCEDURE BuildTryBegin (location: location_t) : Tree ; ++PROCEDURE BuildTryBegin (location: location_t) : tree ; + + + (* +@@ -53,7 +52,7 @@ PROCEDURE BuildTryBegin (location: location_t) : Tree ; + for the catch handlers. + *) + +-PROCEDURE BuildTryEnd (tryBlock: Tree) ; ++PROCEDURE BuildTryEnd (tryBlock: tree) ; + + + (* +@@ -62,7 +61,7 @@ PROCEDURE BuildTryEnd (tryBlock: Tree) ; + It returns the handler tree. + *) + +-PROCEDURE BuildCatchBegin (location: location_t) : Tree ; ++PROCEDURE BuildCatchBegin (location: location_t) : tree ; + + + (* +@@ -73,7 +72,7 @@ PROCEDURE BuildCatchBegin (location: location_t) : Tree ; + '}' which matches the catch above. + *) + +-PROCEDURE BuildCatchEnd (location: location_t; handler, tryBlock: Tree) : Tree ; ++PROCEDURE BuildCatchEnd (location: location_t; handler, tryBlock: tree) : tree ; + + + END m2except. +--- a/src/gcc/m2/gm2-gcc/m2expr.def ++++ b/src/gcc/m2/gm2-gcc/m2expr.def +@@ -21,20 +21,19 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2expr ; + +-FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM CDataTypes IMPORT CharStar, ConstCharStar ; + + + TYPE +- BuildBinCheckProcedure = PROCEDURE (location_t, Tree, Tree, Tree, Tree, Tree) : Tree ; +- BuildBinProcedure = PROCEDURE (location_t, Tree, Tree, BOOLEAN) : Tree ; +- BuildUnaryProcedure = PROCEDURE (location_t, Tree, BOOLEAN) : Tree ; +- BuildUnaryCheckProcedure = PROCEDURE (location_t, Tree, Tree, Tree, Tree) : Tree ; +- BuildExprProcedure = PROCEDURE (location_t, Tree, Tree) : Tree ; +- BuildSetProcedure = PROCEDURE (location_t, Tree, Tree, Tree, Tree, BOOLEAN) ; +- BuildUnarySetProcedure = PROCEDURE (location_t, Tree, BOOLEAN) ; +- BuildUnarySetFunction = PROCEDURE (location_t, Tree, BOOLEAN) : Tree ; ++ BuildBinCheckProcedure = PROCEDURE (location_t, tree, tree, tree, tree, tree) : tree ; ++ BuildBinProcedure = PROCEDURE (location_t, tree, tree, BOOLEAN) : tree ; ++ BuildUnaryProcedure = PROCEDURE (location_t, tree, BOOLEAN) : tree ; ++ BuildUnaryCheckProcedure = PROCEDURE (location_t, tree, tree, tree, tree) : tree ; ++ BuildExprProcedure = PROCEDURE (location_t, tree, tree) : tree ; ++ BuildSetProcedure = PROCEDURE (location_t, tree, tree, tree, tree, BOOLEAN) ; ++ BuildUnarySetProcedure = PROCEDURE (location_t, tree, BOOLEAN) ; ++ BuildUnarySetFunction = PROCEDURE (location_t, tree, BOOLEAN) : tree ; + + + (* +@@ -49,53 +48,54 @@ PROCEDURE init (location: location_t) ; + The string returned will have been malloc'd. + *) + +-PROCEDURE CSTIntToString (t: Tree) : ADDRESS ; ++PROCEDURE CSTIntToString (t: tree) : CharStar ; ++ + + (* + CSTIntToChar - return the CHAR representation of tree t. + *) + +-PROCEDURE CSTIntToChar (t: Tree) : CHAR ; ++PROCEDURE CSTIntToChar (t: tree) : CHAR ; + + + PROCEDURE CheckConstStrZtypeRange (location: location_t; +- str: ADDRESS; base: CARDINAL) : BOOLEAN ; ++ str: CharStar; base: CARDINAL) : BOOLEAN ; + + (* + CompareTrees - returns -1 if e1 < e2, 0 if e1 == e2, and 1 if e1 > e2. + *) + +-PROCEDURE CompareTrees (e1: Tree; e2: Tree) : INTEGER ; ++PROCEDURE CompareTrees (e1: tree; e2: tree) : INTEGER ; + + +-PROCEDURE GetPointerOne (location: location_t) : Tree ; ++PROCEDURE GetPointerOne (location: location_t) : tree ; + + +-PROCEDURE GetPointerZero (location: location_t) : Tree ; ++PROCEDURE GetPointerZero (location: location_t) : tree ; + + +-PROCEDURE GetWordOne (location: location_t) : Tree ; ++PROCEDURE GetWordOne (location: location_t) : tree ; + + +-PROCEDURE GetWordZero (location: location_t) : Tree ; ++PROCEDURE GetWordZero (location: location_t) : tree ; + + +-PROCEDURE GetIntegerOne (location: location_t) : Tree ; ++PROCEDURE GetIntegerOne (location: location_t) : tree ; + + +-PROCEDURE GetIntegerZero (location: location_t) : Tree ; ++PROCEDURE GetIntegerZero (location: location_t) : tree ; + + +-PROCEDURE GetCardinalOne (location: location_t) : Tree ; ++PROCEDURE GetCardinalOne (location: location_t) : tree ; + + +-PROCEDURE GetCardinalZero (location: location_t) : Tree ; ++PROCEDURE GetCardinalZero (location: location_t) : tree ; + + +-PROCEDURE GetSizeOfInBits (type: Tree) : Tree ; ++PROCEDURE GetSizeOfInBits (type: tree) : tree ; + + +-PROCEDURE GetSizeOf (location: location_t; type: Tree) : Tree ; ++PROCEDURE GetSizeOf (location: location_t; type: tree) : tree ; + + + (* +@@ -103,7 +103,7 @@ PROCEDURE GetSizeOf (location: location_t; type: Tree) : Tree ; + for a fundamental data type. + *) + +-PROCEDURE BuildLogicalRotate (location: location_t; op1: Tree; op2: Tree; op3: Tree; nBits: Tree; needconvert: BOOLEAN) ; ++PROCEDURE BuildLogicalRotate (location: location_t; op1: tree; op2: tree; op3: tree; nBits: tree; needconvert: BOOLEAN) ; + + + (* +@@ -111,7 +111,7 @@ PROCEDURE BuildLogicalRotate (location: location_t; op1: Tree; op2: Tree; op3: T + it rotates a set of size, nBits. + *) + +-PROCEDURE BuildLRRn (location: location_t; op1: Tree; op2: Tree; nBits: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLRRn (location: location_t; op1: tree; op2: tree; nBits: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -119,39 +119,39 @@ PROCEDURE BuildLRRn (location: location_t; op1: Tree; op2: Tree; nBits: Tree; ne + it rotates a set of size, nBits. + *) + +-PROCEDURE BuildLRLn (location: location_t; op1: Tree; op2: Tree; nBits: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLRLn (location: location_t; op1: tree; op2: tree; nBits: tree; needconvert: BOOLEAN) : tree ; + + + +-PROCEDURE BuildMask (location: location_t; nBits: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildMask (location: location_t; nBits: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildMult - builds a multiplication tree. + *) + +-PROCEDURE BuildMult (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildMult (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildMultCheck - builds a multiplication tree after checking for overflow. + *) + +-PROCEDURE BuildMultCheck (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildMultCheck (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* + BuildLRR - builds and returns tree (op1 rotate right by op2 bits) + *) + +-PROCEDURE BuildLRR (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLRR (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLRL - builds and returns tree (op1 rotate left by op2 bits) + *) + +-PROCEDURE BuildLRL (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLRL (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -159,21 +159,21 @@ PROCEDURE BuildLRL (location: location_t; op1: Tree; op2: Tree; needconvert: BOO + for a fundamental data type. + *) + +-PROCEDURE BuildLogicalShift (location: location_t; op1: Tree; op2: Tree; op3: Tree; nBits: Tree; needconvert: BOOLEAN) ; ++PROCEDURE BuildLogicalShift (location: location_t; op1: tree; op2: tree; op3: tree; nBits: tree; needconvert: BOOLEAN) ; + + + (* + BuildLSR - builds and returns tree (op1 >> op2) + *) + +-PROCEDURE BuildLSR (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLSR (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLSL - builds and returns tree (op1 << op2) + *) + +-PROCEDURE BuildLSL (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLSL (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -182,7 +182,7 @@ PROCEDURE BuildLSL (location: location_t; op1: Tree; op2: Tree; needconvert: BOO + return op1 div trunc op2 + *) + +-PROCEDURE BuildDivM2 (location: location_t; op1, op2: Tree; needsconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildDivM2 (location: location_t; op1, op2: tree; needsconvert: BOOLEAN) : tree ; + + + (* +@@ -191,7 +191,7 @@ PROCEDURE BuildDivM2 (location: location_t; op1, op2: Tree; needsconvert: BOOLEA + return op1 div trunc op2. Use the checking div equivalents. + *) + +-PROCEDURE BuildDivM2Check (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildDivM2Check (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* +@@ -200,7 +200,7 @@ PROCEDURE BuildDivM2Check (location: location_t; op1, op2, lowest, min, max: Tre + return op1 div trunc op2 + *) + +-PROCEDURE BuildModM2 (location: location_t; op1, op2: Tree; needsconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildModM2 (location: location_t; op1, op2: tree; needsconvert: BOOLEAN) : tree ; + + + (* +@@ -212,56 +212,56 @@ PROCEDURE BuildModM2 (location: location_t; op1, op2: Tree; needsconvert: BOOLEA + return op1 div trunc op2. Use the checking div equivalents. + *) + +-PROCEDURE BuildModM2Check (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildModM2Check (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* + BuildModFloor - builds a modulus tree. + *) + +-PROCEDURE BuildModFloor (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildModFloor (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildDivCeil - builds a division tree. + *) + +-PROCEDURE BuildDivCeil (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildDivCeil (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildModCeil - builds a modulus tree. + *) + +-PROCEDURE BuildModCeil (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildModCeil (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildDivFloor - builds a division tree. + *) + +-PROCEDURE BuildDivFloor (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildDivFloor (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildModTrunc - builds a modulus tree. + *) + +-PROCEDURE BuildModTrunc (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildModTrunc (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildDivTrunc - builds a division tree. + *) + +-PROCEDURE BuildDivTrunc (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildDivTrunc (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildDivTruncCheck - builds a division tree after checking for overflow. + *) + +-PROCEDURE BuildDivTruncCheck (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildDivTruncCheck (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* +@@ -269,42 +269,42 @@ PROCEDURE BuildDivTruncCheck (location: location_t; op1, op2, lowest, min, max: + types and NEVER for integer based types). + *) + +-PROCEDURE BuildRDiv (location: location_t; op1, op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildRDiv (location: location_t; op1, op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildSubCheck - builds a subtraction tree after checking for overflow. + *) + +-PROCEDURE BuildSubCheck (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildSubCheck (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* + BuildAddCheck - builds an addition tree after checking for overflow. + *) + +-PROCEDURE BuildAddCheck (location: location_t; op1, op2, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildAddCheck (location: location_t; op1, op2, lowest, min, max: tree) : tree ; + + + (* + BuildSub - builds a subtraction tree. + *) + +-PROCEDURE BuildSub (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildSub (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildAdd - builds an addition tree. + *) + +-PROCEDURE BuildAdd (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildAdd (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + FoldAndStrip - return expression, t, after it has been folded (if possible). + *) + +-PROCEDURE FoldAndStrip (t: Tree) : Tree ; ++PROCEDURE FoldAndStrip (t: tree) : tree ; + + + (* +@@ -312,7 +312,7 @@ PROCEDURE FoldAndStrip (t: Tree) : Tree ; + of, string. + *) + +-PROCEDURE StringLength (string: Tree) : CARDINAL ; ++PROCEDURE StringLength (string: tree) : CARDINAL ; + + + (* +@@ -321,7 +321,7 @@ PROCEDURE StringLength (string: Tree) : CARDINAL ; + is emitted and no modification is made to, t. + *) + +-PROCEDURE TreeOverflow (t: Tree) : BOOLEAN ; ++PROCEDURE TreeOverflow (t: tree) : BOOLEAN ; + + + (* +@@ -329,7 +329,7 @@ PROCEDURE TreeOverflow (t: Tree) : BOOLEAN ; + any overflow flag and returns, t. + *) + +-PROCEDURE RemoveOverflow (t: Tree) : Tree ; ++PROCEDURE RemoveOverflow (t: tree) : tree ; + + + (* +@@ -337,49 +337,49 @@ PROCEDURE RemoveOverflow (t: Tree) : Tree ; + it has been coersed to, type. + *) + +-PROCEDURE BuildCoerce (location: location_t; des: Tree; type: Tree; expr: Tree) : Tree ; ++PROCEDURE BuildCoerce (location: location_t; des: tree; type: tree; expr: tree) : tree ; + + + (* + BuildTrunc - returns an integer expression from a REAL or LONGREAL op1. + *) + +-PROCEDURE BuildTrunc (op1: Tree) : Tree ; ++PROCEDURE BuildTrunc (op1: tree) : tree ; + + + (* + BuildNegate - builds a negate expression and returns the tree. + *) + +-PROCEDURE BuildNegate (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildNegate (location: location_t; op1: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildNegateCheck - builds a negate expression and returns the tree. + *) + +-PROCEDURE BuildNegateCheck (location: location_t; arg, lowest, min, max: Tree) : Tree ; ++PROCEDURE BuildNegateCheck (location: location_t; arg, lowest, min, max: tree) : tree ; + + + (* + BuildSetNegate - builds a set negate expression and returns the tree. + *) + +-PROCEDURE BuildSetNegate (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildSetNegate (location: location_t; op1: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildTBitSize - returns the minimum number of bits to represent, type. + *) + +-PROCEDURE BuildTBitSize (location: location_t; type: Tree) : Tree ; ++PROCEDURE BuildTBitSize (location: location_t; type: tree) : tree ; + + + (* + BuildSize - builds a SIZE function expression and returns the tree. + *) + +-PROCEDURE BuildSize (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildSize (location: location_t; op1: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -387,7 +387,7 @@ PROCEDURE BuildSize (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tr + op1 and returns the tree. + *) + +-PROCEDURE BuildAddr (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildAddr (location: location_t; op1: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -398,7 +398,7 @@ PROCEDURE BuildAddr (location: location_t; op1: Tree; needconvert: BOOLEAN) : Tr + The expression is returned. + *) + +-PROCEDURE BuildOffset1 (location: location_t; field: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildOffset1 (location: location_t; field: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -407,32 +407,32 @@ PROCEDURE BuildOffset1 (location: location_t; field: Tree; needconvert: BOOLEAN) + The expression is returned. + *) + +-PROCEDURE BuildOffset (location: location_t; record: Tree; field: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildOffset (location: location_t; record: tree; field: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLogicalOrAddress - build a logical or expressions and return the tree. + *) + +-PROCEDURE BuildLogicalOrAddress (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLogicalOrAddress (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLogicalOr - build a logical or expressions and return the tree. + *) + +-PROCEDURE BuildLogicalOr (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLogicalOr (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLogicalAnd - build a logical and expression and return the tree. + *) + +-PROCEDURE BuildLogicalAnd (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLogicalAnd (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + +-PROCEDURE BuildSymmetricDifference (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildSymmetricDifference (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* +@@ -441,99 +441,99 @@ PROCEDURE BuildSymmetricDifference (location: location_t; op1: Tree; op2: Tree; + (op1 and (not op2)) + *) + +-PROCEDURE BuildLogicalDifference (location: location_t; op1: Tree; op2: Tree; needconvert: BOOLEAN) : Tree ; ++PROCEDURE BuildLogicalDifference (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; + + + (* + BuildLessThan - return a tree which computes < + *) + +-PROCEDURE BuildLessThan (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildLessThan (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildGreaterThan - return a tree which computes > + *) + +-PROCEDURE BuildGreaterThan (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildGreaterThan (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildLessThanOrEqual - return a tree which computes < + *) + +-PROCEDURE BuildLessThanOrEqual (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildLessThanOrEqual (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildGreaterThanOrEqual - return a tree which computes >= + *) + +-PROCEDURE BuildGreaterThanOrEqual (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildGreaterThanOrEqual (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildEqualTo - return a tree which computes = + *) + +-PROCEDURE BuildEqualTo (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildEqualTo (location: location_t; op1: tree; op2: tree) : tree ; + + + +-PROCEDURE BuildNotEqualTo (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildNotEqualTo (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildIsSuperset - return a tree which computes: op1 & op2 == op2 + *) + +-PROCEDURE BuildIsSuperset (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildIsSuperset (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildIsNotSuperset - return a tree which computes: op1 & op2 != op2 + *) + +-PROCEDURE BuildIsNotSuperset (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildIsNotSuperset (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildIsSubset - return a tree which computes: op1 & op2 == op1 + *) + +-PROCEDURE BuildIsSubset (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildIsSubset (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildIsNotSubset - return a tree which computes: op1 & op2 != op1 + *) + +-PROCEDURE BuildIsNotSubset (location: location_t; op1: Tree; op2: Tree) : Tree ; ++PROCEDURE BuildIsNotSubset (location: location_t; op1: tree; op2: tree) : tree ; + + + (* + BuildIfConstInVar - generates: if constel in varset then goto label. + *) + +-PROCEDURE BuildIfConstInVar (location: location_t; type: Tree; varset: Tree; constel: Tree; is_lvalue: BOOLEAN; fieldno: INTEGER; label: ADDRESS) ; ++PROCEDURE BuildIfConstInVar (location: location_t; type: tree; varset: tree; constel: tree; is_lvalue: BOOLEAN; fieldno: INTEGER; label: CharStar) ; + + + +-PROCEDURE BuildIfNotConstInVar (location: location_t; type: Tree; varset: Tree; constel: Tree; is_lvalue: BOOLEAN; fieldno: INTEGER; label: ADDRESS) ; ++PROCEDURE BuildIfNotConstInVar (location: location_t; type: tree; varset: tree; constel: tree; is_lvalue: BOOLEAN; fieldno: INTEGER; label: CharStar) ; + + + (* + BuildIfVarInVar - generates: if varel in varset then goto label + *) + +-PROCEDURE BuildIfVarInVar (location: location_t; type: Tree; varset: Tree; varel: Tree; is_lvalue: BOOLEAN; low: Tree; high: Tree; label: ADDRESS) ; ++PROCEDURE BuildIfVarInVar (location: location_t; type: tree; varset: tree; varel: tree; is_lvalue: BOOLEAN; low: tree; high: tree; label: CharStar) ; + + + (* + BuildIfNotVarInVar - generates: if not (varel in varset) then goto label + *) + +-PROCEDURE BuildIfNotVarInVar (location: location_t; type: Tree; varset: Tree; varel: Tree; is_lvalue: BOOLEAN; low: Tree; high: Tree; label: ADDRESS) ; ++PROCEDURE BuildIfNotVarInVar (location: location_t; type: tree; varset: tree; varel: tree; is_lvalue: BOOLEAN; low: tree; high: tree; label: CharStar) ; + + + (* +@@ -542,24 +542,24 @@ PROCEDURE BuildIfNotVarInVar (location: location_t; type: Tree; varset: Tree; va + *) + + PROCEDURE BuildForeachWordInSetDoIfExpr (location: location_t; +- type, op1, op2: Tree; ++ type, op1, op2: tree; + is_op1lvalue, is_op2lvalue, + is_op1const, isop2const: BOOLEAN; +- expr: BuildExprProcedure; label: ADDRESS) ; ++ expr: BuildExprProcedure; label: CharStar) ; + + + (* + BuildIfInRangeGoto - if var is in the range low..high then goto label + *) + +-PROCEDURE BuildIfInRangeGoto (location: location_t; var: Tree; low: Tree; high: Tree; label: ADDRESS) ; ++PROCEDURE BuildIfInRangeGoto (location: location_t; var: tree; low: tree; high: tree; label: CharStar) ; + + + (* + BuildIfNotInRangeGoto - if var is not in the range low..high then goto label + *) + +-PROCEDURE BuildIfNotInRangeGoto (location: location_t; var: Tree; low: Tree; high: Tree; label: ADDRESS) ; ++PROCEDURE BuildIfNotInRangeGoto (location: location_t; var: tree; low: tree; high: tree; label: CharStar) ; + + + (* +@@ -567,7 +567,7 @@ PROCEDURE BuildIfNotInRangeGoto (location: location_t; var: Tree; low: Tree; hig + given, lowIndice. + *) + +-PROCEDURE BuildArray (location: location_t; type: Tree; array: Tree; index: Tree; lowIndice: Tree) : Tree ; ++PROCEDURE BuildArray (location: location_t; type: tree; array: tree; index: tree; lowIndice: tree) : tree ; + + + (* +@@ -576,35 +576,35 @@ PROCEDURE BuildArray (location: location_t; type: Tree; array: Tree; index: Tree + BuildComponentRef on the penultimate field. + *) + +-PROCEDURE BuildComponentRef (location: location_t; record: Tree; field: Tree) : Tree ; ++PROCEDURE BuildComponentRef (location: location_t; record: tree; field: tree) : tree ; + + + (* + BuildIndirect - build: ( *target) given that the object to be copied is of, type. + *) + +-PROCEDURE BuildIndirect (location: location_t; target: Tree; type: Tree) : Tree ; ++PROCEDURE BuildIndirect (location: location_t; target: tree; type: tree) : tree ; + + + (* + IsTrue - returns TRUE if, t, is known to be TRUE. + *) + +-PROCEDURE IsTrue (t: Tree) : BOOLEAN ; ++PROCEDURE IsTrue (t: tree) : BOOLEAN ; + + + (* + IsFalse - returns FALSE if, t, is known to be FALSE. + *) + +-PROCEDURE IsFalse (t: Tree) : BOOLEAN ; ++PROCEDURE IsFalse (t: tree) : BOOLEAN ; + + + (* + GetCstInteger - return the integer value of the cst tree. + *) + +-PROCEDURE GetCstInteger (cst: Tree) : INTEGER ; ++PROCEDURE GetCstInteger (cst: tree) : INTEGER ; + + + (* +@@ -612,7 +612,7 @@ PROCEDURE GetCstInteger (cst: Tree) : INTEGER ; + TRUE if the value of e1 is the same as e2. + *) + +-PROCEDURE AreConstantsEqual (e1: Tree; e2: Tree) : BOOLEAN ; ++PROCEDURE AreConstantsEqual (e1: tree; e2: tree) : BOOLEAN ; + + + (* +@@ -624,7 +624,7 @@ PROCEDURE AreConstantsEqual (e1: Tree; e2: Tree) : BOOLEAN ; + -0 == 0 and NaN != NaN. + *) + +-PROCEDURE AreRealOrComplexConstantsEqual (e1: Tree; e2: Tree) : BOOLEAN ; ++PROCEDURE AreRealOrComplexConstantsEqual (e1: tree; e2: tree) : BOOLEAN ; + + + (* +@@ -635,44 +635,44 @@ PROCEDURE AreRealOrComplexConstantsEqual (e1: Tree; e2: Tree) : BOOLEAN ; + an unsigned constant will never return -1 + *) + +-PROCEDURE DetermineSign (e: Tree) : INTEGER ; ++PROCEDURE DetermineSign (e: tree) : INTEGER ; + + + (* + BuildCap - builds the Modula-2 function CAP(t) and returns +- the result in a gcc Tree. ++ the result in a gcc tree. + *) + +-PROCEDURE BuildCap (location: location_t; t: Tree) : Tree ; ++PROCEDURE BuildCap (location: location_t; t: tree) : tree ; + + + (* + BuildAbs - builds the Modula-2 function ABS(t) and returns +- the result in a gcc Tree. ++ the result in a gcc tree. + *) + +-PROCEDURE BuildAbs (location: location_t; t: Tree) : Tree ; ++PROCEDURE BuildAbs (location: location_t; t: tree) : tree ; + + + (* + BuildRe - builds an expression for the function RE. + *) + +-PROCEDURE BuildRe (op1: Tree) : Tree ; ++PROCEDURE BuildRe (op1: tree) : tree ; + + + (* + BuildIm - builds an expression for the function IM. + *) + +-PROCEDURE BuildIm (op1: Tree) : Tree ; ++PROCEDURE BuildIm (op1: tree) : tree ; + + + (* + BuildCmplx - builds an expression for the function CMPLX. + *) + +-PROCEDURE BuildCmplx (location: location_t; type: Tree; real: Tree; imag: Tree) : Tree ; ++PROCEDURE BuildCmplx (location: location_t; type: tree; real: tree; imag: tree) : tree ; + + + (* +@@ -683,7 +683,7 @@ PROCEDURE BuildCmplx (location: location_t; type: Tree; real: Tree; imag: Tree) + *) + + PROCEDURE BuildBinaryForeachWordDo (location: location_t; +- type, op1, op2, op3: Tree; ++ type, op1, op2, op3: tree; + binop: BuildBinProcedure; + is_op1lvalue, + is_op2lvalue, +@@ -700,17 +700,17 @@ PROCEDURE BuildBinaryForeachWordDo (location: location_t; + *) + + PROCEDURE BuildBinarySetDo (location: location_t; +- settype, op1, op2, op3: Tree; ++ settype, op1, op2, op3: tree; + binop: BuildSetProcedure; + is_op1lvalue, is_op2lvalue, is_op3lvalue: BOOLEAN; +- nBits, unbounded: Tree; +- varproc, leftproc, rightproc: Tree) ; ++ nBits, unbounded: tree; ++ varproc, leftproc, rightproc: tree) ; + + (* + ConstantExpressionWarning - issue a warning if the constant has overflowed. + *) + +-PROCEDURE ConstantExpressionWarning (value: Tree) ; ++PROCEDURE ConstantExpressionWarning (value: tree) ; + + + (* +@@ -718,7 +718,7 @@ PROCEDURE ConstantExpressionWarning (value: Tree) ; + and op2 is not a pointer type. + *) + +-PROCEDURE BuildAddAddress (location: location_t; op1, op2: Tree) : Tree ; ++PROCEDURE BuildAddAddress (location: location_t; op1, op2: tree) : tree ; + + + (* +@@ -726,7 +726,7 @@ PROCEDURE BuildAddAddress (location: location_t; op1, op2: Tree) : Tree ; + represent: min..max. + *) + +-PROCEDURE calcNbits (location: location_t; min, max: Tree) : Tree ; ++PROCEDURE calcNbits (location: location_t; min, max: tree) : tree ; + + + (* +@@ -734,7 +734,7 @@ PROCEDURE calcNbits (location: location_t; min, max: Tree) : Tree ; + *) + + PROCEDURE OverflowZType (location: location_t; +- str: ADDRESS; base: CARDINAL; ++ str: ConstCharStar; base: CARDINAL; + issueError: BOOLEAN) : BOOLEAN ; + + (* +@@ -742,7 +742,7 @@ PROCEDURE OverflowZType (location: location_t; + (condition) ? (left) : right. + *) + +-PROCEDURE BuildCondIfExpression (condition, type, left, right: Tree) : Tree ; ++PROCEDURE BuildCondIfExpression (condition, type, left, right: tree) : tree ; + + + END m2expr. +--- a/src/gcc/m2/gm2-gcc/m2linemap.cc ++++ b/src/gcc/m2/gm2-gcc/m2linemap.cc +@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License + along with GNU Modula-2; see the file COPYING3. If not see + . */ + ++#define INCLUDE_STRING + #include "gcc-consolidation.h" + + /* Utilize some of the C build routines */ +@@ -36,7 +37,6 @@ along with GNU Modula-2; see the file COPYING3. If not see + #define m2linemap_c + #include "m2linemap.h" + #include "m2color.h" +-#include + + static int inFile = FALSE; + +--- a/src/gcc/m2/gm2-gcc/m2linemap.def ++++ b/src/gcc/m2/gm2-gcc/m2linemap.def +@@ -1,4 +1,4 @@ +-(* m2linemap.def provides access to GCC location_t. ++(* m2linemap.def provides access to GCC location_t functions. + + Copyright (C) 2011-2024 Free Software Foundation, Inc. + Contributed by Gaius Mulley . +@@ -22,15 +22,13 @@ along with GNU Modula-2; see the file COPYING3. If not see + DEFINITION MODULE FOR "C" m2linemap ; + + FROM SYSTEM IMPORT ADDRESS ; ++FROM gcctypes IMPORT location_t ; + + EXPORT QUALIFIED StartFile, EndFile, StartLine, GetLocationColumn, GetLocationRange, + GetLocationBinary, UnknownLocation, BuiltinsLocation, + GetLineNoFromLocation, GetColumnNoFromLocation, + GetFilenameFromLocation, ErrorAt, ErrorAtf, +- WarningAtf, NoteAtf, internal_error, location_t ; +- +-TYPE +- location_t = CARDINAL ; ++ WarningAtf, NoteAtf, internal_error ; + + + PROCEDURE StartFile (filename: ADDRESS; linebegin: CARDINAL) ; +--- a/src/gcc/m2/gm2-gcc/m2misc.def ++++ b/src/gcc/m2/gm2-gcc/m2misc.def +@@ -21,13 +21,12 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2misc ; + +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + FROM SYSTEM IMPORT ADDRESS ; + +- +-PROCEDURE DebugTree (t: Tree) ; ++PROCEDURE DebugTree (t: tree) ; + PROCEDURE error (message: ARRAY OF CHAR) ; + PROCEDURE cerror (message: ADDRESS) ; +- ++PROCEDURE warning_m2_dump_filter (message, rule: ADDRESS) ; + + END m2misc. +--- a/src/gcc/m2/gm2-gcc/m2pp.def ++++ b/src/gcc/m2/gm2-gcc/m2pp.def +@@ -22,7 +22,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + DEFINITION MODULE FOR "C" m2pp ; + + FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; ++FROM gcctypes IMPORT tree ; + + + (* +@@ -39,7 +39,7 @@ PROCEDURE CreateDumpGimple (templatename: ADDRESS; templatelen: CARDINAL) ; + PROCEDURE CloseDumpGimple ; + + +-PROCEDURE DumpGimpleFd (fd: INTEGER; fndecl: Tree) ; ++PROCEDURE DumpGimpleFd (fd: INTEGER; fndecl: tree) ; + + + END m2pp. +--- a/src/gcc/m2/gm2-gcc/m2statement.cc ++++ b/src/gcc/m2/gm2-gcc/m2statement.cc +@@ -361,7 +361,7 @@ m2statement_BuildIndirectProcedureCallTree (location_t location, + /* BuildBuiltinCallTree calls the builtin procedure. */ + + tree +-m2statement_BuildBuiltinCallTree (location_t location, tree func) ++m2statement_BuildBuiltinCallTree (tree func) + { + TREE_USED (func) = true; + TREE_SIDE_EFFECTS (func) = true; +--- a/src/gcc/m2/gm2-gcc/m2statement.def ++++ b/src/gcc/m2/gm2-gcc/m2statement.def +@@ -21,10 +21,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2statement ; + +- +-FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; ++FROM CDataTypes IMPORT CharStar ; + FROM m2expr IMPORT BuildUnarySetFunction ; + + +@@ -33,28 +31,28 @@ FROM m2expr IMPORT BuildUnarySetFunction ; + result of the expression is TRUE or FALSE. + *) + +-PROCEDURE DoJump (location: location_t; exp: Tree; falselabel: ADDRESS; truelabel: ADDRESS) ; ++PROCEDURE DoJump (location: location_t; exp: tree; falselabel, truelabel: CharStar) ; + + + (* + BuildStartFunctionCode - generate function entry code. + *) + +-PROCEDURE BuildStartFunctionCode (location: location_t; fndecl: Tree; isexported: BOOLEAN; isinline: BOOLEAN) ; ++PROCEDURE BuildStartFunctionCode (location: location_t; fndecl: tree; isexported: BOOLEAN; isinline: BOOLEAN) ; + + + (* + BuildEndFunctionCode - generates the function epilogue. + *) + +-PROCEDURE BuildEndFunctionCode (location: location_t; fndecl: Tree; nested: BOOLEAN) ; ++PROCEDURE BuildEndFunctionCode (location: location_t; fndecl: tree; nested: BOOLEAN) ; + + + (* + BuildReturnValueCode - generates the code associated with: RETURN( value ) + *) + +-PROCEDURE BuildReturnValueCode (location: location_t; fndecl: Tree; value: Tree) ; ++PROCEDURE BuildReturnValueCode (location: location_t; fndecl: tree; value: tree) ; + + + (* +@@ -78,28 +76,28 @@ PROCEDURE BuildPopFunctionContext ; + It returns, des. + *) + +-PROCEDURE BuildAssignmentTree (location: location_t; des, expr: Tree) : Tree ; ++PROCEDURE BuildAssignmentTree (location: location_t; des, expr: tree) : tree ; + + + (* + BuildAssignmentStatement builds the assignment of, des, and, expr. + *) + +-PROCEDURE BuildAssignmentStatement (location: location_t; des, expr: Tree) ; ++PROCEDURE BuildAssignmentStatement (location: location_t; des, expr: tree) ; + + + (* + BuildGoto - builds a goto operation. + *) + +-PROCEDURE BuildGoto (location: location_t; name: ADDRESS) ; ++PROCEDURE BuildGoto (location: location_t; name: CharStar) ; + + + (* + DeclareLabel - create a label, name. + *) + +-PROCEDURE DeclareLabel (location: location_t; name: ADDRESS) ; ++PROCEDURE DeclareLabel (location: location_t; name: CharStar) ; + + + (* +@@ -107,7 +105,7 @@ PROCEDURE DeclareLabel (location: location_t; name: ADDRESS) ; + statement, s, if, condition, is true. + *) + +-PROCEDURE BuildIfThenDoEnd (condition: Tree; then_block: Tree) : Tree ; ++PROCEDURE BuildIfThenDoEnd (condition: tree; then_block: tree) : tree ; + + + (* +@@ -116,14 +114,14 @@ PROCEDURE BuildIfThenDoEnd (condition: Tree; then_block: Tree) : Tree ; + condition. + *) + +-PROCEDURE BuildIfThenElseEnd (condition: Tree; then_block: Tree; else_block: Tree) : Tree ; ++PROCEDURE BuildIfThenElseEnd (condition: tree; then_block: tree; else_block: tree) : tree ; + + + (* + BuildParam - build a list of parameters, ready for a subsequent procedure call. + *) + +-PROCEDURE BuildParam (location: location_t; param: Tree) ; ++PROCEDURE BuildParam (location: location_t; param: tree) ; + + + (* +@@ -136,7 +134,7 @@ PROCEDURE BuildParam (location: location_t; param: Tree) ; + a call to BuildFunctionCallTree. + *) + +-PROCEDURE BuildFunctionCallTree (location: location_t; procedure: Tree; rettype: Tree) ; ++PROCEDURE BuildFunctionCallTree (location: location_t; procedure: tree; rettype: tree) ; + + + (* +@@ -144,7 +142,7 @@ PROCEDURE BuildFunctionCallTree (location: location_t; procedure: Tree; rettype: + parameter list and the return type, rettype. + *) + +-PROCEDURE BuildProcedureCallTree (location: location_t; procedure: Tree; rettype: Tree) : Tree ; ++PROCEDURE BuildProcedureCallTree (location: location_t; procedure: tree; rettype: tree) : tree ; + + + (* +@@ -152,14 +150,14 @@ PROCEDURE BuildProcedureCallTree (location: location_t; procedure: Tree; rettype + parameter list and the return type, rettype. + *) + +-PROCEDURE BuildIndirectProcedureCallTree (location: location_t; procedure: Tree; rettype: Tree) : Tree ; ++PROCEDURE BuildIndirectProcedureCallTree (location: location_t; procedure: tree; rettype: tree) : tree ; + + + (* + BuildFunctValue - generates code for value := last_function(foobar); + *) + +-PROCEDURE BuildFunctValue (location: location_t; value: Tree) : Tree ; ++PROCEDURE BuildFunctValue (location: location_t; value: tree) : tree ; + + + (* +@@ -167,7 +165,7 @@ PROCEDURE BuildFunctValue (location: location_t; value: Tree) : Tree ; + *) + + PROCEDURE BuildCall2 (location: location_t; +- function, rettype, arg1, arg2: Tree) : Tree ; ++ function, rettype, arg1, arg2: tree) : tree ; + + + (* +@@ -175,28 +173,28 @@ PROCEDURE BuildCall2 (location: location_t; + *) + + PROCEDURE BuildCall3 (location: location_t; +- function, rettype, arg1, arg2, arg3: Tree) : Tree ; ++ function, rettype, arg1, arg2, arg3: tree) : tree ; + + + (* + SetLastFunction - set the last_function to, t. + *) + +-PROCEDURE SetLastFunction (t: Tree) ; ++PROCEDURE SetLastFunction (t: tree) ; + + + (* + GetLastFunction - returns, last_function. + *) + +-PROCEDURE GetLastFunction () : Tree ; ++PROCEDURE GetLastFunction () : tree ; + + + (* + GetParamTree - return parameter, i. + *) + +-PROCEDURE GetParamTree (call: Tree; i: CARDINAL) : Tree ; ++PROCEDURE GetParamTree (call: tree; i: CARDINAL) : tree ; + + + (* +@@ -204,23 +202,23 @@ PROCEDURE GetParamTree (call: Tree; i: CARDINAL) : Tree ; + attached. + *) + +-PROCEDURE BuildTryFinally (location: location_t; call: Tree; cleanups: Tree) : Tree ; ++PROCEDURE BuildTryFinally (location: location_t; call: tree; cleanups: tree) : tree ; + + + (* + BuildCleanUp - return a CLEANUP_POINT_EXPR which will clobber, param. + *) + +-PROCEDURE BuildCleanUp (param: Tree) : Tree ; ++PROCEDURE BuildCleanUp (param: tree) : tree ; + + + (* + BuildAsm - generates an inline assembler instruction. + *) + +-PROCEDURE BuildAsm (location: location_t; instr: Tree; ++PROCEDURE BuildAsm (location: location_t; instr: tree; + isVolatile: BOOLEAN; isSimple: BOOLEAN; +- inputs: Tree; outputs: Tree; trash: Tree; labels: Tree) ; ++ inputs: tree; outputs: tree; trash: tree; labels: tree) ; + + + (* +@@ -231,7 +229,7 @@ PROCEDURE BuildAsm (location: location_t; instr: Tree; + of the large set invoking the unop. + *) + +-PROCEDURE BuildUnaryForeachWordDo (location: location_t; type: Tree; op1: Tree; op2: Tree; ++PROCEDURE BuildUnaryForeachWordDo (location: location_t; type: tree; op1: tree; op2: tree; + unop: BuildUnarySetFunction; + is_op1lvalue, is_op2lvalue, is_op1const, is_op2const: BOOLEAN) ; + +@@ -242,7 +240,7 @@ PROCEDURE BuildUnaryForeachWordDo (location: location_t; type: Tree; op1: Tree; + op2 is a constant. + *) + +-PROCEDURE BuildExcludeVarConst (location: location_t; type: Tree; op1: Tree; op2: Tree; is_lvalue: BOOLEAN; fieldno: INTEGER) ; ++PROCEDURE BuildExcludeVarConst (location: location_t; type: tree; op1: tree; op2: tree; is_lvalue: BOOLEAN; fieldno: INTEGER) ; + + + (* +@@ -250,7 +248,7 @@ PROCEDURE BuildExcludeVarConst (location: location_t; type: Tree; op1: Tree; op2 + varel is a variable. + *) + +-PROCEDURE BuildExcludeVarVar (location: location_t; type: Tree; varset: Tree; varel: Tree; is_lvalue: BOOLEAN; low: Tree) ; ++PROCEDURE BuildExcludeVarVar (location: location_t; type: tree; varset: tree; varel: tree; is_lvalue: BOOLEAN; low: tree) ; + + + (* +@@ -259,7 +257,7 @@ PROCEDURE BuildExcludeVarVar (location: location_t; type: Tree; varset: Tree; va + op2 is a constant. + *) + +-PROCEDURE BuildIncludeVarConst (location: location_t; type: Tree; op1: Tree; op2: Tree; is_lvalue: BOOLEAN; fieldno: INTEGER) ; ++PROCEDURE BuildIncludeVarConst (location: location_t; type: tree; op1: tree; op2: tree; is_lvalue: BOOLEAN; fieldno: INTEGER) ; + + + (* +@@ -267,7 +265,7 @@ PROCEDURE BuildIncludeVarConst (location: location_t; type: Tree; op1: Tree; op2 + op2 is a variable. + *) + +-PROCEDURE BuildIncludeVarVar (location: location_t; type: Tree; varset: Tree; varel: Tree; is_lvalue: BOOLEAN; low: Tree) ; ++PROCEDURE BuildIncludeVarVar (location: location_t; type: tree; varset: tree; varel: tree; is_lvalue: BOOLEAN; low: tree) ; + + + (* +@@ -278,21 +276,21 @@ PROCEDURE BuildIncludeVarVar (location: location_t; type: Tree; varset: Tree; va + sequence for all modules. + *) + +-PROCEDURE BuildStart (location: location_t; name: ADDRESS; inner_module: BOOLEAN) : Tree ; ++PROCEDURE BuildStart (location: location_t; name: CharStar; inner_module: BOOLEAN) : tree ; + + + (* + BuildEnd - complete the initialisation function for this module. + *) + +-PROCEDURE BuildEnd (location: location_t; fndecl: Tree; nested: BOOLEAN) ; ++PROCEDURE BuildEnd (location: location_t; fndecl: tree; nested: BOOLEAN) ; + + + (* + BuildCallInner - call the inner module function. It has no parameters and no return value. + *) + +-PROCEDURE BuildCallInner (location: location_t; fndecl: Tree) ; ++PROCEDURE BuildCallInner (location: location_t; fndecl: tree) ; + + + (* +@@ -313,7 +311,7 @@ PROCEDURE SetEndLocation (location: location_t) ; + BuildBuiltinCallTree - calls the builtin procedure. + *) + +-PROCEDURE BuildBuiltinCallTree (location: location_t; func: Tree) : Tree ; ++PROCEDURE BuildBuiltinCallTree (func: tree) : tree ; + + + END m2statement. +--- a/src/gcc/m2/gm2-gcc/m2statement.h ++++ b/src/gcc/m2/gm2-gcc/m2statement.h +@@ -103,7 +103,7 @@ EXTERN tree m2statement_GetCurrentFunction (void); + EXTERN void m2statement_SetBeginLocation (location_t location); + EXTERN void m2statement_SetEndLocation (location_t location); + EXTERN tree m2statement_GetParamTree (tree call, unsigned int i); +-EXTERN tree m2statement_BuildBuiltinCallTree (location_t location, tree func); ++EXTERN tree m2statement_BuildBuiltinCallTree (tree func); + + EXTERN tree m2statement_BuildTryFinally (location_t location, tree call, + tree cleanups); +--- a/src/gcc/m2/gm2-gcc/m2tree.def ++++ b/src/gcc/m2/gm2-gcc/m2tree.def +@@ -22,20 +22,18 @@ along with GNU Modula-2; see the file COPYING3. If not see + DEFINITION MODULE FOR "C" m2tree ; + + FROM SYSTEM IMPORT ADDRESS ; +- +-TYPE +- Tree = ADDRESS ; +- +- +-PROCEDURE IsAConstant (t: Tree) : BOOLEAN ; +-PROCEDURE IsOrdinal (type: Tree) : BOOLEAN ; +-PROCEDURE IsTreeOverflow (value: Tree) : BOOLEAN ; +-PROCEDURE skip_const_decl (exp: Tree) : Tree ; +-PROCEDURE skip_type_decl (type: Tree) : Tree ; +-PROCEDURE is_type (type: Tree) : BOOLEAN ; +-PROCEDURE is_array (array: Tree) : BOOLEAN ; +-PROCEDURE is_var (var: Tree) : BOOLEAN ; +-PROCEDURE debug_tree (t: Tree) ; ++FROM gcctypes IMPORT tree ; ++ ++ ++PROCEDURE IsAConstant (t: tree) : BOOLEAN ; ++PROCEDURE IsOrdinal (type: tree) : BOOLEAN ; ++PROCEDURE IstreeOverflow (value: tree) : BOOLEAN ; ++PROCEDURE skip_const_decl (exp: tree) : tree ; ++PROCEDURE skip_type_decl (type: tree) : tree ; ++PROCEDURE is_type (type: tree) : BOOLEAN ; ++PROCEDURE is_array (array: tree) : BOOLEAN ; ++PROCEDURE is_var (var: tree) : BOOLEAN ; ++PROCEDURE debug_tree (t: tree) ; + + + END m2tree. +--- a/src/gcc/m2/gm2-gcc/m2treelib.def ++++ b/src/gcc/m2/gm2-gcc/m2treelib.def +@@ -21,8 +21,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + DEFINITION MODULE FOR "C" m2treelib ; + +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; ++FROM gcctypes IMPORT location_t, tree ; + FROM SYSTEM IMPORT ADDRESS ; + + TYPE +@@ -35,28 +34,28 @@ TYPE + NULL is returned if, op, is a constant. + *) + +-PROCEDURE get_set_address_if_var (location: location_t; op: Tree; is_lvalue, is_const: BOOLEAN) : Tree ; ++PROCEDURE get_set_address_if_var (location: location_t; op: tree; is_lvalue, is_const: BOOLEAN) : tree ; + + + (* + get_set_field_rhs - returns the value of p->field. + *) + +-PROCEDURE get_set_field_rhs (location: location_t; p: Tree; field: Tree) : Tree ; ++PROCEDURE get_set_field_rhs (location: location_t; p: tree; field: tree) : tree ; + + + (* + get_set_field_lhs - returns the address of p->field. + *) + +-PROCEDURE get_set_field_lhs (location: location_t; p: Tree; field: Tree) : Tree ; ++PROCEDURE get_set_field_lhs (location: location_t; p: tree; field: tree) : tree ; + + + (* + get_set_address - returns the address of op1. + *) + +-PROCEDURE get_set_address (location: location_t; op1: Tree; is_lvalue: BOOLEAN) : Tree ; ++PROCEDURE get_set_address (location: location_t; op1: tree; is_lvalue: BOOLEAN) : tree ; + + + (* +@@ -64,7 +63,7 @@ PROCEDURE get_set_address (location: location_t; op1: Tree; is_lvalue: BOOLEAN) + Either p->field or the constant(op.fieldNo) is returned. + *) + +-PROCEDURE get_set_value (location: location_t; p: Tree; field: Tree; is_const: BOOLEAN; op: Tree; fieldNo: CARDINAL) : Tree ; ++PROCEDURE get_set_value (location: location_t; p: tree; field: tree; is_const: BOOLEAN; op: tree; fieldNo: CARDINAL) : tree ; + + + (* +@@ -76,7 +75,7 @@ PROCEDURE get_set_value (location: location_t; p: Tree; field: Tree; is_const: B + appropriate field number. + *) + +-PROCEDURE get_field_no (type: Tree; op: Tree; is_const: BOOLEAN; fieldNo: CARDINAL) : Tree ; ++PROCEDURE get_field_no (type: tree; op: tree; is_const: BOOLEAN; fieldNo: CARDINAL) : tree ; + + + (* +@@ -84,18 +83,18 @@ PROCEDURE get_field_no (type: Tree; op: Tree; is_const: BOOLEAN; fieldNo: CARDIN + copied upon indirection. + *) + +-PROCEDURE get_rvalue (location: location_t; t: Tree; type: Tree; is_lvalue: BOOLEAN) : Tree ; ++PROCEDURE get_rvalue (location: location_t; t: tree; type: tree; is_lvalue: BOOLEAN) : tree ; + + + (* + DoCall - build a call tree arranging the parameter list as a vector. + *) + +-PROCEDURE DoCall (location: location_t; rettype: Tree; funcptr: Tree; param_list: Tree) : Tree ; ++PROCEDURE DoCall (location: location_t; rettype: tree; funcptr: tree; param_list: tree) : tree ; + + + +-PROCEDURE build_modify_expr (location: location_t; des: Tree; modifycode: tree_code; copy: Tree) : Tree ; ++PROCEDURE build_modify_expr (location: location_t; des: tree; modifycode: tree_code; copy: tree) : tree ; + + + (* +@@ -103,7 +102,7 @@ PROCEDURE build_modify_expr (location: location_t; des: Tree; modifycode: tree_c + If the result is true then jump to label. + *) + +-PROCEDURE do_jump_if_bit (location: location_t; code: tree_code; word: Tree; bit: Tree; label: ADDRESS) ; ++PROCEDURE do_jump_if_bit (location: location_t; code: tree_code; word: tree; bit: tree; label: ADDRESS) ; + + + END m2treelib. +--- a/src/gcc/m2/gm2-gcc/m2type.cc ++++ b/src/gcc/m2/gm2-gcc/m2type.cc +@@ -1415,45 +1415,29 @@ build_m2_char_node (void) + static tree + build_m2_short_real_node (void) + { +- tree c; +- +- /* Define `REAL'. */ +- +- c = make_node (REAL_TYPE); +- TYPE_PRECISION (c) = FLOAT_TYPE_SIZE; +- layout_type (c); +- return c; ++ /* Define `SHORTREAL'. */ ++ ASSERT_CONDITION (TYPE_PRECISION (float_type_node) == FLOAT_TYPE_SIZE); ++ return float_type_node; + } + + static tree + build_m2_real_node (void) + { +- tree c; +- + /* Define `REAL'. */ +- +- c = make_node (REAL_TYPE); +- TYPE_PRECISION (c) = DOUBLE_TYPE_SIZE; +- layout_type (c); +- return c; ++ ASSERT_CONDITION (TYPE_PRECISION (double_type_node) == DOUBLE_TYPE_SIZE); ++ return double_type_node; + } + + static tree + build_m2_long_real_node (void) + { + tree longreal; +- ++ + /* Define `LONGREAL'. */ +- if (M2Options_GetIBMLongDouble ()) +- { +- longreal = make_node (REAL_TYPE); +- TYPE_PRECISION (longreal) = LONG_DOUBLE_TYPE_SIZE; +- } +- else if (M2Options_GetIEEELongDouble ()) ++ if (M2Options_GetIEEELongDouble ()) + longreal = float128_type_node; + else + longreal = long_double_type_node; +- layout_type (longreal); + return longreal; + } + +--- a/src/gcc/m2/gm2-gcc/m2type.def ++++ b/src/gcc/m2/gm2-gcc/m2type.def +@@ -22,9 +22,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + DEFINITION MODULE FOR "C" m2type ; + + FROM SYSTEM IMPORT ADDRESS ; +-FROM m2tree IMPORT Tree ; +-FROM m2linemap IMPORT location_t ; +- ++FROM gcctypes IMPORT location_t, tree ; ++FROM CDataTypes IMPORT CharStar, ConstCharStar ; + + TYPE + Constructor = ADDRESS ; +@@ -35,7 +34,7 @@ TYPE + of, type. + *) + +-PROCEDURE ValueInTypeRange (type: Tree; value: Tree) : BOOLEAN ; ++PROCEDURE ValueInTypeRange (type: tree; value: tree) : BOOLEAN ; + + + (* +@@ -43,49 +42,49 @@ PROCEDURE ValueInTypeRange (type: Tree; value: Tree) : BOOLEAN ; + of, type. + *) + +-PROCEDURE ValueOutOfTypeRange (type: Tree; value: Tree) : BOOLEAN ; ++PROCEDURE ValueOutOfTypeRange (type: tree; value: tree) : BOOLEAN ; + + + (* + ExceedsTypeRange - return TRUE if low or high exceed the range of, type. + *) + +-PROCEDURE ExceedsTypeRange (type: Tree; low, high: Tree) : BOOLEAN ; ++PROCEDURE ExceedsTypeRange (type: tree; low, high: tree) : BOOLEAN ; + + + (* + WithinTypeRange - return TRUE if low and high are within the range of, type. + *) + +-PROCEDURE WithinTypeRange (type: Tree; low, high: Tree) : BOOLEAN ; ++PROCEDURE WithinTypeRange (type: tree; low, high: tree) : BOOLEAN ; + + + (* + BuildSubrangeType - creates a subrange of, type, with, lowval, highval. + *) + +-PROCEDURE BuildSubrangeType (location: location_t; name: ADDRESS; type: Tree; lowval: Tree; highval: Tree) : Tree ; ++PROCEDURE BuildSubrangeType (location: location_t; name: CharStar; type: tree; lowval: tree; highval: tree) : tree ; + + + (* + BuildCharConstant - creates a character constant given a, string. + *) + +-PROCEDURE BuildCharConstant (location: location_t; string: ADDRESS) : Tree ; ++PROCEDURE BuildCharConstant (location: location_t; string: ConstCharStar) : tree ; + + + (* + BuildCharConstantChar - creates a character constant given a character, ch. + *) + +-PROCEDURE BuildCharConstantChar (location: location_t; ch: CHAR) : Tree ; ++PROCEDURE BuildCharConstantChar (location: location_t; ch: CHAR) : tree ; + + + (* + BuildArrayConstructorElement - adds, value, to the constructor_element_list. + *) + +-PROCEDURE BuildArrayConstructorElement (p: ADDRESS; value: Tree; indice: Tree) ; ++PROCEDURE BuildArrayConstructorElement (p: ADDRESS; value: tree; indice: tree) ; + + + (* +@@ -93,7 +92,7 @@ PROCEDURE BuildArrayConstructorElement (p: ADDRESS; value: Tree; indice: Tree) ; + compound literal. + *) + +-PROCEDURE BuildEndArrayConstructor (p: Constructor) : Tree ; ++PROCEDURE BuildEndArrayConstructor (p: Constructor) : tree ; + + + (* +@@ -101,21 +100,21 @@ PROCEDURE BuildEndArrayConstructor (p: Constructor) : Tree ; + compound literal. + *) + +-PROCEDURE BuildStartArrayConstructor (type: Tree) : Constructor ; ++PROCEDURE BuildStartArrayConstructor (type: tree) : Constructor ; + + + (* + BuildRecordConstructorElement - adds, value, to the constructor_element_list. + *) + +-PROCEDURE BuildRecordConstructorElement (p: Constructor; value: Tree) ; ++PROCEDURE BuildRecordConstructorElement (p: Constructor; value: tree) ; + + + (* + BuildEndRecordConstructor - returns a tree containing the record compound literal. + *) + +-PROCEDURE BuildEndRecordConstructor (p: Constructor) : Tree ; ++PROCEDURE BuildEndRecordConstructor (p: Constructor) : tree ; + + + (* +@@ -123,21 +122,21 @@ PROCEDURE BuildEndRecordConstructor (p: Constructor) : Tree ; + constructor frame. + *) + +-PROCEDURE BuildStartRecordConstructor (type: Tree) : Constructor ; ++PROCEDURE BuildStartRecordConstructor (type: tree) : Constructor ; + + + (* + BuildEndSetConstructor - finishes building a set constant. + *) + +-PROCEDURE BuildEndSetConstructor (p: Constructor) : Tree ; ++PROCEDURE BuildEndSetConstructor (p: Constructor) : tree ; + + + (* + BuildSetConstructorElement - adds, value, to the constructor_element_list. + *) + +-PROCEDURE BuildSetConstructorElement (p: Constructor; value: Tree) ; ++PROCEDURE BuildSetConstructorElement (p: Constructor; value: tree) ; + + + (* +@@ -145,28 +144,28 @@ PROCEDURE BuildSetConstructorElement (p: Constructor; value: Tree) ; + Remember that type is really a record type. + *) + +-PROCEDURE BuildStartSetConstructor (type: Tree) : Constructor ; ++PROCEDURE BuildStartSetConstructor (type: tree) : Constructor ; + + + (* + BuildSetType - creates a SET OF [lowval..highval] + *) + +-PROCEDURE BuildSetType (location: location_t; name: ADDRESS; type: Tree; lowval: Tree; highval: Tree; ispacked: BOOLEAN) : Tree ; ++PROCEDURE BuildSetType (location: location_t; name: CharStar; type: tree; lowval: tree; highval: tree; ispacked: BOOLEAN) : tree ; + + + (* + BuildConstPointerType - returns a type which is a const pointer to, totype. + *) + +-PROCEDURE BuildConstPointerType (totype: Tree) : Tree ; ++PROCEDURE BuildConstPointerType (totype: tree) : tree ; + + + (* + BuildPointerType - returns a type which is a pointer to, totype. + *) + +-PROCEDURE BuildPointerType (totype: Tree) : Tree ; ++PROCEDURE BuildPointerType (totype: tree) : tree ; + + + (* +@@ -174,8 +173,8 @@ PROCEDURE BuildPointerType (totype: Tree) : Tree ; + It returns a copy of the value. --fixme-- why do this? + *) + +-PROCEDURE BuildEnumerator (location: location_t; name: ADDRESS; value: Tree; +- VAR enumvalues: Tree) : Tree ; ++PROCEDURE BuildEnumerator (location: location_t; name: CharStar; value: tree; ++ VAR enumvalues: tree) : tree ; + + + (* +@@ -183,21 +182,21 @@ PROCEDURE BuildEnumerator (location: location_t; name: ADDRESS; value: Tree; + list, enumvalues, and returns a enumeration type tree. + *) + +-PROCEDURE BuildEndEnumeration (location: location_t; type: Tree; enumvalues: Tree) : Tree ; ++PROCEDURE BuildEndEnumeration (location: location_t; type: tree; enumvalues: tree) : tree ; + + + (* + BuildStartEnumeration - create an enumerated type in gcc. + *) + +-PROCEDURE BuildStartEnumeration (location: location_t; name: ADDRESS; ispacked: BOOLEAN) : Tree ; ++PROCEDURE BuildStartEnumeration (location: location_t; name: CharStar; ispacked: BOOLEAN) : tree ; + + + (* + BuildTypeDeclaration - adds the, type, to the current statement list. + *) + +-PROCEDURE BuildTypeDeclaration (location: location_t; type: Tree) ; ++PROCEDURE BuildTypeDeclaration (location: location_t; type: tree) ; + + + (* +@@ -205,7 +204,7 @@ PROCEDURE BuildTypeDeclaration (location: location_t; type: Tree) ; + legal value. + *) + +-PROCEDURE GetMaxFrom (location: location_t; type: Tree) : Tree ; ++PROCEDURE GetMaxFrom (location: location_t; type: tree) : tree ; + + + (* +@@ -213,7 +212,7 @@ PROCEDURE GetMaxFrom (location: location_t; type: Tree) : Tree ; + legal value. + *) + +-PROCEDURE GetMinFrom (location: location_t; type: Tree) : Tree ; ++PROCEDURE GetMinFrom (location: location_t; type: tree) : tree ; + + + (* +@@ -229,14 +228,14 @@ PROCEDURE GetMinFrom (location: location_t; type: Tree) : Tree ; + declare C default types and _some_ M2 default types. + *) + +-PROCEDURE GetDefaultType (location: location_t; name: ADDRESS; type: Tree) : Tree ; ++PROCEDURE GetDefaultType (location: location_t; name: CharStar; type: tree) : tree ; + + + (* + BuildEndType - finish declaring, type, and return, type. + *) + +-PROCEDURE BuildEndType (location: location_t; type: Tree) : Tree ; ++PROCEDURE BuildEndType (location: location_t; type: tree) : tree ; + + + (* +@@ -248,7 +247,7 @@ PROCEDURE BuildEndType (location: location_t; type: Tree) : Tree ; + yet to be 'gm2_finish_decl'ed. + *) + +-PROCEDURE BuildStartType (location: location_t; name: ADDRESS; type: Tree) : Tree ; ++PROCEDURE BuildStartType (location: location_t; name: CharStar; type: tree) : tree ; + + + (* +@@ -271,7 +270,7 @@ PROCEDURE InitBaseTypes (location: location_t) ; + This creates and array index, array type and local variable. + *) + +-PROCEDURE BuildVariableArrayAndDeclare (location: location_t; elementtype: Tree; high: Tree; name: ADDRESS; scope: Tree) : Tree ; ++PROCEDURE BuildVariableArrayAndDeclare (location: location_t; elementtype: tree; high: tree; name: CharStar; scope: tree) : tree ; + + + (* +@@ -286,7 +285,7 @@ PROCEDURE InitFunctionTypeParameters ; + It appends this parameter to the internal param_type_list. + *) + +-PROCEDURE BuildProcTypeParameterDeclaration (location: location_t; type: Tree; isreference: BOOLEAN) : Tree ; ++PROCEDURE BuildProcTypeParameterDeclaration (location: location_t; type: tree; isreference: BOOLEAN) : tree ; + + + (* +@@ -294,7 +293,7 @@ PROCEDURE BuildProcTypeParameterDeclaration (location: location_t; type: Tree; i + create a function type. + *) + +-PROCEDURE BuildStartFunctionType (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildStartFunctionType (location: location_t; name: CharStar) : tree ; + + + (* +@@ -302,14 +301,14 @@ PROCEDURE BuildStartFunctionType (location: location_t; name: ADDRESS) : Tree ; + The arguments have been created by BuildParameterDeclaration. + *) + +-PROCEDURE BuildEndFunctionType (func: Tree; type: Tree; usesvarags: BOOLEAN) : Tree ; ++PROCEDURE BuildEndFunctionType (func: tree; type: tree; usesvarags: BOOLEAN) : tree ; + + + (* + GetTreeType - returns TREE_TYPE (t). + *) + +-PROCEDURE GetTreeType (type: Tree) : Tree ; ++PROCEDURE GetTreeType (type: tree) : tree ; + + + (* +@@ -318,31 +317,31 @@ PROCEDURE GetTreeType (type: Tree) : Tree ; + name = foo ; + *) + +-PROCEDURE DeclareKnownType (location: location_t; name: ADDRESS; type: Tree) : Tree ; ++PROCEDURE DeclareKnownType (location: location_t; name: CharStar; type: tree) : tree ; + + + (* + GetM2ZType - return the ISO Z data type, the longest int datatype. + *) + +-PROCEDURE GetM2ZType () : Tree ; ++PROCEDURE GetM2ZType () : tree ; + + + (* + GetM2RType - return the ISO R data type, the longest real datatype. + *) + +-PROCEDURE GetM2RType () : Tree ; ++PROCEDURE GetM2RType () : tree ; + + + (* + BuildSetTypeFromSubrange - constructs a set type from a subrangeType. + *) + +-PROCEDURE BuildSetTypeFromSubrange (location: location_t; name: ADDRESS; +- subrangeType: Tree; +- lowval: Tree; highval: Tree; +- ispacked: BOOLEAN) : Tree ; ++PROCEDURE BuildSetTypeFromSubrange (location: location_t; name: CharStar; ++ subrangeType: tree; ++ lowval: tree; highval: tree; ++ ispacked: BOOLEAN) : tree ; + + + (* +@@ -350,434 +349,434 @@ PROCEDURE BuildSetTypeFromSubrange (location: location_t; name: ADDRESS; + sufficient to contain values: low..high. + *) + +-PROCEDURE BuildSmallestTypeRange (location: location_t; low: Tree; high: Tree) : Tree ; ++PROCEDURE BuildSmallestTypeRange (location: location_t; low: tree; high: tree) : tree ; + + + (* + GetBooleanType - + *) + +-PROCEDURE GetBooleanType () : Tree ; ++PROCEDURE GetBooleanType () : tree ; + + + (* + GetBooleanFalse - + *) + +-PROCEDURE GetBooleanFalse () : Tree ; ++PROCEDURE GetBooleanFalse () : tree ; + + + (* + GetBooleanTrue - + *) + +-PROCEDURE GetBooleanTrue () : Tree ; ++PROCEDURE GetBooleanTrue () : tree ; + + + (* + GetPackedBooleanType - return the packed boolean data type node. + *) + +-PROCEDURE GetPackedBooleanType () : Tree ; ++PROCEDURE GetPackedBooleanType () : tree ; + + + (* + GetCharType - return the char type node. + *) + +-PROCEDURE GetCharType () : Tree ; ++PROCEDURE GetCharType () : tree ; + + + (* + GetByteType - return the byte type node. + *) + +-PROCEDURE GetByteType () : Tree ; ++PROCEDURE GetByteType () : tree ; + + + (* + GetVoidType - return the C void type. + *) + +-PROCEDURE GetVoidType () : Tree ; ++PROCEDURE GetVoidType () : tree ; + + + (* + GetBitnumType - return the ISO bitnum type. + *) + +-PROCEDURE GetBitnumType () : Tree ; ++PROCEDURE GetBitnumType () : tree ; + + + (* + GetRealType - + *) + +-PROCEDURE GetRealType () : Tree ; ++PROCEDURE GetRealType () : tree ; + + + (* + GetLongRealType - return the C long double data type. + *) + +-PROCEDURE GetLongRealType () : Tree ; ++PROCEDURE GetLongRealType () : tree ; + + + (* + GetShortRealType - return the C float data type. + *) + +-PROCEDURE GetShortRealType () : Tree ; ++PROCEDURE GetShortRealType () : tree ; + + + (* + GetLongIntType - return the C long int data type. + *) + +-PROCEDURE GetLongIntType () : Tree ; ++PROCEDURE GetLongIntType () : tree ; + + + (* + GetPointerType - return the GCC ptr type node. Equivalent to (void * ). + *) + +-PROCEDURE GetPointerType () : Tree ; ++PROCEDURE GetPointerType () : tree ; + + + (* + GetCardinalType - return the cardinal type. + *) + +-PROCEDURE GetCardinalType () : Tree ; ++PROCEDURE GetCardinalType () : tree ; + + + (* + GetIntegerType - return the integer type node. + *) + +-PROCEDURE GetIntegerType () : Tree ; ++PROCEDURE GetIntegerType () : tree ; + + + (* + GetWordType - return the C unsigned data type. + *) + +-PROCEDURE GetWordType () : Tree ; ++PROCEDURE GetWordType () : tree ; + + + (* + GetM2CardinalType - return the m2 cardinal data type. + *) + +-PROCEDURE GetM2CardinalType () : Tree ; ++PROCEDURE GetM2CardinalType () : tree ; + + + (* + GetBitsetType - return the bitset type. + *) + +-PROCEDURE GetBitsetType () : Tree ; ++PROCEDURE GetBitsetType () : tree ; + + + (* + GetM2CType - a test function. + *) + +-PROCEDURE GetM2CType () : Tree ; ++PROCEDURE GetM2CType () : tree ; + + + (* + GetProcType - return the m2 proc data type. + *) + +-PROCEDURE GetProcType () : Tree ; ++PROCEDURE GetProcType () : tree ; + + + (* + GetM2ComplexType - return the complex type. + *) + +-PROCEDURE GetM2ComplexType () : Tree ; ++PROCEDURE GetM2ComplexType () : tree ; + + + (* + GetM2LongComplexType - return the long complex type. + *) + +-PROCEDURE GetM2LongComplexType () : Tree ; ++PROCEDURE GetM2LongComplexType () : tree ; + + + (* + GetM2ShortComplexType - return the short complex type. + *) + +-PROCEDURE GetM2ShortComplexType () : Tree ; ++PROCEDURE GetM2ShortComplexType () : tree ; + + + (* + GetM2Complex128Type - return the fixed size complex type. + *) + +-PROCEDURE GetM2Complex128 () : Tree ; ++PROCEDURE GetM2Complex128 () : tree ; + + + (* + GetM2Complex96 - return the fixed size complex type. + *) + +-PROCEDURE GetM2Complex96 () : Tree ; ++PROCEDURE GetM2Complex96 () : tree ; + + + (* + GetM2Complex64 - return the fixed size complex type. + *) + +-PROCEDURE GetM2Complex64 () : Tree ; ++PROCEDURE GetM2Complex64 () : tree ; + + + (* + GetM2Complex32 - return the fixed size complex type. + *) + +-PROCEDURE GetM2Complex32 () : Tree ; ++PROCEDURE GetM2Complex32 () : tree ; + + + (* + GetM2Real128 - return the real 128 bit type. + *) + +-PROCEDURE GetM2Real128 () : Tree ; ++PROCEDURE GetM2Real128 () : tree ; + + + (* + GetM2Real96 - return the real 96 bit type. + *) + +-PROCEDURE GetM2Real96 () : Tree ; ++PROCEDURE GetM2Real96 () : tree ; + + + (* + GetM2Real64 - return the real 64 bit type. + *) + +-PROCEDURE GetM2Real64 () : Tree ; ++PROCEDURE GetM2Real64 () : tree ; + + + (* + GetM2Real32 - return the real 32 bit type. + *) + +-PROCEDURE GetM2Real32 () : Tree ; ++PROCEDURE GetM2Real32 () : tree ; + + + (* + GetM2Bitset32 - return the bitset 32 bit type. + *) + +-PROCEDURE GetM2Bitset32 () : Tree ; ++PROCEDURE GetM2Bitset32 () : tree ; + + + (* + GetM2Bitset16 - return the bitset 16 bit type. + *) + +-PROCEDURE GetM2Bitset16 () : Tree ; ++PROCEDURE GetM2Bitset16 () : tree ; + + + (* + GetM2Bitset8 - return the bitset 8 bit type. + *) + +-PROCEDURE GetM2Bitset8 () : Tree ; ++PROCEDURE GetM2Bitset8 () : tree ; + + + (* + GetM2Word64 - return the word 64 bit type. + *) + +-PROCEDURE GetM2Word64 () : Tree ; ++PROCEDURE GetM2Word64 () : tree ; + + + (* + GetM2Word32 - return the word 32 bit type. + *) + +-PROCEDURE GetM2Word32 () : Tree ; ++PROCEDURE GetM2Word32 () : tree ; + + + (* + GetM2Word16 - return the word 16 bit type. + *) + +-PROCEDURE GetM2Word16 () : Tree ; ++PROCEDURE GetM2Word16 () : tree ; + + + (* + GetM2Cardinal64 - return the cardinal 64 bit type. + *) + +-PROCEDURE GetM2Cardinal64 () : Tree ; ++PROCEDURE GetM2Cardinal64 () : tree ; + + + (* + GetM2Cardinal32 - return the cardinal 32 bit type. + *) + +-PROCEDURE GetM2Cardinal32 () : Tree ; ++PROCEDURE GetM2Cardinal32 () : tree ; + + + (* + GetM2Cardinal16 - return the cardinal 16 bit type. + *) + +-PROCEDURE GetM2Cardinal16 () : Tree ; ++PROCEDURE GetM2Cardinal16 () : tree ; + + + (* + GetM2Cardinal8 - return the cardinal 8 bit type. + *) + +-PROCEDURE GetM2Cardinal8 () : Tree ; ++PROCEDURE GetM2Cardinal8 () : tree ; + + + (* + GetM2Integer64 - return the integer 64 bit type. + *) + +-PROCEDURE GetM2Integer64 () : Tree ; ++PROCEDURE GetM2Integer64 () : tree ; + + + (* + GetM2Integer32 - return the integer 32 bit type. + *) + +-PROCEDURE GetM2Integer32 () : Tree ; ++PROCEDURE GetM2Integer32 () : tree ; + + + (* + GetM2Integer16 - return the integer 16 bit type. + *) + +-PROCEDURE GetM2Integer16 () : Tree ; ++PROCEDURE GetM2Integer16 () : tree ; + + + (* + GetM2Integer8 - return the integer 8 bit type. + *) + +-PROCEDURE GetM2Integer8 () : Tree ; ++PROCEDURE GetM2Integer8 () : tree ; + + + (* + GetISOLocType - return the m2 loc word data type. + *) + +-PROCEDURE GetISOLocType () : Tree ; ++PROCEDURE GetISOLocType () : tree ; + + + (* + GetISOByteType - return the m2 iso byte data type. + *) + +-PROCEDURE GetISOByteType () : Tree ; ++PROCEDURE GetISOByteType () : tree ; + + + (* + GetISOWordType - return the m2 iso word data type. + *) + +-PROCEDURE GetISOWordType () : Tree ; ++PROCEDURE GetISOWordType () : tree ; + + + (* + GetShortCardType - return the C short unsigned data type. + *) + +-PROCEDURE GetShortCardType () : Tree ; ++PROCEDURE GetShortCardType () : tree ; + + + (* + GetM2ShortCardType - return the m2 short cardinal data type. + *) + +-PROCEDURE GetM2ShortCardType () : Tree ; ++PROCEDURE GetM2ShortCardType () : tree ; + + + (* + GetShortIntType - return the C short int data type. + *) + +-PROCEDURE GetShortIntType () : Tree ; ++PROCEDURE GetShortIntType () : tree ; + + + (* + GetM2ShortIntType - return the m2 short integer data type. + *) + +-PROCEDURE GetM2ShortIntType () : Tree ; ++PROCEDURE GetM2ShortIntType () : tree ; + + + (* + GetM2LongCardType - return the m2 long cardinal data type. + *) + +-PROCEDURE GetM2LongCardType () : Tree ; ++PROCEDURE GetM2LongCardType () : tree ; + + + (* + GetM2LongIntType - return the m2 long integer data type. + *) + +-PROCEDURE GetM2LongIntType () : Tree ; ++PROCEDURE GetM2LongIntType () : tree ; + + + (* + GetM2LongRealType - return the m2 long real data type. + *) + +-PROCEDURE GetM2LongRealType () : Tree ; ++PROCEDURE GetM2LongRealType () : tree ; + + + (* + GetM2RealType - return the m2 real data type. + *) + +-PROCEDURE GetM2RealType () : Tree ; ++PROCEDURE GetM2RealType () : tree ; + + + (* + GetM2ShortRealType - return the m2 short real data type. + *) + +-PROCEDURE GetM2ShortRealType () : Tree ; ++PROCEDURE GetM2ShortRealType () : tree ; + + + (* + GetM2IntegerType - return the m2 integer data type. + *) + +-PROCEDURE GetM2IntegerType () : Tree ; ++PROCEDURE GetM2IntegerType () : tree ; + + + (* + GetM2CharType - return the m2 char data type. + *) + +-PROCEDURE GetM2CharType () : Tree ; ++PROCEDURE GetM2CharType () : tree ; + + + (* + GetCSizeTType - return a type representing, size_t on this system. + *) + +-PROCEDURE GetCSizeTType () : Tree ; ++PROCEDURE GetCSizeTType () : tree ; + + + (* + GetCSSizeTType - return a type representing, ssize_t on this system. + *) + +-PROCEDURE GetCSSizeTType () : Tree ; ++PROCEDURE GetCSSizeTType () : tree ; + + + (* +@@ -786,52 +785,52 @@ PROCEDURE GetCSSizeTType () : Tree ; + defined by, str, of, length, characters. + *) + +-PROCEDURE BuildArrayStringConstructor (location: location_t; arrayType: Tree; str: Tree; length: Tree) : Tree ; ++PROCEDURE BuildArrayStringConstructor (location: location_t; arrayType: tree; str: tree; length: tree) : tree ; + + + (* + RealToTree - convert a real number into a Tree. + *) + +-PROCEDURE RealToTree (name: ADDRESS) : Tree ; ++PROCEDURE RealToTree (name: CharStar) : tree ; + + + (* + BuildStartRecord - return a RECORD tree. + *) + +-PROCEDURE BuildStartRecord (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildStartRecord (location: location_t; name: CharStar) : tree ; + + + (* + BuildStartUnion - return a union tree. + *) + +-PROCEDURE BuildStartUnion (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildStartUnion (location: location_t; name: CharStar) : tree ; + + + +-PROCEDURE BuildStartVarient (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildStartVarient (location: location_t; name: CharStar) : tree ; + + + +-PROCEDURE BuildEndVarient (location: location_t; varientField: Tree; varientList: Tree; isPacked: BOOLEAN) : Tree ; ++PROCEDURE BuildEndVarient (location: location_t; varientField: tree; varientList: tree; isPacked: BOOLEAN) : tree ; + + + +-PROCEDURE BuildStartFieldVarient (location: location_t; name: ADDRESS) : Tree ; ++PROCEDURE BuildStartFieldVarient (location: location_t; name: CharStar) : tree ; + + + +-PROCEDURE BuildEndFieldVarient (location: location_t; varientField: Tree; varientList: Tree; isPacked: BOOLEAN) : Tree ; ++PROCEDURE BuildEndFieldVarient (location: location_t; varientField: tree; varientList: tree; isPacked: BOOLEAN) : tree ; + + + +-PROCEDURE BuildStartFieldRecord (location: location_t; name: ADDRESS; type: Tree) : Tree ; ++PROCEDURE BuildStartFieldRecord (location: location_t; name: CharStar; type: tree) : tree ; + + + +-PROCEDURE BuildFieldRecord (location: location_t; name: ADDRESS; type: Tree) : Tree ; ++PROCEDURE BuildFieldRecord (location: location_t; name: CharStar; type: tree) : tree ; + + + (* +@@ -839,21 +838,21 @@ PROCEDURE BuildFieldRecord (location: location_t; name: ADDRESS; type: Tree) : T + declarations. + *) + +-PROCEDURE ChainOn (t1: Tree; t2: Tree) : Tree ; ++PROCEDURE ChainOn (t1: tree; t2: tree) : tree ; + + + (* + ChainOnParamValue - adds a list node {{name, str}, value} into the tree list. + *) + +-PROCEDURE ChainOnParamValue (list: Tree; name: Tree; str: Tree; value: Tree) : Tree ; ++PROCEDURE ChainOnParamValue (list: tree; name: tree; str: tree; value: tree) : tree ; + + + (* + AddStringToTreeList - adds, string, to list. + *) + +-PROCEDURE AddStringToTreeList (list: Tree; string: Tree) : Tree ; ++PROCEDURE AddStringToTreeList (list: tree; string: tree) : tree ; + + + (* +@@ -863,7 +862,7 @@ PROCEDURE AddStringToTreeList (list: Tree; string: Tree) : Tree ; + the structure. + *) + +-PROCEDURE BuildEndRecord (location: location_t; record: Tree; fieldlist: Tree; isPacked: BOOLEAN) : Tree ; ++PROCEDURE BuildEndRecord (location: location_t; record: tree; fieldlist: tree; isPacked: BOOLEAN) : tree ; + + + (* +@@ -872,7 +871,7 @@ PROCEDURE BuildEndRecord (location: location_t; record: Tree; fieldlist: Tree; i + to prevent alignment effecting behaviour elsewhere. + *) + +-PROCEDURE SetAlignment (node: Tree; align: Tree) : Tree ; ++PROCEDURE SetAlignment (node: tree; align: tree) : tree ; + + + (* +@@ -880,7 +879,7 @@ PROCEDURE SetAlignment (node: Tree; align: Tree) : Tree ; + It returns the node. + *) + +-PROCEDURE SetDeclPacked (node: Tree) : Tree ; ++PROCEDURE SetDeclPacked (node: tree) : tree ; + + + (* +@@ -888,7 +887,7 @@ PROCEDURE SetDeclPacked (node: Tree) : Tree ; + It returns the node. + *) + +-PROCEDURE SetTypePacked (node: Tree) : Tree ; ++PROCEDURE SetTypePacked (node: tree) : tree ; + + + (* +@@ -896,7 +895,7 @@ PROCEDURE SetTypePacked (node: Tree) : Tree ; + has been applied to it. + *) + +-PROCEDURE SetRecordFieldOffset (field: Tree; byteOffset: Tree; bitOffset: Tree; fieldtype: Tree; nbits: Tree) : Tree ; ++PROCEDURE SetRecordFieldOffset (field: tree; byteOffset: tree; bitOffset: tree; fieldtype: tree; nbits: tree) : tree ; + + + (* +@@ -904,7 +903,7 @@ PROCEDURE SetRecordFieldOffset (field: Tree; byteOffset: Tree; bitOffset: Tree; + name, and, fieldtype. + *) + +-PROCEDURE BuildPackedFieldRecord (location: location_t; name: ADDRESS; fieldtype: Tree) : Tree ; ++PROCEDURE BuildPackedFieldRecord (location: location_t; name: CharStar; fieldtype: tree) : tree ; + + + (* +@@ -912,21 +911,21 @@ PROCEDURE BuildPackedFieldRecord (location: location_t; name: ADDRESS; fieldtype + arrayType. + *) + +-PROCEDURE BuildNumberOfArrayElements (location: location_t; arrayType: Tree) : Tree ; ++PROCEDURE BuildNumberOfArrayElements (location: location_t; arrayType: tree) : tree ; + + + (* + AddStatement - maps onto add_stmt. + *) + +-PROCEDURE AddStatement (location: location_t; t: Tree) ; ++PROCEDURE AddStatement (location: location_t; t: tree) ; + + + (* + MarkFunctionReferenced - marks a function as referenced. + *) + +-PROCEDURE MarkFunctionReferenced (f: Tree) ; ++PROCEDURE MarkFunctionReferenced (f: tree) ; + + + (* +@@ -941,14 +940,14 @@ PROCEDURE GarbageCollect ; + low and high are the min, max elements of the array. + *) + +-PROCEDURE BuildArrayIndexType (low: Tree; high: Tree) : Tree ; ++PROCEDURE BuildArrayIndexType (low: tree; high: tree) : tree ; + + + (* + GetArrayNoOfElements - returns the number of elements in, arraytype. + *) + +-PROCEDURE GetArrayNoOfElements (location: location_t; arraytype: Tree) : Tree ; ++PROCEDURE GetArrayNoOfElements (location: location_t; arraytype: tree) : tree ; + + + (* +@@ -956,14 +955,14 @@ PROCEDURE GetArrayNoOfElements (location: location_t; arraytype: Tree) : Tree ; + and which has ElementType elements. + *) + +-PROCEDURE BuildEndArrayType (arraytype: Tree; elementtype: Tree; indextype: Tree; type: INTEGER) : Tree ; ++PROCEDURE BuildEndArrayType (arraytype: tree; elementtype: tree; indextype: tree; type: INTEGER) : tree ; + + + (* + PutArrayType - + *) + +-PROCEDURE PutArrayType (array: Tree; type: Tree) ; ++PROCEDURE PutArrayType (array: tree; type: tree) ; + + + (* +@@ -973,21 +972,21 @@ PROCEDURE PutArrayType (array: Tree; type: Tree) ; + NULL_TREE. + *) + +-PROCEDURE BuildStartArrayType (index_type: Tree; elt_type: Tree; type: INTEGER) : Tree ; ++PROCEDURE BuildStartArrayType (index_type: tree; elt_type: tree; type: INTEGER) : tree ; + + + (* + IsAddress - return TRUE if the type is an ADDRESS. + *) + +-PROCEDURE IsAddress (type: Tree) : BOOLEAN ; ++PROCEDURE IsAddress (type: tree) : BOOLEAN ; + + + (* + SameRealType - return true if real types a and b are the same. + *) + +-PROCEDURE SameRealType (a, b: Tree) : BOOLEAN ; ++PROCEDURE SameRealType (a, b: tree) : BOOLEAN ; + + + END m2type. +--- a/src/gcc/m2/gm2-gcc/m2type.h ++++ b/src/gcc/m2/gm2-gcc/m2type.h +@@ -87,13 +87,6 @@ EXTERN tree m2type_BuildArrayStringConstructor (location_t location, + tree arrayType, tree str, + tree length); + +-#if 0 +-EXTERN tree m2type_GetPointerOne (void); +-EXTERN tree m2type_GetPointerZero (void); +-EXTERN tree m2type_GetWordOne (void); +-EXTERN tree m2type_GetWordZero (void); +-#endif +- + EXTERN tree m2type_GetM2CharType (void); + EXTERN tree m2type_GetM2IntegerType (void); + EXTERN tree m2type_GetM2ShortRealType (void); +--- a/src/gcc/m2/gm2-lang.cc ++++ b/src/gcc/m2/gm2-lang.cc +@@ -16,9 +16,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License +-along with GNU Modula-2; see the file COPYING. If not, write to the +-Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-02110-1301, USA. */ ++along with GCC; see the file COPYING3. If not see ++. */ + + #define INCLUDE_VECTOR + #include "gm2-gcc/gcc-consolidation.h" +--- a/src/gcc/m2/gm2-lang.h ++++ b/src/gcc/m2/gm2-lang.h +@@ -15,9 +15,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License +-along with GNU CC; see the file COPYING. If not, write to +-the Free Software Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++along with GCC; see the file COPYING3. If not see ++. */ ++ + + #if !defined(GM2_LANG_H) + # define GM2_LANG_H +--- a/src/gcc/m2/gm2-libs-ch/SysExceptions.c ++++ b/src/gcc/m2/gm2-libs-ch/SysExceptions.c +@@ -26,15 +26,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + #include "config.h" + #include "system.h" +-#include "ansidecl.h" ++ + #include "gm2-libs-host.h" + +-#if defined(HAVE_SIGNAL_H) +-#include ++#ifdef MC_M2 ++#include "GSysExceptions.h" ++#define DECL_PROC_T(X) SysExceptions_PROCEXCEPTION X ++#define PROC_FUNC(X) X.proc ++#else ++#define DECL_PROC_T(X) void (*X) (void *) ++#define PROC_FUNC(X) X + #endif + +-#ifdef __cplusplus +-extern "C" { ++#undef EXTERN ++#if defined(__cplusplus) ++#define EXTERN extern "C" ++#else ++#define EXTERN + #endif + + #if 0 +@@ -75,16 +83,14 @@ extern "C" { + #define SIGSYS 31 /* Bad system call. */ + #define SIGUNUSED 31 + +- + (indexException, rangeException, caseSelectException, invalidLocation, + functionException, wholeValueException, wholeDivException, realValueException, + realDivException, complexValueException, complexDivException, protException, + sysException, coException, exException + ); +- + #endif + +-/* note wholeDivException and realDivException are caught by SIGFPE ++/* wholeDivException and realDivException are caught by SIGFPE + and depatched to the appropriate Modula-2 runtime routine upon + testing FPE_INTDIV or FPE_FLTDIV. realValueException is also + caught by SIGFPE and dispatched by testing FFE_FLTOVF or +@@ -113,6 +119,7 @@ static void (*systemProc) (void *); + static void (*coroutineProc) (void *); + static void (*exceptionProc) (void *); + ++ + static void + sigbusDespatcher (int signum, siginfo_t *info, void *ucontext) + { +@@ -164,33 +171,41 @@ sigfpeDespatcher (int signum, siginfo_t *info, void *ucontext) + } + } + ++EXTERN + void +-SysExceptions_InitExceptionHandlers ( +- void (*indexf) (void *), void (*range) (void *), void (*casef) (void *), +- void (*invalidloc) (void *), void (*function) (void *), +- void (*wholevalue) (void *), void (*wholediv) (void *), +- void (*realvalue) (void *), void (*realdiv) (void *), +- void (*complexvalue) (void *), void (*complexdiv) (void *), +- void (*protection) (void *), void (*systemf) (void *), +- void (*coroutine) (void *), void (*exception) (void *)) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + struct sigaction old; + +- indexProc = indexf; +- rangeProc = range; +- caseProc = casef; +- invalidlocProc = invalidloc; +- functionProc = function; +- wholevalueProc = wholevalue; +- wholedivProc = wholediv; +- realvalueProc = realvalue; +- realdivProc = realdiv; +- complexvalueProc = complexvalue; +- complexdivProc = complexdiv; +- protectionProc = protection; +- systemProc = systemf; +- coroutineProc = coroutine; +- exceptionProc = exception; ++ indexProc = PROC_FUNC (indexf); ++ rangeProc = PROC_FUNC (range); ++ caseProc = PROC_FUNC (casef); ++ invalidlocProc = PROC_FUNC (invalidloc); ++ functionProc = PROC_FUNC (function); ++ wholevalueProc = PROC_FUNC (wholevalue); ++ wholedivProc = PROC_FUNC (wholediv); ++ realvalueProc = PROC_FUNC (realvalue); ++ realdivProc = PROC_FUNC (realdiv); ++ complexvalueProc = PROC_FUNC (complexvalue); ++ complexdivProc = PROC_FUNC (complexdiv); ++ protectionProc = PROC_FUNC (protection); ++ systemProc = PROC_FUNC (systemf); ++ coroutineProc = PROC_FUNC (coroutine); ++ exceptionProc = PROC_FUNC (exception); + + sigbus.sa_sigaction = sigbusDespatcher; + sigbus.sa_flags = (SA_SIGINFO); +@@ -215,29 +230,37 @@ SysExceptions_InitExceptionHandlers ( + } + + #else ++EXTERN + void +-SysExceptions_InitExceptionHandlers (void *indexf, void *range, void *casef, +- void *invalidloc, void *function, +- void *wholevalue, void *wholediv, +- void *realvalue, void *realdiv, +- void *complexvalue, void *complexdiv, +- void *protection, void *systemf, +- void *coroutine, void *exception) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + } + #endif + + /* GNU Modula-2 linking fodder. */ + ++EXTERN + void + _M2_SysExceptions_init (int argc, char *argv[], char *envp[]) + { + } + ++EXTERN + void +-_M2_SysExceptions_finish (void) ++_M2_SysExceptions_fini (int argc, char *argv[], char *envp[]) + { + } +-#ifdef __cplusplus +-} +-#endif +--- a/src/gcc/m2/gm2-libs-ch/UnixArgs.cc ++++ b/src/gcc/m2/gm2-libs-ch/UnixArgs.cc +@@ -29,9 +29,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + #define LIBNAME "m2pim" + +-extern "C" int UnixArgs_GetArgC (void); +-extern "C" char **UnixArgs_GetArgV (void); +-extern "C" char **UnixArgs_GetEnvV (void); ++#include "gm2-libs-host.h" ++ ++#include "GUnixArgs.h" + + static int UnixArgs_ArgC; + static char **UnixArgs_ArgV; +@@ -49,7 +49,7 @@ UnixArgs_GetArgC (void) + + /* GetArgV returns argv. */ + +-extern "C" char ** ++extern "C" void * + UnixArgs_GetArgV (void) + { + return UnixArgs_ArgV; +@@ -58,7 +58,7 @@ UnixArgs_GetArgV (void) + + /* GetEnvV returns envv. */ + +-extern "C" char ** ++extern "C" void * + UnixArgs_GetEnvV (void) + { + return UnixArgs_EnvV; +@@ -86,6 +86,6 @@ _M2_UnixArgs_dep (void) + extern "C" void __attribute__((__constructor__)) + _M2_UnixArgs_ctor (void) + { +- M2RTS_RegisterModule ("UnixArgs", LIBNAME, _M2_UnixArgs_init, _M2_UnixArgs_finish, +- _M2_UnixArgs_dep); ++ M2RTS_RegisterModule_Cstr ("UnixArgs", LIBNAME, _M2_UnixArgs_init, ++ _M2_UnixArgs_finish, _M2_UnixArgs_dep); + } +--- a/src/gcc/m2/gm2-libs-ch/dtoa.cc ++++ b/src/gcc/m2/gm2-libs-ch/dtoa.cc +@@ -194,8 +194,8 @@ _M2_dtoa_dep (void) + extern "C" void __attribute__((__constructor__)) + _M2_dtoa_ctor (void) + { +- M2RTS_RegisterModule ("dtoa", LIBNAME, _M2_dtoa_init, _M2_dtoa_finish, +- _M2_dtoa_dep); ++ M2RTS_RegisterModule_Cstr ("dtoa", LIBNAME, _M2_dtoa_init, ++ _M2_dtoa_finish, _M2_dtoa_dep); + } + + #else +--- a/src/gcc/m2/gm2-libs-ch/ldtoa.cc ++++ b/src/gcc/m2/gm2-libs-ch/ldtoa.cc +@@ -52,17 +52,17 @@ extern bool dtoa_calcsign (char *p, int str_size); + (ndigits may be negative). */ + + long double +-ldtoa_strtold (const char *s, bool *error) ++ldtoa_strtold (void *s, bool *error) + { + char *endp; + long double d; + + errno = 0; + #if defined(HAVE_STRTOLD) +- d = strtold (s, &endp); ++ d = strtold (reinterpret_cast (s), &endp); + #else + /* fall back to using strtod. */ +- d = (long double)strtod (s, &endp); ++ d = (long double)strtod (reinterpret_cast (s), &endp); + #endif + if (endp != NULL && (*endp == '\0')) + *error = (errno != 0); +@@ -123,8 +123,8 @@ _M2_ldtoa_dep (void) + extern "C" void __attribute__((__constructor__)) + _M2_ldtoa_ctor (void) + { +- M2RTS_RegisterModule ("ldtoa", LIBNAME, _M2_ldtoa_init, _M2_ldtoa_finish, +- _M2_ldtoa_dep); ++ M2RTS_RegisterModule_Cstr ("ldtoa", LIBNAME, _M2_ldtoa_init, ++ _M2_ldtoa_finish, _M2_ldtoa_dep); + } + + #else +--- a/src/gcc/m2/gm2-libs-ch/m2rts.h ++++ b/src/gcc/m2/gm2-libs-ch/m2rts.h +@@ -24,18 +24,18 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + +- +-typedef void (*proc_con) (int, char **, char **); +-typedef void (*proc_dep) (void); +- +-extern "C" void M2RTS_RequestDependant (const void *modulename, const void *dependancy); +-extern "C" void M2RTS_RegisterModule (const void *modulename, const void *libname, +- proc_con init, proc_con fini, proc_dep dependencies); +-extern "C" void _M2_M2RTS_init (void); +- +-extern "C" void M2RTS_ConstructModules (const void *, +- int argc, char *argv[], char *envp[]); +-extern "C" void M2RTS_Terminate (void); +-extern "C" void M2RTS_DeconstructModules (void); +- +-extern "C" void M2RTS_Halt (const char *, const char *, const char *, int) __attribute__ ((noreturn)); ++#ifdef MC_M2 ++#include "GM2RTS.h" ++/* mc sources do not register their init fini functions as they are ++ initialized by a static scaffold (called by main). */ ++#define M2RTS_RegisterModule_Cstr(MODNAME,LIBNAME,init,fini,dep) ++#else ++#define M2RTS_INIT(X) void (*X)(int, char**, char**) ++#define M2RTS_DEP(X) void (*X)(void) ++extern "C" void M2RTS_RegisterModule (void * name, void * libname, M2RTS_INIT(init), ++ M2RTS_INIT(fini), M2RTS_DEP(dependencies)); ++#define M2RTS_RegisterModule_Cstr(MODNAME,LIBNAME,init,fini,dep) \ ++ M2RTS_RegisterModule (reinterpret_cast (const_cast (MODNAME)), \ ++ reinterpret_cast (const_cast (LIBNAME)), \ ++ init, fini, dep) ++#endif +--- a/src/gcc/m2/gm2-libs-ch/termios.c ++++ b/src/gcc/m2/gm2-libs-ch/termios.c +@@ -26,24 +26,28 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + #include "config.h" + #include "system.h" +-#include "ansidecl.h" + + #include "gm2-libs-host.h" + ++#define _termios_C ++#include "Gtermios.h" ++ ++#ifdef HAVE_TERMIOS_H ++# include ++#endif ++ + #ifdef TERMIOS_NEEDS_XOPEN_SOURCE + #define _XOPEN_SOURCE + #endif + +-#if defined(HAVE_TERMIOS_H) +-#include ++#if defined(__cplusplus) ++#define EXTERN extern "C" ++#else ++#define EXTERN + #endif + + #define EXPORT(X) termios##_##X + +-#ifdef __cplusplus +-extern "C" { +-#endif +- + typedef enum { + vintr, + vquit, +@@ -168,40 +172,25 @@ typedef enum { + liexten + } Flag; + +-/* prototypes. */ +-void *EXPORT (InitTermios) (void); +-void *EXPORT (KillTermios) (struct termios *p); +-int EXPORT (cfgetospeed) (struct termios *t); +-int EXPORT (cfgetispeed) (struct termios *t); +-int EXPORT (cfsetospeed) (struct termios *t, unsigned int b); +-int EXPORT (cfsetispeed) (struct termios *t, unsigned int b); +-int EXPORT (cfsetspeed) (struct termios *t, unsigned int b); +-int EXPORT (tcgetattr) (int fd, struct termios *t); +-int EXPORT (tcsetattr) (int fd, int option, struct termios *t); +-void EXPORT (cfmakeraw) (struct termios *t); +-int EXPORT (tcsendbreak) (int fd, int duration); +-int EXPORT (tcdrain) (int fd); +-int EXPORT (tcflushi) (int fd); +-int EXPORT (tcflusho) (int fd); +-int EXPORT (tcflushio) (int fd); +-int EXPORT (tcflowoni) (int fd); +-int EXPORT (tcflowoffi) (int fd); +-int EXPORT (tcflowono) (int fd); +-int EXPORT (tcflowoffo) (int fd); +-bool EXPORT (GetFlag) (struct termios *t, Flag f, bool *b); +-bool EXPORT (SetFlag) (struct termios *t, Flag f, bool b); +-bool EXPORT (GetChar) (struct termios *t, ControlChar c, char *ch); +-bool EXPORT (SetChar) (struct termios *t, ControlChar c, char ch); +-int EXPORT (tcsnow) (void); +-int EXPORT (tcsflush) (void); +-int EXPORT (tcsdrain) (void); +-bool doSetUnset (tcflag_t *bitset, unsigned int mask, bool value); +-void _M2_termios_init (void); +-void _M2_termios_finish (void); ++int ++doSetUnset (tcflag_t *bitset, unsigned int mask, int value) ++{ ++ if (value) ++ (*bitset) |= mask; ++ else ++ (*bitset) &= (~mask); ++ return 1; ++} ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* InitTermios - new data structure. */ + +-void *EXPORT (InitTermios) (void) ++void * ++EXPORT (InitTermios) (void) + { + struct termios *p = (struct termios *)malloc (sizeof (struct termios)); + +@@ -211,50 +200,79 @@ void *EXPORT (InitTermios) (void) + + /* KillTermios - delete data structure. */ + +-void *EXPORT (KillTermios) (struct termios *p) ++void * ++EXPORT (KillTermios) (termios_TERMIOS p) + { + free (p); + return NULL; + } + +-/* tcsnow - return the value of TCSANOW. */ ++/* tcsnow return the value of TCSANOW. */ + +-int EXPORT (tcsnow) (void) { return TCSANOW; } ++int ++EXPORT (tcsnow) (void) ++{ ++ return TCSANOW; ++} + +-/* tcsdrain - return the value of TCSADRAIN. */ ++/* tcsdrain return the value of TCSADRAIN. */ + +-int EXPORT (tcsdrain) (void) { return TCSADRAIN; } ++int ++EXPORT (tcsdrain) (void) ++{ ++ return TCSADRAIN; ++} + +-/* tcsflush - return the value of TCSAFLUSH. */ ++/* tcsflush return the value of TCSAFLUSH. */ + +-int EXPORT (tcsflush) (void) { return TCSAFLUSH; } ++int ++EXPORT (tcsflush) (void) ++{ ++ return TCSAFLUSH; ++} + +-/* cfgetospeed - return output baud rate. */ ++/* cfgetospeed return output baud rate. */ + +-int EXPORT (cfgetospeed) (struct termios *t) { return cfgetospeed (t); } ++int ++EXPORT (cfgetospeed) (termios_TERMIOS _t) ++{ ++ struct termios *t = (termios *)_t; ++ return cfgetospeed (t); ++} + +-/* cfgetispeed - return input baud rate. */ ++/* cfgetispeed return input baud rate. */ + +-int EXPORT (cfgetispeed) (struct termios *t) { return cfgetispeed (t); } ++int ++EXPORT (cfgetispeed) (termios_TERMIOS _t) ++{ ++ struct termios *t = (termios *)_t; ++ return cfgetispeed (t); ++} + +-/* cfsetospeed - set output baud rate. */ ++/* cfsetospeed set output baud rate. */ + +-int EXPORT (cfsetospeed) (struct termios *t, unsigned int b) ++int ++EXPORT (cfsetospeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetospeed (t, b); + } + +-/* cfsetispeed - set input baud rate. */ ++/* cfsetispeed set input baud rate. */ + +-int EXPORT (cfsetispeed) (struct termios *t, unsigned int b) ++int ++EXPORT (cfsetispeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetispeed (t, b); + } + +-/* cfsetspeed - set input and output baud rate. */ ++/* cfsetspeed set input and output baud rate. */ + +-int EXPORT (cfsetspeed) (struct termios *t, unsigned int b) ++int ++EXPORT (cfsetspeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + int val = cfsetispeed (t, b); + if (val == 0) + return cfsetospeed (t, b); +@@ -262,43 +280,55 @@ int EXPORT (cfsetspeed) (struct termios *t, unsigned int b) + return val; + } + +-/* tcgetattr - get state of, fd, into, t. */ ++/* tcgetattr get state of fd into t. */ + +-int EXPORT (tcgetattr) (int fd, struct termios *t) ++int ++EXPORT (tcgetattr) (int fd, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcgetattr (fd, t); + } + +-/* tcsetattr - set state of, fd, to, t, using option. */ ++/* tcsetattr set state of fd to t using option. */ + +-int EXPORT (tcsetattr) (int fd, int option, struct termios *t) ++int ++EXPORT (tcsetattr) (int fd, int option, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcsetattr (fd, option, t); + } + +-/* cfmakeraw - sets the terminal to raw mode. */ ++/* cfmakeraw sets the terminal to raw mode. */ + +-void EXPORT (cfmakeraw) (struct termios *t) ++void ++EXPORT (cfmakeraw) (termios_TERMIOS _t) + { + #if defined(HAVE_CFMAKERAW) +- return cfmakeraw (t); ++ struct termios *t = (termios *)_t; ++ cfmakeraw (t); + #endif + } + +-/* tcsendbreak - send zero bits for duration. */ ++/* tcsendbreak send zero bits for duration. */ + +-int EXPORT (tcsendbreak) (int fd, int duration) ++int ++EXPORT (tcsendbreak) (int fd, int duration) + { + return tcsendbreak (fd, duration); + } + +-/* tcdrain - waits for pending output to be written on, fd. */ ++/* tcdrain waits for pending output to be written on fd. */ + +-int EXPORT (tcdrain) (int fd) { return tcdrain (fd); } ++int ++EXPORT (tcdrain) (int fd) ++{ ++ return tcdrain (fd); ++} + +-/* tcflushi - flush input. */ ++/* tcflushi flush input. */ + +-int EXPORT (tcflushi) (int fd) ++int ++EXPORT (tcflushi) (int fd) + { + #if defined(TCIFLUSH) + return tcflush (fd, TCIFLUSH); +@@ -307,9 +337,10 @@ int EXPORT (tcflushi) (int fd) + #endif + } + +-/* tcflusho - flush output. */ ++/* tcflusho flush output. */ + +-int EXPORT (tcflusho) (int fd) ++int ++EXPORT (tcflusho) (int fd) + { + #if defined(TCOFLUSH) + return tcflush (fd, TCOFLUSH); +@@ -318,9 +349,10 @@ int EXPORT (tcflusho) (int fd) + #endif + } + +-/* tcflushio - flush input and output. */ ++/* tcflushio flush input and output. */ + +-int EXPORT (tcflushio) (int fd) ++int ++EXPORT (tcflushio) (int fd) + { + #if defined(TCIOFLUSH) + return tcflush (fd, TCIOFLUSH); +@@ -329,9 +361,10 @@ int EXPORT (tcflushio) (int fd) + #endif + } + +-/* tcflowoni - restart input on, fd. */ ++/* tcflowoni restart input on fd. */ + +-int EXPORT (tcflowoni) (int fd) ++int ++EXPORT (tcflowoni) (int fd) + { + #if defined(TCION) + return tcflow (fd, TCION); +@@ -340,9 +373,10 @@ int EXPORT (tcflowoni) (int fd) + #endif + } + +-/* tcflowoffi - stop input on, fd. */ ++/* tcflowoffi stop input on fd. */ + +-int EXPORT (tcflowoffi) (int fd) ++int ++EXPORT (tcflowoffi) (int fd) + { + #if defined(TCIOFF) + return tcflow (fd, TCIOFF); +@@ -351,9 +385,10 @@ int EXPORT (tcflowoffi) (int fd) + #endif + } + +-/* tcflowono - restart output on, fd. */ ++/* tcflowono restart output on fd. */ + +-int EXPORT (tcflowono) (int fd) ++int ++EXPORT (tcflowono) (int fd) + { + #if defined(TCOON) + return tcflow (fd, TCOON); +@@ -362,9 +397,10 @@ int EXPORT (tcflowono) (int fd) + #endif + } + +-/* tcflowoffo - stop output on, fd. */ ++/* tcflowoffo stop output on fd. */ + +-int EXPORT (tcflowoffo) (int fd) ++int ++EXPORT (tcflowoffo) (int fd) + { + #if defined(TCOOFF) + return tcflow (fd, TCOOFF); +@@ -373,23 +409,14 @@ int EXPORT (tcflowoffo) (int fd) + #endif + } + +-/* doSetUnset applies mask or undoes mask depending upon value and returns true. */ ++/* GetFlag sets a flag value from t in b and returns TRUE if ++ t supports f. */ + + bool +-doSetUnset (tcflag_t *bitset, unsigned int mask, bool value) +-{ +- if (value) +- (*bitset) |= mask; +- else +- (*bitset) &= (~mask); +- return true; +-} +- +-/* GetFlag sets a flag value from t in b and returns true if t supports f. */ +- +-bool +-EXPORT (GetFlag) (struct termios *t, Flag f, bool *b) ++EXPORT (GetFlag) (termios_TERMIOS _t, termios_Flag _f, bool *b) + { ++ Flag f = (Flag) _f; ++ struct termios *t = (termios *)_t; + switch (f) + { + +@@ -1069,15 +1096,17 @@ EXPORT (GetFlag) (struct termios *t, Flag f, bool *b) + return false; + } + +-/* SetFlag - sets a flag value in, t, to, b, and returns TRUE if this ++/* SetFlag sets a flag value in t to b and returns TRUE if this + flag value is supported. */ + + bool +-EXPORT (SetFlag) (struct termios *t, Flag f, bool b) ++EXPORT (SetFlag) (termios_TERMIOS _t, termios_Flag _f, bool b) + { ++ struct termios *t = (struct termios *) _t; ++ Flag f = (Flag) _f; ++ + switch (f) + { +- + case ignbrk: + #if defined(IGNBRK) + return doSetUnset (&t->c_iflag, IGNBRK, b); +@@ -1658,12 +1687,14 @@ EXPORT (SetFlag) (struct termios *t, Flag f, bool b) + return false; + } + +-/* GetChar sets a CHAR ch value from t and returns true if this ++/* GetChar sets a CHAR ch value from t and returns true/false if this + value is supported. */ + + bool +-EXPORT (GetChar) (struct termios *t, ControlChar c, char *ch) ++EXPORT (GetChar) (termios_TERMIOS _t, termios_ControlChar _c, char *ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + +@@ -1791,11 +1822,14 @@ EXPORT (GetChar) (struct termios *t, ControlChar c, char *ch) + } + } + +-/* SetChar sets a CHAR value in t and returns true if c is supported. */ ++/* SetChar sets a CHAR value in t and returns true/false if c is ++ supported. */ + + bool +-EXPORT (SetChar) (struct termios *t, ControlChar c, char ch) ++EXPORT (SetChar) (termios_TERMIOS _t, termios_ControlChar _c, char ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + +@@ -1924,12 +1958,12 @@ EXPORT (SetChar) (struct termios *t, ControlChar c, char ch) + } + + void +-_M2_termios_init (void) ++_M2_termios_init (int argc, char *argv[], char *envp[]) + { + } + + void +-_M2_termios_finish (void) ++_M2_termios_fini (int argc, char *argv[], char *envp[]) + { + } + +--- a/src/gcc/m2/gm2-libs-coroutines/SYSTEM.mod ++++ b/src/gcc/m2/gm2-libs-coroutines/SYSTEM.mod +@@ -210,8 +210,8 @@ END TurnInterrupts ; + + PROCEDURE Finished (p: ADDRESS) ; + BEGIN +- Halt('process terminated illegally', +- __FILE__, __FUNCTION__, __LINE__) ++ Halt ('process terminated illegally', ++ __FILE__, __FUNCTION__, __LINE__) + END Finished ; + + +--- a/src/gcc/m2/gm2-libs-iso/EXCEPTIONS.mod ++++ b/src/gcc/m2/gm2-libs-iso/EXCEPTIONS.mod +@@ -81,7 +81,8 @@ BEGIN + ELSE + RTExceptions.Raise(ORD(M2EXCEPTION.coException), + ADR(__FILE__), __LINE__, __COLUMN__, ADR(__FUNCTION__), +- ADR('current coroutine is not in the exceptional execution state')) ++ ADR('current coroutine is not in the exceptional execution state')) ; ++ RETURN VAL (ExceptionNumber, M2EXCEPTION.exException) + END + END CurrentNumber ; + +--- a/src/gcc/m2/gm2-libs-iso/IOChan.mod ++++ b/src/gcc/m2/gm2-libs-iso/IOChan.mod +@@ -459,7 +459,8 @@ BEGIN + IF dtp=NIL + THEN + RAISE(iochan, ORD(hardDeviceError), +- 'IOChan.SetReadResult: device table ptr is NIL') ++ 'IOChan.SetReadResult: device table ptr is NIL') ; ++ RETURN IOConsts.notKnown + ELSE + RETURN( dtp^.result ) + END +@@ -471,8 +472,9 @@ END ReadResult ; + PROCEDURE CurrentFlags (cid: ChanId) : ChanConsts.FlagSet ; + (* Returns the set of flags that currently apply to the channel cid. *) + VAR +- did: IOLink.DeviceId ; +- dtp: IOLink.DeviceTablePtr ; ++ did : IOLink.DeviceId ; ++ dtp : IOLink.DeviceTablePtr ; ++ empty: ChanConsts.FlagSet ; + BEGIN + CheckValid(cid) ; + did := RTio.GetDeviceId(cid) ; +@@ -480,7 +482,9 @@ BEGIN + IF dtp=NIL + THEN + RAISE(iochan, ORD(hardDeviceError), +- 'IOChan.SetReadResult: device table ptr is NIL') ++ 'IOChan.SetReadResult: device table ptr is NIL') ; ++ empty := ChanConsts.FlagSet {} ; ++ RETURN empty + ELSE + RETURN( dtp^.flags ) + END +@@ -537,7 +541,8 @@ BEGIN + IF dtp=NIL + THEN + RAISE(iochan, ORD(hardDeviceError), +- 'IOChan.DeviceError: device table ptr is NIL') ++ 'IOChan.DeviceError: device table ptr is NIL') ; ++ RETURN DeviceError (invalid) + ELSE + RETURN( dtp^.errNum ) + END +--- a/src/gcc/m2/gm2-libs-iso/IOLink.mod ++++ b/src/gcc/m2/gm2-libs-iso/IOLink.mod +@@ -284,7 +284,8 @@ BEGIN + RETURN( RTio.GetDevicePtr(cid) ) + ELSE + EXCEPTIONS.RAISE(iolink, ORD(IOChan.wrongDevice), +- 'IOLink.DeviceTablePtrValue: channel does belong to device') ++ 'IOLink.DeviceTablePtrValue: channel does belong to device') ; ++ RETURN NIL + END + END + END DeviceTablePtrValue ; +--- a/src/gcc/m2/gm2-libs-iso/LongConv.mod ++++ b/src/gcc/m2/gm2-libs-iso/LongConv.mod +@@ -257,7 +257,8 @@ BEGIN + RETURN( doValueReal(str) ) + ELSE + EXCEPTIONS.RAISE(realConv, ORD(invalid), +- 'LongConv.' + __FUNCTION__ + ': real number is invalid') ++ 'LongConv.' + __FUNCTION__ + ': real number is invalid') ; ++ RETURN 0.0 + END + END ValueReal ; + +--- a/src/gcc/m2/gm2-libs-iso/M2EXCEPTION.mod ++++ b/src/gcc/m2/gm2-libs-iso/M2EXCEPTION.mod +@@ -42,7 +42,8 @@ BEGIN + ELSE + RTExceptions.Raise(ORD(exException), + ADR(__FILE__), __LINE__, __COLUMN__, ADR(__FUNCTION__), +- ADR('current coroutine is not in the exceptional execution state')) ++ ADR('current coroutine is not in the exceptional execution state')) ; ++ RETURN exException + END + END M2Exception ; + +--- a/src/gcc/m2/gm2-libs-iso/RealConv.mod ++++ b/src/gcc/m2/gm2-libs-iso/RealConv.mod +@@ -256,7 +256,8 @@ BEGIN + RETURN( doValueReal(str) ) + ELSE + EXCEPTIONS.RAISE(realConv, ORD(invalid), +- 'RealConv.' + __FUNCTION__ + ': real number is invalid') ++ 'RealConv.' + __FUNCTION__ + ': real number is invalid') ; ++ RETURN 0.0 + END + END ValueReal ; + +--- a/src/gcc/m2/gm2-libs-iso/RndFile.mod ++++ b/src/gcc/m2/gm2-libs-iso/RndFile.mod +@@ -359,13 +359,13 @@ VAR + BEGIN + IF IsRndFile(cid) + THEN +- d := DeviceTablePtrValue(cid, did) ; +- RETURN( 0 ) ++ d := DeviceTablePtrValue(cid, did) + ELSE + RAISEdevException(cid, did, IOChan.wrongDevice, + 'RndFile.' + __FUNCTION__ + + ': channel is not a random file') +- END ++ END ; ++ RETURN( 0 ) + END StartPos ; + + +@@ -386,7 +386,8 @@ BEGIN + ELSE + RAISEdevException(cid, did, IOChan.wrongDevice, + 'RndFile.' + __FUNCTION__ + +- ': channel is not a random file') ++ ': channel is not a random file') ; ++ RETURN 0 + END + END CurrentPos ; + +@@ -416,7 +417,8 @@ BEGIN + ELSE + RAISEdevException(cid, did, IOChan.wrongDevice, + 'RndFile.' + __FUNCTION__ + +- ': channel is not a random file') ++ ': channel is not a random file') ; ++ RETURN 0 + END + END EndPos ; + +@@ -442,7 +444,8 @@ BEGIN + ELSE + RAISEdevException(cid, did, IOChan.wrongDevice, + 'RndFile.' + __FUNCTION__ + +- ': channel is not a random file') ++ ': channel is not a random file') ; ++ RETURN 0 + END + END NewPos ; + +--- a/src/gcc/m2/gm2-libs-iso/ShortConv.mod ++++ b/src/gcc/m2/gm2-libs-iso/ShortConv.mod +@@ -257,7 +257,8 @@ BEGIN + RETURN( doValueReal(str) ) + ELSE + EXCEPTIONS.RAISE(realConv, ORD(invalid), +- 'ShortConv.' + __FUNCTION__ + ': real number is invalid') ++ 'ShortConv.' + __FUNCTION__ + ': real number is invalid') ; ++ RETURN 0.0 + END + END ValueReal ; + +--- a/src/gcc/m2/gm2-libs-iso/StdChans.mod ++++ b/src/gcc/m2/gm2-libs-iso/StdChans.mod +@@ -45,9 +45,9 @@ FROM RTgen IMPORT ChanDev, DeviceType, + + + VAR +- in, +- out, +- err, ++ inch, ++ outch, ++ errch, + stdin, + stdout, + stderr, +@@ -169,21 +169,21 @@ END NullChan ; + PROCEDURE InChan () : ChanId ; + (* Returns the identity of the current default input channel. *) + BEGIN +- RETURN( in ) ++ RETURN( inch ) + END InChan ; + + + PROCEDURE OutChan () : ChanId ; + (* Returns the identity of the current default output channel. *) + BEGIN +- RETURN( out ) ++ RETURN( outch ) + END OutChan ; + + + PROCEDURE ErrChan () : ChanId ; + (* Returns the identity of the current default error message channel. *) + BEGIN +- RETURN( err ) ++ RETURN( errch ) + END ErrChan ; + + (* The following procedures allow for redirection of the default channels *) +@@ -191,21 +191,21 @@ END ErrChan ; + PROCEDURE SetInChan (cid: ChanId) ; + (* Sets the current default input channel to that identified by cid. *) + BEGIN +- in := cid ++ inch := cid + END SetInChan ; + + + PROCEDURE SetOutChan (cid: ChanId) ; + (* Sets the current default output channel to that identified by cid. *) + BEGIN +- out := cid ++ outch := cid + END SetOutChan ; + + + PROCEDURE SetErrChan (cid: ChanId) ; + (* Sets the current default error channel to that identified by cid. *) + BEGIN +- err := cid ++ errch := cid + END SetErrChan ; + + +@@ -303,9 +303,9 @@ END Init ; + BEGIN + Init + FINALLY +- SafeClose(in) ; +- SafeClose(out) ; +- SafeClose(err) ; ++ SafeClose(inch) ; ++ SafeClose(outch) ; ++ SafeClose(errch) ; + SafeClose(stdin) ; + SafeClose(stdout) ; + SafeClose(stderr) +--- a/src/gcc/m2/gm2-libs-iso/TermFile.mod ++++ b/src/gcc/m2/gm2-libs-iso/TermFile.mod +@@ -503,7 +503,7 @@ BEGIN + THEN + fd := libc.open(ADR("/dev/tty"), O_WRONLY, 0600B) + ELSE +- fd := libc.open(ADR("/dev/tty"), O_RDONLY) ++ fd := libc.open(ADR("/dev/tty"), O_RDONLY, 0) + END ; + IF tcgetattr(fd, new)=0 + THEN +--- a/src/gcc/m2/gm2-libs-iso/TextIO.mod ++++ b/src/gcc/m2/gm2-libs-iso/TextIO.mod +@@ -114,13 +114,19 @@ PROCEDURE ReadRestLine (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); + *) + VAR + i, h : CARDINAL ; ++ ignore : CHAR ; + finished: BOOLEAN ; + BEGIN + h := HIGH(s) ; + i := 0 ; + finished := FALSE ; +- WHILE (i<=h) AND CharAvailable (cid) AND (NOT finished) DO +- ReadChar (cid, s[i]) ; ++ WHILE CharAvailable (cid) AND (NOT finished) DO ++ IF i <= h ++ THEN ++ ReadChar (cid, s[i]) ++ ELSE ++ ReadChar (cid, ignore) ++ END ; + IF EofOrEoln (cid) + THEN + finished := TRUE +@@ -128,9 +134,6 @@ BEGIN + INC (i) + END + END ; +- WHILE CharAvailable (cid) DO +- IOChan.Skip (cid) +- END ; + SetNul (cid, i, s, TRUE) + END ReadRestLine ; + +--- a/src/gcc/m2/gm2-libs-iso/TextUtil.def ++++ b/src/gcc/m2/gm2-libs-iso/TextUtil.def +@@ -45,11 +45,15 @@ IMPORT IOChan ; + PROCEDURE SkipSpaces (cid: IOChan.ChanId) ; + + +-(* The following procedures do not read past line marks. *) ++(* CharAvailable returns TRUE if IOChan.ReadResult is notKnown or ++ allRight. *) + + PROCEDURE CharAvailable (cid: IOChan.ChanId) : BOOLEAN ; + + ++(* EofOrEoln returns TRUE if IOChan.ReadResult is endOfLine or ++ endOfInput. *) ++ + PROCEDURE EofOrEoln (cid: IOChan.ChanId) : BOOLEAN ; + + +--- a/src/gcc/m2/gm2-libs-iso/TextUtil.mod ++++ b/src/gcc/m2/gm2-libs-iso/TextUtil.mod +@@ -23,7 +23,8 @@ BEGIN + END SkipSpaces ; + + +-(* The following procedures do not read past line marks. *) ++(* CharAvailable returns TRUE if IOChan.ReadResult is notKnown or ++ allRight. *) + + PROCEDURE CharAvailable (cid: IOChan.ChanId) : BOOLEAN ; + BEGIN +@@ -32,6 +33,9 @@ BEGIN + END CharAvailable ; + + ++(* EofOrEoln returns TRUE if IOChan.ReadResult is endOfLine or ++ endOfInput. *) ++ + PROCEDURE EofOrEoln (cid: IOChan.ChanId) : BOOLEAN ; + BEGIN + RETURN( (IOChan.ReadResult (cid) = IOConsts.endOfLine) OR +--- a/src/gcc/m2/gm2-libs-iso/WholeConv.mod ++++ b/src/gcc/m2/gm2-libs-iso/WholeConv.mod +@@ -196,7 +196,8 @@ BEGIN + RETURN( v ) + ELSE + EXCEPTIONS.RAISE(wholeConv, ORD(invalidSigned), +- 'WholeConv.' + __FUNCTION__ + ': signed number is invalid') ++ 'WholeConv.' + __FUNCTION__ + ': signed number is invalid') ; ++ RETURN 0 + END + END ValueInt ; + +@@ -333,7 +334,8 @@ BEGIN + RETURN( value ) + ELSE + EXCEPTIONS.RAISE(wholeConv, ORD(invalidUnsigned), +- 'WholeConv:' + __FUNCTION__ + ': unsigned number is invalid') ++ 'WholeConv:' + __FUNCTION__ + ': unsigned number is invalid') ; ++ RETURN 0 + END + END ValueCard ; + +--- a/src/gcc/m2/gm2-libs-log/FileSystem.def ++++ b/src/gcc/m2/gm2-libs-log/FileSystem.def +@@ -269,7 +269,7 @@ PROCEDURE Doio (VAR f: File) ; + character was illegal. + *) + +-PROCEDURE FileNameChar (ch: CHAR) ; ++PROCEDURE FileNameChar (ch: CHAR) : CHAR ; + + + END FileSystem. +--- a/src/gcc/m2/gm2-libs-min/M2RTS.mod ++++ b/src/gcc/m2/gm2-libs-min/M2RTS.mod +@@ -69,6 +69,8 @@ END ExecuteInitialProcedures ; + + PROCEDURE HALT ; + BEGIN ++ LOOP ++ END + END HALT ; + + +--- a/src/gcc/m2/gm2-libs/M2RTS.mod ++++ b/src/gcc/m2/gm2-libs/M2RTS.mod +@@ -286,9 +286,10 @@ END ErrorMessageC ; + to stderr and calls exit (1). + *) + +-PROCEDURE HaltC (description, filename, function: ADDRESS; line: CARDINAL) ; ++PROCEDURE HaltC (description, filename, function: ADDRESS; line: CARDINAL) <* noreturn *> ; + BEGIN +- ErrorMessageC (description, filename, line, function) ++ ErrorMessageC (description, filename, line, function) ; ++ exit (1) + END HaltC ; + + +@@ -298,9 +299,10 @@ END HaltC ; + to stderr and calls exit (1). + *) + +-PROCEDURE Halt (description, filename, function: ARRAY OF CHAR; line: CARDINAL) ; ++PROCEDURE Halt (description, filename, function: ARRAY OF CHAR; line: CARDINAL) <* noreturn *> ; + BEGIN +- ErrorMessage (description, filename, line, function) ++ ErrorMessage (description, filename, line, function) ; ++ exit (1) + END Halt ; + + +--- a/src/gcc/m2/gm2-libs/dtoa.def ++++ b/src/gcc/m2/gm2-libs/dtoa.def +@@ -50,7 +50,7 @@ PROCEDURE strtod (s: ADDRESS; VAR error: BOOLEAN) : REAL ; + *) + + PROCEDURE dtoa (d : REAL; +- mode : Mode; ++ mode : INTEGER; + ndigits : INTEGER; + VAR decpt: INTEGER; + VAR sign : BOOLEAN) : ADDRESS ; +--- a/src/gcc/m2/gm2-libs/ldtoa.def ++++ b/src/gcc/m2/gm2-libs/ldtoa.def +@@ -50,7 +50,7 @@ PROCEDURE strtold (s: ADDRESS; VAR error: BOOLEAN) : LONGREAL ; + *) + + PROCEDURE ldtoa (d : LONGREAL; +- mode : Mode; ++ mode : INTEGER; + ndigits : INTEGER; + VAR decpt: INTEGER; + VAR sign : BOOLEAN) : ADDRESS ; +--- a/src/gcc/m2/gm2-libs/libc.def ++++ b/src/gcc/m2/gm2-libs/libc.def +@@ -211,7 +211,7 @@ PROCEDURE close (d: INTEGER) : [ INTEGER ] ; + open - open the file, filename with flag and mode. + *) + +-PROCEDURE open (filename: ADDRESS; oflag: INTEGER; ...) : INTEGER ; ++PROCEDURE open (filename: ADDRESS; oflag: INTEGER; mode: INTEGER) : INTEGER ; + + + (* +--- a/src/gcc/m2/gm2spec.cc ++++ b/src/gcc/m2/gm2spec.cc +@@ -20,6 +20,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + . */ + + #include "config.h" ++#define INCLUDE_STRING ++#define INCLUDE_VECTOR + #include "system.h" + #include "coretypes.h" + #include "tm.h" +@@ -31,8 +33,6 @@ along with GNU Modula-2; see the file COPYING3. If not see + #include "gcc.h" + #include "opts.h" + #include "vec.h" +-#include +-#include + + #include "m2/gm2config.h" + +--- a/src/gcc/m2/images/LICENSE.IMG ++++ b/src/gcc/m2/images/LICENSE.IMG +@@ -15,6 +15,5 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License +-along with GNU Modula-2; see the file COPYING. If not, write to the +-Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-02110-1301, USA. */ ++along with GCC; see the file COPYING3. If not see ++. */ +--- a/src/gcc/m2/m2-tree.def ++++ b/src/gcc/m2/m2-tree.def +@@ -16,9 +16,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License +-along with GNU Modula-2; see the file COPYING. If not, write to the +-Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-02110-1301, USA. */ ++along with GCC; see the file COPYING3. If not see ++. */ + + /* A SET_TYPE type. */ + DEFTREECODE (SET_TYPE, "set_type", tcc_type, 0) +--- a/src/gcc/m2/m2.flex ++++ b/src/gcc/m2/m2.flex +@@ -26,6 +26,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + #include "GM2LexBuf.h" + #include "input.h" + #include "m2options.h" ++#include "Gm2linemap.h" + + static int cpreprocessor = 0; /* Replace this with correct getter. */ + +@@ -263,6 +264,7 @@ EXIT { updatepos(); M2LexBuf_AddTok(M2Reserved_exittok); r + EXPORT { updatepos(); M2LexBuf_AddTok(M2Reserved_exporttok); return; } + FINALLY { updatepos(); M2LexBuf_AddTok(M2Reserved_finallytok); return; } + FOR { updatepos(); M2LexBuf_AddTok(M2Reserved_fortok); return; } ++FORWARD { updatepos(); M2LexBuf_AddTok(M2Reserved_forwardtok); return; } + FROM { updatepos(); M2LexBuf_AddTok(M2Reserved_fromtok); return; } + IF { updatepos(); M2LexBuf_AddTok(M2Reserved_iftok); return; } + IMPLEMENTATION { updatepos(); M2LexBuf_AddTok(M2Reserved_implementationtok); return; } +--- a/src/gcc/m2/mc-boot-ch/GSYSTEM.c ++++ b/src/gcc/m2/mc-boot-ch/GSYSTEM.c +@@ -27,12 +27,12 @@ along with GNU Modula-2; see the file COPYING3. If not see + + EXTERN + void +-_M2_SYSTEM_init (int argc, char *p) ++_M2_SYSTEM_init (int argc, char *argv[], char *envp[]) + { + } + + EXTERN + void +-_M2_SYSTEM_fini (int argc, char *p) ++_M2_SYSTEM_fini (int argc, char *argv[], char *envp[]) + { + } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/mc-boot-ch/GSYSTEM.h +@@ -0,0 +1,113 @@ ++/* do not edit automatically generated by mc from SYSTEM. */ ++/* SYSTEM.def provides access to the SYSTEM dependent module. ++ ++Copyright (C) 2001-2024 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. ++ ++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 !defined (_SYSTEM_H) ++# define _SYSTEM_H ++ ++#include "config.h" ++#include "system.h" ++# ifdef __cplusplus ++extern "C" { ++# endif ++#include ++# if !defined (PROC_D) ++# define PROC_D ++ typedef void (*PROC_t) (void); ++ typedef struct { PROC_t proc; } PROC; ++# endif ++ ++ ++# if defined (_SYSTEM_C) ++# define EXTERN ++# else ++# define EXTERN extern ++# endif ++ ++# define SYSTEM_BITSPERBYTE 8 ++# define SYSTEM_BYTESPERWORD 4 ++ ++/* ++ ShiftVal - is a runtime procedure whose job is to implement ++ the SHIFT procedure of ISO SYSTEM. GNU Modula-2 will ++ inline a SHIFT of a single WORD sized set and will only ++ call this routine for larger sets. ++*/ ++ ++EXTERN void SYSTEM_ShiftVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int ShiftCount); ++ ++/* ++ ShiftLeft - performs the shift left for a multi word set. ++ This procedure might be called by the back end of ++ GNU Modula-2 depending whether amount is known at ++ compile time. ++*/ ++ ++EXTERN void SYSTEM_ShiftLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int ShiftCount); ++ ++/* ++ ShiftRight - performs the shift left for a multi word set. ++ This procedure might be called by the back end of ++ GNU Modula-2 depending whether amount is known at ++ compile time. ++*/ ++ ++EXTERN void SYSTEM_ShiftRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int ShiftCount); ++ ++/* ++ RotateVal - is a runtime procedure whose job is to implement ++ the ROTATE procedure of ISO SYSTEM. GNU Modula-2 will ++ inline a ROTATE of a single WORD (or less) ++ sized set and will only call this routine for larger ++ sets. ++*/ ++ ++EXTERN void SYSTEM_RotateVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int RotateCount); ++ ++/* ++ RotateLeft - performs the rotate left for a multi word set. ++ This procedure might be called by the back end of ++ GNU Modula-2 depending whether amount is known at ++ compile time. ++*/ ++ ++EXTERN void SYSTEM_RotateLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); ++ ++/* ++ RotateRight - performs the rotate right for a multi word set. ++ This procedure might be called by the back end of ++ GNU Modula-2 depending whether amount is known at ++ compile time. ++*/ ++ ++EXTERN void SYSTEM_RotateRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); ++# ifdef __cplusplus ++} ++# endif ++ ++# undef EXTERN ++#endif +--- a/src/gcc/m2/mc-boot-ch/GSelective.c ++++ b/src/gcc/m2/mc-boot-ch/GSelective.c +@@ -145,7 +145,7 @@ Selective_FdClr (int fd, fd_set *s) + /* PROCEDURE FdIsSet (fd: INTEGER; SetOfFd) : BOOLEAN ; */ + + EXTERN +-int ++bool + Selective_FdIsSet (int fd, fd_set *s) + { + return FD_ISSET (fd, s); +--- a/src/gcc/m2/mc-boot-ch/GSysExceptions.c ++++ b/src/gcc/m2/mc-boot-ch/GSysExceptions.c +@@ -24,6 +24,16 @@ along with GNU Modula-2; see the file COPYING3. If not see + + #include "gm2-libs-host.h" + ++#ifdef MC_M2 ++#include "GSysExceptions.h" ++#define DECL_PROC_T(X) SysExceptions_PROCEXCEPTION X ++#define PROC_FUNC(X) X.proc ++#else ++#define DECL_PROC_T(X) void (*X) (void *) ++#define PROC_FUNC(X) X ++#endif ++ ++#undef EXTERN + #if defined(__cplusplus) + #define EXTERN extern "C" + #else +@@ -68,13 +78,11 @@ along with GNU Modula-2; see the file COPYING3. If not see + #define SIGSYS 31 /* Bad system call. */ + #define SIGUNUSED 31 + +- + (indexException, rangeException, caseSelectException, invalidLocation, + functionException, wholeValueException, wholeDivException, realValueException, + realDivException, complexValueException, complexDivException, protException, + sysException, coException, exException + ); +- + #endif + + /* wholeDivException and realDivException are caught by SIGFPE +@@ -106,6 +114,7 @@ static void (*systemProc) (void *); + static void (*coroutineProc) (void *); + static void (*exceptionProc) (void *); + ++ + static void + sigbusDespatcher (int signum, siginfo_t *info, void *ucontext) + { +@@ -159,32 +168,39 @@ sigfpeDespatcher (int signum, siginfo_t *info, void *ucontext) + + EXTERN + void +-SysExceptions_InitExceptionHandlers ( +- void (*indexf) (void *), void (*range) (void *), void (*casef) (void *), +- void (*invalidloc) (void *), void (*function) (void *), +- void (*wholevalue) (void *), void (*wholediv) (void *), +- void (*realvalue) (void *), void (*realdiv) (void *), +- void (*complexvalue) (void *), void (*complexdiv) (void *), +- void (*protection) (void *), void (*systemf) (void *), +- void (*coroutine) (void *), void (*exception) (void *)) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + struct sigaction old; + +- indexProc = indexf; +- rangeProc = range; +- caseProc = casef; +- invalidlocProc = invalidloc; +- functionProc = function; +- wholevalueProc = wholevalue; +- wholedivProc = wholediv; +- realvalueProc = realvalue; +- realdivProc = realdiv; +- complexvalueProc = complexvalue; +- complexdivProc = complexdiv; +- protectionProc = protection; +- systemProc = systemf; +- coroutineProc = coroutine; +- exceptionProc = exception; ++ indexProc = PROC_FUNC (indexf); ++ rangeProc = PROC_FUNC (range); ++ caseProc = PROC_FUNC (casef); ++ invalidlocProc = PROC_FUNC (invalidloc); ++ functionProc = PROC_FUNC (function); ++ wholevalueProc = PROC_FUNC (wholevalue); ++ wholedivProc = PROC_FUNC (wholediv); ++ realvalueProc = PROC_FUNC (realvalue); ++ realdivProc = PROC_FUNC (realdiv); ++ complexvalueProc = PROC_FUNC (complexvalue); ++ complexdivProc = PROC_FUNC (complexdiv); ++ protectionProc = PROC_FUNC (protection); ++ systemProc = PROC_FUNC (systemf); ++ coroutineProc = PROC_FUNC (coroutine); ++ exceptionProc = PROC_FUNC (exception); + + sigbus.sa_sigaction = sigbusDespatcher; + sigbus.sa_flags = (SA_SIGINFO); +@@ -211,13 +227,21 @@ SysExceptions_InitExceptionHandlers ( + #else + EXTERN + void +-SysExceptions_InitExceptionHandlers (void *indexf, void *range, void *casef, +- void *invalidloc, void *function, +- void *wholevalue, void *wholediv, +- void *realvalue, void *realdiv, +- void *complexvalue, void *complexdiv, +- void *protection, void *systemf, +- void *coroutine, void *exception) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + } + #endif +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/mc-boot-ch/GSysExceptions.h +@@ -0,0 +1,63 @@ ++/* do not edit automatically generated by mc from SysExceptions. */ ++/* SysExceptions.def provides a mechanism for the underlying libraries to. ++ ++Copyright (C) 2009-2024 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. ++ ++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 !defined (_SysExceptions_H) ++# define _SysExceptions_H ++ ++#include "config.h" ++#include "system.h" ++# ifdef __cplusplus ++extern "C" { ++# endif ++#include ++# if !defined (PROC_D) ++# define PROC_D ++ typedef void (*PROC_t) (void); ++ typedef struct { PROC_t proc; } PROC; ++# endif ++ ++# include "GSYSTEM.h" ++ ++# if defined (_SysExceptions_C) ++# define EXTERN ++# else ++# define EXTERN extern ++# endif ++ ++typedef struct SysExceptions_PROCEXCEPTION_p SysExceptions_PROCEXCEPTION; ++ ++typedef void (*SysExceptions_PROCEXCEPTION_t) (void *); ++struct SysExceptions_PROCEXCEPTION_p { SysExceptions_PROCEXCEPTION_t proc; }; ++ ++EXTERN void SysExceptions_InitExceptionHandlers (SysExceptions_PROCEXCEPTION indexf, SysExceptions_PROCEXCEPTION range, SysExceptions_PROCEXCEPTION casef, SysExceptions_PROCEXCEPTION invalidloc, SysExceptions_PROCEXCEPTION function, SysExceptions_PROCEXCEPTION wholevalue, SysExceptions_PROCEXCEPTION wholediv, SysExceptions_PROCEXCEPTION realvalue, SysExceptions_PROCEXCEPTION realdiv, SysExceptions_PROCEXCEPTION complexvalue, SysExceptions_PROCEXCEPTION complexdiv, SysExceptions_PROCEXCEPTION protection, SysExceptions_PROCEXCEPTION systemf, SysExceptions_PROCEXCEPTION coroutine, SysExceptions_PROCEXCEPTION exception); ++# ifdef __cplusplus ++} ++# endif ++ ++# undef EXTERN ++#endif +--- a/src/gcc/m2/mc-boot-ch/Gdtoa.cc ++++ b/src/gcc/m2/mc-boot-ch/Gdtoa.cc +@@ -123,21 +123,21 @@ dtoa_calcdecimal (char *p, int str_size, int ndigits) + } + + +-int ++bool + dtoa_calcsign (char *p, int str_size) + { + if (p[0] == '-') + { + memmove (p, p + 1, str_size - 1); +- return TRUE; ++ return true; + } + else +- return FALSE; ++ return false; + } + + +-char * +-dtoa_dtoa (double d, int mode, int ndigits, int *decpt, int *sign) ++void * ++dtoa_dtoa (double d, int mode, int ndigits, int *decpt, bool *sign) + { + char format[50]; + char *p; +@@ -169,12 +169,12 @@ dtoa_dtoa (double d, int mode, int ndigits, int *decpt, int *sign) + /* GNU Modula-2 hooks */ + + void +-_M2_dtoa_init (void) ++_M2_dtoa_init (int argc, char *argv[], char *envp[]) + { + } + + void +-_M2_dtoa_fini (void) ++_M2_dtoa_fini (int argc, char *argv[], char *envp[]) + { + } + #endif +--- a/src/gcc/m2/mc-boot-ch/Gerrno.cc ++++ b/src/gcc/m2/mc-boot-ch/Gerrno.cc +@@ -38,14 +38,14 @@ errno_geterrno (void) + /* init constructor for the module. */ + + void +-_M2_errno_init (int argc, char *p) ++_M2_errno_init (int argc, char *argv[], char *envp[]) + { + } + + /* finish deconstructor for the module. */ + + void +-_M2_errno_fini (int argc, char *p) ++_M2_errno_fini (int argc, char *argv[], char *envp[]) + { + } + +--- a/src/gcc/m2/mc-boot-ch/Gldtoa.cc ++++ b/src/gcc/m2/mc-boot-ch/Gldtoa.cc +@@ -34,7 +34,7 @@ typedef enum Mode { maxsignicant, decimaldigits } Mode; + + extern int dtoa_calcmaxsig (char *p, int ndigits); + extern int dtoa_calcdecimal (char *p, int str_size, int ndigits); +-extern int dtoa_calcsign (char *p, int str_size); ++extern bool dtoa_calcsign (char *p, int str_size); + + /* maxsignicant: return a string containing max(1,ndigits) + significant digits. The return string contains the string +@@ -43,27 +43,27 @@ extern int dtoa_calcsign (char *p, int str_size); + (ndigits may be negative). */ + + long double +-ldtoa_strtold (const char *s, int *error) ++ldtoa_strtold (void *s, bool *error) + { + char *endp; + long double d; + + errno = 0; + #if defined(HAVE_STRTOLD) +- d = strtold (s, &endp); ++ d = strtold (reinterpret_cast (s), &endp); + #else + /* fall back to using strtod. */ +- d = (long double)strtod (s, &endp); ++ d = (long double)strtod (reinterpret_cast (s), &endp); + #endif + if (endp != NULL && (*endp == '\0')) + *error = (errno != 0); + else +- *error = TRUE; ++ *error = true; + return d; + } + +-char * +-ldtoa_ldtoa (long double d, int mode, int ndigits, int *decpt, int *sign) ++void * ++ldtoa_ldtoa (long double d, int mode, int ndigits, int *decpt, bool *sign) + { + char format[50]; + char *p; +@@ -94,12 +94,12 @@ ldtoa_ldtoa (long double d, int mode, int ndigits, int *decpt, int *sign) + /* GNU Modula-2 hooks */ + + void +-_M2_ldtoa_init (void) ++_M2_ldtoa_init (int argc, char *argv[], char *envp[]) + { + } + + void +-_M2_ldtoa_fini (void) ++_M2_ldtoa_fini (int argc, char *argv[], char *envp[]) + { + } + # ifdef __cplusplus +--- a/src/gcc/m2/mc-boot-ch/Glibc.c ++++ b/src/gcc/m2/mc-boot-ch/Glibc.c +@@ -67,7 +67,7 @@ tracedb (const char *format, ...) + + static + void +-tracedb_open (const char *p, int flags, mode_t mode) ++tracedb_open (const void *p, int flags, int mode) + { + #if defined(BUILD_MC_LIBC_TRACE) + bool item_written = false; +@@ -110,23 +110,35 @@ tracedb_result (int result) + #endif + } + ++static ++void ++tracedb_zresult (size_t result) ++{ ++#if defined(BUILD_MC_LIBC_TRACE) ++ tracedb (" result = %zd", result); ++ if (result == -1) ++ tracedb (", errno = %s", strerror (errno)); ++ tracedb ("\n"); ++#endif ++} ++ + EXTERN +-int +-libc_read (int fd, void *a, int nbytes) ++size_t ++libc_read (int fd, void *a, size_t nbytes) + { +- tracedb ("libc_read (%d, %p, %d)\n", fd, a, nbytes); +- int result = read (fd, a, nbytes); +- tracedb_result (result); ++ tracedb ("libc_read (%d, %p, %zd)\n", fd, a, nbytes); ++ size_t result = read (fd, a, nbytes); ++ tracedb_zresult (result); + return result; + } + + EXTERN +-int +-libc_write (int fd, void *a, int nbytes) ++size_t ++libc_write (int fd, void *a, size_t nbytes) + { +- tracedb ("libc_write (%d, %p, %d)\n", fd, a, nbytes); +- int result = write (fd, a, nbytes); +- tracedb_result (result); ++ tracedb ("libc_write (%d, %p, %zd)\n", fd, a, nbytes); ++ size_t result = write (fd, a, nbytes); ++ tracedb_zresult (result); + return result; + } + +@@ -149,7 +161,7 @@ libc_exit (int code) + + EXTERN + void +-libc_perror (char *s) ++libc_perror (const char *s, unsigned int length) + { + perror (s); + } +@@ -162,7 +174,7 @@ libc_abort () + } + + EXTERN +-int ++size_t + libc_strlen (char *s) + { + return strlen (s); +@@ -184,18 +196,18 @@ libc_localtime (time_t *epochtime) + + EXTERN + int +-libc_printf (char *_format, unsigned int _format_high, ...) ++libc_printf (const char *_format, unsigned int _format_high, ...) + { + va_list arg; + int done; + char format[_format_high + 1]; + unsigned int i = 0; + unsigned int j = 0; +- char *c; ++ const char *c; + + do + { +- c = index (&_format[i], '\\'); ++ c = index (&const_cast (_format)[i], '\\'); + if (c == NULL) + strcpy (&format[j], &_format[i]); + else +@@ -221,18 +233,18 @@ libc_printf (char *_format, unsigned int _format_high, ...) + + EXTERN + int +-libc_snprintf (char *dest, size_t length, char *_format, unsigned int _format_high, ...) ++libc_snprintf (void *dest, size_t length, const char *_format, unsigned int _format_high, ...) + { + va_list arg; + int done; + char format[_format_high + 1]; + unsigned int i = 0; + unsigned int j = 0; +- char *c; ++ const char *c; + + do + { +- c = index (&_format[i], '\\'); ++ c = index (&const_cast (_format)[i], '\\'); + if (c == NULL) + strcpy (&format[j], &_format[i]); + else +@@ -251,14 +263,14 @@ libc_snprintf (char *dest, size_t length, char *_format, unsigned int _format_hi + while (c != NULL); + + va_start (arg, _format_high); +- done = vsnprintf (dest, length, format, arg); ++ done = vsnprintf (reinterpret_cast (dest), length, format, arg); + va_end (arg); + return done; + } + + EXTERN + void * +-libc_malloc (unsigned int size) ++libc_malloc (size_t size) + { + return malloc (size); + } +@@ -300,7 +312,7 @@ libc_system (char *command) + + EXTERN + void * +-libc_memcpy (void *dest, void *src, int n) ++libc_memcpy (void *dest, void *src, size_t n) + { + return memcpy (dest, src, n); + } +@@ -331,10 +343,10 @@ libc_creat (char *p, mode_t mode) + + EXTERN + int +-libc_open (char *p, int flags, mode_t mode) ++libc_open (void *p, int flags, int mode) + { + tracedb_open (p, flags, mode); +- int result = open (p, flags, mode); ++ int result = open (reinterpret_cast (p), flags, mode); + tracedb_result (result); + return result; + } +--- a/src/gcc/m2/mc-boot-ch/Gm2rtsdummy.cc ++++ b/src/gcc/m2/mc-boot-ch/Gm2rtsdummy.cc +@@ -31,32 +31,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef void (*proc_con) (int, char **, char **); + typedef void (*proc_dep) (void); + +-#if 0 +-/* Used if -fscaffold-dynamic were selected. */ +-extern "C" void M2RTS_RequestDependant (const char *modulename, const char *libname, +- const char *dependancy, const char *deplib); +-#endif +- +-extern "C" void m2pim_M2RTS_RegisterModule (const char *modulename, const char *libname, ++extern "C" void m2pim_M2RTS_RegisterModule (void *modulename, void *libname, + proc_con init, proc_con fini, proc_dep dependencies); + + /* Fixup references, the code will not be used though, as it is only used if + -fscaffold-dynamic is selected (and mc uses -fscaffold-static). */ + + extern "C" +-void M2RTS_RegisterModule (const char *modulename, const char *libname, ++void M2RTS_RegisterModule (char *modulename, char *libname, + proc_con init, proc_con fini, proc_dep dependencies) + { +- m2pim_M2RTS_RegisterModule (modulename, libname, init, fini, dependencies); ++ m2pim_M2RTS_RegisterModule (reinterpret_cast (modulename), ++ reinterpret_cast (libname), ++ init, fini, dependencies); + } +- +-#if 0 +-extern "C" void _M2_M2RTS_init (void); +- +-extern "C" void M2RTS_ConstructModules (const char *, +- int argc, char *argv[], char *envp[]); +-extern "C" void M2RTS_Terminate (void); +-extern "C" void M2RTS_DeconstructModules (void); +- +-extern "C" void M2RTS_Halt (const char *, int, const char *, const char *) __attribute__ ((noreturn)); +-#endif +--- a/src/gcc/m2/mc-boot-ch/Gtermios.cc ++++ b/src/gcc/m2/mc-boot-ch/Gtermios.cc +@@ -1,4 +1,4 @@ +-/* Gtermios.cc handwritten module for mc. ++/* Gtermios.c handwritten module for mc. + + Copyright (C) 2010-2024 Free Software Foundation, Inc. + Contributed by Gaius Mulley . +@@ -24,6 +24,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + + #include "gm2-libs-host.h" + ++#define _termios_C ++#include "Gtermios.h" ++ + #ifdef HAVE_TERMIOS_H + # include + #endif +@@ -193,13 +196,13 @@ EXPORT (InitTermios) (void) + /* KillTermios - delete data structure. */ + + void * +-EXPORT (KillTermios) (struct termios *p) ++EXPORT (KillTermios) (termios_TERMIOS p) + { + free (p); + return NULL; + } + +-/* tcsnow - return the value of TCSANOW. */ ++/* tcsnow return the value of TCSANOW. */ + + int + EXPORT (tcsnow) (void) +@@ -207,7 +210,7 @@ EXPORT (tcsnow) (void) + return TCSANOW; + } + +-/* tcsdrain - return the value of TCSADRAIN. */ ++/* tcsdrain return the value of TCSADRAIN. */ + + int + EXPORT (tcsdrain) (void) +@@ -215,7 +218,7 @@ EXPORT (tcsdrain) (void) + return TCSADRAIN; + } + +-/* tcsflush - return the value of TCSAFLUSH. */ ++/* tcsflush return the value of TCSAFLUSH. */ + + int + EXPORT (tcsflush) (void) +@@ -223,43 +226,48 @@ EXPORT (tcsflush) (void) + return TCSAFLUSH; + } + +-/* cfgetospeed - return output baud rate. */ ++/* cfgetospeed return output baud rate. */ + + int +-EXPORT (cfgetospeed) (struct termios *t) ++EXPORT (cfgetospeed) (termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return cfgetospeed (t); + } + +-/* cfgetispeed - return input baud rate. */ ++/* cfgetispeed return input baud rate. */ + + int +-EXPORT (cfgetispeed) (struct termios *t) ++EXPORT (cfgetispeed) (termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return cfgetispeed (t); + } + +-/* cfsetospeed - set output baud rate. */ ++/* cfsetospeed set output baud rate. */ + + int +-EXPORT (cfsetospeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetospeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetospeed (t, b); + } + +-/* cfsetispeed - set input baud rate. */ ++/* cfsetispeed set input baud rate. */ + + int +-EXPORT (cfsetispeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetispeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetispeed (t, b); + } + +-/* cfsetspeed - set input and output baud rate. */ ++/* cfsetspeed set input and output baud rate. */ + + int +-EXPORT (cfsetspeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetspeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + int val = cfsetispeed (t, b); + if (val == 0) + return cfsetospeed (t, b); +@@ -267,33 +275,36 @@ EXPORT (cfsetspeed) (struct termios *t, unsigned int b) + return val; + } + +-/* tcgetattr - get state of, fd, into, t. */ ++/* tcgetattr get state of fd into t. */ + + int +-EXPORT (tcgetattr) (int fd, struct termios *t) ++EXPORT (tcgetattr) (int fd, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcgetattr (fd, t); + } + +-/* tcsetattr - set state of, fd, to, t, using option. */ ++/* tcsetattr set state of fd to t using option. */ + + int +-EXPORT (tcsetattr) (int fd, int option, struct termios *t) ++EXPORT (tcsetattr) (int fd, int option, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcsetattr (fd, option, t); + } + +-/* cfmakeraw - sets the terminal to raw mode. */ ++/* cfmakeraw sets the terminal to raw mode. */ + + void +-EXPORT (cfmakeraw) (struct termios *t) ++EXPORT (cfmakeraw) (termios_TERMIOS _t) + { + #if defined(HAVE_CFMAKERAW) +- return cfmakeraw (t); ++ struct termios *t = (termios *)_t; ++ cfmakeraw (t); + #endif + } + +-/* tcsendbreak - send zero bits for duration. */ ++/* tcsendbreak send zero bits for duration. */ + + int + EXPORT (tcsendbreak) (int fd, int duration) +@@ -301,7 +312,7 @@ EXPORT (tcsendbreak) (int fd, int duration) + return tcsendbreak (fd, duration); + } + +-/* tcdrain - waits for pending output to be written on, fd. */ ++/* tcdrain waits for pending output to be written on fd. */ + + int + EXPORT (tcdrain) (int fd) +@@ -309,7 +320,7 @@ EXPORT (tcdrain) (int fd) + return tcdrain (fd); + } + +-/* tcflushi - flush input. */ ++/* tcflushi flush input. */ + + int + EXPORT (tcflushi) (int fd) +@@ -321,7 +332,7 @@ EXPORT (tcflushi) (int fd) + #endif + } + +-/* tcflusho - flush output. */ ++/* tcflusho flush output. */ + + int + EXPORT (tcflusho) (int fd) +@@ -333,7 +344,7 @@ EXPORT (tcflusho) (int fd) + #endif + } + +-/* tcflushio - flush input and output. */ ++/* tcflushio flush input and output. */ + + int + EXPORT (tcflushio) (int fd) +@@ -345,7 +356,7 @@ EXPORT (tcflushio) (int fd) + #endif + } + +-/* tcflowoni - restart input on, fd. */ ++/* tcflowoni restart input on fd. */ + + int + EXPORT (tcflowoni) (int fd) +@@ -357,7 +368,7 @@ EXPORT (tcflowoni) (int fd) + #endif + } + +-/* tcflowoffi - stop input on, fd. */ ++/* tcflowoffi stop input on fd. */ + + int + EXPORT (tcflowoffi) (int fd) +@@ -369,7 +380,7 @@ EXPORT (tcflowoffi) (int fd) + #endif + } + +-/* tcflowono - restart output on, fd. */ ++/* tcflowono restart output on fd. */ + + int + EXPORT (tcflowono) (int fd) +@@ -381,7 +392,7 @@ EXPORT (tcflowono) (int fd) + #endif + } + +-/* tcflowoffo - stop output on, fd. */ ++/* tcflowoffo stop output on fd. */ + + int + EXPORT (tcflowoffo) (int fd) +@@ -393,1542 +404,1551 @@ EXPORT (tcflowoffo) (int fd) + #endif + } + +-/* GetFlag - sets a flag value from, t, in, b, and returns TRUE if, +- t, supports, f. */ ++/* GetFlag sets a flag value from t in b and returns TRUE if ++ t supports f. */ + +-int +-EXPORT (GetFlag) (struct termios *t, Flag f, int *b) ++bool ++EXPORT (GetFlag) (termios_TERMIOS _t, termios_Flag _f, bool *b) + { ++ Flag f = (Flag) _f; ++ struct termios *t = (termios *)_t; + switch (f) + { + + case ignbrk: + #if defined(IGNBRK) + *b = ((t->c_iflag & IGNBRK) == IGNBRK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ibrkint: + #if defined(BRKINT) + *b = ((t->c_iflag & BRKINT) == BRKINT); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ignpar: + #if defined(IGNPAR) + *b = ((t->c_iflag & IGNPAR) == IGNPAR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case iparmrk: + #if defined(PARMRK) + *b = ((t->c_iflag & PARMRK) == PARMRK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case inpck: + #if defined(INPCK) + *b = ((t->c_iflag & INPCK) == INPCK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case istrip: + #if defined(ISTRIP) + *b = ((t->c_iflag & ISTRIP) == ISTRIP); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case inlcr: + #if defined(INLCR) + *b = ((t->c_iflag & INLCR) == INLCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case igncr: + #if defined(IGNCR) + *b = ((t->c_iflag & IGNCR) == IGNCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case icrnl: + #if defined(ICRNL) + *b = ((t->c_iflag & ICRNL) == ICRNL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case iuclc: + #if defined(IUCLC) + *b = ((t->c_iflag & IUCLC) == IUCLC); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixon: + #if defined(IXON) + *b = ((t->c_iflag & IXON) == IXON); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixany: + #if defined(IXANY) + *b = ((t->c_iflag & IXANY) == IXANY); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixoff: + #if defined(IXOFF) + *b = ((t->c_iflag & IXOFF) == IXOFF); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case imaxbel: + #if defined(IMAXBEL) + *b = ((t->c_iflag & IMAXBEL) == IMAXBEL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case opost: + #if defined(OPOST) + *b = ((t->c_oflag & OPOST) == OPOST); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case olcuc: + #if defined(OLCUC) + *b = ((t->c_oflag & OLCUC) == OLCUC); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onlcr: + #if defined(ONLCR) + *b = ((t->c_oflag & ONLCR) == ONLCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocrnl: + #if defined(OCRNL) + *b = ((t->c_oflag & OCRNL) == OCRNL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onocr: + #if defined(ONOCR) + *b = ((t->c_oflag & ONOCR) == ONOCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onlret: + #if defined(ONLRET) + *b = ((t->c_oflag & ONLRET) == ONLRET); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ofill: + #if defined(OFILL) + *b = ((t->c_oflag & OFILL) == OFILL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ofdel: + #if defined(OFDEL) + *b = ((t->c_oflag & OFDEL) == OFDEL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onl0: + #if defined(NL0) + *b = ((t->c_oflag & NL0) == NL0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onl1: + #if defined(NL1) + *b = ((t->c_oflag & NL1) == NL1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr0: + #if defined(CR0) + *b = ((t->c_oflag & CR0) == CR0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr1: + #if defined(CR1) + *b = ((t->c_oflag & CR1) == CR1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr2: + #if defined(CR2) + *b = ((t->c_oflag & CR2) == CR2); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr3: + #if defined(CR3) + *b = ((t->c_oflag & CR3) == CR3); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab0: + #if defined(TAB0) + *b = ((t->c_oflag & TAB0) == TAB0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab1: + #if defined(TAB1) + *b = ((t->c_oflag & TAB1) == TAB1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab2: + #if defined(TAB2) + *b = ((t->c_oflag & TAB2) == TAB2); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab3: + #if defined(TAB3) + *b = ((t->c_oflag & TAB3) == TAB3); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case obs0: + #if defined(BS0) + *b = ((t->c_oflag & BS0) == BS0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case obs1: + #if defined(BS1) + *b = ((t->c_oflag & BS1) == BS1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case off0: + #if defined(FF0) + *b = ((t->c_oflag & FF0) == FF0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case off1: + #if defined(FF1) + *b = ((t->c_oflag & FF1) == FF1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ovt0: + #if defined(VT0) + *b = ((t->c_oflag & VT0) == VT0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ovt1: + #if defined(VT1) + *b = ((t->c_oflag & VT1) == VT1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b0: + #if defined(B0) + *b = ((t->c_cflag & B0) == B0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b50: + #if defined(B50) + *b = ((t->c_cflag & B50) == B50); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b75: + #if defined(B75) + *b = ((t->c_cflag & B75) == B75); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b110: + #if defined(B110) + *b = ((t->c_cflag & B110) == B110); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b135: + #if defined(B134) + *b = ((t->c_cflag & B134) == B134); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b150: + #if defined(B150) + *b = ((t->c_cflag & B150) == B150); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b200: + #if defined(B200) + *b = ((t->c_cflag & B200) == B200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b300: + #if defined(B300) + *b = ((t->c_cflag & B300) == B300); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b600: + #if defined(B600) + *b = ((t->c_cflag & B600) == B600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1200: + #if defined(B1200) + *b = ((t->c_cflag & B1200) == B1200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1800: + #if defined(B1800) + *b = ((t->c_cflag & B1800) == B1800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2400: + #if defined(B2400) + *b = ((t->c_cflag & B2400) == B2400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b4800: + #if defined(B4800) + *b = ((t->c_cflag & B4800) == B4800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b9600: + #if defined(B9600) + *b = ((t->c_cflag & B9600) == B9600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b19200: + #if defined(B19200) + *b = ((t->c_cflag & B19200) == B19200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b38400: + #if defined(B38400) + *b = ((t->c_cflag & B38400) == B38400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b57600: + #if defined(B57600) + *b = ((t->c_cflag & B57600) == B57600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b115200: + #if defined(B115200) + *b = ((t->c_cflag & B115200) == B115200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b240400: + #if defined(B230400) + *b = ((t->c_cflag & B230400) == B230400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b460800: + #if defined(B460800) + *b = ((t->c_cflag & B460800) == B460800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b500000: + #if defined(B500000) + *b = ((t->c_cflag & B500000) == B500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b576000: + #if defined(B576000) + *b = ((t->c_cflag & B576000) == B576000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b921600: + #if defined(B921600) + *b = ((t->c_cflag & B921600) == B921600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1000000: + #if defined(B1000000) + *b = ((t->c_cflag & B1000000) == B1000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1152000: + #if defined(B1152000) + *b = ((t->c_cflag & B1152000) == B1152000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1500000: + #if defined(B1500000) + *b = ((t->c_cflag & B1500000) == B1500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2000000: + #if defined(B2000000) + *b = ((t->c_cflag & B2000000) == B2000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2500000: + #if defined(B2500000) + *b = ((t->c_cflag & B2500000) == B2500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b3000000: + #if defined(B3000000) + *b = ((t->c_cflag & B3000000) == B3000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b3500000: + #if defined(B3500000) + *b = ((t->c_cflag & B3500000) == B3500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b4000000: + #if defined(B4000000) + *b = ((t->c_cflag & B4000000) == B4000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case maxbaud: + #if defined(__MAX_BAUD) + *b = ((t->c_cflag & __MAX_BAUD) == __MAX_BAUD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case crtscts: + #if defined(CRTSCTS) + *b = ((t->c_cflag & CRTSCTS) == CRTSCTS); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs5: + #if defined(CS5) + *b = ((t->c_cflag & CS5) == CS5); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs6: + #if defined(CS6) + *b = ((t->c_cflag & CS6) == CS6); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs7: + #if defined(CS7) + *b = ((t->c_cflag & CS7) == CS7); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs8: + #if defined(CS8) + *b = ((t->c_cflag & CS8) == CS8); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cstopb: + #if defined(CSTOPB) + *b = ((t->c_cflag & CSTOPB) == CSTOPB); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cread: + #if defined(CREAD) + *b = ((t->c_cflag & CREAD) == CREAD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case parenb: + #if defined(PARENB) + *b = ((t->c_cflag & PARENB) == PARENB); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case parodd: + #if defined(PARODD) + *b = ((t->c_cflag & PARODD) == PARODD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case hupcl: + #if defined(HUPCL) + *b = ((t->c_cflag & HUPCL) == HUPCL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case clocal: + #if defined(CLOCAL) + *b = ((t->c_cflag & CLOCAL) == CLOCAL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lisig: + #if defined(ISIG) + *b = ((t->c_lflag & ISIG) == ISIG); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case licanon: + #if defined(ICANON) + *b = ((t->c_lflag & ICANON) == ICANON); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lxcase: + #if defined(XCASE) + *b = ((t->c_lflag & XCASE) == XCASE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lecho: + #if defined(ECHO) + *b = ((t->c_lflag & ECHO) == ECHO); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoe: + #if defined(ECHOE) + *b = ((t->c_lflag & ECHOE) == ECHOE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechok: + #if defined(ECHOK) + *b = ((t->c_lflag & ECHOK) == ECHOK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechonl: + #if defined(ECHONL) + *b = ((t->c_lflag & ECHONL) == ECHONL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lnoflsh: + #if defined(NOFLSH) + *b = ((t->c_lflag & NOFLSH) == NOFLSH); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ltopstop: + #if defined(TOSTOP) + *b = ((t->c_lflag & TOSTOP) == TOSTOP); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoctl: + #if defined(ECHOCTL) + *b = ((t->c_lflag & ECHOCTL) == ECHOCTL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoprt: + #if defined(ECHOPRT) + *b = ((t->c_lflag & ECHOPRT) == ECHOPRT); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoke: + #if defined(ECHOKE) + *b = ((t->c_lflag & ECHOKE) == ECHOKE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lflusho: + #if defined(FLUSHO) + *b = ((t->c_lflag & FLUSHO) == FLUSHO); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lpendin: + #if defined(PENDIN) + *b = ((t->c_lflag & PENDIN) == PENDIN); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case liexten: + #if defined(IEXTEN) + *b = ((t->c_lflag & IEXTEN) == IEXTEN); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + } +- return 0; ++ return false; + } + +-/* SetFlag - sets a flag value in, t, to, b, and returns TRUE if this ++/* SetFlag sets a flag value in t to b and returns TRUE if this + flag value is supported. */ + +-int +-EXPORT (SetFlag) (struct termios *t, Flag f, int b) ++bool ++EXPORT (SetFlag) (termios_TERMIOS _t, termios_Flag _f, bool b) + { ++ struct termios *t = (struct termios *) _t; ++ Flag f = (Flag) _f; ++ + switch (f) + { + case ignbrk: + #if defined(IGNBRK) + return doSetUnset (&t->c_iflag, IGNBRK, b); + #else +- return 0; ++ return false; + #endif + case ibrkint: + #if defined(BRKINT) + return doSetUnset (&t->c_iflag, BRKINT, b); + #else +- return 0; ++ return false; + #endif + case ignpar: + #if defined(IGNPAR) + return doSetUnset (&t->c_iflag, IGNPAR, b); + #else +- return 0; ++ return false; + #endif + case iparmrk: + #if defined(PARMRK) + return doSetUnset (&t->c_iflag, PARMRK, b); + #else +- return 0; ++ return false; + #endif + case inpck: + #if defined(INPCK) + return doSetUnset (&t->c_iflag, INPCK, b); + #else +- return 0; ++ return false; + #endif + case istrip: + #if defined(ISTRIP) + return doSetUnset (&t->c_iflag, ISTRIP, b); + #else +- return 0; ++ return false; + #endif + case inlcr: + #if defined(INLCR) + return doSetUnset (&t->c_iflag, INLCR, b); + #else +- return 0; ++ return false; + #endif + case igncr: + #if defined(IGNCR) + return doSetUnset (&t->c_iflag, IGNCR, b); + #else +- return 0; ++ return false; + #endif + case icrnl: + #if defined(ICRNL) + return doSetUnset (&t->c_iflag, ICRNL, b); + #else +- return 0; ++ return false; + #endif + case iuclc: + #if defined(IUCLC) + return doSetUnset (&t->c_iflag, IUCLC, b); + #else +- return 0; ++ return false; + #endif + case ixon: + #if defined(IXON) + return doSetUnset (&t->c_iflag, IXON, b); + #else +- return 0; ++ return false; + #endif + case ixany: + #if defined(IXANY) + return doSetUnset (&t->c_iflag, IXANY, b); + #else +- return 0; ++ return false; + #endif + case ixoff: + #if defined(IXOFF) + return doSetUnset (&t->c_iflag, IXOFF, b); + #else +- return 0; ++ return false; + #endif + case imaxbel: + #if defined(IMAXBEL) + return doSetUnset (&t->c_iflag, IMAXBEL, b); + #else +- return 0; ++ return false; + #endif + case opost: + #if defined(OPOST) + return doSetUnset (&t->c_oflag, OPOST, b); + #else +- return 0; ++ return false; + #endif + case olcuc: + #if defined(OLCUC) + return doSetUnset (&t->c_oflag, OLCUC, b); + #else +- return 0; ++ return false; + #endif + case onlcr: + #if defined(ONLCR) + return doSetUnset (&t->c_oflag, ONLCR, b); + #else +- return 0; ++ return false; + #endif + case ocrnl: + #if defined(OCRNL) + return doSetUnset (&t->c_oflag, OCRNL, b); + #else +- return 0; ++ return false; + #endif + case onocr: + #if defined(ONOCR) + return doSetUnset (&t->c_oflag, ONOCR, b); + #else +- return 0; ++ return false; + #endif + case onlret: + #if defined(ONLRET) + return doSetUnset (&t->c_oflag, ONLRET, b); + #else +- return 0; ++ return false; + #endif + case ofill: + #if defined(OFILL) + return doSetUnset (&t->c_oflag, OFILL, b); + #else +- return 0; ++ return false; + #endif + case ofdel: + #if defined(OFDEL) + return doSetUnset (&t->c_oflag, OFDEL, b); + #else +- return 0; ++ return false; + #endif + case onl0: + #if defined(NL0) + return doSetUnset (&t->c_oflag, NL0, b); + #else +- return 0; ++ return false; + #endif + case onl1: + #if defined(NL1) + return doSetUnset (&t->c_oflag, NL1, b); + #else +- return 0; ++ return false; + #endif + case ocr0: + #if defined(CR0) + return doSetUnset (&t->c_oflag, CR0, b); + #else +- return 0; ++ return false; + #endif + case ocr1: + #if defined(CR1) + return doSetUnset (&t->c_oflag, CR1, b); + #else +- return 0; ++ return false; + #endif + case ocr2: + #if defined(CR2) + return doSetUnset (&t->c_oflag, CR2, b); + #else +- return 0; ++ return false; + #endif + case ocr3: + #if defined(CR3) + return doSetUnset (&t->c_oflag, CR3, b); + #else +- return 0; ++ return false; + #endif + case otab0: + #if defined(TAB0) + return doSetUnset (&t->c_oflag, TAB0, b); + #else +- return 0; ++ return false; + #endif + case otab1: + #if defined(TAB1) + return doSetUnset (&t->c_oflag, TAB1, b); + #else +- return 0; ++ return false; + #endif + case otab2: + #if defined(TAB2) + return doSetUnset (&t->c_oflag, TAB2, b); + #else +- return 0; ++ return false; + #endif + case otab3: + #if defined(TAB3) + return doSetUnset (&t->c_oflag, TAB3, b); + #else +- return 0; ++ return false; + #endif + case obs0: + #if defined(BS0) + return doSetUnset (&t->c_oflag, BS0, b); + #else +- return 0; ++ return false; + #endif + case obs1: + #if defined(BS1) + return doSetUnset (&t->c_oflag, BS1, b); + #else +- return 0; ++ return false; + #endif + case off0: + #if defined(FF0) + return doSetUnset (&t->c_oflag, FF0, b); + #else +- return 0; ++ return false; + #endif + case off1: + #if defined(FF1) + return doSetUnset (&t->c_oflag, FF1, b); + #else +- return 0; ++ return false; + #endif + case ovt0: + #if defined(VT0) + return doSetUnset (&t->c_oflag, VT0, b); + #else +- return 0; ++ return false; + #endif + case ovt1: + #if defined(VT1) + return doSetUnset (&t->c_oflag, VT1, b); + #else +- return 0; ++ return false; + #endif + case b0: + #if defined(B0) + return doSetUnset (&t->c_cflag, B0, b); + #else +- return 0; ++ return false; + #endif + case b50: + #if defined(B50) + return doSetUnset (&t->c_cflag, B50, b); + #else +- return 0; ++ return false; + #endif + case b75: + #if defined(B75) + return doSetUnset (&t->c_cflag, B75, b); + #else +- return 0; ++ return false; + #endif + case b110: + #if defined(B110) + return doSetUnset (&t->c_cflag, B110, b); + #else +- return 0; ++ return false; + #endif + case b135: + #if defined(B134) + return doSetUnset (&t->c_cflag, B134, b); + #else +- return 0; ++ return false; + #endif + case b150: + #if defined(B150) + return doSetUnset (&t->c_cflag, B150, b); + #else +- return 0; ++ return false; + #endif + case b200: + #if defined(B200) + return doSetUnset (&t->c_cflag, B200, b); + #else +- return 0; ++ return false; + #endif + case b300: + #if defined(B300) + return doSetUnset (&t->c_cflag, B300, b); + #else +- return 0; ++ return false; + #endif + case b600: + #if defined(B600) + return doSetUnset (&t->c_cflag, B600, b); + #else +- return 0; ++ return false; + #endif + case b1200: + #if defined(B1200) + return doSetUnset (&t->c_cflag, B1200, b); + #else +- return 0; ++ return false; + #endif + case b1800: + #if defined(B1800) + return doSetUnset (&t->c_cflag, B1800, b); + #else +- return 0; ++ return false; + #endif + case b2400: + #if defined(B2400) + return doSetUnset (&t->c_cflag, B2400, b); + #else +- return 0; ++ return false; + #endif + case b4800: + #if defined(B4800) + return doSetUnset (&t->c_cflag, B4800, b); + #else +- return 0; ++ return false; + #endif + case b9600: + #if defined(B9600) + return doSetUnset (&t->c_cflag, B9600, b); + #else +- return 0; ++ return false; + #endif + case b19200: + #if defined(B19200) + return doSetUnset (&t->c_cflag, B19200, b); + #else +- return 0; ++ return false; + #endif + case b38400: + #if defined(B38400) + return doSetUnset (&t->c_cflag, B38400, b); + #else +- return 0; ++ return false; + #endif + case b57600: + #if defined(B57600) + return doSetUnset (&t->c_cflag, B57600, b); + #else +- return 0; ++ return false; + #endif + case b115200: + #if defined(B115200) + return doSetUnset (&t->c_cflag, B115200, b); + #else +- return 0; ++ return false; + #endif + case b240400: + #if defined(B230400) + return doSetUnset (&t->c_cflag, B230400, b); + #else +- return 0; ++ return false; + #endif + case b460800: + #if defined(B460800) + return doSetUnset (&t->c_cflag, B460800, b); + #else +- return 0; ++ return false; + #endif + case b500000: + #if defined(B500000) + return doSetUnset (&t->c_cflag, B500000, b); + #else +- return 0; ++ return false; + #endif + case b576000: + #if defined(B576000) + return doSetUnset (&t->c_cflag, B576000, b); + #else +- return 0; ++ return false; + #endif + case b921600: + #if defined(B921600) + return doSetUnset (&t->c_cflag, B921600, b); + #else +- return 0; ++ return false; + #endif + case b1000000: + #if defined(B1000000) + return doSetUnset (&t->c_cflag, B1000000, b); + #else +- return 0; ++ return false; + #endif + case b1152000: + #if defined(B1152000) + return doSetUnset (&t->c_cflag, B1152000, b); + #else +- return 0; ++ return false; + #endif + case b1500000: + #if defined(B1500000) + return doSetUnset (&t->c_cflag, B1500000, b); + #else +- return 0; ++ return false; + #endif + case b2000000: + #if defined(B2000000) + return doSetUnset (&t->c_cflag, B2000000, b); + #else +- return 0; ++ return false; + #endif + case b2500000: + #if defined(B2500000) + return doSetUnset (&t->c_cflag, B2500000, b); + #else +- return 0; ++ return false; + #endif + case b3000000: + #if defined(B3000000) + return doSetUnset (&t->c_cflag, B3000000, b); + #else +- return 0; ++ return false; + #endif + case b3500000: + #if defined(B3500000) + return doSetUnset (&t->c_cflag, B3500000, b); + #else +- return 0; ++ return false; + #endif + case b4000000: + #if defined(B4000000) + return doSetUnset (&t->c_cflag, B4000000, b); + #else +- return 0; ++ return false; + #endif + case maxbaud: + #if defined(__MAX_BAUD) + return doSetUnset (&t->c_cflag, __MAX_BAUD, b); + #else +- return 0; ++ return false; + #endif + case crtscts: + #if defined(CRTSCTS) + return doSetUnset (&t->c_cflag, CRTSCTS, b); + #else +- return 0; ++ return false; + #endif + case cs5: + #if defined(CS5) + return doSetUnset (&t->c_cflag, CS5, b); + #else +- return 0; ++ return false; + #endif + case cs6: + #if defined(CS6) + return doSetUnset (&t->c_cflag, CS6, b); + #else +- return 0; ++ return false; + #endif + case cs7: + #if defined(CS7) + return doSetUnset (&t->c_cflag, CS7, b); + #else +- return 0; ++ return false; + #endif + case cs8: + #if defined(CS8) + return doSetUnset (&t->c_cflag, CS8, b); + #else +- return 0; ++ return false; + #endif + case cstopb: + #if defined(CSTOPB) + return doSetUnset (&t->c_cflag, CSTOPB, b); + #else +- return 0; ++ return false; + #endif + case cread: + #if defined(CREAD) + return doSetUnset (&t->c_cflag, CREAD, b); + #else +- return 0; ++ return false; + #endif + case parenb: + #if defined(PARENB) + return doSetUnset (&t->c_cflag, PARENB, b); + #else +- return 0; ++ return false; + #endif + case parodd: + #if defined(PARODD) + return doSetUnset (&t->c_cflag, PARODD, b); + #else +- return 0; ++ return false; + #endif + case hupcl: + #if defined(HUPCL) + return doSetUnset (&t->c_cflag, HUPCL, b); + #else +- return 0; ++ return false; + #endif + case clocal: + #if defined(CLOCAL) + return doSetUnset (&t->c_cflag, CLOCAL, b); + #else +- return 0; ++ return false; + #endif + case lisig: + #if defined(ISIG) + return doSetUnset (&t->c_lflag, ISIG, b); + #else +- return 0; ++ return false; + #endif + case licanon: + #if defined(ICANON) + return doSetUnset (&t->c_lflag, ICANON, b); + #else +- return 0; ++ return false; + #endif + case lxcase: + #if defined(XCASE) + return doSetUnset (&t->c_lflag, XCASE, b); + #else +- return 0; ++ return false; + #endif + case lecho: + #if defined(ECHO) + return doSetUnset (&t->c_lflag, ECHO, b); + #else +- return 0; ++ return false; + #endif + case lechoe: + #if defined(ECHOE) + return doSetUnset (&t->c_lflag, ECHOE, b); + #else +- return 0; ++ return false; + #endif + case lechok: + #if defined(ECHOK) + return doSetUnset (&t->c_lflag, ECHOK, b); + #else +- return 0; ++ return false; + #endif + case lechonl: + #if defined(ECHONL) + return doSetUnset (&t->c_lflag, ECHONL, b); + #else +- return 0; ++ return false; + #endif + case lnoflsh: + #if defined(NOFLSH) + return doSetUnset (&t->c_lflag, NOFLSH, b); + #else +- return 0; ++ return false; + #endif + case ltopstop: + #if defined(TOSTOP) + return doSetUnset (&t->c_lflag, TOSTOP, b); + #else +- return 0; ++ return false; + #endif + case lechoctl: + #if defined(ECHOCTL) + return doSetUnset (&t->c_lflag, ECHOCTL, b); + #else +- return 0; ++ return false; + #endif + case lechoprt: + #if defined(ECHOPRT) + return doSetUnset (&t->c_lflag, ECHOPRT, b); + #else +- return 0; ++ return false; + #endif + case lechoke: + #if defined(ECHOKE) + return doSetUnset (&t->c_lflag, ECHOKE, b); + #else +- return 0; ++ return false; + #endif + case lflusho: + #if defined(FLUSHO) + return doSetUnset (&t->c_lflag, FLUSHO, b); + #else +- return 0; ++ return false; + #endif + case lpendin: + #if defined(PENDIN) + return doSetUnset (&t->c_lflag, PENDIN, b); + #else +- return 0; ++ return false; + #endif + case liexten: + #if defined(IEXTEN) + return doSetUnset (&t->c_lflag, IEXTEN, b); + #else +- return 0; ++ return false; + #endif + } +- return 0; ++ return false; + } + +-/* GetChar - sets a CHAR, ch, value from, t, and returns TRUE if this ++/* GetChar sets a CHAR ch value from t and returns true/false if this + value is supported. */ + +-int +-EXPORT (GetChar) (struct termios *t, ControlChar c, char *ch) ++bool ++EXPORT (GetChar) (termios_TERMIOS _t, termios_ControlChar _c, char *ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + + case vintr: + #if defined(VINTR) + *ch = t->c_cc[VINTR]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vquit: + #if defined(VQUIT) + *ch = t->c_cc[VQUIT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case verase: + #if defined(VERASE) + *ch = t->c_cc[VERASE]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vkill: + #if defined(VKILL) + *ch = t->c_cc[VKILL]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veof: + #if defined(VEOF) + *ch = t->c_cc[VEOF]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vtime: + #if defined(VTIME) + *ch = t->c_cc[VTIME]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vmin: + #if defined(VMIN) + *ch = t->c_cc[VMIN]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vswtc: + #if defined(VSWTC) + *ch = t->c_cc[VSWTC]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstart: + #if defined(VSTART) + *ch = t->c_cc[VSTART]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstop: + #if defined(VSTOP) + *ch = t->c_cc[VSTOP]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vsusp: + #if defined(VSUSP) + *ch = t->c_cc[VSUSP]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol: + #if defined(VEOL) + *ch = t->c_cc[VEOL]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vreprint: + #if defined(VREPRINT) + *ch = t->c_cc[VREPRINT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vdiscard: + #if defined(VDISCARD) + *ch = t->c_cc[VDISCARD]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vwerase: + #if defined(VWERASE) + *ch = t->c_cc[VWERASE]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vlnext: + #if defined(VLNEXT) + *ch = t->c_cc[VLNEXT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol2: + #if defined(VEOL2) + *ch = t->c_cc[VEOL2]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + default: +- return 0; ++ return false; + } + } + +-/* SetChar - sets a CHAR value in, t, and returns TRUE if, c, is ++/* SetChar sets a CHAR value in t and returns true/false if c is + supported. */ + +-int +-EXPORT (SetChar) (struct termios *t, ControlChar c, char ch) ++bool ++EXPORT (SetChar) (termios_TERMIOS _t, termios_ControlChar _c, char ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + + case vintr: + #if defined(VINTR) + t->c_cc[VINTR] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vquit: + #if defined(VQUIT) + t->c_cc[VQUIT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case verase: + #if defined(VERASE) + t->c_cc[VERASE] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vkill: + #if defined(VKILL) + t->c_cc[VKILL] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veof: + #if defined(VEOF) + t->c_cc[VEOF] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vtime: + #if defined(VTIME) + t->c_cc[VTIME] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vmin: + #if defined(VMIN) + t->c_cc[VMIN] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vswtc: + #if defined(VSWTC) + t->c_cc[VSWTC] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstart: + #if defined(VSTART) + t->c_cc[VSTART] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstop: + #if defined(VSTOP) + t->c_cc[VSTOP] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vsusp: + #if defined(VSUSP) + t->c_cc[VSUSP] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol: + #if defined(VEOL) + t->c_cc[VEOL] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vreprint: + #if defined(VREPRINT) + t->c_cc[VREPRINT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vdiscard: + #if defined(VDISCARD) + t->c_cc[VDISCARD] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vwerase: + #if defined(VWERASE) + t->c_cc[VWERASE] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vlnext: + #if defined(VLNEXT) + t->c_cc[VLNEXT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol2: + #if defined(VEOL2) + t->c_cc[VEOL2] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + default: +- return 0; ++ return false; + } + } + +new file mode 100644 +--- /dev/null ++++ b/src/gcc/m2/mc-boot-ch/Gtermios.h +@@ -0,0 +1,208 @@ ++/* do not edit automatically generated by mc from termios. */ ++/* termios.def provides a procedural interface to termios. ++ ++Copyright (C) 2005-2024 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. ++ ++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 !defined (_termios_H) ++# define _termios_H ++ ++#include "config.h" ++#include "system.h" ++# ifdef __cplusplus ++extern "C" { ++# endif ++#include ++# if !defined (PROC_D) ++# define PROC_D ++ typedef void (*PROC_t) (void); ++ typedef struct { PROC_t proc; } PROC; ++# endif ++ ++# include "GSYSTEM.h" ++ ++# if defined (_termios_C) ++# define EXTERN ++# else ++# define EXTERN extern ++# endif ++ ++typedef void *termios_TERMIOS; ++ ++typedef enum {termios_vintr, termios_vquit, termios_verase, termios_vkill, termios_veof, termios_vtime, termios_vmin, termios_vswtc, termios_vstart, termios_vstop, termios_vsusp, termios_veol, termios_vreprint, termios_vdiscard, termios_vwerase, termios_vlnext, termios_veol2} termios_ControlChar; ++ ++typedef enum {termios_ignbrk, termios_ibrkint, termios_ignpar, termios_iparmrk, termios_inpck, termios_istrip, termios_inlcr, termios_igncr, termios_icrnl, termios_iuclc, termios_ixon, termios_ixany, termios_ixoff, termios_imaxbel, termios_opost, termios_olcuc, termios_onlcr, termios_ocrnl, termios_onocr, termios_onlret, termios_ofill, termios_ofdel, termios_onl0, termios_onl1, termios_ocr0, termios_ocr1, termios_ocr2, termios_ocr3, termios_otab0, termios_otab1, termios_otab2, termios_otab3, termios_obs0, termios_obs1, termios_off0, termios_off1, termios_ovt0, termios_ovt1, termios_b0, termios_b50, termios_b75, termios_b110, termios_b135, termios_b150, termios_b200, termios_b300, termios_b600, termios_b1200, termios_b1800, termios_b2400, termios_b4800, termios_b9600, termios_b19200, termios_b38400, termios_b57600, termios_b115200, termios_b240400, termios_b460800, termios_b500000, termios_b576000, termios_b921600, termios_b1000000, termios_b1152000, termios_b1500000, termios_b2000000, termios_b2500000, termios_b3000000, termios_b3500000, termios_b4000000, termios_maxbaud, termios_crtscts, termios_cs5, termios_cs6, termios_cs7, termios_cs8, termios_cstopb, termios_cread, termios_parenb, termios_parodd, termios_hupcl, termios_clocal, termios_lisig, termios_licanon, termios_lxcase, termios_lecho, termios_lechoe, termios_lechok, termios_lechonl, termios_lnoflsh, termios_ltopstop, termios_lechoctl, termios_lechoprt, termios_lechoke, termios_lflusho, termios_lpendin, termios_liexten} termios_Flag; ++ ++ ++/* ++ InitTermios - new data structure. ++*/ ++ ++EXTERN termios_TERMIOS termios_InitTermios (void); ++ ++/* ++ KillTermios - delete data structure. ++*/ ++ ++EXTERN termios_TERMIOS termios_KillTermios (termios_TERMIOS t); ++ ++/* ++ cfgetospeed - return output baud rate. ++*/ ++ ++EXTERN int termios_cfgetospeed (termios_TERMIOS t); ++ ++/* ++ cfgetispeed - return input baud rate. ++*/ ++ ++EXTERN int termios_cfgetispeed (termios_TERMIOS t); ++ ++/* ++ cfsetospeed - set output baud rate. ++*/ ++ ++EXTERN int termios_cfsetospeed (termios_TERMIOS t, unsigned int b); ++ ++/* ++ cfsetispeed - set input baud rate. ++*/ ++ ++EXTERN int termios_cfsetispeed (termios_TERMIOS t, unsigned int b); ++ ++/* ++ cfsetspeed - set input and output baud rate. ++*/ ++ ++EXTERN int termios_cfsetspeed (termios_TERMIOS t, unsigned int b); ++ ++/* ++ tcgetattr - get state of, fd, into, t. ++*/ ++ ++EXTERN int termios_tcgetattr (int fd, termios_TERMIOS t); ++EXTERN int termios_tcsnow (void); ++EXTERN int termios_tcsdrain (void); ++EXTERN int termios_tcsflush (void); ++ ++/* ++ tcsetattr - set state of, fd, to, t, using option. ++*/ ++ ++EXTERN int termios_tcsetattr (int fd, int option, termios_TERMIOS t); ++ ++/* ++ cfmakeraw - sets, t, to raw mode. ++*/ ++ ++EXTERN void termios_cfmakeraw (termios_TERMIOS t); ++ ++/* ++ tcsendbreak - send zero bits for duration. ++*/ ++ ++EXTERN int termios_tcsendbreak (int fd, int duration); ++ ++/* ++ tcdrain - waits for pending output to be written on, fd. ++*/ ++ ++EXTERN int termios_tcdrain (int fd); ++ ++/* ++ tcflushi - flush input. ++*/ ++ ++EXTERN int termios_tcflushi (int fd); ++ ++/* ++ tcflusho - flush output. ++*/ ++ ++EXTERN int termios_tcflusho (int fd); ++ ++/* ++ tcflushio - flush input and output. ++*/ ++ ++EXTERN int termios_tcflushio (int fd); ++ ++/* ++ tcflowoni - restart input on, fd. ++*/ ++ ++EXTERN int termios_tcflowoni (int fd); ++ ++/* ++ tcflowoffi - stop input on, fd. ++*/ ++ ++EXTERN int termios_tcflowoffi (int fd); ++ ++/* ++ tcflowono - restart output on, fd. ++*/ ++ ++EXTERN int termios_tcflowono (int fd); ++ ++/* ++ tcflowoffo - stop output on, fd. ++*/ ++ ++EXTERN int termios_tcflowoffo (int fd); ++ ++/* ++ GetFlag - sets a flag value from, t, in, b, and returns TRUE ++ if, t, supports, f. ++*/ ++ ++EXTERN bool termios_GetFlag (termios_TERMIOS t, termios_Flag f, bool *b); ++ ++/* ++ SetFlag - sets a flag value in, t, to, b, and returns TRUE if ++ this flag value is supported. ++*/ ++ ++EXTERN bool termios_SetFlag (termios_TERMIOS t, termios_Flag f, bool b); ++ ++/* ++ GetChar - sets a CHAR, ch, value from, t, and returns TRUE if ++ this value is supported. ++*/ ++ ++EXTERN bool termios_GetChar (termios_TERMIOS t, termios_ControlChar c, char *ch); ++ ++/* ++ SetChar - sets a CHAR value in, t, and returns TRUE if, c, ++ is supported. ++*/ ++ ++EXTERN bool termios_SetChar (termios_TERMIOS t, termios_ControlChar c, char ch); ++# ifdef __cplusplus ++} ++# endif ++ ++# undef EXTERN ++#endif +--- a/src/gcc/m2/mc-boot-ch/m2rts.h ++++ b/src/gcc/m2/mc-boot-ch/m2rts.h +@@ -28,9 +28,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef void (*proc_con) (int, char **, char **); + typedef void (*proc_dep) (void); + ++#define M2RTS_RegisterModule_Cstr(MODNAME,LIBNAME,init,fini,dep) \ ++ M2RTS_RegisterModule (const_cast (MODNAME), \ ++ const_cast (LIBNAME), \ ++ init, fini, dep) ++ + extern "C" void M2RTS_RequestDependant (const char *modulename, const char *libname, + const char *dependancy, const char *deplib); +-extern "C" void M2RTS_RegisterModule (const char *modulename, const char *libname, ++extern "C" void M2RTS_RegisterModule (void *modulename, void *libname, + proc_con init, proc_con fini, proc_dep dependencies); + extern "C" void _M2_M2RTS_init (void); + +--- a/src/gcc/m2/mc-boot/GASCII.cc ++++ b/src/gcc/m2/mc-boot/GASCII.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _ASCII_H + #define _ASCII_C + ++#include "GASCII.h" + + # define ASCII_nul (char) 000 + # define ASCII_soh (char) 001 +@@ -78,10 +78,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define ASCII_del (char) 0177 + # define ASCII_EOL ASCII_nl + +-extern "C" void _M2_ASCII_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_ASCII_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_ASCII_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_ASCII_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GArgs.cc ++++ b/src/gcc/m2/mc-boot/GArgs.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _Args_H + #define _Args_C + ++#include "GArgs.h" + # include "GUnixArgs.h" + # include "GASCII.h" + +@@ -86,13 +86,13 @@ extern "C" bool Args_GetArg (char *a, unsigned int _a_high, unsigned int n) + Source = static_cast (UnixArgs_GetArgV ()); + while ((j < High) && ((*(*Source).array[i]).array[j] != ASCII_nul)) + { +- a[j] = (*(*Source).array[i]).array[j]; ++ const_cast(a)[j] = (*(*Source).array[i]).array[j]; + j += 1; + } + } + if (j <= High) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + return i < (UnixArgs_GetArgC ()); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -112,10 +112,10 @@ extern "C" unsigned int Args_Narg (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_Args_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Args_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Args_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Args_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GAssertion.cc ++++ b/src/gcc/m2/mc-boot/GAssertion.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _Assertion_H + #define _Assertion_C + ++#include "GAssertion.h" + # include "GStrIO.h" + # include "GM2RTS.h" + +@@ -63,10 +63,10 @@ extern "C" void Assertion_Assert (bool Condition) + } + } + +-extern "C" void _M2_Assertion_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Assertion_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Assertion_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Assertion_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GBreak.cc ++++ b/src/gcc/m2/mc-boot/GBreak.cc +@@ -34,15 +34,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _Break_H + #define _Break_C + ++#include "GBreak.h" + + +-extern "C" void _M2_Break_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Break_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Break_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Break_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GCmdArgs.cc ++++ b/src/gcc/m2/mc-boot/GCmdArgs.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _CmdArgs_H + #define _CmdArgs_C + ++#include "GCmdArgs.h" + # include "GASCII.h" + # include "GStrLib.h" + +@@ -149,7 +149,7 @@ static bool GetNextArg (const char *CmdLine_, unsigned int _CmdLine_high, unsign + } + if (ArgIndex < HighA) + { +- Arg[ArgIndex] = ASCII_nul; ++ const_cast(Arg)[ArgIndex] = ASCII_nul; + } + return (*CmdIndex) < HighC; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -216,7 +216,7 @@ static void CopyChar (const char *From_, unsigned int _From_high, unsigned int * + if ((*FromIndex) < FromHigh) + { + /* Copy Normal Character */ +- To[(*ToIndex)] = From[(*FromIndex)]; ++ const_cast(To)[(*ToIndex)] = From[(*FromIndex)]; + (*ToIndex) += 1; + (*FromIndex) += 1; + } +@@ -314,10 +314,10 @@ extern "C" unsigned int CmdArgs_Narg (const char *CmdLine_, unsigned int _CmdLin + __builtin_unreachable (); + } + +-extern "C" void _M2_CmdArgs_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_CmdArgs_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_CmdArgs_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_CmdArgs_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GDebug.cc ++++ b/src/gcc/m2/mc-boot/GDebug.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _Debug_H + #define _Debug_C + ++#include "GDebug.h" + # include "GASCII.h" + # include "GNumberIO.h" + # include "GStdIO.h" +@@ -165,10 +165,10 @@ extern "C" void Debug_DebugString (const char *a_, unsigned int _a_high) + } + } + +-extern "C" void _M2_Debug_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Debug_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Debug_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Debug_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GDynamicStrings.cc ++++ b/src/gcc/m2/mc-boot/GDynamicStrings.cc +@@ -47,9 +47,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _DynamicStrings_H + #define _DynamicStrings_C + ++#include "GDynamicStrings.h" + # include "Glibc.h" + # include "GStrLib.h" + # include "GStorage.h" +@@ -81,27 +81,27 @@ typedef struct DynamicStrings__T3_a DynamicStrings__T3; + + typedef enum {DynamicStrings_inuse, DynamicStrings_marked, DynamicStrings_onlist, DynamicStrings_poisoned} DynamicStrings_desState; + +-typedef DynamicStrings_stringRecord *DynamicStrings_String; ++typedef DynamicStrings_stringRecord *DynamicStrings_String__opaque; + + struct DynamicStrings_DebugInfo_r { +- DynamicStrings_String next; +- void *file; ++ DynamicStrings_String__opaque next; ++ void * file; + unsigned int line; +- void *proc; ++ void * proc; + }; + + struct DynamicStrings_descriptor_r { + bool charStarUsed; +- void *charStar; ++ void * charStar; + unsigned int charStarSize; + bool charStarValid; + DynamicStrings_desState state; +- DynamicStrings_String garbage; ++ DynamicStrings_String__opaque garbage; + }; + + struct DynamicStrings_frameRec_r { +- DynamicStrings_String alloc; +- DynamicStrings_String dealloc; ++ DynamicStrings_String__opaque alloc; ++ DynamicStrings_String__opaque dealloc; + DynamicStrings_frame next; + }; + +@@ -109,7 +109,7 @@ struct DynamicStrings__T3_a { char array[(MaxBuf-1)+1]; }; + struct DynamicStrings_Contents_r { + DynamicStrings__T3 buf; + unsigned int len; +- DynamicStrings_String next; ++ DynamicStrings_String__opaque next; + }; + + struct DynamicStrings_stringRecord_r { +@@ -120,7 +120,7 @@ struct DynamicStrings_stringRecord_r { + + static bool Initialized; + static DynamicStrings_frame frameHead; +-static DynamicStrings_String captured; ++static DynamicStrings_String__opaque captured; + + /* + InitString - creates and returns a String type object. +@@ -255,12 +255,25 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if, ch, is not found. The search ++ is performed left to right. + */ + + extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o); + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++extern "C" int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o); ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +@@ -387,7 +400,7 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + /* + writeStringDesc write out debugging information about string, s. */ + +-static void writeStringDesc (DynamicStrings_String s); ++static void writeStringDesc (DynamicStrings_String__opaque s); + + /* + writeNspace - +@@ -399,7 +412,7 @@ static void writeNspace (unsigned int n); + DumpStringInfo - + */ + +-static void DumpStringInfo (DynamicStrings_String s, unsigned int i); ++static void DumpStringInfo (DynamicStrings_String__opaque s, unsigned int i); + + /* + DumpStringInfo - +@@ -417,7 +430,7 @@ static void doDSdbEnter (void); + doDSdbExit - + */ + +-static void doDSdbExit (DynamicStrings_String s); ++static void doDSdbExit (DynamicStrings_String__opaque s); + + /* + DSdbEnter - +@@ -429,8 +442,8 @@ static void DSdbEnter (void); + DSdbExit - + */ + +-static void DSdbExit (DynamicStrings_String s); +-static unsigned int Capture (DynamicStrings_String s); ++static void DSdbExit (DynamicStrings_String__opaque s); ++static unsigned int Capture (DynamicStrings_String__opaque s); + + /* + Min - +@@ -484,73 +497,73 @@ static void writeLn (void); + AssignDebug - assigns, file, and, line, information to string, s. + */ + +-static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high); ++static DynamicStrings_String__opaque AssignDebug (DynamicStrings_String__opaque s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high); + + /* + IsOn - returns TRUE if, s, is on one of the debug lists. + */ + +-static bool IsOn (DynamicStrings_String list, DynamicStrings_String s); ++static bool IsOn (DynamicStrings_String__opaque list, DynamicStrings_String__opaque s); + + /* + AddTo - adds string, s, to, list. + */ + +-static void AddTo (DynamicStrings_String *list, DynamicStrings_String s); ++static void AddTo (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s); + + /* + SubFrom - removes string, s, from, list. + */ + +-static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s); ++static void SubFrom (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s); + + /* + AddAllocated - adds string, s, to the head of the allocated list. + */ + +-static void AddAllocated (DynamicStrings_String s); ++static void AddAllocated (DynamicStrings_String__opaque s); + + /* + AddDeallocated - adds string, s, to the head of the deallocated list. + */ + +-static void AddDeallocated (DynamicStrings_String s); ++static void AddDeallocated (DynamicStrings_String__opaque s); + + /* + IsOnAllocated - returns TRUE if the string, s, has ever been allocated. + */ + +-static bool IsOnAllocated (DynamicStrings_String s); ++static bool IsOnAllocated (DynamicStrings_String__opaque s); + + /* + IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. + */ + +-static bool IsOnDeallocated (DynamicStrings_String s); ++static bool IsOnDeallocated (DynamicStrings_String__opaque s); + + /* + SubAllocated - removes string, s, from the list of allocated strings. + */ + +-static void SubAllocated (DynamicStrings_String s); ++static void SubAllocated (DynamicStrings_String__opaque s); + + /* + SubDeallocated - removes string, s, from the list of deallocated strings. + */ + +-static void SubDeallocated (DynamicStrings_String s); ++static void SubDeallocated (DynamicStrings_String__opaque s); + + /* + SubDebugInfo - removes string, s, from the list of allocated strings. + */ + +-static void SubDebugInfo (DynamicStrings_String s); ++static void SubDebugInfo (DynamicStrings_String__opaque s); + + /* + AddDebugInfo - adds string, s, to the list of allocated strings. + */ + +-static void AddDebugInfo (DynamicStrings_String s); ++static void AddDebugInfo (DynamicStrings_String__opaque s); + + /* + ConcatContents - add the contents of string, a, where, h, is the +@@ -563,19 +576,19 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + DeallocateCharStar - deallocates any charStar. + */ + +-static void DeallocateCharStar (DynamicStrings_String s); ++static void DeallocateCharStar (DynamicStrings_String__opaque s); + + /* + CheckPoisoned - checks for a poisoned string, s. + */ + +-static DynamicStrings_String CheckPoisoned (DynamicStrings_String s); ++static DynamicStrings_String__opaque CheckPoisoned (DynamicStrings_String__opaque s); + + /* + MarkInvalid - marks the char * version of String, s, as invalid. + */ + +-static void MarkInvalid (DynamicStrings_String s); ++static void MarkInvalid (DynamicStrings_String__opaque s); + + /* + ConcatContentsAddress - concatenate the string, a, where, h, is the +@@ -590,13 +603,13 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + onlist. String, a, is returned. + */ + +-static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrings_String b); ++static DynamicStrings_String__opaque AddToGarbage (DynamicStrings_String__opaque a, DynamicStrings_String__opaque b); + + /* + IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. + */ + +-static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s); ++static bool IsOnGarbage (DynamicStrings_String__opaque e, DynamicStrings_String__opaque s); + + /* + IsWhite - returns TRUE if, ch, is a space or a tab. +@@ -608,19 +621,19 @@ static bool IsWhite (char ch); + DumpState - + */ + +-static void DumpState (DynamicStrings_String s); ++static void DumpState (DynamicStrings_String__opaque s); + + /* + DumpStringSynopsis - + */ + +-static void DumpStringSynopsis (DynamicStrings_String s); ++static void DumpStringSynopsis (DynamicStrings_String__opaque s); + + /* + DumpString - displays the contents of string, s. + */ + +-static void DumpString (DynamicStrings_String s); ++static void DumpString (DynamicStrings_String__opaque s); + + /* + Init - initialize the module. +@@ -632,7 +645,7 @@ static void Init (void); + /* + writeStringDesc write out debugging information about string, s. */ + +-static void writeStringDesc (DynamicStrings_String s) ++static void writeStringDesc (DynamicStrings_String__opaque s) + { + writeCstring (s->debug.file); + writeString ((const char *) ":", 1); +@@ -640,7 +653,7 @@ static void writeStringDesc (DynamicStrings_String s) + writeString ((const char *) ":", 1); + writeCstring (s->debug.proc); + writeString ((const char *) " ", 1); +- writeAddress (reinterpret_cast (s)); ++ writeAddress (reinterpret_cast (s)); + writeString ((const char *) " ", 1); + switch (s->head->state) + { +@@ -688,7 +701,7 @@ static void writeNspace (unsigned int n) + DumpStringInfo - + */ + +-static void DumpStringInfo (DynamicStrings_String s, unsigned int i) ++static void DumpStringInfo (DynamicStrings_String__opaque s, unsigned int i) + { + if (s != NULL) + { +@@ -736,11 +749,11 @@ static void doDSdbEnter (void) + doDSdbExit - + */ + +-static void doDSdbExit (DynamicStrings_String s) ++static void doDSdbExit (DynamicStrings_String__opaque s) + { + if (CheckOn) + { +- s = DynamicStrings_PopAllocationExemption (true, s); ++ s = static_cast (DynamicStrings_PopAllocationExemption (true, static_cast (s))); + } + } + +@@ -758,11 +771,11 @@ static void DSdbEnter (void) + DSdbExit - + */ + +-static void DSdbExit (DynamicStrings_String s) ++static void DSdbExit (DynamicStrings_String__opaque s) + { + } + +-static unsigned int Capture (DynamicStrings_String s) ++static unsigned int Capture (DynamicStrings_String__opaque s) + { + /* + * #undef GM2_DEBUG_DYNAMICSTINGS +@@ -830,7 +843,7 @@ static void writeString (const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- i = static_cast (libc_write (1, &a, static_cast (StrLib_StrLen ((const char *) a, _a_high)))); ++ i = static_cast (libc_write (1, const_cast (static_cast(a)), static_cast (StrLib_StrLen ((const char *) a, _a_high)))); + } + + +@@ -938,7 +951,7 @@ static void writeLn (void) + AssignDebug - assigns, file, and, line, information to string, s. + */ + +-static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high) ++static DynamicStrings_String__opaque AssignDebug (DynamicStrings_String__opaque s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high) + { + void * f; + void * p; +@@ -949,8 +962,8 @@ static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *f + memcpy (file, file_, _file_high+1); + memcpy (proc, proc_, _proc_high+1); + +- f = &file; +- p = &proc; ++ f = const_cast (static_cast(file)); ++ p = const_cast (static_cast(proc)); + Storage_ALLOCATE (&s->debug.file, (StrLib_StrLen ((const char *) file, _file_high))+1); + if ((libc_strncpy (s->debug.file, f, (StrLib_StrLen ((const char *) file, _file_high))+1)) == NULL) + {} /* empty. */ +@@ -968,7 +981,7 @@ static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *f + IsOn - returns TRUE if, s, is on one of the debug lists. + */ + +-static bool IsOn (DynamicStrings_String list, DynamicStrings_String s) ++static bool IsOn (DynamicStrings_String__opaque list, DynamicStrings_String__opaque s) + { + while ((list != s) && (list != NULL)) + { +@@ -984,12 +997,12 @@ static bool IsOn (DynamicStrings_String list, DynamicStrings_String s) + AddTo - adds string, s, to, list. + */ + +-static void AddTo (DynamicStrings_String *list, DynamicStrings_String s) ++static void AddTo (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s) + { + if ((*list) == NULL) + { + (*list) = s; +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + } + else + { +@@ -1003,9 +1016,9 @@ static void AddTo (DynamicStrings_String *list, DynamicStrings_String s) + SubFrom - removes string, s, from, list. + */ + +-static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) ++static void SubFrom (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s) + { +- DynamicStrings_String p; ++ DynamicStrings_String__opaque p; + + if ((*list) == s) + { +@@ -1025,10 +1038,10 @@ static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) + else + { + /* not found, quit */ +- return ; ++ return; + } + } +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + } + + +@@ -1036,7 +1049,7 @@ static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) + AddAllocated - adds string, s, to the head of the allocated list. + */ + +-static void AddAllocated (DynamicStrings_String s) ++static void AddAllocated (DynamicStrings_String__opaque s) + { + Init (); + AddTo (&frameHead->alloc, s); +@@ -1047,7 +1060,7 @@ static void AddAllocated (DynamicStrings_String s) + AddDeallocated - adds string, s, to the head of the deallocated list. + */ + +-static void AddDeallocated (DynamicStrings_String s) ++static void AddDeallocated (DynamicStrings_String__opaque s) + { + Init (); + AddTo (&frameHead->dealloc, s); +@@ -1058,7 +1071,7 @@ static void AddDeallocated (DynamicStrings_String s) + IsOnAllocated - returns TRUE if the string, s, has ever been allocated. + */ + +-static bool IsOnAllocated (DynamicStrings_String s) ++static bool IsOnAllocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1084,7 +1097,7 @@ static bool IsOnAllocated (DynamicStrings_String s) + IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. + */ + +-static bool IsOnDeallocated (DynamicStrings_String s) ++static bool IsOnDeallocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1110,7 +1123,7 @@ static bool IsOnDeallocated (DynamicStrings_String s) + SubAllocated - removes string, s, from the list of allocated strings. + */ + +-static void SubAllocated (DynamicStrings_String s) ++static void SubAllocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1120,7 +1133,7 @@ static void SubAllocated (DynamicStrings_String s) + if (IsOn (f->alloc, s)) + { + SubFrom (&f->alloc, s); +- return ; ++ return; + } + else + { +@@ -1134,7 +1147,7 @@ static void SubAllocated (DynamicStrings_String s) + SubDeallocated - removes string, s, from the list of deallocated strings. + */ + +-static void SubDeallocated (DynamicStrings_String s) ++static void SubDeallocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1144,7 +1157,7 @@ static void SubDeallocated (DynamicStrings_String s) + if (IsOn (f->dealloc, s)) + { + SubFrom (&f->dealloc, s); +- return ; ++ return; + } + else + { +@@ -1158,13 +1171,13 @@ static void SubDeallocated (DynamicStrings_String s) + SubDebugInfo - removes string, s, from the list of allocated strings. + */ + +-static void SubDebugInfo (DynamicStrings_String s) ++static void SubDebugInfo (DynamicStrings_String__opaque s) + { + if (IsOnDeallocated (s)) + { + Assertion_Assert (! DebugOn); + /* string has already been deallocated */ +- return ; ++ return; + } + if (IsOnAllocated (s)) + { +@@ -1183,9 +1196,9 @@ static void SubDebugInfo (DynamicStrings_String s) + AddDebugInfo - adds string, s, to the list of allocated strings. + */ + +-static void AddDebugInfo (DynamicStrings_String s) ++static void AddDebugInfo (DynamicStrings_String__opaque s) + { +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + s->debug.file = NULL; + s->debug.line = 0; + s->debug.proc = NULL; +@@ -1222,7 +1235,7 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + Storage_ALLOCATE ((void **) &(*c).next, sizeof (DynamicStrings_stringRecord)); + (*c).next->head = NULL; + (*c).next->contents.len = 0; +- (*c).next->contents.next = NULL; ++ (*c).next->contents.next = static_cast (NULL); + ConcatContents (&(*c).next->contents, (const char *) a, _a_high, h, o); + AddDebugInfo ((*c).next); + (*c).next = AssignDebug ((*c).next, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 722, (const char *) "ConcatContents", 14); +@@ -1238,7 +1251,7 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + DeallocateCharStar - deallocates any charStar. + */ + +-static void DeallocateCharStar (DynamicStrings_String s) ++static void DeallocateCharStar (DynamicStrings_String__opaque s) + { + if ((s != NULL) && (s->head != NULL)) + { +@@ -1258,7 +1271,7 @@ static void DeallocateCharStar (DynamicStrings_String s) + CheckPoisoned - checks for a poisoned string, s. + */ + +-static DynamicStrings_String CheckPoisoned (DynamicStrings_String s) ++static DynamicStrings_String__opaque CheckPoisoned (DynamicStrings_String__opaque s) + { + if (((PoisonOn && (s != NULL)) && (s->head != NULL)) && (s->head->state == DynamicStrings_poisoned)) + { +@@ -1275,7 +1288,7 @@ static DynamicStrings_String CheckPoisoned (DynamicStrings_String s) + MarkInvalid - marks the char * version of String, s, as invalid. + */ + +-static void MarkInvalid (DynamicStrings_String s) ++static void MarkInvalid (DynamicStrings_String__opaque s) + { + if (PoisonOn) + { +@@ -1318,8 +1331,8 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + Storage_ALLOCATE ((void **) &(*c).next, sizeof (DynamicStrings_stringRecord)); + (*c).next->head = NULL; + (*c).next->contents.len = 0; +- (*c).next->contents.next = NULL; +- ConcatContentsAddress (&(*c).next->contents, reinterpret_cast (p), h-j); ++ (*c).next->contents.next = static_cast (NULL); ++ ConcatContentsAddress (&(*c).next->contents, reinterpret_cast (p), h-j); + AddDebugInfo ((*c).next); + if (TraceOn) + { +@@ -1329,7 +1342,7 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + else + { + (*c).len = i; +- (*c).next = NULL; ++ (*c).next = static_cast (NULL); + } + } + +@@ -1340,9 +1353,9 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + onlist. String, a, is returned. + */ + +-static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrings_String b) ++static DynamicStrings_String__opaque AddToGarbage (DynamicStrings_String__opaque a, DynamicStrings_String__opaque b) + { +- DynamicStrings_String c; ++ DynamicStrings_String__opaque c; + + if (PoisonOn) + { +@@ -1379,7 +1392,7 @@ static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrin + IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. + */ + +-static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s) ++static bool IsOnGarbage (DynamicStrings_String__opaque e, DynamicStrings_String__opaque s) + { + if ((e != NULL) && (s != NULL)) + { +@@ -1417,7 +1430,7 @@ static bool IsWhite (char ch) + DumpState - + */ + +-static void DumpState (DynamicStrings_String s) ++static void DumpState (DynamicStrings_String__opaque s) + { + switch (s->head->state) + { +@@ -1451,7 +1464,7 @@ static void DumpState (DynamicStrings_String s) + DumpStringSynopsis - + */ + +-static void DumpStringSynopsis (DynamicStrings_String s) ++static void DumpStringSynopsis (DynamicStrings_String__opaque s) + { + writeCstring (s->debug.file); + writeString ((const char *) ":", 1); +@@ -1459,7 +1472,7 @@ static void DumpStringSynopsis (DynamicStrings_String s) + writeString ((const char *) ":", 1); + writeCstring (s->debug.proc); + writeString ((const char *) " string ", 8); +- writeAddress (reinterpret_cast (s)); ++ writeAddress (reinterpret_cast (s)); + writeString ((const char *) " ", 1); + DumpState (s); + if (IsOnAllocated (s)) +@@ -1484,9 +1497,9 @@ static void DumpStringSynopsis (DynamicStrings_String s) + DumpString - displays the contents of string, s. + */ + +-static void DumpString (DynamicStrings_String s) ++static void DumpString (DynamicStrings_String__opaque s) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +@@ -1528,7 +1541,7 @@ static void Init (void) + + extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsigned int _a_high) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -1536,21 +1549,21 @@ extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsi + + Storage_ALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + s->contents.len = 0; +- s->contents.next = NULL; ++ s->contents.next = static_cast (NULL); + ConcatContents (&s->contents, (const char *) a, _a_high, StrLib_StrLen ((const char *) a, _a_high), 0); + Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); + s->head->charStarUsed = false; + s->head->charStar = NULL; + s->head->charStarSize = 0; + s->head->charStarValid = false; +- s->head->garbage = NULL; ++ s->head->garbage = static_cast (NULL); + s->head->state = DynamicStrings_inuse; + AddDebugInfo (s); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 758, (const char *) "InitString", 10); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1563,48 +1576,48 @@ extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsi + + extern "C" DynamicStrings_String DynamicStrings_KillString (DynamicStrings_String s) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (s != NULL) + { + if (CheckOn) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (IsOnAllocated (s)) ++ if (IsOnAllocated (static_cast (s))) + { +- SubAllocated (s); ++ SubAllocated (static_cast (s)); + } +- else if (IsOnDeallocated (s)) ++ else if (IsOnDeallocated (static_cast (s))) + { + /* avoid dangling else. */ +- SubDeallocated (s); ++ SubDeallocated (static_cast (s)); + } + } +- if (s->head != NULL) ++ if (static_cast (s)->head != NULL) + { +- s->head->state = DynamicStrings_poisoned; +- s->head->garbage = DynamicStrings_KillString (s->head->garbage); ++ static_cast (s)->head->state = DynamicStrings_poisoned; ++ static_cast (s)->head->garbage = static_cast (DynamicStrings_KillString (static_cast (static_cast (s)->head->garbage))); + if (! PoisonOn) + { +- DeallocateCharStar (s); ++ DeallocateCharStar (static_cast (s)); + } + if (! PoisonOn) + { +- Storage_DEALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); +- s->head = NULL; ++ Storage_DEALLOCATE ((void **) &static_cast (s)->head, sizeof (DynamicStrings_descriptor)); ++ static_cast (s)->head = NULL; + } + } +- t = DynamicStrings_KillString (s->contents.next); ++ t = static_cast (DynamicStrings_KillString (static_cast (static_cast (s)->contents.next))); + if (! PoisonOn) + { + Storage_DEALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + } + } +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1632,11 +1645,11 @@ extern "C" void DynamicStrings_Fin (DynamicStrings_String s) + + extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + + Storage_ALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + s->contents.len = 0; +- s->contents.next = NULL; ++ s->contents.next = static_cast (NULL); + if (a != NULL) + { + ConcatContentsAddress (&s->contents, a, static_cast (libc_strlen (a))); +@@ -1646,14 +1659,14 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a) + s->head->charStar = NULL; + s->head->charStarSize = 0; + s->head->charStarValid = false; +- s->head->garbage = NULL; ++ s->head->garbage = static_cast (NULL); + s->head->state = DynamicStrings_inuse; + AddDebugInfo (s); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 957, (const char *) "InitStringCharStar", 18); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1669,16 +1682,16 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) + + struct InitStringChar__T5_a { char array[1+1]; }; + InitStringChar__T5 a; +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + + a.array[0] = ch; + a.array[1] = ASCII_nul; +- s = DynamicStrings_InitString ((const char *) &a.array[0], 1); ++ s = static_cast (DynamicStrings_InitString ((const char *) &a.array[0], 1)); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 977, (const char *) "InitStringChar", 14); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1692,11 +1705,11 @@ extern "C" DynamicStrings_String DynamicStrings_Mark (DynamicStrings_String s) + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- if ((s != NULL) && (s->head->state == DynamicStrings_inuse)) ++ if ((s != NULL) && (static_cast (s)->head->state == DynamicStrings_inuse)) + { +- s->head->state = DynamicStrings_marked; ++ static_cast (s)->head->state = DynamicStrings_marked; + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1716,7 +1729,7 @@ extern "C" unsigned int DynamicStrings_Length (DynamicStrings_String s) + } + else + { +- return s->contents.len+(DynamicStrings_Length (s->contents.next)); ++ return static_cast (s)->contents.len+(DynamicStrings_Length (static_cast (static_cast (s)->contents.next))); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -1729,12 +1742,12 @@ extern "C" unsigned int DynamicStrings_Length (DynamicStrings_String s) + + extern "C" DynamicStrings_String DynamicStrings_ConCat (DynamicStrings_String a, DynamicStrings_String b) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if (a == b) + { +@@ -1743,17 +1756,17 @@ extern "C" DynamicStrings_String DynamicStrings_ConCat (DynamicStrings_String a, + else if (a != NULL) + { + /* avoid dangling else. */ +- a = AddToGarbage (a, b); +- MarkInvalid (a); +- t = a; ++ a = static_cast (AddToGarbage (static_cast (a), static_cast (b))); ++ MarkInvalid (static_cast (a)); ++ t = static_cast (a); + while (b != NULL) + { + while ((t->contents.len == MaxBuf) && (t->contents.next != NULL)) + { + t = t->contents.next; + } +- ConcatContents (&t->contents, (const char *) &b->contents.buf.array[0], (MaxBuf-1), b->contents.len, 0); +- b = b->contents.next; ++ ConcatContents (&t->contents, (const char *) &static_cast (b)->contents.buf.array[0], (MaxBuf-1), static_cast (b)->contents.len, 0); ++ b = static_cast (static_cast (b)->contents.next); + } + } + if ((a == NULL) && (b != NULL)) +@@ -1777,16 +1790,16 @@ extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_Strin + + struct ConCatChar__T6_a { char array[1+1]; }; + ConCatChar__T6 b; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- a = CheckPoisoned (a); ++ a = static_cast (CheckPoisoned (static_cast (a))); + } + b.array[0] = ch; + b.array[1] = ASCII_nul; +- t = a; +- MarkInvalid (a); ++ t = static_cast (a); ++ MarkInvalid (static_cast (a)); + while ((t->contents.len == MaxBuf) && (t->contents.next != NULL)) + { + t = t->contents.next; +@@ -1807,13 +1820,13 @@ extern "C" DynamicStrings_String DynamicStrings_Assign (DynamicStrings_String a, + { + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if ((a != NULL) && (b != NULL)) + { +- a->contents.next = DynamicStrings_KillString (a->contents.next); +- a->contents.len = 0; ++ static_cast (a)->contents.next = static_cast (DynamicStrings_KillString (static_cast (static_cast (a)->contents.next))); ++ static_cast (a)->contents.len = 0; + } + return DynamicStrings_ConCat (a, b); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1827,10 +1840,10 @@ extern "C" DynamicStrings_String DynamicStrings_Assign (DynamicStrings_String a, + + extern "C" DynamicStrings_String DynamicStrings_ReplaceChar (DynamicStrings_String s, char from, char to) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + unsigned int i; + +- t = s; ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -1858,12 +1871,12 @@ extern "C" DynamicStrings_String DynamicStrings_Dup (DynamicStrings_String s) + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + s = DynamicStrings_Assign (DynamicStrings_InitString ((const char *) "", 0), s); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1198, (const char *) "Dup", 3); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1198, (const char *) "Dup", 3)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1879,13 +1892,13 @@ extern "C" DynamicStrings_String DynamicStrings_Add (DynamicStrings_String a, Dy + { + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + a = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "", 0), a), b); + if (TraceOn) + { +- a = AssignDebug (a, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1218, (const char *) "Add", 3); ++ a = static_cast (AssignDebug (static_cast (a), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1218, (const char *) "Add", 3)); + } + return a; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1903,25 +1916,25 @@ extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_St + + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if ((DynamicStrings_Length (a)) == (DynamicStrings_Length (b))) + { + while ((a != NULL) && (b != NULL)) + { + i = 0; +- Assertion_Assert (a->contents.len == b->contents.len); +- while (i < a->contents.len) ++ Assertion_Assert (static_cast (a)->contents.len == static_cast (b)->contents.len); ++ while (i < static_cast (a)->contents.len) + { +- if (a->contents.buf.array[i] != b->contents.buf.array[i]) ++ if (static_cast (a)->contents.buf.array[i] != static_cast (b)->contents.buf.array[i]) + { + return false; + } + i += 1; + } +- a = a->contents.next; +- b = b->contents.next; ++ a = static_cast (static_cast (a)->contents.next); ++ b = static_cast (static_cast (b)->contents.next); + } + return true; + } +@@ -1941,26 +1954,26 @@ extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_St + + extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- t = DynamicStrings_InitStringCharStar (a); ++ t = static_cast (DynamicStrings_InitStringCharStar (a)); + if (TraceOn) + { + t = AssignDebug (t, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1275, (const char *) "EqualCharStar", 13); + } +- t = AddToGarbage (t, s); +- if (DynamicStrings_Equal (t, s)) ++ t = AddToGarbage (t, static_cast (s)); ++ if (DynamicStrings_Equal (static_cast (t), s)) + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return true; + } + else + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return false; + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1975,7 +1988,7 @@ extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) + + extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -1983,22 +1996,22 @@ extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char * + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- t = DynamicStrings_InitString ((const char *) a, _a_high); ++ t = static_cast (DynamicStrings_InitString ((const char *) a, _a_high)); + if (TraceOn) + { + t = AssignDebug (t, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1305, (const char *) "EqualArray", 10); + } +- t = AddToGarbage (t, s); +- if (DynamicStrings_Equal (t, s)) ++ t = AddToGarbage (t, static_cast (s)); ++ if (DynamicStrings_Equal (static_cast (t), s)) + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return true; + } + else + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return false; + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2014,11 +2027,11 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (n <= 0) + { +- s = AddToGarbage (DynamicStrings_InitString ((const char *) "", 0), s); ++ s = static_cast (AddToGarbage (static_cast (DynamicStrings_InitString ((const char *) "", 0)), static_cast (s))); + } + else + { +@@ -2026,7 +2039,7 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + } + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1337, (const char *) "Mult", 4); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1337, (const char *) "Mult", 4)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2048,15 +2061,15 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + + extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, int low, int high) + { +- DynamicStrings_String d; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque d; ++ DynamicStrings_String__opaque t; + int start; +- int end; ++ int stop; + int o; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (low < 0) + { +@@ -2071,17 +2084,17 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, + /* make sure high is <= Length (s) */ + high = Min (DynamicStrings_Length (s), static_cast (high)); + } +- d = DynamicStrings_InitString ((const char *) "", 0); +- d = AddToGarbage (d, s); ++ d = static_cast (DynamicStrings_InitString ((const char *) "", 0)); ++ d = AddToGarbage (d, static_cast (s)); + o = 0; + t = d; + while (s != NULL) + { +- if (low < (o+((int ) (s->contents.len)))) ++ if (low < (o+((int ) (static_cast (s)->contents.len)))) + { + if (o > high) + { +- s = NULL; ++ s = static_cast (NULL); + } + else + { +@@ -2094,7 +2107,7 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, + { + start = low-o; + } +- end = Max (Min (MaxBuf, static_cast (high-o)), 0); ++ stop = Max (Min (MaxBuf, static_cast (high-o)), 0); + while (t->contents.len == MaxBuf) + { + if (t->contents.next == NULL) +@@ -2110,22 +2123,22 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, + } + t = t->contents.next; + } +- ConcatContentsAddress (&t->contents, &s->contents.buf.array[start], static_cast (end-start)); +- o += s->contents.len; +- s = s->contents.next; ++ ConcatContentsAddress (&t->contents, &static_cast (s)->contents.buf.array[start], static_cast (stop-start)); ++ o += static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } + } + else + { +- o += s->contents.len; +- s = s->contents.next; ++ o += static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } + } + if (TraceOn) + { + d = AssignDebug (d, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1422, (const char *) "Slice", 5); + } +- return d; ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2144,21 +2157,21 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + k = 0; + while (s != NULL) + { +- if ((k+s->contents.len) < o) ++ if ((k+static_cast (s)->contents.len) < o) + { +- k += s->contents.len; ++ k += static_cast (s)->contents.len; + } + else + { + i = o-k; +- while (i < s->contents.len) ++ while (i < static_cast (s)->contents.len) + { +- if (s->contents.buf.array[i] == ch) ++ if (static_cast (s)->contents.buf.array[i] == ch) + { + return k+i; + } +@@ -2167,7 +2180,7 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + k += i; + o = k; + } +- s = s->contents.next; ++ s = static_cast (static_cast (s)->contents.next); + } + return -1; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2177,8 +2190,9 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if, ch, is not found. The search ++ is performed left to right. + */ + + extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o) +@@ -2189,15 +2203,15 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + j = -1; + k = 0; + while (s != NULL) + { +- if ((k+s->contents.len) < o) ++ if ((k+static_cast (s)->contents.len) < o) + { +- k += s->contents.len; ++ k += static_cast (s)->contents.len; + } + else + { +@@ -2209,9 +2223,9 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + { + i = o-k; + } +- while (i < s->contents.len) ++ while (i < static_cast (s)->contents.len) + { +- if (s->contents.buf.array[i] == ch) ++ if (static_cast (s)->contents.buf.array[i] == ch) + { + j = k; + } +@@ -2219,7 +2233,7 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + i += 1; + } + } +- s = s->contents.next; ++ s = static_cast (static_cast (s)->contents.next); + } + return j; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2227,6 +2241,52 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + } + + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++extern "C" int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o) ++{ ++ unsigned int c; ++ ++ if (PoisonOn) ++ { ++ s = static_cast (CheckPoisoned (static_cast (s))); ++ } ++ if (o < 0) ++ { ++ o = ((int ) (DynamicStrings_Length (s)))+o; ++ if (o < 0) ++ { ++ return -1; ++ } ++ } ++ if (((unsigned int ) (o)) < (DynamicStrings_Length (s))) ++ { ++ while (o >= 0) ++ { ++ if ((DynamicStrings_char (s, o)) == ch) ++ { ++ return o; ++ } ++ else ++ { ++ o -= 1; ++ } ++ } ++ } ++ return -1; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +@@ -2251,7 +2311,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveComment (DynamicStrings_St + } + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1534, (const char *) "RemoveComment", 13); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1576, (const char *) "RemoveComment", 13)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2276,7 +2336,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePrefix (DynamicString + s = DynamicStrings_Slice (s, (int ) (i), 0); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1646, (const char *) "RemoveWhitePrefix", 17); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1688, (const char *) "RemoveWhitePrefix", 17)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2301,7 +2361,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePostfix (DynamicStrin + s = DynamicStrings_Slice (s, 0, i+1); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1668, (const char *) "RemoveWhitePostfix", 18); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1710, (const char *) "RemoveWhitePostfix", 18)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2319,12 +2379,12 @@ extern "C" DynamicStrings_String DynamicStrings_ToUpper (DynamicStrings_String s + { + char ch; + unsigned int i; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +- MarkInvalid (s); +- t = s; ++ MarkInvalid (static_cast (s)); ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -2356,12 +2416,12 @@ extern "C" DynamicStrings_String DynamicStrings_ToLower (DynamicStrings_String s + { + char ch; + unsigned int i; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +- MarkInvalid (s); +- t = s; ++ MarkInvalid (static_cast (s)); ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -2396,12 +2456,12 @@ extern "C" void DynamicStrings_CopyOut (char *a, unsigned int _a_high, DynamicSt + i = 0; + while (i < l) + { +- a[i] = DynamicStrings_char (s, static_cast (i)); ++ const_cast(a)[i] = DynamicStrings_char (s, static_cast (i)); + i += 1; + } + if (i <= _a_high) + { +- a[i] = ASCII_nul; ++ const_cast(a)[i] = ASCII_nul; + } + } + +@@ -2416,7 +2476,7 @@ extern "C" char DynamicStrings_char (DynamicStrings_String s, int i) + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (i < 0) + { +@@ -2426,18 +2486,18 @@ extern "C" char DynamicStrings_char (DynamicStrings_String s, int i) + { + c = i; + } +- while ((s != NULL) && (c >= s->contents.len)) ++ while ((s != NULL) && (c >= static_cast (s)->contents.len)) + { +- c -= s->contents.len; +- s = s->contents.next; ++ c -= static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } +- if ((s == NULL) || (c >= s->contents.len)) ++ if ((s == NULL) || (c >= static_cast (s)->contents.len)) + { + return ASCII_nul; + } + else + { +- return s->contents.buf.array[c]; ++ return static_cast (s)->contents.buf.array[c]; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2452,14 +2512,14 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + { + typedef char *string__T2; + +- DynamicStrings_String a; ++ DynamicStrings_String__opaque a; + unsigned int l; + unsigned int i; + string__T2 p; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (s == NULL) + { +@@ -2467,18 +2527,18 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + } + else + { +- if (! s->head->charStarValid) ++ if (! static_cast (s)->head->charStarValid) + { + l = DynamicStrings_Length (s); +- if (! (s->head->charStarUsed && (s->head->charStarSize > l))) ++ if (! (static_cast (s)->head->charStarUsed && (static_cast (s)->head->charStarSize > l))) + { +- DeallocateCharStar (s); +- Storage_ALLOCATE (&s->head->charStar, l+1); +- s->head->charStarSize = l+1; +- s->head->charStarUsed = true; ++ DeallocateCharStar (static_cast (s)); ++ Storage_ALLOCATE (&static_cast (s)->head->charStar, l+1); ++ static_cast (s)->head->charStarSize = l+1; ++ static_cast (s)->head->charStarUsed = true; + } +- p = static_cast (s->head->charStar); +- a = s; ++ p = static_cast (static_cast (s)->head->charStar); ++ a = static_cast (s); + while (a != NULL) + { + i = 0; +@@ -2491,9 +2551,9 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + a = a->contents.next; + } + (*p) = ASCII_nul; +- s->head->charStarValid = true; ++ static_cast (s)->head->charStarValid = true; + } +- return s->head->charStar; ++ return static_cast (s)->head->charStar; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2513,7 +2573,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringDB (const char *a_, un + memcpy (a, a_, _a_high+1); + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitString ((const char *) a, _a_high), (const char *) file, _file_high, line, (const char *) "InitString", 10); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitString ((const char *) a, _a_high)), (const char *) file, _file_high, line, (const char *) "InitString", 10)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2530,7 +2590,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharStarDB (void * a, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitStringCharStar (a), (const char *) file, _file_high, line, (const char *) "InitStringCharStar", 18); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitStringCharStar (a)), (const char *) file, _file_high, line, (const char *) "InitStringCharStar", 18)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2547,7 +2607,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharDB (char ch, const + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitStringChar (ch), (const char *) file, _file_high, line, (const char *) "InitStringChar", 14); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitStringChar (ch)), (const char *) file, _file_high, line, (const char *) "InitStringChar", 14)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2564,7 +2624,7 @@ extern "C" DynamicStrings_String DynamicStrings_MultDB (DynamicStrings_String s, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_Mult (s, n), (const char *) file, _file_high, line, (const char *) "Mult", 4); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_Mult (s, n)), (const char *) file, _file_high, line, (const char *) "Mult", 4)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2581,7 +2641,7 @@ extern "C" DynamicStrings_String DynamicStrings_DupDB (DynamicStrings_String s, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_Dup (s), (const char *) file, _file_high, line, (const char *) "Dup", 3); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_Dup (s)), (const char *) file, _file_high, line, (const char *) "Dup", 3)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2599,8 +2659,8 @@ extern "C" DynamicStrings_String DynamicStrings_SliceDB (DynamicStrings_String s + memcpy (file, file_, _file_high+1); + + DSdbEnter (); +- s = AssignDebug (DynamicStrings_Slice (s, low, high), (const char *) file, _file_high, line, (const char *) "Slice", 5); +- DSdbExit (s); ++ s = static_cast (AssignDebug (static_cast (DynamicStrings_Slice (s, low, high)), (const char *) file, _file_high, line, (const char *) "Slice", 5)); ++ DSdbExit (static_cast (s)); + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2620,8 +2680,8 @@ extern "C" void DynamicStrings_PushAllocation (void) + Init (); + Storage_ALLOCATE ((void **) &f, sizeof (DynamicStrings_frameRec)); + f->next = frameHead; +- f->alloc = NULL; +- f->dealloc = NULL; ++ f->alloc = static_cast (NULL); ++ f->dealloc = static_cast (NULL); + frameHead = f; + } + } +@@ -2640,7 +2700,7 @@ extern "C" void DynamicStrings_PopAllocation (bool halt) + { + if (CheckOn) + { +- if ((DynamicStrings_PopAllocationExemption (halt, NULL)) == NULL) ++ if ((DynamicStrings_PopAllocationExemption (halt, static_cast (NULL))) == NULL) + {} /* empty. */ + } + } +@@ -2658,7 +2718,7 @@ extern "C" void DynamicStrings_PopAllocation (bool halt) + + extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + bool b; + + Init (); +@@ -2679,7 +2739,7 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + s = frameHead->alloc; + while (s != NULL) + { +- if (! (((e == s) || (IsOnGarbage (e, s))) || (IsOnGarbage (s, e)))) ++ if (! (((e == s) || (IsOnGarbage (static_cast (e), s))) || (IsOnGarbage (s, static_cast (e))))) + { + if (! b) + { +@@ -2704,12 +2764,12 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + __builtin_unreachable (); + } + +-extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Initialized = false; + Init (); + } + +-extern "C" void _M2_DynamicStrings_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_DynamicStrings_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GDynamicStrings.h ++++ b/src/gcc/m2/mc-boot/GDynamicStrings.h +@@ -194,12 +194,25 @@ EXTERN int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned int + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if ch is not found. The search ++ is performed left to right. + */ + + EXTERN int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o); + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++EXTERN int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o); ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +--- a/src/gcc/m2/mc-boot/GEnvironment.cc ++++ b/src/gcc/m2/mc-boot/GEnvironment.cc +@@ -38,9 +38,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _Environment_H + #define _Environment_C + ++#include "GEnvironment.h" + # include "GSYSTEM.h" + # include "Glibc.h" + # include "GASCII.h" +@@ -86,16 +86,16 @@ extern "C" bool Environment_GetEnvironment (const char *Env_, unsigned int _Env_ + + i = 0; + High = _dest_high; +- Addr = static_cast (libc_getenv (&Env)); ++ Addr = static_cast (libc_getenv (const_cast (static_cast(Env)))); + while (((i < High) && (Addr != NULL)) && ((*Addr) != ASCII_nul)) + { +- dest[i] = (*Addr); ++ const_cast(dest)[i] = (*Addr); + Addr += 1; + i += 1; + } + if (i < High) + { +- dest[i] = ASCII_nul; ++ const_cast(dest)[i] = ASCII_nul; + } + return Addr != NULL; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -116,15 +116,15 @@ extern "C" bool Environment_PutEnvironment (const char *EnvDef_, unsigned int _E + /* make a local copy of each unbounded array. */ + memcpy (EnvDef, EnvDef_, _EnvDef_high+1); + +- return (libc_putenv (&EnvDef)) == 0; ++ return (libc_putenv (const_cast (static_cast(EnvDef)))) == 0; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_Environment_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Environment_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Environment_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Environment_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GFIO.cc ++++ b/src/gcc/m2/mc-boot/GFIO.cc +@@ -48,9 +48,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _FIO_H + #define _FIO_C + ++#include "GFIO.h" + # include "GSYSTEM.h" + # include "GASCII.h" + # include "GStrLib.h" +@@ -63,9 +63,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + typedef unsigned int FIO_File; + +-FIO_File FIO_StdErr; +-FIO_File FIO_StdOut; +-FIO_File FIO_StdIn; + # define MaxBufferLength (1024*16) + # define MaxErrorString (1024*8) + # define CreatePermissions 0666 +@@ -88,7 +85,7 @@ typedef enum {FIO_successful, FIO_outofmemory, FIO_toomanyfilesopen, FIO_failed, + typedef enum {FIO_unused, FIO_openedforread, FIO_openedforwrite, FIO_openedforrandom} FIO_FileUsage; + + struct FIO_NameInfo_r { +- void *address; ++ void * address; + unsigned int size; + }; + +@@ -96,11 +93,11 @@ struct FIO_buf_r { + bool valid; + long int bufstart; + unsigned int position; +- void *address; ++ void * address; + unsigned int filled; + unsigned int size; + unsigned int left; +- FIO__T7 *contents; ++ FIO__T7 * contents; + }; + + struct FIO__T7_a { char array[MaxBufferLength+1]; }; +@@ -588,7 +585,7 @@ static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, + } + else + { +- Indexing_PutIndice (FileInfo, f, reinterpret_cast (fd)); ++ Indexing_PutIndice (FileInfo, f, reinterpret_cast (fd)); + fd->name.size = flength+1; /* need to guarantee the nul for C */ + fd->usage = use; /* need to guarantee the nul for C */ + fd->output = towrite; +@@ -639,7 +636,7 @@ static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, + { + fd->buffer->left = 0; + } +- fd->buffer->contents = reinterpret_cast (fd->buffer->address); /* provides easy access for reading characters */ ++ fd->buffer->contents = static_cast (fd->buffer->address); /* provides easy access for reading characters */ + fd->state = fstate; /* provides easy access for reading characters */ + } + } +@@ -913,7 +910,7 @@ static void HandleEscape (char *dest, unsigned int _dest_high, const char *src_, + if (src[(*i)+1] == 'n') + { + /* requires a newline */ +- dest[(*j)] = ASCII_nl; ++ const_cast(dest)[(*j)] = ASCII_nl; + (*j) += 1; + (*i) += 2; + } +@@ -921,7 +918,7 @@ static void HandleEscape (char *dest, unsigned int _dest_high, const char *src_, + { + /* avoid dangling else. */ + /* requires a tab (yuck) tempted to fake this but I better not.. */ +- dest[(*j)] = ASCII_tab; ++ const_cast(dest)[(*j)] = ASCII_tab; + (*j) += 1; + (*i) += 2; + } +@@ -930,7 +927,7 @@ static void HandleEscape (char *dest, unsigned int _dest_high, const char *src_, + /* avoid dangling else. */ + /* copy escaped character */ + (*i) += 1; +- dest[(*j)] = src[(*i)]; ++ const_cast(dest)[(*j)] = src[(*i)]; + (*j) += 1; + (*i) += 1; + } +@@ -954,7 +951,7 @@ static void Cast (unsigned char *a, unsigned int _a_high, const unsigned char *b + { + for (i=0; i<=_a_high; i++) + { +- a[i] = b[i]; ++ const_cast(a)[i] = b[i]; + } + } + else +@@ -1004,7 +1001,7 @@ static void StringFormat1 (char *dest, unsigned int _dest_high, const char *src_ + } + else + { +- dest[j] = src[i]; ++ const_cast(dest)[j] = src[i]; + i += 1; + j += 1; + } +@@ -1017,13 +1014,13 @@ static void StringFormat1 (char *dest, unsigned int _dest_high, const char *src_ + Cast ((unsigned char *) &p, (sizeof (p)-1), (const unsigned char *) w, _w_high); + while ((j < HighDest) && ((*p) != ASCII_nul)) + { +- dest[j] = (*p); ++ const_cast(dest)[j] = (*p); + j += 1; + p += 1; + } + if (j < HighDest) + { +- dest[j] = ASCII_nul; ++ const_cast(dest)[j] = ASCII_nul; + } + j = StrLib_StrLen ((const char *) dest, _dest_high); + i += 2; +@@ -1031,7 +1028,7 @@ static void StringFormat1 (char *dest, unsigned int _dest_high, const char *src_ + else if (src[i+1] == 'd') + { + /* avoid dangling else. */ +- dest[j] = ASCII_nul; ++ const_cast(dest)[j] = ASCII_nul; + Cast ((unsigned char *) &c, (sizeof (c)-1), (const unsigned char *) w, _w_high); + NumberIO_CardToStr (c, 0, (char *) &str.array[0], MaxErrorString); + StrLib_StrConCat ((const char *) dest, _dest_high, (const char *) &str.array[0], MaxErrorString, (char *) dest, _dest_high); +@@ -1041,7 +1038,7 @@ static void StringFormat1 (char *dest, unsigned int _dest_high, const char *src_ + else + { + /* avoid dangling else. */ +- dest[j] = src[i]; ++ const_cast(dest)[j] = src[i]; + i += 1; + j += 1; + } +@@ -1055,14 +1052,14 @@ static void StringFormat1 (char *dest, unsigned int _dest_high, const char *src_ + } + else + { +- dest[j] = src[i]; ++ const_cast(dest)[j] = src[i]; + i += 1; + j += 1; + } + } + if (j < HighDest) + { +- dest[j] = ASCII_nul; ++ const_cast(dest)[j] = ASCII_nul; + } + } + +@@ -1312,7 +1309,7 @@ static void PreInitialize (FIO_File f, const char *fname_, unsigned int _fname_h + /* make a local copy of each unbounded array. */ + memcpy (fname, fname_, _fname_high+1); + +- if ((InitializeFile (f, &fname, StrLib_StrLen ((const char *) fname, _fname_high), state, use, towrite, bufsize)) == f) ++ if ((InitializeFile (f, const_cast (static_cast(fname)), StrLib_StrLen ((const char *) fname, _fname_high), state, use, towrite, bufsize)) == f) + { + fd = static_cast (Indexing_GetIndice (FileInfo, f)); + if (f == Error) +@@ -1414,7 +1411,7 @@ extern "C" bool FIO_Exists (const char *fname_, unsigned int _fname_high) + /* + The following functions are wrappers for the above. + */ +- return FIO_exists (&fname, StrLib_StrLen ((const char *) fname, _fname_high)); ++ return FIO_exists (const_cast (static_cast(fname)), StrLib_StrLen ((const char *) fname, _fname_high)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1426,7 +1423,7 @@ extern "C" FIO_File FIO_OpenToRead (const char *fname_, unsigned int _fname_high + /* make a local copy of each unbounded array. */ + memcpy (fname, fname_, _fname_high+1); + +- return FIO_openToRead (&fname, StrLib_StrLen ((const char *) fname, _fname_high)); ++ return FIO_openToRead (const_cast (static_cast(fname)), StrLib_StrLen ((const char *) fname, _fname_high)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1438,7 +1435,7 @@ extern "C" FIO_File FIO_OpenToWrite (const char *fname_, unsigned int _fname_hig + /* make a local copy of each unbounded array. */ + memcpy (fname, fname_, _fname_high+1); + +- return FIO_openToWrite (&fname, StrLib_StrLen ((const char *) fname, _fname_high)); ++ return FIO_openToWrite (const_cast (static_cast(fname)), StrLib_StrLen ((const char *) fname, _fname_high)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1450,7 +1447,7 @@ extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_h + /* make a local copy of each unbounded array. */ + memcpy (fname, fname_, _fname_high+1); + +- return FIO_openForRandom (&fname, StrLib_StrLen ((const char *) fname, _fname_high), towrite, newfile); ++ return FIO_openForRandom (const_cast (static_cast(fname)), StrLib_StrLen ((const char *) fname, _fname_high), towrite, newfile); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1966,7 +1963,7 @@ extern "C" void FIO_WriteString (FIO_File f, const char *a_, unsigned int _a_hig + memcpy (a, a_, _a_high+1); + + l = StrLib_StrLen ((const char *) a, _a_high); +- if ((FIO_WriteNBytes (f, l, &a)) != l) ++ if ((FIO_WriteNBytes (f, l, const_cast (static_cast(a)))) != l) + {} /* empty. */ + } + +@@ -1993,12 +1990,12 @@ extern "C" void FIO_ReadString (FIO_File f, char *a, unsigned int _a_high) + /* avoid gcc warning by using compound statement even if not strictly necessary. */ + if (((ch == ASCII_nl) || (! (FIO_IsNoError (f)))) || (FIO_EOF (f))) + { +- a[i] = ASCII_nul; ++ const_cast(a)[i] = ASCII_nul; + i += 1; + } + else + { +- a[i] = ch; ++ const_cast(a)[i] = ch; + i += 1; + } + } +@@ -2222,7 +2219,7 @@ extern "C" void FIO_GetFileName (FIO_File f, char *a, unsigned int _a_high) + i = 0; + while (((*p) != ASCII_nul) && (i <= _a_high)) + { +- a[i] = (*p); ++ const_cast(a)[i] = (*p); + p += 1; + i += 1; + } +@@ -2307,12 +2304,12 @@ extern "C" void FIO_FlushOutErr (void) + } + } + +-extern "C" void _M2_FIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Init (); + } + +-extern "C" void _M2_FIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + FIO_FlushOutErr (); + } +--- a/src/gcc/m2/mc-boot/GFormatStrings.cc ++++ b/src/gcc/m2/mc-boot/GFormatStrings.cc +@@ -46,9 +46,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _FormatStrings_H + #define _FormatStrings_C + ++#include "GFormatStrings.h" + # include "GDynamicStrings.h" + # include "GStringConvert.h" + # include "GSYSTEM.h" +@@ -254,7 +254,7 @@ static void Cast (unsigned char *a, unsigned int _a_high, const unsigned char *b + { + for (i=0; i<=_a_high; i++) + { +- a[i] = b[i]; ++ const_cast(a)[i] = b[i]; + } + } + else +@@ -835,10 +835,10 @@ extern "C" DynamicStrings_String FormatStrings_HandleEscape (DynamicStrings_Stri + __builtin_unreachable (); + } + +-extern "C" void _M2_FormatStrings_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FormatStrings_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_FormatStrings_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FormatStrings_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GFpuIO.cc ++++ b/src/gcc/m2/mc-boot/GFpuIO.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _FpuIO_H + #define _FpuIO_C + ++#include "GFpuIO.h" + # include "GStrIO.h" + # include "GStrLib.h" + # include "GASCII.h" +@@ -328,10 +328,10 @@ extern "C" void FpuIO_LongIntToStr (long int x, unsigned int n, char *a, unsigne + s = DynamicStrings_KillString (s); + } + +-extern "C" void _M2_FpuIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FpuIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_FpuIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_FpuIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GIO.cc ++++ b/src/gcc/m2/mc-boot/GIO.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _IO_H + #define _IO_C + ++#include "GIO.h" + # include "GStrLib.h" + # include "GSYSTEM.h" + # include "Glibc.h" +@@ -177,7 +177,7 @@ static void doWrite (int fd, FIO_File f, char ch) + r = static_cast (libc_write (FIO_GetUnixFileDescriptor (f), &ch, static_cast (1))); + if (r == 1) + { +- return ; ++ return; + } + else if (r == -1) + { +@@ -186,7 +186,7 @@ static void doWrite (int fd, FIO_File f, char ch) + if ((r != errno_EAGAIN) && (r != errno_EINTR)) + { + fdState.array[fd].IsEof = true; +- return ; ++ return; + } + } + } +@@ -319,7 +319,7 @@ extern "C" void IO_Read (char *ch) + r = static_cast (libc_read (FIO_GetUnixFileDescriptor (FIO_StdIn), ch, static_cast (1))); + if (r == 1) + { +- return ; ++ return; + } + else if (r == -1) + { +@@ -329,7 +329,7 @@ extern "C" void IO_Read (char *ch) + { + fdState.array[0].IsEof = true; + (*ch) = ASCII_eof; +- return ; ++ return; + } + } + } +@@ -471,11 +471,11 @@ extern "C" void IO_EchoOff (int fd, bool input) + term = termios_KillTermios (term); + } + +-extern "C" void _M2_IO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_IO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Init (); + } + +-extern "C" void _M2_IO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_IO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GIndexing.cc ++++ b/src/gcc/m2/mc-boot/GIndexing.cc +@@ -14,10 +14,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -42,9 +41,9 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _Indexing_H + #define _Indexing_C + ++#include "GIndexing.h" + # include "Glibc.h" + # include "GStorage.h" + # include "GSYSTEM.h" +@@ -58,15 +57,12 @@ typedef struct Indexing__T2_r Indexing__T2; + + typedef void * *Indexing_PtrToAddress; + +-typedef Indexing__T2 *Indexing_Index; ++typedef Indexing__T2 *Indexing_Index__opaque; + + typedef unsigned char *Indexing_PtrToByte; + +-typedef void (*Indexing_IndexProcedure_t) (void *); +-struct Indexing_IndexProcedure_p { Indexing_IndexProcedure_t proc; }; +- + struct Indexing__T2_r { +- void *ArrayStart; ++ void * ArrayStart; + unsigned int ArraySize; + unsigned int Used; + unsigned int Low; +@@ -163,7 +159,7 @@ extern "C" void Indexing_ForeachIndiceInIndexDo (Indexing_Index i, Indexing_Inde + + extern "C" Indexing_Index Indexing_InitIndex (unsigned int low) + { +- Indexing_Index i; ++ Indexing_Index__opaque i; + + Storage_ALLOCATE ((void **) &i, sizeof (Indexing__T2)); + i->Low = low; +@@ -174,7 +170,7 @@ extern "C" Indexing_Index Indexing_InitIndex (unsigned int low) + i->Debug = false; + i->Used = 0; + i->Map = (unsigned int) 0; +- return i; ++ return static_cast (i); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -186,9 +182,9 @@ extern "C" Indexing_Index Indexing_InitIndex (unsigned int low) + + extern "C" Indexing_Index Indexing_KillIndex (Indexing_Index i) + { +- Storage_DEALLOCATE (&i->ArrayStart, i->ArraySize); ++ Storage_DEALLOCATE (&static_cast (i)->ArrayStart, static_cast (i)->ArraySize); + Storage_DEALLOCATE ((void **) &i, sizeof (Indexing__T2)); +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -200,7 +196,7 @@ extern "C" Indexing_Index Indexing_KillIndex (Indexing_Index i) + + extern "C" Indexing_Index Indexing_DebugIndex (Indexing_Index i) + { +- i->Debug = true; ++ static_cast (i)->Debug = true; + return i; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -221,7 +217,7 @@ extern "C" bool Indexing_InBounds (Indexing_Index i, unsigned int n) + } + else + { +- return (n >= i->Low) && (n <= i->High); ++ return (n >= static_cast (i)->Low) && (n <= static_cast (i)->High); + } + ReturnException ("../../gcc/m2/mc/Indexing.def", 20, 1); + __builtin_unreachable (); +@@ -241,7 +237,7 @@ extern "C" unsigned int Indexing_HighIndice (Indexing_Index i) + } + else + { +- return i->High; ++ return static_cast (i)->High; + } + ReturnException ("../../gcc/m2/mc/Indexing.def", 20, 1); + __builtin_unreachable (); +@@ -261,7 +257,7 @@ extern "C" unsigned int Indexing_LowIndice (Indexing_Index i) + } + else + { +- return i->Low; ++ return static_cast (i)->Low; + } + ReturnException ("../../gcc/m2/mc/Indexing.def", 20, 1); + __builtin_unreachable (); +@@ -283,21 +279,21 @@ extern "C" void Indexing_PutIndice (Indexing_Index i, unsigned int n, void * a) + if (! (Indexing_InBounds (i, n))) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (n < i->Low) ++ if (n < static_cast (i)->Low) + { + M2RTS_HALT (-1); + __builtin_unreachable (); + } + else + { +- oldSize = i->ArraySize; +- while (((n-i->Low)*sizeof (void *)) >= i->ArraySize) ++ oldSize = static_cast (i)->ArraySize; ++ while (((n-static_cast (i)->Low)*sizeof (void *)) >= static_cast (i)->ArraySize) + { +- i->ArraySize = i->ArraySize*2; ++ static_cast (i)->ArraySize = static_cast (i)->ArraySize*2; + } +- if (oldSize != i->ArraySize) ++ if (oldSize != static_cast (i)->ArraySize) + { +- /* ++ /* + IF Debug + THEN + printf2('increasing memory hunk from %d to %d +@@ -305,25 +301,25 @@ extern "C" void Indexing_PutIndice (Indexing_Index i, unsigned int n, void * a) + oldSize, ArraySize) + END ; + */ +- Storage_REALLOCATE (&i->ArrayStart, i->ArraySize); ++ Storage_REALLOCATE (&static_cast (i)->ArrayStart, static_cast (i)->ArraySize); + /* and initialize the remainder of the array to NIL */ +- b = i->ArrayStart; ++ b = static_cast (i)->ArrayStart; + b = reinterpret_cast (reinterpret_cast (b)+oldSize); +- b = libc_memset (b, 0, static_cast (i->ArraySize-oldSize)); ++ b = libc_memset (b, 0, static_cast (static_cast (i)->ArraySize-oldSize)); + } +- i->High = n; ++ static_cast (i)->High = n; + } + } +- b = i->ArrayStart; +- b = reinterpret_cast (reinterpret_cast (b)+(n-i->Low)*sizeof (void *)); ++ b = static_cast (i)->ArrayStart; ++ b = reinterpret_cast (reinterpret_cast (b)+(n-static_cast (i)->Low)*sizeof (void *)); + p = static_cast (b); +- (*p) = reinterpret_cast (a); +- i->Used += 1; +- if (i->Debug) ++ (*p) = static_cast (a); ++ static_cast (i)->Used += 1; ++ if (static_cast (i)->Debug) + { + if (n < 32) + { +- i->Map |= (1 << (n )); ++ static_cast (i)->Map |= (1 << (n )); + } + } + } +@@ -343,12 +339,12 @@ extern "C" void * Indexing_GetIndice (Indexing_Index i, unsigned int n) + M2RTS_HALT (-1); + __builtin_unreachable (); + } +- b = static_cast (i->ArrayStart); +- b += (n-i->Low)*sizeof (void *); ++ b = static_cast (static_cast (i)->ArrayStart); ++ b += (n-static_cast (i)->Low)*sizeof (void *); + p = (Indexing_PtrToAddress) (b); +- if (i->Debug) ++ if (static_cast (i)->Debug) + { +- if (((n < 32) && (! ((((1 << (n)) & (i->Map)) != 0)))) && ((*p) != NULL)) ++ if (((n < 32) && (! ((((1 << (n)) & (static_cast (i)->Map)) != 0)))) && ((*p) != NULL)) + { + M2RTS_HALT (-1); + __builtin_unreachable (); +@@ -370,9 +366,9 @@ extern "C" bool Indexing_IsIndiceInIndex (Indexing_Index i, void * a) + Indexing_PtrToByte b; + Indexing_PtrToAddress p; + +- j = i->Low; +- b = static_cast (i->ArrayStart); +- while (j <= i->High) ++ j = static_cast (i)->Low; ++ b = static_cast (static_cast (i)->ArrayStart); ++ while (j <= static_cast (i)->High) + { + p = (Indexing_PtrToAddress) (b); + if ((*p) == a) +@@ -400,9 +396,9 @@ extern "C" void Indexing_RemoveIndiceFromIndex (Indexing_Index i, void * a) + Indexing_PtrToAddress p; + Indexing_PtrToByte b; + +- j = i->Low; +- b = static_cast (i->ArrayStart); +- while (j <= i->High) ++ j = static_cast (i)->Low; ++ b = static_cast (static_cast (i)->ArrayStart); ++ while (j <= static_cast (i)->High) + { + p = (Indexing_PtrToAddress) (b); + b += sizeof (void *); +@@ -426,13 +422,13 @@ extern "C" void Indexing_DeleteIndice (Indexing_Index i, unsigned int j) + + if (Indexing_InBounds (i, j)) + { +- b = static_cast (i->ArrayStart); +- b += sizeof (void *)*(j-i->Low); ++ b = static_cast (static_cast (i)->ArrayStart); ++ b += sizeof (void *)*(j-static_cast (i)->Low); + p = (Indexing_PtrToAddress) (b); + b += sizeof (void *); +- p = static_cast (libc_memmove (reinterpret_cast (p), reinterpret_cast (b), static_cast ((i->High-j)*sizeof (void *)))); +- i->High -= 1; +- i->Used -= 1; ++ p = static_cast (libc_memmove (reinterpret_cast (p), reinterpret_cast (b), static_cast ((static_cast (i)->High-j)*sizeof (void *)))); ++ static_cast (i)->High -= 1; ++ static_cast (i)->Used -= 1; + } + else + { +@@ -452,7 +448,7 @@ extern "C" void Indexing_IncludeIndiceIntoIndex (Indexing_Index i, void * a) + if (! (Indexing_IsIndiceInIndex (i, a))) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (i->Used == 0) ++ if (static_cast (i)->Used == 0) + { + Indexing_PutIndice (i, Indexing_LowIndice (i), a); + } +@@ -483,10 +479,10 @@ extern "C" void Indexing_ForeachIndiceInIndexDo (Indexing_Index i, Indexing_Inde + } + } + +-extern "C" void _M2_Indexing_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Indexing_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Indexing_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Indexing_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GM2Dependent.cc ++++ b/src/gcc/m2/mc-boot/GM2Dependent.cc +@@ -47,9 +47,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _M2Dependent_H + #define _M2Dependent_C + ++#include "GM2Dependent.h" + # include "Glibc.h" + # include "GASCII.h" + # include "GSYSTEM.h" +@@ -76,9 +76,6 @@ typedef struct M2Dependent__T4_a M2Dependent__T4; + + typedef enum {M2Dependent_unregistered, M2Dependent_unordered, M2Dependent_started, M2Dependent_ordered, M2Dependent_user} M2Dependent_DependencyState; + +-typedef void (*M2Dependent_ArgCVEnvP_t) (int, void *, void *); +-struct M2Dependent_ArgCVEnvP_p { M2Dependent_ArgCVEnvP_t proc; }; +- + struct M2Dependent_DependencyList_r { + PROC proc; + bool forced; +@@ -100,8 +97,8 @@ struct M2Dependent__T3_r { + + struct M2Dependent__T4_a { M2Dependent_ModuleChain array[M2Dependent_user-M2Dependent_unregistered+1]; }; + struct M2Dependent__T2_r { +- void *name; +- void *libname; ++ void * name; ++ void * libname; + M2Dependent_ArgCVEnvP init; + M2Dependent_ArgCVEnvP fini; + M2Dependent_DependencyList dependency; +@@ -593,7 +590,7 @@ static M2Dependent_ModuleChain LookupModuleN (M2Dependent_DependencyState state, + { + ptr = Modules.array[state-M2Dependent_unregistered]; + do { +- if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) ++ if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) + { + return ptr; + } +@@ -613,7 +610,7 @@ static M2Dependent_ModuleChain LookupModuleN (M2Dependent_DependencyState state, + + static M2Dependent_ModuleChain LookupModule (M2Dependent_DependencyState state, void * name, void * libname) + { +- return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); ++ return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -638,11 +635,11 @@ static void toCString (char *str, unsigned int _str_high) + { + if (str[i+1] == 'n') + { +- str[i] = ASCII_nl; ++ const_cast(str)[i] = ASCII_nl; + j = i+1; + while (j < high) + { +- str[j] = str[j+1]; ++ const_cast(str)[j] = str[j+1]; + j += 1; + } + } +@@ -962,7 +959,7 @@ static void DisplayModuleInfo (M2Dependent_DependencyState state, const char *de + + if (Modules.array[state-M2Dependent_unregistered] != NULL) + { +- libc_printf ((const char *) "%s modules\\n", 12, &desc); ++ libc_printf ((const char *) "%s modules\\n", 12, const_cast (static_cast(desc))); + mptr = Modules.array[state-M2Dependent_unregistered]; + count = 0; + do { +@@ -1116,7 +1113,7 @@ static void ForceDependencies (void * overrideliborder) + case ',': + modname = start; + modlen = len; +- ForceModule (reinterpret_cast (modname), modlen, reinterpret_cast (libname), liblen); ++ ForceModule (reinterpret_cast (modname), modlen, reinterpret_cast (libname), liblen); + libname = NULL; + liblen = 0; + modlen = 0; +@@ -1134,7 +1131,7 @@ static void ForceDependencies (void * overrideliborder) + } + if (start != pc) + { +- ForceModule (reinterpret_cast (start), len, reinterpret_cast (libname), liblen); ++ ForceModule (reinterpret_cast (start), len, reinterpret_cast (libname), liblen); + } + combine (M2Dependent_user, M2Dependent_ordered); + } +@@ -1211,7 +1208,7 @@ static bool equal (void * cstr, const char *str_, unsigned int _str_high) + /* make a local copy of each unbounded array. */ + memcpy (str, str_, _str_high+1); + +- return (strncmp (reinterpret_cast (cstr), reinterpret_cast (&str), StrLib_StrLen ((const char *) str, _str_high))) == 0; ++ return (strncmp (reinterpret_cast (cstr), reinterpret_cast (const_cast (static_cast(str))), StrLib_StrLen ((const char *) str, _str_high))) == 0; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1249,10 +1246,10 @@ static void SetupDebugFlags (void) + ForceTrace = false; + HexTrace = false; + WarningTrace = false; +- pc = static_cast (libc_getenv (const_cast (reinterpret_cast("GCC_M2LINK_RTFLAG")))); ++ pc = static_cast (libc_getenv (const_cast (static_cast("GCC_M2LINK_RTFLAG")))); + while ((pc != NULL) && ((*pc) != ASCII_nul)) + { +- if (equal (reinterpret_cast (pc), (const char *) "all", 3)) ++ if (equal (reinterpret_cast (pc), (const char *) "all", 3)) + { + ModuleTrace = true; + DependencyTrace = true; +@@ -1263,43 +1260,43 @@ static void SetupDebugFlags (void) + WarningTrace = true; + pc += 3; + } +- else if (equal (reinterpret_cast (pc), (const char *) "module", 6)) ++ else if (equal (reinterpret_cast (pc), (const char *) "module", 6)) + { + /* avoid dangling else. */ + ModuleTrace = true; + pc += 6; + } +- else if (equal (reinterpret_cast (pc), (const char *) "warning", 7)) ++ else if (equal (reinterpret_cast (pc), (const char *) "warning", 7)) + { + /* avoid dangling else. */ + WarningTrace = true; + pc += 7; + } +- else if (equal (reinterpret_cast (pc), (const char *) "hex", 3)) ++ else if (equal (reinterpret_cast (pc), (const char *) "hex", 3)) + { + /* avoid dangling else. */ + HexTrace = true; + pc += 3; + } +- else if (equal (reinterpret_cast (pc), (const char *) "dep", 3)) ++ else if (equal (reinterpret_cast (pc), (const char *) "dep", 3)) + { + /* avoid dangling else. */ + DependencyTrace = true; + pc += 3; + } +- else if (equal (reinterpret_cast (pc), (const char *) "pre", 3)) ++ else if (equal (reinterpret_cast (pc), (const char *) "pre", 3)) + { + /* avoid dangling else. */ + PreTrace = true; + pc += 3; + } +- else if (equal (reinterpret_cast (pc), (const char *) "post", 4)) ++ else if (equal (reinterpret_cast (pc), (const char *) "post", 4)) + { + /* avoid dangling else. */ + PostTrace = true; + pc += 4; + } +- else if (equal (reinterpret_cast (pc), (const char *) "force", 5)) ++ else if (equal (reinterpret_cast (pc), (const char *) "force", 5)) + { + /* avoid dangling else. */ + ForceTrace = true; +@@ -1586,11 +1583,11 @@ extern "C" void M2Dependent_ExecuteTerminationProcedures (void) + ExecuteReverse (TerminateProc.tail); + } + +-extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + CheckInitialized (); + } + +-extern "C" void _M2_M2Dependent_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2Dependent_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GM2EXCEPTION.cc ++++ b/src/gcc/m2/mc-boot/GM2EXCEPTION.cc +@@ -35,14 +35,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # endif + + # include "Gmcrts.h" +-#define _M2EXCEPTION_H + #define _M2EXCEPTION_C + ++#include "GM2EXCEPTION.h" + # include "GSYSTEM.h" + # include "GRTExceptions.h" + +-typedef enum {M2EXCEPTION_indexException, M2EXCEPTION_rangeException, M2EXCEPTION_caseSelectException, M2EXCEPTION_invalidLocation, M2EXCEPTION_functionException, M2EXCEPTION_wholeValueException, M2EXCEPTION_wholeDivException, M2EXCEPTION_realValueException, M2EXCEPTION_realDivException, M2EXCEPTION_complexValueException, M2EXCEPTION_complexDivException, M2EXCEPTION_protException, M2EXCEPTION_sysException, M2EXCEPTION_coException, M2EXCEPTION_exException} M2EXCEPTION_M2Exceptions; +- + extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void); + extern "C" bool M2EXCEPTION_IsM2Exception (void); + +@@ -58,7 +56,7 @@ extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void) + n = RTExceptions_GetNumber (e); + if (n == (UINT_MAX)) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/M2EXCEPTION.mod")), 47, 6, const_cast (reinterpret_cast("M2Exception")), const_cast (reinterpret_cast("current coroutine is not in the exceptional execution state"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (static_cast("../../gcc/m2/gm2-libs/M2EXCEPTION.mod")), 47, 6, const_cast (static_cast("M2Exception")), const_cast (static_cast("current coroutine is not in the exceptional execution state"))); + } + else + { +@@ -80,11 +78,11 @@ extern "C" bool M2EXCEPTION_IsM2Exception (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_M2EXCEPTION_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2EXCEPTION_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + RTExceptions_SetExceptionBlock (RTExceptions_InitExceptionBlock ()); + } + +-extern "C" void _M2_M2EXCEPTION_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2EXCEPTION_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GM2RTS.cc ++++ b/src/gcc/m2/mc-boot/GM2RTS.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _M2RTS_H + #define _M2RTS_C + ++#include "GM2RTS.h" + # include "Glibc.h" + # include "GNumberIO.h" + # include "GStrLib.h" +@@ -60,9 +60,6 @@ typedef struct M2RTS_ArgCVEnvP_p M2RTS_ArgCVEnvP; + # define stderrFd 2 + typedef char *M2RTS_PtrToChar; + +-typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); +-struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; +- + static int ExitValue; + static bool isHalting; + static bool CallExit; +@@ -257,7 +254,7 @@ static void ErrorString (const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- n = static_cast (libc_write (stderrFd, &a, static_cast (StrLib_StrLen ((const char *) a, _a_high)))); ++ n = static_cast (libc_write (stderrFd, const_cast (static_cast(a)), static_cast (StrLib_StrLen ((const char *) a, _a_high)))); + } + + +@@ -712,11 +709,11 @@ extern "C" void M2RTS_NoException (void * filename, unsigned int line, unsigned + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), filename, line, column, scope, message); + } + +-extern "C" void _M2_M2RTS_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2RTS_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + CheckInitialized (); + } + +-extern "C" void _M2_M2RTS_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2RTS_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GMemUtils.cc ++++ b/src/gcc/m2/mc-boot/GMemUtils.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _MemUtils_H + #define _MemUtils_C + ++#include "GMemUtils.h" + # include "GSYSTEM.h" + + +@@ -118,10 +118,10 @@ extern "C" void MemUtils_MemZero (void * a, unsigned int length) + } + } + +-extern "C" void _M2_MemUtils_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_MemUtils_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_MemUtils_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_MemUtils_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GNumberIO.cc ++++ b/src/gcc/m2/mc-boot/GNumberIO.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _NumberIO_H + #define _NumberIO_C + ++#include "GNumberIO.h" + # include "GASCII.h" + # include "GStrIO.h" + # include "GStrLib.h" +@@ -172,19 +172,19 @@ extern "C" void NumberIO_CardToStr (unsigned int x, unsigned int n, char *a, uns + Higha = _a_high; + while ((n > i) && (j <= Higha)) + { +- a[j] = ' '; ++ const_cast(a)[j] = ' '; + j += 1; + n -= 1; + } + while ((i > 0) && (j <= Higha)) + { +- a[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); ++ const_cast(a)[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); + j += 1; + i -= 1; + } + if (j <= Higha) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + } + +@@ -270,7 +270,7 @@ extern "C" void NumberIO_HexToStr (unsigned int x, unsigned int n, char *a, unsi + Higha = _a_high; + while ((n > i) && (j <= Higha)) + { +- a[j] = '0'; ++ const_cast(a)[j] = '0'; + j += 1; + n -= 1; + } +@@ -278,18 +278,18 @@ extern "C" void NumberIO_HexToStr (unsigned int x, unsigned int n, char *a, unsi + { + if (buf.array[i-1] < 10) + { +- a[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); ++ const_cast(a)[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); + } + else + { +- a[j] = ((char) ((buf.array[i-1]+ ((unsigned int) ('A')))-10)); ++ const_cast(a)[j] = ((char) ((buf.array[i-1]+ ((unsigned int) ('A')))-10)); + } + j += 1; + i -= 1; + } + if (j <= Higha) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + } + +@@ -349,24 +349,24 @@ extern "C" void NumberIO_IntToStr (int x, unsigned int n, char *a, unsigned int + Higha = _a_high; + while ((n > i) && (j <= Higha)) + { +- a[j] = ' '; ++ const_cast(a)[j] = ' '; + j += 1; + n -= 1; + } + if (Negative) + { +- a[j] = '-'; ++ const_cast(a)[j] = '-'; + j += 1; + } + while ((i != 0) && (j <= Higha)) + { +- a[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); ++ const_cast(a)[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); + j += 1; + i -= 1; + } + if (j <= Higha) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + } + +@@ -490,19 +490,19 @@ extern "C" void NumberIO_OctToStr (unsigned int x, unsigned int n, char *a, unsi + Higha = _a_high; + while ((n > i) && (j <= Higha)) + { +- a[j] = ' '; ++ const_cast(a)[j] = ' '; + j += 1; + n -= 1; + } + while ((i > 0) && (j <= Higha)) + { +- a[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); ++ const_cast(a)[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); + j += 1; + i -= 1; + } + if (j <= Higha) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + } + +@@ -567,19 +567,19 @@ extern "C" void NumberIO_BinToStr (unsigned int x, unsigned int n, char *a, unsi + Higha = _a_high; + while ((n > i) && (j <= Higha)) + { +- a[j] = ' '; ++ const_cast(a)[j] = ' '; + j += 1; + n -= 1; + } + while ((i > 0) && (j <= Higha)) + { +- a[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); ++ const_cast(a)[j] = ((char) (buf.array[i-1]+ ((unsigned int) ('0')))); + j += 1; + i -= 1; + } + if (j <= Higha) + { +- a[j] = ASCII_nul; ++ const_cast(a)[j] = ASCII_nul; + } + } + +@@ -768,10 +768,10 @@ extern "C" void NumberIO_StrToOctInt (const char *a_, unsigned int _a_high, int + } + } + +-extern "C" void _M2_NumberIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_NumberIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_NumberIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_NumberIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GPushBackInput.cc ++++ b/src/gcc/m2/mc-boot/GPushBackInput.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _PushBackInput_H + #define _PushBackInput_C + ++#include "GPushBackInput.h" + # include "GFIO.h" + # include "GDynamicStrings.h" + # include "GASCII.h" +@@ -478,12 +478,12 @@ extern "C" unsigned int PushBackInput_GetCurrentLine (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_PushBackInput_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_PushBackInput_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + PushBackInput_SetDebug (false); + Init (); + } + +-extern "C" void _M2_PushBackInput_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_PushBackInput_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GRTExceptions.cc ++++ b/src/gcc/m2/mc-boot/GRTExceptions.cc +@@ -47,9 +47,9 @@ extern void throw (unsigned int); + # undef NULL + # define NULL 0 + #endif +-#define _RTExceptions_H + #define _RTExceptions_C + ++#include "GRTExceptions.h" + # include "GASCII.h" + # include "GStrLib.h" + # include "GStorage.h" +@@ -72,17 +72,14 @@ typedef struct RTExceptions__T3_r RTExceptions__T3; + + typedef RTExceptions__T3 *RTExceptions_Handler; + +-typedef RTExceptions__T1 *RTExceptions_EHBlock; +- +-typedef void (*RTExceptions_ProcedureHandler_t) (void); +-struct RTExceptions_ProcedureHandler_p { RTExceptions_ProcedureHandler_t proc; }; ++typedef RTExceptions__T1 *RTExceptions_EHBlock__opaque; + + struct RTExceptions__T2_a { char array[MaxBuffer+1]; }; + struct RTExceptions__T1_r { + RTExceptions__T2 buffer; + unsigned int number; + RTExceptions_Handler handlers; +- RTExceptions_EHBlock right; ++ RTExceptions_EHBlock__opaque right; + }; + + struct RTExceptions__T3_r { +@@ -95,8 +92,8 @@ struct RTExceptions__T3_r { + + static bool inException; + static RTExceptions_Handler freeHandler; +-static RTExceptions_EHBlock freeEHB; +-static RTExceptions_EHBlock currentEHB; ++static RTExceptions_EHBlock__opaque freeEHB; ++static RTExceptions_EHBlock__opaque currentEHB; + static void * currentSource; + + /* +@@ -233,7 +230,7 @@ static void ErrorString (const char *a_, unsigned int _a_high); + findHandler - + */ + +-static RTExceptions_Handler findHandler (RTExceptions_EHBlock e, unsigned int number); ++static RTExceptions_Handler findHandler (RTExceptions_EHBlock__opaque e, unsigned int number); + + /* + InvokeHandler - invokes the associated handler for the current +@@ -286,7 +283,7 @@ static void addNum (unsigned int n, unsigned int *i); + New - returns a new EHBlock. + */ + +-static RTExceptions_EHBlock New (void); ++static RTExceptions_EHBlock__opaque New (void); + + /* + NewHandler - returns a new handler. +@@ -322,7 +319,7 @@ static void SubHandler (RTExceptions_Handler h); + AddHandler - add, e, to the end of the list of handlers. + */ + +-static void AddHandler (RTExceptions_EHBlock e, RTExceptions_Handler h); ++static void AddHandler (RTExceptions_EHBlock__opaque e, RTExceptions_Handler h); + + /* + indexf - raise an index out of bounds exception. +@@ -439,7 +436,7 @@ static void ErrorString (const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- n = static_cast (libc_write (2, &a, static_cast (StrLib_StrLen ((const char *) a, _a_high)))); ++ n = static_cast (libc_write (2, const_cast (static_cast(a)), static_cast (StrLib_StrLen ((const char *) a, _a_high)))); + } + + +@@ -447,7 +444,7 @@ static void ErrorString (const char *a_, unsigned int _a_high) + findHandler - + */ + +-static RTExceptions_Handler findHandler (RTExceptions_EHBlock e, unsigned int number) ++static RTExceptions_Handler findHandler (RTExceptions_EHBlock__opaque e, unsigned int number) + { + RTExceptions_Handler h; + +@@ -540,7 +537,7 @@ static void * stripPath (void * s) + p += 1; + } + } +- return reinterpret_cast (f); ++ return static_cast (f); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -605,9 +602,9 @@ static void addNum (unsigned int n, unsigned int *i) + New - returns a new EHBlock. + */ + +-static RTExceptions_EHBlock New (void) ++static RTExceptions_EHBlock__opaque New (void) + { +- RTExceptions_EHBlock e; ++ RTExceptions_EHBlock__opaque e; + + if (freeEHB == NULL) + { +@@ -707,7 +704,7 @@ static void SubHandler (RTExceptions_Handler h) + AddHandler - add, e, to the end of the list of handlers. + */ + +-static void AddHandler (RTExceptions_EHBlock e, RTExceptions_Handler h) ++static void AddHandler (RTExceptions_EHBlock__opaque e, RTExceptions_Handler h) + { + h->right = e->handlers; + h->left = e->handlers->left; +@@ -722,7 +719,7 @@ static void AddHandler (RTExceptions_EHBlock e, RTExceptions_Handler h) + + static void indexf (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 614, 9, const_cast (reinterpret_cast("indexf")), const_cast (reinterpret_cast("array index out of bounds"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 614, 9, const_cast (static_cast("indexf")), const_cast (static_cast("array index out of bounds"))); + } + + +@@ -732,7 +729,7 @@ static void indexf (void * a) + + static void range (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 626, 9, const_cast (reinterpret_cast("range")), const_cast (reinterpret_cast("assignment out of range"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 626, 9, const_cast (static_cast("range")), const_cast (static_cast("assignment out of range"))); + } + + +@@ -742,7 +739,7 @@ static void range (void * a) + + static void casef (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 638, 9, const_cast (reinterpret_cast("casef")), const_cast (reinterpret_cast("case selector out of range"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 638, 9, const_cast (static_cast("casef")), const_cast (static_cast("case selector out of range"))); + } + + +@@ -752,7 +749,7 @@ static void casef (void * a) + + static void invalidloc (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 650, 9, const_cast (reinterpret_cast("invalidloc")), const_cast (reinterpret_cast("invalid address referenced"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 650, 9, const_cast (static_cast("invalidloc")), const_cast (static_cast("invalid address referenced"))); + } + + +@@ -762,7 +759,7 @@ static void invalidloc (void * a) + + static void function (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 662, 9, const_cast (reinterpret_cast("function")), const_cast (reinterpret_cast("... function ... "))); /* --fixme-- what has happened ? */ ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 662, 9, const_cast (static_cast("function")), const_cast (static_cast("... function ... "))); /* --fixme-- what has happened ? */ + } + + +@@ -772,7 +769,7 @@ static void function (void * a) + + static void wholevalue (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 674, 9, const_cast (reinterpret_cast("wholevalue")), const_cast (reinterpret_cast("illegal whole value exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 674, 9, const_cast (static_cast("wholevalue")), const_cast (static_cast("illegal whole value exception"))); + } + + +@@ -782,7 +779,7 @@ static void wholevalue (void * a) + + static void wholediv (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 686, 9, const_cast (reinterpret_cast("wholediv")), const_cast (reinterpret_cast("illegal whole value exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 686, 9, const_cast (static_cast("wholediv")), const_cast (static_cast("illegal whole value exception"))); + } + + +@@ -792,7 +789,7 @@ static void wholediv (void * a) + + static void realvalue (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 698, 9, const_cast (reinterpret_cast("realvalue")), const_cast (reinterpret_cast("illegal real value exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 698, 9, const_cast (static_cast("realvalue")), const_cast (static_cast("illegal real value exception"))); + } + + +@@ -802,7 +799,7 @@ static void realvalue (void * a) + + static void realdiv (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 710, 9, const_cast (reinterpret_cast("realdiv")), const_cast (reinterpret_cast("real number division by zero exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 710, 9, const_cast (static_cast("realdiv")), const_cast (static_cast("real number division by zero exception"))); + } + + +@@ -812,7 +809,7 @@ static void realdiv (void * a) + + static void complexvalue (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 722, 9, const_cast (reinterpret_cast("complexvalue")), const_cast (reinterpret_cast("illegal complex value exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 722, 9, const_cast (static_cast("complexvalue")), const_cast (static_cast("illegal complex value exception"))); + } + + +@@ -822,7 +819,7 @@ static void complexvalue (void * a) + + static void complexdiv (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 734, 9, const_cast (reinterpret_cast("complexdiv")), const_cast (reinterpret_cast("complex number division by zero exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 734, 9, const_cast (static_cast("complexdiv")), const_cast (static_cast("complex number division by zero exception"))); + } + + +@@ -832,7 +829,7 @@ static void complexdiv (void * a) + + static void protection (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 746, 9, const_cast (reinterpret_cast("protection")), const_cast (reinterpret_cast("protection exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 746, 9, const_cast (static_cast("protection")), const_cast (static_cast("protection exception"))); + } + + +@@ -842,7 +839,7 @@ static void protection (void * a) + + static void systemf (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 758, 9, const_cast (reinterpret_cast("systemf")), const_cast (reinterpret_cast("system exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 758, 9, const_cast (static_cast("systemf")), const_cast (static_cast("system exception"))); + } + + +@@ -852,7 +849,7 @@ static void systemf (void * a) + + static void coroutine (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 770, 9, const_cast (reinterpret_cast("coroutine")), const_cast (reinterpret_cast("coroutine exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 770, 9, const_cast (static_cast("coroutine")), const_cast (static_cast("coroutine exception"))); + } + + +@@ -862,7 +859,7 @@ static void coroutine (void * a) + + static void exception (void * a) + { +- RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 782, 9, const_cast (reinterpret_cast("exception")), const_cast (reinterpret_cast("exception exception"))); ++ RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (static_cast("../../gcc/m2/gm2-libs/RTExceptions.mod")), 782, 9, const_cast (static_cast("exception")), const_cast (static_cast("exception exception"))); + } + + +@@ -874,8 +871,8 @@ static void Init (void) + { + inException = false; + freeHandler = NULL; +- freeEHB = NULL; +- currentEHB = RTExceptions_InitExceptionBlock (); ++ freeEHB = static_cast (NULL); ++ currentEHB = static_cast (RTExceptions_InitExceptionBlock ()); + currentSource = NULL; + RTExceptions_BaseExceptionsThrow (); + SysExceptions_InitExceptionHandlers ((SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) indexf}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) range}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) casef}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) invalidloc}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) function}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) wholevalue}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) wholediv}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) realvalue}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) realdiv}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) complexvalue}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) complexdiv}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) protection}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) systemf}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) coroutine}, (SysExceptions_PROCEXCEPTION) {(SysExceptions_PROCEXCEPTION_t) exception}); +@@ -889,11 +886,11 @@ static void Init (void) + static void TidyUp (void) + { + RTExceptions_Handler f; +- RTExceptions_EHBlock e; ++ RTExceptions_EHBlock__opaque e; + + if (currentEHB != NULL) + { +- currentEHB = RTExceptions_KillExceptionBlock (currentEHB); ++ currentEHB = static_cast (RTExceptions_KillExceptionBlock (static_cast (currentEHB))); + } + while (freeHandler != NULL) + { +@@ -953,7 +950,7 @@ extern "C" void RTExceptions_Raise (unsigned int number, void * file, unsigned i + + extern "C" void RTExceptions_SetExceptionBlock (RTExceptions_EHBlock source) + { +- currentEHB = source; ++ currentEHB = static_cast (source); + } + + +@@ -963,7 +960,7 @@ extern "C" void RTExceptions_SetExceptionBlock (RTExceptions_EHBlock source) + + extern "C" RTExceptions_EHBlock RTExceptions_GetExceptionBlock (void) + { +- return currentEHB; ++ return static_cast (currentEHB); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -975,7 +972,7 @@ extern "C" RTExceptions_EHBlock RTExceptions_GetExceptionBlock (void) + + extern "C" void * RTExceptions_GetTextBuffer (RTExceptions_EHBlock e) + { +- return &e->buffer; ++ return &static_cast (e)->buffer; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -987,7 +984,7 @@ extern "C" void * RTExceptions_GetTextBuffer (RTExceptions_EHBlock e) + + extern "C" unsigned int RTExceptions_GetTextBufferSize (RTExceptions_EHBlock e) + { +- return sizeof (e->buffer); ++ return sizeof (static_cast (e)->buffer); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1000,7 +997,7 @@ extern "C" unsigned int RTExceptions_GetTextBufferSize (RTExceptions_EHBlock e) + + extern "C" unsigned int RTExceptions_GetNumber (RTExceptions_EHBlock source) + { +- return source->number; ++ return static_cast (source)->number; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1012,7 +1009,7 @@ extern "C" unsigned int RTExceptions_GetNumber (RTExceptions_EHBlock source) + + extern "C" RTExceptions_EHBlock RTExceptions_InitExceptionBlock (void) + { +- RTExceptions_EHBlock e; ++ RTExceptions_EHBlock__opaque e; + + e = New (); + e->number = UINT_MAX; +@@ -1020,7 +1017,7 @@ extern "C" RTExceptions_EHBlock RTExceptions_InitExceptionBlock (void) + e->handlers->right = e->handlers; /* add the dummy onto the head */ + e->handlers->left = e->handlers; + e->right = e; +- return e; ++ return static_cast (e); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1032,10 +1029,10 @@ extern "C" RTExceptions_EHBlock RTExceptions_InitExceptionBlock (void) + + extern "C" RTExceptions_EHBlock RTExceptions_KillExceptionBlock (RTExceptions_EHBlock e) + { +- e->handlers = KillHandlers (e->handlers); +- e->right = freeEHB; +- freeEHB = e; +- return NULL; ++ static_cast (e)->handlers = KillHandlers (static_cast (e)->handlers); ++ static_cast (e)->right = freeEHB; ++ freeEHB = static_cast (e); ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1050,7 +1047,7 @@ extern "C" void RTExceptions_PushHandler (RTExceptions_EHBlock e, unsigned int n + RTExceptions_Handler h; + RTExceptions_Handler i; + +- h = findHandler (e, number); ++ h = findHandler (static_cast (e), number); + if (h == NULL) + { + i = InitHandler (NewHandler (), NULL, NULL, NULL, number, p); +@@ -1063,7 +1060,7 @@ extern "C" void RTExceptions_PushHandler (RTExceptions_EHBlock e, unsigned int n + i = InitHandler (NewHandler (), NULL, NULL, h, number, p); + } + /* add new handler */ +- AddHandler (e, i); ++ AddHandler (static_cast (e), i); + } + + +@@ -1076,14 +1073,14 @@ extern "C" void RTExceptions_PopHandler (RTExceptions_EHBlock e, unsigned int nu + { + RTExceptions_Handler h; + +- h = findHandler (e, number); ++ h = findHandler (static_cast (e), number); + if (h != NULL) + { + /* remove, h, */ + SubHandler (h); + if (h->stack != NULL) + { +- AddHandler (e, h->stack); ++ AddHandler (static_cast (e), h->stack); + } + h = KillHandler (h); + } +@@ -1098,11 +1095,11 @@ extern "C" void RTExceptions_PopHandler (RTExceptions_EHBlock e, unsigned int nu + + extern "C" void RTExceptions_DefaultErrorCatch (void) + { +- RTExceptions_EHBlock e; ++ RTExceptions_EHBlock__opaque e; + int n; + +- e = RTExceptions_GetExceptionBlock (); +- n = static_cast (libc_write (2, RTExceptions_GetTextBuffer (e), libc_strlen (RTExceptions_GetTextBuffer (e)))); ++ e = static_cast (RTExceptions_GetExceptionBlock ()); ++ n = static_cast (libc_write (2, RTExceptions_GetTextBuffer (static_cast (e)), libc_strlen (RTExceptions_GetTextBuffer (static_cast (e))))); + M2RTS_HALT (-1); + __builtin_unreachable (); + } +@@ -1184,7 +1181,7 @@ extern "C" RTExceptions_EHBlock RTExceptions_GetBaseExceptionBlock (void) + } + else + { +- return currentEHB; ++ return static_cast (currentEHB); + } + ReturnException ("../../gcc/m2/gm2-libs/RTExceptions.def", 25, 1); + __builtin_unreachable (); +@@ -1212,12 +1209,12 @@ extern "C" void * RTExceptions_GetExceptionSource (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_RTExceptions_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_RTExceptions_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Init (); + } + +-extern "C" void _M2_RTExceptions_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_RTExceptions_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + TidyUp (); + } +--- a/src/gcc/m2/mc-boot/GRTint.cc ++++ b/src/gcc/m2/mc-boot/GRTint.cc +@@ -48,9 +48,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _RTint_H + #define _RTint_C + ++#include "GRTint.h" + # include "GM2RTS.h" + # include "GStorage.h" + # include "GRTco.h" +@@ -72,13 +72,10 @@ typedef struct RTint__T2_a RTint__T2; + + typedef enum {RTint_input, RTint_output, RTint_time} RTint_VectorType; + +-typedef void (*RTint_DispatchVector_t) (unsigned int, unsigned int, void *); +-struct RTint_DispatchVector_p { RTint_DispatchVector_t proc; }; +- + struct RTint__T1_r { + RTint_VectorType type; + unsigned int priority; +- void *arg; ++ void * arg; + RTint_Vector pending; + RTint_Vector exists; + unsigned int no; +@@ -354,7 +351,7 @@ static void AddFd (Selective_SetOfFd *set, int *max, int fd) + { + if (fd < 0) + { +- return ; ++ return; + } + (*max) = Max (fd, (*max)); + if ((*set) == NULL) +@@ -1011,7 +1008,7 @@ extern "C" void RTint_Listen (bool untilInterrupt, RTint_DispatchVector call, un + /* no file descriptors to be selected upon. */ + timeval = Selective_KillTime (timeval); + RTco_signal (lock); +- return ; ++ return; + } + else + { +@@ -1140,11 +1137,11 @@ extern "C" void RTint_Init (void) + } + } + +-extern "C" void _M2_RTint_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_RTint_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + RTint_Init (); + } + +-extern "C" void _M2_RTint_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_RTint_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GSArgs.cc ++++ b/src/gcc/m2/mc-boot/GSArgs.cc +@@ -46,9 +46,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _SArgs_H + #define _SArgs_C + ++#include "GSArgs.h" + # include "GSYSTEM.h" + # include "GUnixArgs.h" + # include "GDynamicStrings.h" +@@ -94,7 +94,7 @@ extern "C" bool SArgs_GetArg (DynamicStrings_String *s, unsigned int n) + a = (void *) (UnixArgs_GetArgV ()); + a = reinterpret_cast (reinterpret_cast (a)+n*sizeof (SArgs_PtrToChar)); + ppc = static_cast (a); +- (*s) = DynamicStrings_InitStringCharStar (reinterpret_cast ((*ppc))); ++ (*s) = DynamicStrings_InitStringCharStar (reinterpret_cast ((*ppc))); + return true; + } + else +@@ -119,10 +119,10 @@ extern "C" unsigned int SArgs_Narg (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_SArgs_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SArgs_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_SArgs_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SArgs_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GSFIO.cc ++++ b/src/gcc/m2/mc-boot/GSFIO.cc +@@ -38,9 +38,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _SFIO_H + #define _SFIO_C + ++#include "GSFIO.h" + # include "GASCII.h" + # include "GDynamicStrings.h" + # include "GFIO.h" +@@ -207,10 +207,10 @@ extern "C" DynamicStrings_String SFIO_ReadS (FIO_File file) + __builtin_unreachable (); + } + +-extern "C" void _M2_SFIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SFIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_SFIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SFIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStdIO.cc ++++ b/src/gcc/m2/mc-boot/GStdIO.cc +@@ -35,9 +35,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # endif + + # include "Gmcrts.h" +-#define _StdIO_H + #define _StdIO_C + ++#include "GStdIO.h" + # include "GIO.h" + # include "GM2RTS.h" + +@@ -50,12 +50,6 @@ typedef struct StdIO__T1_a StdIO__T1; + + typedef struct StdIO__T2_a StdIO__T2; + +-typedef void (*StdIO_ProcWrite_t) (char); +-struct StdIO_ProcWrite_p { StdIO_ProcWrite_t proc; }; +- +-typedef void (*StdIO_ProcRead_t) (char *); +-struct StdIO_ProcRead_p { StdIO_ProcRead_t proc; }; +- + struct StdIO__T1_a { StdIO_ProcWrite array[MaxStack+1]; }; + struct StdIO__T2_a { StdIO_ProcRead array[MaxStack+1]; }; + static StdIO__T1 StackW; +@@ -257,7 +251,7 @@ extern "C" StdIO_ProcRead StdIO_GetCurrentInput (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_StdIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StdIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + StackWPtr = 0; + StackRPtr = 0; +@@ -265,6 +259,6 @@ extern "C" void _M2_StdIO_init (__attribute__((unused)) int argc,__attribute__(( + StdIO_PushInput ((StdIO_ProcRead) {(StdIO_ProcRead_t) IO_Read}); + } + +-extern "C" void _M2_StdIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StdIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStorage.cc ++++ b/src/gcc/m2/mc-boot/GStorage.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _Storage_H + #define _Storage_C + ++#include "GStorage.h" + # include "GSysStorage.h" + + extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size); +@@ -66,10 +66,10 @@ extern "C" bool Storage_Available (unsigned int Size) + __builtin_unreachable (); + } + +-extern "C" void _M2_Storage_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Storage_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_Storage_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_Storage_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStrCase.cc ++++ b/src/gcc/m2/mc-boot/GStrCase.cc +@@ -34,9 +34,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _StrCase_H + #define _StrCase_C + ++#include "GStrCase.h" + # include "GASCII.h" + # include "GStrLib.h" + +@@ -92,12 +92,12 @@ extern "C" void StrCase_StrToUpperCase (const char *a_, unsigned int _a_high, ch + i = 0; + while (((i < higha) && (a[i] != ASCII_nul)) && (i < highb)) + { +- b[i] = StrCase_Cap (a[i]); ++ const_cast(b)[i] = StrCase_Cap (a[i]); + i += 1; + } + if (i < highb) + { +- b[i] = ASCII_nul; ++ const_cast(b)[i] = ASCII_nul; + } + } + +@@ -122,12 +122,12 @@ extern "C" void StrCase_StrToLowerCase (const char *a_, unsigned int _a_high, ch + i = 0; + while (((i < higha) && (a[i] != ASCII_nul)) && (i < highb)) + { +- b[i] = StrCase_Lower (a[i]); ++ const_cast(b)[i] = StrCase_Lower (a[i]); + i += 1; + } + if (i < highb) + { +- b[i] = ASCII_nul; ++ const_cast(b)[i] = ASCII_nul; + } + } + +@@ -167,10 +167,10 @@ extern "C" char StrCase_Lower (char ch) + __builtin_unreachable (); + } + +-extern "C" void _M2_StrCase_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrCase_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_StrCase_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrCase_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStrIO.cc ++++ b/src/gcc/m2/mc-boot/GStrIO.cc +@@ -38,9 +38,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _StrIO_H + #define _StrIO_C + ++#include "GStrIO.h" + # include "GASCII.h" + # include "GStdIO.h" + # include "Glibc.h" +@@ -204,16 +204,16 @@ extern "C" void StrIO_ReadString (char *a, unsigned int _a_high) + /* avoid dangling else. */ + if ((ch == ASCII_cr) || (ch == ASCII_lf)) + { +- a[n] = ASCII_nul; ++ const_cast(a)[n] = ASCII_nul; + n += 1; + } + else if (ch == ASCII_ff) + { + /* avoid dangling else. */ +- a[0] = ch; ++ const_cast(a)[0] = ch; + if (high > 0) + { +- a[1] = ASCII_nul; ++ const_cast(a)[1] = ASCII_nul; + } + ch = ASCII_cr; + } +@@ -221,18 +221,18 @@ extern "C" void StrIO_ReadString (char *a, unsigned int _a_high) + { + /* avoid dangling else. */ + Echo (ch); +- a[n] = ch; ++ const_cast(a)[n] = ch; + n += 1; + } + else if (ch == ASCII_eof) + { + /* avoid dangling else. */ +- a[n] = ch; ++ const_cast(a)[n] = ch; + n += 1; + ch = ASCII_cr; + if (n <= high) + { +- a[n] = ASCII_nul; ++ const_cast(a)[n] = ASCII_nul; + } + } + } +@@ -267,12 +267,12 @@ extern "C" void StrIO_WriteString (const char *a_, unsigned int _a_high) + } + } + +-extern "C" void _M2_StrIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrIO_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + /* IsATTY := isatty() */ + IsATTY = false; + } + +-extern "C" void _M2_StrIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrIO_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStrLib.cc ++++ b/src/gcc/m2/mc-boot/GStrLib.cc +@@ -42,9 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#define _StrLib_H + #define _StrLib_C + ++#include "GStrLib.h" + # include "GASCII.h" + + +@@ -127,13 +127,13 @@ extern "C" void StrLib_StrConCat (const char *a_, unsigned int _a_high, const ch + j = 0; + while ((j < Highb) && (i <= Highc)) + { +- c[i] = b[j]; ++ const_cast(c)[i] = b[j]; + i += 1; + j += 1; + } + if (i <= Highc) + { +- c[i] = ASCII_nul; ++ const_cast(c)[i] = ASCII_nul; + } + } + +@@ -247,12 +247,12 @@ extern "C" void StrLib_StrCopy (const char *src_, unsigned int _src_high, char * + HighDest = _dest_high; + while ((n < HighSrc) && (n <= HighDest)) + { +- dest[n] = src[n]; ++ const_cast(dest)[n] = src[n]; + n += 1; + } + if (n <= HighDest) + { +- dest[n] = ASCII_nul; ++ const_cast(dest)[n] = ASCII_nul; + } + } + +@@ -328,20 +328,20 @@ extern "C" void StrLib_StrRemoveWhitePrefix (const char *a_, unsigned int _a_hig + } + while ((i < higha) && (j <= highb)) + { +- b[j] = a[i]; ++ const_cast(b)[j] = a[i]; + i += 1; + j += 1; + } + if (j <= highb) + { +- b[j] = ASCII_nul; ++ const_cast(b)[j] = ASCII_nul; + } + } + +-extern "C" void _M2_StrLib_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrLib_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_StrLib_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StrLib_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GStringConvert.cc ++++ b/src/gcc/m2/mc-boot/GStringConvert.cc +@@ -46,9 +46,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _StringConvert_H + #define _StringConvert_C + ++#include "GStringConvert.h" + # include "GSYSTEM.h" + # include "Glibc.h" + # include "Glibm.h" +@@ -1772,11 +1772,11 @@ extern "C" DynamicStrings_String StringConvert_LongrealToString (long double x, + if (TotalWidth == 0) + { + maxprecision = true; +- r = ldtoa_ldtoa (x, ldtoa_decimaldigits, 100, &point, &sign); ++ r = ldtoa_ldtoa (x, static_cast (ldtoa_decimaldigits), 100, &point, &sign); + } + else + { +- r = ldtoa_ldtoa (x, ldtoa_decimaldigits, 100, &point, &sign); ++ r = ldtoa_ldtoa (x, static_cast (ldtoa_decimaldigits), 100, &point, &sign); + } + s = DynamicStrings_InitStringCharStar (r); + libc_free (r); +@@ -1995,10 +1995,10 @@ extern "C" DynamicStrings_String StringConvert_ToDecimalPlaces (DynamicStrings_S + __builtin_unreachable (); + } + +-extern "C" void _M2_StringConvert_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StringConvert_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_StringConvert_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_StringConvert_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GSysStorage.cc ++++ b/src/gcc/m2/mc-boot/GSysStorage.cc +@@ -46,9 +46,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _SysStorage_H + #define _SysStorage_C + ++#include "GSysStorage.h" + # include "Glibc.h" + # include "GDebug.h" + # include "GSYSTEM.h" +@@ -224,12 +224,12 @@ extern "C" void SysStorage_Init (void) + { + } + +-extern "C" void _M2_SysStorage_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SysStorage_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + callno = 0; + if (enableTrace) + { +- trace = (libc_getenv (const_cast (reinterpret_cast("M2DEBUG_SYSSTORAGE_trace")))) != NULL; ++ trace = (libc_getenv (const_cast (static_cast("M2DEBUG_SYSSTORAGE_trace")))) != NULL; + } + else + { +@@ -237,7 +237,7 @@ extern "C" void _M2_SysStorage_init (__attribute__((unused)) int argc,__attribut + } + if (enableZero) + { +- zero = (libc_getenv (const_cast (reinterpret_cast("M2DEBUG_SYSSTORAGE_zero")))) != NULL; ++ zero = (libc_getenv (const_cast (static_cast("M2DEBUG_SYSSTORAGE_zero")))) != NULL; + } + else + { +@@ -245,6 +245,6 @@ extern "C" void _M2_SysStorage_init (__attribute__((unused)) int argc,__attribut + } + } + +-extern "C" void _M2_SysStorage_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SysStorage_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GTimeString.cc ++++ b/src/gcc/m2/mc-boot/GTimeString.cc +@@ -38,9 +38,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # undef NULL + # define NULL 0 + #endif +-#define _TimeString_H + #define _TimeString_C + ++#include "GTimeString.h" + # include "Gwrapc.h" + # include "GASCII.h" + # include "GSYSTEM.h" +@@ -72,21 +72,21 @@ extern "C" void TimeString_GetTimeString (char *a, unsigned int _a_high) + { + while ((i < _a_high) && ((*Addr) != ASCII_nul)) + { +- a[i] = (*Addr); ++ const_cast(a)[i] = (*Addr); + i += 1; + Addr += 1; + } + } + if (i < _a_high) + { +- a[i] = ASCII_nul; ++ const_cast(a)[i] = ASCII_nul; + } + } + +-extern "C" void _M2_TimeString_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_TimeString_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_TimeString_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_TimeString_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Galists.cc ++++ b/src/gcc/m2/mc-boot/Galists.cc +@@ -42,9 +42,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _alists_H + #define _alists_C + ++#include "Galists.h" + # include "GStorage.h" + + typedef struct alists_performOperation_p alists_performOperation; +@@ -54,16 +54,13 @@ typedef struct alists__T1_r alists__T1; + + typedef struct alists__T2_a alists__T2; + +-typedef alists__T1 *alists_alist; +- +-typedef void (*alists_performOperation_t) (void *); +-struct alists_performOperation_p { alists_performOperation_t proc; }; ++typedef alists__T1 *alists_alist__opaque; + + struct alists__T2_a { void * array[MaxnoOfelements-1+1]; }; + struct alists__T1_r { + unsigned int noOfelements; + alists__T2 elements; +- alists_alist next; ++ alists_alist__opaque next; + }; + + +@@ -137,18 +134,24 @@ extern "C" void alists_foreachItemInListDo (alists_alist l, alists_performOperat + + extern "C" alists_alist alists_duplicateList (alists_alist l); + ++/* ++ equalList - returns TRUE if left contains the same information as right. ++*/ ++ ++extern "C" bool alists_equalList (alists_alist left, alists_alist right); ++ + /* + removeItem - remove an element at index, i, from the alist data type. + */ + +-static void removeItem (alists_alist p, alists_alist l, unsigned int i); ++static void removeItem (alists_alist__opaque p, alists_alist__opaque l, unsigned int i); + + + /* + removeItem - remove an element at index, i, from the alist data type. + */ + +-static void removeItem (alists_alist p, alists_alist l, unsigned int i) ++static void removeItem (alists_alist__opaque p, alists_alist__opaque l, unsigned int i) + { + l->noOfelements -= 1; + while (i <= l->noOfelements) +@@ -170,12 +173,12 @@ static void removeItem (alists_alist p, alists_alist l, unsigned int i) + + extern "C" alists_alist alists_initList (void) + { +- alists_alist l; ++ alists_alist__opaque l; + + Storage_ALLOCATE ((void **) &l, sizeof (alists__T1)); + l->noOfelements = 0; +- l->next = NULL; +- return l; ++ l->next = static_cast (NULL); ++ return static_cast (l); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -189,9 +192,9 @@ extern "C" void alists_killList (alists_alist *l) + { + if ((*l) != NULL) + { +- if ((*l)->next != NULL) ++ if (static_cast ((*l))->next != NULL) + { +- alists_killList (&(*l)->next); ++ alists_killList (reinterpret_cast (&static_cast ((*l))->next)); + } + Storage_DEALLOCATE ((void **) &(*l), sizeof (alists__T1)); + } +@@ -204,21 +207,21 @@ extern "C" void alists_killList (alists_alist *l) + + extern "C" void alists_putItemIntoList (alists_alist l, void * c) + { +- if (l->noOfelements < MaxnoOfelements) ++ if (static_cast (l)->noOfelements < MaxnoOfelements) + { +- l->noOfelements += 1; +- l->elements.array[l->noOfelements-1] = c; ++ static_cast (l)->noOfelements += 1; ++ static_cast (l)->elements.array[static_cast (l)->noOfelements-1] = c; + } +- else if (l->next != NULL) ++ else if (static_cast (l)->next != NULL) + { + /* avoid dangling else. */ +- alists_putItemIntoList (l->next, c); ++ alists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + else + { + /* avoid dangling else. */ +- l->next = alists_initList (); +- alists_putItemIntoList (l->next, c); ++ static_cast (l)->next = static_cast (alists_initList ()); ++ alists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + } + +@@ -231,17 +234,17 @@ extern "C" void * alists_getItemFromList (alists_alist l, unsigned int n) + { + while (l != NULL) + { +- if (n <= l->noOfelements) ++ if (n <= static_cast (l)->noOfelements) + { +- return l->elements.array[n-1]; ++ return static_cast (l)->elements.array[n-1]; + } + else + { +- n -= l->noOfelements; ++ n -= static_cast (l)->noOfelements; + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } +- return reinterpret_cast (0); ++ return static_cast (0); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -264,9 +267,9 @@ extern "C" unsigned int alists_getIndexOfList (alists_alist l, void * c) + else + { + i = 1; +- while (i <= l->noOfelements) ++ while (i <= static_cast (l)->noOfelements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return i; + } +@@ -275,7 +278,7 @@ extern "C" unsigned int alists_getIndexOfList (alists_alist l, void * c) + i += 1; + } + } +- return l->noOfelements+(alists_getIndexOfList (l->next, c)); ++ return static_cast (l)->noOfelements+(alists_getIndexOfList (static_cast (static_cast (l)->next), c)); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -298,8 +301,8 @@ extern "C" unsigned int alists_noOfItemsInList (alists_alist l) + { + t = 0; + do { +- t += l->noOfelements; +- l = l->next; ++ t += static_cast (l)->noOfelements; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return t; + } +@@ -329,33 +332,33 @@ extern "C" void alists_includeItemIntoList (alists_alist l, void * c) + + extern "C" void alists_removeItemFromList (alists_alist l, void * c) + { +- alists_alist p; ++ alists_alist__opaque p; + unsigned int i; + bool found; + + if (l != NULL) + { + found = false; +- p = NULL; ++ p = static_cast (NULL); + do { + i = 1; +- while ((i <= l->noOfelements) && (l->elements.array[i-1] != c)) ++ while ((i <= static_cast (l)->noOfelements) && (static_cast (l)->elements.array[i-1] != c)) + { + i += 1; + } +- if ((i <= l->noOfelements) && (l->elements.array[i-1] == c)) ++ if ((i <= static_cast (l)->noOfelements) && (static_cast (l)->elements.array[i-1] == c)) + { + found = true; + } + else + { +- p = l; +- l = l->next; ++ p = static_cast (l); ++ l = static_cast (static_cast (l)->next); + } + } while (! ((l == NULL) || found)); + if (found) + { +- removeItem (p, l, i); ++ removeItem (p, static_cast (l), i); + } + } + } +@@ -371,9 +374,9 @@ extern "C" bool alists_isItemInList (alists_alist l, void * c) + + do { + i = 1; +- while (i <= l->noOfelements) ++ while (i <= static_cast (l)->noOfelements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return true; + } +@@ -382,7 +385,7 @@ extern "C" bool alists_isItemInList (alists_alist l, void * c) + i += 1; + } + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return false; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -415,27 +418,64 @@ extern "C" void alists_foreachItemInListDo (alists_alist l, alists_performOperat + + extern "C" alists_alist alists_duplicateList (alists_alist l) + { +- alists_alist m; ++ alists_alist__opaque m; + unsigned int n; + unsigned int i; + +- m = alists_initList (); ++ m = static_cast (alists_initList ()); + n = alists_noOfItemsInList (l); + i = 1; + while (i <= n) + { +- alists_putItemIntoList (m, alists_getItemFromList (l, i)); ++ alists_putItemIntoList (static_cast (m), alists_getItemFromList (l, i)); + i += 1; + } +- return m; ++ return static_cast (m); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ equalList - returns TRUE if left contains the same information as right. ++*/ ++ ++extern "C" bool alists_equalList (alists_alist left, alists_alist right) ++{ ++ unsigned int leftn; ++ unsigned int rightn; ++ unsigned int i; ++ ++ leftn = alists_noOfItemsInList (left); ++ rightn = alists_noOfItemsInList (right); ++ if (leftn == rightn) ++ { ++ i = 1; ++ while (i <= leftn) ++ { ++ if (alists_isItemInList (right, alists_getItemFromList (left, i))) ++ { ++ i += 1; ++ } ++ else ++ { ++ return false; ++ } ++ } ++ } ++ else ++ { ++ return false; ++ } ++ return true; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_alists_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_alists_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_alists_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_alists_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Galists.h ++++ b/src/gcc/m2/mc-boot/Galists.h +@@ -124,6 +124,12 @@ EXTERN void alists_foreachItemInListDo (alists_alist l, alists_performOperation + */ + + EXTERN alists_alist alists_duplicateList (alists_alist l); ++ ++/* ++ equalList - returns TRUE if left contains the same information as right. ++*/ ++ ++EXTERN bool alists_equalList (alists_alist left, alists_alist right); + # ifdef __cplusplus + } + # endif +--- a/src/gcc/m2/mc-boot/Gdecl.cc ++++ b/src/gcc/m2/mc-boot/Gdecl.cc +@@ -43,105 +43,36 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-typedef unsigned int nameKey_Name; ++#define _decl_C + +-# define nameKey_NulName 0 +-typedef struct mcPretty_writeProc_p mcPretty_writeProc; +- +-typedef struct symbolKey__T8_r symbolKey__T8; +- +-typedef symbolKey__T8 *symbolKey_symbolTree; +- +-typedef struct mcPretty_writeLnProc_p mcPretty_writeLnProc; +- +-typedef unsigned int FIO_File; +- +-extern FIO_File FIO_StdOut; +-# define symbolKey_NulKey NULL +-typedef struct symbolKey_performOperation_p symbolKey_performOperation; +- +-# define ASCII_tab ASCII_ht +-typedef struct alists__T13_r alists__T13; +- +-typedef alists__T13 *alists_alist; +- +-typedef struct alists__T14_a alists__T14; +- +-# define ASCII_ht (char) 011 +-# define ASCII_lf ASCII_nl +-# define ASCII_nl (char) 012 +-typedef struct Indexing_IndexProcedure_p Indexing_IndexProcedure; ++#include "Gdecl.h" ++# include "GASCII.h" ++# include "GsymbolKey.h" ++# include "GmcDebug.h" ++# include "GStorage.h" ++# include "GnameKey.h" ++# include "GSFIO.h" ++# include "GFIO.h" ++# include "GDynamicStrings.h" ++# include "GStringConvert.h" ++# include "GmcOptions.h" ++# include "GFormatStrings.h" ++# include "Glibc.h" ++# include "GmcMetaError.h" ++# include "GmcError.h" ++# include "GmcLexBuf.h" ++# include "GmcComment.h" ++# include "GStrLib.h" ++# include "GmcPretty.h" ++# include "GIndexing.h" ++# include "Galists.h" ++# include "Gwlists.h" ++# include "Gkeyc.h" ++# include "GmcStream.h" ++# include "GM2RTS.h" + + typedef struct decl_isNodeF_p decl_isNodeF; + +-# define SYSTEM_BITSPERBYTE 8 +-# define SYSTEM_BYTESPERWORD 4 +-typedef struct M2RTS_ArgCVEnvP_p M2RTS_ArgCVEnvP; +- +-typedef struct symbolKey_isSymbol_p symbolKey_isSymbol; +- +-# define ASCII_nul (char) 000 +-# define ASCII_soh (char) 001 +-# define ASCII_stx (char) 002 +-# define ASCII_etx (char) 003 +-# define ASCII_eot (char) 004 +-# define ASCII_enq (char) 005 +-# define ASCII_ack (char) 006 +-# define ASCII_bel (char) 007 +-# define ASCII_bs (char) 010 +-# define ASCII_vt (char) 013 +-# define ASCII_np (char) 014 +-# define ASCII_cr (char) 015 +-# define ASCII_so (char) 016 +-# define ASCII_si (char) 017 +-# define ASCII_dle (char) 020 +-# define ASCII_dc1 (char) 021 +-# define ASCII_dc2 (char) 022 +-# define ASCII_dc3 (char) 023 +-# define ASCII_dc4 (char) 024 +-# define ASCII_nak (char) 025 +-# define ASCII_syn (char) 026 +-# define ASCII_etb (char) 027 +-# define ASCII_can (char) 030 +-# define ASCII_em (char) 031 +-# define ASCII_sub (char) 032 +-# define ASCII_esc (char) 033 +-# define ASCII_fs (char) 034 +-# define ASCII_gs (char) 035 +-# define ASCII_rs (char) 036 +-# define ASCII_us (char) 037 +-# define ASCII_sp (char) 040 +-# define ASCII_ff ASCII_np +-# define ASCII_eof ASCII_eot +-# define ASCII_del (char) 0177 +-# define ASCII_EOL ASCII_nl +-extern FIO_File FIO_StdErr; +-extern FIO_File FIO_StdIn; +-typedef long int libc_time_t; +- +-typedef struct libc_tm_r libc_tm; +- +-typedef libc_tm *libc_ptrToTM; +- +-typedef struct libc_timeb_r libc_timeb; +- +-typedef struct libc_exitP_p libc_exitP; +- +-typedef struct mcError__T11_r mcError__T11; +- +-typedef mcError__T11 *mcError_error; +- +-extern int mcLexBuf_currentinteger; +-extern unsigned int mcLexBuf_currentcolumn; +-extern void * mcLexBuf_currentstring; +-typedef struct alists_performOperation_p alists_performOperation; +- +-typedef struct wlists_performOperation_p wlists_performOperation; +- +-typedef struct StdIO_ProcWrite_p StdIO_ProcWrite; +- +-typedef struct StdIO_ProcRead_p StdIO_ProcRead; +- + # define indentation 3 + # define indentationC 2 + # define debugScopes false +@@ -152,8 +83,13 @@ typedef struct StdIO_ProcRead_p StdIO_ProcRead; + # define enableDefForCStrings false + # define enableMemsetOnAllocation true + # define forceQualified true ++# define debugOpaque false + typedef struct decl_nodeRec_r decl_nodeRec; + ++typedef struct decl_opaqueCastState_r decl_opaqueCastState; ++ ++typedef struct decl_opaquecastT_r decl_opaquecastT; ++ + typedef struct decl_intrinsicT_r decl_intrinsicT; + + typedef struct decl_fixupInfo_r decl_fixupInfo; +@@ -270,127 +206,24 @@ typedef struct decl_nodeProcedure_p decl_nodeProcedure; + + typedef struct decl_cnameT_r decl_cnameT; + +-# define MaxBuf 127 +-# define maxNoOfElements 5 +-typedef enum {decl_explist, decl_funccall, decl_exit, decl_return, decl_stmtseq, decl_comment, decl_halt, decl_new, decl_dispose, decl_inc, decl_dec, decl_incl, decl_excl, decl_length, decl_nil, decl_true, decl_false, decl_address, decl_loc, decl_byte, decl_word, decl_csizet, decl_cssizet, decl_char, decl_cardinal, decl_longcard, decl_shortcard, decl_integer, decl_longint, decl_shortint, decl_real, decl_longreal, decl_shortreal, decl_bitset, decl_boolean, decl_proc, decl_ztype, decl_rtype, decl_complex, decl_longcomplex, decl_shortcomplex, decl_type, decl_record, decl_varient, decl_var, decl_enumeration, decl_subrange, decl_array, decl_subscript, decl_string, decl_const, decl_literal, decl_varparam, decl_param, decl_varargs, decl_optarg, decl_pointer, decl_recordfield, decl_varientfield, decl_enumerationfield, decl_set, decl_proctype, decl_procedure, decl_def, decl_imp, decl_module, decl_loop, decl_while, decl_for, decl_repeat, decl_case, decl_caselabellist, decl_caselist, decl_range, decl_assignment, decl_if, decl_elsif, decl_constexp, decl_neg, decl_cast, decl_val, decl_plus, decl_sub, decl_div, decl_mod, decl_mult, decl_divide, decl_in, decl_adr, decl_size, decl_tsize, decl_ord, decl_float, decl_trunc, decl_chr, decl_abs, decl_cap, decl_high, decl_throw, decl_unreachable, decl_cmplx, decl_re, decl_im, decl_min, decl_max, decl_componentref, decl_pointerref, decl_arrayref, decl_deref, decl_equal, decl_notequal, decl_less, decl_greater, decl_greequal, decl_lessequal, decl_lsl, decl_lsr, decl_lor, decl_land, decl_lnot, decl_lxor, decl_and, decl_or, decl_not, decl_identlist, decl_vardecl, decl_setvalue} decl_nodeT; ++typedef struct decl__T1_r decl__T1; ++ ++typedef decl__T1 *decl_group; + +-# define MaxnoOfelements 5 +-typedef enum {mcReserved_eoftok, mcReserved_plustok, mcReserved_minustok, mcReserved_timestok, mcReserved_dividetok, mcReserved_becomestok, mcReserved_ambersandtok, mcReserved_periodtok, mcReserved_commatok, mcReserved_semicolontok, mcReserved_lparatok, mcReserved_rparatok, mcReserved_lsbratok, mcReserved_rsbratok, mcReserved_lcbratok, mcReserved_rcbratok, mcReserved_uparrowtok, mcReserved_singlequotetok, mcReserved_equaltok, mcReserved_hashtok, mcReserved_lesstok, mcReserved_greatertok, mcReserved_lessgreatertok, mcReserved_lessequaltok, mcReserved_greaterequaltok, mcReserved_ldirectivetok, mcReserved_rdirectivetok, mcReserved_periodperiodtok, mcReserved_colontok, mcReserved_doublequotestok, mcReserved_bartok, mcReserved_andtok, mcReserved_arraytok, mcReserved_begintok, mcReserved_bytok, mcReserved_casetok, mcReserved_consttok, mcReserved_definitiontok, mcReserved_divtok, mcReserved_dotok, mcReserved_elsetok, mcReserved_elsiftok, mcReserved_endtok, mcReserved_excepttok, mcReserved_exittok, mcReserved_exporttok, mcReserved_finallytok, mcReserved_fortok, mcReserved_fromtok, mcReserved_iftok, mcReserved_implementationtok, mcReserved_importtok, mcReserved_intok, mcReserved_looptok, mcReserved_modtok, mcReserved_moduletok, mcReserved_nottok, mcReserved_oftok, mcReserved_ortok, mcReserved_packedsettok, mcReserved_pointertok, mcReserved_proceduretok, mcReserved_qualifiedtok, mcReserved_unqualifiedtok, mcReserved_recordtok, mcReserved_remtok, mcReserved_repeattok, mcReserved_retrytok, mcReserved_returntok, mcReserved_settok, mcReserved_thentok, mcReserved_totok, mcReserved_typetok, mcReserved_untiltok, mcReserved_vartok, mcReserved_whiletok, mcReserved_withtok, mcReserved_asmtok, mcReserved_volatiletok, mcReserved_periodperiodperiodtok, mcReserved_datetok, mcReserved_linetok, mcReserved_filetok, mcReserved_attributetok, mcReserved_builtintok, mcReserved_inlinetok, mcReserved_integertok, mcReserved_identtok, mcReserved_realtok, mcReserved_stringtok, mcReserved_commenttok} mcReserved_toktype; ++typedef enum {decl_explist, decl_funccall, decl_exit, decl_return, decl_stmtseq, decl_comment, decl_halt, decl_new, decl_dispose, decl_inc, decl_dec, decl_incl, decl_excl, decl_length, decl_nil, decl_true, decl_false, decl_address, decl_loc, decl_byte, decl_word, decl_csizet, decl_cssizet, decl_char, decl_cardinal, decl_longcard, decl_shortcard, decl_integer, decl_longint, decl_shortint, decl_real, decl_longreal, decl_shortreal, decl_bitset, decl_boolean, decl_proc, decl_ztype, decl_rtype, decl_complex, decl_longcomplex, decl_shortcomplex, decl_type, decl_record, decl_varient, decl_var, decl_enumeration, decl_subrange, decl_array, decl_subscript, decl_string, decl_const, decl_literal, decl_varparam, decl_param, decl_varargs, decl_optarg, decl_pointer, decl_recordfield, decl_varientfield, decl_enumerationfield, decl_set, decl_proctype, decl_procedure, decl_def, decl_imp, decl_module, decl_loop, decl_while, decl_for, decl_repeat, decl_case, decl_caselabellist, decl_caselist, decl_range, decl_assignment, decl_if, decl_elsif, decl_constexp, decl_neg, decl_cast, decl_val, decl_plus, decl_sub, decl_div, decl_mod, decl_mult, decl_divide, decl_in, decl_adr, decl_size, decl_tsize, decl_ord, decl_float, decl_trunc, decl_chr, decl_abs, decl_cap, decl_high, decl_throw, decl_unreachable, decl_cmplx, decl_re, decl_im, decl_min, decl_max, decl_componentref, decl_pointerref, decl_arrayref, decl_deref, decl_equal, decl_notequal, decl_less, decl_greater, decl_greequal, decl_lessequal, decl_lsl, decl_lsr, decl_lor, decl_land, decl_lnot, decl_lxor, decl_and, decl_or, decl_not, decl_identlist, decl_vardecl, decl_setvalue, decl_opaquecast} decl_nodeT; + +-extern mcReserved_toktype mcLexBuf_currenttoken; + typedef enum {decl_ansiC, decl_ansiCP, decl_pim4} decl_language; + + typedef enum {decl_completed, decl_blocked, decl_partial, decl_recursive} decl_dependentState; + + typedef enum {decl_text, decl_punct, decl_space} decl_outputStates; + +-typedef decl_nodeRec *decl_node; +- +-typedef struct Indexing__T5_r Indexing__T5; +- +-typedef struct mcComment__T6_r mcComment__T6; +- +-typedef enum {mcComment_unknown, mcComment_procedureHeading, mcComment_inBody, mcComment_afterStatement} mcComment_commentType; +- +-typedef struct DynamicStrings_stringRecord_r DynamicStrings_stringRecord; +- +-typedef struct DynamicStrings_Contents_r DynamicStrings_Contents; +- +-typedef struct wlists__T9_r wlists__T9; +- +-typedef struct mcPretty__T12_r mcPretty__T12; +- +-typedef struct wlists__T10_a wlists__T10; +- +-typedef struct DynamicStrings__T7_a DynamicStrings__T7; +- +-typedef Indexing__T5 *Indexing_Index; +- +-typedef mcComment__T6 *mcComment_commentDesc; +- +-extern mcComment_commentDesc mcLexBuf_currentcomment; +-extern mcComment_commentDesc mcLexBuf_lastcomment; +-typedef DynamicStrings_stringRecord *DynamicStrings_String; +- +-typedef wlists__T9 *wlists_wlist; +- +-typedef mcPretty__T12 *mcPretty_pretty; +- +-typedef void (*mcPretty_writeProc_t) (char); +-struct mcPretty_writeProc_p { mcPretty_writeProc_t proc; }; +- +-struct symbolKey__T8_r { +- nameKey_Name name; +- void *key; +- symbolKey_symbolTree left; +- symbolKey_symbolTree right; +- }; +- +-typedef void (*mcPretty_writeLnProc_t) (void); +-struct mcPretty_writeLnProc_p { mcPretty_writeLnProc_t proc; }; +- +-typedef void (*symbolKey_performOperation_t) (void *); +-struct symbolKey_performOperation_p { symbolKey_performOperation_t proc; }; +- +-struct alists__T14_a { void * array[MaxnoOfelements-1+1]; }; +-typedef void (*Indexing_IndexProcedure_t) (void *); +-struct Indexing_IndexProcedure_p { Indexing_IndexProcedure_t proc; }; +- +-typedef bool (*decl_isNodeF_t) (decl_node); +-struct decl_isNodeF_p { decl_isNodeF_t proc; }; +- +-typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); +-struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; +- +-typedef bool (*symbolKey_isSymbol_t) (void *); +-struct symbolKey_isSymbol_p { symbolKey_isSymbol_t proc; }; +- +-struct libc_tm_r { +- int tm_sec; +- int tm_min; +- int tm_hour; +- int tm_mday; +- int tm_mon; +- int tm_year; +- int tm_wday; +- int tm_yday; +- int tm_isdst; +- long int tm_gmtoff; +- void *tm_zone; +- }; +- +-struct libc_timeb_r { +- libc_time_t time_; +- short unsigned int millitm; +- short unsigned int timezone; +- short unsigned int dstflag; +- }; +- +-typedef int (*libc_exitP_t) (void); +-typedef libc_exitP_t libc_exitP_C; +- +-struct libc_exitP_p { libc_exitP_t proc; }; +- +-struct mcError__T11_r { +- mcError_error parent; +- mcError_error child; +- mcError_error next; +- bool fatal; +- DynamicStrings_String s; +- unsigned int token; +- }; +- +-typedef void (*alists_performOperation_t) (void *); +-struct alists_performOperation_p { alists_performOperation_t proc; }; +- +-typedef void (*wlists_performOperation_t) (unsigned int); +-struct wlists_performOperation_p { wlists_performOperation_t proc; }; ++typedef decl_nodeRec *decl_node__opaque; + +-typedef void (*StdIO_ProcWrite_t) (char); +-struct StdIO_ProcWrite_p { StdIO_ProcWrite_t proc; }; +- +-typedef void (*StdIO_ProcRead_t) (char *); +-struct StdIO_ProcRead_p { StdIO_ProcRead_t proc; }; ++struct decl_opaqueCastState_r { ++ bool opaque; ++ bool voidStar; ++ }; + + struct decl_fixupInfo_r { + unsigned int count; +@@ -402,7 +235,7 @@ struct decl_explistT_r { + }; + + struct decl_setvalueT_r { +- decl_node type; ++ decl_node__opaque type; + Indexing_Index values; + }; + +@@ -420,19 +253,20 @@ struct decl_stmtT_r { + }; + + struct decl_exitT_r { +- decl_node loop; ++ decl_node__opaque loop; + }; + + struct decl_vardeclT_r { + wlists_wlist names; +- decl_node type; +- decl_node scope; ++ decl_node__opaque type; ++ decl_node__opaque scope; + }; + + struct decl_typeT_r { + nameKey_Name name; +- decl_node type; +- decl_node scope; ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ bool isOpaque; + bool isHidden; + bool isInternal; + }; +@@ -440,44 +274,37 @@ struct decl_typeT_r { + struct decl_recordT_r { + symbolKey_symbolTree localSymbols; + Indexing_Index listOfSons; +- decl_node scope; ++ decl_node__opaque scope; + }; + + struct decl_varientT_r { + Indexing_Index listOfSons; +- decl_node varient; +- decl_node tag; +- decl_node scope; ++ decl_node__opaque varient; ++ decl_node__opaque tag; ++ decl_node__opaque scope; + }; + + struct decl_enumerationT_r { + unsigned int noOfElements; + symbolKey_symbolTree localSymbols; + Indexing_Index listOfSons; +- decl_node low; +- decl_node high; +- decl_node scope; ++ decl_node__opaque low; ++ decl_node__opaque high; ++ decl_node__opaque scope; + }; + + struct decl_subrangeT_r { +- decl_node low; +- decl_node high; +- decl_node type; +- decl_node scope; ++ decl_node__opaque low; ++ decl_node__opaque high; ++ decl_node__opaque type; ++ decl_node__opaque scope; + }; + + struct decl_subscriptT_r { +- decl_node type; +- decl_node expr; ++ decl_node__opaque type; ++ decl_node__opaque expr; + }; + +-struct decl_arrayT_r { +- decl_node subr; +- decl_node type; +- decl_node scope; +- bool isUnbounded; +- }; +- + struct decl_stringT_r { + nameKey_Name name; + unsigned int length; +@@ -489,101 +316,60 @@ struct decl_stringT_r { + + struct decl_literalT_r { + nameKey_Name name; +- decl_node type; ++ decl_node__opaque type; + }; + + struct decl_constT_r { + nameKey_Name name; +- decl_node type; +- decl_node value; +- decl_node scope; +- }; +- +-struct decl_varparamT_r { +- decl_node namelist; +- decl_node type; +- decl_node scope; +- bool isUnbounded; +- bool isForC; +- bool isUsed; +- }; +- +-struct decl_paramT_r { +- decl_node namelist; +- decl_node type; +- decl_node scope; +- bool isUnbounded; +- bool isForC; +- bool isUsed; ++ decl_node__opaque type; ++ decl_node__opaque value; ++ decl_node__opaque scope; + }; + + struct decl_varargsT_r { +- decl_node scope; ++ decl_node__opaque scope; + }; + + struct decl_optargT_r { +- decl_node namelist; +- decl_node type; +- decl_node scope; +- decl_node init; ++ decl_node__opaque namelist; ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ decl_node__opaque init; + }; + +-struct decl_pointerT_r { +- decl_node type; +- decl_node scope; +- }; +- + struct decl_varientfieldT_r { + nameKey_Name name; +- decl_node parent; +- decl_node varient; ++ decl_node__opaque parent; ++ decl_node__opaque varient; + bool simple; + Indexing_Index listOfSons; +- decl_node scope; ++ decl_node__opaque scope; + }; + + struct decl_setT_r { +- decl_node type; +- decl_node scope; ++ decl_node__opaque type; ++ decl_node__opaque scope; + }; + +-struct decl_componentrefT_r { +- decl_node rec; +- decl_node field; +- decl_node resultType; +- }; +- +-struct decl_pointerrefT_r { +- decl_node ptr; +- decl_node field; +- decl_node resultType; +- }; +- +-struct decl_arrayrefT_r { +- decl_node array; +- decl_node index; +- decl_node resultType; +- }; +- + struct decl_commentPair_r { +- decl_node after; +- decl_node body; ++ decl_node__opaque after; ++ decl_node__opaque body; + }; + + struct decl_loopT_r { +- decl_node statements; ++ decl_node__opaque statements; + unsigned int labelno; + }; + + struct decl_caseT_r { +- decl_node expression; ++ decl_node__opaque expression; + Indexing_Index caseLabelList; +- decl_node else_; ++ decl_node__opaque else_; + }; + + struct decl_caselabellistT_r { +- decl_node caseList; +- decl_node statements; ++ decl_node__opaque caseList; ++ decl_node__opaque statements; + }; + + struct decl_caselistT_r { +@@ -591,16 +377,16 @@ struct decl_caselistT_r { + }; + + struct decl_rangeT_r { +- decl_node lo; +- decl_node hi; ++ decl_node__opaque lo; ++ decl_node__opaque hi; + }; + + struct decl_forT_r { +- decl_node des; +- decl_node start; +- decl_node end; +- decl_node increment; +- decl_node statements; ++ decl_node__opaque des; ++ decl_node__opaque start; ++ decl_node__opaque end; ++ decl_node__opaque increment; ++ decl_node__opaque statements; + }; + + struct decl_statementT_r { +@@ -615,24 +401,15 @@ struct decl_scopeT_r { + Indexing_Index variables; + }; + +-struct decl_proctypeT_r { +- Indexing_Index parameters; +- bool returnopt; +- bool vararg; +- decl_node optarg_; +- decl_node scope; +- decl_node returnType; +- }; +- + struct decl_binaryT_r { +- decl_node left; +- decl_node right; +- decl_node resultType; ++ decl_node__opaque left; ++ decl_node__opaque right; ++ decl_node__opaque resultType; + }; + + struct decl_unaryT_r { +- decl_node arg; +- decl_node resultType; ++ decl_node__opaque arg; ++ decl_node__opaque resultType; + }; + + struct decl_where_r { +@@ -649,116 +426,161 @@ struct decl_cnameT_r { + bool init; + }; + +-struct Indexing__T5_r { +- void *ArrayStart; +- unsigned int ArraySize; +- unsigned int Used; +- unsigned int Low; +- unsigned int High; +- bool Debug; +- unsigned int Map; +- }; +- +-struct mcComment__T6_r { +- mcComment_commentType type; +- DynamicStrings_String content; +- nameKey_Name procName; +- bool used; +- }; ++struct decl__T1_r { ++ alists_alist todoQ; ++ alists_alist partialQ; ++ alists_alist doneQ; ++ decl_group next; ++ }; + +-struct wlists__T10_a { unsigned int array[maxNoOfElements-1+1]; }; +-struct DynamicStrings__T7_a { char array[(MaxBuf-1)+1]; }; +-struct alists__T13_r { +- unsigned int noOfelements; +- alists__T14 elements; +- alists_alist next; +- }; ++struct decl_opaquecastT_r { ++ decl_node__opaque exp; ++ decl_opaqueCastState opaqueState; ++ }; + + struct decl_intrinsicT_r { +- decl_node args; ++ decl_node__opaque args; + unsigned int noArgs; +- decl_node type; ++ decl_node__opaque type; + decl_commentPair intrinsicComment; + bool postUnreachable; + }; + + struct decl_funccallT_r { +- decl_node function; +- decl_node args; +- decl_node type; ++ decl_node__opaque function; ++ decl_node__opaque args; ++ decl_node__opaque type; + decl_commentPair funccallComment; ++ decl_opaqueCastState opaqueState; + }; + + struct decl_returnT_r { +- decl_node exp; +- decl_node scope; ++ decl_node__opaque exp; ++ decl_node__opaque scope; + decl_commentPair returnComment; + }; + + struct decl_varT_r { + nameKey_Name name; +- decl_node type; +- decl_node decl; +- decl_node scope; ++ decl_node__opaque type; ++ decl_node__opaque decl; ++ decl_node__opaque scope; + bool isInitialised; + bool isParameter; + bool isVarParameter; + bool isUsed; + decl_cnameT cname; ++ decl_opaqueCastState opaqueState; + }; + ++struct decl_arrayT_r { ++ decl_node__opaque subr; ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ bool isUnbounded; ++ decl_opaqueCastState opaqueState; ++ }; ++ ++struct decl_varparamT_r { ++ decl_node__opaque namelist; ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ bool isUnbounded; ++ bool isForC; ++ bool isUsed; ++ decl_opaqueCastState opaqueState; ++ }; ++ ++struct decl_paramT_r { ++ decl_node__opaque namelist; ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ bool isUnbounded; ++ bool isForC; ++ bool isUsed; ++ decl_opaqueCastState opaqueState; ++ }; ++ ++struct decl_pointerT_r { ++ decl_node__opaque type; ++ decl_node__opaque scope; ++ decl_opaqueCastState opaqueState; ++ }; ++ + struct decl_recordfieldT_r { + nameKey_Name name; +- decl_node type; ++ decl_node__opaque type; + bool tag; +- decl_node parent; +- decl_node varient; +- decl_node scope; ++ decl_node__opaque parent; ++ decl_node__opaque varient; ++ decl_node__opaque scope; + decl_cnameT cname; ++ decl_opaqueCastState opaqueState; + }; + + struct decl_enumerationfieldT_r { + nameKey_Name name; +- decl_node type; +- decl_node scope; ++ decl_node__opaque type; ++ decl_node__opaque scope; + unsigned int value; + decl_cnameT cname; + }; + ++struct decl_componentrefT_r { ++ decl_node__opaque rec; ++ decl_node__opaque field; ++ decl_node__opaque resultType; ++ decl_opaqueCastState opaqueState; ++ }; ++ ++struct decl_pointerrefT_r { ++ decl_node__opaque ptr; ++ decl_node__opaque field; ++ decl_node__opaque resultType; ++ decl_opaqueCastState opaqueState; ++ }; ++ ++struct decl_arrayrefT_r { ++ decl_node__opaque array; ++ decl_node__opaque index; ++ decl_node__opaque resultType; ++ decl_opaqueCastState opaqueState; ++ }; ++ + struct decl_assignmentT_r { +- decl_node des; +- decl_node expr; ++ decl_node__opaque des; ++ decl_node__opaque expr; + decl_commentPair assignComment; + }; + + struct decl_ifT_r { +- decl_node expr; +- decl_node elsif; +- decl_node then; +- decl_node else_; ++ decl_node__opaque expr; ++ decl_node__opaque elsif; ++ decl_node__opaque then; ++ decl_node__opaque else_; + decl_commentPair ifComment; + decl_commentPair elseComment; + decl_commentPair endComment; + }; + + struct decl_elsifT_r { +- decl_node expr; +- decl_node elsif; +- decl_node then; +- decl_node else_; ++ decl_node__opaque expr; ++ decl_node__opaque elsif; ++ decl_node__opaque then; ++ decl_node__opaque else_; + decl_commentPair elseComment; + }; + + struct decl_whileT_r { +- decl_node expr; +- decl_node statements; ++ decl_node__opaque expr; ++ decl_node__opaque statements; + decl_commentPair doComment; + decl_commentPair endComment; + }; + + struct decl_repeatT_r { +- decl_node expr; +- decl_node statements; ++ decl_node__opaque expr; ++ decl_node__opaque statements; + decl_commentPair repeatComment; + decl_commentPair untilComment; + }; +@@ -766,7 +588,7 @@ struct decl_repeatT_r { + struct decl_procedureT_r { + nameKey_Name name; + decl_scopeT decls; +- decl_node scope; ++ decl_node__opaque scope; + Indexing_Index parameters; + bool isForC; + bool built; +@@ -776,14 +598,25 @@ struct decl_procedureT_r { + bool noreturnused; + bool noreturn; + unsigned int paramcount; +- decl_node optarg_; +- decl_node returnType; +- decl_node beginStatements; ++ decl_node__opaque optarg_; ++ decl_node__opaque returnType; ++ decl_node__opaque beginStatements; + decl_cnameT cname; + mcComment_commentDesc defComment; + mcComment_commentDesc modComment; ++ decl_opaqueCastState opaqueState; + }; + ++struct decl_proctypeT_r { ++ Indexing_Index parameters; ++ bool returnopt; ++ bool vararg; ++ decl_node__opaque optarg_; ++ decl_node__opaque scope; ++ decl_node__opaque returnType; ++ decl_opaqueCastState opaqueState; ++ }; ++ + struct decl_moduleT_r { + nameKey_Name name; + nameKey_Name source; +@@ -791,8 +624,8 @@ struct decl_moduleT_r { + decl_fixupInfo constFixup; + decl_fixupInfo enumFixup; + decl_scopeT decls; +- decl_node beginStatements; +- decl_node finallyStatements; ++ decl_node__opaque beginStatements; ++ decl_node__opaque finallyStatements; + bool enumsComplete; + bool constsComplete; + bool visited; +@@ -802,6 +635,7 @@ struct decl_moduleT_r { + struct decl_defT_r { + nameKey_Name name; + nameKey_Name source; ++ bool unqualified; + bool hasHidden; + bool forC; + Indexing_Index exported; +@@ -821,9 +655,9 @@ struct decl_impT_r { + Indexing_Index importedModules; + decl_fixupInfo constFixup; + decl_fixupInfo enumFixup; +- decl_node beginStatements; +- decl_node finallyStatements; +- decl_node definitionModule; ++ decl_node__opaque beginStatements; ++ decl_node__opaque finallyStatements; ++ decl_node__opaque definitionModule; + decl_scopeT decls; + bool enumsComplete; + bool constsComplete; +@@ -831,54 +665,6 @@ struct decl_impT_r { + decl_commentPair com; + }; + +-struct DynamicStrings_Contents_r { +- DynamicStrings__T7 buf; +- unsigned int len; +- DynamicStrings_String next; +- }; +- +-struct wlists__T9_r { +- unsigned int noOfElements; +- wlists__T10 elements; +- wlists_wlist next; +- }; +- +-struct mcPretty__T12_r { +- mcPretty_writeProc write_; +- mcPretty_writeLnProc writeln; +- bool needsSpace; +- bool needsIndent; +- unsigned int seekPos; +- unsigned int curLine; +- unsigned int curPos; +- unsigned int indent; +- mcPretty_pretty stacked; +- }; +- +-typedef struct DynamicStrings_descriptor_r DynamicStrings_descriptor; +- +-typedef DynamicStrings_descriptor *DynamicStrings_Descriptor; +- +-typedef struct DynamicStrings_DebugInfo_r DynamicStrings_DebugInfo; +- +-typedef enum {DynamicStrings_inuse, DynamicStrings_marked, DynamicStrings_onlist, DynamicStrings_poisoned} DynamicStrings_desState; +- +-struct DynamicStrings_descriptor_r { +- bool charStarUsed; +- void *charStar; +- unsigned int charStarSize; +- bool charStarValid; +- DynamicStrings_desState state; +- DynamicStrings_String garbage; +- }; +- +-struct DynamicStrings_DebugInfo_r { +- DynamicStrings_String next; +- void *file; +- unsigned int line; +- void *proc; +- }; +- + struct decl_nodeRec_r { + decl_nodeT kind; /* case tag */ + union { +@@ -933,80 +719,79 @@ struct decl_nodeRec_r { + decl_vardeclT vardeclF; + decl_funccallT funccallF; + decl_setvalueT setvalueF; ++ decl_opaquecastT opaquecastF; + }; + decl_where at; + }; + +-struct DynamicStrings_stringRecord_r { +- DynamicStrings_Contents contents; +- DynamicStrings_Descriptor head; +- DynamicStrings_DebugInfo debug; +- }; +- ++static decl_group freeGroup; ++static decl_group globalGroup; + static FIO_File outputFile; + static decl_language lang; +-static decl_node bitsperunitN; +-static decl_node bitsperwordN; +-static decl_node bitspercharN; +-static decl_node unitsperwordN; +-static decl_node mainModule; +-static decl_node currentModule; +-static decl_node defModule; +-static decl_node systemN; +-static decl_node addressN; +-static decl_node locN; +-static decl_node byteN; +-static decl_node wordN; +-static decl_node csizetN; +-static decl_node cssizetN; +-static decl_node adrN; +-static decl_node sizeN; +-static decl_node tsizeN; +-static decl_node newN; +-static decl_node disposeN; +-static decl_node lengthN; +-static decl_node incN; +-static decl_node decN; +-static decl_node inclN; +-static decl_node exclN; +-static decl_node highN; +-static decl_node m2rtsN; +-static decl_node haltN; +-static decl_node throwN; +-static decl_node chrN; +-static decl_node capN; +-static decl_node absN; +-static decl_node floatN; +-static decl_node truncN; +-static decl_node ordN; +-static decl_node valN; +-static decl_node minN; +-static decl_node maxN; +-static decl_node booleanN; +-static decl_node procN; +-static decl_node charN; +-static decl_node integerN; +-static decl_node cardinalN; +-static decl_node longcardN; +-static decl_node shortcardN; +-static decl_node longintN; +-static decl_node shortintN; +-static decl_node bitsetN; +-static decl_node bitnumN; +-static decl_node ztypeN; +-static decl_node rtypeN; +-static decl_node complexN; +-static decl_node longcomplexN; +-static decl_node shortcomplexN; +-static decl_node cmplxN; +-static decl_node reN; +-static decl_node imN; +-static decl_node realN; +-static decl_node longrealN; +-static decl_node shortrealN; +-static decl_node nilN; +-static decl_node trueN; +-static decl_node falseN; ++static decl_node__opaque charStarN; ++static decl_node__opaque constCharStarN; ++static decl_node__opaque bitsperunitN; ++static decl_node__opaque bitsperwordN; ++static decl_node__opaque bitspercharN; ++static decl_node__opaque unitsperwordN; ++static decl_node__opaque mainModule; ++static decl_node__opaque currentModule; ++static decl_node__opaque defModule; ++static decl_node__opaque systemN; ++static decl_node__opaque addressN; ++static decl_node__opaque locN; ++static decl_node__opaque byteN; ++static decl_node__opaque wordN; ++static decl_node__opaque csizetN; ++static decl_node__opaque cssizetN; ++static decl_node__opaque adrN; ++static decl_node__opaque sizeN; ++static decl_node__opaque tsizeN; ++static decl_node__opaque newN; ++static decl_node__opaque disposeN; ++static decl_node__opaque lengthN; ++static decl_node__opaque incN; ++static decl_node__opaque decN; ++static decl_node__opaque inclN; ++static decl_node__opaque exclN; ++static decl_node__opaque highN; ++static decl_node__opaque m2rtsN; ++static decl_node__opaque haltN; ++static decl_node__opaque throwN; ++static decl_node__opaque chrN; ++static decl_node__opaque capN; ++static decl_node__opaque absN; ++static decl_node__opaque floatN; ++static decl_node__opaque truncN; ++static decl_node__opaque ordN; ++static decl_node__opaque valN; ++static decl_node__opaque minN; ++static decl_node__opaque maxN; ++static decl_node__opaque booleanN; ++static decl_node__opaque procN; ++static decl_node__opaque charN; ++static decl_node__opaque integerN; ++static decl_node__opaque cardinalN; ++static decl_node__opaque longcardN; ++static decl_node__opaque shortcardN; ++static decl_node__opaque longintN; ++static decl_node__opaque shortintN; ++static decl_node__opaque bitsetN; ++static decl_node__opaque bitnumN; ++static decl_node__opaque ztypeN; ++static decl_node__opaque rtypeN; ++static decl_node__opaque complexN; ++static decl_node__opaque longcomplexN; ++static decl_node__opaque shortcomplexN; ++static decl_node__opaque cmplxN; ++static decl_node__opaque reN; ++static decl_node__opaque imN; ++static decl_node__opaque realN; ++static decl_node__opaque longrealN; ++static decl_node__opaque shortrealN; ++static decl_node__opaque nilN; ++static decl_node__opaque trueN; ++static decl_node__opaque falseN; + static Indexing_Index scopeStack; + static Indexing_Index defUniverseI; + static Indexing_Index modUniverseI; +@@ -1015,58 +800,10 @@ static symbolKey_symbolTree defUniverse; + static symbolKey_symbolTree baseSymbols; + static decl_outputStates outputState; + static mcPretty_pretty doP; +-static alists_alist todoQ; +-static alists_alist partialQ; +-static alists_alist doneQ; + static bool mustVisitScope; + static bool simplified; + static unsigned int tempCount; +-static decl_node globalNode; +-extern "C" void SYSTEM_ShiftVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int ShiftCount); +-extern "C" void SYSTEM_ShiftLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int ShiftCount); +-extern "C" void SYSTEM_ShiftRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int ShiftCount); +-extern "C" void SYSTEM_RotateVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int RotateCount); +-extern "C" void SYSTEM_RotateLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); +-extern "C" void SYSTEM_RotateRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); +-extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); +-extern "C" void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); +-extern "C" void M2RTS_RegisterModule (void * name, void * libname, M2RTS_ArgCVEnvP init, M2RTS_ArgCVEnvP fini, PROC dependencies); +-extern "C" void M2RTS_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); +-extern "C" bool M2RTS_InstallTerminationProcedure (PROC p); +-extern "C" void M2RTS_ExecuteInitialProcedures (void); +-extern "C" bool M2RTS_InstallInitialProcedure (PROC p); +-extern "C" void M2RTS_ExecuteTerminationProcedures (void); +-extern "C" void M2RTS_Terminate (void) __attribute__ ((noreturn)); +-extern "C" void M2RTS_HALT (int exitcode) __attribute__ ((noreturn)); +-extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line) __attribute__ ((noreturn)); +-extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ExitOnHalt (int e); +-extern "C" void M2RTS_ErrorMessage (const char *message_, unsigned int _message_high, const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high) __attribute__ ((noreturn)); +-extern "C" unsigned int M2RTS_Length (const char *a_, unsigned int _a_high); +-extern "C" void M2RTS_AssignmentException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_IncException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_DecException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_InclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ExclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ShiftException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_RotateException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_StaticArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_DynamicArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ForLoopBeginException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ForLoopToException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ForLoopEndException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_PointerNilException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_NoReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_CaseException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_WholeNonPosDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_WholeNonPosModException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_WholeZeroDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_WholeZeroRemException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_WholeValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_RealValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_ParameterException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); +-extern "C" void M2RTS_NoException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++static decl_node__opaque globalNode; + + /* + getDeclaredMod - returns the token number associated with the nodes declaration +@@ -1200,6 +937,18 @@ extern "C" decl_node decl_lookupModule (nameKey_Name n); + + extern "C" void decl_putDefForC (decl_node n); + ++/* ++ putDefUnqualified - the definition module uses unqualified. ++*/ ++ ++extern "C" void decl_putDefUnqualified (decl_node n); ++ ++/* ++ isDefUnqualified - returns TRUE if the definition module uses unqualified. ++*/ ++ ++extern "C" bool decl_isDefUnqualified (decl_node n); ++ + /* + lookupInScope - looks up a symbol named, n, from, scope. + */ +@@ -1256,6 +1005,19 @@ extern "C" bool decl_isTypeHidden (decl_node n); + + extern "C" bool decl_hasHidden (decl_node n); + ++/* ++ putTypeOpaque - marks type, des, as being an opaque type. ++ TYPE des ; ++*/ ++ ++extern "C" void decl_putTypeOpaque (decl_node des); ++ ++/* ++ isTypeOpaque - returns TRUE if type, n, is an opaque type. ++*/ ++ ++extern "C" bool decl_isTypeOpaque (decl_node n); ++ + /* + isVar - returns TRUE if node, n, is a type. + */ +@@ -1671,7 +1433,7 @@ extern "C" void decl_putCommentModProcedure (decl_node n); + extern "C" decl_node decl_makeProcType (void); + + /* +- putReturnType - sets the return type of procedure or proctype, proc, to, type. ++ putReturnType - sets the return type of procedure or proctype proc to type. + */ + + extern "C" void decl_putReturnType (decl_node proc, decl_node type); +@@ -2285,4860 +2047,4840 @@ extern "C" void decl_setLangM2 (void); + */ + + extern "C" void decl_out (void); +-extern "C" nameKey_Name nameKey_makeKey (const char *a_, unsigned int _a_high); +-extern "C" nameKey_Name nameKey_makekey (void * a); +-extern "C" void nameKey_getKey (nameKey_Name key, char *a, unsigned int _a_high); +-extern "C" unsigned int nameKey_lengthKey (nameKey_Name key); +-extern "C" bool nameKey_isKey (const char *a_, unsigned int _a_high); +-extern "C" void nameKey_writeKey (nameKey_Name key); +-extern "C" bool nameKey_isSameExcludingCase (nameKey_Name key1, nameKey_Name key2); +-extern "C" void * nameKey_keyToCharStar (nameKey_Name key); +-extern "C" symbolKey_symbolTree symbolKey_initTree (void); +-extern "C" void symbolKey_killTree (symbolKey_symbolTree *t); +-extern "C" void * symbolKey_getSymKey (symbolKey_symbolTree t, nameKey_Name name); +-extern "C" void symbolKey_putSymKey (symbolKey_symbolTree t, nameKey_Name name, void * key); + + /* +- delSymKey - deletes an entry in the binary tree. +- +- NB in order for this to work we must ensure that the InitTree sets +- both left and right to NIL. ++ newNode - create and return a new node of kind k. + */ + +-extern "C" void symbolKey_delSymKey (symbolKey_symbolTree t, nameKey_Name name); ++static decl_node__opaque newNode (decl_nodeT k); + + /* +- isEmptyTree - returns true if symbolTree, t, is empty. ++ disposeNode - dispose node, n. + */ + +-extern "C" bool symbolKey_isEmptyTree (symbolKey_symbolTree t); ++static void disposeNode (decl_node__opaque *n); + + /* +- doesTreeContainAny - returns true if symbolTree, t, contains any +- symbols which in turn return true when procedure, +- p, is called with a symbol as its parameter. +- The symbolTree root is empty apart from the field, +- left, hence we need two procedures. ++ newGroup - + */ + +-extern "C" bool symbolKey_doesTreeContainAny (symbolKey_symbolTree t, symbolKey_isSymbol p); ++static void newGroup (decl_group *g); + + /* +- foreachNodeDo - for each node in symbolTree, t, a procedure, p, +- is called with the node symbol as its parameter. +- The tree root node only contains a legal left pointer, +- therefore we need two procedures to examine this tree. ++ initGroup - returns a group which with all lists initialized. + */ + +-extern "C" void symbolKey_foreachNodeDo (symbolKey_symbolTree t, symbolKey_performOperation p); ++static decl_group initGroup (void); + + /* +- initComment - the start of a new comment has been seen by the lexical analyser. +- A new comment block is created and all addText contents are placed +- in this block. onlySpaces indicates whether we have only seen +- spaces on this line. ++ killGroup - deallocate the group and place the group record into the freeGroup list. + */ + +-extern "C" mcComment_commentDesc mcComment_initComment (bool onlySpaces); ++static void killGroup (decl_group *g); + + /* +- addText - cs is a C string (null terminated) which contains comment text. +- This is appended to the comment, cd. ++ dupGroup - If g is not NIL then destroy g. ++ Return a duplicate of GlobalGroup (not g). + */ + +-extern "C" void mcComment_addText (mcComment_commentDesc cd, void * cs); ++static decl_group dupGroup (decl_group g); + + /* +- getContent - returns the content of comment, cd. ++ equalGroup - return TRUE if group left = right. + */ + +-extern "C" DynamicStrings_String mcComment_getContent (mcComment_commentDesc cd); ++static bool equalGroup (decl_group left, decl_group right); + + /* +- getCommentCharStar - returns the C string content of comment, cd. ++ isLocal - returns TRUE if symbol, n, is locally declared in a procedure. + */ + +-extern "C" void * mcComment_getCommentCharStar (mcComment_commentDesc cd); ++static bool isLocal (decl_node__opaque n); + + /* +- setProcedureComment - changes the type of comment, cd, to a +- procedure heading comment, +- providing it has the procname as the first word. ++ importEnumFields - if, n, is an enumeration type import the all fields into module, m. + */ + +-extern "C" void mcComment_setProcedureComment (mcComment_commentDesc cd, nameKey_Name procname); ++static void importEnumFields (decl_node__opaque m, decl_node__opaque n); + + /* +- getProcedureComment - returns the current procedure comment if available. ++ checkGccType - check to see if node n is gcc tree or location_t ++ and record its use in keyc. + */ + +-extern "C" DynamicStrings_String mcComment_getProcedureComment (mcComment_commentDesc cd); ++static void checkGccType (decl_node__opaque n); + + /* +- getAfterStatementComment - returns the current statement after comment if available. ++ checkCDataTypes - check to see if node n is CharStar or ConstCharStar ++ and if necessary assign n to the global variable. + */ + +-extern "C" DynamicStrings_String mcComment_getAfterStatementComment (mcComment_commentDesc cd); ++static void checkCDataTypes (decl_node__opaque n); + + /* +- getInbodyStatementComment - returns the current statement after comment if available. ++ isComplex - returns TRUE if, n, is the complex type. + */ + +-extern "C" DynamicStrings_String mcComment_getInbodyStatementComment (mcComment_commentDesc cd); ++static bool isComplex (decl_node__opaque n); + + /* +- isProcedureComment - returns TRUE if, cd, is a procedure comment. ++ isLongComplex - returns TRUE if, n, is the longcomplex type. + */ + +-extern "C" bool mcComment_isProcedureComment (mcComment_commentDesc cd); ++static bool isLongComplex (decl_node__opaque n); + + /* +- isBodyComment - returns TRUE if, cd, is a body comment. ++ isShortComplex - returns TRUE if, n, is the shortcomplex type. + */ + +-extern "C" bool mcComment_isBodyComment (mcComment_commentDesc cd); ++static bool isShortComplex (decl_node__opaque n); + + /* +- isAfterComment - returns TRUE if, cd, is an after comment. ++ isAProcType - returns TRUE if, n, is a proctype or proc node. + */ + +-extern "C" bool mcComment_isAfterComment (mcComment_commentDesc cd); +-extern "C" void mcDebug_assert (bool q); +-extern "C" void mcDebug_writeDebug (const char *a_, unsigned int _a_high); +-extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size); +-extern "C" void Storage_DEALLOCATE (void * *a, unsigned int Size); +-extern "C" void Storage_REALLOCATE (void * *a, unsigned int Size); +-extern "C" bool Storage_Available (unsigned int Size); +-extern "C" bool SFIO_Exists (DynamicStrings_String fname); +-extern "C" FIO_File SFIO_OpenToRead (DynamicStrings_String fname); +-extern "C" FIO_File SFIO_OpenToWrite (DynamicStrings_String fname); +-extern "C" FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, bool towrite, bool newfile); +-extern "C" DynamicStrings_String SFIO_WriteS (FIO_File file, DynamicStrings_String s); +-extern "C" DynamicStrings_String SFIO_ReadS (FIO_File file); +-extern "C" bool FIO_IsNoError (FIO_File f); +-extern "C" bool FIO_IsActive (FIO_File f); +-extern "C" bool FIO_Exists (const char *fname_, unsigned int _fname_high); +-extern "C" FIO_File FIO_OpenToRead (const char *fname_, unsigned int _fname_high); +-extern "C" FIO_File FIO_OpenToWrite (const char *fname_, unsigned int _fname_high); +-extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, bool towrite, bool newfile); +-extern "C" void FIO_Close (FIO_File f); +-extern "C" bool FIO_exists (void * fname, unsigned int flength); +-extern "C" FIO_File FIO_openToRead (void * fname, unsigned int flength); +-extern "C" FIO_File FIO_openToWrite (void * fname, unsigned int flength); +-extern "C" FIO_File FIO_openForRandom (void * fname, unsigned int flength, bool towrite, bool newfile); +-extern "C" void FIO_FlushBuffer (FIO_File f); +-extern "C" unsigned int FIO_ReadNBytes (FIO_File f, unsigned int nBytes, void * dest); +-extern "C" void FIO_ReadAny (FIO_File f, unsigned char *a, unsigned int _a_high); +-extern "C" unsigned int FIO_WriteNBytes (FIO_File f, unsigned int nBytes, void * src); +-extern "C" void FIO_WriteAny (FIO_File f, unsigned char *a, unsigned int _a_high); +-extern "C" void FIO_WriteChar (FIO_File f, char ch); +-extern "C" bool FIO_EOF (FIO_File f); +-extern "C" bool FIO_EOLN (FIO_File f); +-extern "C" bool FIO_WasEOLN (FIO_File f); +-extern "C" char FIO_ReadChar (FIO_File f); +-extern "C" void FIO_UnReadChar (FIO_File f, char ch); +-extern "C" void FIO_WriteLine (FIO_File f); +-extern "C" void FIO_WriteString (FIO_File f, const char *a_, unsigned int _a_high); +-extern "C" void FIO_ReadString (FIO_File f, char *a, unsigned int _a_high); +-extern "C" void FIO_WriteCardinal (FIO_File f, unsigned int c); +-extern "C" unsigned int FIO_ReadCardinal (FIO_File f); +-extern "C" int FIO_GetUnixFileDescriptor (FIO_File f); +-extern "C" void FIO_SetPositionFromBeginning (FIO_File f, long int pos); +-extern "C" void FIO_SetPositionFromEnd (FIO_File f, long int pos); +-extern "C" long int FIO_FindPosition (FIO_File f); +-extern "C" void FIO_GetFileName (FIO_File f, char *a, unsigned int _a_high); +-extern "C" void * FIO_getFileName (FIO_File f); +-extern "C" unsigned int FIO_getFileNameLength (FIO_File f); +-extern "C" void FIO_FlushOutErr (void); ++static bool isAProcType (decl_node__opaque n); + + /* +- InitString - creates and returns a String type object. +- Initial contents are, a. ++ initFixupInfo - initialize the fixupInfo record. + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsigned int _a_high); ++static decl_fixupInfo initFixupInfo (void); + + /* +- KillString - frees String, s, and its contents. +- NIL is returned. ++ makeDef - returns a definition module node named, n. + */ + +-extern "C" DynamicStrings_String DynamicStrings_KillString (DynamicStrings_String s); ++static decl_node__opaque makeDef (nameKey_Name n); + + /* +- Fin - finishes with a string, it calls KillString with, s. +- The purpose of the procedure is to provide a short cut +- to calling KillString and then testing the return result. ++ makeImp - returns an implementation module node named, n. + */ + +-extern "C" void DynamicStrings_Fin (DynamicStrings_String s); ++static decl_node__opaque makeImp (nameKey_Name n); + + /* +- InitStringCharStar - initializes and returns a String to contain the C string. ++ makeModule - returns a module node named, n. + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a); ++static decl_node__opaque makeModule (nameKey_Name n); + + /* +- InitStringChar - initializes and returns a String to contain the single character, ch. ++ isDefForC - returns TRUE if the definition module was defined FOR "C". + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch); ++static bool isDefForC (decl_node__opaque n); + + /* +- Mark - marks String, s, ready for garbage collection. ++ initDecls - initialize the decls, scopeT. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Mark (DynamicStrings_String s); ++static void initDecls (decl_scopeT *decls); + + /* +- Length - returns the length of the String, s. ++ addTo - adds node, d, to scope decls and returns, d. ++ It stores, d, in the symbols tree associated with decls. + */ + +-extern "C" unsigned int DynamicStrings_Length (DynamicStrings_String s); ++static decl_node__opaque addTo (decl_scopeT *decls, decl_node__opaque d); + + /* +- ConCat - returns String, a, after the contents of, b, have been appended. ++ export - export node, n, from definition module, d. + */ + +-extern "C" DynamicStrings_String DynamicStrings_ConCat (DynamicStrings_String a, DynamicStrings_String b); ++static void export_ (decl_node__opaque d, decl_node__opaque n); + + /* +- ConCatChar - returns String, a, after character, ch, has been appended. ++ addToScope - adds node, n, to the current scope and returns, n. + */ + +-extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_String a, char ch); ++static decl_node__opaque addToScope (decl_node__opaque n); + + /* +- Assign - assigns the contents of, b, into, a. +- String, a, is returned. ++ addModuleToScope - adds module, i, to module, m, scope. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Assign (DynamicStrings_String a, DynamicStrings_String b); ++static void addModuleToScope (decl_node__opaque m, decl_node__opaque i); + + /* +- ReplaceChar - returns string s after it has changed all occurances of from to to. ++ completedEnum - assign boolean enumsComplete to TRUE if a definition, ++ implementation or module symbol. + */ + +-extern "C" DynamicStrings_String DynamicStrings_ReplaceChar (DynamicStrings_String s, char from, char to); ++static void completedEnum (decl_node__opaque n); + + /* +- Dup - duplicate a String, s, returning the copy of s. ++ setUnary - sets a unary node to contain, arg, a, and type, t. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Dup (DynamicStrings_String s); ++static void setUnary (decl_node__opaque u, decl_nodeT k, decl_node__opaque a, decl_node__opaque t); + + /* +- Add - returns a new String which contains the contents of a and b. ++ putVarBool - assigns the four booleans associated with a variable. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Add (DynamicStrings_String a, DynamicStrings_String b); ++static void putVarBool (decl_node__opaque v, bool init, bool param, bool isvar, bool isused); + + /* +- Equal - returns TRUE if String, a, and, b, are equal. ++ checkPtr - in C++ we need to create a typedef for a pointer ++ in case we need to use reinterpret_cast. + */ + +-extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b); ++static decl_node__opaque checkPtr (decl_node__opaque n); + + /* +- EqualCharStar - returns TRUE if contents of String, s, is the same as the +- string, a. ++ isVarDecl - returns TRUE if, n, is a vardecl node. + */ + +-extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a); ++static bool isVarDecl (decl_node__opaque n); + + /* +- EqualArray - returns TRUE if contents of String, s, is the same as the +- string, a. ++ makeVariablesFromParameters - creates variables which are really parameters. + */ + +-extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high); ++static void makeVariablesFromParameters (decl_node__opaque proc, decl_node__opaque id, decl_node__opaque type, bool isvar, bool isused); + + /* +- Mult - returns a new string which is n concatenations of String, s. ++ addProcedureToScope - add a procedure name n and node d to the ++ current scope. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, unsigned int n); ++static decl_node__opaque addProcedureToScope (decl_node__opaque d, nameKey_Name n); + + /* +- Slice - returns a new string which contains the elements +- low..high-1 +- +- strings start at element 0 +- Slice(s, 0, 2) will return elements 0, 1 but not 2 +- Slice(s, 1, 3) will return elements 1, 2 but not 3 +- Slice(s, 2, 0) will return elements 2..max +- Slice(s, 3, -1) will return elements 3..max-1 +- Slice(s, 4, -2) will return elements 4..max-2 ++ putProcTypeReturn - sets the return type of, proc, to, type. + */ + +-extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, int low, int high); ++static void putProcTypeReturn (decl_node__opaque proc, decl_node__opaque type); + + /* +- Index - returns the indice of the first occurance of, ch, in +- String, s. -1 is returned if, ch, does not exist. +- The search starts at position, o. ++ putProcTypeOptReturn - sets, proc, to have an optional return type. + */ + +-extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned int o); ++static void putProcTypeOptReturn (decl_node__opaque proc); + + /* +- RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ makeOptParameter - creates and returns an optarg. + */ + +-extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o); ++static decl_node__opaque makeOptParameter (decl_node__opaque l, decl_node__opaque type, decl_node__opaque init); + + /* +- RemoveComment - assuming that, comment, is a comment delimiter +- which indicates anything to its right is a comment +- then strip off the comment and also any white space +- on the remaining right hand side. +- It leaves any white space on the left hand side alone. ++ setwatch - assign the globalNode to n. + */ + +-extern "C" DynamicStrings_String DynamicStrings_RemoveComment (DynamicStrings_String s, char comment); ++static bool setwatch (decl_node__opaque n); + + /* +- RemoveWhitePrefix - removes any leading white space from String, s. +- A new string is returned. ++ runwatch - set the globalNode to an identlist. + */ + +-extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePrefix (DynamicStrings_String s); ++static bool runwatch (void); + + /* +- RemoveWhitePostfix - removes any leading white space from String, s. +- A new string is returned. ++ isIdentList - returns TRUE if, n, is an identlist. + */ + +-extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePostfix (DynamicStrings_String s); ++static bool isIdentList (decl_node__opaque n); + + /* +- ToUpper - returns string, s, after it has had its lower case characters +- replaced by upper case characters. +- The string, s, is not duplicated. ++ identListLen - returns the length of identlist. + */ + +-extern "C" DynamicStrings_String DynamicStrings_ToUpper (DynamicStrings_String s); ++static unsigned int identListLen (decl_node__opaque n); + + /* +- ToLower - returns string, s, after it has had its upper case characters +- replaced by lower case characters. +- The string, s, is not duplicated. ++ checkParameters - placeholder for future parameter checking. + */ + +-extern "C" DynamicStrings_String DynamicStrings_ToLower (DynamicStrings_String s); ++static void checkParameters (decl_node__opaque p, decl_node__opaque i, decl_node__opaque type, bool isvar, bool isused); + + /* +- CopyOut - copies string, s, to a. ++ checkMakeVariables - create shadow local variables for parameters providing that ++ procedure n has not already been built and we are compiling ++ a module or an implementation module. + */ + +-extern "C" void DynamicStrings_CopyOut (char *a, unsigned int _a_high, DynamicStrings_String s); ++static void checkMakeVariables (decl_node__opaque n, decl_node__opaque i, decl_node__opaque type, bool isvar, bool isused); + + /* +- char - returns the character, ch, at position, i, in String, s. ++ makeVarientField - create a varient field within varient, v, ++ The new varient field is returned. + */ + +-extern "C" char DynamicStrings_char (DynamicStrings_String s, int i); ++static decl_node__opaque makeVarientField (decl_node__opaque v, decl_node__opaque p); + + /* +- string - returns the C style char * of String, s. ++ putFieldVarient - places the field varient, f, as a brother to, the ++ varient symbol, v, and also tells, f, that its varient ++ parent is, v. + */ + +-extern "C" void * DynamicStrings_string (DynamicStrings_String s); ++static void putFieldVarient (decl_node__opaque f, decl_node__opaque v); + + /* +- InitStringDB - the debug version of InitString. ++ putFieldRecord - create a new recordfield and place it into record r. ++ The new field has a tagname and type and can have a ++ variant field v. + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitStringDB (const char *a_, unsigned int _a_high, const char *file_, unsigned int _file_high, unsigned int line); ++static decl_node__opaque putFieldRecord (decl_node__opaque r, nameKey_Name tag, decl_node__opaque type, decl_node__opaque v); + + /* +- InitStringCharStarDB - the debug version of InitStringCharStar. ++ ensureOrder - ensures that, a, and, b, exist in, i, and also ++ ensure that, a, is before, b. + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitStringCharStarDB (void * a, const char *file_, unsigned int _file_high, unsigned int line); ++static void ensureOrder (Indexing_Index i, decl_node__opaque a, decl_node__opaque b); + + /* +- InitStringCharDB - the debug version of InitStringChar. ++ putVarientTag - places tag into variant v. + */ + +-extern "C" DynamicStrings_String DynamicStrings_InitStringCharDB (char ch, const char *file_, unsigned int _file_high, unsigned int line); ++static void putVarientTag (decl_node__opaque v, decl_node__opaque tag); + + /* +- MultDB - the debug version of MultDB. ++ getParent - returns the parent field of recordfield or varientfield symbol, n. + */ + +-extern "C" DynamicStrings_String DynamicStrings_MultDB (DynamicStrings_String s, unsigned int n, const char *file_, unsigned int _file_high, unsigned int line); ++static decl_node__opaque getParent (decl_node__opaque n); + + /* +- DupDB - the debug version of Dup. ++ getRecord - returns the record associated with node, n. ++ (Parental record). + */ + +-extern "C" DynamicStrings_String DynamicStrings_DupDB (DynamicStrings_String s, const char *file_, unsigned int _file_high, unsigned int line); ++static decl_node__opaque getRecord (decl_node__opaque n); + + /* +- SliceDB - debug version of Slice. ++ isConstExp - return TRUE if the node kind is a constexp. + */ + +-extern "C" DynamicStrings_String DynamicStrings_SliceDB (DynamicStrings_String s, int low, int high, const char *file_, unsigned int _file_high, unsigned int line); ++static bool isConstExp (decl_node__opaque c); + + /* +- PushAllocation - pushes the current allocation/deallocation lists. ++ addEnumToModule - adds enumeration type, e, into the list of enums ++ in module, m. + */ + +-extern "C" void DynamicStrings_PushAllocation (void); ++static void addEnumToModule (decl_node__opaque m, decl_node__opaque e); + + /* +- PopAllocation - test to see that all strings are deallocated since +- the last push. Then it pops to the previous +- allocation/deallocation lists. +- +- If halt is true then the application terminates +- with an exit code of 1. ++ getNextFixup - return the next fixup from from f. + */ + +-extern "C" void DynamicStrings_PopAllocation (bool halt); ++static decl_node__opaque getNextFixup (decl_fixupInfo *f); + + /* +- PopAllocationExemption - test to see that all strings are deallocated, except +- string e since the last push. +- Post-condition: it pops to the previous allocation/deallocation +- lists. +- +- If halt is true then the application terminates +- with an exit code of 1. ++ doMakeEnum - create an enumeration type and add it to the current module. + */ + +-extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e); +-extern "C" DynamicStrings_String StringConvert_IntegerToString (int i, unsigned int width, char padding, bool sign, unsigned int base, bool lower); +-extern "C" DynamicStrings_String StringConvert_CardinalToString (unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); +-extern "C" int StringConvert_StringToInteger (DynamicStrings_String s, unsigned int base, bool *found); +-extern "C" unsigned int StringConvert_StringToCardinal (DynamicStrings_String s, unsigned int base, bool *found); +-extern "C" DynamicStrings_String StringConvert_LongIntegerToString (long int i, unsigned int width, char padding, bool sign, unsigned int base, bool lower); +-extern "C" long int StringConvert_StringToLongInteger (DynamicStrings_String s, unsigned int base, bool *found); +-extern "C" DynamicStrings_String StringConvert_LongCardinalToString (long unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); +-extern "C" long unsigned int StringConvert_StringToLongCardinal (DynamicStrings_String s, unsigned int base, bool *found); +-extern "C" DynamicStrings_String StringConvert_ShortCardinalToString (short unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); +-extern "C" short unsigned int StringConvert_StringToShortCardinal (DynamicStrings_String s, unsigned int base, bool *found); +-extern "C" int StringConvert_stoi (DynamicStrings_String s); +-extern "C" DynamicStrings_String StringConvert_itos (int i, unsigned int width, char padding, bool sign); +-extern "C" DynamicStrings_String StringConvert_ctos (unsigned int c, unsigned int width, char padding); +-extern "C" unsigned int StringConvert_stoc (DynamicStrings_String s); +-extern "C" int StringConvert_hstoi (DynamicStrings_String s); +-extern "C" int StringConvert_ostoi (DynamicStrings_String s); +-extern "C" int StringConvert_bstoi (DynamicStrings_String s); +-extern "C" unsigned int StringConvert_hstoc (DynamicStrings_String s); +-extern "C" unsigned int StringConvert_ostoc (DynamicStrings_String s); +-extern "C" unsigned int StringConvert_bstoc (DynamicStrings_String s); +-extern "C" long double StringConvert_StringToLongreal (DynamicStrings_String s, bool *found); +-extern "C" DynamicStrings_String StringConvert_LongrealToString (long double x, unsigned int TotalWidth, unsigned int FractionWidth); +-extern "C" double StringConvert_stor (DynamicStrings_String s); +-extern "C" long double StringConvert_stolr (DynamicStrings_String s); +-extern "C" DynamicStrings_String StringConvert_ToSigFig (DynamicStrings_String s, unsigned int n); +-extern "C" DynamicStrings_String StringConvert_ToDecimalPlaces (DynamicStrings_String s, unsigned int n); +-extern "C" DynamicStrings_String mcOptions_handleOptions (void); +-extern "C" bool mcOptions_getQuiet (void); +-extern "C" bool mcOptions_getVerbose (void); +-extern "C" bool mcOptions_getInternalDebugging (void); +-extern "C" DynamicStrings_String mcOptions_getCppCommandLine (void); +-extern "C" DynamicStrings_String mcOptions_getOutputFile (void); +-extern "C" bool mcOptions_getExtendedOpaque (void); +-extern "C" void mcOptions_setDebugTopological (bool value); +-extern "C" bool mcOptions_getDebugTopological (void); +-extern "C" DynamicStrings_String mcOptions_getHPrefix (void); +-extern "C" bool mcOptions_getIgnoreFQ (void); +-extern "C" bool mcOptions_getGccConfigSystem (void); +-extern "C" bool mcOptions_getScaffoldDynamic (void); +-extern "C" bool mcOptions_getScaffoldMain (void); +-extern "C" void mcOptions_writeGPLheader (FIO_File f); +-extern "C" void mcOptions_setSuppressNoReturn (bool value); +-extern "C" bool mcOptions_getSuppressNoReturn (void); +-extern "C" bool mcOptions_useBool (void); +-extern "C" DynamicStrings_String mcOptions_getCRealType (void); +-extern "C" DynamicStrings_String mcOptions_getCLongRealType (void); +-extern "C" DynamicStrings_String mcOptions_getCShortRealType (void); +-extern "C" DynamicStrings_String FormatStrings_Sprintf0 (DynamicStrings_String fmt); +-extern "C" DynamicStrings_String FormatStrings_Sprintf1 (DynamicStrings_String fmt, const unsigned char *w_, unsigned int _w_high); +-extern "C" DynamicStrings_String FormatStrings_Sprintf2 (DynamicStrings_String fmt, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high); +-extern "C" DynamicStrings_String FormatStrings_Sprintf3 (DynamicStrings_String fmt, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high); +-extern "C" DynamicStrings_String FormatStrings_Sprintf4 (DynamicStrings_String fmt, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high); +-extern "C" DynamicStrings_String FormatStrings_HandleEscape (DynamicStrings_String s); +-extern "C" ssize_t libc_write (int d, void * buf, size_t nbytes); +-extern "C" ssize_t libc_read (int d, void * buf, size_t nbytes); +-extern "C" int libc_system (void * a); +-extern "C" void libc_abort (void) __attribute__ ((noreturn)); +-extern "C" void * libc_malloc (size_t size); +-extern "C" void libc_free (void * ptr); +-extern "C" void * libc_realloc (void * ptr, size_t size); +-extern "C" int libc_isatty (int fd); +-extern "C" void libc_exit (int r) __attribute__ ((noreturn)); +-extern "C" void * libc_getenv (void * s); +-extern "C" int libc_putenv (void * s); +-extern "C" int libc_getpid (void); +-extern "C" int libc_dup (int d); +-extern "C" int libc_close (int d); +-extern "C" int libc_open (void * filename, int oflag, ...); +-extern "C" int libc_creat (void * filename, unsigned int mode); +-extern "C" ssize_t libc_lseek (int fd, ssize_t offset, int whence); +-extern "C" void libc_perror (const char *string_, unsigned int _string_high); +-extern "C" int libc_readv (int fd, void * v, int n); +-extern "C" int libc_writev (int fd, void * v, int n); +-extern "C" void * libc_getcwd (void * buf, size_t size); +-extern "C" int libc_chown (void * filename, int uid, int gid); +-extern "C" size_t libc_strlen (void * a); +-extern "C" void * libc_strcpy (void * dest, void * src); +-extern "C" void * libc_strncpy (void * dest, void * src, unsigned int n); +-extern "C" int libc_unlink (void * file); +-extern "C" void * libc_memcpy (void * dest, void * src, size_t size); +-extern "C" void * libc_memset (void * s, int c, size_t size); +-extern "C" void * libc_memmove (void * dest, void * src, size_t size); +-extern "C" int libc_printf (const char *format_, unsigned int _format_high, ...); +-extern "C" int libc_snprintf (void * dest, size_t size, const char *format_, unsigned int _format_high, ...); +-extern "C" int libc_setenv (void * name, void * value, int overwrite); +-extern "C" void libc_srand (int seed); +-extern "C" int libc_rand (void); +-extern "C" libc_time_t libc_time (void * a); +-extern "C" void * libc_localtime (libc_time_t *t); +-extern "C" int libc_ftime (libc_timeb *t); +-extern "C" int libc_shutdown (int s, int how); +-extern "C" int libc_rename (void * oldpath, void * newpath); +-extern "C" int libc_setjmp (void * env); +-extern "C" void libc_longjmp (void * env, int val); +-extern "C" int libc_atexit (libc_exitP_C proc); +-extern "C" void * libc_ttyname (int filedes); +-extern "C" unsigned int libc_sleep (unsigned int seconds); +-extern "C" int libc_execv (void * pathname, void * argv); +-extern "C" void mcMetaError_metaError1 (const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaError2 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaError3 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaError4 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); +-extern "C" void mcMetaError_metaErrors1 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaErrors2 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaErrors3 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaErrors4 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); +-extern "C" void mcMetaError_metaErrorT1 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaErrorT2 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaErrorT3 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaErrorT4 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); +-extern "C" void mcMetaError_metaErrorsT1 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaErrorsT2 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaErrorsT3 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaErrorsT4 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); +-extern "C" void mcMetaError_metaErrorString1 (DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaErrorString2 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaErrorString3 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaErrorString4 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); +-extern "C" void mcMetaError_metaErrorStringT1 (unsigned int tok, DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high); +-extern "C" void mcMetaError_metaErrorStringT2 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high); +-extern "C" void mcMetaError_metaErrorStringT3 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high); +-extern "C" void mcMetaError_metaErrorStringT4 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high); ++static decl_node__opaque doMakeEnum (void); + + /* +- internalError - displays an internal error message together with the compiler source +- file and line number. +- This function is not buffered and is used when the compiler is about +- to give up. ++ doMakeEnumField - create an enumeration field name and add it to enumeration e. ++ Return the new field. + */ + +-extern "C" void mcError_internalError (const char *a_, unsigned int _a_high, const char *file_, unsigned int _file_high, unsigned int line); ++static decl_node__opaque doMakeEnumField (decl_node__opaque e, nameKey_Name n); + + /* +- writeFormat0 - displays the source module and line together +- with the encapsulated format string. +- Used for simple error messages tied to the current token. ++ getExpList - returns the, n, th argument in an explist. + */ + +-extern "C" void mcError_writeFormat0 (const char *a_, unsigned int _a_high); ++static decl_node__opaque getExpList (decl_node__opaque p, unsigned int n); + + /* +- writeFormat1 - displays the source module and line together +- with the encapsulated format string. +- Used for simple error messages tied to the current token. ++ expListLen - returns the length of explist, p. + */ + +-extern "C" void mcError_writeFormat1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high); ++static unsigned int expListLen (decl_node__opaque p); + + /* +- writeFormat2 - displays the module and line together with the encapsulated +- format strings. +- Used for simple error messages tied to the current token. ++ getConstExpComplete - gets the field from the def or imp or module, n. + */ + +-extern "C" void mcError_writeFormat2 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high); ++static bool getConstExpComplete (decl_node__opaque n); + + /* +- writeFormat3 - displays the module and line together with the encapsulated +- format strings. +- Used for simple error messages tied to the current token. ++ addConstToModule - adds const exp, e, into the list of constant ++ expressions in module, m. + */ + +-extern "C" void mcError_writeFormat3 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high); ++static void addConstToModule (decl_node__opaque m, decl_node__opaque e); + + /* +- newError - creates and returns a new error handle. ++ doMakeConstExp - create a constexp node and add it to the current module. + */ + +-extern "C" mcError_error mcError_newError (unsigned int atTokenNo); ++static decl_node__opaque doMakeConstExp (void); + + /* +- newWarning - creates and returns a new error handle suitable for a warning. +- A warning will not stop compilation. ++ isAnyType - return TRUE if node n is any type kind. + */ + +-extern "C" mcError_error mcError_newWarning (unsigned int atTokenNo); ++static bool isAnyType (decl_node__opaque n); + + /* +- chainError - creates and returns a new error handle, this new error +- is associated with, e, and is chained onto the end of, e. +- If, e, is NIL then the result to NewError is returned. ++ makeVal - creates a VAL (type, expression) node. + */ + +-extern "C" mcError_error mcError_chainError (unsigned int atTokenNo, mcError_error e); +-extern "C" void mcError_errorFormat0 (mcError_error e, const char *a_, unsigned int _a_high); +-extern "C" void mcError_errorFormat1 (mcError_error e, const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high); +-extern "C" void mcError_errorFormat2 (mcError_error e, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high); +-extern "C" void mcError_errorFormat3 (mcError_error e, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high); +-extern "C" void mcError_errorString (mcError_error e, DynamicStrings_String str); ++static decl_node__opaque makeVal (decl_node__opaque params); + + /* +- errorStringAt - given an error string, s, it places this +- string at token position, tok. +- The string is consumed. ++ makeCast - creates a cast node TYPENAME (expr). + */ + +-extern "C" void mcError_errorStringAt (DynamicStrings_String s, unsigned int tok); ++static decl_node__opaque makeCast (decl_node__opaque c, decl_node__opaque p); ++static decl_node__opaque makeIntrinsicProc (decl_nodeT k, unsigned int noArgs, decl_node__opaque p); + + /* +- errorStringAt2 - given an error string, s, it places this +- string at token positions, tok1 and tok2, respectively. +- The string is consumed. ++ makeIntrinsicUnaryType - create an intrisic unary type. + */ + +-extern "C" void mcError_errorStringAt2 (DynamicStrings_String s, unsigned int tok1, unsigned int tok2); ++static decl_node__opaque makeIntrinsicUnaryType (decl_nodeT k, decl_node__opaque paramList, decl_node__opaque returnType); + + /* +- errorStringsAt2 - given error strings, s1, and, s2, it places these +- strings at token positions, tok1 and tok2, respectively. +- Both strings are consumed. ++ makeIntrinsicBinaryType - create an intrisic binary type. + */ + +-extern "C" void mcError_errorStringsAt2 (DynamicStrings_String s1, DynamicStrings_String s2, unsigned int tok1, unsigned int tok2); ++static decl_node__opaque makeIntrinsicBinaryType (decl_nodeT k, decl_node__opaque paramList, decl_node__opaque returnType); + + /* +- warnStringAt - given an error string, s, it places this +- string at token position, tok. +- The string is consumed. ++ checkIntrinsic - checks to see if the function call to, c, with ++ parameter list, n, is really an intrinic. If it ++ is an intrinic then an intrinic node is created ++ and returned. Otherwise NIL is returned. + */ + +-extern "C" void mcError_warnStringAt (DynamicStrings_String s, unsigned int tok); ++static decl_node__opaque checkIntrinsic (decl_node__opaque c, decl_node__opaque n); + + /* +- warnStringAt2 - given an warning string, s, it places this +- string at token positions, tok1 and tok2, respectively. +- The string is consumed. ++ checkCHeaders - check to see if the function is a C system function and ++ requires a header file included. + */ + +-extern "C" void mcError_warnStringAt2 (DynamicStrings_String s, unsigned int tok1, unsigned int tok2); ++static void checkCHeaders (decl_node__opaque c); + + /* +- warnStringsAt2 - given warning strings, s1, and, s2, it places these +- strings at token positions, tok1 and tok2, respectively. +- Both strings are consumed. ++ isFuncCall - returns TRUE if, n, is a function/procedure call. + */ + +-extern "C" void mcError_warnStringsAt2 (DynamicStrings_String s1, DynamicStrings_String s2, unsigned int tok1, unsigned int tok2); +-extern "C" void mcError_warnFormat0 (const char *a_, unsigned int _a_high); ++static bool isFuncCall (decl_node__opaque n); + + /* +- warnFormat1 - displays the source module and line together +- with the encapsulated format string. +- Used for simple warning messages tied to the current token. ++ putTypeInternal - marks type, des, as being an internally generated type. + */ + +-extern "C" void mcError_warnFormat1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high); ++static void putTypeInternal (decl_node__opaque des); + + /* +- flushErrors - switches the output channel to the error channel +- and then writes out all errors. ++ isTypeInternal - returns TRUE if type, n, is internal. + */ + +-extern "C" void mcError_flushErrors (void); ++static bool isTypeInternal (decl_node__opaque n); + + /* +- flushWarnings - switches the output channel to the error channel +- and then writes out all warnings. +- If an error is present the compilation is terminated, +- if warnings only were emitted then compilation will +- continue. ++ lookupBase - return node named n from the base symbol scope. + */ + +-extern "C" void mcError_flushWarnings (void); ++static decl_node__opaque lookupBase (nameKey_Name n); + + /* +- errorAbort0 - aborts compiling, it flushes all warnings and errors before aborting. ++ dumpScopes - display the names of all the scopes stacked. + */ + +-extern "C" void mcError_errorAbort0 (const char *a_, unsigned int _a_high); +-extern "C" mcComment_commentDesc mcLexBuf_getProcedureComment (void); +-extern "C" mcComment_commentDesc mcLexBuf_getBodyComment (void); +-extern "C" mcComment_commentDesc mcLexBuf_getAfterComment (void); +-extern "C" bool mcLexBuf_openSource (DynamicStrings_String s); +-extern "C" void mcLexBuf_closeSource (void); +-extern "C" void mcLexBuf_reInitialize (void); +-extern "C" void mcLexBuf_resetForNewPass (void); +-extern "C" void mcLexBuf_getToken (void); +-extern "C" void mcLexBuf_insertToken (mcReserved_toktype token); +-extern "C" void mcLexBuf_insertTokenAndRewind (mcReserved_toktype token); +-extern "C" unsigned int mcLexBuf_getPreviousTokenLineNo (void); +-extern "C" unsigned int mcLexBuf_getLineNo (void); +-extern "C" unsigned int mcLexBuf_getTokenNo (void); +-extern "C" unsigned int mcLexBuf_tokenToLineNo (unsigned int tokenNo, unsigned int depth); +-extern "C" unsigned int mcLexBuf_getColumnNo (void); +-extern "C" unsigned int mcLexBuf_tokenToColumnNo (unsigned int tokenNo, unsigned int depth); +-extern "C" DynamicStrings_String mcLexBuf_findFileNameFromToken (unsigned int tokenNo, unsigned int depth); +-extern "C" DynamicStrings_String mcLexBuf_getFileName (void); +-extern "C" void mcLexBuf_addTok (mcReserved_toktype t); +-extern "C" void mcLexBuf_addTokCharStar (mcReserved_toktype t, void * s); +-extern "C" void mcLexBuf_addTokInteger (mcReserved_toktype t, int i); +-extern "C" void mcLexBuf_addTokComment (mcReserved_toktype t, mcComment_commentDesc com); +-extern "C" void mcLexBuf_setFile (void * filename); +-extern "C" void mcLexBuf_pushFile (void * filename); +-extern "C" void mcLexBuf_popFile (void * filename); +-extern "C" void StrLib_StrConCat (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high, char *c, unsigned int _c_high); +-extern "C" bool StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); +-extern "C" bool StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); +-extern "C" unsigned int StrLib_StrLen (const char *a_, unsigned int _a_high); +-extern "C" void StrLib_StrCopy (const char *src_, unsigned int _src_high, char *dest, unsigned int _dest_high); +-extern "C" bool StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); +-extern "C" void StrLib_StrRemoveWhitePrefix (const char *a_, unsigned int _a_high, char *b, unsigned int _b_high); ++static void dumpScopes (void); + + /* +- initPretty - initialise a pretty print data structure. ++ out0 - write string a to StdOut. + */ + +-extern "C" mcPretty_pretty mcPretty_initPretty (mcPretty_writeProc w, mcPretty_writeLnProc l); ++static void out0 (const char *a_, unsigned int _a_high); + + /* +- dupPretty - duplicate a pretty print data structure. ++ out1 - write string a to StdOut using format specifier a. + */ + +-extern "C" mcPretty_pretty mcPretty_dupPretty (mcPretty_pretty p); ++static void out1 (const char *a_, unsigned int _a_high, decl_node__opaque s); + + /* +- killPretty - destroy a pretty print data structure. +- Post condition: p is assigned to NIL. ++ out2 - write string a to StdOut using format specifier a. + */ + +-extern "C" void mcPretty_killPretty (mcPretty_pretty *p); ++static void out2 (const char *a_, unsigned int _a_high, unsigned int c, decl_node__opaque s); + + /* +- pushPretty - duplicate, p. Push, p, and return the duplicate. ++ out3 - write string a to StdOut using format specifier a. + */ + +-extern "C" mcPretty_pretty mcPretty_pushPretty (mcPretty_pretty p); ++static void out3 (const char *a_, unsigned int _a_high, unsigned int l, nameKey_Name n, decl_node__opaque s); + + /* +- popPretty - pops the pretty object from the stack. ++ isUnary - returns TRUE if, n, is an unary node. + */ + +-extern "C" mcPretty_pretty mcPretty_popPretty (mcPretty_pretty p); ++static bool isUnary (decl_node__opaque n); + + /* +- getindent - returns the current indent value. ++ isBinary - returns TRUE if, n, is an binary node. + */ + +-extern "C" unsigned int mcPretty_getindent (mcPretty_pretty p); ++static bool isBinary (decl_node__opaque n); + + /* +- setindent - sets the current indent to, n. ++ makeUnary - create a unary expression node with, e, as the argument ++ and res as the return type. + */ + +-extern "C" void mcPretty_setindent (mcPretty_pretty p, unsigned int n); ++static decl_node__opaque makeUnary (decl_nodeT k, decl_node__opaque e, decl_node__opaque res); + + /* +- getcurpos - returns the current cursor position. ++ isLeafString - returns TRUE if n is a leaf node which is a string constant. + */ + +-extern "C" unsigned int mcPretty_getcurpos (mcPretty_pretty s); ++static bool isLeafString (decl_node__opaque n); + + /* +- getseekpos - returns the seek position. ++ getLiteralStringContents - return the contents of a literal node as a string. + */ + +-extern "C" unsigned int mcPretty_getseekpos (mcPretty_pretty s); ++static DynamicStrings_String getLiteralStringContents (decl_node__opaque n); + + /* +- getcurline - returns the current line number. ++ getStringContents - return the string contents of a constant, literal, ++ string or a constexp node. + */ + +-extern "C" unsigned int mcPretty_getcurline (mcPretty_pretty s); +-extern "C" void mcPretty_setNeedSpace (mcPretty_pretty s); ++static DynamicStrings_String getStringContents (decl_node__opaque n); + + /* +- noSpace - unset needsSpace. ++ addNames - + */ + +-extern "C" void mcPretty_noSpace (mcPretty_pretty s); ++static nameKey_Name addNames (decl_node__opaque a, decl_node__opaque b); + + /* +- print - print a string using, p. ++ resolveString - + */ + +-extern "C" void mcPretty_print (mcPretty_pretty p, const char *a_, unsigned int _a_high); ++static decl_node__opaque resolveString (decl_node__opaque n); + + /* +- prints - print a string using, p. ++ foldBinary - + */ + +-extern "C" void mcPretty_prints (mcPretty_pretty p, DynamicStrings_String s); ++static decl_node__opaque foldBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque res); + + /* +- raw - print out string, s, without any translation of +- escape sequences. ++ makeBinary - create a binary node with left/right/result type: l, r and resultType. + */ + +-extern "C" void mcPretty_raw (mcPretty_pretty p, DynamicStrings_String s); ++static decl_node__opaque makeBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque resultType); + + /* +- InitIndex - creates and returns an Index. ++ doMakeBinary - returns a binary node containing left/right/result values ++ l, r, res, with a node operator, k. + */ + +-extern "C" Indexing_Index Indexing_InitIndex (unsigned int low); ++static decl_node__opaque doMakeBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque res); + + /* +- KillIndex - returns Index to free storage. ++ doMakeComponentRef - + */ + +-extern "C" Indexing_Index Indexing_KillIndex (Indexing_Index i); ++static decl_node__opaque doMakeComponentRef (decl_node__opaque rec, decl_node__opaque field); + + /* +- DebugIndex - turns on debugging within an index. ++ isComponentRef - + */ + +-extern "C" Indexing_Index Indexing_DebugIndex (Indexing_Index i); ++static bool isComponentRef (decl_node__opaque n); + + /* +- InBounds - returns TRUE if indice, n, is within the bounds +- of the dynamic array. ++ isArrayRef - returns TRUE if the node was an arrayref. + */ + +-extern "C" bool Indexing_InBounds (Indexing_Index i, unsigned int n); ++static bool isArrayRef (decl_node__opaque n); + + /* +- HighIndice - returns the last legally accessible indice of this array. ++ isDeref - returns TRUE if, n, is a deref node. + */ + +-extern "C" unsigned int Indexing_HighIndice (Indexing_Index i); ++static bool isDeref (decl_node__opaque n); + + /* +- LowIndice - returns the first legally accessible indice of this array. ++ makeBase - create a base type or constant. ++ It only supports the base types and constants ++ enumerated below. + */ + +-extern "C" unsigned int Indexing_LowIndice (Indexing_Index i); ++static decl_node__opaque makeBase (decl_nodeT k); + + /* +- PutIndice - places, a, into the dynamic array at position i[n] ++ isOrdinal - returns TRUE if, n, is an ordinal type. + */ + +-extern "C" void Indexing_PutIndice (Indexing_Index i, unsigned int n, void * a); ++static bool isOrdinal (decl_node__opaque n); + + /* +- GetIndice - retrieves, element i[n] from the dynamic array. ++ mixTypes - + */ + +-extern "C" void * Indexing_GetIndice (Indexing_Index i, unsigned int n); ++static decl_node__opaque mixTypes (decl_node__opaque a, decl_node__opaque b); + + /* +- IsIndiceInIndex - returns TRUE if, a, is in the index, i. ++ doSetExprType - + */ + +-extern "C" bool Indexing_IsIndiceInIndex (Indexing_Index i, void * a); ++static decl_node__opaque doSetExprType (decl_node__opaque *t, decl_node__opaque n); + + /* +- RemoveIndiceFromIndex - removes, a, from Index, i. ++ getMaxMinType - + */ + +-extern "C" void Indexing_RemoveIndiceFromIndex (Indexing_Index i, void * a); ++static decl_node__opaque getMaxMinType (decl_node__opaque n); + + /* +- DeleteIndice - delete i[j] from the array. ++ doGetFuncType - + */ + +-extern "C" void Indexing_DeleteIndice (Indexing_Index i, unsigned int j); ++static decl_node__opaque doGetFuncType (decl_node__opaque n); + + /* +- IncludeIndiceIntoIndex - if the indice is not in the index, then +- add it at the end. ++ doGetExprType - works out the type which is associated with node, n. + */ + +-extern "C" void Indexing_IncludeIndiceIntoIndex (Indexing_Index i, void * a); ++static decl_node__opaque doGetExprType (decl_node__opaque n); + + /* +- ForeachIndiceInIndexDo - for each j indice of i, call procedure p(i[j]) ++ getExprType - return the expression type. + */ + +-extern "C" void Indexing_ForeachIndiceInIndexDo (Indexing_Index i, Indexing_IndexProcedure p); ++static decl_node__opaque getExprType (decl_node__opaque n); + + /* +- initList - creates a new alist, l. ++ openOutput - + */ + +-extern "C" alists_alist alists_initList (void); ++static void openOutput (void); + + /* +- killList - deletes the complete alist, l. ++ closeOutput - + */ + +-extern "C" void alists_killList (alists_alist *l); ++static void closeOutput (void); + + /* +- putItemIntoList - places an ADDRESS, c, into alist, l. ++ write - outputs a single char, ch. + */ + +-extern "C" void alists_putItemIntoList (alists_alist l, void * c); ++static void write_ (char ch); + + /* +- getItemFromList - retrieves the nth WORD from alist, l. ++ writeln - + */ + +-extern "C" void * alists_getItemFromList (alists_alist l, unsigned int n); ++static void writeln (void); + + /* +- getIndexOfList - returns the index for WORD, c, in alist, l. +- If more than one WORD, c, exists the index +- for the first is returned. ++ doIncludeC - include header file for definition module, n. + */ + +-extern "C" unsigned int alists_getIndexOfList (alists_alist l, void * c); ++static void doIncludeC (decl_node__opaque n); + + /* +- noOfItemsInList - returns the number of items in alist, l. ++ getSymScope - returns the scope where node, n, was declared. + */ + +-extern "C" unsigned int alists_noOfItemsInList (alists_alist l); ++static decl_node__opaque getSymScope (decl_node__opaque n); + + /* +- includeItemIntoList - adds an ADDRESS, c, into a alist providing +- the value does not already exist. ++ isQualifiedForced - should the node be written with a module prefix? + */ + +-extern "C" void alists_includeItemIntoList (alists_alist l, void * c); ++static bool isQualifiedForced (decl_node__opaque n); + + /* +- removeItemFromList - removes a ADDRESS, c, from a alist. +- It assumes that this value only appears once. ++ getFQstring - + */ + +-extern "C" void alists_removeItemFromList (alists_alist l, void * c); ++static DynamicStrings_String getFQstring (decl_node__opaque n); + + /* +- isItemInList - returns true if a ADDRESS, c, was found in alist, l. ++ getFQDstring - + */ + +-extern "C" bool alists_isItemInList (alists_alist l, void * c); ++static DynamicStrings_String getFQDstring (decl_node__opaque n, bool scopes); + + /* +- foreachItemInListDo - calls procedure, P, foreach item in alist, l. ++ getString - returns the name as a string. + */ + +-extern "C" void alists_foreachItemInListDo (alists_alist l, alists_performOperation p); ++static DynamicStrings_String getString (decl_node__opaque n); + + /* +- duplicateList - returns a duplicate alist derived from, l. ++ doNone - call HALT. + */ + +-extern "C" alists_alist alists_duplicateList (alists_alist l); ++static void doNone (decl_node__opaque n); + + /* +- initList - creates a new wlist, l. ++ doNothing - does nothing! + */ + +-extern "C" wlists_wlist wlists_initList (void); ++static void doNothing (decl_node__opaque n); + + /* +- killList - deletes the complete wlist, l. ++ doConstC - + */ + +-extern "C" void wlists_killList (wlists_wlist *l); ++static void doConstC (decl_node__opaque n); + + /* +- putItemIntoList - places an WORD, c, into wlist, l. ++ needsParen - returns TRUE if expression, n, needs to be enclosed in (). + */ + +-extern "C" void wlists_putItemIntoList (wlists_wlist l, unsigned int c); ++static bool needsParen (decl_node__opaque n); + + /* +- getItemFromList - retrieves the nth WORD from wlist, l. ++ doUnary - + */ + +-extern "C" unsigned int wlists_getItemFromList (wlists_wlist l, unsigned int n); ++static void doUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque expr, decl_node__opaque type, bool l, bool r); + + /* +- getIndexOfList - returns the index for WORD, c, in wlist, l. +- If more than one WORD, c, exists the index +- for the first is returned. ++ doSetSub - perform l & (~ r) + */ + +-extern "C" unsigned int wlists_getIndexOfList (wlists_wlist l, unsigned int c); ++static void doSetSub (mcPretty_pretty p, decl_node__opaque left, decl_node__opaque right); + + /* +- noOfItemsInList - returns the number of items in wlist, l. ++ doPolyBinary - + */ + +-extern "C" unsigned int wlists_noOfItemsInList (wlists_wlist l); ++static void doPolyBinary (mcPretty_pretty p, decl_nodeT op, decl_node__opaque left, decl_node__opaque right, bool l, bool r); + + /* +- includeItemIntoList - adds an WORD, c, into a wlist providing +- the value does not already exist. ++ doBinary - + */ + +-extern "C" void wlists_includeItemIntoList (wlists_wlist l, unsigned int c); ++static void doBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque left, decl_node__opaque right, bool l, bool r, bool unpackProc); + + /* +- removeItemFromList - removes a WORD, c, from a wlist. +- It assumes that this value only appears once. ++ doPostUnary - + */ + +-extern "C" void wlists_removeItemFromList (wlists_wlist l, unsigned int c); ++static void doPostUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque expr); + + /* +- replaceItemInList - replace the nth WORD in wlist, l. +- The first item in a wlists is at index, 1. +- If the index, n, is out of range nothing is changed. ++ doDeRefC - + */ + +-extern "C" void wlists_replaceItemInList (wlists_wlist l, unsigned int n, unsigned int w); ++static decl_node__opaque doDeRefC (mcPretty_pretty p, decl_node__opaque expr); + + /* +- isItemInList - returns true if a WORD, c, was found in wlist, l. ++ doGetLastOp - returns, a, if b is a terminal otherwise walk right. + */ + +-extern "C" bool wlists_isItemInList (wlists_wlist l, unsigned int c); ++static decl_node__opaque doGetLastOp (decl_node__opaque a, decl_node__opaque b); + + /* +- foreachItemInListDo - calls procedure, P, foreach item in wlist, l. ++ doComponentRefC - + */ + +-extern "C" void wlists_foreachItemInListDo (wlists_wlist l, wlists_performOperation p); ++static void doComponentRefC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r); + + /* +- duplicateList - returns a duplicate wlist derived from, l. ++ doPointerRefC - + */ + +-extern "C" wlists_wlist wlists_duplicateList (wlists_wlist l); +-extern "C" void keyc_useUnistd (void); +-extern "C" void keyc_useThrow (void); +-extern "C" void keyc_useStorage (void); +-extern "C" void keyc_useFree (void); +-extern "C" void keyc_useMalloc (void); +-extern "C" void keyc_useProc (void); +-extern "C" void keyc_useTrue (void); +-extern "C" void keyc_useFalse (void); +-extern "C" void keyc_useNull (void); +-extern "C" void keyc_useMemcpy (void); +-extern "C" void keyc_useIntMin (void); +-extern "C" void keyc_useUIntMin (void); +-extern "C" void keyc_useLongMin (void); +-extern "C" void keyc_useULongMin (void); +-extern "C" void keyc_useCharMin (void); +-extern "C" void keyc_useUCharMin (void); +-extern "C" void keyc_useIntMax (void); +-extern "C" void keyc_useUIntMax (void); +-extern "C" void keyc_useLongMax (void); +-extern "C" void keyc_useULongMax (void); +-extern "C" void keyc_useCharMax (void); +-extern "C" void keyc_useUCharMax (void); +-extern "C" void keyc_useSize_t (void); +-extern "C" void keyc_useSSize_t (void); +-extern "C" void keyc_useLabs (void); +-extern "C" void keyc_useAbs (void); +-extern "C" void keyc_useFabs (void); +-extern "C" void keyc_useFabsl (void); +-extern "C" void keyc_useException (void); +-extern "C" void keyc_useComplex (void); +-extern "C" void keyc_useM2RTS (void); +-extern "C" void keyc_useStrlen (void); +-extern "C" void keyc_useCtype (void); +-extern "C" void keyc_genDefs (mcPretty_pretty p); +-extern "C" void keyc_genConfigSystem (mcPretty_pretty p); +-extern "C" void keyc_enterScope (decl_node n); +-extern "C" void keyc_leaveScope (decl_node n); +-extern "C" DynamicStrings_String keyc_cname (nameKey_Name n, bool scopes); +-extern "C" nameKey_Name keyc_cnamen (nameKey_Name n, bool scopes); +-extern "C" void keyc_cp (void); +-extern "C" FIO_File mcStream_openFrag (unsigned int id); +-extern "C" void mcStream_setDest (FIO_File f); +-extern "C" FIO_File mcStream_combine (void); +-extern "C" void mcStream_removeFiles (void); +-extern "C" void StrIO_WriteLn (void); +-extern "C" void StrIO_ReadString (char *a, unsigned int _a_high); +-extern "C" void StrIO_WriteString (const char *a_, unsigned int _a_high); +-extern "C" void NumberIO_ReadCard (unsigned int *x); +-extern "C" void NumberIO_WriteCard (unsigned int x, unsigned int n); +-extern "C" void NumberIO_ReadHex (unsigned int *x); +-extern "C" void NumberIO_WriteHex (unsigned int x, unsigned int n); +-extern "C" void NumberIO_ReadInt (int *x); +-extern "C" void NumberIO_WriteInt (int x, unsigned int n); +-extern "C" void NumberIO_CardToStr (unsigned int x, unsigned int n, char *a, unsigned int _a_high); +-extern "C" void NumberIO_StrToCard (const char *a_, unsigned int _a_high, unsigned int *x); +-extern "C" void NumberIO_HexToStr (unsigned int x, unsigned int n, char *a, unsigned int _a_high); +-extern "C" void NumberIO_StrToHex (const char *a_, unsigned int _a_high, unsigned int *x); +-extern "C" void NumberIO_IntToStr (int x, unsigned int n, char *a, unsigned int _a_high); +-extern "C" void NumberIO_StrToInt (const char *a_, unsigned int _a_high, int *x); +-extern "C" void NumberIO_ReadOct (unsigned int *x); +-extern "C" void NumberIO_WriteOct (unsigned int x, unsigned int n); +-extern "C" void NumberIO_OctToStr (unsigned int x, unsigned int n, char *a, unsigned int _a_high); +-extern "C" void NumberIO_StrToOct (const char *a_, unsigned int _a_high, unsigned int *x); +-extern "C" void NumberIO_ReadBin (unsigned int *x); +-extern "C" void NumberIO_WriteBin (unsigned int x, unsigned int n); +-extern "C" void NumberIO_BinToStr (unsigned int x, unsigned int n, char *a, unsigned int _a_high); +-extern "C" void NumberIO_StrToBin (const char *a_, unsigned int _a_high, unsigned int *x); +-extern "C" void NumberIO_StrToBinInt (const char *a_, unsigned int _a_high, int *x); +-extern "C" void NumberIO_StrToHexInt (const char *a_, unsigned int _a_high, int *x); +-extern "C" void NumberIO_StrToOctInt (const char *a_, unsigned int _a_high, int *x); +-extern "C" void Debug_Halt (const char *Message_, unsigned int _Message_high, const char *Module_, unsigned int _Module_high, const char *Function_, unsigned int _Function_high, unsigned int LineNo); +-extern "C" void Debug_DebugString (const char *a_, unsigned int _a_high); +-extern "C" void Assertion_Assert (bool Condition); +-extern "C" void StdIO_Read (char *ch); +-extern "C" void StdIO_Write (char ch); +-extern "C" void StdIO_PushOutput (StdIO_ProcWrite p); +-extern "C" void StdIO_PopOutput (void); +-extern "C" StdIO_ProcWrite StdIO_GetCurrentOutput (void); +-extern "C" void StdIO_PushInput (StdIO_ProcRead p); +-extern "C" void StdIO_PopInput (void); +-extern "C" StdIO_ProcRead StdIO_GetCurrentInput (void); +-extern "C" void mcPrintf_printf0 (const char *a_, unsigned int _a_high); +-extern "C" void mcPrintf_printf1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high); +-extern "C" void mcPrintf_printf2 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high); +-extern "C" void mcPrintf_printf3 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high); +-extern "C" void mcPrintf_printf4 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high); +-extern "C" void mcPrintf_fprintf0 (FIO_File file, const char *a_, unsigned int _a_high); +-extern "C" void mcPrintf_fprintf1 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high); +-extern "C" void mcPrintf_fprintf2 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high); +-extern "C" void mcPrintf_fprintf3 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high); +-extern "C" void mcPrintf_fprintf4 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high); ++static void doPointerRefC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r); + + /* +- newNode - create and return a new node of kind k. ++ doPreBinary - + */ + +-static decl_node newNode (decl_nodeT k); ++static void doPreBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque left, decl_node__opaque right, bool l, bool r); + + /* +- disposeNode - dispose node, n. ++ doConstExpr - + */ + +-static void disposeNode (decl_node *n); ++static void doConstExpr (mcPretty_pretty p, decl_node__opaque n); + + /* +- isLocal - returns TRUE if symbol, n, is locally declared in a procedure. ++ doEnumerationField - + */ + +-static bool isLocal (decl_node n); ++static void doEnumerationField (mcPretty_pretty p, decl_node__opaque n); + + /* +- importEnumFields - if, n, is an enumeration type import the all fields into module, m. ++ isZero - returns TRUE if node, n, is zero. + */ + +-static void importEnumFields (decl_node m, decl_node n); ++static bool isZero (decl_node__opaque n); + + /* +- isComplex - returns TRUE if, n, is the complex type. ++ doArrayRef - perform an array reference. If constCast ++ then an unbounded array access will be const_cast ++ (the constCast should be TRUE if an assignment to ++ the array is required). + */ + +-static bool isComplex (decl_node n); ++static void doArrayRef (mcPretty_pretty p, decl_node__opaque n, bool constCast); + + /* +- isLongComplex - returns TRUE if, n, is the longcomplex type. ++ doProcedure - + */ + +-static bool isLongComplex (decl_node n); ++static void doProcedure (mcPretty_pretty p, decl_node__opaque n); + + /* +- isShortComplex - returns TRUE if, n, is the shortcomplex type. ++ doRecordfield - + */ + +-static bool isShortComplex (decl_node n); ++static void doRecordfield (mcPretty_pretty p, decl_node__opaque n); + + /* +- isAProcType - returns TRUE if, n, is a proctype or proc node. ++ doCastC - + */ + +-static bool isAProcType (decl_node n); ++static void doCastC (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque e); + + /* +- initFixupInfo - initialize the fixupInfo record. ++ doSetValueC - + */ + +-static decl_fixupInfo initFixupInfo (void); ++static void doSetValueC (mcPretty_pretty p, decl_node__opaque n); + + /* +- makeDef - returns a definition module node named, n. ++ getSetLow - returns the low value of the set type from ++ expression, n. + */ + +-static decl_node makeDef (nameKey_Name n); ++static decl_node__opaque getSetLow (decl_node__opaque n); + + /* +- makeImp - returns an implementation module node named, n. ++ doInC - performs (((1 << (l)) & (r)) != 0) + */ + +-static decl_node makeImp (nameKey_Name n); ++static void doInC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r); + + /* +- makeModule - returns a module node named, n. ++ doThrowC - + */ + +-static decl_node makeModule (nameKey_Name n); ++static void doThrowC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isDefForC - returns TRUE if the definition module was defined FOR "C". ++ doUnreachableC - + */ + +-static bool isDefForC (decl_node n); ++static void doUnreachableC (mcPretty_pretty p, decl_node__opaque n); + + /* +- initDecls - initialize the decls, scopeT. ++ outNull - + */ + +-static void initDecls (decl_scopeT *decls); ++static void outNull (mcPretty_pretty p); + + /* +- addTo - adds node, d, to scope decls and returns, d. +- It stores, d, in the symbols tree associated with decls. ++ outTrue - + */ + +-static decl_node addTo (decl_scopeT *decls, decl_node d); ++static void outTrue (mcPretty_pretty p); + + /* +- export - export node, n, from definition module, d. ++ outFalse - + */ + +-static void export_ (decl_node d, decl_node n); ++static void outFalse (mcPretty_pretty p); + + /* +- addToScope - adds node, n, to the current scope and returns, n. ++ doExprC - + */ + +-static decl_node addToScope (decl_node n); ++static void doExprC (mcPretty_pretty p, decl_node__opaque n); + + /* +- addModuleToScope - adds module, i, to module, m, scope. ++ doExprCup - + */ + +-static void addModuleToScope (decl_node m, decl_node i); ++static decl_node__opaque doExprCup (mcPretty_pretty p, decl_node__opaque n, bool unpackProc, bool uncastConst); + + /* +- completedEnum - assign boolean enumsComplete to TRUE if a definition, +- implementation or module symbol. ++ doExprM2 - + */ + +-static void completedEnum (decl_node n); ++static void doExprM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- setUnary - sets a unary node to contain, arg, a, and type, t. ++ doVar - + */ + +-static void setUnary (decl_node u, decl_nodeT k, decl_node a, decl_node t); ++static void doVar (mcPretty_pretty p, decl_node__opaque n); + + /* +- putVarBool - assigns the four booleans associated with a variable. ++ doLiteralC - + */ + +-static void putVarBool (decl_node v, bool init, bool param, bool isvar, bool isused); ++static void doLiteralC (mcPretty_pretty p, decl_node__opaque n); + + /* +- checkPtr - in C++ we need to create a typedef for a pointer +- in case we need to use reinterpret_cast. ++ doLiteral - + */ + +-static decl_node checkPtr (decl_node n); ++static void doLiteral (mcPretty_pretty p, decl_node__opaque n); + + /* +- isVarDecl - returns TRUE if, n, is a vardecl node. ++ isString - returns TRUE if node, n, is a string. + */ + +-static bool isVarDecl (decl_node n); ++static bool isString (decl_node__opaque n); + + /* +- makeVariablesFromParameters - creates variables which are really parameters. ++ doString - + */ + +-static void makeVariablesFromParameters (decl_node proc, decl_node id, decl_node type, bool isvar, bool isused); ++static void doString (mcPretty_pretty p, decl_node__opaque n); + + /* +- addProcedureToScope - add a procedure name n and node d to the +- current scope. ++ replaceChar - replace every occurance of, ch, by, a and return modified string, s. + */ + +-static decl_node addProcedureToScope (decl_node d, nameKey_Name n); ++static DynamicStrings_String replaceChar (DynamicStrings_String s, char ch, const char *a_, unsigned int _a_high); + + /* +- putProcTypeReturn - sets the return type of, proc, to, type. ++ toCstring - translates string, n, into a C string ++ and returns the new String. + */ + +-static void putProcTypeReturn (decl_node proc, decl_node type); ++static DynamicStrings_String toCstring (nameKey_Name n); + + /* +- putProcTypeOptReturn - sets, proc, to have an optional return type. ++ toCchar - + */ + +-static void putProcTypeOptReturn (decl_node proc); ++static DynamicStrings_String toCchar (nameKey_Name n); + + /* +- makeOptParameter - creates and returns an optarg. ++ countChar - + */ + +-static decl_node makeOptParameter (decl_node l, decl_node type, decl_node init); ++static unsigned int countChar (DynamicStrings_String s, char ch); + + /* +- setwatch - assign the globalNode to n. ++ lenCstring - + */ + +-static bool setwatch (decl_node n); ++static unsigned int lenCstring (DynamicStrings_String s); + + /* +- runwatch - set the globalNode to an identlist. ++ outCstring - + */ + +-static bool runwatch (void); ++static void outCstring (mcPretty_pretty p, decl_node__opaque s, bool aString); + + /* +- isIdentList - returns TRUE if, n, is an identlist. ++ doStringC - + */ + +-static bool isIdentList (decl_node n); ++static void doStringC (mcPretty_pretty p, decl_node__opaque n); + + /* +- identListLen - returns the length of identlist. ++ isPunct - + */ + +-static unsigned int identListLen (decl_node n); ++static bool isPunct (char ch); + + /* +- checkParameters - placeholder for future parameter checking. ++ isWhite - + */ + +-static void checkParameters (decl_node p, decl_node i, decl_node type, bool isvar, bool isused); ++static bool isWhite (char ch); + + /* +- checkMakeVariables - create shadow local variables for parameters providing that +- procedure n has not already been built and we are compiling +- a module or an implementation module. ++ outText - + */ + +-static void checkMakeVariables (decl_node n, decl_node i, decl_node type, bool isvar, bool isused); ++static void outText (mcPretty_pretty p, const char *a_, unsigned int _a_high); + + /* +- makeVarientField - create a varient field within varient, v, +- The new varient field is returned. ++ outRawS - + */ + +-static decl_node makeVarientField (decl_node v, decl_node p); ++static void outRawS (mcPretty_pretty p, DynamicStrings_String s); + + /* +- putFieldVarient - places the field varient, f, as a brother to, the +- varient symbol, v, and also tells, f, that its varient +- parent is, v. ++ outKm2 - + */ + +-static void putFieldVarient (decl_node f, decl_node v); ++static mcPretty_pretty outKm2 (mcPretty_pretty p, const char *a_, unsigned int _a_high); + + /* +- putFieldRecord - create a new recordfield and place it into record r. +- The new field has a tagname and type and can have a +- variant field v. ++ outKc - + */ + +-static decl_node putFieldRecord (decl_node r, nameKey_Name tag, decl_node type, decl_node v); ++static mcPretty_pretty outKc (mcPretty_pretty p, const char *a_, unsigned int _a_high); + + /* +- ensureOrder - ensures that, a, and, b, exist in, i, and also +- ensure that, a, is before, b. ++ outTextS - + */ + +-static void ensureOrder (Indexing_Index i, decl_node a, decl_node b); ++static void outTextS (mcPretty_pretty p, DynamicStrings_String s); + + /* +- putVarientTag - places tag into variant v. ++ outCard - + */ + +-static void putVarientTag (decl_node v, decl_node tag); ++static void outCard (mcPretty_pretty p, unsigned int c); + + /* +- getParent - returns the parent field of recordfield or varientfield symbol, n. ++ outTextN - + */ + +-static decl_node getParent (decl_node n); ++static void outTextN (mcPretty_pretty p, nameKey_Name n); + + /* +- getRecord - returns the record associated with node, n. +- (Parental record). ++ outputEnumerationC - + */ + +-static decl_node getRecord (decl_node n); ++static void outputEnumerationC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isConstExp - return TRUE if the node kind is a constexp. ++ isDeclType - return TRUE if the current module should declare type. + */ + +-static bool isConstExp (decl_node c); ++static bool isDeclType (decl_node__opaque type); + + /* +- addEnumToModule - adds enumeration type, e, into the list of enums +- in module, m. ++ doEnumerationC - + */ + +-static void addEnumToModule (decl_node m, decl_node e); ++static void doEnumerationC (mcPretty_pretty p, decl_node__opaque n); + + /* +- getNextFixup - return the next fixup from from f. ++ doNamesC - + */ + +-static decl_node getNextFixup (decl_fixupInfo *f); ++static void doNamesC (mcPretty_pretty p, nameKey_Name n); + + /* +- doMakeEnum - create an enumeration type and add it to the current module. ++ doNameC - + */ + +-static decl_node doMakeEnum (void); ++static void doNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doMakeEnumField - create an enumeration field name and add it to enumeration e. +- Return the new field. ++ initCname - + */ + +-static decl_node doMakeEnumField (decl_node e, nameKey_Name n); ++static void initCname (decl_cnameT *c); + + /* +- getExpList - returns the, n, th argument in an explist. ++ doCname - + */ + +-static decl_node getExpList (decl_node p, unsigned int n); ++static nameKey_Name doCname (nameKey_Name n, decl_cnameT *c, bool scopes); + + /* +- expListLen - returns the length of explist, p. ++ getDName - + */ + +-static unsigned int expListLen (decl_node p); ++static nameKey_Name getDName (decl_node__opaque n, bool scopes); + + /* +- getConstExpComplete - gets the field from the def or imp or module, n. ++ doDNameC - + */ + +-static bool getConstExpComplete (decl_node n); ++static void doDNameC (mcPretty_pretty p, decl_node__opaque n, bool scopes); + + /* +- addConstToModule - adds const exp, e, into the list of constant +- expressions in module, m. ++ doFQDNameC - + */ + +-static void addConstToModule (decl_node m, decl_node e); ++static void doFQDNameC (mcPretty_pretty p, decl_node__opaque n, bool scopes); + + /* +- doMakeConstExp - create a constexp node and add it to the current module. ++ doFQNameC - + */ + +-static decl_node doMakeConstExp (void); ++static void doFQNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isAnyType - return TRUE if node n is any type kind. ++ doNameM2 - + */ + +-static bool isAnyType (decl_node n); ++static void doNameM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- makeVal - creates a VAL (type, expression) node. ++ doUsed - + */ + +-static decl_node makeVal (decl_node params); ++static void doUsed (mcPretty_pretty p, bool used); + + /* +- makeCast - creates a cast node TYPENAME (expr). ++ doHighC - + */ + +-static decl_node makeCast (decl_node c, decl_node p); +-static decl_node makeIntrinsicProc (decl_nodeT k, unsigned int noArgs, decl_node p); ++static void doHighC (mcPretty_pretty p, decl_node__opaque a, nameKey_Name n, bool isused); + + /* +- makeIntrinsicUnaryType - create an intrisic unary type. ++ doParamConstCast - + */ + +-static decl_node makeIntrinsicUnaryType (decl_nodeT k, decl_node paramList, decl_node returnType); ++static void doParamConstCast (mcPretty_pretty p, decl_node__opaque n); + + /* +- makeIntrinsicBinaryType - create an intrisic binary type. ++ getParameterVariable - returns the variable which shadows the parameter ++ named, m, in parameter block, n. + */ + +-static decl_node makeIntrinsicBinaryType (decl_nodeT k, decl_node paramList, decl_node returnType); ++static decl_node__opaque getParameterVariable (decl_node__opaque n, nameKey_Name m); + + /* +- checkIntrinsic - checks to see if the function call to, c, with +- parameter list, n, is really an intrinic. If it +- is an intrinic then an intrinic node is created +- and returned. Otherwise NIL is returned. ++ doParamTypeEmit - emit parameter type for C/C++. It checks to see if the ++ parameter type is a procedure type and if it were declared ++ in a definition module for "C" and if so it uses the "C" ++ definition for a procedure type, rather than the mc ++ C++ version. + */ + +-static decl_node checkIntrinsic (decl_node c, decl_node n); ++static void doParamTypeEmit (mcPretty_pretty p, decl_node__opaque paramnode, decl_node__opaque paramtype); + + /* +- checkCHeaders - check to see if the function is a C system function and +- requires a header file included. ++ doParamTypeNameModifier - Add an _ to an unbounded parameter which is non var. + */ + +-static void checkCHeaders (decl_node c); ++static void doParamTypeNameModifier (mcPretty_pretty p, decl_node__opaque ptype, bool varparam); + + /* +- isFuncCall - returns TRUE if, n, is a function/procedure call. ++ initOpaqueCastState - assign fields opaque and voidstar in opaquestate. + */ + +-static bool isFuncCall (decl_node n); ++static void initOpaqueCastState (decl_opaqueCastState *opaquestate, bool opaque, bool voidstar); + + /* +- putTypeInternal - marks type, des, as being an internally generated type. ++ initNodeOpaqueCastState - assign opaque and currentvoidstar + */ + +-static void putTypeInternal (decl_node des); ++static void initNodeOpaqueCastState (decl_node__opaque n, bool opaque, bool voidstar); + + /* +- isTypeInternal - returns TRUE if type, n, is internal. ++ setOpaqueCastState - set the voidStar field in opaquestate. + */ + +-static bool isTypeInternal (decl_node n); ++static void setOpaqueCastState (decl_opaqueCastState *opaquestate, bool voidstar); + + /* +- lookupBase - return node named n from the base symbol scope. ++ setNodeOpaqueVoidStar - sets the voidStar field in node to voidstar. + */ + +-static decl_node lookupBase (nameKey_Name n); ++static void setNodeOpaqueVoidStar (decl_node__opaque n, bool voidstar); + + /* +- dumpScopes - display the names of all the scopes stacked. ++ nodeUsesOpaque - return TRUE if node n uses an opaque type. + */ + +-static void dumpScopes (void); ++static bool nodeUsesOpaque (decl_node__opaque n); + + /* +- out0 - write string a to StdOut. ++ getNodeOpaqueVoidStar - return TRUE if the opaque type used by node n is a void *. + */ + +-static void out0 (const char *a_, unsigned int _a_high); ++static bool getNodeOpaqueVoidStar (decl_node__opaque n); + + /* +- out1 - write string a to StdOut using format specifier a. ++ getOpaqueFlushNecessary - return TRUE if the value next differs from the opaque state. + */ + +-static void out1 (const char *a_, unsigned int _a_high, decl_node s); ++static bool getOpaqueFlushNecessary (decl_opaqueCastState state, bool next); + + /* +- out2 - write string a to StdOut using format specifier a. ++ getNodeOpaqueFlushNecessary - return TRUE if the value of next requires a cast. + */ + +-static void out2 (const char *a_, unsigned int _a_high, unsigned int c, decl_node s); ++static bool getNodeOpaqueFlushNecessary (decl_node__opaque n, bool next); + + /* +- out3 - write string a to StdOut using format specifier a. ++ makeOpaqueCast - wrap node n with an opaquecast node and assign ++ voidstar into the new opaque state. + */ + +-static void out3 (const char *a_, unsigned int _a_high, unsigned int l, nameKey_Name n, decl_node s); ++static decl_node__opaque makeOpaqueCast (decl_node__opaque n, bool voidstar); + + /* +- isUnary - returns TRUE if, n, is an unary node. ++ flushOpaque - perform a cast to voidstar (if necessary) and ignore the new ++ node which could be created. + */ + +-static bool isUnary (decl_node n); ++static void flushOpaque (mcPretty_pretty p, decl_node__opaque n, bool toVoidStar); + + /* +- isBinary - returns TRUE if, n, is an binary node. ++ castOpaque - flushes the opaque type casts if necessary and changes the ++ voidstar boolean value. If necessary it creates a opaquecast ++ and returns the new node otherwise return n. + */ + +-static bool isBinary (decl_node n); ++static decl_node__opaque castOpaque (mcPretty_pretty p, decl_node__opaque n, bool toVoidStar); + + /* +- makeUnary - create a unary expression node with, e, as the argument +- and res as the return type. ++ isTypeOpaqueDefImp - returns TRUE if type is an opaque type by checking ++ the def/imp pair of modules or fall back to the ++ definition module. + */ + +-static decl_node makeUnary (decl_nodeT k, decl_node e, decl_node res); ++static bool isTypeOpaqueDefImp (decl_node__opaque type); + + /* +- isLeafString - returns TRUE if n is a leaf node which is a string constant. ++ isParamVoidStar - return TRUE if the procedure or proctype opaque type ++ parameter should be implemented as a (void * ). + */ + +-static bool isLeafString (decl_node n); ++static bool isParamVoidStar (decl_node__opaque n); + + /* +- getLiteralStringContents - return the contents of a literal node as a string. ++ isRefVoidStar - returns TRUE if the ref node uses an opaque type which ++ is represented as a (void * ). + */ + +-static DynamicStrings_String getLiteralStringContents (decl_node n); ++static bool isRefVoidStar (decl_node__opaque n); + + /* +- getStringContents - return the string contents of a constant, literal, +- string or a constexp node. ++ isReturnVoidStar - return TRUE if the procedure or proctype opaque type ++ return type should be implemented as a (void * ). + */ + +-static DynamicStrings_String getStringContents (decl_node n); ++static bool isReturnVoidStar (decl_node__opaque proc, decl_node__opaque type); + + /* +- addNames - ++ isVarVoidStar - return TRUE if the variable using an opaque type should ++ be implemented as a (void * ). + */ + +-static nameKey_Name addNames (decl_node a, decl_node b); ++static bool isVarVoidStar (decl_node__opaque n); + + /* +- resolveString - ++ initNodeOpaqueState - initialize the node opaque state. + */ + +-static decl_node resolveString (decl_node n); ++static void initNodeOpaqueState (decl_node__opaque n); + + /* +- foldBinary - ++ assignNodeOpaqueCastState - copy the opaqueCastState from src into dest. + */ + +-static decl_node foldBinary (decl_nodeT k, decl_node l, decl_node r, decl_node res); ++static void assignNodeOpaqueCastState (decl_node__opaque dest, decl_node__opaque src); + + /* +- makeBinary - create a binary node with left/right/result type: l, r and resultType. ++ assignNodeOpaqueCastFalse - assign the voidstar field of dest to false. ++ It assigns the opaque field of dest to the value ++ of the src opaque field. + */ + +-static decl_node makeBinary (decl_nodeT k, decl_node l, decl_node r, decl_node resultType); ++static void assignNodeOpaqueCastFalse (decl_node__opaque dest, decl_node__opaque src); + + /* +- doMakeBinary - returns a binary node containing left/right/result values +- l, r, res, with a node operator, k. ++ dumpOpaqueState - + */ + +-static decl_node doMakeBinary (decl_nodeT k, decl_node l, decl_node r, decl_node res); ++static void dumpOpaqueState (decl_node__opaque n); + + /* +- doMakeComponentRef - ++ doParamC - emit parameter for C/C++. + */ + +-static decl_node doMakeComponentRef (decl_node rec, decl_node field); ++static void doParamC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isComponentRef - ++ doVarParamC - emit a VAR parameter for C/C++. + */ + +-static bool isComponentRef (decl_node n); ++static void doVarParamC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isArrayRef - returns TRUE if the node was an arrayref. ++ doOptargC - + */ + +-static bool isArrayRef (decl_node n); ++static void doOptargC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isDeref - returns TRUE if, n, is a deref node. ++ doParameterC - + */ + +-static bool isDeref (decl_node n); ++static void doParameterC (mcPretty_pretty p, decl_node__opaque n); + + /* +- makeBase - create a base type or constant. +- It only supports the base types and constants +- enumerated below. ++ doProcTypeC - + */ + +-static decl_node makeBase (decl_nodeT k); ++static void doProcTypeC (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n); + + /* +- isOrdinal - returns TRUE if, n, is an ordinal type. ++ isDeclInImp - returns TRUE if node type is declared as an opaque and ++ is declared fully in the current implementation module. ++ This should only be called if isType (type). Its purpose ++ is specific to a type checking whether it is an opaque type ++ declared in the .def/.mod pair of the current imp module. + */ + +-static bool isOrdinal (decl_node n); ++static bool isDeclInImp (decl_node__opaque type); + + /* +- mixTypes - ++ doTypeNameModifier - adds the __opaque modifier to the type n provided ++ it is an opaque type which is being declared in the ++ implementation module. + */ + +-static decl_node mixTypes (decl_node a, decl_node b); ++static void doTypeNameModifier (mcPretty_pretty p, decl_node__opaque n); + + /* +- doSetExprType - ++ isGccType - return TRUE if n is tree or location_t. + */ + +-static decl_node doSetExprType (decl_node *t, decl_node n); ++static bool isGccType (decl_node__opaque n); + + /* +- getMaxMinType - ++ doGccType - record whether we are going to declare tree or location_t ++ so that the appropriate gcc header can be included instead. + */ + +-static decl_node getMaxMinType (decl_node n); ++static void doGccType (mcPretty_pretty p, decl_node__opaque n); + + /* +- doGetFuncType - ++ isCDataType - return true if n is charStar or constCharStar. + */ + +-static decl_node doGetFuncType (decl_node n); ++static bool isCDataType (decl_node__opaque n); + + /* +- doGetExprType - works out the type which is associated with node, n. ++ isCDataTypes - return TRUE if n is CharStar or ConstCharStar. + */ + +-static decl_node doGetExprType (decl_node n); ++static bool isCDataTypes (decl_node__opaque n); + + /* +- getExprType - return the expression type. ++ doCDataTypes - if we are going to declare CharStar or ConstCharStar ++ then generate a comment instead. + */ + +-static decl_node getExprType (decl_node n); ++static void doCDataTypes (mcPretty_pretty p, decl_node__opaque n); + + /* +- openOutput - ++ doCDataTypesC - generate the C representation of the CDataTypes data types. + */ + +-static void openOutput (void); ++static void doCDataTypesC (mcPretty_pretty p, decl_node__opaque n); + + /* +- closeOutput - ++ doTypeOrPointer - only declare type or pointer n providing that ++ the name is not location_t or tree and ++ the --gccConfigSystem option is enabled. + */ + +-static void closeOutput (void); ++static void doTypeOrPointer (mcPretty_pretty p, decl_node__opaque n); + + /* +- write - outputs a single char, ch. ++ doTypedef - generate a typedef for n provuiding it is not + */ + +-static void write_ (char ch); ++static void doTypedef (mcPretty_pretty p, decl_node__opaque n); + + /* +- writeln - ++ doTypesC - + */ + +-static void writeln (void); ++static void doTypesC (decl_node__opaque n); + + /* +- doIncludeC - include header file for definition module, n. ++ doCompletePartialC - + */ + +-static void doIncludeC (decl_node n); ++static void doCompletePartialC (decl_node__opaque n); + + /* +- getSymScope - returns the scope where node, n, was declared. ++ doCompletePartialRecord - + */ + +-static decl_node getSymScope (decl_node n); ++static void doCompletePartialRecord (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque r); + + /* +- isQualifiedForced - should the node be written with a module prefix? ++ doCompletePartialArray - + */ + +-static bool isQualifiedForced (decl_node n); ++static void doCompletePartialArray (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque r); + + /* +- getFQstring - ++ lookupConst - + */ + +-static DynamicStrings_String getFQstring (decl_node n); ++static decl_node__opaque lookupConst (decl_node__opaque type, nameKey_Name n); + + /* +- getFQDstring - ++ doMin - + */ + +-static DynamicStrings_String getFQDstring (decl_node n, bool scopes); ++static decl_node__opaque doMin (decl_node__opaque n); + + /* +- getString - returns the name as a string. ++ doMax - + */ + +-static DynamicStrings_String getString (decl_node n); ++static decl_node__opaque doMax (decl_node__opaque n); + + /* +- doNone - call HALT. ++ getMax - + */ + +-static void doNone (decl_node n); ++static decl_node__opaque getMax (decl_node__opaque n); + + /* +- doNothing - does nothing! ++ getMin - + */ + +-static void doNothing (decl_node n); ++static decl_node__opaque getMin (decl_node__opaque n); + + /* +- doConstC - ++ doSubtractC - + */ + +-static void doConstC (decl_node n); ++static void doSubtractC (mcPretty_pretty p, decl_node__opaque s); + + /* +- needsParen - returns TRUE if expression, n, needs to be enclosed in (). ++ doSubrC - + */ + +-static bool needsParen (decl_node n); ++static void doSubrC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doUnary - ++ doCompletePartialProcType - + */ + +-static void doUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node expr, decl_node type, bool l, bool r); ++static void doCompletePartialProcType (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n); + + /* +- doSetSub - perform l & (~ r) ++ outputCompletePartialProcType - + */ + +-static void doSetSub (mcPretty_pretty p, decl_node left, decl_node right); ++static void outputCompletePartialProcType (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n); + + /* +- doPolyBinary - ++ isBase - + */ + +-static void doPolyBinary (mcPretty_pretty p, decl_nodeT op, decl_node left, decl_node right, bool l, bool r); ++static bool isBase (decl_node__opaque n); + + /* +- doBinary - ++ doBoolC - + */ + +-static void doBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node left, decl_node right, bool l, bool r, bool unpackProc); ++static void doBoolC (mcPretty_pretty p); + + /* +- doPostUnary - ++ doBaseC - + */ + +-static void doPostUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node expr); ++static void doBaseC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doDeRefC - ++ isSystem - + */ + +-static void doDeRefC (mcPretty_pretty p, decl_node expr); ++static bool isSystem (decl_node__opaque n); + + /* +- doGetLastOp - returns, a, if b is a terminal otherwise walk right. ++ doSystemC - + */ + +-static decl_node doGetLastOp (decl_node a, decl_node b); ++static void doSystemC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doComponentRefC - ++ doArrayC - + */ + +-static void doComponentRefC (mcPretty_pretty p, decl_node l, decl_node r); ++static void doArrayC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doPointerRefC - ++ doPointerC - + */ + +-static void doPointerRefC (mcPretty_pretty p, decl_node l, decl_node r); ++static void doPointerC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m); + + /* +- doPreBinary - ++ doRecordFieldC - + */ + +-static void doPreBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node left, decl_node right, bool l, bool r); ++static void doRecordFieldC (mcPretty_pretty p, decl_node__opaque f); + + /* +- doConstExpr - ++ doVarientFieldC - + */ + +-static void doConstExpr (mcPretty_pretty p, decl_node n); ++static void doVarientFieldC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doEnumerationField - ++ doVarientC - + */ + +-static void doEnumerationField (mcPretty_pretty p, decl_node n); ++static void doVarientC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isZero - returns TRUE if node, n, is zero. ++ doRecordC - + */ + +-static bool isZero (decl_node n); ++static void doRecordC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m); + + /* +- doArrayRef - ++ isBitset - + */ + +-static void doArrayRef (mcPretty_pretty p, decl_node n); ++static bool isBitset (decl_node__opaque n); + + /* +- doProcedure - ++ isNegative - returns TRUE if expression, n, is negative. + */ + +-static void doProcedure (mcPretty_pretty p, decl_node n); ++static bool isNegative (decl_node__opaque n); + + /* +- doRecordfield - ++ doSubrangeC - + */ + +-static void doRecordfield (mcPretty_pretty p, decl_node n); ++static void doSubrangeC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doCastC - ++ doSetC - generates a C type which holds the set. ++ Currently we only support sets of size WORD. + */ + +-static void doCastC (mcPretty_pretty p, decl_node t, decl_node e); ++static void doSetC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doSetValueC - ++ doTypeC - + */ + +-static void doSetValueC (mcPretty_pretty p, decl_node n); ++static void doTypeC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m); + + /* +- getSetLow - returns the low value of the set type from +- expression, n. ++ doArrayNameC - it displays the array declaration (it might be an unbounded). + */ + +-static decl_node getSetLow (decl_node n); ++static void doArrayNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doInC - performs (((1 << (l)) & (r)) != 0) ++ doRecordNameC - emit the C/C++ record name "_r". + */ + +-static void doInC (mcPretty_pretty p, decl_node l, decl_node r); ++static void doRecordNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doThrowC - ++ doPointerNameC - emit the C/C++ pointer type *. + */ + +-static void doThrowC (mcPretty_pretty p, decl_node n); ++static void doPointerNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doUnreachableC - ++ doTypeNameC - + */ + +-static void doUnreachableC (mcPretty_pretty p, decl_node n); ++static void doTypeNameC (mcPretty_pretty p, decl_node__opaque n); + + /* +- outNull - ++ isExternal - returns TRUE if symbol, n, was declared in another module. + */ + +-static void outNull (mcPretty_pretty p); ++static bool isExternal (decl_node__opaque n); + + /* +- outTrue - ++ doOpaqueModifier - adds postfix __opaque providing n uses an opaque type which is ++ not represented by ( void * ). n is a non type node which might ++ be using an opaque type. For example a var or param node. + */ + +-static void outTrue (mcPretty_pretty p); ++static void doOpaqueModifier (mcPretty_pretty p, decl_node__opaque n); + + /* +- outFalse - ++ doDeclareVarC - + */ + +-static void outFalse (mcPretty_pretty p); ++static void doDeclareVarC (decl_node__opaque n); + + /* +- doExprC - ++ doVarC - output a variable declaration. Note that we do not generate ++ a declaration if we are translating the implementation module ++ and a variable is exported as the variable will be in the .h ++ file to avoid all -Wodr issues. + */ + +-static void doExprC (mcPretty_pretty p, decl_node n); ++static void doVarC (decl_node__opaque n); + + /* +- doExprCup - ++ doExternCP - + */ + +-static void doExprCup (mcPretty_pretty p, decl_node n, bool unpackProc); ++static void doExternCP (mcPretty_pretty p); + + /* +- doExprM2 - ++ doProcedureCommentText - + */ + +-static void doExprM2 (mcPretty_pretty p, decl_node n); ++static void doProcedureCommentText (mcPretty_pretty p, DynamicStrings_String s); + + /* +- doVar - ++ doProcedureComment - + */ + +-static void doVar (mcPretty_pretty p, decl_node n); ++static void doProcedureComment (mcPretty_pretty p, DynamicStrings_String s); + + /* +- doLiteralC - ++ doProcedureHeadingC - + */ + +-static void doLiteralC (mcPretty_pretty p, decl_node n); ++static void doProcedureHeadingC (decl_node__opaque n, bool prototype); + + /* +- doLiteral - ++ checkDeclareUnboundedParamCopyC - + */ + +-static void doLiteral (mcPretty_pretty p, decl_node n); ++static bool checkDeclareUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n); + + /* +- isString - returns TRUE if node, n, is a string. ++ checkUnboundedParamCopyC - + */ + +-static bool isString (decl_node n); ++static void checkUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doString - ++ doUnboundedParamCopyC - + */ + +-static void doString (mcPretty_pretty p, decl_node n); ++static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n); + + /* +- replaceChar - replace every occurance of, ch, by, a and return modified string, s. ++ doPrototypeC - + */ + +-static DynamicStrings_String replaceChar (DynamicStrings_String s, char ch, const char *a_, unsigned int _a_high); ++static void doPrototypeC (decl_node__opaque n); + + /* +- toCstring - translates string, n, into a C string +- and returns the new String. ++ addTodo - adds, n, to the todo list. + */ + +-static DynamicStrings_String toCstring (nameKey_Name n); ++static void addTodo (decl_node__opaque n); + + /* +- toCchar - ++ addVariablesTodo - + */ + +-static DynamicStrings_String toCchar (nameKey_Name n); ++static void addVariablesTodo (decl_node__opaque n); + + /* +- countChar - ++ addTypesTodo - + */ + +-static unsigned int countChar (DynamicStrings_String s, char ch); ++static void addTypesTodo (decl_node__opaque n); + + /* +- lenCstring - ++ tempName - + */ + +-static unsigned int lenCstring (DynamicStrings_String s); ++static DynamicStrings_String tempName (void); + + /* +- outCstring - ++ makeIntermediateType - + */ + +-static void outCstring (mcPretty_pretty p, decl_node s, bool aString); ++static decl_node__opaque makeIntermediateType (DynamicStrings_String s, decl_node__opaque p); + + /* +- doStringC - ++ simplifyType - + */ + +-static void doStringC (mcPretty_pretty p, decl_node n); ++static void simplifyType (alists_alist l, decl_node__opaque *p); + + /* +- isPunct - ++ simplifyVar - + */ + +-static bool isPunct (char ch); ++static void simplifyVar (alists_alist l, decl_node__opaque n); + + /* +- isWhite - ++ simplifyRecord - + */ + +-static bool isWhite (char ch); ++static void simplifyRecord (alists_alist l, decl_node__opaque n); + + /* +- outText - ++ simplifyVarient - + */ + +-static void outText (mcPretty_pretty p, const char *a_, unsigned int _a_high); ++static void simplifyVarient (alists_alist l, decl_node__opaque n); + + /* +- outRawS - ++ simplifyVarientField - + */ + +-static void outRawS (mcPretty_pretty p, DynamicStrings_String s); ++static void simplifyVarientField (alists_alist l, decl_node__opaque n); + + /* +- outKm2 - ++ doSimplifyNode - + */ + +-static mcPretty_pretty outKm2 (mcPretty_pretty p, const char *a_, unsigned int _a_high); ++static void doSimplifyNode (alists_alist l, decl_node__opaque n); + + /* +- outKc - ++ simplifyNode - + */ + +-static mcPretty_pretty outKc (mcPretty_pretty p, const char *a_, unsigned int _a_high); ++static void simplifyNode (alists_alist l, decl_node__opaque n); + + /* +- outTextS - ++ doSimplify - + */ + +-static void outTextS (mcPretty_pretty p, DynamicStrings_String s); ++static void doSimplify (decl_node__opaque n); + + /* +- outCard - ++ simplifyTypes - + */ + +-static void outCard (mcPretty_pretty p, unsigned int c); ++static void simplifyTypes (decl_scopeT s); + + /* +- outTextN - ++ outDeclsDefC - + */ + +-static void outTextN (mcPretty_pretty p, nameKey_Name n); ++static void outDeclsDefC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doTypeAliasC - ++ includeConstType - + */ + +-static void doTypeAliasC (mcPretty_pretty p, decl_node n, decl_node *m); ++static void includeConstType (decl_scopeT s); + + /* +- doEnumerationC - ++ includeVarProcedure - + */ + +-static void doEnumerationC (mcPretty_pretty p, decl_node n); ++static void includeVarProcedure (decl_scopeT s); + + /* +- doNamesC - ++ includeVar - + */ + +-static void doNamesC (mcPretty_pretty p, nameKey_Name n); ++static void includeVar (decl_scopeT s); + + /* +- doNameC - ++ includeExternals - + */ + +-static void doNameC (mcPretty_pretty p, decl_node n); ++static void includeExternals (decl_node__opaque n); + + /* +- initCname - ++ checkSystemInclude - + */ + +-static void initCname (decl_cnameT *c); ++static void checkSystemInclude (decl_node__opaque n); + + /* +- doCname - ++ addExported - + */ + +-static nameKey_Name doCname (nameKey_Name n, decl_cnameT *c, bool scopes); ++static void addExported (decl_node__opaque n); + + /* +- getDName - ++ addExternal - only adds, n, if this symbol is external to the ++ implementation module and is not a hidden type. + */ + +-static nameKey_Name getDName (decl_node n, bool scopes); ++static void addExternal (decl_node__opaque n); + + /* +- doDNameC - ++ includeDefConstType - + */ + +-static void doDNameC (mcPretty_pretty p, decl_node n, bool scopes); ++static void includeDefConstType (decl_node__opaque n); + + /* +- doFQDNameC - ++ runIncludeDefConstType - + */ + +-static void doFQDNameC (mcPretty_pretty p, decl_node n, bool scopes); ++static void runIncludeDefConstType (decl_node__opaque n); + + /* +- doFQNameC - ++ joinProcedures - copies procedures from definition module, ++ d, into implementation module, i. + */ + +-static void doFQNameC (mcPretty_pretty p, decl_node n); ++static void joinProcedures (decl_node__opaque i, decl_node__opaque d); + + /* +- doNameM2 - ++ includeDefVarProcedure - + */ + +-static void doNameM2 (mcPretty_pretty p, decl_node n); ++static void includeDefVarProcedure (decl_node__opaque n); + + /* +- doUsed - ++ foreachModuleDo - + */ + +-static void doUsed (mcPretty_pretty p, bool used); ++static void foreachModuleDo (decl_node__opaque n, symbolKey_performOperation p); + + /* +- doHighC - ++ outDeclsImpC - + */ + +-static void doHighC (mcPretty_pretty p, decl_node a, nameKey_Name n, bool isused); ++static void outDeclsImpC (mcPretty_pretty p, decl_scopeT s); + + /* +- doParamConstCast - ++ doStatementSequenceC - + */ + +-static void doParamConstCast (mcPretty_pretty p, decl_node n); ++static void doStatementSequenceC (mcPretty_pretty p, decl_node__opaque s); + + /* +- getParameterVariable - returns the variable which shadows the parameter +- named, m, in parameter block, n. ++ isStatementSequenceEmpty - + */ + +-static decl_node getParameterVariable (decl_node n, nameKey_Name m); ++static bool isStatementSequenceEmpty (decl_node__opaque s); + + /* +- doParamTypeEmit - emit parameter type for C/C++. It checks to see if the +- parameter type is a procedure type and if it were declared +- in a definition module for "C" and if so it uses the "C" +- definition for a procedure type, rather than the mc +- C++ version. ++ isSingleStatement - returns TRUE if the statement sequence, s, has ++ only one statement. + */ + +-static void doParamTypeEmit (mcPretty_pretty p, decl_node paramnode, decl_node paramtype); ++static bool isSingleStatement (decl_node__opaque s); + + /* +- doParamC - emit parameter for C/C++. ++ doCommentC - + */ + +-static void doParamC (mcPretty_pretty p, decl_node n); ++static void doCommentC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doVarParamC - emit a VAR parameter for C/C++. ++ doAfterCommentC - emit an after comment, c, or a newline if, c, is empty. + */ + +-static void doVarParamC (mcPretty_pretty p, decl_node n); ++static void doAfterCommentC (mcPretty_pretty p, decl_node__opaque c); + + /* +- doOptargC - ++ doReturnC - issue a return statement and also place in an after comment if one exists. + */ + +-static void doOptargC (mcPretty_pretty p, decl_node n); ++static void doReturnC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doParameterC - ++ isZtypeEquivalent - + */ + +-static void doParameterC (mcPretty_pretty p, decl_node n); ++static bool isZtypeEquivalent (decl_node__opaque type); + + /* +- doProcTypeC - ++ isEquivalentType - returns TRUE if type1 and type2 are equivalent. + */ + +-static void doProcTypeC (mcPretty_pretty p, decl_node t, decl_node n); ++static bool isEquivalentType (decl_node__opaque type1, decl_node__opaque type2); + + /* +- doTypesC - ++ doExprCastC - build a cast if necessary. + */ + +-static void doTypesC (decl_node n); ++static void doExprCastC (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque type); + + /* +- doCompletePartialC - ++ requiresUnpackProc - returns TRUE if either the expr is a procedure or the proctypes differ. + */ + +-static void doCompletePartialC (decl_node n); ++static bool requiresUnpackProc (decl_node__opaque s); + + /* +- doCompletePartialRecord - ++ forceCastOpaque - + */ + +-static void doCompletePartialRecord (mcPretty_pretty p, decl_node t, decl_node r); ++static void forceCastOpaque (mcPretty_pretty p, decl_node__opaque des, decl_node__opaque expr, bool toVoidStar); + + /* +- doCompletePartialArray - ++ forceReintCastOpaque - + */ + +-static void doCompletePartialArray (mcPretty_pretty p, decl_node t, decl_node r); ++static void forceReintCastOpaque (mcPretty_pretty p, decl_node__opaque des, decl_node__opaque expr, bool toVoidStar); + + /* +- lookupConst - ++ doUnConstCastUnbounded - if node n type is an unbounded array then ++ use const_cast to remove the const parameter ++ to allow the unbounded array to be modified. + */ + +-static decl_node lookupConst (decl_node type, nameKey_Name n); ++static void doUnConstCastUnbounded (mcPretty_pretty p, decl_node__opaque n); + + /* +- doMin - ++ doAssignmentC - + */ + +-static decl_node doMin (decl_node n); ++static void doAssignmentC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doMax - ++ containsStatement - + */ + +-static decl_node doMax (decl_node n); ++static bool containsStatement (decl_node__opaque s); + + /* +- getMax - ++ doCompoundStmt - + */ + +-static decl_node getMax (decl_node n); ++static void doCompoundStmt (mcPretty_pretty p, decl_node__opaque s); + + /* +- getMin - ++ doElsifC - + */ + +-static decl_node getMin (decl_node n); ++static void doElsifC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doSubtractC - ++ noIfElse - + */ + +-static void doSubtractC (mcPretty_pretty p, decl_node s); ++static bool noIfElse (decl_node__opaque n); + + /* +- doSubrC - ++ noIfElseChained - returns TRUE if, n, is an IF statement which ++ has no associated ELSE statement. An IF with an ++ ELSIF is also checked for no ELSE and will result ++ in a return value of TRUE. + */ + +-static void doSubrC (mcPretty_pretty p, decl_node s); ++static bool noIfElseChained (decl_node__opaque n); + + /* +- doCompletePartialProcType - ++ hasIfElse - + */ + +-static void doCompletePartialProcType (mcPretty_pretty p, decl_node t, decl_node n); ++static bool hasIfElse (decl_node__opaque n); + + /* +- isBase - ++ isIfElse - + */ + +-static bool isBase (decl_node n); ++static bool isIfElse (decl_node__opaque n); + + /* +- doBoolC - ++ hasIfAndNoElse - returns TRUE if statement, n, is a single statement ++ which is an IF and it has no else statement. + */ + +-static void doBoolC (mcPretty_pretty p); ++static bool hasIfAndNoElse (decl_node__opaque n); + + /* +- doBaseC - ++ doIfC - issue an if statement and also place in an after comment if one exists. ++ The if statement might contain an else or elsif which are also handled. + */ + +-static void doBaseC (mcPretty_pretty p, decl_node n); ++static void doIfC (mcPretty_pretty p, decl_node__opaque s); + + /* +- isSystem - ++ doForIncCP - + */ + +-static bool isSystem (decl_node n); ++static void doForIncCP (mcPretty_pretty p, decl_node__opaque s); + + /* +- doSystemC - ++ doForIncC - + */ + +-static void doSystemC (mcPretty_pretty p, decl_node n); ++static void doForIncC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doArrayC - ++ doForInc - + */ + +-static void doArrayC (mcPretty_pretty p, decl_node n); ++static void doForInc (mcPretty_pretty p, decl_node__opaque s); + + /* +- doPointerC - ++ doForC - + */ + +-static void doPointerC (mcPretty_pretty p, decl_node n, decl_node *m); ++static void doForC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doRecordFieldC - ++ doRepeatC - + */ + +-static void doRecordFieldC (mcPretty_pretty p, decl_node f); ++static void doRepeatC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doVarientFieldC - ++ doWhileC - + */ + +-static void doVarientFieldC (mcPretty_pretty p, decl_node n); ++static void doWhileC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doVarientC - ++ doFuncHighC - + */ + +-static void doVarientC (mcPretty_pretty p, decl_node n); ++static void doFuncHighC (mcPretty_pretty p, decl_node__opaque a); + + /* +- doRecordC - ++ doMultiplyBySize - + */ + +-static void doRecordC (mcPretty_pretty p, decl_node n, decl_node *m); ++static void doMultiplyBySize (mcPretty_pretty p, decl_node__opaque a); + + /* +- isBitset - ++ doTotype - + */ + +-static bool isBitset (decl_node n); ++static void doTotype (mcPretty_pretty p, decl_node__opaque a, decl_node__opaque t); + + /* +- isNegative - returns TRUE if expression, n, is negative. ++ doFuncUnbounded - + */ + +-static bool isNegative (decl_node n); ++static void doFuncUnbounded (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formalParam, decl_node__opaque formal, decl_node__opaque func); + + /* +- doSubrangeC - ++ doProcedureParamC - + */ + +-static void doSubrangeC (mcPretty_pretty p, decl_node n); ++static void doProcedureParamC (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal); + + /* +- doSetC - generates a C type which holds the set. +- Currently we only support sets of size WORD. ++ doAdrExprC - + */ + +-static void doSetC (mcPretty_pretty p, decl_node n); ++static void doAdrExprC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doTypeC - ++ typePair - + */ + +-static void doTypeC (mcPretty_pretty p, decl_node n, decl_node *m); ++static bool typePair (decl_node__opaque a, decl_node__opaque b, decl_node__opaque x, decl_node__opaque y); + + /* +- doArrayNameC - it displays the array declaration (it might be an unbounded). ++ needsCast - return TRUE if the actual type parameter needs to be cast to ++ the formal type. + */ + +-static void doArrayNameC (mcPretty_pretty p, decl_node n); ++static bool needsCast (decl_node__opaque at, decl_node__opaque ft); + + /* +- doRecordNameC - emit the C/C++ record name "_r". ++ castDestType - emit the destination type ft + */ + +-static void doRecordNameC (mcPretty_pretty p, decl_node n); ++static void castDestType (mcPretty_pretty p, decl_node__opaque formal, decl_node__opaque ft); + + /* +- doPointerNameC - emit the C/C++ pointer type *. ++ identifyPointer - + */ + +-static void doPointerNameC (mcPretty_pretty p, decl_node n); ++static decl_node__opaque identifyPointer (decl_node__opaque type); + + /* +- doTypeNameC - ++ castPointer - provides a six way cast between ADDRESS (ie void * ), ++ char * and const char *. + */ + +-static void doTypeNameC (mcPretty_pretty p, decl_node n); ++static unsigned int castPointer (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal, decl_node__opaque at, decl_node__opaque ft); + + /* +- isExternal - returns TRUE if symbol, n, was declared in another module. ++ checkSystemCast - checks to see if we are passing to/from ++ a system generic type (WORD, BYTE, ADDRESS) ++ and if so emit a cast. It returns the number of ++ open parenthesis. + */ + +-static bool isExternal (decl_node n); ++static unsigned int checkSystemCast (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal); + + /* +- doVarC - ++ emitN - + */ + +-static void doVarC (decl_node n); ++static void emitN (mcPretty_pretty p, const char *a_, unsigned int _a_high, unsigned int n); + + /* +- doExternCP - ++ isForC - return true if node n is a varparam, param or procedure ++ which was declared inside a definition module for "C". + */ + +-static void doExternCP (mcPretty_pretty p); ++static bool isForC (decl_node__opaque n); + + /* +- doProcedureCommentText - ++ isDefForCNode - return TRUE if node n was declared inside a definition module for "C". + */ + +-static void doProcedureCommentText (mcPretty_pretty p, DynamicStrings_String s); ++static bool isDefForCNode (decl_node__opaque n); + + /* +- doProcedureComment - ++ doFuncVarParam - detect whether the formal uses an opaque and ensure that the address of ++ the actual parameter is cast to the formal type. + */ + +-static void doProcedureComment (mcPretty_pretty p, DynamicStrings_String s); ++static void doFuncVarParam (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal); + + /* +- doProcedureHeadingC - ++ doFuncParamC - + */ + +-static void doProcedureHeadingC (decl_node n, bool prototype); ++static void doFuncParamC (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal, decl_node__opaque func); + + /* +- checkDeclareUnboundedParamCopyC - ++ getNthParamType - return the type of parameter, i, in list, l. ++ If the parameter is a vararg NIL is returned. + */ + +-static bool checkDeclareUnboundedParamCopyC (mcPretty_pretty p, decl_node n); ++static decl_node__opaque getNthParamType (Indexing_Index l, unsigned int i); + + /* +- checkUnboundedParamCopyC - ++ getNthParam - return the parameter, i, in list, l. ++ If the parameter is a vararg NIL is returned. + */ + +-static void checkUnboundedParamCopyC (mcPretty_pretty p, decl_node n); ++static decl_node__opaque getNthParam (Indexing_Index l, unsigned int i); + + /* +- doUnboundedParamCopyC - ++ doFuncArgsC - + */ + +-static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node n); ++static void doFuncArgsC (mcPretty_pretty p, decl_node__opaque s, Indexing_Index l, bool needParen); + + /* +- doPrototypeC - ++ doProcTypeArgsC - + */ + +-static void doPrototypeC (decl_node n); ++static void doProcTypeArgsC (mcPretty_pretty p, decl_node__opaque s, Indexing_Index args, bool needParen); + + /* +- addTodo - adds, n, to the todo list. ++ doAdrArgC - + */ + +-static void addTodo (decl_node n); ++static void doAdrArgC (mcPretty_pretty p, decl_node__opaque n); + + /* +- addVariablesTodo - ++ doAdrC - + */ + +-static void addVariablesTodo (decl_node n); ++static void doAdrC (mcPretty_pretty p, decl_node__opaque n); + + /* +- addTypesTodo - ++ doInc - + */ + +-static void addTypesTodo (decl_node n); ++static void doInc (mcPretty_pretty p, decl_node__opaque n); + + /* +- tempName - ++ doDec - + */ + +-static DynamicStrings_String tempName (void); ++static void doDec (mcPretty_pretty p, decl_node__opaque n); + + /* +- makeIntermediateType - ++ doIncDecC - + */ + +-static decl_node makeIntermediateType (DynamicStrings_String s, decl_node p); ++static void doIncDecC (mcPretty_pretty p, decl_node__opaque n, const char *op_, unsigned int _op_high); + + /* +- simplifyType - ++ doIncDecCP - + */ + +-static void simplifyType (alists_alist l, decl_node *p); ++static void doIncDecCP (mcPretty_pretty p, decl_node__opaque n, const char *op_, unsigned int _op_high); + + /* +- simplifyVar - ++ doInclC - + */ + +-static void simplifyVar (alists_alist l, decl_node n); ++static void doInclC (mcPretty_pretty p, decl_node__opaque n); + + /* +- simplifyRecord - ++ doExclC - + */ + +-static void simplifyRecord (alists_alist l, decl_node n); ++static void doExclC (mcPretty_pretty p, decl_node__opaque n); + + /* +- simplifyVarient - ++ doNewC - + */ + +-static void simplifyVarient (alists_alist l, decl_node n); ++static void doNewC (mcPretty_pretty p, decl_node__opaque n); + + /* +- simplifyVarientField - ++ doDisposeC - + */ + +-static void simplifyVarientField (alists_alist l, decl_node n); ++static void doDisposeC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doSimplifyNode - ++ doCapC - + */ + +-static void doSimplifyNode (alists_alist l, decl_node n); ++static void doCapC (mcPretty_pretty p, decl_node__opaque n); + + /* +- simplifyNode - ++ doLengthC - + */ + +-static void simplifyNode (alists_alist l, decl_node n); ++static void doLengthC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doSimplify - ++ doAbsC - + */ + +-static void doSimplify (decl_node n); ++static void doAbsC (mcPretty_pretty p, decl_node__opaque n); + + /* +- simplifyTypes - ++ doValC - + */ + +-static void simplifyTypes (decl_scopeT s); ++static void doValC (mcPretty_pretty p, decl_node__opaque n); + + /* +- outDeclsDefC - ++ doMinC - + */ + +-static void outDeclsDefC (mcPretty_pretty p, decl_node n); ++static void doMinC (mcPretty_pretty p, decl_node__opaque n); + + /* +- includeConstType - ++ doMaxC - + */ + +-static void includeConstType (decl_scopeT s); ++static void doMaxC (mcPretty_pretty p, decl_node__opaque n); + + /* +- includeVarProcedure - ++ isIntrinsic - returns if, n, is an intrinsic procedure. ++ The intrinsic functions are represented as unary and binary nodes. + */ + +-static void includeVarProcedure (decl_scopeT s); ++static bool isIntrinsic (decl_node__opaque n); + + /* +- includeVar - ++ doHalt - + */ + +-static void includeVar (decl_scopeT s); ++static void doHalt (mcPretty_pretty p, decl_node__opaque n); + + /* +- includeExternals - ++ doCreal - emit the appropriate creal function. + */ + +-static void includeExternals (decl_node n); ++static void doCreal (mcPretty_pretty p, decl_node__opaque t); + + /* +- checkSystemInclude - ++ doCimag - emit the appropriate cimag function. + */ + +-static void checkSystemInclude (decl_node n); ++static void doCimag (mcPretty_pretty p, decl_node__opaque t); + + /* +- addExported - ++ doReC - + */ + +-static void addExported (decl_node n); ++static void doReC (mcPretty_pretty p, decl_node__opaque n); + + /* +- addExternal - only adds, n, if this symbol is external to the +- implementation module and is not a hidden type. ++ doImC - + */ + +-static void addExternal (decl_node n); ++static void doImC (mcPretty_pretty p, decl_node__opaque n); + + /* +- includeDefConstType - ++ doCmplx - + */ + +-static void includeDefConstType (decl_node n); ++static void doCmplx (mcPretty_pretty p, decl_node__opaque n); + + /* +- runIncludeDefConstType - ++ doIntrinsicC - + */ + +-static void runIncludeDefConstType (decl_node n); ++static void doIntrinsicC (mcPretty_pretty p, decl_node__opaque n); + + /* +- joinProcedures - copies procedures from definition module, +- d, into implementation module, i. ++ isIntrinsicFunction - returns true if, n, is an instrinsic function. + */ + +-static void joinProcedures (decl_node i, decl_node d); ++static bool isIntrinsicFunction (decl_node__opaque n); + + /* +- includeDefVarProcedure - ++ doSizeC - + */ + +-static void includeDefVarProcedure (decl_node n); ++static void doSizeC (mcPretty_pretty p, decl_node__opaque n); + + /* +- foreachModuleDo - ++ doConvertC - + */ + +-static void foreachModuleDo (decl_node n, symbolKey_performOperation p); ++static void doConvertC (mcPretty_pretty p, decl_node__opaque n, const char *conversion_, unsigned int _conversion_high); + + /* +- outDeclsImpC - ++ doConvertSC - + */ + +-static void outDeclsImpC (mcPretty_pretty p, decl_scopeT s); ++static void doConvertSC (mcPretty_pretty p, decl_node__opaque n, DynamicStrings_String conversion); + + /* +- doStatementSequenceC - ++ getFunction - return the function associate with funccall node n. + */ + +-static void doStatementSequenceC (mcPretty_pretty p, decl_node s); ++static decl_node__opaque getFunction (decl_node__opaque n); + + /* +- isStatementSequenceEmpty - ++ getFuncFromExpr - + */ + +-static bool isStatementSequenceEmpty (decl_node s); ++static decl_node__opaque getFuncFromExpr (decl_node__opaque n); + + /* +- isSingleStatement - returns TRUE if the statement sequence, s, has +- only one statement. ++ doFuncExprC - + */ + +-static bool isSingleStatement (decl_node s); ++static void doFuncExprC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doCommentC - ++ doFuncCallC - + */ + +-static void doCommentC (mcPretty_pretty p, decl_node s); ++static void doFuncCallC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doAfterCommentC - emit an after comment, c, or a newline if, c, is empty. ++ doCaseStatementC - + */ + +-static void doAfterCommentC (mcPretty_pretty p, decl_node c); ++static void doCaseStatementC (mcPretty_pretty p, decl_node__opaque n, bool needBreak); + + /* +- doReturnC - issue a return statement and also place in an after comment if one exists. ++ doExceptionC - + */ + +-static void doReturnC (mcPretty_pretty p, decl_node s); ++static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n); + + /* +- isZtypeEquivalent - ++ doExceptionCP - + */ + +-static bool isZtypeEquivalent (decl_node type); ++static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n); + + /* +- isEquivalentType - returns TRUE if type1 and type2 are equivalent. ++ doException - + */ + +-static bool isEquivalentType (decl_node type1, decl_node type2); ++static void doException (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n); + + /* +- doExprCastC - build a cast if necessary. ++ doRangeListC - + */ + +-static void doExprCastC (mcPretty_pretty p, decl_node e, decl_node type); ++static void doRangeListC (mcPretty_pretty p, decl_node__opaque c); + + /* +- requiresUnpackProc - returns TRUE if either the expr is a procedure or the proctypes differ. ++ doRangeIfListC - + */ + +-static bool requiresUnpackProc (decl_node s); ++static void doRangeIfListC (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque c); + + /* +- doAssignmentC - ++ doCaseLabels - + */ + +-static void doAssignmentC (mcPretty_pretty p, decl_node s); ++static void doCaseLabels (mcPretty_pretty p, decl_node__opaque n, bool needBreak); + + /* +- containsStatement - ++ doCaseLabelListC - + */ + +-static bool containsStatement (decl_node s); ++static void doCaseLabelListC (mcPretty_pretty p, decl_node__opaque n, bool haveElse); + + /* +- doCompoundStmt - ++ doCaseIfLabels - + */ + +-static void doCompoundStmt (mcPretty_pretty p, decl_node s); ++static void doCaseIfLabels (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque n, unsigned int i, unsigned int h); + + /* +- doElsifC - ++ doCaseIfLabelListC - + */ + +-static void doElsifC (mcPretty_pretty p, decl_node s); ++static void doCaseIfLabelListC (mcPretty_pretty p, decl_node__opaque n); + + /* +- noIfElse - ++ doCaseElseC - + */ + +-static bool noIfElse (decl_node n); ++static void doCaseElseC (mcPretty_pretty p, decl_node__opaque n); + + /* +- noIfElseChained - returns TRUE if, n, is an IF statement which +- has no associated ELSE statement. An IF with an +- ELSIF is also checked for no ELSE and will result +- in a return value of TRUE. ++ doCaseIfElseC - + */ + +-static bool noIfElseChained (decl_node n); ++static void doCaseIfElseC (mcPretty_pretty p, decl_node__opaque n); + + /* +- hasIfElse - ++ canUseSwitchCaseLabels - returns TRUE if all the case labels are ++ single values and not ranges. + */ + +-static bool hasIfElse (decl_node n); ++static bool canUseSwitchCaseLabels (decl_node__opaque n); + + /* +- isIfElse - ++ canUseSwitch - returns TRUE if the case statement can be implement ++ by a switch statement. This will be TRUE if all case ++ selectors are single values rather than ranges. + */ + +-static bool isIfElse (decl_node n); ++static bool canUseSwitch (decl_node__opaque n); + + /* +- hasIfAndNoElse - returns TRUE if statement, n, is a single statement +- which is an IF and it has no else statement. ++ doCaseC - + */ + +-static bool hasIfAndNoElse (decl_node n); ++static void doCaseC (mcPretty_pretty p, decl_node__opaque n); + + /* +- doIfC - issue an if statement and also place in an after comment if one exists. +- The if statement might contain an else or elsif which are also handled. ++ doLoopC - + */ + +-static void doIfC (mcPretty_pretty p, decl_node s); ++static void doLoopC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doForIncCP - ++ doExitC - + */ + +-static void doForIncCP (mcPretty_pretty p, decl_node s); ++static void doExitC (mcPretty_pretty p, decl_node__opaque s); + + /* +- doForIncC - ++ doStatementsC - + */ + +-static void doForIncC (mcPretty_pretty p, decl_node s); ++static void doStatementsC (mcPretty_pretty p, decl_node__opaque s); ++static void localstop (void); + + /* +- doForInc - ++ doLocalVarC - + */ + +-static void doForInc (mcPretty_pretty p, decl_node s); ++static void doLocalVarC (mcPretty_pretty p, decl_scopeT s); + + /* +- doForC - ++ doLocalConstTypesC - + */ + +-static void doForC (mcPretty_pretty p, decl_node s); ++static void doLocalConstTypesC (mcPretty_pretty p, decl_scopeT s); + + /* +- doRepeatC - ++ addParamDone - + */ + +-static void doRepeatC (mcPretty_pretty p, decl_node s); ++static void addParamDone (decl_node__opaque n); + + /* +- doWhileC - ++ includeParameters - + */ + +-static void doWhileC (mcPretty_pretty p, decl_node s); ++static void includeParameters (decl_node__opaque n); + + /* +- doFuncHighC - ++ isHalt - + */ + +-static void doFuncHighC (mcPretty_pretty p, decl_node a); ++static bool isHalt (decl_node__opaque n); + + /* +- doMultiplyBySize - ++ isReturnOrHalt - + */ + +-static void doMultiplyBySize (mcPretty_pretty p, decl_node a); ++static bool isReturnOrHalt (decl_node__opaque n); + + /* +- doTotype - ++ isLastStatementReturn - + */ + +-static void doTotype (mcPretty_pretty p, decl_node a, decl_node t); ++static bool isLastStatementReturn (decl_node__opaque n); + + /* +- doFuncUnbounded - ++ isLastStatementSequence - + */ + +-static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node formalParam, decl_node formal, decl_node func); ++static bool isLastStatementSequence (decl_node__opaque n, decl_isNodeF q); + + /* +- doProcedureParamC - ++ isLastStatementIf - + */ + +-static void doProcedureParamC (mcPretty_pretty p, decl_node actual, decl_node formal); ++static bool isLastStatementIf (decl_node__opaque n, decl_isNodeF q); + + /* +- doAdrExprC - ++ isLastStatementElsif - + */ + +-static void doAdrExprC (mcPretty_pretty p, decl_node n); ++static bool isLastStatementElsif (decl_node__opaque n, decl_isNodeF q); + + /* +- typePair - ++ isLastStatementCase - + */ + +-static bool typePair (decl_node a, decl_node b, decl_node x, decl_node y); ++static bool isLastStatementCase (decl_node__opaque n, decl_isNodeF q); + + /* +- needsCast - return TRUE if the actual type parameter needs to be cast to +- the formal type. ++ isLastStatement - returns TRUE if the last statement in, n, is, q. + */ + +-static bool needsCast (decl_node at, decl_node ft); ++static bool isLastStatement (decl_node__opaque n, decl_isNodeF q); + + /* +- checkSystemCast - checks to see if we are passing to/from +- a system generic type (WORD, BYTE, ADDRESS) +- and if so emit a cast. It returns the number of +- open parenthesis. ++ doProcedureC - + */ + +-static unsigned int checkSystemCast (mcPretty_pretty p, decl_node actual, decl_node formal); ++static void doProcedureC (decl_node__opaque n); + + /* +- emitN - ++ outProceduresC - + */ + +-static void emitN (mcPretty_pretty p, const char *a_, unsigned int _a_high, unsigned int n); ++static void outProceduresC (mcPretty_pretty p, decl_scopeT s); + + /* +- isForC - return true if node n is a varparam, param or procedure +- which was declared inside a definition module for "C". ++ output - + */ + +-static bool isForC (decl_node n); ++static void output (decl_node__opaque n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v); + + /* +- isDefForCNode - return TRUE if node n was declared inside a definition module for "C". ++ allDependants - + */ + +-static bool isDefForCNode (decl_node n); ++static decl_dependentState allDependants (decl_node__opaque n); + + /* +- doFuncParamC - ++ walkDependants - + */ + +-static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, decl_node func); ++static decl_dependentState walkDependants (alists_alist l, decl_node__opaque n); + + /* +- getNthParamType - return the type of parameter, i, in list, l. +- If the parameter is a vararg NIL is returned. ++ walkType - + */ + +-static decl_node getNthParamType (Indexing_Index l, unsigned int i); ++static decl_dependentState walkType (alists_alist l, decl_node__opaque n); + + /* +- getNthParam - return the parameter, i, in list, l. +- If the parameter is a vararg NIL is returned. ++ db - + */ + +-static decl_node getNthParam (Indexing_Index l, unsigned int i); ++static void db (const char *a_, unsigned int _a_high, decl_node__opaque n); + + /* +- doFuncArgsC - ++ dbt - + */ + +-static void doFuncArgsC (mcPretty_pretty p, decl_node s, Indexing_Index l, bool needParen); ++static void dbt (const char *a_, unsigned int _a_high); + + /* +- doProcTypeArgsC - ++ dbs - + */ + +-static void doProcTypeArgsC (mcPretty_pretty p, decl_node s, Indexing_Index args, bool needParen); ++static void dbs (decl_dependentState s, decl_node__opaque n); + + /* +- doAdrArgC - ++ dbq - + */ + +-static void doAdrArgC (mcPretty_pretty p, decl_node n); ++static void dbq (decl_node__opaque n); + + /* +- doAdrC - ++ walkRecord - + */ + +-static void doAdrC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkRecord (alists_alist l, decl_node__opaque n); + + /* +- doInc - ++ walkVarient - + */ + +-static void doInc (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkVarient (alists_alist l, decl_node__opaque n); + + /* +- doDec - ++ queueBlocked - + */ + +-static void doDec (mcPretty_pretty p, decl_node n); ++static void queueBlocked (decl_node__opaque n); + + /* +- doIncDecC - ++ walkVar - + */ + +-static void doIncDecC (mcPretty_pretty p, decl_node n, const char *op_, unsigned int _op_high); ++static decl_dependentState walkVar (alists_alist l, decl_node__opaque n); + + /* +- doIncDecCP - ++ walkEnumeration - + */ + +-static void doIncDecCP (mcPretty_pretty p, decl_node n, const char *op_, unsigned int _op_high); ++static decl_dependentState walkEnumeration (alists_alist l, decl_node__opaque n); + + /* +- doInclC - ++ walkSubrange - + */ + +-static void doInclC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkSubrange (alists_alist l, decl_node__opaque n); + + /* +- doExclC - ++ walkSubscript - + */ + +-static void doExclC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkSubscript (alists_alist l, decl_node__opaque n); + + /* +- doNewC - ++ walkPointer - + */ + +-static void doNewC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkPointer (alists_alist l, decl_node__opaque n); + + /* +- doDisposeC - ++ walkArray - + */ + +-static void doDisposeC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkArray (alists_alist l, decl_node__opaque n); + + /* +- doCapC - ++ walkConst - + */ + +-static void doCapC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkConst (alists_alist l, decl_node__opaque n); + + /* +- doLengthC - ++ walkVarParam - + */ + +-static void doLengthC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkVarParam (alists_alist l, decl_node__opaque n); + + /* +- doAbsC - ++ walkParam - + */ + +-static void doAbsC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkParam (alists_alist l, decl_node__opaque n); + + /* +- doValC - ++ walkOptarg - + */ + +-static void doValC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkOptarg (alists_alist l, decl_node__opaque n); + + /* +- doMinC - ++ walkRecordField - + */ + +-static void doMinC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkRecordField (alists_alist l, decl_node__opaque n); + + /* +- doMaxC - ++ walkVarientField - + */ + +-static void doMaxC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkVarientField (alists_alist l, decl_node__opaque n); + + /* +- isIntrinsic - returns if, n, is an intrinsic procedure. +- The intrinsic functions are represented as unary and binary nodes. ++ walkEnumerationField - + */ + +-static bool isIntrinsic (decl_node n); ++static decl_dependentState walkEnumerationField (alists_alist l, decl_node__opaque n); + + /* +- doHalt - ++ walkSet - + */ + +-static void doHalt (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkSet (alists_alist l, decl_node__opaque n); + + /* +- doCreal - emit the appropriate creal function. ++ walkProcType - + */ + +-static void doCreal (mcPretty_pretty p, decl_node t); ++static decl_dependentState walkProcType (alists_alist l, decl_node__opaque n); + + /* +- doCimag - emit the appropriate cimag function. ++ walkProcedure - + */ + +-static void doCimag (mcPretty_pretty p, decl_node t); ++static decl_dependentState walkProcedure (alists_alist l, decl_node__opaque n); + + /* +- doReC - ++ walkParameters - + */ + +-static void doReC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkParameters (alists_alist l, Indexing_Index p); + + /* +- doImC - ++ walkFuncCall - + */ + +-static void doImC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkFuncCall (alists_alist l, decl_node__opaque n); + + /* +- doCmplx - ++ walkUnary - + */ + +-static void doCmplx (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkUnary (alists_alist l, decl_node__opaque n); + + /* +- doIntrinsicC - ++ walkBinary - + */ + +-static void doIntrinsicC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkBinary (alists_alist l, decl_node__opaque n); + + /* +- isIntrinsicFunction - returns true if, n, is an instrinsic function. ++ walkComponentRef - + */ + +-static bool isIntrinsicFunction (decl_node n); ++static decl_dependentState walkComponentRef (alists_alist l, decl_node__opaque n); + + /* +- doSizeC - ++ walkPointerRef - + */ + +-static void doSizeC (mcPretty_pretty p, decl_node n); ++static decl_dependentState walkPointerRef (alists_alist l, decl_node__opaque n); + + /* +- doConvertC - ++ walkSetValue - + */ + +-static void doConvertC (mcPretty_pretty p, decl_node n, const char *conversion_, unsigned int _conversion_high); ++static decl_dependentState walkSetValue (alists_alist l, decl_node__opaque n); + + /* +- doConvertSC - ++ doDependants - return the dependentState depending upon whether ++ all dependants have been declared. + */ + +-static void doConvertSC (mcPretty_pretty p, decl_node n, DynamicStrings_String conversion); ++static decl_dependentState doDependants (alists_alist l, decl_node__opaque n); + + /* +- getFuncFromExpr - ++ tryComplete - returns TRUE if node, n, can be and was completed. + */ + +-static decl_node getFuncFromExpr (decl_node n); ++static bool tryComplete (decl_node__opaque n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v); + + /* +- doFuncExprC - ++ tryCompleteFromPartial - + */ + +-static void doFuncExprC (mcPretty_pretty p, decl_node n); ++static bool tryCompleteFromPartial (decl_node__opaque n, decl_nodeProcedure t); + + /* +- doFuncCallC - ++ visitIntrinsicFunction - + */ + +-static void doFuncCallC (mcPretty_pretty p, decl_node n); ++static void visitIntrinsicFunction (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseStatementC - ++ visitUnary - + */ + +-static void doCaseStatementC (mcPretty_pretty p, decl_node n, bool needBreak); ++static void visitUnary (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doExceptionC - ++ visitBinary - + */ + +-static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n); ++static void visitBinary (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doExceptionCP - ++ visitBoolean - + */ + +-static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n); ++static void visitBoolean (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doException - ++ visitScope - + */ + +-static void doException (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n); ++static void visitScope (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doRangeListC - ++ visitType - + */ + +-static void doRangeListC (mcPretty_pretty p, decl_node c); ++static void visitType (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doRangeIfListC - ++ visitIndex - + */ + +-static void doRangeIfListC (mcPretty_pretty p, decl_node e, decl_node c); ++static void visitIndex (alists_alist v, Indexing_Index i, decl_nodeProcedure p); + + /* +- doCaseLabels - ++ visitRecord - + */ + +-static void doCaseLabels (mcPretty_pretty p, decl_node n, bool needBreak); ++static void visitRecord (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseLabelListC - ++ visitVarient - + */ + +-static void doCaseLabelListC (mcPretty_pretty p, decl_node n, bool haveElse); ++static void visitVarient (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseIfLabels - ++ visitVar - + */ + +-static void doCaseIfLabels (mcPretty_pretty p, decl_node e, decl_node n, unsigned int i, unsigned int h); ++static void visitVar (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseIfLabelListC - ++ visitEnumeration - + */ + +-static void doCaseIfLabelListC (mcPretty_pretty p, decl_node n); ++static void visitEnumeration (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseElseC - ++ visitSubrange - + */ + +-static void doCaseElseC (mcPretty_pretty p, decl_node n); ++static void visitSubrange (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseIfElseC - ++ visitPointer - + */ + +-static void doCaseIfElseC (mcPretty_pretty p, decl_node n); ++static void visitPointer (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- canUseSwitchCaseLabels - returns TRUE if all the case labels are +- single values and not ranges. ++ visitArray - + */ + +-static bool canUseSwitchCaseLabels (decl_node n); ++static void visitArray (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- canUseSwitch - returns TRUE if the case statement can be implement +- by a switch statement. This will be TRUE if all case +- selectors are single values rather than ranges. ++ visitConst - + */ + +-static bool canUseSwitch (decl_node n); ++static void visitConst (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doCaseC - ++ visitVarParam - + */ + +-static void doCaseC (mcPretty_pretty p, decl_node n); ++static void visitVarParam (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doLoopC - ++ visitParam - + */ + +-static void doLoopC (mcPretty_pretty p, decl_node s); ++static void visitParam (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doExitC - ++ visitOptarg - + */ + +-static void doExitC (mcPretty_pretty p, decl_node s); ++static void visitOptarg (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doStatementsC - ++ visitRecordField - + */ + +-static void doStatementsC (mcPretty_pretty p, decl_node s); +-static void stop (void); ++static void visitRecordField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doLocalVarC - ++ visitVarientField - + */ + +-static void doLocalVarC (mcPretty_pretty p, decl_scopeT s); ++static void visitVarientField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doLocalConstTypesC - ++ visitEnumerationField - + */ + +-static void doLocalConstTypesC (mcPretty_pretty p, decl_scopeT s); ++static void visitEnumerationField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- addParamDone - ++ visitSet - + */ + +-static void addParamDone (decl_node n); ++static void visitSet (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- includeParameters - ++ visitProcType - + */ + +-static void includeParameters (decl_node n); ++static void visitProcType (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isHalt - ++ visitSubscript - + */ + +-static bool isHalt (decl_node n); ++static void visitSubscript (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isReturnOrHalt - ++ visitDecls - + */ + +-static bool isReturnOrHalt (decl_node n); ++static void visitDecls (alists_alist v, decl_scopeT s, decl_nodeProcedure p); + + /* +- isLastStatementReturn - ++ visitProcedure - + */ + +-static bool isLastStatementReturn (decl_node n); ++static void visitProcedure (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isLastStatementSequence - ++ visitDef - + */ + +-static bool isLastStatementSequence (decl_node n, decl_isNodeF q); ++static void visitDef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isLastStatementIf - ++ visitImp - + */ + +-static bool isLastStatementIf (decl_node n, decl_isNodeF q); ++static void visitImp (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isLastStatementElsif - ++ visitModule - + */ + +-static bool isLastStatementElsif (decl_node n, decl_isNodeF q); ++static void visitModule (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isLastStatementCase - ++ visitLoop - + */ + +-static bool isLastStatementCase (decl_node n, decl_isNodeF q); ++static void visitLoop (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- isLastStatement - returns TRUE if the last statement in, n, is, q. ++ visitWhile - + */ + +-static bool isLastStatement (decl_node n, decl_isNodeF q); ++static void visitWhile (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- doProcedureC - ++ visitRepeat - + */ + +-static void doProcedureC (decl_node n); ++static void visitRepeat (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- outProceduresC - ++ visitCase - + */ + +-static void outProceduresC (mcPretty_pretty p, decl_scopeT s); ++static void visitCase (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- output - ++ visitCaseLabelList - + */ + +-static void output (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v); ++static void visitCaseLabelList (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- allDependants - ++ visitCaseList - + */ + +-static decl_dependentState allDependants (decl_node n); ++static void visitCaseList (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkDependants - ++ visitRange - + */ + +-static decl_dependentState walkDependants (alists_alist l, decl_node n); ++static void visitRange (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkType - ++ visitIf - + */ + +-static decl_dependentState walkType (alists_alist l, decl_node n); ++static void visitIf (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- db - ++ visitElsif - + */ + +-static void db (const char *a_, unsigned int _a_high, decl_node n); ++static void visitElsif (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- dbt - ++ visitFor - + */ + +-static void dbt (const char *a_, unsigned int _a_high); ++static void visitFor (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- dbs - ++ visitAssignment - + */ + +-static void dbs (decl_dependentState s, decl_node n); ++static void visitAssignment (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- dbq - ++ visitComponentRef - + */ + +-static void dbq (decl_node n); ++static void visitComponentRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkRecord - ++ visitPointerRef - + */ + +-static decl_dependentState walkRecord (alists_alist l, decl_node n); ++static void visitPointerRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkVarient - ++ visitArrayRef - + */ + +-static decl_dependentState walkVarient (alists_alist l, decl_node n); ++static void visitArrayRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- queueBlocked - ++ visitFunccall - + */ + +-static void queueBlocked (decl_node n); ++static void visitFunccall (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkVar - ++ visitVarDecl - + */ + +-static decl_dependentState walkVar (alists_alist l, decl_node n); ++static void visitVarDecl (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkEnumeration - ++ visitExplist - + */ + +-static decl_dependentState walkEnumeration (alists_alist l, decl_node n); ++static void visitExplist (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkSubrange - ++ visitExit - + */ + +-static decl_dependentState walkSubrange (alists_alist l, decl_node n); ++static void visitExit (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkSubscript - ++ visitReturn - + */ + +-static decl_dependentState walkSubscript (alists_alist l, decl_node n); ++static void visitReturn (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkPointer - ++ visitStmtSeq - + */ + +-static decl_dependentState walkPointer (alists_alist l, decl_node n); ++static void visitStmtSeq (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkArray - ++ visitVarargs - + */ + +-static decl_dependentState walkArray (alists_alist l, decl_node n); ++static void visitVarargs (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkConst - ++ visitSetValue - + */ + +-static decl_dependentState walkConst (alists_alist l, decl_node n); ++static void visitSetValue (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkVarParam - ++ visitIntrinsic - + */ + +-static decl_dependentState walkVarParam (alists_alist l, decl_node n); ++static void visitIntrinsic (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkParam - ++ visitDependants - helper procedure function called from visitNode. ++ node n has just been visited, this procedure will ++ visit node, n, dependants. + */ + +-static decl_dependentState walkParam (alists_alist l, decl_node n); ++static void visitDependants (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkOptarg - ++ visitNode - visits node, n, if it is not already in the alist, v. ++ It calls p(n) if the node is unvisited. + */ + +-static decl_dependentState walkOptarg (alists_alist l, decl_node n); ++static void visitNode (alists_alist v, decl_node__opaque n, decl_nodeProcedure p); + + /* +- walkRecordField - ++ genKind - returns a string depending upon the kind of node, n. + */ + +-static decl_dependentState walkRecordField (alists_alist l, decl_node n); ++static DynamicStrings_String genKind (decl_node__opaque n); + + /* +- walkVarientField - ++ gen - generate a small string describing node, n. + */ + +-static decl_dependentState walkVarientField (alists_alist l, decl_node n); ++static DynamicStrings_String gen (decl_node__opaque n); + + /* +- walkEnumerationField - ++ dumpQ - + */ + +-static decl_dependentState walkEnumerationField (alists_alist l, decl_node n); ++static void dumpQ (const char *q_, unsigned int _q_high, alists_alist l); + + /* +- walkSet - ++ dumpLists - + */ + +-static decl_dependentState walkSet (alists_alist l, decl_node n); ++static void dumpLists (void); + + /* +- walkProcType - ++ outputHidden - + */ + +-static decl_dependentState walkProcType (alists_alist l, decl_node n); ++static void outputHidden (decl_node__opaque n); + + /* +- walkProcedure - ++ outputHiddenComplete - + */ + +-static decl_dependentState walkProcedure (alists_alist l, decl_node n); ++static void outputHiddenComplete (decl_node__opaque n); + + /* +- walkParameters - ++ tryPartial - + */ + +-static decl_dependentState walkParameters (alists_alist l, Indexing_Index p); ++static bool tryPartial (decl_node__opaque n, decl_nodeProcedure pt); + + /* +- walkFuncCall - ++ outputPartialRecordArrayProcType - + */ + +-static decl_dependentState walkFuncCall (alists_alist l, decl_node n); ++static void outputPartialRecordArrayProcType (decl_node__opaque n, decl_node__opaque q, unsigned int indirection); + + /* +- walkUnary - ++ outputPartial - + */ + +-static decl_dependentState walkUnary (alists_alist l, decl_node n); ++static void outputPartial (decl_node__opaque n); + + /* +- walkBinary - ++ tryOutputTodo - + */ + +-static decl_dependentState walkBinary (alists_alist l, decl_node n); ++static void tryOutputTodo (decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v, decl_nodeProcedure pt); + + /* +- walkComponentRef - ++ tryOutputPartial - + */ + +-static decl_dependentState walkComponentRef (alists_alist l, decl_node n); ++static void tryOutputPartial (decl_nodeProcedure t); + + /* +- walkPointerRef - ++ debugList - + */ + +-static decl_dependentState walkPointerRef (alists_alist l, decl_node n); ++static void debugList (const char *listName_, unsigned int _listName_high, const char *symName_, unsigned int _symName_high, alists_alist l); + + /* +- walkSetValue - ++ debugLists - + */ + +-static decl_dependentState walkSetValue (alists_alist l, decl_node n); ++static void debugLists (void); + + /* +- doDependants - return the dependentState depending upon whether +- all dependants have been declared. ++ addEnumConst - + */ + +-static decl_dependentState doDependants (alists_alist l, decl_node n); ++static void addEnumConst (decl_node__opaque n); + + /* +- tryComplete - returns TRUE if node, n, can be and was completed. ++ populateTodo - + */ + +-static bool tryComplete (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v); ++static void populateTodo (decl_nodeProcedure p); + + /* +- tryCompleteFromPartial - ++ topologicallyOut - keep trying to resolve the todoQ and partialQ ++ until there is no change from the global group. + */ + +-static bool tryCompleteFromPartial (decl_node n, decl_nodeProcedure t); ++static void topologicallyOut (decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v, decl_nodeProcedure tp, decl_nodeProcedure pc, decl_nodeProcedure pt, decl_nodeProcedure pv); + + /* +- visitIntrinsicFunction - ++ scaffoldStatic - + */ + +-static void visitIntrinsicFunction (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void scaffoldStatic (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitUnary - ++ emitCtor - + */ + +-static void visitUnary (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void emitCtor (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitBinary - ++ scaffoldDynamic - + */ + +-static void visitBinary (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void scaffoldDynamic (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitBoolean - ++ scaffoldMain - + */ + +-static void visitBoolean (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void scaffoldMain (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitScope - ++ outImpInitC - emit the init/fini functions and main function if required. + */ + +-static void visitScope (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outImpInitC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitType - ++ runSimplifyTypes - + */ + +-static void visitType (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void runSimplifyTypes (decl_node__opaque n); + + /* +- visitIndex - ++ outDefC - + */ + +-static void visitIndex (alists_alist v, Indexing_Index i, decl_nodeProcedure p); ++static void outDefC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitRecord - ++ runPrototypeExported - + */ + +-static void visitRecord (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void runPrototypeExported (decl_node__opaque n); + + /* +- visitVarient - ++ runPrototypeDefC - + */ + +-static void visitVarient (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void runPrototypeDefC (decl_node__opaque n); + + /* +- visitVar - ++ outImpC - + */ + +-static void visitVar (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outImpC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitEnumeration - ++ outDeclsModuleC - + */ + +-static void visitEnumeration (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outDeclsModuleC (mcPretty_pretty p, decl_scopeT s); + + /* +- visitSubrange - ++ outModuleInitC - + */ + +-static void visitSubrange (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outModuleInitC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitPointer - ++ outModuleC - + */ + +-static void visitPointer (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outModuleC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitArray - ++ outC - + */ + +-static void visitArray (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outC (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitConst - ++ doIncludeM2 - include modules in module, n. + */ + +-static void visitConst (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doIncludeM2 (decl_node__opaque n); + + /* +- visitVarParam - ++ doConstM2 - + */ + +-static void visitVarParam (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doConstM2 (decl_node__opaque n); + + /* +- visitParam - ++ doProcTypeM2 - + */ + +-static void visitParam (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doProcTypeM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitOptarg - ++ doRecordFieldM2 - + */ + +-static void visitOptarg (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doRecordFieldM2 (mcPretty_pretty p, decl_node__opaque f); + + /* +- visitRecordField - ++ doVarientFieldM2 - + */ + +-static void visitRecordField (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doVarientFieldM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitVarientField - ++ doVarientM2 - + */ + +-static void visitVarientField (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doVarientM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitEnumerationField - ++ doRecordM2 - + */ + +-static void visitEnumerationField (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doRecordM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitSet - ++ doPointerM2 - + */ + +-static void visitSet (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doPointerM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitProcType - ++ doTypeAliasM2 - + */ + +-static void visitProcType (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doTypeAliasM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitSubscript - ++ doEnumerationM2 - + */ + +-static void visitSubscript (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doEnumerationM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitDecls - ++ doBaseM2 - + */ + +-static void visitDecls (alists_alist v, decl_scopeT s, decl_nodeProcedure p); ++static void doBaseM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitProcedure - ++ doSystemM2 - + */ + +-static void visitProcedure (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doSystemM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitDef - ++ doTypeM2 - + */ + +-static void visitDef (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doTypeM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitImp - ++ doTypesM2 - + */ + +-static void visitImp (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doTypesM2 (decl_node__opaque n); + + /* +- visitModule - ++ doVarM2 - + */ + +-static void visitModule (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doVarM2 (decl_node__opaque n); + + /* +- visitLoop - ++ doVarsM2 - + */ + +-static void visitLoop (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doVarsM2 (decl_node__opaque n); + + /* +- visitWhile - ++ doTypeNameM2 - + */ + +-static void visitWhile (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doTypeNameM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitRepeat - ++ doParamM2 - + */ + +-static void visitRepeat (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doParamM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitCase - ++ doVarParamM2 - + */ + +-static void visitCase (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doVarParamM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitCaseLabelList - ++ doParameterM2 - + */ + +-static void visitCaseLabelList (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doParameterM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitCaseList - ++ doPrototypeM2 - + */ + +-static void visitCaseList (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doPrototypeM2 (decl_node__opaque n); + + /* +- visitRange - ++ outputPartialM2 - just writes out record, array, and proctypes. ++ No need for forward declarations in Modula-2 ++ but we need to keep topological sort happy. ++ So when asked to output partial we emit the ++ full type for these types and then do nothing ++ when trying to complete partial to full. + */ + +-static void visitRange (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outputPartialM2 (decl_node__opaque n); + + /* +- visitIf - ++ outDeclsDefM2 - + */ + +-static void visitIf (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outDeclsDefM2 (mcPretty_pretty p, decl_scopeT s); + + /* +- visitElsif - ++ outDefM2 - + */ + +-static void visitElsif (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outDefM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitFor - ++ outDeclsImpM2 - + */ + +-static void visitFor (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outDeclsImpM2 (mcPretty_pretty p, decl_scopeT s); + + /* +- visitAssignment - ++ outImpM2 - + */ + +-static void visitAssignment (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outImpM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitComponentRef - ++ outModuleM2 - + */ + +-static void visitComponentRef (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outModuleM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitPointerRef - ++ outM2 - + */ + +-static void visitPointerRef (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void outM2 (mcPretty_pretty p, decl_node__opaque n); + + /* +- visitArrayRef - ++ addDone - adds node, n, to the doneQ. + */ + +-static void visitArrayRef (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void addDone (decl_node__opaque n); + + /* +- visitFunccall - ++ addDoneDef - adds node, n, to the doneQ providing ++ it is not an opaque of the main module we are compiling. + */ + +-static void visitFunccall (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void addDoneDef (decl_node__opaque n); + + /* +- visitVarDecl - ++ dbgAdd - + */ + +-static void visitVarDecl (alists_alist v, decl_node n, decl_nodeProcedure p); ++static decl_node__opaque dbgAdd (alists_alist l, decl_node__opaque n); + + /* +- visitExplist - ++ dbgType - + */ + +-static void visitExplist (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgType (alists_alist l, decl_node__opaque n); + + /* +- visitExit - ++ dbgPointer - + */ + +-static void visitExit (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgPointer (alists_alist l, decl_node__opaque n); + + /* +- visitReturn - ++ dbgRecord - + */ + +-static void visitReturn (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgRecord (alists_alist l, decl_node__opaque n); + + /* +- visitStmtSeq - ++ dbgVarient - + */ + +-static void visitStmtSeq (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgVarient (alists_alist l, decl_node__opaque n); + + /* +- visitVarargs - ++ dbgEnumeration - + */ + +-static void visitVarargs (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgEnumeration (alists_alist l, decl_node__opaque n); + + /* +- visitSetValue - ++ dbgVar - + */ + +-static void visitSetValue (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgVar (alists_alist l, decl_node__opaque n); + + /* +- visitIntrinsic - ++ dbgSubrange - + */ + +-static void visitIntrinsic (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgSubrange (alists_alist l, decl_node__opaque n); + + /* +- visitDependants - helper procedure function called from visitNode. +- node n has just been visited, this procedure will +- visit node, n, dependants. ++ dbgArray - + */ + +-static void visitDependants (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void dbgArray (alists_alist l, decl_node__opaque n); + + /* +- visitNode - visits node, n, if it is not already in the alist, v. +- It calls p(n) if the node is unvisited. ++ doDbg - + */ + +-static void visitNode (alists_alist v, decl_node n, decl_nodeProcedure p); ++static void doDbg (alists_alist l, decl_node__opaque n); + + /* +- genKind - returns a string depending upon the kind of node, n. ++ dbg - + */ + +-static DynamicStrings_String genKind (decl_node n); ++static void dbg (const char *listName_, unsigned int _listName_high, const char *symName_, unsigned int _symName_high, decl_node__opaque n); + + /* +- gen - generate a small string describing node, n. ++ addGenericBody - adds comment node to funccall, return, assignment ++ nodes. + */ + +-static DynamicStrings_String gen (decl_node n); ++static void addGenericBody (decl_node__opaque n, decl_node__opaque c); + + /* +- dumpQ - ++ addGenericAfter - adds comment node to funccall, return, assignment ++ nodes. + */ + +-static void dumpQ (const char *q_, unsigned int _q_high, alists_alist l); ++static void addGenericAfter (decl_node__opaque n, decl_node__opaque c); + + /* +- dumpLists - ++ isAssignment - + */ + +-static void dumpLists (void); ++static bool isAssignment (decl_node__opaque n); + + /* +- outputHidden - ++ isComment - returns TRUE if node, n, is a comment. + */ + +-static void outputHidden (decl_node n); ++static bool isComment (decl_node__opaque n); + + /* +- outputHiddenComplete - ++ initPair - initialise the commentPair, c. + */ + +-static void outputHiddenComplete (decl_node n); ++static void initPair (decl_commentPair *c); + + /* +- tryPartial - ++ dupExplist - + */ + +-static bool tryPartial (decl_node n, decl_nodeProcedure pt); ++static decl_node__opaque dupExplist (decl_node__opaque n); + + /* +- outputPartialRecordArrayProcType - ++ dupArrayref - + */ + +-static void outputPartialRecordArrayProcType (decl_node n, decl_node q, unsigned int indirection); ++static decl_node__opaque dupArrayref (decl_node__opaque n); + + /* +- outputPartial - ++ dupPointerref - + */ + +-static void outputPartial (decl_node n); ++static decl_node__opaque dupPointerref (decl_node__opaque n); + + /* +- tryOutputTodo - ++ dupComponentref - + */ + +-static void tryOutputTodo (decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v, decl_nodeProcedure pt); ++static decl_node__opaque dupComponentref (decl_node__opaque n); + + /* +- tryOutputPartial - ++ dupBinary - + */ + +-static void tryOutputPartial (decl_nodeProcedure t); ++static decl_node__opaque dupBinary (decl_node__opaque n); + + /* +- debugList - ++ dupUnary - + */ + +-static void debugList (const char *a_, unsigned int _a_high, alists_alist l); ++static decl_node__opaque dupUnary (decl_node__opaque n); + + /* +- debugLists - ++ dupFunccall - + */ + +-static void debugLists (void); ++static decl_node__opaque dupFunccall (decl_node__opaque n); + + /* +- addEnumConst - ++ dupSetValue - + */ + +-static void addEnumConst (decl_node n); ++static decl_node__opaque dupSetValue (decl_node__opaque n); + + /* +- populateTodo - ++ doDupExpr - + */ + +-static void populateTodo (decl_nodeProcedure p); ++static decl_node__opaque doDupExpr (decl_node__opaque n); + + /* +- topologicallyOut - ++ makeSystem - + */ + +-static void topologicallyOut (decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v, decl_nodeProcedure tp, decl_nodeProcedure pc, decl_nodeProcedure pt, decl_nodeProcedure pv); ++static void makeSystem (void); + + /* +- scaffoldStatic - ++ makeM2rts - + */ + +-static void scaffoldStatic (mcPretty_pretty p, decl_node n); ++static void makeM2rts (void); + + /* +- emitCtor - ++ makeBitnum - + */ + +-static void emitCtor (mcPretty_pretty p, decl_node n); ++static decl_node__opaque makeBitnum (void); + + /* +- scaffoldDynamic - ++ makeBaseSymbols - + */ + +-static void scaffoldDynamic (mcPretty_pretty p, decl_node n); ++static void makeBaseSymbols (void); + + /* +- scaffoldMain - ++ makeBuiltins - + */ + +-static void scaffoldMain (mcPretty_pretty p, decl_node n); ++static void makeBuiltins (void); + + /* +- outImpInitC - emit the init/fini functions and main function if required. ++ makeCDataTypes - assign the charStarN and constCharStarN to NIL. + */ + +-static void outImpInitC (mcPretty_pretty p, decl_node n); ++static void makeCDataTypes (void); + + /* +- runSimplifyTypes - ++ init - + */ + +-static void runSimplifyTypes (decl_node n); ++static void init (void); ++ + + /* +- outDefC - ++ newNode - create and return a new node of kind k. + */ + +-static void outDefC (mcPretty_pretty p, decl_node n); ++static decl_node__opaque newNode (decl_nodeT k) ++{ ++ decl_node__opaque d; + +-/* +- runPrototypeExported - +-*/ ++ Storage_ALLOCATE ((void **) &d, sizeof (decl_nodeRec)); ++ if (enableMemsetOnAllocation) ++ { ++ d = static_cast (libc_memset (reinterpret_cast (d), 0, static_cast (sizeof ((*d))))); ++ } ++ if (d == NULL) ++ { ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ } ++ else ++ { ++ d->kind = k; ++ d->at.defDeclared = 0; ++ d->at.modDeclared = 0; ++ d->at.firstUsed = 0; ++ return d; ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++} + +-static void runPrototypeExported (decl_node n); + + /* +- runPrototypeDefC - ++ disposeNode - dispose node, n. + */ + +-static void runPrototypeDefC (decl_node n); ++static void disposeNode (decl_node__opaque *n) ++{ ++ Storage_DEALLOCATE ((void **) &(*n), sizeof (decl_nodeRec)); ++ (*n) = static_cast (NULL); ++} ++ + + /* +- outImpC - ++ newGroup - + */ + +-static void outImpC (mcPretty_pretty p, decl_node n); ++static void newGroup (decl_group *g) ++{ ++ if (freeGroup == NULL) ++ { ++ Storage_ALLOCATE ((void **) &(*g), sizeof (decl__T1)); ++ } ++ else ++ { ++ (*g) = freeGroup; ++ freeGroup = freeGroup->next; ++ } ++} ++ + + /* +- outDeclsModuleC - ++ initGroup - returns a group which with all lists initialized. + */ + +-static void outDeclsModuleC (mcPretty_pretty p, decl_scopeT s); ++static decl_group initGroup (void) ++{ ++ decl_group g; + +-/* +- outModuleInitC - +-*/ ++ newGroup (&g); ++ g->todoQ = alists_initList (); ++ g->partialQ = alists_initList (); ++ g->doneQ = alists_initList (); ++ g->next = NULL; ++ return g; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void outModuleInitC (mcPretty_pretty p, decl_node n); + + /* +- outModuleC - ++ killGroup - deallocate the group and place the group record into the freeGroup list. + */ + +-static void outModuleC (mcPretty_pretty p, decl_node n); ++static void killGroup (decl_group *g) ++{ ++ alists_killList (&(*g)->todoQ); ++ alists_killList (&(*g)->partialQ); ++ alists_killList (&(*g)->doneQ); ++ (*g)->next = freeGroup; ++ freeGroup = (*g); ++} ++ + + /* +- outC - ++ dupGroup - If g is not NIL then destroy g. ++ Return a duplicate of GlobalGroup (not g). + */ + +-static void outC (mcPretty_pretty p, decl_node n); ++static decl_group dupGroup (decl_group g) ++{ ++ if (g != NULL) ++ { ++ /* Kill old group. */ ++ killGroup (&g); ++ } ++ newGroup (&g); ++ /* Copy all lists. */ ++ g->todoQ = alists_duplicateList (globalGroup->todoQ); ++ g->partialQ = alists_duplicateList (globalGroup->partialQ); ++ g->doneQ = alists_duplicateList (globalGroup->doneQ); ++ g->next = NULL; ++ return g; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doIncludeM2 - include modules in module, n. ++ equalGroup - return TRUE if group left = right. + */ + +-static void doIncludeM2 (decl_node n); ++static bool equalGroup (decl_group left, decl_group right) ++{ ++ return (left == right) || (((alists_equalList (left->todoQ, right->todoQ)) && (alists_equalList (left->partialQ, right->partialQ))) && (alists_equalList (left->doneQ, right->doneQ))); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doConstM2 - ++ isLocal - returns TRUE if symbol, n, is locally declared in a procedure. + */ + +-static void doConstM2 (decl_node n); ++static bool isLocal (decl_node__opaque n) ++{ ++ decl_node__opaque s; + +-/* +- doProcTypeM2 - +-*/ ++ s = static_cast (decl_getScope (static_cast (n))); ++ if (s != NULL) ++ { ++ return decl_isProcedure (static_cast (s)); ++ } ++ return false; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void doProcTypeM2 (mcPretty_pretty p, decl_node n); + + /* +- doRecordFieldM2 - ++ importEnumFields - if, n, is an enumeration type import the all fields into module, m. + */ + +-static void doRecordFieldM2 (mcPretty_pretty p, decl_node f); ++static void importEnumFields (decl_node__opaque m, decl_node__opaque n) ++{ ++ decl_node__opaque r; ++ decl_node__opaque e; ++ unsigned int i; ++ unsigned int h; + +-/* +- doVarientFieldM2 - +-*/ ++ mcDebug_assert (((decl_isDef (static_cast (m))) || (decl_isModule (static_cast (m)))) || (decl_isImp (static_cast (m)))); ++ n = static_cast (decl_skipType (static_cast (n))); ++ if ((n != NULL) && (decl_isEnumeration (static_cast (n)))) ++ { ++ i = Indexing_LowIndice (n->enumerationF.listOfSons); ++ h = Indexing_HighIndice (n->enumerationF.listOfSons); ++ while (i <= h) ++ { ++ e = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); ++ r = static_cast (decl_import (static_cast (m), static_cast (e))); ++ if (e != r) ++ { ++ mcMetaError_metaError2 ((const char *) "enumeration field {%1ad} cannot be imported implicitly into {%2d} due to a name clash", 85, (const unsigned char *) &e, (sizeof (e)-1), (const unsigned char *) &m, (sizeof (m)-1)); ++ } ++ i += 1; ++ } ++ } ++} + +-static void doVarientFieldM2 (mcPretty_pretty p, decl_node n); + + /* +- doVarientM2 - ++ checkGccType - check to see if node n is gcc tree or location_t ++ and record its use in keyc. + */ + +-static void doVarientM2 (mcPretty_pretty p, decl_node n); ++static void checkGccType (decl_node__opaque n) ++{ ++ if (((mcOptions_getGccConfigSystem ()) && ((decl_getScope (static_cast (n))) != NULL)) && ((decl_getSymName (decl_getScope (static_cast (n)))) == (nameKey_makeKey ((const char *) "gcctypes", 8)))) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "location_t", 10))) ++ { ++ keyc_useGccLocation (); ++ } ++ else if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "tree", 4))) ++ { ++ /* avoid dangling else. */ ++ keyc_useGccTree (); ++ } ++ } ++} ++ + + /* +- doRecordM2 - ++ checkCDataTypes - check to see if node n is CharStar or ConstCharStar ++ and if necessary assign n to the global variable. + */ + +-static void doRecordM2 (mcPretty_pretty p, decl_node n); ++static void checkCDataTypes (decl_node__opaque n) ++{ ++ if (((decl_getScope (static_cast (n))) != NULL) && ((decl_getSymName (decl_getScope (static_cast (n)))) == (nameKey_makeKey ((const char *) "CDataTypes", 10)))) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "CharStar", 8))) ++ { ++ charStarN = n; ++ } ++ else if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "ConstCharStar", 13))) ++ { ++ /* avoid dangling else. */ ++ constCharStarN = n; ++ } ++ } ++} ++ + + /* +- doPointerM2 - ++ isComplex - returns TRUE if, n, is the complex type. + */ + +-static void doPointerM2 (mcPretty_pretty p, decl_node n); ++static bool isComplex (decl_node__opaque n) ++{ ++ return n == complexN; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doTypeAliasM2 - ++ isLongComplex - returns TRUE if, n, is the longcomplex type. + */ + +-static void doTypeAliasM2 (mcPretty_pretty p, decl_node n); ++static bool isLongComplex (decl_node__opaque n) ++{ ++ return n == longcomplexN; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doEnumerationM2 - ++ isShortComplex - returns TRUE if, n, is the shortcomplex type. + */ + +-static void doEnumerationM2 (mcPretty_pretty p, decl_node n); ++static bool isShortComplex (decl_node__opaque n) ++{ ++ return n == shortcomplexN; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doBaseM2 - ++ isAProcType - returns TRUE if, n, is a proctype or proc node. + */ + +-static void doBaseM2 (mcPretty_pretty p, decl_node n); ++static bool isAProcType (decl_node__opaque n) ++{ ++ mcDebug_assert (n != NULL); ++ return (decl_isProcType (static_cast (n))) || (n == procN); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ + + /* +- doSystemM2 - ++ initFixupInfo - initialize the fixupInfo record. + */ + +-static void doSystemM2 (mcPretty_pretty p, decl_node n); +- +-/* +- doTypeM2 - +-*/ +- +-static void doTypeM2 (mcPretty_pretty p, decl_node n); +- +-/* +- doTypesM2 - +-*/ +- +-static void doTypesM2 (decl_node n); ++static decl_fixupInfo initFixupInfo (void) ++{ ++ decl_fixupInfo f; + +-/* +- doVarM2 - +-*/ ++ f.count = 0; ++ f.info = Indexing_InitIndex (1); ++ return f; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void doVarM2 (decl_node n); + + /* +- doVarsM2 - ++ makeDef - returns a definition module node named, n. + */ + +-static void doVarsM2 (decl_node n); ++static decl_node__opaque makeDef (nameKey_Name n) ++{ ++ decl_node__opaque d; + +-/* +- doTypeNameM2 - +-*/ ++ d = newNode (decl_def); ++ d->defF.name = n; ++ d->defF.source = nameKey_NulName; ++ d->defF.hasHidden = false; ++ d->defF.forC = false; ++ d->defF.unqualified = false; ++ d->defF.exported = Indexing_InitIndex (1); ++ d->defF.importedModules = Indexing_InitIndex (1); ++ d->defF.constFixup = initFixupInfo (); ++ d->defF.enumFixup = initFixupInfo (); ++ initDecls (&d->defF.decls); ++ d->defF.enumsComplete = false; ++ d->defF.constsComplete = false; ++ d->defF.visited = false; ++ initPair (&d->defF.com); ++ return d; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void doTypeNameM2 (mcPretty_pretty p, decl_node n); + + /* +- doParamM2 - ++ makeImp - returns an implementation module node named, n. + */ + +-static void doParamM2 (mcPretty_pretty p, decl_node n); ++static decl_node__opaque makeImp (nameKey_Name n) ++{ ++ decl_node__opaque d; + +-/* +- doVarParamM2 - +-*/ ++ d = newNode (decl_imp); ++ d->impF.name = n; ++ d->impF.source = nameKey_NulName; ++ d->impF.importedModules = Indexing_InitIndex (1); ++ d->impF.constFixup = initFixupInfo (); ++ d->impF.enumFixup = initFixupInfo (); ++ initDecls (&d->impF.decls); ++ d->impF.beginStatements = static_cast (NULL); ++ d->impF.finallyStatements = static_cast (NULL); ++ d->impF.definitionModule = static_cast (NULL); ++ d->impF.enumsComplete = false; ++ d->impF.constsComplete = false; ++ d->impF.visited = false; ++ initPair (&d->impF.com); ++ return d; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void doVarParamM2 (mcPretty_pretty p, decl_node n); + + /* +- doParameterM2 - ++ makeModule - returns a module node named, n. + */ + +-static void doParameterM2 (mcPretty_pretty p, decl_node n); ++static decl_node__opaque makeModule (nameKey_Name n) ++{ ++ decl_node__opaque d; + +-/* +- doPrototypeM2 - +-*/ ++ d = newNode (decl_module); ++ d->moduleF.name = n; ++ d->moduleF.source = nameKey_NulName; ++ d->moduleF.importedModules = Indexing_InitIndex (1); ++ d->moduleF.constFixup = initFixupInfo (); ++ d->moduleF.enumFixup = initFixupInfo (); ++ initDecls (&d->moduleF.decls); ++ d->moduleF.beginStatements = static_cast (NULL); ++ d->moduleF.finallyStatements = static_cast (NULL); ++ d->moduleF.enumsComplete = false; ++ d->moduleF.constsComplete = false; ++ d->moduleF.visited = false; ++ initPair (&d->moduleF.com); ++ return d; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void doPrototypeM2 (decl_node n); + + /* +- outputPartialM2 - just writes out record, array, and proctypes. +- No need for forward declarations in Modula-2 +- but we need to keep topological sort happy. +- So when asked to output partial we emit the +- full type for these types and then do nothing +- when trying to complete partial to full. ++ isDefForC - returns TRUE if the definition module was defined FOR "C". + */ + +-static void outputPartialM2 (decl_node n); +- +-/* +- outDeclsDefM2 - +-*/ ++static bool isDefForC (decl_node__opaque n) ++{ ++ return (decl_isDef (static_cast (n))) && n->defF.forC; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void outDeclsDefM2 (mcPretty_pretty p, decl_scopeT s); + + /* +- outDefM2 - ++ initDecls - initialize the decls, scopeT. + */ + +-static void outDefM2 (mcPretty_pretty p, decl_node n); +- +-/* +- outDeclsImpM2 - +-*/ ++static void initDecls (decl_scopeT *decls) ++{ ++ (*decls).symbols = symbolKey_initTree (); ++ (*decls).constants = Indexing_InitIndex (1); ++ (*decls).types = Indexing_InitIndex (1); ++ (*decls).procedures = Indexing_InitIndex (1); ++ (*decls).variables = Indexing_InitIndex (1); ++} + +-static void outDeclsImpM2 (mcPretty_pretty p, decl_scopeT s); + + /* +- outImpM2 - ++ addTo - adds node, d, to scope decls and returns, d. ++ It stores, d, in the symbols tree associated with decls. + */ + +-static void outImpM2 (mcPretty_pretty p, decl_node n); ++static decl_node__opaque addTo (decl_scopeT *decls, decl_node__opaque d) ++{ ++ nameKey_Name n; + +-/* +- outModuleM2 - +-*/ ++ n = decl_getSymName (static_cast (d)); ++ if (n != nameKey_NulName) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((symbolKey_getSymKey ((*decls).symbols, n)) == NULL) ++ { ++ symbolKey_putSymKey ((*decls).symbols, n, reinterpret_cast (d)); ++ } ++ else ++ { ++ mcMetaError_metaError1 ((const char *) "{%1DMad} was declared", 21, (const unsigned char *) &d, (sizeof (d)-1)); ++ mcMetaError_metaError1 ((const char *) "{%1k} and is being declared again", 33, (const unsigned char *) &n, (sizeof (n)-1)); ++ } ++ } ++ if (decl_isConst (static_cast (d))) ++ { ++ Indexing_IncludeIndiceIntoIndex ((*decls).constants, reinterpret_cast (d)); ++ } ++ else if (decl_isVar (static_cast (d))) ++ { ++ /* avoid dangling else. */ ++ Indexing_IncludeIndiceIntoIndex ((*decls).variables, reinterpret_cast (d)); ++ } ++ else if (decl_isType (static_cast (d))) ++ { ++ /* avoid dangling else. */ ++ Indexing_IncludeIndiceIntoIndex ((*decls).types, reinterpret_cast (d)); ++ } ++ else if (decl_isProcedure (static_cast (d))) ++ { ++ /* avoid dangling else. */ ++ Indexing_IncludeIndiceIntoIndex ((*decls).procedures, reinterpret_cast (d)); ++ if (debugDecl) ++ { ++ libc_printf ((const char *) "%d procedures on the dynamic array\\n", 36, Indexing_HighIndice ((*decls).procedures)); ++ } ++ } ++ return d; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void outModuleM2 (mcPretty_pretty p, decl_node n); + + /* +- outM2 - ++ export - export node, n, from definition module, d. + */ + +-static void outM2 (mcPretty_pretty p, decl_node n); +- +-/* +- addDone - adds node, n, to the doneQ. +-*/ ++static void export_ (decl_node__opaque d, decl_node__opaque n) ++{ ++ mcDebug_assert (decl_isDef (static_cast (d))); ++ Indexing_IncludeIndiceIntoIndex (d->defF.exported, reinterpret_cast (n)); ++} + +-static void addDone (decl_node n); + + /* +- addDoneDef - adds node, n, to the doneQ providing +- it is not an opaque of the main module we are compiling. ++ addToScope - adds node, n, to the current scope and returns, n. + */ + +-static void addDoneDef (decl_node n); ++static decl_node__opaque addToScope (decl_node__opaque n) ++{ ++ decl_node__opaque s; ++ unsigned int i; + +-/* +- dbgAdd - +-*/ ++ i = Indexing_HighIndice (scopeStack); ++ s = static_cast (Indexing_GetIndice (scopeStack, i)); ++ if (decl_isProcedure (static_cast (s))) ++ { ++ if (debugDecl) ++ { ++ outText (doP, (const char *) "adding ", 7); ++ doNameC (doP, n); ++ outText (doP, (const char *) " to procedure\\n", 15); ++ } ++ return addTo (&s->procedureF.decls, n); ++ } ++ else if (decl_isModule (static_cast (s))) ++ { ++ /* avoid dangling else. */ ++ if (debugDecl) ++ { ++ outText (doP, (const char *) "adding ", 7); ++ doNameC (doP, n); ++ outText (doP, (const char *) " to module\\n", 12); ++ } ++ return addTo (&s->moduleF.decls, n); ++ } ++ else if (decl_isDef (static_cast (s))) ++ { ++ /* avoid dangling else. */ ++ if (debugDecl) ++ { ++ outText (doP, (const char *) "adding ", 7); ++ doNameC (doP, n); ++ outText (doP, (const char *) " to definition module\\n", 23); ++ } ++ export_ (s, n); ++ return addTo (&s->defF.decls, n); ++ } ++ else if (decl_isImp (static_cast (s))) ++ { ++ /* avoid dangling else. */ ++ if (debugDecl) ++ { ++ outText (doP, (const char *) "adding ", 7); ++ doNameC (doP, n); ++ outText (doP, (const char *) " to implementation module\\n", 27); ++ } ++ return addTo (&s->impF.decls, n); ++ } ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++} + +-static decl_node dbgAdd (alists_alist l, decl_node n); + + /* +- dbgType - ++ addModuleToScope - adds module, i, to module, m, scope. + */ + +-static void dbgType (alists_alist l, decl_node n); +- +-/* +- dbgPointer - +-*/ ++static void addModuleToScope (decl_node__opaque m, decl_node__opaque i) ++{ ++ mcDebug_assert ((decl_getDeclScope ()) == m); ++ if ((decl_lookupSym (decl_getSymName (static_cast (i)))) == NULL) ++ { ++ i = addToScope (i); ++ } ++} + +-static void dbgPointer (alists_alist l, decl_node n); + + /* +- dbgRecord - ++ completedEnum - assign boolean enumsComplete to TRUE if a definition, ++ implementation or module symbol. + */ + +-static void dbgRecord (alists_alist l, decl_node n); +- +-/* +- dbgVarient - +-*/ ++static void completedEnum (decl_node__opaque n) ++{ ++ mcDebug_assert (((decl_isDef (static_cast (n))) || (decl_isImp (static_cast (n)))) || (decl_isModule (static_cast (n)))); ++ if (decl_isDef (static_cast (n))) ++ { ++ n->defF.enumsComplete = true; ++ } ++ else if (decl_isImp (static_cast (n))) ++ { ++ /* avoid dangling else. */ ++ n->impF.enumsComplete = true; ++ } ++ else if (decl_isModule (static_cast (n))) ++ { ++ /* avoid dangling else. */ ++ n->moduleF.enumsComplete = true; ++ } ++} + +-static void dbgVarient (alists_alist l, decl_node n); + + /* +- dbgEnumeration - ++ setUnary - sets a unary node to contain, arg, a, and type, t. + */ + +-static void dbgEnumeration (alists_alist l, decl_node n); +- +-/* +- dbgVar - +-*/ +- +-static void dbgVar (alists_alist l, decl_node n); +- +-/* +- dbgSubrange - +-*/ +- +-static void dbgSubrange (alists_alist l, decl_node n); +- +-/* +- dbgArray - +-*/ ++static void setUnary (decl_node__opaque u, decl_nodeT k, decl_node__opaque a, decl_node__opaque t) ++{ ++ switch (k) ++ { ++ case decl_constexp: ++ case decl_deref: ++ case decl_chr: ++ case decl_cap: ++ case decl_abs: ++ case decl_float: ++ case decl_trunc: ++ case decl_ord: ++ case decl_high: ++ case decl_throw: ++ case decl_re: ++ case decl_im: ++ case decl_not: ++ case decl_neg: ++ case decl_adr: ++ case decl_size: ++ case decl_tsize: ++ case decl_min: ++ case decl_max: ++ u->kind = k; ++ u->unaryF.arg = a; ++ u->unaryF.resultType = t; ++ break; + +-static void dbgArray (alists_alist l, decl_node n); + +-/* +- doDbg - +-*/ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } ++} + +-static void doDbg (alists_alist l, decl_node n); + + /* +- dbg - ++ putVarBool - assigns the four booleans associated with a variable. + */ + +-static void dbg (decl_node n); +- +-/* +- addGenericBody - adds comment node to funccall, return, assignment +- nodes. +-*/ ++static void putVarBool (decl_node__opaque v, bool init, bool param, bool isvar, bool isused) ++{ ++ mcDebug_assert (decl_isVar (static_cast (v))); ++ v->varF.isInitialised = init; ++ v->varF.isParameter = param; ++ v->varF.isVarParameter = isvar; ++ v->varF.isUsed = isused; ++} + +-static void addGenericBody (decl_node n, decl_node c); + + /* +- addGenericAfter - adds comment node to funccall, return, assignment +- nodes. ++ checkPtr - in C++ we need to create a typedef for a pointer ++ in case we need to use reinterpret_cast. + */ + +-static void addGenericAfter (decl_node n, decl_node c); ++static decl_node__opaque checkPtr (decl_node__opaque n) ++{ ++ DynamicStrings_String s; ++ decl_node__opaque p; + +-/* +- isAssignment - +-*/ ++ if (lang == decl_ansiCP) ++ { ++ if (decl_isPointer (static_cast (n))) ++ { ++ s = tempName (); ++ p = static_cast (decl_makeType (nameKey_makekey (DynamicStrings_string (s)))); ++ decl_putType (static_cast (p), static_cast (n)); ++ s = DynamicStrings_KillString (s); ++ return p; ++ } ++ } ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static bool isAssignment (decl_node n); + + /* +- isComment - returns TRUE if node, n, is a comment. ++ isVarDecl - returns TRUE if, n, is a vardecl node. + */ + +-static bool isComment (decl_node n); +- +-/* +- initPair - initialise the commentPair, c. +-*/ ++static bool isVarDecl (decl_node__opaque n) ++{ ++ return n->kind == decl_vardecl; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void initPair (decl_commentPair *c); + + /* +- dupExplist - ++ makeVariablesFromParameters - creates variables which are really parameters. + */ + +-static decl_node dupExplist (decl_node n); ++static void makeVariablesFromParameters (decl_node__opaque proc, decl_node__opaque id, decl_node__opaque type, bool isvar, bool isused) ++{ ++ decl_node__opaque v; ++ unsigned int i; ++ unsigned int n; ++ nameKey_Name m; ++ DynamicStrings_String s; + +-/* +- dupArrayref - +-*/ ++ mcDebug_assert (decl_isProcedure (static_cast (proc))); ++ mcDebug_assert (isIdentList (id)); ++ i = 1; ++ n = wlists_noOfItemsInList (id->identlistF.names); ++ while (i <= n) ++ { ++ m = static_cast (wlists_getItemFromList (id->identlistF.names, i)); ++ v = static_cast (decl_makeVar (m)); ++ decl_putVar (static_cast (v), static_cast (type), static_cast (NULL)); ++ putVarBool (v, true, true, isvar, isused); ++ if (debugScopes) ++ { ++ libc_printf ((const char *) "adding parameter variable into top scope\\n", 42); ++ dumpScopes (); ++ libc_printf ((const char *) " variable name is: ", 19); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (m)); ++ if ((DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, s))) == NULL) ++ {} /* empty. */ ++ libc_printf ((const char *) "\\n", 2); ++ } ++ i += 1; ++ } ++} + +-static decl_node dupArrayref (decl_node n); + + /* +- dupPointerref - ++ addProcedureToScope - add a procedure name n and node d to the ++ current scope. + */ + +-static decl_node dupPointerref (decl_node n); ++static decl_node__opaque addProcedureToScope (decl_node__opaque d, nameKey_Name n) ++{ ++ decl_node__opaque m; ++ unsigned int i; + +-/* +- dupComponentref - +-*/ ++ i = Indexing_HighIndice (scopeStack); ++ m = static_cast (Indexing_GetIndice (scopeStack, i)); ++ if (((decl_isDef (static_cast (m))) && ((decl_getSymName (static_cast (m))) == (nameKey_makeKey ((const char *) "M2RTS", 5)))) && ((decl_getSymName (static_cast (d))) == (nameKey_makeKey ((const char *) "HALT", 4)))) ++ { ++ haltN = d; ++ symbolKey_putSymKey (baseSymbols, n, reinterpret_cast (haltN)); ++ } ++ return addToScope (d); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static decl_node dupComponentref (decl_node n); + + /* +- dupBinary - ++ putProcTypeReturn - sets the return type of, proc, to, type. + */ + +-static decl_node dupBinary (decl_node n); +- +-/* +- dupUnary - +-*/ ++static void putProcTypeReturn (decl_node__opaque proc, decl_node__opaque type) ++{ ++ mcDebug_assert (decl_isProcType (static_cast (proc))); ++ proc->proctypeF.returnType = type; ++ initNodeOpaqueState (proc); ++} + +-static decl_node dupUnary (decl_node n); + + /* +- dupFunccall - ++ putProcTypeOptReturn - sets, proc, to have an optional return type. + */ + +-static decl_node dupFunccall (decl_node n); +- +-/* +- dupSetValue - +-*/ ++static void putProcTypeOptReturn (decl_node__opaque proc) ++{ ++ mcDebug_assert (decl_isProcType (static_cast (proc))); ++ proc->proctypeF.returnopt = true; ++} + +-static decl_node dupSetValue (decl_node n); + + /* +- doDupExpr - ++ makeOptParameter - creates and returns an optarg. + */ + +-static decl_node doDupExpr (decl_node n); ++static decl_node__opaque makeOptParameter (decl_node__opaque l, decl_node__opaque type, decl_node__opaque init) ++{ ++ decl_node__opaque n; + +-/* +- makeSystem - +-*/ ++ n = newNode (decl_optarg); ++ n->optargF.namelist = l; ++ n->optargF.type = type; ++ n->optargF.init = init; ++ n->optargF.scope = static_cast (NULL); ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void makeSystem (void); + + /* +- makeM2rts - ++ setwatch - assign the globalNode to n. + */ + +-static void makeM2rts (void); +- +-/* +- makeBitnum - +-*/ ++static bool setwatch (decl_node__opaque n) ++{ ++ globalNode = n; ++ return true; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static decl_node makeBitnum (void); + + /* +- makeBaseSymbols - ++ runwatch - set the globalNode to an identlist. + */ + +-static void makeBaseSymbols (void); +- +-/* +- makeBuiltins - +-*/ ++static bool runwatch (void) ++{ ++ return globalNode->kind == decl_identlist; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +-static void makeBuiltins (void); + + /* +- init - ++ isIdentList - returns TRUE if, n, is an identlist. + */ + +-static void init (void); ++static bool isIdentList (decl_node__opaque n) ++{ ++ return n->kind == decl_identlist; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + + + /* +- newNode - create and return a new node of kind k. ++ identListLen - returns the length of identlist. + */ + +-static decl_node newNode (decl_nodeT k) ++static unsigned int identListLen (decl_node__opaque n) + { +- decl_node d; +- +- Storage_ALLOCATE ((void **) &d, sizeof (decl_nodeRec)); +- if (enableMemsetOnAllocation) +- { +- d = static_cast (libc_memset (reinterpret_cast (d), 0, static_cast (sizeof ((*d))))); +- } +- if (d == NULL) ++ if (n == NULL) + { +- M2RTS_HALT (-1); +- __builtin_unreachable (); ++ return 0; + } + else + { +- d->kind = k; +- d->at.defDeclared = 0; +- d->at.modDeclared = 0; +- d->at.firstUsed = 0; +- return d; ++ mcDebug_assert (isIdentList (n)); ++ return wlists_noOfItemsInList (n->identlistF.names); + } +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- disposeNode - dispose node, n. ++ checkParameters - placeholder for future parameter checking. + */ + +-static void disposeNode (decl_node *n) ++static void checkParameters (decl_node__opaque p, decl_node__opaque i, decl_node__opaque type, bool isvar, bool isused) + { +- Storage_DEALLOCATE ((void **) &(*n), sizeof (decl_nodeRec)); +- (*n) = NULL; ++ /* do check. */ ++ disposeNode (&i); + } + + + /* +- isLocal - returns TRUE if symbol, n, is locally declared in a procedure. ++ checkMakeVariables - create shadow local variables for parameters providing that ++ procedure n has not already been built and we are compiling ++ a module or an implementation module. + */ + +-static bool isLocal (decl_node n) ++static void checkMakeVariables (decl_node__opaque n, decl_node__opaque i, decl_node__opaque type, bool isvar, bool isused) + { +- decl_node s; +- +- s = decl_getScope (n); +- if (s != NULL) ++ if (((decl_isImp (static_cast (currentModule))) || (decl_isModule (static_cast (currentModule)))) && ! n->procedureF.built) + { +- return decl_isProcedure (s); ++ makeVariablesFromParameters (n, i, type, isvar, isused); + } +- return false; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- importEnumFields - if, n, is an enumeration type import the all fields into module, m. ++ makeVarientField - create a varient field within varient, v, ++ The new varient field is returned. + */ + +-static void importEnumFields (decl_node m, decl_node n) ++static decl_node__opaque makeVarientField (decl_node__opaque v, decl_node__opaque p) + { +- decl_node r; +- decl_node e; +- unsigned int i; +- unsigned int h; ++ decl_node__opaque n; + +- mcDebug_assert (((decl_isDef (m)) || (decl_isModule (m))) || (decl_isImp (m))); +- n = decl_skipType (n); +- if ((n != NULL) && (decl_isEnumeration (n))) +- { +- i = Indexing_LowIndice (n->enumerationF.listOfSons); +- h = Indexing_HighIndice (n->enumerationF.listOfSons); +- while (i <= h) +- { +- e = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); +- r = decl_import (m, e); +- if (e != r) +- { +- mcMetaError_metaError2 ((const char *) "enumeration field {%1ad} cannot be imported implicitly into {%2d} due to a name clash", 85, (const unsigned char *) &e, (sizeof (e)-1), (const unsigned char *) &m, (sizeof (m)-1)); +- } +- i += 1; +- } +- } +-} +- +- +-/* +- isComplex - returns TRUE if, n, is the complex type. +-*/ +- +-static bool isComplex (decl_node n) +-{ +- return n == complexN; ++ n = newNode (decl_varientfield); ++ n->varientfieldF.name = nameKey_NulName; ++ n->varientfieldF.parent = p; ++ n->varientfieldF.varient = v; ++ n->varientfieldF.simple = false; ++ n->varientfieldF.listOfSons = Indexing_InitIndex (1); ++ n->varientfieldF.scope = static_cast (decl_getDeclScope ()); ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- isLongComplex - returns TRUE if, n, is the longcomplex type. ++ putFieldVarient - places the field varient, f, as a brother to, the ++ varient symbol, v, and also tells, f, that its varient ++ parent is, v. + */ + +-static bool isLongComplex (decl_node n) ++static void putFieldVarient (decl_node__opaque f, decl_node__opaque v) + { +- return n == longcomplexN; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ mcDebug_assert (decl_isVarient (static_cast (v))); ++ mcDebug_assert (decl_isVarientField (static_cast (f))); ++ switch (v->kind) ++ { ++ case decl_varient: ++ Indexing_IncludeIndiceIntoIndex (v->varientF.listOfSons, reinterpret_cast (f)); ++ break; + + +-/* +- isShortComplex - returns TRUE if, n, is the shortcomplex type. +-*/ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } ++ switch (f->kind) ++ { ++ case decl_varientfield: ++ f->varientfieldF.varient = v; ++ break; + +-static bool isShortComplex (decl_node n) +-{ +- return n == shortcomplexN; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + } + + + /* +- isAProcType - returns TRUE if, n, is a proctype or proc node. ++ putFieldRecord - create a new recordfield and place it into record r. ++ The new field has a tagname and type and can have a ++ variant field v. + */ + +-static bool isAProcType (decl_node n) ++static decl_node__opaque putFieldRecord (decl_node__opaque r, nameKey_Name tag, decl_node__opaque type, decl_node__opaque v) + { +- mcDebug_assert (n != NULL); +- return (decl_isProcType (n)) || (n == procN); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ decl_node__opaque f; ++ decl_node__opaque n; ++ decl_node__opaque p; + ++ n = newNode (decl_recordfield); ++ switch (r->kind) ++ { ++ case decl_record: ++ Indexing_IncludeIndiceIntoIndex (r->recordF.listOfSons, reinterpret_cast (n)); ++ /* ensure that field, n, is in the parents Local Symbols. */ ++ if (tag != nameKey_NulName) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((symbolKey_getSymKey (r->recordF.localSymbols, tag)) == symbolKey_NulKey) ++ { ++ symbolKey_putSymKey (r->recordF.localSymbols, tag, reinterpret_cast (n)); ++ } ++ else ++ { ++ f = static_cast (symbolKey_getSymKey (r->recordF.localSymbols, tag)); ++ mcMetaError_metaErrors1 ((const char *) "field record {%1Dad} has already been declared", 46, (const char *) "field record duplicate", 22, (const unsigned char *) &f, (sizeof (f)-1)); ++ } ++ } ++ break; + +-/* +- initFixupInfo - initialize the fixupInfo record. +-*/ ++ case decl_varientfield: ++ Indexing_IncludeIndiceIntoIndex (r->varientfieldF.listOfSons, reinterpret_cast (n)); ++ p = getParent (r); ++ mcDebug_assert (p->kind == decl_record); ++ if (tag != nameKey_NulName) ++ { ++ symbolKey_putSymKey (p->recordF.localSymbols, tag, reinterpret_cast (n)); ++ } ++ break; + +-static decl_fixupInfo initFixupInfo (void) +-{ +- decl_fixupInfo f; + +- f.count = 0; +- f.info = Indexing_InitIndex (1); +- return f; ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } ++ /* fill in, n. */ ++ n->recordfieldF.type = type; ++ n->recordfieldF.name = tag; ++ n->recordfieldF.parent = r; ++ n->recordfieldF.varient = v; ++ n->recordfieldF.tag = false; ++ n->recordfieldF.scope = static_cast (NULL); ++ initCname (&n->recordfieldF.cname); ++ /* ++ IF r^.kind=record ++ THEN ++ doRecordM2 (doP, r) ++ END ; ++ */ ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeDef - returns a definition module node named, n. ++ ensureOrder - ensures that, a, and, b, exist in, i, and also ++ ensure that, a, is before, b. + */ + +-static decl_node makeDef (nameKey_Name n) ++static void ensureOrder (Indexing_Index i, decl_node__opaque a, decl_node__opaque b) + { +- decl_node d; +- +- d = newNode (decl_def); +- d->defF.name = n; +- d->defF.source = nameKey_NulName; +- d->defF.hasHidden = false; +- d->defF.forC = false; +- d->defF.exported = Indexing_InitIndex (1); +- d->defF.importedModules = Indexing_InitIndex (1); +- d->defF.constFixup = initFixupInfo (); +- d->defF.enumFixup = initFixupInfo (); +- initDecls (&d->defF.decls); +- d->defF.enumsComplete = false; +- d->defF.constsComplete = false; +- d->defF.visited = false; +- initPair (&d->defF.com); +- return d; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (a))); ++ mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (b))); ++ Indexing_RemoveIndiceFromIndex (i, reinterpret_cast (a)); ++ Indexing_RemoveIndiceFromIndex (i, reinterpret_cast (b)); ++ Indexing_IncludeIndiceIntoIndex (i, reinterpret_cast (a)); ++ Indexing_IncludeIndiceIntoIndex (i, reinterpret_cast (b)); ++ mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (a))); ++ mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (b))); + } + + + /* +- makeImp - returns an implementation module node named, n. ++ putVarientTag - places tag into variant v. + */ + +-static decl_node makeImp (nameKey_Name n) ++static void putVarientTag (decl_node__opaque v, decl_node__opaque tag) + { +- decl_node d; ++ decl_node__opaque p; + +- d = newNode (decl_imp); +- d->impF.name = n; +- d->impF.source = nameKey_NulName; +- d->impF.importedModules = Indexing_InitIndex (1); +- d->impF.constFixup = initFixupInfo (); +- d->impF.enumFixup = initFixupInfo (); +- initDecls (&d->impF.decls); +- d->impF.beginStatements = NULL; +- d->impF.finallyStatements = NULL; +- d->impF.definitionModule = NULL; +- d->impF.enumsComplete = false; +- d->impF.constsComplete = false; +- d->impF.visited = false; +- initPair (&d->impF.com); +- return d; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ mcDebug_assert (decl_isVarient (static_cast (v))); ++ switch (v->kind) ++ { ++ case decl_varient: ++ v->varientF.tag = tag; ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + } + + + /* +- makeModule - returns a module node named, n. ++ getParent - returns the parent field of recordfield or varientfield symbol, n. + */ + +-static decl_node makeModule (nameKey_Name n) ++static decl_node__opaque getParent (decl_node__opaque n) + { +- decl_node d; ++ switch (n->kind) ++ { ++ case decl_recordfield: ++ return n->recordfieldF.parent; ++ break; + +- d = newNode (decl_module); +- d->moduleF.name = n; +- d->moduleF.source = nameKey_NulName; +- d->moduleF.importedModules = Indexing_InitIndex (1); +- d->moduleF.constFixup = initFixupInfo (); +- d->moduleF.enumFixup = initFixupInfo (); +- initDecls (&d->moduleF.decls); +- d->moduleF.beginStatements = NULL; +- d->moduleF.finallyStatements = NULL; +- d->moduleF.enumsComplete = false; +- d->moduleF.constsComplete = false; +- d->moduleF.visited = false; +- initPair (&d->moduleF.com); +- return d; ++ case decl_varientfield: ++ return n->varientfieldF.parent; ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- isDefForC - returns TRUE if the definition module was defined FOR "C". ++ getRecord - returns the record associated with node, n. ++ (Parental record). + */ + +-static bool isDefForC (decl_node n) ++static decl_node__opaque getRecord (decl_node__opaque n) + { +- return (decl_isDef (n)) && n->defF.forC; ++ mcDebug_assert (n->kind != decl_varient); /* if this fails then we need to add parent field to varient. */ ++ switch (n->kind) ++ { ++ case decl_record: ++ return n; /* if this fails then we need to add parent field to varient. */ ++ break; ++ ++ case decl_varientfield: ++ return getRecord (getParent (n)); ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- initDecls - initialize the decls, scopeT. ++ isConstExp - return TRUE if the node kind is a constexp. + */ + +-static void initDecls (decl_scopeT *decls) ++static bool isConstExp (decl_node__opaque c) + { +- (*decls).symbols = symbolKey_initTree (); +- (*decls).constants = Indexing_InitIndex (1); +- (*decls).types = Indexing_InitIndex (1); +- (*decls).procedures = Indexing_InitIndex (1); +- (*decls).variables = Indexing_InitIndex (1); ++ mcDebug_assert (c != NULL); ++ return c->kind == decl_constexp; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- addTo - adds node, d, to scope decls and returns, d. +- It stores, d, in the symbols tree associated with decls. ++ addEnumToModule - adds enumeration type, e, into the list of enums ++ in module, m. + */ + +-static decl_node addTo (decl_scopeT *decls, decl_node d) ++static void addEnumToModule (decl_node__opaque m, decl_node__opaque e) + { +- nameKey_Name n; +- +- n = decl_getSymName (d); +- if (n != nameKey_NulName) +- { +- /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if ((symbolKey_getSymKey ((*decls).symbols, n)) == NULL) +- { +- symbolKey_putSymKey ((*decls).symbols, n, reinterpret_cast (d)); +- } +- else +- { +- mcMetaError_metaError1 ((const char *) "{%1DMad} was declared", 21, (const unsigned char *) &d, (sizeof (d)-1)); +- mcMetaError_metaError1 ((const char *) "{%1k} and is being declared again", 33, (const unsigned char *) &n, (sizeof (n)-1)); +- } +- } +- if (decl_isConst (d)) ++ mcDebug_assert ((decl_isEnumeration (static_cast (e))) || (decl_isEnumerationField (static_cast (e)))); ++ mcDebug_assert (((decl_isModule (static_cast (m))) || (decl_isDef (static_cast (m)))) || (decl_isImp (static_cast (m)))); ++ if (decl_isModule (static_cast (m))) + { +- Indexing_IncludeIndiceIntoIndex ((*decls).constants, reinterpret_cast (d)); ++ Indexing_IncludeIndiceIntoIndex (m->moduleF.enumFixup.info, reinterpret_cast (e)); + } +- else if (decl_isVar (d)) ++ else if (decl_isDef (static_cast (m))) + { + /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex ((*decls).variables, reinterpret_cast (d)); ++ Indexing_IncludeIndiceIntoIndex (m->defF.enumFixup.info, reinterpret_cast (e)); + } +- else if (decl_isType (d)) ++ else if (decl_isImp (static_cast (m))) + { + /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex ((*decls).types, reinterpret_cast (d)); +- } +- else if (decl_isProcedure (d)) +- { +- /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex ((*decls).procedures, reinterpret_cast (d)); +- if (debugDecl) +- { +- libc_printf ((const char *) "%d procedures on the dynamic array\\n", 36, Indexing_HighIndice ((*decls).procedures)); +- } ++ Indexing_IncludeIndiceIntoIndex (m->impF.enumFixup.info, reinterpret_cast (e)); + } +- return d; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- export - export node, n, from definition module, d. ++ getNextFixup - return the next fixup from from f. + */ + +-static void export_ (decl_node d, decl_node n) ++static decl_node__opaque getNextFixup (decl_fixupInfo *f) + { +- mcDebug_assert (decl_isDef (d)); +- Indexing_IncludeIndiceIntoIndex (d->defF.exported, reinterpret_cast (n)); ++ (*f).count += 1; ++ return static_cast (Indexing_GetIndice ((*f).info, (*f).count)); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- addToScope - adds node, n, to the current scope and returns, n. ++ doMakeEnum - create an enumeration type and add it to the current module. + */ + +-static decl_node addToScope (decl_node n) ++static decl_node__opaque doMakeEnum (void) + { +- decl_node s; +- unsigned int i; ++ decl_node__opaque e; + +- i = Indexing_HighIndice (scopeStack); +- s = static_cast (Indexing_GetIndice (scopeStack, i)); +- if (decl_isProcedure (s)) +- { +- if (debugDecl) +- { +- outText (doP, (const char *) "adding ", 7); +- doNameC (doP, n); +- outText (doP, (const char *) " to procedure\\n", 15); +- } +- return addTo (&s->procedureF.decls, n); +- } +- else if (decl_isModule (s)) +- { +- /* avoid dangling else. */ +- if (debugDecl) +- { +- outText (doP, (const char *) "adding ", 7); +- doNameC (doP, n); +- outText (doP, (const char *) " to module\\n", 12); +- } +- return addTo (&s->moduleF.decls, n); +- } +- else if (decl_isDef (s)) ++ e = newNode (decl_enumeration); ++ e->enumerationF.noOfElements = 0; ++ e->enumerationF.localSymbols = symbolKey_initTree (); ++ e->enumerationF.scope = static_cast (decl_getDeclScope ()); ++ e->enumerationF.listOfSons = Indexing_InitIndex (1); ++ e->enumerationF.low = static_cast (NULL); ++ e->enumerationF.high = static_cast (NULL); ++ addEnumToModule (currentModule, e); ++ return e; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ doMakeEnumField - create an enumeration field name and add it to enumeration e. ++ Return the new field. ++*/ ++ ++static decl_node__opaque doMakeEnumField (decl_node__opaque e, nameKey_Name n) ++{ ++ decl_node__opaque f; ++ ++ mcDebug_assert (decl_isEnumeration (static_cast (e))); ++ f = static_cast (decl_lookupSym (n)); ++ if (f == NULL) + { +- /* avoid dangling else. */ +- if (debugDecl) ++ f = newNode (decl_enumerationfield); ++ symbolKey_putSymKey (e->enumerationF.localSymbols, n, reinterpret_cast (f)); ++ Indexing_IncludeIndiceIntoIndex (e->enumerationF.listOfSons, reinterpret_cast (f)); ++ f->enumerationfieldF.name = n; ++ f->enumerationfieldF.type = e; ++ f->enumerationfieldF.scope = static_cast (decl_getDeclScope ()); ++ f->enumerationfieldF.value = e->enumerationF.noOfElements; ++ initCname (&f->enumerationfieldF.cname); ++ e->enumerationF.noOfElements += 1; ++ mcDebug_assert ((Indexing_GetIndice (e->enumerationF.listOfSons, e->enumerationF.noOfElements)) == f); ++ addEnumToModule (currentModule, f); ++ if (e->enumerationF.low == NULL) + { +- outText (doP, (const char *) "adding ", 7); +- doNameC (doP, n); +- outText (doP, (const char *) " to definition module\\n", 23); ++ e->enumerationF.low = f; + } +- export_ (s, n); +- return addTo (&s->defF.decls, n); ++ e->enumerationF.high = f; ++ return addToScope (f); + } +- else if (decl_isImp (s)) ++ else + { +- /* avoid dangling else. */ +- if (debugDecl) +- { +- outText (doP, (const char *) "adding ", 7); +- doNameC (doP, n); +- outText (doP, (const char *) " to implementation module\\n", 27); +- } +- return addTo (&s->impF.decls, n); ++ mcMetaError_metaErrors2 ((const char *) "cannot create enumeration field {%1k} as the name is already in use", 67, (const char *) "{%2DMad} was declared elsewhere", 31, (const unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) &f, (sizeof (f)-1)); + } +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ return f; ++ /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- addModuleToScope - adds module, i, to module, m, scope. ++ getExpList - returns the, n, th argument in an explist. + */ + +-static void addModuleToScope (decl_node m, decl_node i) ++static decl_node__opaque getExpList (decl_node__opaque p, unsigned int n) + { +- mcDebug_assert ((decl_getDeclScope ()) == m); +- if ((decl_lookupSym (decl_getSymName (i))) == NULL) +- { +- i = addToScope (i); +- } ++ mcDebug_assert (p != NULL); ++ mcDebug_assert (decl_isExpList (static_cast (p))); ++ mcDebug_assert (n <= (Indexing_HighIndice (p->explistF.exp))); ++ return static_cast (Indexing_GetIndice (p->explistF.exp, n)); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- completedEnum - assign boolean enumsComplete to TRUE if a definition, +- implementation or module symbol. ++ expListLen - returns the length of explist, p. + */ + +-static void completedEnum (decl_node n) ++static unsigned int expListLen (decl_node__opaque p) + { +- mcDebug_assert (((decl_isDef (n)) || (decl_isImp (n))) || (decl_isModule (n))); +- if (decl_isDef (n)) +- { +- n->defF.enumsComplete = true; +- } +- else if (decl_isImp (n)) ++ if (p == NULL) + { +- /* avoid dangling else. */ +- n->impF.enumsComplete = true; ++ return 0; + } +- else if (decl_isModule (n)) ++ else + { +- /* avoid dangling else. */ +- n->moduleF.enumsComplete = true; ++ mcDebug_assert (decl_isExpList (static_cast (p))); ++ return Indexing_HighIndice (p->explistF.exp); + } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- setUnary - sets a unary node to contain, arg, a, and type, t. ++ getConstExpComplete - gets the field from the def or imp or module, n. + */ + +-static void setUnary (decl_node u, decl_nodeT k, decl_node a, decl_node t) ++static bool getConstExpComplete (decl_node__opaque n) + { +- switch (k) ++ switch (n->kind) + { +- case decl_constexp: +- case decl_deref: +- case decl_chr: +- case decl_cap: +- case decl_abs: +- case decl_float: +- case decl_trunc: +- case decl_ord: +- case decl_high: +- case decl_throw: +- case decl_re: +- case decl_im: +- case decl_not: +- case decl_neg: +- case decl_adr: +- case decl_size: +- case decl_tsize: +- case decl_min: +- case decl_max: +- u->kind = k; +- u->unaryF.arg = a; +- u->unaryF.resultType = t; ++ case decl_def: ++ return n->defF.constsComplete; ++ break; ++ ++ case decl_imp: ++ return n->impF.constsComplete; ++ break; ++ ++ case decl_module: ++ return n->moduleF.constsComplete; + break; + + +@@ -7146,432 +6888,549 @@ static void setUnary (decl_node u, decl_nodeT k, decl_node a, decl_node t) + CaseException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- putVarBool - assigns the four booleans associated with a variable. ++ addConstToModule - adds const exp, e, into the list of constant ++ expressions in module, m. + */ + +-static void putVarBool (decl_node v, bool init, bool param, bool isvar, bool isused) ++static void addConstToModule (decl_node__opaque m, decl_node__opaque e) + { +- mcDebug_assert (decl_isVar (v)); +- v->varF.isInitialised = init; +- v->varF.isParameter = param; +- v->varF.isVarParameter = isvar; +- v->varF.isUsed = isused; ++ mcDebug_assert (((decl_isModule (static_cast (m))) || (decl_isDef (static_cast (m)))) || (decl_isImp (static_cast (m)))); ++ if (decl_isModule (static_cast (m))) ++ { ++ Indexing_IncludeIndiceIntoIndex (m->moduleF.constFixup.info, reinterpret_cast (e)); ++ } ++ else if (decl_isDef (static_cast (m))) ++ { ++ /* avoid dangling else. */ ++ Indexing_IncludeIndiceIntoIndex (m->defF.constFixup.info, reinterpret_cast (e)); ++ } ++ else if (decl_isImp (static_cast (m))) ++ { ++ /* avoid dangling else. */ ++ Indexing_IncludeIndiceIntoIndex (m->impF.constFixup.info, reinterpret_cast (e)); ++ } + } + + + /* +- checkPtr - in C++ we need to create a typedef for a pointer +- in case we need to use reinterpret_cast. ++ doMakeConstExp - create a constexp node and add it to the current module. + */ + +-static decl_node checkPtr (decl_node n) ++static decl_node__opaque doMakeConstExp (void) + { +- DynamicStrings_String s; +- decl_node p; ++ decl_node__opaque c; + +- if (lang == decl_ansiCP) +- { +- if (decl_isPointer (n)) +- { +- s = tempName (); +- p = decl_makeType (nameKey_makekey (DynamicStrings_string (s))); +- decl_putType (p, n); +- s = DynamicStrings_KillString (s); +- return p; +- } +- } +- return n; ++ c = makeUnary (decl_constexp, static_cast (NULL), static_cast (NULL)); ++ addConstToModule (currentModule, c); ++ return c; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- isVarDecl - returns TRUE if, n, is a vardecl node. ++ isAnyType - return TRUE if node n is any type kind. + */ + +-static bool isVarDecl (decl_node n) ++static bool isAnyType (decl_node__opaque n) + { +- return n->kind == decl_vardecl; ++ mcDebug_assert (n != NULL); ++ switch (n->kind) ++ { ++ case decl_address: ++ case decl_loc: ++ case decl_byte: ++ case decl_word: ++ case decl_char: ++ case decl_cardinal: ++ case decl_longcard: ++ case decl_shortcard: ++ case decl_integer: ++ case decl_longint: ++ case decl_shortint: ++ case decl_complex: ++ case decl_longcomplex: ++ case decl_shortcomplex: ++ case decl_bitset: ++ case decl_boolean: ++ case decl_proc: ++ case decl_type: ++ return true; ++ break; ++ ++ ++ default: ++ return false; ++ break; ++ } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeVariablesFromParameters - creates variables which are really parameters. ++ makeVal - creates a VAL (type, expression) node. + */ + +-static void makeVariablesFromParameters (decl_node proc, decl_node id, decl_node type, bool isvar, bool isused) ++static decl_node__opaque makeVal (decl_node__opaque params) + { +- decl_node v; +- unsigned int i; +- unsigned int n; +- nameKey_Name m; +- DynamicStrings_String s; +- +- mcDebug_assert (decl_isProcedure (proc)); +- mcDebug_assert (isIdentList (id)); +- i = 1; +- n = wlists_noOfItemsInList (id->identlistF.names); +- while (i <= n) ++ mcDebug_assert (decl_isExpList (static_cast (params))); ++ if ((expListLen (params)) == 2) + { +- m = static_cast (wlists_getItemFromList (id->identlistF.names, i)); +- v = decl_makeVar (m); +- decl_putVar (v, type, NULL); +- putVarBool (v, true, true, isvar, isused); +- if (debugScopes) +- { +- libc_printf ((const char *) "adding parameter variable into top scope\\n", 42); +- dumpScopes (); +- libc_printf ((const char *) " variable name is: ", 19); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (m)); +- if ((DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, s))) == NULL) +- {} /* empty. */ +- libc_printf ((const char *) "\\n", 2); +- } +- i += 1; ++ return makeBinary (decl_val, getExpList (params, 1), getExpList (params, 2), getExpList (params, 1)); ++ } ++ else ++ { ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); + } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } + + + /* +- addProcedureToScope - add a procedure name n and node d to the +- current scope. ++ makeCast - creates a cast node TYPENAME (expr). + */ + +-static decl_node addProcedureToScope (decl_node d, nameKey_Name n) ++static decl_node__opaque makeCast (decl_node__opaque c, decl_node__opaque p) + { +- decl_node m; +- unsigned int i; +- +- i = Indexing_HighIndice (scopeStack); +- m = static_cast (Indexing_GetIndice (scopeStack, i)); +- if (((decl_isDef (m)) && ((decl_getSymName (m)) == (nameKey_makeKey ((const char *) "M2RTS", 5)))) && ((decl_getSymName (d)) == (nameKey_makeKey ((const char *) "HALT", 4)))) ++ mcDebug_assert (decl_isExpList (static_cast (p))); ++ if ((expListLen (p)) == 1) + { +- haltN = d; +- symbolKey_putSymKey (baseSymbols, n, reinterpret_cast (haltN)); ++ return makeBinary (decl_cast, c, getExpList (p, 1), c); + } +- return addToScope (d); +- /* static analysis guarentees a RETURN statement will be used before here. */ ++ else ++ { ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } + ++static decl_node__opaque makeIntrinsicProc (decl_nodeT k, unsigned int noArgs, decl_node__opaque p) ++{ ++ decl_node__opaque f; + +-/* +- putProcTypeReturn - sets the return type of, proc, to, type. +-*/ +- +-static void putProcTypeReturn (decl_node proc, decl_node type) +-{ +- mcDebug_assert (decl_isProcType (proc)); +- proc->proctypeF.returnType = type; ++ /* ++ makeIntrisicProc - create an intrinsic node. ++ */ ++ f = newNode (k); ++ f->intrinsicF.args = p; ++ f->intrinsicF.noArgs = noArgs; ++ f->intrinsicF.type = static_cast (NULL); ++ f->intrinsicF.postUnreachable = k == decl_halt; ++ initPair (&f->intrinsicF.intrinsicComment); ++ return f; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- putProcTypeOptReturn - sets, proc, to have an optional return type. ++ makeIntrinsicUnaryType - create an intrisic unary type. + */ + +-static void putProcTypeOptReturn (decl_node proc) ++static decl_node__opaque makeIntrinsicUnaryType (decl_nodeT k, decl_node__opaque paramList, decl_node__opaque returnType) + { +- mcDebug_assert (decl_isProcType (proc)); +- proc->proctypeF.returnopt = true; ++ return makeUnary (k, getExpList (paramList, 1), returnType); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- makeOptParameter - creates and returns an optarg. ++ makeIntrinsicBinaryType - create an intrisic binary type. + */ + +-static decl_node makeOptParameter (decl_node l, decl_node type, decl_node init) ++static decl_node__opaque makeIntrinsicBinaryType (decl_nodeT k, decl_node__opaque paramList, decl_node__opaque returnType) + { +- decl_node n; +- +- n = newNode (decl_optarg); +- n->optargF.namelist = l; +- n->optargF.type = type; +- n->optargF.init = init; +- n->optargF.scope = NULL; +- return n; ++ return makeBinary (k, getExpList (paramList, 1), getExpList (paramList, 2), returnType); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- setwatch - assign the globalNode to n. ++ checkIntrinsic - checks to see if the function call to, c, with ++ parameter list, n, is really an intrinic. If it ++ is an intrinic then an intrinic node is created ++ and returned. Otherwise NIL is returned. + */ + +-static bool setwatch (decl_node n) ++static decl_node__opaque checkIntrinsic (decl_node__opaque c, decl_node__opaque n) + { +- globalNode = n; +- return true; ++ if (isAnyType (c)) ++ { ++ return makeCast (c, n); ++ } ++ else if (c == maxN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_max, n, static_cast (NULL)); ++ } ++ else if (c == minN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_min, n, static_cast (NULL)); ++ } ++ else if (c == haltN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_halt, expListLen (n), n); ++ } ++ else if (c == valN) ++ { ++ /* avoid dangling else. */ ++ return makeVal (n); ++ } ++ else if (c == adrN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_adr, n, addressN); ++ } ++ else if (c == sizeN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_size, n, cardinalN); ++ } ++ else if (c == tsizeN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_tsize, n, cardinalN); ++ } ++ else if (c == floatN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_float, n, realN); ++ } ++ else if (c == truncN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_trunc, n, integerN); ++ } ++ else if (c == ordN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_ord, n, cardinalN); ++ } ++ else if (c == chrN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_chr, n, charN); ++ } ++ else if (c == capN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_cap, n, charN); ++ } ++ else if (c == absN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_abs, n, static_cast (NULL)); ++ } ++ else if (c == imN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_im, n, static_cast (NULL)); ++ } ++ else if (c == reN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_re, n, static_cast (NULL)); ++ } ++ else if (c == cmplxN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicBinaryType (decl_cmplx, n, static_cast (NULL)); ++ } ++ else if (c == highN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_high, n, cardinalN); ++ } ++ else if (c == incN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_inc, expListLen (n), n); ++ } ++ else if (c == decN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_dec, expListLen (n), n); ++ } ++ else if (c == inclN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_incl, expListLen (n), n); ++ } ++ else if (c == exclN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_excl, expListLen (n), n); ++ } ++ else if (c == newN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_new, 1, n); ++ } ++ else if (c == disposeN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicProc (decl_dispose, 1, n); ++ } ++ else if (c == lengthN) ++ { ++ /* avoid dangling else. */ ++ return makeIntrinsicUnaryType (decl_length, n, cardinalN); ++ } ++ else if (c == throwN) ++ { ++ /* avoid dangling else. */ ++ keyc_useThrow (); ++ return makeIntrinsicProc (decl_throw, 1, n); ++ } ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- runwatch - set the globalNode to an identlist. ++ checkCHeaders - check to see if the function is a C system function and ++ requires a header file included. + */ + +-static bool runwatch (void) ++static void checkCHeaders (decl_node__opaque c) + { +- return globalNode->kind == decl_identlist; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ nameKey_Name name; ++ decl_node__opaque s; ++ ++ if (decl_isProcedure (static_cast (c))) ++ { ++ s = static_cast (decl_getScope (static_cast (c))); ++ if ((decl_getSymName (static_cast (s))) == (nameKey_makeKey ((const char *) "libc", 4))) ++ { ++ name = decl_getSymName (static_cast (c)); ++ if ((((name == (nameKey_makeKey ((const char *) "read", 4))) || (name == (nameKey_makeKey ((const char *) "write", 5)))) || (name == (nameKey_makeKey ((const char *) "open", 4)))) || (name == (nameKey_makeKey ((const char *) "close", 5)))) ++ { ++ keyc_useUnistd (); ++ } ++ } ++ } + } + + + /* +- isIdentList - returns TRUE if, n, is an identlist. ++ isFuncCall - returns TRUE if, n, is a function/procedure call. + */ + +-static bool isIdentList (decl_node n) ++static bool isFuncCall (decl_node__opaque n) + { +- return n->kind == decl_identlist; ++ mcDebug_assert (n != NULL); ++ return n->kind == decl_funccall; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- identListLen - returns the length of identlist. ++ putTypeInternal - marks type, des, as being an internally generated type. + */ + +-static unsigned int identListLen (decl_node n) ++static void putTypeInternal (decl_node__opaque des) + { +- if (n == NULL) +- { +- return 0; +- } +- else +- { +- mcDebug_assert (isIdentList (n)); +- return wlists_noOfItemsInList (n->identlistF.names); +- } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ mcDebug_assert (des != NULL); ++ mcDebug_assert (decl_isType (static_cast (des))); ++ des->typeF.isInternal = true; + } + + + /* +- checkParameters - placeholder for future parameter checking. ++ isTypeInternal - returns TRUE if type, n, is internal. + */ + +-static void checkParameters (decl_node p, decl_node i, decl_node type, bool isvar, bool isused) ++static bool isTypeInternal (decl_node__opaque n) + { +- /* do check. */ +- disposeNode (&i); ++ mcDebug_assert (n != NULL); ++ mcDebug_assert (decl_isType (static_cast (n))); ++ return n->typeF.isInternal; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- checkMakeVariables - create shadow local variables for parameters providing that +- procedure n has not already been built and we are compiling +- a module or an implementation module. ++ lookupBase - return node named n from the base symbol scope. + */ + +-static void checkMakeVariables (decl_node n, decl_node i, decl_node type, bool isvar, bool isused) ++static decl_node__opaque lookupBase (nameKey_Name n) + { +- if (((decl_isImp (currentModule)) || (decl_isModule (currentModule))) && ! n->procedureF.built) ++ decl_node__opaque m; ++ ++ m = static_cast (symbolKey_getSymKey (baseSymbols, n)); ++ if (m == procN) + { +- makeVariablesFromParameters (n, i, type, isvar, isused); ++ keyc_useProc (); ++ } ++ else if (((m == complexN) || (m == longcomplexN)) || (m == shortcomplexN)) ++ { ++ /* avoid dangling else. */ ++ keyc_useComplex (); + } ++ return m; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- makeVarientField - create a varient field within varient, v, +- The new varient field is returned. ++ dumpScopes - display the names of all the scopes stacked. + */ + +-static decl_node makeVarientField (decl_node v, decl_node p) ++static void dumpScopes (void) + { +- decl_node n; ++ unsigned int h; ++ decl_node__opaque s; + +- n = newNode (decl_varientfield); +- n->varientfieldF.name = nameKey_NulName; +- n->varientfieldF.parent = p; +- n->varientfieldF.varient = v; +- n->varientfieldF.simple = false; +- n->varientfieldF.listOfSons = Indexing_InitIndex (1); +- n->varientfieldF.scope = decl_getDeclScope (); +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ h = Indexing_HighIndice (scopeStack); ++ libc_printf ((const char *) "total scopes stacked %d\\n", 25, h); ++ while (h >= 1) ++ { ++ s = static_cast (Indexing_GetIndice (scopeStack, h)); ++ out2 ((const char *) " scope [%d] is %s\\n", 19, h, s); ++ h -= 1; ++ } + } + + + /* +- putFieldVarient - places the field varient, f, as a brother to, the +- varient symbol, v, and also tells, f, that its varient +- parent is, v. ++ out0 - write string a to StdOut. + */ + +-static void putFieldVarient (decl_node f, decl_node v) ++static void out0 (const char *a_, unsigned int _a_high) + { +- mcDebug_assert (decl_isVarient (v)); +- mcDebug_assert (decl_isVarientField (f)); +- switch (v->kind) +- { +- case decl_varient: +- Indexing_IncludeIndiceIntoIndex (v->varientF.listOfSons, reinterpret_cast (f)); +- break; ++ DynamicStrings_String m; ++ char a[_a_high+1]; + ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } +- switch (f->kind) +- { +- case decl_varientfield: +- f->varientfieldF.varient = v; +- break; +- +- +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } ++ m = FormatStrings_Sprintf0 (DynamicStrings_InitString ((const char *) a, _a_high)); ++ m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); + } + + + /* +- putFieldRecord - create a new recordfield and place it into record r. +- The new field has a tagname and type and can have a +- variant field v. ++ out1 - write string a to StdOut using format specifier a. + */ + +-static decl_node putFieldRecord (decl_node r, nameKey_Name tag, decl_node type, decl_node v) ++static void out1 (const char *a_, unsigned int _a_high, decl_node__opaque s) + { +- decl_node f; +- decl_node n; +- decl_node p; +- +- n = newNode (decl_recordfield); +- switch (r->kind) +- { +- case decl_record: +- Indexing_IncludeIndiceIntoIndex (r->recordF.listOfSons, reinterpret_cast (n)); +- /* ensure that field, n, is in the parents Local Symbols. */ +- if (tag != nameKey_NulName) +- { +- /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if ((symbolKey_getSymKey (r->recordF.localSymbols, tag)) == symbolKey_NulKey) +- { +- symbolKey_putSymKey (r->recordF.localSymbols, tag, reinterpret_cast (n)); +- } +- else +- { +- f = static_cast (symbolKey_getSymKey (r->recordF.localSymbols, tag)); +- mcMetaError_metaErrors1 ((const char *) "field record {%1Dad} has already been declared", 46, (const char *) "field record duplicate", 22, (const unsigned char *) &f, (sizeof (f)-1)); +- } +- } +- break; +- +- case decl_varientfield: +- Indexing_IncludeIndiceIntoIndex (r->varientfieldF.listOfSons, reinterpret_cast (n)); +- p = getParent (r); +- mcDebug_assert (p->kind == decl_record); +- if (tag != nameKey_NulName) +- { +- symbolKey_putSymKey (p->recordF.localSymbols, tag, reinterpret_cast (n)); +- } +- break; ++ DynamicStrings_String m; ++ unsigned int d; ++ char a[_a_high+1]; + ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ m = getFQstring (s); ++ if (DynamicStrings_EqualArray (m, (const char *) "", 0)) ++ { ++ d = (unsigned int ) ((long unsigned int ) (s)); ++ m = DynamicStrings_KillString (m); ++ m = FormatStrings_Sprintf1 (DynamicStrings_InitString ((const char *) "[%d]", 4), (const unsigned char *) &d, (sizeof (d)-1)); + } +- /* fill in, n. */ +- n->recordfieldF.type = type; +- n->recordfieldF.name = tag; +- n->recordfieldF.parent = r; +- n->recordfieldF.varient = v; +- n->recordfieldF.tag = false; +- n->recordfieldF.scope = NULL; +- initCname (&n->recordfieldF.cname); +- /* +- IF r^.kind=record +- THEN +- doRecordM2 (doP, r) +- END ; +- */ +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ m = FormatStrings_Sprintf1 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &m, (sizeof (m)-1)); ++ m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); + } + + + /* +- ensureOrder - ensures that, a, and, b, exist in, i, and also +- ensure that, a, is before, b. ++ out2 - write string a to StdOut using format specifier a. + */ + +-static void ensureOrder (Indexing_Index i, decl_node a, decl_node b) ++static void out2 (const char *a_, unsigned int _a_high, unsigned int c, decl_node__opaque s) + { +- mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (a))); +- mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (b))); +- Indexing_RemoveIndiceFromIndex (i, reinterpret_cast (a)); +- Indexing_RemoveIndiceFromIndex (i, reinterpret_cast (b)); +- Indexing_IncludeIndiceIntoIndex (i, reinterpret_cast (a)); +- Indexing_IncludeIndiceIntoIndex (i, reinterpret_cast (b)); +- mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (a))); +- mcDebug_assert (Indexing_IsIndiceInIndex (i, reinterpret_cast (b))); ++ DynamicStrings_String m; ++ DynamicStrings_String m1; ++ char a[_a_high+1]; ++ ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); ++ ++ m1 = getString (s); ++ m = FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &c, (sizeof (c)-1), (const unsigned char *) &m1, (sizeof (m1)-1)); ++ m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); ++ m1 = DynamicStrings_KillString (m1); + } + + + /* +- putVarientTag - places tag into variant v. ++ out3 - write string a to StdOut using format specifier a. + */ + +-static void putVarientTag (decl_node v, decl_node tag) ++static void out3 (const char *a_, unsigned int _a_high, unsigned int l, nameKey_Name n, decl_node__opaque s) + { +- decl_node p; +- +- mcDebug_assert (decl_isVarient (v)); +- switch (v->kind) +- { +- case decl_varient: +- v->varientF.tag = tag; +- break; ++ DynamicStrings_String m; ++ DynamicStrings_String m1; ++ DynamicStrings_String m2; ++ char a[_a_high+1]; + ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } ++ m1 = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); ++ m2 = getString (s); ++ m = FormatStrings_Sprintf3 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &l, (sizeof (l)-1), (const unsigned char *) &m1, (sizeof (m1)-1), (const unsigned char *) &m2, (sizeof (m2)-1)); ++ m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); ++ m1 = DynamicStrings_KillString (m1); ++ m2 = DynamicStrings_KillString (m2); + } + + + /* +- getParent - returns the parent field of recordfield or varientfield symbol, n. ++ isUnary - returns TRUE if, n, is an unary node. + */ + +-static decl_node getParent (decl_node n) ++static bool isUnary (decl_node__opaque n) + { ++ mcDebug_assert (n != NULL); + switch (n->kind) + { +- case decl_recordfield: +- return n->recordfieldF.parent; +- break; +- +- case decl_varientfield: +- return n->varientfieldF.parent; ++ case decl_length: ++ case decl_re: ++ case decl_im: ++ case decl_deref: ++ case decl_high: ++ case decl_chr: ++ case decl_cap: ++ case decl_abs: ++ case decl_ord: ++ case decl_float: ++ case decl_trunc: ++ case decl_constexp: ++ case decl_not: ++ case decl_neg: ++ case decl_adr: ++ case decl_size: ++ case decl_tsize: ++ case decl_min: ++ case decl_max: ++ return true; + break; + + + default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ return false; ++ break; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -7579,27 +7438,39 @@ static decl_node getParent (decl_node n) + + + /* +- getRecord - returns the record associated with node, n. +- (Parental record). ++ isBinary - returns TRUE if, n, is an binary node. + */ + +-static decl_node getRecord (decl_node n) ++static bool isBinary (decl_node__opaque n) + { +- mcDebug_assert (n->kind != decl_varient); /* if this fails then we need to add parent field to varient. */ ++ mcDebug_assert (n != NULL); + switch (n->kind) + { +- case decl_record: +- return n; /* if this fails then we need to add parent field to varient. */ +- break; +- +- case decl_varientfield: +- return getRecord (getParent (n)); ++ case decl_cmplx: ++ case decl_and: ++ case decl_or: ++ case decl_equal: ++ case decl_notequal: ++ case decl_less: ++ case decl_greater: ++ case decl_greequal: ++ case decl_lessequal: ++ case decl_val: ++ case decl_cast: ++ case decl_plus: ++ case decl_sub: ++ case decl_div: ++ case decl_mod: ++ case decl_mult: ++ case decl_divide: ++ case decl_in: ++ return true; + break; + + + default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ return false; ++ break; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -7607,1639 +7478,1757 @@ static decl_node getRecord (decl_node n) + + + /* +- isConstExp - return TRUE if the node kind is a constexp. ++ makeUnary - create a unary expression node with, e, as the argument ++ and res as the return type. + */ + +-static bool isConstExp (decl_node c) ++static decl_node__opaque makeUnary (decl_nodeT k, decl_node__opaque e, decl_node__opaque res) + { +- mcDebug_assert (c != NULL); +- return c->kind == decl_constexp; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} +- ++ decl_node__opaque n; + +-/* +- addEnumToModule - adds enumeration type, e, into the list of enums +- in module, m. +-*/ +- +-static void addEnumToModule (decl_node m, decl_node e) +-{ +- mcDebug_assert ((decl_isEnumeration (e)) || (decl_isEnumerationField (e))); +- mcDebug_assert (((decl_isModule (m)) || (decl_isDef (m))) || (decl_isImp (m))); +- if (decl_isModule (m)) +- { +- Indexing_IncludeIndiceIntoIndex (m->moduleF.enumFixup.info, reinterpret_cast (e)); +- } +- else if (decl_isDef (m)) ++ if (k == decl_plus) + { +- /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->defF.enumFixup.info, reinterpret_cast (e)); ++ return e; + } +- else if (decl_isImp (m)) ++ else + { +- /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->impF.enumFixup.info, reinterpret_cast (e)); ++ n = newNode (k); ++ switch (n->kind) ++ { ++ case decl_min: ++ case decl_max: ++ case decl_throw: ++ case decl_re: ++ case decl_im: ++ case decl_deref: ++ case decl_high: ++ case decl_chr: ++ case decl_cap: ++ case decl_abs: ++ case decl_ord: ++ case decl_float: ++ case decl_trunc: ++ case decl_length: ++ case decl_constexp: ++ case decl_not: ++ case decl_neg: ++ case decl_adr: ++ case decl_size: ++ case decl_tsize: ++ n->unaryF.arg = e; ++ n->unaryF.resultType = res; ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + } ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- getNextFixup - return the next fixup from from f. ++ isLeafString - returns TRUE if n is a leaf node which is a string constant. + */ + +-static decl_node getNextFixup (decl_fixupInfo *f) ++static bool isLeafString (decl_node__opaque n) + { +- (*f).count += 1; +- return static_cast (Indexing_GetIndice ((*f).info, (*f).count)); ++ return ((isString (n)) || ((decl_isLiteral (static_cast (n))) && ((decl_getType (static_cast (n))) == charN))) || ((decl_isConst (static_cast (n))) && ((getExprType (n)) == charN)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doMakeEnum - create an enumeration type and add it to the current module. ++ getLiteralStringContents - return the contents of a literal node as a string. + */ + +-static decl_node doMakeEnum (void) ++static DynamicStrings_String getLiteralStringContents (decl_node__opaque n) + { +- decl_node e; ++ DynamicStrings_String number; ++ DynamicStrings_String content; ++ DynamicStrings_String s; + +- e = newNode (decl_enumeration); +- e->enumerationF.noOfElements = 0; +- e->enumerationF.localSymbols = symbolKey_initTree (); +- e->enumerationF.scope = decl_getDeclScope (); +- e->enumerationF.listOfSons = Indexing_InitIndex (1); +- e->enumerationF.low = NULL; +- e->enumerationF.high = NULL; +- addEnumToModule (currentModule, e); +- return e; +- /* static analysis guarentees a RETURN statement will be used before here. */ ++ mcDebug_assert (n->kind == decl_literal); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n->literalF.name)); ++ content = static_cast (NULL); ++ if (n->literalF.type == charN) ++ { ++ if ((DynamicStrings_char (s, -1)) == 'C') ++ { ++ if ((DynamicStrings_Length (s)) > 1) ++ { ++ number = DynamicStrings_Slice (s, 0, -1); ++ content = DynamicStrings_InitStringChar ((char ) (StringConvert_ostoc (number))); ++ number = DynamicStrings_KillString (number); ++ } ++ else ++ { ++ content = DynamicStrings_InitStringChar ('C'); ++ } ++ } ++ else ++ { ++ content = DynamicStrings_Dup (s); ++ } ++ } ++ else ++ { ++ mcMetaError_metaError1 ((const char *) "cannot obtain string contents from {%1k}", 40, (const unsigned char *) &n->literalF.name, (sizeof (n->literalF.name)-1)); ++ } ++ s = DynamicStrings_KillString (s); ++ return content; ++ /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doMakeEnumField - create an enumeration field name and add it to enumeration e. +- Return the new field. ++ getStringContents - return the string contents of a constant, literal, ++ string or a constexp node. + */ + +-static decl_node doMakeEnumField (decl_node e, nameKey_Name n) ++static DynamicStrings_String getStringContents (decl_node__opaque n) + { +- decl_node f; +- +- mcDebug_assert (decl_isEnumeration (e)); +- f = decl_lookupSym (n); +- if (f == NULL) ++ if (decl_isConst (static_cast (n))) + { +- f = newNode (decl_enumerationfield); +- symbolKey_putSymKey (e->enumerationF.localSymbols, n, reinterpret_cast (f)); +- Indexing_IncludeIndiceIntoIndex (e->enumerationF.listOfSons, reinterpret_cast (f)); +- f->enumerationfieldF.name = n; +- f->enumerationfieldF.type = e; +- f->enumerationfieldF.scope = decl_getDeclScope (); +- f->enumerationfieldF.value = e->enumerationF.noOfElements; +- initCname (&f->enumerationfieldF.cname); +- e->enumerationF.noOfElements += 1; +- mcDebug_assert ((Indexing_GetIndice (e->enumerationF.listOfSons, e->enumerationF.noOfElements)) == f); +- addEnumToModule (currentModule, f); +- if (e->enumerationF.low == NULL) +- { +- e->enumerationF.low = f; +- } +- e->enumerationF.high = f; +- return addToScope (f); ++ return getStringContents (n->constF.value); + } +- else ++ else if (decl_isLiteral (static_cast (n))) + { +- mcMetaError_metaErrors2 ((const char *) "cannot create enumeration field {%1k} as the name is already in use", 67, (const char *) "{%2DMad} was declared elsewhere", 31, (const unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) &f, (sizeof (f)-1)); ++ /* avoid dangling else. */ ++ return getLiteralStringContents (n); + } +- return f; +- /* static analysis guarentees a RETURN statement will be used before here. */ ++ else if (isString (n)) ++ { ++ /* avoid dangling else. */ ++ return getString (n); ++ } ++ else if (isConstExp (n)) ++ { ++ /* avoid dangling else. */ ++ return getStringContents (n->unaryF.arg); ++ } ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } + + + /* +- getExpList - returns the, n, th argument in an explist. ++ addNames - + */ + +-static decl_node getExpList (decl_node p, unsigned int n) ++static nameKey_Name addNames (decl_node__opaque a, decl_node__opaque b) + { +- mcDebug_assert (p != NULL); +- mcDebug_assert (decl_isExpList (p)); +- mcDebug_assert (n <= (Indexing_HighIndice (p->explistF.exp))); +- return static_cast (Indexing_GetIndice (p->explistF.exp, n)); ++ DynamicStrings_String sa; ++ DynamicStrings_String sb; ++ nameKey_Name n; ++ ++ sa = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (a)))); ++ sb = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (b)))); ++ sa = DynamicStrings_ConCat (sa, sb); ++ n = nameKey_makekey (DynamicStrings_string (sa)); ++ sa = DynamicStrings_KillString (sa); ++ sb = DynamicStrings_KillString (sb); ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- expListLen - returns the length of explist, p. ++ resolveString - + */ + +-static unsigned int expListLen (decl_node p) ++static decl_node__opaque resolveString (decl_node__opaque n) + { +- if (p == NULL) ++ while ((decl_isConst (static_cast (n))) || (isConstExp (n))) + { +- return 0; ++ if (decl_isConst (static_cast (n))) ++ { ++ n = n->constF.value; ++ } ++ else ++ { ++ n = n->unaryF.arg; ++ } + } +- else ++ if (n->kind == decl_plus) + { +- mcDebug_assert (decl_isExpList (p)); +- return Indexing_HighIndice (p->explistF.exp); ++ n = static_cast (decl_makeString (addNames (resolveString (n->binaryF.left), resolveString (n->binaryF.right)))); + } ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- getConstExpComplete - gets the field from the def or imp or module, n. ++ foldBinary - + */ + +-static bool getConstExpComplete (decl_node n) ++static decl_node__opaque foldBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque res) + { +- switch (n->kind) +- { +- case decl_def: +- return n->defF.constsComplete; +- break; +- +- case decl_imp: +- return n->impF.constsComplete; +- break; +- +- case decl_module: +- return n->moduleF.constsComplete; +- break; +- ++ decl_node__opaque n; ++ DynamicStrings_String ls; ++ DynamicStrings_String rs; + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ n = static_cast (NULL); ++ if (((k == decl_plus) && (isLeafString (l))) && (isLeafString (r))) ++ { ++ ls = getStringContents (l); ++ rs = getStringContents (r); ++ ls = DynamicStrings_Add (ls, rs); ++ n = static_cast (decl_makeString (nameKey_makekey (DynamicStrings_string (ls)))); ++ ls = DynamicStrings_KillString (ls); ++ rs = DynamicStrings_KillString (rs); + } ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- addConstToModule - adds const exp, e, into the list of constant +- expressions in module, m. ++ makeBinary - create a binary node with left/right/result type: l, r and resultType. + */ + +-static void addConstToModule (decl_node m, decl_node e) ++static decl_node__opaque makeBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque resultType) + { +- mcDebug_assert (((decl_isModule (m)) || (decl_isDef (m))) || (decl_isImp (m))); +- if (decl_isModule (m)) +- { +- Indexing_IncludeIndiceIntoIndex (m->moduleF.constFixup.info, reinterpret_cast (e)); +- } +- else if (decl_isDef (m)) +- { +- /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->defF.constFixup.info, reinterpret_cast (e)); +- } +- else if (decl_isImp (m)) ++ decl_node__opaque n; ++ ++ n = foldBinary (k, l, r, resultType); ++ if (n == NULL) + { +- /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->impF.constFixup.info, reinterpret_cast (e)); ++ n = doMakeBinary (k, l, r, resultType); + } +-} +- +- +-/* +- doMakeConstExp - create a constexp node and add it to the current module. +-*/ +- +-static decl_node doMakeConstExp (void) +-{ +- decl_node c; +- +- c = makeUnary (decl_constexp, NULL, NULL); +- addConstToModule (currentModule, c); +- return c; ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- isAnyType - return TRUE if node n is any type kind. ++ doMakeBinary - returns a binary node containing left/right/result values ++ l, r, res, with a node operator, k. + */ + +-static bool isAnyType (decl_node n) ++static decl_node__opaque doMakeBinary (decl_nodeT k, decl_node__opaque l, decl_node__opaque r, decl_node__opaque res) + { +- mcDebug_assert (n != NULL); ++ decl_node__opaque n; ++ ++ n = newNode (k); + switch (n->kind) + { +- case decl_address: +- case decl_loc: +- case decl_byte: +- case decl_word: +- case decl_char: +- case decl_cardinal: +- case decl_longcard: +- case decl_shortcard: +- case decl_integer: +- case decl_longint: +- case decl_shortint: +- case decl_complex: +- case decl_longcomplex: +- case decl_shortcomplex: +- case decl_bitset: +- case decl_boolean: +- case decl_proc: +- case decl_type: +- return true; ++ case decl_cmplx: ++ case decl_equal: ++ case decl_notequal: ++ case decl_less: ++ case decl_greater: ++ case decl_greequal: ++ case decl_lessequal: ++ case decl_and: ++ case decl_or: ++ case decl_cast: ++ case decl_val: ++ case decl_plus: ++ case decl_sub: ++ case decl_div: ++ case decl_mod: ++ case decl_mult: ++ case decl_divide: ++ case decl_in: ++ n->binaryF.left = l; ++ n->binaryF.right = r; ++ n->binaryF.resultType = res; + break; + + + default: +- return false; +- break; ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeVal - creates a VAL (type, expression) node. ++ doMakeComponentRef - + */ + +-static decl_node makeVal (decl_node params) ++static decl_node__opaque doMakeComponentRef (decl_node__opaque rec, decl_node__opaque field) + { +- mcDebug_assert (decl_isExpList (params)); +- if ((expListLen (params)) == 2) +- { +- return makeBinary (decl_val, getExpList (params, 1), getExpList (params, 2), getExpList (params, 1)); +- } +- else +- { +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- } +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ decl_node__opaque n; ++ ++ n = newNode (decl_componentref); ++ n->componentrefF.rec = rec; ++ n->componentrefF.field = field; ++ n->componentrefF.resultType = static_cast (decl_getType (static_cast (field))); ++ initNodeOpaqueState (n); ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeCast - creates a cast node TYPENAME (expr). ++ isComponentRef - + */ + +-static decl_node makeCast (decl_node c, decl_node p) +-{ +- mcDebug_assert (decl_isExpList (p)); +- if ((expListLen (p)) == 1) +- { +- return makeBinary (decl_cast, c, getExpList (p, 1), c); +- } +- else +- { +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- } +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +-} +- +-static decl_node makeIntrinsicProc (decl_nodeT k, unsigned int noArgs, decl_node p) ++static bool isComponentRef (decl_node__opaque n) + { +- decl_node f; +- +- /* +- makeIntrisicProc - create an intrinsic node. +- */ +- f = newNode (k); +- f->intrinsicF.args = p; +- f->intrinsicF.noArgs = noArgs; +- f->intrinsicF.type = NULL; +- f->intrinsicF.postUnreachable = k == decl_halt; +- initPair (&f->intrinsicF.intrinsicComment); +- return f; ++ mcDebug_assert (n != NULL); ++ return n->kind == decl_componentref; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeIntrinsicUnaryType - create an intrisic unary type. ++ isArrayRef - returns TRUE if the node was an arrayref. + */ + +-static decl_node makeIntrinsicUnaryType (decl_nodeT k, decl_node paramList, decl_node returnType) ++static bool isArrayRef (decl_node__opaque n) + { +- return makeUnary (k, getExpList (paramList, 1), returnType); ++ mcDebug_assert (n != NULL); ++ return n->kind == decl_arrayref; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeIntrinsicBinaryType - create an intrisic binary type. ++ isDeref - returns TRUE if, n, is a deref node. + */ + +-static decl_node makeIntrinsicBinaryType (decl_nodeT k, decl_node paramList, decl_node returnType) ++static bool isDeref (decl_node__opaque n) + { +- return makeBinary (k, getExpList (paramList, 1), getExpList (paramList, 2), returnType); ++ mcDebug_assert (n != NULL); ++ return n->kind == decl_deref; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- checkIntrinsic - checks to see if the function call to, c, with +- parameter list, n, is really an intrinic. If it +- is an intrinic then an intrinic node is created +- and returned. Otherwise NIL is returned. ++ makeBase - create a base type or constant. ++ It only supports the base types and constants ++ enumerated below. + */ + +-static decl_node checkIntrinsic (decl_node c, decl_node n) ++static decl_node__opaque makeBase (decl_nodeT k) + { +- if (isAnyType (c)) +- { +- return makeCast (c, n); +- } +- else if (c == maxN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_max, n, NULL); +- } +- else if (c == minN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_min, n, NULL); +- } +- else if (c == haltN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_halt, expListLen (n), n); +- } +- else if (c == valN) +- { +- /* avoid dangling else. */ +- return makeVal (n); +- } +- else if (c == adrN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_adr, n, addressN); +- } +- else if (c == sizeN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_size, n, cardinalN); +- } +- else if (c == tsizeN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_tsize, n, cardinalN); +- } +- else if (c == floatN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_float, n, realN); +- } +- else if (c == truncN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_trunc, n, integerN); +- } +- else if (c == ordN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_ord, n, cardinalN); +- } +- else if (c == chrN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_chr, n, charN); +- } +- else if (c == capN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_cap, n, charN); +- } +- else if (c == absN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_abs, n, NULL); +- } +- else if (c == imN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_im, n, NULL); +- } +- else if (c == reN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_re, n, NULL); +- } +- else if (c == cmplxN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicBinaryType (decl_cmplx, n, NULL); +- } +- else if (c == highN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_high, n, cardinalN); +- } +- else if (c == incN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_inc, expListLen (n), n); +- } +- else if (c == decN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_dec, expListLen (n), n); +- } +- else if (c == inclN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_incl, expListLen (n), n); +- } +- else if (c == exclN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_excl, expListLen (n), n); +- } +- else if (c == newN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_new, 1, n); +- } +- else if (c == disposeN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicProc (decl_dispose, 1, n); +- } +- else if (c == lengthN) +- { +- /* avoid dangling else. */ +- return makeIntrinsicUnaryType (decl_length, n, cardinalN); +- } +- else if (c == throwN) ++ decl_node__opaque n; ++ ++ n = newNode (k); ++ switch (k) + { +- /* avoid dangling else. */ +- keyc_useThrow (); +- return makeIntrinsicProc (decl_throw, 1, n); ++ case decl_new: ++ case decl_dispose: ++ case decl_length: ++ case decl_inc: ++ case decl_dec: ++ case decl_incl: ++ case decl_excl: ++ case decl_nil: ++ case decl_true: ++ case decl_false: ++ case decl_address: ++ case decl_loc: ++ case decl_byte: ++ case decl_word: ++ case decl_csizet: ++ case decl_cssizet: ++ case decl_char: ++ case decl_cardinal: ++ case decl_longcard: ++ case decl_shortcard: ++ case decl_integer: ++ case decl_longint: ++ case decl_shortint: ++ case decl_real: ++ case decl_longreal: ++ case decl_shortreal: ++ case decl_bitset: ++ case decl_boolean: ++ case decl_proc: ++ case decl_ztype: ++ case decl_rtype: ++ case decl_complex: ++ case decl_longcomplex: ++ case decl_shortcomplex: ++ case decl_adr: ++ case decl_chr: ++ case decl_cap: ++ case decl_abs: ++ case decl_float: ++ case decl_trunc: ++ case decl_ord: ++ case decl_high: ++ case decl_throw: ++ case decl_re: ++ case decl_im: ++ case decl_cmplx: ++ case decl_size: ++ case decl_tsize: ++ case decl_val: ++ case decl_min: ++ case decl_max: ++ break; ++ ++ ++ default: ++ M2RTS_HALT (-1); /* legal kind. */ ++ __builtin_unreachable (); ++ break; + } +- return NULL; ++ return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- checkCHeaders - check to see if the function is a C system function and +- requires a header file included. ++ isOrdinal - returns TRUE if, n, is an ordinal type. + */ + +-static void checkCHeaders (decl_node c) ++static bool isOrdinal (decl_node__opaque n) + { +- nameKey_Name name; +- decl_node s; +- +- if (decl_isProcedure (c)) ++ switch (n->kind) + { +- s = decl_getScope (c); +- if ((decl_getSymName (s)) == (nameKey_makeKey ((const char *) "libc", 4))) +- { +- name = decl_getSymName (c); +- if ((((name == (nameKey_makeKey ((const char *) "read", 4))) || (name == (nameKey_makeKey ((const char *) "write", 5)))) || (name == (nameKey_makeKey ((const char *) "open", 4)))) || (name == (nameKey_makeKey ((const char *) "close", 5)))) +- { +- keyc_useUnistd (); +- } +- } +- } +-} +- ++ case decl_address: ++ case decl_loc: ++ case decl_byte: ++ case decl_word: ++ case decl_csizet: ++ case decl_cssizet: ++ case decl_char: ++ case decl_integer: ++ case decl_longint: ++ case decl_shortint: ++ case decl_cardinal: ++ case decl_longcard: ++ case decl_shortcard: ++ case decl_bitset: ++ return true; ++ break; + +-/* +- isFuncCall - returns TRUE if, n, is a function/procedure call. +-*/ + +-static bool isFuncCall (decl_node n) +-{ +- mcDebug_assert (n != NULL); +- return n->kind == decl_funccall; ++ default: ++ return false; ++ break; ++ } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- putTypeInternal - marks type, des, as being an internally generated type. ++ mixTypes - + */ + +-static void putTypeInternal (decl_node des) ++static decl_node__opaque mixTypes (decl_node__opaque a, decl_node__opaque b) + { +- mcDebug_assert (des != NULL); +- mcDebug_assert (decl_isType (des)); +- des->typeF.isInternal = true; ++ if ((a == addressN) || (b == addressN)) ++ { ++ return addressN; ++ } ++ return a; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- isTypeInternal - returns TRUE if type, n, is internal. ++ doSetExprType - + */ + +-static bool isTypeInternal (decl_node n) ++static decl_node__opaque doSetExprType (decl_node__opaque *t, decl_node__opaque n) + { +- mcDebug_assert (n != NULL); +- mcDebug_assert (decl_isType (n)); +- return n->typeF.isInternal; ++ if ((*t) == NULL) ++ { ++ (*t) = n; ++ } ++ return (*t); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- lookupBase - return node named n from the base symbol scope. ++ getMaxMinType - + */ + +-static decl_node lookupBase (nameKey_Name n) ++static decl_node__opaque getMaxMinType (decl_node__opaque n) + { +- decl_node m; +- +- m = static_cast (symbolKey_getSymKey (baseSymbols, n)); +- if (m == procN) ++ if ((decl_isVar (static_cast (n))) || (decl_isConst (static_cast (n)))) + { +- keyc_useProc (); ++ return static_cast (decl_getType (static_cast (n))); + } +- else if (((m == complexN) || (m == longcomplexN)) || (m == shortcomplexN)) ++ else if (isConstExp (n)) + { + /* avoid dangling else. */ +- keyc_useComplex (); ++ n = getExprType (n->unaryF.arg); ++ if (n == bitsetN) ++ { ++ return ztypeN; ++ } ++ else ++ { ++ return n; ++ } ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ return n; + } +- return m; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- dumpScopes - display the names of all the scopes stacked. ++ doGetFuncType - + */ + +-static void dumpScopes (void) ++static decl_node__opaque doGetFuncType (decl_node__opaque n) + { +- unsigned int h; +- decl_node s; ++ decl_node__opaque result; + +- h = Indexing_HighIndice (scopeStack); +- libc_printf ((const char *) "total scopes stacked %d\\n", 25, h); +- while (h >= 1) +- { +- s = static_cast (Indexing_GetIndice (scopeStack, h)); +- out2 ((const char *) " scope [%d] is %s\\n", 19, h, s); +- h -= 1; +- } ++ mcDebug_assert (isFuncCall (n)); ++ result = doSetExprType (&n->funccallF.type, static_cast (decl_getType (static_cast (n->funccallF.function)))); ++ initNodeOpaqueState (n); /* Update now that the return type is known. */ ++ return result; /* Update now that the return type is known. */ ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- out0 - write string a to StdOut. ++ doGetExprType - works out the type which is associated with node, n. + */ + +-static void out0 (const char *a_, unsigned int _a_high) ++static decl_node__opaque doGetExprType (decl_node__opaque n) + { +- DynamicStrings_String m; +- char a[_a_high+1]; ++ switch (n->kind) ++ { ++ case decl_max: ++ case decl_min: ++ return getMaxMinType (n->unaryF.arg); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_cast: ++ case decl_val: ++ return doSetExprType (&n->binaryF.resultType, n->binaryF.left); ++ break; + +- m = FormatStrings_Sprintf0 (DynamicStrings_InitString ((const char *) a, _a_high)); +- m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); +-} ++ case decl_halt: ++ case decl_new: ++ case decl_dispose: ++ return static_cast (NULL); ++ break; + ++ case decl_inc: ++ case decl_dec: ++ case decl_incl: ++ case decl_excl: ++ return static_cast (NULL); ++ break; + +-/* +- out1 - write string a to StdOut using format specifier a. +-*/ ++ case decl_nil: ++ return addressN; ++ break; + +-static void out1 (const char *a_, unsigned int _a_high, decl_node s) +-{ +- DynamicStrings_String m; +- unsigned int d; +- char a[_a_high+1]; ++ case decl_true: ++ case decl_false: ++ return booleanN; ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_address: ++ return n; ++ break; + +- m = getFQstring (s); +- if (DynamicStrings_EqualArray (m, (const char *) "", 0)) +- { +- d = (unsigned int ) ((long unsigned int ) (s)); +- m = DynamicStrings_KillString (m); +- m = FormatStrings_Sprintf1 (DynamicStrings_InitString ((const char *) "[%d]", 4), (const unsigned char *) &d, (sizeof (d)-1)); +- } +- m = FormatStrings_Sprintf1 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &m, (sizeof (m)-1)); +- m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); +-} ++ case decl_loc: ++ return n; ++ break; + ++ case decl_byte: ++ return n; ++ break; + +-/* +- out2 - write string a to StdOut using format specifier a. +-*/ ++ case decl_word: ++ return n; ++ break; + +-static void out2 (const char *a_, unsigned int _a_high, unsigned int c, decl_node s) +-{ +- DynamicStrings_String m; +- DynamicStrings_String m1; +- char a[_a_high+1]; ++ case decl_csizet: ++ return n; ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_cssizet: ++ return n; ++ break; + +- m1 = getString (s); +- m = FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &c, (sizeof (c)-1), (const unsigned char *) &m1, (sizeof (m1)-1)); +- m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); +- m1 = DynamicStrings_KillString (m1); +-} ++ case decl_boolean: ++ /* base types. */ ++ return n; ++ break; + ++ case decl_proc: ++ return n; ++ break; + +-/* +- out3 - write string a to StdOut using format specifier a. +-*/ ++ case decl_char: ++ return n; ++ break; + +-static void out3 (const char *a_, unsigned int _a_high, unsigned int l, nameKey_Name n, decl_node s) +-{ +- DynamicStrings_String m; +- DynamicStrings_String m1; +- DynamicStrings_String m2; +- char a[_a_high+1]; ++ case decl_cardinal: ++ return n; ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_longcard: ++ return n; ++ break; + +- m1 = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); +- m2 = getString (s); +- m = FormatStrings_Sprintf3 (DynamicStrings_InitString ((const char *) a, _a_high), (const unsigned char *) &l, (sizeof (l)-1), (const unsigned char *) &m1, (sizeof (m1)-1), (const unsigned char *) &m2, (sizeof (m2)-1)); +- m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); +- m1 = DynamicStrings_KillString (m1); +- m2 = DynamicStrings_KillString (m2); +-} ++ case decl_shortcard: ++ return n; ++ break; + ++ case decl_integer: ++ return n; ++ break; + +-/* +- isUnary - returns TRUE if, n, is an unary node. +-*/ ++ case decl_longint: ++ return n; ++ break; + +-static bool isUnary (decl_node n) +-{ +- mcDebug_assert (n != NULL); +- switch (n->kind) +- { +- case decl_length: +- case decl_re: +- case decl_im: +- case decl_deref: +- case decl_high: +- case decl_chr: +- case decl_cap: +- case decl_abs: +- case decl_ord: +- case decl_float: +- case decl_trunc: +- case decl_constexp: +- case decl_not: +- case decl_neg: +- case decl_adr: +- case decl_size: +- case decl_tsize: +- case decl_min: +- case decl_max: +- return true; ++ case decl_shortint: ++ return n; + break; + ++ case decl_real: ++ return n; ++ break; + +- default: +- return false; ++ case decl_longreal: ++ return n; + break; +- } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} + ++ case decl_shortreal: ++ return n; ++ break; + +-/* +- isBinary - returns TRUE if, n, is an binary node. +-*/ ++ case decl_bitset: ++ return n; ++ break; + +-static bool isBinary (decl_node n) +-{ +- mcDebug_assert (n != NULL); +- switch (n->kind) +- { +- case decl_cmplx: +- case decl_and: +- case decl_or: +- case decl_equal: +- case decl_notequal: +- case decl_less: +- case decl_greater: +- case decl_greequal: +- case decl_lessequal: +- case decl_val: +- case decl_cast: +- case decl_plus: +- case decl_sub: +- case decl_div: +- case decl_mod: +- case decl_mult: +- case decl_divide: +- case decl_in: +- return true; ++ case decl_ztype: ++ return n; + break; + ++ case decl_rtype: ++ return n; ++ break; + +- default: +- return false; ++ case decl_complex: ++ return n; + break; +- } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} + ++ case decl_longcomplex: ++ return n; ++ break; + +-/* +- makeUnary - create a unary expression node with, e, as the argument +- and res as the return type. +-*/ ++ case decl_shortcomplex: ++ return n; ++ break; + +-static decl_node makeUnary (decl_nodeT k, decl_node e, decl_node res) +-{ +- decl_node n; ++ case decl_type: ++ /* language features and compound type attributes. */ ++ return n->typeF.type; ++ break; + +- if (k == decl_plus) +- { +- return e; +- } +- else +- { +- n = newNode (k); +- switch (n->kind) +- { +- case decl_min: +- case decl_max: +- case decl_throw: +- case decl_re: +- case decl_im: +- case decl_deref: +- case decl_high: +- case decl_chr: +- case decl_cap: +- case decl_abs: +- case decl_ord: +- case decl_float: +- case decl_trunc: +- case decl_length: +- case decl_constexp: +- case decl_not: +- case decl_neg: +- case decl_adr: +- case decl_size: +- case decl_tsize: +- n->unaryF.arg = e; +- n->unaryF.resultType = res; +- break; ++ case decl_record: ++ return n; ++ break; + ++ case decl_varient: ++ return n; ++ break; + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } ++ case decl_var: ++ return n->varF.type; ++ break; ++ ++ case decl_enumeration: ++ return n; ++ break; ++ ++ case decl_subrange: ++ return n->subrangeF.type; ++ break; ++ ++ case decl_array: ++ return n->arrayF.type; ++ break; ++ ++ case decl_string: ++ return charN; ++ break; ++ ++ case decl_const: ++ return doSetExprType (&n->constF.type, getExprType (n->constF.value)); ++ break; ++ ++ case decl_literal: ++ return n->literalF.type; ++ break; ++ ++ case decl_varparam: ++ return n->varparamF.type; ++ break; ++ ++ case decl_param: ++ return n->paramF.type; ++ break; ++ ++ case decl_optarg: ++ return n->optargF.type; ++ break; ++ ++ case decl_pointer: ++ return n->pointerF.type; ++ break; ++ ++ case decl_recordfield: ++ return n->recordfieldF.type; ++ break; ++ ++ case decl_varientfield: ++ return n; ++ break; ++ ++ case decl_enumerationfield: ++ return n->enumerationfieldF.type; ++ break; ++ ++ case decl_set: ++ return n->setF.type; ++ break; ++ ++ case decl_proctype: ++ return n->proctypeF.returnType; ++ break; ++ ++ case decl_subscript: ++ return n->subscriptF.type; ++ break; ++ ++ case decl_procedure: ++ /* blocks. */ ++ return n->procedureF.returnType; ++ break; ++ ++ case decl_throw: ++ return static_cast (NULL); ++ break; ++ ++ case decl_unreachable: ++ return static_cast (NULL); ++ break; ++ ++ case decl_def: ++ case decl_imp: ++ case decl_module: ++ case decl_loop: ++ case decl_while: ++ case decl_for: ++ case decl_repeat: ++ case decl_if: ++ case decl_elsif: ++ case decl_assignment: ++ /* statements. */ ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ break; ++ ++ case decl_plus: ++ case decl_sub: ++ case decl_div: ++ case decl_mod: ++ case decl_mult: ++ case decl_divide: ++ /* expressions. */ ++ return doSetExprType (&n->binaryF.resultType, mixTypes (getExprType (n->binaryF.left), getExprType (n->binaryF.right))); ++ break; ++ ++ case decl_in: ++ case decl_and: ++ case decl_or: ++ case decl_equal: ++ case decl_notequal: ++ case decl_less: ++ case decl_greater: ++ case decl_greequal: ++ case decl_lessequal: ++ return doSetExprType (&n->binaryF.resultType, booleanN); ++ break; ++ ++ case decl_cmplx: ++ return doSetExprType (&n->binaryF.resultType, complexN); ++ break; ++ ++ case decl_abs: ++ case decl_constexp: ++ case decl_deref: ++ case decl_neg: ++ return doSetExprType (&n->unaryF.resultType, getExprType (n->unaryF.arg)); ++ break; ++ ++ case decl_adr: ++ return doSetExprType (&n->unaryF.resultType, addressN); ++ break; ++ ++ case decl_size: ++ case decl_tsize: ++ return doSetExprType (&n->unaryF.resultType, cardinalN); ++ break; ++ ++ case decl_high: ++ case decl_ord: ++ return doSetExprType (&n->unaryF.resultType, cardinalN); ++ break; ++ ++ case decl_float: ++ return doSetExprType (&n->unaryF.resultType, realN); ++ break; ++ ++ case decl_trunc: ++ return doSetExprType (&n->unaryF.resultType, integerN); ++ break; ++ ++ case decl_chr: ++ return doSetExprType (&n->unaryF.resultType, charN); ++ break; ++ ++ case decl_cap: ++ return doSetExprType (&n->unaryF.resultType, charN); ++ break; ++ ++ case decl_not: ++ return doSetExprType (&n->unaryF.resultType, booleanN); ++ break; ++ ++ case decl_re: ++ return doSetExprType (&n->unaryF.resultType, realN); ++ break; ++ ++ case decl_im: ++ return doSetExprType (&n->unaryF.resultType, realN); ++ break; ++ ++ case decl_arrayref: ++ return n->arrayrefF.resultType; ++ break; ++ ++ case decl_componentref: ++ return n->componentrefF.resultType; ++ break; ++ ++ case decl_pointerref: ++ return n->pointerrefF.resultType; ++ break; ++ ++ case decl_funccall: ++ return doSetExprType (&n->funccallF.type, doGetFuncType (n)); ++ break; ++ ++ case decl_setvalue: ++ return n->setvalueF.type; ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } + + + /* +- isLeafString - returns TRUE if n is a leaf node which is a string constant. ++ getExprType - return the expression type. + */ + +-static bool isLeafString (decl_node n) ++static decl_node__opaque getExprType (decl_node__opaque n) + { +- return ((isString (n)) || ((decl_isLiteral (n)) && ((decl_getType (n)) == charN))) || ((decl_isConst (n)) && ((getExprType (n)) == charN)); ++ decl_node__opaque t; ++ ++ if (((isFuncCall (n)) && ((decl_getType (static_cast (n))) != NULL)) && (decl_isProcType (decl_skipType (decl_getType (static_cast (n)))))) ++ { ++ return static_cast (decl_getType (decl_skipType (decl_getType (static_cast (n))))); ++ } ++ t = static_cast (decl_getType (static_cast (n))); ++ if (t == NULL) ++ { ++ t = doGetExprType (n); ++ } ++ return t; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- getLiteralStringContents - return the contents of a literal node as a string. ++ openOutput - + */ + +-static DynamicStrings_String getLiteralStringContents (decl_node n) ++static void openOutput (void) + { +- DynamicStrings_String number; +- DynamicStrings_String content; + DynamicStrings_String s; + +- mcDebug_assert (n->kind == decl_literal); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n->literalF.name)); +- content = NULL; +- if (n->literalF.type == charN) ++ s = mcOptions_getOutputFile (); ++ if (DynamicStrings_EqualArray (s, (const char *) "-", 1)) + { +- if ((DynamicStrings_char (s, -1)) == 'C') +- { +- if ((DynamicStrings_Length (s)) > 1) +- { +- number = DynamicStrings_Slice (s, 0, -1); +- content = DynamicStrings_InitStringChar ((char ) (StringConvert_ostoc (number))); +- number = DynamicStrings_KillString (number); +- } +- else +- { +- content = DynamicStrings_InitStringChar ('C'); +- } +- } +- else +- { +- content = DynamicStrings_Dup (s); +- } ++ outputFile = FIO_StdOut; + } + else + { +- mcMetaError_metaError1 ((const char *) "cannot obtain string contents from {%1k}", 40, (const unsigned char *) &n->literalF.name, (sizeof (n->literalF.name)-1)); ++ outputFile = SFIO_OpenToWrite (s); + } +- s = DynamicStrings_KillString (s); +- return content; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ mcStream_setDest (outputFile); + } + + + /* +- getStringContents - return the string contents of a constant, literal, +- string or a constexp node. ++ closeOutput - + */ + +-static DynamicStrings_String getStringContents (decl_node n) ++static void closeOutput (void) + { +- if (decl_isConst (n)) +- { +- return getStringContents (n->constF.value); +- } +- else if (decl_isLiteral (n)) +- { +- /* avoid dangling else. */ +- return getLiteralStringContents (n); +- } +- else if (isString (n)) +- { +- /* avoid dangling else. */ +- return getString (n); +- } +- else if (isConstExp (n)) ++ DynamicStrings_String s; ++ ++ s = mcOptions_getOutputFile (); ++ outputFile = mcStream_combine (); ++ if (! (DynamicStrings_EqualArray (s, (const char *) "-", 1))) + { +- /* avoid dangling else. */ +- return getStringContents (n->unaryF.arg); ++ FIO_Close (outputFile); + } +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); + } + + + /* +- addNames - ++ write - outputs a single char, ch. + */ + +-static nameKey_Name addNames (decl_node a, decl_node b) ++static void write_ (char ch) + { +- DynamicStrings_String sa; +- DynamicStrings_String sb; +- nameKey_Name n; ++ FIO_WriteChar (outputFile, ch); ++ FIO_FlushBuffer (outputFile); ++} + +- sa = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (a))); +- sb = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (b))); +- sa = DynamicStrings_ConCat (sa, sb); +- n = nameKey_makekey (DynamicStrings_string (sa)); +- sa = DynamicStrings_KillString (sa); +- sb = DynamicStrings_KillString (sb); +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ ++/* ++ writeln - ++*/ ++ ++static void writeln (void) ++{ ++ FIO_WriteLine (outputFile); ++ FIO_FlushBuffer (outputFile); + } + + + /* +- resolveString - ++ doIncludeC - include header file for definition module, n. + */ + +-static decl_node resolveString (decl_node n) ++static void doIncludeC (decl_node__opaque n) + { +- while ((decl_isConst (n)) || (isConstExp (n))) ++ DynamicStrings_String s; ++ ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ if (mcOptions_getExtendedOpaque ()) ++ {} /* empty. */ ++ /* no include in this case. */ ++ else if (decl_isDef (static_cast (n))) + { +- if (decl_isConst (n)) +- { +- n = n->constF.value; +- } +- else +- { +- n = n->unaryF.arg; +- } ++ /* avoid dangling else. */ ++ mcPretty_print (doP, (const char *) "# include \"", 13); ++ mcPretty_prints (doP, mcOptions_getHPrefix ()); ++ mcPretty_prints (doP, s); ++ mcPretty_print (doP, (const char *) ".h\"\\n", 5); ++ symbolKey_foreachNodeDo (n->defF.decls.symbols, (symbolKey_performOperation) {(symbolKey_performOperation_t) addDoneDef}); + } +- if (n->kind == decl_plus) ++ s = DynamicStrings_KillString (s); ++} ++ ++ ++/* ++ getSymScope - returns the scope where node, n, was declared. ++*/ ++ ++static decl_node__opaque getSymScope (decl_node__opaque n) ++{ ++ switch (n->kind) + { +- n = decl_makeString (addNames (resolveString (n->binaryF.left), resolveString (n->binaryF.right))); ++ case decl_const: ++ return n->constF.scope; ++ break; ++ ++ case decl_type: ++ return n->typeF.scope; ++ break; ++ ++ case decl_var: ++ return n->varF.scope; ++ break; ++ ++ case decl_procedure: ++ return n->procedureF.scope; ++ break; ++ ++ ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } +- return n; ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ isQualifiedForced - should the node be written with a module prefix? ++*/ ++ ++static bool isQualifiedForced (decl_node__opaque n) ++{ ++ return forceQualified && (((((decl_isType (static_cast (n))) || (decl_isRecord (static_cast (n)))) || (decl_isArray (static_cast (n)))) || (decl_isEnumeration (static_cast (n)))) || (decl_isEnumerationField (static_cast (n)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- foldBinary - ++ getFQstring - + */ + +-static decl_node foldBinary (decl_nodeT k, decl_node l, decl_node r, decl_node res) ++static DynamicStrings_String getFQstring (decl_node__opaque n) + { +- decl_node n; +- DynamicStrings_String ls; +- DynamicStrings_String rs; ++ DynamicStrings_String i; ++ DynamicStrings_String s; + +- n = NULL; +- if (((k == decl_plus) && (isLeafString (l))) && (isLeafString (r))) ++ if (((decl_getScope (static_cast (n))) == NULL) || (decl_isDefUnqualified (decl_getScope (static_cast (n))))) + { +- ls = getStringContents (l); +- rs = getStringContents (r); +- ls = DynamicStrings_Add (ls, rs); +- n = decl_makeString (nameKey_makekey (DynamicStrings_string (ls))); +- ls = DynamicStrings_KillString (ls); +- rs = DynamicStrings_KillString (rs); ++ return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ } ++ else if (isQualifiedForced (n)) ++ { ++ /* avoid dangling else. */ ++ i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (static_cast (n))))); ++ return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); ++ } ++ else if (((! (decl_isExported (static_cast (n)))) || (mcOptions_getIgnoreFQ ())) || (decl_isDefUnqualified (decl_getScope (static_cast (n))))) ++ { ++ /* avoid dangling else. */ ++ return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (static_cast (n))))); ++ return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); + } +- return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- makeBinary - create a binary node with left/right/result type: l, r and resultType. ++ getFQDstring - + */ + +-static decl_node makeBinary (decl_nodeT k, decl_node l, decl_node r, decl_node resultType) ++static DynamicStrings_String getFQDstring (decl_node__opaque n, bool scopes) + { +- decl_node n; ++ DynamicStrings_String i; ++ DynamicStrings_String s; + +- n = foldBinary (k, l, r, resultType); +- if (n == NULL) ++ if (((decl_getScope (static_cast (n))) == NULL) || (decl_isDefUnqualified (decl_getScope (static_cast (n))))) + { +- n = doMakeBinary (k, l, r, resultType); ++ return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (getDName (n, scopes))); ++ } ++ else if (isQualifiedForced (n)) ++ { ++ /* avoid dangling else. */ ++ /* we assume a qualified name will never conflict. */ ++ i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (static_cast (n))))); ++ return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); ++ } ++ else if (((! (decl_isExported (static_cast (n)))) || (mcOptions_getIgnoreFQ ())) || (decl_isDefUnqualified (decl_getScope (static_cast (n))))) ++ { ++ /* avoid dangling else. */ ++ return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (getDName (n, scopes))); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ /* we assume a qualified name will never conflict. */ ++ i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (static_cast (n))))); ++ return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); + } +- return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doMakeBinary - returns a binary node containing left/right/result values +- l, r, res, with a node operator, k. ++ getString - returns the name as a string. + */ + +-static decl_node doMakeBinary (decl_nodeT k, decl_node l, decl_node r, decl_node res) ++static DynamicStrings_String getString (decl_node__opaque n) + { +- decl_node n; +- +- n = newNode (k); +- switch (n->kind) ++ if ((decl_getSymName (static_cast (n))) == nameKey_NulName) + { +- case decl_cmplx: +- case decl_equal: +- case decl_notequal: +- case decl_less: +- case decl_greater: +- case decl_greequal: +- case decl_lessequal: +- case decl_and: +- case decl_or: +- case decl_cast: +- case decl_val: +- case decl_plus: +- case decl_sub: +- case decl_div: +- case decl_mod: +- case decl_mult: +- case decl_divide: +- case decl_in: +- n->binaryF.left = l; +- n->binaryF.right = r; +- n->binaryF.resultType = res; +- break; +- +- +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ return DynamicStrings_InitString ((const char *) "", 0); ++ } ++ else ++ { ++ return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); + } +- return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doMakeComponentRef - ++ doNone - call HALT. + */ + +-static decl_node doMakeComponentRef (decl_node rec, decl_node field) ++static void doNone (decl_node__opaque n) + { +- decl_node n; +- +- n = newNode (decl_componentref); +- n->componentrefF.rec = rec; +- n->componentrefF.field = field; +- n->componentrefF.resultType = decl_getType (field); +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ ++ M2RTS_HALT (-1); + __builtin_unreachable (); + } + + + /* +- isComponentRef - ++ doNothing - does nothing! + */ + +-static bool isComponentRef (decl_node n) ++static void doNothing (decl_node__opaque n) + { +- mcDebug_assert (n != NULL); +- return n->kind == decl_componentref; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- isArrayRef - returns TRUE if the node was an arrayref. ++ doConstC - + */ + +-static bool isArrayRef (decl_node n) ++static void doConstC (decl_node__opaque n) + { +- mcDebug_assert (n != NULL); +- return n->kind == decl_arrayref; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ if (! (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n)))) ++ { ++ mcPretty_print (doP, (const char *) "# define ", 11); ++ doFQNameC (doP, n); ++ mcPretty_setNeedSpace (doP); ++ doExprC (doP, n->constF.value); ++ mcPretty_print (doP, (const char *) "\\n", 2); ++ alists_includeItemIntoList (globalGroup->doneQ, reinterpret_cast (n)); ++ } + } + + + /* +- isDeref - returns TRUE if, n, is a deref node. ++ needsParen - returns TRUE if expression, n, needs to be enclosed in (). + */ + +-static bool isDeref (decl_node n) ++static bool needsParen (decl_node__opaque n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_deref; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} +- +- +-/* +- makeBase - create a base type or constant. +- It only supports the base types and constants +- enumerated below. +-*/ +- +-static decl_node makeBase (decl_nodeT k) +-{ +- decl_node n; +- +- n = newNode (k); +- switch (k) ++ switch (n->kind) + { +- case decl_new: +- case decl_dispose: +- case decl_length: +- case decl_inc: +- case decl_dec: +- case decl_incl: +- case decl_excl: + case decl_nil: + case decl_true: + case decl_false: +- case decl_address: +- case decl_loc: +- case decl_byte: +- case decl_word: +- case decl_csizet: +- case decl_cssizet: +- case decl_char: +- case decl_cardinal: +- case decl_longcard: +- case decl_shortcard: +- case decl_integer: +- case decl_longint: +- case decl_shortint: +- case decl_real: +- case decl_longreal: +- case decl_shortreal: +- case decl_bitset: +- case decl_boolean: +- case decl_proc: +- case decl_ztype: +- case decl_rtype: +- case decl_complex: +- case decl_longcomplex: +- case decl_shortcomplex: ++ return false; ++ break; ++ ++ case decl_constexp: ++ return needsParen (n->unaryF.arg); ++ break; ++ ++ case decl_neg: ++ return needsParen (n->unaryF.arg); ++ break; ++ ++ case decl_not: ++ return needsParen (n->unaryF.arg); ++ break; ++ + case decl_adr: +- case decl_chr: +- case decl_cap: +- case decl_abs: ++ case decl_size: ++ case decl_tsize: ++ case decl_ord: + case decl_float: + case decl_trunc: +- case decl_ord: ++ case decl_chr: ++ case decl_cap: + case decl_high: +- case decl_throw: +- case decl_re: +- case decl_im: +- case decl_cmplx: +- case decl_size: +- case decl_tsize: ++ return false; ++ break; ++ ++ case decl_deref: ++ return false; ++ break; ++ ++ case decl_equal: ++ case decl_notequal: ++ case decl_less: ++ case decl_greater: ++ case decl_greequal: ++ case decl_lessequal: ++ return true; ++ break; ++ ++ case decl_componentref: ++ return false; ++ break; ++ ++ case decl_pointerref: ++ return false; ++ break; ++ ++ case decl_cast: ++ return true; ++ break; ++ + case decl_val: +- case decl_min: ++ return true; ++ break; ++ ++ case decl_abs: ++ return false; ++ break; ++ ++ case decl_plus: ++ case decl_sub: ++ case decl_div: ++ case decl_mod: ++ case decl_mult: ++ case decl_divide: ++ case decl_in: ++ return true; ++ break; ++ ++ case decl_literal: ++ case decl_const: ++ case decl_enumerationfield: ++ case decl_string: ++ return false; ++ break; ++ + case decl_max: ++ return true; + break; + ++ case decl_min: ++ return true; ++ break; + +- default: +- M2RTS_HALT (-1); /* legal kind. */ +- __builtin_unreachable (); ++ case decl_var: ++ return false; + break; +- } +- return n; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} + ++ case decl_arrayref: ++ return false; ++ break; + +-/* +- isOrdinal - returns TRUE if, n, is an ordinal type. +-*/ ++ case decl_and: ++ case decl_or: ++ return true; ++ break; ++ ++ case decl_funccall: ++ return true; ++ break; ++ ++ case decl_recordfield: ++ return false; ++ break; + +-static bool isOrdinal (decl_node n) +-{ +- switch (n->kind) +- { +- case decl_address: + case decl_loc: + case decl_byte: + case decl_word: +- case decl_csizet: +- case decl_cssizet: ++ case decl_type: + case decl_char: +- case decl_integer: +- case decl_longint: +- case decl_shortint: + case decl_cardinal: + case decl_longcard: + case decl_shortcard: ++ case decl_integer: ++ case decl_longint: ++ case decl_shortint: ++ case decl_real: ++ case decl_longreal: ++ case decl_shortreal: ++ case decl_complex: ++ case decl_longcomplex: ++ case decl_shortcomplex: + case decl_bitset: +- return true; ++ case decl_boolean: ++ case decl_proc: ++ return false; + break; + ++ case decl_setvalue: ++ return false; ++ break; + +- default: ++ case decl_address: ++ return true; ++ break; ++ ++ case decl_procedure: + return false; + break; +- } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} + ++ case decl_length: ++ case decl_cmplx: ++ case decl_re: ++ case decl_im: ++ return true; ++ break; + +-/* +- mixTypes - +-*/ + +-static decl_node mixTypes (decl_node a, decl_node b) +-{ +- if ((a == addressN) || (b == addressN)) +- { +- return addressN; ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } +- return a; ++ return true; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doSetExprType - ++ doUnary - + */ + +-static decl_node doSetExprType (decl_node *t, decl_node n) ++static void doUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque expr, decl_node__opaque type, bool l, bool r) + { +- if ((*t) == NULL) ++ char op[_op_high+1]; ++ ++ /* make a local copy of each unbounded array. */ ++ memcpy (op, op_, _op_high+1); ++ ++ if (l) + { +- (*t) = n; ++ mcPretty_setNeedSpace (p); ++ } ++ mcPretty_print (p, (const char *) op, _op_high); ++ if (r) ++ { ++ mcPretty_setNeedSpace (p); ++ } ++ if (needsParen (expr)) ++ { ++ outText (p, (const char *) "(", 1); ++ doExprC (p, expr); ++ outText (p, (const char *) ")", 1); ++ } ++ else ++ { ++ doExprC (p, expr); + } +- return (*t); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- getMaxMinType - ++ doSetSub - perform l & (~ r) + */ + +-static decl_node getMaxMinType (decl_node n) ++static void doSetSub (mcPretty_pretty p, decl_node__opaque left, decl_node__opaque right) + { +- if ((decl_isVar (n)) || (decl_isConst (n))) ++ if (needsParen (left)) + { +- return decl_getType (n); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, left); ++ outText (p, (const char *) ")", 1); + } +- else if (isConstExp (n)) ++ else + { +- /* avoid dangling else. */ +- n = getExprType (n->unaryF.arg); +- if (n == bitsetN) +- { +- return ztypeN; +- } +- else +- { +- return n; +- } ++ doExprC (p, left); ++ } ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "&", 1); ++ mcPretty_setNeedSpace (p); ++ if (needsParen (right)) ++ { ++ outText (p, (const char *) "(~(", 3); ++ doExprC (p, right); ++ outText (p, (const char *) "))", 2); + } + else + { +- /* avoid dangling else. */ +- return n; ++ outText (p, (const char *) "(~", 2); ++ doExprC (p, right); ++ outText (p, (const char *) ")", 1); + } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- doGetFuncType - ++ doPolyBinary - + */ + +-static decl_node doGetFuncType (decl_node n) ++static void doPolyBinary (mcPretty_pretty p, decl_nodeT op, decl_node__opaque left, decl_node__opaque right, bool l, bool r) + { +- mcDebug_assert (isFuncCall (n)); +- return doSetExprType (&n->funccallF.type, decl_getType (n->funccallF.function)); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ decl_node__opaque lt; ++ decl_node__opaque rt; + ++ lt = static_cast (decl_skipType (static_cast (getExprType (left)))); ++ rt = static_cast (decl_skipType (static_cast (getExprType (right)))); ++ if (((lt != NULL) && ((decl_isSet (static_cast (lt))) || (isBitset (lt)))) || ((rt != NULL) && ((decl_isSet (static_cast (rt))) || (isBitset (rt))))) ++ { ++ switch (op) ++ { ++ case decl_plus: ++ doBinary (p, (const char *) "|", 1, left, right, l, r, false); ++ break; + +-/* +- doGetExprType - works out the type which is associated with node, n. +-*/ ++ case decl_sub: ++ doSetSub (p, left, right); ++ break; + +-static decl_node doGetExprType (decl_node n) +-{ +- switch (n->kind) +- { +- case decl_max: +- case decl_min: +- return getMaxMinType (n->unaryF.arg); +- break; ++ case decl_mult: ++ doBinary (p, (const char *) "&", 1, left, right, l, r, false); ++ break; + +- case decl_cast: +- case decl_val: +- return doSetExprType (&n->binaryF.resultType, n->binaryF.left); +- break; ++ case decl_divide: ++ doBinary (p, (const char *) "^", 1, left, right, l, r, false); ++ break; + +- case decl_halt: +- case decl_new: +- case decl_dispose: +- return NULL; +- break; + +- case decl_inc: +- case decl_dec: +- case decl_incl: +- case decl_excl: +- return NULL; +- break; ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } ++ } ++ else ++ { ++ switch (op) ++ { ++ case decl_plus: ++ doBinary (p, (const char *) "+", 1, left, right, l, r, false); ++ break; + +- case decl_nil: +- return addressN; +- break; ++ case decl_sub: ++ doBinary (p, (const char *) "-", 1, left, right, l, r, false); ++ break; + +- case decl_true: +- case decl_false: +- return booleanN; +- break; ++ case decl_mult: ++ doBinary (p, (const char *) "*", 1, left, right, l, r, false); ++ break; + +- case decl_address: +- return n; +- break; ++ case decl_divide: ++ doBinary (p, (const char *) "/", 1, left, right, l, r, false); ++ break; + +- case decl_loc: +- return n; +- break; + +- case decl_byte: +- return n; +- break; ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } ++ } ++} + +- case decl_word: +- return n; +- break; + +- case decl_csizet: +- return n; +- break; ++/* ++ doBinary - ++*/ + +- case decl_cssizet: +- return n; +- break; ++static void doBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque left, decl_node__opaque right, bool l, bool r, bool unpackProc) ++{ ++ char op[_op_high+1]; + +- case decl_boolean: +- /* base types. */ +- return n; +- break; ++ /* make a local copy of each unbounded array. */ ++ memcpy (op, op_, _op_high+1); ++ ++ if (needsParen (left)) ++ { ++ outText (p, (const char *) "(", 1); ++ left = doExprCup (p, left, unpackProc, false); ++ outText (p, (const char *) ")", 1); ++ } ++ else ++ { ++ left = doExprCup (p, left, unpackProc, false); ++ } ++ if (l) ++ { ++ mcPretty_setNeedSpace (p); ++ } ++ outText (p, (const char *) op, _op_high); ++ if (r) ++ { ++ mcPretty_setNeedSpace (p); ++ } ++ if (needsParen (right)) ++ { ++ outText (p, (const char *) "(", 1); ++ right = doExprCup (p, right, unpackProc, false); ++ outText (p, (const char *) ")", 1); ++ } ++ else ++ { ++ right = doExprCup (p, right, unpackProc, false); ++ } ++} + +- case decl_proc: +- return n; +- break; + +- case decl_char: +- return n; +- break; ++/* ++ doPostUnary - ++*/ + +- case decl_cardinal: +- return n; +- break; ++static void doPostUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque expr) ++{ ++ char op[_op_high+1]; + +- case decl_longcard: +- return n; +- break; ++ /* make a local copy of each unbounded array. */ ++ memcpy (op, op_, _op_high+1); + +- case decl_shortcard: +- return n; +- break; ++ doExprC (p, expr); ++ outText (p, (const char *) op, _op_high); ++} + +- case decl_integer: +- return n; +- break; + +- case decl_longint: +- return n; +- break; ++/* ++ doDeRefC - ++*/ + +- case decl_shortint: +- return n; +- break; ++static decl_node__opaque doDeRefC (mcPretty_pretty p, decl_node__opaque expr) ++{ ++ outText (p, (const char *) "(*", 2); ++ expr = castOpaque (p, expr, false); ++ outText (p, (const char *) ")", 1); ++ return expr; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +- case decl_real: +- return n; +- break; + +- case decl_longreal: +- return n; +- break; ++/* ++ doGetLastOp - returns, a, if b is a terminal otherwise walk right. ++*/ + +- case decl_shortreal: +- return n; ++static decl_node__opaque doGetLastOp (decl_node__opaque a, decl_node__opaque b) ++{ ++ switch (b->kind) ++ { ++ case decl_nil: ++ return a; + break; + +- case decl_bitset: +- return n; ++ case decl_true: ++ return a; + break; + +- case decl_ztype: +- return n; ++ case decl_false: ++ return a; + break; + +- case decl_rtype: +- return n; ++ case decl_constexp: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_complex: +- return n; ++ case decl_neg: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_longcomplex: +- return n; ++ case decl_not: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_shortcomplex: +- return n; ++ case decl_adr: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_type: +- /* language features and compound type attributes. */ +- return n->typeF.type; ++ case decl_size: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_record: +- return n; ++ case decl_tsize: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_varient: +- return n; ++ case decl_ord: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_var: +- return n->varF.type; ++ case decl_float: ++ case decl_trunc: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_enumeration: +- return n; ++ case decl_chr: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_subrange: +- return n->subrangeF.type; ++ case decl_cap: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_array: +- return n->arrayF.type; ++ case decl_high: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_string: +- return charN; ++ case decl_deref: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_const: +- return doSetExprType (&n->constF.type, getExprType (n->constF.value)); ++ case decl_re: ++ case decl_im: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_literal: +- return n->literalF.type; ++ case decl_equal: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_varparam: +- return n->varparamF.type; ++ case decl_notequal: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_param: +- return n->paramF.type; ++ case decl_less: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_optarg: +- return n->optargF.type; ++ case decl_greater: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_pointer: +- return n->pointerF.type; ++ case decl_greequal: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_recordfield: +- return n->recordfieldF.type; ++ case decl_lessequal: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_varientfield: +- return n; ++ case decl_componentref: ++ return doGetLastOp (b, b->componentrefF.field); + break; + +- case decl_enumerationfield: +- return n->enumerationfieldF.type; ++ case decl_pointerref: ++ return doGetLastOp (b, b->pointerrefF.field); + break; + +- case decl_set: +- return n->setF.type; ++ case decl_cast: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_proctype: +- return n->proctypeF.returnType; ++ case decl_val: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_subscript: +- return n->subscriptF.type; ++ case decl_plus: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_procedure: +- /* blocks. */ +- return n->procedureF.returnType; ++ case decl_sub: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_throw: +- return NULL; ++ case decl_div: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_unreachable: +- return NULL; ++ case decl_mod: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_def: +- case decl_imp: +- case decl_module: +- case decl_loop: +- case decl_while: +- case decl_for: +- case decl_repeat: +- case decl_if: +- case decl_elsif: +- case decl_assignment: +- /* statements. */ +- M2RTS_HALT (-1); +- __builtin_unreachable (); ++ case decl_mult: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_plus: +- case decl_sub: +- case decl_div: +- case decl_mod: +- case decl_mult: + case decl_divide: +- /* expressions. */ +- return doSetExprType (&n->binaryF.resultType, mixTypes (getExprType (n->binaryF.left), getExprType (n->binaryF.right))); ++ return doGetLastOp (b, b->binaryF.right); + break; + + case decl_in: +- case decl_and: +- case decl_or: +- case decl_equal: +- case decl_notequal: +- case decl_less: +- case decl_greater: +- case decl_greequal: +- case decl_lessequal: +- return doSetExprType (&n->binaryF.resultType, booleanN); +- break; +- +- case decl_cmplx: +- return doSetExprType (&n->binaryF.resultType, complexN); +- break; +- +- case decl_abs: +- case decl_constexp: +- case decl_deref: +- case decl_neg: +- return doSetExprType (&n->unaryF.resultType, getExprType (n->unaryF.arg)); +- break; +- +- case decl_adr: +- return doSetExprType (&n->unaryF.resultType, addressN); +- break; +- +- case decl_size: +- case decl_tsize: +- return doSetExprType (&n->unaryF.resultType, cardinalN); ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_high: +- case decl_ord: +- return doSetExprType (&n->unaryF.resultType, cardinalN); ++ case decl_and: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_float: +- return doSetExprType (&n->unaryF.resultType, realN); ++ case decl_or: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_trunc: +- return doSetExprType (&n->unaryF.resultType, integerN); ++ case decl_cmplx: ++ return doGetLastOp (b, b->binaryF.right); + break; + +- case decl_chr: +- return doSetExprType (&n->unaryF.resultType, charN); ++ case decl_literal: ++ return a; + break; + +- case decl_cap: +- return doSetExprType (&n->unaryF.resultType, charN); ++ case decl_const: ++ return a; + break; + +- case decl_not: +- return doSetExprType (&n->unaryF.resultType, booleanN); ++ case decl_enumerationfield: ++ return a; + break; + +- case decl_re: +- return doSetExprType (&n->unaryF.resultType, realN); ++ case decl_string: ++ return a; + break; + +- case decl_im: +- return doSetExprType (&n->unaryF.resultType, realN); ++ case decl_max: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_arrayref: +- return n->arrayrefF.resultType; ++ case decl_min: ++ return doGetLastOp (b, b->unaryF.arg); + break; + +- case decl_componentref: +- return n->componentrefF.resultType; ++ case decl_var: ++ return a; + break; + +- case decl_pointerref: +- return n->pointerrefF.resultType; ++ case decl_arrayref: ++ return a; + break; + + case decl_funccall: +- return doSetExprType (&n->funccallF.type, doGetFuncType (n)); ++ return a; + break; + +- case decl_setvalue: +- return n->setvalueF.type; ++ case decl_procedure: ++ return a; ++ break; ++ ++ case decl_recordfield: ++ return a; + break; + + +@@ -9247,200 +9236,294 @@ static decl_node doGetExprType (decl_node n) + CaseException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- getExprType - return the expression type. ++ doComponentRefC - + */ + +-static decl_node getExprType (decl_node n) ++static void doComponentRefC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r) + { +- decl_node t; ++ flushOpaque (p, l, false); ++ outText (p, (const char *) ".", 1); ++ doExprC (p, r); ++} + +- if (((isFuncCall (n)) && ((decl_getType (n)) != NULL)) && (decl_isProcType (decl_skipType (decl_getType (n))))) +- { +- return decl_getType (decl_skipType (decl_getType (n))); +- } +- t = decl_getType (n); +- if (t == NULL) +- { +- t = doGetExprType (n); +- } +- return t; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ ++/* ++ doPointerRefC - ++*/ ++ ++static void doPointerRefC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r) ++{ ++ flushOpaque (p, l, false); ++ outText (p, (const char *) "->", 2); ++ doExprC (p, r); + } + + + /* +- openOutput - ++ doPreBinary - + */ + +-static void openOutput (void) ++static void doPreBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node__opaque left, decl_node__opaque right, bool l, bool r) + { +- DynamicStrings_String s; ++ char op[_op_high+1]; + +- s = mcOptions_getOutputFile (); +- if (DynamicStrings_EqualArray (s, (const char *) "-", 1)) ++ /* make a local copy of each unbounded array. */ ++ memcpy (op, op_, _op_high+1); ++ ++ if (l) + { +- outputFile = FIO_StdOut; ++ mcPretty_setNeedSpace (p); + } +- else ++ outText (p, (const char *) op, _op_high); ++ if (r) + { +- outputFile = SFIO_OpenToWrite (s); ++ mcPretty_setNeedSpace (p); + } +- mcStream_setDest (outputFile); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, left); ++ outText (p, (const char *) ",", 1); ++ mcPretty_setNeedSpace (p); ++ doExprC (p, right); ++ outText (p, (const char *) ")", 1); + } + + + /* +- closeOutput - ++ doConstExpr - + */ + +-static void closeOutput (void) ++static void doConstExpr (mcPretty_pretty p, decl_node__opaque n) + { +- DynamicStrings_String s; +- +- s = mcOptions_getOutputFile (); +- outputFile = mcStream_combine (); +- if (! (DynamicStrings_EqualArray (s, (const char *) "-", 1))) +- { +- FIO_Close (outputFile); +- } ++ doFQNameC (p, n); + } + + + /* +- write - outputs a single char, ch. ++ doEnumerationField - + */ + +-static void write_ (char ch) ++static void doEnumerationField (mcPretty_pretty p, decl_node__opaque n) + { +- FIO_WriteChar (outputFile, ch); +- FIO_FlushBuffer (outputFile); ++ doFQDNameC (p, n, false); + } + + + /* +- writeln - ++ isZero - returns TRUE if node, n, is zero. + */ + +-static void writeln (void) ++static bool isZero (decl_node__opaque n) + { +- FIO_WriteLine (outputFile); +- FIO_FlushBuffer (outputFile); ++ if (isConstExp (n)) ++ { ++ return isZero (n->unaryF.arg); ++ } ++ return (decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "0", 1)); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doIncludeC - include header file for definition module, n. ++ doArrayRef - perform an array reference. If constCast ++ then an unbounded array access will be const_cast ++ (the constCast should be TRUE if an assignment to ++ the array is required). + */ + +-static void doIncludeC (decl_node n) ++static void doArrayRef (mcPretty_pretty p, decl_node__opaque n, bool constCast) + { +- DynamicStrings_String s; ++ decl_node__opaque type; ++ decl_node__opaque v; ++ unsigned int i; ++ unsigned int c; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- if (mcOptions_getExtendedOpaque ()) +- {} /* empty. */ +- /* no include in this case. */ +- else if (decl_isDef (n)) ++ mcDebug_assert (n != NULL); ++ mcDebug_assert (isArrayRef (n)); ++ type = static_cast (decl_skipType (decl_getType (static_cast (n->arrayrefF.array)))); ++ if (decl_isUnbounded (static_cast (type))) + { +- /* avoid dangling else. */ +- mcPretty_print (doP, (const char *) "# include \"", 13); +- mcPretty_prints (doP, mcOptions_getHPrefix ()); +- mcPretty_prints (doP, s); +- mcPretty_print (doP, (const char *) ".h\"\\n", 5); +- symbolKey_foreachNodeDo (n->defF.decls.symbols, (symbolKey_performOperation) {(symbolKey_performOperation_t) addDoneDef}); ++ v = n->arrayrefF.array; ++ if ((constCast && (decl_isVar (static_cast (n->arrayrefF.array)))) && (v->varF.isParameter || v->varF.isVarParameter)) ++ { ++ outText (p, (const char *) "const_cast<", 11); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (v)))); ++ outText (p, (const char *) ">(", 2); ++ outTextN (p, decl_getSymName (static_cast (n->arrayrefF.array))); ++ outText (p, (const char *) ")", 1); ++ } ++ else ++ { ++ outTextN (p, decl_getSymName (static_cast (n->arrayrefF.array))); ++ } + } +- s = DynamicStrings_KillString (s); ++ else ++ { ++ doExprC (p, n->arrayrefF.array); ++ mcDebug_assert (decl_isArray (static_cast (type))); ++ outText (p, (const char *) ".array", 6); ++ } ++ outText (p, (const char *) "[", 1); ++ i = 1; ++ c = expListLen (n->arrayrefF.index); ++ while (i <= c) ++ { ++ doExprC (p, getExpList (n->arrayrefF.index, i)); ++ if (decl_isUnbounded (static_cast (type))) ++ { ++ mcDebug_assert (c == 1); ++ } ++ else ++ { ++ doSubtractC (p, getMin (type->arrayF.subr)); ++ if (i < c) ++ { ++ mcDebug_assert (decl_isArray (static_cast (type))); ++ outText (p, (const char *) "].array[", 8); ++ type = static_cast (decl_skipType (decl_getType (static_cast (type)))); ++ } ++ } ++ i += 1; ++ } ++ outText (p, (const char *) "]", 1); + } + + + /* +- getSymScope - returns the scope where node, n, was declared. ++ doProcedure - + */ + +-static decl_node getSymScope (decl_node n) ++static void doProcedure (mcPretty_pretty p, decl_node__opaque n) + { +- switch (n->kind) +- { +- case decl_const: +- return n->constF.scope; +- break; ++ mcDebug_assert (decl_isProcedure (static_cast (n))); ++ doFQDNameC (p, n, true); ++} + +- case decl_type: +- return n->typeF.scope; +- break; + +- case decl_var: +- return n->varF.scope; +- break; ++/* ++ doRecordfield - ++*/ + +- case decl_procedure: +- return n->procedureF.scope; +- break; ++static void doRecordfield (mcPretty_pretty p, decl_node__opaque n) ++{ ++ doDNameC (p, n, false); ++} + + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++/* ++ doCastC - ++*/ ++ ++static void doCastC (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque e) ++{ ++ decl_node__opaque et; ++ ++ outText (p, (const char *) "(", 1); ++ doTypeNameC (p, t); ++ outText (p, (const char *) ")", 1); ++ mcPretty_setNeedSpace (p); ++ et = static_cast (decl_skipType (decl_getType (static_cast (e)))); ++ if (((et != NULL) && (isAProcType (et))) && (isAProcType (static_cast (decl_skipType (static_cast (t)))))) ++ { ++ outText (p, (const char *) "{(", 2); ++ doFQNameC (p, t); ++ outText (p, (const char *) "_t)", 3); ++ mcPretty_setNeedSpace (p); ++ doExprC (p, e); ++ outText (p, (const char *) ".proc}", 6); ++ } ++ else ++ { ++ outText (p, (const char *) "(", 1); ++ doExprC (p, e); ++ outText (p, (const char *) ")", 1); + } +- M2RTS_HALT (-1); +- __builtin_unreachable (); +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); + } + + + /* +- isQualifiedForced - should the node be written with a module prefix? ++ doSetValueC - + */ + +-static bool isQualifiedForced (decl_node n) ++static void doSetValueC (mcPretty_pretty p, decl_node__opaque n) + { +- return forceQualified && (((((decl_isType (n)) || (decl_isRecord (n))) || (decl_isArray (n))) || (decl_isEnumeration (n))) || (decl_isEnumerationField (n))); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ decl_node__opaque lo; ++ unsigned int i; ++ unsigned int h; ++ ++ mcDebug_assert (decl_isSetValue (static_cast (n))); ++ lo = getSetLow (n); ++ if (n->setvalueF.type != NULL) ++ { ++ outText (p, (const char *) "(", 1); ++ doTypeNameC (p, n->setvalueF.type); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) ")", 1); ++ mcPretty_setNeedSpace (p); ++ } ++ if ((Indexing_HighIndice (n->setvalueF.values)) == 0) ++ { ++ outText (p, (const char *) "0", 1); ++ } ++ else ++ { ++ i = Indexing_LowIndice (n->setvalueF.values); ++ h = Indexing_HighIndice (n->setvalueF.values); ++ outText (p, (const char *) "(", 1); ++ while (i <= h) ++ { ++ outText (p, (const char *) "(1", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "<<", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, static_cast (Indexing_GetIndice (n->setvalueF.values, i))); ++ doSubtractC (p, lo); ++ outText (p, (const char *) ")", 1); ++ outText (p, (const char *) ")", 1); ++ if (i < h) ++ { ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "|", 1); ++ mcPretty_setNeedSpace (p); ++ } ++ i += 1; ++ } ++ outText (p, (const char *) ")", 1); ++ } + } + + + /* +- getFQstring - ++ getSetLow - returns the low value of the set type from ++ expression, n. + */ + +-static DynamicStrings_String getFQstring (decl_node n) ++static decl_node__opaque getSetLow (decl_node__opaque n) + { +- DynamicStrings_String i; +- DynamicStrings_String s; ++ decl_node__opaque type; + +- if ((decl_getScope (n)) == NULL) +- { +- return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- } +- else if (isQualifiedForced (n)) +- { +- /* avoid dangling else. */ +- i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (n)))); +- return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); +- } +- else if ((! (decl_isExported (n))) || (mcOptions_getIgnoreFQ ())) ++ if ((decl_getType (static_cast (n))) == NULL) + { +- /* avoid dangling else. */ +- return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ return static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "0", 1))); + } + else + { +- /* avoid dangling else. */ +- i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (n)))); +- return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); ++ type = static_cast (decl_skipType (decl_getType (static_cast (n)))); ++ if (decl_isSet (static_cast (type))) ++ { ++ return getMin (static_cast (decl_skipType (decl_getType (static_cast (type))))); ++ } ++ else ++ { ++ return static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "0", 1))); ++ } + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -9448,672 +9531,589 @@ static DynamicStrings_String getFQstring (decl_node n) + + + /* +- getFQDstring - ++ doInC - performs (((1 << (l)) & (r)) != 0) + */ + +-static DynamicStrings_String getFQDstring (decl_node n, bool scopes) ++static void doInC (mcPretty_pretty p, decl_node__opaque l, decl_node__opaque r) + { +- DynamicStrings_String i; +- DynamicStrings_String s; ++ decl_node__opaque lo; + +- if ((decl_getScope (n)) == NULL) +- { +- return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (getDName (n, scopes))); +- } +- else if (isQualifiedForced (n)) +- { +- /* avoid dangling else. */ +- /* we assume a qualified name will never conflict. */ +- i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (n)))); +- return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); +- } +- else if ((! (decl_isExported (n))) || (mcOptions_getIgnoreFQ ())) +- { +- /* avoid dangling else. */ +- return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (getDName (n, scopes))); +- } +- else +- { +- /* avoid dangling else. */ +- /* we assume a qualified name will never conflict. */ +- i = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (decl_getScope (n)))); +- return FormatStrings_Sprintf2 (DynamicStrings_InitString ((const char *) "%s_%s", 5), (const unsigned char *) &s, (sizeof (s)-1), (const unsigned char *) &i, (sizeof (i)-1)); +- } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ lo = getSetLow (r); ++ outText (p, (const char *) "(((1", 4); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "<<", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, l); ++ doSubtractC (p, lo); ++ outText (p, (const char *) "))", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "&", 1); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, r); ++ outText (p, (const char *) "))", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "!=", 2); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "0)", 2); + } + + + /* +- getString - returns the name as a string. ++ doThrowC - + */ + +-static DynamicStrings_String getString (decl_node n) ++static void doThrowC (mcPretty_pretty p, decl_node__opaque n) + { +- if ((decl_getSymName (n)) == nameKey_NulName) +- { +- return DynamicStrings_InitString ((const char *) "", 0); +- } +- else ++ mcDebug_assert (isIntrinsic (n)); ++ outText (p, (const char *) "throw", 5); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ if ((expListLen (n->intrinsicF.args)) == 1) + { +- return DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ doExprC (p, getExpList (n->intrinsicF.args, 1)); + } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ outText (p, (const char *) ")", 1); + } + + + /* +- doNone - call HALT. ++ doUnreachableC - + */ + +-static void doNone (decl_node n) ++static void doUnreachableC (mcPretty_pretty p, decl_node__opaque n) + { +- M2RTS_HALT (-1); +- __builtin_unreachable (); ++ mcDebug_assert (isIntrinsic (n)); ++ outText (p, (const char *) "__builtin_unreachable", 21); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ mcDebug_assert ((expListLen (n->intrinsicF.args)) == 0); ++ outText (p, (const char *) ")", 1); + } + + + /* +- doNothing - does nothing! ++ outNull - + */ + +-static void doNothing (decl_node n) ++static void outNull (mcPretty_pretty p) + { ++ keyc_useNull (); ++ outText (p, (const char *) "NULL", 4); + } + + + /* +- doConstC - ++ outTrue - ++*/ ++ ++static void outTrue (mcPretty_pretty p) ++{ ++ keyc_useTrue (); ++ if ((mcOptions_useBool ()) && (lang == decl_ansiCP)) ++ { ++ outText (p, (const char *) "true", 4); ++ } ++ else ++ { ++ outText (p, (const char *) "TRUE", 4); ++ } ++} ++ ++ ++/* ++ outFalse - + */ + +-static void doConstC (decl_node n) ++static void outFalse (mcPretty_pretty p) + { +- if (! (alists_isItemInList (doneQ, reinterpret_cast (n)))) ++ keyc_useFalse (); ++ if ((mcOptions_useBool ()) && (lang == decl_ansiCP)) + { +- mcPretty_print (doP, (const char *) "# define ", 11); +- doFQNameC (doP, n); +- mcPretty_setNeedSpace (doP); +- doExprC (doP, n->constF.value); +- mcPretty_print (doP, (const char *) "\\n", 2); +- alists_includeItemIntoList (doneQ, reinterpret_cast (n)); ++ outText (p, (const char *) "false", 5); ++ } ++ else ++ { ++ outText (p, (const char *) "FALSE", 5); + } + } + + + /* +- needsParen - returns TRUE if expression, n, needs to be enclosed in (). ++ doExprC - + */ + +-static bool needsParen (decl_node n) ++static void doExprC (mcPretty_pretty p, decl_node__opaque n) + { ++ decl_node__opaque t; ++ + mcDebug_assert (n != NULL); ++ t = getExprType (n); + switch (n->kind) + { + case decl_nil: ++ outNull (p); ++ break; ++ + case decl_true: ++ outTrue (p); ++ break; ++ + case decl_false: +- return false; ++ outFalse (p); + break; + + case decl_constexp: +- return needsParen (n->unaryF.arg); ++ doUnary (p, (const char *) "", 0, n->unaryF.arg, n->unaryF.resultType, false, false); + break; + + case decl_neg: +- return needsParen (n->unaryF.arg); ++ doUnary (p, (const char *) "-", 1, n->unaryF.arg, n->unaryF.resultType, false, false); + break; + + case decl_not: +- return needsParen (n->unaryF.arg); ++ doUnary (p, (const char *) "!", 1, n->unaryF.arg, n->unaryF.resultType, false, true); + break; + +- case decl_adr: +- case decl_size: +- case decl_tsize: +- case decl_ord: +- case decl_float: +- case decl_trunc: +- case decl_chr: +- case decl_cap: +- case decl_high: +- return false; ++ case decl_val: ++ doValC (p, n); + break; + +- case decl_deref: +- return false; ++ case decl_adr: ++ doAdrC (p, n); + break; + +- case decl_equal: +- case decl_notequal: +- case decl_less: +- case decl_greater: +- case decl_greequal: +- case decl_lessequal: +- return true; ++ case decl_size: ++ case decl_tsize: ++ doSizeC (p, n); + break; + +- case decl_componentref: +- return false; ++ case decl_float: ++ doConvertSC (p, n, mcOptions_getCRealType ()); + break; + +- case decl_pointerref: +- return false; ++ case decl_trunc: ++ doConvertC (p, n, (const char *) "int", 3); + break; + +- case decl_cast: +- return true; ++ case decl_ord: ++ doConvertC (p, n, (const char *) "unsigned int", 12); + break; + +- case decl_val: +- return true; ++ case decl_chr: ++ doConvertC (p, n, (const char *) "char", 4); + break; + +- case decl_abs: +- return false; ++ case decl_cap: ++ doCapC (p, n); + break; + +- case decl_plus: +- case decl_sub: +- case decl_div: +- case decl_mod: +- case decl_mult: +- case decl_divide: +- case decl_in: +- return true; ++ case decl_abs: ++ doAbsC (p, n); + break; + +- case decl_literal: +- case decl_const: +- case decl_enumerationfield: +- case decl_string: +- return false; ++ case decl_high: ++ doFuncHighC (p, n->unaryF.arg); + break; + +- case decl_max: +- return true; ++ case decl_length: ++ doLengthC (p, n); + break; + + case decl_min: +- return true; +- break; +- +- case decl_var: +- return false; +- break; +- +- case decl_arrayref: +- return false; +- break; +- +- case decl_and: +- case decl_or: +- return true; +- break; +- +- case decl_funccall: +- return true; ++ doMinC (p, n); + break; + +- case decl_recordfield: +- return false; ++ case decl_max: ++ doMaxC (p, n); + break; + +- case decl_loc: +- case decl_byte: +- case decl_word: +- case decl_type: +- case decl_char: +- case decl_cardinal: +- case decl_longcard: +- case decl_shortcard: +- case decl_integer: +- case decl_longint: +- case decl_shortint: +- case decl_real: +- case decl_longreal: +- case decl_shortreal: +- case decl_complex: +- case decl_longcomplex: +- case decl_shortcomplex: +- case decl_bitset: +- case decl_boolean: +- case decl_proc: +- return false; ++ case decl_throw: ++ doThrowC (p, n); + break; + +- case decl_setvalue: +- return false; ++ case decl_unreachable: ++ doUnreachableC (p, n); + break; + +- case decl_address: +- return true; ++ case decl_re: ++ doReC (p, n); + break; + +- case decl_procedure: +- return false; ++ case decl_im: ++ doImC (p, n); + break; + +- case decl_length: + case decl_cmplx: +- case decl_re: +- case decl_im: +- return true; ++ doCmplx (p, n); + break; + ++ case decl_deref: ++ n->unaryF.arg = doDeRefC (p, n->unaryF.arg); ++ break; + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } +- return true; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_equal: ++ doBinary (p, (const char *) "==", 2, n->binaryF.left, n->binaryF.right, true, true, true); ++ break; + ++ case decl_notequal: ++ doBinary (p, (const char *) "!=", 2, n->binaryF.left, n->binaryF.right, true, true, true); ++ break; + +-/* +- doUnary - +-*/ ++ case decl_less: ++ doBinary (p, (const char *) "<", 1, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +-static void doUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node expr, decl_node type, bool l, bool r) +-{ +- char op[_op_high+1]; ++ case decl_greater: ++ doBinary (p, (const char *) ">", 1, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (op, op_, _op_high+1); ++ case decl_greequal: ++ doBinary (p, (const char *) ">=", 2, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- if (l) +- { +- mcPretty_setNeedSpace (p); +- } +- mcPretty_print (p, (const char *) op, _op_high); +- if (r) +- { +- mcPretty_setNeedSpace (p); +- } +- if (needsParen (expr)) +- { +- outText (p, (const char *) "(", 1); +- doExprC (p, expr); +- outText (p, (const char *) ")", 1); +- } +- else +- { +- doExprC (p, expr); +- } +-} ++ case decl_lessequal: ++ doBinary (p, (const char *) "<=", 2, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + ++ case decl_componentref: ++ doComponentRefC (p, n->componentrefF.rec, n->componentrefF.field); ++ break; + +-/* +- doSetSub - perform l & (~ r) +-*/ ++ case decl_pointerref: ++ doPointerRefC (p, n->pointerrefF.ptr, n->pointerrefF.field); ++ break; + +-static void doSetSub (mcPretty_pretty p, decl_node left, decl_node right) +-{ +- if (needsParen (left)) +- { +- outText (p, (const char *) "(", 1); +- doExprC (p, left); +- outText (p, (const char *) ")", 1); +- } +- else +- { +- doExprC (p, left); +- } +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "&", 1); +- mcPretty_setNeedSpace (p); +- if (needsParen (right)) +- { +- outText (p, (const char *) "(~(", 3); +- doExprC (p, right); +- outText (p, (const char *) "))", 2); +- } +- else +- { +- outText (p, (const char *) "(~", 2); +- doExprC (p, right); +- outText (p, (const char *) ")", 1); +- } +-} ++ case decl_cast: ++ doCastC (p, n->binaryF.left, n->binaryF.right); ++ break; + ++ case decl_plus: ++ doPolyBinary (p, decl_plus, n->binaryF.left, n->binaryF.right, false, false); ++ break; + +-/* +- doPolyBinary - +-*/ ++ case decl_sub: ++ doPolyBinary (p, decl_sub, n->binaryF.left, n->binaryF.right, false, false); ++ break; + +-static void doPolyBinary (mcPretty_pretty p, decl_nodeT op, decl_node left, decl_node right, bool l, bool r) +-{ +- decl_node lt; +- decl_node rt; ++ case decl_div: ++ doBinary (p, (const char *) "/", 1, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- lt = decl_skipType (getExprType (left)); +- rt = decl_skipType (getExprType (right)); +- if (((lt != NULL) && ((decl_isSet (lt)) || (isBitset (lt)))) || ((rt != NULL) && ((decl_isSet (rt)) || (isBitset (rt))))) +- { +- switch (op) +- { +- case decl_plus: +- doBinary (p, (const char *) "|", 1, left, right, l, r, false); +- break; ++ case decl_mod: ++ doBinary (p, (const char *) "%", 1, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- case decl_sub: +- doSetSub (p, left, right); +- break; ++ case decl_mult: ++ doPolyBinary (p, decl_mult, n->binaryF.left, n->binaryF.right, false, false); ++ break; + +- case decl_mult: +- doBinary (p, (const char *) "&", 1, left, right, l, r, false); +- break; ++ case decl_divide: ++ doPolyBinary (p, decl_divide, n->binaryF.left, n->binaryF.right, false, false); ++ break; + +- case decl_divide: +- doBinary (p, (const char *) "^", 1, left, right, l, r, false); +- break; ++ case decl_in: ++ doInC (p, n->binaryF.left, n->binaryF.right); ++ break; + ++ case decl_and: ++ doBinary (p, (const char *) "&&", 2, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } +- } +- else +- { +- switch (op) +- { +- case decl_plus: +- doBinary (p, (const char *) "+", 1, left, right, l, r, false); +- break; ++ case decl_or: ++ doBinary (p, (const char *) "||", 2, n->binaryF.left, n->binaryF.right, true, true, false); ++ break; + +- case decl_sub: +- doBinary (p, (const char *) "-", 1, left, right, l, r, false); +- break; ++ case decl_literal: ++ doLiteralC (p, n); ++ break; + +- case decl_mult: +- doBinary (p, (const char *) "*", 1, left, right, l, r, false); +- break; ++ case decl_const: ++ doConstExpr (p, n); ++ break; + +- case decl_divide: +- doBinary (p, (const char *) "/", 1, left, right, l, r, false); +- break; ++ case decl_enumerationfield: ++ doEnumerationField (p, n); ++ break; + ++ case decl_string: ++ doStringC (p, n); ++ break; + +- default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +- } +- } +-} ++ case decl_var: ++ doVar (p, n); ++ break; + ++ case decl_arrayref: ++ doArrayRef (p, n, false); ++ break; + +-/* +- doBinary - +-*/ ++ case decl_funccall: ++ doFuncExprC (p, n); ++ break; + +-static void doBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node left, decl_node right, bool l, bool r, bool unpackProc) +-{ +- char op[_op_high+1]; ++ case decl_procedure: ++ doProcedure (p, n); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (op, op_, _op_high+1); ++ case decl_recordfield: ++ doRecordfield (p, n); ++ break; + +- if (needsParen (left)) +- { +- outText (p, (const char *) "(", 1); +- doExprCup (p, left, unpackProc); +- outText (p, (const char *) ")", 1); +- } +- else +- { +- doExprCup (p, left, unpackProc); +- } +- if (l) +- { +- mcPretty_setNeedSpace (p); +- } +- outText (p, (const char *) op, _op_high); +- if (r) +- { +- mcPretty_setNeedSpace (p); +- } +- if (needsParen (right)) +- { +- outText (p, (const char *) "(", 1); +- doExprCup (p, right, unpackProc); +- outText (p, (const char *) ")", 1); +- } +- else +- { +- doExprCup (p, right, unpackProc); +- } +-} ++ case decl_setvalue: ++ doSetValueC (p, n); ++ break; ++ ++ case decl_char: ++ case decl_cardinal: ++ case decl_longcard: ++ case decl_shortcard: ++ case decl_integer: ++ case decl_longint: ++ case decl_shortint: ++ case decl_complex: ++ case decl_longcomplex: ++ case decl_shortcomplex: ++ case decl_real: ++ case decl_longreal: ++ case decl_shortreal: ++ case decl_bitset: ++ case decl_boolean: ++ case decl_proc: ++ doBaseC (p, n); ++ break; + ++ case decl_address: ++ case decl_loc: ++ case decl_byte: ++ case decl_word: ++ case decl_csizet: ++ case decl_cssizet: ++ doSystemC (p, n); ++ break; + +-/* +- doPostUnary - +-*/ ++ case decl_type: ++ doTypeNameC (p, n); ++ break; + +-static void doPostUnary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node expr) +-{ +- char op[_op_high+1]; ++ case decl_pointer: ++ doTypeNameC (p, n); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (op, op_, _op_high+1); + +- doExprC (p, expr); +- outText (p, (const char *) op, _op_high); ++ default: ++ CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++ } + } + + + /* +- doDeRefC - ++ doExprCup - + */ + +-static void doDeRefC (mcPretty_pretty p, decl_node expr) ++static decl_node__opaque doExprCup (mcPretty_pretty p, decl_node__opaque n, bool unpackProc, bool uncastConst) + { +- outText (p, (const char *) "(*", 2); +- doExprC (p, expr); +- outText (p, (const char *) ")", 1); ++ decl_node__opaque type; ++ ++ if (uncastConst && (isArrayRef (n))) ++ { ++ doArrayRef (p, n, true); ++ } ++ else ++ { ++ doExprC (p, n); ++ if (unpackProc) ++ { ++ type = static_cast (decl_skipType (static_cast (getExprType (n)))); ++ if ((type != NULL) && (isAProcType (type))) ++ { ++ outText (p, (const char *) ".proc", 5); ++ } ++ } ++ } ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doGetLastOp - returns, a, if b is a terminal otherwise walk right. ++ doExprM2 - + */ + +-static decl_node doGetLastOp (decl_node a, decl_node b) ++static void doExprM2 (mcPretty_pretty p, decl_node__opaque n) + { +- switch (b->kind) ++ mcDebug_assert (n != NULL); ++ switch (n->kind) + { + case decl_nil: +- return a; ++ outText (p, (const char *) "NIL", 3); + break; + + case decl_true: +- return a; ++ outText (p, (const char *) "TRUE", 4); + break; + + case decl_false: +- return a; ++ outText (p, (const char *) "FALSE", 5); + break; + + case decl_constexp: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "", 0, n->unaryF.arg, n->unaryF.resultType, false, false); + break; + + case decl_neg: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "-", 1, n->unaryF.arg, n->unaryF.resultType, false, false); + break; + + case decl_not: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "NOT", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_adr: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "ADR", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_size: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "SIZE", 4, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_tsize: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "TSIZE", 5, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + +- case decl_ord: +- return doGetLastOp (b, b->unaryF.arg); ++ case decl_float: ++ doUnary (p, (const char *) "FLOAT", 5, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + +- case decl_float: + case decl_trunc: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "TRUNC", 5, n->unaryF.arg, n->unaryF.resultType, true, true); ++ break; ++ ++ case decl_ord: ++ doUnary (p, (const char *) "ORD", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_chr: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "CHR", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_cap: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "CAP", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_high: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "HIGH", 4, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + +- case decl_deref: +- return doGetLastOp (b, b->unaryF.arg); ++ case decl_re: ++ doUnary (p, (const char *) "RE", 2, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + +- case decl_re: + case decl_im: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "IM", 2, n->unaryF.arg, n->unaryF.resultType, true, true); ++ break; ++ ++ case decl_deref: ++ doPostUnary (p, (const char *) "^", 1, n->unaryF.arg); + break; + + case decl_equal: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "=", 1, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_notequal: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "#", 1, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_less: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "<", 1, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_greater: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) ">", 1, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_greequal: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) ">=", 2, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_lessequal: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "<=", 2, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_componentref: +- return doGetLastOp (b, b->componentrefF.field); ++ doBinary (p, (const char *) ".", 1, n->componentrefF.rec, n->componentrefF.field, false, false, false); + break; + + case decl_pointerref: +- return doGetLastOp (b, b->pointerrefF.field); ++ doBinary (p, (const char *) "^.", 2, n->pointerrefF.ptr, n->pointerrefF.field, false, false, false); + break; + + case decl_cast: +- return doGetLastOp (b, b->binaryF.right); ++ doPreBinary (p, (const char *) "CAST", 4, n->binaryF.left, n->binaryF.right, true, true); + break; + + case decl_val: +- return doGetLastOp (b, b->binaryF.right); ++ doPreBinary (p, (const char *) "VAL", 3, n->binaryF.left, n->binaryF.right, true, true); ++ break; ++ ++ case decl_cmplx: ++ doPreBinary (p, (const char *) "CMPLX", 5, n->binaryF.left, n->binaryF.right, true, true); + break; + + case decl_plus: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "+", 1, n->binaryF.left, n->binaryF.right, false, false, false); + break; + + case decl_sub: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "-", 1, n->binaryF.left, n->binaryF.right, false, false, false); + break; + + case decl_div: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "DIV", 3, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_mod: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "MOD", 3, n->binaryF.left, n->binaryF.right, true, true, false); + break; + + case decl_mult: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "*", 1, n->binaryF.left, n->binaryF.right, false, false, false); + break; + + case decl_divide: +- return doGetLastOp (b, b->binaryF.right); +- break; +- +- case decl_in: +- return doGetLastOp (b, b->binaryF.right); +- break; +- +- case decl_and: +- return doGetLastOp (b, b->binaryF.right); +- break; +- +- case decl_or: +- return doGetLastOp (b, b->binaryF.right); +- break; +- +- case decl_cmplx: +- return doGetLastOp (b, b->binaryF.right); ++ doBinary (p, (const char *) "/", 1, n->binaryF.left, n->binaryF.right, false, false, false); + break; + + case decl_literal: +- return a; ++ doLiteral (p, n); + break; + + case decl_const: +- return a; ++ doConstExpr (p, n); + break; + + case decl_enumerationfield: +- return a; ++ doEnumerationField (p, n); + break; + + case decl_string: +- return a; ++ doString (p, n); + break; + + case decl_max: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "MAX", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_min: +- return doGetLastOp (b, b->unaryF.arg); ++ doUnary (p, (const char *) "MIN", 3, n->unaryF.arg, n->unaryF.resultType, true, true); + break; + + case decl_var: +- return a; +- break; +- +- case decl_arrayref: +- return a; +- break; +- +- case decl_funccall: +- return a; +- break; +- +- case decl_procedure: +- return a; +- break; +- +- case decl_recordfield: +- return a; ++ doVar (p, n); + break; + + +@@ -10121,1478 +10121,1460 @@ static decl_node doGetLastOp (decl_node a, decl_node b) + CaseException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} +- +- +-/* +- doComponentRefC - +-*/ +- +-static void doComponentRefC (mcPretty_pretty p, decl_node l, decl_node r) +-{ +- doExprC (p, l); +- outText (p, (const char *) ".", 1); +- doExprC (p, r); +-} +- +- +-/* +- doPointerRefC - +-*/ +- +-static void doPointerRefC (mcPretty_pretty p, decl_node l, decl_node r) +-{ +- doExprC (p, l); +- outText (p, (const char *) "->", 2); +- doExprC (p, r); + } + + + /* +- doPreBinary - ++ doVar - + */ + +-static void doPreBinary (mcPretty_pretty p, const char *op_, unsigned int _op_high, decl_node left, decl_node right, bool l, bool r) ++static void doVar (mcPretty_pretty p, decl_node__opaque n) + { +- char op[_op_high+1]; +- +- /* make a local copy of each unbounded array. */ +- memcpy (op, op_, _op_high+1); +- +- if (l) ++ mcDebug_assert (decl_isVar (static_cast (n))); ++ if (n->varF.isVarParameter) + { +- mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(*", 2); ++ doFQDNameC (p, n, true); ++ outText (p, (const char *) ")", 1); + } +- outText (p, (const char *) op, _op_high); +- if (r) ++ else + { +- mcPretty_setNeedSpace (p); +- } +- outText (p, (const char *) "(", 1); +- doExprC (p, left); +- outText (p, (const char *) ",", 1); +- mcPretty_setNeedSpace (p); +- doExprC (p, right); +- outText (p, (const char *) ")", 1); +-} +- +- +-/* +- doConstExpr - +-*/ +- +-static void doConstExpr (mcPretty_pretty p, decl_node n) +-{ +- doFQNameC (p, n); +-} +- +- +-/* +- doEnumerationField - +-*/ +- +-static void doEnumerationField (mcPretty_pretty p, decl_node n) +-{ +- doFQDNameC (p, n, false); ++ doFQDNameC (p, n, true); ++ } + } + + + /* +- isZero - returns TRUE if node, n, is zero. ++ doLiteralC - + */ + +-static bool isZero (decl_node n) ++static void doLiteralC (mcPretty_pretty p, decl_node__opaque n) + { +- if (isConstExp (n)) ++ DynamicStrings_String s; ++ ++ mcDebug_assert (decl_isLiteral (static_cast (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ if (n->literalF.type == charN) + { +- return isZero (n->unaryF.arg); ++ if ((DynamicStrings_char (s, -1)) == 'C') ++ { ++ s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); ++ if ((DynamicStrings_char (s, 0)) != '0') ++ { ++ s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "0", 1), DynamicStrings_Mark (s)); ++ } ++ } ++ outText (p, (const char *) "(char)", 6); ++ mcPretty_setNeedSpace (p); + } +- return (decl_getSymName (n)) == (nameKey_makeKey ((const char *) "0", 1)); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); ++ else if ((DynamicStrings_char (s, -1)) == 'H') ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "0x", 2); ++ s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); ++ } ++ else if ((DynamicStrings_char (s, -1)) == 'B') ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "0", 1); ++ s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); ++ } ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); + } + + + /* +- doArrayRef - ++ doLiteral - + */ + +-static void doArrayRef (mcPretty_pretty p, decl_node n) ++static void doLiteral (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; +- unsigned int i; +- unsigned int c; ++ DynamicStrings_String s; + +- mcDebug_assert (n != NULL); +- mcDebug_assert (isArrayRef (n)); +- t = decl_skipType (decl_getType (n->arrayrefF.array)); +- if (decl_isUnbounded (t)) +- { +- outTextN (p, decl_getSymName (n->arrayrefF.array)); +- } +- else +- { +- doExprC (p, n->arrayrefF.array); +- mcDebug_assert (decl_isArray (t)); +- outText (p, (const char *) ".array", 6); +- } +- outText (p, (const char *) "[", 1); +- i = 1; +- c = expListLen (n->arrayrefF.index); +- while (i <= c) ++ mcDebug_assert (decl_isLiteral (static_cast (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ if (n->literalF.type == charN) + { +- doExprC (p, getExpList (n->arrayrefF.index, i)); +- if (decl_isUnbounded (t)) +- { +- mcDebug_assert (c == 1); +- } +- else ++ if ((DynamicStrings_char (s, -1)) == 'C') + { +- doSubtractC (p, getMin (t->arrayF.subr)); +- if (i < c) ++ s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); ++ if ((DynamicStrings_char (s, 0)) != '0') + { +- mcDebug_assert (decl_isArray (t)); +- outText (p, (const char *) "].array[", 8); +- t = decl_skipType (decl_getType (t)); ++ s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "0", 1), DynamicStrings_Mark (s)); + } + } +- i += 1; ++ outText (p, (const char *) "(char)", 6); ++ mcPretty_setNeedSpace (p); + } +- outText (p, (const char *) "]", 1); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); + } + + + /* +- doProcedure - ++ isString - returns TRUE if node, n, is a string. + */ + +-static void doProcedure (mcPretty_pretty p, decl_node n) ++static bool isString (decl_node__opaque n) + { +- mcDebug_assert (decl_isProcedure (n)); +- doFQDNameC (p, n, true); ++ mcDebug_assert (n != NULL); ++ return n->kind == decl_string; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doRecordfield - ++ doString - + */ + +-static void doRecordfield (mcPretty_pretty p, decl_node n) ++static void doString (mcPretty_pretty p, decl_node__opaque n) + { +- doDNameC (p, n, false); ++ DynamicStrings_String s; ++ ++ mcDebug_assert (isString (n)); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++ /* ++ IF DynamicStrings.Index (s, '"', 0)=-1 ++ THEN ++ outText (p, '"') ; ++ outTextS (p, s) ; ++ outText (p, '"') ++ ELSIF DynamicStrings.Index (s, "'", 0)=-1 ++ THEN ++ outText (p, '"') ; ++ outTextS (p, s) ; ++ outText (p, '"') ++ ELSE ++ metaError1 ('illegal string {%1k}', n) ++ END ++ */ ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); + } + + + /* +- doCastC - ++ replaceChar - replace every occurance of, ch, by, a and return modified string, s. + */ + +-static void doCastC (mcPretty_pretty p, decl_node t, decl_node e) ++static DynamicStrings_String replaceChar (DynamicStrings_String s, char ch, const char *a_, unsigned int _a_high) + { +- decl_node et; ++ int i; ++ char a[_a_high+1]; + +- outText (p, (const char *) "(", 1); +- doTypeNameC (p, t); +- outText (p, (const char *) ")", 1); +- mcPretty_setNeedSpace (p); +- et = decl_skipType (decl_getType (e)); +- if (((et != NULL) && (isAProcType (et))) && (isAProcType (decl_skipType (t)))) +- { +- outText (p, (const char *) "{(", 2); +- doFQNameC (p, t); +- outText (p, (const char *) "_t)", 3); +- mcPretty_setNeedSpace (p); +- doExprC (p, e); +- outText (p, (const char *) ".proc}", 6); +- } +- else +- { +- outText (p, (const char *) "(", 1); +- doExprC (p, e); +- outText (p, (const char *) ")", 1); +- } ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); ++ ++ i = 0; ++ for (;;) ++ { ++ i = DynamicStrings_Index (s, ch, static_cast (i)); ++ if (i == 0) ++ { ++ s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) a, _a_high), DynamicStrings_Slice (s, 1, 0)); ++ i = StrLib_StrLen ((const char *) a, _a_high); ++ } ++ else if (i > 0) ++ { ++ /* avoid dangling else. */ ++ s = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_Slice (s, 0, i), DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))), DynamicStrings_Slice (s, i+1, 0)); ++ i += StrLib_StrLen ((const char *) a, _a_high); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ return s; ++ } ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } + + + /* +- doSetValueC - ++ toCstring - translates string, n, into a C string ++ and returns the new String. + */ + +-static void doSetValueC (mcPretty_pretty p, decl_node n) ++static DynamicStrings_String toCstring (nameKey_Name n) + { +- decl_node lo; +- unsigned int i; +- unsigned int h; ++ DynamicStrings_String s; + +- mcDebug_assert (decl_isSetValue (n)); +- lo = getSetLow (n); +- if (n->setvalueF.type != NULL) +- { +- outText (p, (const char *) "(", 1); +- doTypeNameC (p, n->setvalueF.type); +- mcPretty_noSpace (p); +- outText (p, (const char *) ")", 1); +- mcPretty_setNeedSpace (p); +- } +- if ((Indexing_HighIndice (n->setvalueF.values)) == 0) +- { +- outText (p, (const char *) "0", 1); +- } +- else +- { +- i = Indexing_LowIndice (n->setvalueF.values); +- h = Indexing_HighIndice (n->setvalueF.values); +- outText (p, (const char *) "(", 1); +- while (i <= h) +- { +- outText (p, (const char *) "(1", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "<<", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(", 1); +- doExprC (p, reinterpret_cast (Indexing_GetIndice (n->setvalueF.values, i))); +- doSubtractC (p, lo); +- outText (p, (const char *) ")", 1); +- outText (p, (const char *) ")", 1); +- if (i < h) +- { +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "|", 1); +- mcPretty_setNeedSpace (p); +- } +- i += 1; +- } +- outText (p, (const char *) ")", 1); +- } ++ s = DynamicStrings_Slice (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)), 1, -1); ++ return replaceChar (replaceChar (s, '\\', (const char *) "\\\\", 2), '"', (const char *) "\\\"", 2); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- getSetLow - returns the low value of the set type from +- expression, n. ++ toCchar - + */ + +-static decl_node getSetLow (decl_node n) ++static DynamicStrings_String toCchar (nameKey_Name n) + { +- decl_node type; ++ DynamicStrings_String s; + +- if ((decl_getType (n)) == NULL) +- { +- return decl_makeLiteralInt (nameKey_makeKey ((const char *) "0", 1)); +- } +- else +- { +- type = decl_skipType (decl_getType (n)); +- if (decl_isSet (type)) +- { +- return getMin (decl_skipType (decl_getType (type))); +- } +- else +- { +- return decl_makeLiteralInt (nameKey_makeKey ((const char *) "0", 1)); +- } +- } ++ s = DynamicStrings_Slice (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)), 1, -1); ++ return replaceChar (replaceChar (s, '\\', (const char *) "\\\\", 2), '\'', (const char *) "\\'", 2); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doInC - performs (((1 << (l)) & (r)) != 0) ++ countChar - + */ + +-static void doInC (mcPretty_pretty p, decl_node l, decl_node r) ++static unsigned int countChar (DynamicStrings_String s, char ch) + { +- decl_node lo; ++ int i; ++ unsigned int c; + +- lo = getSetLow (r); +- outText (p, (const char *) "(((1", 4); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "<<", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(", 1); +- doExprC (p, l); +- doSubtractC (p, lo); +- outText (p, (const char *) "))", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "&", 1); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(", 1); +- doExprC (p, r); +- outText (p, (const char *) "))", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "!=", 2); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "0)", 2); ++ c = 0; ++ i = 0; ++ for (;;) ++ { ++ i = DynamicStrings_Index (s, ch, static_cast (i)); ++ if (i >= 0) ++ { ++ i += 1; ++ c += 1; ++ } ++ else ++ { ++ return c; ++ } ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } + + + /* +- doThrowC - ++ lenCstring - + */ + +-static void doThrowC (mcPretty_pretty p, decl_node n) ++static unsigned int lenCstring (DynamicStrings_String s) + { +- mcDebug_assert (isIntrinsic (n)); +- outText (p, (const char *) "throw", 5); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(", 1); +- if ((expListLen (n->intrinsicF.args)) == 1) +- { +- doExprC (p, getExpList (n->intrinsicF.args, 1)); +- } +- outText (p, (const char *) ")", 1); ++ return (DynamicStrings_Length (s))-(countChar (s, '\\')); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doUnreachableC - ++ outCstring - + */ + +-static void doUnreachableC (mcPretty_pretty p, decl_node n) ++static void outCstring (mcPretty_pretty p, decl_node__opaque s, bool aString) + { +- mcDebug_assert (isIntrinsic (n)); +- outText (p, (const char *) "__builtin_unreachable", 21); +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(", 1); +- mcDebug_assert ((expListLen (n->intrinsicF.args)) == 0); +- outText (p, (const char *) ")", 1); ++ if (aString) ++ { ++ outText (p, (const char *) "\"", 1); ++ outRawS (p, s->stringF.cstring); ++ outText (p, (const char *) "\"", 1); ++ } ++ else ++ { ++ outText (p, (const char *) "'", 1); ++ outRawS (p, s->stringF.cchar); ++ outText (p, (const char *) "'", 1); ++ } + } + + + /* +- outNull - ++ doStringC - + */ + +-static void outNull (mcPretty_pretty p) ++static void doStringC (mcPretty_pretty p, decl_node__opaque n) + { +- keyc_useNull (); +- outText (p, (const char *) "NULL", 4); ++ DynamicStrings_String s; ++ ++ mcDebug_assert (isString (n)); ++ /* ++ s := InitStringCharStar (keyToCharStar (getSymName (n))) ; ++ IF DynamicStrings.Length (s)>3 ++ THEN ++ IF DynamicStrings.Index (s, '"', 0)=-1 ++ THEN ++ s := DynamicStrings.Slice (s, 1, -1) ; ++ outText (p, '"') ; ++ outCstring (p, s) ; ++ outText (p, '"') ++ ELSIF DynamicStrings.Index (s, "'", 0)=-1 ++ THEN ++ s := DynamicStrings.Slice (s, 1, -1) ; ++ outText (p, '"') ; ++ outCstring (p, s) ; ++ outText (p, '"') ++ ELSE ++ metaError1 ('illegal string {%1k}', n) ++ END ++ ELSIF DynamicStrings.Length (s) = 3 ++ THEN ++ s := DynamicStrings.Slice (s, 1, -1) ; ++ outText (p, "'") ; ++ IF DynamicStrings.char (s, 0) = "'" ++ THEN ++ outText (p, "\'") ++ ELSIF DynamicStrings.char (s, 0) = "\" ++ THEN ++ outText (p, "\\") ++ ELSE ++ outTextS (p, s) ++ END ; ++ outText (p, "'") ++ ELSE ++ outText (p, "'\0'") ++ END ; ++ s := KillString (s) ++ */ ++ outCstring (p, n, ! n->stringF.isCharCompatible); + } + + + /* +- outTrue - ++ isPunct - + */ + +-static void outTrue (mcPretty_pretty p) ++static bool isPunct (char ch) + { +- keyc_useTrue (); +- if ((mcOptions_useBool ()) && (lang == decl_ansiCP)) +- { +- outText (p, (const char *) "true", 4); +- } +- else +- { +- outText (p, (const char *) "TRUE", 4); +- } ++ return (((((((((ch == '.') || (ch == '(')) || (ch == ')')) || (ch == '^')) || (ch == ':')) || (ch == ';')) || (ch == '{')) || (ch == '}')) || (ch == ',')) || (ch == '*'); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- outFalse - ++ isWhite - + */ + +-static void outFalse (mcPretty_pretty p) ++static bool isWhite (char ch) + { +- keyc_useFalse (); +- if ((mcOptions_useBool ()) && (lang == decl_ansiCP)) +- { +- outText (p, (const char *) "false", 5); +- } +- else +- { +- outText (p, (const char *) "FALSE", 5); +- } ++ return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doExprC - ++ outText - + */ + +-static void doExprC (mcPretty_pretty p, decl_node n) ++static void outText (mcPretty_pretty p, const char *a_, unsigned int _a_high) + { +- decl_node t; +- +- mcDebug_assert (n != NULL); +- t = getExprType (n); +- switch (n->kind) +- { +- case decl_nil: +- outNull (p); +- break; +- +- case decl_true: +- outTrue (p); +- break; +- +- case decl_false: +- outFalse (p); +- break; ++ DynamicStrings_String s; ++ char a[_a_high+1]; + +- case decl_constexp: +- doUnary (p, (const char *) "", 0, n->unaryF.arg, n->unaryF.resultType, false, false); +- break; ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- case decl_neg: +- doUnary (p, (const char *) "-", 1, n->unaryF.arg, n->unaryF.resultType, false, false); +- break; ++ s = DynamicStrings_InitString ((const char *) a, _a_high); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_not: +- doUnary (p, (const char *) "!", 1, n->unaryF.arg, n->unaryF.resultType, false, true); +- break; + +- case decl_val: +- doValC (p, n); +- break; ++/* ++ outRawS - ++*/ + +- case decl_adr: +- doAdrC (p, n); +- break; ++static void outRawS (mcPretty_pretty p, DynamicStrings_String s) ++{ ++ mcPretty_raw (p, s); ++} + +- case decl_size: +- case decl_tsize: +- doSizeC (p, n); +- break; + +- case decl_float: +- doConvertSC (p, n, mcOptions_getCRealType ()); +- break; ++/* ++ outKm2 - ++*/ + +- case decl_trunc: +- doConvertC (p, n, (const char *) "int", 3); +- break; ++static mcPretty_pretty outKm2 (mcPretty_pretty p, const char *a_, unsigned int _a_high) ++{ ++ unsigned int i; ++ DynamicStrings_String s; ++ char a[_a_high+1]; + +- case decl_ord: +- doConvertC (p, n, (const char *) "unsigned int", 12); +- break; ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- case decl_chr: +- doConvertC (p, n, (const char *) "char", 4); +- break; ++ if (StrLib_StrEqual ((const char *) a, _a_high, (const char *) "RECORD", 6)) ++ { ++ p = mcPretty_pushPretty (p); ++ i = mcPretty_getcurpos (p); ++ mcPretty_setindent (p, i); ++ outText (p, (const char *) a, _a_high); ++ p = mcPretty_pushPretty (p); ++ mcPretty_setindent (p, i+indentation); ++ } ++ else if (StrLib_StrEqual ((const char *) a, _a_high, (const char *) "END", 3)) ++ { ++ /* avoid dangling else. */ ++ p = mcPretty_popPretty (p); ++ outText (p, (const char *) a, _a_high); ++ p = mcPretty_popPretty (p); ++ } ++ return p; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +- case decl_cap: +- doCapC (p, n); +- break; + +- case decl_abs: +- doAbsC (p, n); +- break; ++/* ++ outKc - ++*/ + +- case decl_high: +- doFuncHighC (p, n->unaryF.arg); +- break; ++static mcPretty_pretty outKc (mcPretty_pretty p, const char *a_, unsigned int _a_high) ++{ ++ int i; ++ unsigned int c; ++ DynamicStrings_String s; ++ DynamicStrings_String t; ++ char a[_a_high+1]; + +- case decl_length: +- doLengthC (p, n); +- break; ++ /* make a local copy of each unbounded array. */ ++ memcpy (a, a_, _a_high+1); + +- case decl_min: +- doMinC (p, n); +- break; ++ s = DynamicStrings_InitString ((const char *) a, _a_high); ++ i = DynamicStrings_Index (s, '\\', 0); ++ if (i == -1) ++ { ++ t = static_cast (NULL); ++ } ++ else ++ { ++ t = DynamicStrings_Slice (s, i, 0); ++ s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, i); ++ } ++ if ((DynamicStrings_char (s, 0)) == '{') ++ { ++ p = mcPretty_pushPretty (p); ++ c = mcPretty_getcurpos (p); ++ mcPretty_setindent (p, c); ++ outTextS (p, s); ++ p = mcPretty_pushPretty (p); ++ mcPretty_setindent (p, c+indentationC); ++ } ++ else if ((DynamicStrings_char (s, 0)) == '}') ++ { ++ /* avoid dangling else. */ ++ p = mcPretty_popPretty (p); ++ outTextS (p, s); ++ p = mcPretty_popPretty (p); ++ } ++ outTextS (p, t); ++ t = DynamicStrings_KillString (t); ++ s = DynamicStrings_KillString (s); ++ return p; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +- case decl_max: +- doMaxC (p, n); +- break; + +- case decl_throw: +- doThrowC (p, n); +- break; ++/* ++ outTextS - ++*/ + +- case decl_unreachable: +- doUnreachableC (p, n); +- break; ++static void outTextS (mcPretty_pretty p, DynamicStrings_String s) ++{ ++ if (s != NULL) ++ { ++ mcPretty_prints (p, s); ++ } ++} + +- case decl_re: +- doReC (p, n); +- break; + +- case decl_im: +- doImC (p, n); +- break; ++/* ++ outCard - ++*/ + +- case decl_cmplx: +- doCmplx (p, n); +- break; ++static void outCard (mcPretty_pretty p, unsigned int c) ++{ ++ DynamicStrings_String s; + +- case decl_deref: +- doDeRefC (p, n->unaryF.arg); +- break; ++ s = StringConvert_CardinalToString (c, 0, ' ', 10, false); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_equal: +- doBinary (p, (const char *) "==", 2, n->binaryF.left, n->binaryF.right, true, true, true); +- break; + +- case decl_notequal: +- doBinary (p, (const char *) "!=", 2, n->binaryF.left, n->binaryF.right, true, true, true); +- break; ++/* ++ outTextN - ++*/ + +- case decl_less: +- doBinary (p, (const char *) "<", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++static void outTextN (mcPretty_pretty p, nameKey_Name n) ++{ ++ DynamicStrings_String s; + +- case decl_greater: +- doBinary (p, (const char *) ">", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); ++ mcPretty_prints (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_greequal: +- doBinary (p, (const char *) ">=", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; + +- case decl_lessequal: +- doBinary (p, (const char *) "<=", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++/* ++ outputEnumerationC - ++*/ + +- case decl_componentref: +- doComponentRefC (p, n->componentrefF.rec, n->componentrefF.field); +- break; ++static void outputEnumerationC (mcPretty_pretty p, decl_node__opaque n) ++{ ++ unsigned int i; ++ unsigned int h; ++ decl_node__opaque s; ++ DynamicStrings_String t; + +- case decl_pointerref: +- doPointerRefC (p, n->pointerrefF.ptr, n->pointerrefF.field); +- break; ++ outText (p, (const char *) "enum {", 6); ++ i = Indexing_LowIndice (n->enumerationF.listOfSons); ++ h = Indexing_HighIndice (n->enumerationF.listOfSons); ++ while (i <= h) ++ { ++ s = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); ++ doFQDNameC (p, s, false); ++ if (i < h) ++ { ++ outText (p, (const char *) ",", 1); ++ mcPretty_setNeedSpace (p); ++ } ++ i += 1; ++ } ++ outText (p, (const char *) "}", 1); ++} + +- case decl_cast: +- doCastC (p, n->binaryF.left, n->binaryF.right); +- break; + +- case decl_plus: +- doPolyBinary (p, decl_plus, n->binaryF.left, n->binaryF.right, false, false); +- break; ++/* ++ isDeclType - return TRUE if the current module should declare type. ++*/ + +- case decl_sub: +- doPolyBinary (p, decl_sub, n->binaryF.left, n->binaryF.right, false, false); +- break; ++static bool isDeclType (decl_node__opaque type) ++{ ++ decl_node__opaque n; ++ decl_node__opaque def; ++ nameKey_Name name; + +- case decl_div: +- doBinary (p, (const char *) "/", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++ if (decl_isImp (static_cast (currentModule))) ++ { ++ name = decl_getSymName (static_cast (type)); ++ if (name != nameKey_NulName) ++ { ++ /* Lookup the matching .def module. */ ++ def = static_cast (decl_lookupDef (decl_getSymName (static_cast (currentModule)))); ++ if (def != NULL) ++ { ++ /* Return TRUE if the symbol has not already been declared in the .def. */ ++ return (decl_lookupExported (static_cast (def), name)) == NULL; ++ } ++ } ++ } ++ return true; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +- case decl_mod: +- doBinary (p, (const char *) "%", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; + +- case decl_mult: +- doPolyBinary (p, decl_mult, n->binaryF.left, n->binaryF.right, false, false); +- break; ++/* ++ doEnumerationC - ++*/ + +- case decl_divide: +- doPolyBinary (p, decl_divide, n->binaryF.left, n->binaryF.right, false, false); +- break; ++static void doEnumerationC (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if (isDeclType (n)) ++ { ++ outputEnumerationC (p, n); ++ } ++} + +- case decl_in: +- doInC (p, n->binaryF.left, n->binaryF.right); +- break; + +- case decl_and: +- doBinary (p, (const char *) "&&", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++/* ++ doNamesC - ++*/ + +- case decl_or: +- doBinary (p, (const char *) "||", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++static void doNamesC (mcPretty_pretty p, nameKey_Name n) ++{ ++ DynamicStrings_String s; + +- case decl_literal: +- doLiteralC (p, n); +- break; ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_const: +- doConstExpr (p, n); +- break; + +- case decl_enumerationfield: +- doEnumerationField (p, n); +- break; ++/* ++ doNameC - ++*/ + +- case decl_string: +- doStringC (p, n); +- break; ++static void doNameC (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if ((n != NULL) && ((decl_getSymName (static_cast (n))) != nameKey_NulName)) ++ { ++ doNamesC (p, decl_getSymName (static_cast (n))); ++ } ++} + +- case decl_var: +- doVar (p, n); +- break; + +- case decl_arrayref: +- doArrayRef (p, n); +- break; ++/* ++ initCname - ++*/ + +- case decl_funccall: +- doFuncExprC (p, n); +- break; ++static void initCname (decl_cnameT *c) ++{ ++ (*c).init = false; ++} + +- case decl_procedure: +- doProcedure (p, n); +- break; + +- case decl_recordfield: +- doRecordfield (p, n); +- break; ++/* ++ doCname - ++*/ + +- case decl_setvalue: +- doSetValueC (p, n); +- break; ++static nameKey_Name doCname (nameKey_Name n, decl_cnameT *c, bool scopes) ++{ ++ DynamicStrings_String s; + +- case decl_char: +- case decl_cardinal: +- case decl_longcard: +- case decl_shortcard: +- case decl_integer: +- case decl_longint: +- case decl_shortint: +- case decl_complex: +- case decl_longcomplex: +- case decl_shortcomplex: +- case decl_real: +- case decl_longreal: +- case decl_shortreal: +- case decl_bitset: +- case decl_boolean: +- case decl_proc: +- doBaseC (p, n); ++ if ((*c).init) ++ { ++ return (*c).name; ++ } ++ else ++ { ++ (*c).init = true; ++ s = keyc_cname (n, scopes); ++ if (s == NULL) ++ { ++ (*c).name = n; ++ } ++ else ++ { ++ (*c).name = nameKey_makekey (DynamicStrings_string (s)); ++ s = DynamicStrings_KillString (s); ++ } ++ return (*c).name; ++ } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ getDName - ++*/ ++ ++static nameKey_Name getDName (decl_node__opaque n, bool scopes) ++{ ++ nameKey_Name m; ++ ++ m = decl_getSymName (static_cast (n)); ++ switch (n->kind) ++ { ++ case decl_procedure: ++ return doCname (m, &n->procedureF.cname, scopes); + break; + +- case decl_address: +- case decl_loc: +- case decl_byte: +- case decl_word: +- case decl_csizet: +- case decl_cssizet: +- doSystemC (p, n); ++ case decl_var: ++ return doCname (m, &n->varF.cname, scopes); + break; + +- case decl_type: +- doTypeNameC (p, n); ++ case decl_recordfield: ++ return doCname (m, &n->recordfieldF.cname, scopes); + break; + +- case decl_pointer: +- doTypeNameC (p, n); ++ case decl_enumerationfield: ++ return doCname (m, &n->enumerationfieldF.cname, scopes); + break; + + + default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ break; + } ++ return m; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doExprCup - ++ doDNameC - + */ + +-static void doExprCup (mcPretty_pretty p, decl_node n, bool unpackProc) ++static void doDNameC (mcPretty_pretty p, decl_node__opaque n, bool scopes) + { +- decl_node t; +- +- doExprC (p, n); +- if (unpackProc) ++ if ((n != NULL) && ((decl_getSymName (static_cast (n))) != nameKey_NulName)) + { +- t = decl_skipType (getExprType (n)); +- if ((t != NULL) && (isAProcType (t))) +- { +- outText (p, (const char *) ".proc", 5); +- } ++ doNamesC (p, getDName (n, scopes)); + } + } + + + /* +- doExprM2 - ++ doFQDNameC - + */ + +-static void doExprM2 (mcPretty_pretty p, decl_node n) ++static void doFQDNameC (mcPretty_pretty p, decl_node__opaque n, bool scopes) + { +- mcDebug_assert (n != NULL); +- switch (n->kind) +- { +- case decl_nil: +- outText (p, (const char *) "NIL", 3); +- break; ++ DynamicStrings_String s; + +- case decl_true: +- outText (p, (const char *) "TRUE", 4); +- break; ++ s = getFQDstring (n, scopes); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_false: +- outText (p, (const char *) "FALSE", 5); +- break; + +- case decl_constexp: +- doUnary (p, (const char *) "", 0, n->unaryF.arg, n->unaryF.resultType, false, false); +- break; ++/* ++ doFQNameC - ++*/ + +- case decl_neg: +- doUnary (p, (const char *) "-", 1, n->unaryF.arg, n->unaryF.resultType, false, false); +- break; ++static void doFQNameC (mcPretty_pretty p, decl_node__opaque n) ++{ ++ DynamicStrings_String s; + +- case decl_not: +- doUnary (p, (const char *) "NOT", 3, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++ s = getFQstring (n); ++ outTextS (p, s); ++ s = DynamicStrings_KillString (s); ++} + +- case decl_adr: +- doUnary (p, (const char *) "ADR", 3, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; + +- case decl_size: +- doUnary (p, (const char *) "SIZE", 4, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++/* ++ doNameM2 - ++*/ + +- case decl_tsize: +- doUnary (p, (const char *) "TSIZE", 5, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++static void doNameM2 (mcPretty_pretty p, decl_node__opaque n) ++{ ++ doNameC (p, n); ++} + +- case decl_float: +- doUnary (p, (const char *) "FLOAT", 5, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; + +- case decl_trunc: +- doUnary (p, (const char *) "TRUNC", 5, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++/* ++ doUsed - ++*/ + +- case decl_ord: +- doUnary (p, (const char *) "ORD", 3, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++static void doUsed (mcPretty_pretty p, bool used) ++{ ++ if (! used) ++ { ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused))", 23); ++ } ++} + +- case decl_chr: +- doUnary (p, (const char *) "CHR", 3, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; + +- case decl_cap: +- doUnary (p, (const char *) "CAP", 3, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++/* ++ doHighC - ++*/ + +- case decl_high: +- doUnary (p, (const char *) "HIGH", 4, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++static void doHighC (mcPretty_pretty p, decl_node__opaque a, nameKey_Name n, bool isused) ++{ ++ if ((decl_isArray (static_cast (a))) && (decl_isUnbounded (static_cast (a)))) ++ { ++ /* need to display high. */ ++ mcPretty_print (p, (const char *) ",", 1); ++ mcPretty_setNeedSpace (p); ++ doTypeNameC (p, cardinalN); ++ mcPretty_setNeedSpace (p); ++ mcPretty_print (p, (const char *) "_", 1); ++ outTextN (p, n); ++ mcPretty_print (p, (const char *) "_high", 5); ++ doUsed (p, isused); ++ } ++} + +- case decl_re: +- doUnary (p, (const char *) "RE", 2, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; + +- case decl_im: +- doUnary (p, (const char *) "IM", 2, n->unaryF.arg, n->unaryF.resultType, true, true); +- break; ++/* ++ doParamConstCast - ++*/ + +- case decl_deref: +- doPostUnary (p, (const char *) "^", 1, n->unaryF.arg); +- break; ++static void doParamConstCast (mcPretty_pretty p, decl_node__opaque n) ++{ ++ decl_node__opaque ptype; + +- case decl_equal: +- doBinary (p, (const char *) "=", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++ ptype = static_cast (decl_getType (static_cast (n))); ++ if (((decl_isArray (static_cast (ptype))) && (decl_isUnbounded (static_cast (ptype)))) && (lang == decl_ansiCP)) ++ { ++ outText (p, (const char *) "const", 5); ++ mcPretty_setNeedSpace (p); ++ } ++} + +- case decl_notequal: +- doBinary (p, (const char *) "#", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; + +- case decl_less: +- doBinary (p, (const char *) "<", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++/* ++ getParameterVariable - returns the variable which shadows the parameter ++ named, m, in parameter block, n. ++*/ + +- case decl_greater: +- doBinary (p, (const char *) ">", 1, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++static decl_node__opaque getParameterVariable (decl_node__opaque n, nameKey_Name m) ++{ ++ decl_node__opaque p; + +- case decl_greequal: +- doBinary (p, (const char *) ">=", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; ++ mcDebug_assert ((decl_isParam (static_cast (n))) || (decl_isVarParam (static_cast (n)))); ++ if (decl_isParam (static_cast (n))) ++ { ++ p = n->paramF.scope; ++ } ++ else ++ { ++ p = n->varparamF.scope; ++ } ++ mcDebug_assert (decl_isProcedure (static_cast (p))); ++ return static_cast (decl_lookupInScope (static_cast (p), m)); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} + +- case decl_lessequal: +- doBinary (p, (const char *) "<=", 2, n->binaryF.left, n->binaryF.right, true, true, false); +- break; + +- case decl_componentref: +- doBinary (p, (const char *) ".", 1, n->componentrefF.rec, n->componentrefF.field, false, false, false); +- break; ++/* ++ doParamTypeEmit - emit parameter type for C/C++. It checks to see if the ++ parameter type is a procedure type and if it were declared ++ in a definition module for "C" and if so it uses the "C" ++ definition for a procedure type, rather than the mc ++ C++ version. ++*/ + +- case decl_pointerref: +- doBinary (p, (const char *) "^.", 2, n->pointerrefF.ptr, n->pointerrefF.field, false, false, false); +- break; ++static void doParamTypeEmit (mcPretty_pretty p, decl_node__opaque paramnode, decl_node__opaque paramtype) ++{ ++ mcDebug_assert ((decl_isParam (static_cast (paramnode))) || (decl_isVarParam (static_cast (paramnode)))); ++ if ((isForC (paramnode)) && (decl_isProcType (decl_skipType (static_cast (paramtype))))) ++ { ++ doFQNameC (p, paramtype); ++ outText (p, (const char *) "_C", 2); ++ } ++ else ++ { ++ doTypeNameC (p, paramtype); ++ doOpaqueModifier (p, paramnode); ++ } ++ /* ++ IF nodeUsesOpaque (paramnode) AND (NOT getNodeOpaqueVoidStar (paramnode)) ++ THEN ++ outText (p, '__opaque') ++ END ++ */ ++} + +- case decl_cast: +- doPreBinary (p, (const char *) "CAST", 4, n->binaryF.left, n->binaryF.right, true, true); +- break; + +- case decl_val: +- doPreBinary (p, (const char *) "VAL", 3, n->binaryF.left, n->binaryF.right, true, true); +- break; ++/* ++ doParamTypeNameModifier - Add an _ to an unbounded parameter which is non var. ++*/ + +- case decl_cmplx: +- doPreBinary (p, (const char *) "CMPLX", 5, n->binaryF.left, n->binaryF.right, true, true); +- break; ++static void doParamTypeNameModifier (mcPretty_pretty p, decl_node__opaque ptype, bool varparam) ++{ ++ if ((! varparam && (decl_isArray (static_cast (ptype)))) && (decl_isUnbounded (static_cast (ptype)))) ++ { ++ outText (p, (const char *) "_", 1); ++ } ++} + +- case decl_plus: +- doBinary (p, (const char *) "+", 1, n->binaryF.left, n->binaryF.right, false, false, false); ++ ++/* ++ initOpaqueCastState - assign fields opaque and voidstar in opaquestate. ++*/ ++ ++static void initOpaqueCastState (decl_opaqueCastState *opaquestate, bool opaque, bool voidstar) ++{ ++ (*opaquestate).opaque = opaque; ++ (*opaquestate).voidStar = voidstar; ++} ++ ++ ++/* ++ initNodeOpaqueCastState - assign opaque and currentvoidstar ++*/ ++ ++static void initNodeOpaqueCastState (decl_node__opaque n, bool opaque, bool voidstar) ++{ ++ switch (n->kind) ++ { ++ case decl_opaquecast: ++ initOpaqueCastState (&n->opaquecastF.opaqueState, opaque, voidstar); + break; + +- case decl_sub: +- doBinary (p, (const char *) "-", 1, n->binaryF.left, n->binaryF.right, false, false, false); ++ case decl_funccall: ++ initOpaqueCastState (&n->funccallF.opaqueState, opaque, voidstar); + break; + +- case decl_div: +- doBinary (p, (const char *) "DIV", 3, n->binaryF.left, n->binaryF.right, true, true, false); ++ case decl_var: ++ initOpaqueCastState (&n->varF.opaqueState, opaque, voidstar); + break; + +- case decl_mod: +- doBinary (p, (const char *) "MOD", 3, n->binaryF.left, n->binaryF.right, true, true, false); ++ case decl_array: ++ initOpaqueCastState (&n->arrayF.opaqueState, opaque, voidstar); + break; + +- case decl_mult: +- doBinary (p, (const char *) "*", 1, n->binaryF.left, n->binaryF.right, false, false, false); ++ case decl_varparam: ++ initOpaqueCastState (&n->varparamF.opaqueState, opaque, voidstar); + break; + +- case decl_divide: +- doBinary (p, (const char *) "/", 1, n->binaryF.left, n->binaryF.right, false, false, false); ++ case decl_param: ++ initOpaqueCastState (&n->paramF.opaqueState, opaque, voidstar); + break; + +- case decl_literal: +- doLiteral (p, n); ++ case decl_pointer: ++ initOpaqueCastState (&n->pointerF.opaqueState, opaque, voidstar); + break; + +- case decl_const: +- doConstExpr (p, n); ++ case decl_recordfield: ++ initOpaqueCastState (&n->recordfieldF.opaqueState, opaque, voidstar); + break; + +- case decl_enumerationfield: +- doEnumerationField (p, n); ++ case decl_componentref: ++ initOpaqueCastState (&n->componentrefF.opaqueState, opaque, voidstar); + break; + +- case decl_string: +- doString (p, n); ++ case decl_pointerref: ++ initOpaqueCastState (&n->pointerrefF.opaqueState, opaque, voidstar); + break; + +- case decl_max: +- doUnary (p, (const char *) "MAX", 3, n->unaryF.arg, n->unaryF.resultType, true, true); ++ case decl_arrayref: ++ initOpaqueCastState (&n->arrayrefF.opaqueState, opaque, voidstar); + break; + +- case decl_min: +- doUnary (p, (const char *) "MIN", 3, n->unaryF.arg, n->unaryF.resultType, true, true); ++ case decl_procedure: ++ initOpaqueCastState (&n->procedureF.opaqueState, opaque, voidstar); + break; + +- case decl_var: +- doVar (p, n); ++ case decl_proctype: ++ initOpaqueCastState (&n->proctypeF.opaqueState, opaque, voidstar); + break; + + + default: +- CaseException ("../../gcc/m2/mc/decl.def", 20, 1); ++ M2RTS_HALT (-1); + __builtin_unreachable (); ++ break; + } + } + + + /* +- doVar - ++ setOpaqueCastState - set the voidStar field in opaquestate. + */ + +-static void doVar (mcPretty_pretty p, decl_node n) ++static void setOpaqueCastState (decl_opaqueCastState *opaquestate, bool voidstar) + { +- mcDebug_assert (decl_isVar (n)); +- if (n->varF.isVarParameter) +- { +- outText (p, (const char *) "(*", 2); +- doFQDNameC (p, n, true); +- outText (p, (const char *) ")", 1); +- } +- else +- { +- doFQDNameC (p, n, true); +- } ++ (*opaquestate).voidStar = voidstar; + } + + + /* +- doLiteralC - ++ setNodeOpaqueVoidStar - sets the voidStar field in node to voidstar. + */ + +-static void doLiteralC (mcPretty_pretty p, decl_node n) ++static void setNodeOpaqueVoidStar (decl_node__opaque n, bool voidstar) + { +- DynamicStrings_String s; +- +- mcDebug_assert (decl_isLiteral (n)); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- if (n->literalF.type == charN) +- { +- if ((DynamicStrings_char (s, -1)) == 'C') +- { +- s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); +- if ((DynamicStrings_char (s, 0)) != '0') +- { +- s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "0", 1), DynamicStrings_Mark (s)); +- } +- } +- outText (p, (const char *) "(char)", 6); +- mcPretty_setNeedSpace (p); +- } +- else if ((DynamicStrings_char (s, -1)) == 'H') +- { +- /* avoid dangling else. */ +- outText (p, (const char *) "0x", 2); +- s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); +- } +- else if ((DynamicStrings_char (s, -1)) == 'B') ++ mcDebug_assert (nodeUsesOpaque (n)); ++ switch (n->kind) + { +- /* avoid dangling else. */ +- outText (p, (const char *) "0", 1); +- s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); +- } +- outTextS (p, s); +- s = DynamicStrings_KillString (s); +-} +- +- +-/* +- doLiteral - +-*/ ++ case decl_opaquecast: ++ setOpaqueCastState (&n->opaquecastF.opaqueState, voidstar); ++ break; + +-static void doLiteral (mcPretty_pretty p, decl_node n) +-{ +- DynamicStrings_String s; ++ case decl_funccall: ++ setOpaqueCastState (&n->funccallF.opaqueState, voidstar); ++ break; + +- mcDebug_assert (decl_isLiteral (n)); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- if (n->literalF.type == charN) +- { +- if ((DynamicStrings_char (s, -1)) == 'C') +- { +- s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, -1); +- if ((DynamicStrings_char (s, 0)) != '0') +- { +- s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "0", 1), DynamicStrings_Mark (s)); +- } +- } +- outText (p, (const char *) "(char)", 6); +- mcPretty_setNeedSpace (p); +- } +- outTextS (p, s); +- s = DynamicStrings_KillString (s); +-} ++ case decl_var: ++ setOpaqueCastState (&n->varF.opaqueState, voidstar); ++ break; + ++ case decl_array: ++ setOpaqueCastState (&n->arrayF.opaqueState, voidstar); ++ break; + +-/* +- isString - returns TRUE if node, n, is a string. +-*/ ++ case decl_varparam: ++ setOpaqueCastState (&n->varparamF.opaqueState, voidstar); ++ break; + +-static bool isString (decl_node n) +-{ +- mcDebug_assert (n != NULL); +- return n->kind == decl_string; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_param: ++ setOpaqueCastState (&n->paramF.opaqueState, voidstar); ++ break; + ++ case decl_pointer: ++ setOpaqueCastState (&n->pointerF.opaqueState, voidstar); ++ break; + +-/* +- doString - +-*/ ++ case decl_recordfield: ++ setOpaqueCastState (&n->recordfieldF.opaqueState, voidstar); ++ break; + +-static void doString (mcPretty_pretty p, decl_node n) +-{ +- DynamicStrings_String s; ++ case decl_componentref: ++ mcDebug_assert (! voidstar); ++ setOpaqueCastState (&n->componentrefF.opaqueState, voidstar); ++ break; + +- mcDebug_assert (isString (n)); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); +- /* +- IF DynamicStrings.Index (s, '"', 0)=-1 +- THEN +- outText (p, '"') ; +- outTextS (p, s) ; +- outText (p, '"') +- ELSIF DynamicStrings.Index (s, "'", 0)=-1 +- THEN +- outText (p, '"') ; +- outTextS (p, s) ; +- outText (p, '"') +- ELSE +- metaError1 ('illegal string {%1k}', n) +- END +- */ +- M2RTS_HALT (-1); +- __builtin_unreachable (); +-} ++ case decl_pointerref: ++ mcDebug_assert (! voidstar); ++ setOpaqueCastState (&n->pointerrefF.opaqueState, voidstar); ++ break; + ++ case decl_arrayref: ++ setOpaqueCastState (&n->arrayrefF.opaqueState, voidstar); ++ break; + +-/* +- replaceChar - replace every occurance of, ch, by, a and return modified string, s. +-*/ ++ case decl_procedure: ++ setOpaqueCastState (&n->procedureF.opaqueState, voidstar); ++ break; + +-static DynamicStrings_String replaceChar (DynamicStrings_String s, char ch, const char *a_, unsigned int _a_high) +-{ +- int i; +- char a[_a_high+1]; ++ case decl_proctype: ++ setOpaqueCastState (&n->proctypeF.opaqueState, voidstar); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); + +- i = 0; +- for (;;) +- { +- i = DynamicStrings_Index (s, ch, static_cast (i)); +- if (i == 0) +- { +- s = DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) a, _a_high), DynamicStrings_Slice (s, 1, 0)); +- i = StrLib_StrLen ((const char *) a, _a_high); +- } +- else if (i > 0) +- { +- /* avoid dangling else. */ +- s = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_Slice (s, 0, i), DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))), DynamicStrings_Slice (s, i+1, 0)); +- i += StrLib_StrLen ((const char *) a, _a_high); +- } +- else +- { +- /* avoid dangling else. */ +- return s; +- } +- } +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); ++ default: ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ break; ++ } + } + + + /* +- toCstring - translates string, n, into a C string +- and returns the new String. ++ nodeUsesOpaque - return TRUE if node n uses an opaque type. + */ + +-static DynamicStrings_String toCstring (nameKey_Name n) ++static bool nodeUsesOpaque (decl_node__opaque n) + { +- DynamicStrings_String s; +- +- s = DynamicStrings_Slice (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)), 1, -1); +- return replaceChar (replaceChar (s, '\\', (const char *) "\\\\", 2), '"', (const char *) "\\\"", 2); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} +- ++ switch (n->kind) ++ { ++ case decl_opaquecast: ++ return n->opaquecastF.opaqueState.opaque; ++ break; + +-/* +- toCchar - +-*/ ++ case decl_funccall: ++ return n->funccallF.opaqueState.opaque; ++ break; + +-static DynamicStrings_String toCchar (nameKey_Name n) +-{ +- DynamicStrings_String s; ++ case decl_var: ++ return n->varF.opaqueState.opaque; ++ break; + +- s = DynamicStrings_Slice (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)), 1, -1); +- return replaceChar (replaceChar (s, '\\', (const char *) "\\\\", 2), '\'', (const char *) "\\'", 2); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_array: ++ return n->arrayF.opaqueState.opaque; ++ break; + ++ case decl_varparam: ++ return n->varparamF.opaqueState.opaque; ++ break; + +-/* +- countChar - +-*/ ++ case decl_param: ++ return n->paramF.opaqueState.opaque; ++ break; + +-static unsigned int countChar (DynamicStrings_String s, char ch) +-{ +- int i; +- unsigned int c; ++ case decl_pointer: ++ return n->pointerF.opaqueState.opaque; ++ break; + +- c = 0; +- i = 0; +- for (;;) +- { +- i = DynamicStrings_Index (s, ch, static_cast (i)); +- if (i >= 0) +- { +- i += 1; +- c += 1; +- } +- else +- { +- return c; +- } +- } +- ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); +- __builtin_unreachable (); +-} ++ case decl_recordfield: ++ return n->recordfieldF.opaqueState.opaque; ++ break; + ++ case decl_componentref: ++ return n->componentrefF.opaqueState.opaque; ++ break; + +-/* +- lenCstring - +-*/ ++ case decl_pointerref: ++ return n->pointerrefF.opaqueState.opaque; ++ break; + +-static unsigned int lenCstring (DynamicStrings_String s) +-{ +- return (DynamicStrings_Length (s))-(countChar (s, '\\')); ++ case decl_arrayref: ++ return n->arrayrefF.opaqueState.opaque; ++ break; ++ ++ case decl_procedure: ++ return n->procedureF.opaqueState.opaque; ++ break; ++ ++ case decl_proctype: ++ return n->proctypeF.opaqueState.opaque; ++ break; ++ ++ case decl_deref: ++ return nodeUsesOpaque (n->unaryF.arg); ++ break; ++ ++ ++ default: ++ return false; ++ break; ++ } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- outCstring - ++ getNodeOpaqueVoidStar - return TRUE if the opaque type used by node n is a void *. + */ + +-static void outCstring (mcPretty_pretty p, decl_node s, bool aString) ++static bool getNodeOpaqueVoidStar (decl_node__opaque n) + { +- if (aString) +- { +- outText (p, (const char *) "\"", 1); +- outRawS (p, s->stringF.cstring); +- outText (p, (const char *) "\"", 1); +- } +- else ++ mcDebug_assert (nodeUsesOpaque (n)); ++ switch (n->kind) + { +- outText (p, (const char *) "'", 1); +- outRawS (p, s->stringF.cchar); +- outText (p, (const char *) "'", 1); +- } +-} ++ case decl_opaquecast: ++ return n->opaquecastF.opaqueState.voidStar; ++ break; + ++ case decl_funccall: ++ return n->funccallF.opaqueState.voidStar; ++ break; + +-/* +- doStringC - +-*/ ++ case decl_var: ++ return n->varF.opaqueState.voidStar; ++ break; + +-static void doStringC (mcPretty_pretty p, decl_node n) +-{ +- DynamicStrings_String s; ++ case decl_array: ++ return n->arrayF.opaqueState.voidStar; ++ break; + +- mcDebug_assert (isString (n)); +- /* +- s := InitStringCharStar (keyToCharStar (getSymName (n))) ; +- IF DynamicStrings.Length (s)>3 +- THEN +- IF DynamicStrings.Index (s, '"', 0)=-1 +- THEN +- s := DynamicStrings.Slice (s, 1, -1) ; +- outText (p, '"') ; +- outCstring (p, s) ; +- outText (p, '"') +- ELSIF DynamicStrings.Index (s, "'", 0)=-1 +- THEN +- s := DynamicStrings.Slice (s, 1, -1) ; +- outText (p, '"') ; +- outCstring (p, s) ; +- outText (p, '"') +- ELSE +- metaError1 ('illegal string {%1k}', n) +- END +- ELSIF DynamicStrings.Length (s) = 3 +- THEN +- s := DynamicStrings.Slice (s, 1, -1) ; +- outText (p, "'") ; +- IF DynamicStrings.char (s, 0) = "'" +- THEN +- outText (p, "\'") +- ELSIF DynamicStrings.char (s, 0) = "\" +- THEN +- outText (p, "\\") +- ELSE +- outTextS (p, s) +- END ; +- outText (p, "'") +- ELSE +- outText (p, "'\0'") +- END ; +- s := KillString (s) +- */ +- outCstring (p, n, ! n->stringF.isCharCompatible); +-} ++ case decl_varparam: ++ return n->varparamF.opaqueState.voidStar; ++ break; + ++ case decl_param: ++ return n->paramF.opaqueState.voidStar; ++ break; + +-/* +- isPunct - +-*/ ++ case decl_pointer: ++ return n->pointerF.opaqueState.voidStar; ++ break; + +-static bool isPunct (char ch) +-{ +- return (((((((((ch == '.') || (ch == '(')) || (ch == ')')) || (ch == '^')) || (ch == ':')) || (ch == ';')) || (ch == '{')) || (ch == '}')) || (ch == ',')) || (ch == '*'); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_recordfield: ++ return n->recordfieldF.opaqueState.voidStar; ++ break; + ++ case decl_componentref: ++ return n->componentrefF.opaqueState.voidStar; ++ break; + +-/* +- isWhite - +-*/ ++ case decl_pointerref: ++ return n->pointerrefF.opaqueState.voidStar; ++ break; + +-static bool isWhite (char ch) +-{ +- return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_arrayref: ++ return n->arrayrefF.opaqueState.voidStar; ++ break; + ++ case decl_procedure: ++ return n->procedureF.opaqueState.voidStar; ++ break; + +-/* +- outText - +-*/ ++ case decl_proctype: ++ return n->proctypeF.opaqueState.voidStar; ++ break; + +-static void outText (mcPretty_pretty p, const char *a_, unsigned int _a_high) +-{ +- DynamicStrings_String s; +- char a[_a_high+1]; ++ case decl_deref: ++ return false; ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); + +- s = DynamicStrings_InitString ((const char *) a, _a_high); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); ++ default: ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ break; ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); + } + + + /* +- outRawS - ++ getOpaqueFlushNecessary - return TRUE if the value next differs from the opaque state. + */ + +-static void outRawS (mcPretty_pretty p, DynamicStrings_String s) ++static bool getOpaqueFlushNecessary (decl_opaqueCastState state, bool next) + { +- mcPretty_raw (p, s); ++ return state.opaque && (state.voidStar != next); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- outKm2 - ++ getNodeOpaqueFlushNecessary - return TRUE if the value of next requires a cast. + */ + +-static mcPretty_pretty outKm2 (mcPretty_pretty p, const char *a_, unsigned int _a_high) ++static bool getNodeOpaqueFlushNecessary (decl_node__opaque n, bool next) + { +- unsigned int i; +- DynamicStrings_String s; +- char a[_a_high+1]; ++ switch (n->kind) ++ { ++ case decl_opaquecast: ++ return getOpaqueFlushNecessary (n->opaquecastF.opaqueState, next); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_funccall: ++ return getOpaqueFlushNecessary (n->funccallF.opaqueState, next); ++ break; + +- if (StrLib_StrEqual ((const char *) a, _a_high, (const char *) "RECORD", 6)) +- { +- p = mcPretty_pushPretty (p); +- i = mcPretty_getcurpos (p); +- mcPretty_setindent (p, i); +- outText (p, (const char *) a, _a_high); +- p = mcPretty_pushPretty (p); +- mcPretty_setindent (p, i+indentation); +- } +- else if (StrLib_StrEqual ((const char *) a, _a_high, (const char *) "END", 3)) +- { +- /* avoid dangling else. */ +- p = mcPretty_popPretty (p); +- outText (p, (const char *) a, _a_high); +- p = mcPretty_popPretty (p); +- } +- return p; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_var: ++ return getOpaqueFlushNecessary (n->varF.opaqueState, next); ++ break; + ++ case decl_array: ++ return getOpaqueFlushNecessary (n->arrayF.opaqueState, next); ++ break; + +-/* +- outKc - +-*/ ++ case decl_varparam: ++ return getOpaqueFlushNecessary (n->varparamF.opaqueState, next); ++ break; + +-static mcPretty_pretty outKc (mcPretty_pretty p, const char *a_, unsigned int _a_high) +-{ +- int i; +- unsigned int c; +- DynamicStrings_String s; +- DynamicStrings_String t; +- char a[_a_high+1]; ++ case decl_param: ++ return getOpaqueFlushNecessary (n->paramF.opaqueState, next); ++ break; + +- /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ case decl_pointer: ++ return getOpaqueFlushNecessary (n->pointerF.opaqueState, next); ++ break; + +- s = DynamicStrings_InitString ((const char *) a, _a_high); +- i = DynamicStrings_Index (s, '\\', 0); +- if (i == -1) +- { +- t = NULL; +- } +- else +- { +- t = DynamicStrings_Slice (s, i, 0); +- s = DynamicStrings_Slice (DynamicStrings_Mark (s), 0, i); +- } +- if ((DynamicStrings_char (s, 0)) == '{') +- { +- p = mcPretty_pushPretty (p); +- c = mcPretty_getcurpos (p); +- mcPretty_setindent (p, c); +- outTextS (p, s); +- p = mcPretty_pushPretty (p); +- mcPretty_setindent (p, c+indentationC); +- } +- else if ((DynamicStrings_char (s, 0)) == '}') +- { +- /* avoid dangling else. */ +- p = mcPretty_popPretty (p); +- outTextS (p, s); +- p = mcPretty_popPretty (p); +- } +- outTextS (p, t); +- t = DynamicStrings_KillString (t); +- s = DynamicStrings_KillString (s); +- return p; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} ++ case decl_recordfield: ++ return getOpaqueFlushNecessary (n->recordfieldF.opaqueState, next); ++ break; ++ ++ case decl_componentref: ++ return getOpaqueFlushNecessary (n->componentrefF.opaqueState, next); ++ break; ++ ++ case decl_pointerref: ++ return getOpaqueFlushNecessary (n->pointerrefF.opaqueState, next); ++ break; ++ ++ case decl_arrayref: ++ return getOpaqueFlushNecessary (n->arrayrefF.opaqueState, next); ++ break; + ++ case decl_procedure: ++ return getOpaqueFlushNecessary (n->procedureF.opaqueState, next); ++ break; + +-/* +- outTextS - +-*/ ++ case decl_proctype: ++ return getOpaqueFlushNecessary (n->proctypeF.opaqueState, next); ++ break; + +-static void outTextS (mcPretty_pretty p, DynamicStrings_String s) +-{ +- if (s != NULL) +- { +- mcPretty_prints (p, s); ++ ++ default: ++ return false; ++ break; + } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- outCard - ++ makeOpaqueCast - wrap node n with an opaquecast node and assign ++ voidstar into the new opaque state. + */ + +-static void outCard (mcPretty_pretty p, unsigned int c) ++static decl_node__opaque makeOpaqueCast (decl_node__opaque n, bool voidstar) + { +- DynamicStrings_String s; ++ decl_node__opaque o; + +- s = StringConvert_CardinalToString (c, 0, ' ', 10, false); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); ++ o = newNode (decl_opaquecast); ++ o->opaquecastF.exp = n; ++ initOpaqueCastState (&o->opaquecastF.opaqueState, true, voidstar); ++ return o; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- outTextN - ++ flushOpaque - perform a cast to voidstar (if necessary) and ignore the new ++ node which could be created. + */ + +-static void outTextN (mcPretty_pretty p, nameKey_Name n) ++static void flushOpaque (mcPretty_pretty p, decl_node__opaque n, bool toVoidStar) + { +- DynamicStrings_String s; ++ decl_node__opaque o; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); +- mcPretty_prints (p, s); +- s = DynamicStrings_KillString (s); ++ o = castOpaque (p, n, toVoidStar); + } + + + /* +- doTypeAliasC - ++ castOpaque - flushes the opaque type casts if necessary and changes the ++ voidstar boolean value. If necessary it creates a opaquecast ++ and returns the new node otherwise return n. + */ + +-static void doTypeAliasC (mcPretty_pretty p, decl_node n, decl_node *m) ++static decl_node__opaque castOpaque (mcPretty_pretty p, decl_node__opaque n, bool toVoidStar) + { +- mcPretty_print (p, (const char *) "typedef", 7); +- mcPretty_setNeedSpace (p); +- if ((decl_isTypeHidden (n)) && ((decl_isDef (decl_getMainModule ())) || ((decl_getScope (n)) != (decl_getMainModule ())))) ++ decl_node__opaque type; ++ ++ if (getNodeOpaqueFlushNecessary (n, toVoidStar)) + { +- outText (p, (const char *) "void *", 6); ++ type = static_cast (decl_getType (static_cast (n))); ++ if (toVoidStar) ++ { ++ /* next is true cast to void * opaque type. */ ++ outText (p, (const char *) "static_cast<", 12); ++ doTypeNameC (p, type); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) "> (", 3); ++ doExprC (p, n); ++ outText (p, (const char *) ")", 1); ++ return makeOpaqueCast (n, true); ++ } ++ else ++ { ++ /* next is false cast to __opaque opaque type. */ ++ outText (p, (const char *) "static_cast<", 12); ++ doTypeNameC (p, type); ++ outText (p, (const char *) "__opaque", 8); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) "> (", 3); ++ doExprC (p, n); ++ outText (p, (const char *) ")", 1); ++ return makeOpaqueCast (n, false); ++ } + } + else + { +- doTypeC (p, decl_getType (n), m); +- } +- if ((*m) != NULL) +- { +- doFQNameC (p, (*m)); ++ if (debugOpaque) ++ { ++ doP = p; ++ dumpOpaqueState (n); ++ if (nodeUsesOpaque (n)) ++ { ++ outText (p, (const char *) " /* no difference seen */ ", 26); ++ } ++ else ++ { ++ outText (p, (const char *) " /* no opaque used */ ", 22); ++ } ++ } ++ doExprC (p, n); + } +- mcPretty_print (p, (const char *) ";\\n\\n", 5); ++ return n; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doEnumerationC - ++ isTypeOpaqueDefImp - returns TRUE if type is an opaque type by checking ++ the def/imp pair of modules or fall back to the ++ definition module. + */ + +-static void doEnumerationC (mcPretty_pretty p, decl_node n) ++static bool isTypeOpaqueDefImp (decl_node__opaque type) + { +- unsigned int i; +- unsigned int h; +- decl_node s; +- DynamicStrings_String t; ++ decl_node__opaque scope; ++ decl_node__opaque def; ++ decl_node__opaque opaque; + +- outText (p, (const char *) "enum {", 6); +- i = Indexing_LowIndice (n->enumerationF.listOfSons); +- h = Indexing_HighIndice (n->enumerationF.listOfSons); +- while (i <= h) ++ if (type == NULL) + { +- s = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); +- doFQDNameC (p, s, false); +- if (i < h) ++ return false; ++ } ++ else if (decl_isType (static_cast (type))) ++ { ++ /* avoid dangling else. */ ++ scope = static_cast (decl_getScope (static_cast (type))); ++ if (decl_isImp (static_cast (scope))) + { +- outText (p, (const char *) ",", 1); +- mcPretty_setNeedSpace (p); ++ /* avoid dangling else. */ ++ def = static_cast (decl_lookupDef (decl_getSymName (static_cast (scope)))); ++ if (def != NULL) ++ { ++ /* Lookup the type name in the matching definition module. */ ++ opaque = static_cast (decl_lookupExported (static_cast (def), decl_getSymName (static_cast (type)))); ++ return ((opaque != NULL) && (decl_isType (static_cast (opaque)))) && (decl_isTypeOpaque (static_cast (opaque))); ++ } ++ } ++ else ++ { ++ /* Otherwise just check the definition module. */ ++ return decl_isTypeOpaque (static_cast (type)); + } +- i += 1; + } +- outText (p, (const char *) "}", 1); ++ return false; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doNamesC - ++ isParamVoidStar - return TRUE if the procedure or proctype opaque type ++ parameter should be implemented as a (void * ). + */ + +-static void doNamesC (mcPretty_pretty p, nameKey_Name n) ++static bool isParamVoidStar (decl_node__opaque n) + { +- DynamicStrings_String s; ++ decl_node__opaque proc; ++ decl_node__opaque type; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); ++ proc = static_cast (decl_getScope (static_cast (n))); ++ mcDebug_assert ((decl_isProcedure (static_cast (proc))) || (decl_isProcType (static_cast (proc)))); ++ type = static_cast (decl_getType (static_cast (n))); ++ return isReturnVoidStar (proc, type); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doNameC - ++ isRefVoidStar - returns TRUE if the ref node uses an opaque type which ++ is represented as a (void * ). + */ + +-static void doNameC (mcPretty_pretty p, decl_node n) ++static bool isRefVoidStar (decl_node__opaque n) + { +- if ((n != NULL) && ((decl_getSymName (n)) != nameKey_NulName)) ++ decl_node__opaque type; ++ ++ type = static_cast (decl_getType (static_cast (n))); ++ if ((! (decl_isType (static_cast (type)))) || (! (decl_isTypeOpaque (static_cast (type))))) + { +- doNamesC (p, decl_getSymName (n)); ++ /* We should finish the procedure as the ref does not use an opaque. */ ++ return true; + } ++ else ++ { ++ /* We check whether the opaque type was declared in the implementation ++ module. If it is declared in the implementation module then we ++ return FALSE. */ ++ return ! (isDeclInImp (type)); ++ } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- initCname - +-*/ +- +-static void initCname (decl_cnameT *c) +-{ +- (*c).init = false; +-} +- +- +-/* +- doCname - ++ isReturnVoidStar - return TRUE if the procedure or proctype opaque type ++ return type should be implemented as a (void * ). + */ + +-static nameKey_Name doCname (nameKey_Name n, decl_cnameT *c, bool scopes) ++static bool isReturnVoidStar (decl_node__opaque proc, decl_node__opaque type) + { +- DynamicStrings_String s; ++ decl_node__opaque def; + +- if ((*c).init) ++ mcDebug_assert ((decl_isProcedure (static_cast (proc))) || (decl_isProcType (static_cast (proc)))); ++ if (decl_isExported (static_cast (proc))) + { +- return (*c).name; ++ return true; + } + else + { +- (*c).init = true; +- s = keyc_cname (n, scopes); +- if (s == NULL) ++ /* Not exported therefore local, we check whether the opaque type ++ was declared in the implementation module. */ ++ if (decl_isImp (static_cast (currentModule))) + { +- (*c).name = n; ++ if (decl_isType (static_cast (type))) ++ { ++ return ! (isDeclInImp (type)); ++ } ++ else ++ { ++ return false; ++ } + } + else + { +- (*c).name = nameKey_makekey (DynamicStrings_string (s)); +- s = DynamicStrings_KillString (s); ++ /* Always use void * in .def modules. */ ++ return true; + } +- return (*c).name; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -11600,189 +11582,266 @@ static nameKey_Name doCname (nameKey_Name n, decl_cnameT *c, bool scopes) + + + /* +- getDName - ++ isVarVoidStar - return TRUE if the variable using an opaque type should ++ be implemented as a (void * ). + */ + +-static nameKey_Name getDName (decl_node n, bool scopes) ++static bool isVarVoidStar (decl_node__opaque n) + { +- nameKey_Name m; ++ decl_node__opaque type; + +- m = decl_getSymName (n); +- switch (n->kind) ++ mcDebug_assert (decl_isVar (static_cast (n))); ++ type = static_cast (decl_getType (static_cast (n))); ++ if ((! (decl_isType (static_cast (type)))) || (! (decl_isTypeOpaque (static_cast (type))))) + { +- case decl_procedure: +- return doCname (m, &n->procedureF.cname, scopes); +- break; +- +- case decl_var: +- return doCname (m, &n->varF.cname, scopes); +- break; +- +- case decl_recordfield: +- return doCname (m, &n->recordfieldF.cname, scopes); +- break; +- +- case decl_enumerationfield: +- return doCname (m, &n->enumerationfieldF.cname, scopes); +- break; +- +- +- default: +- break; ++ /* We should finish the procedure as the variable does not use an opaque. */ ++ return true; + } +- return m; +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); +-} +- +- +-/* +- doDNameC - +-*/ +- +-static void doDNameC (mcPretty_pretty p, decl_node n, bool scopes) +-{ +- if ((n != NULL) && ((decl_getSymName (n)) != nameKey_NulName)) ++ else if (decl_isExported (static_cast (n))) + { +- doNamesC (p, getDName (n, scopes)); ++ /* avoid dangling else. */ ++ /* Exported variables using an opaque type will always be implemented ++ with a (void * ). */ ++ return true; + } ++ else ++ { ++ /* avoid dangling else. */ ++ /* Not exported therefore static to the module (local or global non exported ++ variable), we check whether the opaque type was declared in the ++ implementation module. If it is declared in the implementation module ++ then we return FALSE. */ ++ return ! (isDeclInImp (type)); ++ } ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + + /* +- doFQDNameC - +-*/ +- +-static void doFQDNameC (mcPretty_pretty p, decl_node n, bool scopes) +-{ +- DynamicStrings_String s; +- +- s = getFQDstring (n, scopes); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); +-} +- +- +-/* +- doFQNameC - ++ initNodeOpaqueState - initialize the node opaque state. + */ + +-static void doFQNameC (mcPretty_pretty p, decl_node n) ++static void initNodeOpaqueState (decl_node__opaque n) + { +- DynamicStrings_String s; +- +- s = getFQstring (n); +- outTextS (p, s); +- s = DynamicStrings_KillString (s); +-} +- ++ decl_node__opaque type; + +-/* +- doNameM2 - +-*/ ++ switch (n->kind) ++ { ++ case decl_opaquecast: ++ break; + +-static void doNameM2 (mcPretty_pretty p, decl_node n) +-{ +- doNameC (p, n); +-} ++ case decl_funccall: ++ assignNodeOpaqueCastState (n, getFunction (n)); /* This must be done when the cast direction is known. */ ++ break; + ++ case decl_var: ++ type = static_cast (decl_getType (static_cast (n))); ++ if (n->varF.isParameter || n->varF.isVarParameter) ++ { ++ /* If the variable is really a parameter then it uses ++ the state of the parameter. */ ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), isParamVoidStar (n)); ++ } ++ else ++ { ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), isVarVoidStar (n)); ++ } ++ break; + +-/* +- doUsed - +-*/ ++ case decl_array: ++ type = static_cast (decl_getType (static_cast (n))); ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), decl_isExported (static_cast (n))); ++ break; + +-static void doUsed (mcPretty_pretty p, bool used) +-{ +- if (! used) +- { +- mcPretty_setNeedSpace (p); +- outText (p, (const char *) "__attribute__((unused))", 23); +- } +-} ++ case decl_varparam: ++ case decl_param: ++ mcDebug_assert ((decl_isProcedure (decl_getScope (static_cast (n)))) || (decl_isProcType (decl_getScope (static_cast (n))))); ++ type = static_cast (decl_getType (static_cast (n))); ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), isParamVoidStar (n)); ++ break; + ++ case decl_componentref: ++ case decl_pointerref: ++ case decl_pointer: ++ case decl_recordfield: ++ case decl_arrayref: ++ type = static_cast (decl_getType (static_cast (n))); ++ /* In the future this should be revisited. */ ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), isRefVoidStar (n)); ++ break; + +-/* +- doHighC - +-*/ ++ case decl_proctype: ++ case decl_procedure: ++ type = static_cast (decl_getType (static_cast (n))); /* We only consider the return type for a procedure or proctype. ++ The parameters and local vars are handled separately (see ++ above). */ ++ if (type == NULL) ++ { ++ /* No return type, therefore no opaque type used. */ ++ initNodeOpaqueCastState (n, false, false); ++ } ++ else ++ { ++ /* Init state from the return type. Is type an opaque type? ++ Is the opaque type declared in this module? */ ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), isReturnVoidStar (n, type)); ++ } ++ break; + +-static void doHighC (mcPretty_pretty p, decl_node a, nameKey_Name n, bool isused) +-{ +- if ((decl_isArray (a)) && (decl_isUnbounded (a))) +- { +- /* need to display high. */ +- mcPretty_print (p, (const char *) ",", 1); +- mcPretty_setNeedSpace (p); +- doTypeNameC (p, cardinalN); +- mcPretty_setNeedSpace (p); +- mcPretty_print (p, (const char *) "_", 1); +- outTextN (p, n); +- mcPretty_print (p, (const char *) "_high", 5); +- doUsed (p, isused); ++ ++ default: ++ break; ++ } ++ if (debugOpaque) ++ { ++ dumpOpaqueState (n); + } + } + + + /* +- doParamConstCast - ++ assignNodeOpaqueCastState - copy the opaqueCastState from src into dest. + */ + +-static void doParamConstCast (mcPretty_pretty p, decl_node n) ++static void assignNodeOpaqueCastState (decl_node__opaque dest, decl_node__opaque src) + { +- decl_node ptype; +- +- ptype = decl_getType (n); +- if (((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) && (lang == decl_ansiCP)) ++ if (nodeUsesOpaque (src)) + { +- outText (p, (const char *) "const", 5); +- mcPretty_setNeedSpace (p); ++ initNodeOpaqueCastState (dest, true, getNodeOpaqueVoidStar (src)); ++ } ++ else ++ { ++ initNodeOpaqueCastState (dest, false, false); + } + } + + + /* +- getParameterVariable - returns the variable which shadows the parameter +- named, m, in parameter block, n. ++ assignNodeOpaqueCastFalse - assign the voidstar field of dest to false. ++ It assigns the opaque field of dest to the value ++ of the src opaque field. + */ + +-static decl_node getParameterVariable (decl_node n, nameKey_Name m) ++static void assignNodeOpaqueCastFalse (decl_node__opaque dest, decl_node__opaque src) + { +- decl_node p; +- +- mcDebug_assert ((decl_isParam (n)) || (decl_isVarParam (n))); +- if (decl_isParam (n)) ++ if (nodeUsesOpaque (src)) + { +- p = n->paramF.scope; ++ initNodeOpaqueCastState (dest, true, false); + } + else + { +- p = n->varparamF.scope; ++ initNodeOpaqueCastState (dest, false, false); + } +- mcDebug_assert (decl_isProcedure (p)); +- return decl_lookupInScope (p, m); +- /* static analysis guarentees a RETURN statement will be used before here. */ +- __builtin_unreachable (); + } + + + /* +- doParamTypeEmit - emit parameter type for C/C++. It checks to see if the +- parameter type is a procedure type and if it were declared +- in a definition module for "C" and if so it uses the "C" +- definition for a procedure type, rather than the mc +- C++ version. ++ dumpOpaqueState - + */ + +-static void doParamTypeEmit (mcPretty_pretty p, decl_node paramnode, decl_node paramtype) ++static void dumpOpaqueState (decl_node__opaque n) + { +- mcDebug_assert ((decl_isParam (paramnode)) || (decl_isVarParam (paramnode))); +- if ((isForC (paramnode)) && (decl_isProcType (decl_skipType (paramtype)))) ++ decl_node__opaque o; ++ ++ switch (n->kind) + { +- doFQNameC (p, paramtype); +- outText (p, (const char *) "_C", 2); ++ case decl_opaquecast: ++ case decl_funccall: ++ case decl_var: ++ case decl_array: ++ case decl_varparam: ++ case decl_param: ++ case decl_pointer: ++ case decl_recordfield: ++ case decl_componentref: ++ case decl_arrayref: ++ case decl_procedure: ++ case decl_proctype: ++ o = n; ++ break; ++ ++ ++ default: ++ o = static_cast (NULL); ++ break; + } +- else ++ if (o != NULL) + { +- doTypeNameC (p, paramtype); ++ outText (doP, (const char *) "/* ", 3); ++ doNameC (doP, o); ++ outText (doP, (const char *) " ", 2); ++ switch (o->kind) ++ { ++ case decl_opaquecast: ++ outText (doP, (const char *) "opaquecast", 10); ++ break; ++ ++ case decl_funccall: ++ outText (doP, (const char *) "funccall", 8); ++ break; ++ ++ case decl_var: ++ outText (doP, (const char *) "var", 3); ++ break; ++ ++ case decl_array: ++ outText (doP, (const char *) "array", 5); ++ break; ++ ++ case decl_varparam: ++ outText (doP, (const char *) "varparam", 8); ++ break; ++ ++ case decl_param: ++ outText (doP, (const char *) "param", 5); ++ break; ++ ++ case decl_pointer: ++ outText (doP, (const char *) "pointer", 7); ++ break; ++ ++ case decl_recordfield: ++ outText (doP, (const char *) "recordfield", 11); ++ break; ++ ++ case decl_componentref: ++ outText (doP, (const char *) "componentref", 12); ++ break; ++ ++ case decl_pointerref: ++ outText (doP, (const char *) "pointerref", 10); ++ break; ++ ++ case decl_arrayref: ++ outText (doP, (const char *) "arrayref", 8); ++ break; ++ ++ case decl_procedure: ++ outText (doP, (const char *) "procedure", 9); ++ break; ++ ++ case decl_proctype: ++ outText (doP, (const char *) "proctype", 8); ++ break; ++ ++ ++ default: ++ break; ++ } ++ if (nodeUsesOpaque (o)) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if (getNodeOpaqueVoidStar (o)) ++ { ++ outText (doP, (const char *) " uses (void *) opaque", 21); ++ } ++ else ++ { ++ outText (doP, (const char *) " uses opaque__full", 18); ++ } ++ } ++ outText (doP, (const char *) " */ \\n", 6); + } + } + +@@ -11791,24 +11850,24 @@ static void doParamTypeEmit (mcPretty_pretty p, decl_node paramnode, decl_node p + doParamC - emit parameter for C/C++. + */ + +-static void doParamC (mcPretty_pretty p, decl_node n) ++static void doParamC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node v; +- decl_node ptype; ++ decl_node__opaque v; ++ decl_node__opaque ptype; + nameKey_Name i; + unsigned int c; + unsigned int t; + wlists_wlist l; + +- mcDebug_assert (decl_isParam (n)); +- ptype = decl_getType (n); ++ mcDebug_assert (decl_isParam (static_cast (n))); ++ ptype = static_cast (decl_getType (static_cast (n))); + if (n->paramF.namelist == NULL) + { + /* avoid dangling else. */ + doParamConstCast (p, n); + doTypeNameC (p, ptype); + doUsed (p, n->paramF.isUsed); +- if ((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) ++ if ((decl_isArray (static_cast (ptype))) && (decl_isUnbounded (static_cast (ptype)))) + { + outText (p, (const char *) ",", 1); + mcPretty_setNeedSpace (p); +@@ -11824,7 +11883,7 @@ static void doParamC (mcPretty_pretty p, decl_node n) + /* avoid dangling else. */ + doParamConstCast (p, n); + doParamTypeEmit (p, n, ptype); +- if ((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) ++ if ((decl_isArray (static_cast (ptype))) && (decl_isUnbounded (static_cast (ptype)))) + { + doUsed (p, n->paramF.isUsed); + outText (p, (const char *) ",", 1); +@@ -11841,7 +11900,7 @@ static void doParamC (mcPretty_pretty p, decl_node n) + doParamConstCast (p, n); + doParamTypeEmit (p, n, ptype); + i = static_cast (wlists_getItemFromList (l, c)); +- if ((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) ++ if ((decl_isArray (static_cast (ptype))) && (decl_isUnbounded (static_cast (ptype)))) + { + mcPretty_noSpace (p); + } +@@ -11858,10 +11917,7 @@ static void doParamC (mcPretty_pretty p, decl_node n) + { + doFQDNameC (p, v, true); + } +- if ((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) +- { +- outText (p, (const char *) "_", 1); +- } ++ doParamTypeNameModifier (p, ptype, false); + doUsed (p, n->paramF.isUsed); + doHighC (p, ptype, i, n->paramF.isUsed); + if (c < t) +@@ -11880,29 +11936,29 @@ static void doParamC (mcPretty_pretty p, decl_node n) + doVarParamC - emit a VAR parameter for C/C++. + */ + +-static void doVarParamC (mcPretty_pretty p, decl_node n) ++static void doVarParamC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node v; +- decl_node ptype; ++ decl_node__opaque v; ++ decl_node__opaque ptype; + nameKey_Name i; + unsigned int c; + unsigned int t; + wlists_wlist l; + +- mcDebug_assert (decl_isVarParam (n)); +- ptype = decl_getType (n); ++ mcDebug_assert (decl_isVarParam (static_cast (n))); ++ ptype = static_cast (decl_getType (static_cast (n))); + if (n->varparamF.namelist == NULL) + { + /* avoid dangling else. */ + doTypeNameC (p, ptype); + /* doTypeC (p, ptype, n) ; */ +- if (! (decl_isArray (ptype))) ++ if (! (decl_isArray (static_cast (ptype)))) + { + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*", 1); + } + doUsed (p, n->varparamF.isUsed); +- if ((decl_isArray (ptype)) && (decl_isUnbounded (ptype))) ++ if ((decl_isArray (static_cast (ptype))) && (decl_isUnbounded (static_cast (ptype)))) + { + outText (p, (const char *) ",", 1); + mcPretty_setNeedSpace (p); +@@ -11925,7 +11981,7 @@ static void doVarParamC (mcPretty_pretty p, decl_node n) + while (c <= t) + { + doParamTypeEmit (p, n, ptype); +- if (! (decl_isArray (ptype))) ++ if (! (decl_isArray (static_cast (ptype)))) + { + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*", 1); +@@ -11940,6 +11996,7 @@ static void doVarParamC (mcPretty_pretty p, decl_node n) + { + doFQDNameC (p, v, true); + } ++ doParamTypeNameModifier (p, ptype, true); + doUsed (p, n->varparamF.isUsed); + doHighC (p, ptype, i, n->varparamF.isUsed); + if (c < t) +@@ -11958,15 +12015,15 @@ static void doVarParamC (mcPretty_pretty p, decl_node n) + doOptargC - + */ + +-static void doOptargC (mcPretty_pretty p, decl_node n) ++static void doOptargC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node ptype; ++ decl_node__opaque ptype; + nameKey_Name i; + unsigned int t; + wlists_wlist l; + +- mcDebug_assert (decl_isOptarg (n)); +- ptype = decl_getType (n); ++ mcDebug_assert (decl_isOptarg (static_cast (n))); ++ ptype = static_cast (decl_getType (static_cast (n))); + mcDebug_assert (n->optargF.namelist != NULL); + mcDebug_assert (isIdentList (n->paramF.namelist)); + l = n->paramF.namelist->identlistF.names; +@@ -11984,23 +12041,23 @@ static void doOptargC (mcPretty_pretty p, decl_node n) + doParameterC - + */ + +-static void doParameterC (mcPretty_pretty p, decl_node n) ++static void doParameterC (mcPretty_pretty p, decl_node__opaque n) + { +- if (decl_isParam (n)) ++ if (decl_isParam (static_cast (n))) + { + doParamC (p, n); + } +- else if (decl_isVarParam (n)) ++ else if (decl_isVarParam (static_cast (n))) + { + /* avoid dangling else. */ + doVarParamC (p, n); + } +- else if (decl_isVarargs (n)) ++ else if (decl_isVarargs (static_cast (n))) + { + /* avoid dangling else. */ + mcPretty_print (p, (const char *) "...", 3); + } +- else if (decl_isOptarg (n)) ++ else if (decl_isOptarg (static_cast (n))) + { + /* avoid dangling else. */ + doOptargC (p, n); +@@ -12012,64 +12069,294 @@ static void doParameterC (mcPretty_pretty p, decl_node n) + doProcTypeC - + */ + +-static void doProcTypeC (mcPretty_pretty p, decl_node t, decl_node n) ++static void doProcTypeC (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n) + { +- mcDebug_assert (decl_isType (t)); +- outputPartial (t); +- doCompletePartialProcType (p, t, n); ++ mcDebug_assert (decl_isType (static_cast (t))); ++ if ((isDeclType (t)) && (isDeclType (n))) ++ { ++ outputPartial (t); ++ doCompletePartialProcType (p, t, n); ++ } + } + + + /* +- doTypesC - ++ isDeclInImp - returns TRUE if node type is declared as an opaque and ++ is declared fully in the current implementation module. ++ This should only be called if isType (type). Its purpose ++ is specific to a type checking whether it is an opaque type ++ declared in the .def/.mod pair of the current imp module. + */ + +-static void doTypesC (decl_node n) ++static bool isDeclInImp (decl_node__opaque type) + { +- decl_node m; ++ decl_node__opaque scope; ++ decl_node__opaque def; ++ nameKey_Name name; + +- if (decl_isType (n)) ++ mcDebug_assert (decl_isType (static_cast (type))); ++ scope = static_cast (decl_getScope (static_cast (type))); ++ if ((isTypeOpaqueDefImp (type)) && (decl_isImp (static_cast (currentModule)))) + { +- m = decl_getType (n); +- if (decl_isProcType (m)) ++ name = decl_getSymName (static_cast (type)); ++ if (name != nameKey_NulName) + { +- doProcTypeC (doP, n, m); ++ /* Lookup the matching .def module. */ ++ def = static_cast (decl_lookupDef (decl_getSymName (static_cast (currentModule)))); ++ if ((def != NULL) && ((def == scope) || (currentModule == scope))) ++ { ++ /* Return TRUE if the symbol has already been declared in the .def. */ ++ return (decl_lookupExported (static_cast (def), name)) != NULL; ++ } ++ } ++ } ++ return false; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ doTypeNameModifier - adds the __opaque modifier to the type n provided ++ it is an opaque type which is being declared in the ++ implementation module. ++*/ ++ ++static void doTypeNameModifier (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if ((isTypeOpaqueDefImp (n)) && (decl_isImp (static_cast (currentModule)))) ++ { ++ outText (p, (const char *) "__opaque", 8); ++ } ++} ++ ++ ++/* ++ isGccType - return TRUE if n is tree or location_t. ++*/ ++ ++static bool isGccType (decl_node__opaque n) ++{ ++ return (mcOptions_getGccConfigSystem ()) && (((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "location_t", 10))) || ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "tree", 4)))); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ doGccType - record whether we are going to declare tree or location_t ++ so that the appropriate gcc header can be included instead. ++*/ ++ ++static void doGccType (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if (mcOptions_getGccConfigSystem ()) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "location_t", 10))) ++ { ++ outText (p, (const char *) "/* Not going to declare ", 24); ++ doTypeNameC (p, n); ++ outText (p, (const char *) " as it is declared in the gcc header input.h. */\\n\\n", 53); ++ keyc_useGccLocation (); + } +- else if ((decl_isType (m)) || (decl_isPointer (m))) ++ else if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "tree", 4))) + { + /* avoid dangling else. */ +- outText (doP, (const char *) "typedef", 7); +- mcPretty_setNeedSpace (doP); +- doTypeC (doP, m, &m); +- if (decl_isType (m)) +- { +- mcPretty_setNeedSpace (doP); +- } +- doTypeNameC (doP, n); +- outText (doP, (const char *) ";\\n\\n", 5); ++ outText (p, (const char *) "/* Not going to declare ", 24); ++ doTypeNameC (p, n); ++ outText (p, (const char *) " as it is declared in the gcc header tree.h. */\\n\\n", 52); ++ keyc_useGccTree (); ++ } ++ } ++} ++ ++ ++/* ++ isCDataType - return true if n is charStar or constCharStar. ++*/ ++ ++static bool isCDataType (decl_node__opaque n) ++{ ++ return (n != NULL) && ((n == charStarN) || (n == constCharStarN)); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ isCDataTypes - return TRUE if n is CharStar or ConstCharStar. ++*/ ++ ++static bool isCDataTypes (decl_node__opaque n) ++{ ++ decl_node__opaque scope; ++ ++ scope = static_cast (decl_getScope (static_cast (n))); ++ return ((scope != NULL) && ((decl_getSymName (static_cast (scope))) == (nameKey_makeKey ((const char *) "CDataTypes", 10)))) && (((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "CharStar", 8))) || ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "ConstCharStar", 13)))); ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ doCDataTypes - if we are going to declare CharStar or ConstCharStar ++ then generate a comment instead. ++*/ ++ ++static void doCDataTypes (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if (isCDataTypes (n)) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "CharStar", 8))) ++ { ++ outText (p, (const char *) "/* Not going to declare ", 24); ++ doTypeNameC (p, n); ++ outText (p, (const char *) " as it is a C type. */\\n\\n", 27); ++ charStarN = n; + } +- else if (decl_isEnumeration (m)) ++ else if ((decl_getSymName (static_cast (n))) == (nameKey_makeKey ((const char *) "ConstCharStar", 13))) + { + /* avoid dangling else. */ +- outText (doP, (const char *) "typedef", 7); +- mcPretty_setNeedSpace (doP); +- doTypeC (doP, m, &m); +- mcPretty_setNeedSpace (doP); +- doTypeNameC (doP, n); +- outText (doP, (const char *) ";\\n\\n", 5); ++ outText (p, (const char *) "/* Not going to declare ", 24); ++ doTypeNameC (p, n); ++ outText (p, (const char *) " as it is a C type. */\\n\\n", 27); ++ constCharStarN = n; + } +- else ++ } ++} ++ ++ ++/* ++ doCDataTypesC - generate the C representation of the CDataTypes data types. ++*/ ++ ++static void doCDataTypesC (mcPretty_pretty p, decl_node__opaque n) ++{ ++ if (n == charStarN) ++ { ++ outText (p, (const char *) "char *", 6); ++ mcPretty_setNeedSpace (p); ++ } ++ else if (n == constCharStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const char *", 12); ++ mcPretty_setNeedSpace (p); ++ } ++} ++ ++ ++/* ++ doTypeOrPointer - only declare type or pointer n providing that ++ the name is not location_t or tree and ++ the --gccConfigSystem option is enabled. ++*/ ++ ++static void doTypeOrPointer (mcPretty_pretty p, decl_node__opaque n) ++{ ++ decl_node__opaque m; ++ ++ if (isGccType (n)) ++ { ++ doGccType (p, n); ++ } ++ else if (isCDataTypes (n)) ++ { ++ /* avoid dangling else. */ ++ doCDataTypes (p, n); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ m = static_cast (decl_getType (static_cast (n))); ++ outText (p, (const char *) "typedef", 7); ++ mcPretty_setNeedSpace (p); ++ doTypeC (p, m, &m); ++ if (decl_isType (static_cast (m))) ++ { ++ mcPretty_setNeedSpace (p); ++ } ++ doTypeNameC (p, n); ++ doTypeNameModifier (p, n); ++ outText (p, (const char *) ";\\n\\n", 5); ++ } ++} ++ ++ ++/* ++ doTypedef - generate a typedef for n provuiding it is not ++*/ ++ ++static void doTypedef (mcPretty_pretty p, decl_node__opaque n) ++{ ++ decl_node__opaque m; ++ ++ if (isGccType (n)) ++ { ++ doGccType (p, n); ++ } ++ else if (isCDataTypes (n)) ++ { ++ /* avoid dangling else. */ ++ doCDataTypes (p, n); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ m = static_cast (decl_getType (static_cast (n))); ++ outText (p, (const char *) "typedef", 7); ++ mcPretty_setNeedSpace (p); ++ doTypeC (p, m, &m); ++ if (decl_isType (static_cast (m))) ++ { ++ mcPretty_setNeedSpace (p); ++ } ++ doTypeNameC (p, n); ++ doTypeNameModifier (p, n); ++ outText (p, (const char *) ";\\n\\n", 5); ++ } ++} ++ ++ ++/* ++ doTypesC - ++*/ ++ ++static void doTypesC (decl_node__opaque n) ++{ ++ decl_node__opaque m; ++ ++ if (decl_isType (static_cast (n))) ++ { ++ m = static_cast (decl_getType (static_cast (n))); ++ if (decl_isProcType (static_cast (m))) ++ { ++ doProcTypeC (doP, n, m); ++ } ++ else if ((decl_isType (static_cast (m))) || (decl_isPointer (static_cast (m)))) + { + /* avoid dangling else. */ +- outText (doP, (const char *) "typedef", 7); +- mcPretty_setNeedSpace (doP); +- doTypeC (doP, m, &m); +- if (decl_isType (m)) ++ doTypeOrPointer (doP, n); ++ } ++ else if (decl_isEnumeration (static_cast (m))) ++ { ++ /* avoid dangling else. */ ++ if (isDeclType (n)) + { ++ outText (doP, (const char *) "typedef", 7); ++ mcPretty_setNeedSpace (doP); ++ doTypeC (doP, m, &m); + mcPretty_setNeedSpace (doP); ++ doTypeNameC (doP, n); ++ outText (doP, (const char *) ";\\n\\n", 5); + } +- doTypeNameC (doP, n); +- outText (doP, (const char *) ";\\n\\n", 5); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ doTypedef (doP, n); + } + } + } +@@ -12079,23 +12366,23 @@ static void doTypesC (decl_node n) + doCompletePartialC - + */ + +-static void doCompletePartialC (decl_node n) ++static void doCompletePartialC (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + +- if (decl_isType (n)) ++ if (decl_isType (static_cast (n))) + { +- m = decl_getType (n); +- if (decl_isRecord (m)) ++ m = static_cast (decl_getType (static_cast (n))); ++ if (decl_isRecord (static_cast (m))) + { + doCompletePartialRecord (doP, n, m); + } +- else if (decl_isArray (m)) ++ else if (decl_isArray (static_cast (m))) + { + /* avoid dangling else. */ + doCompletePartialArray (doP, n, m); + } +- else if (decl_isProcType (m)) ++ else if (decl_isProcType (static_cast (m))) + { + /* avoid dangling else. */ + doCompletePartialProcType (doP, n, m); +@@ -12108,14 +12395,14 @@ static void doCompletePartialC (decl_node n) + doCompletePartialRecord - + */ + +-static void doCompletePartialRecord (mcPretty_pretty p, decl_node t, decl_node r) ++static void doCompletePartialRecord (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque r) + { + unsigned int i; + unsigned int h; +- decl_node f; ++ decl_node__opaque f; + +- mcDebug_assert (decl_isRecord (r)); +- mcDebug_assert (decl_isType (t)); ++ mcDebug_assert (decl_isRecord (static_cast (r))); ++ mcDebug_assert (decl_isType (static_cast (t))); + outText (p, (const char *) "struct", 6); + mcPretty_setNeedSpace (p); + doFQNameC (p, t); +@@ -12126,24 +12413,23 @@ static void doCompletePartialRecord (mcPretty_pretty p, decl_node t, decl_node r + h = Indexing_HighIndice (r->recordF.listOfSons); + while (i <= h) + { +- f = static_cast (Indexing_GetIndice (r->recordF.listOfSons, i)); +- if (decl_isRecordField (f)) ++ f = static_cast (Indexing_GetIndice (r->recordF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (f))) + { + /* avoid dangling else. */ + if (! f->recordfieldF.tag) + { +- mcPretty_setNeedSpace (p); + doRecordFieldC (p, f); + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarient (f)) ++ else if (decl_isVarient (static_cast (f))) + { + /* avoid dangling else. */ + doVarientC (p, f); + outText (p, (const char *) ";\\n", 3); + } +- else if (decl_isVarientField (f)) ++ else if (decl_isVarientField (static_cast (f))) + { + /* avoid dangling else. */ + doVarientFieldC (p, f); +@@ -12158,14 +12444,14 @@ static void doCompletePartialRecord (mcPretty_pretty p, decl_node t, decl_node r + doCompletePartialArray - + */ + +-static void doCompletePartialArray (mcPretty_pretty p, decl_node t, decl_node r) ++static void doCompletePartialArray (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque r) + { +- decl_node type; +- decl_node s; ++ decl_node__opaque type; ++ decl_node__opaque s; + +- mcDebug_assert (decl_isArray (r)); ++ mcDebug_assert (decl_isArray (static_cast (r))); + type = r->arrayF.type; +- s = NULL; ++ s = static_cast (NULL); + outText (p, (const char *) "struct", 6); + mcPretty_setNeedSpace (p); + doFQNameC (p, t); +@@ -12185,9 +12471,9 @@ static void doCompletePartialArray (mcPretty_pretty p, decl_node t, decl_node r) + lookupConst - + */ + +-static decl_node lookupConst (decl_node type, nameKey_Name n) ++static decl_node__opaque lookupConst (decl_node__opaque type, nameKey_Name n) + { +- return decl_makeLiteralInt (n); ++ return static_cast (decl_makeLiteralInt (n)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -12197,7 +12483,7 @@ static decl_node lookupConst (decl_node type, nameKey_Name n) + doMin - + */ + +-static decl_node doMin (decl_node n) ++static decl_node__opaque doMin (decl_node__opaque n) + { + if (n == booleanN) + { +@@ -12236,7 +12522,7 @@ static decl_node doMin (decl_node n) + else if (n == bitsetN) + { + /* avoid dangling else. */ +- mcDebug_assert (decl_isSubrange (bitnumN)); ++ mcDebug_assert (decl_isSubrange (static_cast (bitnumN))); + return bitnumN->subrangeF.low; + } + else if (n == locN) +@@ -12277,7 +12563,7 @@ static decl_node doMin (decl_node n) + doMax - + */ + +-static decl_node doMax (decl_node n) ++static decl_node__opaque doMax (decl_node__opaque n) + { + if (n == booleanN) + { +@@ -12316,7 +12602,7 @@ static decl_node doMax (decl_node n) + else if (n == bitsetN) + { + /* avoid dangling else. */ +- mcDebug_assert (decl_isSubrange (bitnumN)); ++ mcDebug_assert (decl_isSubrange (static_cast (bitnumN))); + return bitnumN->subrangeF.high; + } + else if (n == locN) +@@ -12341,7 +12627,7 @@ static decl_node doMax (decl_node n) + { + /* avoid dangling else. */ + mcMetaError_metaError1 ((const char *) "trying to obtain MAX ({%1ad}) is illegal", 40, (const unsigned char *) &n, (sizeof (n)-1)); +- return NULL; ++ return static_cast (NULL); + } + else + { +@@ -12358,14 +12644,14 @@ static decl_node doMax (decl_node n) + getMax - + */ + +-static decl_node getMax (decl_node n) ++static decl_node__opaque getMax (decl_node__opaque n) + { +- n = decl_skipType (n); +- if (decl_isSubrange (n)) ++ n = static_cast (decl_skipType (static_cast (n))); ++ if (decl_isSubrange (static_cast (n))) + { + return n->subrangeF.high; + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + return n->enumerationF.high; +@@ -12385,14 +12671,14 @@ static decl_node getMax (decl_node n) + getMin - + */ + +-static decl_node getMin (decl_node n) ++static decl_node__opaque getMin (decl_node__opaque n) + { +- n = decl_skipType (n); +- if (decl_isSubrange (n)) ++ n = static_cast (decl_skipType (static_cast (n))); ++ if (decl_isSubrange (static_cast (n))) + { + return n->subrangeF.low; + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + return n->enumerationF.low; +@@ -12412,7 +12698,7 @@ static decl_node getMin (decl_node n) + doSubtractC - + */ + +-static void doSubtractC (mcPretty_pretty p, decl_node s) ++static void doSubtractC (mcPretty_pretty p, decl_node__opaque s) + { + if (! (isZero (s))) + { +@@ -12426,12 +12712,12 @@ static void doSubtractC (mcPretty_pretty p, decl_node s) + doSubrC - + */ + +-static void doSubrC (mcPretty_pretty p, decl_node s) ++static void doSubrC (mcPretty_pretty p, decl_node__opaque s) + { +- decl_node low; +- decl_node high; ++ decl_node__opaque low; ++ decl_node__opaque high; + +- s = decl_skipType (s); ++ s = static_cast (decl_skipType (static_cast (s))); + if (isOrdinal (s)) + { + low = getMin (s); +@@ -12440,7 +12726,7 @@ static void doSubrC (mcPretty_pretty p, decl_node s) + doSubtractC (p, low); + outText (p, (const char *) "+1", 2); + } +- else if (decl_isEnumeration (s)) ++ else if (decl_isEnumeration (static_cast (s))) + { + /* avoid dangling else. */ + low = getMin (s); +@@ -12452,10 +12738,10 @@ static void doSubrC (mcPretty_pretty p, decl_node s) + else + { + /* avoid dangling else. */ +- mcDebug_assert (decl_isSubrange (s)); ++ mcDebug_assert (decl_isSubrange (static_cast (s))); + if ((s->subrangeF.high == NULL) || (s->subrangeF.low == NULL)) + { +- doSubrC (p, decl_getType (s)); ++ doSubrC (p, static_cast (decl_getType (static_cast (s)))); + } + else + { +@@ -12468,21 +12754,35 @@ static void doSubrC (mcPretty_pretty p, decl_node s) + + + /* +- doCompletePartialProcType - ++ doCompletePartialProcType - ++*/ ++ ++static void doCompletePartialProcType (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n) ++{ ++ if ((isDeclType (t)) && (isDeclType (n))) ++ { ++ outputCompletePartialProcType (p, t, n); ++ } ++} ++ ++ ++/* ++ outputCompletePartialProcType - + */ + +-static void doCompletePartialProcType (mcPretty_pretty p, decl_node t, decl_node n) ++static void outputCompletePartialProcType (mcPretty_pretty p, decl_node__opaque t, decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node v; +- decl_node u; ++ decl_node__opaque v; ++ decl_node__opaque u; + +- mcDebug_assert (decl_isProcType (n)); +- u = NULL; ++ mcDebug_assert (decl_isProcType (static_cast (n))); ++ u = static_cast (NULL); + outText (p, (const char *) "typedef", 7); + mcPretty_setNeedSpace (p); + doTypeC (p, n->proctypeF.returnType, &u); ++ doOpaqueModifier (p, n); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(*", 2); + doFQNameC (p, t); +@@ -12491,7 +12791,7 @@ static void doCompletePartialProcType (mcPretty_pretty p, decl_node t, decl_node + h = Indexing_HighIndice (n->proctypeF.parameters); + while (i <= h) + { +- v = static_cast (Indexing_GetIndice (n->proctypeF.parameters, i)); ++ v = static_cast (Indexing_GetIndice (n->proctypeF.parameters, i)); + doParameterC (p, v); + mcPretty_noSpace (p); + if (i < h) +@@ -12531,7 +12831,7 @@ static void doCompletePartialProcType (mcPretty_pretty p, decl_node t, decl_node + isBase - + */ + +-static bool isBase (decl_node n) ++static bool isBase (decl_node__opaque n) + { + switch (n->kind) + { +@@ -12585,7 +12885,7 @@ static void doBoolC (mcPretty_pretty p) + doBaseC - + */ + +-static void doBaseC (mcPretty_pretty p, decl_node n) ++static void doBaseC (mcPretty_pretty p, decl_node__opaque n) + { + switch (n->kind) + { +@@ -12666,7 +12966,7 @@ static void doBaseC (mcPretty_pretty p, decl_node n) + isSystem - + */ + +-static bool isSystem (decl_node n) ++static bool isSystem (decl_node__opaque n) + { + switch (n->kind) + { +@@ -12708,7 +13008,7 @@ static bool isSystem (decl_node n) + doSystemC - + */ + +-static void doSystemC (mcPretty_pretty p, decl_node n) ++static void doSystemC (mcPretty_pretty p, decl_node__opaque n) + { + switch (n->kind) + { +@@ -12755,16 +13055,16 @@ static void doSystemC (mcPretty_pretty p, decl_node n) + doArrayC - + */ + +-static void doArrayC (mcPretty_pretty p, decl_node n) ++static void doArrayC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; +- decl_node s; +- decl_node u; ++ decl_node__opaque t; ++ decl_node__opaque s; ++ decl_node__opaque u; + +- mcDebug_assert (decl_isArray (n)); ++ mcDebug_assert (decl_isArray (static_cast (n))); + t = n->arrayF.type; + s = n->arrayF.subr; +- u = NULL; ++ u = static_cast (NULL); + if (s == NULL) + { + doTypeC (p, t, &u); +@@ -12801,13 +13101,13 @@ static void doArrayC (mcPretty_pretty p, decl_node n) + doPointerC - + */ + +-static void doPointerC (mcPretty_pretty p, decl_node n, decl_node *m) ++static void doPointerC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m) + { +- decl_node t; +- decl_node s; ++ decl_node__opaque t; ++ decl_node__opaque s; + + t = n->pointerF.type; +- s = NULL; ++ s = static_cast (NULL); + doTypeC (p, t, &s); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*", 1); +@@ -12818,13 +13118,18 @@ static void doPointerC (mcPretty_pretty p, decl_node n, decl_node *m) + doRecordFieldC - + */ + +-static void doRecordFieldC (mcPretty_pretty p, decl_node f) ++static void doRecordFieldC (mcPretty_pretty p, decl_node__opaque f) + { +- decl_node m; ++ decl_node__opaque m; + +- m = NULL; ++ m = static_cast (NULL); + mcPretty_setNeedSpace (p); + doTypeC (p, f->recordfieldF.type, &m); ++ if ((decl_isType (static_cast (f->recordfieldF.type))) && (isDeclInImp (f->recordfieldF.type))) ++ { ++ outText (p, (const char *) "__opaque", 8); ++ } ++ mcPretty_setNeedSpace (p); + doDNameC (p, f, false); + } + +@@ -12833,13 +13138,13 @@ static void doRecordFieldC (mcPretty_pretty p, decl_node f) + doVarientFieldC - + */ + +-static void doVarientFieldC (mcPretty_pretty p, decl_node n) ++static void doVarientFieldC (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + +- mcDebug_assert (decl_isVarientField (n)); ++ mcDebug_assert (decl_isVarientField (static_cast (n))); + if (! n->varientfieldF.simple) + { + outText (p, (const char *) "struct", 6); +@@ -12850,8 +13155,8 @@ static void doVarientFieldC (mcPretty_pretty p, decl_node n) + t = Indexing_HighIndice (n->varientfieldF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + /* avoid dangling else. */ + if (! q->recordfieldF.tag) +@@ -12860,7 +13165,7 @@ static void doVarientFieldC (mcPretty_pretty p, decl_node n) + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarient (q)) ++ else if (decl_isVarient (static_cast (q))) + { + /* avoid dangling else. */ + doVarientC (p, q); +@@ -12885,22 +13190,22 @@ static void doVarientFieldC (mcPretty_pretty p, decl_node n) + doVarientC - + */ + +-static void doVarientC (mcPretty_pretty p, decl_node n) ++static void doVarientC (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + +- mcDebug_assert (decl_isVarient (n)); ++ mcDebug_assert (decl_isVarient (static_cast (n))); + if (n->varientF.tag != NULL) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (decl_isRecordField (n->varientF.tag)) ++ if (decl_isRecordField (static_cast (n->varientF.tag))) + { + doRecordFieldC (p, n->varientF.tag); + outText (p, (const char *) "; /* case tag */\\n", 19); + } +- else if (decl_isVarientField (n->varientF.tag)) ++ else if (decl_isVarientField (static_cast (n->varientF.tag))) + { + /* avoid dangling else. */ + /* doVarientFieldC (p, n^.varientF.tag) */ +@@ -12921,8 +13226,8 @@ static void doVarientC (mcPretty_pretty p, decl_node n) + t = Indexing_HighIndice (n->varientF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + /* avoid dangling else. */ + if (! q->recordfieldF.tag) +@@ -12931,7 +13236,7 @@ static void doVarientC (mcPretty_pretty p, decl_node n) + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarientField (q)) ++ else if (decl_isVarientField (static_cast (q))) + { + /* avoid dangling else. */ + doVarientFieldC (p, q); +@@ -12952,13 +13257,13 @@ static void doVarientC (mcPretty_pretty p, decl_node n) + doRecordC - + */ + +-static void doRecordC (mcPretty_pretty p, decl_node n, decl_node *m) ++static void doRecordC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m) + { + unsigned int i; + unsigned int h; +- decl_node f; ++ decl_node__opaque f; + +- mcDebug_assert (decl_isRecord (n)); ++ mcDebug_assert (decl_isRecord (static_cast (n))); + outText (p, (const char *) "struct", 6); + mcPretty_setNeedSpace (p); + p = outKc (p, (const char *) "{", 1); +@@ -12968,8 +13273,8 @@ static void doRecordC (mcPretty_pretty p, decl_node n, decl_node *m) + outText (p, (const char *) "\\n", 2); + while (i <= h) + { +- f = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); +- if (decl_isRecordField (f)) ++ f = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (f))) + { + /* avoid dangling else. */ + if (! f->recordfieldF.tag) +@@ -12978,13 +13283,13 @@ static void doRecordC (mcPretty_pretty p, decl_node n, decl_node *m) + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarient (f)) ++ else if (decl_isVarient (static_cast (f))) + { + /* avoid dangling else. */ + doVarientC (p, f); + outText (p, (const char *) ";\\n", 3); + } +- else if (decl_isVarientField (f)) ++ else if (decl_isVarientField (static_cast (f))) + { + /* avoid dangling else. */ + doVarientFieldC (p, f); +@@ -13000,7 +13305,7 @@ static void doRecordC (mcPretty_pretty p, decl_node n, decl_node *m) + isBitset - + */ + +-static bool isBitset (decl_node n) ++static bool isBitset (decl_node__opaque n) + { + return n == bitsetN; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -13012,7 +13317,7 @@ static bool isBitset (decl_node n) + isNegative - returns TRUE if expression, n, is negative. + */ + +-static bool isNegative (decl_node n) ++static bool isNegative (decl_node__opaque n) + { + /* --fixme-- needs to be completed. */ + return false; +@@ -13025,9 +13330,9 @@ static bool isNegative (decl_node n) + doSubrangeC - + */ + +-static void doSubrangeC (mcPretty_pretty p, decl_node n) ++static void doSubrangeC (mcPretty_pretty p, decl_node__opaque n) + { +- mcDebug_assert (decl_isSubrange (n)); ++ mcDebug_assert (decl_isSubrange (static_cast (n))); + if (isNegative (n->subrangeF.low)) + { + outText (p, (const char *) "int", 3); +@@ -13046,9 +13351,9 @@ static void doSubrangeC (mcPretty_pretty p, decl_node n) + Currently we only support sets of size WORD. + */ + +-static void doSetC (mcPretty_pretty p, decl_node n) ++static void doSetC (mcPretty_pretty p, decl_node__opaque n) + { +- mcDebug_assert (decl_isSet (n)); ++ mcDebug_assert (decl_isSet (static_cast (n))); + outText (p, (const char *) "unsigned int", 12); + mcPretty_setNeedSpace (p); + } +@@ -13058,12 +13363,17 @@ static void doSetC (mcPretty_pretty p, decl_node n) + doTypeC - + */ + +-static void doTypeC (mcPretty_pretty p, decl_node n, decl_node *m) ++static void doTypeC (mcPretty_pretty p, decl_node__opaque n, decl_node__opaque *m) + { + if (n == NULL) + { + outText (p, (const char *) "void", 4); + } ++ else if (isCDataTypes (n)) ++ { ++ /* avoid dangling else. */ ++ doCDataTypesC (p, n); ++ } + else if (isBase (n)) + { + /* avoid dangling else. */ +@@ -13074,61 +13384,57 @@ static void doTypeC (mcPretty_pretty p, decl_node n, decl_node *m) + /* avoid dangling else. */ + doSystemC (p, n); + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + doEnumerationC (p, n); + } +- else if (decl_isType (n)) ++ else if (decl_isType (static_cast (n))) + { + /* avoid dangling else. */ + doFQNameC (p, n); +- /* +- ELSIF isProcType (n) OR isArray (n) OR isRecord (n) +- THEN +- HALT n should have been simplified. +- */ +- mcPretty_setNeedSpace (p); + } +- else if (decl_isProcType (n)) ++ else if (decl_isProcType (static_cast (n))) + { + /* avoid dangling else. */ + doProcTypeC (p, n, (*m)); + } +- else if (decl_isArray (n)) ++ else if (decl_isArray (static_cast (n))) + { + /* avoid dangling else. */ + doArrayC (p, n); + } +- else if (decl_isRecord (n)) ++ else if (decl_isRecord (static_cast (n))) + { + /* avoid dangling else. */ + doRecordC (p, n, m); + } +- else if (decl_isPointer (n)) ++ else if (decl_isPointer (static_cast (n))) + { + /* avoid dangling else. */ + doPointerC (p, n, m); + } +- else if (decl_isSubrange (n)) ++ else if (decl_isSubrange (static_cast (n))) + { + /* avoid dangling else. */ + doSubrangeC (p, n); + } +- else if (decl_isSet (n)) ++ else if (decl_isSet (static_cast (n))) + { + /* avoid dangling else. */ + doSetC (p, n); + } ++ else if (isCDataTypes (n)) ++ { ++ /* avoid dangling else. */ ++ doCDataTypesC (p, n); ++ } + else + { + /* avoid dangling else. */ +- /* --fixme-- */ +- mcPretty_print (p, (const char *) "to do ... typedef etc etc ", 27); +- doFQNameC (p, n); +- mcPretty_print (p, (const char *) ";\\n", 3); +- M2RTS_HALT (-1); +- __builtin_unreachable (); ++ mcMetaError_metaError1 ((const char *) "expecting a type symbol rather than a {%1DMd} {%1DMa}", 53, (const unsigned char *) &n, (sizeof (n)-1)); ++ mcError_flushErrors (); ++ mcError_errorAbort0 ((const char *) "terminating compilation", 23); + } + } + +@@ -13137,9 +13443,9 @@ static void doTypeC (mcPretty_pretty p, decl_node n, decl_node *m) + doArrayNameC - it displays the array declaration (it might be an unbounded). + */ + +-static void doArrayNameC (mcPretty_pretty p, decl_node n) ++static void doArrayNameC (mcPretty_pretty p, decl_node__opaque n) + { +- doTypeNameC (p, decl_getType (n)); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (n)))); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*", 1); + } +@@ -13149,7 +13455,7 @@ static void doArrayNameC (mcPretty_pretty p, decl_node n) + doRecordNameC - emit the C/C++ record name "_r". + */ + +-static void doRecordNameC (mcPretty_pretty p, decl_node n) ++static void doRecordNameC (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +@@ -13164,9 +13470,9 @@ static void doRecordNameC (mcPretty_pretty p, decl_node n) + doPointerNameC - emit the C/C++ pointer type *. + */ + +-static void doPointerNameC (mcPretty_pretty p, decl_node n) ++static void doPointerNameC (mcPretty_pretty p, decl_node__opaque n) + { +- doTypeNameC (p, decl_getType (n)); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (n)))); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*", 1); + } +@@ -13176,7 +13482,7 @@ static void doPointerNameC (mcPretty_pretty p, decl_node n) + doTypeNameC - + */ + +-static void doTypeNameC (mcPretty_pretty p, decl_node n) ++static void doTypeNameC (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String t; + +@@ -13185,6 +13491,18 @@ static void doTypeNameC (mcPretty_pretty p, decl_node n) + outText (p, (const char *) "void", 4); + mcPretty_setNeedSpace (p); + } ++ else if (n == charStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "char *", 6); ++ mcPretty_setNeedSpace (p); ++ } ++ else if (n == constCharStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const char *", 12); ++ mcPretty_setNeedSpace (p); ++ } + else if (isBase (n)) + { + /* avoid dangling else. */ +@@ -13195,38 +13513,38 @@ static void doTypeNameC (mcPretty_pretty p, decl_node n) + /* avoid dangling else. */ + doSystemC (p, n); + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + mcPretty_print (p, (const char *) "is enumeration type name required\\n", 35); + } +- else if (decl_isType (n)) ++ else if (decl_isType (static_cast (n))) + { + /* avoid dangling else. */ + doFQNameC (p, n); + } +- else if (decl_isProcType (n)) ++ else if (decl_isProcType (static_cast (n))) + { + /* avoid dangling else. */ + doFQNameC (p, n); + outText (p, (const char *) "_t", 2); + } +- else if (decl_isArray (n)) ++ else if (decl_isArray (static_cast (n))) + { + /* avoid dangling else. */ + doArrayNameC (p, n); + } +- else if (decl_isRecord (n)) ++ else if (decl_isRecord (static_cast (n))) + { + /* avoid dangling else. */ + doRecordNameC (p, n); + } +- else if (decl_isPointer (n)) ++ else if (decl_isPointer (static_cast (n))) + { + /* avoid dangling else. */ + doPointerNameC (p, n); + } +- else if (decl_isSubrange (n)) ++ else if (decl_isSubrange (static_cast (n))) + { + /* avoid dangling else. */ + doSubrangeC (p, n); +@@ -13235,7 +13553,6 @@ static void doTypeNameC (mcPretty_pretty p, decl_node n) + { + /* avoid dangling else. */ + mcPretty_print (p, (const char *) "is type unknown required\\n", 26); +- stop (); + } + } + +@@ -13244,51 +13561,91 @@ static void doTypeNameC (mcPretty_pretty p, decl_node n) + isExternal - returns TRUE if symbol, n, was declared in another module. + */ + +-static bool isExternal (decl_node n) ++static bool isExternal (decl_node__opaque n) + { +- decl_node s; ++ decl_node__opaque s; + +- s = decl_getScope (n); +- return ((s != NULL) && (decl_isDef (s))) && (((decl_isImp (decl_getMainModule ())) && (s != (decl_lookupDef (decl_getSymName (decl_getMainModule ()))))) || (decl_isModule (decl_getMainModule ()))); ++ s = static_cast (decl_getScope (static_cast (n))); ++ return ((s != NULL) && (decl_isDef (static_cast (s)))) && (((decl_isImp (decl_getMainModule ())) && (s != (decl_lookupDef (decl_getSymName (decl_getMainModule ()))))) || (decl_isModule (decl_getMainModule ()))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- doVarC - ++ doOpaqueModifier - adds postfix __opaque providing n uses an opaque type which is ++ not represented by ( void * ). n is a non type node which might ++ be using an opaque type. For example a var or param node. ++*/ ++ ++static void doOpaqueModifier (mcPretty_pretty p, decl_node__opaque n) ++{ ++ mcDebug_assert (! (decl_isType (static_cast (n)))); ++ if (((decl_isImp (decl_getCurrentModule ())) && (nodeUsesOpaque (n))) && (! (getNodeOpaqueVoidStar (n)))) ++ { ++ outText (doP, (const char *) "__opaque", 8); ++ } ++} ++ ++ ++/* ++ doDeclareVarC - + */ + +-static void doVarC (decl_node n) ++static void doDeclareVarC (decl_node__opaque n) + { +- decl_node s; ++ decl_node__opaque type; ++ decl_node__opaque s; ++ ++ s = static_cast (NULL); ++ type = static_cast (decl_getType (static_cast (n))); ++ doTypeC (doP, type, &s); ++ doOpaqueModifier (doP, n); ++ mcPretty_setNeedSpace (doP); ++ doFQDNameC (doP, n, false); ++ mcPretty_print (doP, (const char *) ";\\n", 3); ++} ++ ++ ++/* ++ doVarC - output a variable declaration. Note that we do not generate ++ a declaration if we are translating the implementation module ++ and a variable is exported as the variable will be in the .h ++ file to avoid all -Wodr issues. ++*/ + ++static void doVarC (decl_node__opaque n) ++{ + if (decl_isDef (decl_getMainModule ())) + { + mcPretty_print (doP, (const char *) "EXTERN", 6); + mcPretty_setNeedSpace (doP); ++ doDeclareVarC (n); + } +- else if ((! (decl_isExported (n))) && (! (isLocal (n)))) ++ else if ((! (decl_isExported (static_cast (n)))) && (! (isLocal (n)))) + { + /* avoid dangling else. */ + mcPretty_print (doP, (const char *) "static", 6); + mcPretty_setNeedSpace (doP); ++ doDeclareVarC (n); + } + else if (mcOptions_getExtendedOpaque ()) + { + /* avoid dangling else. */ ++ /* --fixme-- need to revisit extended opaque. */ + if (isExternal (n)) + { + /* different module declared this variable, therefore it is extern. */ + mcPretty_print (doP, (const char *) "extern", 6); + mcPretty_setNeedSpace (doP); + } ++ doDeclareVarC (n); ++ } ++ else if (isLocal (n)) ++ { ++ /* avoid dangling else. */ ++ doDeclareVarC (n); + } +- s = NULL; +- doTypeC (doP, decl_getType (n), &s); +- mcPretty_setNeedSpace (doP); +- doFQDNameC (doP, n, false); +- mcPretty_print (doP, (const char *) ";\\n", 3); + } + + +@@ -13312,7 +13669,7 @@ static void doExternCP (mcPretty_pretty p) + + static void doProcedureCommentText (mcPretty_pretty p, DynamicStrings_String s) + { +- /* remove ++ /* remove + from the start of the comment. */ + while (((DynamicStrings_Length (s)) > 0) && ((DynamicStrings_char (s, 0)) == ASCII_lf)) + { +@@ -13341,14 +13698,21 @@ static void doProcedureComment (mcPretty_pretty p, DynamicStrings_String s) + doProcedureHeadingC - + */ + +-static void doProcedureHeadingC (decl_node n, bool prototype) ++static void doProcedureHeadingC (decl_node__opaque n, bool prototype) + { ++ DynamicStrings_String s; + unsigned int i; + unsigned int h; +- decl_node p; +- decl_node q; ++ decl_node__opaque p; ++ decl_node__opaque q; + +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); ++ s = getFQstring (n); ++ if (DynamicStrings_EqualArray (s, (const char *) "M2Quads_BuildAssignment", 23)) ++ { ++ localstop (); ++ } ++ s = DynamicStrings_KillString (s); + mcPretty_noSpace (doP); + if (decl_isDef (decl_getMainModule ())) + { +@@ -13356,7 +13720,7 @@ static void doProcedureHeadingC (decl_node n, bool prototype) + outText (doP, (const char *) "EXTERN", 6); + mcPretty_setNeedSpace (doP); + } +- else if (decl_isExported (n)) ++ else if (decl_isExported (static_cast (n))) + { + /* avoid dangling else. */ + doProcedureComment (doP, mcComment_getContent (n->procedureF.modComment)); +@@ -13369,8 +13733,15 @@ static void doProcedureHeadingC (decl_node n, bool prototype) + outText (doP, (const char *) "static", 6); + mcPretty_setNeedSpace (doP); + } +- q = NULL; ++ q = static_cast (NULL); + doTypeC (doP, n->procedureF.returnType, &q); ++ /* ++ IF NOT isExported (n) ++ THEN ++ doTypeNameModifier (doP, n^.procedureF.returnType) ++ END ; ++ */ ++ doOpaqueModifier (doP, n); + mcPretty_setNeedSpace (doP); + doFQDNameC (doP, n, false); + mcPretty_setNeedSpace (doP); +@@ -13379,7 +13750,7 @@ static void doProcedureHeadingC (decl_node n, bool prototype) + h = Indexing_HighIndice (n->procedureF.parameters); + while (i <= h) + { +- p = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); ++ p = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); + doParameterC (doP, p); + mcPretty_noSpace (doP); + if (i < h) +@@ -13406,20 +13777,20 @@ static void doProcedureHeadingC (decl_node n, bool prototype) + checkDeclareUnboundedParamCopyC - + */ + +-static bool checkDeclareUnboundedParamCopyC (mcPretty_pretty p, decl_node n) ++static bool checkDeclareUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + unsigned int i; + unsigned int c; + wlists_wlist l; + bool seen; + + seen = false; +- t = decl_getType (n); ++ t = static_cast (decl_getType (static_cast (n))); + l = n->paramF.namelist->identlistF.names; +- if (((decl_isArray (t)) && (decl_isUnbounded (t))) && (l != NULL)) ++ if (((decl_isArray (static_cast (t))) && (decl_isUnbounded (static_cast (t)))) && (l != NULL)) + { +- t = decl_getType (t); ++ t = static_cast (decl_getType (static_cast (t))); + c = wlists_noOfItemsInList (l); + i = 1; + while (i <= c) +@@ -13444,22 +13815,22 @@ static bool checkDeclareUnboundedParamCopyC (mcPretty_pretty p, decl_node n) + checkUnboundedParamCopyC - + */ + +-static void checkUnboundedParamCopyC (mcPretty_pretty p, decl_node n) ++static void checkUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; +- decl_node s; ++ decl_node__opaque t; ++ decl_node__opaque s; + unsigned int i; + unsigned int c; + wlists_wlist l; + +- t = decl_getType (n); ++ t = static_cast (decl_getType (static_cast (n))); + l = n->paramF.namelist->identlistF.names; +- if (((decl_isArray (t)) && (decl_isUnbounded (t))) && (l != NULL)) ++ if (((decl_isArray (static_cast (t))) && (decl_isUnbounded (static_cast (t)))) && (l != NULL)) + { + c = wlists_noOfItemsInList (l); + i = 1; +- t = decl_getType (t); +- s = decl_skipType (t); ++ t = static_cast (decl_getType (static_cast (t))); ++ s = static_cast (decl_skipType (static_cast (t))); + while (i <= c) + { + keyc_useMemcpy (); +@@ -13494,21 +13865,21 @@ static void checkUnboundedParamCopyC (mcPretty_pretty p, decl_node n) + doUnboundedParamCopyC - + */ + +-static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node n) ++static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node q; ++ decl_node__opaque q; + bool seen; + +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); + i = Indexing_LowIndice (n->procedureF.parameters); + h = Indexing_HighIndice (n->procedureF.parameters); + seen = false; + while (i <= h) + { +- q = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); +- if (decl_isParam (q)) ++ q = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); ++ if (decl_isParam (static_cast (q))) + { + seen = (checkDeclareUnboundedParamCopyC (p, q)) || seen; + } +@@ -13521,8 +13892,8 @@ static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node n) + i = Indexing_LowIndice (n->procedureF.parameters); + while (i <= h) + { +- q = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); +- if (decl_isParam (q)) ++ q = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); ++ if (decl_isParam (static_cast (q))) + { + checkUnboundedParamCopyC (p, q); + } +@@ -13536,14 +13907,14 @@ static void doUnboundedParamCopyC (mcPretty_pretty p, decl_node n) + doPrototypeC - + */ + +-static void doPrototypeC (decl_node n) ++static void doPrototypeC (decl_node__opaque n) + { +- if (! (decl_isExported (n))) ++ if (! (decl_isExported (static_cast (n)))) + { +- keyc_enterScope (n); ++ keyc_enterScope (static_cast (n)); + doProcedureHeadingC (n, true); + mcPretty_print (doP, (const char *) ";\\n", 3); +- keyc_leaveScope (n); ++ keyc_leaveScope (static_cast (n)); + } + } + +@@ -13552,14 +13923,14 @@ static void doPrototypeC (decl_node n) + addTodo - adds, n, to the todo list. + */ + +-static void addTodo (decl_node n) ++static void addTodo (decl_node__opaque n) + { +- if (((n != NULL) && (! (alists_isItemInList (partialQ, reinterpret_cast (n))))) && (! (alists_isItemInList (doneQ, reinterpret_cast (n))))) ++ if (((n != NULL) && (! (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (n))))) && (! (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n))))) + { +- mcDebug_assert (! (decl_isVarient (n))); +- mcDebug_assert (! (decl_isVarientField (n))); +- mcDebug_assert (! (decl_isDef (n))); +- alists_includeItemIntoList (todoQ, reinterpret_cast (n)); ++ mcDebug_assert (! (decl_isVarient (static_cast (n)))); ++ mcDebug_assert (! (decl_isVarientField (static_cast (n)))); ++ mcDebug_assert (! (decl_isDef (static_cast (n)))); ++ alists_includeItemIntoList (globalGroup->todoQ, reinterpret_cast (n)); + } + } + +@@ -13568,15 +13939,15 @@ static void addTodo (decl_node n) + addVariablesTodo - + */ + +-static void addVariablesTodo (decl_node n) ++static void addVariablesTodo (decl_node__opaque n) + { +- if (decl_isVar (n)) ++ if (decl_isVar (static_cast (n))) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ + if (n->varF.isParameter || n->varF.isVarParameter) + { + addDone (n); +- addTodo (decl_getType (n)); ++ addTodo (static_cast (decl_getType (static_cast (n)))); + } + else + { +@@ -13590,9 +13961,9 @@ static void addVariablesTodo (decl_node n) + addTypesTodo - + */ + +-static void addTypesTodo (decl_node n) ++static void addTypesTodo (decl_node__opaque n) + { +- if (decl_isUnbounded (n)) ++ if (decl_isUnbounded (static_cast (n))) + { + addDone (n); + } +@@ -13620,16 +13991,16 @@ static DynamicStrings_String tempName (void) + makeIntermediateType - + */ + +-static decl_node makeIntermediateType (DynamicStrings_String s, decl_node p) ++static decl_node__opaque makeIntermediateType (DynamicStrings_String s, decl_node__opaque p) + { + nameKey_Name n; +- decl_node o; ++ decl_node__opaque o; + + n = nameKey_makekey (DynamicStrings_string (s)); +- decl_enterScope (decl_getScope (p)); ++ decl_enterScope (decl_getScope (static_cast (p))); + o = p; +- p = decl_makeType (nameKey_makekey (DynamicStrings_string (s))); +- decl_putType (p, o); ++ p = static_cast (decl_makeType (nameKey_makekey (DynamicStrings_string (s)))); ++ decl_putType (static_cast (p), static_cast (o)); + putTypeInternal (p); + decl_leaveScope (); + return p; +@@ -13642,11 +14013,11 @@ static decl_node makeIntermediateType (DynamicStrings_String s, decl_node p) + simplifyType - + */ + +-static void simplifyType (alists_alist l, decl_node *p) ++static void simplifyType (alists_alist l, decl_node__opaque *p) + { + DynamicStrings_String s; + +- if ((((*p) != NULL) && (((decl_isRecord ((*p))) || (decl_isArray ((*p)))) || (decl_isProcType ((*p))))) && (! (decl_isUnbounded ((*p))))) ++ if ((((*p) != NULL) && (((decl_isRecord (static_cast ((*p)))) || (decl_isArray (static_cast ((*p))))) || (decl_isProcType (static_cast ((*p)))))) && (! (decl_isUnbounded (static_cast ((*p)))))) + { + s = tempName (); + (*p) = makeIntermediateType (s, (*p)); +@@ -13661,15 +14032,15 @@ static void simplifyType (alists_alist l, decl_node *p) + simplifyVar - + */ + +-static void simplifyVar (alists_alist l, decl_node n) ++static void simplifyVar (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node v; +- decl_node d; +- decl_node o; ++ decl_node__opaque v; ++ decl_node__opaque d; ++ decl_node__opaque o; + +- mcDebug_assert (decl_isVar (n)); ++ mcDebug_assert (decl_isVar (static_cast (n))); + o = n->varF.type; + simplifyType (l, &n->varF.type); + if (o != n->varF.type) +@@ -13682,8 +14053,8 @@ static void simplifyVar (alists_alist l, decl_node n) + i = 1; + while (i <= t) + { +- v = decl_lookupInScope (n->varF.scope, wlists_getItemFromList (d->vardeclF.names, i)); +- mcDebug_assert (decl_isVar (v)); ++ v = static_cast (decl_lookupInScope (static_cast (n->varF.scope), wlists_getItemFromList (d->vardeclF.names, i))); ++ mcDebug_assert (decl_isVar (static_cast (v))); + v->varF.type = n->varF.type; + i += 1; + } +@@ -13695,17 +14066,17 @@ static void simplifyVar (alists_alist l, decl_node n) + simplifyRecord - + */ + +-static void simplifyRecord (alists_alist l, decl_node n) ++static void simplifyRecord (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (n->recordF.listOfSons); + t = Indexing_HighIndice (n->recordF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); + simplifyNode (l, q); + i += 1; + } +@@ -13716,18 +14087,18 @@ static void simplifyRecord (alists_alist l, decl_node n) + simplifyVarient - + */ + +-static void simplifyVarient (alists_alist l, decl_node n) ++static void simplifyVarient (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + simplifyNode (l, n->varientF.tag); + i = Indexing_LowIndice (n->varientF.listOfSons); + t = Indexing_HighIndice (n->varientF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); + simplifyNode (l, q); + i += 1; + } +@@ -13738,17 +14109,17 @@ static void simplifyVarient (alists_alist l, decl_node n) + simplifyVarientField - + */ + +-static void simplifyVarientField (alists_alist l, decl_node n) ++static void simplifyVarientField (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (n->varientfieldF.listOfSons); + t = Indexing_HighIndice (n->varientfieldF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); + simplifyNode (l, q); + i += 1; + } +@@ -13759,47 +14130,47 @@ static void simplifyVarientField (alists_alist l, decl_node n) + doSimplifyNode - + */ + +-static void doSimplifyNode (alists_alist l, decl_node n) ++static void doSimplifyNode (alists_alist l, decl_node__opaque n) + { + if (n == NULL) + {} /* empty. */ +- else if (decl_isType (n)) ++ else if (decl_isType (static_cast (n))) + { + /* avoid dangling else. */ + /* no need to simplify a type. */ +- simplifyNode (l, decl_getType (n)); ++ simplifyNode (l, static_cast (decl_getType (static_cast (n)))); + } +- else if (decl_isVar (n)) ++ else if (decl_isVar (static_cast (n))) + { + /* avoid dangling else. */ + simplifyVar (l, n); + } +- else if (decl_isRecord (n)) ++ else if (decl_isRecord (static_cast (n))) + { + /* avoid dangling else. */ + simplifyRecord (l, n); + } +- else if (decl_isRecordField (n)) ++ else if (decl_isRecordField (static_cast (n))) + { + /* avoid dangling else. */ + simplifyType (l, &n->recordfieldF.type); + } +- else if (decl_isArray (n)) ++ else if (decl_isArray (static_cast (n))) + { + /* avoid dangling else. */ + simplifyType (l, &n->arrayF.type); + } +- else if (decl_isVarient (n)) ++ else if (decl_isVarient (static_cast (n))) + { + /* avoid dangling else. */ + simplifyVarient (l, n); + } +- else if (decl_isVarientField (n)) ++ else if (decl_isVarientField (static_cast (n))) + { + /* avoid dangling else. */ + simplifyVarientField (l, n); + } +- else if (decl_isPointer (n)) ++ else if (decl_isPointer (static_cast (n))) + { + /* avoid dangling else. */ + simplifyType (l, &n->pointerF.type); +@@ -13811,11 +14182,11 @@ static void doSimplifyNode (alists_alist l, decl_node n) + simplifyNode - + */ + +-static void simplifyNode (alists_alist l, decl_node n) ++static void simplifyNode (alists_alist l, decl_node__opaque n) + { +- if (! (alists_isItemInList (l, reinterpret_cast (n)))) ++ if (! (alists_isItemInList (l, reinterpret_cast (n)))) + { +- alists_includeItemIntoList (l, reinterpret_cast (n)); ++ alists_includeItemIntoList (l, reinterpret_cast (n)); + doSimplifyNode (l, n); + } + } +@@ -13825,7 +14196,7 @@ static void simplifyNode (alists_alist l, decl_node n) + doSimplify - + */ + +-static void doSimplify (decl_node n) ++static void doSimplify (decl_node__opaque n) + { + alists_alist l; + +@@ -13853,7 +14224,7 @@ static void simplifyTypes (decl_scopeT s) + outDeclsDefC - + */ + +-static void outDeclsDefC (mcPretty_pretty p, decl_node n) ++static void outDeclsDefC (mcPretty_pretty p, decl_node__opaque n) + { + decl_scopeT s; + +@@ -13905,7 +14276,7 @@ static void includeVar (decl_scopeT s) + includeExternals - + */ + +-static void includeExternals (decl_node n) ++static void includeExternals (decl_node__opaque n) + { + alists_alist l; + +@@ -13919,7 +14290,7 @@ static void includeExternals (decl_node n) + checkSystemInclude - + */ + +-static void checkSystemInclude (decl_node n) ++static void checkSystemInclude (decl_node__opaque n) + { + } + +@@ -13928,14 +14299,14 @@ static void checkSystemInclude (decl_node n) + addExported - + */ + +-static void addExported (decl_node n) ++static void addExported (decl_node__opaque n) + { +- decl_node s; ++ decl_node__opaque s; + +- s = decl_getScope (n); +- if (((s != NULL) && (decl_isDef (s))) && (s != defModule)) ++ s = static_cast (decl_getScope (static_cast (n))); ++ if (((s != NULL) && (decl_isDef (static_cast (s)))) && (s != defModule)) + { +- if (((decl_isType (n)) || (decl_isVar (n))) || (decl_isConst (n))) ++ if (((decl_isType (static_cast (n))) || (decl_isVar (static_cast (n)))) || (decl_isConst (static_cast (n)))) + { + addTodo (n); + } +@@ -13948,12 +14319,12 @@ static void addExported (decl_node n) + implementation module and is not a hidden type. + */ + +-static void addExternal (decl_node n) ++static void addExternal (decl_node__opaque n) + { +- if (((((decl_getScope (n)) == defModule) && (decl_isType (n))) && (decl_isTypeHidden (n))) && (! (mcOptions_getExtendedOpaque ()))) ++ if (((((decl_getScope (static_cast (n))) == defModule) && (decl_isType (static_cast (n)))) && (decl_isTypeHidden (static_cast (n)))) && (! (mcOptions_getExtendedOpaque ()))) + {} /* empty. */ + /* do nothing. */ +- else if (! (decl_isDef (n))) ++ else if (! (decl_isDef (static_cast (n)))) + { + /* avoid dangling else. */ + addTodo (n); +@@ -13965,13 +14336,13 @@ static void addExternal (decl_node n) + includeDefConstType - + */ + +-static void includeDefConstType (decl_node n) ++static void includeDefConstType (decl_node__opaque n) + { +- decl_node d; ++ decl_node__opaque d; + +- if (decl_isImp (n)) ++ if (decl_isImp (static_cast (n))) + { +- defModule = decl_lookupDef (decl_getSymName (n)); ++ defModule = static_cast (decl_lookupDef (decl_getSymName (static_cast (n)))); + if (defModule != NULL) + { + simplifyTypes (defModule->defF.decls); +@@ -13986,11 +14357,11 @@ static void includeDefConstType (decl_node n) + runIncludeDefConstType - + */ + +-static void runIncludeDefConstType (decl_node n) ++static void runIncludeDefConstType (decl_node__opaque n) + { +- decl_node d; ++ decl_node__opaque d; + +- if (decl_isDef (n)) ++ if (decl_isDef (static_cast (n))) + { + simplifyTypes (n->defF.decls); + includeConstType (n->defF.decls); +@@ -14004,13 +14375,13 @@ static void runIncludeDefConstType (decl_node n) + d, into implementation module, i. + */ + +-static void joinProcedures (decl_node i, decl_node d) ++static void joinProcedures (decl_node__opaque i, decl_node__opaque d) + { + unsigned int h; + unsigned int j; + +- mcDebug_assert (decl_isDef (d)); +- mcDebug_assert (decl_isImp (i)); ++ mcDebug_assert (decl_isDef (static_cast (d))); ++ mcDebug_assert (decl_isImp (static_cast (i))); + j = 1; + h = Indexing_HighIndice (d->defF.decls.procedures); + while (j <= h) +@@ -14025,24 +14396,24 @@ static void joinProcedures (decl_node i, decl_node d) + includeDefVarProcedure - + */ + +-static void includeDefVarProcedure (decl_node n) ++static void includeDefVarProcedure (decl_node__opaque n) + { +- decl_node d; ++ decl_node__opaque d; + +- if (decl_isImp (n)) ++ if (decl_isImp (static_cast (n))) + { + /* avoid dangling else. */ +- defModule = decl_lookupDef (decl_getSymName (n)); ++ defModule = static_cast (decl_lookupDef (decl_getSymName (static_cast (n)))); + if (defModule != NULL) + { +- /* ++ /* + includeVar (defModule^.defF.decls) ; + simplifyTypes (defModule^.defF.decls) ; + */ + joinProcedures (n, defModule); + } + } +- else if (decl_isDef (n)) ++ else if (decl_isDef (static_cast (n))) + { + /* avoid dangling else. */ + includeVar (n->defF.decls); +@@ -14055,7 +14426,7 @@ static void includeDefVarProcedure (decl_node n) + foreachModuleDo - + */ + +-static void foreachModuleDo (decl_node n, symbolKey_performOperation p) ++static void foreachModuleDo (decl_node__opaque n, symbolKey_performOperation p) + { + decl_foreachDefModuleDo (p); + decl_foreachModModuleDo (p); +@@ -14082,17 +14453,17 @@ static void outDeclsImpC (mcPretty_pretty p, decl_scopeT s) + doStatementSequenceC - + */ + +-static void doStatementSequenceC (mcPretty_pretty p, decl_node s) ++static void doStatementSequenceC (mcPretty_pretty p, decl_node__opaque s) + { + unsigned int i; + unsigned int h; + +- mcDebug_assert (decl_isStatementSequence (s)); ++ mcDebug_assert (decl_isStatementSequence (static_cast (s))); + h = Indexing_HighIndice (s->stmtF.statements); + i = 1; + while (i <= h) + { +- doStatementsC (p, reinterpret_cast (Indexing_GetIndice (s->stmtF.statements, i))); ++ doStatementsC (p, static_cast (Indexing_GetIndice (s->stmtF.statements, i))); + i += 1; + } + } +@@ -14102,9 +14473,9 @@ static void doStatementSequenceC (mcPretty_pretty p, decl_node s) + isStatementSequenceEmpty - + */ + +-static bool isStatementSequenceEmpty (decl_node s) ++static bool isStatementSequenceEmpty (decl_node__opaque s) + { +- mcDebug_assert (decl_isStatementSequence (s)); ++ mcDebug_assert (decl_isStatementSequence (static_cast (s))); + return (Indexing_HighIndice (s->stmtF.statements)) == 0; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -14116,18 +14487,18 @@ static bool isStatementSequenceEmpty (decl_node s) + only one statement. + */ + +-static bool isSingleStatement (decl_node s) ++static bool isSingleStatement (decl_node__opaque s) + { + unsigned int h; + +- mcDebug_assert (decl_isStatementSequence (s)); ++ mcDebug_assert (decl_isStatementSequence (static_cast (s))); + h = Indexing_HighIndice (s->stmtF.statements); + if ((h == 0) || (h > 1)) + { + return false; + } +- s = static_cast (Indexing_GetIndice (s->stmtF.statements, 1)); +- return (! (decl_isStatementSequence (s))) || (isSingleStatement (s)); ++ s = static_cast (Indexing_GetIndice (s->stmtF.statements, 1)); ++ return (! (decl_isStatementSequence (static_cast (s)))) || (isSingleStatement (s)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -14137,7 +14508,7 @@ static bool isSingleStatement (decl_node s) + doCommentC - + */ + +-static void doCommentC (mcPretty_pretty p, decl_node s) ++static void doCommentC (mcPretty_pretty p, decl_node__opaque s) + { + DynamicStrings_String c; + +@@ -14168,7 +14539,7 @@ static void doCommentC (mcPretty_pretty p, decl_node s) + doAfterCommentC - emit an after comment, c, or a newline if, c, is empty. + */ + +-static void doAfterCommentC (mcPretty_pretty p, decl_node c) ++static void doAfterCommentC (mcPretty_pretty p, decl_node__opaque c) + { + if (c == NULL) + { +@@ -14185,21 +14556,30 @@ static void doAfterCommentC (mcPretty_pretty p, decl_node c) + doReturnC - issue a return statement and also place in an after comment if one exists. + */ + +-static void doReturnC (mcPretty_pretty p, decl_node s) ++static void doReturnC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isReturn (s)); ++ decl_node__opaque type; ++ ++ mcDebug_assert (decl_isReturn (static_cast (s))); + doCommentC (p, s->returnF.returnComment.body); + outText (p, (const char *) "return", 6); +- if (s->returnF.scope != NULL) ++ if ((s->returnF.scope != NULL) && (s->returnF.exp != NULL)) + { + mcPretty_setNeedSpace (p); +- if ((! (decl_isProcedure (s->returnF.scope))) || ((decl_getType (s->returnF.scope)) == NULL)) ++ if ((! (decl_isProcedure (static_cast (s->returnF.scope)))) || ((decl_getType (static_cast (s->returnF.scope))) == NULL)) + { + mcMetaError_metaError1 ((const char *) "{%1DMad} has no return type", 27, (const unsigned char *) &s->returnF.scope, (sizeof (s->returnF.scope)-1)); + } + else + { +- doExprCastC (p, s->returnF.exp, decl_getType (s->returnF.scope)); ++ if ((decl_isProcedure (static_cast (s->returnF.scope))) && (nodeUsesOpaque (s->returnF.scope))) ++ { ++ forceCastOpaque (p, s->returnF.scope, s->returnF.exp, getNodeOpaqueVoidStar (s->returnF.scope)); ++ } ++ else ++ { ++ doExprCastC (p, s->returnF.exp, static_cast (decl_getType (static_cast (s->returnF.scope)))); ++ } + } + } + outText (p, (const char *) ";", 1); +@@ -14211,7 +14591,7 @@ static void doReturnC (mcPretty_pretty p, decl_node s) + isZtypeEquivalent - + */ + +-static bool isZtypeEquivalent (decl_node type) ++static bool isZtypeEquivalent (decl_node__opaque type) + { + switch (type->kind) + { +@@ -14239,10 +14619,10 @@ static bool isZtypeEquivalent (decl_node type) + isEquivalentType - returns TRUE if type1 and type2 are equivalent. + */ + +-static bool isEquivalentType (decl_node type1, decl_node type2) ++static bool isEquivalentType (decl_node__opaque type1, decl_node__opaque type2) + { +- type1 = decl_skipType (type1); +- type2 = decl_skipType (type2); ++ type1 = static_cast (decl_skipType (static_cast (type1))); ++ type2 = static_cast (decl_skipType (static_cast (type2))); + return (type1 == type2) || ((isZtypeEquivalent (type1)) && (isZtypeEquivalent (type2))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -14253,31 +14633,31 @@ static bool isEquivalentType (decl_node type1, decl_node type2) + doExprCastC - build a cast if necessary. + */ + +-static void doExprCastC (mcPretty_pretty p, decl_node e, decl_node type) ++static void doExprCastC (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque type) + { +- decl_node stype; ++ decl_node__opaque stype; + +- stype = decl_skipType (type); +- if ((! (isEquivalentType (type, getExprType (e)))) && (! ((e->kind == decl_nil) && ((decl_isPointer (stype)) || (stype->kind == decl_address))))) ++ stype = static_cast (decl_skipType (static_cast (type))); ++ if ((! (isEquivalentType (type, getExprType (e)))) && (! ((e->kind == decl_nil) && ((decl_isPointer (static_cast (stype))) || (stype->kind == decl_address))))) + { + if (lang == decl_ansiCP) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ + /* potentially a cast is required. */ +- if ((decl_isPointer (type)) || (type == addressN)) ++ if ((decl_isPointer (static_cast (type))) || (type == addressN)) + { +- outText (p, (const char *) "reinterpret_cast<", 17); ++ outText (p, (const char *) "static_cast<", 12); + doTypeNameC (p, type); + mcPretty_noSpace (p); + outText (p, (const char *) "> (", 3); + doExprC (p, e); + outText (p, (const char *) ")", 1); +- return ; ++ return; + } + else + { + outText (p, (const char *) "static_cast<", 12); +- if (decl_isProcType (decl_skipType (type))) ++ if (decl_isProcType (decl_skipType (static_cast (type)))) + { + doTypeNameC (p, type); + outText (p, (const char *) "_t", 2); +@@ -14290,7 +14670,7 @@ static void doExprCastC (mcPretty_pretty p, decl_node e, decl_node type) + outText (p, (const char *) "> (", 3); + doExprC (p, e); + outText (p, (const char *) ")", 1); +- return ; ++ return; + } + } + } +@@ -14302,28 +14682,130 @@ static void doExprCastC (mcPretty_pretty p, decl_node e, decl_node type) + requiresUnpackProc - returns TRUE if either the expr is a procedure or the proctypes differ. + */ + +-static bool requiresUnpackProc (decl_node s) ++static bool requiresUnpackProc (decl_node__opaque s) + { + mcDebug_assert (isAssignment (s)); +- return (decl_isProcedure (s->assignmentF.expr)) || ((decl_skipType (decl_getType (s->assignmentF.des))) != (decl_skipType (decl_getType (s->assignmentF.expr)))); ++ return (decl_isProcedure (static_cast (s->assignmentF.expr))) || ((decl_skipType (decl_getType (static_cast (s->assignmentF.des)))) != (decl_skipType (decl_getType (static_cast (s->assignmentF.expr))))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + ++/* ++ forceCastOpaque - ++*/ ++ ++static void forceCastOpaque (mcPretty_pretty p, decl_node__opaque des, decl_node__opaque expr, bool toVoidStar) ++{ ++ if (nodeUsesOpaque (expr)) ++ { ++ flushOpaque (p, expr, getNodeOpaqueVoidStar (des)); ++ } ++ else ++ { ++ forceReintCastOpaque (p, des, expr, toVoidStar); ++ } ++} ++ ++ ++/* ++ forceReintCastOpaque - ++*/ ++ ++static void forceReintCastOpaque (mcPretty_pretty p, decl_node__opaque des, decl_node__opaque expr, bool toVoidStar) ++{ ++ decl_node__opaque type; ++ ++ type = static_cast (decl_getType (static_cast (des))); ++ if (toVoidStar) ++ { ++ /* next is true cast to void * opaque type. */ ++ outText (p, (const char *) "static_cast<", 12); ++ doTypeNameC (p, type); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) "> (", 3); ++ doExprC (p, expr); ++ outText (p, (const char *) ")", 1); ++ } ++ else ++ { ++ /* next is false cast to __opaque opaque type. */ ++ outText (p, (const char *) "static_cast<", 12); ++ doTypeNameC (p, type); ++ outText (p, (const char *) "__opaque", 8); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) "> (", 3); ++ doExprC (p, expr); ++ outText (p, (const char *) ")", 1); ++ } ++} ++ ++ ++/* ++ doUnConstCastUnbounded - if node n type is an unbounded array then ++ use const_cast to remove the const parameter ++ to allow the unbounded array to be modified. ++*/ ++ ++static void doUnConstCastUnbounded (mcPretty_pretty p, decl_node__opaque n) ++{ ++ decl_node__opaque type; ++ decl_node__opaque v; ++ ++ if (isArrayRef (n)) ++ { ++ if (decl_isVar (static_cast (n->arrayrefF.array))) ++ { ++ v = n->arrayrefF.array; ++ if ((v->varF.isParameter || v->varF.isVarParameter) && (decl_isUnbounded (decl_getType (static_cast (v))))) ++ { ++ type = static_cast (decl_getType (static_cast (v))); ++ outText (p, (const char *) " /* const_cast<", 15); ++ doTypeNameC (p, type); ++ outText (p, (const char *) "> is needed */ ", 15); ++ } ++ } ++ } ++} ++ ++ + /* + doAssignmentC - + */ + +-static void doAssignmentC (mcPretty_pretty p, decl_node s) ++static void doAssignmentC (mcPretty_pretty p, decl_node__opaque s) + { + mcDebug_assert (isAssignment (s)); + doCommentC (p, s->assignmentF.assignComment.body); +- doExprCup (p, s->assignmentF.des, requiresUnpackProc (s)); ++ if (debugOpaque) ++ { ++ outText (p, (const char *) " /* des: */ ", 12); ++ dumpOpaqueState (s->assignmentF.des); ++ outText (p, (const char *) " /* expr: */ ", 13); ++ dumpOpaqueState (s->assignmentF.expr); ++ } ++ s->assignmentF.des = doExprCup (p, s->assignmentF.des, requiresUnpackProc (s), true); ++ if (debugOpaque) ++ { ++ outText (p, (const char *) "\\n /* after doExprCup des: */ ", 30); ++ dumpOpaqueState (s->assignmentF.des); ++ outText (p, (const char *) "\\n", 2); ++ } + mcPretty_setNeedSpace (p); + outText (p, (const char *) "=", 1); + mcPretty_setNeedSpace (p); +- doExprCastC (p, s->assignmentF.expr, decl_getType (s->assignmentF.des)); ++ if (nodeUsesOpaque (s->assignmentF.des)) ++ { ++ forceCastOpaque (p, s->assignmentF.des, s->assignmentF.expr, getNodeOpaqueVoidStar (s->assignmentF.des)); ++ } ++ else ++ { ++ if (debugOpaque) ++ { ++ outText (p, (const char *) " /* no opaque des seen */ ", 26); ++ } ++ doExprCastC (p, s->assignmentF.expr, static_cast (decl_getType (static_cast (s->assignmentF.des)))); ++ } + outText (p, (const char *) ";", 1); + doAfterCommentC (p, s->assignmentF.assignComment.after); + } +@@ -14333,9 +14815,9 @@ static void doAssignmentC (mcPretty_pretty p, decl_node s) + containsStatement - + */ + +-static bool containsStatement (decl_node s) ++static bool containsStatement (decl_node__opaque s) + { +- return ((s != NULL) && (decl_isStatementSequence (s))) && (! (isStatementSequenceEmpty (s))); ++ return ((s != NULL) && (decl_isStatementSequence (static_cast (s)))) && (! (isStatementSequenceEmpty (s))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -14345,16 +14827,16 @@ static bool containsStatement (decl_node s) + doCompoundStmt - + */ + +-static void doCompoundStmt (mcPretty_pretty p, decl_node s) ++static void doCompoundStmt (mcPretty_pretty p, decl_node__opaque s) + { +- if ((s == NULL) || ((decl_isStatementSequence (s)) && (isStatementSequenceEmpty (s)))) ++ if ((s == NULL) || ((decl_isStatementSequence (static_cast (s))) && (isStatementSequenceEmpty (s)))) + { + p = mcPretty_pushPretty (p); + mcPretty_setindent (p, (mcPretty_getindent (p))+indentationC); + outText (p, (const char *) "{} /* empty. */\\n", 19); + p = mcPretty_popPretty (p); + } +- else if (((decl_isStatementSequence (s)) && (isSingleStatement (s))) && ! forceCompoundStatement) ++ else if (((decl_isStatementSequence (static_cast (s))) && (isSingleStatement (s))) && ! forceCompoundStatement) + { + /* avoid dangling else. */ + p = mcPretty_pushPretty (p); +@@ -14382,9 +14864,9 @@ static void doCompoundStmt (mcPretty_pretty p, decl_node s) + doElsifC - + */ + +-static void doElsifC (mcPretty_pretty p, decl_node s) ++static void doElsifC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isElsif (s)); ++ mcDebug_assert (decl_isElsif (static_cast (s))); + outText (p, (const char *) "else if", 7); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(", 1); +@@ -14431,7 +14913,7 @@ static void doElsifC (mcPretty_pretty p, decl_node s) + doCompoundStmt (p, s->elsifF.else_); + } + } +- else if ((s->elsifF.elsif != NULL) && (decl_isElsif (s->elsifF.elsif))) ++ else if ((s->elsifF.elsif != NULL) && (decl_isElsif (static_cast (s->elsifF.elsif)))) + { + /* avoid dangling else. */ + doElsifC (p, s->elsifF.elsif); +@@ -14443,9 +14925,9 @@ static void doElsifC (mcPretty_pretty p, decl_node s) + noIfElse - + */ + +-static bool noIfElse (decl_node n) ++static bool noIfElse (decl_node__opaque n) + { +- return (((n != NULL) && (decl_isIf (n))) && (n->ifF.else_ == NULL)) && (n->ifF.elsif == NULL); ++ return (((n != NULL) && (decl_isIf (static_cast (n)))) && (n->ifF.else_ == NULL)) && (n->ifF.elsif == NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -14458,14 +14940,14 @@ static bool noIfElse (decl_node n) + in a return value of TRUE. + */ + +-static bool noIfElseChained (decl_node n) ++static bool noIfElseChained (decl_node__opaque n) + { +- decl_node e; ++ decl_node__opaque e; + + if (n != NULL) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (decl_isIf (n)) ++ if (decl_isIf (static_cast (n))) + { + if (n->ifF.else_ != NULL) + { +@@ -14483,11 +14965,11 @@ static bool noIfElseChained (decl_node n) + /* avoid dangling else. */ + /* test elsif for lack of else. */ + e = n->ifF.elsif; +- mcDebug_assert (decl_isElsif (e)); ++ mcDebug_assert (decl_isElsif (static_cast (e))); + return noIfElseChained (e); + } + } +- else if (decl_isElsif (n)) ++ else if (decl_isElsif (static_cast (n))) + { + /* avoid dangling else. */ + if (n->elsifF.else_ != NULL) +@@ -14506,7 +14988,7 @@ static bool noIfElseChained (decl_node n) + /* avoid dangling else. */ + /* test elsif for lack of else. */ + e = n->elsifF.elsif; +- mcDebug_assert (decl_isElsif (e)); ++ mcDebug_assert (decl_isElsif (static_cast (e))); + return noIfElseChained (e); + } + } +@@ -14521,11 +15003,11 @@ static bool noIfElseChained (decl_node n) + hasIfElse - + */ + +-static bool hasIfElse (decl_node n) ++static bool hasIfElse (decl_node__opaque n) + { + if (n != NULL) + { +- if (decl_isStatementSequence (n)) ++ if (decl_isStatementSequence (static_cast (n))) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ + if (isStatementSequenceEmpty (n)) +@@ -14535,7 +15017,7 @@ static bool hasIfElse (decl_node n) + else if (isSingleStatement (n)) + { + /* avoid dangling else. */ +- n = static_cast (Indexing_GetIndice (n->stmtF.statements, 1)); ++ n = static_cast (Indexing_GetIndice (n->stmtF.statements, 1)); + return isIfElse (n); + } + } +@@ -14550,9 +15032,9 @@ static bool hasIfElse (decl_node n) + isIfElse - + */ + +-static bool isIfElse (decl_node n) ++static bool isIfElse (decl_node__opaque n) + { +- return ((n != NULL) && (decl_isIf (n))) && ((n->ifF.else_ != NULL) || (n->ifF.elsif != NULL)); ++ return ((n != NULL) && (decl_isIf (static_cast (n)))) && ((n->ifF.else_ != NULL) || (n->ifF.elsif != NULL)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -14563,12 +15045,12 @@ static bool isIfElse (decl_node n) + which is an IF and it has no else statement. + */ + +-static bool hasIfAndNoElse (decl_node n) ++static bool hasIfAndNoElse (decl_node__opaque n) + { + if (n != NULL) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (decl_isStatementSequence (n)) ++ if (decl_isStatementSequence (static_cast (n))) + { + if (isStatementSequenceEmpty (n)) + { +@@ -14577,17 +15059,17 @@ static bool hasIfAndNoElse (decl_node n) + else if (isSingleStatement (n)) + { + /* avoid dangling else. */ +- n = static_cast (Indexing_GetIndice (n->stmtF.statements, 1)); ++ n = static_cast (Indexing_GetIndice (n->stmtF.statements, 1)); + return hasIfAndNoElse (n); + } + else + { + /* avoid dangling else. */ +- n = static_cast (Indexing_GetIndice (n->stmtF.statements, Indexing_HighIndice (n->stmtF.statements))); ++ n = static_cast (Indexing_GetIndice (n->stmtF.statements, Indexing_HighIndice (n->stmtF.statements))); + return hasIfAndNoElse (n); + } + } +- else if ((decl_isElsif (n)) || (decl_isIf (n))) ++ else if ((decl_isElsif (static_cast (n))) || (decl_isIf (static_cast (n)))) + { + /* avoid dangling else. */ + return noIfElseChained (n); +@@ -14604,9 +15086,9 @@ static bool hasIfAndNoElse (decl_node n) + The if statement might contain an else or elsif which are also handled. + */ + +-static void doIfC (mcPretty_pretty p, decl_node s) ++static void doIfC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isIf (s)); ++ mcDebug_assert (decl_isIf (static_cast (s))); + doCommentC (p, s->ifF.ifComment.body); + outText (p, (const char *) "if", 2); + mcPretty_setNeedSpace (p); +@@ -14657,7 +15139,7 @@ static void doIfC (mcPretty_pretty p, decl_node s) + doAfterCommentC (p, s->ifF.elseComment.after); + doCompoundStmt (p, s->ifF.else_); + } +- else if ((s->ifF.elsif != NULL) && (decl_isElsif (s->ifF.elsif))) ++ else if ((s->ifF.elsif != NULL) && (decl_isElsif (static_cast (s->ifF.elsif)))) + { + /* avoid dangling else. */ + doCommentC (p, s->ifF.elseComment.body); +@@ -14673,19 +15155,19 @@ static void doIfC (mcPretty_pretty p, decl_node s) + doForIncCP - + */ + +-static void doForIncCP (mcPretty_pretty p, decl_node s) ++static void doForIncCP (mcPretty_pretty p, decl_node__opaque s) + { +- decl_node t; ++ decl_node__opaque t; + +- mcDebug_assert (decl_isFor (s)); +- t = decl_skipType (decl_getType (s->forF.des)); +- if (decl_isEnumeration (t)) ++ mcDebug_assert (decl_isFor (static_cast (s))); ++ t = static_cast (decl_skipType (decl_getType (static_cast (s->forF.des)))); ++ if (decl_isEnumeration (static_cast (t))) + { + if (s->forF.increment == NULL) + { + doExprC (p, s->forF.des); + outText (p, (const char *) "= static_cast<", 14); +- doTypeNameC (p, decl_getType (s->forF.des)); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (s->forF.des)))); + mcPretty_noSpace (p); + outText (p, (const char *) ">(static_cast(", 19); + doExprC (p, s->forF.des); +@@ -14695,7 +15177,7 @@ static void doForIncCP (mcPretty_pretty p, decl_node s) + { + doExprC (p, s->forF.des); + outText (p, (const char *) "= static_cast<", 14); +- doTypeNameC (p, decl_getType (s->forF.des)); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (s->forF.des)))); + mcPretty_noSpace (p); + outText (p, (const char *) ">(static_cast(", 19); + doExprC (p, s->forF.des); +@@ -14715,7 +15197,7 @@ static void doForIncCP (mcPretty_pretty p, decl_node s) + doForIncC - + */ + +-static void doForIncC (mcPretty_pretty p, decl_node s) ++static void doForIncC (mcPretty_pretty p, decl_node__opaque s) + { + if (s->forF.increment == NULL) + { +@@ -14737,7 +15219,7 @@ static void doForIncC (mcPretty_pretty p, decl_node s) + doForInc - + */ + +-static void doForInc (mcPretty_pretty p, decl_node s) ++static void doForInc (mcPretty_pretty p, decl_node__opaque s) + { + if (lang == decl_ansiCP) + { +@@ -14754,9 +15236,9 @@ static void doForInc (mcPretty_pretty p, decl_node s) + doForC - + */ + +-static void doForC (mcPretty_pretty p, decl_node s) ++static void doForC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isFor (s)); ++ mcDebug_assert (decl_isFor (static_cast (s))); + outText (p, (const char *) "for (", 5); + doExprC (p, s->forF.des); + outText (p, (const char *) "=", 1); +@@ -14778,9 +15260,9 @@ static void doForC (mcPretty_pretty p, decl_node s) + doRepeatC - + */ + +-static void doRepeatC (mcPretty_pretty p, decl_node s) ++static void doRepeatC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isRepeat (s)); ++ mcDebug_assert (decl_isRepeat (static_cast (s))); + doCommentC (p, s->repeatF.repeatComment.body); + outText (p, (const char *) "do {", 4); + doAfterCommentC (p, s->repeatF.repeatComment.after); +@@ -14800,9 +15282,9 @@ static void doRepeatC (mcPretty_pretty p, decl_node s) + doWhileC - + */ + +-static void doWhileC (mcPretty_pretty p, decl_node s) ++static void doWhileC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isWhile (s)); ++ mcDebug_assert (decl_isWhile (static_cast (s))); + doCommentC (p, s->whileF.doComment.body); + outText (p, (const char *) "while (", 7); + doExprC (p, s->whileF.expr); +@@ -14818,12 +15300,12 @@ static void doWhileC (mcPretty_pretty p, decl_node s) + doFuncHighC - + */ + +-static void doFuncHighC (mcPretty_pretty p, decl_node a) ++static void doFuncHighC (mcPretty_pretty p, decl_node__opaque a) + { +- decl_node s; +- decl_node n; ++ decl_node__opaque s; ++ decl_node__opaque n; + +- if ((decl_isLiteral (a)) && ((decl_getType (a)) == charN)) ++ if ((decl_isLiteral (static_cast (a))) && ((decl_getType (static_cast (a))) == charN)) + { + outCard (p, 0); + } +@@ -14832,22 +15314,22 @@ static void doFuncHighC (mcPretty_pretty p, decl_node a) + /* avoid dangling else. */ + outCard (p, a->stringF.length-2); + } +- else if ((decl_isConst (a)) && (isString (a->constF.value))) ++ else if ((decl_isConst (static_cast (a))) && (isString (a->constF.value))) + { + /* avoid dangling else. */ + doFuncHighC (p, a->constF.value); + } +- else if (decl_isUnbounded (decl_getType (a))) ++ else if (decl_isUnbounded (decl_getType (static_cast (a)))) + { + /* avoid dangling else. */ + outText (p, (const char *) "_", 1); +- outTextN (p, decl_getSymName (a)); ++ outTextN (p, decl_getSymName (static_cast (a))); + outText (p, (const char *) "_high", 5); + } +- else if (decl_isArray (decl_skipType (decl_getType (a)))) ++ else if (decl_isArray (decl_skipType (decl_getType (static_cast (a))))) + { + /* avoid dangling else. */ +- n = decl_skipType (decl_getType (a)); ++ n = static_cast (decl_skipType (decl_getType (static_cast (a)))); + s = n->arrayF.subr; + if (isZero (getMin (s))) + { +@@ -14878,7 +15360,7 @@ static void doFuncHighC (mcPretty_pretty p, decl_node a) + doMultiplyBySize - + */ + +-static void doMultiplyBySize (mcPretty_pretty p, decl_node a) ++static void doMultiplyBySize (mcPretty_pretty p, decl_node__opaque a) + { + if (((a != charN) && (a != byteN)) && (a != locN)) + { +@@ -14895,21 +15377,21 @@ static void doMultiplyBySize (mcPretty_pretty p, decl_node a) + doTotype - + */ + +-static void doTotype (mcPretty_pretty p, decl_node a, decl_node t) ++static void doTotype (mcPretty_pretty p, decl_node__opaque a, decl_node__opaque t) + { +- if ((! (isString (a))) && (! (decl_isLiteral (a)))) ++ if ((! (isString (a))) && (! (decl_isLiteral (static_cast (a))))) + { +- if (decl_isVar (a)) ++ if (decl_isVar (static_cast (a))) + { +- if (((a->varF.isParameter || a->varF.isVarParameter) && (decl_isUnbounded (decl_getType (a)))) && ((decl_skipType (decl_getType (decl_getType (a)))) == (decl_skipType (decl_getType (t))))) ++ if (((a->varF.isParameter || a->varF.isVarParameter) && (decl_isUnbounded (decl_getType (static_cast (a))))) && ((decl_skipType (decl_getType (decl_getType (static_cast (a))))) == (decl_skipType (decl_getType (static_cast (t)))))) + { + /* do not multiply by size as the existing high value is correct. */ +- return ; ++ return; + } +- a = decl_getType (a); +- if (decl_isArray (a)) ++ a = static_cast (decl_getType (static_cast (a))); ++ if (decl_isArray (static_cast (a))) + { +- doMultiplyBySize (p, decl_skipType (decl_getType (a))); ++ doMultiplyBySize (p, static_cast (decl_skipType (decl_getType (static_cast (a))))); + } + } + } +@@ -14928,23 +15410,23 @@ static void doTotype (mcPretty_pretty p, decl_node a, decl_node t) + doFuncUnbounded - + */ + +-static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node formalParam, decl_node formal, decl_node func) ++static void doFuncUnbounded (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formalParam, decl_node__opaque formal, decl_node__opaque func) + { +- decl_node h; ++ decl_node__opaque h; + DynamicStrings_String s; + +- mcDebug_assert (decl_isUnbounded (formal)); ++ mcDebug_assert (decl_isUnbounded (static_cast (formal))); + outText (p, (const char *) "(", 1); +- if ((lang == decl_ansiCP) && (decl_isParam (formalParam))) ++ if ((lang == decl_ansiCP) && (decl_isParam (static_cast (formalParam)))) + { + outText (p, (const char *) "const", 5); + mcPretty_setNeedSpace (p); + } +- doTypeC (p, decl_getType (formal), &formal); ++ doTypeC (p, static_cast (decl_getType (static_cast (formal))), &formal); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "*)", 2); + mcPretty_setNeedSpace (p); +- if ((decl_isLiteral (actual)) && ((decl_getType (actual)) == charN)) ++ if ((decl_isLiteral (static_cast (actual))) && ((decl_getType (static_cast (actual))) == charN)) + { + outText (p, (const char *) "\"\\0", 3); + s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (actual->literalF.name)); +@@ -14958,7 +15440,7 @@ static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node form + /* avoid dangling else. */ + outCstring (p, actual, true); + } +- else if (decl_isConst (actual)) ++ else if (decl_isConst (static_cast (actual))) + { + /* avoid dangling else. */ + actual = resolveString (actual); +@@ -14978,7 +15460,7 @@ static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node form + doExprC (p, actual); + } + } +- else if (decl_isUnbounded (decl_getType (actual))) ++ else if (decl_isUnbounded (decl_getType (static_cast (actual)))) + { + /* avoid dangling else. */ + /* doExprC (p, actual). */ +@@ -14989,12 +15471,12 @@ static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node form + /* avoid dangling else. */ + outText (p, (const char *) "&", 1); + doExprC (p, actual); +- if (decl_isArray (decl_skipType (decl_getType (actual)))) ++ if (decl_isArray (decl_skipType (decl_getType (static_cast (actual))))) + { + outText (p, (const char *) ".array[0]", 9); + } + } +- if (! (enableDefForCStrings && (isDefForC (decl_getScope (func))))) ++ if (! (enableDefForCStrings && (isDefForC (static_cast (decl_getScope (static_cast (func))))))) + { + outText (p, (const char *) ",", 1); + mcPretty_setNeedSpace (p); +@@ -15008,12 +15490,12 @@ static void doFuncUnbounded (mcPretty_pretty p, decl_node actual, decl_node form + doProcedureParamC - + */ + +-static void doProcedureParamC (mcPretty_pretty p, decl_node actual, decl_node formal) ++static void doProcedureParamC (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal) + { + if (isForC (formal)) + { + outText (p, (const char *) "(", 1); +- doFQNameC (p, decl_getType (formal)); ++ doFQNameC (p, static_cast (decl_getType (static_cast (formal)))); + outText (p, (const char *) "_C", 2); + outText (p, (const char *) ")", 1); + mcPretty_setNeedSpace (p); +@@ -15022,12 +15504,12 @@ static void doProcedureParamC (mcPretty_pretty p, decl_node actual, decl_node fo + else + { + outText (p, (const char *) "(", 1); +- doTypeNameC (p, decl_getType (formal)); ++ doTypeNameC (p, static_cast (decl_getType (static_cast (formal)))); + outText (p, (const char *) ")", 1); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "{", 1); + outText (p, (const char *) "(", 1); +- doFQNameC (p, decl_getType (formal)); ++ doFQNameC (p, static_cast (decl_getType (static_cast (formal)))); + outText (p, (const char *) "_t)", 3); + mcPretty_setNeedSpace (p); + doExprC (p, actual); +@@ -15040,17 +15522,17 @@ static void doProcedureParamC (mcPretty_pretty p, decl_node actual, decl_node fo + doAdrExprC - + */ + +-static void doAdrExprC (mcPretty_pretty p, decl_node n) ++static void doAdrExprC (mcPretty_pretty p, decl_node__opaque n) + { + if (isDeref (n)) + { +- /* no point in issuing & ( * n ) */ ++ /* No point in issuing & ( * n ). */ + doExprC (p, n->unaryF.arg); + } +- else if ((decl_isVar (n)) && n->varF.isVarParameter) ++ else if ((decl_isVar (static_cast (n))) && n->varF.isVarParameter) + { + /* avoid dangling else. */ +- /* no point in issuing & ( * n ) */ ++ /* No point in issuing & ( * n ). */ + doFQNameC (p, n); + } + else +@@ -15066,7 +15548,7 @@ static void doAdrExprC (mcPretty_pretty p, decl_node n) + typePair - + */ + +-static bool typePair (decl_node a, decl_node b, decl_node x, decl_node y) ++static bool typePair (decl_node__opaque a, decl_node__opaque b, decl_node__opaque x, decl_node__opaque y) + { + return ((a == x) && (b == y)) || ((a == y) && (b == x)); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -15079,10 +15561,10 @@ static bool typePair (decl_node a, decl_node b, decl_node x, decl_node y) + the formal type. + */ + +-static bool needsCast (decl_node at, decl_node ft) ++static bool needsCast (decl_node__opaque at, decl_node__opaque ft) + { +- at = decl_skipType (at); +- ft = decl_skipType (ft); ++ at = static_cast (decl_skipType (static_cast (at))); ++ ft = static_cast (decl_skipType (static_cast (ft))); + if (((((((((((((at == nilN) || (at->kind == decl_nil)) || (at == ft)) || (typePair (at, ft, cardinalN, wordN))) || (typePair (at, ft, cardinalN, ztypeN))) || (typePair (at, ft, integerN, ztypeN))) || (typePair (at, ft, longcardN, ztypeN))) || (typePair (at, ft, shortcardN, ztypeN))) || (typePair (at, ft, longintN, ztypeN))) || (typePair (at, ft, shortintN, ztypeN))) || (typePair (at, ft, realN, rtypeN))) || (typePair (at, ft, longrealN, rtypeN))) || (typePair (at, ft, shortrealN, rtypeN))) + { + return false; +@@ -15096,6 +15578,155 @@ static bool needsCast (decl_node at, decl_node ft) + } + + ++/* ++ castDestType - emit the destination type ft ++*/ ++ ++static void castDestType (mcPretty_pretty p, decl_node__opaque formal, decl_node__opaque ft) ++{ ++ doTypeNameC (p, ft); ++ if (decl_isVarParam (static_cast (formal))) ++ { ++ outText (p, (const char *) "*", 1); ++ } ++} ++ ++ ++/* ++ identifyPointer - ++*/ ++ ++static decl_node__opaque identifyPointer (decl_node__opaque type) ++{ ++ if (decl_isPointer (static_cast (type))) ++ { ++ /* avoid gcc warning by using compound statement even if not strictly necessary. */ ++ if ((decl_skipType (decl_getType (static_cast (type)))) == charN) ++ { ++ return charStarN; ++ } ++ else if (((decl_skipType (decl_getType (static_cast (type)))) == byteN) || ((decl_skipType (decl_getType (static_cast (type)))) == locN)) ++ { ++ /* avoid dangling else. */ ++ return addressN; ++ } ++ } ++ return type; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ castPointer - provides a six way cast between ADDRESS (ie void * ), ++ char * and const char *. ++*/ ++ ++static unsigned int castPointer (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal, decl_node__opaque at, decl_node__opaque ft) ++{ ++ decl_node__opaque sat; ++ decl_node__opaque sft; ++ unsigned int parenth; ++ ++ parenth = 0; ++ if (at != ft) ++ { ++ sat = identifyPointer (static_cast (decl_skipType (static_cast (at)))); ++ sft = identifyPointer (static_cast (decl_skipType (static_cast (ft)))); ++ if (sat == addressN) ++ { ++ if (sft == charStarN) ++ { ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ else if (sft == constCharStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const_cast <", 12); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) "> (static_cast <", 16); ++ doTypeNameC (p, charStarN); ++ outText (p, (const char *) ">", 1); ++ parenth += 1; ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ } ++ else if (sat == charStarN) ++ { ++ /* avoid dangling else. */ ++ if (sft == addressN) ++ { ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ else if (sft == constCharStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const_cast <", 12); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ } ++ else if (sat == constCharStarN) ++ { ++ /* avoid dangling else. */ ++ if (sft == addressN) ++ { ++ outText (p, (const char *) "static_cast <", 13); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) "> (const_cast <", 15); ++ doTypeNameC (p, charStarN); ++ outText (p, (const char *) ">", 1); ++ parenth += 1; ++ } ++ else if (sft == charStarN) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const_cast <", 12); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ } ++ else ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "reinterpret_cast <", 18); ++ castDestType (p, formal, ft); ++ outText (p, (const char *) ">", 1); ++ } ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "(", 1); ++ parenth += 1; ++ } ++ return parenth; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ + /* + checkSystemCast - checks to see if we are passing to/from + a system generic type (WORD, BYTE, ADDRESS) +@@ -15103,29 +15734,35 @@ static bool needsCast (decl_node at, decl_node ft) + open parenthesis. + */ + +-static unsigned int checkSystemCast (mcPretty_pretty p, decl_node actual, decl_node formal) ++static unsigned int checkSystemCast (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal) + { +- decl_node at; +- decl_node ft; ++ decl_node__opaque at; ++ decl_node__opaque ft; + + at = getExprType (actual); +- ft = decl_getType (formal); ++ ft = static_cast (decl_getType (static_cast (formal))); + if (needsCast (at, ft)) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ + if (lang == decl_ansiCP) + { +- if ((isString (actual)) && ((decl_skipType (ft)) == addressN)) ++ if ((isString (actual)) && (isCDataType (static_cast (decl_skipType (static_cast (ft)))))) + { +- outText (p, (const char *) "const_cast (reinterpret_cast (", 50); ++ /* Nothing to do. */ ++ return 0; ++ } ++ else if ((isString (actual)) && ((decl_skipType (static_cast (ft))) == addressN)) ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "const_cast (static_cast (", 45); + return 2; + } +- else if ((decl_isPointer (decl_skipType (ft))) || ((decl_skipType (ft)) == addressN)) ++ else if (((decl_isPointer (decl_skipType (static_cast (ft)))) || ((decl_skipType (static_cast (ft))) == addressN)) || (isCDataType (static_cast (decl_skipType (static_cast (ft)))))) + { + /* avoid dangling else. */ + if (actual == nilN) + { +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + mcMetaError_metaError1 ((const char *) "NIL is being passed to a VAR parameter {%1DMad}", 47, (const unsigned char *) &formal, (sizeof (formal)-1)); + } +@@ -15134,14 +15771,7 @@ static unsigned int checkSystemCast (mcPretty_pretty p, decl_node actual, decl_n + } + else + { +- outText (p, (const char *) "reinterpret_cast<", 17); +- doTypeNameC (p, ft); +- if (decl_isVarParam (formal)) +- { +- outText (p, (const char *) "*", 1); +- } +- mcPretty_noSpace (p); +- outText (p, (const char *) "> (", 3); ++ return castPointer (p, actual, formal, at, ft); + } + } + else +@@ -15149,7 +15779,7 @@ static unsigned int checkSystemCast (mcPretty_pretty p, decl_node actual, decl_n + /* avoid dangling else. */ + outText (p, (const char *) "static_cast<", 12); + doTypeNameC (p, ft); +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + outText (p, (const char *) "*", 1); + } +@@ -15162,7 +15792,7 @@ static unsigned int checkSystemCast (mcPretty_pretty p, decl_node actual, decl_n + { + outText (p, (const char *) "(", 1); + doTypeNameC (p, ft); +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + outText (p, (const char *) "*", 1); + } +@@ -15201,18 +15831,18 @@ static void emitN (mcPretty_pretty p, const char *a_, unsigned int _a_high, unsi + which was declared inside a definition module for "C". + */ + +-static bool isForC (decl_node n) ++static bool isForC (decl_node__opaque n) + { +- if (decl_isVarParam (n)) ++ if (decl_isVarParam (static_cast (n))) + { + return n->varparamF.isForC; + } +- else if (decl_isParam (n)) ++ else if (decl_isParam (static_cast (n))) + { + /* avoid dangling else. */ + return n->paramF.isForC; + } +- else if (decl_isProcedure (n)) ++ else if (decl_isProcedure (static_cast (n))) + { + /* avoid dangling else. */ + return n->procedureF.isForC; +@@ -15227,33 +15857,72 @@ static bool isForC (decl_node n) + isDefForCNode - return TRUE if node n was declared inside a definition module for "C". + */ + +-static bool isDefForCNode (decl_node n) ++static bool isDefForCNode (decl_node__opaque n) + { + nameKey_Name name; + +- while ((n != NULL) && (! (((decl_isImp (n)) || (decl_isDef (n))) || (decl_isModule (n))))) ++ while ((n != NULL) && (! (((decl_isImp (static_cast (n))) || (decl_isDef (static_cast (n)))) || (decl_isModule (static_cast (n)))))) + { +- n = decl_getScope (n); ++ n = static_cast (decl_getScope (static_cast (n))); + } +- if ((n != NULL) && (decl_isImp (n))) ++ if ((n != NULL) && (decl_isImp (static_cast (n)))) + { +- name = decl_getSymName (n); +- n = decl_lookupDef (name); ++ name = decl_getSymName (static_cast (n)); ++ n = static_cast (decl_lookupDef (name)); + } +- return ((n != NULL) && (decl_isDef (n))) && (isDefForC (n)); ++ return ((n != NULL) && (decl_isDef (static_cast (n)))) && (isDefForC (n)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + ++/* ++ doFuncVarParam - detect whether the formal uses an opaque and ensure that the address of ++ the actual parameter is cast to the formal type. ++*/ ++ ++static void doFuncVarParam (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal) ++{ ++ decl_node__opaque type; ++ ++ if ((nodeUsesOpaque (formal)) && (getNodeOpaqueFlushNecessary (actual, getNodeOpaqueVoidStar (formal)))) ++ { ++ type = static_cast (decl_getType (static_cast (formal))); ++ outText (p, (const char *) "reinterpret_cast<", 17); ++ if (getNodeOpaqueVoidStar (formal)) ++ { ++ doTypeNameC (p, type); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "*> (&", 5); ++ doExprC (p, actual); ++ outText (p, (const char *) ")", 1); ++ actual = makeOpaqueCast (actual, true); ++ } ++ else ++ { ++ doTypeNameC (p, type); ++ mcPretty_noSpace (p); ++ outText (p, (const char *) "__opaque *> (&", 14); ++ doExprC (p, actual); ++ outText (p, (const char *) ")", 1); ++ actual = makeOpaqueCast (actual, false); ++ } ++ } ++ else ++ { ++ doAdrExprC (p, actual); ++ } ++} ++ ++ + /* + doFuncParamC - + */ + +-static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, decl_node func) ++static void doFuncParamC (mcPretty_pretty p, decl_node__opaque actual, decl_node__opaque formal, decl_node__opaque func) + { +- decl_node ft; +- decl_node at; ++ decl_node__opaque ft; ++ decl_node__opaque at; + unsigned int lbr; + + if (formal == NULL) +@@ -15262,16 +15931,16 @@ static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, + } + else + { +- ft = decl_skipType (decl_getType (formal)); +- if (decl_isUnbounded (ft)) ++ ft = static_cast (decl_skipType (decl_getType (static_cast (formal)))); ++ if (decl_isUnbounded (static_cast (ft))) + { + doFuncUnbounded (p, actual, formal, ft, func); + } + else + { +- if ((isAProcType (ft)) && (decl_isProcedure (actual))) ++ if ((isAProcType (ft)) && (decl_isProcedure (static_cast (actual)))) + { +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + mcMetaError_metaError1 ((const char *) "{%1MDad} cannot be passed as a VAR parameter", 44, (const unsigned char *) &actual, (sizeof (actual)-1)); + } +@@ -15280,17 +15949,17 @@ static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, + doProcedureParamC (p, actual, formal); + } + } +- else if (((((decl_getType (actual)) != NULL) && (decl_isProcType (decl_skipType (decl_getType (actual))))) && (isAProcType (ft))) && (isForC (formal))) ++ else if (((((decl_getType (static_cast (actual))) != NULL) && (decl_isProcType (decl_skipType (decl_getType (static_cast (actual)))))) && (isAProcType (ft))) && (isForC (formal))) + { + /* avoid dangling else. */ +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + mcMetaError_metaError2 ((const char *) "{%1MDad} cannot be passed as a VAR parameter to the definition for C module as the parameter requires a cast to the formal type {%2MDtad}", 137, (const unsigned char *) &actual, (sizeof (actual)-1), (const unsigned char *) &formal, (sizeof (formal)-1)); + } + else + { + outText (p, (const char *) "(", 1); +- doFQNameC (p, decl_getType (formal)); ++ doFQNameC (p, static_cast (decl_getType (static_cast (formal)))); + outText (p, (const char *) "_C", 2); + outText (p, (const char *) ")", 1); + mcPretty_setNeedSpace (p); +@@ -15298,31 +15967,40 @@ static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, + outText (p, (const char *) ".proc", 5); + } + } +- else if ((((decl_getType (actual)) != NULL) && (decl_isProcType (decl_skipType (decl_getType (actual))))) && ((decl_getType (actual)) != (decl_getType (formal)))) ++ else if ((((decl_getType (static_cast (actual))) != NULL) && (decl_isProcType (decl_skipType (decl_getType (static_cast (actual)))))) && ((decl_getType (static_cast (actual))) != (decl_getType (static_cast (formal))))) + { + /* avoid dangling else. */ +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { + mcMetaError_metaError2 ((const char *) "{%1MDad} cannot be passed as a VAR parameter as the parameter requires a cast to the formal type {%2MDtad}", 106, (const unsigned char *) &actual, (sizeof (actual)-1), (const unsigned char *) &formal, (sizeof (formal)-1)); + } + else + { +- doCastC (p, decl_getType (formal), actual); ++ doCastC (p, static_cast (decl_getType (static_cast (formal))), actual); + } + } + else + { + /* avoid dangling else. */ +- lbr = checkSystemCast (p, actual, formal); +- if (decl_isVarParam (formal)) ++ if (decl_isVarParam (static_cast (formal))) + { +- doAdrExprC (p, actual); ++ lbr = checkSystemCast (p, actual, formal); ++ doFuncVarParam (p, actual, formal); ++ emitN (p, (const char *) ")", 1, lbr); + } + else + { +- doExprC (p, actual); ++ if (nodeUsesOpaque (formal)) ++ { ++ forceCastOpaque (p, formal, actual, getNodeOpaqueVoidStar (formal)); ++ } ++ else ++ { ++ lbr = checkSystemCast (p, actual, formal); ++ doExprC (p, actual); ++ emitN (p, (const char *) ")", 1, lbr); ++ } + } +- emitN (p, (const char *) ")", 1, lbr); + } + } + } +@@ -15334,16 +16012,16 @@ static void doFuncParamC (mcPretty_pretty p, decl_node actual, decl_node formal, + If the parameter is a vararg NIL is returned. + */ + +-static decl_node getNthParamType (Indexing_Index l, unsigned int i) ++static decl_node__opaque getNthParamType (Indexing_Index l, unsigned int i) + { +- decl_node p; ++ decl_node__opaque p; + + p = getNthParam (l, i); + if (p != NULL) + { +- return decl_getType (p); ++ return static_cast (decl_getType (static_cast (p))); + } +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -15354,9 +16032,9 @@ static decl_node getNthParamType (Indexing_Index l, unsigned int i) + If the parameter is a vararg NIL is returned. + */ + +-static decl_node getNthParam (Indexing_Index l, unsigned int i) ++static decl_node__opaque getNthParam (Indexing_Index l, unsigned int i) + { +- decl_node p; ++ decl_node__opaque p; + unsigned int j; + unsigned int k; + unsigned int h; +@@ -15367,12 +16045,12 @@ static decl_node getNthParam (Indexing_Index l, unsigned int i) + h = Indexing_HighIndice (l); + while (j <= h) + { +- p = static_cast (Indexing_GetIndice (l, j)); +- if (decl_isParam (p)) ++ p = static_cast (Indexing_GetIndice (l, j)); ++ if (decl_isParam (static_cast (p))) + { + k = identListLen (p->paramF.namelist); + } +- else if (decl_isVarParam (p)) ++ else if (decl_isVarParam (static_cast (p))) + { + /* avoid dangling else. */ + k = identListLen (p->varparamF.namelist); +@@ -15380,8 +16058,8 @@ static decl_node getNthParam (Indexing_Index l, unsigned int i) + else + { + /* avoid dangling else. */ +- mcDebug_assert (decl_isVarargs (p)); +- return NULL; ++ mcDebug_assert (decl_isVarargs (static_cast (p))); ++ return static_cast (NULL); + } + if (i <= k) + { +@@ -15394,7 +16072,7 @@ static decl_node getNthParam (Indexing_Index l, unsigned int i) + } + } + } +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -15404,10 +16082,10 @@ static decl_node getNthParam (Indexing_Index l, unsigned int i) + doFuncArgsC - + */ + +-static void doFuncArgsC (mcPretty_pretty p, decl_node s, Indexing_Index l, bool needParen) ++static void doFuncArgsC (mcPretty_pretty p, decl_node__opaque s, Indexing_Index l, bool needParen) + { +- decl_node actual; +- decl_node formal; ++ decl_node__opaque actual; ++ decl_node__opaque formal; + unsigned int i; + unsigned int n; + +@@ -15444,10 +16122,10 @@ static void doFuncArgsC (mcPretty_pretty p, decl_node s, Indexing_Index l, bool + doProcTypeArgsC - + */ + +-static void doProcTypeArgsC (mcPretty_pretty p, decl_node s, Indexing_Index args, bool needParen) ++static void doProcTypeArgsC (mcPretty_pretty p, decl_node__opaque s, Indexing_Index args, bool needParen) + { +- decl_node a; +- decl_node b; ++ decl_node__opaque a; ++ decl_node__opaque b; + unsigned int i; + unsigned int n; + +@@ -15462,7 +16140,7 @@ static void doProcTypeArgsC (mcPretty_pretty p, decl_node s, Indexing_Index args + while (i <= n) + { + a = getExpList (s->funccallF.args, i); +- b = static_cast (Indexing_GetIndice (args, i)); ++ b = static_cast (Indexing_GetIndice (args, i)); + doFuncParamC (p, a, b, s->funccallF.function); + if (i < n) + { +@@ -15484,41 +16162,39 @@ static void doProcTypeArgsC (mcPretty_pretty p, decl_node s, Indexing_Index args + doAdrArgC - + */ + +-static void doAdrArgC (mcPretty_pretty p, decl_node n) ++static void doAdrArgC (mcPretty_pretty p, decl_node__opaque n) + { + if (isDeref (n)) + { + /* & and * cancel each other out. */ + doExprC (p, n->unaryF.arg); + } +- else if ((decl_isVar (n)) && n->varF.isVarParameter) ++ else if ((decl_isVar (static_cast (n))) && n->varF.isVarParameter) + { + /* avoid dangling else. */ +- outTextN (p, decl_getSymName (n)); /* --fixme-- does the caller need to cast it? */ ++ outTextN (p, decl_getSymName (static_cast (n))); /* --fixme-- does the caller need to cast it? */ + } +- else +- { +- /* avoid dangling else. */ +- if (isString (n)) +- { +- if (lang == decl_ansiCP) +- { +- outText (p, (const char *) "const_cast (reinterpret_cast", 48); +- outText (p, (const char *) "(", 1); +- doExprC (p, n); +- outText (p, (const char *) "))", 2); +- } +- else +- { +- doExprC (p, n); +- } ++ else if ((isString (n)) || ((decl_isArray (decl_getType (static_cast (n)))) && (decl_isUnbounded (decl_getType (static_cast (n)))))) ++ { ++ /* avoid dangling else. */ ++ if (lang == decl_ansiCP) ++ { ++ outText (p, (const char *) "const_cast (static_cast", 43); ++ outText (p, (const char *) "(", 1); ++ doExprC (p, n); ++ outText (p, (const char *) "))", 2); + } + else + { +- outText (p, (const char *) "&", 1); + doExprC (p, n); + } + } ++ else ++ { ++ /* avoid dangling else. */ ++ outText (p, (const char *) "&", 1); ++ doExprC (p, n); ++ } + } + + +@@ -15526,7 +16202,7 @@ static void doAdrArgC (mcPretty_pretty p, decl_node n) + doAdrC - + */ + +-static void doAdrC (mcPretty_pretty p, decl_node n) ++static void doAdrC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isUnary (n)); + doAdrArgC (p, n->unaryF.arg); +@@ -15537,7 +16213,7 @@ static void doAdrC (mcPretty_pretty p, decl_node n) + doInc - + */ + +-static void doInc (mcPretty_pretty p, decl_node n) ++static void doInc (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isIntrinsic (n)); + if (lang == decl_ansiCP) +@@ -15555,7 +16231,7 @@ static void doInc (mcPretty_pretty p, decl_node n) + doDec - + */ + +-static void doDec (mcPretty_pretty p, decl_node n) ++static void doDec (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isIntrinsic (n)); + if (lang == decl_ansiCP) +@@ -15573,7 +16249,7 @@ static void doDec (mcPretty_pretty p, decl_node n) + doIncDecC - + */ + +-static void doIncDecC (mcPretty_pretty p, decl_node n, const char *op_, unsigned int _op_high) ++static void doIncDecC (mcPretty_pretty p, decl_node__opaque n, const char *op_, unsigned int _op_high) + { + char op[_op_high+1]; + +@@ -15603,10 +16279,10 @@ static void doIncDecC (mcPretty_pretty p, decl_node n, const char *op_, unsigned + doIncDecCP - + */ + +-static void doIncDecCP (mcPretty_pretty p, decl_node n, const char *op_, unsigned int _op_high) ++static void doIncDecCP (mcPretty_pretty p, decl_node__opaque n, const char *op_, unsigned int _op_high) + { +- decl_node lhs; +- decl_node type; ++ decl_node__opaque lhs; ++ decl_node__opaque type; + char op[_op_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -15618,8 +16294,8 @@ static void doIncDecCP (mcPretty_pretty p, decl_node n, const char *op_, unsigne + lhs = getExpList (n->intrinsicF.args, 1); + doExprC (p, lhs); + mcPretty_setNeedSpace (p); +- type = decl_getType (lhs); +- if ((decl_isPointer (type)) || (type == addressN)) ++ type = static_cast (decl_getType (static_cast (lhs))); ++ if ((decl_isPointer (static_cast (type))) || (type == addressN)) + { + /* cast to (char * ) and then back again after the arithmetic is complete. */ + outText (p, (const char *) "=", 1); +@@ -15642,7 +16318,7 @@ static void doIncDecCP (mcPretty_pretty p, decl_node n, const char *op_, unsigne + } + outText (p, (const char *) ")", 1); + } +- else if (decl_isEnumeration (decl_skipType (type))) ++ else if (decl_isEnumeration (decl_skipType (static_cast (type)))) + { + /* avoid dangling else. */ + outText (p, (const char *) "= static_cast<", 14); +@@ -15685,9 +16361,9 @@ static void doIncDecCP (mcPretty_pretty p, decl_node n, const char *op_, unsigne + doInclC - + */ + +-static void doInclC (mcPretty_pretty p, decl_node n) ++static void doInclC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node lo; ++ decl_node__opaque lo; + + mcDebug_assert (isIntrinsic (n)); + if (n->intrinsicF.args != NULL) +@@ -15723,9 +16399,9 @@ static void doInclC (mcPretty_pretty p, decl_node n) + doExclC - + */ + +-static void doExclC (mcPretty_pretty p, decl_node n) ++static void doExclC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node lo; ++ decl_node__opaque lo; + + mcDebug_assert (isIntrinsic (n)); + if (n->intrinsicF.args != NULL) +@@ -15761,9 +16437,9 @@ static void doExclC (mcPretty_pretty p, decl_node n) + doNewC - + */ + +-static void doNewC (mcPretty_pretty p, decl_node n) ++static void doNewC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isIntrinsic (n)); + if (n->intrinsicF.args == NULL) +@@ -15784,10 +16460,10 @@ static void doNewC (mcPretty_pretty p, decl_node n) + doExprC (p, getExpList (n->intrinsicF.args, 1)); + outText (p, (const char *) ",", 1); + mcPretty_setNeedSpace (p); +- t = decl_skipType (decl_getType (getExpList (n->intrinsicF.args, 1))); +- if (decl_isPointer (t)) ++ t = static_cast (decl_skipType (decl_getType (static_cast (getExpList (n->intrinsicF.args, 1))))); ++ if (decl_isPointer (static_cast (t))) + { +- t = decl_getType (t); ++ t = static_cast (decl_getType (static_cast (t))); + outText (p, (const char *) "sizeof", 6); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(", 1); +@@ -15808,9 +16484,9 @@ static void doNewC (mcPretty_pretty p, decl_node n) + doDisposeC - + */ + +-static void doDisposeC (mcPretty_pretty p, decl_node n) ++static void doDisposeC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isIntrinsic (n)); + if (n->intrinsicF.args == NULL) +@@ -15831,10 +16507,10 @@ static void doDisposeC (mcPretty_pretty p, decl_node n) + doExprC (p, getExpList (n->intrinsicF.args, 1)); + outText (p, (const char *) ",", 1); + mcPretty_setNeedSpace (p); +- t = decl_skipType (decl_getType (getExpList (n->intrinsicF.args, 1))); +- if (decl_isPointer (t)) ++ t = static_cast (decl_skipType (decl_getType (static_cast (getExpList (n->intrinsicF.args, 1))))); ++ if (decl_isPointer (static_cast (t))) + { +- t = decl_getType (t); ++ t = static_cast (decl_getType (static_cast (t))); + outText (p, (const char *) "sizeof", 6); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(", 1); +@@ -15860,7 +16536,7 @@ static void doDisposeC (mcPretty_pretty p, decl_node n) + doCapC - + */ + +-static void doCapC (mcPretty_pretty p, decl_node n) ++static void doCapC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isUnary (n)); + if (n->unaryF.arg == NULL) +@@ -15891,7 +16567,7 @@ static void doCapC (mcPretty_pretty p, decl_node n) + doLengthC - + */ + +-static void doLengthC (mcPretty_pretty p, decl_node n) ++static void doLengthC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isUnary (n)); + if (n->unaryF.arg == NULL) +@@ -15918,9 +16594,9 @@ static void doLengthC (mcPretty_pretty p, decl_node n) + doAbsC - + */ + +-static void doAbsC (mcPretty_pretty p, decl_node n) ++static void doAbsC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isUnary (n)); + if (n->unaryF.arg == NULL) +@@ -15977,7 +16653,7 @@ static void doAbsC (mcPretty_pretty p, decl_node n) + doValC - + */ + +-static void doValC (mcPretty_pretty p, decl_node n) ++static void doValC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isBinary (n)); + outText (p, (const char *) "(", 1); +@@ -15994,9 +16670,9 @@ static void doValC (mcPretty_pretty p, decl_node n) + doMinC - + */ + +-static void doMinC (mcPretty_pretty p, decl_node n) ++static void doMinC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isUnary (n)); + t = getExprType (n->unaryF.arg); +@@ -16008,9 +16684,9 @@ static void doMinC (mcPretty_pretty p, decl_node n) + doMaxC - + */ + +-static void doMaxC (mcPretty_pretty p, decl_node n) ++static void doMaxC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isUnary (n)); + t = getExprType (n->unaryF.arg); +@@ -16023,7 +16699,7 @@ static void doMaxC (mcPretty_pretty p, decl_node n) + The intrinsic functions are represented as unary and binary nodes. + */ + +-static bool isIntrinsic (decl_node n) ++static bool isIntrinsic (decl_node__opaque n) + { + switch (n->kind) + { +@@ -16053,7 +16729,7 @@ static bool isIntrinsic (decl_node n) + doHalt - + */ + +-static void doHalt (mcPretty_pretty p, decl_node n) ++static void doHalt (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (n->kind == decl_halt); + if ((n->intrinsicF.args == NULL) || ((expListLen (n->intrinsicF.args)) == 0)) +@@ -16078,7 +16754,7 @@ static void doHalt (mcPretty_pretty p, decl_node n) + doCreal - emit the appropriate creal function. + */ + +-static void doCreal (mcPretty_pretty p, decl_node t) ++static void doCreal (mcPretty_pretty p, decl_node__opaque t) + { + switch (t->kind) + { +@@ -16109,7 +16785,7 @@ static void doCreal (mcPretty_pretty p, decl_node t) + doCimag - emit the appropriate cimag function. + */ + +-static void doCimag (mcPretty_pretty p, decl_node t) ++static void doCimag (mcPretty_pretty p, decl_node__opaque t) + { + switch (t->kind) + { +@@ -16140,9 +16816,9 @@ static void doCimag (mcPretty_pretty p, decl_node t) + doReC - + */ + +-static void doReC (mcPretty_pretty p, decl_node n) ++static void doReC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (n->kind == decl_re); + if (n->unaryF.arg != NULL) +@@ -16166,9 +16842,9 @@ static void doReC (mcPretty_pretty p, decl_node n) + doImC - + */ + +-static void doImC (mcPretty_pretty p, decl_node n) ++static void doImC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (n->kind == decl_im); + if (n->unaryF.arg != NULL) +@@ -16192,7 +16868,7 @@ static void doImC (mcPretty_pretty p, decl_node n) + doCmplx - + */ + +-static void doCmplx (mcPretty_pretty p, decl_node n) ++static void doCmplx (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isBinary (n)); + keyc_useComplex (); +@@ -16217,7 +16893,7 @@ static void doCmplx (mcPretty_pretty p, decl_node n) + doIntrinsicC - + */ + +-static void doIntrinsicC (mcPretty_pretty p, decl_node n) ++static void doIntrinsicC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isIntrinsic (n)); + doCommentC (p, n->intrinsicF.intrinsicComment.body); +@@ -16273,7 +16949,7 @@ static void doIntrinsicC (mcPretty_pretty p, decl_node n) + isIntrinsicFunction - returns true if, n, is an instrinsic function. + */ + +-static bool isIntrinsicFunction (decl_node n) ++static bool isIntrinsicFunction (decl_node__opaque n) + { + switch (n->kind) + { +@@ -16311,7 +16987,7 @@ static bool isIntrinsicFunction (decl_node n) + doSizeC - + */ + +-static void doSizeC (mcPretty_pretty p, decl_node n) ++static void doSizeC (mcPretty_pretty p, decl_node__opaque n) + { + mcDebug_assert (isUnary (n)); + outText (p, (const char *) "sizeof (", 8); +@@ -16324,7 +17000,7 @@ static void doSizeC (mcPretty_pretty p, decl_node n) + doConvertC - + */ + +-static void doConvertC (mcPretty_pretty p, decl_node n, const char *conversion_, unsigned int _conversion_high) ++static void doConvertC (mcPretty_pretty p, decl_node__opaque n, const char *conversion_, unsigned int _conversion_high) + { + DynamicStrings_String s; + char conversion[_conversion_high+1]; +@@ -16342,7 +17018,7 @@ static void doConvertC (mcPretty_pretty p, decl_node n, const char *conversion_, + doConvertSC - + */ + +-static void doConvertSC (mcPretty_pretty p, decl_node n, DynamicStrings_String conversion) ++static void doConvertSC (mcPretty_pretty p, decl_node__opaque n, DynamicStrings_String conversion) + { + mcDebug_assert (isUnary (n)); + mcPretty_setNeedSpace (p); +@@ -16356,16 +17032,40 @@ static void doConvertSC (mcPretty_pretty p, decl_node n, DynamicStrings_String c + } + + ++/* ++ getFunction - return the function associate with funccall node n. ++*/ ++ ++static decl_node__opaque getFunction (decl_node__opaque n) ++{ ++ mcDebug_assert (isFuncCall (n)); ++ switch (n->kind) ++ { ++ case decl_funccall: ++ return n->funccallF.function; ++ break; ++ ++ ++ default: ++ M2RTS_HALT (-1); ++ __builtin_unreachable (); ++ break; ++ } ++ ReturnException ("../../gcc/m2/mc/decl.def", 20, 1); ++ __builtin_unreachable (); ++} ++ ++ + /* + getFuncFromExpr - + */ + +-static decl_node getFuncFromExpr (decl_node n) ++static decl_node__opaque getFuncFromExpr (decl_node__opaque n) + { +- n = decl_skipType (decl_getType (n)); +- while ((n != procN) && (! (decl_isProcType (n)))) ++ n = static_cast (decl_skipType (decl_getType (static_cast (n)))); ++ while ((n != procN) && (! (decl_isProcType (static_cast (n))))) + { +- n = decl_skipType (decl_getType (n)); ++ n = static_cast (decl_skipType (decl_getType (static_cast (n)))); + } + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -16377,12 +17077,12 @@ static decl_node getFuncFromExpr (decl_node n) + doFuncExprC - + */ + +-static void doFuncExprC (mcPretty_pretty p, decl_node n) ++static void doFuncExprC (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + mcDebug_assert (isFuncCall (n)); +- if (decl_isProcedure (n->funccallF.function)) ++ if (decl_isProcedure (static_cast (n->funccallF.function))) + { + doFQDNameC (p, n->funccallF.function, true); + mcPretty_setNeedSpace (p); +@@ -16398,11 +17098,11 @@ static void doFuncExprC (mcPretty_pretty p, decl_node n) + mcPretty_setNeedSpace (p); + if (t == procN) + { +- doProcTypeArgsC (p, n, NULL, true); ++ doProcTypeArgsC (p, n, static_cast (NULL), true); + } + else + { +- mcDebug_assert (decl_isProcType (t)); ++ mcDebug_assert (decl_isProcType (static_cast (t))); + doProcTypeArgsC (p, n, t->proctypeF.parameters, true); + } + } +@@ -16413,7 +17113,7 @@ static void doFuncExprC (mcPretty_pretty p, decl_node n) + doFuncCallC - + */ + +-static void doFuncCallC (mcPretty_pretty p, decl_node n) ++static void doFuncCallC (mcPretty_pretty p, decl_node__opaque n) + { + doCommentC (p, n->funccallF.funccallComment.body); + doFuncExprC (p, n); +@@ -16426,7 +17126,7 @@ static void doFuncCallC (mcPretty_pretty p, decl_node n) + doCaseStatementC - + */ + +-static void doCaseStatementC (mcPretty_pretty p, decl_node n, bool needBreak) ++static void doCaseStatementC (mcPretty_pretty p, decl_node__opaque n, bool needBreak) + { + p = mcPretty_pushPretty (p); + mcPretty_setindent (p, (mcPretty_getindent (p))+indentationC); +@@ -16443,7 +17143,7 @@ static void doCaseStatementC (mcPretty_pretty p, decl_node n, bool needBreak) + doExceptionC - + */ + +-static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n) ++static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n) + { + unsigned int w; + char a[_a_high+1]; +@@ -16451,7 +17151,7 @@ static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_hig + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- w = decl_getDeclaredMod (n); ++ w = decl_getDeclaredMod (static_cast (n)); + outText (p, (const char *) a, _a_high); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(\"", 2); +@@ -16471,7 +17171,7 @@ static void doExceptionC (mcPretty_pretty p, const char *a_, unsigned int _a_hig + doExceptionCP - + */ + +-static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n) ++static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n) + { + unsigned int w; + char a[_a_high+1]; +@@ -16479,7 +17179,7 @@ static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_hi + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- w = decl_getDeclaredMod (n); ++ w = decl_getDeclaredMod (static_cast (n)); + outText (p, (const char *) a, _a_high); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(\"", 2); +@@ -16499,7 +17199,7 @@ static void doExceptionCP (mcPretty_pretty p, const char *a_, unsigned int _a_hi + doException - + */ + +-static void doException (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node n) ++static void doException (mcPretty_pretty p, const char *a_, unsigned int _a_high, decl_node__opaque n) + { + char a[_a_high+1]; + +@@ -16522,18 +17222,18 @@ static void doException (mcPretty_pretty p, const char *a_, unsigned int _a_high + doRangeListC - + */ + +-static void doRangeListC (mcPretty_pretty p, decl_node c) ++static void doRangeListC (mcPretty_pretty p, decl_node__opaque c) + { +- decl_node r; ++ decl_node__opaque r; + unsigned int i; + unsigned int h; + +- mcDebug_assert (decl_isCaseList (c)); ++ mcDebug_assert (decl_isCaseList (static_cast (c))); + i = 1; + h = Indexing_HighIndice (c->caselistF.rangePairs); + while (i <= h) + { +- r = static_cast (Indexing_GetIndice (c->caselistF.rangePairs, i)); ++ r = static_cast (Indexing_GetIndice (c->caselistF.rangePairs, i)); + mcDebug_assert ((r->rangeF.hi == NULL) || (r->rangeF.lo == r->rangeF.hi)); + outText (p, (const char *) "case", 4); + mcPretty_setNeedSpace (p); +@@ -16548,18 +17248,18 @@ static void doRangeListC (mcPretty_pretty p, decl_node c) + doRangeIfListC - + */ + +-static void doRangeIfListC (mcPretty_pretty p, decl_node e, decl_node c) ++static void doRangeIfListC (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque c) + { +- decl_node r; ++ decl_node__opaque r; + unsigned int i; + unsigned int h; + +- mcDebug_assert (decl_isCaseList (c)); ++ mcDebug_assert (decl_isCaseList (static_cast (c))); + i = 1; + h = Indexing_HighIndice (c->caselistF.rangePairs); + while (i <= h) + { +- r = static_cast (Indexing_GetIndice (c->caselistF.rangePairs, i)); ++ r = static_cast (Indexing_GetIndice (c->caselistF.rangePairs, i)); + if ((r->rangeF.lo != r->rangeF.hi) && (r->rangeF.hi != NULL)) + { + outText (p, (const char *) "((", 2); +@@ -16608,9 +17308,9 @@ static void doRangeIfListC (mcPretty_pretty p, decl_node e, decl_node c) + doCaseLabels - + */ + +-static void doCaseLabels (mcPretty_pretty p, decl_node n, bool needBreak) ++static void doCaseLabels (mcPretty_pretty p, decl_node__opaque n, bool needBreak) + { +- mcDebug_assert (decl_isCaseLabelList (n)); ++ mcDebug_assert (decl_isCaseLabelList (static_cast (n))); + doRangeListC (p, n->caselabellistF.caseList); + p = mcPretty_pushPretty (p); + mcPretty_setindent (p, (mcPretty_getindent (p))+indentationC); +@@ -16627,18 +17327,18 @@ static void doCaseLabels (mcPretty_pretty p, decl_node n, bool needBreak) + doCaseLabelListC - + */ + +-static void doCaseLabelListC (mcPretty_pretty p, decl_node n, bool haveElse) ++static void doCaseLabelListC (mcPretty_pretty p, decl_node__opaque n, bool haveElse) + { + unsigned int i; + unsigned int h; +- decl_node c; ++ decl_node__opaque c; + +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + i = 1; + h = Indexing_HighIndice (n->caseF.caseLabelList); + while (i <= h) + { +- c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); ++ c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); + doCaseLabels (p, c, ((i < h) || haveElse) || caseException); + i += 1; + } +@@ -16649,9 +17349,9 @@ static void doCaseLabelListC (mcPretty_pretty p, decl_node n, bool haveElse) + doCaseIfLabels - + */ + +-static void doCaseIfLabels (mcPretty_pretty p, decl_node e, decl_node n, unsigned int i, unsigned int h) ++static void doCaseIfLabels (mcPretty_pretty p, decl_node__opaque e, decl_node__opaque n, unsigned int i, unsigned int h) + { +- mcDebug_assert (decl_isCaseLabelList (n)); ++ mcDebug_assert (decl_isCaseLabelList (static_cast (n))); + if (i > 1) + { + outText (p, (const char *) "else", 4); +@@ -16679,18 +17379,18 @@ static void doCaseIfLabels (mcPretty_pretty p, decl_node e, decl_node n, unsigne + doCaseIfLabelListC - + */ + +-static void doCaseIfLabelListC (mcPretty_pretty p, decl_node n) ++static void doCaseIfLabelListC (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node c; ++ decl_node__opaque c; + +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + i = 1; + h = Indexing_HighIndice (n->caseF.caseLabelList); + while (i <= h) + { +- c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); ++ c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); + doCaseIfLabels (p, n->caseF.expression, c, i, h); + i += 1; + } +@@ -16701,9 +17401,9 @@ static void doCaseIfLabelListC (mcPretty_pretty p, decl_node n) + doCaseElseC - + */ + +-static void doCaseElseC (mcPretty_pretty p, decl_node n) ++static void doCaseElseC (mcPretty_pretty p, decl_node__opaque n) + { +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + if (n->caseF.else_ == NULL) + { + /* avoid dangling else. */ +@@ -16728,9 +17428,9 @@ static void doCaseElseC (mcPretty_pretty p, decl_node n) + doCaseIfElseC - + */ + +-static void doCaseIfElseC (mcPretty_pretty p, decl_node n) ++static void doCaseIfElseC (mcPretty_pretty p, decl_node__opaque n) + { +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + if (n->caseF.else_ == NULL) + { + /* avoid dangling else. */ +@@ -16760,20 +17460,20 @@ static void doCaseIfElseC (mcPretty_pretty p, decl_node n) + single values and not ranges. + */ + +-static bool canUseSwitchCaseLabels (decl_node n) ++static bool canUseSwitchCaseLabels (decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node r; +- decl_node l; ++ decl_node__opaque r; ++ decl_node__opaque l; + +- mcDebug_assert (decl_isCaseLabelList (n)); ++ mcDebug_assert (decl_isCaseLabelList (static_cast (n))); + l = n->caselabellistF.caseList; + i = 1; + h = Indexing_HighIndice (l->caselistF.rangePairs); + while (i <= h) + { +- r = static_cast (Indexing_GetIndice (l->caselistF.rangePairs, i)); ++ r = static_cast (Indexing_GetIndice (l->caselistF.rangePairs, i)); + if ((r->rangeF.hi != NULL) && (r->rangeF.lo != r->rangeF.hi)) + { + return false; +@@ -16792,18 +17492,18 @@ static bool canUseSwitchCaseLabels (decl_node n) + selectors are single values rather than ranges. + */ + +-static bool canUseSwitch (decl_node n) ++static bool canUseSwitch (decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node c; ++ decl_node__opaque c; + +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + i = 1; + h = Indexing_HighIndice (n->caseF.caseLabelList); + while (i <= h) + { +- c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); ++ c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); + if (! (canUseSwitchCaseLabels (c))) + { + return false; +@@ -16820,11 +17520,11 @@ static bool canUseSwitch (decl_node n) + doCaseC - + */ + +-static void doCaseC (mcPretty_pretty p, decl_node n) ++static void doCaseC (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + if (canUseSwitch (n)) + { + i = mcPretty_getindent (p); +@@ -16856,9 +17556,9 @@ static void doCaseC (mcPretty_pretty p, decl_node n) + doLoopC - + */ + +-static void doLoopC (mcPretty_pretty p, decl_node s) ++static void doLoopC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isLoop (s)); ++ mcDebug_assert (decl_isLoop (static_cast (s))); + outText (p, (const char *) "for (;;)\\n", 10); + outText (p, (const char *) "{\\n", 3); + p = mcPretty_pushPretty (p); +@@ -16873,9 +17573,9 @@ static void doLoopC (mcPretty_pretty p, decl_node s) + doExitC - + */ + +-static void doExitC (mcPretty_pretty p, decl_node s) ++static void doExitC (mcPretty_pretty p, decl_node__opaque s) + { +- mcDebug_assert (decl_isExit (s)); ++ mcDebug_assert (decl_isExit (static_cast (s))); + outText (p, (const char *) "/* exit. */\\n", 14); + } + +@@ -16884,11 +17584,11 @@ static void doExitC (mcPretty_pretty p, decl_node s) + doStatementsC - + */ + +-static void doStatementsC (mcPretty_pretty p, decl_node s) ++static void doStatementsC (mcPretty_pretty p, decl_node__opaque s) + { + if (s == NULL) + {} /* empty. */ +- else if (decl_isStatementSequence (s)) ++ else if (decl_isStatementSequence (static_cast (s))) + { + /* avoid dangling else. */ + doStatementSequenceC (p, s); +@@ -16898,12 +17598,12 @@ static void doStatementsC (mcPretty_pretty p, decl_node s) + /* avoid dangling else. */ + doCommentC (p, s); + } +- else if (decl_isExit (s)) ++ else if (decl_isExit (static_cast (s))) + { + /* avoid dangling else. */ + doExitC (p, s); + } +- else if (decl_isReturn (s)) ++ else if (decl_isReturn (static_cast (s))) + { + /* avoid dangling else. */ + doReturnC (p, s); +@@ -16913,22 +17613,22 @@ static void doStatementsC (mcPretty_pretty p, decl_node s) + /* avoid dangling else. */ + doAssignmentC (p, s); + } +- else if (decl_isIf (s)) ++ else if (decl_isIf (static_cast (s))) + { + /* avoid dangling else. */ + doIfC (p, s); + } +- else if (decl_isFor (s)) ++ else if (decl_isFor (static_cast (s))) + { + /* avoid dangling else. */ + doForC (p, s); + } +- else if (decl_isRepeat (s)) ++ else if (decl_isRepeat (static_cast (s))) + { + /* avoid dangling else. */ + doRepeatC (p, s); + } +- else if (decl_isWhile (s)) ++ else if (decl_isWhile (static_cast (s))) + { + /* avoid dangling else. */ + doWhileC (p, s); +@@ -16943,17 +17643,17 @@ static void doStatementsC (mcPretty_pretty p, decl_node s) + /* avoid dangling else. */ + doFuncCallC (p, s); + } +- else if (decl_isCase (s)) ++ else if (decl_isCase (static_cast (s))) + { + /* avoid dangling else. */ + doCaseC (p, s); + } +- else if (decl_isLoop (s)) ++ else if (decl_isLoop (static_cast (s))) + { + /* avoid dangling else. */ + doLoopC (p, s); + } +- else if (decl_isExit (s)) ++ else if (decl_isExit (static_cast (s))) + { + /* avoid dangling else. */ + doExitC (p, s); +@@ -16966,7 +17666,7 @@ static void doStatementsC (mcPretty_pretty p, decl_node s) + } + } + +-static void stop (void) ++static void localstop (void) + { + } + +@@ -17000,12 +17700,12 @@ static void doLocalConstTypesC (mcPretty_pretty p, decl_scopeT s) + addParamDone - + */ + +-static void addParamDone (decl_node n) ++static void addParamDone (decl_node__opaque n) + { +- if ((decl_isVar (n)) && n->varF.isParameter) ++ if ((decl_isVar (static_cast (n))) && n->varF.isParameter) + { + addDone (n); +- addDone (decl_getType (n)); ++ addDone (static_cast (decl_getType (static_cast (n)))); + } + } + +@@ -17014,9 +17714,9 @@ static void addParamDone (decl_node n) + includeParameters - + */ + +-static void includeParameters (decl_node n) ++static void includeParameters (decl_node__opaque n) + { +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); + Indexing_ForeachIndiceInIndexDo (n->procedureF.decls.variables, (Indexing_IndexProcedure) {(Indexing_IndexProcedure_t) addParamDone}); + } + +@@ -17025,7 +17725,7 @@ static void includeParameters (decl_node n) + isHalt - + */ + +-static bool isHalt (decl_node n) ++static bool isHalt (decl_node__opaque n) + { + return n->kind == decl_halt; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -17037,9 +17737,9 @@ static bool isHalt (decl_node n) + isReturnOrHalt - + */ + +-static bool isReturnOrHalt (decl_node n) ++static bool isReturnOrHalt (decl_node__opaque n) + { +- return (isHalt (n)) || (decl_isReturn (n)); ++ return (isHalt (n)) || (decl_isReturn (static_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -17049,7 +17749,7 @@ static bool isReturnOrHalt (decl_node n) + isLastStatementReturn - + */ + +-static bool isLastStatementReturn (decl_node n) ++static bool isLastStatementReturn (decl_node__opaque n) + { + return isLastStatement (n, (decl_isNodeF) {(decl_isNodeF_t) isReturnOrHalt}); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -17061,15 +17761,15 @@ static bool isLastStatementReturn (decl_node n) + isLastStatementSequence - + */ + +-static bool isLastStatementSequence (decl_node n, decl_isNodeF q) ++static bool isLastStatementSequence (decl_node__opaque n, decl_isNodeF q) + { + unsigned int h; + +- mcDebug_assert (decl_isStatementSequence (n)); ++ mcDebug_assert (decl_isStatementSequence (static_cast (n))); + h = Indexing_HighIndice (n->stmtF.statements); + if (h > 0) + { +- return isLastStatement (reinterpret_cast (Indexing_GetIndice (n->stmtF.statements, h)), q); ++ return isLastStatement (static_cast (Indexing_GetIndice (n->stmtF.statements, h)), q); + } + return false; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -17081,11 +17781,11 @@ static bool isLastStatementSequence (decl_node n, decl_isNodeF q) + isLastStatementIf - + */ + +-static bool isLastStatementIf (decl_node n, decl_isNodeF q) ++static bool isLastStatementIf (decl_node__opaque n, decl_isNodeF q) + { + bool ret; + +- mcDebug_assert (decl_isIf (n)); ++ mcDebug_assert (decl_isIf (static_cast (n))); + ret = true; + if ((n->ifF.elsif != NULL) && ret) + { +@@ -17109,11 +17809,11 @@ static bool isLastStatementIf (decl_node n, decl_isNodeF q) + isLastStatementElsif - + */ + +-static bool isLastStatementElsif (decl_node n, decl_isNodeF q) ++static bool isLastStatementElsif (decl_node__opaque n, decl_isNodeF q) + { + bool ret; + +- mcDebug_assert (decl_isElsif (n)); ++ mcDebug_assert (decl_isElsif (static_cast (n))); + ret = true; + if ((n->elsifF.elsif != NULL) && ret) + { +@@ -17137,21 +17837,21 @@ static bool isLastStatementElsif (decl_node n, decl_isNodeF q) + isLastStatementCase - + */ + +-static bool isLastStatementCase (decl_node n, decl_isNodeF q) ++static bool isLastStatementCase (decl_node__opaque n, decl_isNodeF q) + { + bool ret; + unsigned int i; + unsigned int h; +- decl_node c; ++ decl_node__opaque c; + + ret = true; +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + i = 1; + h = Indexing_HighIndice (n->caseF.caseLabelList); + while (i <= h) + { +- c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); +- mcDebug_assert (decl_isCaseLabelList (c)); ++ c = static_cast (Indexing_GetIndice (n->caseF.caseLabelList, i)); ++ mcDebug_assert (decl_isCaseLabelList (static_cast (c))); + ret = ret && (isLastStatement (c->caselabellistF.statements, q)); + i += 1; + } +@@ -17169,7 +17869,7 @@ static bool isLastStatementCase (decl_node n, decl_isNodeF q) + isLastStatement - returns TRUE if the last statement in, n, is, q. + */ + +-static bool isLastStatement (decl_node n, decl_isNodeF q) ++static bool isLastStatement (decl_node__opaque n, decl_isNodeF q) + { + bool ret; + +@@ -17177,33 +17877,33 @@ static bool isLastStatement (decl_node n, decl_isNodeF q) + { + return false; + } +- else if (decl_isStatementSequence (n)) ++ else if (decl_isStatementSequence (static_cast (n))) + { + /* avoid dangling else. */ + return isLastStatementSequence (n, q); + } +- else if (decl_isProcedure (n)) ++ else if (decl_isProcedure (static_cast (n))) + { + /* avoid dangling else. */ +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); + return isLastStatement (n->procedureF.beginStatements, q); + } +- else if (decl_isIf (n)) ++ else if (decl_isIf (static_cast (n))) + { + /* avoid dangling else. */ + return isLastStatementIf (n, q); + } +- else if (decl_isElsif (n)) ++ else if (decl_isElsif (static_cast (n))) + { + /* avoid dangling else. */ + return isLastStatementElsif (n, q); + } +- else if (decl_isCase (n)) ++ else if (decl_isCase (static_cast (n))) + { + /* avoid dangling else. */ + return isLastStatementCase (n, q); + } +- else if ((*q.proc) (n)) ++ else if ((*q.proc) (static_cast (n))) + { + /* avoid dangling else. */ + return true; +@@ -17218,13 +17918,13 @@ static bool isLastStatement (decl_node n, decl_isNodeF q) + doProcedureC - + */ + +-static void doProcedureC (decl_node n) ++static void doProcedureC (decl_node__opaque n) + { + unsigned int s; + + outText (doP, (const char *) "\\n", 2); + includeParameters (n); +- keyc_enterScope (n); ++ keyc_enterScope (static_cast (n)); + doProcedureHeadingC (n, false); + outText (doP, (const char *) "\\n", 2); + doP = outKc (doP, (const char *) "{\\n", 3); +@@ -17254,7 +17954,7 @@ static void doProcedureC (decl_node n) + } + } + doP = outKc (doP, (const char *) "}\\n", 3); +- keyc_leaveScope (n); ++ keyc_leaveScope (static_cast (n)); + } + + +@@ -17277,13 +17977,13 @@ static void outProceduresC (mcPretty_pretty p, decl_scopeT s) + output - + */ + +-static void output (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v) ++static void output (decl_node__opaque n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v) + { +- if (decl_isConst (n)) ++ if (decl_isConst (static_cast (n))) + { + (*c.proc) (n); + } +- else if (decl_isVar (n)) ++ else if (decl_isVar (static_cast (n))) + { + /* avoid dangling else. */ + (*v.proc) (n); +@@ -17300,7 +18000,7 @@ static void output (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t, dec + allDependants - + */ + +-static decl_dependentState allDependants (decl_node n) ++static decl_dependentState allDependants (decl_node__opaque n) + { + alists_alist l; + decl_dependentState s; +@@ -17318,13 +18018,13 @@ static decl_dependentState allDependants (decl_node n) + walkDependants - + */ + +-static decl_dependentState walkDependants (alists_alist l, decl_node n) ++static decl_dependentState walkDependants (alists_alist l, decl_node__opaque n) + { +- if ((n == NULL) || (alists_isItemInList (doneQ, reinterpret_cast (n)))) ++ if ((n == NULL) || (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n)))) + { + return decl_completed; + } +- else if (alists_isItemInList (l, reinterpret_cast (n))) ++ else if (alists_isItemInList (l, reinterpret_cast (n))) + { + /* avoid dangling else. */ + return decl_recursive; +@@ -17332,7 +18032,7 @@ static decl_dependentState walkDependants (alists_alist l, decl_node n) + else + { + /* avoid dangling else. */ +- alists_includeItemIntoList (l, reinterpret_cast (n)); ++ alists_includeItemIntoList (l, reinterpret_cast (n)); + return doDependants (l, n); + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -17344,16 +18044,16 @@ static decl_dependentState walkDependants (alists_alist l, decl_node n) + walkType - + */ + +-static decl_dependentState walkType (alists_alist l, decl_node n) ++static decl_dependentState walkType (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (doneQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (t))) + { + return decl_completed; + } +- else if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ else if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + { + /* avoid dangling else. */ + return decl_blocked; +@@ -17373,7 +18073,7 @@ static decl_dependentState walkType (alists_alist l, decl_node n) + db - + */ + +-static void db (const char *a_, unsigned int _a_high, decl_node n) ++static void db (const char *a_, unsigned int _a_high, decl_node__opaque n) + { + char a[_a_high+1]; + +@@ -17413,7 +18113,7 @@ static void dbt (const char *a_, unsigned int _a_high) + dbs - + */ + +-static void dbs (decl_dependentState s, decl_node n) ++static void dbs (decl_dependentState s, decl_node__opaque n) + { + if (mcOptions_getDebugTopological ()) + { +@@ -17453,23 +18153,23 @@ static void dbs (decl_dependentState s, decl_node n) + dbq - + */ + +-static void dbq (decl_node n) ++static void dbq (decl_node__opaque n) + { + if (mcOptions_getDebugTopological ()) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (alists_isItemInList (todoQ, reinterpret_cast (n))) ++ if (alists_isItemInList (globalGroup->todoQ, reinterpret_cast (n))) + { + db ((const char *) "{T", 2, n); + outText (doP, (const char *) "}", 1); + } +- else if (alists_isItemInList (partialQ, reinterpret_cast (n))) ++ else if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (n))) + { + /* avoid dangling else. */ + db ((const char *) "{P", 2, n); + outText (doP, (const char *) "}", 1); + } +- else if (alists_isItemInList (doneQ, reinterpret_cast (n))) ++ else if (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n))) + { + /* avoid dangling else. */ + db ((const char *) "{D", 2, n); +@@ -17483,13 +18183,13 @@ static void dbq (decl_node n) + walkRecord - + */ + +-static decl_dependentState walkRecord (alists_alist l, decl_node n) ++static decl_dependentState walkRecord (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + unsigned int o; + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (n->recordF.listOfSons); + t = Indexing_HighIndice (n->recordF.listOfSons); +@@ -17499,9 +18199,9 @@ static decl_dependentState walkRecord (alists_alist l, decl_node n) + dbq (n); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); + db ((const char *) "", 0, q); +- if ((decl_isRecordField (q)) && q->recordfieldF.tag) ++ if ((decl_isRecordField (static_cast (q))) && q->recordfieldF.tag) + {} /* empty. */ + else + { +@@ -17512,7 +18212,7 @@ static decl_dependentState walkRecord (alists_alist l, decl_node n) + dbs (s, q); + addTodo (n); + dbq (n); +- db ((const char *) "\\n", 2, NULL); ++ db ((const char *) "\\n", 2, static_cast (NULL)); + mcPretty_setindent (doP, o); + return s; + } +@@ -17532,12 +18232,12 @@ static decl_dependentState walkRecord (alists_alist l, decl_node n) + walkVarient - + */ + +-static decl_dependentState walkVarient (alists_alist l, decl_node n) ++static decl_dependentState walkVarient (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + db ((const char *) "\\nwalking", 9, n); + s = walkDependants (l, n->varientF.tag); +@@ -17545,20 +18245,20 @@ static decl_dependentState walkVarient (alists_alist l, decl_node n) + { + dbs (s, n->varientF.tag); + dbq (n->varientF.tag); +- db ((const char *) "\\n", 2, NULL); ++ db ((const char *) "\\n", 2, static_cast (NULL)); + return s; + } + i = Indexing_LowIndice (n->varientF.listOfSons); + t = Indexing_HighIndice (n->varientF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); + db ((const char *) "", 0, q); + s = walkDependants (l, q); + if (s != decl_completed) + { + dbs (s, q); +- db ((const char *) "\\n", 2, NULL); ++ db ((const char *) "\\n", 2, static_cast (NULL)); + return s; + } + i += 1; +@@ -17575,9 +18275,9 @@ static decl_dependentState walkVarient (alists_alist l, decl_node n) + queueBlocked - + */ + +-static void queueBlocked (decl_node n) ++static void queueBlocked (decl_node__opaque n) + { +- if (! ((alists_isItemInList (doneQ, reinterpret_cast (n))) || (alists_isItemInList (partialQ, reinterpret_cast (n))))) ++ if (! ((alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n))) || (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (n))))) + { + addTodo (n); + } +@@ -17588,12 +18288,12 @@ static void queueBlocked (decl_node n) + walkVar - + */ + +-static decl_dependentState walkVar (alists_alist l, decl_node n) ++static decl_dependentState walkVar (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (doneQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (t))) + { + return decl_completed; + } +@@ -17611,19 +18311,19 @@ static decl_dependentState walkVar (alists_alist l, decl_node n) + walkEnumeration - + */ + +-static decl_dependentState walkEnumeration (alists_alist l, decl_node n) ++static decl_dependentState walkEnumeration (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (n->enumerationF.listOfSons); + t = Indexing_HighIndice (n->enumerationF.listOfSons); + s = decl_completed; + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); + s = walkDependants (l, q); + if (s != decl_completed) + { +@@ -17641,7 +18341,7 @@ static decl_dependentState walkEnumeration (alists_alist l, decl_node n) + walkSubrange - + */ + +-static decl_dependentState walkSubrange (alists_alist l, decl_node n) ++static decl_dependentState walkSubrange (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -17670,7 +18370,7 @@ static decl_dependentState walkSubrange (alists_alist l, decl_node n) + walkSubscript - + */ + +-static decl_dependentState walkSubscript (alists_alist l, decl_node n) ++static decl_dependentState walkSubscript (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -17694,13 +18394,13 @@ static decl_dependentState walkSubscript (alists_alist l, decl_node n) + walkPointer - + */ + +-static decl_dependentState walkPointer (alists_alist l, decl_node n) ++static decl_dependentState walkPointer (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + + /* if the type of, n, is done or partial then we can output pointer. */ +- t = decl_getType (n); +- if ((alists_isItemInList (partialQ, reinterpret_cast (t))) || (alists_isItemInList (doneQ, reinterpret_cast (t)))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if ((alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) || (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (t)))) + { + /* pointer to partial can always generate a complete type. */ + return decl_completed; +@@ -17715,12 +18415,12 @@ static decl_dependentState walkPointer (alists_alist l, decl_node n) + walkArray - + */ + +-static decl_dependentState walkArray (alists_alist l, decl_node n) ++static decl_dependentState walkArray (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + + /* an array can only be declared if its data type has already been emitted. */ +- if (! (alists_isItemInList (doneQ, reinterpret_cast (n->arrayF.type)))) ++ if (! (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (n->arrayF.type)))) + { + s = walkDependants (l, n->arrayF.type); + queueBlocked (n->arrayF.type); +@@ -17744,7 +18444,7 @@ static decl_dependentState walkArray (alists_alist l, decl_node n) + walkConst - + */ + +-static decl_dependentState walkConst (alists_alist l, decl_node n) ++static decl_dependentState walkConst (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -17768,12 +18468,12 @@ static decl_dependentState walkConst (alists_alist l, decl_node n) + walkVarParam - + */ + +-static decl_dependentState walkVarParam (alists_alist l, decl_node n) ++static decl_dependentState walkVarParam (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + { + /* parameter can be issued from a partial. */ + return decl_completed; +@@ -17788,12 +18488,12 @@ static decl_dependentState walkVarParam (alists_alist l, decl_node n) + walkParam - + */ + +-static decl_dependentState walkParam (alists_alist l, decl_node n) ++static decl_dependentState walkParam (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + { + /* parameter can be issued from a partial. */ + return decl_completed; +@@ -17808,12 +18508,12 @@ static decl_dependentState walkParam (alists_alist l, decl_node n) + walkOptarg - + */ + +-static decl_dependentState walkOptarg (alists_alist l, decl_node n) ++static decl_dependentState walkOptarg (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + { + /* parameter can be issued from a partial. */ + return decl_completed; +@@ -17828,19 +18528,19 @@ static decl_dependentState walkOptarg (alists_alist l, decl_node n) + walkRecordField - + */ + +-static decl_dependentState walkRecordField (alists_alist l, decl_node n) ++static decl_dependentState walkRecordField (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + decl_dependentState s; + +- mcDebug_assert (decl_isRecordField (n)); +- t = decl_getType (n); +- if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ mcDebug_assert (decl_isRecordField (static_cast (n))); ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + { + dbs (decl_partial, n); + return decl_partial; + } +- else if (alists_isItemInList (doneQ, reinterpret_cast (t))) ++ else if (alists_isItemInList (globalGroup->doneQ, reinterpret_cast (t))) + { + /* avoid dangling else. */ + dbs (decl_completed, n); +@@ -17865,19 +18565,19 @@ static decl_dependentState walkRecordField (alists_alist l, decl_node n) + walkVarientField - + */ + +-static decl_dependentState walkVarientField (alists_alist l, decl_node n) ++static decl_dependentState walkVarientField (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (n->varientfieldF.listOfSons); + t = Indexing_HighIndice (n->varientfieldF.listOfSons); + s = decl_completed; + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); ++ q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); + s = walkDependants (l, q); + if (s != decl_completed) + { +@@ -17898,7 +18598,7 @@ static decl_dependentState walkVarientField (alists_alist l, decl_node n) + walkEnumerationField - + */ + +-static decl_dependentState walkEnumerationField (alists_alist l, decl_node n) ++static decl_dependentState walkEnumerationField (alists_alist l, decl_node__opaque n) + { + return decl_completed; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -17910,9 +18610,9 @@ static decl_dependentState walkEnumerationField (alists_alist l, decl_node n) + walkSet - + */ + +-static decl_dependentState walkSet (alists_alist l, decl_node n) ++static decl_dependentState walkSet (alists_alist l, decl_node__opaque n) + { +- return walkDependants (l, decl_getType (n)); ++ return walkDependants (l, static_cast (decl_getType (static_cast (n)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -17922,13 +18622,13 @@ static decl_dependentState walkSet (alists_alist l, decl_node n) + walkProcType - + */ + +-static decl_dependentState walkProcType (alists_alist l, decl_node n) ++static decl_dependentState walkProcType (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; +- decl_node t; ++ decl_node__opaque t; + +- t = decl_getType (n); +- if (alists_isItemInList (partialQ, reinterpret_cast (t))) ++ t = static_cast (decl_getType (static_cast (n))); ++ if (alists_isItemInList (globalGroup->partialQ, reinterpret_cast (t))) + {} /* empty. */ + else + { +@@ -17949,11 +18649,11 @@ static decl_dependentState walkProcType (alists_alist l, decl_node n) + walkProcedure - + */ + +-static decl_dependentState walkProcedure (alists_alist l, decl_node n) ++static decl_dependentState walkProcedure (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +- s = walkDependants (l, decl_getType (n)); ++ s = walkDependants (l, static_cast (decl_getType (static_cast (n)))); + if (s != decl_completed) + { + return s; +@@ -17973,13 +18673,13 @@ static decl_dependentState walkParameters (alists_alist l, Indexing_Index p) + decl_dependentState s; + unsigned int i; + unsigned int h; +- decl_node q; ++ decl_node__opaque q; + + i = Indexing_LowIndice (p); + h = Indexing_HighIndice (p); + while (i <= h) + { +- q = static_cast (Indexing_GetIndice (p, i)); ++ q = static_cast (Indexing_GetIndice (p, i)); + s = walkDependants (l, q); + if (s != decl_completed) + { +@@ -17997,7 +18697,7 @@ static decl_dependentState walkParameters (alists_alist l, Indexing_Index p) + walkFuncCall - + */ + +-static decl_dependentState walkFuncCall (alists_alist l, decl_node n) ++static decl_dependentState walkFuncCall (alists_alist l, decl_node__opaque n) + { + return decl_completed; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -18009,7 +18709,7 @@ static decl_dependentState walkFuncCall (alists_alist l, decl_node n) + walkUnary - + */ + +-static decl_dependentState walkUnary (alists_alist l, decl_node n) ++static decl_dependentState walkUnary (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -18028,7 +18728,7 @@ static decl_dependentState walkUnary (alists_alist l, decl_node n) + walkBinary - + */ + +-static decl_dependentState walkBinary (alists_alist l, decl_node n) ++static decl_dependentState walkBinary (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -18052,7 +18752,7 @@ static decl_dependentState walkBinary (alists_alist l, decl_node n) + walkComponentRef - + */ + +-static decl_dependentState walkComponentRef (alists_alist l, decl_node n) ++static decl_dependentState walkComponentRef (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -18076,7 +18776,7 @@ static decl_dependentState walkComponentRef (alists_alist l, decl_node n) + walkPointerRef - + */ + +-static decl_dependentState walkPointerRef (alists_alist l, decl_node n) ++static decl_dependentState walkPointerRef (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + +@@ -18100,13 +18800,13 @@ static decl_dependentState walkPointerRef (alists_alist l, decl_node n) + walkSetValue - + */ + +-static decl_dependentState walkSetValue (alists_alist l, decl_node n) ++static decl_dependentState walkSetValue (alists_alist l, decl_node__opaque n) + { + decl_dependentState s; + unsigned int i; + unsigned int j; + +- mcDebug_assert (decl_isSetValue (n)); ++ mcDebug_assert (decl_isSetValue (static_cast (n))); + s = walkDependants (l, n->setvalueF.type); + if (s != decl_completed) + { +@@ -18116,7 +18816,7 @@ static decl_dependentState walkSetValue (alists_alist l, decl_node n) + j = Indexing_HighIndice (n->setvalueF.values); + while (i <= j) + { +- s = walkDependants (l, reinterpret_cast (Indexing_GetIndice (n->setvalueF.values, i))); ++ s = walkDependants (l, static_cast (Indexing_GetIndice (n->setvalueF.values, i))); + if (s != decl_completed) + { + return s; +@@ -18134,7 +18834,7 @@ static decl_dependentState walkSetValue (alists_alist l, decl_node n) + all dependants have been declared. + */ + +-static decl_dependentState doDependants (alists_alist l, decl_node n) ++static decl_dependentState doDependants (alists_alist l, decl_node__opaque n) + { + switch (n->kind) + { +@@ -18342,15 +19042,15 @@ static decl_dependentState doDependants (alists_alist l, decl_node n) + tryComplete - returns TRUE if node, n, can be and was completed. + */ + +-static bool tryComplete (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v) ++static bool tryComplete (decl_node__opaque n, decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v) + { +- if (decl_isEnumeration (n)) ++ if (decl_isEnumeration (static_cast (n))) + { + /* can always emit enumerated types. */ + output (n, c, t, v); + return true; + } +- else if (((decl_isType (n)) && (decl_isTypeHidden (n))) && ((decl_getType (n)) == NULL)) ++ else if (((decl_isType (static_cast (n))) && (decl_isTypeHidden (static_cast (n)))) && ((decl_getType (static_cast (n))) == NULL)) + { + /* avoid dangling else. */ + /* can always emit hidden types. */ +@@ -18373,11 +19073,11 @@ static bool tryComplete (decl_node n, decl_nodeProcedure c, decl_nodeProcedure t + tryCompleteFromPartial - + */ + +-static bool tryCompleteFromPartial (decl_node n, decl_nodeProcedure t) ++static bool tryCompleteFromPartial (decl_node__opaque n, decl_nodeProcedure t) + { +- if ((((decl_isType (n)) && ((decl_getType (n)) != NULL)) && (decl_isPointer (decl_getType (n)))) && ((allDependants (decl_getType (n))) == decl_completed)) ++ if ((((decl_isType (static_cast (n))) && ((decl_getType (static_cast (n))) != NULL)) && (decl_isPointer (decl_getType (static_cast (n))))) && ((allDependants (static_cast (decl_getType (static_cast (n))))) == decl_completed)) + { +- /* alists.includeItemIntoList (partialQ, getType (n)) ; */ ++ /* alists.includeItemIntoList (globalGroup^.partialQ, getType (n)) ; */ + outputHiddenComplete (n); + return true; + } +@@ -18397,7 +19097,7 @@ static bool tryCompleteFromPartial (decl_node n, decl_nodeProcedure t) + visitIntrinsicFunction - + */ + +-static void visitIntrinsicFunction (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitIntrinsicFunction (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isIntrinsicFunction (n)); + switch (n->kind) +@@ -18440,7 +19140,7 @@ static void visitIntrinsicFunction (alists_alist v, decl_node n, decl_nodeProced + visitUnary - + */ + +-static void visitUnary (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitUnary (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isUnary (n)); + visitNode (v, n->unaryF.arg, p); +@@ -18452,7 +19152,7 @@ static void visitUnary (alists_alist v, decl_node n, decl_nodeProcedure p) + visitBinary - + */ + +-static void visitBinary (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitBinary (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + visitNode (v, n->binaryF.left, p); + visitNode (v, n->binaryF.right, p); +@@ -18464,7 +19164,7 @@ static void visitBinary (alists_alist v, decl_node n, decl_nodeProcedure p) + visitBoolean - + */ + +-static void visitBoolean (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitBoolean (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + visitNode (v, falseN, p); + visitNode (v, trueN, p); +@@ -18475,7 +19175,7 @@ static void visitBoolean (alists_alist v, decl_node n, decl_nodeProcedure p) + visitScope - + */ + +-static void visitScope (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitScope (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + if (mustVisitScope) + { +@@ -18488,9 +19188,9 @@ static void visitScope (alists_alist v, decl_node n, decl_nodeProcedure p) + visitType - + */ + +-static void visitType (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitType (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isType (n)); ++ mcDebug_assert (decl_isType (static_cast (n))); + visitNode (v, n->typeF.type, p); + visitScope (v, n->typeF.scope, p); + } +@@ -18509,7 +19209,7 @@ static void visitIndex (alists_alist v, Indexing_Index i, decl_nodeProcedure p) + h = Indexing_HighIndice (i); + while (j <= h) + { +- visitNode (v, reinterpret_cast (Indexing_GetIndice (i, j)), p); ++ visitNode (v, static_cast (Indexing_GetIndice (i, j)), p); + j += 1; + } + } +@@ -18519,9 +19219,9 @@ static void visitIndex (alists_alist v, Indexing_Index i, decl_nodeProcedure p) + visitRecord - + */ + +-static void visitRecord (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitRecord (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isRecord (n)); ++ mcDebug_assert (decl_isRecord (static_cast (n))); + visitScope (v, n->recordF.scope, p); + visitIndex (v, n->recordF.listOfSons, p); + } +@@ -18531,9 +19231,9 @@ static void visitRecord (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVarient - + */ + +-static void visitVarient (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVarient (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isVarient (n)); ++ mcDebug_assert (decl_isVarient (static_cast (n))); + visitIndex (v, n->varientF.listOfSons, p); + visitNode (v, n->varientF.varient, p); + visitNode (v, n->varientF.tag, p); +@@ -18545,9 +19245,9 @@ static void visitVarient (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVar - + */ + +-static void visitVar (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVar (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isVar (n)); ++ mcDebug_assert (decl_isVar (static_cast (n))); + visitNode (v, n->varF.type, p); + visitNode (v, n->varF.decl, p); + visitScope (v, n->varF.scope, p); +@@ -18558,9 +19258,9 @@ static void visitVar (alists_alist v, decl_node n, decl_nodeProcedure p) + visitEnumeration - + */ + +-static void visitEnumeration (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitEnumeration (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isEnumeration (n)); ++ mcDebug_assert (decl_isEnumeration (static_cast (n))); + visitIndex (v, n->enumerationF.listOfSons, p); + visitScope (v, n->enumerationF.scope, p); + } +@@ -18570,9 +19270,9 @@ static void visitEnumeration (alists_alist v, decl_node n, decl_nodeProcedure p) + visitSubrange - + */ + +-static void visitSubrange (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitSubrange (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isSubrange (n)); ++ mcDebug_assert (decl_isSubrange (static_cast (n))); + visitNode (v, n->subrangeF.low, p); + visitNode (v, n->subrangeF.high, p); + visitNode (v, n->subrangeF.type, p); +@@ -18584,9 +19284,9 @@ static void visitSubrange (alists_alist v, decl_node n, decl_nodeProcedure p) + visitPointer - + */ + +-static void visitPointer (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitPointer (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isPointer (n)); ++ mcDebug_assert (decl_isPointer (static_cast (n))); + visitNode (v, n->pointerF.type, p); + visitScope (v, n->pointerF.scope, p); + } +@@ -18596,9 +19296,9 @@ static void visitPointer (alists_alist v, decl_node n, decl_nodeProcedure p) + visitArray - + */ + +-static void visitArray (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitArray (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isArray (n)); ++ mcDebug_assert (decl_isArray (static_cast (n))); + visitNode (v, n->arrayF.subr, p); + visitNode (v, n->arrayF.type, p); + visitScope (v, n->arrayF.scope, p); +@@ -18609,9 +19309,9 @@ static void visitArray (alists_alist v, decl_node n, decl_nodeProcedure p) + visitConst - + */ + +-static void visitConst (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitConst (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isConst (n)); ++ mcDebug_assert (decl_isConst (static_cast (n))); + visitNode (v, n->constF.type, p); + visitNode (v, n->constF.value, p); + visitScope (v, n->constF.scope, p); +@@ -18622,9 +19322,9 @@ static void visitConst (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVarParam - + */ + +-static void visitVarParam (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVarParam (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isVarParam (n)); ++ mcDebug_assert (decl_isVarParam (static_cast (n))); + visitNode (v, n->varparamF.namelist, p); + visitNode (v, n->varparamF.type, p); + visitScope (v, n->varparamF.scope, p); +@@ -18635,9 +19335,9 @@ static void visitVarParam (alists_alist v, decl_node n, decl_nodeProcedure p) + visitParam - + */ + +-static void visitParam (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitParam (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isParam (n)); ++ mcDebug_assert (decl_isParam (static_cast (n))); + visitNode (v, n->paramF.namelist, p); + visitNode (v, n->paramF.type, p); + visitScope (v, n->paramF.scope, p); +@@ -18648,9 +19348,9 @@ static void visitParam (alists_alist v, decl_node n, decl_nodeProcedure p) + visitOptarg - + */ + +-static void visitOptarg (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitOptarg (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isOptarg (n)); ++ mcDebug_assert (decl_isOptarg (static_cast (n))); + visitNode (v, n->optargF.namelist, p); + visitNode (v, n->optargF.type, p); + visitNode (v, n->optargF.init, p); +@@ -18662,9 +19362,9 @@ static void visitOptarg (alists_alist v, decl_node n, decl_nodeProcedure p) + visitRecordField - + */ + +-static void visitRecordField (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitRecordField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isRecordField (n)); ++ mcDebug_assert (decl_isRecordField (static_cast (n))); + visitNode (v, n->recordfieldF.type, p); + visitNode (v, n->recordfieldF.parent, p); + visitNode (v, n->recordfieldF.varient, p); +@@ -18676,9 +19376,9 @@ static void visitRecordField (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVarientField - + */ + +-static void visitVarientField (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVarientField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isVarientField (n)); ++ mcDebug_assert (decl_isVarientField (static_cast (n))); + visitNode (v, n->varientfieldF.parent, p); + visitNode (v, n->varientfieldF.varient, p); + visitIndex (v, n->varientfieldF.listOfSons, p); +@@ -18690,9 +19390,9 @@ static void visitVarientField (alists_alist v, decl_node n, decl_nodeProcedure p + visitEnumerationField - + */ + +-static void visitEnumerationField (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitEnumerationField (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isEnumerationField (n)); ++ mcDebug_assert (decl_isEnumerationField (static_cast (n))); + visitNode (v, n->enumerationfieldF.type, p); + visitScope (v, n->enumerationfieldF.scope, p); + } +@@ -18702,9 +19402,9 @@ static void visitEnumerationField (alists_alist v, decl_node n, decl_nodeProcedu + visitSet - + */ + +-static void visitSet (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitSet (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isSet (n)); ++ mcDebug_assert (decl_isSet (static_cast (n))); + visitNode (v, n->setF.type, p); + visitScope (v, n->setF.scope, p); + } +@@ -18714,9 +19414,9 @@ static void visitSet (alists_alist v, decl_node n, decl_nodeProcedure p) + visitProcType - + */ + +-static void visitProcType (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitProcType (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isProcType (n)); ++ mcDebug_assert (decl_isProcType (static_cast (n))); + visitIndex (v, n->proctypeF.parameters, p); + visitNode (v, n->proctypeF.optarg_, p); + visitNode (v, n->proctypeF.returnType, p); +@@ -18728,7 +19428,7 @@ static void visitProcType (alists_alist v, decl_node n, decl_nodeProcedure p) + visitSubscript - + */ + +-static void visitSubscript (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitSubscript (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + } + +@@ -18750,9 +19450,9 @@ static void visitDecls (alists_alist v, decl_scopeT s, decl_nodeProcedure p) + visitProcedure - + */ + +-static void visitProcedure (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitProcedure (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); + visitDecls (v, n->procedureF.decls, p); + visitScope (v, n->procedureF.scope, p); + visitIndex (v, n->procedureF.parameters, p); +@@ -18766,9 +19466,9 @@ static void visitProcedure (alists_alist v, decl_node n, decl_nodeProcedure p) + visitDef - + */ + +-static void visitDef (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitDef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isDef (n)); ++ mcDebug_assert (decl_isDef (static_cast (n))); + visitDecls (v, n->defF.decls, p); + } + +@@ -18777,9 +19477,9 @@ static void visitDef (alists_alist v, decl_node n, decl_nodeProcedure p) + visitImp - + */ + +-static void visitImp (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitImp (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isImp (n)); ++ mcDebug_assert (decl_isImp (static_cast (n))); + visitDecls (v, n->impF.decls, p); + visitNode (v, n->impF.beginStatements, p); + /* --fixme-- do we need to visit definitionModule? */ +@@ -18791,9 +19491,9 @@ static void visitImp (alists_alist v, decl_node n, decl_nodeProcedure p) + visitModule - + */ + +-static void visitModule (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitModule (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isModule (n)); ++ mcDebug_assert (decl_isModule (static_cast (n))); + visitDecls (v, n->moduleF.decls, p); + visitNode (v, n->moduleF.beginStatements, p); + visitNode (v, n->moduleF.finallyStatements, p); +@@ -18804,9 +19504,9 @@ static void visitModule (alists_alist v, decl_node n, decl_nodeProcedure p) + visitLoop - + */ + +-static void visitLoop (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitLoop (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isLoop (n)); ++ mcDebug_assert (decl_isLoop (static_cast (n))); + visitNode (v, n->loopF.statements, p); + } + +@@ -18815,9 +19515,9 @@ static void visitLoop (alists_alist v, decl_node n, decl_nodeProcedure p) + visitWhile - + */ + +-static void visitWhile (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitWhile (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isWhile (n)); ++ mcDebug_assert (decl_isWhile (static_cast (n))); + visitNode (v, n->whileF.expr, p); + visitNode (v, n->whileF.statements, p); + } +@@ -18827,9 +19527,9 @@ static void visitWhile (alists_alist v, decl_node n, decl_nodeProcedure p) + visitRepeat - + */ + +-static void visitRepeat (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitRepeat (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isRepeat (n)); ++ mcDebug_assert (decl_isRepeat (static_cast (n))); + visitNode (v, n->repeatF.expr, p); + visitNode (v, n->repeatF.statements, p); + } +@@ -18839,9 +19539,9 @@ static void visitRepeat (alists_alist v, decl_node n, decl_nodeProcedure p) + visitCase - + */ + +-static void visitCase (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitCase (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isCase (n)); ++ mcDebug_assert (decl_isCase (static_cast (n))); + visitNode (v, n->caseF.expression, p); + visitIndex (v, n->caseF.caseLabelList, p); + visitNode (v, n->caseF.else_, p); +@@ -18852,9 +19552,9 @@ static void visitCase (alists_alist v, decl_node n, decl_nodeProcedure p) + visitCaseLabelList - + */ + +-static void visitCaseLabelList (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitCaseLabelList (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isCaseLabelList (n)); ++ mcDebug_assert (decl_isCaseLabelList (static_cast (n))); + visitNode (v, n->caselabellistF.caseList, p); + visitNode (v, n->caselabellistF.statements, p); + } +@@ -18864,9 +19564,9 @@ static void visitCaseLabelList (alists_alist v, decl_node n, decl_nodeProcedure + visitCaseList - + */ + +-static void visitCaseList (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitCaseList (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isCaseList (n)); ++ mcDebug_assert (decl_isCaseList (static_cast (n))); + visitIndex (v, n->caselistF.rangePairs, p); + } + +@@ -18875,9 +19575,9 @@ static void visitCaseList (alists_alist v, decl_node n, decl_nodeProcedure p) + visitRange - + */ + +-static void visitRange (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitRange (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isRange (n)); ++ mcDebug_assert (decl_isRange (static_cast (n))); + visitNode (v, n->rangeF.lo, p); + visitNode (v, n->rangeF.hi, p); + } +@@ -18887,9 +19587,9 @@ static void visitRange (alists_alist v, decl_node n, decl_nodeProcedure p) + visitIf - + */ + +-static void visitIf (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitIf (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isIf (n)); ++ mcDebug_assert (decl_isIf (static_cast (n))); + visitNode (v, n->ifF.expr, p); + visitNode (v, n->ifF.elsif, p); + visitNode (v, n->ifF.then, p); +@@ -18901,9 +19601,9 @@ static void visitIf (alists_alist v, decl_node n, decl_nodeProcedure p) + visitElsif - + */ + +-static void visitElsif (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitElsif (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isElsif (n)); ++ mcDebug_assert (decl_isElsif (static_cast (n))); + visitNode (v, n->elsifF.expr, p); + visitNode (v, n->elsifF.elsif, p); + visitNode (v, n->elsifF.then, p); +@@ -18915,9 +19615,9 @@ static void visitElsif (alists_alist v, decl_node n, decl_nodeProcedure p) + visitFor - + */ + +-static void visitFor (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitFor (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isFor (n)); ++ mcDebug_assert (decl_isFor (static_cast (n))); + visitNode (v, n->forF.des, p); + visitNode (v, n->forF.start, p); + visitNode (v, n->forF.end, p); +@@ -18930,7 +19630,7 @@ static void visitFor (alists_alist v, decl_node n, decl_nodeProcedure p) + visitAssignment - + */ + +-static void visitAssignment (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitAssignment (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isAssignment (n)); + visitNode (v, n->assignmentF.des, p); +@@ -18942,7 +19642,7 @@ static void visitAssignment (alists_alist v, decl_node n, decl_nodeProcedure p) + visitComponentRef - + */ + +-static void visitComponentRef (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitComponentRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isComponentRef (n)); + visitNode (v, n->componentrefF.rec, p); +@@ -18955,9 +19655,9 @@ static void visitComponentRef (alists_alist v, decl_node n, decl_nodeProcedure p + visitPointerRef - + */ + +-static void visitPointerRef (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitPointerRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isPointerRef (n)); ++ mcDebug_assert (decl_isPointerRef (static_cast (n))); + visitNode (v, n->pointerrefF.ptr, p); + visitNode (v, n->pointerrefF.field, p); + visitNode (v, n->pointerrefF.resultType, p); +@@ -18968,7 +19668,7 @@ static void visitPointerRef (alists_alist v, decl_node n, decl_nodeProcedure p) + visitArrayRef - + */ + +-static void visitArrayRef (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitArrayRef (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isArrayRef (n)); + visitNode (v, n->arrayrefF.array, p); +@@ -18981,7 +19681,7 @@ static void visitArrayRef (alists_alist v, decl_node n, decl_nodeProcedure p) + visitFunccall - + */ + +-static void visitFunccall (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitFunccall (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isFuncCall (n)); + visitNode (v, n->funccallF.function, p); +@@ -18994,7 +19694,7 @@ static void visitFunccall (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVarDecl - + */ + +-static void visitVarDecl (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVarDecl (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isVarDecl (n)); + visitNode (v, n->vardeclF.type, p); +@@ -19006,9 +19706,9 @@ static void visitVarDecl (alists_alist v, decl_node n, decl_nodeProcedure p) + visitExplist - + */ + +-static void visitExplist (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitExplist (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isExpList (n)); ++ mcDebug_assert (decl_isExpList (static_cast (n))); + visitIndex (v, n->explistF.exp, p); + } + +@@ -19017,9 +19717,9 @@ static void visitExplist (alists_alist v, decl_node n, decl_nodeProcedure p) + visitExit - + */ + +-static void visitExit (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitExit (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isExit (n)); ++ mcDebug_assert (decl_isExit (static_cast (n))); + visitNode (v, n->exitF.loop, p); + } + +@@ -19028,9 +19728,9 @@ static void visitExit (alists_alist v, decl_node n, decl_nodeProcedure p) + visitReturn - + */ + +-static void visitReturn (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitReturn (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isReturn (n)); ++ mcDebug_assert (decl_isReturn (static_cast (n))); + visitNode (v, n->returnF.exp, p); + } + +@@ -19039,9 +19739,9 @@ static void visitReturn (alists_alist v, decl_node n, decl_nodeProcedure p) + visitStmtSeq - + */ + +-static void visitStmtSeq (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitStmtSeq (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isStatementSequence (n)); ++ mcDebug_assert (decl_isStatementSequence (static_cast (n))); + visitIndex (v, n->stmtF.statements, p); + } + +@@ -19050,9 +19750,9 @@ static void visitStmtSeq (alists_alist v, decl_node n, decl_nodeProcedure p) + visitVarargs - + */ + +-static void visitVarargs (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitVarargs (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isVarargs (n)); ++ mcDebug_assert (decl_isVarargs (static_cast (n))); + visitScope (v, n->varargsF.scope, p); + } + +@@ -19061,9 +19761,9 @@ static void visitVarargs (alists_alist v, decl_node n, decl_nodeProcedure p) + visitSetValue - + */ + +-static void visitSetValue (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitSetValue (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- mcDebug_assert (decl_isSetValue (n)); ++ mcDebug_assert (decl_isSetValue (static_cast (n))); + visitNode (v, n->setvalueF.type, p); + visitIndex (v, n->setvalueF.values, p); + } +@@ -19073,7 +19773,7 @@ static void visitSetValue (alists_alist v, decl_node n, decl_nodeProcedure p) + visitIntrinsic - + */ + +-static void visitIntrinsic (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitIntrinsic (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (isIntrinsic (n)); + visitNode (v, n->intrinsicF.args, p); +@@ -19086,10 +19786,10 @@ static void visitIntrinsic (alists_alist v, decl_node n, decl_nodeProcedure p) + visit node, n, dependants. + */ + +-static void visitDependants (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitDependants (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { + mcDebug_assert (n != NULL); +- mcDebug_assert (alists_isItemInList (v, reinterpret_cast (n))); ++ mcDebug_assert (alists_isItemInList (v, reinterpret_cast (n))); + switch (n->kind) + { + case decl_explist: +@@ -19440,11 +20140,11 @@ static void visitDependants (alists_alist v, decl_node n, decl_nodeProcedure p) + It calls p(n) if the node is unvisited. + */ + +-static void visitNode (alists_alist v, decl_node n, decl_nodeProcedure p) ++static void visitNode (alists_alist v, decl_node__opaque n, decl_nodeProcedure p) + { +- if ((n != NULL) && (! (alists_isItemInList (v, reinterpret_cast (n))))) ++ if ((n != NULL) && (! (alists_isItemInList (v, reinterpret_cast (n))))) + { +- alists_includeItemIntoList (v, reinterpret_cast (n)); ++ alists_includeItemIntoList (v, reinterpret_cast (n)); + (*p.proc) (n); + visitDependants (v, n, p); + } +@@ -19455,7 +20155,7 @@ static void visitNode (alists_alist v, decl_node n, decl_nodeProcedure p) + genKind - returns a string depending upon the kind of node, n. + */ + +-static DynamicStrings_String genKind (decl_node n) ++static DynamicStrings_String genKind (decl_node__opaque n) + { + switch (n->kind) + { +@@ -19487,7 +20187,7 @@ static DynamicStrings_String genKind (decl_node n) + case decl_longcomplex: + case decl_shortcomplex: + /* types, no need to generate a kind string as it it contained in the name. */ +- return NULL; ++ return static_cast (NULL); + break; + + case decl_type: +@@ -19790,7 +20490,7 @@ static DynamicStrings_String genKind (decl_node n) + gen - generate a small string describing node, n. + */ + +-static DynamicStrings_String gen (decl_node n) ++static DynamicStrings_String gen (decl_node__opaque n) + { + DynamicStrings_String s; + unsigned int d; +@@ -19814,7 +20514,7 @@ static DynamicStrings_String gen (decl_node n) + static void dumpQ (const char *q_, unsigned int _q_high, alists_alist l) + { + DynamicStrings_String m; +- decl_node n; ++ decl_node__opaque n; + unsigned int d; + unsigned int h; + unsigned int i; +@@ -19833,7 +20533,7 @@ static void dumpQ (const char *q_, unsigned int _q_high, alists_alist l) + h = alists_noOfItemsInList (l); + while (i <= h) + { +- n = static_cast (alists_getItemFromList (l, i)); ++ n = static_cast (alists_getItemFromList (l, i)); + m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, gen (n))); + i += 1; + } +@@ -19848,15 +20548,11 @@ static void dumpQ (const char *q_, unsigned int _q_high, alists_alist l) + + static void dumpLists (void) + { +- DynamicStrings_String m; +- +- if (mcOptions_getDebugTopological ()) ++ if ((mcOptions_getDebugTopological ()) && false) + { +- m = FormatStrings_Sprintf0 (DynamicStrings_InitString ((const char *) "\\n", 2)); +- m = DynamicStrings_KillString (SFIO_WriteS (FIO_StdOut, m)); +- dumpQ ((const char *) "todo", 4, todoQ); +- dumpQ ((const char *) "partial", 7, partialQ); +- dumpQ ((const char *) "done", 4, doneQ); ++ dumpQ ((const char *) "todo", 4, globalGroup->todoQ); ++ dumpQ ((const char *) "partial", 7, globalGroup->partialQ); ++ dumpQ ((const char *) "done", 4, globalGroup->doneQ); + } + } + +@@ -19865,7 +20561,7 @@ static void dumpLists (void) + outputHidden - + */ + +-static void outputHidden (decl_node n) ++static void outputHidden (decl_node__opaque n) + { + outText (doP, (const char *) "#if !defined (", 14); + doFQNameC (doP, n); +@@ -19884,18 +20580,18 @@ static void outputHidden (decl_node n) + outputHiddenComplete - + */ + +-static void outputHiddenComplete (decl_node n) ++static void outputHiddenComplete (decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- mcDebug_assert (decl_isType (n)); +- t = decl_getType (n); +- mcDebug_assert (decl_isPointer (t)); ++ mcDebug_assert (decl_isType (static_cast (n))); ++ t = static_cast (decl_getType (static_cast (n))); ++ mcDebug_assert (decl_isPointer (static_cast (t))); + outText (doP, (const char *) "#define ", 8); + doFQNameC (doP, n); + outText (doP, (const char *) "_D\\n", 4); + outText (doP, (const char *) "typedef ", 8); +- doTypeNameC (doP, decl_getType (t)); ++ doTypeNameC (doP, static_cast (decl_getType (static_cast (t)))); + mcPretty_setNeedSpace (doP); + outText (doP, (const char *) "*", 1); + doFQNameC (doP, n); +@@ -19907,27 +20603,27 @@ static void outputHiddenComplete (decl_node n) + tryPartial - + */ + +-static bool tryPartial (decl_node n, decl_nodeProcedure pt) ++static bool tryPartial (decl_node__opaque n, decl_nodeProcedure pt) + { +- decl_node q; ++ decl_node__opaque q; + +- if ((n != NULL) && (decl_isType (n))) ++ if ((n != NULL) && (decl_isType (static_cast (n)))) + { +- q = decl_getType (n); +- while (decl_isPointer (q)) ++ q = static_cast (decl_getType (static_cast (n))); ++ while (decl_isPointer (static_cast (q))) + { +- q = decl_getType (q); ++ q = static_cast (decl_getType (static_cast (q))); + } + if (q != NULL) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if ((decl_isRecord (q)) || (decl_isProcType (q))) ++ if ((decl_isRecord (static_cast (q))) || (decl_isProcType (static_cast (q)))) + { + (*pt.proc) (n); + addTodo (q); + return true; + } +- else if (decl_isArray (q)) ++ else if (decl_isArray (static_cast (q))) + { + /* avoid dangling else. */ + (*pt.proc) (n); +@@ -19946,23 +20642,23 @@ static bool tryPartial (decl_node n, decl_nodeProcedure pt) + outputPartialRecordArrayProcType - + */ + +-static void outputPartialRecordArrayProcType (decl_node n, decl_node q, unsigned int indirection) ++static void outputPartialRecordArrayProcType (decl_node__opaque n, decl_node__opaque q, unsigned int indirection) + { + DynamicStrings_String s; + + outText (doP, (const char *) "typedef struct", 14); + mcPretty_setNeedSpace (doP); + s = getFQstring (n); +- if (decl_isRecord (q)) ++ if (decl_isRecord (static_cast (q))) + { + s = DynamicStrings_ConCat (s, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "_r", 2))); + } +- else if (decl_isArray (q)) ++ else if (decl_isArray (static_cast (q))) + { + /* avoid dangling else. */ + s = DynamicStrings_ConCat (s, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "_a", 2))); + } +- else if (decl_isProcType (q)) ++ else if (decl_isProcType (static_cast (q))) + { + /* avoid dangling else. */ + s = DynamicStrings_ConCat (s, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "_p", 2))); +@@ -19984,16 +20680,16 @@ static void outputPartialRecordArrayProcType (decl_node n, decl_node q, unsigned + outputPartial - + */ + +-static void outputPartial (decl_node n) ++static void outputPartial (decl_node__opaque n) + { +- decl_node q; ++ decl_node__opaque q; + unsigned int indirection; + +- q = decl_getType (n); ++ q = static_cast (decl_getType (static_cast (n))); + indirection = 0; +- while (decl_isPointer (q)) ++ while (decl_isPointer (static_cast (q))) + { +- q = decl_getType (q); ++ q = static_cast (decl_getType (static_cast (q))); + indirection += 1; + } + outputPartialRecordArrayProcType (n, q, indirection); +@@ -20008,24 +20704,24 @@ static void tryOutputTodo (decl_nodeProcedure c, decl_nodeProcedure t, decl_node + { + unsigned int i; + unsigned int n; +- decl_node d; ++ decl_node__opaque d; + + i = 1; +- n = alists_noOfItemsInList (todoQ); ++ n = alists_noOfItemsInList (globalGroup->todoQ); + while (i <= n) + { +- d = static_cast (alists_getItemFromList (todoQ, i)); ++ d = static_cast (alists_getItemFromList (globalGroup->todoQ, i)); + if (tryComplete (d, c, t, v)) + { +- alists_removeItemFromList (todoQ, reinterpret_cast (d)); +- alists_includeItemIntoList (doneQ, reinterpret_cast (d)); ++ alists_removeItemFromList (globalGroup->todoQ, reinterpret_cast (d)); ++ addDone (d); + i = 1; + } + else if (tryPartial (d, pt)) + { + /* avoid dangling else. */ +- alists_removeItemFromList (todoQ, reinterpret_cast (d)); +- alists_includeItemIntoList (partialQ, reinterpret_cast (d)); ++ alists_removeItemFromList (globalGroup->todoQ, reinterpret_cast (d)); ++ alists_includeItemIntoList (globalGroup->partialQ, reinterpret_cast (d)); + i = 1; + } + else +@@ -20033,7 +20729,7 @@ static void tryOutputTodo (decl_nodeProcedure c, decl_nodeProcedure t, decl_node + /* avoid dangling else. */ + i += 1; + } +- n = alists_noOfItemsInList (todoQ); ++ n = alists_noOfItemsInList (globalGroup->todoQ); + } + } + +@@ -20046,17 +20742,17 @@ static void tryOutputPartial (decl_nodeProcedure t) + { + unsigned int i; + unsigned int n; +- decl_node d; ++ decl_node__opaque d; + + i = 1; +- n = alists_noOfItemsInList (partialQ); ++ n = alists_noOfItemsInList (globalGroup->partialQ); + while (i <= n) + { +- d = static_cast (alists_getItemFromList (partialQ, i)); ++ d = static_cast (alists_getItemFromList (globalGroup->partialQ, i)); + if (tryCompleteFromPartial (d, t)) + { +- alists_removeItemFromList (partialQ, reinterpret_cast (d)); +- alists_includeItemIntoList (doneQ, reinterpret_cast (d)); ++ alists_removeItemFromList (globalGroup->partialQ, reinterpret_cast (d)); ++ addDone (d); + i = 1; + n -= 1; + } +@@ -20072,25 +20768,25 @@ static void tryOutputPartial (decl_nodeProcedure t) + debugList - + */ + +-static void debugList (const char *a_, unsigned int _a_high, alists_alist l) ++static void debugList (const char *listName_, unsigned int _listName_high, const char *symName_, unsigned int _symName_high, alists_alist l) + { + unsigned int i; + unsigned int h; +- decl_node n; +- char a[_a_high+1]; ++ decl_node__opaque n; ++ char listName[_listName_high+1]; ++ char symName[_symName_high+1]; + + /* make a local copy of each unbounded array. */ +- memcpy (a, a_, _a_high+1); ++ memcpy (listName, listName_, _listName_high+1); ++ memcpy (symName, symName_, _symName_high+1); + + h = alists_noOfItemsInList (l); + if (h > 0) + { +- outText (doP, (const char *) a, _a_high); +- outText (doP, (const char *) " still contains node(s)\\n", 25); + i = 1; + do { +- n = static_cast (alists_getItemFromList (l, i)); +- dbg (n); ++ n = static_cast (alists_getItemFromList (l, i)); ++ dbg ((const char *) listName, _listName_high, (const char *) symName, _symName_high, n); + i += 1; + } while (! (i > h)); + } +@@ -20105,8 +20801,9 @@ static void debugLists (void) + { + if (mcOptions_getDebugTopological ()) + { +- debugList ((const char *) "todo", 4, todoQ); +- debugList ((const char *) "partial", 7, partialQ); ++ debugList ((const char *) "todo", 4, (const char *) "decl_node", 9, globalGroup->todoQ); ++ debugList ((const char *) "partial", 7, (const char *) "decl_node", 9, globalGroup->partialQ); ++ debugList ((const char *) "done", 4, (const char *) "decl_node", 9, globalGroup->doneQ); + } + } + +@@ -20115,11 +20812,11 @@ static void debugLists (void) + addEnumConst - + */ + +-static void addEnumConst (decl_node n) ++static void addEnumConst (decl_node__opaque n) + { + DynamicStrings_String s; + +- if ((decl_isConst (n)) || (decl_isEnumeration (n))) ++ if ((decl_isConst (static_cast (n))) || (decl_isEnumeration (static_cast (n)))) + { + addTodo (n); + } +@@ -20132,52 +20829,44 @@ static void addEnumConst (decl_node n) + + static void populateTodo (decl_nodeProcedure p) + { +- decl_node n; ++ decl_node__opaque n; + unsigned int i; + unsigned int h; + alists_alist l; + +- h = alists_noOfItemsInList (todoQ); ++ h = alists_noOfItemsInList (globalGroup->todoQ); + i = 1; + while (i <= h) + { +- n = static_cast (alists_getItemFromList (todoQ, i)); ++ n = static_cast (alists_getItemFromList (globalGroup->todoQ, i)); + l = alists_initList (); + visitNode (l, n, p); + alists_killList (&l); +- h = alists_noOfItemsInList (todoQ); ++ h = alists_noOfItemsInList (globalGroup->todoQ); + i += 1; + } + } + + + /* +- topologicallyOut - ++ topologicallyOut - keep trying to resolve the todoQ and partialQ ++ until there is no change from the global group. + */ + + static void topologicallyOut (decl_nodeProcedure c, decl_nodeProcedure t, decl_nodeProcedure v, decl_nodeProcedure tp, decl_nodeProcedure pc, decl_nodeProcedure pt, decl_nodeProcedure pv) + { +- unsigned int tol; +- unsigned int pal; +- unsigned int to; +- unsigned int pa; ++ decl_group before; + + populateTodo ((decl_nodeProcedure) {(decl_nodeProcedure_t) addEnumConst}); +- tol = 0; +- pal = 0; +- to = alists_noOfItemsInList (todoQ); +- pa = alists_noOfItemsInList (partialQ); +- while ((tol != to) || (pal != pa)) +- { +- dumpLists (); +- tryOutputTodo (c, t, v, tp); +- dumpLists (); +- tryOutputPartial (pt); +- tol = to; +- pal = pa; +- to = alists_noOfItemsInList (todoQ); +- pa = alists_noOfItemsInList (partialQ); +- } ++ before = NULL; ++ do { ++ before = dupGroup (before); /* Get a copy of the globalGroup and free before. */ ++ dumpLists (); /* Get a copy of the globalGroup and free before. */ ++ tryOutputTodo (c, t, v, tp); ++ dumpLists (); ++ tryOutputPartial (pt); ++ } while (! (equalGroup (before, globalGroup))); ++ killGroup (&before); + dumpLists (); + debugLists (); + } +@@ -20187,7 +20876,7 @@ static void topologicallyOut (decl_nodeProcedure c, decl_nodeProcedure t, decl_n + scaffoldStatic - + */ + +-static void scaffoldStatic (mcPretty_pretty p, decl_node n) ++static void scaffoldStatic (mcPretty_pretty p, decl_node__opaque n) + { + outText (p, (const char *) "\\n", 2); + doExternCP (p); +@@ -20197,9 +20886,11 @@ static void scaffoldStatic (mcPretty_pretty p, decl_node n) + doFQNameC (p, n); + outText (p, (const char *) "_init", 5); + mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(__attribute__((unused)) int argc", 33); +- outText (p, (const char *) ",__attribute__((unused)) char *argv[]", 37); +- outText (p, (const char *) ",__attribute__((unused)) char *envp[])\\n", 40); ++ outText (p, (const char *) "(__attribute__((unused)) int argc,", 34); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *argv[],", 37); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *envp[])\\n", 39); + p = outKc (p, (const char *) "{\\n", 3); + doStatementsC (p, n->impF.beginStatements); + p = outKc (p, (const char *) "}\\n", 3); +@@ -20211,9 +20902,11 @@ static void scaffoldStatic (mcPretty_pretty p, decl_node n) + doFQNameC (p, n); + outText (p, (const char *) "_fini", 5); + mcPretty_setNeedSpace (p); +- outText (p, (const char *) "(__attribute__((unused)) int argc", 33); +- outText (p, (const char *) ",__attribute__((unused)) char *argv[]", 37); +- outText (p, (const char *) ",__attribute__((unused)) char *envp[])\\n", 40); ++ outText (p, (const char *) "(__attribute__((unused)) int argc,", 34); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *argv[],", 37); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *envp[])\\n", 39); + p = outKc (p, (const char *) "{\\n", 3); + doStatementsC (p, n->impF.finallyStatements); + p = outKc (p, (const char *) "}\\n", 3); +@@ -20224,7 +20917,7 @@ static void scaffoldStatic (mcPretty_pretty p, decl_node n) + emitCtor - + */ + +-static void emitCtor (mcPretty_pretty p, decl_node n) ++static void emitCtor (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +@@ -20235,7 +20928,7 @@ static void emitCtor (mcPretty_pretty p, decl_node n) + doFQNameC (p, n); + p = outKc (p, (const char *) "{\\n", 3); + outText (p, (const char *) "M2RTS_RegisterModule (\"", 23); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); + mcPretty_prints (p, s); + outText (p, (const char *) "\",\\n", 4); + outText (p, (const char *) "init, fini, dependencies);\\n", 28); +@@ -20272,7 +20965,7 @@ static void emitCtor (mcPretty_pretty p, decl_node n) + scaffoldDynamic - + */ + +-static void scaffoldDynamic (mcPretty_pretty p, decl_node n) ++static void scaffoldDynamic (mcPretty_pretty p, decl_node__opaque n) + { + outText (p, (const char *) "\\n", 2); + doExternCP (p); +@@ -20283,8 +20976,10 @@ static void scaffoldDynamic (mcPretty_pretty p, decl_node n) + outText (p, (const char *) "_init", 5); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(__attribute__((unused)) int argc,", 34); +- outText (p, (const char *) " __attribute__((unused)) char *argv[]", 37); +- outText (p, (const char *) " __attribute__((unused)) char *envp[])\\n", 40); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *argv[],", 37); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *envp[])\\n", 39); + p = outKc (p, (const char *) "{\\n", 3); + doStatementsC (p, n->impF.beginStatements); + p = outKc (p, (const char *) "}\\n", 3); +@@ -20297,8 +20992,10 @@ static void scaffoldDynamic (mcPretty_pretty p, decl_node n) + outText (p, (const char *) "_fini", 5); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "(__attribute__((unused)) int argc,", 34); +- outText (p, (const char *) " __attribute__((unused)) char *argv[]", 37); +- outText (p, (const char *) " __attribute__((unused)) char *envp[])\\n", 40); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *argv[],", 37); ++ mcPretty_setNeedSpace (p); ++ outText (p, (const char *) "__attribute__((unused)) char *envp[])\\n", 39); + p = outKc (p, (const char *) "{\\n", 3); + doStatementsC (p, n->impF.finallyStatements); + p = outKc (p, (const char *) "}\\n", 3); +@@ -20310,7 +21007,7 @@ static void scaffoldDynamic (mcPretty_pretty p, decl_node n) + scaffoldMain - + */ + +-static void scaffoldMain (mcPretty_pretty p, decl_node n) ++static void scaffoldMain (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +@@ -20320,7 +21017,7 @@ static void scaffoldMain (mcPretty_pretty p, decl_node n) + outText (p, (const char *) "(int argc, char *argv[], char *envp[])\\n", 40); + p = outKc (p, (const char *) "{\\n", 3); + outText (p, (const char *) "M2RTS_ConstructModules (", 24); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); + mcPretty_prints (p, s); + outText (p, (const char *) ", argc, argv, envp);\\n", 22); + outText (p, (const char *) "M2RTS_DeconstructModules (", 26); +@@ -20336,7 +21033,7 @@ static void scaffoldMain (mcPretty_pretty p, decl_node n) + outImpInitC - emit the init/fini functions and main function if required. + */ + +-static void outImpInitC (mcPretty_pretty p, decl_node n) ++static void outImpInitC (mcPretty_pretty p, decl_node__opaque n) + { + if (mcOptions_getScaffoldDynamic ()) + { +@@ -20357,18 +21054,18 @@ static void outImpInitC (mcPretty_pretty p, decl_node n) + runSimplifyTypes - + */ + +-static void runSimplifyTypes (decl_node n) ++static void runSimplifyTypes (decl_node__opaque n) + { +- if (decl_isImp (n)) ++ if (decl_isImp (static_cast (n))) + { + simplifyTypes (n->impF.decls); + } +- else if (decl_isModule (n)) ++ else if (decl_isModule (static_cast (n))) + { + /* avoid dangling else. */ + simplifyTypes (n->moduleF.decls); + } +- else if (decl_isDef (n)) ++ else if (decl_isDef (static_cast (n))) + { + /* avoid dangling else. */ + simplifyTypes (n->defF.decls); +@@ -20380,13 +21077,13 @@ static void runSimplifyTypes (decl_node n) + outDefC - + */ + +-static void outDefC (mcPretty_pretty p, decl_node n) ++static void outDefC (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +- mcDebug_assert (decl_isDef (n)); ++ mcDebug_assert (decl_isDef (static_cast (n))); + outputFile = mcStream_openFrag (1); /* first fragment. */ +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); /* first fragment. */ ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); /* first fragment. */ + mcPretty_print (p, (const char *) "/* do not edit automatically generated by mc from ", 50); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) ". */\\n", 7); +@@ -20431,14 +21128,14 @@ static void outDefC (mcPretty_pretty p, decl_node n) + runPrototypeExported - + */ + +-static void runPrototypeExported (decl_node n) ++static void runPrototypeExported (decl_node__opaque n) + { +- if (decl_isExported (n)) ++ if (decl_isExported (static_cast (n))) + { +- keyc_enterScope (n); ++ keyc_enterScope (static_cast (n)); + doProcedureHeadingC (n, true); + mcPretty_print (doP, (const char *) ";\\n", 3); +- keyc_leaveScope (n); ++ keyc_leaveScope (static_cast (n)); + } + } + +@@ -20447,9 +21144,9 @@ static void runPrototypeExported (decl_node n) + runPrototypeDefC - + */ + +-static void runPrototypeDefC (decl_node n) ++static void runPrototypeDefC (decl_node__opaque n) + { +- if (decl_isDef (n)) ++ if (decl_isDef (static_cast (n))) + { + Indexing_ForeachIndiceInIndexDo (n->defF.decls.procedures, (Indexing_IndexProcedure) {(Indexing_IndexProcedure_t) runPrototypeExported}); + } +@@ -20460,14 +21157,14 @@ static void runPrototypeDefC (decl_node n) + outImpC - + */ + +-static void outImpC (mcPretty_pretty p, decl_node n) ++static void outImpC (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; +- decl_node defModule; ++ decl_node__opaque defModule; + +- mcDebug_assert (decl_isImp (n)); ++ mcDebug_assert (decl_isImp (static_cast (n))); + outputFile = mcStream_openFrag (1); /* first fragment. */ +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); /* first fragment. */ ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); /* first fragment. */ + mcPretty_print (p, (const char *) "/* do not edit automatically generated by mc from ", 50); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) ". */\\n", 7); +@@ -20489,14 +21186,16 @@ static void outImpC (mcPretty_pretty p, decl_node n) + } + else + { +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); +- /* we don't want to include the .h file for this implementation module. */ +- mcPretty_print (p, (const char *) "#define _", 9); +- mcPretty_prints (p, s); +- mcPretty_print (p, (const char *) "_H\\n", 4); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); ++ /* Inform the source that this code belongs to the implementation module. */ + mcPretty_print (p, (const char *) "#define _", 9); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) "_C\\n\\n", 6); ++ /* Include the definition module for any opaque types. */ ++ mcPretty_print (doP, (const char *) "#include \"", 10); ++ mcPretty_prints (p, mcOptions_getHPrefix ()); ++ mcPretty_prints (p, s); ++ mcPretty_print (p, (const char *) ".h\"\\n", 5); + s = DynamicStrings_KillString (s); + doP = p; + Indexing_ForeachIndiceInIndexDo (n->impF.importedModules, (Indexing_IndexProcedure) {(Indexing_IndexProcedure_t) doIncludeC}); +@@ -20504,7 +21203,7 @@ static void outImpC (mcPretty_pretty p, decl_node n) + includeDefConstType (n); + includeDefVarProcedure (n); + outDeclsImpC (p, n->impF.decls); +- defModule = decl_lookupDef (decl_getSymName (n)); ++ defModule = static_cast (decl_lookupDef (decl_getSymName (static_cast (n)))); + if (defModule != NULL) + { + runPrototypeDefC (defModule); +@@ -20540,7 +21239,7 @@ static void outDeclsModuleC (mcPretty_pretty p, decl_scopeT s) + outModuleInitC - + */ + +-static void outModuleInitC (mcPretty_pretty p, decl_node n) ++static void outModuleInitC (mcPretty_pretty p, decl_node__opaque n) + { + outText (p, (const char *) "\\n", 2); + doExternCP (p); +@@ -20577,13 +21276,13 @@ static void outModuleInitC (mcPretty_pretty p, decl_node n) + outModuleC - + */ + +-static void outModuleC (mcPretty_pretty p, decl_node n) ++static void outModuleC (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +- mcDebug_assert (decl_isModule (n)); ++ mcDebug_assert (decl_isModule (static_cast (n))); + outputFile = mcStream_openFrag (1); /* first fragment. */ +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); /* first fragment. */ ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); /* first fragment. */ + mcPretty_print (p, (const char *) "/* do not edit automatically generated by mc from ", 50); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) ". */\\n", 7); +@@ -20621,19 +21320,19 @@ static void outModuleC (mcPretty_pretty p, decl_node n) + outC - + */ + +-static void outC (mcPretty_pretty p, decl_node n) ++static void outC (mcPretty_pretty p, decl_node__opaque n) + { +- keyc_enterScope (n); +- if (decl_isDef (n)) ++ keyc_enterScope (static_cast (n)); ++ if (decl_isDef (static_cast (n))) + { + outDefC (p, n); + } +- else if (decl_isImp (n)) ++ else if (decl_isImp (static_cast (n))) + { + /* avoid dangling else. */ + outImpC (p, n); + } +- else if (decl_isModule (n)) ++ else if (decl_isModule (static_cast (n))) + { + /* avoid dangling else. */ + outModuleC (p, n); +@@ -20644,7 +21343,7 @@ static void outC (mcPretty_pretty p, decl_node n) + M2RTS_HALT (-1); + __builtin_unreachable (); + } +- keyc_leaveScope (n); ++ keyc_leaveScope (static_cast (n)); + } + + +@@ -20652,25 +21351,25 @@ static void outC (mcPretty_pretty p, decl_node n) + doIncludeM2 - include modules in module, n. + */ + +-static void doIncludeM2 (decl_node n) ++static void doIncludeM2 (decl_node__opaque n) + { + DynamicStrings_String s; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); + mcPretty_print (doP, (const char *) "IMPORT ", 7); + mcPretty_prints (doP, s); + mcPretty_print (doP, (const char *) " ;\\n", 4); + s = DynamicStrings_KillString (s); +- if (decl_isDef (n)) ++ if (decl_isDef (static_cast (n))) + { + symbolKey_foreachNodeDo (n->defF.decls.symbols, (symbolKey_performOperation) {(symbolKey_performOperation_t) addDone}); + } +- else if (decl_isImp (n)) ++ else if (decl_isImp (static_cast (n))) + { + /* avoid dangling else. */ + symbolKey_foreachNodeDo (n->impF.decls.symbols, (symbolKey_performOperation) {(symbolKey_performOperation_t) addDone}); + } +- else if (decl_isModule (n)) ++ else if (decl_isModule (static_cast (n))) + { + /* avoid dangling else. */ + symbolKey_foreachNodeDo (n->moduleF.decls.symbols, (symbolKey_performOperation) {(symbolKey_performOperation_t) addDone}); +@@ -20682,7 +21381,7 @@ static void doIncludeM2 (decl_node n) + doConstM2 - + */ + +-static void doConstM2 (decl_node n) ++static void doConstM2 (decl_node__opaque n) + { + mcPretty_print (doP, (const char *) "CONST\\n", 7); + doFQNameC (doP, n); +@@ -20696,7 +21395,7 @@ static void doConstM2 (decl_node n) + doProcTypeM2 - + */ + +-static void doProcTypeM2 (mcPretty_pretty p, decl_node n) ++static void doProcTypeM2 (mcPretty_pretty p, decl_node__opaque n) + { + outText (p, (const char *) "proc type to do..", 17); + } +@@ -20706,12 +21405,12 @@ static void doProcTypeM2 (mcPretty_pretty p, decl_node n) + doRecordFieldM2 - + */ + +-static void doRecordFieldM2 (mcPretty_pretty p, decl_node f) ++static void doRecordFieldM2 (mcPretty_pretty p, decl_node__opaque f) + { + doNameM2 (p, f); + outText (p, (const char *) ":", 1); + mcPretty_setNeedSpace (p); +- doTypeM2 (p, decl_getType (f)); ++ doTypeM2 (p, static_cast (decl_getType (static_cast (f)))); + mcPretty_setNeedSpace (p); + } + +@@ -20720,13 +21419,13 @@ static void doRecordFieldM2 (mcPretty_pretty p, decl_node f) + doVarientFieldM2 - + */ + +-static void doVarientFieldM2 (mcPretty_pretty p, decl_node n) ++static void doVarientFieldM2 (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + +- mcDebug_assert (decl_isVarientField (n)); ++ mcDebug_assert (decl_isVarientField (static_cast (n))); + doNameM2 (p, n); + outText (p, (const char *) ":", 1); + mcPretty_setNeedSpace (p); +@@ -20734,13 +21433,13 @@ static void doVarientFieldM2 (mcPretty_pretty p, decl_node n) + t = Indexing_HighIndice (n->varientfieldF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->varientfieldF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + doRecordFieldM2 (p, q); + outText (p, (const char *) ";\\n", 3); + } +- else if (decl_isVarient (q)) ++ else if (decl_isVarient (static_cast (q))) + { + /* avoid dangling else. */ + doVarientM2 (p, q); +@@ -20761,23 +21460,23 @@ static void doVarientFieldM2 (mcPretty_pretty p, decl_node n) + doVarientM2 - + */ + +-static void doVarientM2 (mcPretty_pretty p, decl_node n) ++static void doVarientM2 (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + +- mcDebug_assert (decl_isVarient (n)); ++ mcDebug_assert (decl_isVarient (static_cast (n))); + outText (p, (const char *) "CASE", 4); + mcPretty_setNeedSpace (p); + if (n->varientF.tag != NULL) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (decl_isRecordField (n->varientF.tag)) ++ if (decl_isRecordField (static_cast (n->varientF.tag))) + { + doRecordFieldM2 (p, n->varientF.tag); + } +- else if (decl_isVarientField (n->varientF.tag)) ++ else if (decl_isVarientField (static_cast (n->varientF.tag))) + { + /* avoid dangling else. */ + doVarientFieldM2 (p, n->varientF.tag); +@@ -20795,8 +21494,8 @@ static void doVarientM2 (mcPretty_pretty p, decl_node n) + t = Indexing_HighIndice (n->varientF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + /* avoid dangling else. */ + if (! q->recordfieldF.tag) +@@ -20805,7 +21504,7 @@ static void doVarientM2 (mcPretty_pretty p, decl_node n) + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarientField (q)) ++ else if (decl_isVarientField (static_cast (q))) + { + /* avoid dangling else. */ + doVarientFieldM2 (p, q); +@@ -20827,21 +21526,21 @@ static void doVarientM2 (mcPretty_pretty p, decl_node n) + doRecordM2 - + */ + +-static void doRecordM2 (mcPretty_pretty p, decl_node n) ++static void doRecordM2 (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node f; ++ decl_node__opaque f; + +- mcDebug_assert (decl_isRecord (n)); ++ mcDebug_assert (decl_isRecord (static_cast (n))); + p = outKm2 (p, (const char *) "RECORD", 6); + i = Indexing_LowIndice (n->recordF.listOfSons); + h = Indexing_HighIndice (n->recordF.listOfSons); + outText (p, (const char *) "\\n", 2); + while (i <= h) + { +- f = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); +- if (decl_isRecordField (f)) ++ f = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (f))) + { + /* avoid dangling else. */ + if (! f->recordfieldF.tag) +@@ -20850,13 +21549,13 @@ static void doRecordM2 (mcPretty_pretty p, decl_node n) + outText (p, (const char *) ";\\n", 3); + } + } +- else if (decl_isVarient (f)) ++ else if (decl_isVarient (static_cast (f))) + { + /* avoid dangling else. */ + doVarientM2 (p, f); + outText (p, (const char *) ";\\n", 3); + } +- else if (decl_isVarientField (f)) ++ else if (decl_isVarientField (static_cast (f))) + { + /* avoid dangling else. */ + doVarientFieldM2 (p, f); +@@ -20872,11 +21571,11 @@ static void doRecordM2 (mcPretty_pretty p, decl_node n) + doPointerM2 - + */ + +-static void doPointerM2 (mcPretty_pretty p, decl_node n) ++static void doPointerM2 (mcPretty_pretty p, decl_node__opaque n) + { + outText (p, (const char *) "POINTER TO", 10); + mcPretty_setNeedSpace (doP); +- doTypeM2 (p, decl_getType (n)); ++ doTypeM2 (p, static_cast (decl_getType (static_cast (n)))); + mcPretty_setNeedSpace (p); + outText (p, (const char *) ";\\n", 3); + } +@@ -20886,13 +21585,13 @@ static void doPointerM2 (mcPretty_pretty p, decl_node n) + doTypeAliasM2 - + */ + +-static void doTypeAliasM2 (mcPretty_pretty p, decl_node n) ++static void doTypeAliasM2 (mcPretty_pretty p, decl_node__opaque n) + { + doTypeNameC (p, n); + mcPretty_setNeedSpace (p); + outText (doP, (const char *) "=", 1); + mcPretty_setNeedSpace (p); +- doTypeM2 (p, decl_getType (n)); ++ doTypeM2 (p, static_cast (decl_getType (static_cast (n)))); + mcPretty_setNeedSpace (p); + outText (p, (const char *) "\\n", 2); + } +@@ -20902,11 +21601,11 @@ static void doTypeAliasM2 (mcPretty_pretty p, decl_node n) + doEnumerationM2 - + */ + +-static void doEnumerationM2 (mcPretty_pretty p, decl_node n) ++static void doEnumerationM2 (mcPretty_pretty p, decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node s; ++ decl_node__opaque s; + DynamicStrings_String t; + + outText (p, (const char *) "(", 1); +@@ -20914,7 +21613,7 @@ static void doEnumerationM2 (mcPretty_pretty p, decl_node n) + h = Indexing_HighIndice (n->enumerationF.listOfSons); + while (i <= h) + { +- s = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); ++ s = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); + doFQNameC (p, s); + if (i < h) + { +@@ -20931,7 +21630,7 @@ static void doEnumerationM2 (mcPretty_pretty p, decl_node n) + doBaseM2 - + */ + +-static void doBaseM2 (mcPretty_pretty p, decl_node n) ++static void doBaseM2 (mcPretty_pretty p, decl_node__opaque n) + { + switch (n->kind) + { +@@ -20967,7 +21666,7 @@ static void doBaseM2 (mcPretty_pretty p, decl_node n) + doSystemM2 - + */ + +-static void doSystemM2 (mcPretty_pretty p, decl_node n) ++static void doSystemM2 (mcPretty_pretty p, decl_node__opaque n) + { + switch (n->kind) + { +@@ -20992,7 +21691,7 @@ static void doSystemM2 (mcPretty_pretty p, decl_node n) + doTypeM2 - + */ + +-static void doTypeM2 (mcPretty_pretty p, decl_node n) ++static void doTypeM2 (mcPretty_pretty p, decl_node__opaque n) + { + if (isBase (n)) + { +@@ -21003,27 +21702,27 @@ static void doTypeM2 (mcPretty_pretty p, decl_node n) + /* avoid dangling else. */ + doSystemM2 (p, n); + } +- else if (decl_isType (n)) ++ else if (decl_isType (static_cast (n))) + { + /* avoid dangling else. */ + doTypeAliasM2 (p, n); + } +- else if (decl_isProcType (n)) ++ else if (decl_isProcType (static_cast (n))) + { + /* avoid dangling else. */ + doProcTypeM2 (p, n); + } +- else if (decl_isPointer (n)) ++ else if (decl_isPointer (static_cast (n))) + { + /* avoid dangling else. */ + doPointerM2 (p, n); + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + doEnumerationM2 (p, n); + } +- else if (decl_isRecord (n)) ++ else if (decl_isRecord (static_cast (n))) + { + /* avoid dangling else. */ + doRecordM2 (p, n); +@@ -21035,9 +21734,9 @@ static void doTypeM2 (mcPretty_pretty p, decl_node n) + doTypesM2 - + */ + +-static void doTypesM2 (decl_node n) ++static void doTypesM2 (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + + outText (doP, (const char *) "TYPE\\n", 6); + doTypeM2 (doP, n); +@@ -21048,13 +21747,13 @@ static void doTypesM2 (decl_node n) + doVarM2 - + */ + +-static void doVarM2 (decl_node n) ++static void doVarM2 (decl_node__opaque n) + { +- mcDebug_assert (decl_isVar (n)); ++ mcDebug_assert (decl_isVar (static_cast (n))); + doNameC (doP, n); + outText (doP, (const char *) ":", 1); + mcPretty_setNeedSpace (doP); +- doTypeM2 (doP, decl_getType (n)); ++ doTypeM2 (doP, static_cast (decl_getType (static_cast (n)))); + mcPretty_setNeedSpace (doP); + outText (doP, (const char *) ";\\n", 3); + } +@@ -21064,9 +21763,9 @@ static void doVarM2 (decl_node n) + doVarsM2 - + */ + +-static void doVarsM2 (decl_node n) ++static void doVarsM2 (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + + outText (doP, (const char *) "VAR\\n", 5); + doVarM2 (n); +@@ -21077,7 +21776,7 @@ static void doVarsM2 (decl_node n) + doTypeNameM2 - + */ + +-static void doTypeNameM2 (mcPretty_pretty p, decl_node n) ++static void doTypeNameM2 (mcPretty_pretty p, decl_node__opaque n) + { + doNameM2 (p, n); + } +@@ -21087,16 +21786,16 @@ static void doTypeNameM2 (mcPretty_pretty p, decl_node n) + doParamM2 - + */ + +-static void doParamM2 (mcPretty_pretty p, decl_node n) ++static void doParamM2 (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node ptype; ++ decl_node__opaque ptype; + nameKey_Name i; + unsigned int c; + unsigned int t; + wlists_wlist l; + +- mcDebug_assert (decl_isParam (n)); +- ptype = decl_getType (n); ++ mcDebug_assert (decl_isParam (static_cast (n))); ++ ptype = static_cast (decl_getType (static_cast (n))); + if (n->paramF.namelist == NULL) + { + doTypeNameM2 (p, ptype); +@@ -21137,18 +21836,18 @@ static void doParamM2 (mcPretty_pretty p, decl_node n) + doVarParamM2 - + */ + +-static void doVarParamM2 (mcPretty_pretty p, decl_node n) ++static void doVarParamM2 (mcPretty_pretty p, decl_node__opaque n) + { +- decl_node ptype; ++ decl_node__opaque ptype; + nameKey_Name i; + unsigned int c; + unsigned int t; + wlists_wlist l; + +- mcDebug_assert (decl_isVarParam (n)); ++ mcDebug_assert (decl_isVarParam (static_cast (n))); + outText (p, (const char *) "VAR", 3); + mcPretty_setNeedSpace (p); +- ptype = decl_getType (n); ++ ptype = static_cast (decl_getType (static_cast (n))); + if (n->varparamF.namelist == NULL) + { + doTypeNameM2 (p, ptype); +@@ -21189,18 +21888,18 @@ static void doVarParamM2 (mcPretty_pretty p, decl_node n) + doParameterM2 - + */ + +-static void doParameterM2 (mcPretty_pretty p, decl_node n) ++static void doParameterM2 (mcPretty_pretty p, decl_node__opaque n) + { +- if (decl_isParam (n)) ++ if (decl_isParam (static_cast (n))) + { + doParamM2 (p, n); + } +- else if (decl_isVarParam (n)) ++ else if (decl_isVarParam (static_cast (n))) + { + /* avoid dangling else. */ + doVarParamM2 (p, n); + } +- else if (decl_isVarargs (n)) ++ else if (decl_isVarargs (static_cast (n))) + { + /* avoid dangling else. */ + mcPretty_print (p, (const char *) "...", 3); +@@ -21212,13 +21911,13 @@ static void doParameterM2 (mcPretty_pretty p, decl_node n) + doPrototypeM2 - + */ + +-static void doPrototypeM2 (decl_node n) ++static void doPrototypeM2 (decl_node__opaque n) + { + unsigned int i; + unsigned int h; +- decl_node p; ++ decl_node__opaque p; + +- mcDebug_assert (decl_isProcedure (n)); ++ mcDebug_assert (decl_isProcedure (static_cast (n))); + mcPretty_noSpace (doP); + doNameM2 (doP, n); + mcPretty_setNeedSpace (doP); +@@ -21227,7 +21926,7 @@ static void doPrototypeM2 (decl_node n) + h = Indexing_HighIndice (n->procedureF.parameters); + while (i <= h) + { +- p = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); ++ p = static_cast (Indexing_GetIndice (n->procedureF.parameters, i)); + doParameterM2 (doP, p); + mcPretty_noSpace (doP); + if (i < h) +@@ -21258,21 +21957,21 @@ static void doPrototypeM2 (decl_node n) + when trying to complete partial to full. + */ + +-static void outputPartialM2 (decl_node n) ++static void outputPartialM2 (decl_node__opaque n) + { +- decl_node q; ++ decl_node__opaque q; + +- q = decl_getType (n); +- if (decl_isRecord (q)) ++ q = static_cast (decl_getType (static_cast (n))); ++ if (decl_isRecord (static_cast (q))) + { + doTypeM2 (doP, n); + } +- else if (decl_isArray (q)) ++ else if (decl_isArray (static_cast (q))) + { + /* avoid dangling else. */ + doTypeM2 (doP, n); + } +- else if (decl_isProcType (q)) ++ else if (decl_isProcType (static_cast (q))) + { + /* avoid dangling else. */ + doTypeM2 (doP, n); +@@ -21300,16 +21999,16 @@ static void outDeclsDefM2 (mcPretty_pretty p, decl_scopeT s) + outDefM2 - + */ + +-static void outDefM2 (mcPretty_pretty p, decl_node n) ++static void outDefM2 (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSource (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSource (static_cast (n)))); + mcPretty_print (p, (const char *) "(* automatically created by mc from ", 36); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) ". *)\\n\\n", 9); + s = DynamicStrings_KillString (s); +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (static_cast (n)))); + mcPretty_print (p, (const char *) "DEFINITION MODULE ", 18); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) " ;\\n\\n", 6); +@@ -21346,11 +22045,11 @@ static void outDeclsImpM2 (mcPretty_pretty p, decl_scopeT s) + outImpM2 - + */ + +-static void outImpM2 (mcPretty_pretty p, decl_node n) ++static void outImpM2 (mcPretty_pretty p, decl_node__opaque n) + { + DynamicStrings_String s; + +- s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSource (n))); ++ s = DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSource (static_cast (n)))); + mcPretty_print (p, (const char *) "(* automatically created by mc from ", 36); + mcPretty_prints (p, s); + mcPretty_print (p, (const char *) ". *)\\n\\n", 9); +@@ -21374,7 +22073,7 @@ static void outImpM2 (mcPretty_pretty p, decl_node n) + outModuleM2 - + */ + +-static void outModuleM2 (mcPretty_pretty p, decl_node n) ++static void outModuleM2 (mcPretty_pretty p, decl_node__opaque n) + { + } + +@@ -21383,18 +22082,18 @@ static void outModuleM2 (mcPretty_pretty p, decl_node n) + outM2 - + */ + +-static void outM2 (mcPretty_pretty p, decl_node n) ++static void outM2 (mcPretty_pretty p, decl_node__opaque n) + { +- if (decl_isDef (n)) ++ if (decl_isDef (static_cast (n))) + { + outDefM2 (p, n); + } +- else if (decl_isImp (n)) ++ else if (decl_isImp (static_cast (n))) + { + /* avoid dangling else. */ + outImpM2 (p, n); + } +- else if (decl_isModule (n)) ++ else if (decl_isModule (static_cast (n))) + { + /* avoid dangling else. */ + outModuleM2 (p, n); +@@ -21412,9 +22111,16 @@ static void outM2 (mcPretty_pretty p, decl_node n) + addDone - adds node, n, to the doneQ. + */ + +-static void addDone (decl_node n) ++static void addDone (decl_node__opaque n) + { +- alists_includeItemIntoList (doneQ, reinterpret_cast (n)); ++ DynamicStrings_String s; ++ ++ alists_includeItemIntoList (globalGroup->doneQ, reinterpret_cast (n)); ++ if ((decl_isVar (static_cast (n))) || (decl_isParameter (static_cast (n)))) ++ { ++ initNodeOpaqueState (n); ++ } ++ debugLists (); + } + + +@@ -21423,21 +22129,29 @@ static void addDone (decl_node n) + it is not an opaque of the main module we are compiling. + */ + +-static void addDoneDef (decl_node n) ++static void addDoneDef (decl_node__opaque n) + { +- if (decl_isDef (n)) ++ if (decl_isDef (static_cast (n))) + { + addDone (n); +- return ; ++ return; + } +- if ((! (decl_isDef (n))) && ((decl_lookupImp (decl_getSymName (decl_getScope (n)))) == (decl_getMainModule ()))) ++ if (false && ((decl_lookupImp (decl_getSymName (decl_getScope (static_cast (n))))) == (decl_getMainModule ()))) + { + mcMetaError_metaError1 ((const char *) "cyclic dependancy found between another module using {%1ad} from the definition module of the implementation main being compiled, use the --extended-opaque option to compile", 173, (const unsigned char *) &n, (sizeof (n)-1)); + mcError_flushErrors (); + mcError_errorAbort0 ((const char *) "terminating compilation", 23); + } ++ else if ((decl_isType (static_cast (n))) && (isDeclInImp (n))) ++ { ++ /* avoid dangling else. */ ++ } + else + { ++ /* avoid dangling else. */ ++ /* Ignore an opaque type which is declared in this implementation module as it ++ will be fully declared in C/C++ with the __opaque postfix. Whereas the ++ void * non prefixed typedef will be declared in the .h file. */ + addDone (n); + } + } +@@ -21447,11 +22161,11 @@ static void addDoneDef (decl_node n) + dbgAdd - + */ + +-static decl_node dbgAdd (alists_alist l, decl_node n) ++static decl_node__opaque dbgAdd (alists_alist l, decl_node__opaque n) + { + if (n != NULL) + { +- alists_includeItemIntoList (l, reinterpret_cast (n)); ++ alists_includeItemIntoList (l, reinterpret_cast (n)); + } + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -21463,11 +22177,11 @@ static decl_node dbgAdd (alists_alist l, decl_node n) + dbgType - + */ + +-static void dbgType (alists_alist l, decl_node n) ++static void dbgType (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = dbgAdd (l, decl_getType (n)); ++ t = dbgAdd (l, static_cast (decl_getType (static_cast (n)))); + out1 ((const char *) "<%s type", 8, n); + if (t == NULL) + { +@@ -21484,11 +22198,11 @@ static void dbgType (alists_alist l, decl_node n) + dbgPointer - + */ + +-static void dbgPointer (alists_alist l, decl_node n) ++static void dbgPointer (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = dbgAdd (l, decl_getType (n)); ++ t = dbgAdd (l, static_cast (decl_getType (static_cast (n)))); + out1 ((const char *) "<%s pointer", 11, n); + out1 ((const char *) " to %s>\\n", 9, t); + } +@@ -21498,28 +22212,28 @@ static void dbgPointer (alists_alist l, decl_node n) + dbgRecord - + */ + +-static void dbgRecord (alists_alist l, decl_node n) ++static void dbgRecord (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + out1 ((const char *) "<%s record:\\n", 13, n); + i = Indexing_LowIndice (n->recordF.listOfSons); + t = Indexing_HighIndice (n->recordF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->recordF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + out1 ((const char *) " (q))) + { + /* avoid dangling else. */ + out1 ((const char *) " (q))) + { + /* avoid dangling else. */ + out1 ((const char *) " (decl_getType (static_cast (q)))); + out1 ((const char *) ": %s>\\n", 7, q); + i += 1; + } +@@ -21542,15 +22256,15 @@ static void dbgRecord (alists_alist l, decl_node n) + dbgVarient - + */ + +-static void dbgVarient (alists_alist l, decl_node n) ++static void dbgVarient (alists_alist l, decl_node__opaque n) + { + unsigned int i; + unsigned int t; +- decl_node q; ++ decl_node__opaque q; + + out1 ((const char *) "<%s varient: ", 13, n); + out1 ((const char *) "tag %s", 6, n->varientF.tag); +- q = decl_getType (n->varientF.tag); ++ q = static_cast (decl_getType (static_cast (n->varientF.tag))); + if (q == NULL) + { + outText (doP, (const char *) "\\n", 2); +@@ -21564,17 +22278,17 @@ static void dbgVarient (alists_alist l, decl_node n) + t = Indexing_HighIndice (n->varientF.listOfSons); + while (i <= t) + { +- q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); +- if (decl_isRecordField (q)) ++ q = static_cast (Indexing_GetIndice (n->varientF.listOfSons, i)); ++ if (decl_isRecordField (static_cast (q))) + { + out1 ((const char *) " (q))) + { + /* avoid dangling else. */ + out1 ((const char *) " (q))) + { + /* avoid dangling else. */ + out1 ((const char *) " (decl_getType (static_cast (q)))); + out1 ((const char *) ": %s>\\n", 7, q); + i += 1; + } +@@ -21597,9 +22311,9 @@ static void dbgVarient (alists_alist l, decl_node n) + dbgEnumeration - + */ + +-static void dbgEnumeration (alists_alist l, decl_node n) ++static void dbgEnumeration (alists_alist l, decl_node__opaque n) + { +- decl_node e; ++ decl_node__opaque e; + unsigned int i; + unsigned int h; + +@@ -21608,7 +22322,7 @@ static void dbgEnumeration (alists_alist l, decl_node n) + h = Indexing_HighIndice (n->enumerationF.listOfSons); + while (i <= h) + { +- e = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); ++ e = static_cast (Indexing_GetIndice (n->enumerationF.listOfSons, i)); + out1 ((const char *) "%s, ", 4, e); + i += 1; + } +@@ -21620,11 +22334,11 @@ static void dbgEnumeration (alists_alist l, decl_node n) + dbgVar - + */ + +-static void dbgVar (alists_alist l, decl_node n) ++static void dbgVar (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = dbgAdd (l, decl_getType (n)); ++ t = dbgAdd (l, static_cast (decl_getType (static_cast (n)))); + out1 ((const char *) "<%s var", 7, n); + out1 ((const char *) ", type = %s>\\n", 14, t); + } +@@ -21634,7 +22348,7 @@ static void dbgVar (alists_alist l, decl_node n) + dbgSubrange - + */ + +-static void dbgSubrange (alists_alist l, decl_node n) ++static void dbgSubrange (alists_alist l, decl_node__opaque n) + { + if (n->subrangeF.low == NULL) + { +@@ -21652,11 +22366,11 @@ static void dbgSubrange (alists_alist l, decl_node n) + dbgArray - + */ + +-static void dbgArray (alists_alist l, decl_node n) ++static void dbgArray (alists_alist l, decl_node__opaque n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = dbgAdd (l, decl_getType (n)); ++ t = dbgAdd (l, static_cast (decl_getType (static_cast (n)))); + out1 ((const char *) "<%s array ", 10, n); + if (n->arrayF.subr != NULL) + { +@@ -21670,46 +22384,46 @@ static void dbgArray (alists_alist l, decl_node n) + doDbg - + */ + +-static void doDbg (alists_alist l, decl_node n) ++static void doDbg (alists_alist l, decl_node__opaque n) + { + if (n == NULL) + {} /* empty. */ +- else if (decl_isSubrange (n)) ++ else if (decl_isSubrange (static_cast (n))) + { + /* avoid dangling else. */ + dbgSubrange (l, n); + } +- else if (decl_isType (n)) ++ else if (decl_isType (static_cast (n))) + { + /* avoid dangling else. */ + dbgType (l, n); + } +- else if (decl_isRecord (n)) ++ else if (decl_isRecord (static_cast (n))) + { + /* avoid dangling else. */ + dbgRecord (l, n); + } +- else if (decl_isVarient (n)) ++ else if (decl_isVarient (static_cast (n))) + { + /* avoid dangling else. */ + dbgVarient (l, n); + } +- else if (decl_isEnumeration (n)) ++ else if (decl_isEnumeration (static_cast (n))) + { + /* avoid dangling else. */ + dbgEnumeration (l, n); + } +- else if (decl_isPointer (n)) ++ else if (decl_isPointer (static_cast (n))) + { + /* avoid dangling else. */ + dbgPointer (l, n); + } +- else if (decl_isArray (n)) ++ else if (decl_isArray (static_cast (n))) + { + /* avoid dangling else. */ + dbgArray (l, n); + } +- else if (decl_isVar (n)) ++ else if (decl_isVar (static_cast (n))) + { + /* avoid dangling else. */ + dbgVar (l, n); +@@ -21721,25 +22435,41 @@ static void doDbg (alists_alist l, decl_node n) + dbg - + */ + +-static void dbg (decl_node n) ++static void dbg (const char *listName_, unsigned int _listName_high, const char *symName_, unsigned int _symName_high, decl_node__opaque n) + { + alists_alist l; + mcPretty_pretty o; + FIO_File f; + DynamicStrings_String s; + unsigned int i; ++ char listName[_listName_high+1]; ++ char symName[_symName_high+1]; ++ ++ /* make a local copy of each unbounded array. */ ++ memcpy (listName, listName_, _listName_high+1); ++ memcpy (symName, symName_, _symName_high+1); + + o = doP; + f = outputFile; + outputFile = FIO_StdOut; + doP = mcPretty_initPretty ((mcPretty_writeProc) {(mcPretty_writeProc_t) write_}, (mcPretty_writeLnProc) {(mcPretty_writeLnProc_t) writeln}); + l = alists_initList (); +- alists_includeItemIntoList (l, reinterpret_cast (n)); ++ alists_includeItemIntoList (l, reinterpret_cast (n)); + i = 1; +- out1 ((const char *) "dbg (%s)\\n", 10, n); + do { +- n = static_cast (alists_getItemFromList (l, i)); +- doDbg (l, n); ++ n = static_cast (alists_getItemFromList (l, i)); ++ if (decl_isType (static_cast (n))) ++ { ++ s = getFQstring (n); ++ if (DynamicStrings_EqualArray (s, (const char *) symName, _symName_high)) ++ { ++ out0 ((const char *) "list ", 5); ++ out0 ((const char *) listName, _listName_high); ++ out0 ((const char *) ": ", 2); ++ doDbg (l, n); ++ } ++ s = DynamicStrings_KillString (s); ++ } + i += 1; + } while (! (i > (alists_noOfItemsInList (l)))); + doP = o; +@@ -21752,7 +22482,7 @@ static void dbg (decl_node n) + nodes. + */ + +-static void addGenericBody (decl_node n, decl_node c) ++static void addGenericBody (decl_node__opaque n, decl_node__opaque c) + { + switch (n->kind) + { +@@ -21804,7 +22534,7 @@ static void addGenericBody (decl_node n, decl_node c) + nodes. + */ + +-static void addGenericAfter (decl_node n, decl_node c) ++static void addGenericAfter (decl_node__opaque n, decl_node__opaque c) + { + switch (n->kind) + { +@@ -21855,7 +22585,7 @@ static void addGenericAfter (decl_node n, decl_node c) + isAssignment - + */ + +-static bool isAssignment (decl_node n) ++static bool isAssignment (decl_node__opaque n) + { + return n->kind == decl_assignment; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -21867,7 +22597,7 @@ static bool isAssignment (decl_node n) + isComment - returns TRUE if node, n, is a comment. + */ + +-static bool isComment (decl_node n) ++static bool isComment (decl_node__opaque n) + { + mcDebug_assert (n != NULL); + return n->kind == decl_comment; +@@ -21882,8 +22612,8 @@ static bool isComment (decl_node n) + + static void initPair (decl_commentPair *c) + { +- (*c).after = NULL; +- (*c).body = NULL; ++ (*c).after = static_cast (NULL); ++ (*c).body = static_cast (NULL); + } + + +@@ -21891,17 +22621,17 @@ static void initPair (decl_commentPair *c) + dupExplist - + */ + +-static decl_node dupExplist (decl_node n) ++static decl_node__opaque dupExplist (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + unsigned int i; + +- mcDebug_assert (decl_isExpList (n)); +- m = decl_makeExpList (); ++ mcDebug_assert (decl_isExpList (static_cast (n))); ++ m = static_cast (decl_makeExpList ()); + i = Indexing_LowIndice (n->explistF.exp); + while (i <= (Indexing_HighIndice (n->explistF.exp))) + { +- decl_putExpList (m, decl_dupExpr (reinterpret_cast (Indexing_GetIndice (n->explistF.exp, i)))); ++ decl_putExpList (static_cast (m), decl_dupExpr (static_cast (Indexing_GetIndice (n->explistF.exp, i)))); + i += 1; + } + return m; +@@ -21914,10 +22644,10 @@ static decl_node dupExplist (decl_node n) + dupArrayref - + */ + +-static decl_node dupArrayref (decl_node n) ++static decl_node__opaque dupArrayref (decl_node__opaque n) + { + mcDebug_assert (isArrayRef (n)); +- return decl_makeArrayRef (decl_dupExpr (n->arrayrefF.array), decl_dupExpr (n->arrayrefF.index)); ++ return static_cast (decl_makeArrayRef (decl_dupExpr (static_cast (n->arrayrefF.array)), decl_dupExpr (static_cast (n->arrayrefF.index)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -21927,10 +22657,10 @@ static decl_node dupArrayref (decl_node n) + dupPointerref - + */ + +-static decl_node dupPointerref (decl_node n) ++static decl_node__opaque dupPointerref (decl_node__opaque n) + { +- mcDebug_assert (decl_isPointerRef (n)); +- return decl_makePointerRef (decl_dupExpr (n->pointerrefF.ptr), decl_dupExpr (n->pointerrefF.field)); ++ mcDebug_assert (decl_isPointerRef (static_cast (n))); ++ return static_cast (decl_makePointerRef (decl_dupExpr (static_cast (n->pointerrefF.ptr)), decl_dupExpr (static_cast (n->pointerrefF.field)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -21940,10 +22670,10 @@ static decl_node dupPointerref (decl_node n) + dupComponentref - + */ + +-static decl_node dupComponentref (decl_node n) ++static decl_node__opaque dupComponentref (decl_node__opaque n) + { + mcDebug_assert (isComponentRef (n)); +- return doMakeComponentRef (decl_dupExpr (n->componentrefF.rec), decl_dupExpr (n->componentrefF.field)); ++ return doMakeComponentRef (static_cast (decl_dupExpr (static_cast (n->componentrefF.rec))), static_cast (decl_dupExpr (static_cast (n->componentrefF.field)))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -21953,10 +22683,10 @@ static decl_node dupComponentref (decl_node n) + dupBinary - + */ + +-static decl_node dupBinary (decl_node n) ++static decl_node__opaque dupBinary (decl_node__opaque n) + { + /* assert (isBinary (n)) ; */ +- return makeBinary (n->kind, decl_dupExpr (n->binaryF.left), decl_dupExpr (n->binaryF.right), n->binaryF.resultType); ++ return makeBinary (n->kind, static_cast (decl_dupExpr (static_cast (n->binaryF.left))), static_cast (decl_dupExpr (static_cast (n->binaryF.right))), n->binaryF.resultType); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -21966,10 +22696,10 @@ static decl_node dupBinary (decl_node n) + dupUnary - + */ + +-static decl_node dupUnary (decl_node n) ++static decl_node__opaque dupUnary (decl_node__opaque n) + { + /* assert (isUnary (n)) ; */ +- return makeUnary (n->kind, decl_dupExpr (n->unaryF.arg), n->unaryF.resultType); ++ return makeUnary (n->kind, static_cast (decl_dupExpr (static_cast (n->unaryF.arg))), n->unaryF.resultType); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -21979,13 +22709,14 @@ static decl_node dupUnary (decl_node n) + dupFunccall - + */ + +-static decl_node dupFunccall (decl_node n) ++static decl_node__opaque dupFunccall (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + + mcDebug_assert (isFuncCall (n)); +- m = decl_makeFuncCall (decl_dupExpr (n->funccallF.function), decl_dupExpr (n->funccallF.args)); ++ m = static_cast (decl_makeFuncCall (decl_dupExpr (static_cast (n->funccallF.function)), decl_dupExpr (static_cast (n->funccallF.args)))); + m->funccallF.type = n->funccallF.type; ++ assignNodeOpaqueCastState (m, n); + return m; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -21996,9 +22727,9 @@ static decl_node dupFunccall (decl_node n) + dupSetValue - + */ + +-static decl_node dupSetValue (decl_node n) ++static decl_node__opaque dupSetValue (decl_node__opaque n) + { +- decl_node m; ++ decl_node__opaque m; + unsigned int i; + + m = newNode (decl_setvalue); +@@ -22006,7 +22737,7 @@ static decl_node dupSetValue (decl_node n) + i = Indexing_LowIndice (n->setvalueF.values); + while (i <= (Indexing_HighIndice (n->setvalueF.values))) + { +- m = decl_putSetValue (m, decl_dupExpr (reinterpret_cast (Indexing_GetIndice (n->setvalueF.values, i)))); ++ m = static_cast (decl_putSetValue (static_cast (m), decl_dupExpr (static_cast (Indexing_GetIndice (n->setvalueF.values, i))))); + i += 1; + } + return m; +@@ -22019,7 +22750,7 @@ static decl_node dupSetValue (decl_node n) + doDupExpr - + */ + +-static decl_node doDupExpr (decl_node n) ++static decl_node__opaque doDupExpr (decl_node__opaque n) + { + mcDebug_assert (n != NULL); + switch (n->kind) +@@ -22207,7 +22938,7 @@ static decl_node doDupExpr (decl_node n) + + static void makeSystem (void) + { +- systemN = decl_lookupDef (nameKey_makeKey ((const char *) "SYSTEM", 6)); ++ systemN = static_cast (decl_lookupDef (nameKey_makeKey ((const char *) "SYSTEM", 6))); + addressN = makeBase (decl_address); + locN = makeBase (decl_loc); + byteN = makeBase (decl_byte); +@@ -22217,7 +22948,7 @@ static void makeSystem (void) + adrN = makeBase (decl_adr); + tsizeN = makeBase (decl_tsize); + throwN = makeBase (decl_throw); +- decl_enterScope (systemN); ++ decl_enterScope (static_cast (systemN)); + addressN = addToScope (addressN); + locN = addToScope (locN); + byteN = addToScope (byteN); +@@ -22245,7 +22976,7 @@ static void makeSystem (void) + + static void makeM2rts (void) + { +- m2rtsN = decl_lookupDef (nameKey_makeKey ((const char *) "M2RTS", 5)); ++ m2rtsN = static_cast (decl_lookupDef (nameKey_makeKey ((const char *) "M2RTS", 5))); + } + + +@@ -22253,13 +22984,13 @@ static void makeM2rts (void) + makeBitnum - + */ + +-static decl_node makeBitnum (void) ++static decl_node__opaque makeBitnum (void) + { +- decl_node b; ++ decl_node__opaque b; + + b = newNode (decl_subrange); +- b->subrangeF.type = NULL; +- b->subrangeF.scope = NULL; ++ b->subrangeF.type = static_cast (NULL); ++ b->subrangeF.scope = static_cast (NULL); + b->subrangeF.low = lookupConst (b, nameKey_makeKey ((const char *) "0", 1)); + b->subrangeF.high = lookupConst (b, nameKey_makeKey ((const char *) "31", 2)); + return b; +@@ -22318,46 +23049,46 @@ static void makeBaseSymbols (void) + imN = makeBase (decl_im); + reN = makeBase (decl_re); + cmplxN = makeBase (decl_cmplx); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "BOOLEAN", 7), reinterpret_cast (booleanN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "PROC", 4), reinterpret_cast (procN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CHAR", 4), reinterpret_cast (charN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CARDINAL", 8), reinterpret_cast (cardinalN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTCARD", 9), reinterpret_cast (shortcardN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGCARD", 8), reinterpret_cast (longcardN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INTEGER", 7), reinterpret_cast (integerN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGINT", 7), reinterpret_cast (longintN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTINT", 8), reinterpret_cast (shortintN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "BITSET", 6), reinterpret_cast (bitsetN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "REAL", 4), reinterpret_cast (realN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTREAL", 9), reinterpret_cast (shortrealN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGREAL", 8), reinterpret_cast (longrealN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "COMPLEX", 7), reinterpret_cast (complexN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGCOMPLEX", 11), reinterpret_cast (longcomplexN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTCOMPLEX", 12), reinterpret_cast (shortcomplexN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "NIL", 3), reinterpret_cast (nilN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "TRUE", 4), reinterpret_cast (trueN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "FALSE", 5), reinterpret_cast (falseN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SIZE", 4), reinterpret_cast (sizeN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "MIN", 3), reinterpret_cast (minN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "MAX", 3), reinterpret_cast (maxN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "FLOAT", 5), reinterpret_cast (floatN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "TRUNC", 5), reinterpret_cast (truncN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "ORD", 3), reinterpret_cast (ordN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "VAL", 3), reinterpret_cast (valN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CHR", 3), reinterpret_cast (chrN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CAP", 3), reinterpret_cast (capN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "ABS", 3), reinterpret_cast (absN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "NEW", 3), reinterpret_cast (newN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "DISPOSE", 7), reinterpret_cast (disposeN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LENGTH", 6), reinterpret_cast (lengthN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INC", 3), reinterpret_cast (incN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "DEC", 3), reinterpret_cast (decN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INCL", 4), reinterpret_cast (inclN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "EXCL", 4), reinterpret_cast (exclN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "HIGH", 4), reinterpret_cast (highN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CMPLX", 5), reinterpret_cast (cmplxN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "RE", 2), reinterpret_cast (reN)); +- symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "IM", 2), reinterpret_cast (imN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "BOOLEAN", 7), reinterpret_cast (booleanN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "PROC", 4), reinterpret_cast (procN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CHAR", 4), reinterpret_cast (charN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CARDINAL", 8), reinterpret_cast (cardinalN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTCARD", 9), reinterpret_cast (shortcardN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGCARD", 8), reinterpret_cast (longcardN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INTEGER", 7), reinterpret_cast (integerN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGINT", 7), reinterpret_cast (longintN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTINT", 8), reinterpret_cast (shortintN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "BITSET", 6), reinterpret_cast (bitsetN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "REAL", 4), reinterpret_cast (realN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTREAL", 9), reinterpret_cast (shortrealN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGREAL", 8), reinterpret_cast (longrealN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "COMPLEX", 7), reinterpret_cast (complexN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LONGCOMPLEX", 11), reinterpret_cast (longcomplexN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SHORTCOMPLEX", 12), reinterpret_cast (shortcomplexN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "NIL", 3), reinterpret_cast (nilN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "TRUE", 4), reinterpret_cast (trueN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "FALSE", 5), reinterpret_cast (falseN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "SIZE", 4), reinterpret_cast (sizeN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "MIN", 3), reinterpret_cast (minN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "MAX", 3), reinterpret_cast (maxN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "FLOAT", 5), reinterpret_cast (floatN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "TRUNC", 5), reinterpret_cast (truncN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "ORD", 3), reinterpret_cast (ordN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "VAL", 3), reinterpret_cast (valN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CHR", 3), reinterpret_cast (chrN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CAP", 3), reinterpret_cast (capN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "ABS", 3), reinterpret_cast (absN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "NEW", 3), reinterpret_cast (newN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "DISPOSE", 7), reinterpret_cast (disposeN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "LENGTH", 6), reinterpret_cast (lengthN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INC", 3), reinterpret_cast (incN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "DEC", 3), reinterpret_cast (decN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "INCL", 4), reinterpret_cast (inclN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "EXCL", 4), reinterpret_cast (exclN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "HIGH", 4), reinterpret_cast (highN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "CMPLX", 5), reinterpret_cast (cmplxN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "RE", 2), reinterpret_cast (reN)); ++ symbolKey_putSymKey (baseSymbols, nameKey_makeKey ((const char *) "IM", 2), reinterpret_cast (imN)); + addDone (booleanN); + addDone (charN); + addDone (cardinalN); +@@ -22389,10 +23120,10 @@ static void makeBaseSymbols (void) + + static void makeBuiltins (void) + { +- bitsperunitN = decl_makeLiteralInt (nameKey_makeKey ((const char *) "8", 1)); +- bitsperwordN = decl_makeLiteralInt (nameKey_makeKey ((const char *) "32", 2)); +- bitspercharN = decl_makeLiteralInt (nameKey_makeKey ((const char *) "8", 1)); +- unitsperwordN = decl_makeLiteralInt (nameKey_makeKey ((const char *) "4", 1)); ++ bitsperunitN = static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "8", 1))); ++ bitsperwordN = static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "32", 2))); ++ bitspercharN = static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "8", 1))); ++ unitsperwordN = static_cast (decl_makeLiteralInt (nameKey_makeKey ((const char *) "4", 1))); + addDone (bitsperunitN); + addDone (bitsperwordN); + addDone (bitspercharN); +@@ -22400,6 +23131,22 @@ static void makeBuiltins (void) + } + + ++/* ++ makeCDataTypes - assign the charStarN and constCharStarN to NIL. ++*/ ++ ++static void makeCDataTypes (void) ++{ ++ decl_node__opaque CdatatypesN; ++ ++ CdatatypesN = static_cast (decl_lookupDef (nameKey_makeKey ((const char *) "CDataTypes", 10))); ++ decl_enterScope (static_cast (CdatatypesN)); ++ charStarN = static_cast (decl_makePointer (static_cast (charN))); ++ constCharStarN = static_cast (decl_makePointer (static_cast (charN))); ++ decl_leaveScope (); ++} ++ ++ + /* + init - + */ +@@ -22409,9 +23156,8 @@ static void init (void) + lang = decl_ansiC; + outputFile = FIO_StdOut; + doP = mcPretty_initPretty ((mcPretty_writeProc) {(mcPretty_writeProc_t) write_}, (mcPretty_writeLnProc) {(mcPretty_writeLnProc_t) writeln}); +- todoQ = alists_initList (); +- partialQ = alists_initList (); +- doneQ = alists_initList (); ++ freeGroup = NULL; ++ globalGroup = initGroup (); + modUniverse = symbolKey_initTree (); + defUniverse = symbolKey_initTree (); + modUniverseI = Indexing_InitIndex (1); +@@ -22424,6 +23170,7 @@ static void init (void) + outputState = decl_punct; + tempCount = 0; + mustVisitScope = false; ++ makeCDataTypes (); + } + + +@@ -22434,7 +23181,7 @@ static void init (void) + + extern "C" unsigned int decl_getDeclaredMod (decl_node n) + { +- return n->at.modDeclared; ++ return static_cast (n)->at.modDeclared; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22447,7 +23194,7 @@ extern "C" unsigned int decl_getDeclaredMod (decl_node n) + + extern "C" unsigned int decl_getDeclaredDef (decl_node n) + { +- return n->at.defDeclared; ++ return static_cast (n)->at.defDeclared; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22460,7 +23207,7 @@ extern "C" unsigned int decl_getDeclaredDef (decl_node n) + + extern "C" unsigned int decl_getFirstUsed (decl_node n) + { +- return n->at.firstUsed; ++ return static_cast (n)->at.firstUsed; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22473,7 +23220,7 @@ extern "C" unsigned int decl_getFirstUsed (decl_node n) + extern "C" bool decl_isDef (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_def; ++ return static_cast (n)->kind == decl_def; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22486,7 +23233,7 @@ extern "C" bool decl_isDef (decl_node n) + extern "C" bool decl_isImp (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_imp; ++ return static_cast (n)->kind == decl_imp; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22510,18 +23257,18 @@ extern "C" bool decl_isImpOrModule (decl_node n) + + extern "C" bool decl_isVisited (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- return n->defF.visited; ++ return static_cast (n)->defF.visited; + break; + + case decl_imp: +- return n->impF.visited; ++ return static_cast (n)->impF.visited; + break; + + case decl_module: +- return n->moduleF.visited; ++ return static_cast (n)->moduleF.visited; + break; + + +@@ -22540,18 +23287,18 @@ extern "C" bool decl_isVisited (decl_node n) + + extern "C" void decl_unsetVisited (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- n->defF.visited = false; ++ static_cast (n)->defF.visited = false; + break; + + case decl_imp: +- n->impF.visited = false; ++ static_cast (n)->impF.visited = false; + break; + + case decl_module: +- n->moduleF.visited = false; ++ static_cast (n)->moduleF.visited = false; + break; + + +@@ -22568,18 +23315,18 @@ extern "C" void decl_unsetVisited (decl_node n) + + extern "C" void decl_setVisited (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- n->defF.visited = true; ++ static_cast (n)->defF.visited = true; + break; + + case decl_imp: +- n->impF.visited = true; ++ static_cast (n)->impF.visited = true; + break; + + case decl_module: +- n->moduleF.visited = true; ++ static_cast (n)->moduleF.visited = true; + break; + + +@@ -22596,18 +23343,18 @@ extern "C" void decl_setVisited (decl_node n) + + extern "C" void decl_setEnumsComplete (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- n->defF.enumsComplete = true; ++ static_cast (n)->defF.enumsComplete = true; + break; + + case decl_imp: +- n->impF.enumsComplete = true; ++ static_cast (n)->impF.enumsComplete = true; + break; + + case decl_module: +- n->moduleF.enumsComplete = true; ++ static_cast (n)->moduleF.enumsComplete = true; + break; + + +@@ -22624,18 +23371,18 @@ extern "C" void decl_setEnumsComplete (decl_node n) + + extern "C" bool decl_getEnumsComplete (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- return n->defF.enumsComplete; ++ return static_cast (n)->defF.enumsComplete; + break; + + case decl_imp: +- return n->impF.enumsComplete; ++ return static_cast (n)->impF.enumsComplete; + break; + + case decl_module: +- return n->moduleF.enumsComplete; ++ return static_cast (n)->moduleF.enumsComplete; + break; + + +@@ -22658,17 +23405,17 @@ extern "C" void decl_resetEnumPos (decl_node n) + mcDebug_assert (((decl_isDef (n)) || (decl_isImp (n))) || (decl_isModule (n))); + if (decl_isDef (n)) + { +- n->defF.enumFixup.count = 0; ++ static_cast (n)->defF.enumFixup.count = 0; + } + else if (decl_isImp (n)) + { + /* avoid dangling else. */ +- n->impF.enumFixup.count = 0; ++ static_cast (n)->impF.enumFixup.count = 0; + } + else if (decl_isModule (n)) + { + /* avoid dangling else. */ +- n->moduleF.enumFixup.count = 0; ++ static_cast (n)->moduleF.enumFixup.count = 0; + } + } + +@@ -22679,27 +23426,27 @@ extern "C" void decl_resetEnumPos (decl_node n) + + extern "C" decl_node decl_getNextEnum (void) + { +- decl_node n; ++ decl_node__opaque n; + +- n = NULL; +- mcDebug_assert (((decl_isDef (currentModule)) || (decl_isImp (currentModule))) || (decl_isModule (currentModule))); +- if (decl_isDef (currentModule)) ++ n = static_cast (NULL); ++ mcDebug_assert (((decl_isDef (static_cast (currentModule))) || (decl_isImp (static_cast (currentModule)))) || (decl_isModule (static_cast (currentModule)))); ++ if (decl_isDef (static_cast (currentModule))) + { + n = getNextFixup (¤tModule->defF.enumFixup); + } +- else if (decl_isImp (currentModule)) ++ else if (decl_isImp (static_cast (currentModule))) + { + /* avoid dangling else. */ + n = getNextFixup (¤tModule->impF.enumFixup); + } +- else if (decl_isModule (currentModule)) ++ else if (decl_isModule (static_cast (currentModule))) + { + /* avoid dangling else. */ + n = getNextFixup (¤tModule->moduleF.enumFixup); + } + mcDebug_assert (n != NULL); +- mcDebug_assert ((decl_isEnumeration (n)) || (decl_isEnumerationField (n))); +- return n; ++ mcDebug_assert ((decl_isEnumeration (static_cast (n))) || (decl_isEnumerationField (static_cast (n)))); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22712,7 +23459,7 @@ extern "C" decl_node decl_getNextEnum (void) + extern "C" bool decl_isModule (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_module; ++ return static_cast (n)->kind == decl_module; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22740,7 +23487,7 @@ extern "C" bool decl_isMainModule (decl_node n) + extern "C" void decl_setMainModule (decl_node n) + { + mcDebug_assert (n != NULL); +- mainModule = n; ++ mainModule = static_cast (n); + } + + +@@ -22751,7 +23498,7 @@ extern "C" void decl_setMainModule (decl_node n) + extern "C" void decl_setCurrentModule (decl_node n) + { + mcDebug_assert (n != NULL); +- currentModule = n; ++ currentModule = static_cast (n); + } + + +@@ -22761,16 +23508,16 @@ extern "C" void decl_setCurrentModule (decl_node n) + + extern "C" decl_node decl_lookupDef (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + +- d = static_cast (symbolKey_getSymKey (defUniverse, n)); ++ d = static_cast (symbolKey_getSymKey (defUniverse, n)); + if (d == NULL) + { + d = makeDef (n); +- symbolKey_putSymKey (defUniverse, n, reinterpret_cast (d)); +- Indexing_IncludeIndiceIntoIndex (defUniverseI, reinterpret_cast (d)); ++ symbolKey_putSymKey (defUniverse, n, reinterpret_cast (d)); ++ Indexing_IncludeIndiceIntoIndex (defUniverseI, reinterpret_cast (d)); + } +- return d; ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22782,17 +23529,17 @@ extern "C" decl_node decl_lookupDef (nameKey_Name n) + + extern "C" decl_node decl_lookupImp (nameKey_Name n) + { +- decl_node m; ++ decl_node__opaque m; + +- m = static_cast (symbolKey_getSymKey (modUniverse, n)); ++ m = static_cast (symbolKey_getSymKey (modUniverse, n)); + if (m == NULL) + { + m = makeImp (n); +- symbolKey_putSymKey (modUniverse, n, reinterpret_cast (m)); +- Indexing_IncludeIndiceIntoIndex (modUniverseI, reinterpret_cast (m)); ++ symbolKey_putSymKey (modUniverse, n, reinterpret_cast (m)); ++ Indexing_IncludeIndiceIntoIndex (modUniverseI, reinterpret_cast (m)); + } +- mcDebug_assert (! (decl_isModule (m))); +- return m; ++ mcDebug_assert (! (decl_isModule (static_cast (m)))); ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22804,17 +23551,17 @@ extern "C" decl_node decl_lookupImp (nameKey_Name n) + + extern "C" decl_node decl_lookupModule (nameKey_Name n) + { +- decl_node m; ++ decl_node__opaque m; + +- m = static_cast (symbolKey_getSymKey (modUniverse, n)); ++ m = static_cast (symbolKey_getSymKey (modUniverse, n)); + if (m == NULL) + { + m = makeModule (n); +- symbolKey_putSymKey (modUniverse, n, reinterpret_cast (m)); +- Indexing_IncludeIndiceIntoIndex (modUniverseI, reinterpret_cast (m)); ++ symbolKey_putSymKey (modUniverse, n, reinterpret_cast (m)); ++ Indexing_IncludeIndiceIntoIndex (modUniverseI, reinterpret_cast (m)); + } +- mcDebug_assert (! (decl_isImp (m))); +- return m; ++ mcDebug_assert (! (decl_isImp (static_cast (m)))); ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22827,7 +23574,36 @@ extern "C" decl_node decl_lookupModule (nameKey_Name n) + extern "C" void decl_putDefForC (decl_node n) + { + mcDebug_assert (decl_isDef (n)); +- n->defF.forC = true; ++ static_cast (n)->defF.forC = true; ++} ++ ++ ++/* ++ putDefUnqualified - the definition module uses unqualified. ++*/ ++ ++extern "C" void decl_putDefUnqualified (decl_node n) ++{ ++ mcDebug_assert (decl_isDef (n)); ++ /* Currently (and this is a temporary development restriction to ++ reduce any search space for bugs) the only module which can be ++ export unqualified is gcctypes. */ ++ if (static_cast (n)->defF.name == (nameKey_makeKey ((const char *) "gcctypes", 8))) ++ { ++ static_cast (n)->defF.unqualified = true; ++ } ++} ++ ++ ++/* ++ isDefUnqualified - returns TRUE if the definition module uses unqualified. ++*/ ++ ++extern "C" bool decl_isDefUnqualified (decl_node n) ++{ ++ return (decl_isDef (n)) && static_cast (n)->defF.unqualified; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); + } + + +@@ -22837,26 +23613,26 @@ extern "C" void decl_putDefForC (decl_node n) + + extern "C" decl_node decl_lookupInScope (decl_node scope, nameKey_Name n) + { +- switch (scope->kind) ++ switch (static_cast (scope)->kind) + { + case decl_def: +- return static_cast (symbolKey_getSymKey (scope->defF.decls.symbols, n)); ++ return static_cast (symbolKey_getSymKey (static_cast (scope)->defF.decls.symbols, n)); + break; + + case decl_module: +- return static_cast (symbolKey_getSymKey (scope->moduleF.decls.symbols, n)); ++ return static_cast (symbolKey_getSymKey (static_cast (scope)->moduleF.decls.symbols, n)); + break; + + case decl_imp: +- return static_cast (symbolKey_getSymKey (scope->impF.decls.symbols, n)); ++ return static_cast (symbolKey_getSymKey (static_cast (scope)->impF.decls.symbols, n)); + break; + + case decl_procedure: +- return static_cast (symbolKey_getSymKey (scope->procedureF.decls.symbols, n)); ++ return static_cast (symbolKey_getSymKey (static_cast (scope)->procedureF.decls.symbols, n)); + break; + + case decl_record: +- return static_cast (symbolKey_getSymKey (scope->recordF.localSymbols, n)); ++ return static_cast (symbolKey_getSymKey (static_cast (scope)->recordF.localSymbols, n)); + break; + + +@@ -22876,7 +23652,7 @@ extern "C" decl_node decl_lookupInScope (decl_node scope, nameKey_Name n) + extern "C" bool decl_isConst (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_const; ++ return static_cast (n)->kind == decl_const; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22889,7 +23665,7 @@ extern "C" bool decl_isConst (decl_node n) + extern "C" bool decl_isType (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_type; ++ return static_cast (n)->kind == decl_type; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -22904,7 +23680,7 @@ extern "C" void decl_putType (decl_node des, decl_node exp) + { + mcDebug_assert (des != NULL); + mcDebug_assert (decl_isType (des)); +- des->typeF.type = exp; ++ static_cast (des)->typeF.type = static_cast (exp); + } + + +@@ -22914,31 +23690,31 @@ extern "C" void decl_putType (decl_node des, decl_node exp) + + extern "C" decl_node decl_getType (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_new: + case decl_dispose: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_length: +- return cardinalN; ++ return static_cast (cardinalN); + break; + + case decl_inc: + case decl_dec: + case decl_incl: + case decl_excl: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_nil: +- return addressN; ++ return static_cast (addressN); + break; + + case decl_true: + case decl_false: +- return booleanN; ++ return static_cast (booleanN); + break; + + case decl_address: +@@ -23040,7 +23816,7 @@ extern "C" decl_node decl_getType (decl_node n) + + case decl_type: + /* language features and compound type attributes. */ +- return n->typeF.type; ++ return static_cast (static_cast (n)->typeF.type); + break; + + case decl_record: +@@ -23052,7 +23828,7 @@ extern "C" decl_node decl_getType (decl_node n) + break; + + case decl_var: +- return n->varF.type; ++ return static_cast (static_cast (n)->varF.type); + break; + + case decl_enumeration: +@@ -23060,43 +23836,43 @@ extern "C" decl_node decl_getType (decl_node n) + break; + + case decl_subrange: +- return n->subrangeF.type; ++ return static_cast (static_cast (n)->subrangeF.type); + break; + + case decl_array: +- return n->arrayF.type; ++ return static_cast (static_cast (n)->arrayF.type); + break; + + case decl_string: +- return charN; ++ return static_cast (charN); + break; + + case decl_const: +- return n->constF.type; ++ return static_cast (static_cast (n)->constF.type); + break; + + case decl_literal: +- return n->literalF.type; ++ return static_cast (static_cast (n)->literalF.type); + break; + + case decl_varparam: +- return n->varparamF.type; ++ return static_cast (static_cast (n)->varparamF.type); + break; + + case decl_param: +- return n->paramF.type; ++ return static_cast (static_cast (n)->paramF.type); + break; + + case decl_optarg: +- return n->optargF.type; ++ return static_cast (static_cast (n)->optargF.type); + break; + + case decl_pointer: +- return n->pointerF.type; ++ return static_cast (static_cast (n)->pointerF.type); + break; + + case decl_recordfield: +- return n->recordfieldF.type; ++ return static_cast (static_cast (n)->recordfieldF.type); + break; + + case decl_varientfield: +@@ -23104,32 +23880,32 @@ extern "C" decl_node decl_getType (decl_node n) + break; + + case decl_enumerationfield: +- return n->enumerationfieldF.type; ++ return static_cast (static_cast (n)->enumerationfieldF.type); + break; + + case decl_set: +- return n->setF.type; ++ return static_cast (static_cast (n)->setF.type); + break; + + case decl_proctype: +- return n->proctypeF.returnType; ++ return static_cast (static_cast (n)->proctypeF.returnType); + break; + + case decl_subscript: +- return n->subscriptF.type; ++ return static_cast (static_cast (n)->subscriptF.type); + break; + + case decl_procedure: + /* blocks. */ +- return n->procedureF.returnType; ++ return static_cast (static_cast (n)->procedureF.returnType); + break; + + case decl_throw: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_unreachable: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_def: +@@ -23157,11 +23933,11 @@ extern "C" decl_node decl_getType (decl_node n) + case decl_mult: + case decl_divide: + /* expressions. */ +- return n->binaryF.resultType; ++ return static_cast (static_cast (n)->binaryF.resultType); + break; + + case decl_in: +- return booleanN; ++ return static_cast (booleanN); + break; + + case decl_max: +@@ -23175,7 +23951,7 @@ extern "C" decl_node decl_getType (decl_node n) + case decl_adr: + case decl_size: + case decl_tsize: +- return n->unaryF.resultType; ++ return static_cast (static_cast (n)->unaryF.resultType); + break; + + case decl_and: +@@ -23187,51 +23963,51 @@ extern "C" decl_node decl_getType (decl_node n) + case decl_greater: + case decl_greequal: + case decl_lessequal: +- return booleanN; ++ return static_cast (booleanN); + break; + + case decl_trunc: +- return integerN; ++ return static_cast (integerN); + break; + + case decl_float: +- return realN; ++ return static_cast (realN); + break; + + case decl_high: +- return cardinalN; ++ return static_cast (cardinalN); + break; + + case decl_ord: +- return cardinalN; ++ return static_cast (cardinalN); + break; + + case decl_chr: +- return charN; ++ return static_cast (charN); + break; + + case decl_cap: +- return charN; ++ return static_cast (charN); + break; + + case decl_arrayref: +- return n->arrayrefF.resultType; ++ return static_cast (static_cast (n)->arrayrefF.resultType); + break; + + case decl_componentref: +- return n->componentrefF.resultType; ++ return static_cast (static_cast (n)->componentrefF.resultType); + break; + + case decl_pointerref: +- return n->pointerrefF.resultType; ++ return static_cast (static_cast (n)->pointerrefF.resultType); + break; + + case decl_funccall: +- return n->funccallF.type; ++ return static_cast (static_cast (n)->funccallF.type); + break; + + case decl_setvalue: +- return n->setvalueF.type; ++ return static_cast (static_cast (n)->setvalueF.type); + break; + + +@@ -23252,7 +24028,7 @@ extern "C" decl_node decl_getType (decl_node n) + + extern "C" decl_node decl_skipType (decl_node n) + { +- while ((n != NULL) && (decl_isType (n))) ++ while (((n != NULL) && (decl_isType (n))) && (! (isCDataType (static_cast (n))))) + { + if ((decl_getType (n)) == NULL) + { +@@ -23274,13 +24050,13 @@ extern "C" decl_node decl_skipType (decl_node n) + + extern "C" void decl_putTypeHidden (decl_node des) + { +- decl_node s; ++ decl_node__opaque s; + + mcDebug_assert (des != NULL); + mcDebug_assert (decl_isType (des)); +- des->typeF.isHidden = true; +- s = decl_getScope (des); +- mcDebug_assert (decl_isDef (s)); ++ static_cast (des)->typeF.isHidden = true; ++ s = static_cast (decl_getScope (des)); ++ mcDebug_assert (decl_isDef (static_cast (s))); + s->defF.hasHidden = true; + } + +@@ -23293,7 +24069,7 @@ extern "C" bool decl_isTypeHidden (decl_node n) + { + mcDebug_assert (n != NULL); + mcDebug_assert (decl_isType (n)); +- return n->typeF.isHidden; ++ return static_cast (n)->typeF.isHidden; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23306,7 +24082,36 @@ extern "C" bool decl_isTypeHidden (decl_node n) + extern "C" bool decl_hasHidden (decl_node n) + { + mcDebug_assert (decl_isDef (n)); +- return n->defF.hasHidden; ++ return static_cast (n)->defF.hasHidden; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ ++/* ++ putTypeOpaque - marks type, des, as being an opaque type. ++ TYPE des ; ++*/ ++ ++extern "C" void decl_putTypeOpaque (decl_node des) ++{ ++ decl_node__opaque s; ++ ++ mcDebug_assert (des != NULL); ++ mcDebug_assert (decl_isType (des)); ++ static_cast (des)->typeF.isOpaque = true; ++} ++ ++ ++/* ++ isTypeOpaque - returns TRUE if type, n, is an opaque type. ++*/ ++ ++extern "C" bool decl_isTypeOpaque (decl_node n) ++{ ++ mcDebug_assert (n != NULL); ++ mcDebug_assert (decl_isType (n)); ++ return static_cast (n)->typeF.isOpaque; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23319,7 +24124,7 @@ extern "C" bool decl_hasHidden (decl_node n) + extern "C" bool decl_isVar (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_var; ++ return static_cast (n)->kind == decl_var; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23344,15 +24149,15 @@ extern "C" bool decl_isTemporary (decl_node n) + + extern "C" bool decl_isExported (decl_node n) + { +- decl_node s; ++ decl_node__opaque s; + +- s = decl_getScope (n); ++ s = static_cast (decl_getScope (n)); + if (s != NULL) + { + switch (s->kind) + { + case decl_def: +- return Indexing_IsIndiceInIndex (s->defF.exported, reinterpret_cast (n)); ++ return Indexing_IsIndiceInIndex (s->defF.exported, reinterpret_cast (n)); + break; + + +@@ -23389,7 +24194,7 @@ extern "C" decl_node decl_getDeclScope (void) + + extern "C" decl_node decl_getScope (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_stmtseq: + case decl_exit: +@@ -23408,7 +24213,7 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_nil: + case decl_true: + case decl_false: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_address: +@@ -23417,7 +24222,7 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_word: + case decl_csizet: + case decl_cssizet: +- return systemN; ++ return static_cast (systemN); + break; + + case decl_boolean: +@@ -23439,93 +24244,93 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_longcomplex: + case decl_shortcomplex: + /* base types. */ +- return NULL; ++ return static_cast (NULL); + break; + + case decl_type: + /* language features and compound type attributes. */ +- return n->typeF.scope; ++ return static_cast (static_cast (n)->typeF.scope); + break; + + case decl_record: +- return n->recordF.scope; ++ return static_cast (static_cast (n)->recordF.scope); + break; + + case decl_varient: +- return n->varientF.scope; ++ return static_cast (static_cast (n)->varientF.scope); + break; + + case decl_var: +- return n->varF.scope; ++ return static_cast (static_cast (n)->varF.scope); + break; + + case decl_enumeration: +- return n->enumerationF.scope; ++ return static_cast (static_cast (n)->enumerationF.scope); + break; + + case decl_subrange: +- return n->subrangeF.scope; ++ return static_cast (static_cast (n)->subrangeF.scope); + break; + + case decl_array: +- return n->arrayF.scope; ++ return static_cast (static_cast (n)->arrayF.scope); + break; + + case decl_string: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_const: +- return n->constF.scope; ++ return static_cast (static_cast (n)->constF.scope); + break; + + case decl_literal: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_varparam: +- return n->varparamF.scope; ++ return static_cast (static_cast (n)->varparamF.scope); + break; + + case decl_param: +- return n->paramF.scope; ++ return static_cast (static_cast (n)->paramF.scope); + break; + + case decl_optarg: +- return n->optargF.scope; ++ return static_cast (static_cast (n)->optargF.scope); + break; + + case decl_pointer: +- return n->pointerF.scope; ++ return static_cast (static_cast (n)->pointerF.scope); + break; + + case decl_recordfield: +- return n->recordfieldF.scope; ++ return static_cast (static_cast (n)->recordfieldF.scope); + break; + + case decl_varientfield: +- return n->varientfieldF.scope; ++ return static_cast (static_cast (n)->varientfieldF.scope); + break; + + case decl_enumerationfield: +- return n->enumerationfieldF.scope; ++ return static_cast (static_cast (n)->enumerationfieldF.scope); + break; + + case decl_set: +- return n->setF.scope; ++ return static_cast (static_cast (n)->setF.scope); + break; + + case decl_proctype: +- return n->proctypeF.scope; ++ return static_cast (static_cast (n)->proctypeF.scope); + break; + + case decl_subscript: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_procedure: + /* blocks. */ +- return n->procedureF.scope; ++ return static_cast (static_cast (n)->procedureF.scope); + break; + + case decl_def: +@@ -23540,7 +24345,7 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_elsif: + case decl_assignment: + /* statements. */ +- return NULL; ++ return static_cast (NULL); + break; + + case decl_componentref: +@@ -23562,11 +24367,11 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_divide: + case decl_in: + /* expressions. */ +- return NULL; ++ return static_cast (NULL); + break; + + case decl_neg: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_lsl: +@@ -23586,14 +24391,14 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_greater: + case decl_greequal: + case decl_lessequal: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_adr: + case decl_size: + case decl_tsize: + case decl_throw: +- return systemN; ++ return static_cast (systemN); + break; + + case decl_unreachable: +@@ -23602,35 +24407,35 @@ extern "C" decl_node decl_getScope (decl_node n) + case decl_im: + case decl_min: + case decl_max: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_vardecl: +- return n->vardeclF.scope; ++ return static_cast (static_cast (n)->vardeclF.scope); + break; + + case decl_funccall: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_explist: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_caselabellist: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_caselist: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_range: +- return NULL; ++ return static_cast (NULL); + break; + + case decl_varargs: +- return n->varargsF.scope; ++ return static_cast (static_cast (n)->varargsF.scope); + break; + + +@@ -23650,7 +24455,7 @@ extern "C" decl_node decl_getScope (decl_node n) + extern "C" bool decl_isLiteral (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_literal; ++ return static_cast (n)->kind == decl_literal; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23680,7 +24485,7 @@ extern "C" bool decl_isConstSet (decl_node n) + extern "C" bool decl_isEnumerationField (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_enumerationfield; ++ return static_cast (n)->kind == decl_enumerationfield; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23693,7 +24498,7 @@ extern "C" bool decl_isEnumerationField (decl_node n) + extern "C" bool decl_isEnumeration (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_enumeration; ++ return static_cast (n)->kind == decl_enumeration; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23706,7 +24511,7 @@ extern "C" bool decl_isEnumeration (decl_node n) + extern "C" bool decl_isUnbounded (decl_node n) + { + mcDebug_assert (n != NULL); +- return (n->kind == decl_array) && n->arrayF.isUnbounded; ++ return (static_cast (n)->kind == decl_array) && static_cast (n)->arrayF.isUnbounded; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23719,7 +24524,7 @@ extern "C" bool decl_isUnbounded (decl_node n) + extern "C" bool decl_isParameter (decl_node n) + { + mcDebug_assert (n != NULL); +- return (n->kind == decl_param) || (n->kind == decl_varparam); ++ return (static_cast (n)->kind == decl_param) || (static_cast (n)->kind == decl_varparam); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23732,7 +24537,7 @@ extern "C" bool decl_isParameter (decl_node n) + extern "C" bool decl_isVarParam (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_varparam; ++ return static_cast (n)->kind == decl_varparam; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23745,7 +24550,7 @@ extern "C" bool decl_isVarParam (decl_node n) + extern "C" bool decl_isParam (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_param; ++ return static_cast (n)->kind == decl_param; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23771,19 +24576,19 @@ extern "C" bool decl_isNonVarParam (decl_node n) + + extern "C" decl_node decl_addOptParameter (decl_node proc, nameKey_Name id, decl_node type, decl_node init) + { +- decl_node p; +- decl_node l; ++ decl_node__opaque p; ++ decl_node__opaque l; + + mcDebug_assert (decl_isProcedure (proc)); +- l = decl_makeIdentList (); +- mcDebug_assert (decl_putIdent (l, id)); +- checkMakeVariables (proc, l, type, false, true); +- if (! proc->procedureF.checking) ++ l = static_cast (decl_makeIdentList ()); ++ mcDebug_assert (decl_putIdent (static_cast (l), id)); ++ checkMakeVariables (static_cast (proc), l, static_cast (type), false, true); ++ if (! static_cast (proc)->procedureF.checking) + { +- p = makeOptParameter (l, type, init); +- decl_addParameter (proc, p); ++ p = makeOptParameter (l, static_cast (type), static_cast (init)); ++ decl_addParameter (proc, static_cast (p)); + } +- return p; ++ return static_cast (p); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23795,7 +24600,7 @@ extern "C" decl_node decl_addOptParameter (decl_node proc, nameKey_Name id, decl + + extern "C" bool decl_isOptarg (decl_node n) + { +- return n->kind == decl_optarg; ++ return static_cast (n)->kind == decl_optarg; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23808,7 +24613,7 @@ extern "C" bool decl_isOptarg (decl_node n) + extern "C" bool decl_isRecord (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_record; ++ return static_cast (n)->kind == decl_record; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23821,7 +24626,7 @@ extern "C" bool decl_isRecord (decl_node n) + extern "C" bool decl_isRecordField (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_recordfield; ++ return static_cast (n)->kind == decl_recordfield; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23834,7 +24639,7 @@ extern "C" bool decl_isRecordField (decl_node n) + extern "C" bool decl_isVarientField (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_varientfield; ++ return static_cast (n)->kind == decl_varientfield; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23847,7 +24652,7 @@ extern "C" bool decl_isVarientField (decl_node n) + extern "C" bool decl_isArray (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_array; ++ return static_cast (n)->kind == decl_array; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23860,7 +24665,7 @@ extern "C" bool decl_isArray (decl_node n) + extern "C" bool decl_isProcType (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_proctype; ++ return static_cast (n)->kind == decl_proctype; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23873,7 +24678,7 @@ extern "C" bool decl_isProcType (decl_node n) + extern "C" bool decl_isPointer (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_pointer; ++ return static_cast (n)->kind == decl_pointer; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23886,7 +24691,7 @@ extern "C" bool decl_isPointer (decl_node n) + extern "C" bool decl_isProcedure (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_procedure; ++ return static_cast (n)->kind == decl_procedure; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23899,7 +24704,7 @@ extern "C" bool decl_isProcedure (decl_node n) + extern "C" bool decl_isVarient (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_varient; ++ return static_cast (n)->kind == decl_varient; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23912,7 +24717,7 @@ extern "C" bool decl_isVarient (decl_node n) + extern "C" bool decl_isSet (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_set; ++ return static_cast (n)->kind == decl_set; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23925,7 +24730,7 @@ extern "C" bool decl_isSet (decl_node n) + extern "C" bool decl_isSubrange (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_subrange; ++ return static_cast (n)->kind == decl_subrange; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23961,14 +24766,14 @@ extern "C" bool decl_isRtype (decl_node n) + + extern "C" decl_node decl_makeConst (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + + d = newNode (decl_const); + d->constF.name = n; +- d->constF.type = NULL; +- d->constF.scope = decl_getDeclScope (); +- d->constF.value = NULL; +- return addToScope (d); ++ d->constF.type = static_cast (NULL); ++ d->constF.scope = static_cast (decl_getDeclScope ()); ++ d->constF.value = static_cast (NULL); ++ return static_cast (addToScope (d)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -23981,7 +24786,7 @@ extern "C" decl_node decl_makeConst (nameKey_Name n) + extern "C" void decl_putConst (decl_node n, decl_node v) + { + mcDebug_assert (decl_isConst (n)); +- n->constF.value = v; ++ static_cast (n)->constF.value = static_cast (v); + } + + +@@ -23991,15 +24796,16 @@ extern "C" void decl_putConst (decl_node n, decl_node v) + + extern "C" decl_node decl_makeType (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + + d = newNode (decl_type); + d->typeF.name = n; +- d->typeF.type = NULL; +- d->typeF.scope = decl_getDeclScope (); ++ d->typeF.type = static_cast (NULL); ++ d->typeF.scope = static_cast (decl_getDeclScope ()); ++ d->typeF.isOpaque = false; + d->typeF.isHidden = false; + d->typeF.isInternal = false; +- return addToScope (d); ++ return static_cast (addToScope (d)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24012,22 +24818,23 @@ extern "C" decl_node decl_makeType (nameKey_Name n) + + extern "C" decl_node decl_makeTypeImp (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + +- d = decl_lookupSym (n); ++ d = static_cast (decl_lookupSym (n)); + if (d != NULL) + { + d->typeF.isHidden = false; +- return addToScope (d); ++ return static_cast (addToScope (d)); + } + else + { + d = newNode (decl_type); + d->typeF.name = n; +- d->typeF.type = NULL; +- d->typeF.scope = decl_getDeclScope (); ++ d->typeF.type = static_cast (NULL); ++ d->typeF.scope = static_cast (decl_getDeclScope ()); ++ d->typeF.isOpaque = false; + d->typeF.isHidden = false; +- return addToScope (d); ++ return static_cast (addToScope (d)); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -24040,18 +24847,18 @@ extern "C" decl_node decl_makeTypeImp (nameKey_Name n) + + extern "C" decl_node decl_makeVar (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + + d = newNode (decl_var); + d->varF.name = n; +- d->varF.type = NULL; +- d->varF.decl = NULL; +- d->varF.scope = decl_getDeclScope (); ++ d->varF.type = static_cast (NULL); ++ d->varF.decl = static_cast (NULL); ++ d->varF.scope = static_cast (decl_getDeclScope ()); + d->varF.isInitialised = false; + d->varF.isParameter = false; + d->varF.isVarParameter = false; + initCname (&d->varF.cname); +- return addToScope (d); ++ return static_cast (addToScope (d)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24065,8 +24872,9 @@ extern "C" void decl_putVar (decl_node var, decl_node type, decl_node decl) + { + mcDebug_assert (var != NULL); + mcDebug_assert (decl_isVar (var)); +- var->varF.type = type; +- var->varF.decl = decl; ++ static_cast (var)->varF.type = static_cast (type); ++ static_cast (var)->varF.decl = static_cast (decl); ++ initNodeOpaqueState (static_cast (var)); + } + + +@@ -24077,26 +24885,26 @@ extern "C" void decl_putVar (decl_node var, decl_node type, decl_node decl) + + extern "C" decl_node decl_makeVarDecl (decl_node i, decl_node type) + { +- decl_node d; +- decl_node v; ++ decl_node__opaque d; ++ decl_node__opaque v; + unsigned int j; + unsigned int n; + +- type = checkPtr (type); ++ type = static_cast (checkPtr (static_cast (type))); + d = newNode (decl_vardecl); +- d->vardeclF.names = i->identlistF.names; +- d->vardeclF.type = type; +- d->vardeclF.scope = decl_getDeclScope (); ++ d->vardeclF.names = static_cast (i)->identlistF.names; ++ d->vardeclF.type = static_cast (type); ++ d->vardeclF.scope = static_cast (decl_getDeclScope ()); + n = wlists_noOfItemsInList (d->vardeclF.names); + j = 1; + while (j <= n) + { +- v = decl_lookupSym (wlists_getItemFromList (d->vardeclF.names, j)); +- mcDebug_assert (decl_isVar (v)); +- decl_putVar (v, type, d); ++ v = static_cast (decl_lookupSym (wlists_getItemFromList (d->vardeclF.names, j))); ++ mcDebug_assert (decl_isVar (static_cast (v))); ++ decl_putVar (static_cast (v), type, static_cast (d)); + j += 1; + } +- return d; ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24108,13 +24916,13 @@ extern "C" decl_node decl_makeVarDecl (decl_node i, decl_node type) + + extern "C" decl_node decl_makeEnum (void) + { +- if ((currentModule != NULL) && (decl_getEnumsComplete (currentModule))) ++ if ((currentModule != NULL) && (decl_getEnumsComplete (static_cast (currentModule)))) + { + return decl_getNextEnum (); + } + else + { +- return doMakeEnum (); ++ return static_cast (doMakeEnum ()); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -24127,13 +24935,13 @@ extern "C" decl_node decl_makeEnum (void) + + extern "C" decl_node decl_makeEnumField (decl_node e, nameKey_Name n) + { +- if ((currentModule != NULL) && (decl_getEnumsComplete (currentModule))) ++ if ((currentModule != NULL) && (decl_getEnumsComplete (static_cast (currentModule)))) + { + return decl_getNextEnum (); + } + else + { +- return doMakeEnumField (e, n); ++ return static_cast (doMakeEnumField (static_cast (e), n)); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -24146,14 +24954,14 @@ extern "C" decl_node decl_makeEnumField (decl_node e, nameKey_Name n) + + extern "C" decl_node decl_makeSubrange (decl_node low, decl_node high) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_subrange); +- n->subrangeF.low = low; +- n->subrangeF.high = high; +- n->subrangeF.type = NULL; +- n->subrangeF.scope = decl_getDeclScope (); +- return n; ++ n->subrangeF.low = static_cast (low); ++ n->subrangeF.high = static_cast (high); ++ n->subrangeF.type = static_cast (NULL); ++ n->subrangeF.scope = static_cast (decl_getDeclScope ()); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24166,7 +24974,7 @@ extern "C" decl_node decl_makeSubrange (decl_node low, decl_node high) + extern "C" void decl_putSubrangeType (decl_node sub, decl_node type) + { + mcDebug_assert (decl_isSubrange (sub)); +- sub->subrangeF.type = type; ++ static_cast (sub)->subrangeF.type = static_cast (type); + } + + +@@ -24176,12 +24984,12 @@ extern "C" void decl_putSubrangeType (decl_node sub, decl_node type) + + extern "C" decl_node decl_makePointer (decl_node type) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_pointer); +- n->pointerF.type = type; +- n->pointerF.scope = decl_getDeclScope (); +- return n; ++ n->pointerF.type = static_cast (type); ++ n->pointerF.scope = static_cast (decl_getDeclScope ()); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24193,12 +25001,12 @@ extern "C" decl_node decl_makePointer (decl_node type) + + extern "C" decl_node decl_makeSet (decl_node type) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_set); +- n->setF.type = type; +- n->setF.scope = decl_getDeclScope (); +- return n; ++ n->setF.type = static_cast (type); ++ n->setF.scope = static_cast (decl_getDeclScope ()); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24210,17 +25018,17 @@ extern "C" decl_node decl_makeSet (decl_node type) + + extern "C" decl_node decl_makeArray (decl_node subr, decl_node type) + { +- decl_node n; +- decl_node s; ++ decl_node__opaque n; ++ decl_node__opaque s; + +- s = decl_skipType (subr); +- mcDebug_assert (((decl_isSubrange (s)) || (isOrdinal (s))) || (decl_isEnumeration (s))); ++ s = static_cast (decl_skipType (subr)); ++ mcDebug_assert (((decl_isSubrange (static_cast (s))) || (isOrdinal (s))) || (decl_isEnumeration (static_cast (s)))); + n = newNode (decl_array); +- n->arrayF.subr = subr; +- n->arrayF.type = type; +- n->arrayF.scope = decl_getDeclScope (); ++ n->arrayF.subr = static_cast (subr); ++ n->arrayF.type = static_cast (type); ++ n->arrayF.scope = static_cast (decl_getDeclScope ()); + n->arrayF.isUnbounded = false; +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24232,8 +25040,8 @@ extern "C" decl_node decl_makeArray (decl_node subr, decl_node type) + + extern "C" void decl_putUnbounded (decl_node n) + { +- mcDebug_assert (n->kind == decl_array); +- n->arrayF.isUnbounded = true; ++ mcDebug_assert (static_cast (n)->kind == decl_array); ++ static_cast (n)->arrayF.isUnbounded = true; + } + + +@@ -24243,13 +25051,13 @@ extern "C" void decl_putUnbounded (decl_node n) + + extern "C" decl_node decl_makeRecord (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_record); + n->recordF.localSymbols = symbolKey_initTree (); + n->recordF.listOfSons = Indexing_InitIndex (1); +- n->recordF.scope = decl_getDeclScope (); +- return n; ++ n->recordF.scope = static_cast (decl_getDeclScope ()); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24262,30 +25070,30 @@ extern "C" decl_node decl_makeRecord (void) + + extern "C" decl_node decl_makeVarient (decl_node r) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_varient); + n->varientF.listOfSons = Indexing_InitIndex (1); + /* if so use this n^.varientF.parent := r */ + if (decl_isRecord (r)) + { +- n->varientF.varient = NULL; ++ n->varientF.varient = static_cast (NULL); + } + else + { +- n->varientF.varient = r; ++ n->varientF.varient = static_cast (r); + } +- n->varientF.tag = NULL; +- n->varientF.scope = decl_getDeclScope (); +- switch (r->kind) ++ n->varientF.tag = static_cast (NULL); ++ n->varientF.scope = static_cast (decl_getDeclScope ()); ++ switch (static_cast (r)->kind) + { + case decl_record: + /* now add, n, to the record/varient, r, field list */ +- Indexing_IncludeIndiceIntoIndex (r->recordF.listOfSons, reinterpret_cast (n)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (r)->recordF.listOfSons, reinterpret_cast (n)); + break; + + case decl_varientfield: +- Indexing_IncludeIndiceIntoIndex (r->varientfieldF.listOfSons, reinterpret_cast (n)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (r)->varientfieldF.listOfSons, reinterpret_cast (n)); + break; + + +@@ -24293,7 +25101,7 @@ extern "C" decl_node decl_makeVarient (decl_node r) + CaseException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24306,33 +25114,33 @@ extern "C" decl_node decl_makeVarient (decl_node r) + + extern "C" decl_node decl_addFieldsToRecord (decl_node r, decl_node v, decl_node i, decl_node t) + { +- decl_node p; +- decl_node fj; ++ decl_node__opaque p; ++ decl_node__opaque fj; + unsigned int j; + unsigned int n; + nameKey_Name fn; + + if (decl_isRecord (r)) + { +- p = r; +- v = NULL; ++ p = static_cast (r); ++ v = static_cast (NULL); + } + else + { +- p = getRecord (getParent (r)); ++ p = getRecord (getParent (static_cast (r))); + mcDebug_assert (decl_isVarientField (r)); + mcDebug_assert (decl_isVarient (v)); +- putFieldVarient (r, v); ++ putFieldVarient (static_cast (r), static_cast (v)); + } +- n = wlists_noOfItemsInList (i->identlistF.names); ++ n = wlists_noOfItemsInList (static_cast (i)->identlistF.names); + j = 1; + while (j <= n) + { +- fn = static_cast (wlists_getItemFromList (i->identlistF.names, j)); +- fj = static_cast (symbolKey_getSymKey (p->recordF.localSymbols, n)); ++ fn = static_cast (wlists_getItemFromList (static_cast (i)->identlistF.names, j)); ++ fj = static_cast (symbolKey_getSymKey (p->recordF.localSymbols, n)); + if (fj == NULL) + { +- fj = putFieldRecord (r, fn, t, v); ++ fj = putFieldRecord (static_cast (r), fn, static_cast (t), static_cast (v)); + } + else + { +@@ -24354,7 +25162,7 @@ extern "C" decl_node decl_addFieldsToRecord (decl_node r, decl_node v, decl_node + + extern "C" void decl_buildVarientSelector (decl_node r, decl_node v, nameKey_Name tag, decl_node type) + { +- decl_node f; ++ decl_node__opaque f; + + mcDebug_assert ((decl_isRecord (r)) || (decl_isVarientField (r))); + if ((decl_isRecord (r)) || (decl_isVarientField (r))) +@@ -24367,16 +25175,16 @@ extern "C" void decl_buildVarientSelector (decl_node r, decl_node v, nameKey_Nam + else if (type == NULL) + { + /* avoid dangling else. */ +- f = decl_lookupSym (tag); +- putVarientTag (v, f); ++ f = static_cast (decl_lookupSym (tag)); ++ putVarientTag (static_cast (v), f); + } + else + { + /* avoid dangling else. */ +- f = putFieldRecord (r, tag, type, v); +- mcDebug_assert (decl_isRecordField (f)); ++ f = putFieldRecord (static_cast (r), tag, static_cast (type), static_cast (v)); ++ mcDebug_assert (decl_isRecordField (static_cast (f))); + f->recordfieldF.tag = true; +- putVarientTag (v, f); ++ putVarientTag (static_cast (v), f); + } + } + } +@@ -24389,13 +25197,13 @@ extern "C" void decl_buildVarientSelector (decl_node r, decl_node v, nameKey_Nam + + extern "C" decl_node decl_buildVarientFieldRecord (decl_node v, decl_node p) + { +- decl_node f; ++ decl_node__opaque f; + + mcDebug_assert (decl_isVarient (v)); +- f = makeVarientField (v, p); +- mcDebug_assert (decl_isVarientField (f)); +- putFieldVarient (f, v); +- return f; ++ f = makeVarientField (static_cast (v), static_cast (p)); ++ mcDebug_assert (decl_isVarientField (static_cast (f))); ++ putFieldVarient (f, static_cast (v)); ++ return static_cast (f); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24407,7 +25215,7 @@ extern "C" decl_node decl_buildVarientFieldRecord (decl_node v, decl_node p) + + extern "C" nameKey_Name decl_getSymName (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_new: + return nameKey_makeKey ((const char *) "NEW", 3); +@@ -24548,7 +25356,7 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + + case decl_type: + /* language features and compound type attributes. */ +- return n->typeF.name; ++ return static_cast (n)->typeF.name; + break; + + case decl_record: +@@ -24560,7 +25368,7 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + break; + + case decl_var: +- return n->varF.name; ++ return static_cast (n)->varF.name; + break; + + case decl_enumeration: +@@ -24580,15 +25388,15 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + break; + + case decl_string: +- return n->stringF.name; ++ return static_cast (n)->stringF.name; + break; + + case decl_const: +- return n->constF.name; ++ return static_cast (n)->constF.name; + break; + + case decl_literal: +- return n->literalF.name; ++ return static_cast (n)->literalF.name; + break; + + case decl_varparam: +@@ -24604,15 +25412,15 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + break; + + case decl_recordfield: +- return n->recordfieldF.name; ++ return static_cast (n)->recordfieldF.name; + break; + + case decl_varientfield: +- return n->varientfieldF.name; ++ return static_cast (n)->varientfieldF.name; + break; + + case decl_enumerationfield: +- return n->enumerationfieldF.name; ++ return static_cast (n)->enumerationfieldF.name; + break; + + case decl_set: +@@ -24629,19 +25437,19 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + + case decl_procedure: + /* blocks. */ +- return n->procedureF.name; ++ return static_cast (n)->procedureF.name; + break; + + case decl_def: +- return n->defF.name; ++ return static_cast (n)->defF.name; + break; + + case decl_imp: +- return n->impF.name; ++ return static_cast (n)->impF.name; + break; + + case decl_module: +- return n->moduleF.name; ++ return static_cast (n)->moduleF.name; + break; + + case decl_loop: +@@ -24776,25 +25584,27 @@ extern "C" nameKey_Name decl_getSymName (decl_node n) + extern "C" decl_node decl_import (decl_node m, decl_node n) + { + nameKey_Name name; +- decl_node r; ++ decl_node__opaque r; + + mcDebug_assert (((decl_isDef (m)) || (decl_isModule (m))) || (decl_isImp (m))); + name = decl_getSymName (n); +- r = decl_lookupInScope (m, name); ++ checkGccType (static_cast (n)); ++ checkCDataTypes (static_cast (n)); ++ r = static_cast (decl_lookupInScope (m, name)); + if (r == NULL) + { +- switch (m->kind) ++ switch (static_cast (m)->kind) + { + case decl_def: +- symbolKey_putSymKey (m->defF.decls.symbols, name, reinterpret_cast (n)); ++ symbolKey_putSymKey (static_cast (m)->defF.decls.symbols, name, reinterpret_cast (n)); + break; + + case decl_imp: +- symbolKey_putSymKey (m->impF.decls.symbols, name, reinterpret_cast (n)); ++ symbolKey_putSymKey (static_cast (m)->impF.decls.symbols, name, reinterpret_cast (n)); + break; + + case decl_module: +- symbolKey_putSymKey (m->moduleF.decls.symbols, name, reinterpret_cast (n)); ++ symbolKey_putSymKey (static_cast (m)->moduleF.decls.symbols, name, reinterpret_cast (n)); + break; + + +@@ -24802,10 +25612,10 @@ extern "C" decl_node decl_import (decl_node m, decl_node n) + CaseException ("../../gcc/m2/mc/decl.def", 20, 1); + __builtin_unreachable (); + } +- importEnumFields (m, n); ++ importEnumFields (static_cast (m), static_cast (n)); + return n; + } +- return r; ++ return static_cast (r); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24819,15 +25629,15 @@ extern "C" decl_node decl_import (decl_node m, decl_node n) + + extern "C" decl_node decl_lookupExported (decl_node n, nameKey_Name i) + { +- decl_node r; ++ decl_node__opaque r; + + mcDebug_assert (decl_isDef (n)); +- r = static_cast (symbolKey_getSymKey (n->defF.decls.symbols, i)); +- if ((r != NULL) && (decl_isExported (r))) ++ r = static_cast (symbolKey_getSymKey (static_cast (n)->defF.decls.symbols, i)); ++ if ((r != NULL) && (decl_isExported (static_cast (r)))) + { +- return r; ++ return static_cast (r); + } +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24839,8 +25649,8 @@ extern "C" decl_node decl_lookupExported (decl_node n, nameKey_Name i) + + extern "C" decl_node decl_lookupSym (nameKey_Name n) + { +- decl_node s; +- decl_node m; ++ decl_node__opaque s; ++ decl_node__opaque m; + unsigned int l; + unsigned int h; + +@@ -24848,8 +25658,8 @@ extern "C" decl_node decl_lookupSym (nameKey_Name n) + h = Indexing_HighIndice (scopeStack); + while (h >= l) + { +- s = static_cast (Indexing_GetIndice (scopeStack, h)); +- m = decl_lookupInScope (s, n); ++ s = static_cast (Indexing_GetIndice (scopeStack, h)); ++ m = static_cast (decl_lookupInScope (static_cast (s), n)); + if (debugScopes && (m == NULL)) + { + out3 ((const char *) " [%d] search for symbol name %s in scope %s\\n", 45, h, n, s); +@@ -24860,11 +25670,11 @@ extern "C" decl_node decl_lookupSym (nameKey_Name n) + { + out3 ((const char *) " [%d] search for symbol name %s in scope %s (found)\\n", 53, h, n, s); + } +- return m; ++ return static_cast (m); + } + h -= 1; + } +- return lookupBase (n); ++ return static_cast (lookupBase (n)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24881,17 +25691,17 @@ extern "C" void decl_addImportedModule (decl_node m, decl_node i, bool scoped) + mcDebug_assert ((decl_isDef (i)) || (decl_isModule (i))); + if (decl_isDef (m)) + { +- Indexing_IncludeIndiceIntoIndex (m->defF.importedModules, reinterpret_cast (i)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (m)->defF.importedModules, reinterpret_cast (i)); + } + else if (decl_isImp (m)) + { + /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->impF.importedModules, reinterpret_cast (i)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (m)->impF.importedModules, reinterpret_cast (i)); + } + else if (decl_isModule (m)) + { + /* avoid dangling else. */ +- Indexing_IncludeIndiceIntoIndex (m->moduleF.importedModules, reinterpret_cast (i)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (m)->moduleF.importedModules, reinterpret_cast (i)); + } + else + { +@@ -24901,7 +25711,7 @@ extern "C" void decl_addImportedModule (decl_node m, decl_node i, bool scoped) + } + if (scoped) + { +- addModuleToScope (m, i); ++ addModuleToScope (static_cast (m), static_cast (i)); + } + } + +@@ -24912,18 +25722,18 @@ extern "C" void decl_addImportedModule (decl_node m, decl_node i, bool scoped) + + extern "C" void decl_setSource (decl_node n, nameKey_Name s) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- n->defF.source = s; ++ static_cast (n)->defF.source = s; + break; + + case decl_module: +- n->moduleF.source = s; ++ static_cast (n)->moduleF.source = s; + break; + + case decl_imp: +- n->impF.source = s; ++ static_cast (n)->impF.source = s; + break; + + +@@ -24940,18 +25750,18 @@ extern "C" void decl_setSource (decl_node n, nameKey_Name s) + + extern "C" nameKey_Name decl_getSource (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- return n->defF.source; ++ return static_cast (n)->defF.source; + break; + + case decl_module: +- return n->moduleF.source; ++ return static_cast (n)->moduleF.source; + break; + + case decl_imp: +- return n->impF.source; ++ return static_cast (n)->impF.source; + break; + + +@@ -24970,7 +25780,7 @@ extern "C" nameKey_Name decl_getSource (decl_node n) + + extern "C" decl_node decl_getMainModule (void) + { +- return mainModule; ++ return static_cast (mainModule); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -24982,7 +25792,7 @@ extern "C" decl_node decl_getMainModule (void) + + extern "C" decl_node decl_getCurrentModule (void) + { +- return currentModule; ++ return static_cast (currentModule); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25016,14 +25826,14 @@ extern "C" void decl_foreachModModuleDo (symbolKey_performOperation p) + + extern "C" void decl_enterScope (decl_node n) + { +- if (Indexing_IsIndiceInIndex (scopeStack, reinterpret_cast (n))) ++ if (Indexing_IsIndiceInIndex (scopeStack, reinterpret_cast (n))) + { + M2RTS_HALT (-1); + __builtin_unreachable (); + } + else + { +- Indexing_IncludeIndiceIntoIndex (scopeStack, reinterpret_cast (n)); ++ Indexing_IncludeIndiceIntoIndex (scopeStack, reinterpret_cast (n)); + } + if (debugScopes) + { +@@ -25040,11 +25850,11 @@ extern "C" void decl_enterScope (decl_node n) + extern "C" void decl_leaveScope (void) + { + unsigned int i; +- decl_node n; ++ decl_node__opaque n; + + i = Indexing_HighIndice (scopeStack); +- n = static_cast (Indexing_GetIndice (scopeStack, i)); +- Indexing_RemoveIndiceFromIndex (scopeStack, reinterpret_cast (n)); ++ n = static_cast (Indexing_GetIndice (scopeStack, i)); ++ Indexing_RemoveIndiceFromIndex (scopeStack, reinterpret_cast (n)); + if (debugScopes) + { + libc_printf ((const char *) "leave scope\\n", 13); +@@ -25059,32 +25869,32 @@ extern "C" void decl_leaveScope (void) + + extern "C" decl_node decl_makeProcedure (nameKey_Name n) + { +- decl_node d; ++ decl_node__opaque d; + +- d = decl_lookupSym (n); ++ d = static_cast (decl_lookupSym (n)); + if (d == NULL) + { + d = newNode (decl_procedure); + d->procedureF.name = n; + initDecls (&d->procedureF.decls); +- d->procedureF.scope = decl_getDeclScope (); ++ d->procedureF.scope = static_cast (decl_getDeclScope ()); + d->procedureF.parameters = Indexing_InitIndex (1); +- d->procedureF.isForC = isDefForCNode (decl_getDeclScope ()); ++ d->procedureF.isForC = isDefForCNode (static_cast (decl_getDeclScope ())); + d->procedureF.built = false; + d->procedureF.returnopt = false; +- d->procedureF.optarg_ = NULL; ++ d->procedureF.optarg_ = static_cast (NULL); + d->procedureF.noreturnused = false; + d->procedureF.noreturn = false; + d->procedureF.vararg = false; + d->procedureF.checking = false; + d->procedureF.paramcount = 0; +- d->procedureF.returnType = NULL; +- d->procedureF.beginStatements = NULL; ++ d->procedureF.returnType = static_cast (NULL); ++ d->procedureF.beginStatements = static_cast (NULL); + initCname (&d->procedureF.cname); +- d->procedureF.defComment = NULL; +- d->procedureF.modComment = NULL; ++ d->procedureF.defComment = static_cast (NULL); ++ d->procedureF.modComment = static_cast (NULL); + } +- return addProcedureToScope (d, n); ++ return static_cast (addProcedureToScope (d, n)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25101,7 +25911,7 @@ extern "C" void decl_putCommentDefProcedure (decl_node n) + mcDebug_assert (decl_isProcedure (n)); + if (mcComment_isProcedureComment (mcLexBuf_lastcomment)) + { +- n->procedureF.defComment = mcLexBuf_lastcomment; ++ static_cast (n)->procedureF.defComment = mcLexBuf_lastcomment; + } + } + +@@ -25117,7 +25927,7 @@ extern "C" void decl_putCommentModProcedure (decl_node n) + mcDebug_assert (decl_isProcedure (n)); + if (mcComment_isProcedureComment (mcLexBuf_lastcomment)) + { +- n->procedureF.modComment = mcLexBuf_lastcomment; ++ static_cast (n)->procedureF.modComment = mcLexBuf_lastcomment; + } + } + +@@ -25128,23 +25938,24 @@ extern "C" void decl_putCommentModProcedure (decl_node n) + + extern "C" decl_node decl_makeProcType (void) + { +- decl_node d; ++ decl_node__opaque d; + + d = newNode (decl_proctype); +- d->proctypeF.scope = decl_getDeclScope (); ++ d->proctypeF.scope = static_cast (decl_getDeclScope ()); + d->proctypeF.parameters = Indexing_InitIndex (1); + d->proctypeF.returnopt = false; +- d->proctypeF.optarg_ = NULL; ++ d->proctypeF.optarg_ = static_cast (NULL); + d->proctypeF.vararg = false; +- d->proctypeF.returnType = NULL; +- return d; ++ d->proctypeF.returnType = static_cast (NULL); ++ initNodeOpaqueState (d); ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + + /* +- putReturnType - sets the return type of procedure or proctype, proc, to, type. ++ putReturnType - sets the return type of procedure or proctype proc to type. + */ + + extern "C" void decl_putReturnType (decl_node proc, decl_node type) +@@ -25152,12 +25963,13 @@ extern "C" void decl_putReturnType (decl_node proc, decl_node type) + mcDebug_assert ((decl_isProcedure (proc)) || (decl_isProcType (proc))); + if (decl_isProcedure (proc)) + { +- proc->procedureF.returnType = type; ++ static_cast (proc)->procedureF.returnType = static_cast (type); + } + else + { +- proc->proctypeF.returnType = type; ++ static_cast (proc)->proctypeF.returnType = static_cast (type); + } ++ initNodeOpaqueState (static_cast (proc)); + } + + +@@ -25170,11 +25982,11 @@ extern "C" void decl_putOptReturn (decl_node proc) + mcDebug_assert ((decl_isProcedure (proc)) || (decl_isProcType (proc))); + if (decl_isProcedure (proc)) + { +- proc->procedureF.returnopt = true; ++ static_cast (proc)->procedureF.returnopt = true; + } + else + { +- proc->proctypeF.returnopt = true; ++ static_cast (proc)->proctypeF.returnopt = true; + } + } + +@@ -25185,17 +25997,18 @@ extern "C" void decl_putOptReturn (decl_node proc) + + extern "C" decl_node decl_makeVarParameter (decl_node l, decl_node type, decl_node proc, bool isused) + { +- decl_node d; ++ decl_node__opaque d; + +- mcDebug_assert ((l == NULL) || (isIdentList (l))); ++ mcDebug_assert ((l == NULL) || (isIdentList (static_cast (l)))); + d = newNode (decl_varparam); +- d->varparamF.namelist = l; +- d->varparamF.type = type; +- d->varparamF.scope = proc; ++ d->varparamF.namelist = static_cast (l); ++ d->varparamF.type = static_cast (type); ++ d->varparamF.scope = static_cast (proc); + d->varparamF.isUnbounded = false; +- d->varparamF.isForC = isDefForCNode (proc); ++ d->varparamF.isForC = isDefForCNode (static_cast (proc)); + d->varparamF.isUsed = isused; +- return d; ++ initNodeOpaqueState (d); ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25207,17 +26020,18 @@ extern "C" decl_node decl_makeVarParameter (decl_node l, decl_node type, decl_no + + extern "C" decl_node decl_makeNonVarParameter (decl_node l, decl_node type, decl_node proc, bool isused) + { +- decl_node d; ++ decl_node__opaque d; + +- mcDebug_assert ((l == NULL) || (isIdentList (l))); ++ mcDebug_assert ((l == NULL) || (isIdentList (static_cast (l)))); + d = newNode (decl_param); +- d->paramF.namelist = l; +- d->paramF.type = type; +- d->paramF.scope = proc; ++ d->paramF.namelist = static_cast (l); ++ d->paramF.type = static_cast (type); ++ d->paramF.scope = static_cast (proc); + d->paramF.isUnbounded = false; +- d->paramF.isForC = isDefForCNode (proc); ++ d->paramF.isForC = isDefForCNode (static_cast (proc)); + d->paramF.isUsed = isused; +- return d; ++ initNodeOpaqueState (d); ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25230,7 +26044,7 @@ extern "C" decl_node decl_makeNonVarParameter (decl_node l, decl_node type, decl + extern "C" void decl_paramEnter (decl_node n) + { + mcDebug_assert (decl_isProcedure (n)); +- n->procedureF.paramcount = 0; ++ static_cast (n)->procedureF.paramcount = 0; + } + + +@@ -25241,10 +26055,10 @@ extern "C" void decl_paramEnter (decl_node n) + extern "C" void decl_paramLeave (decl_node n) + { + mcDebug_assert (decl_isProcedure (n)); +- n->procedureF.checking = true; +- if ((decl_isImp (currentModule)) || (decl_isModule (currentModule))) ++ static_cast (n)->procedureF.checking = true; ++ if ((decl_isImp (static_cast (currentModule))) || (decl_isModule (static_cast (currentModule)))) + { +- n->procedureF.built = true; ++ static_cast (n)->procedureF.built = true; + } + } + +@@ -25255,12 +26069,12 @@ extern "C" void decl_paramLeave (decl_node n) + + extern "C" decl_node decl_makeIdentList (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_identlist); + n->identlistF.names = wlists_initList (); + n->identlistF.cnamed = false; +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25273,14 +26087,14 @@ extern "C" decl_node decl_makeIdentList (void) + + extern "C" bool decl_putIdent (decl_node n, nameKey_Name i) + { +- mcDebug_assert (isIdentList (n)); +- if (wlists_isItemInList (n->identlistF.names, i)) ++ mcDebug_assert (isIdentList (static_cast (n))); ++ if (wlists_isItemInList (static_cast (n)->identlistF.names, i)) + { + return false; + } + else + { +- wlists_putItemIntoList (n->identlistF.names, i); ++ wlists_putItemIntoList (static_cast (n)->identlistF.names, i); + return true; + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -25295,19 +26109,19 @@ extern "C" bool decl_putIdent (decl_node n, nameKey_Name i) + + extern "C" void decl_addVarParameters (decl_node n, decl_node i, decl_node type, bool isused) + { +- decl_node p; ++ decl_node__opaque p; + +- mcDebug_assert (isIdentList (i)); ++ mcDebug_assert (isIdentList (static_cast (i))); + mcDebug_assert (decl_isProcedure (n)); +- checkMakeVariables (n, i, type, true, isused); +- if (n->procedureF.checking) ++ checkMakeVariables (static_cast (n), static_cast (i), static_cast (type), true, isused); ++ if (static_cast (n)->procedureF.checking) + { +- checkParameters (n, i, type, true, isused); /* will destroy, i. */ ++ checkParameters (static_cast (n), static_cast (i), static_cast (type), true, isused); /* will destroy, i. */ + } + else + { +- p = decl_makeVarParameter (i, type, n, isused); +- Indexing_IncludeIndiceIntoIndex (n->procedureF.parameters, reinterpret_cast (p)); ++ p = static_cast (decl_makeVarParameter (i, type, n, isused)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (n)->procedureF.parameters, reinterpret_cast (p)); + } + } + +@@ -25319,19 +26133,19 @@ extern "C" void decl_addVarParameters (decl_node n, decl_node i, decl_node type, + + extern "C" void decl_addNonVarParameters (decl_node n, decl_node i, decl_node type, bool isused) + { +- decl_node p; ++ decl_node__opaque p; + +- mcDebug_assert (isIdentList (i)); ++ mcDebug_assert (isIdentList (static_cast (i))); + mcDebug_assert (decl_isProcedure (n)); +- checkMakeVariables (n, i, type, false, isused); +- if (n->procedureF.checking) ++ checkMakeVariables (static_cast (n), static_cast (i), static_cast (type), false, isused); ++ if (static_cast (n)->procedureF.checking) + { +- checkParameters (n, i, type, false, isused); /* will destroy, i. */ ++ checkParameters (static_cast (n), static_cast (i), static_cast (type), false, isused); /* will destroy, i. */ + } + else + { +- p = decl_makeNonVarParameter (i, type, n, isused); +- Indexing_IncludeIndiceIntoIndex (n->procedureF.parameters, reinterpret_cast (p)); ++ p = static_cast (decl_makeNonVarParameter (i, type, n, isused)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (n)->procedureF.parameters, reinterpret_cast (p)); + } + } + +@@ -25342,11 +26156,11 @@ extern "C" void decl_addNonVarParameters (decl_node n, decl_node i, decl_node ty + + extern "C" decl_node decl_makeVarargs (void) + { +- decl_node d; ++ decl_node__opaque d; + + d = newNode (decl_varargs); +- d->varargsF.scope = NULL; +- return d; ++ d->varargsF.scope = static_cast (NULL); ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25358,7 +26172,7 @@ extern "C" decl_node decl_makeVarargs (void) + + extern "C" bool decl_isVarargs (decl_node n) + { +- return n->kind == decl_varargs; ++ return static_cast (n)->kind == decl_varargs; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25371,29 +26185,29 @@ extern "C" bool decl_isVarargs (decl_node n) + extern "C" void decl_addParameter (decl_node proc, decl_node param) + { + mcDebug_assert ((((decl_isVarargs (param)) || (decl_isParam (param))) || (decl_isVarParam (param))) || (decl_isOptarg (param))); +- switch (proc->kind) ++ switch (static_cast (proc)->kind) + { + case decl_procedure: +- Indexing_IncludeIndiceIntoIndex (proc->procedureF.parameters, reinterpret_cast (param)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (proc)->procedureF.parameters, reinterpret_cast (param)); + if (decl_isVarargs (param)) + { +- proc->procedureF.vararg = true; ++ static_cast (proc)->procedureF.vararg = true; + } + if (decl_isOptarg (param)) + { +- proc->procedureF.optarg_ = param; ++ static_cast (proc)->procedureF.optarg_ = static_cast (param); + } + break; + + case decl_proctype: +- Indexing_IncludeIndiceIntoIndex (proc->proctypeF.parameters, reinterpret_cast (param)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (proc)->proctypeF.parameters, reinterpret_cast (param)); + if (decl_isVarargs (param)) + { +- proc->proctypeF.vararg = true; ++ static_cast (proc)->proctypeF.vararg = true; + } + if (decl_isOptarg (param)) + { +- proc->proctypeF.optarg_ = param; ++ static_cast (proc)->proctypeF.optarg_ = static_cast (param); + } + break; + +@@ -25414,77 +26228,77 @@ extern "C" decl_node decl_makeBinaryTok (mcReserved_toktype op, decl_node l, dec + { + if (op == mcReserved_equaltok) + { +- return makeBinary (decl_equal, l, r, booleanN); ++ return static_cast (makeBinary (decl_equal, static_cast (l), static_cast (r), booleanN)); + } + else if ((op == mcReserved_hashtok) || (op == mcReserved_lessgreatertok)) + { + /* avoid dangling else. */ +- return makeBinary (decl_notequal, l, r, booleanN); ++ return static_cast (makeBinary (decl_notequal, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_lesstok) + { + /* avoid dangling else. */ +- return makeBinary (decl_less, l, r, booleanN); ++ return static_cast (makeBinary (decl_less, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_greatertok) + { + /* avoid dangling else. */ +- return makeBinary (decl_greater, l, r, booleanN); ++ return static_cast (makeBinary (decl_greater, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_greaterequaltok) + { + /* avoid dangling else. */ +- return makeBinary (decl_greequal, l, r, booleanN); ++ return static_cast (makeBinary (decl_greequal, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_lessequaltok) + { + /* avoid dangling else. */ +- return makeBinary (decl_lessequal, l, r, booleanN); ++ return static_cast (makeBinary (decl_lessequal, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_andtok) + { + /* avoid dangling else. */ +- return makeBinary (decl_and, l, r, booleanN); ++ return static_cast (makeBinary (decl_and, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_ortok) + { + /* avoid dangling else. */ +- return makeBinary (decl_or, l, r, booleanN); ++ return static_cast (makeBinary (decl_or, static_cast (l), static_cast (r), booleanN)); + } + else if (op == mcReserved_plustok) + { + /* avoid dangling else. */ +- return makeBinary (decl_plus, l, r, NULL); ++ return static_cast (makeBinary (decl_plus, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_minustok) + { + /* avoid dangling else. */ +- return makeBinary (decl_sub, l, r, NULL); ++ return static_cast (makeBinary (decl_sub, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_divtok) + { + /* avoid dangling else. */ +- return makeBinary (decl_div, l, r, NULL); ++ return static_cast (makeBinary (decl_div, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_timestok) + { + /* avoid dangling else. */ +- return makeBinary (decl_mult, l, r, NULL); ++ return static_cast (makeBinary (decl_mult, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_modtok) + { + /* avoid dangling else. */ +- return makeBinary (decl_mod, l, r, NULL); ++ return static_cast (makeBinary (decl_mod, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_intok) + { + /* avoid dangling else. */ +- return makeBinary (decl_in, l, r, NULL); ++ return static_cast (makeBinary (decl_in, static_cast (l), static_cast (r), static_cast (NULL))); + } + else if (op == mcReserved_dividetok) + { + /* avoid dangling else. */ +- return makeBinary (decl_divide, l, r, NULL); ++ return static_cast (makeBinary (decl_divide, static_cast (l), static_cast (r), static_cast (NULL))); + } + else + { +@@ -25506,17 +26320,17 @@ extern "C" decl_node decl_makeUnaryTok (mcReserved_toktype op, decl_node e) + { + if (op == mcReserved_nottok) + { +- return makeUnary (decl_not, e, booleanN); ++ return static_cast (makeUnary (decl_not, static_cast (e), booleanN)); + } + else if (op == mcReserved_plustok) + { + /* avoid dangling else. */ +- return makeUnary (decl_plus, e, NULL); ++ return static_cast (makeUnary (decl_plus, static_cast (e), static_cast (NULL))); + } + else if (op == mcReserved_minustok) + { + /* avoid dangling else. */ +- return makeUnary (decl_neg, e, NULL); ++ return static_cast (makeUnary (decl_neg, static_cast (e), static_cast (NULL))); + } + else + { +@@ -25536,10 +26350,10 @@ extern "C" decl_node decl_makeUnaryTok (mcReserved_toktype op, decl_node e) + + extern "C" decl_node decl_makeComponentRef (decl_node rec, decl_node field) + { +- decl_node n; +- decl_node a; ++ decl_node__opaque n; ++ decl_node__opaque a; + +- /* ++ /* + n := getLastOp (rec) ; + IF (n#NIL) AND (isDeref (n) OR isPointerRef (n)) AND + (skipType (getType (rec)) = skipType (getType (n))) +@@ -25554,18 +26368,19 @@ extern "C" decl_node decl_makeComponentRef (decl_node rec, decl_node field) + RETURN doMakeComponentRef (rec, field) + END + */ +- if (isDeref (rec)) +- { +- a = rec->unaryF.arg; +- rec->kind = decl_pointerref; +- rec->pointerrefF.ptr = a; +- rec->pointerrefF.field = field; +- rec->pointerrefF.resultType = decl_getType (field); ++ if (isDeref (static_cast (rec))) ++ { ++ a = static_cast (rec)->unaryF.arg; ++ static_cast (rec)->kind = decl_pointerref; ++ static_cast (rec)->pointerrefF.ptr = a; ++ static_cast (rec)->pointerrefF.field = static_cast (field); ++ static_cast (rec)->pointerrefF.resultType = static_cast (decl_getType (field)); ++ initNodeOpaqueState (static_cast (rec)); + return rec; + } + else + { +- return doMakeComponentRef (rec, field); ++ return static_cast (doMakeComponentRef (static_cast (rec), static_cast (field))); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25579,13 +26394,14 @@ extern "C" decl_node decl_makeComponentRef (decl_node rec, decl_node field) + + extern "C" decl_node decl_makePointerRef (decl_node ptr, decl_node field) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_pointerref); +- n->pointerrefF.ptr = ptr; +- n->pointerrefF.field = field; +- n->pointerrefF.resultType = decl_getType (field); +- return n; ++ n->pointerrefF.ptr = static_cast (ptr); ++ n->pointerrefF.field = static_cast (field); ++ n->pointerrefF.resultType = static_cast (decl_getType (field)); ++ initNodeOpaqueState (n); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25598,7 +26414,7 @@ extern "C" decl_node decl_makePointerRef (decl_node ptr, decl_node field) + extern "C" bool decl_isPointerRef (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_pointerref; ++ return static_cast (n)->kind == decl_pointerref; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25610,11 +26426,11 @@ extern "C" bool decl_isPointerRef (decl_node n) + + extern "C" decl_node decl_makeDeRef (decl_node n) + { +- decl_node t; ++ decl_node__opaque t; + +- t = decl_skipType (decl_getType (n)); +- mcDebug_assert (decl_isPointer (t)); +- return makeUnary (decl_deref, n, decl_getType (t)); ++ t = static_cast (decl_skipType (decl_getType (n))); ++ mcDebug_assert (decl_isPointer (static_cast (t))); ++ return static_cast (makeUnary (decl_deref, static_cast (n), static_cast (decl_getType (static_cast (t))))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25628,22 +26444,22 @@ extern "C" decl_node decl_makeDeRef (decl_node n) + + extern "C" decl_node decl_makeArrayRef (decl_node array, decl_node index) + { +- decl_node n; +- decl_node t; ++ decl_node__opaque n; ++ decl_node__opaque t; + unsigned int i; + unsigned int j; + + n = newNode (decl_arrayref); +- n->arrayrefF.array = array; +- n->arrayrefF.index = index; +- t = array; +- j = expListLen (index); ++ n->arrayrefF.array = static_cast (array); ++ n->arrayrefF.index = static_cast (index); ++ t = static_cast (array); ++ j = expListLen (static_cast (index)); + i = 1; +- t = decl_skipType (decl_getType (t)); ++ t = static_cast (decl_skipType (decl_getType (static_cast (t)))); + do { +- if (decl_isArray (t)) ++ if (decl_isArray (static_cast (t))) + { +- t = decl_skipType (decl_getType (t)); ++ t = static_cast (decl_skipType (decl_getType (static_cast (t)))); + } + else + { +@@ -25652,7 +26468,7 @@ extern "C" decl_node decl_makeArrayRef (decl_node array, decl_node index) + i += 1; + } while (! (i > j)); + n->arrayrefF.resultType = t; +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25664,7 +26480,7 @@ extern "C" decl_node decl_makeArrayRef (decl_node array, decl_node index) + + extern "C" decl_node decl_getLastOp (decl_node n) + { +- return doGetLastOp (n, n); ++ return static_cast (doGetLastOp (static_cast (n), static_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25676,7 +26492,7 @@ extern "C" decl_node decl_getLastOp (decl_node n) + + extern "C" decl_node decl_getCardinal (void) + { +- return cardinalN; ++ return static_cast (cardinalN); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25688,7 +26504,7 @@ extern "C" decl_node decl_getCardinal (void) + + extern "C" decl_node decl_makeLiteralInt (nameKey_Name n) + { +- decl_node m; ++ decl_node__opaque m; + DynamicStrings_String s; + + m = newNode (decl_literal); +@@ -25703,7 +26519,7 @@ extern "C" decl_node decl_makeLiteralInt (nameKey_Name n) + m->literalF.type = ztypeN; + } + s = DynamicStrings_KillString (s); +- return m; ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25715,12 +26531,12 @@ extern "C" decl_node decl_makeLiteralInt (nameKey_Name n) + + extern "C" decl_node decl_makeLiteralReal (nameKey_Name n) + { +- decl_node m; ++ decl_node__opaque m; + + m = newNode (decl_literal); + m->literalF.name = n; + m->literalF.type = rtypeN; +- return m; ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25732,7 +26548,7 @@ extern "C" decl_node decl_makeLiteralReal (nameKey_Name n) + + extern "C" decl_node decl_makeString (nameKey_Name n) + { +- decl_node m; ++ decl_node__opaque m; + + m = newNode (decl_string); + m->stringF.name = n; +@@ -25746,9 +26562,9 @@ extern "C" decl_node decl_makeString (nameKey_Name n) + } + else + { +- m->stringF.cchar = NULL; ++ m->stringF.cchar = static_cast (NULL); + } +- return m; ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25760,12 +26576,12 @@ extern "C" decl_node decl_makeString (nameKey_Name n) + + extern "C" decl_node decl_makeSetValue (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_setvalue); + n->setvalueF.type = bitsetN; + n->setvalueF.values = Indexing_InitIndex (1); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25778,7 +26594,7 @@ extern "C" decl_node decl_makeSetValue (void) + extern "C" bool decl_isSetValue (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_setvalue; ++ return static_cast (n)->kind == decl_setvalue; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25792,7 +26608,7 @@ extern "C" bool decl_isSetValue (decl_node n) + extern "C" decl_node decl_putSetValue (decl_node n, decl_node t) + { + mcDebug_assert (decl_isSetValue (n)); +- n->setvalueF.type = t; ++ static_cast (n)->setvalueF.type = static_cast (t); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25809,7 +26625,7 @@ extern "C" decl_node decl_putSetValue (decl_node n, decl_node t) + extern "C" decl_node decl_includeSetValue (decl_node n, decl_node l, decl_node h) + { + mcDebug_assert (decl_isSetValue (n)); +- Indexing_IncludeIndiceIntoIndex (n->setvalueF.values, reinterpret_cast (l)); ++ Indexing_IncludeIndiceIntoIndex (static_cast (n)->setvalueF.values, reinterpret_cast (l)); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25824,27 +26640,27 @@ extern "C" decl_node decl_getBuiltinConst (nameKey_Name n) + { + if (n == (nameKey_makeKey ((const char *) "BITS_PER_UNIT", 13))) + { +- return bitsperunitN; ++ return static_cast (bitsperunitN); + } + else if (n == (nameKey_makeKey ((const char *) "BITS_PER_WORD", 13))) + { + /* avoid dangling else. */ +- return bitsperwordN; ++ return static_cast (bitsperwordN); + } + else if (n == (nameKey_makeKey ((const char *) "BITS_PER_CHAR", 13))) + { + /* avoid dangling else. */ +- return bitspercharN; ++ return static_cast (bitspercharN); + } + else if (n == (nameKey_makeKey ((const char *) "UNITS_PER_WORD", 14))) + { + /* avoid dangling else. */ +- return unitsperwordN; ++ return static_cast (unitsperwordN); + } + else + { + /* avoid dangling else. */ +- return NULL; ++ return static_cast (NULL); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25857,11 +26673,11 @@ extern "C" decl_node decl_getBuiltinConst (nameKey_Name n) + + extern "C" decl_node decl_makeExpList (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_explist); + n->explistF.exp = Indexing_InitIndex (1); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25874,7 +26690,7 @@ extern "C" decl_node decl_makeExpList (void) + extern "C" bool decl_isExpList (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_explist; ++ return static_cast (n)->kind == decl_explist; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25888,7 +26704,7 @@ extern "C" void decl_putExpList (decl_node n, decl_node e) + { + mcDebug_assert (n != NULL); + mcDebug_assert (decl_isExpList (n)); +- Indexing_PutIndice (n->explistF.exp, (Indexing_HighIndice (n->explistF.exp))+1, reinterpret_cast (e)); ++ Indexing_PutIndice (static_cast (n)->explistF.exp, (Indexing_HighIndice (static_cast (n)->explistF.exp))+1, reinterpret_cast (e)); + } + + +@@ -25904,7 +26720,7 @@ extern "C" decl_node decl_makeConstExp (void) + } + else + { +- return doMakeConstExp (); ++ return static_cast (doMakeConstExp ()); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25917,24 +26733,22 @@ extern "C" decl_node decl_makeConstExp (void) + + extern "C" decl_node decl_getNextConstExp (void) + { +- decl_node n; +- +- mcDebug_assert (((decl_isDef (currentModule)) || (decl_isImp (currentModule))) || (decl_isModule (currentModule))); +- if (decl_isDef (currentModule)) ++ mcDebug_assert (((decl_isDef (static_cast (currentModule))) || (decl_isImp (static_cast (currentModule)))) || (decl_isModule (static_cast (currentModule)))); ++ if (decl_isDef (static_cast (currentModule))) + { +- return getNextFixup (¤tModule->defF.constFixup); ++ return static_cast (getNextFixup (¤tModule->defF.constFixup)); + } +- else if (decl_isImp (currentModule)) ++ else if (decl_isImp (static_cast (currentModule))) + { + /* avoid dangling else. */ +- return getNextFixup (¤tModule->impF.constFixup); ++ return static_cast (getNextFixup (¤tModule->impF.constFixup)); + } +- else if (decl_isModule (currentModule)) ++ else + { + /* avoid dangling else. */ +- return getNextFixup (¤tModule->moduleF.constFixup); ++ mcDebug_assert (decl_isModule (static_cast (currentModule))); ++ return static_cast (getNextFixup (¤tModule->moduleF.constFixup)); + } +- return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -25946,18 +26760,18 @@ extern "C" decl_node decl_getNextConstExp (void) + + extern "C" void decl_setConstExpComplete (decl_node n) + { +- switch (n->kind) ++ switch (static_cast (n)->kind) + { + case decl_def: +- n->defF.constsComplete = true; ++ static_cast (n)->defF.constsComplete = true; + break; + + case decl_imp: +- n->impF.constsComplete = true; ++ static_cast (n)->impF.constsComplete = true; + break; + + case decl_module: +- n->moduleF.constsComplete = true; ++ static_cast (n)->moduleF.constsComplete = true; + break; + + +@@ -25974,8 +26788,8 @@ extern "C" void decl_setConstExpComplete (decl_node n) + + extern "C" decl_node decl_fixupConstExp (decl_node c, decl_node e) + { +- mcDebug_assert (isConstExp (c)); +- c->unaryF.arg = e; ++ mcDebug_assert (isConstExp (static_cast (c))); ++ static_cast (c)->unaryF.arg = static_cast (e); + return c; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -25992,17 +26806,17 @@ extern "C" void decl_resetConstExpPos (decl_node n) + mcDebug_assert (((decl_isDef (n)) || (decl_isImp (n))) || (decl_isModule (n))); + if (decl_isDef (n)) + { +- n->defF.constFixup.count = 0; ++ static_cast (n)->defF.constFixup.count = 0; + } + else if (decl_isImp (n)) + { + /* avoid dangling else. */ +- n->impF.constFixup.count = 0; ++ static_cast (n)->impF.constFixup.count = 0; + } + else if (decl_isModule (n)) + { + /* avoid dangling else. */ +- n->moduleF.constFixup.count = 0; ++ static_cast (n)->moduleF.constFixup.count = 0; + } + } + +@@ -26013,24 +26827,25 @@ extern "C" void decl_resetConstExpPos (decl_node n) + + extern "C" decl_node decl_makeFuncCall (decl_node c, decl_node n) + { +- decl_node f; ++ decl_node__opaque f; + + mcDebug_assert ((n == NULL) || (decl_isExpList (n))); + if (((c == haltN) && ((decl_getMainModule ()) != (decl_lookupDef (nameKey_makeKey ((const char *) "M2RTS", 5))))) && ((decl_getMainModule ()) != (decl_lookupImp (nameKey_makeKey ((const char *) "M2RTS", 5))))) + { + decl_addImportedModule (decl_getMainModule (), decl_lookupDef (nameKey_makeKey ((const char *) "M2RTS", 5)), false); + } +- f = checkIntrinsic (c, n); +- checkCHeaders (c); ++ f = checkIntrinsic (static_cast (c), static_cast (n)); ++ checkCHeaders (static_cast (c)); + if (f == NULL) + { + f = newNode (decl_funccall); +- f->funccallF.function = c; +- f->funccallF.args = n; +- f->funccallF.type = NULL; ++ f->funccallF.function = static_cast (c); ++ f->funccallF.args = static_cast (n); ++ f->funccallF.type = static_cast (decl_getType (c)); + initPair (&f->funccallF.funccallComment); ++ initNodeOpaqueState (f); + } +- return f; ++ return static_cast (f); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26042,11 +26857,11 @@ extern "C" decl_node decl_makeFuncCall (decl_node c, decl_node n) + + extern "C" decl_node decl_makeStatementSequence (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_stmtseq); + n->stmtF.statements = Indexing_InitIndex (1); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26058,7 +26873,7 @@ extern "C" decl_node decl_makeStatementSequence (void) + + extern "C" bool decl_isStatementSequence (decl_node n) + { +- return n->kind == decl_stmtseq; ++ return static_cast (n)->kind == decl_stmtseq; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26073,11 +26888,11 @@ extern "C" void decl_addStatement (decl_node s, decl_node n) + if (n != NULL) + { + mcDebug_assert (decl_isStatementSequence (s)); +- Indexing_PutIndice (s->stmtF.statements, (Indexing_HighIndice (s->stmtF.statements))+1, reinterpret_cast (n)); +- if ((isIntrinsic (n)) && n->intrinsicF.postUnreachable) ++ Indexing_PutIndice (static_cast (s)->stmtF.statements, (Indexing_HighIndice (static_cast (s)->stmtF.statements))+1, reinterpret_cast (n)); ++ if ((isIntrinsic (static_cast (n))) && static_cast (n)->intrinsicF.postUnreachable) + { +- n->intrinsicF.postUnreachable = false; +- decl_addStatement (s, makeIntrinsicProc (decl_unreachable, 0, NULL)); ++ static_cast (n)->intrinsicF.postUnreachable = false; ++ decl_addStatement (s, static_cast (makeIntrinsicProc (decl_unreachable, 0, static_cast (NULL)))); + } + } + } +@@ -26096,7 +26911,7 @@ extern "C" void decl_addCommentBody (decl_node n) + b = mcLexBuf_getBodyComment (); + if (b != NULL) + { +- addGenericBody (n, decl_makeCommentS (b)); ++ addGenericBody (static_cast (n), static_cast (decl_makeCommentS (b))); + } + } + } +@@ -26115,7 +26930,7 @@ extern "C" void decl_addCommentAfter (decl_node n) + a = mcLexBuf_getAfterComment (); + if (a != NULL) + { +- addGenericAfter (n, decl_makeCommentS (a)); ++ addGenericAfter (static_cast (n), static_cast (decl_makeCommentS (a))); + } + } + } +@@ -26128,8 +26943,8 @@ extern "C" void decl_addCommentAfter (decl_node n) + extern "C" void decl_addIfComments (decl_node n, decl_node body, decl_node after) + { + mcDebug_assert (decl_isIf (n)); +- n->ifF.ifComment.after = after; +- n->ifF.ifComment.body = body; ++ static_cast (n)->ifF.ifComment.after = static_cast (after); ++ static_cast (n)->ifF.ifComment.body = static_cast (body); + } + + +@@ -26142,13 +26957,13 @@ extern "C" void decl_addElseComments (decl_node n, decl_node body, decl_node aft + mcDebug_assert ((decl_isIf (n)) || (decl_isElsif (n))); + if (decl_isIf (n)) + { +- n->ifF.elseComment.after = after; +- n->ifF.elseComment.body = body; ++ static_cast (n)->ifF.elseComment.after = static_cast (after); ++ static_cast (n)->ifF.elseComment.body = static_cast (body); + } + else + { +- n->elsifF.elseComment.after = after; +- n->elsifF.elseComment.body = body; ++ static_cast (n)->elsifF.elseComment.after = static_cast (after); ++ static_cast (n)->elsifF.elseComment.body = static_cast (body); + } + } + +@@ -26160,8 +26975,8 @@ extern "C" void decl_addElseComments (decl_node n, decl_node body, decl_node aft + extern "C" void decl_addIfEndComments (decl_node n, decl_node body, decl_node after) + { + mcDebug_assert (decl_isIf (n)); +- n->ifF.endComment.after = after; +- n->ifF.endComment.body = body; ++ static_cast (n)->ifF.endComment.after = static_cast (after); ++ static_cast (n)->ifF.endComment.body = static_cast (body); + } + + +@@ -26171,21 +26986,21 @@ extern "C" void decl_addIfEndComments (decl_node n, decl_node body, decl_node af + + extern "C" decl_node decl_makeReturn (void) + { +- decl_node type; +- decl_node n; ++ decl_node__opaque type; ++ decl_node__opaque n; + + n = newNode (decl_return); +- n->returnF.exp = NULL; ++ n->returnF.exp = static_cast (NULL); + if (decl_isProcedure (decl_getDeclScope ())) + { +- n->returnF.scope = decl_getDeclScope (); ++ n->returnF.scope = static_cast (decl_getDeclScope ()); + } + else + { +- n->returnF.scope = NULL; ++ n->returnF.scope = static_cast (NULL); + } + initPair (&n->returnF.returnComment); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26198,7 +27013,7 @@ extern "C" decl_node decl_makeReturn (void) + extern "C" bool decl_isReturn (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_return; ++ return static_cast (n)->kind == decl_return; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26211,7 +27026,7 @@ extern "C" bool decl_isReturn (decl_node n) + extern "C" void decl_putReturn (decl_node n, decl_node e) + { + mcDebug_assert (decl_isReturn (n)); +- n->returnF.exp = e; ++ static_cast (n)->returnF.exp = static_cast (e); + } + + +@@ -26221,14 +27036,14 @@ extern "C" void decl_putReturn (decl_node n, decl_node e) + + extern "C" decl_node decl_makeWhile (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_while); +- n->whileF.expr = NULL; +- n->whileF.statements = NULL; ++ n->whileF.expr = static_cast (NULL); ++ n->whileF.statements = static_cast (NULL); + initPair (&n->whileF.doComment); + initPair (&n->whileF.endComment); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26242,8 +27057,8 @@ extern "C" decl_node decl_makeWhile (void) + extern "C" void decl_putWhile (decl_node n, decl_node e, decl_node s) + { + mcDebug_assert (decl_isWhile (n)); +- n->whileF.expr = e; +- n->whileF.statements = s; ++ static_cast (n)->whileF.expr = static_cast (e); ++ static_cast (n)->whileF.statements = static_cast (s); + } + + +@@ -26253,7 +27068,7 @@ extern "C" void decl_putWhile (decl_node n, decl_node e, decl_node s) + + extern "C" bool decl_isWhile (decl_node n) + { +- return n->kind == decl_while; ++ return static_cast (n)->kind == decl_while; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26266,8 +27081,8 @@ extern "C" bool decl_isWhile (decl_node n) + extern "C" void decl_addWhileDoComment (decl_node w, decl_node body, decl_node after) + { + mcDebug_assert (decl_isWhile (w)); +- w->whileF.doComment.after = after; +- w->whileF.doComment.body = body; ++ static_cast (w)->whileF.doComment.after = static_cast (after); ++ static_cast (w)->whileF.doComment.body = static_cast (body); + } + + +@@ -26278,8 +27093,8 @@ extern "C" void decl_addWhileDoComment (decl_node w, decl_node body, decl_node a + extern "C" void decl_addWhileEndComment (decl_node w, decl_node body, decl_node after) + { + mcDebug_assert (decl_isWhile (w)); +- w->whileF.endComment.after = after; +- w->whileF.endComment.body = body; ++ static_cast (w)->whileF.endComment.after = static_cast (after); ++ static_cast (w)->whileF.endComment.body = static_cast (body); + } + + +@@ -26290,13 +27105,13 @@ extern "C" void decl_addWhileEndComment (decl_node w, decl_node body, decl_node + + extern "C" decl_node decl_makeAssignment (decl_node d, decl_node e) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_assignment); +- n->assignmentF.des = d; +- n->assignmentF.expr = e; ++ n->assignmentF.des = static_cast (d); ++ n->assignmentF.expr = static_cast (e); + initPair (&n->assignmentF.assignComment); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26311,18 +27126,18 @@ extern "C" decl_node decl_makeAssignment (decl_node d, decl_node e) + extern "C" void decl_putBegin (decl_node b, decl_node s) + { + mcDebug_assert (((decl_isImp (b)) || (decl_isProcedure (b))) || (decl_isModule (b))); +- switch (b->kind) ++ switch (static_cast (b)->kind) + { + case decl_imp: +- b->impF.beginStatements = s; ++ static_cast (b)->impF.beginStatements = static_cast (s); + break; + + case decl_module: +- b->moduleF.beginStatements = s; ++ static_cast (b)->moduleF.beginStatements = static_cast (s); + break; + + case decl_procedure: +- b->procedureF.beginStatements = s; ++ static_cast (b)->procedureF.beginStatements = static_cast (s); + break; + + +@@ -26342,14 +27157,14 @@ extern "C" void decl_putBegin (decl_node b, decl_node s) + extern "C" void decl_putFinally (decl_node b, decl_node s) + { + mcDebug_assert (((decl_isImp (b)) || (decl_isProcedure (b))) || (decl_isModule (b))); +- switch (b->kind) ++ switch (static_cast (b)->kind) + { + case decl_imp: +- b->impF.finallyStatements = s; ++ static_cast (b)->impF.finallyStatements = static_cast (s); + break; + + case decl_module: +- b->moduleF.finallyStatements = s; ++ static_cast (b)->moduleF.finallyStatements = static_cast (s); + break; + + +@@ -26366,13 +27181,13 @@ extern "C" void decl_putFinally (decl_node b, decl_node s) + + extern "C" decl_node decl_makeExit (decl_node l, unsigned int n) + { +- decl_node e; ++ decl_node__opaque e; + + mcDebug_assert (decl_isLoop (l)); + e = newNode (decl_exit); +- e->exitF.loop = l; +- l->loopF.labelno = n; +- return e; ++ e->exitF.loop = static_cast (l); ++ static_cast (l)->loopF.labelno = n; ++ return static_cast (e); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26385,7 +27200,7 @@ extern "C" decl_node decl_makeExit (decl_node l, unsigned int n) + extern "C" bool decl_isExit (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_exit; ++ return static_cast (n)->kind == decl_exit; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26397,12 +27212,12 @@ extern "C" bool decl_isExit (decl_node n) + + extern "C" decl_node decl_makeLoop (void) + { +- decl_node l; ++ decl_node__opaque l; + + l = newNode (decl_loop); +- l->loopF.statements = NULL; ++ l->loopF.statements = static_cast (NULL); + l->loopF.labelno = 0; +- return l; ++ return static_cast (l); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26415,7 +27230,7 @@ extern "C" decl_node decl_makeLoop (void) + extern "C" bool decl_isLoop (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_loop; ++ return static_cast (n)->kind == decl_loop; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26428,7 +27243,7 @@ extern "C" bool decl_isLoop (decl_node n) + extern "C" void decl_putLoop (decl_node l, decl_node s) + { + mcDebug_assert (decl_isLoop (l)); +- l->loopF.statements = s; ++ static_cast (l)->loopF.statements = static_cast (s); + } + + +@@ -26461,17 +27276,17 @@ extern "C" decl_node decl_makeComment (const char *a_, unsigned int _a_high) + + extern "C" decl_node decl_makeCommentS (mcComment_commentDesc c) + { +- decl_node n; ++ decl_node__opaque n; + + if (c == NULL) + { +- return NULL; ++ return static_cast (NULL); + } + else + { + n = newNode (decl_comment); + n->commentF.content = c; +- return n; ++ return static_cast (n); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26486,17 +27301,17 @@ extern "C" decl_node decl_makeCommentS (mcComment_commentDesc c) + + extern "C" decl_node decl_makeIf (decl_node e, decl_node s) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_if); +- n->ifF.expr = e; +- n->ifF.then = s; +- n->ifF.else_ = NULL; +- n->ifF.elsif = NULL; ++ n->ifF.expr = static_cast (e); ++ n->ifF.then = static_cast (s); ++ n->ifF.else_ = static_cast (NULL); ++ n->ifF.elsif = static_cast (NULL); + initPair (&n->ifF.ifComment); + initPair (&n->ifF.elseComment); + initPair (&n->ifF.endComment); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26508,7 +27323,7 @@ extern "C" decl_node decl_makeIf (decl_node e, decl_node s) + + extern "C" bool decl_isIf (decl_node n) + { +- return n->kind == decl_if; ++ return static_cast (n)->kind == decl_if; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26522,26 +27337,26 @@ extern "C" bool decl_isIf (decl_node n) + + extern "C" decl_node decl_makeElsif (decl_node i, decl_node e, decl_node s) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_elsif); +- n->elsifF.expr = e; +- n->elsifF.then = s; +- n->elsifF.elsif = NULL; +- n->elsifF.else_ = NULL; ++ n->elsifF.expr = static_cast (e); ++ n->elsifF.then = static_cast (s); ++ n->elsifF.elsif = static_cast (NULL); ++ n->elsifF.else_ = static_cast (NULL); + initPair (&n->elsifF.elseComment); + mcDebug_assert ((decl_isIf (i)) || (decl_isElsif (i))); + if (decl_isIf (i)) + { +- i->ifF.elsif = n; +- mcDebug_assert (i->ifF.else_ == NULL); ++ static_cast (i)->ifF.elsif = n; ++ mcDebug_assert (static_cast (i)->ifF.else_ == NULL); + } + else + { +- i->elsifF.elsif = n; +- mcDebug_assert (i->elsifF.else_ == NULL); ++ static_cast (i)->elsifF.elsif = n; ++ mcDebug_assert (static_cast (i)->elsifF.else_ == NULL); + } +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26553,7 +27368,7 @@ extern "C" decl_node decl_makeElsif (decl_node i, decl_node e, decl_node s) + + extern "C" bool decl_isElsif (decl_node n) + { +- return n->kind == decl_elsif; ++ return static_cast (n)->kind == decl_elsif; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26569,15 +27384,15 @@ extern "C" void decl_putElse (decl_node i, decl_node s) + mcDebug_assert ((decl_isIf (i)) || (decl_isElsif (i))); + if (decl_isIf (i)) + { +- mcDebug_assert (i->ifF.elsif == NULL); +- mcDebug_assert (i->ifF.else_ == NULL); +- i->ifF.else_ = s; ++ mcDebug_assert (static_cast (i)->ifF.elsif == NULL); ++ mcDebug_assert (static_cast (i)->ifF.else_ == NULL); ++ static_cast (i)->ifF.else_ = static_cast (s); + } + else + { +- mcDebug_assert (i->elsifF.elsif == NULL); +- mcDebug_assert (i->elsifF.else_ == NULL); +- i->elsifF.else_ = s; ++ mcDebug_assert (static_cast (i)->elsifF.elsif == NULL); ++ mcDebug_assert (static_cast (i)->elsifF.else_ == NULL); ++ static_cast (i)->elsifF.else_ = static_cast (s); + } + } + +@@ -26588,15 +27403,15 @@ extern "C" void decl_putElse (decl_node i, decl_node s) + + extern "C" decl_node decl_makeFor (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_for); +- n->forF.des = NULL; +- n->forF.start = NULL; +- n->forF.end = NULL; +- n->forF.increment = NULL; +- n->forF.statements = NULL; +- return n; ++ n->forF.des = static_cast (NULL); ++ n->forF.start = static_cast (NULL); ++ n->forF.end = static_cast (NULL); ++ n->forF.increment = static_cast (NULL); ++ n->forF.statements = static_cast (NULL); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26609,7 +27424,7 @@ extern "C" decl_node decl_makeFor (void) + extern "C" bool decl_isFor (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_for; ++ return static_cast (n)->kind == decl_for; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26627,11 +27442,11 @@ extern "C" bool decl_isFor (decl_node n) + extern "C" void decl_putFor (decl_node f, decl_node i, decl_node s, decl_node e, decl_node b, decl_node sq) + { + mcDebug_assert (decl_isFor (f)); +- f->forF.des = i; +- f->forF.start = s; +- f->forF.end = e; +- f->forF.increment = b; +- f->forF.statements = sq; ++ static_cast (f)->forF.des = static_cast (i); ++ static_cast (f)->forF.start = static_cast (s); ++ static_cast (f)->forF.end = static_cast (e); ++ static_cast (f)->forF.increment = static_cast (b); ++ static_cast (f)->forF.statements = static_cast (sq); + } + + +@@ -26641,14 +27456,14 @@ extern "C" void decl_putFor (decl_node f, decl_node i, decl_node s, decl_node e, + + extern "C" decl_node decl_makeRepeat (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_repeat); +- n->repeatF.expr = NULL; +- n->repeatF.statements = NULL; ++ n->repeatF.expr = static_cast (NULL); ++ n->repeatF.statements = static_cast (NULL); + initPair (&n->repeatF.repeatComment); + initPair (&n->repeatF.untilComment); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26661,7 +27476,7 @@ extern "C" decl_node decl_makeRepeat (void) + extern "C" bool decl_isRepeat (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_repeat; ++ return static_cast (n)->kind == decl_repeat; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26674,8 +27489,8 @@ extern "C" bool decl_isRepeat (decl_node n) + + extern "C" void decl_putRepeat (decl_node n, decl_node s, decl_node e) + { +- n->repeatF.expr = e; +- n->repeatF.statements = s; ++ static_cast (n)->repeatF.expr = static_cast (e); ++ static_cast (n)->repeatF.statements = static_cast (s); + } + + +@@ -26686,8 +27501,8 @@ extern "C" void decl_putRepeat (decl_node n, decl_node s, decl_node e) + extern "C" void decl_addRepeatComment (decl_node r, decl_node body, decl_node after) + { + mcDebug_assert (decl_isRepeat (r)); +- r->repeatF.repeatComment.after = after; +- r->repeatF.repeatComment.body = body; ++ static_cast (r)->repeatF.repeatComment.after = static_cast (after); ++ static_cast (r)->repeatF.repeatComment.body = static_cast (body); + } + + +@@ -26698,8 +27513,8 @@ extern "C" void decl_addRepeatComment (decl_node r, decl_node body, decl_node af + extern "C" void decl_addUntilComment (decl_node r, decl_node body, decl_node after) + { + mcDebug_assert (decl_isRepeat (r)); +- r->repeatF.untilComment.after = after; +- r->repeatF.untilComment.body = body; ++ static_cast (r)->repeatF.untilComment.after = static_cast (after); ++ static_cast (r)->repeatF.untilComment.body = static_cast (body); + } + + +@@ -26709,13 +27524,13 @@ extern "C" void decl_addUntilComment (decl_node r, decl_node body, decl_node aft + + extern "C" decl_node decl_makeCase (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_case); +- n->caseF.expression = NULL; ++ n->caseF.expression = static_cast (NULL); + n->caseF.caseLabelList = Indexing_InitIndex (1); +- n->caseF.else_ = NULL; +- return n; ++ n->caseF.else_ = static_cast (NULL); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26728,7 +27543,7 @@ extern "C" decl_node decl_makeCase (void) + extern "C" bool decl_isCase (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_case; ++ return static_cast (n)->kind == decl_case; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26742,7 +27557,7 @@ extern "C" bool decl_isCase (decl_node n) + extern "C" decl_node decl_putCaseExpression (decl_node n, decl_node e) + { + mcDebug_assert (decl_isCase (n)); +- n->caseF.expression = e; ++ static_cast (n)->caseF.expression = static_cast (e); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26757,7 +27572,7 @@ extern "C" decl_node decl_putCaseExpression (decl_node n, decl_node e) + extern "C" decl_node decl_putCaseElse (decl_node n, decl_node e) + { + mcDebug_assert (decl_isCase (n)); +- n->caseF.else_ = e; ++ static_cast (n)->caseF.else_ = static_cast (e); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26774,7 +27589,7 @@ extern "C" decl_node decl_putCaseStatement (decl_node n, decl_node l, decl_node + { + mcDebug_assert (decl_isCase (n)); + mcDebug_assert (decl_isCaseList (l)); +- Indexing_IncludeIndiceIntoIndex (n->caseF.caseLabelList, reinterpret_cast (decl_makeCaseLabelList (l, s))); ++ Indexing_IncludeIndiceIntoIndex (static_cast (n)->caseF.caseLabelList, reinterpret_cast (decl_makeCaseLabelList (l, s))); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26787,12 +27602,12 @@ extern "C" decl_node decl_putCaseStatement (decl_node n, decl_node l, decl_node + + extern "C" decl_node decl_makeCaseLabelList (decl_node l, decl_node s) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_caselabellist); +- n->caselabellistF.caseList = l; +- n->caselabellistF.statements = s; +- return n; ++ n->caselabellistF.caseList = static_cast (l); ++ n->caselabellistF.statements = static_cast (s); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26805,7 +27620,7 @@ extern "C" decl_node decl_makeCaseLabelList (decl_node l, decl_node s) + extern "C" bool decl_isCaseLabelList (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_caselabellist; ++ return static_cast (n)->kind == decl_caselabellist; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26817,11 +27632,11 @@ extern "C" bool decl_isCaseLabelList (decl_node n) + + extern "C" decl_node decl_makeCaseList (void) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_caselist); + n->caselistF.rangePairs = Indexing_InitIndex (1); +- return n; ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26834,7 +27649,7 @@ extern "C" decl_node decl_makeCaseList (void) + extern "C" bool decl_isCaseList (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_caselist; ++ return static_cast (n)->kind == decl_caselist; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26847,7 +27662,7 @@ extern "C" bool decl_isCaseList (decl_node n) + extern "C" decl_node decl_putCaseRange (decl_node n, decl_node lo, decl_node hi) + { + mcDebug_assert (decl_isCaseList (n)); +- Indexing_IncludeIndiceIntoIndex (n->caselistF.rangePairs, reinterpret_cast (decl_makeRange (lo, hi))); ++ Indexing_IncludeIndiceIntoIndex (static_cast (n)->caselistF.rangePairs, reinterpret_cast (decl_makeRange (lo, hi))); + return n; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26860,12 +27675,12 @@ extern "C" decl_node decl_putCaseRange (decl_node n, decl_node lo, decl_node hi) + + extern "C" decl_node decl_makeRange (decl_node lo, decl_node hi) + { +- decl_node n; ++ decl_node__opaque n; + + n = newNode (decl_range); +- n->rangeF.lo = lo; +- n->rangeF.hi = hi; +- return n; ++ n->rangeF.lo = static_cast (lo); ++ n->rangeF.hi = static_cast (hi); ++ return static_cast (n); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26878,7 +27693,7 @@ extern "C" decl_node decl_makeRange (decl_node lo, decl_node hi) + extern "C" bool decl_isRange (decl_node n) + { + mcDebug_assert (n != NULL); +- return n->kind == decl_range; ++ return static_cast (n)->kind == decl_range; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -26892,12 +27707,12 @@ extern "C" void decl_setNoReturn (decl_node n, bool value) + { + mcDebug_assert (n != NULL); + mcDebug_assert (decl_isProcedure (n)); +- if (n->procedureF.noreturnused && (n->procedureF.noreturn != value)) ++ if (static_cast (n)->procedureF.noreturnused && (static_cast (n)->procedureF.noreturn != value)) + { + mcMetaError_metaError1 ((const char *) "{%1DMad} definition module and implementation module have different <* noreturn *> attributes", 93, (const unsigned char *) &n, (sizeof (n)-1)); + } +- n->procedureF.noreturn = value; +- n->procedureF.noreturnused = true; ++ static_cast (n)->procedureF.noreturn = value; ++ static_cast (n)->procedureF.noreturnused = true; + } + + +@@ -26911,11 +27726,11 @@ extern "C" decl_node decl_dupExpr (decl_node n) + { + if (n == NULL) + { +- return NULL; ++ return static_cast (NULL); + } + else + { +- return doDupExpr (n); ++ return static_cast (doDupExpr (static_cast (n))); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -26969,15 +27784,15 @@ extern "C" void decl_out (void) + switch (lang) + { + case decl_ansiC: +- outC (p, decl_getMainModule ()); ++ outC (p, static_cast (decl_getMainModule ())); + break; + + case decl_ansiCP: +- outC (p, decl_getMainModule ()); ++ outC (p, static_cast (decl_getMainModule ())); + break; + + case decl_pim4: +- outM2 (p, decl_getMainModule ()); ++ outM2 (p, static_cast (decl_getMainModule ())); + break; + + +@@ -26988,11 +27803,11 @@ extern "C" void decl_out (void) + closeOutput (); + } + +-extern "C" void _M2_decl_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_decl_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + init (); + } + +-extern "C" void _M2_decl_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_decl_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gdecl.h ++++ b/src/gcc/m2/mc-boot/Gdecl.h +@@ -190,6 +190,18 @@ EXTERN decl_node decl_lookupModule (nameKey_Name n); + + EXTERN void decl_putDefForC (decl_node n); + ++/* ++ putDefUnqualified - the definition module uses export unqualified. ++*/ ++ ++EXTERN void decl_putDefUnqualified (decl_node n); ++ ++/* ++ isDefUnqualified - returns TRUE if the definition module uses unqualified. ++*/ ++ ++EXTERN bool decl_isDefUnqualified (decl_node n); ++ + /* + lookupInScope - looks up a symbol named, n, from, scope. + */ +@@ -246,6 +258,19 @@ EXTERN bool decl_isTypeHidden (decl_node n); + + EXTERN bool decl_hasHidden (decl_node n); + ++/* ++ putTypeOpaque - marks type, des, as being an opaque type. ++ TYPE des ; ++*/ ++ ++EXTERN void decl_putTypeOpaque (decl_node des); ++ ++/* ++ isTypeOpaque - returns TRUE if type, n, is an opaque type. ++*/ ++ ++EXTERN bool decl_isTypeOpaque (decl_node n); ++ + /* + isVar - returns TRUE if node, n, is a type. + */ +--- a/src/gcc/m2/mc-boot/Gdtoa.h ++++ b/src/gcc/m2/mc-boot/Gdtoa.h +@@ -68,7 +68,7 @@ EXTERN double dtoa_strtod (void * s, bool *error); + sign does the string have a sign? + */ + +-EXTERN void * dtoa_dtoa (double d, dtoa_Mode mode, int ndigits, int *decpt, bool *sign); ++EXTERN void * dtoa_dtoa (double d, int mode, int ndigits, int *decpt, bool *sign); + # ifdef __cplusplus + } + # endif +--- a/src/gcc/m2/mc-boot/Gkeyc.cc ++++ b/src/gcc/m2/mc-boot/Gkeyc.cc +@@ -14,10 +14,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -42,9 +41,9 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _keyc_H + #define _keyc_C + ++#include "Gkeyc.h" + # include "GmcPretty.h" + # include "GStorage.h" + # include "GDynamicStrings.h" +@@ -74,6 +73,8 @@ static symbolKey_symbolTree keywords; + static symbolKey_symbolTree macros; + static bool initializedCP; + static bool initializedGCC; ++static bool seenGccTree; ++static bool seenGccLocation; + static bool seenIntMin; + static bool seenUIntMin; + static bool seenLongMin; +@@ -109,6 +110,18 @@ static bool seenM2RTS; + static bool seenStrlen; + static bool seenCtype; + ++/* ++ useGccTree - indicate we have imported tree from gcctypes. ++*/ ++ ++extern "C" void keyc_useGccTree (void); ++ ++/* ++ useGccLocation - indicate we have imported tree from gcctypes. ++*/ ++ ++extern "C" void keyc_useGccLocation (void); ++ + /* + useUnistd - need to use unistd.h call using open/close/read/write require this header. + */ +@@ -370,6 +383,13 @@ extern "C" void keyc_cp (void); + + static void checkGccConfigSystem (mcPretty_pretty p); + ++/* ++ checkGccTypes - if we have imported tree or location_t from gcctypes ++ then we include the gcc headers. ++*/ ++ ++static void checkGccTypes (mcPretty_pretty p); ++ + /* + checkCtype - + */ +@@ -557,11 +577,26 @@ static void checkGccConfigSystem (mcPretty_pretty p) + initializedGCC = true; + mcPretty_print (p, (const char *) "#include \"config.h\"\\n", 21); + mcPretty_print (p, (const char *) "#include \"system.h\"\\n", 21); ++ checkGccTypes (p); + } + } + } + + ++/* ++ checkGccTypes - if we have imported tree or location_t from gcctypes ++ then we include the gcc headers. ++*/ ++ ++static void checkGccTypes (mcPretty_pretty p) ++{ ++ if (seenGccTree || seenGccLocation) ++ { ++ mcPretty_print (p, (const char *) "#include \"gcc-consolidation.h\"\\n\\n", 34); ++ } ++} ++ ++ + /* + checkCtype - + */ +@@ -977,7 +1012,7 @@ static void add (symbolKey_symbolTree s, const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- symbolKey_putSymKey (s, nameKey_makeKey ((const char *) a, _a_high), reinterpret_cast (DynamicStrings_InitString ((const char *) a, _a_high))); ++ symbolKey_putSymKey (s, nameKey_makeKey ((const char *) a, _a_high), reinterpret_cast (DynamicStrings_InitString ((const char *) a, _a_high))); + } + + +@@ -1105,6 +1140,8 @@ static void init (void) + seenSize_t = false; + seenSSize_t = false; + seenSysTypes = false; ++ seenGccTree = false; ++ seenGccLocation = false; + initializedCP = false; + initializedGCC = false; + stack = NULL; +@@ -1114,6 +1151,26 @@ static void init (void) + } + + ++/* ++ useGccTree - indicate we have imported tree from gcctypes. ++*/ ++ ++extern "C" void keyc_useGccTree (void) ++{ ++ seenGccTree = true; ++} ++ ++ ++/* ++ useGccLocation - indicate we have imported tree from gcctypes. ++*/ ++ ++extern "C" void keyc_useGccLocation (void) ++{ ++ seenGccLocation = true; ++} ++ ++ + /* + useUnistd - need to use unistd.h call using open/close/read/write require this header. + */ +@@ -1548,7 +1605,7 @@ extern "C" DynamicStrings_String keyc_cname (nameKey_Name n, bool scopes) + { + /* no longer a clash with, m, so add it to the current scope. */ + n = nameKey_makekey (DynamicStrings_string (m)); +- symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (m)); ++ symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (m)); + } + } + else +@@ -1562,7 +1619,7 @@ extern "C" DynamicStrings_String keyc_cname (nameKey_Name n, bool scopes) + { + /* avoid dangling else. */ + /* no clash, add it to the current scope. */ +- symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)))); ++ symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)))); + } + return m; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1594,7 +1651,7 @@ extern "C" nameKey_Name keyc_cnamen (nameKey_Name n, bool scopes) + if (scopes) + { + /* no longer a clash with, m, so add it to the current scope. */ +- symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (m)); ++ symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (m)); + } + } + else +@@ -1608,7 +1665,7 @@ extern "C" nameKey_Name keyc_cnamen (nameKey_Name n, bool scopes) + { + /* avoid dangling else. */ + /* no clash, add it to the current scope. */ +- symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)))); ++ symbolKey_putSymKey (stack->symbols, n, reinterpret_cast (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)))); + } + m = DynamicStrings_KillString (m); + return n; +@@ -1630,11 +1687,11 @@ extern "C" void keyc_cp (void) + } + } + +-extern "C" void _M2_keyc_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_keyc_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + init (); + } + +-extern "C" void _M2_keyc_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_keyc_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gkeyc.h ++++ b/src/gcc/m2/mc-boot/Gkeyc.h +@@ -48,6 +48,18 @@ extern "C" { + # endif + + ++/* ++ useGccTree - indicate we have imported tree from gcctypes. ++*/ ++ ++EXTERN void keyc_useGccTree (void); ++ ++/* ++ useGccLocation - indicate we have imported tree from gcctypes. ++*/ ++ ++EXTERN void keyc_useGccLocation (void); ++ + /* + useUnistd - need to use unistd.h call using open/close/read/write require this header. + */ +--- a/src/gcc/m2/mc-boot/Gldtoa.h ++++ b/src/gcc/m2/mc-boot/Gldtoa.h +@@ -68,7 +68,7 @@ EXTERN long double ldtoa_strtold (void * s, bool *error); + sign does the string have a sign? + */ + +-EXTERN void * ldtoa_ldtoa (long double d, ldtoa_Mode mode, int ndigits, int *decpt, bool *sign); ++EXTERN void * ldtoa_ldtoa (long double d, int mode, int ndigits, int *decpt, bool *sign); + # ifdef __cplusplus + } + # endif +--- a/src/gcc/m2/mc-boot/Glibc.h ++++ b/src/gcc/m2/mc-boot/Glibc.h +@@ -70,7 +70,7 @@ struct libc_tm_r { + int tm_yday; + int tm_isdst; + long int tm_gmtoff; +- void *tm_zone; ++ void * tm_zone; + }; + + struct libc_timeb_r { +@@ -85,6 +85,17 @@ typedef libc_exitP_t libc_exitP_C; + + struct libc_exitP_p { libc_exitP_t proc; }; + ++EXTERN double libc_atof (void * nptr); ++EXTERN int libc_atoi (void * nptr); ++EXTERN ssize_t libc_atol (void * nptr); ++EXTERN long int libc_atoll (void * nptr); ++EXTERN double libc_strtod (void * nptr, void * endptr); ++EXTERN float libc_strtof (void * nptr, void * endptr); ++EXTERN long double libc_strtold (void * nptr, void * endptr); ++EXTERN ssize_t libc_strtol (void * nptr, void * endptr, int base); ++EXTERN long int libc_strtoll (void * nptr, void * endptr, int base); ++EXTERN size_t libc_strtoul (void * nptr, void * endptr, int base); ++EXTERN long unsigned int libc_strtoull (void * nptr, void * endptr, int base); + EXTERN ssize_t libc_write (int d, void * buf, size_t nbytes); + EXTERN ssize_t libc_read (int d, void * buf, size_t nbytes); + EXTERN int libc_system (void * a); +@@ -178,7 +189,7 @@ EXTERN int libc_close (int d); + open - open the file, filename with flag and mode. + */ + +-EXTERN int libc_open (void * filename, int oflag, ...); ++EXTERN int libc_open (void * filename, int oflag, int mode); + + /* + creat - creates a new file +--- a/src/gcc/m2/mc-boot/Glists.cc ++++ b/src/gcc/m2/mc-boot/Glists.cc +@@ -14,10 +14,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -41,9 +40,9 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _lists_H + #define _lists_C + ++#include "Glists.h" + # include "GStorage.h" + + typedef struct symbolKey_performOperation_p symbolKey_performOperation; +@@ -53,16 +52,13 @@ typedef struct lists__T1_r lists__T1; + + typedef struct lists__T2_a lists__T2; + +-typedef lists__T1 *lists_list; +- +-typedef void (*symbolKey_performOperation_t) (void *); +-struct symbolKey_performOperation_p { symbolKey_performOperation_t proc; }; ++typedef lists__T1 *lists_list__opaque; + + struct lists__T2_a { void * array[MaxnoOfelements-1+1]; }; + struct lists__T1_r { + unsigned int noOfelements; + lists__T2 elements; +- lists_list next; ++ lists_list__opaque next; + }; + + +@@ -140,14 +136,14 @@ extern "C" lists_list lists_duplicateList (lists_list l); + removeItem - remove an element at index, i, from the list data type. + */ + +-static void removeItem (lists_list p, lists_list l, unsigned int i); ++static void removeItem (lists_list__opaque p, lists_list__opaque l, unsigned int i); + + + /* + removeItem - remove an element at index, i, from the list data type. + */ + +-static void removeItem (lists_list p, lists_list l, unsigned int i) ++static void removeItem (lists_list__opaque p, lists_list__opaque l, unsigned int i) + { + l->noOfelements -= 1; + while (i <= l->noOfelements) +@@ -169,12 +165,12 @@ static void removeItem (lists_list p, lists_list l, unsigned int i) + + extern "C" lists_list lists_initList (void) + { +- lists_list l; ++ lists_list__opaque l; + + Storage_ALLOCATE ((void **) &l, sizeof (lists__T1)); + l->noOfelements = 0; +- l->next = NULL; +- return l; ++ l->next = static_cast (NULL); ++ return static_cast (l); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -188,9 +184,9 @@ extern "C" void lists_killList (lists_list *l) + { + if ((*l) != NULL) + { +- if ((*l)->next != NULL) ++ if (static_cast ((*l))->next != NULL) + { +- lists_killList (&(*l)->next); ++ lists_killList (reinterpret_cast (&static_cast ((*l))->next)); + } + Storage_DEALLOCATE ((void **) &(*l), sizeof (lists__T1)); + } +@@ -203,21 +199,21 @@ extern "C" void lists_killList (lists_list *l) + + extern "C" void lists_putItemIntoList (lists_list l, void * c) + { +- if (l->noOfelements < MaxnoOfelements) ++ if (static_cast (l)->noOfelements < MaxnoOfelements) + { +- l->noOfelements += 1; +- l->elements.array[l->noOfelements-1] = c; ++ static_cast (l)->noOfelements += 1; ++ static_cast (l)->elements.array[static_cast (l)->noOfelements-1] = c; + } +- else if (l->next != NULL) ++ else if (static_cast (l)->next != NULL) + { + /* avoid dangling else. */ +- lists_putItemIntoList (l->next, c); ++ lists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + else + { + /* avoid dangling else. */ +- l->next = lists_initList (); +- lists_putItemIntoList (l->next, c); ++ static_cast (l)->next = static_cast (lists_initList ()); ++ lists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + } + +@@ -230,17 +226,17 @@ extern "C" void * lists_getItemFromList (lists_list l, unsigned int n) + { + while (l != NULL) + { +- if (n <= l->noOfelements) ++ if (n <= static_cast (l)->noOfelements) + { +- return l->elements.array[n-1]; ++ return static_cast (l)->elements.array[n-1]; + } + else + { +- n -= l->noOfelements; ++ n -= static_cast (l)->noOfelements; + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } +- return reinterpret_cast (0); ++ return static_cast (0); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -263,9 +259,9 @@ extern "C" unsigned int lists_getIndexOfList (lists_list l, void * c) + else + { + i = 1; +- while (i <= l->noOfelements) ++ while (i <= static_cast (l)->noOfelements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return i; + } +@@ -274,7 +270,7 @@ extern "C" unsigned int lists_getIndexOfList (lists_list l, void * c) + i += 1; + } + } +- return l->noOfelements+(lists_getIndexOfList (l->next, c)); ++ return static_cast (l)->noOfelements+(lists_getIndexOfList (static_cast (static_cast (l)->next), c)); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -297,8 +293,8 @@ extern "C" unsigned int lists_noOfItemsInList (lists_list l) + { + t = 0; + do { +- t += l->noOfelements; +- l = l->next; ++ t += static_cast (l)->noOfelements; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return t; + } +@@ -328,33 +324,33 @@ extern "C" void lists_includeItemIntoList (lists_list l, void * c) + + extern "C" void lists_removeItemFromList (lists_list l, void * c) + { +- lists_list p; ++ lists_list__opaque p; + unsigned int i; + bool found; + + if (l != NULL) + { + found = false; +- p = NULL; ++ p = static_cast (NULL); + do { + i = 1; +- while ((i <= l->noOfelements) && (l->elements.array[i-1] != c)) ++ while ((i <= static_cast (l)->noOfelements) && (static_cast (l)->elements.array[i-1] != c)) + { + i += 1; + } +- if ((i <= l->noOfelements) && (l->elements.array[i-1] == c)) ++ if ((i <= static_cast (l)->noOfelements) && (static_cast (l)->elements.array[i-1] == c)) + { + found = true; + } + else + { +- p = l; +- l = l->next; ++ p = static_cast (l); ++ l = static_cast (static_cast (l)->next); + } + } while (! ((l == NULL) || found)); + if (found) + { +- removeItem (p, l, i); ++ removeItem (p, static_cast (l), i); + } + } + } +@@ -370,9 +366,9 @@ extern "C" bool lists_isItemInList (lists_list l, void * c) + + do { + i = 1; +- while (i <= l->noOfelements) ++ while (i <= static_cast (l)->noOfelements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return true; + } +@@ -381,7 +377,7 @@ extern "C" bool lists_isItemInList (lists_list l, void * c) + i += 1; + } + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return false; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -414,27 +410,27 @@ extern "C" void lists_foreachItemInListDo (lists_list l, symbolKey_performOperat + + extern "C" lists_list lists_duplicateList (lists_list l) + { +- lists_list m; ++ lists_list__opaque m; + unsigned int n; + unsigned int i; + +- m = lists_initList (); ++ m = static_cast (lists_initList ()); + n = lists_noOfItemsInList (l); + i = 1; + while (i <= n) + { +- lists_putItemIntoList (m, lists_getItemFromList (l, i)); ++ lists_putItemIntoList (static_cast (m), lists_getItemFromList (l, i)); + i += 1; + } +- return m; ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_lists_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_lists_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_lists_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_lists_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcComment.cc ++++ b/src/gcc/m2/mc-boot/GmcComment.cc +@@ -43,9 +43,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _mcComment_H + #define _mcComment_C + ++#include "GmcComment.h" + # include "GDynamicStrings.h" + # include "GStorage.h" + # include "GnameKey.h" +@@ -57,7 +57,7 @@ typedef struct mcComment__T1_r mcComment__T1; + + typedef enum {mcComment_unknown, mcComment_procedureHeading, mcComment_inBody, mcComment_afterStatement} mcComment_commentType; + +-typedef mcComment__T1 *mcComment_commentDesc; ++typedef mcComment__T1 *mcComment_commentDesc__opaque; + + struct mcComment__T1_r { + mcComment_commentType type; +@@ -156,13 +156,13 @@ static DynamicStrings_String RemoveNewlines (DynamicStrings_String s); + in the comment. + */ + +-static bool seenProcedure (mcComment_commentDesc cd, nameKey_Name procName); ++static bool seenProcedure (mcComment_commentDesc__opaque cd, nameKey_Name procName); + + /* + dumpComment - + */ + +-static void dumpComment (mcComment_commentDesc cd); ++static void dumpComment (mcComment_commentDesc__opaque cd); + + + /* +@@ -212,7 +212,7 @@ static DynamicStrings_String RemoveNewlines (DynamicStrings_String s) + in the comment. + */ + +-static bool seenProcedure (mcComment_commentDesc cd, nameKey_Name procName) ++static bool seenProcedure (mcComment_commentDesc__opaque cd, nameKey_Name procName) + { + DynamicStrings_String s; + void * a; +@@ -235,7 +235,7 @@ static bool seenProcedure (mcComment_commentDesc cd, nameKey_Name procName) + dumpComment - + */ + +-static void dumpComment (mcComment_commentDesc cd) ++static void dumpComment (mcComment_commentDesc__opaque cd) + { + libc_printf ((const char *) "comment : ", 10); + switch (cd->type) +@@ -282,7 +282,7 @@ static void dumpComment (mcComment_commentDesc cd) + + extern "C" mcComment_commentDesc mcComment_initComment (bool onlySpaces) + { +- mcComment_commentDesc cd; ++ mcComment_commentDesc__opaque cd; + + Storage_ALLOCATE ((void **) &cd, sizeof (mcComment__T1)); + mcDebug_assert (cd != NULL); +@@ -297,7 +297,7 @@ extern "C" mcComment_commentDesc mcComment_initComment (bool onlySpaces) + cd->content = DynamicStrings_InitString ((const char *) "", 0); + cd->procName = nameKey_NulName; + cd->used = false; +- return cd; ++ return static_cast (cd); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -312,7 +312,7 @@ extern "C" void mcComment_addText (mcComment_commentDesc cd, void * cs) + { + if (cd != NULL) + { +- cd->content = DynamicStrings_ConCat (cd->content, DynamicStrings_InitStringCharStar (cs)); ++ static_cast (cd)->content = DynamicStrings_ConCat (static_cast (cd)->content, DynamicStrings_InitStringCharStar (cs)); + } + } + +@@ -325,7 +325,7 @@ extern "C" DynamicStrings_String mcComment_getContent (mcComment_commentDesc cd) + { + if (cd != NULL) + { +- return cd->content; ++ return static_cast (cd)->content; + } + return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -365,10 +365,10 @@ extern "C" void mcComment_setProcedureComment (mcComment_commentDesc cd, nameKey + { + if (cd != NULL) + { +- if (seenProcedure (cd, procname)) ++ if (seenProcedure (static_cast (cd), procname)) + { +- cd->type = mcComment_procedureHeading; +- cd->procName = procname; ++ static_cast (cd)->type = mcComment_procedureHeading; ++ static_cast (cd)->procName = procname; + } + } + } +@@ -380,10 +380,10 @@ extern "C" void mcComment_setProcedureComment (mcComment_commentDesc cd, nameKey + + extern "C" DynamicStrings_String mcComment_getProcedureComment (mcComment_commentDesc cd) + { +- if ((cd->type == mcComment_procedureHeading) && ! cd->used) ++ if ((static_cast (cd)->type == mcComment_procedureHeading) && ! static_cast (cd)->used) + { +- cd->used = true; +- return cd->content; ++ static_cast (cd)->used = true; ++ return static_cast (cd)->content; + } + return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -397,10 +397,10 @@ extern "C" DynamicStrings_String mcComment_getProcedureComment (mcComment_commen + + extern "C" DynamicStrings_String mcComment_getAfterStatementComment (mcComment_commentDesc cd) + { +- if ((cd->type == mcComment_afterStatement) && ! cd->used) ++ if ((static_cast (cd)->type == mcComment_afterStatement) && ! static_cast (cd)->used) + { +- cd->used = true; +- return cd->content; ++ static_cast (cd)->used = true; ++ return static_cast (cd)->content; + } + return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -414,10 +414,10 @@ extern "C" DynamicStrings_String mcComment_getAfterStatementComment (mcComment_c + + extern "C" DynamicStrings_String mcComment_getInbodyStatementComment (mcComment_commentDesc cd) + { +- if ((cd->type == mcComment_inBody) && ! cd->used) ++ if ((static_cast (cd)->type == mcComment_inBody) && ! static_cast (cd)->used) + { +- cd->used = true; +- return cd->content; ++ static_cast (cd)->used = true; ++ return static_cast (cd)->content; + } + return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -431,7 +431,7 @@ extern "C" DynamicStrings_String mcComment_getInbodyStatementComment (mcComment_ + + extern "C" bool mcComment_isProcedureComment (mcComment_commentDesc cd) + { +- return (cd != NULL) && (cd->type == mcComment_procedureHeading); ++ return (cd != NULL) && (static_cast (cd)->type == mcComment_procedureHeading); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -443,7 +443,7 @@ extern "C" bool mcComment_isProcedureComment (mcComment_commentDesc cd) + + extern "C" bool mcComment_isBodyComment (mcComment_commentDesc cd) + { +- return (cd != NULL) && (cd->type == mcComment_inBody); ++ return (cd != NULL) && (static_cast (cd)->type == mcComment_inBody); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -455,15 +455,15 @@ extern "C" bool mcComment_isBodyComment (mcComment_commentDesc cd) + + extern "C" bool mcComment_isAfterComment (mcComment_commentDesc cd) + { +- return (cd != NULL) && (cd->type == mcComment_afterStatement); ++ return (cd != NULL) && (static_cast (cd)->type == mcComment_afterStatement); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_mcComment_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcComment_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcComment_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcComment_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcComp.cc ++++ b/src/gcc/m2/mc-boot/GmcComp.cc +@@ -12,9 +12,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -38,9 +38,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcComp_H + #define _mcComp_C + ++#include "GmcComp.h" + # include "GFIO.h" + # include "Glibc.h" + # include "Gdecl.h" +@@ -562,7 +562,7 @@ static void pass (unsigned int no, decl_node n, mcComp_parserFunction f, decl_is + { + mcError_writeFormat0 ((const char *) "compilation failed", 18); + mcLexBuf_closeSource (); +- return ; ++ return; + } + mcLexBuf_closeSource (); + } +@@ -593,9 +593,9 @@ static void doPass (bool parseDefs, bool parseMain, unsigned int no, symbolKey_p + if (parseDefs && (decl_isImp (decl_getMainModule ()))) + { + /* we need to parse the definition module of a corresponding implementation module. */ +- (*p.proc) (reinterpret_cast (decl_lookupDef (decl_getSymName (decl_getMainModule ())))); ++ (*p.proc) (reinterpret_cast (decl_lookupDef (decl_getSymName (decl_getMainModule ())))); + } +- (*p.proc) (reinterpret_cast (decl_getMainModule ())); ++ (*p.proc) (reinterpret_cast (decl_getMainModule ())); + } + if (parseDefs) + { +@@ -651,11 +651,11 @@ extern "C" unsigned int mcComp_getPassNo (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcComp_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcComp_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + init (); + } + +-extern "C" void _M2_mcComp_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcComp_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcDebug.cc ++++ b/src/gcc/m2/mc-boot/GmcDebug.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -24,9 +24,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _mcDebug_H + #define _mcDebug_C + ++#include "GmcDebug.h" + # include "GStrIO.h" + # include "GmcOptions.h" + # include "GmcError.h" +@@ -78,10 +78,10 @@ extern "C" void mcDebug_writeDebug (const char *a_, unsigned int _a_high) + } + } + +-extern "C" void _M2_mcDebug_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcDebug_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcDebug_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcDebug_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcError.cc ++++ b/src/gcc/m2/mc-boot/GmcError.cc +@@ -42,9 +42,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _mcError_H + #define _mcError_C + ++#include "GmcError.h" + # include "GASCII.h" + # include "GDynamicStrings.h" + # include "GFIO.h" +@@ -63,18 +63,18 @@ along with GNU Modula-2; see the file COPYING3. If not see + # define Xcode true + typedef struct mcError__T2_r mcError__T2; + +-typedef mcError__T2 *mcError_error; ++typedef mcError__T2 *mcError_error__opaque; + + struct mcError__T2_r { +- mcError_error parent; +- mcError_error child; +- mcError_error next; ++ mcError_error__opaque parent; ++ mcError_error__opaque child; ++ mcError_error__opaque next; + bool fatal; + DynamicStrings_String s; + unsigned int token; + }; + +-static mcError_error head; ++static mcError_error__opaque head; + static bool inInternal; + + /* +@@ -282,7 +282,7 @@ static void checkIncludes (unsigned int token, unsigned int depth); + flushAll - flushes all errors in list, e. + */ + +-static bool flushAll (mcError_error e, bool FatalStatus); ++static bool flushAll (mcError_error__opaque e, bool FatalStatus); + + + /* +@@ -301,7 +301,7 @@ static void cast (unsigned char *a, unsigned int _a_high, const unsigned char *b + { + for (i=0; i<=_a_high; i++) + { +- a[i] = b[i]; ++ const_cast(a)[i] = b[i]; + } + } + } +@@ -326,7 +326,7 @@ static bool translateNameToCharStar (char *a, unsigned int _a_high, unsigned int + { + if ((a[i+1] == 'a') && (argno == n)) + { +- a[i+1] = 's'; ++ const_cast(a)[i+1] = 's'; + return true; + } + argno += 1; +@@ -600,7 +600,7 @@ static DynamicStrings_String doFormat3 (const char *a_, unsigned int _a_high, co + + static void init (void) + { +- head = NULL; ++ head = static_cast (NULL); + inInternal = false; + } + +@@ -656,9 +656,9 @@ static void checkIncludes (unsigned int token, unsigned int depth) + flushAll - flushes all errors in list, e. + */ + +-static bool flushAll (mcError_error e, bool FatalStatus) ++static bool flushAll (mcError_error__opaque e, bool FatalStatus) + { +- mcError_error f; ++ mcError_error__opaque f; + bool written; + + written = false; +@@ -734,13 +734,13 @@ extern "C" void mcError_internalError (const char *a_, unsigned int _a_high, con + + extern "C" void mcError_writeFormat0 (const char *a_, unsigned int _a_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- e = mcError_newError (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newError (mcLexBuf_getTokenNo ())); + e->s = FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))); + } + +@@ -753,7 +753,7 @@ extern "C" void mcError_writeFormat0 (const char *a_, unsigned int _a_high) + + extern "C" void mcError_writeFormat1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + unsigned char w[_w_high+1]; + +@@ -761,7 +761,7 @@ extern "C" void mcError_writeFormat1 (const char *a_, unsigned int _a_high, cons + memcpy (a, a_, _a_high+1); + memcpy (w, w_, _w_high+1); + +- e = mcError_newError (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newError (mcLexBuf_getTokenNo ())); + e->s = doFormat1 ((const char *) a, _a_high, (const unsigned char *) w, _w_high); + } + +@@ -774,7 +774,7 @@ extern "C" void mcError_writeFormat1 (const char *a_, unsigned int _a_high, cons + + extern "C" void mcError_writeFormat2 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + unsigned char w1[_w1_high+1]; + unsigned char w2[_w2_high+1]; +@@ -784,7 +784,7 @@ extern "C" void mcError_writeFormat2 (const char *a_, unsigned int _a_high, cons + memcpy (w1, w1_, _w1_high+1); + memcpy (w2, w2_, _w2_high+1); + +- e = mcError_newError (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newError (mcLexBuf_getTokenNo ())); + e->s = doFormat2 ((const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high); + } + +@@ -797,7 +797,7 @@ extern "C" void mcError_writeFormat2 (const char *a_, unsigned int _a_high, cons + + extern "C" void mcError_writeFormat3 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + unsigned char w1[_w1_high+1]; + unsigned char w2[_w2_high+1]; +@@ -809,7 +809,7 @@ extern "C" void mcError_writeFormat3 (const char *a_, unsigned int _a_high, cons + memcpy (w2, w2_, _w2_high+1); + memcpy (w3, w3_, _w3_high+1); + +- e = mcError_newError (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newError (mcLexBuf_getTokenNo ())); + e->s = doFormat3 ((const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high); + } + +@@ -820,15 +820,15 @@ extern "C" void mcError_writeFormat3 (const char *a_, unsigned int _a_high, cons + + extern "C" mcError_error mcError_newError (unsigned int atTokenNo) + { +- mcError_error e; +- mcError_error f; ++ mcError_error__opaque e; ++ mcError_error__opaque f; + + Storage_ALLOCATE ((void **) &e, sizeof (mcError__T2)); + e->s = static_cast (NULL); + e->token = atTokenNo; +- e->next = NULL; +- e->parent = NULL; +- e->child = NULL; ++ e->next = static_cast (NULL); ++ e->parent = static_cast (NULL); ++ e->child = static_cast (NULL); + e->fatal = true; + if ((head == NULL) || (head->token > atTokenNo)) + { +@@ -845,7 +845,7 @@ extern "C" mcError_error mcError_newError (unsigned int atTokenNo) + e->next = f->next; + f->next = e; + } +- return e; ++ return static_cast (e); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -858,11 +858,11 @@ extern "C" mcError_error mcError_newError (unsigned int atTokenNo) + + extern "C" mcError_error mcError_newWarning (unsigned int atTokenNo) + { +- mcError_error e; ++ mcError_error__opaque e; + +- e = mcError_newError (atTokenNo); ++ e = static_cast (mcError_newError (atTokenNo)); + e->fatal = false; +- return e; ++ return static_cast (e); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -876,7 +876,7 @@ extern "C" mcError_error mcError_newWarning (unsigned int atTokenNo) + + extern "C" mcError_error mcError_chainError (unsigned int atTokenNo, mcError_error e) + { +- mcError_error f; ++ mcError_error__opaque f; + + if (e == NULL) + { +@@ -887,13 +887,13 @@ extern "C" mcError_error mcError_chainError (unsigned int atTokenNo, mcError_err + Storage_ALLOCATE ((void **) &f, sizeof (mcError__T2)); + f->s = static_cast (NULL); + f->token = atTokenNo; +- f->next = e->child; +- f->parent = e; +- f->child = NULL; +- f->fatal = e->fatal; +- e->child = f; ++ f->next = static_cast (e)->child; ++ f->parent = static_cast (e); ++ f->child = static_cast (NULL); ++ f->fatal = static_cast (e)->fatal; ++ static_cast (e)->child = f; + } +- return f; ++ return static_cast (f); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -908,13 +908,13 @@ extern "C" void mcError_errorFormat0 (mcError_error e, const char *a_, unsigned + /* + errorFormat routines provide a printf capability for the error handle. + */ +- if (e->s == NULL) ++ if (static_cast (e)->s == NULL) + { +- e->s = FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))); ++ static_cast (e)->s = FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))); + } + else + { +- e->s = DynamicStrings_ConCat (e->s, DynamicStrings_Mark (FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))))); ++ static_cast (e)->s = DynamicStrings_ConCat (static_cast (e)->s, DynamicStrings_Mark (FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))))); + } + } + +@@ -929,13 +929,13 @@ extern "C" void mcError_errorFormat1 (mcError_error e, const char *a_, unsigned + memcpy (w, w_, _w_high+1); + + s1 = doFormat1 ((const char *) a, _a_high, (const unsigned char *) w, _w_high); +- if (e->s == NULL) ++ if (static_cast (e)->s == NULL) + { +- e->s = s1; ++ static_cast (e)->s = s1; + } + else + { +- e->s = DynamicStrings_ConCat (e->s, DynamicStrings_Mark (s1)); ++ static_cast (e)->s = DynamicStrings_ConCat (static_cast (e)->s, DynamicStrings_Mark (s1)); + } + } + +@@ -952,13 +952,13 @@ extern "C" void mcError_errorFormat2 (mcError_error e, const char *a_, unsigned + memcpy (w2, w2_, _w2_high+1); + + s1 = doFormat2 ((const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high); +- if (e->s == NULL) ++ if (static_cast (e)->s == NULL) + { +- e->s = s1; ++ static_cast (e)->s = s1; + } + else + { +- e->s = DynamicStrings_ConCat (e->s, DynamicStrings_Mark (s1)); ++ static_cast (e)->s = DynamicStrings_ConCat (static_cast (e)->s, DynamicStrings_Mark (s1)); + } + } + +@@ -977,19 +977,19 @@ extern "C" void mcError_errorFormat3 (mcError_error e, const char *a_, unsigned + memcpy (w3, w3_, _w3_high+1); + + s1 = doFormat3 ((const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high); +- if (e->s == NULL) ++ if (static_cast (e)->s == NULL) + { +- e->s = s1; ++ static_cast (e)->s = s1; + } + else + { +- e->s = DynamicStrings_ConCat (e->s, DynamicStrings_Mark (s1)); ++ static_cast (e)->s = DynamicStrings_ConCat (static_cast (e)->s, DynamicStrings_Mark (s1)); + } + } + + extern "C" void mcError_errorString (mcError_error e, DynamicStrings_String str) + { +- e->s = str; ++ static_cast (e)->s = str; + } + + +@@ -1001,10 +1001,10 @@ extern "C" void mcError_errorString (mcError_error e, DynamicStrings_String str) + + extern "C" void mcError_errorStringAt (DynamicStrings_String s, unsigned int tok) + { +- mcError_error e; ++ mcError_error__opaque e; + +- e = mcError_newError (tok); +- mcError_errorString (e, s); ++ e = static_cast (mcError_newError (tok)); ++ mcError_errorString (static_cast (e), s); + } + + +@@ -1028,15 +1028,15 @@ extern "C" void mcError_errorStringAt2 (DynamicStrings_String s, unsigned int to + + extern "C" void mcError_errorStringsAt2 (DynamicStrings_String s1, DynamicStrings_String s2, unsigned int tok1, unsigned int tok2) + { +- mcError_error e; ++ mcError_error__opaque e; + + if (s1 == s2) + { + s2 = DynamicStrings_Dup (s1); + } +- e = mcError_newError (tok1); +- mcError_errorString (e, s1); +- mcError_errorString (mcError_chainError (tok2, e), s2); ++ e = static_cast (mcError_newError (tok1)); ++ mcError_errorString (static_cast (e), s1); ++ mcError_errorString (mcError_chainError (tok2, static_cast (e)), s2); + } + + +@@ -1048,10 +1048,10 @@ extern "C" void mcError_errorStringsAt2 (DynamicStrings_String s1, DynamicString + + extern "C" void mcError_warnStringAt (DynamicStrings_String s, unsigned int tok) + { +- mcError_error e; ++ mcError_error__opaque e; + +- e = mcError_newWarning (tok); +- mcError_errorString (e, s); ++ e = static_cast (mcError_newWarning (tok)); ++ mcError_errorString (static_cast (e), s); + } + + +@@ -1075,20 +1075,20 @@ extern "C" void mcError_warnStringAt2 (DynamicStrings_String s, unsigned int tok + + extern "C" void mcError_warnStringsAt2 (DynamicStrings_String s1, DynamicStrings_String s2, unsigned int tok1, unsigned int tok2) + { +- mcError_error e; ++ mcError_error__opaque e; + + if (s1 == s2) + { + s2 = DynamicStrings_Dup (s1); + } +- e = mcError_newWarning (tok1); +- mcError_errorString (e, s1); +- mcError_errorString (mcError_chainError (tok2, e), s2); ++ e = static_cast (mcError_newWarning (tok1)); ++ mcError_errorString (static_cast (e), s1); ++ mcError_errorString (mcError_chainError (tok2, static_cast (e)), s2); + } + + extern "C" void mcError_warnFormat0 (const char *a_, unsigned int _a_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -1099,7 +1099,7 @@ extern "C" void mcError_warnFormat0 (const char *a_, unsigned int _a_high) + with the encapsulated format string. + Used for simple warning messages tied to the current token. + */ +- e = mcError_newWarning (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newWarning (mcLexBuf_getTokenNo ())); + e->s = FormatStrings_Sprintf0 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high))); + } + +@@ -1112,7 +1112,7 @@ extern "C" void mcError_warnFormat0 (const char *a_, unsigned int _a_high) + + extern "C" void mcError_warnFormat1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high) + { +- mcError_error e; ++ mcError_error__opaque e; + char a[_a_high+1]; + unsigned char w[_w_high+1]; + +@@ -1120,7 +1120,7 @@ extern "C" void mcError_warnFormat1 (const char *a_, unsigned int _a_high, const + memcpy (a, a_, _a_high+1); + memcpy (w, w_, _w_high+1); + +- e = mcError_newWarning (mcLexBuf_getTokenNo ()); ++ e = static_cast (mcError_newWarning (mcLexBuf_getTokenNo ())); + e->s = doFormat1 ((const char *) a, _a_high, (const unsigned char *) w, _w_high); + } + +@@ -1188,11 +1188,11 @@ extern "C" void mcError_errorAbort0 (const char *a_, unsigned int _a_high) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcError_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcError_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + init (); + } + +-extern "C" void _M2_mcError_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcError_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcFileName.cc ++++ b/src/gcc/m2/mc-boot/GmcFileName.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -24,9 +24,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _mcFileName_H + #define _mcFileName_C + ++#include "GmcFileName.h" + # include "GASCII.h" + # include "GDynamicStrings.h" + +@@ -144,10 +144,10 @@ extern "C" DynamicStrings_String mcFileName_extractModule (DynamicStrings_String + __builtin_unreachable (); + } + +-extern "C" void _M2_mcFileName_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcFileName_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcFileName_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcFileName_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcLexBuf.cc ++++ b/src/gcc/m2/mc-boot/GmcLexBuf.cc +@@ -42,9 +42,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _mcLexBuf_H + #define _mcLexBuf_C + ++#include "GmcLexBuf.h" + # include "Gmcflex.h" + # include "Glibc.h" + # include "GSYSTEM.h" +@@ -58,12 +58,6 @@ along with GNU Modula-2; see the file COPYING3. If not see + # include "GmcDebug.h" + # include "GM2RTS.h" + +-mcComment_commentDesc mcLexBuf_currentcomment; +-mcComment_commentDesc mcLexBuf_lastcomment; +-int mcLexBuf_currentinteger; +-unsigned int mcLexBuf_currentcolumn; +-void * mcLexBuf_currentstring; +-mcReserved_toktype mcLexBuf_currenttoken; + # define MaxBucketSize 100 + # define Debugging false + typedef struct mcLexBuf_tokenDesc_r mcLexBuf_tokenDesc; +@@ -713,7 +707,7 @@ static void checkIfNeedToDuplicate (void) + currentSource = newList (); + while (l != h) + { +- addTo (newElement (reinterpret_cast (l->name))); ++ addTo (newElement (reinterpret_cast (l->name))); + l = l->right; + } + } +@@ -1152,7 +1146,7 @@ static void doGetToken (void) + /* call the lexical phase to place a new token into the last bucket. */ + a = mcflex_getToken (); + mcLexBuf_getToken (); /* and call ourselves again to collect the token from bucket. */ +- return ; /* and call ourselves again to collect the token from bucket. */ ++ return; /* and call ourselves again to collect the token from bucket. */ + } + } + else +@@ -1840,11 +1834,11 @@ extern "C" void mcLexBuf_popFile (void * filename) + /* source file list is empty, cannot pop an include.. */ + } + +-extern "C" void _M2_mcLexBuf_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcLexBuf_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + init (); + } + +-extern "C" void _M2_mcLexBuf_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcLexBuf_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcMetaError.cc ++++ b/src/gcc/m2/mc-boot/GmcMetaError.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -36,9 +36,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcMetaError_H + #define _mcMetaError_C + ++#include "GmcMetaError.h" + # include "GnameKey.h" + # include "GStrLib.h" + # include "GmcLexBuf.h" +@@ -866,7 +866,7 @@ static DynamicStrings_String symDesc (decl_node n, DynamicStrings_String o) + else if (decl_isConstSet (n)) + { + /* avoid dangling else. */ +- /* ++ /* + ELSIF IsConstructor(n) + THEN + RETURN( ConCatWord (o, Mark (InitString ('constructor'))) ) +@@ -1270,7 +1270,7 @@ static void ebnf (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_Str + break; + + case '}': +- return ; ++ return; + break; + + +@@ -1872,10 +1872,10 @@ extern "C" void mcMetaError_metaErrorStringT4 (unsigned int tok, DynamicStrings_ + varargs_end (&sym); + } + +-extern "C" void _M2_mcMetaError_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcMetaError_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcMetaError_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcMetaError_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcOptions.cc ++++ b/src/gcc/m2/mc-boot/GmcOptions.cc +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -37,9 +36,9 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcOptions_H + #define _mcOptions_C + ++#include "GmcOptions.h" + # include "GSArgs.h" + # include "GmcSearch.h" + # include "Glibc.h" +@@ -885,7 +884,8 @@ static void handleOption (DynamicStrings_String arg) + else if (optionIs ((const char *) "--extended-opaque", 17, arg)) + { + /* avoid dangling else. */ +- setExtendedOpaque (true); ++ /* setExtendedOpaque (TRUE) */ ++ mcPrintf_printf0 ((const char *) "IGNORING --extended-opaque - this option is no longer implemented - please adjust the call to mc\\n", 98); + } + else if (optionIs ((const char *) "--debug-top", 11, arg)) + { +@@ -1258,7 +1258,7 @@ extern "C" DynamicStrings_String mcOptions_getCShortRealType (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcOptions_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcOptions_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + langC = true; + langCPP = false; +@@ -1293,6 +1293,6 @@ extern "C" void _M2_mcOptions_init (__attribute__((unused)) int argc,__attribute + CShortReal = DynamicStrings_InitString ((const char *) "float", 5); + } + +-extern "C" void _M2_mcOptions_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcOptions_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcPreprocess.cc ++++ b/src/gcc/m2/mc-boot/GmcPreprocess.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -24,9 +24,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _mcPreprocess_H + #define _mcPreprocess_C + ++#include "GmcPreprocess.h" + # include "GSYSTEM.h" + # include "GDynamicStrings.h" + # include "Glibc.h" +@@ -93,7 +93,7 @@ static DynamicStrings_String makeTempFile (DynamicStrings_String ext) + + static DynamicStrings_String onExitDelete (DynamicStrings_String filename) + { +- alists_includeItemIntoList (listOfFiles, reinterpret_cast (DynamicStrings_Dup (filename))); ++ alists_includeItemIntoList (listOfFiles, reinterpret_cast (DynamicStrings_Dup (filename))); + return filename; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -148,7 +148,7 @@ extern "C" DynamicStrings_String mcPreprocess_preprocessModule (DynamicStrings_S + } + else + { +- tempfile = DynamicStrings_InitStringCharStar (reinterpret_cast (makeTempFile (DynamicStrings_InitString ((const char *) "cpp", 3)))); ++ tempfile = DynamicStrings_InitStringCharStar (reinterpret_cast (makeTempFile (DynamicStrings_InitString ((const char *) "cpp", 3)))); + commandLine = DynamicStrings_Dup (command); + commandLine = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_ConCatChar (DynamicStrings_Dup (commandLine), ' '), filename), DynamicStrings_Mark (DynamicStrings_InitString ((const char *) " -o ", 4))), tempfile); + if (mcOptions_getVerbose ()) +@@ -167,7 +167,7 @@ extern "C" DynamicStrings_String mcPreprocess_preprocessModule (DynamicStrings_S + __builtin_unreachable (); + } + +-extern "C" void _M2_mcPreprocess_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPreprocess_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + listOfFiles = alists_initList (); + if (! (M2RTS_InstallTerminationProcedure ((PROC ) {(PROC_t) removeFiles}))) +@@ -177,6 +177,6 @@ extern "C" void _M2_mcPreprocess_init (__attribute__((unused)) int argc,__attrib + } + } + +-extern "C" void _M2_mcPreprocess_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPreprocess_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcPretty.cc ++++ b/src/gcc/m2/mc-boot/GmcPretty.cc +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -38,9 +37,9 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcPretty_H + #define _mcPretty_C + ++#include "GmcPretty.h" + # include "GDynamicStrings.h" + # include "GStorage.h" + +@@ -50,13 +49,7 @@ typedef struct mcPretty_writeLnProc_p mcPretty_writeLnProc; + + typedef struct mcPretty__T1_r mcPretty__T1; + +-typedef mcPretty__T1 *mcPretty_pretty; +- +-typedef void (*mcPretty_writeProc_t) (char); +-struct mcPretty_writeProc_p { mcPretty_writeProc_t proc; }; +- +-typedef void (*mcPretty_writeLnProc_t) (void); +-struct mcPretty_writeLnProc_p { mcPretty_writeLnProc_t proc; }; ++typedef mcPretty__T1 *mcPretty_pretty__opaque; + + struct mcPretty__T1_r { + mcPretty_writeProc write_; +@@ -67,7 +60,7 @@ struct mcPretty__T1_r { + unsigned int curLine; + unsigned int curPos; + unsigned int indent; +- mcPretty_pretty stacked; ++ mcPretty_pretty__opaque stacked; + }; + + +@@ -162,20 +155,20 @@ extern "C" void mcPretty_raw (mcPretty_pretty p, DynamicStrings_String s); + flushSpace - + */ + +-static void flushSpace (mcPretty_pretty p); ++static void flushSpace (mcPretty_pretty__opaque p); + + /* + flushIndent - + */ + +-static void flushIndent (mcPretty_pretty p); ++static void flushIndent (mcPretty_pretty__opaque p); + + + /* + flushSpace - + */ + +-static void flushSpace (mcPretty_pretty p) ++static void flushSpace (mcPretty_pretty__opaque p) + { + if (p->needsSpace) + { +@@ -191,7 +184,7 @@ static void flushSpace (mcPretty_pretty p) + flushIndent - + */ + +-static void flushIndent (mcPretty_pretty p) ++static void flushIndent (mcPretty_pretty__opaque p) + { + unsigned int i; + +@@ -215,7 +208,7 @@ static void flushIndent (mcPretty_pretty p) + + extern "C" mcPretty_pretty mcPretty_initPretty (mcPretty_writeProc w, mcPretty_writeLnProc l) + { +- mcPretty_pretty p; ++ mcPretty_pretty__opaque p; + + Storage_ALLOCATE ((void **) &p, sizeof (mcPretty__T1)); + p->write_ = w; +@@ -226,8 +219,8 @@ extern "C" mcPretty_pretty mcPretty_initPretty (mcPretty_writeProc w, mcPretty_w + p->curLine = 0; + p->seekPos = 0; + p->indent = 0; +- p->stacked = NULL; +- return p; ++ p->stacked = static_cast (NULL); ++ return static_cast (p); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -239,11 +232,11 @@ extern "C" mcPretty_pretty mcPretty_initPretty (mcPretty_writeProc w, mcPretty_w + + extern "C" mcPretty_pretty mcPretty_dupPretty (mcPretty_pretty p) + { +- mcPretty_pretty q; ++ mcPretty_pretty__opaque q; + + Storage_ALLOCATE ((void **) &q, sizeof (mcPretty__T1)); +- (*q) = (*p); +- return q; ++ (*q) = (*static_cast (p)); ++ return static_cast (q); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -256,10 +249,10 @@ extern "C" mcPretty_pretty mcPretty_dupPretty (mcPretty_pretty p) + + extern "C" void mcPretty_killPretty (mcPretty_pretty *p) + { +- (*p) = NULL; +- return ; ++ (*p) = static_cast (NULL); ++ return; + Storage_DEALLOCATE ((void **) &(*p), sizeof (mcPretty__T1)); +- (*p) = NULL; ++ (*p) = static_cast (NULL); + } + + +@@ -269,11 +262,11 @@ extern "C" void mcPretty_killPretty (mcPretty_pretty *p) + + extern "C" mcPretty_pretty mcPretty_pushPretty (mcPretty_pretty p) + { +- mcPretty_pretty q; ++ mcPretty_pretty__opaque q; + +- q = mcPretty_dupPretty (p); +- q->stacked = p; +- return q; ++ q = static_cast (mcPretty_dupPretty (p)); ++ q->stacked = static_cast (p); ++ return static_cast (q); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -285,16 +278,16 @@ extern "C" mcPretty_pretty mcPretty_pushPretty (mcPretty_pretty p) + + extern "C" mcPretty_pretty mcPretty_popPretty (mcPretty_pretty p) + { +- mcPretty_pretty q; +- +- q = p->stacked; +- q->needsIndent = p->needsIndent; +- q->needsSpace = p->needsSpace; +- q->curPos = p->curPos; +- q->seekPos = p->seekPos; +- q->curLine = p->curLine; ++ mcPretty_pretty__opaque q; ++ ++ q = static_cast (p)->stacked; ++ q->needsIndent = static_cast (p)->needsIndent; ++ q->needsSpace = static_cast (p)->needsSpace; ++ q->curPos = static_cast (p)->curPos; ++ q->seekPos = static_cast (p)->seekPos; ++ q->curLine = static_cast (p)->curLine; + mcPretty_killPretty (&p); +- return q; ++ return static_cast (q); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -306,7 +299,7 @@ extern "C" mcPretty_pretty mcPretty_popPretty (mcPretty_pretty p) + + extern "C" unsigned int mcPretty_getindent (mcPretty_pretty p) + { +- return p->indent; ++ return static_cast (p)->indent; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -318,7 +311,7 @@ extern "C" unsigned int mcPretty_getindent (mcPretty_pretty p) + + extern "C" void mcPretty_setindent (mcPretty_pretty p, unsigned int n) + { +- p->indent = n; ++ static_cast (p)->indent = n; + } + + +@@ -328,13 +321,13 @@ extern "C" void mcPretty_setindent (mcPretty_pretty p, unsigned int n) + + extern "C" unsigned int mcPretty_getcurpos (mcPretty_pretty s) + { +- if (s->needsSpace) ++ if (static_cast (s)->needsSpace) + { +- return s->curPos+1; ++ return static_cast (s)->curPos+1; + } + else + { +- return s->curPos; ++ return static_cast (s)->curPos; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -347,7 +340,7 @@ extern "C" unsigned int mcPretty_getcurpos (mcPretty_pretty s) + + extern "C" unsigned int mcPretty_getseekpos (mcPretty_pretty s) + { +- return s->seekPos; ++ return static_cast (s)->seekPos; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -359,17 +352,17 @@ extern "C" unsigned int mcPretty_getseekpos (mcPretty_pretty s) + + extern "C" unsigned int mcPretty_getcurline (mcPretty_pretty s) + { +- return s->curLine; ++ return static_cast (s)->curLine; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + + extern "C" void mcPretty_setNeedSpace (mcPretty_pretty s) + { +- /* ++ /* + setneedSpace - sets needSpace flag to TRUE. + */ +- s->needsSpace = true; ++ static_cast (s)->needsSpace = true; + } + + +@@ -379,7 +372,7 @@ extern "C" void mcPretty_setNeedSpace (mcPretty_pretty s) + + extern "C" void mcPretty_noSpace (mcPretty_pretty s) + { +- s->needsSpace = false; ++ static_cast (s)->needsSpace = false; + } + + +@@ -412,25 +405,25 @@ extern "C" void mcPretty_prints (mcPretty_pretty p, DynamicStrings_String s) + + l = DynamicStrings_Length (s); + i = 0; +- flushSpace (p); ++ flushSpace (static_cast (p)); + while (i < l) + { + if ((((i+2) <= l) && ((DynamicStrings_char (s, static_cast (i))) == '\\')) && ((DynamicStrings_char (s, static_cast (i+1))) == 'n')) + { +- p->needsIndent = true; +- p->needsSpace = false; +- p->curPos = 0; +- (*p->writeln.proc) (); +- p->seekPos += 1; +- p->curLine += 1; ++ static_cast (p)->needsIndent = true; ++ static_cast (p)->needsSpace = false; ++ static_cast (p)->curPos = 0; ++ (*static_cast (p)->writeln.proc) (); ++ static_cast (p)->seekPos += 1; ++ static_cast (p)->curLine += 1; + i += 1; + } + else + { +- flushIndent (p); +- (*p->write_.proc) (DynamicStrings_char (s, static_cast (i))); +- p->curPos += 1; +- p->seekPos += 1; ++ flushIndent (static_cast (p)); ++ (*static_cast (p)->write_.proc) (DynamicStrings_char (s, static_cast (i))); ++ static_cast (p)->curPos += 1; ++ static_cast (p)->seekPos += 1; + } + i += 1; + } +@@ -449,21 +442,21 @@ extern "C" void mcPretty_raw (mcPretty_pretty p, DynamicStrings_String s) + + l = DynamicStrings_Length (s); + i = 0; +- flushSpace (p); +- flushIndent (p); ++ flushSpace (static_cast (p)); ++ flushIndent (static_cast (p)); + while (i < l) + { +- (*p->write_.proc) (DynamicStrings_char (s, static_cast (i))); +- p->curPos += 1; +- p->seekPos += 1; ++ (*static_cast (p)->write_.proc) (DynamicStrings_char (s, static_cast (i))); ++ static_cast (p)->curPos += 1; ++ static_cast (p)->seekPos += 1; + i += 1; + } + } + +-extern "C" void _M2_mcPretty_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPretty_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcPretty_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPretty_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcPrintf.cc ++++ b/src/gcc/m2/mc-boot/GmcPrintf.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -36,9 +36,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcPrintf_H + #define _mcPrintf_C + ++#include "GmcPrintf.h" + # include "GSFIO.h" + # include "GFIO.h" + # include "GDynamicStrings.h" +@@ -167,7 +167,7 @@ static void cast (unsigned char *a, unsigned int _a_high, const unsigned char *b + { + for (i=0; i<=_a_high; i++) + { +- a[i] = b[i]; ++ const_cast(a)[i] = b[i]; + } + } + else +@@ -199,7 +199,7 @@ static bool TranslateNameToCharStar (char *a, unsigned int _a_high, unsigned int + { + if ((a[i+1] == 'a') && (argno == n)) + { +- a[i+1] = 's'; ++ const_cast(a)[i+1] = 's'; + return true; + } + argno += 1; +@@ -647,10 +647,10 @@ extern "C" void mcPrintf_fprintf4 (FIO_File file, const char *a_, unsigned int _ + {} /* empty. */ + } + +-extern "C" void _M2_mcPrintf_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPrintf_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcPrintf_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcPrintf_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcQuiet.cc ++++ b/src/gcc/m2/mc-boot/GmcQuiet.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -24,9 +24,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _mcQuiet_H + #define _mcQuiet_C + ++#include "GmcQuiet.h" + # include "GmcOptions.h" + # include "GmcPrintf.h" + +@@ -121,10 +121,10 @@ extern "C" void mcQuiet_qprintf4 (const char *a_, unsigned int _a_high, const un + } + } + +-extern "C" void _M2_mcQuiet_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcQuiet_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcQuiet_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcQuiet_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcReserved.cc ++++ b/src/gcc/m2/mc-boot/GmcReserved.cc +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -25,17 +24,15 @@ Boston, MA 02110-1301, USA. */ + typedef struct { PROC_t proc; } PROC; + # endif + +-#define _mcReserved_H + #define _mcReserved_C + ++#include "GmcReserved.h" + +-typedef enum {mcReserved_eoftok, mcReserved_plustok, mcReserved_minustok, mcReserved_timestok, mcReserved_dividetok, mcReserved_becomestok, mcReserved_ambersandtok, mcReserved_periodtok, mcReserved_commatok, mcReserved_semicolontok, mcReserved_lparatok, mcReserved_rparatok, mcReserved_lsbratok, mcReserved_rsbratok, mcReserved_lcbratok, mcReserved_rcbratok, mcReserved_uparrowtok, mcReserved_singlequotetok, mcReserved_equaltok, mcReserved_hashtok, mcReserved_lesstok, mcReserved_greatertok, mcReserved_lessgreatertok, mcReserved_lessequaltok, mcReserved_greaterequaltok, mcReserved_ldirectivetok, mcReserved_rdirectivetok, mcReserved_periodperiodtok, mcReserved_colontok, mcReserved_doublequotestok, mcReserved_bartok, mcReserved_andtok, mcReserved_arraytok, mcReserved_begintok, mcReserved_bytok, mcReserved_casetok, mcReserved_consttok, mcReserved_definitiontok, mcReserved_divtok, mcReserved_dotok, mcReserved_elsetok, mcReserved_elsiftok, mcReserved_endtok, mcReserved_excepttok, mcReserved_exittok, mcReserved_exporttok, mcReserved_finallytok, mcReserved_fortok, mcReserved_fromtok, mcReserved_iftok, mcReserved_implementationtok, mcReserved_importtok, mcReserved_intok, mcReserved_looptok, mcReserved_modtok, mcReserved_moduletok, mcReserved_nottok, mcReserved_oftok, mcReserved_ortok, mcReserved_packedsettok, mcReserved_pointertok, mcReserved_proceduretok, mcReserved_qualifiedtok, mcReserved_unqualifiedtok, mcReserved_recordtok, mcReserved_remtok, mcReserved_repeattok, mcReserved_retrytok, mcReserved_returntok, mcReserved_settok, mcReserved_thentok, mcReserved_totok, mcReserved_typetok, mcReserved_untiltok, mcReserved_vartok, mcReserved_whiletok, mcReserved_withtok, mcReserved_asmtok, mcReserved_volatiletok, mcReserved_periodperiodperiodtok, mcReserved_datetok, mcReserved_linetok, mcReserved_filetok, mcReserved_attributetok, mcReserved_builtintok, mcReserved_inlinetok, mcReserved_integertok, mcReserved_identtok, mcReserved_realtok, mcReserved_stringtok, mcReserved_commenttok} mcReserved_toktype; + +- +-extern "C" void _M2_mcReserved_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcReserved_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcReserved_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcReserved_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcSearch.cc ++++ b/src/gcc/m2/mc-boot/GmcSearch.cc +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -36,9 +36,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcSearch_H + #define _mcSearch_C + ++#include "GmcSearch.h" + # include "GSFIO.h" + # include "GmcFileName.h" + # include "GDynamicStrings.h" +@@ -399,11 +399,11 @@ extern "C" void mcSearch_setModExtension (DynamicStrings_String ext) + Mod = DynamicStrings_Dup (ext); + } + +-extern "C" void _M2_mcSearch_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcSearch_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Init (); + } + +-extern "C" void _M2_mcSearch_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcSearch_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcStack.cc ++++ b/src/gcc/m2/mc-boot/GmcStack.cc +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. */ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ + + #include "config.h" + #include "system.h" +@@ -31,16 +30,16 @@ Boston, MA 02110-1301, USA. */ + # undef NULL + # define NULL 0 + #endif +-#define _mcStack_H + #define _mcStack_C + ++#include "GmcStack.h" + # include "GStorage.h" + # include "GIndexing.h" + # include "GM2RTS.h" + + typedef struct mcStack__T1_r mcStack__T1; + +-typedef mcStack__T1 *mcStack_stack; ++typedef mcStack__T1 *mcStack_stack__opaque; + + struct mcStack__T1_r { + Indexing_Index list; +@@ -101,12 +100,12 @@ extern "C" void * mcStack_access (mcStack_stack s, unsigned int i); + + extern "C" mcStack_stack mcStack_init (void) + { +- mcStack_stack s; ++ mcStack_stack__opaque s; + + Storage_ALLOCATE ((void **) &s, sizeof (mcStack__T1)); + s->list = Indexing_InitIndex (1); + s->count = 0; +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -118,9 +117,9 @@ extern "C" mcStack_stack mcStack_init (void) + + extern "C" void mcStack_kill (mcStack_stack *s) + { +- (*s)->list = Indexing_KillIndex ((*s)->list); ++ static_cast ((*s))->list = Indexing_KillIndex (static_cast ((*s))->list); + Storage_DEALLOCATE ((void **) &(*s), sizeof (mcStack__T1)); +- (*s) = NULL; ++ (*s) = static_cast (NULL); + } + + +@@ -131,15 +130,15 @@ extern "C" void mcStack_kill (mcStack_stack *s) + + extern "C" void * mcStack_push (mcStack_stack s, void * a) + { +- if (s->count == 0) ++ if (static_cast (s)->count == 0) + { +- Indexing_PutIndice (s->list, Indexing_LowIndice (s->list), a); ++ Indexing_PutIndice (static_cast (s)->list, Indexing_LowIndice (static_cast (s)->list), a); + } + else + { +- Indexing_PutIndice (s->list, (Indexing_HighIndice (s->list))+1, a); ++ Indexing_PutIndice (static_cast (s)->list, (Indexing_HighIndice (static_cast (s)->list))+1, a); + } +- s->count += 1; ++ static_cast (s)->count += 1; + return a; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -154,16 +153,16 @@ extern "C" void * mcStack_pop (mcStack_stack s) + { + void * a; + +- if (s->count == 0) ++ if (static_cast (s)->count == 0) + { + M2RTS_HALT (-1); + __builtin_unreachable (); + } + else + { +- s->count -= 1; +- a = Indexing_GetIndice (s->list, Indexing_HighIndice (s->list)); +- Indexing_DeleteIndice (s->list, Indexing_HighIndice (s->list)); ++ static_cast (s)->count -= 1; ++ a = Indexing_GetIndice (static_cast (s)->list, Indexing_HighIndice (static_cast (s)->list)); ++ Indexing_DeleteIndice (static_cast (s)->list, Indexing_HighIndice (static_cast (s)->list)); + return a; + } + ReturnException ("../../gcc/m2/mc/mcStack.def", 20, 1); +@@ -192,7 +191,7 @@ extern "C" void * mcStack_replace (mcStack_stack s, void * a) + + extern "C" unsigned int mcStack_depth (mcStack_stack s) + { +- return s->count; ++ return static_cast (s)->count; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -207,23 +206,23 @@ extern "C" unsigned int mcStack_depth (mcStack_stack s) + + extern "C" void * mcStack_access (mcStack_stack s, unsigned int i) + { +- if ((i > s->count) || (i == 0)) ++ if ((i > static_cast (s)->count) || (i == 0)) + { + M2RTS_HALT (-1); + __builtin_unreachable (); + } + else + { +- return Indexing_GetIndice (s->list, i); ++ return Indexing_GetIndice (static_cast (s)->list, i); + } + ReturnException ("../../gcc/m2/mc/mcStack.def", 20, 1); + __builtin_unreachable (); + } + +-extern "C" void _M2_mcStack_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcStack_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcStack_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcStack_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GmcStream.cc ++++ b/src/gcc/m2/mc-boot/GmcStream.cc +@@ -42,9 +42,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _mcStream_H + #define _mcStream_C + ++#include "GmcStream.h" + # include "GFIO.h" + # include "Glibc.h" + # include "GIndexing.h" +@@ -123,7 +123,7 @@ static void copy (mcStream_ptrToFile p); + + static DynamicStrings_String removeLater (DynamicStrings_String filename) + { +- alists_includeItemIntoList (listOfFiles, reinterpret_cast (filename)); ++ alists_includeItemIntoList (listOfFiles, reinterpret_cast (filename)); + return filename; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -213,7 +213,7 @@ extern "C" FIO_File mcStream_openFrag (unsigned int id) + f = createTemporaryFile (id); + Storage_ALLOCATE ((void **) &p, sizeof (FIO_File)); + (*p) = f; +- Indexing_PutIndice (frag, id, reinterpret_cast (p)); ++ Indexing_PutIndice (frag, id, reinterpret_cast (p)); + return f; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -264,13 +264,13 @@ extern "C" void mcStream_removeFiles (void) + listOfFiles = alists_initList (); + } + +-extern "C" void _M2_mcStream_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcStream_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + listOfFiles = alists_initList (); + seenDest = false; + frag = Indexing_InitIndex (1); + } + +-extern "C" void _M2_mcStream_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcStream_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gmcp1.cc ++++ b/src/gcc/m2/mc-boot/Gmcp1.cc +@@ -41,9 +41,9 @@ see . */ + # undef NULL + # define NULL 0 + #endif +-#define _mcp1_H + #define _mcp1_C + ++#include "Gmcp1.h" + # include "GDynamicStrings.h" + # include "GmcError.h" + # include "GnameKey.h" +@@ -1739,7 +1739,9 @@ static void Priority (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopset1, mcp1_S + + /* + Export := 'EXPORT' ( 'QUALIFIED' IdentList | +- 'UNQUALIFIED' IdentList | ++ 'UNQUALIFIED' ++ % putDefUnqualified (curmodule) % ++ IdentList | + IdentList ) ';' + + first symbols:exporttok +@@ -1831,7 +1833,8 @@ static void DefinitionModule (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopset1 + + % n := makeType (curident) % + ( ';' +- % putTypeHidden (n) % ++ % putTypeHidden (n) ; ++ putTypeOpaque (n) % + | '=' Type Alignment + ';' ) } + +@@ -6752,7 +6755,9 @@ static void Priority (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopset1, mcp1_S + + /* + Export := 'EXPORT' ( 'QUALIFIED' IdentList | +- 'UNQUALIFIED' IdentList | ++ 'UNQUALIFIED' ++ % putDefUnqualified (curmodule) % ++ IdentList | + IdentList ) ';' + + first symbols:exporttok +@@ -6772,6 +6777,7 @@ static void Export (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopset1, mcp1_Set + { + /* avoid dangling else. */ + Expect (mcReserved_unqualifiedtok, stopset0, stopset1, stopset2|(mcp1_SetOfStop2) ((1 << (mcReserved_identtok-mcReserved_recordtok)))); ++ decl_putDefUnqualified (curmodule); + IdentList (stopset0|(mcp1_SetOfStop0) ((1 << (mcReserved_semicolontok-mcReserved_eoftok))), stopset1, stopset2); + } + else if (mcLexBuf_currenttoken == mcReserved_identtok) +@@ -6955,7 +6961,8 @@ static void DefinitionModule (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopset1 + + % n := makeType (curident) % + ( ';' +- % putTypeHidden (n) % ++ % putTypeHidden (n) ; ++ putTypeOpaque (n) % + | '=' Type Alignment + ';' ) } + +@@ -6976,6 +6983,7 @@ static void DefTypeDeclaration (mcp1_SetOfStop0 stopset0, mcp1_SetOfStop1 stopse + { + Expect (mcReserved_semicolontok, stopset0, stopset1, stopset2|(mcp1_SetOfStop2) ((1 << (mcReserved_identtok-mcReserved_recordtok)))); + decl_putTypeHidden (n); ++ decl_putTypeOpaque (n); + } + else if (mcLexBuf_currenttoken == mcReserved_equaltok) + { +@@ -7257,10 +7265,10 @@ extern "C" bool mcp1_CompilationUnit (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcp1_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp1_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcp1_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp1_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gmcp2.cc ++++ b/src/gcc/m2/mc-boot/Gmcp2.cc +@@ -41,9 +41,9 @@ see . */ + # undef NULL + # define NULL 0 + #endif +-#define _mcp2_H + #define _mcp2_C + ++#include "Gmcp2.h" + # include "GDynamicStrings.h" + # include "GmcError.h" + # include "GnameKey.h" +@@ -7629,10 +7629,10 @@ extern "C" bool mcp2_CompilationUnit (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcp2_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp2_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcp2_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp2_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gmcp3.cc ++++ b/src/gcc/m2/mc-boot/Gmcp3.cc +@@ -41,9 +41,9 @@ see . */ + # undef NULL + # define NULL 0 + #endif +-#define _mcp3_H + #define _mcp3_C + ++#include "Gmcp3.h" + # include "GDynamicStrings.h" + # include "GmcError.h" + # include "GnameKey.h" +@@ -2231,7 +2231,7 @@ static void TrashList (mcp3_SetOfStop0 stopset0, mcp3_SetOfStop1 stopset1, mcp3_ + + static decl_node push (decl_node n) + { +- return static_cast (mcStack_push (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_push (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2255,7 +2255,7 @@ static decl_node pop (void) + + static decl_node replace (decl_node n) + { +- return static_cast (mcStack_replace (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_replace (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -7846,10 +7846,10 @@ extern "C" bool mcp3_CompilationUnit (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcp3_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp3_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcp3_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp3_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gmcp4.cc ++++ b/src/gcc/m2/mc-boot/Gmcp4.cc +@@ -41,9 +41,9 @@ see . */ + # undef NULL + # define NULL 0 + #endif +-#define _mcp4_H + #define _mcp4_C + ++#include "Gmcp4.h" + # include "GDynamicStrings.h" + # include "GmcError.h" + # include "GnameKey.h" +@@ -2165,7 +2165,7 @@ static void TrashList (mcp4_SetOfStop0 stopset0, mcp4_SetOfStop1 stopset1, mcp4_ + + static decl_node push (decl_node n) + { +- return static_cast (mcStack_push (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_push (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2189,7 +2189,7 @@ static decl_node pop (void) + + static decl_node replace (decl_node n) + { +- return static_cast (mcStack_replace (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_replace (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -7709,10 +7709,10 @@ extern "C" bool mcp4_CompilationUnit (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcp4_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp4_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcp4_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp4_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gmcp5.cc ++++ b/src/gcc/m2/mc-boot/Gmcp5.cc +@@ -41,9 +41,9 @@ see . */ + # undef NULL + # define NULL 0 + #endif +-#define _mcp5_H + #define _mcp5_C + ++#include "Gmcp5.h" + # include "GDynamicStrings.h" + # include "GmcError.h" + # include "GnameKey.h" +@@ -2500,7 +2500,7 @@ static void followNode (decl_node n) + + static decl_node push (decl_node n) + { +- return static_cast (mcStack_push (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_push (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2524,7 +2524,7 @@ static decl_node pop (void) + + static decl_node replace (decl_node n) + { +- return static_cast (mcStack_replace (stk, reinterpret_cast (n))); ++ return static_cast (mcStack_replace (stk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2592,7 +2592,7 @@ static bool isQualident (decl_node n) + + static void startWith (decl_node n) + { +- n = static_cast (mcStack_push (withStk, reinterpret_cast (n))); ++ n = static_cast (mcStack_push (withStk, reinterpret_cast (n))); + } + + +@@ -2644,7 +2644,7 @@ static decl_node lookupWithSym (nameKey_Name i) + + static decl_node pushStmt (decl_node n) + { +- return static_cast (mcStack_push (stmtStk, reinterpret_cast (n))); ++ return static_cast (mcStack_push (stmtStk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2681,7 +2681,7 @@ static decl_node peepStmt (void) + + static decl_node pushLoop (decl_node n) + { +- return static_cast (mcStack_push (loopStk, reinterpret_cast (n))); ++ return static_cast (mcStack_push (loopStk, reinterpret_cast (n))); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -5553,7 +5553,7 @@ static void SubDesignator (mcp5_SetOfStop0 stopset0, mcp5_SetOfStop1 stopset1, m + { + ErrorArray ((const char *) "no expression found", 19); + mcError_flushErrors (); +- return ; ++ return; + } + type = decl_skipType (decl_getType (n)); + if (mcLexBuf_currenttoken == mcReserved_periodtok) +@@ -8568,10 +8568,10 @@ extern "C" bool mcp5_CompilationUnit (void) + __builtin_unreachable (); + } + +-extern "C" void _M2_mcp5_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp5_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_mcp5_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_mcp5_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GnameKey.cc ++++ b/src/gcc/m2/mc-boot/GnameKey.cc +@@ -43,9 +43,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _nameKey_H + #define _nameKey_C + ++#include "GnameKey.h" + # include "GSYSTEM.h" + # include "GStorage.h" + # include "GIndexing.h" +@@ -192,12 +192,12 @@ static nameKey_Name doMakeKey (nameKey_ptrToChar n, unsigned int higha) + lastIndice += 1; + child->key = lastIndice; + child->data = n; +- Indexing_PutIndice (keyIndex, child->key, reinterpret_cast (n)); ++ Indexing_PutIndice (keyIndex, child->key, reinterpret_cast (n)); + k = lastIndice; + } + else + { +- Storage_DEALLOCATE (reinterpret_cast (&n), higha+1); ++ Storage_DEALLOCATE (reinterpret_cast (&n), higha+1); + k = child->key; + } + return k; +@@ -305,7 +305,7 @@ extern "C" nameKey_Name nameKey_makeKey (const char *a_, unsigned int _a_high) + memcpy (a, a_, _a_high+1); + + higha = StrLib_StrLen ((const char *) a, _a_high); +- Storage_ALLOCATE (reinterpret_cast (&p), higha+1); ++ Storage_ALLOCATE (reinterpret_cast (&p), higha+1); + if (p == NULL) + { + M2RTS_HALT (-1); /* out of memory error */ +@@ -352,7 +352,7 @@ extern "C" nameKey_Name nameKey_makekey (void * a) + else + { + higha = static_cast (libc_strlen (a)); +- Storage_ALLOCATE (reinterpret_cast (&p), higha+1); ++ Storage_ALLOCATE (reinterpret_cast (&p), higha+1); + if (p == NULL) + { + M2RTS_HALT (-1); /* out of memory error */ +@@ -394,13 +394,13 @@ extern "C" void nameKey_getKey (nameKey_Name key, char *a, unsigned int _a_high) + higha = _a_high; + while (((p != NULL) && (i <= higha)) && ((*p) != ASCII_nul)) + { +- a[i] = (*p); ++ const_cast(a)[i] = (*p); + p += 1; + i += 1; + } + if (i <= higha) + { +- a[i] = ASCII_nul; ++ const_cast(a)[i] = ASCII_nul; + } + } + +@@ -572,7 +572,7 @@ extern "C" void * nameKey_keyToCharStar (nameKey_Name key) + __builtin_unreachable (); + } + +-extern "C" void _M2_nameKey_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_nameKey_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + lastIndice = 0; + keyIndex = Indexing_InitIndex (1); +@@ -580,6 +580,6 @@ extern "C" void _M2_nameKey_init (__attribute__((unused)) int argc,__attribute__ + binaryTree->left = NULL; + } + +-extern "C" void _M2_nameKey_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_nameKey_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/GsymbolKey.cc ++++ b/src/gcc/m2/mc-boot/GsymbolKey.cc +@@ -38,9 +38,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _symbolKey_H + #define _symbolKey_C + ++#include "GsymbolKey.h" + # include "GStorage.h" + # include "GStrIO.h" + # include "GNumberIO.h" +@@ -54,19 +54,13 @@ typedef struct symbolKey_performOperation_p symbolKey_performOperation; + + typedef struct symbolKey__T1_r symbolKey__T1; + +-typedef symbolKey__T1 *symbolKey_symbolTree; +- +-typedef bool (*symbolKey_isSymbol_t) (void *); +-struct symbolKey_isSymbol_p { symbolKey_isSymbol_t proc; }; +- +-typedef void (*symbolKey_performOperation_t) (void *); +-struct symbolKey_performOperation_p { symbolKey_performOperation_t proc; }; ++typedef symbolKey__T1 *symbolKey_symbolTree__opaque; + + struct symbolKey__T1_r { + nameKey_Name name; +- void *key; +- symbolKey_symbolTree left; +- symbolKey_symbolTree right; ++ void * key; ++ symbolKey_symbolTree__opaque left; ++ symbolKey_symbolTree__opaque right; + }; + + extern "C" symbolKey_symbolTree symbolKey_initTree (void); +@@ -113,7 +107,7 @@ extern "C" void symbolKey_foreachNodeDo (symbolKey_symbolTree t, symbolKey_perfo + if an entry is found, father is set to the node above child. + */ + +-static void findNodeAndParentInTree (symbolKey_symbolTree t, nameKey_Name n, symbolKey_symbolTree *child, symbolKey_symbolTree *father); ++static void findNodeAndParentInTree (symbolKey_symbolTree__opaque t, nameKey_Name n, symbolKey_symbolTree__opaque *child, symbolKey_symbolTree__opaque *father); + + /* + searchForAny - performs the search required for doesTreeContainAny. +@@ -121,7 +115,7 @@ static void findNodeAndParentInTree (symbolKey_symbolTree t, nameKey_Name n, sym + therefore we must skip over it. + */ + +-static bool searchForAny (symbolKey_symbolTree t, symbolKey_isSymbol p); ++static bool searchForAny (symbolKey_symbolTree__opaque t, symbolKey_isSymbol p); + + /* + searchAndDo - searches all the nodes in symbolTree, t, and +@@ -129,7 +123,7 @@ static bool searchForAny (symbolKey_symbolTree t, symbolKey_isSymbol p); + It traverse the tree in order. + */ + +-static void searchAndDo (symbolKey_symbolTree t, symbolKey_performOperation p); ++static void searchAndDo (symbolKey_symbolTree__opaque t, symbolKey_performOperation p); + + + /* +@@ -137,7 +131,7 @@ static void searchAndDo (symbolKey_symbolTree t, symbolKey_performOperation p); + if an entry is found, father is set to the node above child. + */ + +-static void findNodeAndParentInTree (symbolKey_symbolTree t, nameKey_Name n, symbolKey_symbolTree *child, symbolKey_symbolTree *father) ++static void findNodeAndParentInTree (symbolKey_symbolTree__opaque t, nameKey_Name n, symbolKey_symbolTree__opaque *child, symbolKey_symbolTree__opaque *father) + { + /* remember to skip the sentinal value and assign father and child */ + (*father) = t; +@@ -171,7 +165,7 @@ static void findNodeAndParentInTree (symbolKey_symbolTree t, nameKey_Name n, sym + therefore we must skip over it. + */ + +-static bool searchForAny (symbolKey_symbolTree t, symbolKey_isSymbol p) ++static bool searchForAny (symbolKey_symbolTree__opaque t, symbolKey_isSymbol p) + { + if (t == NULL) + { +@@ -192,7 +186,7 @@ static bool searchForAny (symbolKey_symbolTree t, symbolKey_isSymbol p) + It traverse the tree in order. + */ + +-static void searchAndDo (symbolKey_symbolTree t, symbolKey_performOperation p) ++static void searchAndDo (symbolKey_symbolTree__opaque t, symbolKey_performOperation p) + { + if (t != NULL) + { +@@ -204,12 +198,12 @@ static void searchAndDo (symbolKey_symbolTree t, symbolKey_performOperation p) + + extern "C" symbolKey_symbolTree symbolKey_initTree (void) + { +- symbolKey_symbolTree t; ++ symbolKey_symbolTree__opaque t; + + Storage_ALLOCATE ((void **) &t, sizeof (symbolKey__T1)); /* The value entity */ +- t->left = NULL; +- t->right = NULL; +- return t; ++ t->left = static_cast (NULL); ++ t->right = static_cast (NULL); ++ return static_cast (t); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -218,17 +212,17 @@ extern "C" void symbolKey_killTree (symbolKey_symbolTree *t) + { + if ((*t) != NULL) + { +- symbolKey_killTree (&(*t)->left); +- symbolKey_killTree (&(*t)->right); ++ symbolKey_killTree (reinterpret_cast (&static_cast ((*t))->left)); ++ symbolKey_killTree (reinterpret_cast (&static_cast ((*t))->right)); + Storage_DEALLOCATE ((void **) &(*t), sizeof (symbolKey__T1)); +- (*t) = NULL; ++ (*t) = static_cast (NULL); + } + } + + extern "C" void * symbolKey_getSymKey (symbolKey_symbolTree t, nameKey_Name name) + { +- symbolKey_symbolTree father; +- symbolKey_symbolTree child; ++ symbolKey_symbolTree__opaque father; ++ symbolKey_symbolTree__opaque child; + + if (t == NULL) + { +@@ -236,7 +230,7 @@ extern "C" void * symbolKey_getSymKey (symbolKey_symbolTree t, nameKey_Name name + } + else + { +- findNodeAndParentInTree (t, name, &child, &father); ++ findNodeAndParentInTree (static_cast (t), name, &child, &father); + if (child == NULL) + { + return symbolKey_NulKey; +@@ -252,10 +246,10 @@ extern "C" void * symbolKey_getSymKey (symbolKey_symbolTree t, nameKey_Name name + + extern "C" void symbolKey_putSymKey (symbolKey_symbolTree t, nameKey_Name name, void * key) + { +- symbolKey_symbolTree father; +- symbolKey_symbolTree child; ++ symbolKey_symbolTree__opaque father; ++ symbolKey_symbolTree__opaque child; + +- findNodeAndParentInTree (t, name, &child, &father); ++ findNodeAndParentInTree (static_cast (t), name, &child, &father); + if (child == NULL) + { + /* no child found, now is name less than father or greater? */ +@@ -279,8 +273,8 @@ extern "C" void symbolKey_putSymKey (symbolKey_symbolTree t, nameKey_Name name, + father->right = child; + } + } +- child->right = NULL; +- child->left = NULL; ++ child->right = static_cast (NULL); ++ child->left = static_cast (NULL); + child->key = key; + child->name = name; + } +@@ -300,11 +294,11 @@ extern "C" void symbolKey_putSymKey (symbolKey_symbolTree t, nameKey_Name name, + + extern "C" void symbolKey_delSymKey (symbolKey_symbolTree t, nameKey_Name name) + { +- symbolKey_symbolTree i; +- symbolKey_symbolTree child; +- symbolKey_symbolTree father; ++ symbolKey_symbolTree__opaque i; ++ symbolKey_symbolTree__opaque child; ++ symbolKey_symbolTree__opaque father; + +- findNodeAndParentInTree (t, name, &child, &father); /* find father and child of the node */ ++ findNodeAndParentInTree (static_cast (t), name, &child, &father); /* find father and child of the node */ + if ((child != NULL) && (child->name == name)) + { + /* Have found the node to be deleted */ +@@ -364,7 +358,7 @@ extern "C" void symbolKey_delSymKey (symbolKey_symbolTree t, nameKey_Name name) + + extern "C" bool symbolKey_isEmptyTree (symbolKey_symbolTree t) + { +- return t->left == NULL; ++ return static_cast (t)->left == NULL; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -380,7 +374,7 @@ extern "C" bool symbolKey_isEmptyTree (symbolKey_symbolTree t) + + extern "C" bool symbolKey_doesTreeContainAny (symbolKey_symbolTree t, symbolKey_isSymbol p) + { +- return searchForAny (t->left, p); ++ return searchForAny (static_cast (t)->left, p); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -395,13 +389,13 @@ extern "C" bool symbolKey_doesTreeContainAny (symbolKey_symbolTree t, symbolKey_ + + extern "C" void symbolKey_foreachNodeDo (symbolKey_symbolTree t, symbolKey_performOperation p) + { +- searchAndDo (t->left, p); ++ searchAndDo (static_cast (t)->left, p); + } + +-extern "C" void _M2_symbolKey_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_symbolKey_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_symbolKey_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_symbolKey_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gvarargs.cc ++++ b/src/gcc/m2/mc-boot/Gvarargs.cc +@@ -34,9 +34,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _varargs_H + #define _varargs_C + ++#include "Gvarargs.h" + # include "GStorage.h" + # include "Glibc.h" + # include "GSYSTEM.h" +@@ -51,10 +51,10 @@ typedef unsigned char *varargs_ptrToByte; + + typedef struct varargs__T7_a varargs__T7; + +-typedef varargs__T6 *varargs_vararg; ++typedef varargs__T6 *varargs_vararg__opaque; + + struct varargs_argDesc_r { +- void *ptr; ++ void * ptr; + unsigned int len; + }; + +@@ -62,7 +62,7 @@ struct varargs__T7_a { varargs_argDesc array[MaxArg+1]; }; + struct varargs__T6_r { + unsigned int nArgs; + unsigned int i; +- void *contents; ++ void * contents; + unsigned int size; + varargs__T7 arg; + }; +@@ -138,7 +138,7 @@ extern "C" varargs_vararg varargs_start4 (const unsigned char *a_, unsigned int + + extern "C" unsigned int varargs_nargs (varargs_vararg v) + { +- return v->nArgs; ++ return static_cast (v)->nArgs; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -156,20 +156,20 @@ extern "C" void varargs_arg (varargs_vararg v, unsigned char *a, unsigned int _a + arg__T1 p; + unsigned int j; + +- if (v->i == v->nArgs) ++ if (static_cast (v)->i == static_cast (v)->nArgs) + { + M2RTS_HALT (-1); /* too many calls to arg. */ + __builtin_unreachable (); + } + else + { +- if ((_a_high+1) == v->arg.array[v->i].len) ++ if ((_a_high+1) == static_cast (v)->arg.array[static_cast (v)->i].len) + { +- p = static_cast (v->arg.array[v->i].ptr); ++ p = static_cast (static_cast (v)->arg.array[static_cast (v)->i].ptr); + j = 0; + while (j <= _a_high) + { +- a[j] = (*p); ++ const_cast(a)[j] = (*p); + p += 1; + j += 1; + } +@@ -179,7 +179,7 @@ extern "C" void varargs_arg (varargs_vararg v, unsigned char *a, unsigned int _a + M2RTS_HALT (-1); /* parameter mismatch. */ + __builtin_unreachable (); + } +- v->i += 1; ++ static_cast (v)->i += 1; + } + } + +@@ -190,7 +190,7 @@ extern "C" void varargs_arg (varargs_vararg v, unsigned char *a, unsigned int _a + + extern "C" void varargs_next (varargs_vararg v, unsigned int i) + { +- v->i = i; ++ static_cast (v)->i = i; + } + + +@@ -200,24 +200,24 @@ extern "C" void varargs_next (varargs_vararg v, unsigned int i) + + extern "C" varargs_vararg varargs_copy (varargs_vararg v) + { +- varargs_vararg c; ++ varargs_vararg__opaque c; + unsigned int j; + unsigned int offset; + + Storage_ALLOCATE ((void **) &c, sizeof (varargs__T6)); +- c->i = v->i; +- c->nArgs = v->nArgs; +- c->size = v->size; ++ c->i = static_cast (v)->i; ++ c->nArgs = static_cast (v)->nArgs; ++ c->size = static_cast (v)->size; + Storage_ALLOCATE (&c->contents, c->size); +- c->contents = libc_memcpy (c->contents, v->contents, static_cast (c->size)); ++ c->contents = libc_memcpy (c->contents, static_cast (v)->contents, static_cast (c->size)); + for (j=0; j<=c->nArgs; j++) + { +- offset = (unsigned int ) (((varargs_ptrToByte) (v->contents))-((varargs_ptrToByte) (v->arg.array[j].ptr))); +- c->arg.array[j].ptr = reinterpret_cast ((varargs_ptrToByte) (c->contents)); ++ offset = (unsigned int ) (((varargs_ptrToByte) (static_cast (v)->contents))-((varargs_ptrToByte) (static_cast (v)->arg.array[j].ptr))); ++ c->arg.array[j].ptr = static_cast ((varargs_ptrToByte) (c->contents)); + c->arg.array[j].ptr = reinterpret_cast (reinterpret_cast (c->arg.array[j].ptr)+offset); +- c->arg.array[j].len = v->arg.array[j].len; ++ c->arg.array[j].len = static_cast (v)->arg.array[j].len; + } +- return c; ++ return static_cast (c); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -236,16 +236,16 @@ extern "C" void varargs_replace (varargs_vararg v, unsigned char *a, unsigned in + replace__T2 p; + unsigned int j; + +- if (v->i == v->nArgs) ++ if (static_cast (v)->i == static_cast (v)->nArgs) + { + M2RTS_HALT (-1); /* too many calls to arg. */ + __builtin_unreachable (); + } + else + { +- if ((_a_high+1) == v->arg.array[v->i].len) ++ if ((_a_high+1) == static_cast (v)->arg.array[static_cast (v)->i].len) + { +- p = static_cast (v->arg.array[v->i].ptr); ++ p = static_cast (static_cast (v)->arg.array[static_cast (v)->i].ptr); + j = 0; + while (j <= _a_high) + { +@@ -271,7 +271,7 @@ extern "C" void varargs_end (varargs_vararg *v) + { + if ((*v) != NULL) + { +- Storage_DEALLOCATE (&(*v)->contents, sizeof (varargs_vararg)); ++ Storage_DEALLOCATE (&static_cast ((*v))->contents, sizeof (varargs_vararg)); + Storage_DEALLOCATE ((void **) &(*v), sizeof (varargs__T6)); + } + } +@@ -283,7 +283,7 @@ extern "C" void varargs_end (varargs_vararg *v) + + extern "C" varargs_vararg varargs_start1 (const unsigned char *a_, unsigned int _a_high) + { +- varargs_vararg v; ++ varargs_vararg__opaque v; + unsigned char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -294,10 +294,10 @@ extern "C" varargs_vararg varargs_start1 (const unsigned char *a_, unsigned int + v->nArgs = 1; + v->size = _a_high+1; + Storage_ALLOCATE (&v->contents, v->size); +- v->contents = libc_memcpy (v->contents, &a, static_cast (v->size)); ++ v->contents = libc_memcpy (v->contents, const_cast (static_cast(a)), static_cast (v->size)); + v->arg.array[0].ptr = v->contents; + v->arg.array[0].len = v->size; +- return v; ++ return static_cast (v); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -311,7 +311,7 @@ extern "C" varargs_vararg varargs_start2 (const unsigned char *a_, unsigned int + { + typedef unsigned char *start2__T3; + +- varargs_vararg v; ++ varargs_vararg__opaque v; + start2__T3 p; + unsigned char a[_a_high+1]; + unsigned char b[_b_high+1]; +@@ -325,14 +325,14 @@ extern "C" varargs_vararg varargs_start2 (const unsigned char *a_, unsigned int + v->nArgs = 2; + v->size = (_a_high+_b_high)+2; + Storage_ALLOCATE (&v->contents, v->size); +- p = static_cast (libc_memcpy (v->contents, &a, static_cast (_a_high+1))); +- v->arg.array[0].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (v->contents, const_cast (static_cast(a)), static_cast (_a_high+1))); ++ v->arg.array[0].ptr = static_cast (p); + v->arg.array[0].len = _a_high+1; + p += v->arg.array[0].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &b, static_cast (_b_high+1))); +- v->arg.array[1].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(b)), static_cast (_b_high+1))); ++ v->arg.array[1].ptr = static_cast (p); + v->arg.array[1].len = _b_high+1; +- return v; ++ return static_cast (v); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -346,7 +346,7 @@ extern "C" varargs_vararg varargs_start3 (const unsigned char *a_, unsigned int + { + typedef unsigned char *start3__T4; + +- varargs_vararg v; ++ varargs_vararg__opaque v; + start3__T4 p; + unsigned char a[_a_high+1]; + unsigned char b[_b_high+1]; +@@ -362,18 +362,18 @@ extern "C" varargs_vararg varargs_start3 (const unsigned char *a_, unsigned int + v->nArgs = 3; + v->size = ((_a_high+_b_high)+_c_high)+3; + Storage_ALLOCATE (&v->contents, v->size); +- p = static_cast (libc_memcpy (v->contents, &a, static_cast (_a_high+1))); +- v->arg.array[0].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (v->contents, const_cast (static_cast(a)), static_cast (_a_high+1))); ++ v->arg.array[0].ptr = static_cast (p); + v->arg.array[0].len = _a_high+1; + p += v->arg.array[0].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &b, static_cast (_b_high+1))); +- v->arg.array[1].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(b)), static_cast (_b_high+1))); ++ v->arg.array[1].ptr = static_cast (p); + v->arg.array[1].len = _b_high+1; + p += v->arg.array[1].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &c, static_cast (_c_high+1))); +- v->arg.array[2].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(c)), static_cast (_c_high+1))); ++ v->arg.array[2].ptr = static_cast (p); + v->arg.array[2].len = _c_high+1; +- return v; ++ return static_cast (v); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -387,7 +387,7 @@ extern "C" varargs_vararg varargs_start4 (const unsigned char *a_, unsigned int + { + typedef unsigned char *start4__T5; + +- varargs_vararg v; ++ varargs_vararg__opaque v; + start4__T5 p; + unsigned char a[_a_high+1]; + unsigned char b[_b_high+1]; +@@ -405,29 +405,29 @@ extern "C" varargs_vararg varargs_start4 (const unsigned char *a_, unsigned int + v->nArgs = 4; + v->size = (((_a_high+_b_high)+_c_high)+_d_high)+4; + Storage_ALLOCATE (&v->contents, v->size); +- p = static_cast (libc_memcpy (v->contents, &a, static_cast (_a_high+1))); ++ p = static_cast (libc_memcpy (v->contents, const_cast (static_cast(a)), static_cast (_a_high+1))); + v->arg.array[0].len = _a_high+1; + p += v->arg.array[0].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &b, static_cast (_b_high+1))); +- v->arg.array[1].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(b)), static_cast (_b_high+1))); ++ v->arg.array[1].ptr = static_cast (p); + v->arg.array[1].len = _b_high+1; + p += v->arg.array[1].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &c, static_cast (_c_high+1))); +- v->arg.array[2].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(c)), static_cast (_c_high+1))); ++ v->arg.array[2].ptr = static_cast (p); + v->arg.array[2].len = _c_high+1; + p += v->arg.array[2].len; +- p = static_cast (libc_memcpy (reinterpret_cast (p), &c, static_cast (_c_high+1))); +- v->arg.array[3].ptr = reinterpret_cast (p); ++ p = static_cast (libc_memcpy (reinterpret_cast (p), const_cast (static_cast(c)), static_cast (_c_high+1))); ++ v->arg.array[3].ptr = static_cast (p); + v->arg.array[3].len = _c_high+1; +- return v; ++ return static_cast (v); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_varargs_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_varargs_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_varargs_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_varargs_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc-boot/Gwlists.cc ++++ b/src/gcc/m2/mc-boot/Gwlists.cc +@@ -42,9 +42,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + # undef NULL + # define NULL 0 + #endif +-#define _wlists_H + #define _wlists_C + ++#include "Gwlists.h" + # include "GStorage.h" + + typedef struct wlists_performOperation_p wlists_performOperation; +@@ -54,16 +54,13 @@ typedef struct wlists__T1_r wlists__T1; + + typedef struct wlists__T2_a wlists__T2; + +-typedef wlists__T1 *wlists_wlist; +- +-typedef void (*wlists_performOperation_t) (unsigned int); +-struct wlists_performOperation_p { wlists_performOperation_t proc; }; ++typedef wlists__T1 *wlists_wlist__opaque; + + struct wlists__T2_a { unsigned int array[maxNoOfElements-1+1]; }; + struct wlists__T1_r { + unsigned int noOfElements; + wlists__T2 elements; +- wlists_wlist next; ++ wlists_wlist__opaque next; + }; + + +@@ -149,14 +146,14 @@ extern "C" wlists_wlist wlists_duplicateList (wlists_wlist l); + removeItem - remove an element at index, i, from the wlist data type. + */ + +-static void removeItem (wlists_wlist p, wlists_wlist l, unsigned int i); ++static void removeItem (wlists_wlist__opaque p, wlists_wlist__opaque l, unsigned int i); + + + /* + removeItem - remove an element at index, i, from the wlist data type. + */ + +-static void removeItem (wlists_wlist p, wlists_wlist l, unsigned int i) ++static void removeItem (wlists_wlist__opaque p, wlists_wlist__opaque l, unsigned int i) + { + l->noOfElements -= 1; + while (i <= l->noOfElements) +@@ -178,12 +175,12 @@ static void removeItem (wlists_wlist p, wlists_wlist l, unsigned int i) + + extern "C" wlists_wlist wlists_initList (void) + { +- wlists_wlist l; ++ wlists_wlist__opaque l; + + Storage_ALLOCATE ((void **) &l, sizeof (wlists__T1)); + l->noOfElements = 0; +- l->next = NULL; +- return l; ++ l->next = static_cast (NULL); ++ return static_cast (l); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -197,9 +194,9 @@ extern "C" void wlists_killList (wlists_wlist *l) + { + if ((*l) != NULL) + { +- if ((*l)->next != NULL) ++ if (static_cast ((*l))->next != NULL) + { +- wlists_killList (&(*l)->next); ++ wlists_killList (reinterpret_cast (&static_cast ((*l))->next)); + } + Storage_DEALLOCATE ((void **) &(*l), sizeof (wlists__T1)); + } +@@ -212,21 +209,21 @@ extern "C" void wlists_killList (wlists_wlist *l) + + extern "C" void wlists_putItemIntoList (wlists_wlist l, unsigned int c) + { +- if (l->noOfElements < maxNoOfElements) ++ if (static_cast (l)->noOfElements < maxNoOfElements) + { +- l->noOfElements += 1; +- l->elements.array[l->noOfElements-1] = c; ++ static_cast (l)->noOfElements += 1; ++ static_cast (l)->elements.array[static_cast (l)->noOfElements-1] = c; + } +- else if (l->next != NULL) ++ else if (static_cast (l)->next != NULL) + { + /* avoid dangling else. */ +- wlists_putItemIntoList (l->next, c); ++ wlists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + else + { + /* avoid dangling else. */ +- l->next = wlists_initList (); +- wlists_putItemIntoList (l->next, c); ++ static_cast (l)->next = static_cast (wlists_initList ()); ++ wlists_putItemIntoList (static_cast (static_cast (l)->next), c); + } + } + +@@ -239,15 +236,15 @@ extern "C" unsigned int wlists_getItemFromList (wlists_wlist l, unsigned int n) + { + while (l != NULL) + { +- if (n <= l->noOfElements) ++ if (n <= static_cast (l)->noOfElements) + { +- return l->elements.array[n-1]; ++ return static_cast (l)->elements.array[n-1]; + } + else + { +- n -= l->noOfElements; ++ n -= static_cast (l)->noOfElements; + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } + return static_cast (0); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -272,9 +269,9 @@ extern "C" unsigned int wlists_getIndexOfList (wlists_wlist l, unsigned int c) + else + { + i = 1; +- while (i <= l->noOfElements) ++ while (i <= static_cast (l)->noOfElements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return i; + } +@@ -283,7 +280,7 @@ extern "C" unsigned int wlists_getIndexOfList (wlists_wlist l, unsigned int c) + i += 1; + } + } +- return l->noOfElements+(wlists_getIndexOfList (l->next, c)); ++ return static_cast (l)->noOfElements+(wlists_getIndexOfList (static_cast (static_cast (l)->next), c)); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -306,8 +303,8 @@ extern "C" unsigned int wlists_noOfItemsInList (wlists_wlist l) + { + t = 0; + do { +- t += l->noOfElements; +- l = l->next; ++ t += static_cast (l)->noOfElements; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return t; + } +@@ -337,33 +334,33 @@ extern "C" void wlists_includeItemIntoList (wlists_wlist l, unsigned int c) + + extern "C" void wlists_removeItemFromList (wlists_wlist l, unsigned int c) + { +- wlists_wlist p; ++ wlists_wlist__opaque p; + unsigned int i; + bool found; + + if (l != NULL) + { + found = false; +- p = NULL; ++ p = static_cast (NULL); + do { + i = 1; +- while ((i <= l->noOfElements) && (l->elements.array[i-1] != c)) ++ while ((i <= static_cast (l)->noOfElements) && (static_cast (l)->elements.array[i-1] != c)) + { + i += 1; + } +- if ((i <= l->noOfElements) && (l->elements.array[i-1] == c)) ++ if ((i <= static_cast (l)->noOfElements) && (static_cast (l)->elements.array[i-1] == c)) + { + found = true; + } + else + { +- p = l; +- l = l->next; ++ p = static_cast (l); ++ l = static_cast (static_cast (l)->next); + } + } while (! ((l == NULL) || found)); + if (found) + { +- removeItem (p, l, i); ++ removeItem (p, static_cast (l), i); + } + } + } +@@ -379,15 +376,15 @@ extern "C" void wlists_replaceItemInList (wlists_wlist l, unsigned int n, unsign + { + while (l != NULL) + { +- if (n <= l->noOfElements) ++ if (n <= static_cast (l)->noOfElements) + { +- l->elements.array[n-1] = w; ++ static_cast (l)->elements.array[n-1] = w; + } + else + { +- n -= l->noOfElements; ++ n -= static_cast (l)->noOfElements; + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } + } + +@@ -402,9 +399,9 @@ extern "C" bool wlists_isItemInList (wlists_wlist l, unsigned int c) + + do { + i = 1; +- while (i <= l->noOfElements) ++ while (i <= static_cast (l)->noOfElements) + { +- if (l->elements.array[i-1] == c) ++ if (static_cast (l)->elements.array[i-1] == c) + { + return true; + } +@@ -413,7 +410,7 @@ extern "C" bool wlists_isItemInList (wlists_wlist l, unsigned int c) + i += 1; + } + } +- l = l->next; ++ l = static_cast (static_cast (l)->next); + } while (! (l == NULL)); + return false; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -446,27 +443,27 @@ extern "C" void wlists_foreachItemInListDo (wlists_wlist l, wlists_performOperat + + extern "C" wlists_wlist wlists_duplicateList (wlists_wlist l) + { +- wlists_wlist m; ++ wlists_wlist__opaque m; + unsigned int n; + unsigned int i; + +- m = wlists_initList (); ++ m = static_cast (wlists_initList ()); + n = wlists_noOfItemsInList (l); + i = 1; + while (i <= n) + { +- wlists_putItemIntoList (m, wlists_getItemFromList (l, i)); ++ wlists_putItemIntoList (static_cast (m), wlists_getItemFromList (l, i)); + i += 1; + } +- return m; ++ return static_cast (m); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } + +-extern "C" void _M2_wlists_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_wlists_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_wlists_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_wlists_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/mc/Indexing.mod ++++ b/src/gcc/m2/mc/Indexing.mod +@@ -13,10 +13,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE Indexing ; + +--- a/src/gcc/m2/mc/alists.def ++++ b/src/gcc/m2/mc/alists.def +@@ -109,4 +109,11 @@ PROCEDURE foreachItemInListDo (l: alist; p: performOperation) ; + PROCEDURE duplicateList (l: alist) : alist ; + + ++(* ++ equalList - returns TRUE if left contains the same information as right. ++*) ++ ++PROCEDURE equalList (left, right: alist) : BOOLEAN ; ++ ++ + END alists. +--- a/src/gcc/m2/mc/alists.mod ++++ b/src/gcc/m2/mc/alists.mod +@@ -302,4 +302,32 @@ BEGIN + END duplicateList ; + + ++(* ++ equalList - returns TRUE if left contains the same information as right. ++*) ++ ++PROCEDURE equalList (left, right: alist) : BOOLEAN ; ++VAR ++ leftn, rightn, i: CARDINAL ; ++BEGIN ++ leftn := noOfItemsInList (left) ; ++ rightn := noOfItemsInList (right) ; ++ IF leftn = rightn ++ THEN ++ i := 1 ; ++ WHILE i <= leftn DO ++ IF isItemInList (right, getItemFromList (left, i)) ++ THEN ++ INC (i) ++ ELSE ++ RETURN FALSE ++ END ++ END ++ ELSE ++ RETURN FALSE ++ END ; ++ RETURN TRUE ++END equalList ; ++ ++ + END alists. +--- a/src/gcc/m2/mc/decl.def ++++ b/src/gcc/m2/mc/decl.def +@@ -184,6 +184,20 @@ PROCEDURE lookupModule (n: Name) : node ; + PROCEDURE putDefForC (n: node) ; + + ++(* ++ putDefUnqualified - the definition module uses export unqualified. ++*) ++ ++PROCEDURE putDefUnqualified (n: node) ; ++ ++ ++(* ++ isDefUnqualified - returns TRUE if the definition module uses unqualified. ++*) ++ ++PROCEDURE isDefUnqualified (n: node) : BOOLEAN ; ++ ++ + (* + lookupInScope - looks up a symbol named, n, from, scope. + *) +@@ -249,6 +263,21 @@ PROCEDURE isTypeHidden (n: node) : BOOLEAN ; + PROCEDURE hasHidden (n: node) : BOOLEAN ; + + ++(* ++ putTypeOpaque - marks type, des, as being an opaque type. ++ TYPE des ; ++*) ++ ++PROCEDURE putTypeOpaque (des: node) ; ++ ++ ++(* ++ isTypeOpaque - returns TRUE if type, n, is an opaque type. ++*) ++ ++PROCEDURE isTypeOpaque (n: node) : BOOLEAN ; ++ ++ + (* + isVar - returns TRUE if node, n, is a type. + *) +--- a/src/gcc/m2/mc/decl.mod ++++ b/src/gcc/m2/mc/decl.mod +@@ -81,6 +81,7 @@ CONST + enableDefForCStrings = FALSE ; (* currently disabled. *) + enableMemsetOnAllocation = TRUE ; (* Should we memset (..., 0, ...) the allocated mem? *) + forceQualified = TRUE ; ++ debugOpaque = FALSE ; + + TYPE + language = (ansiC, ansiCP, pim4) ; +@@ -127,7 +128,7 @@ TYPE + componentref, pointerref, arrayref, deref, + equal, notequal, less, greater, greequal, lessequal, + lsl, lsr, lor, land, lnot, lxor, +- and, or, not, identlist, vardecl, setvalue) ; ++ and, or, not, identlist, vardecl, setvalue, opaquecast) ; + + node = POINTER TO nodeRec ; + +@@ -260,12 +261,24 @@ TYPE + identlist : identlistF : identlistT | + vardecl : vardeclF : vardeclT | + funccall : funccallF : funccallT | +- setvalue : setvalueF : setvalueT ++ setvalue : setvalueF : setvalueT | ++ opaquecast : opaquecastF : opaquecastT + + END ; + at: where ; + END ; + ++ opaqueCastState = RECORD ++ opaque, ++ voidStar: BOOLEAN ; ++ END ; ++ ++ opaquecastT = RECORD ++ (* Describes the cast of the opaque. *) ++ exp : node ; ++ opaqueState: opaqueCastState ; ++ END ; ++ + intrinsicT = RECORD + args : node ; + noArgs : CARDINAL ; +@@ -298,6 +311,7 @@ TYPE + args : node ; + type : node ; + funccallComment: commentPair ; ++ opaqueState : opaqueCastState ; + END ; + + commentT = RECORD +@@ -328,6 +342,7 @@ TYPE + name : Name ; + type : node ; + scope : node ; ++ isOpaque, + isHidden, + isInternal: BOOLEAN ; + END ; +@@ -355,6 +370,7 @@ TYPE + isVarParameter, + isUsed : BOOLEAN ; + cname : cnameT ; ++ opaqueState : opaqueCastState ; + END ; + + enumerationT = RECORD +@@ -382,6 +398,7 @@ TYPE + type, + scope : node ; + isUnbounded: BOOLEAN ; ++ opaqueState: opaqueCastState ; + END ; + + stringT = RECORD +@@ -412,6 +429,7 @@ TYPE + isUnbounded: BOOLEAN ; + isForC : BOOLEAN ; + isUsed : BOOLEAN ; ++ opaqueState: opaqueCastState ; + END ; + + paramT = RECORD +@@ -421,6 +439,7 @@ TYPE + isUnbounded: BOOLEAN ; + isForC : BOOLEAN ; + isUsed : BOOLEAN ; ++ opaqueState: opaqueCastState ; + END ; + + varargsT = RECORD +@@ -435,18 +454,20 @@ TYPE + END ; + + pointerT = RECORD +- type : node ; +- scope: node ; ++ type : node ; ++ scope : node ; ++ opaqueState: opaqueCastState ; + END ; + + recordfieldT = RECORD +- name : Name ; +- type : node ; +- tag : BOOLEAN ; +- parent : node ; +- varient: node ; +- scope : node ; +- cname : cnameT ; ++ name : Name ; ++ type : node ; ++ tag : BOOLEAN ; ++ parent : node ; ++ varient : node ; ++ scope : node ; ++ cname : cnameT ; ++ opaqueState: opaqueCastState ; + END ; + + varientfieldT = RECORD +@@ -472,21 +493,24 @@ TYPE + END ; + + componentrefT = RECORD +- rec : node ; +- field : node ; +- resultType: node ; ++ rec : node ; ++ field : node ; ++ resultType : node ; ++ opaqueState: opaqueCastState ; + END ; + + pointerrefT = RECORD +- ptr : node ; +- field : node ; +- resultType: node ; ++ ptr : node ; ++ field : node ; ++ resultType : node ; ++ opaqueState: opaqueCastState ; + END ; + + arrayrefT = RECORD +- array : node ; +- index : node ; +- resultType: node ; ++ array : node ; ++ index : node ; ++ resultType : node ; ++ opaqueState: opaqueCastState ; + END ; + + commentPair = RECORD +@@ -596,15 +620,17 @@ TYPE + cname : cnameT ; + defComment, + modComment : commentDesc ; ++ opaqueState : opaqueCastState ; + END ; + + proctypeT = RECORD +- parameters: Index ; ++ parameters : Index ; + returnopt, +- vararg : BOOLEAN ; +- optarg : node ; +- scope : node ; +- returnType: node ; ++ vararg : BOOLEAN ; ++ optarg : node ; ++ scope : node ; ++ returnType : node ; ++ opaqueState: opaqueCastState ; + END ; + + binaryT = RECORD +@@ -636,6 +662,7 @@ TYPE + defT = RECORD + name : Name ; + source : Name ; ++ unqualified, + hasHidden, + forC : BOOLEAN ; + exported, +@@ -682,9 +709,21 @@ TYPE + init : BOOLEAN ; + END ; + ++ group = POINTER TO RECORD ++ todoQ, ++ partialQ, ++ doneQ : alist ; ++ next : group ; ++ END ; ++ ++ + VAR ++ freeGroup, ++ globalGroup : group ; (* The global group of all alists. *) + outputFile : File ; + lang : language ; ++ charStarN, ++ constCharStarN, + bitsperunitN, + bitsperwordN, + bitspercharN, +@@ -755,9 +794,6 @@ VAR + baseSymbols : symbolTree ; + outputState : outputStates ; + doP : pretty ; +- todoQ, +- partialQ, +- doneQ : alist ; + mustVisitScope, + simplified : BOOLEAN ; + tempCount : CARDINAL ; +@@ -800,6 +836,92 @@ BEGIN + END disposeNode ; + + ++(* ++ newGroup - ++*) ++ ++PROCEDURE newGroup (VAR g: group) ; ++BEGIN ++ IF freeGroup = NIL ++ THEN ++ NEW (g) ++ ELSE ++ g := freeGroup ; ++ freeGroup := freeGroup^.next ++ END ++END newGroup ; ++ ++ ++(* ++ initGroup - returns a group which with all lists initialized. ++*) ++ ++PROCEDURE initGroup () : group ; ++VAR ++ g: group ; ++BEGIN ++ newGroup (g) ; ++ WITH g^ DO ++ todoQ := alists.initList () ; ++ partialQ := alists.initList () ; ++ doneQ := alists.initList () ; ++ next := NIL ++ END ; ++ RETURN g ++END initGroup ; ++ ++ ++(* ++ killGroup - deallocate the group and place the group record into the freeGroup list. ++*) ++ ++PROCEDURE killGroup (VAR g: group) ; ++BEGIN ++ alists.killList (g^.todoQ) ; ++ alists.killList (g^.partialQ) ; ++ alists.killList (g^.doneQ) ; ++ g^.next := freeGroup ; ++ freeGroup := g ; ++END killGroup ; ++ ++ ++(* ++ dupGroup - If g is not NIL then destroy g. ++ Return a duplicate of GlobalGroup (not g). ++*) ++ ++PROCEDURE dupGroup (g: group) : group ; ++BEGIN ++ IF g # NIL ++ THEN ++ (* Kill old group. *) ++ killGroup (g) ++ END ; ++ newGroup (g) ; ++ WITH g^ DO ++ (* Copy all lists. *) ++ todoQ := alists.duplicateList (globalGroup^.todoQ) ; ++ partialQ := alists.duplicateList (globalGroup^.partialQ) ; ++ doneQ := alists.duplicateList (globalGroup^.doneQ) ; ++ next := NIL ++ END ; ++ RETURN g ++END dupGroup ; ++ ++ ++(* ++ equalGroup - return TRUE if group left = right. ++*) ++ ++PROCEDURE equalGroup (left, right: group) : BOOLEAN ; ++BEGIN ++ RETURN ((left = right) OR ++ (alists.equalList (left^.todoQ, right^.todoQ) AND ++ alists.equalList (left^.partialQ, right^.partialQ) AND ++ alists.equalList (left^.doneQ, right^.doneQ))) ++END equalGroup ; ++ ++ + (* + getDeclaredDef - returns the token number associated with the nodes declaration + in the definition module. +@@ -1068,6 +1190,47 @@ BEGIN + END importEnumFields ; + + ++(* ++ checkGccType - check to see if node n is gcc tree or location_t ++ and record its use in keyc. ++*) ++ ++PROCEDURE checkGccType (n: node) ; ++BEGIN ++ IF getGccConfigSystem () AND (getScope (n) # NIL) AND ++ (getSymName (getScope (n)) = makeKey ('gcctypes')) ++ THEN ++ IF getSymName (n) = makeKey ('location_t') ++ THEN ++ keyc.useGccLocation ++ ELSIF getSymName (n) = makeKey ('tree') ++ THEN ++ keyc.useGccTree ++ END ++ END ++END checkGccType ; ++ ++ ++(* ++ checkCDataTypes - check to see if node n is CharStar or ConstCharStar ++ and if necessary assign n to the global variable. ++*) ++ ++PROCEDURE checkCDataTypes (n: node) ; ++BEGIN ++ IF (getScope (n) # NIL) AND (getSymName (getScope (n)) = makeKey ('CDataTypes')) ++ THEN ++ IF getSymName (n) = makeKey ('CharStar') ++ THEN ++ charStarN := n ++ ELSIF getSymName (n) = makeKey ('ConstCharStar') ++ THEN ++ constCharStarN := n ++ END ++ END ++END checkCDataTypes ; ++ ++ + (* + import - attempts to add node, n, into the scope of module, m. + It might fail due to a name clash in which case the +@@ -1082,6 +1245,8 @@ VAR + BEGIN + assert (isDef (m) OR isModule (m) OR isImp (m)) ; + name := getSymName (n) ; ++ checkGccType (n) ; ++ checkCDataTypes (n) ; + r := lookupInScope (m, name) ; + IF r=NIL + THEN +@@ -1444,6 +1609,7 @@ BEGIN + defF.source := NulName ; + defF.hasHidden := FALSE ; + defF.forC := FALSE ; ++ defF.unqualified := FALSE ; + defF.exported := InitIndex (1) ; + defF.importedModules := InitIndex (1) ; + defF.constFixup := initFixupInfo () ; +@@ -1534,6 +1700,33 @@ BEGIN + END isDefForC ; + + ++(* ++ putDefUnqualified - the definition module uses unqualified. ++*) ++ ++PROCEDURE putDefUnqualified (n: node) ; ++BEGIN ++ assert (isDef (n)) ; ++ (* Currently (and this is a temporary development restriction to ++ reduce any search space for bugs) the only module which can be ++ export unqualified is gcctypes. *) ++ IF n^.defF.name = makeKey ('gcctypes') ++ THEN ++ n^.defF.unqualified := TRUE ++ END ++END putDefUnqualified ; ++ ++ ++(* ++ isDefUnqualified - returns TRUE if the definition module uses unqualified. ++*) ++ ++PROCEDURE isDefUnqualified (n: node) : BOOLEAN ; ++BEGIN ++ RETURN isDef (n) AND n^.defF.unqualified ++END isDefUnqualified ; ++ ++ + (* + lookupDef - returns a definition module node named, n. + *) +@@ -1932,6 +2125,7 @@ BEGIN + typeF.name := n ; + typeF.type := NIL ; + typeF.scope := getDeclScope () ; ++ typeF.isOpaque := FALSE ; + typeF.isHidden := FALSE ; + typeF.isInternal := FALSE + END ; +@@ -1959,6 +2153,7 @@ BEGIN + typeF.name := n ; + typeF.type := NIL ; + typeF.scope := getDeclScope () ; ++ typeF.isOpaque := FALSE ; + typeF.isHidden := FALSE + END ; + RETURN addToScope (d) +@@ -1998,7 +2193,8 @@ BEGIN + assert (var#NIL) ; + assert (isVar (var)) ; + var^.varF.type := type ; +- var^.varF.decl := decl ++ var^.varF.decl := decl ; ++ initNodeOpaqueState (var) ; + END putVar ; + + +@@ -2235,7 +2431,7 @@ END paramLeave ; + + + (* +- putReturnType - sets the return type of procedure or proctype, proc, to, type. ++ putReturnType - sets the return type of procedure or proctype proc to type. + *) + + PROCEDURE putReturnType (proc, type: node) ; +@@ -2246,7 +2442,8 @@ BEGIN + proc^.procedureF.returnType := type + ELSE + proc^.proctypeF.returnType := type +- END ++ END ; ++ initNodeOpaqueState (proc) + END putReturnType ; + + +@@ -2281,8 +2478,9 @@ BEGIN + proctypeF.returnopt := FALSE ; + proctypeF.optarg := NIL ; + proctypeF.vararg := FALSE ; +- proctypeF.returnType := NIL ++ proctypeF.returnType := NIL ; + END ; ++ initNodeOpaqueState (d) ; + RETURN d + END makeProcType ; + +@@ -2294,7 +2492,8 @@ END makeProcType ; + PROCEDURE putProcTypeReturn (proc, type: node) ; + BEGIN + assert (isProcType (proc)) ; +- proc^.proctypeF.returnType := type ++ proc^.proctypeF.returnType := type ; ++ initNodeOpaqueState (proc) + END putProcTypeReturn ; + + +@@ -2325,6 +2524,7 @@ BEGIN + d^.paramF.isUnbounded := FALSE ; + d^.paramF.isForC := isDefForCNode (proc) ; + d^.paramF.isUsed := isused ; ++ initNodeOpaqueState (d) ; + RETURN d + END makeNonVarParameter ; + +@@ -2345,6 +2545,7 @@ BEGIN + d^.varparamF.isUnbounded := FALSE ; + d^.varparamF.isForC := isDefForCNode (proc) ; + d^.varparamF.isUsed := isused ; ++ initNodeOpaqueState (d) ; + RETURN d + END makeVarParameter ; + +@@ -3418,8 +3619,6 @@ END setConstExpComplete ; + *) + + PROCEDURE getNextConstExp () : node ; +-VAR +- n: node ; + BEGIN + assert (isDef (currentModule) OR isImp (currentModule) OR isModule (currentModule)) ; + WITH currentModule^ DO +@@ -3429,12 +3628,11 @@ BEGIN + ELSIF isImp (currentModule) + THEN + RETURN getNextFixup (impF.constFixup) +- ELSIF isModule (currentModule) +- THEN ++ ELSE ++ assert (isModule (currentModule)) ; + RETURN getNextFixup (moduleF.constFixup) + END +- END ; +- RETURN n ++ END + END getNextConstExp ; + + +@@ -3771,8 +3969,9 @@ BEGIN + f := newNode (funccall) ; + f^.funccallF.function := c ; + f^.funccallF.args := n ; +- f^.funccallF.type := NIL ; +- initPair (f^.funccallF.funccallComment) ++ f^.funccallF.type := getType (c) ; ++ initPair (f^.funccallF.funccallComment) ; ++ initNodeOpaqueState (f) + END ; + RETURN f + END makeFuncCall ; +@@ -3843,6 +4042,33 @@ BEGIN + END hasHidden ; + + ++(* ++ putTypeOpaque - marks type, des, as being an opaque type. ++ TYPE des ; ++*) ++ ++PROCEDURE putTypeOpaque (des: node) ; ++VAR ++ s: node ; ++BEGIN ++ assert (des#NIL) ; ++ assert (isType (des)) ; ++ des^.typeF.isOpaque := TRUE ++END putTypeOpaque ; ++ ++ ++(* ++ isTypeOpaque - returns TRUE if type, n, is an opaque type. ++*) ++ ++PROCEDURE isTypeOpaque (n: node) : BOOLEAN ; ++BEGIN ++ assert (n#NIL) ; ++ assert (isType (n)) ; ++ RETURN n^.typeF.isOpaque ++END isTypeOpaque ; ++ ++ + (* + putTypeInternal - marks type, des, as being an internally generated type. + *) +@@ -4580,6 +4806,7 @@ BEGIN + n^.componentrefF.rec := rec ; + n^.componentrefF.field := field ; + n^.componentrefF.resultType := getType (field) ; ++ initNodeOpaqueState (n) ; + RETURN n + END doMakeComponentRef ; + +@@ -4615,6 +4842,7 @@ BEGIN + rec^.pointerrefF.ptr := a ; + rec^.pointerrefF.field := field ; + rec^.pointerrefF.resultType := getType (field) ; ++ initNodeOpaqueState (rec) ; + RETURN rec + ELSE + RETURN doMakeComponentRef (rec, field) +@@ -4646,6 +4874,7 @@ BEGIN + n^.pointerrefF.ptr := ptr ; + n^.pointerrefF.field := field ; + n^.pointerrefF.resultType := getType (field) ; ++ initNodeOpaqueState (n) ; + RETURN n + END makePointerRef ; + +@@ -5099,9 +5328,13 @@ END getMaxMinType ; + *) + + PROCEDURE doGetFuncType (n: node) : node ; ++VAR ++ result: node ; + BEGIN + assert (isFuncCall (n)) ; +- RETURN doSetExprType (n^.funccallF.type, getType (n^.funccallF.function)) ++ result := doSetExprType (n^.funccallF.type, getType (n^.funccallF.function)) ; ++ initNodeOpaqueState (n) ; (* Update now that the return type is known. *) ++ RETURN result + END doGetFuncType ; + + +@@ -5262,7 +5495,7 @@ END getExprType ; + + PROCEDURE skipType (n: node) : node ; + BEGIN +- WHILE (n#NIL) AND isType (n) DO ++ WHILE (n#NIL) AND isType (n) AND (NOT isCDataType (n)) DO + IF getType (n) = NIL + THEN + (* this will occur if, n, is an opaque type. *) +@@ -5561,7 +5794,7 @@ PROCEDURE getFQstring (n: node) : String ; + VAR + i, s: String ; + BEGIN +- IF getScope (n) = NIL ++ IF (getScope (n) = NIL) OR (isDefUnqualified (getScope (n))) + THEN + RETURN InitStringCharStar (keyToCharStar (getSymName (n))) + ELSIF isQualifiedForced (n) +@@ -5569,7 +5802,7 @@ BEGIN + i := InitStringCharStar (keyToCharStar (getSymName (n))) ; + s := InitStringCharStar (keyToCharStar (getSymName (getScope (n)))) ; + RETURN Sprintf2 (InitString ("%s_%s"), s, i) +- ELSIF (NOT isExported (n)) OR getIgnoreFQ () ++ ELSIF (NOT isExported (n)) OR getIgnoreFQ () OR (isDefUnqualified (getScope (n))) + THEN + RETURN InitStringCharStar (keyToCharStar (getSymName (n))) + ELSE +@@ -5588,7 +5821,7 @@ PROCEDURE getFQDstring (n: node; scopes: BOOLEAN) : String ; + VAR + i, s: String ; + BEGIN +- IF getScope (n) = NIL ++ IF (getScope (n) = NIL) OR (isDefUnqualified (getScope (n))) + THEN + RETURN InitStringCharStar (keyToCharStar (getDName (n, scopes))) + ELSIF isQualifiedForced (n) +@@ -5597,7 +5830,7 @@ BEGIN + i := InitStringCharStar (keyToCharStar (getSymName (n))) ; + s := InitStringCharStar (keyToCharStar (getSymName (getScope (n)))) ; + RETURN Sprintf2 (InitString ("%s_%s"), s, i) +- ELSIF (NOT isExported (n)) OR getIgnoreFQ () ++ ELSIF (NOT isExported (n)) OR getIgnoreFQ () OR (isDefUnqualified (getScope (n))) + THEN + RETURN InitStringCharStar (keyToCharStar (getDName (n, scopes))) + ELSE +@@ -5659,14 +5892,14 @@ END doNothing ; + + PROCEDURE doConstC (n: node) ; + BEGIN +- IF NOT alists.isItemInList (doneQ, n) ++ IF NOT alists.isItemInList (globalGroup^.doneQ, n) + THEN + print (doP, "# define ") ; + doFQNameC (doP, n) ; + setNeedSpace (doP) ; + doExprC (doP, n^.constF.value) ; + print (doP, '\n') ; +- alists.includeItemIntoList (doneQ, n) ++ alists.includeItemIntoList (globalGroup^.doneQ, n) + END + END doConstC ; + +@@ -5858,10 +6091,10 @@ BEGIN + IF needsParen (left) + THEN + outText (p, '(') ; +- doExprCup (p, left, unpackProc) ; ++ left := doExprCup (p, left, unpackProc, FALSE) ; + outText (p, ')') + ELSE +- doExprCup (p, left, unpackProc) ++ left := doExprCup (p, left, unpackProc, FALSE) + END ; + IF l + THEN +@@ -5875,10 +6108,10 @@ BEGIN + IF needsParen (right) + THEN + outText (p, '(') ; +- doExprCup (p, right, unpackProc) ; ++ right := doExprCup (p, right, unpackProc, FALSE) ; + outText (p, ')') + ELSE +- doExprCup (p, right, unpackProc) ++ right := doExprCup (p, right, unpackProc, FALSE) + END + END doBinary ; + +@@ -5898,11 +6131,12 @@ END doPostUnary ; + doDeRefC - + *) + +-PROCEDURE doDeRefC (p: pretty; expr: node) ; ++PROCEDURE doDeRefC (p: pretty; expr: node) : node ; + BEGIN + outText (p, '(*') ; +- doExprC (p, expr) ; +- outText (p, ')') ++ expr := castOpaque (p, expr, FALSE) ; ++ outText (p, ')') ; ++ RETURN expr + END doDeRefC ; + + +@@ -5986,7 +6220,7 @@ END getLastOp ; + + PROCEDURE doComponentRefC (p: pretty; l, r: node) ; + BEGIN +- doExprC (p, l) ; ++ flushOpaque (p, l, FALSE) ; + outText (p, '.') ; + doExprC (p, r) + END doComponentRefC ; +@@ -5998,7 +6232,7 @@ END doComponentRefC ; + + PROCEDURE doPointerRefC (p: pretty; l, r: node) ; + BEGIN +- doExprC (p, l) ; ++ flushOpaque (p, l, FALSE) ; + outText (p, '->') ; + doExprC (p, r) + END doPointerRefC ; +@@ -6063,23 +6297,38 @@ END isZero ; + + + (* +- doArrayRef - ++ doArrayRef - perform an array reference. If constCast ++ then an unbounded array access will be const_cast ++ (the constCast should be TRUE if an assignment to ++ the array is required). + *) + +-PROCEDURE doArrayRef (p: pretty; n: node) ; ++PROCEDURE doArrayRef (p: pretty; n: node; constCast: BOOLEAN) ; + VAR +- t : node ; ++ type, ++ v : node ; + i, c: CARDINAL ; + BEGIN + assert (n # NIL) ; + assert (isArrayRef (n)) ; +- t := skipType (getType (n^.arrayrefF.array)) ; +- IF isUnbounded (t) ++ type := skipType (getType (n^.arrayrefF.array)) ; ++ IF isUnbounded (type) + THEN +- outTextN (p, getSymName (n^.arrayrefF.array)) ++ v := n^.arrayrefF.array ; ++ IF constCast AND isVar (n^.arrayrefF.array) AND ++ (v^.varF.isParameter OR v^.varF.isVarParameter) ++ THEN ++ outText (p, "const_cast<") ; ++ doTypeNameC (p, getType (v)) ; ++ outText (p, ">(") ; ++ outTextN (p, getSymName (n^.arrayrefF.array)) ; ++ outText (p, ")") ++ ELSE ++ outTextN (p, getSymName (n^.arrayrefF.array)) ++ END + ELSE + doExprC (p, n^.arrayrefF.array) ; +- assert (isArray (t)) ; ++ assert (isArray (type)) ; + outText (p, '.array') + END ; + outText (p, '[') ; +@@ -6087,16 +6336,16 @@ BEGIN + c := expListLen (n^.arrayrefF.index) ; + WHILE i<=c DO + doExprC (p, getExpList (n^.arrayrefF.index, i)) ; +- IF isUnbounded (t) ++ IF isUnbounded (type) + THEN + assert (c = 1) + ELSE +- doSubtractC (p, getMin (t^.arrayF.subr)) ; ++ doSubtractC (p, getMin (type^.arrayF.subr)) ; + IF i (') ; ++ doExprC (p, n) ; ++ outText (p, ')') ; ++ RETURN makeOpaqueCast (n, TRUE) ++ ELSE ++ (* next is false cast to __opaque opaque type. *) ++ outText (p, 'static_cast<') ; ++ doTypeNameC (p, type) ; ++ outText (p, '__opaque') ; ++ noSpace (p) ; ++ outText (p, '> (') ; ++ doExprC (p, n) ; ++ outText (p, ')') ; ++ RETURN makeOpaqueCast (n, FALSE) ++ END ++ ELSE ++ IF debugOpaque ++ THEN ++ doP := p ; ++ dumpOpaqueState (n) ; ++ IF nodeUsesOpaque (n) ++ THEN ++ outText (p, ' /* no difference seen */ ') ++ ELSE ++ outText (p, ' /* no opaque used */ ') ++ END ++ END ; ++ doExprC (p, n) ++ END ; ++ RETURN n ++END castOpaque ; ++ ++ ++(* ++ isTypeOpaqueDefImp - returns TRUE if type is an opaque type by checking ++ the def/imp pair of modules or fall back to the ++ definition module. ++*) ++ ++PROCEDURE isTypeOpaqueDefImp (type: node) : BOOLEAN ; ++VAR ++ scope, ++ def, ++ opaque: node ; ++BEGIN ++ IF type = NIL ++ THEN ++ RETURN FALSE ++ ELSIF isType (type) ++ THEN ++ scope := getScope (type) ; ++ IF isImp (scope) ++ THEN ++ def := lookupDef (getSymName (scope)) ; ++ IF def # NIL ++ THEN ++ (* Lookup the type name in the matching definition module. *) ++ opaque := lookupExported (def, getSymName (type)) ; ++ RETURN (opaque # NIL) AND isType (opaque) AND isTypeOpaque (opaque) ++ END ++ ELSE ++ (* Otherwise just check the definition module. *) ++ RETURN isTypeOpaque (type) ++ END ++ END ; ++ RETURN FALSE ++END isTypeOpaqueDefImp ; ++ ++ ++(* ++ isParamVoidStar - return TRUE if the procedure or proctype opaque type ++ parameter should be implemented as a (void * ). ++*) ++ ++PROCEDURE isParamVoidStar (n: node) : BOOLEAN ; ++VAR ++ proc, ++ type: node ; ++BEGIN ++ proc := getScope (n) ; ++ assert (isProcedure (proc) OR isProcType (proc)) ; ++ type := getType (n) ; ++ RETURN isReturnVoidStar (proc, type) ++END isParamVoidStar ; ++ ++ ++(* ++ isRefVoidStar - returns TRUE if the ref node uses an opaque type which ++ is represented as a (void * ). ++*) ++ ++PROCEDURE isRefVoidStar (n: node) : BOOLEAN ; ++VAR ++ type: node ; ++BEGIN ++ type := getType (n) ; ++ IF (NOT isType (type)) OR (NOT isTypeOpaque (type)) ++ THEN ++ (* We should finish the procedure as the ref does not use an opaque. *) ++ RETURN TRUE ++ ELSE ++ (* We check whether the opaque type was declared in the implementation ++ module. If it is declared in the implementation module then we ++ return FALSE. *) ++ RETURN NOT isDeclInImp (type) ++ END ++END isRefVoidStar ; ++ ++ ++(* ++ isReturnVoidStar - return TRUE if the procedure or proctype opaque type ++ return type should be implemented as a (void * ). ++*) ++ ++PROCEDURE isReturnVoidStar (proc, type: node) : BOOLEAN ; ++VAR ++ def : node ; ++BEGIN ++ assert (isProcedure (proc) OR isProcType (proc)) ; ++ IF isExported (proc) ++ THEN ++ RETURN TRUE ++ ELSE ++ (* Not exported therefore local, we check whether the opaque type ++ was declared in the implementation module. *) ++ IF isImp (currentModule) ++ THEN ++ IF isType (type) ++ THEN ++ RETURN NOT isDeclInImp (type) ++ ELSE ++ RETURN FALSE ++ END ++ ELSE ++ (* Always use void * in .def modules. *) ++ RETURN TRUE ++ END ++ END ++END isReturnVoidStar ; ++ ++ ++(* ++ isVarVoidStar - return TRUE if the variable using an opaque type should ++ be implemented as a (void * ). ++*) ++ ++PROCEDURE isVarVoidStar (n: node) : BOOLEAN ; ++VAR ++ type: node ; ++BEGIN ++ assert (isVar (n)) ; ++ type := getType (n) ; ++ IF (NOT isType (type)) OR (NOT isTypeOpaque (type)) ++ THEN ++ (* We should finish the procedure as the variable does not use an opaque. *) ++ RETURN TRUE ++ ELSIF isExported (n) ++ THEN ++ (* Exported variables using an opaque type will always be implemented ++ with a (void * ). *) ++ RETURN TRUE ++ ELSE ++ (* Not exported therefore static to the module (local or global non exported ++ variable), we check whether the opaque type was declared in the ++ implementation module. If it is declared in the implementation module ++ then we return FALSE. *) ++ RETURN NOT isDeclInImp (type) ++ END ++END isVarVoidStar ; ++ ++ ++(* ++ initNodeOpaqueState - initialize the node opaque state. ++*) ++ ++PROCEDURE initNodeOpaqueState (n: node) ; ++VAR ++ type: node ; ++BEGIN ++ CASE n^.kind OF ++ ++ opaquecast : | (* This must be done when the cast direction is known. *) ++ funccall : assignNodeOpaqueCastState (n, getFunction (n)) | ++ var : type := getType (n) ; ++ IF n^.varF.isParameter OR n^.varF.isVarParameter ++ THEN ++ (* If the variable is really a parameter then it uses ++ the state of the parameter. *) ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isParamVoidStar (n)) ++ ELSE ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isVarVoidStar (n)) ++ END | ++ array : type := getType (n) ; ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isExported (n)) | ++ varparam, ++ param : assert (isProcedure (getScope (n)) OR isProcType (getScope (n))) ; ++ type := getType (n) ; ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isParamVoidStar (n)) | ++ componentref, ++ pointerref, ++ pointer, ++ recordfield, ++ arrayref : type := getType (n) ; ++ (* In the future this should be revisited. *) ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isRefVoidStar (n)) | ++ (* For the moment treat as never exported. *) ++ proctype, ++ procedure : (* We only consider the return type for a procedure or proctype. ++ The parameters and local vars are handled separately (see ++ above). *) ++ type := getType (n) ; ++ IF type = NIL ++ THEN ++ (* No return type, therefore no opaque type used. *) ++ initNodeOpaqueCastState (n, FALSE, FALSE) ++ ELSE ++ (* Init state from the return type. Is type an opaque type? ++ Is the opaque type declared in this module? *) ++ initNodeOpaqueCastState (n, isTypeOpaqueDefImp (type), ++ isReturnVoidStar (n, type)) ++ END | ++ ++ ELSE ++ END ; ++ IF debugOpaque ++ THEN ++ dumpOpaqueState (n) ++ END ++END initNodeOpaqueState ; ++ ++ ++(* ++ assignNodeOpaqueCastState - copy the opaqueCastState from src into dest. ++*) ++ ++PROCEDURE assignNodeOpaqueCastState (dest, src: node) ; ++BEGIN ++ IF nodeUsesOpaque (src) ++ THEN ++ initNodeOpaqueCastState (dest, TRUE, getNodeOpaqueVoidStar (src)) ++ ELSE ++ initNodeOpaqueCastState (dest, FALSE, FALSE) ++ END ++END assignNodeOpaqueCastState ; ++ ++ ++(* ++ assignNodeOpaqueCastFalse - assign the voidstar field of dest to false. ++ It assigns the opaque field of dest to the value ++ of the src opaque field. ++*) ++ ++PROCEDURE assignNodeOpaqueCastFalse (dest, src: node) ; ++BEGIN ++ IF nodeUsesOpaque (src) ++ THEN ++ initNodeOpaqueCastState (dest, TRUE, FALSE) ++ ELSE ++ initNodeOpaqueCastState (dest, FALSE, FALSE) ++ END ++END assignNodeOpaqueCastFalse ; ++ ++ ++(* ++ dumpOpaqueState - ++*) ++ ++PROCEDURE dumpOpaqueState (n: node) ; ++VAR ++ o: node ; ++BEGIN ++ CASE n^.kind OF ++ ++ opaquecast, ++ funccall, ++ var, ++ array, ++ varparam, ++ param, ++ pointer, ++ recordfield, ++ componentref, ++ arrayref, ++ procedure, ++ proctype : o := n ++ ++ ELSE ++ o := NIL ++ END ; ++ IF o # NIL ++ THEN ++ outText (doP, "/* ") ; ++ doNameC (doP, o) ; ++ outText (doP, " ") ; ++ CASE o^.kind OF ++ ++ opaquecast : outText (doP, "opaquecast") | ++ funccall : outText (doP, "funccall") | ++ var : outText (doP, "var") | ++ array : outText (doP, "array") | ++ varparam : outText (doP, "varparam") | ++ param : outText (doP, "param") | ++ pointer : outText (doP, "pointer") | ++ recordfield : outText (doP, "recordfield") | ++ componentref: outText (doP, "componentref") | ++ pointerref : outText (doP, "pointerref") | ++ arrayref : outText (doP, "arrayref") | ++ procedure : outText (doP, "procedure") | ++ proctype : outText (doP, "proctype") ++ ++ ELSE ++ END ; ++ IF nodeUsesOpaque (o) ++ THEN ++ IF getNodeOpaqueVoidStar (o) ++ THEN ++ outText (doP, " uses (void *) opaque") ++ ELSE ++ outText (doP, " uses opaque__full") ++ END ; ++ END ; ++ outText (doP, " */ \n") ++ END ++END dumpOpaqueState ; ++ ++ ++(* ++ doParamC - emit parameter for C/C++. ++*) ++ ++PROCEDURE doParamC (p: pretty; n: node) ; ++VAR ++ v, ++ ptype: node ; ++ i : Name ; ++ c, t : CARDINAL ; ++ l : wlist ; ++BEGIN ++ assert (isParam (n)) ; ++ ptype := getType (n) ; ++ IF n^.paramF.namelist = NIL ++ THEN ++ doParamConstCast (p, n) ; ++ doTypeNameC (p, ptype) ; ++ doUsed (p, n^.paramF.isUsed) ; ++ IF isArray (ptype) AND isUnbounded (ptype) ++ THEN ++ outText (p, ',') ; setNeedSpace (p) ; ++ outText (p, 'unsigned int') ++ END ++ ELSE ++ assert (isIdentList (n^.paramF.namelist)) ; ++ l := n^.paramF.namelist^.identlistF.names ; ++ IF l=NIL ++ THEN ++ doParamConstCast (p, n) ; ++ doParamTypeEmit (p, n, ptype) ; ++ IF isArray (ptype) AND isUnbounded (ptype) ++ THEN ++ doUsed (p, n^.paramF.isUsed) ; ++ outText (p, ',') ; setNeedSpace (p) ; ++ outText (p, 'unsigned int') ++ END ++ ELSE ++ t := wlists.noOfItemsInList (l) ; ++ c := 1 ; ++ WHILE c <= t DO ++ doParamConstCast (p, n) ; ++ doParamTypeEmit (p, n, ptype) ; ++ i := wlists.getItemFromList (l, c) ; ++ IF isArray (ptype) AND isUnbounded (ptype) ++ THEN ++ noSpace (p) ++ ELSE ++ setNeedSpace (p) ++ END ; ++ v := getParameterVariable (n, i) ; ++ IF v=NIL ++ THEN ++ doNamesC (p, keyc.cnamen (i, TRUE)) ++ ELSE ++ doFQDNameC (p, v, TRUE) ++ END ; ++ doParamTypeNameModifier (p, ptype, FALSE) ; ++ doUsed (p, n^.paramF.isUsed) ; ++ doHighC (p, ptype, i, n^.paramF.isUsed) ; ++ IF c (') ; +@@ -9319,6 +10465,80 @@ BEGIN + END requiresUnpackProc ; + + ++(* ++ forceCastOpaque - ++*) ++ ++PROCEDURE forceCastOpaque (p: pretty; des, expr: node; toVoidStar: BOOLEAN) ; ++BEGIN ++ IF nodeUsesOpaque (expr) ++ THEN ++ flushOpaque (p, expr, getNodeOpaqueVoidStar (des)) ++ ELSE ++ forceReintCastOpaque (p, des, expr, toVoidStar) ++ END ++END forceCastOpaque ; ++ ++ ++(* ++ forceReintCastOpaque - ++*) ++ ++PROCEDURE forceReintCastOpaque (p: pretty; des, expr: node; toVoidStar: BOOLEAN) ; ++VAR ++ type: node ; ++BEGIN ++ type := getType (des) ; ++ IF toVoidStar ++ THEN ++ (* next is true cast to void * opaque type. *) ++ outText (p, 'static_cast<') ; ++ doTypeNameC (p, type) ; ++ noSpace (p) ; ++ outText (p, '> (') ; ++ doExprC (p, expr) ; ++ outText (p, ')') ++ ELSE ++ (* next is false cast to __opaque opaque type. *) ++ outText (p, 'static_cast<') ; ++ doTypeNameC (p, type) ; ++ outText (p, '__opaque') ; ++ noSpace (p) ; ++ outText (p, '> (') ; ++ doExprC (p, expr) ; ++ outText (p, ')') ; ++ END ++END forceReintCastOpaque ; ++ ++ ++(* ++ doUnConstCastUnbounded - if node n type is an unbounded array then ++ use const_cast to remove the const parameter ++ to allow the unbounded array to be modified. ++*) ++ ++PROCEDURE doUnConstCastUnbounded (p: pretty; n: node) ; ++VAR ++ type, v: node ; ++BEGIN ++ IF isArrayRef (n) ++ THEN ++ IF isVar (n^.arrayrefF.array) ++ THEN ++ v := n^.arrayrefF.array ; ++ IF (v^.varF.isParameter OR v^.varF.isVarParameter) AND ++ isUnbounded (getType (v)) ++ THEN ++ type := getType (v) ; ++ outText (p, " /* const_cast<") ; ++ doTypeNameC (p, type) ; ++ outText (p, "> is needed */ ") ; ++ END ++ END ++ END ++END doUnConstCastUnbounded ; ++ ++ + (* + doAssignmentC - + *) +@@ -9327,11 +10547,35 @@ PROCEDURE doAssignmentC (p: pretty; s: node) ; + BEGIN + assert (isAssignment (s)) ; + doCommentC (p, s^.assignmentF.assignComment.body) ; +- doExprCup (p, s^.assignmentF.des, requiresUnpackProc (s)) ; ++ IF debugOpaque ++ THEN ++ outText (p, " /* des: */ ") ; ++ dumpOpaqueState (s^.assignmentF.des) ; ++ outText (p, " /* expr: */ ") ; ++ dumpOpaqueState (s^.assignmentF.expr) ++ END ; ++ s^.assignmentF.des := doExprCup (p, s^.assignmentF.des, ++ requiresUnpackProc (s), TRUE) ; ++ IF debugOpaque ++ THEN ++ outText (p, "\n /* after doExprCup des: */ ") ; ++ dumpOpaqueState (s^.assignmentF.des) ; ++ outText (p, "\n") ++ END ; + setNeedSpace (p) ; + outText (p, "=") ; + setNeedSpace (p) ; +- doExprCastC (p, s^.assignmentF.expr, getType (s^.assignmentF.des)) ; ++ IF nodeUsesOpaque (s^.assignmentF.des) ++ THEN ++ forceCastOpaque (p, s^.assignmentF.des, s^.assignmentF.expr, ++ getNodeOpaqueVoidStar (s^.assignmentF.des)) ++ ELSE ++ IF debugOpaque ++ THEN ++ outText (p, " /* no opaque des seen */ ") ++ END ; ++ doExprCastC (p, s^.assignmentF.expr, getType (s^.assignmentF.des)) ++ END ; + outText (p, ";") ; + doAfterCommentC (p, s^.assignmentF.assignComment.after) + END doAssignmentC ; +@@ -9965,11 +11209,11 @@ PROCEDURE doAdrExprC (p: pretty; n: node) ; + BEGIN + IF isDeref (n) + THEN +- (* (* no point in issuing & ( * n ) *) *) ++ (* No point in issuing & ( * n ). *) + doExprC (p, n^.unaryF.arg) + ELSIF isVar (n) AND n^.varF.isVarParameter + THEN +- (* (* no point in issuing & ( * n ) *) *) ++ (* No point in issuing & ( * n ). *) + doFQNameC (p, n) + ELSE + outText (p, '&') ; +@@ -10017,6 +11261,126 @@ BEGIN + END needsCast ; + + ++(* ++ castDestType - emit the destination type ft ++*) ++ ++PROCEDURE castDestType (p: pretty; formal, ft: node) ; ++BEGIN ++ doTypeNameC (p, ft) ; ++ IF isVarParam (formal) ++ THEN ++ outText (p, '*') ++ END ++END castDestType ; ++ ++ ++(* ++ identifyPointer - ++*) ++ ++PROCEDURE identifyPointer (type: node) : node ; ++BEGIN ++ IF isPointer (type) ++ THEN ++ IF skipType (getType (type)) = charN ++ THEN ++ RETURN charStarN ++ ELSIF (skipType (getType (type)) = byteN) OR ++ (skipType (getType (type)) = locN) ++ THEN ++ RETURN addressN ++ END ++ END ; ++ RETURN type ++END identifyPointer ; ++ ++ ++(* ++ castPointer - provides a six way cast between ADDRESS (ie void * ), ++ char * and const char *. ++*) ++ ++PROCEDURE castPointer (p: pretty; actual, formal, at, ft: node) : CARDINAL ; ++VAR ++ sat, sft: node ; ++ parenth : CARDINAL ; ++BEGIN ++ parenth := 0 ; ++ IF at # ft ++ THEN ++ sat := identifyPointer (skipType (at)) ; ++ sft := identifyPointer (skipType (ft)) ; ++ IF sat = addressN ++ THEN ++ IF sft = charStarN ++ THEN ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ ELSIF sft = constCharStarN ++ THEN ++ outText (p, 'const_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '> (static_cast <') ; ++ doTypeNameC (p, charStarN) ; ++ outText (p, '>') ; ++ INC (parenth) ++ ELSE ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ END ++ ELSIF sat = charStarN ++ THEN ++ IF sft = addressN ++ THEN ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ ELSIF sft = constCharStarN ++ THEN ++ outText (p, 'const_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ ELSE ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ END ++ ELSIF sat = constCharStarN ++ THEN ++ IF sft = addressN ++ THEN ++ outText (p, 'static_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '> (const_cast <') ; ++ doTypeNameC (p, charStarN) ; ++ outText (p, '>') ; ++ INC (parenth) ++ ELSIF sft = charStarN ++ THEN ++ outText (p, 'const_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ ELSE ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ END ++ ELSE ++ outText (p, 'reinterpret_cast <') ; ++ castDestType (p, formal, ft) ; ++ outText (p, '>') ++ END ; ++ setNeedSpace (p) ; ++ outText (p, '(') ; ++ INC (parenth) ++ END ; ++ RETURN parenth ++END castPointer ; ++ ++ + (* + checkSystemCast - checks to see if we are passing to/from + a system generic type (WORD, BYTE, ADDRESS) +@@ -10034,11 +11398,16 @@ BEGIN + THEN + IF lang = ansiCP + THEN +- IF isString (actual) AND (skipType (ft) = addressN) ++ IF isString (actual) AND isCDataType (skipType (ft)) + THEN +- outText (p, "const_cast (reinterpret_cast (") ; ++ (* Nothing to do. *) ++ RETURN 0 ++ ELSIF isString (actual) AND (skipType (ft) = addressN) ++ THEN ++ outText (p, "const_cast (static_cast (") ; + RETURN 2 +- ELSIF isPointer (skipType (ft)) OR (skipType (ft) = addressN) ++ ELSIF isPointer (skipType (ft)) OR (skipType (ft) = addressN) OR ++ isCDataType (skipType (ft)) + THEN + IF actual = nilN + THEN +@@ -10049,14 +11418,7 @@ BEGIN + (* NULL is compatible with pointers/address. *) + RETURN 0 + ELSE +- outText (p, 'reinterpret_cast<') ; +- doTypeNameC (p, ft) ; +- IF isVarParam (formal) +- THEN +- outText (p, '*') +- END ; +- noSpace (p) ; +- outText (p, '> (') ++ RETURN castPointer (p, actual, formal, at, ft) + END + ELSE + outText (p, 'static_cast<') ; +@@ -10139,6 +11501,42 @@ BEGIN + END isDefForCNode ; + + ++(* ++ doFuncVarParam - detect whether the formal uses an opaque and ensure that the address of ++ the actual parameter is cast to the formal type. ++*) ++ ++PROCEDURE doFuncVarParam (p: pretty; actual, formal: node) ; ++VAR ++ type: node ; ++BEGIN ++ IF nodeUsesOpaque (formal) AND ++ getNodeOpaqueFlushNecessary (actual, getNodeOpaqueVoidStar (formal)) ++ THEN ++ type := getType (formal) ; ++ outText (p, 'reinterpret_cast<') ; ++ IF getNodeOpaqueVoidStar (formal) ++ THEN ++ doTypeNameC (p, type) ; ++ setNeedSpace (p) ; ++ outText (p, '*> (&') ; ++ doExprC (p, actual) ; ++ outText (p, ')') ; ++ actual := makeOpaqueCast (actual, TRUE) ++ ELSE ++ doTypeNameC (p, type) ; ++ noSpace (p) ; ++ outText (p, '__opaque *> (&') ; ++ doExprC (p, actual) ; ++ outText (p, ')') ; ++ actual := makeOpaqueCast (actual, FALSE) ++ END ++ ELSE ++ doAdrExprC (p, actual) ++ END ++END doFuncVarParam ; ++ ++ + (* + doFuncParamC - + *) +@@ -10190,14 +11588,22 @@ BEGIN + doCastC (p, getType (formal), actual) + END + ELSE +- lbr := checkSystemCast (p, actual, formal) ; + IF isVarParam (formal) + THEN +- doAdrExprC (p, actual) ++ lbr := checkSystemCast (p, actual, formal) ; ++ doFuncVarParam (p, actual, formal) ; ++ emitN (p, ")", lbr) + ELSE +- doExprC (p, actual) +- END ; +- emitN (p, ")", lbr) ++ IF nodeUsesOpaque (formal) ++ THEN ++ forceCastOpaque (p, formal, actual, ++ getNodeOpaqueVoidStar (formal)) ++ ELSE ++ lbr := checkSystemCast (p, actual, formal) ; ++ doExprC (p, actual) ; ++ emitN (p, ")", lbr) ++ END ++ END + END + END + END +@@ -10349,22 +11755,20 @@ BEGIN + THEN + (* & and * cancel each other out. *) + outTextN (p, getSymName (n)) (* --fixme-- does the caller need to cast it? *) +- ELSE +- IF isString (n) ++ ELSIF isString (n) OR (isArray (getType (n)) AND isUnbounded (getType (n))) ++ THEN ++ IF lang = ansiCP + THEN +- IF lang = ansiCP +- THEN +- outText (p, "const_cast (reinterpret_cast") ; +- outText (p, "(") ; +- doExprC (p, n) ; +- outText (p, "))") +- ELSE +- doExprC (p, n) +- END ++ outText (p, "const_cast (static_cast") ; ++ outText (p, "(") ; ++ doExprC (p, n) ; ++ outText (p, "))") + ELSE +- outText (p, "&") ; + doExprC (p, n) + END ++ ELSE ++ outText (p, "&") ; ++ doExprC (p, n) + END + END doAdrArgC ; + +@@ -11077,6 +12481,23 @@ END doConvertSC ; + *) + + ++(* ++ getFunction - return the function associate with funccall node n. ++*) ++ ++PROCEDURE getFunction (n: node) : node ; ++BEGIN ++ assert (isFuncCall (n)) ; ++ CASE n^.kind OF ++ ++ funccall: RETURN n^.funccallF.function ++ ++ ELSE ++ HALT ++ END ++END getFunction ; ++ ++ + (* + getFuncFromExpr - + *) +@@ -11608,7 +13029,9 @@ BEGIN + END doStatementsC ; + + +-PROCEDURE stop ; END stop ; ++PROCEDURE localstop ; ++END localstop ; ++ + + (* + doLocalVarC - +@@ -11618,7 +13041,6 @@ PROCEDURE doLocalVarC (p: pretty; s: scopeT) ; + BEGIN + includeVarProcedure (s) ; + debugLists ; +- + topologicallyOut (doConstC, doTypesC, doVarC, + outputPartial, + doNone, doCompletePartialC, doNone) +@@ -11932,7 +13354,7 @@ END allDependants ; + + PROCEDURE walkDependants (l: alist; n: node) : dependentState ; + BEGIN +- IF (n=NIL) OR alists.isItemInList (doneQ, n) ++ IF (n=NIL) OR alists.isItemInList (globalGroup^.doneQ, n) + THEN + RETURN completed + ELSIF alists.isItemInList (l, n) +@@ -11954,10 +13376,10 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (doneQ, t) ++ IF alists.isItemInList (globalGroup^.doneQ, t) + THEN + RETURN completed +- ELSIF alists.isItemInList (partialQ, t) ++ ELSIF alists.isItemInList (globalGroup^.partialQ, t) + THEN + RETURN blocked + ELSE +@@ -12030,13 +13452,13 @@ PROCEDURE dbq (n: node) ; + BEGIN + IF getDebugTopological () + THEN +- IF alists.isItemInList (todoQ, n) ++ IF alists.isItemInList (globalGroup^.todoQ, n) + THEN + db ('{T', n) ; outText (doP, '}') +- ELSIF alists.isItemInList (partialQ, n) ++ ELSIF alists.isItemInList (globalGroup^.partialQ, n) + THEN + db ('{P', n) ; outText (doP, '}') +- ELSIF alists.isItemInList (doneQ, n) ++ ELSIF alists.isItemInList (globalGroup^.doneQ, n) + THEN + db ('{D', n) ; outText (doP, '}') + END +@@ -12129,7 +13551,8 @@ END walkVarient ; + + PROCEDURE queueBlocked (n: node) ; + BEGIN +- IF NOT (alists.isItemInList (doneQ, n) OR alists.isItemInList (partialQ, n)) ++ IF NOT (alists.isItemInList (globalGroup^.doneQ, n) OR ++ alists.isItemInList (globalGroup^.partialQ, n)) + THEN + addTodo (n) + END +@@ -12145,7 +13568,7 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (doneQ, t) ++ IF alists.isItemInList (globalGroup^.doneQ, t) + THEN + RETURN completed + ELSE +@@ -12244,7 +13667,8 @@ VAR + BEGIN + (* if the type of, n, is done or partial then we can output pointer. *) + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) OR alists.isItemInList (doneQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) OR ++ alists.isItemInList (globalGroup^.doneQ, t) + THEN + (* pointer to partial can always generate a complete type. *) + RETURN completed +@@ -12270,7 +13694,7 @@ BEGIN + END ; + *) + (* an array can only be declared if its data type has already been emitted. *) +- IF NOT alists.isItemInList (doneQ, type) ++ IF NOT alists.isItemInList (globalGroup^.doneQ, type) + THEN + s := walkDependants (l, type) ; + queueBlocked (type) ; +@@ -12320,7 +13744,7 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) + THEN + (* parameter can be issued from a partial. *) + RETURN completed +@@ -12338,7 +13762,7 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) + THEN + (* parameter can be issued from a partial. *) + RETURN completed +@@ -12356,7 +13780,7 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) + THEN + (* parameter can be issued from a partial. *) + RETURN completed +@@ -12376,11 +13800,11 @@ VAR + BEGIN + assert (isRecordField (n)) ; + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) + THEN + dbs (partial, n) ; + RETURN partial +- ELSIF alists.isItemInList (doneQ, t) ++ ELSIF alists.isItemInList (globalGroup^.doneQ, t) + THEN + dbs (completed, n) ; + RETURN completed +@@ -12454,7 +13878,7 @@ VAR + t: node ; + BEGIN + t := getType (n) ; +- IF alists.isItemInList (partialQ, t) ++ IF alists.isItemInList (globalGroup^.partialQ, t) + THEN + (* proctype can be generated from partial types. *) + ELSE +@@ -12787,7 +14211,7 @@ PROCEDURE tryCompleteFromPartial (n: node; t: nodeProcedure) : BOOLEAN ; + BEGIN + IF isType (n) AND (getType (n)#NIL) AND isPointer (getType (n)) AND (allDependants (getType (n)) = completed) + THEN +- (* alists.includeItemIntoList (partialQ, getType (n)) ; *) ++ (* alists.includeItemIntoList (globalGroup^.partialQ, getType (n)) ; *) + outputHiddenComplete (n) ; + RETURN TRUE + ELSIF allDependants (n) = completed +@@ -13817,16 +15241,12 @@ END dumpQ ; + *) + + PROCEDURE dumpLists ; +-VAR +- m: String ; + BEGIN +- IF getDebugTopological () ++ IF getDebugTopological () AND FALSE + THEN +- m := Sprintf0 (InitString ('\n')) ; +- m := KillString (WriteS (StdOut, m)) ; +- dumpQ ('todo', todoQ) ; +- dumpQ ('partial', partialQ) ; +- dumpQ ('done', doneQ) ++ dumpQ ('todo', globalGroup^.todoQ) ; ++ dumpQ ('partial', globalGroup^.partialQ) ; ++ dumpQ ('done', globalGroup^.doneQ) + END + END dumpLists ; + +@@ -13885,7 +15305,8 @@ BEGIN + pt (n) ; + addTodo (q) ; + RETURN TRUE +- ELSIF isArray (q) AND (seenPointer OR alists.isItemInList (doneQ, getType (q))) ++ ELSIF isArray (q) AND (seenPointer OR ++ alists.isItemInList (globalGroup^.doneQ, getType (q))) + THEN + pt (n) ; + addTodo (q) ; +@@ -13997,23 +15418,23 @@ VAR + d : node ; + BEGIN + i := 1 ; +- n := alists.noOfItemsInList (todoQ) ; ++ n := alists.noOfItemsInList (globalGroup^.todoQ) ; + WHILE i<=n DO +- d := alists.getItemFromList (todoQ, i) ; ++ d := alists.getItemFromList (globalGroup^.todoQ, i) ; + IF tryComplete (d, c, t, v) + THEN +- alists.removeItemFromList (todoQ, d) ; +- alists.includeItemIntoList (doneQ, d) ; ++ alists.removeItemFromList (globalGroup^.todoQ, d) ; ++ addDone (d) ; + i := 1 + ELSIF tryPartial (d, pt) + THEN +- alists.removeItemFromList (todoQ, d) ; +- alists.includeItemIntoList (partialQ, d) ; ++ alists.removeItemFromList (globalGroup^.todoQ, d) ; ++ alists.includeItemIntoList (globalGroup^.partialQ, d) ; + i := 1 + ELSE + INC (i) + END ; +- n := alists.noOfItemsInList (todoQ) ++ n := alists.noOfItemsInList (globalGroup^.todoQ) + END + END tryOutputTodo ; + +@@ -14028,13 +15449,13 @@ VAR + d : node ; + BEGIN + i := 1 ; +- n := alists.noOfItemsInList (partialQ) ; ++ n := alists.noOfItemsInList (globalGroup^.partialQ) ; + WHILE i<=n DO +- d := alists.getItemFromList (partialQ, i) ; ++ d := alists.getItemFromList (globalGroup^.partialQ, i) ; + IF tryCompleteFromPartial (d, t) + THEN +- alists.removeItemFromList (partialQ, d) ; +- alists.includeItemIntoList (doneQ, d) ; ++ alists.removeItemFromList (globalGroup^.partialQ, d) ; ++ addDone (d) ; + i := 1 ; + DEC (n) + ELSE +@@ -14048,7 +15469,7 @@ END tryOutputPartial ; + debugList - + *) + +-PROCEDURE debugList (a: ARRAY OF CHAR; l: alist) ; ++PROCEDURE debugList (listName, symName: ARRAY OF CHAR; l: alist) ; + VAR + i, h: CARDINAL ; + n : node ; +@@ -14056,12 +15477,10 @@ BEGIN + h := alists.noOfItemsInList (l) ; + IF h>0 + THEN +- outText (doP, a) ; +- outText (doP, ' still contains node(s)\n') ; + i := 1 ; + REPEAT + n := alists.getItemFromList (l, i) ; +- dbg (n) ; ++ dbg (listName, symName, n) ; + INC (i) + UNTIL i > h + END +@@ -14076,8 +15495,9 @@ PROCEDURE debugLists ; + BEGIN + IF getDebugTopological () + THEN +- debugList ('todo', todoQ) ; +- debugList ('partial', partialQ) ++ debugList ('todo', 'decl_node', globalGroup^.todoQ) ; ++ debugList ('partial', 'decl_node', globalGroup^.partialQ) ; ++ debugList ('done', 'decl_node', globalGroup^.doneQ) + END + END debugLists ; + +@@ -14107,44 +15527,39 @@ VAR + i, h: CARDINAL ; + l : alist ; + BEGIN +- h := alists.noOfItemsInList (todoQ) ; ++ h := alists.noOfItemsInList (globalGroup^.todoQ) ; + i := 1 ; + WHILE i <= h DO +- n := alists.getItemFromList (todoQ, i) ; ++ n := alists.getItemFromList (globalGroup^.todoQ, i) ; + l := alists.initList () ; + visitNode (l, n, p) ; + alists.killList (l) ; +- h := alists.noOfItemsInList (todoQ) ; ++ h := alists.noOfItemsInList (globalGroup^.todoQ) ; + INC (i) + END + END populateTodo ; + + + (* +- topologicallyOut - ++ topologicallyOut - keep trying to resolve the todoQ and partialQ ++ until there is no change from the global group. + *) + + PROCEDURE topologicallyOut (c, t, v, tp, + pc, pt, pv: nodeProcedure) ; + VAR +- tol, pal, +- to, pa : CARDINAL ; ++ before: group ; + BEGIN + populateTodo (addEnumConst) ; +- tol := 0 ; +- pal := 0 ; +- to := alists.noOfItemsInList (todoQ) ; +- pa := alists.noOfItemsInList (partialQ) ; +- WHILE (tol#to) OR (pal#pa) DO ++ before := NIL ; ++ REPEAT ++ before := dupGroup (before) ; (* Get a copy of the globalGroup and free before. *) + dumpLists ; + tryOutputTodo (c, t, v, tp) ; + dumpLists ; +- tryOutputPartial (pt) ; +- tol := to ; +- pal := pa ; +- to := alists.noOfItemsInList (todoQ) ; +- pa := alists.noOfItemsInList (partialQ) +- END ; ++ tryOutputPartial (pt) ++ UNTIL equalGroup (before, globalGroup) ; ++ killGroup (before) ; + dumpLists ; + debugLists + END topologicallyOut ; +@@ -14164,9 +15579,11 @@ BEGIN + doFQNameC (p, n) ; + outText (p, "_init") ; + setNeedSpace (p) ; +- outText (p, "(__attribute__((unused)) int argc") ; +- outText (p, ",__attribute__((unused)) char *argv[]") ; +- outText (p, ",__attribute__((unused)) char *envp[])\n"); ++ outText (p, "(__attribute__((unused)) int argc,") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *argv[],") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *envp[])\n"); + p := outKc (p, "{\n") ; + doStatementsC (p, n^.impF.beginStatements) ; + p := outKc (p, "}\n") ; +@@ -14178,9 +15595,11 @@ BEGIN + doFQNameC (p, n) ; + outText (p, "_fini") ; + setNeedSpace (p) ; +- outText (p, "(__attribute__((unused)) int argc") ; +- outText (p, ",__attribute__((unused)) char *argv[]") ; +- outText (p, ",__attribute__((unused)) char *envp[])\n"); ++ outText (p, "(__attribute__((unused)) int argc,") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *argv[],") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *envp[])\n"); + p := outKc (p, "{\n") ; + doStatementsC (p, n^.impF.finallyStatements) ; + p := outKc (p, "}\n") +@@ -14250,8 +15669,10 @@ BEGIN + outText (p, "_init") ; + setNeedSpace (p) ; + outText (p, "(__attribute__((unused)) int argc,") ; +- outText (p, " __attribute__((unused)) char *argv[]") ; +- outText (p, " __attribute__((unused)) char *envp[])\n") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *argv[],") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *envp[])\n") ; + p := outKc (p, "{\n") ; + doStatementsC (p, n^.impF.beginStatements) ; + p := outKc (p, "}\n") ; +@@ -14264,8 +15685,10 @@ BEGIN + outText (p, "_fini") ; + setNeedSpace (p) ; + outText (p, "(__attribute__((unused)) int argc,") ; +- outText (p, " __attribute__((unused)) char *argv[]") ; +- outText (p, " __attribute__((unused)) char *envp[])\n") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *argv[],") ; ++ setNeedSpace (p) ; ++ outText (p, "__attribute__((unused)) char *envp[])\n") ; + p := outKc (p, "{\n") ; + doStatementsC (p, n^.impF.finallyStatements) ; + p := outKc (p, "}\n") ; +@@ -14452,9 +15875,13 @@ BEGIN + foreachDefModuleDo (runPrototypeDefC) + ELSE + s := InitStringCharStar (keyToCharStar (getSymName (n))) ; +- (* we don't want to include the .h file for this implementation module. *) +- print (p, "#define _") ; prints (p, s) ; print (p, "_H\n") ; ++ (* Inform the source that this code belongs to the implementation module. *) + print (p, "#define _") ; prints (p, s) ; print (p, "_C\n\n") ; ++ (* Include the definition module for any opaque types. *) ++ print (doP, '#include "') ; ++ prints (p, getHPrefix ()) ; ++ prints (p, s) ; ++ print (p, '.h"\n') ; + s := KillString (s) ; + + doP := p ; +@@ -15351,8 +16778,15 @@ END setLangM2 ; + *) + + PROCEDURE addDone (n: node) ; ++VAR ++ s: String ; + BEGIN +- alists.includeItemIntoList (doneQ, n) ++ alists.includeItemIntoList (globalGroup^.doneQ, n) ; ++ IF isVar (n) OR isParameter (n) ++ THEN ++ initNodeOpaqueState (n) ++ END ; ++ debugLists + END addDone ; + + +@@ -15368,11 +16802,16 @@ BEGIN + addDone (n) ; + RETURN + END ; +- IF (NOT isDef (n)) AND (lookupImp (getSymName (getScope (n))) = getMainModule ()) ++ IF FALSE AND (lookupImp (getSymName (getScope (n))) = getMainModule ()) + THEN + metaError1 ('cyclic dependancy found between another module using {%1ad} from the definition module of the implementation main being compiled, use the --extended-opaque option to compile', n) ; + flushErrors ; + errorAbort0 ('terminating compilation') ++ ELSIF isType (n) AND isDeclInImp (n) ++ THEN ++ (* Ignore an opaque type which is declared in this implementation module as it ++ will be fully declared in C/C++ with the __opaque postfix. Whereas the ++ void * non prefixed typedef will be declared in the .h file. *) + ELSE + addDone (n) + END +@@ -15613,7 +17052,7 @@ END doDbg ; + dbg - + *) + +-PROCEDURE dbg (n: node) ; ++PROCEDURE dbg (listName, symName: ARRAY OF CHAR; n: node) ; + VAR + l: alist ; + o: pretty ; +@@ -15629,10 +17068,20 @@ BEGIN + l := alists.initList () ; + alists.includeItemIntoList (l, n) ; + i := 1 ; +- out1 ("dbg (%s)\n", n) ; + REPEAT + n := alists.getItemFromList (l, i) ; +- doDbg (l, n) ; ++ IF isType (n) ++ THEN ++ s := getFQstring (n) ; ++ IF EqualArray (s, symName) ++ THEN ++ out0 ("list ") ; ++ out0 (listName) ; ++ out0 (": ") ; ++ doDbg (l, n) ++ END ; ++ s := KillString (s) ++ END ; + INC (i) + UNTIL i>alists.noOfItemsInList (l) ; + doP := o ; +@@ -16567,6 +18016,7 @@ BEGIN + assert (isFuncCall (n)) ; + m := makeFuncCall (dupExpr (n^.funccallF.function), dupExpr (n^.funccallF.args)) ; + m^.funccallF.type := n^.funccallF.type ; ++ assignNodeOpaqueCastState (m, n) ; + RETURN m + END dupFunccall ; + +@@ -16968,6 +18418,22 @@ BEGIN + END makeBuiltins ; + + ++(* ++ makeCDataTypes - assign the charStarN and constCharStarN to NIL. ++*) ++ ++PROCEDURE makeCDataTypes ; ++VAR ++ CdatatypesN: node ; ++BEGIN ++ CdatatypesN := lookupDef (makeKey ('CDataTypes')) ; ++ enterScope (CdatatypesN) ; ++ charStarN := makePointer (charN) ; ++ constCharStarN := makePointer (charN) ; ++ leaveScope ++END makeCDataTypes ; ++ ++ + (* + init - + *) +@@ -16977,9 +18443,8 @@ BEGIN + lang := ansiC ; + outputFile := StdOut ; + doP := initPretty (write, writeln) ; +- todoQ := alists.initList () ; +- partialQ := alists.initList () ; +- doneQ := alists.initList () ; ++ freeGroup := NIL ; ++ globalGroup := initGroup () ; + modUniverse := initTree () ; + defUniverse := initTree () ; + modUniverseI := InitIndex (1) ; +@@ -16991,7 +18456,8 @@ BEGIN + makeM2rts ; + outputState := punct ; + tempCount := 0 ; +- mustVisitScope := FALSE ++ mustVisitScope := FALSE ; ++ makeCDataTypes + END init ; + + +--- a/src/gcc/m2/mc/keyc.def ++++ b/src/gcc/m2/mc/keyc.def +@@ -27,6 +27,20 @@ FROM decl IMPORT node ; + FROM nameKey IMPORT Name ; + + ++(* ++ useGccTree - indicate we have imported tree from gcctypes. ++*) ++ ++PROCEDURE useGccTree ; ++ ++ ++(* ++ useGccLocation - indicate we have imported tree from gcctypes. ++*) ++ ++PROCEDURE useGccLocation ; ++ ++ + (* + useUnistd - need to use unistd.h call using open/close/read/write require this header. + *) +--- a/src/gcc/m2/mc/keyc.mod ++++ b/src/gcc/m2/mc/keyc.mod +@@ -13,10 +13,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE keyc ; + +@@ -45,6 +44,8 @@ VAR + initializedCP, + initializedGCC, + ++ seenGccTree, ++ seenGccLocation, + seenIntMin, + seenUIntMin, + seenLongMin, +@@ -96,11 +97,32 @@ BEGIN + initializedGCC := TRUE ; + print (p, '#include "config.h"\n'); + print (p, '#include "system.h"\n'); ++ checkGccTypes (p) + END + END + END checkGccConfigSystem ; + + ++(* ++ useGccTree - indicate we have imported tree from gcctypes. ++*) ++ ++PROCEDURE useGccTree ; ++BEGIN ++ seenGccTree := TRUE ++END useGccTree ; ++ ++ ++(* ++ useGccLocation - indicate we have imported tree from gcctypes. ++*) ++ ++PROCEDURE useGccLocation ; ++BEGIN ++ seenGccLocation := TRUE ++END useGccLocation ; ++ ++ + (* + useStorage - indicate we have used storage. + *) +@@ -412,6 +434,20 @@ BEGIN + END useCtype ; + + ++(* ++ checkGccTypes - if we have imported tree or location_t from gcctypes ++ then we include the gcc headers. ++*) ++ ++PROCEDURE checkGccTypes (p: pretty) ; ++BEGIN ++ IF seenGccTree OR seenGccLocation ++ THEN ++ print (p, '#include "gcc-consolidation.h"\n\n') ++ END ++END checkGccTypes ; ++ ++ + (* + checkCtype - + *) +@@ -420,7 +456,7 @@ PROCEDURE checkCtype (p: pretty) ; + BEGIN + IF seenCtype + THEN +- checkGccConfigSystem (p); ++ checkGccConfigSystem (p) ; + IF getGccConfigSystem () + THEN + (* GCC header files use a safe variant. *) +@@ -1150,6 +1186,8 @@ BEGIN + seenSize_t := FALSE ; + seenSSize_t := FALSE ; + seenSysTypes := FALSE ; ++ seenGccTree := FALSE ; ++ seenGccLocation := FALSE ; + initializedCP := FALSE ; + initializedGCC := FALSE ; + +--- a/src/gcc/m2/mc/lists.mod ++++ b/src/gcc/m2/mc/lists.mod +@@ -13,10 +13,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE lists ; + +--- a/src/gcc/m2/mc/mc.flex ++++ b/src/gcc/m2/mc/mc.flex +@@ -27,6 +27,7 @@ along with GNU Modula-2; see the file COPYING3. If not see + + #include + #include ++#include + + #ifndef alloca + #ifdef __GNUC__ +@@ -101,11 +102,11 @@ static void pushFunction (char *function, int module); + static void popFunction (void); + static void checkFunction (void); + int mcflex_getColumnNo (void); +- int mcflex_openSource (char *s); ++ bool mcflex_openSource (char *s); + int mcflex_getLineNo (void); + void mcflex_closeSource (void); + char *mcflex_getToken (void); +- void _M2_mcflex_init (void); ++ void _M2_mcflex_init (int argc, char *argv[], char *envp[]); + int mcflex_getTotalLines (void); + extern void yylex (void); + +@@ -659,13 +660,13 @@ mcflex_closeSource (void) + /* openSource returns TRUE if file s can be opened and + all tokens are taken from this file. */ + +-int ++bool + mcflex_openSource (char *s) + { + FILE *newInputFile = fopen (s, "r"); + + if (newInputFile == NULL) +- return FALSE; ++ return false; + else + { + isDefinitionModule = FALSE; +@@ -687,7 +688,7 @@ mcflex_openSource (char *s) + if (currentLine != NULL) + currentLine->actualline = lineno; + START_FILE (filename, lineno); +- return TRUE; ++ return true; + } + } + +@@ -734,12 +735,12 @@ yywrap (void) + } + + void +-_M2_mcflex_init (void) ++_M2_mcflex_init (int argc, char *argv[], char *envp[]) + { + } + + void +-_M2_mcflex_fini (void) ++_M2_mcflex_fini (int argc, char *argv[], char *envp[]) + { + } + +--- a/src/gcc/m2/mc/mcComment.h ++++ b/src/gcc/m2/mc/mcComment.h +@@ -22,6 +22,8 @@ along with GNU Modula-2; see the file COPYING3. If not see + #ifndef mcCommentH + #define mcCommentH + ++#include ++ + /* addText the text cs is appended to the current comment. */ + + extern void mcComment_addText (void *cd, char *cs); +@@ -34,7 +36,7 @@ extern void mcComment_addText (void *cd, char *cs); + If onlySpaces is TRUE then an inbody comment is created. + If onlySpaces is FALSE then an after statement comment is created. */ + +-extern void *mcComment_initComment (unsigned int onlySpaces); ++extern void *mcComment_initComment (bool onlySpaces); + + + #endif +--- a/src/gcc/m2/mc/mcComp.mod ++++ b/src/gcc/m2/mc/mcComp.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcComp ; + +--- a/src/gcc/m2/mc/mcDebug.mod ++++ b/src/gcc/m2/mc/mcDebug.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcDebug ; + +--- a/src/gcc/m2/mc/mcFileName.mod ++++ b/src/gcc/m2/mc/mcFileName.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcFileName ; + +--- a/src/gcc/m2/mc/mcMetaError.mod ++++ b/src/gcc/m2/mc/mcMetaError.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcMetaError ; + +--- a/src/gcc/m2/mc/mcOptions.mod ++++ b/src/gcc/m2/mc/mcOptions.mod +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcOptions ; + +@@ -752,7 +751,8 @@ BEGIN + setOutputFile (Slice (arg, 3, 0)) + ELSIF optionIs ("--extended-opaque", arg) + THEN +- setExtendedOpaque (TRUE) ++ (* setExtendedOpaque (TRUE) *) ++ printf0 ("IGNORING --extended-opaque - this option is no longer implemented - please adjust the call to mc\n") + ELSIF optionIs ("--debug-top", arg) + THEN + setDebugTopological (TRUE) +--- a/src/gcc/m2/mc/mcPreprocess.mod ++++ b/src/gcc/m2/mc/mcPreprocess.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcPreprocess ; + +--- a/src/gcc/m2/mc/mcPretty.mod ++++ b/src/gcc/m2/mc/mcPretty.mod +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcPretty ; + +--- a/src/gcc/m2/mc/mcPrintf.mod ++++ b/src/gcc/m2/mc/mcPrintf.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcPrintf ; + +--- a/src/gcc/m2/mc/mcQuiet.mod ++++ b/src/gcc/m2/mc/mcQuiet.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcQuiet ; + +--- a/src/gcc/m2/mc/mcReserved.mod ++++ b/src/gcc/m2/mc/mcReserved.mod +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcReserved ; + +--- a/src/gcc/m2/mc/mcSearch.mod ++++ b/src/gcc/m2/mc/mcSearch.mod +@@ -11,9 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcSearch ; + +--- a/src/gcc/m2/mc/mcStack.mod ++++ b/src/gcc/m2/mc/mcStack.mod +@@ -11,10 +11,9 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + +-You should have received a copy of the GNU General Public License along +-with gm2; see the file COPYING. If not, write to the Free Software +-Foundation, 51 Franklin Street, Fifth Floor, +-Boston, MA 02110-1301, USA. *) ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. *) + + IMPLEMENTATION MODULE mcStack ; + +--- a/src/gcc/m2/mc/mcp1.bnf ++++ b/src/gcc/m2/mc/mcp1.bnf +@@ -57,9 +57,9 @@ FROM mcLexBuf IMPORT currentstring, currenttoken, getToken, insertToken, + insertTokenAndRewind, getTokenNo, lastcomment ; + + FROM decl IMPORT node, lookupDef, lookupImp, lookupModule, getSymName, +- lookupSym, putDefForC, ++ lookupSym, putDefForC, putDefUnqualified, + makeProcedure, makeType, makeTypeImp, makeVar, makeConst, +- enterScope, leaveScope, putTypeHidden, ++ enterScope, leaveScope, putTypeHidden, putTypeOpaque, + addImportedModule, getCurrentModule, + putCommentDefProcedure, putCommentModProcedure ; + +@@ -1031,7 +1031,7 @@ Priority := "[" ConstExpression "]" =: + + Export := "EXPORT" ( "QUALIFIED" + IdentList | +- "UNQUALIFIED" ++ "UNQUALIFIED" % putDefUnqualified (curmodule) % + IdentList | + IdentList ) ";" =: + +@@ -1064,7 +1064,8 @@ DefinitionModule := % VAR c: + + DefTypeDeclaration := { Ident % VAR n: node ; % + % n := makeType (curident) % +- ( ";" % putTypeHidden (n) % ++ ( ";" % putTypeHidden (n) ; ++ putTypeOpaque (n) % + | "=" Type Alignment ";" ) } + =: + +--- a/src/gcc/m2/pge-boot/GDynamicStrings.cc ++++ b/src/gcc/m2/pge-boot/GDynamicStrings.cc +@@ -25,6 +25,8 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + ++#include "config.h" ++#include "system.h" + #include + # if !defined (PROC_D) + # define PROC_D +@@ -40,19 +42,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#include +-#include +-#include +-#include + # include "GStorage.h" +-#include + #if defined(__cplusplus) + # undef NULL + # define NULL 0 + #endif +-#define _DynamicStrings_H + #define _DynamicStrings_C + ++#include "GDynamicStrings.h" + # include "Glibc.h" + # include "GStrLib.h" + # include "GStorage.h" +@@ -84,27 +81,27 @@ typedef struct DynamicStrings__T3_a DynamicStrings__T3; + + typedef enum {DynamicStrings_inuse, DynamicStrings_marked, DynamicStrings_onlist, DynamicStrings_poisoned} DynamicStrings_desState; + +-typedef DynamicStrings_stringRecord *DynamicStrings_String; ++typedef DynamicStrings_stringRecord *DynamicStrings_String__opaque; + + struct DynamicStrings_DebugInfo_r { +- DynamicStrings_String next; +- void *file; ++ DynamicStrings_String__opaque next; ++ void * file; + unsigned int line; +- void *proc; ++ void * proc; + }; + + struct DynamicStrings_descriptor_r { + bool charStarUsed; +- void *charStar; ++ void * charStar; + unsigned int charStarSize; + bool charStarValid; + DynamicStrings_desState state; +- DynamicStrings_String garbage; ++ DynamicStrings_String__opaque garbage; + }; + + struct DynamicStrings_frameRec_r { +- DynamicStrings_String alloc; +- DynamicStrings_String dealloc; ++ DynamicStrings_String__opaque alloc; ++ DynamicStrings_String__opaque dealloc; + DynamicStrings_frame next; + }; + +@@ -112,7 +109,7 @@ struct DynamicStrings__T3_a { char array[(MaxBuf-1)+1]; }; + struct DynamicStrings_Contents_r { + DynamicStrings__T3 buf; + unsigned int len; +- DynamicStrings_String next; ++ DynamicStrings_String__opaque next; + }; + + struct DynamicStrings_stringRecord_r { +@@ -123,7 +120,7 @@ struct DynamicStrings_stringRecord_r { + + static bool Initialized; + static DynamicStrings_frame frameHead; +-static DynamicStrings_String captured; ++static DynamicStrings_String__opaque captured; + + /* + InitString - creates and returns a String type object. +@@ -258,12 +255,25 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if, ch, is not found. The search ++ is performed left to right. + */ + + extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o); + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++extern "C" int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o); ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +@@ -390,7 +400,7 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + /* + writeStringDesc write out debugging information about string, s. */ + +-static void writeStringDesc (DynamicStrings_String s); ++static void writeStringDesc (DynamicStrings_String__opaque s); + + /* + writeNspace - +@@ -402,7 +412,7 @@ static void writeNspace (unsigned int n); + DumpStringInfo - + */ + +-static void DumpStringInfo (DynamicStrings_String s, unsigned int i); ++static void DumpStringInfo (DynamicStrings_String__opaque s, unsigned int i); + + /* + DumpStringInfo - +@@ -420,7 +430,7 @@ static void doDSdbEnter (void); + doDSdbExit - + */ + +-static void doDSdbExit (DynamicStrings_String s); ++static void doDSdbExit (DynamicStrings_String__opaque s); + + /* + DSdbEnter - +@@ -432,8 +442,8 @@ static void DSdbEnter (void); + DSdbExit - + */ + +-static void DSdbExit (DynamicStrings_String s); +-static unsigned int Capture (DynamicStrings_String s); ++static void DSdbExit (DynamicStrings_String__opaque s); ++static unsigned int Capture (DynamicStrings_String__opaque s); + + /* + Min - +@@ -487,73 +497,73 @@ static void writeLn (void); + AssignDebug - assigns, file, and, line, information to string, s. + */ + +-static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high); ++static DynamicStrings_String__opaque AssignDebug (DynamicStrings_String__opaque s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high); + + /* + IsOn - returns TRUE if, s, is on one of the debug lists. + */ + +-static bool IsOn (DynamicStrings_String list, DynamicStrings_String s); ++static bool IsOn (DynamicStrings_String__opaque list, DynamicStrings_String__opaque s); + + /* + AddTo - adds string, s, to, list. + */ + +-static void AddTo (DynamicStrings_String *list, DynamicStrings_String s); ++static void AddTo (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s); + + /* + SubFrom - removes string, s, from, list. + */ + +-static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s); ++static void SubFrom (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s); + + /* + AddAllocated - adds string, s, to the head of the allocated list. + */ + +-static void AddAllocated (DynamicStrings_String s); ++static void AddAllocated (DynamicStrings_String__opaque s); + + /* + AddDeallocated - adds string, s, to the head of the deallocated list. + */ + +-static void AddDeallocated (DynamicStrings_String s); ++static void AddDeallocated (DynamicStrings_String__opaque s); + + /* + IsOnAllocated - returns TRUE if the string, s, has ever been allocated. + */ + +-static bool IsOnAllocated (DynamicStrings_String s); ++static bool IsOnAllocated (DynamicStrings_String__opaque s); + + /* + IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. + */ + +-static bool IsOnDeallocated (DynamicStrings_String s); ++static bool IsOnDeallocated (DynamicStrings_String__opaque s); + + /* + SubAllocated - removes string, s, from the list of allocated strings. + */ + +-static void SubAllocated (DynamicStrings_String s); ++static void SubAllocated (DynamicStrings_String__opaque s); + + /* + SubDeallocated - removes string, s, from the list of deallocated strings. + */ + +-static void SubDeallocated (DynamicStrings_String s); ++static void SubDeallocated (DynamicStrings_String__opaque s); + + /* + SubDebugInfo - removes string, s, from the list of allocated strings. + */ + +-static void SubDebugInfo (DynamicStrings_String s); ++static void SubDebugInfo (DynamicStrings_String__opaque s); + + /* + AddDebugInfo - adds string, s, to the list of allocated strings. + */ + +-static void AddDebugInfo (DynamicStrings_String s); ++static void AddDebugInfo (DynamicStrings_String__opaque s); + + /* + ConcatContents - add the contents of string, a, where, h, is the +@@ -566,19 +576,19 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + DeallocateCharStar - deallocates any charStar. + */ + +-static void DeallocateCharStar (DynamicStrings_String s); ++static void DeallocateCharStar (DynamicStrings_String__opaque s); + + /* + CheckPoisoned - checks for a poisoned string, s. + */ + +-static DynamicStrings_String CheckPoisoned (DynamicStrings_String s); ++static DynamicStrings_String__opaque CheckPoisoned (DynamicStrings_String__opaque s); + + /* + MarkInvalid - marks the char * version of String, s, as invalid. + */ + +-static void MarkInvalid (DynamicStrings_String s); ++static void MarkInvalid (DynamicStrings_String__opaque s); + + /* + ConcatContentsAddress - concatenate the string, a, where, h, is the +@@ -593,13 +603,13 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + onlist. String, a, is returned. + */ + +-static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrings_String b); ++static DynamicStrings_String__opaque AddToGarbage (DynamicStrings_String__opaque a, DynamicStrings_String__opaque b); + + /* + IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. + */ + +-static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s); ++static bool IsOnGarbage (DynamicStrings_String__opaque e, DynamicStrings_String__opaque s); + + /* + IsWhite - returns TRUE if, ch, is a space or a tab. +@@ -611,19 +621,19 @@ static bool IsWhite (char ch); + DumpState - + */ + +-static void DumpState (DynamicStrings_String s); ++static void DumpState (DynamicStrings_String__opaque s); + + /* + DumpStringSynopsis - + */ + +-static void DumpStringSynopsis (DynamicStrings_String s); ++static void DumpStringSynopsis (DynamicStrings_String__opaque s); + + /* + DumpString - displays the contents of string, s. + */ + +-static void DumpString (DynamicStrings_String s); ++static void DumpString (DynamicStrings_String__opaque s); + + /* + Init - initialize the module. +@@ -635,7 +645,7 @@ static void Init (void); + /* + writeStringDesc write out debugging information about string, s. */ + +-static void writeStringDesc (DynamicStrings_String s) ++static void writeStringDesc (DynamicStrings_String__opaque s) + { + writeCstring (s->debug.file); + writeString ((const char *) ":", 1); +@@ -691,7 +701,7 @@ static void writeNspace (unsigned int n) + DumpStringInfo - + */ + +-static void DumpStringInfo (DynamicStrings_String s, unsigned int i) ++static void DumpStringInfo (DynamicStrings_String__opaque s, unsigned int i) + { + if (s != NULL) + { +@@ -739,11 +749,11 @@ static void doDSdbEnter (void) + doDSdbExit - + */ + +-static void doDSdbExit (DynamicStrings_String s) ++static void doDSdbExit (DynamicStrings_String__opaque s) + { + if (CheckOn) + { +- s = DynamicStrings_PopAllocationExemption (true, s); ++ s = static_cast (DynamicStrings_PopAllocationExemption (true, static_cast (s))); + } + } + +@@ -761,11 +771,11 @@ static void DSdbEnter (void) + DSdbExit - + */ + +-static void DSdbExit (DynamicStrings_String s) ++static void DSdbExit (DynamicStrings_String__opaque s) + { + } + +-static unsigned int Capture (DynamicStrings_String s) ++static unsigned int Capture (DynamicStrings_String__opaque s) + { + /* + * #undef GM2_DEBUG_DYNAMICSTINGS +@@ -833,7 +843,7 @@ static void writeString (const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- i = static_cast (libc_write (1, &a, static_cast (StrLib_StrLen ((const char *) a, _a_high)))); ++ i = static_cast (libc_write (1, const_cast (static_cast(a)), static_cast (StrLib_StrLen ((const char *) a, _a_high)))); + } + + +@@ -941,7 +951,7 @@ static void writeLn (void) + AssignDebug - assigns, file, and, line, information to string, s. + */ + +-static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high) ++static DynamicStrings_String__opaque AssignDebug (DynamicStrings_String__opaque s, const char *file_, unsigned int _file_high, unsigned int line, const char *proc_, unsigned int _proc_high) + { + void * f; + void * p; +@@ -952,8 +962,8 @@ static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *f + memcpy (file, file_, _file_high+1); + memcpy (proc, proc_, _proc_high+1); + +- f = &file; +- p = &proc; ++ f = const_cast (static_cast(file)); ++ p = const_cast (static_cast(proc)); + Storage_ALLOCATE (&s->debug.file, (StrLib_StrLen ((const char *) file, _file_high))+1); + if ((libc_strncpy (s->debug.file, f, (StrLib_StrLen ((const char *) file, _file_high))+1)) == NULL) + {} /* empty. */ +@@ -971,7 +981,7 @@ static DynamicStrings_String AssignDebug (DynamicStrings_String s, const char *f + IsOn - returns TRUE if, s, is on one of the debug lists. + */ + +-static bool IsOn (DynamicStrings_String list, DynamicStrings_String s) ++static bool IsOn (DynamicStrings_String__opaque list, DynamicStrings_String__opaque s) + { + while ((list != s) && (list != NULL)) + { +@@ -987,12 +997,12 @@ static bool IsOn (DynamicStrings_String list, DynamicStrings_String s) + AddTo - adds string, s, to, list. + */ + +-static void AddTo (DynamicStrings_String *list, DynamicStrings_String s) ++static void AddTo (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s) + { + if ((*list) == NULL) + { + (*list) = s; +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + } + else + { +@@ -1006,9 +1016,9 @@ static void AddTo (DynamicStrings_String *list, DynamicStrings_String s) + SubFrom - removes string, s, from, list. + */ + +-static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) ++static void SubFrom (DynamicStrings_String__opaque *list, DynamicStrings_String__opaque s) + { +- DynamicStrings_String p; ++ DynamicStrings_String__opaque p; + + if ((*list) == s) + { +@@ -1028,10 +1038,10 @@ static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) + else + { + /* not found, quit */ +- return ; ++ return; + } + } +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + } + + +@@ -1039,7 +1049,7 @@ static void SubFrom (DynamicStrings_String *list, DynamicStrings_String s) + AddAllocated - adds string, s, to the head of the allocated list. + */ + +-static void AddAllocated (DynamicStrings_String s) ++static void AddAllocated (DynamicStrings_String__opaque s) + { + Init (); + AddTo (&frameHead->alloc, s); +@@ -1050,7 +1060,7 @@ static void AddAllocated (DynamicStrings_String s) + AddDeallocated - adds string, s, to the head of the deallocated list. + */ + +-static void AddDeallocated (DynamicStrings_String s) ++static void AddDeallocated (DynamicStrings_String__opaque s) + { + Init (); + AddTo (&frameHead->dealloc, s); +@@ -1061,7 +1071,7 @@ static void AddDeallocated (DynamicStrings_String s) + IsOnAllocated - returns TRUE if the string, s, has ever been allocated. + */ + +-static bool IsOnAllocated (DynamicStrings_String s) ++static bool IsOnAllocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1087,7 +1097,7 @@ static bool IsOnAllocated (DynamicStrings_String s) + IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. + */ + +-static bool IsOnDeallocated (DynamicStrings_String s) ++static bool IsOnDeallocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1113,7 +1123,7 @@ static bool IsOnDeallocated (DynamicStrings_String s) + SubAllocated - removes string, s, from the list of allocated strings. + */ + +-static void SubAllocated (DynamicStrings_String s) ++static void SubAllocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1123,7 +1133,7 @@ static void SubAllocated (DynamicStrings_String s) + if (IsOn (f->alloc, s)) + { + SubFrom (&f->alloc, s); +- return ; ++ return; + } + else + { +@@ -1137,7 +1147,7 @@ static void SubAllocated (DynamicStrings_String s) + SubDeallocated - removes string, s, from the list of deallocated strings. + */ + +-static void SubDeallocated (DynamicStrings_String s) ++static void SubDeallocated (DynamicStrings_String__opaque s) + { + DynamicStrings_frame f; + +@@ -1147,7 +1157,7 @@ static void SubDeallocated (DynamicStrings_String s) + if (IsOn (f->dealloc, s)) + { + SubFrom (&f->dealloc, s); +- return ; ++ return; + } + else + { +@@ -1161,13 +1171,13 @@ static void SubDeallocated (DynamicStrings_String s) + SubDebugInfo - removes string, s, from the list of allocated strings. + */ + +-static void SubDebugInfo (DynamicStrings_String s) ++static void SubDebugInfo (DynamicStrings_String__opaque s) + { + if (IsOnDeallocated (s)) + { + Assertion_Assert (! DebugOn); + /* string has already been deallocated */ +- return ; ++ return; + } + if (IsOnAllocated (s)) + { +@@ -1186,9 +1196,9 @@ static void SubDebugInfo (DynamicStrings_String s) + AddDebugInfo - adds string, s, to the list of allocated strings. + */ + +-static void AddDebugInfo (DynamicStrings_String s) ++static void AddDebugInfo (DynamicStrings_String__opaque s) + { +- s->debug.next = NULL; ++ s->debug.next = static_cast (NULL); + s->debug.file = NULL; + s->debug.line = 0; + s->debug.proc = NULL; +@@ -1225,7 +1235,7 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + Storage_ALLOCATE ((void **) &(*c).next, sizeof (DynamicStrings_stringRecord)); + (*c).next->head = NULL; + (*c).next->contents.len = 0; +- (*c).next->contents.next = NULL; ++ (*c).next->contents.next = static_cast (NULL); + ConcatContents (&(*c).next->contents, (const char *) a, _a_high, h, o); + AddDebugInfo ((*c).next); + (*c).next = AssignDebug ((*c).next, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 722, (const char *) "ConcatContents", 14); +@@ -1241,7 +1251,7 @@ static void ConcatContents (DynamicStrings_Contents *c, const char *a_, unsigned + DeallocateCharStar - deallocates any charStar. + */ + +-static void DeallocateCharStar (DynamicStrings_String s) ++static void DeallocateCharStar (DynamicStrings_String__opaque s) + { + if ((s != NULL) && (s->head != NULL)) + { +@@ -1261,7 +1271,7 @@ static void DeallocateCharStar (DynamicStrings_String s) + CheckPoisoned - checks for a poisoned string, s. + */ + +-static DynamicStrings_String CheckPoisoned (DynamicStrings_String s) ++static DynamicStrings_String__opaque CheckPoisoned (DynamicStrings_String__opaque s) + { + if (((PoisonOn && (s != NULL)) && (s->head != NULL)) && (s->head->state == DynamicStrings_poisoned)) + { +@@ -1278,7 +1288,7 @@ static DynamicStrings_String CheckPoisoned (DynamicStrings_String s) + MarkInvalid - marks the char * version of String, s, as invalid. + */ + +-static void MarkInvalid (DynamicStrings_String s) ++static void MarkInvalid (DynamicStrings_String__opaque s) + { + if (PoisonOn) + { +@@ -1321,7 +1331,7 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + Storage_ALLOCATE ((void **) &(*c).next, sizeof (DynamicStrings_stringRecord)); + (*c).next->head = NULL; + (*c).next->contents.len = 0; +- (*c).next->contents.next = NULL; ++ (*c).next->contents.next = static_cast (NULL); + ConcatContentsAddress (&(*c).next->contents, reinterpret_cast (p), h-j); + AddDebugInfo ((*c).next); + if (TraceOn) +@@ -1332,7 +1342,7 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + else + { + (*c).len = i; +- (*c).next = NULL; ++ (*c).next = static_cast (NULL); + } + } + +@@ -1343,9 +1353,9 @@ static void ConcatContentsAddress (DynamicStrings_Contents *c, void * a, unsigne + onlist. String, a, is returned. + */ + +-static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrings_String b) ++static DynamicStrings_String__opaque AddToGarbage (DynamicStrings_String__opaque a, DynamicStrings_String__opaque b) + { +- DynamicStrings_String c; ++ DynamicStrings_String__opaque c; + + if (PoisonOn) + { +@@ -1382,7 +1392,7 @@ static DynamicStrings_String AddToGarbage (DynamicStrings_String a, DynamicStrin + IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. + */ + +-static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s) ++static bool IsOnGarbage (DynamicStrings_String__opaque e, DynamicStrings_String__opaque s) + { + if ((e != NULL) && (s != NULL)) + { +@@ -1420,7 +1430,7 @@ static bool IsWhite (char ch) + DumpState - + */ + +-static void DumpState (DynamicStrings_String s) ++static void DumpState (DynamicStrings_String__opaque s) + { + switch (s->head->state) + { +@@ -1454,7 +1464,7 @@ static void DumpState (DynamicStrings_String s) + DumpStringSynopsis - + */ + +-static void DumpStringSynopsis (DynamicStrings_String s) ++static void DumpStringSynopsis (DynamicStrings_String__opaque s) + { + writeCstring (s->debug.file); + writeString ((const char *) ":", 1); +@@ -1487,9 +1497,9 @@ static void DumpStringSynopsis (DynamicStrings_String s) + DumpString - displays the contents of string, s. + */ + +-static void DumpString (DynamicStrings_String s) ++static void DumpString (DynamicStrings_String__opaque s) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +@@ -1531,7 +1541,7 @@ static void Init (void) + + extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsigned int _a_high) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -1539,21 +1549,21 @@ extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsi + + Storage_ALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + s->contents.len = 0; +- s->contents.next = NULL; ++ s->contents.next = static_cast (NULL); + ConcatContents (&s->contents, (const char *) a, _a_high, StrLib_StrLen ((const char *) a, _a_high), 0); + Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); + s->head->charStarUsed = false; + s->head->charStar = NULL; + s->head->charStarSize = 0; + s->head->charStarValid = false; +- s->head->garbage = NULL; ++ s->head->garbage = static_cast (NULL); + s->head->state = DynamicStrings_inuse; + AddDebugInfo (s); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 758, (const char *) "InitString", 10); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1566,48 +1576,48 @@ extern "C" DynamicStrings_String DynamicStrings_InitString (const char *a_, unsi + + extern "C" DynamicStrings_String DynamicStrings_KillString (DynamicStrings_String s) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (s != NULL) + { + if (CheckOn) + { + /* avoid gcc warning by using compound statement even if not strictly necessary. */ +- if (IsOnAllocated (s)) ++ if (IsOnAllocated (static_cast (s))) + { +- SubAllocated (s); ++ SubAllocated (static_cast (s)); + } +- else if (IsOnDeallocated (s)) ++ else if (IsOnDeallocated (static_cast (s))) + { + /* avoid dangling else. */ +- SubDeallocated (s); ++ SubDeallocated (static_cast (s)); + } + } +- if (s->head != NULL) ++ if (static_cast (s)->head != NULL) + { +- s->head->state = DynamicStrings_poisoned; +- s->head->garbage = DynamicStrings_KillString (s->head->garbage); ++ static_cast (s)->head->state = DynamicStrings_poisoned; ++ static_cast (s)->head->garbage = static_cast (DynamicStrings_KillString (static_cast (static_cast (s)->head->garbage))); + if (! PoisonOn) + { +- DeallocateCharStar (s); ++ DeallocateCharStar (static_cast (s)); + } + if (! PoisonOn) + { +- Storage_DEALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); +- s->head = NULL; ++ Storage_DEALLOCATE ((void **) &static_cast (s)->head, sizeof (DynamicStrings_descriptor)); ++ static_cast (s)->head = NULL; + } + } +- t = DynamicStrings_KillString (s->contents.next); ++ t = static_cast (DynamicStrings_KillString (static_cast (static_cast (s)->contents.next))); + if (! PoisonOn) + { + Storage_DEALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + } + } +- return NULL; ++ return static_cast (NULL); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1635,11 +1645,11 @@ extern "C" void DynamicStrings_Fin (DynamicStrings_String s) + + extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + + Storage_ALLOCATE ((void **) &s, sizeof (DynamicStrings_stringRecord)); + s->contents.len = 0; +- s->contents.next = NULL; ++ s->contents.next = static_cast (NULL); + if (a != NULL) + { + ConcatContentsAddress (&s->contents, a, static_cast (libc_strlen (a))); +@@ -1649,14 +1659,14 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharStar (void * a) + s->head->charStar = NULL; + s->head->charStarSize = 0; + s->head->charStarValid = false; +- s->head->garbage = NULL; ++ s->head->garbage = static_cast (NULL); + s->head->state = DynamicStrings_inuse; + AddDebugInfo (s); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 957, (const char *) "InitStringCharStar", 18); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1672,16 +1682,16 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) + + struct InitStringChar__T5_a { char array[1+1]; }; + InitStringChar__T5 a; +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + + a.array[0] = ch; + a.array[1] = ASCII_nul; +- s = DynamicStrings_InitString ((const char *) &a.array[0], 1); ++ s = static_cast (DynamicStrings_InitString ((const char *) &a.array[0], 1)); + if (TraceOn) + { + s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 977, (const char *) "InitStringChar", 14); + } +- return s; ++ return static_cast (s); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -1695,11 +1705,11 @@ extern "C" DynamicStrings_String DynamicStrings_Mark (DynamicStrings_String s) + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- if ((s != NULL) && (s->head->state == DynamicStrings_inuse)) ++ if ((s != NULL) && (static_cast (s)->head->state == DynamicStrings_inuse)) + { +- s->head->state = DynamicStrings_marked; ++ static_cast (s)->head->state = DynamicStrings_marked; + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1719,7 +1729,7 @@ extern "C" unsigned int DynamicStrings_Length (DynamicStrings_String s) + } + else + { +- return s->contents.len+(DynamicStrings_Length (s->contents.next)); ++ return static_cast (s)->contents.len+(DynamicStrings_Length (static_cast (static_cast (s)->contents.next))); + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -1732,12 +1742,12 @@ extern "C" unsigned int DynamicStrings_Length (DynamicStrings_String s) + + extern "C" DynamicStrings_String DynamicStrings_ConCat (DynamicStrings_String a, DynamicStrings_String b) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if (a == b) + { +@@ -1746,17 +1756,17 @@ extern "C" DynamicStrings_String DynamicStrings_ConCat (DynamicStrings_String a, + else if (a != NULL) + { + /* avoid dangling else. */ +- a = AddToGarbage (a, b); +- MarkInvalid (a); +- t = a; ++ a = static_cast (AddToGarbage (static_cast (a), static_cast (b))); ++ MarkInvalid (static_cast (a)); ++ t = static_cast (a); + while (b != NULL) + { + while ((t->contents.len == MaxBuf) && (t->contents.next != NULL)) + { + t = t->contents.next; + } +- ConcatContents (&t->contents, (const char *) &b->contents.buf.array[0], (MaxBuf-1), b->contents.len, 0); +- b = b->contents.next; ++ ConcatContents (&t->contents, (const char *) &static_cast (b)->contents.buf.array[0], (MaxBuf-1), static_cast (b)->contents.len, 0); ++ b = static_cast (static_cast (b)->contents.next); + } + } + if ((a == NULL) && (b != NULL)) +@@ -1780,16 +1790,16 @@ extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_Strin + + struct ConCatChar__T6_a { char array[1+1]; }; + ConCatChar__T6 b; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- a = CheckPoisoned (a); ++ a = static_cast (CheckPoisoned (static_cast (a))); + } + b.array[0] = ch; + b.array[1] = ASCII_nul; +- t = a; +- MarkInvalid (a); ++ t = static_cast (a); ++ MarkInvalid (static_cast (a)); + while ((t->contents.len == MaxBuf) && (t->contents.next != NULL)) + { + t = t->contents.next; +@@ -1810,13 +1820,13 @@ extern "C" DynamicStrings_String DynamicStrings_Assign (DynamicStrings_String a, + { + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if ((a != NULL) && (b != NULL)) + { +- a->contents.next = DynamicStrings_KillString (a->contents.next); +- a->contents.len = 0; ++ static_cast (a)->contents.next = static_cast (DynamicStrings_KillString (static_cast (static_cast (a)->contents.next))); ++ static_cast (a)->contents.len = 0; + } + return DynamicStrings_ConCat (a, b); + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1830,10 +1840,10 @@ extern "C" DynamicStrings_String DynamicStrings_Assign (DynamicStrings_String a, + + extern "C" DynamicStrings_String DynamicStrings_ReplaceChar (DynamicStrings_String s, char from, char to) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + unsigned int i; + +- t = s; ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -1861,12 +1871,12 @@ extern "C" DynamicStrings_String DynamicStrings_Dup (DynamicStrings_String s) + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + s = DynamicStrings_Assign (DynamicStrings_InitString ((const char *) "", 0), s); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1198, (const char *) "Dup", 3); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1198, (const char *) "Dup", 3)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1882,13 +1892,13 @@ extern "C" DynamicStrings_String DynamicStrings_Add (DynamicStrings_String a, Dy + { + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + a = DynamicStrings_ConCat (DynamicStrings_ConCat (DynamicStrings_InitString ((const char *) "", 0), a), b); + if (TraceOn) + { +- a = AssignDebug (a, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1218, (const char *) "Add", 3); ++ a = static_cast (AssignDebug (static_cast (a), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1218, (const char *) "Add", 3)); + } + return a; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1906,25 +1916,25 @@ extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_St + + if (PoisonOn) + { +- a = CheckPoisoned (a); +- b = CheckPoisoned (b); ++ a = static_cast (CheckPoisoned (static_cast (a))); ++ b = static_cast (CheckPoisoned (static_cast (b))); + } + if ((DynamicStrings_Length (a)) == (DynamicStrings_Length (b))) + { + while ((a != NULL) && (b != NULL)) + { + i = 0; +- Assertion_Assert (a->contents.len == b->contents.len); +- while (i < a->contents.len) ++ Assertion_Assert (static_cast (a)->contents.len == static_cast (b)->contents.len); ++ while (i < static_cast (a)->contents.len) + { +- if (a->contents.buf.array[i] != b->contents.buf.array[i]) ++ if (static_cast (a)->contents.buf.array[i] != static_cast (b)->contents.buf.array[i]) + { + return false; + } + i += 1; + } +- a = a->contents.next; +- b = b->contents.next; ++ a = static_cast (static_cast (a)->contents.next); ++ b = static_cast (static_cast (b)->contents.next); + } + return true; + } +@@ -1944,26 +1954,26 @@ extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_St + + extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- t = DynamicStrings_InitStringCharStar (a); ++ t = static_cast (DynamicStrings_InitStringCharStar (a)); + if (TraceOn) + { + t = AssignDebug (t, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1275, (const char *) "EqualCharStar", 13); + } +- t = AddToGarbage (t, s); +- if (DynamicStrings_Equal (t, s)) ++ t = AddToGarbage (t, static_cast (s)); ++ if (DynamicStrings_Equal (static_cast (t), s)) + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return true; + } + else + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return false; + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -1978,7 +1988,7 @@ extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) + + extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high) + { +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + char a[_a_high+1]; + + /* make a local copy of each unbounded array. */ +@@ -1986,22 +1996,22 @@ extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char * + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } +- t = DynamicStrings_InitString ((const char *) a, _a_high); ++ t = static_cast (DynamicStrings_InitString ((const char *) a, _a_high)); + if (TraceOn) + { + t = AssignDebug (t, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1305, (const char *) "EqualArray", 10); + } +- t = AddToGarbage (t, s); +- if (DynamicStrings_Equal (t, s)) ++ t = AddToGarbage (t, static_cast (s)); ++ if (DynamicStrings_Equal (static_cast (t), s)) + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return true; + } + else + { +- t = DynamicStrings_KillString (t); ++ t = static_cast (DynamicStrings_KillString (static_cast (t))); + return false; + } + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2017,11 +2027,11 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + { + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (n <= 0) + { +- s = AddToGarbage (DynamicStrings_InitString ((const char *) "", 0), s); ++ s = static_cast (AddToGarbage (static_cast (DynamicStrings_InitString ((const char *) "", 0)), static_cast (s))); + } + else + { +@@ -2029,7 +2039,7 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + } + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1337, (const char *) "Mult", 4); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1337, (const char *) "Mult", 4)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2051,15 +2061,15 @@ extern "C" DynamicStrings_String DynamicStrings_Mult (DynamicStrings_String s, u + + extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, int low, int high) + { +- DynamicStrings_String d; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque d; ++ DynamicStrings_String__opaque t; + int start; + int end; + int o; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (low < 0) + { +@@ -2074,17 +2084,17 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, + /* make sure high is <= Length (s) */ + high = Min (DynamicStrings_Length (s), static_cast (high)); + } +- d = DynamicStrings_InitString ((const char *) "", 0); +- d = AddToGarbage (d, s); ++ d = static_cast (DynamicStrings_InitString ((const char *) "", 0)); ++ d = AddToGarbage (d, static_cast (s)); + o = 0; + t = d; + while (s != NULL) + { +- if (low < (o+((int ) (s->contents.len)))) ++ if (low < (o+((int ) (static_cast (s)->contents.len)))) + { + if (o > high) + { +- s = NULL; ++ s = static_cast (NULL); + } + else + { +@@ -2113,22 +2123,22 @@ extern "C" DynamicStrings_String DynamicStrings_Slice (DynamicStrings_String s, + } + t = t->contents.next; + } +- ConcatContentsAddress (&t->contents, &s->contents.buf.array[start], static_cast (end-start)); +- o += s->contents.len; +- s = s->contents.next; ++ ConcatContentsAddress (&t->contents, &static_cast (s)->contents.buf.array[start], static_cast (end-start)); ++ o += static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } + } + else + { +- o += s->contents.len; +- s = s->contents.next; ++ o += static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } + } + if (TraceOn) + { + d = AssignDebug (d, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1422, (const char *) "Slice", 5); + } +- return d; ++ return static_cast (d); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2147,21 +2157,21 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + k = 0; + while (s != NULL) + { +- if ((k+s->contents.len) < o) ++ if ((k+static_cast (s)->contents.len) < o) + { +- k += s->contents.len; ++ k += static_cast (s)->contents.len; + } + else + { + i = o-k; +- while (i < s->contents.len) ++ while (i < static_cast (s)->contents.len) + { +- if (s->contents.buf.array[i] == ch) ++ if (static_cast (s)->contents.buf.array[i] == ch) + { + return k+i; + } +@@ -2170,7 +2180,7 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + k += i; + o = k; + } +- s = s->contents.next; ++ s = static_cast (static_cast (s)->contents.next); + } + return -1; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2180,8 +2190,9 @@ extern "C" int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if, ch, is not found. The search ++ is performed left to right. + */ + + extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o) +@@ -2192,15 +2203,15 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + j = -1; + k = 0; + while (s != NULL) + { +- if ((k+s->contents.len) < o) ++ if ((k+static_cast (s)->contents.len) < o) + { +- k += s->contents.len; ++ k += static_cast (s)->contents.len; + } + else + { +@@ -2212,9 +2223,9 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + { + i = o-k; + } +- while (i < s->contents.len) ++ while (i < static_cast (s)->contents.len) + { +- if (s->contents.buf.array[i] == ch) ++ if (static_cast (s)->contents.buf.array[i] == ch) + { + j = k; + } +@@ -2222,7 +2233,7 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + i += 1; + } + } +- s = s->contents.next; ++ s = static_cast (static_cast (s)->contents.next); + } + return j; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2230,6 +2241,52 @@ extern "C" int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned + } + + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++extern "C" int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o) ++{ ++ unsigned int c; ++ ++ if (PoisonOn) ++ { ++ s = static_cast (CheckPoisoned (static_cast (s))); ++ } ++ if (o < 0) ++ { ++ o = ((int ) (DynamicStrings_Length (s)))+o; ++ if (o < 0) ++ { ++ return -1; ++ } ++ } ++ if (((unsigned int ) (o)) < (DynamicStrings_Length (s))) ++ { ++ while (o >= 0) ++ { ++ if ((DynamicStrings_char (s, o)) == ch) ++ { ++ return o; ++ } ++ else ++ { ++ o -= 1; ++ } ++ } ++ } ++ return -1; ++ /* static analysis guarentees a RETURN statement will be used before here. */ ++ __builtin_unreachable (); ++} ++ ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +@@ -2254,7 +2311,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveComment (DynamicStrings_St + } + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1534, (const char *) "RemoveComment", 13); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1576, (const char *) "RemoveComment", 13)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2279,7 +2336,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePrefix (DynamicString + s = DynamicStrings_Slice (s, (int ) (i), 0); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1646, (const char *) "RemoveWhitePrefix", 17); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1688, (const char *) "RemoveWhitePrefix", 17)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2304,7 +2361,7 @@ extern "C" DynamicStrings_String DynamicStrings_RemoveWhitePostfix (DynamicStrin + s = DynamicStrings_Slice (s, 0, i+1); + if (TraceOn) + { +- s = AssignDebug (s, (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1668, (const char *) "RemoveWhitePostfix", 18); ++ s = static_cast (AssignDebug (static_cast (s), (const char *) "../../gcc/m2/gm2-libs/DynamicStrings.mod", 40, 1710, (const char *) "RemoveWhitePostfix", 18)); + } + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ +@@ -2322,12 +2379,12 @@ extern "C" DynamicStrings_String DynamicStrings_ToUpper (DynamicStrings_String s + { + char ch; + unsigned int i; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +- MarkInvalid (s); +- t = s; ++ MarkInvalid (static_cast (s)); ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -2359,12 +2416,12 @@ extern "C" DynamicStrings_String DynamicStrings_ToLower (DynamicStrings_String s + { + char ch; + unsigned int i; +- DynamicStrings_String t; ++ DynamicStrings_String__opaque t; + + if (s != NULL) + { +- MarkInvalid (s); +- t = s; ++ MarkInvalid (static_cast (s)); ++ t = static_cast (s); + while (t != NULL) + { + i = 0; +@@ -2399,12 +2456,12 @@ extern "C" void DynamicStrings_CopyOut (char *a, unsigned int _a_high, DynamicSt + i = 0; + while (i < l) + { +- a[i] = DynamicStrings_char (s, static_cast (i)); ++ const_cast(a)[i] = DynamicStrings_char (s, static_cast (i)); + i += 1; + } + if (i <= _a_high) + { +- a[i] = ASCII_nul; ++ const_cast(a)[i] = ASCII_nul; + } + } + +@@ -2419,7 +2476,7 @@ extern "C" char DynamicStrings_char (DynamicStrings_String s, int i) + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (i < 0) + { +@@ -2429,18 +2486,18 @@ extern "C" char DynamicStrings_char (DynamicStrings_String s, int i) + { + c = i; + } +- while ((s != NULL) && (c >= s->contents.len)) ++ while ((s != NULL) && (c >= static_cast (s)->contents.len)) + { +- c -= s->contents.len; +- s = s->contents.next; ++ c -= static_cast (s)->contents.len; ++ s = static_cast (static_cast (s)->contents.next); + } +- if ((s == NULL) || (c >= s->contents.len)) ++ if ((s == NULL) || (c >= static_cast (s)->contents.len)) + { + return ASCII_nul; + } + else + { +- return s->contents.buf.array[c]; ++ return static_cast (s)->contents.buf.array[c]; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2455,14 +2512,14 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + { + typedef char *string__T2; + +- DynamicStrings_String a; ++ DynamicStrings_String__opaque a; + unsigned int l; + unsigned int i; + string__T2 p; + + if (PoisonOn) + { +- s = CheckPoisoned (s); ++ s = static_cast (CheckPoisoned (static_cast (s))); + } + if (s == NULL) + { +@@ -2470,18 +2527,18 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + } + else + { +- if (! s->head->charStarValid) ++ if (! static_cast (s)->head->charStarValid) + { + l = DynamicStrings_Length (s); +- if (! (s->head->charStarUsed && (s->head->charStarSize > l))) ++ if (! (static_cast (s)->head->charStarUsed && (static_cast (s)->head->charStarSize > l))) + { +- DeallocateCharStar (s); +- Storage_ALLOCATE (&s->head->charStar, l+1); +- s->head->charStarSize = l+1; +- s->head->charStarUsed = true; ++ DeallocateCharStar (static_cast (s)); ++ Storage_ALLOCATE (&static_cast (s)->head->charStar, l+1); ++ static_cast (s)->head->charStarSize = l+1; ++ static_cast (s)->head->charStarUsed = true; + } +- p = static_cast (s->head->charStar); +- a = s; ++ p = static_cast (static_cast (s)->head->charStar); ++ a = static_cast (s); + while (a != NULL) + { + i = 0; +@@ -2494,9 +2551,9 @@ extern "C" void * DynamicStrings_string (DynamicStrings_String s) + a = a->contents.next; + } + (*p) = ASCII_nul; +- s->head->charStarValid = true; ++ static_cast (s)->head->charStarValid = true; + } +- return s->head->charStar; ++ return static_cast (s)->head->charStar; + } + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2516,7 +2573,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringDB (const char *a_, un + memcpy (a, a_, _a_high+1); + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitString ((const char *) a, _a_high), (const char *) file, _file_high, line, (const char *) "InitString", 10); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitString ((const char *) a, _a_high)), (const char *) file, _file_high, line, (const char *) "InitString", 10)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2533,7 +2590,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharStarDB (void * a, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitStringCharStar (a), (const char *) file, _file_high, line, (const char *) "InitStringCharStar", 18); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitStringCharStar (a)), (const char *) file, _file_high, line, (const char *) "InitStringCharStar", 18)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2550,7 +2607,7 @@ extern "C" DynamicStrings_String DynamicStrings_InitStringCharDB (char ch, const + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_InitStringChar (ch), (const char *) file, _file_high, line, (const char *) "InitStringChar", 14); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_InitStringChar (ch)), (const char *) file, _file_high, line, (const char *) "InitStringChar", 14)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2567,7 +2624,7 @@ extern "C" DynamicStrings_String DynamicStrings_MultDB (DynamicStrings_String s, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_Mult (s, n), (const char *) file, _file_high, line, (const char *) "Mult", 4); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_Mult (s, n)), (const char *) file, _file_high, line, (const char *) "Mult", 4)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2584,7 +2641,7 @@ extern "C" DynamicStrings_String DynamicStrings_DupDB (DynamicStrings_String s, + /* make a local copy of each unbounded array. */ + memcpy (file, file_, _file_high+1); + +- return AssignDebug (DynamicStrings_Dup (s), (const char *) file, _file_high, line, (const char *) "Dup", 3); ++ return static_cast (AssignDebug (static_cast (DynamicStrings_Dup (s)), (const char *) file, _file_high, line, (const char *) "Dup", 3)); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -2602,8 +2659,8 @@ extern "C" DynamicStrings_String DynamicStrings_SliceDB (DynamicStrings_String s + memcpy (file, file_, _file_high+1); + + DSdbEnter (); +- s = AssignDebug (DynamicStrings_Slice (s, low, high), (const char *) file, _file_high, line, (const char *) "Slice", 5); +- DSdbExit (s); ++ s = static_cast (AssignDebug (static_cast (DynamicStrings_Slice (s, low, high)), (const char *) file, _file_high, line, (const char *) "Slice", 5)); ++ DSdbExit (static_cast (s)); + return s; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -2623,8 +2680,8 @@ extern "C" void DynamicStrings_PushAllocation (void) + Init (); + Storage_ALLOCATE ((void **) &f, sizeof (DynamicStrings_frameRec)); + f->next = frameHead; +- f->alloc = NULL; +- f->dealloc = NULL; ++ f->alloc = static_cast (NULL); ++ f->dealloc = static_cast (NULL); + frameHead = f; + } + } +@@ -2643,7 +2700,7 @@ extern "C" void DynamicStrings_PopAllocation (bool halt) + { + if (CheckOn) + { +- if ((DynamicStrings_PopAllocationExemption (halt, NULL)) == NULL) ++ if ((DynamicStrings_PopAllocationExemption (halt, static_cast (NULL))) == NULL) + {} /* empty. */ + } + } +@@ -2661,7 +2718,7 @@ extern "C" void DynamicStrings_PopAllocation (bool halt) + + extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e) + { +- DynamicStrings_String s; ++ DynamicStrings_String__opaque s; + bool b; + + Init (); +@@ -2682,7 +2739,7 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + s = frameHead->alloc; + while (s != NULL) + { +- if (! (((e == s) || (IsOnGarbage (e, s))) || (IsOnGarbage (s, e)))) ++ if (! (((e == s) || (IsOnGarbage (static_cast (e), s))) || (IsOnGarbage (s, static_cast (e))))) + { + if (! b) + { +@@ -2707,12 +2764,12 @@ extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool hal + __builtin_unreachable (); + } + +-extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + Initialized = false; + Init (); + } + +-extern "C" void _M2_DynamicStrings_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_DynamicStrings_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/pge-boot/GDynamicStrings.h ++++ b/src/gcc/m2/pge-boot/GDynamicStrings.h +@@ -194,12 +194,25 @@ EXTERN int DynamicStrings_Index (DynamicStrings_String s, char ch, unsigned int + + /* + RIndex - returns the indice of the last occurance of, ch, +- in String, s. The search starts at position, o. +- -1 is returned if, ch, is not found. ++ in String, s. The search starts at position, o. ++ -1 is returned if ch is not found. The search ++ is performed left to right. + */ + + EXTERN int DynamicStrings_RIndex (DynamicStrings_String s, char ch, unsigned int o); + ++/* ++ ReverseIndex - returns the indice of the last occurance of ch ++ in String s. The search starts at position o ++ and searches from right to left. The start position ++ may be indexed negatively from the right (-1 is the ++ last index). ++ The return value if ch is found will always be positive. ++ -1 is returned if ch is not found. ++*/ ++ ++EXTERN int DynamicStrings_ReverseIndex (DynamicStrings_String s, char ch, int o); ++ + /* + RemoveComment - assuming that, comment, is a comment delimiter + which indicates anything to its right is a comment +--- a/src/gcc/m2/pge-boot/GM2RTS.cc ++++ b/src/gcc/m2/pge-boot/GM2RTS.cc +@@ -25,6 +25,8 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + ++#include "config.h" ++#include "system.h" + #include + # if !defined (PROC_D) + # define PROC_D +@@ -40,13 +42,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + # define FALSE (1==0) + # endif + +-#include +-#include +-#include +-#include +-#define _M2RTS_H + #define _M2RTS_C + ++#include "GM2RTS.h" + # include "Glibc.h" + # include "GNumberIO.h" + # include "GStrLib.h" +@@ -62,9 +60,6 @@ typedef struct M2RTS_ArgCVEnvP_p M2RTS_ArgCVEnvP; + # define stderrFd 2 + typedef char *M2RTS_PtrToChar; + +-typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); +-struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; +- + static int ExitValue; + static bool isHalting; + static bool CallExit; +@@ -138,7 +133,7 @@ extern "C" void M2RTS_ExecuteTerminationProcedures (void); + not call ExecuteTerminationProcedures. + */ + +-extern "C" void M2RTS_Terminate (void); ++extern "C" void M2RTS_Terminate (void) __attribute__ ((noreturn)); + + /* + HALT - terminate the current program. The procedure +@@ -151,7 +146,7 @@ extern "C" void M2RTS_Terminate (void); + then calling HALT with no parameter. + */ + +-extern "C" void M2RTS_HALT (int exitcode); ++extern "C" void M2RTS_HALT (int exitcode) __attribute__ ((noreturn)); + + /* + Halt - provides a more user friendly version of HALT, which takes +@@ -159,7 +154,7 @@ extern "C" void M2RTS_HALT (int exitcode); + to stderr and calls exit (1). + */ + +-extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line); ++extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line) __attribute__ ((noreturn)); + + /* + HaltC - provides a more user friendly version of HALT, which takes +@@ -167,7 +162,7 @@ extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_ + to stderr and calls exit (1). + */ + +-extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line); ++extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line) __attribute__ ((noreturn)); + + /* + ExitOnHalt - if HALT is executed then call exit with the exit code, e. +@@ -179,7 +174,7 @@ extern "C" void M2RTS_ExitOnHalt (int e); + ErrorMessage - emits an error message to stderr and then calls exit (1). + */ + +-extern "C" void M2RTS_ErrorMessage (const char *message_, unsigned int _message_high, const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high); ++extern "C" void M2RTS_ErrorMessage (const char *message_, unsigned int _message_high, const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high) __attribute__ ((noreturn)); + + /* + Length - returns the length of a string, a. This is called whenever +@@ -188,30 +183,30 @@ extern "C" void M2RTS_ErrorMessage (const char *message_, unsigned int _message_ + */ + + extern "C" unsigned int M2RTS_Length (const char *a_, unsigned int _a_high); +-extern "C" void M2RTS_AssignmentException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_IncException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_DecException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_InclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ExclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ShiftException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_RotateException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_StaticArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_DynamicArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ForLoopBeginException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ForLoopToException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ForLoopEndException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_PointerNilException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_NoReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_CaseException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_WholeNonPosDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_WholeNonPosModException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_WholeZeroDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_WholeZeroRemException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_WholeValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_RealValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_ParameterException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); +-extern "C" void M2RTS_NoException (void * filename, unsigned int line, unsigned int column, void * scope, void * message); ++extern "C" void M2RTS_AssignmentException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_IncException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_DecException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_InclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ExclException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ShiftException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_RotateException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_StaticArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_DynamicArraySubscriptException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ForLoopBeginException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ForLoopToException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ForLoopEndException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_PointerNilException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_NoReturnException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_CaseException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_WholeNonPosDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_WholeNonPosModException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_WholeZeroDivException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_WholeZeroRemException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_WholeValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_RealValueException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_ParameterException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); ++extern "C" void M2RTS_NoException (void * filename, unsigned int line, unsigned int column, void * scope, void * message) __attribute__ ((noreturn)); + + /* + ErrorString - writes a string to stderr. +@@ -229,7 +224,7 @@ static void ErrorStringC (void * str); + ErrorMessageC - emits an error message to stderr and then calls exit (1). + */ + +-static void ErrorMessageC (void * message, void * filename, unsigned int line, void * function); ++static void ErrorMessageC (void * message, void * filename, unsigned int line, void * function) __attribute__ ((noreturn)); + + /* + Init - initialize the initial, terminate procedure lists and booleans. +@@ -259,7 +254,7 @@ static void ErrorString (const char *a_, unsigned int _a_high) + /* make a local copy of each unbounded array. */ + memcpy (a, a_, _a_high+1); + +- n = static_cast (libc_write (stderrFd, &a, static_cast (StrLib_StrLen ((const char *) a, _a_high)))); ++ n = static_cast (libc_write (stderrFd, const_cast (static_cast(a)), static_cast (StrLib_StrLen ((const char *) a, _a_high)))); + } + + +@@ -501,6 +496,7 @@ extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_ + memcpy (function, function_, _function_high+1); + + M2RTS_ErrorMessage ((const char *) description, _description_high, (const char *) filename, _filename_high, line, (const char *) function, _function_high); ++ libc_exit (1); + } + + +@@ -513,6 +509,7 @@ extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_ + extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line) + { + ErrorMessageC (description, filename, line, function); ++ libc_exit (1); + } + + +@@ -714,11 +711,11 @@ extern "C" void M2RTS_NoException (void * filename, unsigned int line, unsigned + RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), filename, line, column, scope, message); + } + +-extern "C" void _M2_M2RTS_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2RTS_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + CheckInitialized (); + } + +-extern "C" void _M2_M2RTS_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_M2RTS_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/pge-boot/GSymbolKey.cc ++++ b/src/gcc/m2/pge-boot/GSymbolKey.cc +@@ -20,6 +20,8 @@ You should have received a copy of the GNU General Public License + along with GNU Modula-2; see the file COPYING3. If not see + . */ + ++#include "config.h" ++#include "system.h" + #include + # if !defined (PROC_D) + # define PROC_D +@@ -31,15 +33,14 @@ along with GNU Modula-2; see the file COPYING3. If not see + # define FALSE (1==0) + # endif + +-#include + # include "GStorage.h" + #if defined(__cplusplus) + # undef NULL + # define NULL 0 + #endif +-#define _SymbolKey_H + #define _SymbolKey_C + ++#include "GSymbolKey.h" + # include "GStorage.h" + # include "GStrIO.h" + # include "GNumberIO.h" +@@ -54,19 +55,13 @@ typedef struct SymbolKey_PerformOperation_p SymbolKey_PerformOperation; + + typedef struct SymbolKey_Node_r SymbolKey_Node; + +-typedef SymbolKey_Node *SymbolKey_SymbolTree; +- +-typedef bool (*SymbolKey_IsSymbol_t) (unsigned int); +-struct SymbolKey_IsSymbol_p { SymbolKey_IsSymbol_t proc; }; +- +-typedef void (*SymbolKey_PerformOperation_t) (unsigned int); +-struct SymbolKey_PerformOperation_p { SymbolKey_PerformOperation_t proc; }; ++typedef SymbolKey_Node *SymbolKey_SymbolTree__opaque; + + struct SymbolKey_Node_r { + NameKey_Name KeyName; + unsigned int KeySym; +- SymbolKey_SymbolTree Left; +- SymbolKey_SymbolTree Right; ++ SymbolKey_SymbolTree__opaque Left; ++ SymbolKey_SymbolTree__opaque Right; + }; + + extern "C" void SymbolKey_InitTree (SymbolKey_SymbolTree *t); +@@ -142,7 +137,7 @@ extern "C" void SymbolKey_ForeachNodeConditionDo (SymbolKey_SymbolTree t, Symbol + if an entry is found, parent is set to the node above child. + */ + +-static void FindNodeParentInTree (SymbolKey_SymbolTree t, NameKey_Name n, SymbolKey_SymbolTree *child, SymbolKey_SymbolTree *parent); ++static void FindNodeParentInTree (SymbolKey_SymbolTree__opaque t, NameKey_Name n, SymbolKey_SymbolTree__opaque *child, SymbolKey_SymbolTree__opaque *parent); + + /* + SearchForAny - performs the search required for DoesTreeContainAny. +@@ -150,7 +145,7 @@ static void FindNodeParentInTree (SymbolKey_SymbolTree t, NameKey_Name n, Symbol + therefore we must skip over it. + */ + +-static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); ++static bool SearchForAny (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol P); + + /* + SearchAndDo - searches all the nodes in SymbolTree, t, and +@@ -158,19 +153,19 @@ static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); + It traverse the tree in order. + */ + +-static void SearchAndDo (SymbolKey_SymbolTree t, SymbolKey_PerformOperation P); ++static void SearchAndDo (SymbolKey_SymbolTree__opaque t, SymbolKey_PerformOperation P); + + /* + CountNodes - wrapper for NoOfNodes. + */ + +-static unsigned int CountNodes (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condition, unsigned int count); ++static unsigned int CountNodes (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol condition, unsigned int count); + + /* + SearchConditional - wrapper for ForeachNodeConditionDo. + */ + +-static void SearchConditional (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condition, SymbolKey_PerformOperation P); ++static void SearchConditional (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol condition, SymbolKey_PerformOperation P); + + + /* +@@ -178,7 +173,7 @@ static void SearchConditional (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condit + if an entry is found, parent is set to the node above child. + */ + +-static void FindNodeParentInTree (SymbolKey_SymbolTree t, NameKey_Name n, SymbolKey_SymbolTree *child, SymbolKey_SymbolTree *parent) ++static void FindNodeParentInTree (SymbolKey_SymbolTree__opaque t, NameKey_Name n, SymbolKey_SymbolTree__opaque *child, SymbolKey_SymbolTree__opaque *parent) + { + /* remember to skip the sentinal value and assign parent and child */ + (*parent) = t; +@@ -213,7 +208,7 @@ static void FindNodeParentInTree (SymbolKey_SymbolTree t, NameKey_Name n, Symbol + therefore we must skip over it. + */ + +-static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) ++static bool SearchForAny (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol P) + { + if (t == NULL) + { +@@ -234,7 +229,7 @@ static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) + It traverse the tree in order. + */ + +-static void SearchAndDo (SymbolKey_SymbolTree t, SymbolKey_PerformOperation P) ++static void SearchAndDo (SymbolKey_SymbolTree__opaque t, SymbolKey_PerformOperation P) + { + if (t != NULL) + { +@@ -249,7 +244,7 @@ static void SearchAndDo (SymbolKey_SymbolTree t, SymbolKey_PerformOperation P) + CountNodes - wrapper for NoOfNodes. + */ + +-static unsigned int CountNodes (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condition, unsigned int count) ++static unsigned int CountNodes (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol condition, unsigned int count) + { + if (t != NULL) + { +@@ -270,7 +265,7 @@ static unsigned int CountNodes (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condi + SearchConditional - wrapper for ForeachNodeConditionDo. + */ + +-static void SearchConditional (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condition, SymbolKey_PerformOperation P) ++static void SearchConditional (SymbolKey_SymbolTree__opaque t, SymbolKey_IsSymbol condition, SymbolKey_PerformOperation P) + { + if (t != NULL) + { +@@ -286,8 +281,8 @@ static void SearchConditional (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condit + extern "C" void SymbolKey_InitTree (SymbolKey_SymbolTree *t) + { + Storage_ALLOCATE ((void **) &(*t), sizeof (SymbolKey_Node)); /* The value entity */ +- (*t)->Left = NULL; +- (*t)->Right = NULL; ++ static_cast ((*t))->Left = static_cast (NULL); ++ static_cast ((*t))->Right = static_cast (NULL); + } + + extern "C" void SymbolKey_KillTree (SymbolKey_SymbolTree *t) +@@ -322,10 +317,10 @@ END Kill ; + */ + if ((*t) != NULL) + { +- SymbolKey_KillTree (&(*t)->Left); +- SymbolKey_KillTree (&(*t)->Right); ++ SymbolKey_KillTree (reinterpret_cast (&static_cast ((*t))->Left)); ++ SymbolKey_KillTree (reinterpret_cast (&static_cast ((*t))->Right)); + Storage_DEALLOCATE ((void **) &(*t), sizeof (SymbolKey_Node)); +- (*t) = NULL; ++ (*t) = static_cast (NULL); + } + } + +@@ -336,10 +331,10 @@ END Kill ; + + extern "C" unsigned int SymbolKey_GetSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey) + { +- SymbolKey_SymbolTree father; +- SymbolKey_SymbolTree child; ++ SymbolKey_SymbolTree__opaque father; ++ SymbolKey_SymbolTree__opaque child; + +- FindNodeParentInTree (t, NameKey, &child, &father); ++ FindNodeParentInTree (static_cast (t), NameKey, &child, &father); + if (child == NULL) + { + return static_cast (SymbolKey_NulKey); +@@ -359,10 +354,10 @@ extern "C" unsigned int SymbolKey_GetSymKey (SymbolKey_SymbolTree t, NameKey_Nam + + extern "C" void SymbolKey_PutSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey, unsigned int SymKey) + { +- SymbolKey_SymbolTree father; +- SymbolKey_SymbolTree child; ++ SymbolKey_SymbolTree__opaque father; ++ SymbolKey_SymbolTree__opaque child; + +- FindNodeParentInTree (t, NameKey, &child, &father); ++ FindNodeParentInTree (static_cast (t), NameKey, &child, &father); + if (child == NULL) + { + /* no child found, now is NameKey less than father or greater? */ +@@ -386,8 +381,8 @@ extern "C" void SymbolKey_PutSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKe + father->Right = child; + } + } +- child->Right = NULL; +- child->Left = NULL; ++ child->Right = static_cast (NULL); ++ child->Left = static_cast (NULL); + child->KeySym = SymKey; + child->KeyName = NameKey; + } +@@ -407,11 +402,11 @@ extern "C" void SymbolKey_PutSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKe + + extern "C" void SymbolKey_DelSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey) + { +- SymbolKey_SymbolTree i; +- SymbolKey_SymbolTree child; +- SymbolKey_SymbolTree father; ++ SymbolKey_SymbolTree__opaque i; ++ SymbolKey_SymbolTree__opaque child; ++ SymbolKey_SymbolTree__opaque father; + +- FindNodeParentInTree (t, NameKey, &child, &father); /* find father and child of the node */ ++ FindNodeParentInTree (static_cast (t), NameKey, &child, &father); /* find father and child of the node */ + if ((child != NULL) && (child->KeyName == NameKey)) + { + /* Have found the node to be deleted */ +@@ -471,7 +466,7 @@ extern "C" void SymbolKey_DelSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKe + + extern "C" bool SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t) + { +- return t->Left == NULL; ++ return static_cast (t)->Left == NULL; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -487,7 +482,7 @@ extern "C" bool SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t) + + extern "C" bool SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) + { +- return SearchForAny (t->Left, P); ++ return SearchForAny (static_cast (t)->Left, P); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -502,7 +497,7 @@ extern "C" bool SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_ + + extern "C" void SymbolKey_ForeachNodeDo (SymbolKey_SymbolTree t, SymbolKey_PerformOperation P) + { +- SearchAndDo (t->Left, P); ++ SearchAndDo (static_cast (t)->Left, P); + } + + +@@ -512,10 +507,10 @@ extern "C" void SymbolKey_ForeachNodeDo (SymbolKey_SymbolTree t, SymbolKey_Perfo + + extern "C" bool SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey) + { +- SymbolKey_SymbolTree father; +- SymbolKey_SymbolTree child; ++ SymbolKey_SymbolTree__opaque father; ++ SymbolKey_SymbolTree__opaque child; + +- FindNodeParentInTree (t, NameKey, &child, &father); ++ FindNodeParentInTree (static_cast (t), NameKey, &child, &father); + return child != NULL; + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); +@@ -528,7 +523,7 @@ extern "C" bool SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name N + + extern "C" unsigned int SymbolKey_NoOfNodes (SymbolKey_SymbolTree t, SymbolKey_IsSymbol condition) + { +- return CountNodes (t->Left, condition, 0); ++ return CountNodes (static_cast (t)->Left, condition, 0); + /* static analysis guarentees a RETURN statement will be used before here. */ + __builtin_unreachable (); + } +@@ -543,15 +538,15 @@ extern "C" void SymbolKey_ForeachNodeConditionDo (SymbolKey_SymbolTree t, Symbol + { + if (t != NULL) + { +- Assertion_Assert (t->Right == NULL); +- SearchConditional (t->Left, condition, P); ++ Assertion_Assert (static_cast (t)->Right == NULL); ++ SearchConditional (static_cast (t)->Left, condition, P); + } + } + +-extern "C" void _M2_SymbolKey_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SymbolKey_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } + +-extern "C" void _M2_SymbolKey_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) ++extern "C" void _M2_SymbolKey_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[]) + { + } +--- a/src/gcc/m2/pge-boot/GSysExceptions.cc ++++ b/src/gcc/m2/pge-boot/GSysExceptions.cc +@@ -24,6 +24,16 @@ along with GNU Modula-2; see the file COPYING3. If not see + + #include "gm2-libs-host.h" + ++#ifdef MC_M2 ++#include "GSysExceptions.h" ++#define DECL_PROC_T(X) SysExceptions_PROCEXCEPTION X ++#define PROC_FUNC(X) X.proc ++#else ++#define DECL_PROC_T(X) void (*X) (void *) ++#define PROC_FUNC(X) X ++#endif ++ ++#undef EXTERN + #if defined(__cplusplus) + #define EXTERN extern "C" + #else +@@ -68,13 +78,11 @@ along with GNU Modula-2; see the file COPYING3. If not see + #define SIGSYS 31 /* Bad system call. */ + #define SIGUNUSED 31 + +- + (indexException, rangeException, caseSelectException, invalidLocation, + functionException, wholeValueException, wholeDivException, realValueException, + realDivException, complexValueException, complexDivException, protException, + sysException, coException, exException + ); +- + #endif + + /* wholeDivException and realDivException are caught by SIGFPE +@@ -106,6 +114,7 @@ static void (*systemProc) (void *); + static void (*coroutineProc) (void *); + static void (*exceptionProc) (void *); + ++ + static void + sigbusDespatcher (int signum, siginfo_t *info, void *ucontext) + { +@@ -159,32 +168,39 @@ sigfpeDespatcher (int signum, siginfo_t *info, void *ucontext) + + EXTERN + void +-SysExceptions_InitExceptionHandlers ( +- void (*indexf) (void *), void (*range) (void *), void (*casef) (void *), +- void (*invalidloc) (void *), void (*function) (void *), +- void (*wholevalue) (void *), void (*wholediv) (void *), +- void (*realvalue) (void *), void (*realdiv) (void *), +- void (*complexvalue) (void *), void (*complexdiv) (void *), +- void (*protection) (void *), void (*systemf) (void *), +- void (*coroutine) (void *), void (*exception) (void *)) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + struct sigaction old; + +- indexProc = indexf; +- rangeProc = range; +- caseProc = casef; +- invalidlocProc = invalidloc; +- functionProc = function; +- wholevalueProc = wholevalue; +- wholedivProc = wholediv; +- realvalueProc = realvalue; +- realdivProc = realdiv; +- complexvalueProc = complexvalue; +- complexdivProc = complexdiv; +- protectionProc = protection; +- systemProc = systemf; +- coroutineProc = coroutine; +- exceptionProc = exception; ++ indexProc = PROC_FUNC (indexf); ++ rangeProc = PROC_FUNC (range); ++ caseProc = PROC_FUNC (casef); ++ invalidlocProc = PROC_FUNC (invalidloc); ++ functionProc = PROC_FUNC (function); ++ wholevalueProc = PROC_FUNC (wholevalue); ++ wholedivProc = PROC_FUNC (wholediv); ++ realvalueProc = PROC_FUNC (realvalue); ++ realdivProc = PROC_FUNC (realdiv); ++ complexvalueProc = PROC_FUNC (complexvalue); ++ complexdivProc = PROC_FUNC (complexdiv); ++ protectionProc = PROC_FUNC (protection); ++ systemProc = PROC_FUNC (systemf); ++ coroutineProc = PROC_FUNC (coroutine); ++ exceptionProc = PROC_FUNC (exception); + + sigbus.sa_sigaction = sigbusDespatcher; + sigbus.sa_flags = (SA_SIGINFO); +@@ -211,13 +227,21 @@ SysExceptions_InitExceptionHandlers ( + #else + EXTERN + void +-SysExceptions_InitExceptionHandlers (void *indexf, void *range, void *casef, +- void *invalidloc, void *function, +- void *wholevalue, void *wholediv, +- void *realvalue, void *realdiv, +- void *complexvalue, void *complexdiv, +- void *protection, void *systemf, +- void *coroutine, void *exception) ++SysExceptions_InitExceptionHandlers (DECL_PROC_T(indexf), ++ DECL_PROC_T(range), ++ DECL_PROC_T(casef), ++ DECL_PROC_T(invalidloc), ++ DECL_PROC_T(function), ++ DECL_PROC_T(wholevalue), ++ DECL_PROC_T(wholediv), ++ DECL_PROC_T(realvalue), ++ DECL_PROC_T(realdiv), ++ DECL_PROC_T(complexvalue), ++ DECL_PROC_T(complexdiv), ++ DECL_PROC_T(protection), ++ DECL_PROC_T(systemf), ++ DECL_PROC_T(coroutine), ++ DECL_PROC_T(exception)) + { + } + #endif +@@ -226,12 +250,12 @@ SysExceptions_InitExceptionHandlers (void *indexf, void *range, void *casef, + + EXTERN + void +-_M2_SysExceptions_init (void) ++_M2_SysExceptions_init (int argc, char *argv[], char *envp[]) + { + } + + EXTERN + void +-_M2_SysExceptions_fini (void) ++_M2_SysExceptions_fini (int argc, char *argv[], char *envp[]) + { + } +--- a/src/gcc/m2/pge-boot/GUnixArgs.cc ++++ b/src/gcc/m2/pge-boot/GUnixArgs.cc +@@ -88,6 +88,6 @@ struct _M2_UnixArgs_ctor { _M2_UnixArgs_ctor (); } _M2_UnixArgs_ctor; + + _M2_UnixArgs_ctor::_M2_UnixArgs_ctor (void) + { +- M2RTS_RegisterModule ("UnixArgs", LIBNAME, _M2_UnixArgs_init, _M2_UnixArgs_fini, +- _M2_UnixArgs_dep); ++ M2RTS_RegisterModule_Cstr ("UnixArgs", LIBNAME, _M2_UnixArgs_init, ++ _M2_UnixArgs_fini, _M2_UnixArgs_dep); + } +--- a/src/gcc/m2/pge-boot/Gerrno.cc ++++ b/src/gcc/m2/pge-boot/Gerrno.cc +@@ -38,14 +38,14 @@ errno_geterrno (void) + /* init constructor for the module. */ + + void +-_M2_errno_init (int argc, char *p) ++_M2_errno_init (int argc, char *argv[], char *envp[]) + { + } + + /* finish deconstructor for the module. */ + + void +-_M2_errno_fini (int argc, char *p) ++_M2_errno_fini (int argc, char *argv[], char *envp[]) + { + } + +--- a/src/gcc/m2/pge-boot/Gldtoa.cc ++++ b/src/gcc/m2/pge-boot/Gldtoa.cc +@@ -43,22 +43,22 @@ extern int dtoa_calcsign (char *p, int str_size); + (ndigits may be negative). */ + + long double +-ldtoa_strtold (const char *s, int *error) ++ldtoa_strtold (void *s, bool *error) + { + char *endp; + long double d; + + errno = 0; + #if defined(HAVE_STRTOLD) +- d = strtold (s, &endp); ++ d = strtold (reinterpret_cast (s), &endp); + #else + /* fall back to using strtod. */ +- d = (long double)strtod (s, &endp); ++ d = (long double) strtod (reinterpret_cast (s), &endp); + #endif + if (endp != NULL && (*endp == '\0')) + *error = (errno != 0); + else +- *error = TRUE; ++ *error = true; + return d; + } + +--- a/src/gcc/m2/pge-boot/Gldtoa.h ++++ b/src/gcc/m2/pge-boot/Gldtoa.h +@@ -57,7 +57,7 @@ typedef enum {ldtoa_maxsignificant, ldtoa_decimaldigits} ldtoa_Mode; + error to TRUE if the number is too large or badly formed. + */ + +-EXTERN long double ldtoa_strtold (void * s, bool *error); ++EXTERN long double ldtoa_strtold (void *s, bool *error); + + /* + ldtoa - converts a LONGREAL, d, into a string. The address of the +--- a/src/gcc/m2/pge-boot/Glibc.cc ++++ b/src/gcc/m2/pge-boot/Glibc.cc +@@ -29,15 +29,15 @@ along with GNU Modula-2; see the file COPYING3. If not see + #endif + + EXTERN +-int +-libc_read (int fd, void *a, int nbytes) ++size_t ++libc_read (int fd, void *a, size_t nbytes) + { + return read (fd, a, nbytes); + } + + EXTERN +-int +-libc_write (int fd, void *a, int nbytes) ++size_t ++libc_write (int fd, void *a, size_t nbytes) + { + return write (fd, a, nbytes); + } +@@ -58,7 +58,7 @@ libc_exit (int code) + + EXTERN + void +-libc_perror (char *s) ++libc_perror (const char *s) + { + perror (s); + } +@@ -71,7 +71,7 @@ libc_abort () + } + + EXTERN +-int ++size_t + libc_strlen (char *s) + { + return strlen (s); +@@ -79,7 +79,7 @@ libc_strlen (char *s) + + EXTERN + int +-libc_printf (char *_format, unsigned int _format_high, ...) ++libc_printf (const char *_format, unsigned int _format_high, ...) + { + va_list arg; + int done; +@@ -90,7 +90,7 @@ libc_printf (char *_format, unsigned int _format_high, ...) + + do + { +- c = index (&_format[i], '\\'); ++ c = index (&const_cast (_format)[i], '\\'); + if (c == NULL) + strcpy (&format[j], &_format[i]); + else +@@ -117,7 +117,7 @@ libc_printf (char *_format, unsigned int _format_high, ...) + + EXTERN + int +-libc_snprintf (char *dest, size_t length, char *_format, unsigned int _format_high, ...) ++libc_snprintf (void *dest, size_t length, const char *_format, unsigned int _format_high, ...) + { + va_list arg; + int done; +@@ -128,7 +128,7 @@ libc_snprintf (char *dest, size_t length, char *_format, unsigned int _format_hi + + do + { +- c = index (&_format[i], '\\'); ++ c = index (&const_cast (_format)[i], '\\'); + if (c == NULL) + strcpy (&format[j], &_format[i]); + else +@@ -147,14 +147,14 @@ libc_snprintf (char *dest, size_t length, char *_format, unsigned int _format_hi + while (c != NULL); + + va_start (arg, _format_high); +- done = vsnprintf (dest, length, format, arg); ++ done = vsnprintf (reinterpret_cast (dest), length, format, arg); + va_end (arg); + return done; + } + + EXTERN + void * +-libc_malloc (unsigned int size) ++libc_malloc (size_t size) + { + return malloc (size); + } +@@ -196,9 +196,9 @@ libc_system (char *command) + + EXTERN + void * +-libc_memcpy (void *dest, void *src, int n) ++libc_memcpy (void *dest, void *src, size_t nbytes) + { +- return memcpy (dest, src, n); ++ return memcpy (dest, src, nbytes); + } + + EXTERN +@@ -224,9 +224,9 @@ libc_creat (char *p, mode_t mode) + + EXTERN + int +-libc_open (char *p, int flags, mode_t mode) ++libc_open (void *p, int oflag, int mode) + { +- return open (p, flags, mode); ++ return open (reinterpret_cast (p), oflag, mode); + } + + EXTERN +--- a/src/gcc/m2/pge-boot/Glibc.h ++++ b/src/gcc/m2/pge-boot/Glibc.h +@@ -178,7 +178,7 @@ EXTERN int libc_close (int d); + open - open the file, filename with flag and mode. + */ + +-EXTERN int libc_open (void * filename, int oflag, ...); ++EXTERN int libc_open (void * filename, int oflag, int mode); + + /* + creat - creates a new file +@@ -198,7 +198,7 @@ EXTERN ssize_t libc_lseek (int fd, ssize_t offset, int whence); + perror - writes errno and string. (ARRAY OF CHAR is translated onto ADDRESS). + */ + +-EXTERN void libc_perror (const char *string_, unsigned int _string_high); ++EXTERN void libc_perror (const char *str); + + /* + readv - reads an io vector of bytes. +--- a/src/gcc/m2/pge-boot/Gpge.cc ++++ b/src/gcc/m2/pge-boot/Gpge.cc +@@ -504,20 +504,20 @@ static void EndModName (pge_SetOfStop stop); + static void DoDeclaration (pge_SetOfStop stop); + + /* +- CollectLiteral := ++ CollectLiteral := + % LastLiteral := GetCurrentToken() ; + AdvanceToken ; % +- ++ + + first symbols:literaltok +- ++ + cannot reachend + */ + + static void CollectLiteral (pge_SetOfStop stopset); + + /* +- CollectTok := ++ CollectTok := + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := tokel ; +@@ -532,46 +532,46 @@ static void CollectLiteral (pge_SetOfStop stopset); + INC(LargestValue) + END ; + AdvanceToken() ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + + static void CollectTok (pge_SetOfStop stopset); + + /* +- DefineToken := ++ DefineToken := + % AddEntry(Aliases, LastLiteral, GetCurrentToken()) ; + AddEntry(ReverseAliases, GetCurrentToken(), LastLiteral) ; + AddEntry(Values, GetCurrentToken(), LargestValue) ; + AddEntry(ReverseValues, Name(LargestValue), GetCurrentToken()) ; + INC(LargestValue) ; + AdvanceToken ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + + static void DefineToken (pge_SetOfStop stopset); + + /* +- Rules := '%' 'rules' { Defs } ExtBNF ++ Rules := '%' 'rules' { Defs } ExtBNF + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Rules (pge_SetOfStop stopset); + + /* +- Special := Ident ++ Special := Ident + % VAR p: ProductionDesc ; % +- ++ + % p := NewProduction() ; + p^.statement := NewStatement() ; + p^.statement^.followinfo^.calcfollow := TRUE ; +@@ -583,31 +583,31 @@ static void Rules (pge_SetOfStop stopset); + p^.followinfo^.calcfollow := TRUE ; + p^.followinfo^.epsilon := false ; + p^.followinfo^.reachend := false % +- First Follow [ 'epsilon' +- % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging ++ First Follow [ 'epsilon' ++ % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging + p^.statement^.followinfo^.reachend := true ; + p^.followinfo^.epsilon := true ; + p^.followinfo^.reachend := true + % +- ] [ Literal ++ ] [ Literal + % p^.description := LastLiteral % +- ] ++ ] + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Special (pge_SetOfStop stopset); + + /* +- Factor := '%' Modula2Code '%' | +- Ident ++ Factor := '%' Modula2Code '%' | ++ Ident + % WITH CurrentFactor^ DO + type := id ; + ident := CurrentIdent + END ; % +- | Literal ++ | Literal + % WITH CurrentFactor^ DO + type := lit ; + string := LastLiteral ; +@@ -616,39 +616,39 @@ static void Special (pge_SetOfStop stopset); + WarnError1('no token defined for literal %s', LastLiteral) + END + END ; % +- | '{' ++ | '{' + % WITH CurrentFactor^ DO + type := mult ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression '}' | '[' ++ Expression '}' | '[' + % WITH CurrentFactor^ DO + type := opt ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ']' | '(' ++ Expression ']' | '(' + % WITH CurrentFactor^ DO + type := sub ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ')' ++ Expression ')' + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + + static void Factor (pge_SetOfStop stopset); + + /* +- Statement := ++ Statement := + % VAR i: IdentDesc ; % +- Ident ++ Ident + % VAR p: ProductionDesc ; % +- ++ + % p := FindDefinition(CurrentIdent^.name) ; + IF p=NIL + THEN +@@ -660,264 +660,264 @@ static void Factor (pge_SetOfStop stopset); + END + END ; + i := CurrentIdent ; % +- ':=' ++ ':=' + % VAR e: ExpressionDesc ; % +- ++ + % e := NewExpression() ; + CurrentExpression := e ; % +- ++ + % VAR s: StatementDesc ; % +- ++ + % s := NewStatement() ; + WITH s^ DO + ident := i ; + expr := e + END ; % +- Expression ++ Expression + % p^.statement := s ; % +- '=:' ++ '=:' + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Statement (pge_SetOfStop stopset); + + /* +- Defs := 'special' Special | 'token' Token | +- 'error' ErrorProcedures | +- 'tokenfunc' TokenProcedure | +- 'symfunc' SymProcedure ++ Defs := 'special' Special | 'token' Token | ++ 'error' ErrorProcedures | ++ 'tokenfunc' TokenProcedure | ++ 'symfunc' SymProcedure + + first symbols:symfunctok, tfunctok, errortok, tokentok, specialtok +- ++ + cannot reachend + */ + + static void Defs (pge_SetOfStop stopset); + + /* +- ExtBNF := 'BNF' { Production } 'FNB' ++ ExtBNF := 'BNF' { Production } 'FNB' + + first symbols:BNFtok +- ++ + cannot reachend + */ + + static void ExtBNF (pge_SetOfStop stopset); + + /* +- Main := Header Decls Footer Rules ++ Main := Header Decls Footer Rules + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Main (pge_SetOfStop stopset); + + /* +- Header := '%' 'module' StartModName ++ Header := '%' 'module' StartModName + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Header (pge_SetOfStop stopset); + + /* +- Decls := '%' 'declaration' DoDeclaration ++ Decls := '%' 'declaration' DoDeclaration + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Decls (pge_SetOfStop stopset); + + /* +- Footer := '%' 'module' EndModName ++ Footer := '%' 'module' EndModName + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Footer (pge_SetOfStop stopset); + + /* +- First := 'first' '{' { LitOrTokenOrIdent ++ First := 'first' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.first ; + END ; + TailProduction^.first := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:firsttok +- ++ + cannot reachend + */ + + static void First (pge_SetOfStop stopset); + + /* +- Follow := 'follow' '{' { LitOrTokenOrIdent ++ Follow := 'follow' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.followinfo^.follow ; + END ; + TailProduction^.followinfo^.follow := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:followtok +- ++ + cannot reachend + */ + + static void Follow (pge_SetOfStop stopset); + + /* +- LitOrTokenOrIdent := Literal ++ LitOrTokenOrIdent := Literal + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := litel ; + string := LastLiteral ; + END ; + % +- | '<' CollectTok '>' | +- Ident ++ | '<' CollectTok '>' | ++ Ident + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := idel ; + ident := CurrentIdent ; + END ; + % +- ++ + + first symbols:dquotetok, squotetok, identtok, lesstok +- ++ + cannot reachend + */ + + static void LitOrTokenOrIdent (pge_SetOfStop stopset); + + /* +- Literal := '"' CollectLiteral '"' | +- "'" CollectLiteral "'" ++ Literal := '"' CollectLiteral '"' | ++ "'" CollectLiteral "'" + + first symbols:squotetok, dquotetok +- ++ + cannot reachend + */ + + static void Literal (pge_SetOfStop stopset); + + /* +- Token := Literal DefineToken ++ Token := Literal DefineToken + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void Token (pge_SetOfStop stopset); + + /* +- ErrorProcedures := Literal ++ ErrorProcedures := Literal + % ErrorProcArray := LastLiteral % +- Literal ++ Literal + % ErrorProcString := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void ErrorProcedures (pge_SetOfStop stopset); + + /* +- TokenProcedure := Literal ++ TokenProcedure := Literal + % TokenTypeProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void TokenProcedure (pge_SetOfStop stopset); + + /* +- SymProcedure := Literal ++ SymProcedure := Literal + % SymIsProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void SymProcedure (pge_SetOfStop stopset); + + /* +- Production := Statement ++ Production := Statement + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Production (pge_SetOfStop stopset); + + /* +- Expression := ++ Expression := + % VAR t1, t2: TermDesc ; + e : ExpressionDesc ; % +- ++ + % e := CurrentExpression ; + t1 := NewTerm() ; + CurrentTerm := t1 ; % +- Term ++ Term + % e^.term := t1 ; % +- { '|' ++ { '|' + % t2 := NewTerm() ; + CurrentTerm := t2 % +- Term ++ Term + % t1^.next := t2 ; + t1 := t2 % +- } ++ } + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + + static void Expression (pge_SetOfStop stopset); + + /* +- Term := ++ Term := + % VAR t1: TermDesc ; f1, f2: FactorDesc ; % +- ++ + % CurrentFactor := NewFactor() ; + f1 := CurrentFactor ; + t1 := CurrentTerm ; % +- Factor ++ Factor + % t1^.factor := f1 ; + f2 := NewFactor() ; + CurrentFactor := f2 % +- { Factor ++ { Factor + % f1^.next := f2 ; + f1 := f2 ; + f2 := NewFactor() ; + CurrentFactor := f2 ; % +- } ++ } + + first symbols:squotetok, dquotetok, codetok, identtok, lcparatok, lsparatok, lparatok +- ++ + cannot reachend + */ + +@@ -1994,20 +1994,20 @@ static void EndModName (pge_SetOfStop stop); + static void DoDeclaration (pge_SetOfStop stop); + + /* +- CollectLiteral := ++ CollectLiteral := + % LastLiteral := GetCurrentToken() ; + AdvanceToken ; % +- ++ + + first symbols:literaltok +- ++ + cannot reachend + */ + + static void CollectLiteral (pge_SetOfStop stopset); + + /* +- CollectTok := ++ CollectTok := + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := tokel ; +@@ -2022,46 +2022,46 @@ static void CollectLiteral (pge_SetOfStop stopset); + INC(LargestValue) + END ; + AdvanceToken() ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + + static void CollectTok (pge_SetOfStop stopset); + + /* +- DefineToken := ++ DefineToken := + % AddEntry(Aliases, LastLiteral, GetCurrentToken()) ; + AddEntry(ReverseAliases, GetCurrentToken(), LastLiteral) ; + AddEntry(Values, GetCurrentToken(), LargestValue) ; + AddEntry(ReverseValues, Name(LargestValue), GetCurrentToken()) ; + INC(LargestValue) ; + AdvanceToken ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + + static void DefineToken (pge_SetOfStop stopset); + + /* +- Rules := '%' 'rules' { Defs } ExtBNF ++ Rules := '%' 'rules' { Defs } ExtBNF + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Rules (pge_SetOfStop stopset); + + /* +- Special := Ident ++ Special := Ident + % VAR p: ProductionDesc ; % +- ++ + % p := NewProduction() ; + p^.statement := NewStatement() ; + p^.statement^.followinfo^.calcfollow := TRUE ; +@@ -2073,31 +2073,31 @@ static void Rules (pge_SetOfStop stopset); + p^.followinfo^.calcfollow := TRUE ; + p^.followinfo^.epsilon := false ; + p^.followinfo^.reachend := false % +- First Follow [ 'epsilon' +- % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging ++ First Follow [ 'epsilon' ++ % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging + p^.statement^.followinfo^.reachend := true ; + p^.followinfo^.epsilon := true ; + p^.followinfo^.reachend := true + % +- ] [ Literal ++ ] [ Literal + % p^.description := LastLiteral % +- ] ++ ] + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Special (pge_SetOfStop stopset); + + /* +- Factor := '%' Modula2Code '%' | +- Ident ++ Factor := '%' Modula2Code '%' | ++ Ident + % WITH CurrentFactor^ DO + type := id ; + ident := CurrentIdent + END ; % +- | Literal ++ | Literal + % WITH CurrentFactor^ DO + type := lit ; + string := LastLiteral ; +@@ -2106,39 +2106,39 @@ static void Special (pge_SetOfStop stopset); + WarnError1('no token defined for literal %s', LastLiteral) + END + END ; % +- | '{' ++ | '{' + % WITH CurrentFactor^ DO + type := mult ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression '}' | '[' ++ Expression '}' | '[' + % WITH CurrentFactor^ DO + type := opt ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ']' | '(' ++ Expression ']' | '(' + % WITH CurrentFactor^ DO + type := sub ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ')' ++ Expression ')' + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + + static void Factor (pge_SetOfStop stopset); + + /* +- Statement := ++ Statement := + % VAR i: IdentDesc ; % +- Ident ++ Ident + % VAR p: ProductionDesc ; % +- ++ + % p := FindDefinition(CurrentIdent^.name) ; + IF p=NIL + THEN +@@ -2150,264 +2150,264 @@ static void Factor (pge_SetOfStop stopset); + END + END ; + i := CurrentIdent ; % +- ':=' ++ ':=' + % VAR e: ExpressionDesc ; % +- ++ + % e := NewExpression() ; + CurrentExpression := e ; % +- ++ + % VAR s: StatementDesc ; % +- ++ + % s := NewStatement() ; + WITH s^ DO + ident := i ; + expr := e + END ; % +- Expression ++ Expression + % p^.statement := s ; % +- '=:' ++ '=:' + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Statement (pge_SetOfStop stopset); + + /* +- Defs := 'special' Special | 'token' Token | +- 'error' ErrorProcedures | +- 'tokenfunc' TokenProcedure | +- 'symfunc' SymProcedure ++ Defs := 'special' Special | 'token' Token | ++ 'error' ErrorProcedures | ++ 'tokenfunc' TokenProcedure | ++ 'symfunc' SymProcedure + + first symbols:symfunctok, tfunctok, errortok, tokentok, specialtok +- ++ + cannot reachend + */ + + static void Defs (pge_SetOfStop stopset); + + /* +- ExtBNF := 'BNF' { Production } 'FNB' ++ ExtBNF := 'BNF' { Production } 'FNB' + + first symbols:BNFtok +- ++ + cannot reachend + */ + + static void ExtBNF (pge_SetOfStop stopset); + + /* +- Main := Header Decls Footer Rules ++ Main := Header Decls Footer Rules + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Main (pge_SetOfStop stopset); + + /* +- Header := '%' 'module' StartModName ++ Header := '%' 'module' StartModName + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Header (pge_SetOfStop stopset); + + /* +- Decls := '%' 'declaration' DoDeclaration ++ Decls := '%' 'declaration' DoDeclaration + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Decls (pge_SetOfStop stopset); + + /* +- Footer := '%' 'module' EndModName ++ Footer := '%' 'module' EndModName + + first symbols:codetok +- ++ + cannot reachend + */ + + static void Footer (pge_SetOfStop stopset); + + /* +- First := 'first' '{' { LitOrTokenOrIdent ++ First := 'first' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.first ; + END ; + TailProduction^.first := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:firsttok +- ++ + cannot reachend + */ + + static void First (pge_SetOfStop stopset); + + /* +- Follow := 'follow' '{' { LitOrTokenOrIdent ++ Follow := 'follow' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.followinfo^.follow ; + END ; + TailProduction^.followinfo^.follow := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:followtok +- ++ + cannot reachend + */ + + static void Follow (pge_SetOfStop stopset); + + /* +- LitOrTokenOrIdent := Literal ++ LitOrTokenOrIdent := Literal + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := litel ; + string := LastLiteral ; + END ; + % +- | '<' CollectTok '>' | +- Ident ++ | '<' CollectTok '>' | ++ Ident + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := idel ; + ident := CurrentIdent ; + END ; + % +- ++ + + first symbols:dquotetok, squotetok, identtok, lesstok +- ++ + cannot reachend + */ + + static void LitOrTokenOrIdent (pge_SetOfStop stopset); + + /* +- Literal := '"' CollectLiteral '"' | +- "'" CollectLiteral "'" ++ Literal := '"' CollectLiteral '"' | ++ "'" CollectLiteral "'" + + first symbols:squotetok, dquotetok +- ++ + cannot reachend + */ + + static void Literal (pge_SetOfStop stopset); + + /* +- Token := Literal DefineToken ++ Token := Literal DefineToken + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void Token (pge_SetOfStop stopset); + + /* +- ErrorProcedures := Literal ++ ErrorProcedures := Literal + % ErrorProcArray := LastLiteral % +- Literal ++ Literal + % ErrorProcString := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void ErrorProcedures (pge_SetOfStop stopset); + + /* +- TokenProcedure := Literal ++ TokenProcedure := Literal + % TokenTypeProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void TokenProcedure (pge_SetOfStop stopset); + + /* +- SymProcedure := Literal ++ SymProcedure := Literal + % SymIsProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + + static void SymProcedure (pge_SetOfStop stopset); + + /* +- Production := Statement ++ Production := Statement + + first symbols:identtok +- ++ + cannot reachend + */ + + static void Production (pge_SetOfStop stopset); + + /* +- Expression := ++ Expression := + % VAR t1, t2: TermDesc ; + e : ExpressionDesc ; % +- ++ + % e := CurrentExpression ; + t1 := NewTerm() ; + CurrentTerm := t1 ; % +- Term ++ Term + % e^.term := t1 ; % +- { '|' ++ { '|' + % t2 := NewTerm() ; + CurrentTerm := t2 % +- Term ++ Term + % t1^.next := t2 ; + t1 := t2 % +- } ++ } + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + + static void Expression (pge_SetOfStop stopset); + + /* +- Term := ++ Term := + % VAR t1: TermDesc ; f1, f2: FactorDesc ; % +- ++ + % CurrentFactor := NewFactor() ; + f1 := CurrentFactor ; + t1 := CurrentTerm ; % +- Factor ++ Factor + % t1^.factor := f1 ; + f2 := NewFactor() ; + CurrentFactor := f2 % +- { Factor ++ { Factor + % f1^.next := f2 ; + f1 := f2 ; + f2 := NewFactor() ; + CurrentFactor := f2 ; % +- } ++ } + + first symbols:squotetok, dquotetok, codetok, identtok, lcparatok, lsparatok, lparatok +- ++ + cannot reachend + */ + +@@ -4466,13 +4466,13 @@ static void DoDeclaration (pge_SetOfStop stop) + + + /* +- CollectLiteral := ++ CollectLiteral := + % LastLiteral := GetCurrentToken() ; + AdvanceToken ; % +- ++ + + first symbols:literaltok +- ++ + cannot reachend + */ + +@@ -4484,7 +4484,7 @@ static void CollectLiteral (pge_SetOfStop stopset) + + + /* +- CollectTok := ++ CollectTok := + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := tokel ; +@@ -4499,10 +4499,10 @@ static void CollectLiteral (pge_SetOfStop stopset) + INC(LargestValue) + END ; + AdvanceToken() ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + +@@ -4524,17 +4524,17 @@ static void CollectTok (pge_SetOfStop stopset) + + + /* +- DefineToken := ++ DefineToken := + % AddEntry(Aliases, LastLiteral, GetCurrentToken()) ; + AddEntry(ReverseAliases, GetCurrentToken(), LastLiteral) ; + AddEntry(Values, GetCurrentToken(), LargestValue) ; + AddEntry(ReverseValues, Name(LargestValue), GetCurrentToken()) ; + INC(LargestValue) ; + AdvanceToken ; % +- ++ + + first symbols:identtok +- ++ + cannot reachend + */ + +@@ -4550,10 +4550,10 @@ static void DefineToken (pge_SetOfStop stopset) + + + /* +- Rules := '%' 'rules' { Defs } ExtBNF ++ Rules := '%' 'rules' { Defs } ExtBNF + + first symbols:codetok +- ++ + cannot reachend + */ + +@@ -4571,9 +4571,9 @@ static void Rules (pge_SetOfStop stopset) + + + /* +- Special := Ident ++ Special := Ident + % VAR p: ProductionDesc ; % +- ++ + % p := NewProduction() ; + p^.statement := NewStatement() ; + p^.statement^.followinfo^.calcfollow := TRUE ; +@@ -4585,18 +4585,18 @@ static void Rules (pge_SetOfStop stopset) + p^.followinfo^.calcfollow := TRUE ; + p^.followinfo^.epsilon := false ; + p^.followinfo^.reachend := false % +- First Follow [ 'epsilon' +- % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging ++ First Follow [ 'epsilon' ++ % p^.statement^.followinfo^.epsilon := true ; these are not used - but they are displayed when debugging + p^.statement^.followinfo^.reachend := true ; + p^.followinfo^.epsilon := true ; + p^.followinfo^.reachend := true + % +- ] [ Literal ++ ] [ Literal + % p^.description := LastLiteral % +- ] ++ ] + + first symbols:identtok +- ++ + cannot reachend + */ + +@@ -4635,13 +4635,13 @@ static void Special (pge_SetOfStop stopset) + + + /* +- Factor := '%' Modula2Code '%' | +- Ident ++ Factor := '%' Modula2Code '%' | ++ Ident + % WITH CurrentFactor^ DO + type := id ; + ident := CurrentIdent + END ; % +- | Literal ++ | Literal + % WITH CurrentFactor^ DO + type := lit ; + string := LastLiteral ; +@@ -4650,28 +4650,28 @@ static void Special (pge_SetOfStop stopset) + WarnError1('no token defined for literal %s', LastLiteral) + END + END ; % +- | '{' ++ | '{' + % WITH CurrentFactor^ DO + type := mult ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression '}' | '[' ++ Expression '}' | '[' + % WITH CurrentFactor^ DO + type := opt ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ']' | '(' ++ Expression ']' | '(' + % WITH CurrentFactor^ DO + type := sub ; + expr := NewExpression() ; + CurrentExpression := expr ; + END ; % +- Expression ')' ++ Expression ')' + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + +@@ -4740,11 +4740,11 @@ static void Factor (pge_SetOfStop stopset) + + + /* +- Statement := ++ Statement := + % VAR i: IdentDesc ; % +- Ident ++ Ident + % VAR p: ProductionDesc ; % +- ++ + % p := FindDefinition(CurrentIdent^.name) ; + IF p=NIL + THEN +@@ -4756,25 +4756,25 @@ static void Factor (pge_SetOfStop stopset) + END + END ; + i := CurrentIdent ; % +- ':=' ++ ':=' + % VAR e: ExpressionDesc ; % +- ++ + % e := NewExpression() ; + CurrentExpression := e ; % +- ++ + % VAR s: StatementDesc ; % +- ++ + % s := NewStatement() ; + WITH s^ DO + ident := i ; + expr := e + END ; % +- Expression ++ Expression + % p^.statement := s ; % +- '=:' ++ '=:' + + first symbols:identtok +- ++ + cannot reachend + */ + +@@ -4812,13 +4812,13 @@ static void Statement (pge_SetOfStop stopset) + + + /* +- Defs := 'special' Special | 'token' Token | +- 'error' ErrorProcedures | +- 'tokenfunc' TokenProcedure | +- 'symfunc' SymProcedure ++ Defs := 'special' Special | 'token' Token | ++ 'error' ErrorProcedures | ++ 'tokenfunc' TokenProcedure | ++ 'symfunc' SymProcedure + + first symbols:symfunctok, tfunctok, errortok, tokentok, specialtok +- ++ + cannot reachend + */ + +@@ -4862,10 +4862,10 @@ static void Defs (pge_SetOfStop stopset) + + + /* +- ExtBNF := 'BNF' { Production } 'FNB' ++ ExtBNF := 'BNF' { Production } 'FNB' + + first symbols:BNFtok +- ++ + cannot reachend + */ + +@@ -4882,10 +4882,10 @@ static void ExtBNF (pge_SetOfStop stopset) + + + /* +- Main := Header Decls Footer Rules ++ Main := Header Decls Footer Rules + + first symbols:codetok +- ++ + cannot reachend + */ + +@@ -4899,10 +4899,10 @@ static void Main (pge_SetOfStop stopset) + + + /* +- Header := '%' 'module' StartModName ++ Header := '%' 'module' StartModName + + first symbols:codetok +- ++ + cannot reachend + */ + +@@ -4915,10 +4915,10 @@ static void Header (pge_SetOfStop stopset) + + + /* +- Decls := '%' 'declaration' DoDeclaration ++ Decls := '%' 'declaration' DoDeclaration + + first symbols:codetok +- ++ + cannot reachend + */ + +@@ -4931,10 +4931,10 @@ static void Decls (pge_SetOfStop stopset) + + + /* +- Footer := '%' 'module' EndModName ++ Footer := '%' 'module' EndModName + + first symbols:codetok +- ++ + cannot reachend + */ + +@@ -4947,16 +4947,16 @@ static void Footer (pge_SetOfStop stopset) + + + /* +- First := 'first' '{' { LitOrTokenOrIdent ++ First := 'first' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.first ; + END ; + TailProduction^.first := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:firsttok +- ++ + cannot reachend + */ + +@@ -4976,16 +4976,16 @@ static void First (pge_SetOfStop stopset) + + + /* +- Follow := 'follow' '{' { LitOrTokenOrIdent ++ Follow := 'follow' '{' { LitOrTokenOrIdent + % WITH CurrentSetDesc^ DO + next := TailProduction^.followinfo^.follow ; + END ; + TailProduction^.followinfo^.follow := CurrentSetDesc + % +- } '}' ++ } '}' + + first symbols:followtok +- ++ + cannot reachend + */ + +@@ -5005,25 +5005,25 @@ static void Follow (pge_SetOfStop stopset) + + + /* +- LitOrTokenOrIdent := Literal ++ LitOrTokenOrIdent := Literal + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := litel ; + string := LastLiteral ; + END ; + % +- | '<' CollectTok '>' | +- Ident ++ | '<' CollectTok '>' | ++ Ident + % CurrentSetDesc := NewSetDesc() ; + WITH CurrentSetDesc^ DO + type := idel ; + ident := CurrentIdent ; + END ; + % +- ++ + + first symbols:dquotetok, squotetok, identtok, lesstok +- ++ + cannot reachend + */ + +@@ -5060,11 +5060,11 @@ static void LitOrTokenOrIdent (pge_SetOfStop stopset) + + + /* +- Literal := '"' CollectLiteral '"' | +- "'" CollectLiteral "'" ++ Literal := '"' CollectLiteral '"' | ++ "'" CollectLiteral "'" + + first symbols:squotetok, dquotetok +- ++ + cannot reachend + */ + +@@ -5092,10 +5092,10 @@ static void Literal (pge_SetOfStop stopset) + + + /* +- Token := Literal DefineToken ++ Token := Literal DefineToken + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + +@@ -5107,14 +5107,14 @@ static void Token (pge_SetOfStop stopset) + + + /* +- ErrorProcedures := Literal ++ ErrorProcedures := Literal + % ErrorProcArray := LastLiteral % +- Literal ++ Literal + % ErrorProcString := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + +@@ -5128,12 +5128,12 @@ static void ErrorProcedures (pge_SetOfStop stopset) + + + /* +- TokenProcedure := Literal ++ TokenProcedure := Literal + % TokenTypeProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + +@@ -5145,12 +5145,12 @@ static void TokenProcedure (pge_SetOfStop stopset) + + + /* +- SymProcedure := Literal ++ SymProcedure := Literal + % SymIsProc := LastLiteral % +- ++ + + first symbols:dquotetok, squotetok +- ++ + cannot reachend + */ + +@@ -5162,10 +5162,10 @@ static void SymProcedure (pge_SetOfStop stopset) + + + /* +- Production := Statement ++ Production := Statement + + first symbols:identtok +- ++ + cannot reachend + */ + +@@ -5176,25 +5176,25 @@ static void Production (pge_SetOfStop stopset) + + + /* +- Expression := ++ Expression := + % VAR t1, t2: TermDesc ; + e : ExpressionDesc ; % +- ++ + % e := CurrentExpression ; + t1 := NewTerm() ; + CurrentTerm := t1 ; % +- Term ++ Term + % e^.term := t1 ; % +- { '|' ++ { '|' + % t2 := NewTerm() ; + CurrentTerm := t2 % +- Term ++ Term + % t1^.next := t2 ; + t1 := t2 % +- } ++ } + + first symbols:dquotetok, squotetok, lparatok, lsparatok, lcparatok, identtok, codetok +- ++ + cannot reachend + */ + +@@ -5223,25 +5223,25 @@ static void Expression (pge_SetOfStop stopset) + + + /* +- Term := ++ Term := + % VAR t1: TermDesc ; f1, f2: FactorDesc ; % +- ++ + % CurrentFactor := NewFactor() ; + f1 := CurrentFactor ; + t1 := CurrentTerm ; % +- Factor ++ Factor + % t1^.factor := f1 ; + f2 := NewFactor() ; + CurrentFactor := f2 % +- { Factor ++ { Factor + % f1^.next := f2 ; + f1 := f2 ; + f2 := NewFactor() ; + CurrentFactor := f2 ; % +- } ++ } + + first symbols:squotetok, dquotetok, codetok, identtok, lcparatok, lsparatok, lparatok +- ++ + cannot reachend + */ + +@@ -6321,7 +6321,7 @@ static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge + CodeExpression (f->expr, pge_m2none, inopt, inwhile, consumed, NULL); + if (f->next != NULL) + { +- /* ++ /* + * the test above makes sure that we don't emit a RETURN( TRUE ) + * after a subexpression. Remember sub expressions are not conditional + */ +@@ -6725,7 +6725,7 @@ static void EmitIsInFirst (pge_SetDesc to, pge_m2condition m) + + static void FlushRecoverCode (pge_FactorDesc *codeStack) + { +- /* ++ /* + FlushCode - + */ + if ((*codeStack) != NULL) +@@ -7382,7 +7382,7 @@ static void EmitStopParametersAndFollow (pge_FactorDesc f, pge_m2condition m) + pge_SetDesc to; + + to = NULL; +- /* ++ /* + IF m=m2while + THEN + CalcFirstFactor(f, NIL, to) +@@ -7490,6 +7490,7 @@ static bool FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsi + /* make a local copy of each unbounded array. */ + memcpy (str, str_, _str_high+1); + ++ j = StrLib_StrLen ((const char *) str, _str_high); + t = (*code); + k = (StrLib_StrLen ((const char *) &(*code)->codetext.array[0], MaxCodeHunkLength))+1; + while (t != NULL) +@@ -7952,7 +7953,7 @@ static void WorkOutFollowFactor (pge_FactorDesc f, pge_SetDesc *followset, pge_S + pge_TraverseResult foundepsilon; + pge_TraverseResult canreachend; + +- /* ++ /* + WorkOutFollow - + */ + foundepsilon = pge_true; +@@ -8323,7 +8324,7 @@ static void CalcEpsilonProduction (pge_ProductionDesc p) + { + if (p != NULL) + { +- /* ++ /* + IF p^.statement^.ident^.name=MakeKey('DefinitionModule') + THEN + stop +--- a/src/gcc/m2/pge-boot/Gtermios.cc ++++ b/src/gcc/m2/pge-boot/Gtermios.cc +@@ -24,6 +24,9 @@ along with GNU Modula-2; see the file COPYING3. If not see + + #include "gm2-libs-host.h" + ++#define _termios_C ++#include "Gtermios.h" ++ + #ifdef HAVE_TERMIOS_H + # include + #endif +@@ -193,13 +196,13 @@ EXPORT (InitTermios) (void) + /* KillTermios - delete data structure. */ + + void * +-EXPORT (KillTermios) (struct termios *p) ++EXPORT (KillTermios) (termios_TERMIOS p) + { + free (p); + return NULL; + } + +-/* tcsnow - return the value of TCSANOW. */ ++/* tcsnow return the value of TCSANOW. */ + + int + EXPORT (tcsnow) (void) +@@ -207,7 +210,7 @@ EXPORT (tcsnow) (void) + return TCSANOW; + } + +-/* tcsdrain - return the value of TCSADRAIN. */ ++/* tcsdrain return the value of TCSADRAIN. */ + + int + EXPORT (tcsdrain) (void) +@@ -215,7 +218,7 @@ EXPORT (tcsdrain) (void) + return TCSADRAIN; + } + +-/* tcsflush - return the value of TCSAFLUSH. */ ++/* tcsflush return the value of TCSAFLUSH. */ + + int + EXPORT (tcsflush) (void) +@@ -223,43 +226,48 @@ EXPORT (tcsflush) (void) + return TCSAFLUSH; + } + +-/* cfgetospeed - return output baud rate. */ ++/* cfgetospeed return output baud rate. */ + + int +-EXPORT (cfgetospeed) (struct termios *t) ++EXPORT (cfgetospeed) (termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return cfgetospeed (t); + } + +-/* cfgetispeed - return input baud rate. */ ++/* cfgetispeed return input baud rate. */ + + int +-EXPORT (cfgetispeed) (struct termios *t) ++EXPORT (cfgetispeed) (termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return cfgetispeed (t); + } + +-/* cfsetospeed - set output baud rate. */ ++/* cfsetospeed set output baud rate. */ + + int +-EXPORT (cfsetospeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetospeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetospeed (t, b); + } + +-/* cfsetispeed - set input baud rate. */ ++/* cfsetispeed set input baud rate. */ + + int +-EXPORT (cfsetispeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetispeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + return cfsetispeed (t, b); + } + +-/* cfsetspeed - set input and output baud rate. */ ++/* cfsetspeed set input and output baud rate. */ + + int +-EXPORT (cfsetspeed) (struct termios *t, unsigned int b) ++EXPORT (cfsetspeed) (termios_TERMIOS _t, unsigned int b) + { ++ struct termios *t = (termios *)_t; + int val = cfsetispeed (t, b); + if (val == 0) + return cfsetospeed (t, b); +@@ -267,33 +275,36 @@ EXPORT (cfsetspeed) (struct termios *t, unsigned int b) + return val; + } + +-/* tcgetattr - get state of, fd, into, t. */ ++/* tcgetattr get state of fd into t. */ + + int +-EXPORT (tcgetattr) (int fd, struct termios *t) ++EXPORT (tcgetattr) (int fd, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcgetattr (fd, t); + } + +-/* tcsetattr - set state of, fd, to, t, using option. */ ++/* tcsetattr set state of fd to t using option. */ + + int +-EXPORT (tcsetattr) (int fd, int option, struct termios *t) ++EXPORT (tcsetattr) (int fd, int option, termios_TERMIOS _t) + { ++ struct termios *t = (termios *)_t; + return tcsetattr (fd, option, t); + } + +-/* cfmakeraw - sets the terminal to raw mode. */ ++/* cfmakeraw sets the terminal to raw mode. */ + + void +-EXPORT (cfmakeraw) (struct termios *t) ++EXPORT (cfmakeraw) (termios_TERMIOS _t) + { + #if defined(HAVE_CFMAKERAW) +- return cfmakeraw (t); ++ struct termios *t = (termios *)_t; ++ cfmakeraw (t); + #endif + } + +-/* tcsendbreak - send zero bits for duration. */ ++/* tcsendbreak send zero bits for duration. */ + + int + EXPORT (tcsendbreak) (int fd, int duration) +@@ -301,7 +312,7 @@ EXPORT (tcsendbreak) (int fd, int duration) + return tcsendbreak (fd, duration); + } + +-/* tcdrain - waits for pending output to be written on, fd. */ ++/* tcdrain waits for pending output to be written on fd. */ + + int + EXPORT (tcdrain) (int fd) +@@ -309,7 +320,7 @@ EXPORT (tcdrain) (int fd) + return tcdrain (fd); + } + +-/* tcflushi - flush input. */ ++/* tcflushi flush input. */ + + int + EXPORT (tcflushi) (int fd) +@@ -321,7 +332,7 @@ EXPORT (tcflushi) (int fd) + #endif + } + +-/* tcflusho - flush output. */ ++/* tcflusho flush output. */ + + int + EXPORT (tcflusho) (int fd) +@@ -333,7 +344,7 @@ EXPORT (tcflusho) (int fd) + #endif + } + +-/* tcflushio - flush input and output. */ ++/* tcflushio flush input and output. */ + + int + EXPORT (tcflushio) (int fd) +@@ -345,7 +356,7 @@ EXPORT (tcflushio) (int fd) + #endif + } + +-/* tcflowoni - restart input on, fd. */ ++/* tcflowoni restart input on fd. */ + + int + EXPORT (tcflowoni) (int fd) +@@ -357,7 +368,7 @@ EXPORT (tcflowoni) (int fd) + #endif + } + +-/* tcflowoffi - stop input on, fd. */ ++/* tcflowoffi stop input on fd. */ + + int + EXPORT (tcflowoffi) (int fd) +@@ -369,7 +380,7 @@ EXPORT (tcflowoffi) (int fd) + #endif + } + +-/* tcflowono - restart output on, fd. */ ++/* tcflowono restart output on fd. */ + + int + EXPORT (tcflowono) (int fd) +@@ -381,7 +392,7 @@ EXPORT (tcflowono) (int fd) + #endif + } + +-/* tcflowoffo - stop output on, fd. */ ++/* tcflowoffo stop output on fd. */ + + int + EXPORT (tcflowoffo) (int fd) +@@ -393,1552 +404,1561 @@ EXPORT (tcflowoffo) (int fd) + #endif + } + +-/* GetFlag - sets a flag value from, t, in, b, and returns TRUE if, +- t, supports, f. */ ++/* GetFlag sets a flag value from t in b and returns TRUE if ++ t supports f. */ + +-int +-EXPORT (GetFlag) (struct termios *t, Flag f, int *b) ++bool ++EXPORT (GetFlag) (termios_TERMIOS _t, termios_Flag _f, bool *b) + { ++ Flag f = (Flag) _f; ++ struct termios *t = (termios *)_t; + switch (f) + { + + case ignbrk: + #if defined(IGNBRK) + *b = ((t->c_iflag & IGNBRK) == IGNBRK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ibrkint: + #if defined(BRKINT) + *b = ((t->c_iflag & BRKINT) == BRKINT); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ignpar: + #if defined(IGNPAR) + *b = ((t->c_iflag & IGNPAR) == IGNPAR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case iparmrk: + #if defined(PARMRK) + *b = ((t->c_iflag & PARMRK) == PARMRK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case inpck: + #if defined(INPCK) + *b = ((t->c_iflag & INPCK) == INPCK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case istrip: + #if defined(ISTRIP) + *b = ((t->c_iflag & ISTRIP) == ISTRIP); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case inlcr: + #if defined(INLCR) + *b = ((t->c_iflag & INLCR) == INLCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case igncr: + #if defined(IGNCR) + *b = ((t->c_iflag & IGNCR) == IGNCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case icrnl: + #if defined(ICRNL) + *b = ((t->c_iflag & ICRNL) == ICRNL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case iuclc: + #if defined(IUCLC) + *b = ((t->c_iflag & IUCLC) == IUCLC); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixon: + #if defined(IXON) + *b = ((t->c_iflag & IXON) == IXON); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixany: + #if defined(IXANY) + *b = ((t->c_iflag & IXANY) == IXANY); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ixoff: + #if defined(IXOFF) + *b = ((t->c_iflag & IXOFF) == IXOFF); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case imaxbel: + #if defined(IMAXBEL) + *b = ((t->c_iflag & IMAXBEL) == IMAXBEL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case opost: + #if defined(OPOST) + *b = ((t->c_oflag & OPOST) == OPOST); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case olcuc: + #if defined(OLCUC) + *b = ((t->c_oflag & OLCUC) == OLCUC); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onlcr: + #if defined(ONLCR) + *b = ((t->c_oflag & ONLCR) == ONLCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocrnl: + #if defined(OCRNL) + *b = ((t->c_oflag & OCRNL) == OCRNL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onocr: + #if defined(ONOCR) + *b = ((t->c_oflag & ONOCR) == ONOCR); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onlret: + #if defined(ONLRET) + *b = ((t->c_oflag & ONLRET) == ONLRET); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ofill: + #if defined(OFILL) + *b = ((t->c_oflag & OFILL) == OFILL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ofdel: + #if defined(OFDEL) + *b = ((t->c_oflag & OFDEL) == OFDEL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onl0: + #if defined(NL0) + *b = ((t->c_oflag & NL0) == NL0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case onl1: + #if defined(NL1) + *b = ((t->c_oflag & NL1) == NL1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr0: + #if defined(CR0) + *b = ((t->c_oflag & CR0) == CR0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr1: + #if defined(CR1) + *b = ((t->c_oflag & CR1) == CR1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr2: + #if defined(CR2) + *b = ((t->c_oflag & CR2) == CR2); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ocr3: + #if defined(CR3) + *b = ((t->c_oflag & CR3) == CR3); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab0: + #if defined(TAB0) + *b = ((t->c_oflag & TAB0) == TAB0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab1: + #if defined(TAB1) + *b = ((t->c_oflag & TAB1) == TAB1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab2: + #if defined(TAB2) + *b = ((t->c_oflag & TAB2) == TAB2); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case otab3: + #if defined(TAB3) + *b = ((t->c_oflag & TAB3) == TAB3); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case obs0: + #if defined(BS0) + *b = ((t->c_oflag & BS0) == BS0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case obs1: + #if defined(BS1) + *b = ((t->c_oflag & BS1) == BS1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case off0: + #if defined(FF0) + *b = ((t->c_oflag & FF0) == FF0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case off1: + #if defined(FF1) + *b = ((t->c_oflag & FF1) == FF1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ovt0: + #if defined(VT0) + *b = ((t->c_oflag & VT0) == VT0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ovt1: + #if defined(VT1) + *b = ((t->c_oflag & VT1) == VT1); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b0: + #if defined(B0) + *b = ((t->c_cflag & B0) == B0); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b50: + #if defined(B50) + *b = ((t->c_cflag & B50) == B50); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b75: + #if defined(B75) + *b = ((t->c_cflag & B75) == B75); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b110: + #if defined(B110) + *b = ((t->c_cflag & B110) == B110); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b135: + #if defined(B134) + *b = ((t->c_cflag & B134) == B134); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b150: + #if defined(B150) + *b = ((t->c_cflag & B150) == B150); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b200: + #if defined(B200) + *b = ((t->c_cflag & B200) == B200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b300: + #if defined(B300) + *b = ((t->c_cflag & B300) == B300); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b600: + #if defined(B600) + *b = ((t->c_cflag & B600) == B600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1200: + #if defined(B1200) + *b = ((t->c_cflag & B1200) == B1200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1800: + #if defined(B1800) + *b = ((t->c_cflag & B1800) == B1800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2400: + #if defined(B2400) + *b = ((t->c_cflag & B2400) == B2400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b4800: + #if defined(B4800) + *b = ((t->c_cflag & B4800) == B4800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b9600: + #if defined(B9600) + *b = ((t->c_cflag & B9600) == B9600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b19200: + #if defined(B19200) + *b = ((t->c_cflag & B19200) == B19200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b38400: + #if defined(B38400) + *b = ((t->c_cflag & B38400) == B38400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b57600: + #if defined(B57600) + *b = ((t->c_cflag & B57600) == B57600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b115200: + #if defined(B115200) + *b = ((t->c_cflag & B115200) == B115200); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b240400: + #if defined(B230400) + *b = ((t->c_cflag & B230400) == B230400); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b460800: + #if defined(B460800) + *b = ((t->c_cflag & B460800) == B460800); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b500000: + #if defined(B500000) + *b = ((t->c_cflag & B500000) == B500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b576000: + #if defined(B576000) + *b = ((t->c_cflag & B576000) == B576000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b921600: + #if defined(B921600) + *b = ((t->c_cflag & B921600) == B921600); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1000000: + #if defined(B1000000) + *b = ((t->c_cflag & B1000000) == B1000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1152000: + #if defined(B1152000) + *b = ((t->c_cflag & B1152000) == B1152000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b1500000: + #if defined(B1500000) + *b = ((t->c_cflag & B1500000) == B1500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2000000: + #if defined(B2000000) + *b = ((t->c_cflag & B2000000) == B2000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b2500000: + #if defined(B2500000) + *b = ((t->c_cflag & B2500000) == B2500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b3000000: + #if defined(B3000000) + *b = ((t->c_cflag & B3000000) == B3000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b3500000: + #if defined(B3500000) + *b = ((t->c_cflag & B3500000) == B3500000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case b4000000: + #if defined(B4000000) + *b = ((t->c_cflag & B4000000) == B4000000); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case maxbaud: + #if defined(__MAX_BAUD) + *b = ((t->c_cflag & __MAX_BAUD) == __MAX_BAUD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case crtscts: + #if defined(CRTSCTS) + *b = ((t->c_cflag & CRTSCTS) == CRTSCTS); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs5: + #if defined(CS5) + *b = ((t->c_cflag & CS5) == CS5); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs6: + #if defined(CS6) + *b = ((t->c_cflag & CS6) == CS6); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs7: + #if defined(CS7) + *b = ((t->c_cflag & CS7) == CS7); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cs8: + #if defined(CS8) + *b = ((t->c_cflag & CS8) == CS8); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cstopb: + #if defined(CSTOPB) + *b = ((t->c_cflag & CSTOPB) == CSTOPB); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case cread: + #if defined(CREAD) + *b = ((t->c_cflag & CREAD) == CREAD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case parenb: + #if defined(PARENB) + *b = ((t->c_cflag & PARENB) == PARENB); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case parodd: + #if defined(PARODD) + *b = ((t->c_cflag & PARODD) == PARODD); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case hupcl: + #if defined(HUPCL) + *b = ((t->c_cflag & HUPCL) == HUPCL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case clocal: + #if defined(CLOCAL) + *b = ((t->c_cflag & CLOCAL) == CLOCAL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lisig: + #if defined(ISIG) + *b = ((t->c_lflag & ISIG) == ISIG); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case licanon: + #if defined(ICANON) + *b = ((t->c_lflag & ICANON) == ICANON); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lxcase: + #if defined(XCASE) + *b = ((t->c_lflag & XCASE) == XCASE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lecho: + #if defined(ECHO) + *b = ((t->c_lflag & ECHO) == ECHO); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoe: + #if defined(ECHOE) + *b = ((t->c_lflag & ECHOE) == ECHOE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechok: + #if defined(ECHOK) + *b = ((t->c_lflag & ECHOK) == ECHOK); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechonl: + #if defined(ECHONL) + *b = ((t->c_lflag & ECHONL) == ECHONL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lnoflsh: + #if defined(NOFLSH) + *b = ((t->c_lflag & NOFLSH) == NOFLSH); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case ltopstop: + #if defined(TOSTOP) + *b = ((t->c_lflag & TOSTOP) == TOSTOP); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoctl: + #if defined(ECHOCTL) + *b = ((t->c_lflag & ECHOCTL) == ECHOCTL); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoprt: + #if defined(ECHOPRT) + *b = ((t->c_lflag & ECHOPRT) == ECHOPRT); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lechoke: + #if defined(ECHOKE) + *b = ((t->c_lflag & ECHOKE) == ECHOKE); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lflusho: + #if defined(FLUSHO) + *b = ((t->c_lflag & FLUSHO) == FLUSHO); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case lpendin: + #if defined(PENDIN) + *b = ((t->c_lflag & PENDIN) == PENDIN); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case liexten: + #if defined(IEXTEN) + *b = ((t->c_lflag & IEXTEN) == IEXTEN); +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + } +- return 0; ++ return false; + } + +-/* SetFlag - sets a flag value in, t, to, b, and returns TRUE if this ++/* SetFlag sets a flag value in t to b and returns TRUE if this + flag value is supported. */ + +-int +-EXPORT (SetFlag) (struct termios *t, Flag f, int b) ++bool ++EXPORT (SetFlag) (termios_TERMIOS _t, termios_Flag _f, bool b) + { ++ struct termios *t = (struct termios *) _t; ++ Flag f = (Flag) _f; ++ + switch (f) + { + case ignbrk: + #if defined(IGNBRK) + return doSetUnset (&t->c_iflag, IGNBRK, b); + #else +- return 0; ++ return false; + #endif + case ibrkint: + #if defined(BRKINT) + return doSetUnset (&t->c_iflag, BRKINT, b); + #else +- return 0; ++ return false; + #endif + case ignpar: + #if defined(IGNPAR) + return doSetUnset (&t->c_iflag, IGNPAR, b); + #else +- return 0; ++ return false; + #endif + case iparmrk: + #if defined(PARMRK) + return doSetUnset (&t->c_iflag, PARMRK, b); + #else +- return 0; ++ return false; + #endif + case inpck: + #if defined(INPCK) + return doSetUnset (&t->c_iflag, INPCK, b); + #else +- return 0; ++ return false; + #endif + case istrip: + #if defined(ISTRIP) + return doSetUnset (&t->c_iflag, ISTRIP, b); + #else +- return 0; ++ return false; + #endif + case inlcr: + #if defined(INLCR) + return doSetUnset (&t->c_iflag, INLCR, b); + #else +- return 0; ++ return false; + #endif + case igncr: + #if defined(IGNCR) + return doSetUnset (&t->c_iflag, IGNCR, b); + #else +- return 0; ++ return false; + #endif + case icrnl: + #if defined(ICRNL) + return doSetUnset (&t->c_iflag, ICRNL, b); + #else +- return 0; ++ return false; + #endif + case iuclc: + #if defined(IUCLC) + return doSetUnset (&t->c_iflag, IUCLC, b); + #else +- return 0; ++ return false; + #endif + case ixon: + #if defined(IXON) + return doSetUnset (&t->c_iflag, IXON, b); + #else +- return 0; ++ return false; + #endif + case ixany: + #if defined(IXANY) + return doSetUnset (&t->c_iflag, IXANY, b); + #else +- return 0; ++ return false; + #endif + case ixoff: + #if defined(IXOFF) + return doSetUnset (&t->c_iflag, IXOFF, b); + #else +- return 0; ++ return false; + #endif + case imaxbel: + #if defined(IMAXBEL) + return doSetUnset (&t->c_iflag, IMAXBEL, b); + #else +- return 0; ++ return false; + #endif + case opost: + #if defined(OPOST) + return doSetUnset (&t->c_oflag, OPOST, b); + #else +- return 0; ++ return false; + #endif + case olcuc: + #if defined(OLCUC) + return doSetUnset (&t->c_oflag, OLCUC, b); + #else +- return 0; ++ return false; + #endif + case onlcr: + #if defined(ONLCR) + return doSetUnset (&t->c_oflag, ONLCR, b); + #else +- return 0; ++ return false; + #endif + case ocrnl: + #if defined(OCRNL) + return doSetUnset (&t->c_oflag, OCRNL, b); + #else +- return 0; ++ return false; + #endif + case onocr: + #if defined(ONOCR) + return doSetUnset (&t->c_oflag, ONOCR, b); + #else +- return 0; ++ return false; + #endif + case onlret: + #if defined(ONLRET) + return doSetUnset (&t->c_oflag, ONLRET, b); + #else +- return 0; ++ return false; + #endif + case ofill: + #if defined(OFILL) + return doSetUnset (&t->c_oflag, OFILL, b); + #else +- return 0; ++ return false; + #endif + case ofdel: + #if defined(OFDEL) + return doSetUnset (&t->c_oflag, OFDEL, b); + #else +- return 0; ++ return false; + #endif + case onl0: + #if defined(NL0) + return doSetUnset (&t->c_oflag, NL0, b); + #else +- return 0; ++ return false; + #endif + case onl1: + #if defined(NL1) + return doSetUnset (&t->c_oflag, NL1, b); + #else +- return 0; ++ return false; + #endif + case ocr0: + #if defined(CR0) + return doSetUnset (&t->c_oflag, CR0, b); + #else +- return 0; ++ return false; + #endif + case ocr1: + #if defined(CR1) + return doSetUnset (&t->c_oflag, CR1, b); + #else +- return 0; ++ return false; + #endif + case ocr2: + #if defined(CR2) + return doSetUnset (&t->c_oflag, CR2, b); + #else +- return 0; ++ return false; + #endif + case ocr3: + #if defined(CR3) + return doSetUnset (&t->c_oflag, CR3, b); + #else +- return 0; ++ return false; + #endif + case otab0: + #if defined(TAB0) + return doSetUnset (&t->c_oflag, TAB0, b); + #else +- return 0; ++ return false; + #endif + case otab1: + #if defined(TAB1) + return doSetUnset (&t->c_oflag, TAB1, b); + #else +- return 0; ++ return false; + #endif + case otab2: + #if defined(TAB2) + return doSetUnset (&t->c_oflag, TAB2, b); + #else +- return 0; ++ return false; + #endif + case otab3: + #if defined(TAB3) + return doSetUnset (&t->c_oflag, TAB3, b); + #else +- return 0; ++ return false; + #endif + case obs0: + #if defined(BS0) + return doSetUnset (&t->c_oflag, BS0, b); + #else +- return 0; ++ return false; + #endif + case obs1: + #if defined(BS1) + return doSetUnset (&t->c_oflag, BS1, b); + #else +- return 0; ++ return false; + #endif + case off0: + #if defined(FF0) + return doSetUnset (&t->c_oflag, FF0, b); + #else +- return 0; ++ return false; + #endif + case off1: + #if defined(FF1) + return doSetUnset (&t->c_oflag, FF1, b); + #else +- return 0; ++ return false; + #endif + case ovt0: + #if defined(VT0) + return doSetUnset (&t->c_oflag, VT0, b); + #else +- return 0; ++ return false; + #endif + case ovt1: + #if defined(VT1) + return doSetUnset (&t->c_oflag, VT1, b); + #else +- return 0; ++ return false; + #endif + case b0: + #if defined(B0) + return doSetUnset (&t->c_cflag, B0, b); + #else +- return 0; ++ return false; + #endif + case b50: + #if defined(B50) + return doSetUnset (&t->c_cflag, B50, b); + #else +- return 0; ++ return false; + #endif + case b75: + #if defined(B75) + return doSetUnset (&t->c_cflag, B75, b); + #else +- return 0; ++ return false; + #endif + case b110: + #if defined(B110) + return doSetUnset (&t->c_cflag, B110, b); + #else +- return 0; ++ return false; + #endif + case b135: + #if defined(B134) + return doSetUnset (&t->c_cflag, B134, b); + #else +- return 0; ++ return false; + #endif + case b150: + #if defined(B150) + return doSetUnset (&t->c_cflag, B150, b); + #else +- return 0; ++ return false; + #endif + case b200: + #if defined(B200) + return doSetUnset (&t->c_cflag, B200, b); + #else +- return 0; ++ return false; + #endif + case b300: + #if defined(B300) + return doSetUnset (&t->c_cflag, B300, b); + #else +- return 0; ++ return false; + #endif + case b600: + #if defined(B600) + return doSetUnset (&t->c_cflag, B600, b); + #else +- return 0; ++ return false; + #endif + case b1200: + #if defined(B1200) + return doSetUnset (&t->c_cflag, B1200, b); + #else +- return 0; ++ return false; + #endif + case b1800: + #if defined(B1800) + return doSetUnset (&t->c_cflag, B1800, b); + #else +- return 0; ++ return false; + #endif + case b2400: + #if defined(B2400) + return doSetUnset (&t->c_cflag, B2400, b); + #else +- return 0; ++ return false; + #endif + case b4800: + #if defined(B4800) + return doSetUnset (&t->c_cflag, B4800, b); + #else +- return 0; ++ return false; + #endif + case b9600: + #if defined(B9600) + return doSetUnset (&t->c_cflag, B9600, b); + #else +- return 0; ++ return false; + #endif + case b19200: + #if defined(B19200) + return doSetUnset (&t->c_cflag, B19200, b); + #else +- return 0; ++ return false; + #endif + case b38400: + #if defined(B38400) + return doSetUnset (&t->c_cflag, B38400, b); + #else +- return 0; ++ return false; + #endif + case b57600: + #if defined(B57600) + return doSetUnset (&t->c_cflag, B57600, b); + #else +- return 0; ++ return false; + #endif + case b115200: + #if defined(B115200) + return doSetUnset (&t->c_cflag, B115200, b); + #else +- return 0; ++ return false; + #endif + case b240400: + #if defined(B230400) + return doSetUnset (&t->c_cflag, B230400, b); + #else +- return 0; ++ return false; + #endif + case b460800: + #if defined(B460800) + return doSetUnset (&t->c_cflag, B460800, b); + #else +- return 0; ++ return false; + #endif + case b500000: + #if defined(B500000) + return doSetUnset (&t->c_cflag, B500000, b); + #else +- return 0; ++ return false; + #endif + case b576000: + #if defined(B576000) + return doSetUnset (&t->c_cflag, B576000, b); + #else +- return 0; ++ return false; + #endif + case b921600: + #if defined(B921600) + return doSetUnset (&t->c_cflag, B921600, b); + #else +- return 0; ++ return false; + #endif + case b1000000: + #if defined(B1000000) + return doSetUnset (&t->c_cflag, B1000000, b); + #else +- return 0; ++ return false; + #endif + case b1152000: + #if defined(B1152000) + return doSetUnset (&t->c_cflag, B1152000, b); + #else +- return 0; ++ return false; + #endif + case b1500000: + #if defined(B1500000) + return doSetUnset (&t->c_cflag, B1500000, b); + #else +- return 0; ++ return false; + #endif + case b2000000: + #if defined(B2000000) + return doSetUnset (&t->c_cflag, B2000000, b); + #else +- return 0; ++ return false; + #endif + case b2500000: + #if defined(B2500000) + return doSetUnset (&t->c_cflag, B2500000, b); + #else +- return 0; ++ return false; + #endif + case b3000000: + #if defined(B3000000) + return doSetUnset (&t->c_cflag, B3000000, b); + #else +- return 0; ++ return false; + #endif + case b3500000: + #if defined(B3500000) + return doSetUnset (&t->c_cflag, B3500000, b); + #else +- return 0; ++ return false; + #endif + case b4000000: + #if defined(B4000000) + return doSetUnset (&t->c_cflag, B4000000, b); + #else +- return 0; ++ return false; + #endif + case maxbaud: + #if defined(__MAX_BAUD) + return doSetUnset (&t->c_cflag, __MAX_BAUD, b); + #else +- return 0; ++ return false; + #endif + case crtscts: + #if defined(CRTSCTS) + return doSetUnset (&t->c_cflag, CRTSCTS, b); + #else +- return 0; ++ return false; + #endif + case cs5: + #if defined(CS5) + return doSetUnset (&t->c_cflag, CS5, b); + #else +- return 0; ++ return false; + #endif + case cs6: + #if defined(CS6) + return doSetUnset (&t->c_cflag, CS6, b); + #else +- return 0; ++ return false; + #endif + case cs7: + #if defined(CS7) + return doSetUnset (&t->c_cflag, CS7, b); + #else +- return 0; ++ return false; + #endif + case cs8: + #if defined(CS8) + return doSetUnset (&t->c_cflag, CS8, b); + #else +- return 0; ++ return false; + #endif + case cstopb: + #if defined(CSTOPB) + return doSetUnset (&t->c_cflag, CSTOPB, b); + #else +- return 0; ++ return false; + #endif + case cread: + #if defined(CREAD) + return doSetUnset (&t->c_cflag, CREAD, b); + #else +- return 0; ++ return false; + #endif + case parenb: + #if defined(PARENB) + return doSetUnset (&t->c_cflag, PARENB, b); + #else +- return 0; ++ return false; + #endif + case parodd: + #if defined(PARODD) + return doSetUnset (&t->c_cflag, PARODD, b); + #else +- return 0; ++ return false; + #endif + case hupcl: + #if defined(HUPCL) + return doSetUnset (&t->c_cflag, HUPCL, b); + #else +- return 0; ++ return false; + #endif + case clocal: + #if defined(CLOCAL) + return doSetUnset (&t->c_cflag, CLOCAL, b); + #else +- return 0; ++ return false; + #endif + case lisig: + #if defined(ISIG) + return doSetUnset (&t->c_lflag, ISIG, b); + #else +- return 0; ++ return false; + #endif + case licanon: + #if defined(ICANON) + return doSetUnset (&t->c_lflag, ICANON, b); + #else +- return 0; ++ return false; + #endif + case lxcase: + #if defined(XCASE) + return doSetUnset (&t->c_lflag, XCASE, b); + #else +- return 0; ++ return false; + #endif + case lecho: + #if defined(ECHO) + return doSetUnset (&t->c_lflag, ECHO, b); + #else +- return 0; ++ return false; + #endif + case lechoe: + #if defined(ECHOE) + return doSetUnset (&t->c_lflag, ECHOE, b); + #else +- return 0; ++ return false; + #endif + case lechok: + #if defined(ECHOK) + return doSetUnset (&t->c_lflag, ECHOK, b); + #else +- return 0; ++ return false; + #endif + case lechonl: + #if defined(ECHONL) + return doSetUnset (&t->c_lflag, ECHONL, b); + #else +- return 0; ++ return false; + #endif + case lnoflsh: + #if defined(NOFLSH) + return doSetUnset (&t->c_lflag, NOFLSH, b); + #else +- return 0; ++ return false; + #endif + case ltopstop: + #if defined(TOSTOP) + return doSetUnset (&t->c_lflag, TOSTOP, b); + #else +- return 0; ++ return false; + #endif + case lechoctl: + #if defined(ECHOCTL) + return doSetUnset (&t->c_lflag, ECHOCTL, b); + #else +- return 0; ++ return false; + #endif + case lechoprt: + #if defined(ECHOPRT) + return doSetUnset (&t->c_lflag, ECHOPRT, b); + #else +- return 0; ++ return false; + #endif + case lechoke: + #if defined(ECHOKE) + return doSetUnset (&t->c_lflag, ECHOKE, b); + #else +- return 0; ++ return false; + #endif + case lflusho: + #if defined(FLUSHO) + return doSetUnset (&t->c_lflag, FLUSHO, b); + #else +- return 0; ++ return false; + #endif + case lpendin: + #if defined(PENDIN) + return doSetUnset (&t->c_lflag, PENDIN, b); + #else +- return 0; ++ return false; + #endif + case liexten: + #if defined(IEXTEN) + return doSetUnset (&t->c_lflag, IEXTEN, b); + #else +- return 0; ++ return false; + #endif + } +- return 0; ++ return false; + } + +-/* GetChar - sets a CHAR, ch, value from, t, and returns TRUE if this ++/* GetChar sets a CHAR ch value from t and returns true/false if this + value is supported. */ + +-int +-EXPORT (GetChar) (struct termios *t, ControlChar c, char *ch) ++bool ++EXPORT (GetChar) (termios_TERMIOS _t, termios_ControlChar _c, char *ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + + case vintr: + #if defined(VINTR) + *ch = t->c_cc[VINTR]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vquit: + #if defined(VQUIT) + *ch = t->c_cc[VQUIT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case verase: + #if defined(VERASE) + *ch = t->c_cc[VERASE]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vkill: + #if defined(VKILL) + *ch = t->c_cc[VKILL]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veof: + #if defined(VEOF) + *ch = t->c_cc[VEOF]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vtime: + #if defined(VTIME) + *ch = t->c_cc[VTIME]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vmin: + #if defined(VMIN) + *ch = t->c_cc[VMIN]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vswtc: + #if defined(VSWTC) + *ch = t->c_cc[VSWTC]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstart: + #if defined(VSTART) + *ch = t->c_cc[VSTART]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstop: + #if defined(VSTOP) + *ch = t->c_cc[VSTOP]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vsusp: + #if defined(VSUSP) + *ch = t->c_cc[VSUSP]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol: + #if defined(VEOL) + *ch = t->c_cc[VEOL]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vreprint: + #if defined(VREPRINT) + *ch = t->c_cc[VREPRINT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vdiscard: + #if defined(VDISCARD) + *ch = t->c_cc[VDISCARD]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vwerase: + #if defined(VWERASE) + *ch = t->c_cc[VWERASE]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vlnext: + #if defined(VLNEXT) + *ch = t->c_cc[VLNEXT]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol2: + #if defined(VEOL2) + *ch = t->c_cc[VEOL2]; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + default: +- return 0; ++ return false; + } + } + +-/* SetChar - sets a CHAR value in, t, and returns TRUE if, c, is ++/* SetChar sets a CHAR value in t and returns true/false if c is + supported. */ + +-int +-EXPORT (SetChar) (struct termios *t, ControlChar c, char ch) ++bool ++EXPORT (SetChar) (termios_TERMIOS _t, termios_ControlChar _c, char ch) + { ++ ControlChar c = (ControlChar) _c; ++ struct termios *t = (termios *)_t; + switch (c) + { + + case vintr: + #if defined(VINTR) + t->c_cc[VINTR] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vquit: + #if defined(VQUIT) + t->c_cc[VQUIT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case verase: + #if defined(VERASE) + t->c_cc[VERASE] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vkill: + #if defined(VKILL) + t->c_cc[VKILL] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veof: + #if defined(VEOF) + t->c_cc[VEOF] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vtime: + #if defined(VTIME) + t->c_cc[VTIME] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vmin: + #if defined(VMIN) + t->c_cc[VMIN] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vswtc: + #if defined(VSWTC) + t->c_cc[VSWTC] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstart: + #if defined(VSTART) + t->c_cc[VSTART] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vstop: + #if defined(VSTOP) + t->c_cc[VSTOP] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vsusp: + #if defined(VSUSP) + t->c_cc[VSUSP] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol: + #if defined(VEOL) + t->c_cc[VEOL] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vreprint: + #if defined(VREPRINT) + t->c_cc[VREPRINT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vdiscard: + #if defined(VDISCARD) + t->c_cc[VDISCARD] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vwerase: + #if defined(VWERASE) + t->c_cc[VWERASE] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case vlnext: + #if defined(VLNEXT) + t->c_cc[VLNEXT] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + case veol2: + #if defined(VEOL2) + t->c_cc[VEOL2] = ch; +- return 1; ++ return true; + #else +- return 0; ++ return false; + #endif + default: +- return 0; ++ return false; + } + } + + void +-_M2_termios_init (void) ++_M2_termios_init (int argc, char *argv[], char *envp[]) + { + } + + void +-_M2_termios_fini (void) ++_M2_termios_fini (int argc, char *argv[], char *envp[]) + { + } + +--- a/src/gcc/m2/pge-boot/m2rts.h ++++ b/src/gcc/m2/pge-boot/m2rts.h +@@ -24,18 +24,15 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + +- +-typedef void (*proc_con) (int, char **, char **); +-typedef void (*proc_dep) (void); +- +-extern "C" void M2RTS_RequestDependant (const char *modulename, const char *dependancy); +-extern "C" void M2RTS_RegisterModule (const char *modulename, const char *libname, +- proc_con init, proc_con fini, proc_dep dependencies); +-extern "C" void _M2_M2RTS_init (void); +- +-extern "C" void M2RTS_ConstructModules (const char *, +- int argc, char *argv[], char *envp[]); +-extern "C" void M2RTS_Terminate (void); +-extern "C" void M2RTS_DeconstructModules (void); +- +-extern "C" void M2RTS_Halt (const char *, int, const char *, const char *) __attribute__ ((noreturn)); ++#include "GM2RTS.h" ++ ++#ifdef MC_M2 ++/* mc sources do not register their init fini functions as they are ++ initialized by a static scaffold (called by main). */ ++#define M2RTS_RegisterModule_Cstr(MODNAME,LIBNAME,init,fini,dep) ++#else ++#define M2RTS_RegisterModule_Cstr(MODNAME,LIBNAME,init,fini,dep) \ ++ M2RTS_RegisterModule (reinterpret_cast (const_cast (MODNAME)), \ ++ reinterpret_cast (const_cast (LIBNAME)), \ ++ init, fini, dep) ++#endif +--- a/src/gcc/m2/tools-src/buildpg ++++ b/src/gcc/m2/tools-src/buildpg +@@ -14,9 +14,8 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with GNU Modula-2; see the file COPYING. If not, write to the +-# Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with GNU Modula-2; see the file COPYING3. If not see ++# . + # + + # builds the pg.bnf from ppg.mod +--- a/src/gcc/m2/tools-src/calcpath ++++ b/src/gcc/m2/tools-src/calcpath +@@ -17,9 +17,9 @@ + # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + # for more details. + # +-# You should have received a copy of the GNU General Public License along +-# with gm2; see the file COPYING. If not, write to the Free Software +-# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++# You should have received a copy of the GNU General Public License ++# along with GCC; see the file COPYING3. If not see ++# . + + + Usage () { +--- a/src/gcc/m2/tools-src/checkmeta.py ++++ b/src/gcc/m2/tools-src/checkmeta.py +@@ -17,9 +17,8 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with GNU Modula-2; see the file COPYING. If not, write to the +-# Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with GCC; see the file COPYING3. If not see ++# . + + import argparse + import os +--- a/src/gcc/m2/tools-src/def2doc.py ++++ b/src/gcc/m2/tools-src/def2doc.py +@@ -17,9 +17,8 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with GNU Modula-2; see the file COPYING. If not, write to the +-# Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with GCC; see the file COPYING3. If not see ++# . + # + + import argparse +--- a/src/gcc/m2/tools-src/makeSystem ++++ b/src/gcc/m2/tools-src/makeSystem +@@ -17,9 +17,9 @@ + # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + # for more details. + # +-# You should have received a copy of the GNU General Public License along +-# with gm2; see the file COPYING. If not, write to the Free Software +-# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) ++# You should have received a copy of the GNU General Public License ++# along with GCC; see the file COPYING3. If not see ++# . + + + Usage () { +--- a/src/gcc/m2/tools-src/tidydates.py ++++ b/src/gcc/m2/tools-src/tidydates.py +@@ -17,9 +17,8 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with GNU Modula-2; see the file COPYING. If not, write to the +-# Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with GCC; see the file COPYING3. If not see ++# . + + import os + import pathlib +--- a/src/gcc/match.pd ++++ b/src/gcc/match.pd +@@ -4167,7 +4167,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + out (le gt gt le ge lt lt ge ) + (simplify + (cmp:c (minmax:c @0 @1) @0) +- (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))) ++ (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0)) ++ && (!VECTOR_TYPE_P (TREE_TYPE (@0)) ++ || (VECTOR_TYPE_P (type) ++ && (!expand_vec_cmp_expr_p (TREE_TYPE (@0), type, cmp) ++ || expand_vec_cmp_expr_p (TREE_TYPE (@0), type, out))))) + (out @0 @1)))) + /* MIN (X, 5) == 0 -> X == 0 + MIN (X, 5) == 7 -> false */ +@@ -5165,35 +5169,38 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + /* (c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e) */ + (simplify + (op (vec_cond:s @0 @1 @2) (vec_cond:s @0 @3 @4)) +- (if (TREE_CODE_CLASS (op) != tcc_comparison +- || types_match (type, TREE_TYPE (@1)) +- || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) +- || (optimize_vectors_before_lowering_p () +- /* The following is optimistic on the side of non-support, we are +- missing the legacy vcond{,u,eq} cases. Do this only when +- lowering will be able to fixup.. */ +- && !expand_vec_cond_expr_p (TREE_TYPE (@1), +- TREE_TYPE (@0), ERROR_MARK))) ++ (if (VECTOR_TYPE_P (type) ++ && (TREE_CODE_CLASS (op) != tcc_comparison ++ || types_match (type, TREE_TYPE (@1)) ++ || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ++ || (optimize_vectors_before_lowering_p () ++ /* The following is optimistic on the side of non-support, we are ++ missing the legacy vcond{,u,eq} cases. Do this only when ++ lowering will be able to fixup.. */ ++ && !expand_vec_cond_expr_p (TREE_TYPE (@1), ++ TREE_TYPE (@0), ERROR_MARK)))) + (vec_cond @0 (op! @1 @3) (op! @2 @4)))) + + /* (c ? a : b) op d --> c ? (a op d) : (b op d) */ + (simplify + (op (vec_cond:s @0 @1 @2) @3) +- (if (TREE_CODE_CLASS (op) != tcc_comparison +- || types_match (type, TREE_TYPE (@1)) +- || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) +- || (optimize_vectors_before_lowering_p () +- && !expand_vec_cond_expr_p (TREE_TYPE (@1), +- TREE_TYPE (@0), ERROR_MARK))) ++ (if (VECTOR_TYPE_P (type) ++ && (TREE_CODE_CLASS (op) != tcc_comparison ++ || types_match (type, TREE_TYPE (@1)) ++ || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ++ || (optimize_vectors_before_lowering_p () ++ && !expand_vec_cond_expr_p (TREE_TYPE (@1), ++ TREE_TYPE (@0), ERROR_MARK)))) + (vec_cond @0 (op! @1 @3) (op! @2 @3)))) + (simplify + (op @3 (vec_cond:s @0 @1 @2)) +- (if (TREE_CODE_CLASS (op) != tcc_comparison +- || types_match (type, TREE_TYPE (@1)) +- || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) +- || (optimize_vectors_before_lowering_p () +- && !expand_vec_cond_expr_p (TREE_TYPE (@1), +- TREE_TYPE (@0), ERROR_MARK))) ++ (if (VECTOR_TYPE_P (type) ++ && (TREE_CODE_CLASS (op) != tcc_comparison ++ || types_match (type, TREE_TYPE (@1)) ++ || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ++ || (optimize_vectors_before_lowering_p () ++ && !expand_vec_cond_expr_p (TREE_TYPE (@1), ++ TREE_TYPE (@0), ERROR_MARK)))) + (vec_cond @0 (op! @3 @1) (op! @3 @2))))) + + #if GIMPLE +@@ -6541,7 +6548,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (icmp (convert:type2 @1) @2) + (if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2) + && type1_signed_p == type2_signed_p) +- (icmp @1 @2)))))))))) ++ (icmp @1 (convert @2))))))))))) + + /* Optimize various special cases of (FTYPE) N CMP CST. */ + (for cmp (lt le eq ne ge gt) +@@ -8661,7 +8668,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (IFN_FNMS @0 @1 @2)) + (simplify + (negate (fmas@3 @0 @1 @2)) +- (if (single_use (@3)) ++ (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) + (IFN_FNMS @0 @1 @2)))) + + (simplify +@@ -8675,7 +8682,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (IFN_FNMA @0 @1 @2)) + (simplify + (negate (IFN_FMS@3 @0 @1 @2)) +- (if (single_use (@3)) ++ (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) + (IFN_FNMA @0 @1 @2))) + + (simplify +@@ -8689,7 +8696,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (IFN_FMS @0 @1 @2)) + (simplify + (negate (IFN_FNMA@3 @0 @1 @2)) +- (if (single_use (@3)) ++ (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) + (IFN_FMS @0 @1 @2))) + + (simplify +@@ -8703,7 +8710,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (IFN_FMA @0 @1 @2)) + (simplify + (negate (IFN_FNMS@3 @0 @1 @2)) +- (if (single_use (@3)) ++ (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) + (IFN_FMA @0 @1 @2)))) + + /* CLZ simplifications. */ +--- a/src/gcc/multiple_target.cc ++++ b/src/gcc/multiple_target.cc +@@ -437,7 +437,15 @@ expand_target_clones (struct cgraph_node *node, bool definition) + + /* When NODE is a target clone, consider all callees and redirect + to a clone with equal target attributes. That prevents multiple +- multi-versioning dispatches and a call-chain can be optimized. */ ++ multi-versioning dispatches and a call-chain can be optimized. ++ ++ This optimisation might pick the wrong version in some cases, since knowing ++ that we meet the target requirements for a matching callee version does not ++ tell us that we won't also meet the target requirements for a higher ++ priority callee version at runtime. Since this is longstanding behavior ++ for x86 and powerpc, we preserve it for those targets, but skip the ++ optimisation for targets that use the "target_version" attribute for ++ multi-versioning. */ + + static void + redirect_to_specific_clone (cgraph_node *node) +@@ -446,6 +454,7 @@ redirect_to_specific_clone (cgraph_node *node) + if (fv == NULL) + return; + ++ gcc_assert (TARGET_HAS_FMV_TARGET_ATTRIBUTE); + tree attr_target = lookup_attribute ("target", DECL_ATTRIBUTES (node->decl)); + if (attr_target == NULL_TREE) + return; +@@ -498,8 +507,9 @@ ipa_target_clone (void) + for (unsigned i = 0; i < to_dispatch.length (); i++) + create_dispatcher_calls (to_dispatch[i]); + +- FOR_EACH_FUNCTION (node) +- redirect_to_specific_clone (node); ++ if (TARGET_HAS_FMV_TARGET_ATTRIBUTE) ++ FOR_EACH_FUNCTION (node) ++ redirect_to_specific_clone (node); + + return 0; + } +--- a/src/gcc/optc-save-gen.awk ++++ b/src/gcc/optc-save-gen.awk +@@ -1467,6 +1467,11 @@ for (i = 0; i < n_opts; i++) { + if (name == "") + continue; + ++ # We do not want to compare warning-related options, since they ++ # might have been modified by a #pragma GCC diagnostic. ++ if (flag_set_p("Warning", flags[i])) ++ continue; ++ + if (name in checked_options) + continue; + checked_options[name]++ +--- a/src/gcc/opts-common.cc ++++ b/src/gcc/opts-common.cc +@@ -1076,7 +1076,9 @@ decode_cmdline_options_to_array (unsigned int argc, const char **argv, + /* Expand -fdiagnostics-plain-output to its constituents. This needs + to happen here so that prune_options can handle -fdiagnostics-color + specially. */ +- if (!strcmp (opt, "-fdiagnostics-plain-output")) ++ if (opt[0] == '-' ++ && (opt[1] == '-' || opt[1] == 'f') ++ && !strcmp (opt + 2, "diagnostics-plain-output")) + { + /* If you have changed the default diagnostics output, and this new + output is not appropriately "plain" (e.g., the change needs to be +@@ -2145,7 +2147,8 @@ jobserver_info::disconnect () + { + if (!pipe_path.empty ()) + { +- gcc_assert (close (pipefd) == 0); ++ int res = close (pipefd); ++ gcc_assert (res == 0); + pipefd = -1; + } + } +@@ -2170,5 +2173,6 @@ jobserver_info::return_token () + { + int fd = pipe_path.empty () ? wfd : pipefd; + char c = 'G'; +- gcc_assert (write (fd, &c, 1) == 1); ++ int res = write (fd, &c, 1); ++ gcc_assert (res == 1); + } +--- a/src/gcc/po/ChangeLog ++++ b/src/gcc/po/ChangeLog +@@ -1,3 +1,37 @@ ++2025-01-20 Joseph Myers ++ ++ * zh_CN.po: Update. ++ ++2024-12-03 Joseph Myers ++ ++ * zh_CN.po: Update. ++ ++2024-09-19 Joseph Myers ++ ++ * zh_CN.po: Update. ++ ++2024-09-06 Joseph Myers ++ ++ * uk.po: Update. ++ ++2024-08-28 Joseph Myers ++ ++ * ka.po: New file. ++ ++2024-08-27 Joseph Myers ++ ++ * zh_CN.po: Update. ++ ++2024-08-05 Joseph Myers ++ ++ * fr.po: Update. ++ ++2024-08-02 Joseph Myers ++ ++ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, ++ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, ++ zh_TW.po: Update. ++ + 2024-08-01 Release Manager + + * GCC 14.2.0 released. +--- a/src/gcc/po/be.po ++++ b/src/gcc/po/be.po +@@ -6,7 +6,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gcc 3.1\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2024-05-02 19:44+0000\n" ++"POT-Creation-Date: 2024-07-25 16:23+0000\n" + "PO-Revision-Date: 2002-05-17 15:54+0200\n" + "Last-Translator: Ales Nyakhaychyk \n" + "Language-Team: Belarusian \n" +@@ -415,7 +415,7 @@ msgid "do not specify both -march=... and -mcpu=..." + msgstr "" + + #: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:129 +-#: config/i386/mingw-w64.h:123 config/i386/mingw32.h:167 ++#: config/i386/mingw-w64.h:125 config/i386/mingw32.h:169 + msgid "shared and mdll are not compatible" + msgstr "" + +@@ -19420,16 +19420,16 @@ msgstr "нераспазнаны выбар \"-%s\"" + msgid "insn does not satisfy its constraints:" + msgstr "" + +-#: targhooks.cc:2374 ++#: targhooks.cc:2382 + #, c-format + msgid "created and used with differing settings of '%s'" + msgstr "" + +-#: targhooks.cc:2389 ++#: targhooks.cc:2397 + msgid "created and used with different settings of %<-fpic%>" + msgstr "" + +-#: targhooks.cc:2391 ++#: targhooks.cc:2399 + msgid "created and used with different settings of %<-fpie%>" + msgstr "" + +@@ -19790,7 +19790,7 @@ msgstr "" + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.cc:11980 config/loongarch/loongarch.cc:6148 ++#: config/aarch64/aarch64.cc:11980 config/loongarch/loongarch.cc:6155 + #, fuzzy, c-format + msgid "unsupported operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" +@@ -19809,9 +19809,9 @@ msgstr "Нерэчаісны выбар \"%s\"" + + #: config/aarch64/aarch64.cc:12093 config/aarch64/aarch64.cc:12104 + #: config/aarch64/aarch64.cc:12268 config/aarch64/aarch64.cc:12279 +-#: config/riscv/riscv.cc:6158 config/riscv/riscv.cc:6166 +-#: config/riscv/riscv.cc:6173 config/riscv/riscv.cc:6177 +-#: config/riscv/riscv.cc:6219 config/riscv/riscv.cc:6237 ++#: config/riscv/riscv.cc:6170 config/riscv/riscv.cc:6178 ++#: config/riscv/riscv.cc:6185 config/riscv/riscv.cc:6189 ++#: config/riscv/riscv.cc:6231 config/riscv/riscv.cc:6249 + #, fuzzy, c-format + #| msgid "invalid string constant `%E'" + msgid "invalid vector constant" +@@ -19834,7 +19834,7 @@ msgstr "немагчымы апэратар '%s'" + msgid "incompatible register operand for '%%%c'" + msgstr "нерэчаісная назва рэгістра `%s'" + +-#: config/aarch64/aarch64.cc:12215 config/arm/arm.cc:24867 ++#: config/aarch64/aarch64.cc:12215 config/arm/arm.cc:24876 + #, fuzzy, c-format + msgid "missing operand" + msgstr "прапушчан ініцыялізатар" +@@ -19865,93 +19865,93 @@ msgstr "нерэчаісны адрас" + msgid "cannot combine GNU and SVE vectors in a binary operation" + msgstr "" + +-#: config/alpha/alpha.cc:5082 config/i386/i386.cc:14193 +-#: config/rs6000/rs6000.cc:14616 config/sparc/sparc.cc:9384 ++#: config/alpha/alpha.cc:5094 config/i386/i386.cc:14193 ++#: config/rs6000/rs6000.cc:14631 config/sparc/sparc.cc:9384 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" + msgstr "" + +-#: config/alpha/alpha.cc:5140 config/bfin/bfin.cc:1428 ++#: config/alpha/alpha.cc:5152 config/bfin/bfin.cc:1428 + #, fuzzy, c-format + msgid "invalid %%J value" + msgstr "дрэннае %%Q значэнне" + +-#: config/alpha/alpha.cc:5170 config/ia64/ia64.cc:5588 config/or1k/or1k.cc:1252 ++#: config/alpha/alpha.cc:5182 config/ia64/ia64.cc:5588 config/or1k/or1k.cc:1252 + #, c-format + msgid "invalid %%r value" + msgstr "нерэчаіснае значэньне %%r" + +-#: config/alpha/alpha.cc:5180 config/ia64/ia64.cc:5542 +-#: config/rs6000/rs6000.cc:14311 config/xtensa/xtensa.cc:3066 ++#: config/alpha/alpha.cc:5192 config/ia64/ia64.cc:5542 ++#: config/rs6000/rs6000.cc:14326 config/xtensa/xtensa.cc:3066 + #, c-format + msgid "invalid %%R value" + msgstr "нерэчаіснае значэньне %%R" + +-#: config/alpha/alpha.cc:5186 config/rs6000/rs6000.cc:14231 ++#: config/alpha/alpha.cc:5198 config/rs6000/rs6000.cc:14246 + #: config/xtensa/xtensa.cc:3039 + #, c-format + msgid "invalid %%N value" + msgstr "нерэчаіснае значэньне %%N" + +-#: config/alpha/alpha.cc:5194 config/rs6000/rs6000.cc:14259 ++#: config/alpha/alpha.cc:5206 config/rs6000/rs6000.cc:14274 + #, c-format + msgid "invalid %%P value" + msgstr "нерэчаіснае значэньне %%P" + +-#: config/alpha/alpha.cc:5202 ++#: config/alpha/alpha.cc:5214 + #, c-format + msgid "invalid %%h value" + msgstr "нерэчаіснае значэньне %%h" + +-#: config/alpha/alpha.cc:5210 config/xtensa/xtensa.cc:3059 ++#: config/alpha/alpha.cc:5222 config/xtensa/xtensa.cc:3059 + #, c-format + msgid "invalid %%L value" + msgstr "нерэчаіснае значэньне %%L" + +-#: config/alpha/alpha.cc:5229 ++#: config/alpha/alpha.cc:5241 + #, c-format + msgid "invalid %%m value" + msgstr "нерэчаіснае значэньне %%m" + +-#: config/alpha/alpha.cc:5235 ++#: config/alpha/alpha.cc:5247 + #, c-format + msgid "invalid %%M value" + msgstr "нерэчаіснае значэньне %%M" + +-#: config/alpha/alpha.cc:5272 ++#: config/alpha/alpha.cc:5284 + #, c-format + msgid "invalid %%U value" + msgstr "нерэчаіснае значэньне %%U" + +-#: config/alpha/alpha.cc:5280 config/rs6000/rs6000.cc:14319 ++#: config/alpha/alpha.cc:5292 config/rs6000/rs6000.cc:14334 + #, c-format + msgid "invalid %%s value" + msgstr "нерэчаіснае значэньне %%v" + +-#: config/alpha/alpha.cc:5291 ++#: config/alpha/alpha.cc:5303 + #, c-format + msgid "invalid %%C value" + msgstr "нерэчаіснае значэньне %%C" + +-#: config/alpha/alpha.cc:5328 config/rs6000/rs6000.cc:14095 ++#: config/alpha/alpha.cc:5340 config/rs6000/rs6000.cc:14110 + #, c-format + msgid "invalid %%E value" + msgstr "нерэчаіснае значэньне %%E" + +-#: config/alpha/alpha.cc:5353 config/alpha/alpha.cc:5403 ++#: config/alpha/alpha.cc:5365 config/alpha/alpha.cc:5415 + #, c-format + msgid "unknown relocation unspec" + msgstr "" + +-#: config/alpha/alpha.cc:5362 config/gcn/gcn.cc:7419 config/gcn/gcn.cc:7428 ++#: config/alpha/alpha.cc:5374 config/gcn/gcn.cc:7419 config/gcn/gcn.cc:7428 + #: config/gcn/gcn.cc:7488 config/gcn/gcn.cc:7496 config/gcn/gcn.cc:7512 + #: config/gcn/gcn.cc:7530 config/gcn/gcn.cc:7581 config/gcn/gcn.cc:7700 +-#: config/gcn/gcn.cc:7817 config/rs6000/rs6000.cc:14621 ++#: config/gcn/gcn.cc:7817 config/rs6000/rs6000.cc:14636 + #, c-format + msgid "invalid %%xn code" + msgstr "нерэчаіснае значэньне %%xn" + +-#: config/alpha/alpha.cc:5468 ++#: config/alpha/alpha.cc:5480 + #, fuzzy, c-format + #| msgid "invalid address" + msgid "invalid operand address" +@@ -20046,36 +20046,36 @@ msgstr "нерэчаісны %%-код" + msgid "unrecognized supposed constant" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: config/arm/arm.cc:21110 config/arm/arm.cc:21135 config/arm/arm.cc:21145 +-#: config/arm/arm.cc:21154 config/arm/arm.cc:21163 ++#: config/arm/arm.cc:21119 config/arm/arm.cc:21144 config/arm/arm.cc:21154 ++#: config/arm/arm.cc:21163 config/arm/arm.cc:21172 + #, fuzzy, c-format + #| msgid "invalid %%f operand" + msgid "invalid shift operand" + msgstr "нерэчаісны %%f аперанд" + +-#: config/arm/arm.cc:24117 config/arm/arm.cc:24135 ++#: config/arm/arm.cc:24126 config/arm/arm.cc:24144 + #, fuzzy, c-format + msgid "predicated Thumb instruction" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/arm/arm.cc:24123 ++#: config/arm/arm.cc:24132 + #, c-format + msgid "predicated instruction in conditional sequence" + msgstr "" + +-#: config/arm/arm.cc:24244 config/arm/arm.cc:24257 config/arm/arm.cc:24282 ++#: config/arm/arm.cc:24253 config/arm/arm.cc:24266 config/arm/arm.cc:24291 + #: config/nios2/nios2.cc:3085 + #, fuzzy, c-format + msgid "Unsupported operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/arm/arm.cc:24359 config/arm/arm.cc:24381 config/arm/arm.cc:24391 +-#: config/arm/arm.cc:24401 config/arm/arm.cc:24411 config/arm/arm.cc:24450 +-#: config/arm/arm.cc:24468 config/arm/arm.cc:24486 config/arm/arm.cc:24513 +-#: config/arm/arm.cc:24528 config/arm/arm.cc:24555 config/arm/arm.cc:24562 +-#: config/arm/arm.cc:24580 config/arm/arm.cc:24587 config/arm/arm.cc:24595 +-#: config/arm/arm.cc:24616 config/arm/arm.cc:24623 config/arm/arm.cc:24814 +-#: config/arm/arm.cc:24821 config/arm/arm.cc:24848 config/arm/arm.cc:24855 ++#: config/arm/arm.cc:24368 config/arm/arm.cc:24390 config/arm/arm.cc:24400 ++#: config/arm/arm.cc:24410 config/arm/arm.cc:24420 config/arm/arm.cc:24459 ++#: config/arm/arm.cc:24477 config/arm/arm.cc:24495 config/arm/arm.cc:24522 ++#: config/arm/arm.cc:24537 config/arm/arm.cc:24564 config/arm/arm.cc:24571 ++#: config/arm/arm.cc:24589 config/arm/arm.cc:24596 config/arm/arm.cc:24604 ++#: config/arm/arm.cc:24625 config/arm/arm.cc:24632 config/arm/arm.cc:24823 ++#: config/arm/arm.cc:24830 config/arm/arm.cc:24857 config/arm/arm.cc:24864 + #: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 + #: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 + #: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 config/nds32/nds32.cc:3545 +@@ -20083,121 +20083,121 @@ msgstr "Нерэчаісны выбар \"%s\"" + msgid "invalid operand for code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/arm/arm.cc:24463 ++#: config/arm/arm.cc:24472 + #, c-format + msgid "instruction never executed" + msgstr "" + + #. Former Maverick support, removed after GCC-4.7. +-#: config/arm/arm.cc:24504 ++#: config/arm/arm.cc:24513 + #, c-format + msgid "obsolete Maverick format code '%c'" + msgstr "" + +-#: config/arm/arm.cc:34475 ++#: config/arm/arm.cc:34536 + msgid "invalid conversion from type %" + msgstr "" + +-#: config/arm/arm.cc:34477 ++#: config/arm/arm.cc:34538 + msgid "invalid conversion to type %" + msgstr "" + +-#: config/arm/arm.cc:34492 config/arm/arm.cc:34508 ++#: config/arm/arm.cc:34553 config/arm/arm.cc:34569 + msgid "operation not permitted on type %" + msgstr "" + +-#: config/avr/avr.cc:3610 ++#: config/avr/avr.cc:3616 + #, c-format + msgid "address operand requires constraint for X, Y, or Z register" + msgstr "" + +-#: config/avr/avr.cc:3793 ++#: config/avr/avr.cc:3799 + msgid "operands to %T/%t must be reg + const_int:" + msgstr "" + +-#: config/avr/avr.cc:3843 config/avr/avr.cc:3910 ++#: config/avr/avr.cc:3849 config/avr/avr.cc:3916 + msgid "bad address, not an I/O address:" + msgstr "" + +-#: config/avr/avr.cc:3852 ++#: config/avr/avr.cc:3858 + msgid "bad address, not a constant:" + msgstr "" + +-#: config/avr/avr.cc:3870 config/avr/avr.cc:3877 ++#: config/avr/avr.cc:3876 config/avr/avr.cc:3883 + msgid "bad address, not (reg+disp):" + msgstr "" + +-#: config/avr/avr.cc:3884 ++#: config/avr/avr.cc:3890 + msgid "bad address, not post_inc or pre_dec:" + msgstr "" + +-#: config/avr/avr.cc:3896 ++#: config/avr/avr.cc:3902 + msgid "internal compiler error. Bad address:" + msgstr "" + +-#: config/avr/avr.cc:3929 ++#: config/avr/avr.cc:3935 + #, c-format + msgid "Unsupported code '%c' for fixed-point:" + msgstr "" + +-#: config/avr/avr.cc:3948 ++#: config/avr/avr.cc:3954 + msgid "internal compiler error. Unknown mode:" + msgstr "" + +-#: config/avr/avr.cc:4815 config/avr/avr.cc:5758 config/avr/avr.cc:6205 ++#: config/avr/avr.cc:4827 config/avr/avr.cc:5787 config/avr/avr.cc:6234 + #, fuzzy + msgid "invalid insn:" + msgstr "Нерэчаісны выбар %s" + +-#: config/avr/avr.cc:4869 config/avr/avr.cc:4980 config/avr/avr.cc:5038 +-#: config/avr/avr.cc:5090 config/avr/avr.cc:5109 config/avr/avr.cc:5301 +-#: config/avr/avr.cc:5609 config/avr/avr.cc:5894 config/avr/avr.cc:6098 +-#: config/avr/avr.cc:6262 config/avr/avr.cc:6355 config/avr/avr.cc:6553 ++#: config/avr/avr.cc:4898 config/avr/avr.cc:5009 config/avr/avr.cc:5067 ++#: config/avr/avr.cc:5119 config/avr/avr.cc:5138 config/avr/avr.cc:5330 ++#: config/avr/avr.cc:5638 config/avr/avr.cc:5923 config/avr/avr.cc:6127 ++#: config/avr/avr.cc:6291 config/avr/avr.cc:6384 config/avr/avr.cc:6582 + msgid "incorrect insn:" + msgstr "" + +-#: config/avr/avr.cc:5125 config/avr/avr.cc:5400 config/avr/avr.cc:5680 +-#: config/avr/avr.cc:5966 config/avr/avr.cc:6144 config/avr/avr.cc:6411 +-#: config/avr/avr.cc:6611 ++#: config/avr/avr.cc:5154 config/avr/avr.cc:5429 config/avr/avr.cc:5709 ++#: config/avr/avr.cc:5995 config/avr/avr.cc:6173 config/avr/avr.cc:6440 ++#: config/avr/avr.cc:6640 + msgid "unknown move insn:" + msgstr "" + +-#: config/avr/avr.cc:7378 ++#: config/avr/avr.cc:7407 + msgid "bad shift insn:" + msgstr "" + +-#: config/avr/avr.cc:7486 config/avr/avr.cc:7969 config/avr/avr.cc:8386 ++#: config/avr/avr.cc:7515 config/avr/avr.cc:7998 config/avr/avr.cc:8415 + msgid "internal compiler error. Incorrect shift:" + msgstr "" + +-#: config/avr/avr.cc:10210 ++#: config/avr/avr.cc:10239 + #, fuzzy + #| msgid "unsupported version" + msgid "unsupported fixed-point conversion" + msgstr "непадтрымліваемая версія" + +-#: config/avr/avr.cc:11585 ++#: config/avr/avr.cc:11614 + msgid "variable" + msgstr "" + +-#: config/avr/avr.cc:11590 ++#: config/avr/avr.cc:11619 + #, fuzzy + msgid "function parameter" + msgstr "невыкарыстаемы параметр \"%s\"" + +-#: config/avr/avr.cc:11595 ++#: config/avr/avr.cc:11624 + #, fuzzy + #| msgid "structure" + msgid "structure field" + msgstr "структура" + +-#: config/avr/avr.cc:11601 ++#: config/avr/avr.cc:11630 + #, fuzzy + #| msgid "return type of `%s' is not `int'" + msgid "return type of function" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: config/avr/avr.cc:11606 ++#: config/avr/avr.cc:11635 + msgid "pointer" + msgstr "" + +@@ -20236,7 +20236,7 @@ msgstr "непадтрымліваемая версія" + #: config/cris/cris.cc:779 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108 + #: final.cc:3187 final.cc:3189 fold-const.cc:348 gcc.cc:6261 gcc.cc:6275 + #: rtl-error.cc:101 toplev.cc:319 cp/logic.cc:312 cp/logic.cc:314 +-#: cp/typeck.cc:7752 d/d-convert.cc:237 go/go-gcc-diagnostics.cc:28 ++#: cp/typeck.cc:7748 d/d-convert.cc:237 go/go-gcc-diagnostics.cc:28 + #: go/go-gcc-diagnostics.cc:37 go/go-gcc-diagnostics.cc:45 + #: go/go-gcc-diagnostics.cc:53 lto/lto-object.cc:180 lto/lto-object.cc:277 + #: lto/lto-object.cc:334 lto/lto-object.cc:358 m2/gm2-gcc/m2linemap.cc:182 +@@ -20560,48 +20560,48 @@ msgstr "" + msgid "operand is not a specific integer, invalid operand code 'R'" + msgstr "" + +-#: config/i386/i386.cc:14279 ++#: config/i386/i386.cc:14268 + #, fuzzy, c-format + msgid "invalid operand code '%c'" + msgstr "Нерэчаісны выбар \"%s\"" + +-#: config/i386/i386.cc:14341 config/i386/i386.cc:14730 ++#: config/i386/i386.cc:14330 config/i386/i386.cc:14719 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid constraints for operand" + msgstr "нерэчаісны %%c аперанд" + +-#: config/i386/i386.cc:14442 ++#: config/i386/i386.cc:14431 + #, fuzzy, c-format + msgid "invalid vector immediate" + msgstr "нерэчаісны ініцыялізатар" + +-#: config/i386/i386.cc:17562 ++#: config/i386/i386.cc:17551 + #, fuzzy + msgid "unknown insn mode" + msgstr "невядомы рэжым машыны \"%s\"" + +-#: config/i386/i386.cc:23599 ++#: config/i386/i386.cc:23777 + msgid "invalid conversion from type %<__bf16%> without option %<-msse2%>" + msgstr "" + +-#: config/i386/i386.cc:23602 ++#: config/i386/i386.cc:23780 + msgid "invalid conversion from type %<_Float16%> without option %<-msse2%>" + msgstr "" + +-#: config/i386/i386.cc:23605 ++#: config/i386/i386.cc:23783 + msgid "invalid conversion to type %<__bf16%> without option %<-msse2%>" + msgstr "" + +-#: config/i386/i386.cc:23608 ++#: config/i386/i386.cc:23786 + msgid "invalid conversion to type %<_Float16%> without option %<-msse2%>" + msgstr "" + +-#: config/i386/i386.cc:23646 config/i386/i386.cc:23671 ++#: config/i386/i386.cc:23824 config/i386/i386.cc:23849 + msgid "operation not permitted on type %<__bf16%> without option %<-msse2%>" + msgstr "" + +-#: config/i386/i386.cc:23649 config/i386/i386.cc:23675 ++#: config/i386/i386.cc:23827 config/i386/i386.cc:23853 + msgid "operation not permitted on type %<_Float16%> without option %<-msse2%>" + msgstr "" + +@@ -20637,7 +20637,7 @@ msgstr "нерэчаісны %%-код" + msgid "invalid %%P operand" + msgstr "нерэчаісны %%-код" + +-#: config/iq2000/iq2000.cc:3131 config/rs6000/rs6000.cc:14249 ++#: config/iq2000/iq2000.cc:3131 config/rs6000/rs6000.cc:14264 + #, c-format + msgid "invalid %%p value" + msgstr "" +@@ -20666,29 +20666,29 @@ msgstr "" + msgid "invalid addressing mode" + msgstr "" + +-#: config/loongarch/loongarch.cc:5880 config/loongarch/loongarch.cc:5902 +-#: config/loongarch/loongarch.cc:6303 config/mips/mips.cc:9239 +-#: config/mips/mips.cc:9266 config/mips/mips.cc:9449 ++#: config/loongarch/loongarch.cc:5887 config/loongarch/loongarch.cc:5909 ++#: config/loongarch/loongarch.cc:6310 config/mips/mips.cc:9248 ++#: config/mips/mips.cc:9275 config/mips/mips.cc:9458 + #, fuzzy, c-format + msgid "'%%%c' is not a valid operand prefix" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: config/loongarch/loongarch.cc:6140 config/loongarch/loongarch.cc:6160 +-#: config/loongarch/loongarch.cc:6206 config/loongarch/loongarch.cc:6213 +-#: config/loongarch/loongarch.cc:6260 config/loongarch/loongarch.cc:6263 +-#: config/loongarch/loongarch.cc:6275 config/loongarch/loongarch.cc:6282 +-#: config/loongarch/loongarch.cc:6292 config/loongarch/loongarch.cc:6295 +-#: config/loongarch/loongarch.cc:6316 config/loongarch/loongarch.cc:6323 +-#: config/loongarch/loongarch.cc:6350 config/loongarch/loongarch.cc:6361 +-#: config/loongarch/loongarch.cc:6376 config/loongarch/loongarch.cc:6385 +-#: config/mips/mips.cc:9338 config/mips/mips.cc:9345 config/mips/mips.cc:9352 +-#: config/mips/mips.cc:9359 config/mips/mips.cc:9372 config/mips/mips.cc:9379 +-#: config/mips/mips.cc:9389 config/mips/mips.cc:9392 config/mips/mips.cc:9404 +-#: config/mips/mips.cc:9407 config/mips/mips.cc:9467 config/mips/mips.cc:9474 +-#: config/mips/mips.cc:9495 config/mips/mips.cc:9510 config/mips/mips.cc:9529 +-#: config/mips/mips.cc:9538 config/riscv/riscv.cc:5962 +-#: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6343 +-#: config/riscv/riscv.cc:6359 config/riscv/riscv.cc:6370 ++#: config/loongarch/loongarch.cc:6147 config/loongarch/loongarch.cc:6167 ++#: config/loongarch/loongarch.cc:6213 config/loongarch/loongarch.cc:6220 ++#: config/loongarch/loongarch.cc:6267 config/loongarch/loongarch.cc:6270 ++#: config/loongarch/loongarch.cc:6282 config/loongarch/loongarch.cc:6289 ++#: config/loongarch/loongarch.cc:6299 config/loongarch/loongarch.cc:6302 ++#: config/loongarch/loongarch.cc:6323 config/loongarch/loongarch.cc:6330 ++#: config/loongarch/loongarch.cc:6357 config/loongarch/loongarch.cc:6368 ++#: config/loongarch/loongarch.cc:6383 config/loongarch/loongarch.cc:6392 ++#: config/mips/mips.cc:9347 config/mips/mips.cc:9354 config/mips/mips.cc:9361 ++#: config/mips/mips.cc:9368 config/mips/mips.cc:9381 config/mips/mips.cc:9388 ++#: config/mips/mips.cc:9398 config/mips/mips.cc:9401 config/mips/mips.cc:9413 ++#: config/mips/mips.cc:9416 config/mips/mips.cc:9476 config/mips/mips.cc:9483 ++#: config/mips/mips.cc:9504 config/mips/mips.cc:9519 config/mips/mips.cc:9538 ++#: config/mips/mips.cc:9547 config/riscv/riscv.cc:5974 ++#: config/riscv/riscv.cc:6349 config/riscv/riscv.cc:6355 ++#: config/riscv/riscv.cc:6371 config/riscv/riscv.cc:6382 + #, fuzzy, c-format + #| msgid "invalid use of `%D'" + msgid "invalid use of '%%%c'" +@@ -20721,7 +20721,7 @@ msgid "post-increment address is not a register" + msgstr "" + + #: config/m32r/m32r.cc:2338 config/m32r/m32r.cc:2353 +-#: config/rs6000/rs6000.cc:20974 ++#: config/rs6000/rs6000.cc:20989 + msgid "bad address" + msgstr "дрэнны адрас" + +@@ -20892,7 +20892,7 @@ msgstr "нераспазнаны адрас" + msgid "unsupported memory expression:" + msgstr "непадтрымліваемая версія" + +-#: config/riscv/riscv.cc:6139 ++#: config/riscv/riscv.cc:6151 + #, fuzzy, c-format + #| msgid "invalid %%c operand" + msgid "invalid vector operand" +@@ -20943,251 +20943,251 @@ msgstr "" + msgid "%<-mquad-memory%> is not available in little endian mode" + msgstr "" + +-#: config/rs6000/rs6000.cc:11339 ++#: config/rs6000/rs6000.cc:11354 + msgid "bad move" + msgstr "" + +-#: config/rs6000/rs6000.cc:13879 ++#: config/rs6000/rs6000.cc:13894 + msgid "Bad 128-bit move" + msgstr "" + +-#: config/rs6000/rs6000.cc:14059 ++#: config/rs6000/rs6000.cc:14074 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%A value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:14068 config/xtensa/xtensa.cc:3015 ++#: config/rs6000/rs6000.cc:14083 config/xtensa/xtensa.cc:3015 + #, fuzzy, c-format + msgid "invalid %%D value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:14083 ++#: config/rs6000/rs6000.cc:14098 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%e value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:14104 ++#: config/rs6000/rs6000.cc:14119 + #, c-format + msgid "invalid %%f value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14113 ++#: config/rs6000/rs6000.cc:14128 + #, c-format + msgid "invalid %%F value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14122 ++#: config/rs6000/rs6000.cc:14137 + #, c-format + msgid "invalid %%G value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14157 ++#: config/rs6000/rs6000.cc:14172 + #, c-format + msgid "invalid %%j code" + msgstr "" + +-#: config/rs6000/rs6000.cc:14167 ++#: config/rs6000/rs6000.cc:14182 + #, c-format + msgid "invalid %%J code" + msgstr "" + +-#: config/rs6000/rs6000.cc:14177 ++#: config/rs6000/rs6000.cc:14192 + #, c-format + msgid "invalid %%k value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14192 config/xtensa/xtensa.cc:3052 ++#: config/rs6000/rs6000.cc:14207 config/xtensa/xtensa.cc:3052 + #, c-format + msgid "invalid %%K value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14239 ++#: config/rs6000/rs6000.cc:14254 + #, c-format + msgid "invalid %%O value" + msgstr "нерэчаіснае значэньне %%O" + +-#: config/rs6000/rs6000.cc:14286 ++#: config/rs6000/rs6000.cc:14301 + #, c-format + msgid "invalid %%q value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14328 ++#: config/rs6000/rs6000.cc:14343 + #, fuzzy, c-format + #| msgid "invalid %%Q value" + msgid "invalid %%t value" + msgstr "дрэннае %%Q значэнне" + +-#: config/rs6000/rs6000.cc:14345 ++#: config/rs6000/rs6000.cc:14360 + #, c-format + msgid "invalid %%T value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14357 ++#: config/rs6000/rs6000.cc:14372 + #, c-format + msgid "invalid %%u value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14371 config/xtensa/xtensa.cc:3027 ++#: config/rs6000/rs6000.cc:14386 config/xtensa/xtensa.cc:3027 + #, c-format + msgid "invalid %%v value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14421 ++#: config/rs6000/rs6000.cc:14436 + #, c-format + msgid "invalid %%V value" + msgstr "нерэчаіснае значэньне %%V" + +-#: config/rs6000/rs6000.cc:14437 config/xtensa/xtensa.cc:3073 ++#: config/rs6000/rs6000.cc:14452 config/xtensa/xtensa.cc:3073 + #, fuzzy, c-format + #| msgid "invalid %%x/X value" + msgid "invalid %%x value" + msgstr "нерэчаіснае значэньне %%x/X" + +-#: config/rs6000/rs6000.cc:14494 ++#: config/rs6000/rs6000.cc:14509 + #, c-format + msgid "invalid %%z value" + msgstr "" + +-#: config/rs6000/rs6000.cc:14563 ++#: config/rs6000/rs6000.cc:14578 + #, fuzzy, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/rs6000/rs6000.cc:15505 ++#: config/rs6000/rs6000.cc:15520 + msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" + msgstr "" + +-#: config/rs6000/rs6000.cc:24375 ++#: config/rs6000/rs6000.cc:24390 + #, fuzzy + #| msgid "too few arguments to function" + msgid "AltiVec argument passed to unprototyped function" + msgstr "не хапае аргументаў у функцыі" + +-#: config/rs6000/rs6000.cc:27990 ++#: config/rs6000/rs6000.cc:28005 + #, fuzzy + msgid "Could not generate addis value for fusion" + msgstr "Стварыць код для DLL" + +-#: config/rs6000/rs6000.cc:28059 ++#: config/rs6000/rs6000.cc:28074 + msgid "Unable to generate load/store offset for fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28135 ++#: config/rs6000/rs6000.cc:28150 + msgid "Bad GPR fusion" + msgstr "" + +-#: config/rs6000/rs6000.cc:28737 ++#: config/rs6000/rs6000.cc:28752 + msgid "invalid conversion from type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28739 ++#: config/rs6000/rs6000.cc:28754 + msgid "invalid conversion to type %<__vector_quad%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28741 ++#: config/rs6000/rs6000.cc:28756 + msgid "invalid conversion from type %<__vector_pair%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:28743 ++#: config/rs6000/rs6000.cc:28758 + msgid "invalid conversion to type %<__vector_pair%>" + msgstr "" + +-#: config/s390/s390.cc:8415 ++#: config/s390/s390.cc:8416 + #, c-format + msgid "symbolic memory references are only supported on z10 or later" + msgstr "" + +-#: config/s390/s390.cc:8426 ++#: config/s390/s390.cc:8427 + #, fuzzy, c-format + msgid "cannot decompose address" + msgstr "невядомая назва рэгістра: %s" + +-#: config/s390/s390.cc:8508 ++#: config/s390/s390.cc:8509 + #, c-format + msgid "invalid comparison operator for 'E' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8531 ++#: config/s390/s390.cc:8532 + #, c-format + msgid "invalid reference for 'J' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8549 ++#: config/s390/s390.cc:8550 + #, c-format + msgid "invalid address for 'O' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8571 ++#: config/s390/s390.cc:8572 + #, c-format + msgid "invalid address for 'R' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8589 ++#: config/s390/s390.cc:8590 + #, c-format + msgid "memory reference expected for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8599 ++#: config/s390/s390.cc:8600 + #, c-format + msgid "invalid address for 'S' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8620 ++#: config/s390/s390.cc:8621 + #, c-format + msgid "register or memory expression expected for 'N' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8631 ++#: config/s390/s390.cc:8632 + #, c-format + msgid "register or memory expression expected for 'M' output modifier" + msgstr "" + +-#: config/s390/s390.cc:8740 config/s390/s390.cc:8761 ++#: config/s390/s390.cc:8741 config/s390/s390.cc:8762 + #, c-format + msgid "invalid constant for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.cc:8758 ++#: config/s390/s390.cc:8759 + #, c-format + msgid "invalid constant - try using an output modifier" + msgstr "" + +-#: config/s390/s390.cc:8795 ++#: config/s390/s390.cc:8796 + #, c-format + msgid "invalid constant vector for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.cc:8802 ++#: config/s390/s390.cc:8803 + #, c-format + msgid "invalid expression - try using an output modifier" + msgstr "" + +-#: config/s390/s390.cc:8805 ++#: config/s390/s390.cc:8806 + #, c-format + msgid "invalid expression for output modifier '%c'" + msgstr "" + +-#: config/s390/s390.cc:12664 ++#: config/s390/s390.cc:12665 + #, fuzzy + #| msgid "too few arguments to function" + msgid "vector argument passed to unprototyped function" + msgstr "не хапае аргументаў у функцыі" + +-#: config/s390/s390.cc:17110 ++#: config/s390/s390.cc:17111 + msgid "types differ in signedness" + msgstr "" + +-#: config/s390/s390.cc:17120 ++#: config/s390/s390.cc:17121 + msgid "binary operator does not support two vector bool operands" + msgstr "" + +-#: config/s390/s390.cc:17123 ++#: config/s390/s390.cc:17124 + msgid "binary operator does not support vector bool operand" + msgstr "" + +-#: config/s390/s390.cc:17131 ++#: config/s390/s390.cc:17132 + msgid "binary operator does not support mixing vector bool with floating point vector operands" + msgstr "" + +@@ -21382,12 +21382,12 @@ msgstr "" + #: c/c-parser.cc:14293 c/c-parser.cc:14368 c/c-parser.cc:14411 + #: c/c-parser.cc:21325 c/c-parser.cc:21405 c/c-parser.cc:21734 + #: c/c-parser.cc:21760 c/c-parser.cc:21783 c/c-parser.cc:22319 +-#: c/c-parser.cc:22363 c/gimple-parser.cc:411 c/gimple-parser.cc:452 ++#: c/c-parser.cc:22362 c/gimple-parser.cc:411 c/gimple-parser.cc:452 + #: c/gimple-parser.cc:461 c/gimple-parser.cc:670 c/gimple-parser.cc:2351 + #: c/gimple-parser.cc:2388 c/gimple-parser.cc:2467 c/gimple-parser.cc:2494 + #: c/c-parser.cc:3888 c/c-parser.cc:4079 c/c-parser.cc:4114 c/c-parser.cc:13453 + #: c/gimple-parser.cc:2158 c/gimple-parser.cc:2215 cp/parser.cc:15847 +-#: cp/parser.cc:33810 cp/parser.cc:34449 ++#: cp/parser.cc:33812 cp/parser.cc:34451 + #, gcc-internal-format + msgid "expected %<;%>" + msgstr "" +@@ -21400,7 +21400,7 @@ msgstr "" + #: c/c-parser.cc:13567 c/c-parser.cc:16181 c/c-parser.cc:16916 + #: c/c-parser.cc:16975 c/c-parser.cc:17030 c/c-parser.cc:18889 + #: c/c-parser.cc:19009 c/c-parser.cc:20418 c/c-parser.cc:21825 +-#: c/c-parser.cc:22327 c/c-parser.cc:25651 c/c-parser.cc:25733 ++#: c/c-parser.cc:22327 c/c-parser.cc:25649 c/c-parser.cc:25731 + #: c/gimple-parser.cc:195 c/gimple-parser.cc:198 c/gimple-parser.cc:546 + #: c/gimple-parser.cc:580 c/gimple-parser.cc:585 c/gimple-parser.cc:754 + #: c/gimple-parser.cc:851 c/gimple-parser.cc:1089 c/gimple-parser.cc:1115 +@@ -21409,7 +21409,7 @@ msgstr "" + #: c/gimple-parser.cc:1605 c/gimple-parser.cc:1635 c/gimple-parser.cc:1661 + #: c/gimple-parser.cc:1868 c/gimple-parser.cc:2080 c/gimple-parser.cc:2100 + #: c/gimple-parser.cc:2261 c/gimple-parser.cc:2424 c/c-parser.cc:8660 +-#: cp/parser.cc:34497 ++#: cp/parser.cc:34499 + #, gcc-internal-format + msgid "expected %<)%>" + msgstr "" +@@ -21417,7 +21417,7 @@ msgstr "" + #: c/c-parser.cc:4768 c/c-parser.cc:5516 c/c-parser.cc:5876 c/c-parser.cc:5894 + #: c/c-parser.cc:5895 c/c-parser.cc:6341 c/c-parser.cc:6385 c/c-parser.cc:8759 + #: c/c-parser.cc:10898 c/c-parser.cc:12179 c/c-parser.cc:12550 +-#: c/c-parser.cc:15496 c/gimple-parser.cc:1844 cp/parser.cc:34461 ++#: c/c-parser.cc:15496 c/gimple-parser.cc:1844 cp/parser.cc:34463 + #, gcc-internal-format + msgid "expected %<]%>" + msgstr "" +@@ -21428,29 +21428,29 @@ msgstr "" + + #. Look for the two `(' tokens. + #: c/c-parser.cc:5425 c/c-parser.cc:5430 c/c-parser.cc:16164 +-#: c/c-parser.cc:17005 c/c-parser.cc:24795 c/c-parser.cc:25459 +-#: c/c-parser.cc:25676 c/gimple-parser.cc:180 c/gimple-parser.cc:493 ++#: c/c-parser.cc:17005 c/c-parser.cc:24793 c/c-parser.cc:25457 ++#: c/c-parser.cc:25674 c/gimple-parser.cc:180 c/gimple-parser.cc:493 + #: c/gimple-parser.cc:532 c/gimple-parser.cc:564 c/gimple-parser.cc:821 + #: c/gimple-parser.cc:1083 c/gimple-parser.cc:1109 c/gimple-parser.cc:1236 + #: c/gimple-parser.cc:1371 c/gimple-parser.cc:1496 c/gimple-parser.cc:1601 + #: c/gimple-parser.cc:1619 c/gimple-parser.cc:1654 c/gimple-parser.cc:2049 + #: c/gimple-parser.cc:2060 c/gimple-parser.cc:2066 c/gimple-parser.cc:2249 +-#: c/gimple-parser.cc:2421 c/c-parser.cc:15945 cp/parser.cc:34452 ++#: c/gimple-parser.cc:2421 c/c-parser.cc:15945 cp/parser.cc:34454 + #, gcc-internal-format + msgid "expected %<(%>" + msgstr "" + +-#: c/c-parser.cc:5872 c/c-parser.cc:5874 c/c-parser.cc:15401 cp/parser.cc:34464 +-#: cp/parser.cc:38333 go/gofrontend/embed.cc:440 ++#: c/c-parser.cc:5872 c/c-parser.cc:5874 c/c-parser.cc:15401 cp/parser.cc:34466 ++#: cp/parser.cc:38335 go/gofrontend/embed.cc:440 + #, gcc-internal-format + msgid "expected %<[%>" + msgstr "" + + #: c/c-parser.cc:6522 c/c-parser.cc:13796 c/c-parser.cc:21300 +-#: c/c-parser.cc:21386 c/c-parser.cc:22147 c/c-parser.cc:23107 +-#: c/c-parser.cc:26919 c/gimple-parser.cc:404 c/gimple-parser.cc:2427 ++#: c/c-parser.cc:21386 c/c-parser.cc:22147 c/c-parser.cc:23105 ++#: c/c-parser.cc:26917 c/gimple-parser.cc:404 c/gimple-parser.cc:2427 + #: c/c-parser.cc:3875 c/c-parser.cc:4103 c/c-parser.cc:13348 cp/parser.cc:21607 +-#: cp/parser.cc:34458 go/gofrontend/embed.cc:371 ++#: cp/parser.cc:34460 go/gofrontend/embed.cc:371 + #, gcc-internal-format + msgid "expected %<{%>" + msgstr "" +@@ -21460,17 +21460,17 @@ msgstr "" + #: c/c-parser.cc:15478 c/c-parser.cc:16596 c/c-parser.cc:16833 + #: c/c-parser.cc:17386 c/c-parser.cc:17489 c/c-parser.cc:18030 + #: c/c-parser.cc:18466 c/c-parser.cc:18542 c/c-parser.cc:18659 +-#: c/c-parser.cc:18731 c/c-parser.cc:24662 c/c-parser.cc:25516 +-#: c/c-parser.cc:25575 c/gimple-parser.cc:587 c/gimple-parser.cc:892 ++#: c/c-parser.cc:18731 c/c-parser.cc:24660 c/c-parser.cc:25514 ++#: c/c-parser.cc:25573 c/gimple-parser.cc:587 c/gimple-parser.cc:892 + #: c/gimple-parser.cc:2475 c/gimple-parser.cc:2502 c/c-parser.cc:8667 +-#: c/c-parser.cc:16089 c/c-parser.cc:17494 cp/parser.cc:34491 +-#: cp/parser.cc:36194 cp/parser.cc:39264 cp/parser.cc:40157 ++#: c/c-parser.cc:16089 c/c-parser.cc:17494 cp/parser.cc:34493 ++#: cp/parser.cc:36196 cp/parser.cc:39266 cp/parser.cc:40159 + #: go/gofrontend/embed.cc:404 + #, gcc-internal-format + msgid "expected %<:%>" + msgstr "" + +-#: c/c-parser.cc:8199 cp/parser.cc:34378 ++#: c/c-parser.cc:8199 cp/parser.cc:34380 + #, gcc-internal-format + msgid "expected %" + msgstr "" +@@ -21479,8 +21479,8 @@ msgstr "" + #: c/c-parser.cc:10828 c/c-parser.cc:10969 c/c-parser.cc:11716 + #: c/c-parser.cc:17010 c/c-parser.cc:18611 c/gimple-parser.cc:1086 + #: c/gimple-parser.cc:1112 c/gimple-parser.cc:1240 c/gimple-parser.cc:1243 +-#: c/gimple-parser.cc:1623 c/gimple-parser.cc:1629 cp/parser.cc:33808 +-#: cp/parser.cc:34467 ++#: c/gimple-parser.cc:1623 c/gimple-parser.cc:1629 cp/parser.cc:33810 ++#: cp/parser.cc:34469 + #, gcc-internal-format + msgid "expected %<,%>" + msgstr "" +@@ -21490,17 +21490,17 @@ msgid "expected %<.%>" + msgstr "" + + #: c/c-parser.cc:13019 c/c-parser.cc:13051 c/c-parser.cc:13291 +-#: cp/parser.cc:36768 cp/parser.cc:36789 ++#: cp/parser.cc:36770 cp/parser.cc:36791 + #, gcc-internal-format + msgid "expected %<@end%>" + msgstr "" + +-#: c/c-parser.cc:13709 c/gimple-parser.cc:1411 cp/parser.cc:34476 ++#: c/c-parser.cc:13709 c/gimple-parser.cc:1411 cp/parser.cc:34478 + #, gcc-internal-format + msgid "expected %<>%>" + msgstr "" + +-#: c/c-parser.cc:17584 c/c-parser.cc:19027 cp/parser.cc:34500 ++#: c/c-parser.cc:17584 c/c-parser.cc:19027 cp/parser.cc:34502 + #, gcc-internal-format + msgid "expected %<,%> or %<)%>" + msgstr "" +@@ -21508,32 +21508,32 @@ msgstr "" + #. All following cases are statements with LHS. + #: c/c-parser.cc:18458 c/c-parser.cc:21193 c/c-parser.cc:21240 + #: c/c-parser.cc:21397 c/c-parser.cc:21744 c/c-parser.cc:22306 +-#: c/c-parser.cc:24843 c/c-parser.cc:25717 c/gimple-parser.cc:745 ++#: c/c-parser.cc:24841 c/c-parser.cc:25715 c/gimple-parser.cc:745 + #: c/c-parser.cc:6408 c/c-parser.cc:21317 c/c-parser.cc:21540 +-#: cp/parser.cc:34479 cp/parser.cc:43147 cp/parser.cc:43320 ++#: cp/parser.cc:34481 cp/parser.cc:43149 cp/parser.cc:43322 + #, gcc-internal-format + msgid "expected %<=%>" + msgstr "" + + #: c/c-parser.cc:21328 c/c-parser.cc:21408 c/c-parser.cc:21761 + #: c/c-parser.cc:22216 c/gimple-parser.cc:1677 c/gimple-parser.cc:1709 +-#: c/gimple-parser.cc:1719 c/gimple-parser.cc:2512 cp/parser.cc:34455 +-#: cp/parser.cc:36978 ++#: c/gimple-parser.cc:1719 c/gimple-parser.cc:2512 cp/parser.cc:34457 ++#: cp/parser.cc:36980 + #, gcc-internal-format + msgid "expected %<}%>" + msgstr "" + +-#: c/c-parser.cc:21421 cp/parser.cc:43245 ++#: c/c-parser.cc:21421 cp/parser.cc:43247 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:23154 c/c-parser.cc:23143 cp/parser.cc:45944 ++#: c/c-parser.cc:23152 c/c-parser.cc:23141 cp/parser.cc:45942 + #, gcc-internal-format + msgid "expected %<#pragma omp section%> or %<}%>" + msgstr "" + +-#: c/c-parser.cc:26283 cp/parser.cc:49921 ++#: c/c-parser.cc:26281 cp/parser.cc:49919 + msgid "" + msgstr "" + +@@ -21541,7 +21541,7 @@ msgstr "" + msgid "(anonymous)" + msgstr "" + +-#: c/gimple-parser.cc:1400 cp/parser.cc:18950 cp/parser.cc:34473 ++#: c/gimple-parser.cc:1400 cp/parser.cc:18950 cp/parser.cc:34475 + #, gcc-internal-format + msgid "expected %<<%>" + msgstr "" +@@ -21556,21 +21556,21 @@ msgstr "" + msgid "candidate:" + msgstr "" + +-#: cp/call.cc:8332 ++#: cp/call.cc:8333 + msgid " after user-defined conversion:" + msgstr "" + +-#: cp/call.cc:8498 cp/pt.cc:2043 cp/pt.cc:26344 ++#: cp/call.cc:8499 cp/pt.cc:2044 cp/pt.cc:26386 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "" + msgstr[1] "" + +-#: cp/call.cc:13020 cp/call.cc:13446 ++#: cp/call.cc:13021 cp/call.cc:13447 + msgid "candidate 1:" + msgstr "" + +-#: cp/call.cc:13022 cp/call.cc:13447 ++#: cp/call.cc:13023 cp/call.cc:13448 + msgid "candidate 2:" + msgstr "" + +@@ -21831,7 +21831,7 @@ msgstr "" + msgid "%r%s:%d:%R in % expansion of %qs" + msgstr "" + +-#: cp/pt.cc:2041 cp/semantics.cc:6310 ++#: cp/pt.cc:2042 cp/semantics.cc:6308 + msgid "candidates are:" + msgstr "" + +@@ -21880,50 +21880,50 @@ msgstr "" + msgid "source type is not polymorphic" + msgstr "" + +-#: cp/typeck.cc:7443 c/c-typeck.cc:4685 ++#: cp/typeck.cc:7439 c/c-typeck.cc:4685 + #, gcc-internal-format + msgid "wrong type argument to unary minus" + msgstr "" + +-#: cp/typeck.cc:7444 c/c-typeck.cc:4671 ++#: cp/typeck.cc:7440 c/c-typeck.cc:4671 + #, gcc-internal-format + msgid "wrong type argument to unary plus" + msgstr "" + +-#: cp/typeck.cc:7471 c/c-typeck.cc:4730 ++#: cp/typeck.cc:7467 c/c-typeck.cc:4730 + #, gcc-internal-format + msgid "wrong type argument to bit-complement" + msgstr "" + +-#: cp/typeck.cc:7488 c/c-typeck.cc:4738 ++#: cp/typeck.cc:7484 c/c-typeck.cc:4738 + #, gcc-internal-format + msgid "wrong type argument to abs" + msgstr "" + +-#: cp/typeck.cc:7500 c/c-typeck.cc:4760 ++#: cp/typeck.cc:7496 c/c-typeck.cc:4760 + #, gcc-internal-format + msgid "wrong type argument to conjugation" + msgstr "" + +-#: cp/typeck.cc:7524 ++#: cp/typeck.cc:7520 + #, fuzzy + #| msgid "too many arguments to function" + msgid "in argument to unary !" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: cp/typeck.cc:7573 ++#: cp/typeck.cc:7569 + msgid "no pre-increment operator for type" + msgstr "" + +-#: cp/typeck.cc:7575 ++#: cp/typeck.cc:7571 + msgid "no post-increment operator for type" + msgstr "" + +-#: cp/typeck.cc:7577 ++#: cp/typeck.cc:7573 + msgid "no pre-decrement operator for type" + msgstr "" + +-#: cp/typeck.cc:7579 ++#: cp/typeck.cc:7575 + msgid "no post-decrement operator for type" + msgstr "" + +@@ -22002,7 +22002,7 @@ msgstr "" + msgid "Deleted feature:" + msgstr "" + +-#: fortran/expr.cc:3809 ++#: fortran/expr.cc:3814 + msgid "array assignment" + msgstr "" + +@@ -22202,11 +22202,11 @@ msgstr "" + msgid "implied END DO" + msgstr "" + +-#: fortran/parse.cc:2432 fortran/resolve.cc:12765 ++#: fortran/parse.cc:2432 fortran/resolve.cc:12774 + msgid "assignment" + msgstr "" + +-#: fortran/parse.cc:2435 fortran/resolve.cc:12831 fortran/resolve.cc:12834 ++#: fortran/parse.cc:2435 fortran/resolve.cc:12840 fortran/resolve.cc:12843 + msgid "pointer assignment" + msgstr "" + +@@ -22386,47 +22386,47 @@ msgstr "" + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "" + +-#: fortran/resolve.cc:7659 ++#: fortran/resolve.cc:7668 + msgid "Loop variable" + msgstr "" + +-#: fortran/resolve.cc:7663 ++#: fortran/resolve.cc:7672 + msgid "iterator variable" + msgstr "" + +-#: fortran/resolve.cc:7667 ++#: fortran/resolve.cc:7676 + msgid "Start expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7671 ++#: fortran/resolve.cc:7680 + msgid "End expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7675 ++#: fortran/resolve.cc:7684 + msgid "Step expression in DO loop" + msgstr "" + +-#: fortran/resolve.cc:7962 fortran/resolve.cc:7965 ++#: fortran/resolve.cc:7971 fortran/resolve.cc:7974 + msgid "DEALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8353 fortran/resolve.cc:8356 ++#: fortran/resolve.cc:8362 fortran/resolve.cc:8365 + msgid "ALLOCATE object" + msgstr "" + +-#: fortran/resolve.cc:8593 fortran/resolve.cc:10670 fortran/resolve.cc:10791 ++#: fortran/resolve.cc:8602 fortran/resolve.cc:10679 fortran/resolve.cc:10800 + msgid "STAT variable" + msgstr "" + +-#: fortran/resolve.cc:8644 fortran/resolve.cc:10682 fortran/resolve.cc:10803 ++#: fortran/resolve.cc:8653 fortran/resolve.cc:10691 fortran/resolve.cc:10812 + msgid "ERRMSG variable" + msgstr "" + +-#: fortran/resolve.cc:10472 ++#: fortran/resolve.cc:10481 + msgid "item in READ" + msgstr "" + +-#: fortran/resolve.cc:10694 ++#: fortran/resolve.cc:10703 + msgid "ACQUIRED_LOCK variable" + msgstr "" + +@@ -22435,11 +22435,11 @@ msgstr "" + msgid "Different CHARACTER lengths (%ld/%ld) in array constructor" + msgstr "" + +-#: fortran/trans-array.cc:6401 ++#: fortran/trans-array.cc:6413 + msgid "Integer overflow when calculating the amount of memory to allocate" + msgstr "" + +-#: fortran/trans-array.cc:10501 ++#: fortran/trans-array.cc:10525 + #, c-format + msgid "The value of the PDT LEN parameter '%s' does not agree with that in the dummy declaration" + msgstr "" +@@ -22454,12 +22454,12 @@ msgstr "" + msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" + msgstr "" + +-#: fortran/trans-expr.cc:10754 ++#: fortran/trans-expr.cc:10759 + #, c-format + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "" + +-#: fortran/trans-expr.cc:12351 ++#: fortran/trans-expr.cc:12385 + msgid "Assignment of scalar to unallocated array" + msgstr "" + +@@ -22468,81 +22468,81 @@ msgstr "" + msgid "Unequal character lengths (%ld/%ld) in %s" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6518 ++#: fortran/trans-intrinsic.cc:6521 + #, c-format + msgid "POS argument (%ld) out of range 0:%ld in intrinsic BTEST" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6613 ++#: fortran/trans-intrinsic.cc:6616 + #, c-format + msgid "POS argument (%ld) out of range 0:%ld in intrinsic %s" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6661 ++#: fortran/trans-intrinsic.cc:6664 + #, c-format + msgid "POS argument (%ld) out of range 0:%ld in intrinsic IBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6671 ++#: fortran/trans-intrinsic.cc:6674 + #, c-format + msgid "LEN argument (%ld) out of range 0:%ld in intrinsic IBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6678 ++#: fortran/trans-intrinsic.cc:6681 + #, c-format + msgid "POS(%ld)+LEN(%ld)>BIT_SIZE(%ld) in intrinsic IBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6760 ++#: fortran/trans-intrinsic.cc:6763 + #, c-format + msgid "SHIFT argument (%ld) out of range 0:%ld in intrinsic %s" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6828 ++#: fortran/trans-intrinsic.cc:6831 + #, c-format + msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFT" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6908 ++#: fortran/trans-intrinsic.cc:6911 + #, c-format + msgid "SIZE argument (%ld) out of range 1:%ld in intrinsic ISHFTC" + msgstr "" + +-#: fortran/trans-intrinsic.cc:6916 fortran/trans-intrinsic.cc:6961 ++#: fortran/trans-intrinsic.cc:6919 fortran/trans-intrinsic.cc:6964 + #, c-format + msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC" + msgstr "" + +-#: fortran/trans-intrinsic.cc:9312 ++#: fortran/trans-intrinsic.cc:9359 + #, c-format + msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)" + msgstr "" + +-#: fortran/trans-intrinsic.cc:9344 ++#: fortran/trans-intrinsic.cc:9391 + msgid "Argument NCOPIES of REPEAT intrinsic is too large" + msgstr "" + +-#: fortran/trans-intrinsic.cc:12509 ++#: fortran/trans-intrinsic.cc:12556 + #, c-format + msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:12521 ++#: fortran/trans-intrinsic.cc:12568 + #, c-format + msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:12533 ++#: fortran/trans-intrinsic.cc:12580 + #, c-format + msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:12545 ++#: fortran/trans-intrinsic.cc:12592 + #, c-format + msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS" + msgstr "" + +-#: fortran/trans-intrinsic.cc:12553 ++#: fortran/trans-intrinsic.cc:12600 + #, c-format + msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS" + msgstr "" +@@ -22564,15 +22564,15 @@ msgstr "" + msgid "Invalid image number %d in SYNC IMAGES" + msgstr "" + +-#: fortran/trans-stmt.cc:2517 ++#: fortran/trans-stmt.cc:2527 + msgid "Loop iterates infinitely" + msgstr "" + +-#: fortran/trans-stmt.cc:2537 fortran/trans-stmt.cc:2793 ++#: fortran/trans-stmt.cc:2547 fortran/trans-stmt.cc:2803 + msgid "Loop variable has been modified" + msgstr "" + +-#: fortran/trans-stmt.cc:2646 ++#: fortran/trans-stmt.cc:2656 + msgid "DO step value is zero" + msgstr "" + +@@ -22649,7 +22649,7 @@ msgid "expected boolean type" + msgstr "" + + #: go/gofrontend/expressions.cc:5610 c/c-parser.cc:18370 c/c-parser.cc:18377 +-#: cp/parser.cc:40917 cp/parser.cc:40924 ++#: cp/parser.cc:40919 cp/parser.cc:40926 + #, gcc-internal-format + msgid "expected integer" + msgstr "" +@@ -22717,7 +22717,7 @@ msgstr "няма аргументаў" + #: go/gofrontend/expressions.cc:11743 go/gofrontend/expressions.cc:11838 + #: go/gofrontend/expressions.cc:14014 go/gofrontend/expressions.cc:14143 + #: go/gofrontend/expressions.cc:14157 go/gofrontend/expressions.cc:14178 +-#: cp/pt.cc:9370 ++#: cp/pt.cc:9381 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "too many arguments" +@@ -23375,7 +23375,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC" + msgstr "" + + #. A general purpose syntax error. +-#: fortran/gfortran.h:3412 fortran/io.cc:3727 fortran/io.cc:4413 ++#: fortran/gfortran.h:3416 fortran/io.cc:3727 fortran/io.cc:4413 + #, gcc-internal-format, gfc-internal-format + msgid "Syntax error in %s statement at %C" + msgstr "" +@@ -23838,8 +23838,8 @@ msgstr "" + + #: attribs.cc:536 c-family/c-attribs.cc:995 c-family/c-attribs.cc:2690 + #: c-family/c-attribs.cc:3177 c-family/c-attribs.cc:5054 +-#: c-family/c-attribs.cc:5147 cp/decl.cc:16434 cp/decl.cc:16484 +-#: cp/friend.cc:318 cp/tree.cc:5259 ++#: c-family/c-attribs.cc:5147 cp/decl.cc:16450 cp/decl.cc:16500 ++#: cp/friend.cc:318 cp/tree.cc:5262 + #, fuzzy, gcc-internal-format + msgid "previous declaration here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" +@@ -23857,7 +23857,7 @@ msgstr "\"%s\" атрыбут ігнарыруецца" + msgid "%<%E::%E%> scoped attribute directive ignored" + msgstr "" + +-#: attribs.cc:757 c/c-parser.cc:2084 cp/cp-gimplify.cc:3667 ++#: attribs.cc:757 c/c-parser.cc:2084 cp/cp-gimplify.cc:3677 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments specified for %qE attribute" +@@ -23868,7 +23868,7 @@ msgstr "памылковая колькасьць аргументаў, зада + msgid "expected %i or more, found %i" + msgstr "" + +-#: attribs.cc:763 c/c-parser.cc:2087 cp/cp-gimplify.cc:3669 ++#: attribs.cc:763 c/c-parser.cc:2087 cp/cp-gimplify.cc:3679 + #, gcc-internal-format, gfc-internal-format + msgid "expected %i, found %i" + msgstr "" +@@ -23935,12 +23935,12 @@ msgstr "" + #: c-family/c-attribs.cc:5935 c-family/c-attribs.cc:6103 + #: c-family/c-attribs.cc:6115 c-family/c-common.cc:6138 + #: c-family/c-common.cc:6141 config/darwin.cc:2208 config/arm/arm.cc:7519 +-#: config/arm/arm.cc:7546 config/arm/arm.cc:7563 config/avr/avr.cc:11226 ++#: config/arm/arm.cc:7546 config/arm/arm.cc:7563 config/avr/avr.cc:11255 + #: config/csky/csky.cc:6498 config/csky/csky.cc:6519 config/h8300/h8300.cc:4972 +-#: config/h8300/h8300.cc:4996 config/i386/i386-options.cc:3756 +-#: config/i386/i386-options.cc:3914 config/i386/i386-options.cc:4146 +-#: config/i386/i386-options.cc:4176 config/ia64/ia64.cc:795 +-#: config/loongarch/loongarch.cc:7999 config/rs6000/rs6000.cc:20738 ++#: config/h8300/h8300.cc:4996 config/i386/i386-options.cc:3777 ++#: config/i386/i386-options.cc:3935 config/i386/i386-options.cc:4167 ++#: config/i386/i386-options.cc:4197 config/ia64/ia64.cc:795 ++#: config/loongarch/loongarch.cc:8006 config/rs6000/rs6000.cc:20753 + #: ada/gcc-interface/utils.cc:6746 ada/gcc-interface/utils.cc:6762 + #: ada/gcc-interface/utils.cc:6859 ada/gcc-interface/utils.cc:6876 + #: ada/gcc-interface/utils.cc:6893 ada/gcc-interface/utils.cc:6908 +@@ -23949,7 +23949,7 @@ msgstr "" + #: ada/gcc-interface/utils.cc:7067 ada/gcc-interface/utils.cc:7088 + #: ada/gcc-interface/utils.cc:7136 ada/gcc-interface/utils.cc:7152 + #: ada/gcc-interface/utils.cc:7186 c/c-decl.cc:4902 c/c-decl.cc:4905 +-#: c/c-decl.cc:4920 c/c-parser.cc:5835 cp/tree.cc:5013 cp/tree.cc:5424 ++#: c/c-decl.cc:4920 c/c-parser.cc:5835 cp/tree.cc:5016 cp/tree.cc:5427 + #: d/d-attribs.cc:483 d/d-attribs.cc:702 d/d-attribs.cc:723 d/d-attribs.cc:739 + #: d/d-attribs.cc:756 d/d-attribs.cc:788 d/d-attribs.cc:917 d/d-attribs.cc:976 + #: d/d-attribs.cc:992 d/d-attribs.cc:1008 d/d-attribs.cc:1157 +@@ -23972,8 +23972,8 @@ msgstr "\"%s\" атрыбут ігнарыруецца" + msgid "missing % attribute for multi-versioned %qD" + msgstr "" + +-#: attribs.cc:1217 cp/decl.cc:1337 cp/decl.cc:2351 cp/decl.cc:2399 +-#: cp/decl.cc:2415 cp/decl.cc:3095 cp/decl.cc:3533 ++#: attribs.cc:1217 cp/decl.cc:1337 cp/decl.cc:2346 cp/decl.cc:2394 ++#: cp/decl.cc:2410 cp/decl.cc:3090 cp/decl.cc:3542 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration of `%D'" + msgid "previous declaration of %qD" +@@ -24085,7 +24085,7 @@ msgstr "немагчыма знайсьці файл для кляса %s" + msgid "offset %qwi outside bounds of constant string" + msgstr "" + +-#: builtins.cc:707 cp/name-lookup.cc:6773 ++#: builtins.cc:707 cp/name-lookup.cc:6830 + #, gcc-internal-format + msgid "%qE declared here" + msgstr "" +@@ -24195,7 +24195,7 @@ msgstr "аргумент для \"%s\" прапушчан" + + #. All valid uses of __builtin_va_arg_pack () are removed during + #. inlining. +-#: builtins.cc:8018 expr.cc:12318 ++#: builtins.cc:8018 expr.cc:12326 + #, gcc-internal-format + msgid "invalid use of %<__builtin_va_arg_pack ()%>" + msgstr "" +@@ -24217,7 +24217,7 @@ msgstr "" + msgid "target format does not support infinity" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: builtins.cc:11227 ++#: builtins.cc:11247 + #, fuzzy, gcc-internal-format + #| msgid "`va_start' used in function with fixed args" + msgid "% used in function with fixed arguments" +@@ -24225,40 +24225,40 @@ msgstr "" + "`va_start' выкарыстоўвываецца ў функцыі з нязьменнай\n" + " колькасьцю аргументаў" + +-#: builtins.cc:11235 ++#: builtins.cc:11255 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to function %" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: builtins.cc:11250 ++#: builtins.cc:11270 + #, fuzzy, gcc-internal-format + #| msgid "`__builtin_next_arg' called without an argument" + msgid "%<__builtin_next_arg%> called without an argument" + msgstr "\"__buitin_next_arg\" выклікаецца без аргумента" + +-#: builtins.cc:11255 ++#: builtins.cc:11275 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to function %<__builtin_next_arg%>" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: builtins.cc:11288 ++#: builtins.cc:11308 + #, gcc-internal-format + msgid "second parameter of % not last named argument" + msgstr "" + +-#: builtins.cc:11301 ++#: builtins.cc:11321 + #, gcc-internal-format + msgid "undefined behavior when second parameter of % is declared with % storage" + msgstr "" + +-#: builtins.cc:11330 ++#: builtins.cc:11350 + #, fuzzy, gcc-internal-format + msgid "first argument of %qD must be a pointer, second integer constant" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: builtins.cc:11343 ++#: builtins.cc:11363 + #, gcc-internal-format + msgid "last argument of %qD is not integer constant between 0 and 3" + msgstr "" +@@ -25328,13 +25328,13 @@ msgstr "" + + #. include_self= + #. TODO: Add OPT_Wundefined-inline. +-#: cgraphunit.cc:1098 c/c-decl.cc:13338 ++#: cgraphunit.cc:1098 c/c-decl.cc:13377 + #, fuzzy, gcc-internal-format + #| msgid "label `%s' used but not defined" + msgid "%q+F used but never defined" + msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" + +-#: cgraphunit.cc:1100 c/c-decl.cc:13348 ++#: cgraphunit.cc:1100 c/c-decl.cc:13387 + #, gcc-internal-format + msgid "%q+F declared % but never defined" + msgstr "" +@@ -25901,7 +25901,7 @@ msgstr "" + msgid "% does not match %" + msgstr "" + +-#: except.cc:3541 tree.cc:14395 value-prof.cc:529 ++#: except.cc:3541 tree.cc:14434 value-prof.cc:529 + #, gcc-internal-format + msgid "%qs failed" + msgstr "" +@@ -25931,17 +25931,17 @@ msgstr "" + msgid "write of %wu-bit data outside the bound of destination object, data truncated into %wu-bit" + msgstr "" + +-#: expr.cc:12330 ++#: expr.cc:12338 + #, gcc-internal-format + msgid "call to %qs declared with attribute error: %s" + msgstr "" + +-#: expr.cc:12344 ++#: expr.cc:12352 + #, gcc-internal-format + msgid "call to %qs declared with attribute warning: %s" + msgstr "" + +-#: expr.cc:13391 ++#: expr.cc:13399 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying % to %" + msgstr "" +@@ -25977,7 +25977,7 @@ msgstr "" + msgid "comparison is always %d due to width of bit-field" + msgstr "" + +-#: fold-const.cc:6277 tree-ssa-reassoc.cc:2885 tree-ssa-reassoc.cc:3969 ++#: fold-const.cc:6277 tree-ssa-reassoc.cc:2885 tree-ssa-reassoc.cc:3970 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "" +@@ -26148,7 +26148,7 @@ msgstr "" + msgid "%s signal terminated program %s" + msgstr "Выкарыстоўвываць альтэрнатыўныя назвы рэгістраў" + +-#: gcc.cc:3956 opts-common.cc:1597 opts-common.cc:1629 ++#: gcc.cc:3956 opts-common.cc:1612 opts-common.cc:1644 + #, fuzzy, gcc-internal-format + msgid "unrecognized command-line option %qs" + msgstr "нераспазнаны выбар \"-%s\"" +@@ -26414,7 +26414,7 @@ msgstr "параметр \"%s\" ініцыялізаваны" + msgid "multilib exclusions %qs is invalid" + msgstr "" + +-#: gcc.cc:9856 common/config/riscv/riscv-common.cc:2242 ++#: gcc.cc:9856 common/config/riscv/riscv-common.cc:2130 + #, gcc-internal-format + msgid "multilib select %qs %qs is invalid" + msgstr "" +@@ -26725,22 +26725,22 @@ msgstr "" + msgid "%qD specified bound %E equals source length" + msgstr "" + +-#: gimple-fold.cc:4550 gimple-fold.cc:4777 ++#: gimple-fold.cc:4551 gimple-fold.cc:4778 + #, gcc-internal-format + msgid "flexible array member %qD does not have well defined padding bits for %qs" + msgstr "" + +-#: gimple-fold.cc:4726 cp/constexpr.cc:4901 ++#: gimple-fold.cc:4727 cp/constexpr.cc:4902 + #, gcc-internal-format + msgid "PDP11 bit-field handling unsupported in %qs" + msgstr "" + +-#: gimple-fold.cc:5007 ++#: gimple-fold.cc:5009 + #, gcc-internal-format, gfc-internal-format + msgid "%s not supported for variable length aggregates" + msgstr "" + +-#: gimple-fold.cc:5013 ++#: gimple-fold.cc:5015 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "%s not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" +@@ -26781,16 +26781,16 @@ msgid "function returns address of local variable" + msgstr "" + + #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2055 +-#: gimple-ssa-warn-access.cc:3713 tree.cc:12442 tree.cc:12479 tree.cc:12520 +-#: tree.cc:12553 c/c-parser.cc:20633 c/c-parser.cc:20774 c/c-typeck.cc:3159 ++#: gimple-ssa-warn-access.cc:3713 tree.cc:12481 tree.cc:12518 tree.cc:12559 ++#: tree.cc:12592 c/c-parser.cc:20633 c/c-parser.cc:20774 c/c-typeck.cc:3159 + #: c/c-typeck.cc:3254 c/c-typeck.cc:5871 c/c-typeck.cc:11493 + #: c/c-typeck.cc:11510 c/gimple-parser.cc:2574 c/gimple-parser.cc:2582 +-#: cp/call.cc:8203 cp/call.cc:10398 cp/class.cc:9399 cp/constexpr.cc:889 +-#: cp/constexpr.cc:1316 cp/constexpr.cc:4320 cp/constexpr.cc:5996 +-#: cp/constexpr.cc:6367 cp/cvt.cc:1095 cp/cvt.cc:1133 cp/decl.cc:9104 +-#: cp/decl2.cc:5889 cp/decl2.cc:5944 cp/method.cc:1234 cp/parser.cc:22475 +-#: cp/pt.cc:9178 cp/semantics.cc:2378 cp/semantics.cc:3782 cp/semantics.cc:4900 +-#: cp/typeck.cc:2143 cp/typeck.cc:2363 cp/typeck.cc:4509 cp/typeck.cc:10694 ++#: cp/call.cc:8204 cp/call.cc:10399 cp/class.cc:9399 cp/constexpr.cc:889 ++#: cp/constexpr.cc:1316 cp/constexpr.cc:4320 cp/constexpr.cc:5997 ++#: cp/constexpr.cc:6368 cp/cvt.cc:1095 cp/cvt.cc:1133 cp/decl.cc:9113 ++#: cp/decl2.cc:5890 cp/decl2.cc:5945 cp/method.cc:1234 cp/parser.cc:22475 ++#: cp/pt.cc:9189 cp/semantics.cc:2380 cp/semantics.cc:4898 cp/typeck.cc:2139 ++#: cp/typeck.cc:2359 cp/typeck.cc:4505 cp/typeck.cc:10690 + #: rust/backend/rust-constexpr.cc:4407 rust/backend/rust-tree.cc:621 + #: rust/backend/rust-tree.cc:3813 + #, fuzzy, gcc-internal-format +@@ -26803,366 +26803,366 @@ msgstr "выклікана адсюль" + msgid "% argument %qD compared to NULL" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2836 gimple-ssa-sprintf.cc:2956 ++#: gimple-ssa-sprintf.cc:2838 gimple-ssa-sprintf.cc:2958 + #, gcc-internal-format + msgid "%qE output may be truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2838 gimple-ssa-sprintf.cc:2958 ++#: gimple-ssa-sprintf.cc:2840 gimple-ssa-sprintf.cc:2960 + #, gcc-internal-format + msgid "%qE output truncated before the last format character" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2841 gimple-ssa-sprintf.cc:2961 ++#: gimple-ssa-sprintf.cc:2843 gimple-ssa-sprintf.cc:2963 + #, gcc-internal-format + msgid "%qE may write a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2843 gimple-ssa-sprintf.cc:2963 ++#: gimple-ssa-sprintf.cc:2845 gimple-ssa-sprintf.cc:2965 + #, gcc-internal-format + msgid "%qE writing a terminating nul past the end of the destination" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2853 ++#: gimple-ssa-sprintf.cc:2855 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2860 ++#: gimple-ssa-sprintf.cc:2862 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2867 ++#: gimple-ssa-sprintf.cc:2869 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2878 ++#: gimple-ssa-sprintf.cc:2880 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2881 ++#: gimple-ssa-sprintf.cc:2883 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2883 ++#: gimple-ssa-sprintf.cc:2885 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2895 ++#: gimple-ssa-sprintf.cc:2897 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2898 ++#: gimple-ssa-sprintf.cc:2900 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2901 ++#: gimple-ssa-sprintf.cc:2903 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2910 ++#: gimple-ssa-sprintf.cc:2912 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2913 ++#: gimple-ssa-sprintf.cc:2915 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2916 ++#: gimple-ssa-sprintf.cc:2918 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2925 ++#: gimple-ssa-sprintf.cc:2927 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2928 ++#: gimple-ssa-sprintf.cc:2930 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2930 ++#: gimple-ssa-sprintf.cc:2932 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:2972 ++#: gimple-ssa-sprintf.cc:2974 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2979 ++#: gimple-ssa-sprintf.cc:2981 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2987 ++#: gimple-ssa-sprintf.cc:2989 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:2999 ++#: gimple-ssa-sprintf.cc:3001 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3002 ++#: gimple-ssa-sprintf.cc:3004 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3005 ++#: gimple-ssa-sprintf.cc:3007 + #, gcc-internal-format + msgid "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3018 ++#: gimple-ssa-sprintf.cc:3020 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3021 ++#: gimple-ssa-sprintf.cc:3023 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3024 ++#: gimple-ssa-sprintf.cc:3026 + #, gcc-internal-format + msgid "%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3034 ++#: gimple-ssa-sprintf.cc:3036 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3037 ++#: gimple-ssa-sprintf.cc:3039 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3040 ++#: gimple-ssa-sprintf.cc:3042 + #, gcc-internal-format + msgid "%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3049 ++#: gimple-ssa-sprintf.cc:3051 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3052 ++#: gimple-ssa-sprintf.cc:3054 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3055 ++#: gimple-ssa-sprintf.cc:3057 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3177 ++#: gimple-ssa-sprintf.cc:3179 + #, gcc-internal-format + msgid "%<%.*s%> directive argument is null" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3255 ++#: gimple-ssa-sprintf.cc:3257 + #, gcc-internal-format + msgid "%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3261 ++#: gimple-ssa-sprintf.cc:3263 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3268 ++#: gimple-ssa-sprintf.cc:3270 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3298 ++#: gimple-ssa-sprintf.cc:3300 + #, gcc-internal-format + msgid "%<%.*s%> directive output of %wu bytes exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3304 ++#: gimple-ssa-sprintf.cc:3306 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3315 ++#: gimple-ssa-sprintf.cc:3317 + #, gcc-internal-format + msgid "%<%.*s%> directive output of %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3321 ++#: gimple-ssa-sprintf.cc:3323 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3332 ++#: gimple-ssa-sprintf.cc:3334 + #, gcc-internal-format + msgid "%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3342 ++#: gimple-ssa-sprintf.cc:3344 + #, gcc-internal-format + msgid "%<%.*s%> directive argument is not a nul-terminated string" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3348 gimple-ssa-warn-access.cc:234 ++#: gimple-ssa-sprintf.cc:3350 gimple-ssa-warn-access.cc:234 + #, gcc-internal-format + msgid "referenced argument declared here" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3355 ++#: gimple-ssa-sprintf.cc:3357 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgid_plural "assuming directive output of %wu bytes" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:3362 ++#: gimple-ssa-sprintf.cc:3364 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3364 ++#: gimple-ssa-sprintf.cc:3366 + #, gcc-internal-format + msgid "directive argument in the range [%E, %E]" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3368 ++#: gimple-ssa-sprintf.cc:3370 + #, gcc-internal-format + msgid "using the range [%E, %E] for directive argument" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3388 ++#: gimple-ssa-sprintf.cc:3390 + #, gcc-internal-format + msgid "%qE output %wu byte into a destination of size %wu" + msgid_plural "%qE output %wu bytes into a destination of size %wu" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:3393 ++#: gimple-ssa-sprintf.cc:3395 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3398 ++#: gimple-ssa-sprintf.cc:3400 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3403 ++#: gimple-ssa-sprintf.cc:3405 + #, gcc-internal-format + msgid "%qE output %wu or more bytes into a destination of size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3414 ++#: gimple-ssa-sprintf.cc:3416 + #, gcc-internal-format + msgid "%qE output %wu byte" + msgid_plural "%qE output %wu bytes" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:3418 ++#: gimple-ssa-sprintf.cc:3420 + #, gcc-internal-format + msgid "%qE output between %wu and %wu bytes" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3422 ++#: gimple-ssa-sprintf.cc:3424 + #, gcc-internal-format + msgid "%qE output %wu or more bytes (assuming %wu)" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3426 ++#: gimple-ssa-sprintf.cc:3428 + #, gcc-internal-format + msgid "%qE output %wu or more bytes" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3810 ++#: gimple-ssa-sprintf.cc:3812 + #, gcc-internal-format + msgid "%<%.*s%> directive width out of range" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3844 ++#: gimple-ssa-sprintf.cc:3846 + #, gcc-internal-format + msgid "%<%.*s%> directive precision out of range" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3977 ++#: gimple-ssa-sprintf.cc:3979 + msgid "%qE arguments %Z and maybe %Z overlap destination object %qE" + msgstr "" + +-#: gimple-ssa-sprintf.cc:3989 ++#: gimple-ssa-sprintf.cc:3991 + msgid "%qE argument %Z overlaps destination object %qE" + msgid_plural "%qE arguments %Z overlap destination object %qE" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:4000 ++#: gimple-ssa-sprintf.cc:4002 + msgid "%qE argument %Z may overlap destination object %qE" + msgid_plural "%qE arguments %Z may overlap destination object %qE" + msgstr[0] "" + msgstr[1] "" + +-#: gimple-ssa-sprintf.cc:4020 ++#: gimple-ssa-sprintf.cc:4022 + #, gcc-internal-format + msgid "destination object referenced by %-qualified argument 1 was declared here" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4607 ++#: gimple-ssa-sprintf.cc:4609 + #, gcc-internal-format + msgid "specified bound %wu exceeds maximum object size %wu" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4618 ++#: gimple-ssa-sprintf.cc:4620 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4644 ++#: gimple-ssa-sprintf.cc:4646 + #, gcc-internal-format + msgid "specified bound range [%wu, %wu] exceeds %" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4688 ++#: gimple-ssa-sprintf.cc:4690 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4705 ++#: gimple-ssa-sprintf.cc:4707 + #, gcc-internal-format + msgid "specified bound %wu exceeds the size %wu of the destination object" + msgstr "" + +-#: gimple-ssa-sprintf.cc:4717 ++#: gimple-ssa-sprintf.cc:4719 + #, gcc-internal-format + msgid "null format string" + msgstr "" +@@ -27904,12 +27904,12 @@ msgstr "" + #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4613 + #: gimple-ssa-warn-access.cc:4616 gimple-ssa-warn-restrict.cc:1830 + #: tree-ssa-uninit.cc:921 tree-ssa-uninit.cc:1120 c/c-decl.cc:4099 +-#: c/c-decl.cc:4389 c/c-typeck.cc:9541 c/c-typeck.cc:12295 cp/call.cc:8578 +-#: cp/call.cc:8589 cp/class.cc:1718 cp/class.cc:3517 cp/constexpr.cc:1062 +-#: cp/decl.cc:4631 cp/decl.cc:12893 cp/decl.cc:13481 cp/decl.cc:13490 +-#: cp/decl.cc:14491 cp/friend.cc:406 cp/friend.cc:416 cp/init.cc:2935 ++#: c/c-decl.cc:4389 c/c-typeck.cc:9541 c/c-typeck.cc:12295 cp/call.cc:8579 ++#: cp/call.cc:8590 cp/class.cc:1718 cp/class.cc:3517 cp/constexpr.cc:1062 ++#: cp/decl.cc:4640 cp/decl.cc:12909 cp/decl.cc:13497 cp/decl.cc:13506 ++#: cp/decl.cc:14507 cp/friend.cc:406 cp/friend.cc:416 cp/init.cc:2935 + #: cp/parser.cc:3692 cp/parser.cc:3838 cp/parser.cc:3889 cp/parser.cc:7166 +-#: cp/parser.cc:25045 cp/typeck.cc:5002 ++#: cp/parser.cc:25045 cp/typeck.cc:4998 + #, fuzzy, gcc-internal-format + msgid "%qD declared here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" +@@ -28675,7 +28675,7 @@ msgstr "" + msgid "token %u has %" + msgstr "" + +-#: internal-fn.cc:841 ++#: internal-fn.cc:843 + #, fuzzy, gcc-internal-format + msgid "invalid use of attribute %" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -29019,17 +29019,17 @@ msgstr "" + msgid "mismatching definition" + msgstr "" + +-#: ipa-fnsummary.cc:4656 ++#: ipa-fnsummary.cc:4658 + #, gcc-internal-format + msgid "invalid fnsummary in LTO stream" + msgstr "" + +-#: ipa-fnsummary.cc:4757 ++#: ipa-fnsummary.cc:4759 + #, gcc-internal-format + msgid "ipa inline summary is missing in input file" + msgstr "" + +-#: ipa-modref.cc:4017 ++#: ipa-modref.cc:4022 + #, gcc-internal-format + msgid "IPA modref summary is missing in input file" + msgstr "" +@@ -30105,74 +30105,74 @@ msgstr "" + msgid "error closing optimization records %qs" + msgstr "" + +-#: opts-common.cc:1432 ++#: opts-common.cc:1447 + #, gcc-internal-format + msgid "command-line option %qs is not supported by this configuration" + msgstr "" + +-#: opts-common.cc:1442 opts.cc:2576 ++#: opts-common.cc:1457 opts.cc:2576 + #, fuzzy, gcc-internal-format + msgid "missing argument to %qs" + msgstr "аргумент для \"%s\" прапушчан" + +-#: opts-common.cc:1449 ++#: opts-common.cc:1464 + #, gcc-internal-format + msgid "argument to %qs should be a non-negative integer optionally followed by a size unit" + msgstr "" + +-#: opts-common.cc:1453 ++#: opts-common.cc:1468 + #, fuzzy, gcc-internal-format + #| msgid "first argument of `%s' should be `int'" + msgid "argument to %qs should be a non-negative integer" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: opts-common.cc:1460 ++#: opts-common.cc:1475 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is not between %d and %d" + msgstr "памер \"%s\" больш чам %d байт" + +-#: opts-common.cc:1524 ++#: opts-common.cc:1539 + #, fuzzy, gcc-internal-format + #| msgid "invalid --param option: %s" + msgid "invalid argument in option %qs" + msgstr "нерэчаісны выбар --param : %s" + +-#: opts-common.cc:1526 ++#: opts-common.cc:1541 + #, gcc-internal-format + msgid "%qs specified multiple times in the same option" + msgstr "" + +-#: opts-common.cc:1529 ++#: opts-common.cc:1544 + #, gcc-internal-format + msgid "%qs is mutually exclusive with %qs and cannot be specified together" + msgstr "" + +-#: opts-common.cc:1551 ++#: opts-common.cc:1566 + #, fuzzy, gcc-internal-format + msgid "unrecognized argument in option %qs" + msgstr "нераспазнаны выбар \"-%s\"" + +-#: opts-common.cc:1562 config/i386/i386-options.cc:1703 ++#: opts-common.cc:1577 config/i386/i386-options.cc:1703 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: opts-common.cc:1565 config/i386/i386-options.cc:1706 ++#: opts-common.cc:1580 config/i386/i386-options.cc:1706 + #, fuzzy, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: opts-common.cc:1608 c-family/c-opts.cc:471 ++#: opts-common.cc:1623 c-family/c-opts.cc:471 + #, fuzzy, gcc-internal-format + msgid "switch %qs is no longer supported" + msgstr "-pipe не падтрымліваецца." + +-#: opts-common.cc:1668 ++#: opts-common.cc:1683 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is bigger than %d" + msgstr "памер \"%s\" больш чам %d байт" + +-#: opts-common.cc:2015 ++#: opts-common.cc:2030 + #, gcc-internal-format + msgid "malformed %" + msgstr "" +@@ -30249,8 +30249,8 @@ msgstr "" + + #: opts.cc:849 opts.cc:855 opts.cc:861 opts.cc:867 opts.cc:878 opts.cc:888 + #: opts.cc:894 opts.cc:900 opts.cc:906 opts.cc:912 opts.cc:918 opts.cc:924 +-#: opts.cc:930 opts.cc:936 opts.cc:953 opts.cc:961 config/mips/mips.cc:20411 +-#: config/mips/mips.cc:20413 config/mips/mips.cc:20426 ++#: opts.cc:930 opts.cc:936 opts.cc:953 opts.cc:961 config/mips/mips.cc:20420 ++#: config/mips/mips.cc:20422 config/mips/mips.cc:20435 + #, gcc-internal-format + msgid "%qs is incompatible with %qs" + msgstr "" +@@ -30974,7 +30974,7 @@ msgstr "" + msgid "register of %qD used for multiple global register variables" + msgstr "" + +-#: reginfo.cc:750 config/rs6000/rs6000-logue.cc:5579 ++#: reginfo.cc:750 config/rs6000/rs6000-logue.cc:5567 + #, gcc-internal-format + msgid "conflicts with %qD" + msgstr "" +@@ -31429,42 +31429,42 @@ msgstr "" + msgid "%<__builtin_saveregs%> not supported by this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: targhooks.cc:1215 ++#: targhooks.cc:1223 + #, fuzzy, gcc-internal-format + msgid "argument %qs is not supported for %qs on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: targhooks.cc:1257 ++#: targhooks.cc:1265 + #, fuzzy, gcc-internal-format + msgid "nested functions not supported on this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: targhooks.cc:1270 ++#: targhooks.cc:1278 + #, fuzzy, gcc-internal-format + msgid "nested function trampolines not supported on this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: targhooks.cc:1433 ++#: targhooks.cc:1441 + #, fuzzy, gcc-internal-format + msgid "global constructors not supported on this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: targhooks.cc:1442 ++#: targhooks.cc:1450 + #, fuzzy, gcc-internal-format + msgid "global destructors not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: targhooks.cc:1802 ++#: targhooks.cc:1810 + #, fuzzy, gcc-internal-format + msgid "% attribute is not supported on this machine" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: targhooks.cc:1814 ++#: targhooks.cc:1822 + #, fuzzy, gcc-internal-format + msgid "% attribute is not supported on this machine" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: targhooks.cc:1828 ++#: targhooks.cc:1836 + #, fuzzy, gcc-internal-format + msgid "%<#pragma GCC target%> is not supported for this machine" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" +@@ -32593,82 +32593,82 @@ msgstr "" + msgid "BB %i has incorrect fallthru edge" + msgstr "" + +-#: tree-inline.cc:3925 ++#: tree-inline.cc:3939 + #, gcc-internal-format + msgid "function %q+F can never be copied because it receives a non-local goto" + msgstr "" + +-#: tree-inline.cc:3932 ++#: tree-inline.cc:3946 + #, gcc-internal-format + msgid "function %q+F can never be copied because it saves address of local label in a static variable" + msgstr "" + +-#: tree-inline.cc:3972 ++#: tree-inline.cc:3986 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)" + msgstr "" + +-#: tree-inline.cc:3986 ++#: tree-inline.cc:4000 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses setjmp" + msgstr "" + +-#: tree-inline.cc:4000 ++#: tree-inline.cc:4014 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses variable argument lists" + msgstr "" + +-#: tree-inline.cc:4012 ++#: tree-inline.cc:4026 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling" + msgstr "" + +-#: tree-inline.cc:4020 ++#: tree-inline.cc:4034 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses non-local goto" + msgstr "" + +-#: tree-inline.cc:4032 ++#: tree-inline.cc:4046 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses %<__builtin_return%> or %<__builtin_apply_args%>" + msgstr "" + +-#: tree-inline.cc:4052 ++#: tree-inline.cc:4066 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it contains a computed goto" + msgstr "" + +-#: tree-inline.cc:4098 ++#: tree-inline.cc:4112 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it has a VLA argument" + msgstr "" + +-#: tree-inline.cc:4165 ++#: tree-inline.cc:4179 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it is suppressed using %<-fno-inline%>" + msgstr "" + +-#: tree-inline.cc:4173 ++#: tree-inline.cc:4187 + #, gcc-internal-format + msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining" + msgstr "" + +-#: tree-inline.cc:4854 ++#: tree-inline.cc:4868 + #, gcc-internal-format + msgid "inlining failed in call to % %q+F: %s" + msgstr "" + +-#: tree-inline.cc:4857 tree-inline.cc:4878 ++#: tree-inline.cc:4871 tree-inline.cc:4892 + #, gcc-internal-format + msgid "called from here" + msgstr "выклікана адсюль" + +-#: tree-inline.cc:4860 tree-inline.cc:4881 ++#: tree-inline.cc:4874 tree-inline.cc:4895 + #, fuzzy, gcc-internal-format + msgid "called from this function" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: tree-inline.cc:4874 ++#: tree-inline.cc:4888 + #, gcc-internal-format + msgid "inlining failed in call to %q+F: %s" + msgstr "" +@@ -32723,27 +32723,27 @@ msgstr "нявернае выкарыстанне \"restict\"" + msgid "invalid fn spec attribute \"%s\" arg %i" + msgstr "" + +-#: tree-ssa-ccp.cc:4681 c-family/c-common.cc:5912 ++#: tree-ssa-ccp.cc:4685 c-family/c-common.cc:5912 + #, gcc-internal-format + msgid "%qs pointer is null" + msgstr "" + +-#: tree-ssa-ccp.cc:4684 c-family/c-common.cc:5915 ++#: tree-ssa-ccp.cc:4688 c-family/c-common.cc:5915 + #, fuzzy, gcc-internal-format + msgid "in a call to non-static member function %qD" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: tree-ssa-ccp.cc:4690 c-family/c-common.cc:5921 ++#: tree-ssa-ccp.cc:4694 c-family/c-common.cc:5921 + #, gcc-internal-format, gfc-internal-format + msgid "argument %u null where non-null expected" + msgstr "" + +-#: tree-ssa-ccp.cc:4696 ++#: tree-ssa-ccp.cc:4700 + #, fuzzy, gcc-internal-format + msgid "in a call to built-in function %qD" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: tree-ssa-ccp.cc:4700 c-family/c-common.cc:5925 ++#: tree-ssa-ccp.cc:4704 c-family/c-common.cc:5925 + #, fuzzy, gcc-internal-format + msgid "in a call to function %qD declared %qs" + msgstr "Нерэчаісны выбар \"%s\"" +@@ -32948,7 +32948,7 @@ msgstr "прапушчан ініцыялізатар" + msgid "%qs may be used uninitialized" + msgstr "" + +-#: tree-ssa-uninit.cc:337 varasm.cc:363 varasm.cc:8019 ++#: tree-ssa-uninit.cc:337 varasm.cc:363 varasm.cc:8021 + #, fuzzy, gcc-internal-format + msgid "%qD was declared here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" +@@ -33181,7 +33181,7 @@ msgstr "" + msgid "vector shuffling operation will be expanded piecewise" + msgstr "" + +-#: tree-vect-loop.cc:5065 ++#: tree-vect-loop.cc:5069 + #, gcc-internal-format + msgid "vectorization did not happen for a simd loop" + msgstr "" +@@ -33196,122 +33196,122 @@ msgstr "" + msgid "side-effects element in no-side-effects CONSTRUCTOR" + msgstr "" + +-#: tree.cc:7341 m2/gm2-gcc/m2type.cc:215 ++#: tree.cc:7347 m2/gm2-gcc/m2type.cc:215 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "" + +-#: tree.cc:7496 ++#: tree.cc:7513 + #, gcc-internal-format + msgid "function return type cannot be function" + msgstr "" + +-#: tree.cc:8956 tree.cc:9041 tree.cc:9104 ++#: tree.cc:8995 tree.cc:9080 tree.cc:9143 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.cc:8993 ++#: tree.cc:9032 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: expected none of %s, have %s in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9006 ++#: tree.cc:9045 + #, gcc-internal-format + msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9055 ++#: tree.cc:9094 + #, gcc-internal-format + msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9068 ++#: tree.cc:9107 + #, gcc-internal-format + msgid "tree check: expected %, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9130 ++#: tree.cc:9169 + #, gcc-internal-format + msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9144 ++#: tree.cc:9183 + #, gcc-internal-format + msgid "tree check: accessed elt %d of % with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9157 ++#: tree.cc:9196 + #, gcc-internal-format + msgid "tree check: accessed elt %d of % with %d elts in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9170 ++#: tree.cc:9209 + #, gcc-internal-format, gfc-internal-format + msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.cc:9183 ++#: tree.cc:9222 + #, gcc-internal-format + msgid "tree check: accessed operand %d of % with %d operands in %s, at %s:%d" + msgstr "" + +-#: tree.cc:12437 ++#: tree.cc:12476 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "" + +-#: tree.cc:12440 ++#: tree.cc:12479 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "" + +-#: tree.cc:12463 ++#: tree.cc:12502 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "" + +-#: tree.cc:12466 ++#: tree.cc:12505 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "" + +-#: tree.cc:12472 ++#: tree.cc:12511 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "" + +-#: tree.cc:12475 ++#: tree.cc:12514 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "" + +-#: tree.cc:12517 ++#: tree.cc:12556 + #, gcc-internal-format + msgid "%qD is unavailable: %s" + msgstr "" + +-#: tree.cc:12519 ++#: tree.cc:12558 + #, gcc-internal-format + msgid "%qD is unavailable" + msgstr "" + +-#: tree.cc:12540 ++#: tree.cc:12579 + #, gcc-internal-format + msgid "%qE is unavailable: %s" + msgstr "" + +-#: tree.cc:12542 ++#: tree.cc:12581 + #, gcc-internal-format + msgid "%qE is unavailable" + msgstr "" + +-#: tree.cc:12547 ++#: tree.cc:12586 + #, gcc-internal-format, gfc-internal-format + msgid "type is unavailable: %s" + msgstr "" + +-#: tree.cc:12549 ++#: tree.cc:12588 + #, gcc-internal-format + msgid "type is unavailable" + msgstr "" +@@ -33336,263 +33336,263 @@ msgstr "" + #. - vector types may differ by TYPE_VECTOR_OPAQUE + #. + #. Convenience macro for matching individual fields. +-#: tree.cc:13477 ++#: tree.cc:13516 + #, gcc-internal-format, gfc-internal-format + msgid "type variant differs by %s" + msgstr "" + +-#: tree.cc:13522 ++#: tree.cc:13561 + #, gcc-internal-format + msgid "type variant has different %" + msgstr "" + +-#: tree.cc:13524 ++#: tree.cc:13563 + #, gcc-internal-format + msgid "type variant%'s %" + msgstr "" + +-#: tree.cc:13526 ++#: tree.cc:13565 + #, gcc-internal-format + msgid "type%'s %" + msgstr "" + +-#: tree.cc:13551 ++#: tree.cc:13590 + #, gcc-internal-format + msgid "type variant with %" + msgstr "" + +-#: tree.cc:13564 ++#: tree.cc:13603 + #, gcc-internal-format + msgid "type variant has different %" + msgstr "" + +-#: tree.cc:13601 ++#: tree.cc:13640 + #, gcc-internal-format + msgid "type variant has different %" + msgstr "" + +-#: tree.cc:13603 ++#: tree.cc:13642 + #, gcc-internal-format + msgid "type variant%'s %" + msgstr "" + +-#: tree.cc:13605 ++#: tree.cc:13644 + #, gcc-internal-format + msgid "type%'s %" + msgstr "" + +-#: tree.cc:13644 ++#: tree.cc:13683 + #, gcc-internal-format + msgid "type variant has different %" + msgstr "" + +-#: tree.cc:13646 ++#: tree.cc:13685 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "" + +-#: tree.cc:13648 ++#: tree.cc:13687 + #, gcc-internal-format + msgid "and field" + msgstr "" + +-#: tree.cc:13665 ++#: tree.cc:13704 + #, gcc-internal-format + msgid "type variant has different %" + msgstr "" + +-#: tree.cc:13667 tree.cc:13678 ++#: tree.cc:13706 tree.cc:13717 + #, gcc-internal-format + msgid "type variant%'s %" + msgstr "" + +-#: tree.cc:13669 tree.cc:13680 ++#: tree.cc:13708 tree.cc:13719 + #, gcc-internal-format + msgid "type%'s %" + msgstr "" + +-#: tree.cc:13676 ++#: tree.cc:13715 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "" + +-#: tree.cc:14001 ++#: tree.cc:14040 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "type %s is not an opaque type" + msgstr "\"%s\" мае незавершаны тып" + +-#: tree.cc:14007 ++#: tree.cc:14046 + #, gcc-internal-format, gfc-internal-format + msgid "type %s is not with opaque mode" + msgstr "" + +-#: tree.cc:14013 ++#: tree.cc:14052 + #, gcc-internal-format + msgid "type %s differs by %" + msgstr "" + +-#: tree.cc:14021 ++#: tree.cc:14060 + #, gcc-internal-format + msgid "type %s differs by %" + msgstr "" + +-#: tree.cc:14027 ++#: tree.cc:14066 + #, gcc-internal-format + msgid "type %s differs by %" + msgstr "" + +-#: tree.cc:14033 ++#: tree.cc:14072 + #, gcc-internal-format + msgid "type %s differs by %" + msgstr "" + +-#: tree.cc:14063 ++#: tree.cc:14102 + #, gcc-internal-format + msgid "main variant is not defined" + msgstr "" + +-#: tree.cc:14068 ++#: tree.cc:14107 + #, gcc-internal-format + msgid "% has different %" + msgstr "" + +-#: tree.cc:14079 ++#: tree.cc:14118 + #, gcc-internal-format + msgid "% has different %" + msgstr "" + +-#: tree.cc:14098 ++#: tree.cc:14137 + #, gcc-internal-format + msgid "% is not compatible" + msgstr "" + +-#: tree.cc:14106 ++#: tree.cc:14145 + #, gcc-internal-format + msgid "% of % is not compatible" + msgstr "" + +-#: tree.cc:14112 ++#: tree.cc:14151 + #, gcc-internal-format + msgid "% of main variant is not main variant" + msgstr "" + +-#: tree.cc:14128 ++#: tree.cc:14167 + #, gcc-internal-format + msgid "% is not % nor %" + msgstr "" + +-#: tree.cc:14138 ++#: tree.cc:14177 + #, gcc-internal-format + msgid "% is not %" + msgstr "" + +-#: tree.cc:14148 ++#: tree.cc:14187 + #, gcc-internal-format + msgid "% is not %" + msgstr "" + +-#: tree.cc:14169 ++#: tree.cc:14208 + #, gcc-internal-format + msgid "% is not %" + msgstr "" + +-#: tree.cc:14175 ++#: tree.cc:14214 + #, gcc-internal-format + msgid "% type is not %" + msgstr "" + +-#: tree.cc:14186 ++#: tree.cc:14225 + #, gcc-internal-format + msgid "% is not record nor union" + msgstr "" + +-#: tree.cc:14197 ++#: tree.cc:14236 + #, gcc-internal-format + msgid "% is not record nor union" + msgstr "" + +-#: tree.cc:14215 ++#: tree.cc:14254 + #, gcc-internal-format + msgid "% not %" + msgstr "" + +-#: tree.cc:14222 ++#: tree.cc:14261 + #, gcc-internal-format + msgid "% non-NULL" + msgstr "" + +-#: tree.cc:14229 ++#: tree.cc:14268 + #, gcc-internal-format + msgid "% field is non-NULL" + msgstr "" + +-#: tree.cc:14245 ++#: tree.cc:14284 + #, gcc-internal-format + msgid "enum value is not % or %" + msgstr "" + +-#: tree.cc:14254 ++#: tree.cc:14293 + #, gcc-internal-format + msgid "enum value type is not % nor convertible to the enum" + msgstr "" + +-#: tree.cc:14262 ++#: tree.cc:14301 + #, gcc-internal-format + msgid "enum value name is not %" + msgstr "" + +-#: tree.cc:14272 ++#: tree.cc:14311 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' has non-integer type" + msgid "array % is not integer type" + msgstr "памер масіва `%D' не цэлалікавы тып" + +-#: tree.cc:14281 ++#: tree.cc:14320 + #, gcc-internal-format + msgid "% defined in incomplete type" + msgstr "" + +-#: tree.cc:14303 ++#: tree.cc:14342 + #, gcc-internal-format + msgid "wrong tree in % list" + msgstr "" + +-#: tree.cc:14319 ++#: tree.cc:14358 + #, gcc-internal-format + msgid "% is %i while % is %p" + msgstr "" + +-#: tree.cc:14326 ++#: tree.cc:14365 + #, gcc-internal-format + msgid "% is not %" + msgstr "" + +-#: tree.cc:14339 ++#: tree.cc:14378 + #, gcc-internal-format + msgid "wrong % entry" + msgstr "" + +-#: tree.cc:14352 ++#: tree.cc:14391 + #, gcc-internal-format + msgid "% is non-NULL in % list" + msgstr "" + +-#: tree.cc:14358 ++#: tree.cc:14397 + #, gcc-internal-format + msgid "wrong entry in % list" + msgstr "" + +-#: tree.cc:14365 ++#: tree.cc:14404 + #, gcc-internal-format + msgid "% field is non-NULL" + msgstr "" + +-#: tree.cc:14378 ++#: tree.cc:14417 + #, gcc-internal-format + msgid "% is set while it should not be" + msgstr "" + +-#: tree.cc:14388 ++#: tree.cc:14427 + #, gcc-internal-format + msgid "% is not main variant" + msgstr "" +@@ -33811,7 +33811,7 @@ msgstr "атрыбуты секцыі не падтрымліваюцца для + msgid "visibility attribute not supported in this configuration; ignored" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: varasm.cc:8015 ++#: varasm.cc:8017 + #, gcc-internal-format + msgid "%+qD without % attribute and %qD with % attribute are placed in a section with the same name" + msgstr "" +@@ -34016,7 +34016,7 @@ msgstr "\"%s\" атрыбут ігнарыруецца" + msgid "%qE attribute ignored because %qD is not a local variable" + msgstr "" + +-#: c-family/c-attribs.cc:1952 config/i386/i386-options.cc:4170 ++#: c-family/c-attribs.cc:1952 config/i386/i386-options.cc:4191 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "" +@@ -34205,7 +34205,7 @@ msgid "ignoring %qE attribute not set on a variable" + msgstr "\"%s\" атрыбут ігнарыруецца" + + #: c-family/c-attribs.cc:2877 config/bfin/bfin.cc:4825 +-#: config/loongarch/loongarch.cc:7956 ++#: config/loongarch/loongarch.cc:7963 + #, fuzzy, gcc-internal-format + msgid "%qE attribute cannot be specified for local variables" + msgstr "\"%s\" атрыбут ігнарыруецца" +@@ -34522,7 +34522,7 @@ msgstr "" + msgid "%qE argument is not a function" + msgstr "`%D' - гэта ня функцыя," + +-#: c-family/c-attribs.cc:4447 cp/name-lookup.cc:6411 ++#: c-family/c-attribs.cc:4447 cp/name-lookup.cc:6468 + #, gcc-internal-format + msgid "deprecated message is not a string" + msgstr "" +@@ -35032,7 +35032,7 @@ msgstr "" + msgid "ISO C does not permit %<_Alignof%> applied to a function type" + msgstr "" + +-#: c-family/c-common.cc:3965 cp/typeck.cc:2057 ++#: c-family/c-common.cc:3965 cp/typeck.cc:2060 + #, gcc-internal-format + msgid "invalid application of %qs to a void type" + msgstr "" +@@ -35164,9 +35164,9 @@ msgstr "" + msgid "% attribute specified with a parameter" + msgstr "" + +-#: c-family/c-common.cc:6307 c-family/c-common.cc:7229 +-#: c-family/c-common.cc:7276 c-family/c-common.cc:7355 +-#: c-family/c-common.cc:7438 c-family/c-common.cc:8081 ++#: c-family/c-common.cc:6307 c-family/c-common.cc:7234 ++#: c-family/c-common.cc:7281 c-family/c-common.cc:7360 ++#: c-family/c-common.cc:7443 c-family/c-common.cc:8086 + #: config/aarch64/aarch64-sve-builtins.cc:3026 + #: config/arm/arm-mve-builtins.cc:1570 c/c-typeck.cc:3920 + #, fuzzy, gcc-internal-format +@@ -35174,8 +35174,8 @@ msgstr "" + msgid "too few arguments to function %qE" + msgstr "не хапае аргументаў у функцыі" + +-#: c-family/c-common.cc:6312 c-family/c-common.cc:7282 +-#: c-family/c-common.cc:7464 c-family/c-common.cc:8083 ++#: c-family/c-common.cc:6312 c-family/c-common.cc:7287 ++#: c-family/c-common.cc:7469 c-family/c-common.cc:8088 + #: config/aarch64/aarch64-sve-builtins.cc:3028 + #: config/arm/arm-mve-builtins.cc:1572 c/c-typeck.cc:3779 + #, fuzzy, gcc-internal-format +@@ -35304,170 +35304,170 @@ msgstr "не магу атрымаць адрас бітавага поля \"%s + msgid "index %E denotes an offset greater than size of %qT" + msgstr "" + +-#: c-family/c-common.cc:7145 ++#: c-family/c-common.cc:7150 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%s' is too large" + msgid "size of array is too large" + msgstr "памер масіва \"%s\" вельмі вялікі" + +-#: c-family/c-common.cc:7259 c-family/c-common.cc:7397 ++#: c-family/c-common.cc:7264 c-family/c-common.cc:7402 + #, gcc-internal-format + msgid "operand type %qT is incompatible with argument %d of %qE" + msgstr "" + +-#: c-family/c-common.cc:7293 ++#: c-family/c-common.cc:7298 + #, gcc-internal-format + msgid "expecting argument of type pointer or of type integer for argument 1" + msgstr "" + +-#: c-family/c-common.cc:7309 ++#: c-family/c-common.cc:7314 + #, gcc-internal-format + msgid "both arguments must be compatible" + msgstr "" + +-#: c-family/c-common.cc:7539 ++#: c-family/c-common.cc:7544 + #, fuzzy, gcc-internal-format + #| msgid "too few arguments to function `%s'" + msgid "incorrect number of arguments to function %qE" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: c-family/c-common.cc:7553 ++#: c-family/c-common.cc:7558 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a non-void pointer type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7560 ++#: c-family/c-common.cc:7565 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a complete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: c-family/c-common.cc:7569 ++#: c-family/c-common.cc:7574 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a constant size type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7580 ++#: c-family/c-common.cc:7585 + #, fuzzy, gcc-internal-format + msgid "argument 1 of %qE must be a pointer to a nonzero size object" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7601 ++#: c-family/c-common.cc:7606 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7609 ++#: c-family/c-common.cc:7614 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must be a pointer to a constant size type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7615 ++#: c-family/c-common.cc:7620 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a function" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7623 ++#: c-family/c-common.cc:7628 + #, gcc-internal-format + msgid "size mismatch in argument %d of %qE" + msgstr "" + +-#: c-family/c-common.cc:7636 ++#: c-family/c-common.cc:7641 + #, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a % type" + msgstr "" + +-#: c-family/c-common.cc:7641 ++#: c-family/c-common.cc:7646 + #, gcc-internal-format + msgid "argument %d of %qE discards % qualifier" + msgstr "" + +-#: c-family/c-common.cc:7650 ++#: c-family/c-common.cc:7655 + #, fuzzy, gcc-internal-format + msgid "argument %d of %qE must not be a pointer to a % type" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: c-family/c-common.cc:7655 ++#: c-family/c-common.cc:7660 + #, gcc-internal-format + msgid "argument %d of %qE discards % qualifier" + msgstr "" + +-#: c-family/c-common.cc:7668 ++#: c-family/c-common.cc:7673 + #, gcc-internal-format + msgid "non-integer memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.cc:7681 ++#: c-family/c-common.cc:7686 + #, gcc-internal-format + msgid "invalid memory model argument %d of %qE" + msgstr "" + +-#: c-family/c-common.cc:8315 ++#: c-family/c-common.cc:8320 + #, gcc-internal-format + msgid "this target does not define a speculation barrier; your program will still execute correctly, but incorrect speculation may not be restricted" + msgstr "" + +-#: c-family/c-common.cc:8969 ++#: c-family/c-common.cc:8975 + #, gcc-internal-format + msgid "index value is out of bound" + msgstr "" + +-#: c-family/c-common.cc:9011 c-family/c-common.cc:9060 +-#: c-family/c-common.cc:9076 ++#: c-family/c-common.cc:9021 c-family/c-common.cc:9070 ++#: c-family/c-common.cc:9086 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" + msgstr "" + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.cc:9164 d/intrinsics.cc:1459 ++#: c-family/c-common.cc:9174 d/intrinsics.cc:1459 + #: rust/backend/rust-tree.cc:3497 + #, gcc-internal-format + msgid "built-in function %qE must be directly called" + msgstr "" + +-#: c-family/c-common.cc:9184 ++#: c-family/c-common.cc:9194 + #, fuzzy, gcc-internal-format + msgid "size of array %qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c-family/c-common.cc:9187 ++#: c-family/c-common.cc:9197 + #, fuzzy, gcc-internal-format + msgid "size of array is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c-family/c-common.cc:9191 ++#: c-family/c-common.cc:9201 + #, fuzzy, gcc-internal-format + #| msgid "size of array is negative" + msgid "size %qE of array %qE is negative" + msgstr "адмоўны памер масіва " + +-#: c-family/c-common.cc:9194 ++#: c-family/c-common.cc:9204 + #, fuzzy, gcc-internal-format + #| msgid "size of array is negative" + msgid "size %qE of array is negative" + msgstr "адмоўны памер масіва " + +-#: c-family/c-common.cc:9199 ++#: c-family/c-common.cc:9209 + #, gcc-internal-format + msgid "size %qE of array %qE exceeds maximum object size %qE" + msgstr "" + +-#: c-family/c-common.cc:9202 ++#: c-family/c-common.cc:9212 + #, gcc-internal-format + msgid "size %qE of array exceeds maximum object size %qE" + msgstr "" + +-#: c-family/c-common.cc:9207 ++#: c-family/c-common.cc:9217 + #, gcc-internal-format + msgid "size of array %qE exceeds maximum object size %qE" + msgstr "" + +-#: c-family/c-common.cc:9210 ++#: c-family/c-common.cc:9220 + #, gcc-internal-format + msgid "size of array exceeds maximum object size %qE" + msgstr "" + +-#: c-family/c-common.cc:9281 ++#: c-family/c-common.cc:9291 + #, gcc-internal-format + msgid "environment variable %qs must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -36101,7 +36101,7 @@ msgstr "" + msgid "integer constant is too large for %<_BitInt(%d)%> type" + msgstr "" + +-#: c-family/c-lex.cc:1045 c/c-decl.cc:12698 ++#: c-family/c-lex.cc:1045 c/c-decl.cc:12737 + #, fuzzy, gcc-internal-format + msgid "%<_BitInt(%d)%> is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" +@@ -36182,7 +36182,7 @@ msgstr "" + msgid "traditional C rejects string constant concatenation" + msgstr "" + +-#: c-family/c-omp.cc:131 cp/pt.cc:19155 ++#: c-family/c-omp.cc:131 cp/pt.cc:19196 + #, gcc-internal-format + msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" + msgstr "" +@@ -36237,7 +36237,7 @@ msgstr "" + msgid "% modifier may not be specified on % construct" + msgstr "" + +-#: c-family/c-omp.cc:969 cp/semantics.cc:10925 ++#: c-family/c-omp.cc:969 cp/semantics.cc:10923 + #, gcc-internal-format + msgid "invalid type for iteration variable %qE" + msgstr "" +@@ -36253,17 +36253,17 @@ msgstr "" + msgid "%qE is not initialized" + msgstr "прапушчан ініцыялізатар" + +-#: c-family/c-omp.cc:1011 cp/semantics.cc:10817 ++#: c-family/c-omp.cc:1011 cp/semantics.cc:10815 + #, gcc-internal-format + msgid "missing controlling predicate" + msgstr "" + +-#: c-family/c-omp.cc:1117 cp/semantics.cc:10413 ++#: c-family/c-omp.cc:1117 cp/semantics.cc:10411 + #, fuzzy, gcc-internal-format + msgid "invalid controlling predicate" + msgstr "нерэчаісны ініцыялізатар" + +-#: c-family/c-omp.cc:1124 cp/semantics.cc:10823 ++#: c-family/c-omp.cc:1124 cp/semantics.cc:10821 + #, fuzzy, gcc-internal-format + msgid "missing increment expression" + msgstr "аргумент для \"%s\" прапушчан" +@@ -36273,7 +36273,7 @@ msgstr "аргумент для \"%s\" прапушчан" + msgid "increment is not constant 1 or -1 for % condition" + msgstr "" + +-#: c-family/c-omp.cc:1255 cp/semantics.cc:10530 ++#: c-family/c-omp.cc:1255 cp/semantics.cc:10528 + #, fuzzy, gcc-internal-format + msgid "invalid increment expression" + msgstr "нерэчаісны ініцыялізатар" +@@ -36358,7 +36358,7 @@ msgstr "" + msgid "% % clause on construct other than %, %, %, %, %" + msgstr "" + +-#: c-family/c-omp.cc:2947 c/c-typeck.cc:16318 cp/semantics.cc:9517 ++#: c-family/c-omp.cc:2947 c/c-typeck.cc:16318 cp/semantics.cc:9515 + #, gcc-internal-format + msgid "%qD specified in % clause but not in an explicit privatization clause" + msgstr "" +@@ -36369,7 +36369,7 @@ msgstr "" + msgid "%qD is not a function argument" + msgstr "`%D' - гэта ня функцыя," + +-#: c-family/c-omp.cc:3335 c/c-typeck.cc:15466 cp/semantics.cc:8256 ++#: c-family/c-omp.cc:3335 c/c-typeck.cc:15466 cp/semantics.cc:8254 + #, gcc-internal-format + msgid "bit-field %qE in %qs clause" + msgstr "" +@@ -36970,7 +36970,7 @@ msgid "wrong type argument to %s" + msgstr "не хапае аргументаў у функцыі" + + #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3599 +-#: cp/constexpr.cc:7370 m2/gm2-gcc/m2expr.cc:964 ++#: cp/constexpr.cc:7371 m2/gm2-gcc/m2expr.cc:964 + #: rust/backend/rust-constexpr.cc:1908 rust/backend/rust-constexpr.cc:4331 + #, gcc-internal-format + msgid "overflow in constant expression" +@@ -37910,35 +37910,35 @@ msgstr "" + + #: c-family/c-warn.cc:3832 + #, gcc-internal-format +-msgid "use unary %<+%> which decays operands to pointers or %<&%D[0] %s &%D[0]%> to compare the addresses" ++msgid "use unary %<+%> which decays operands to pointers or %<&%s%E%s[0] %s &%s%E%s[0]%> to compare the addresses" + msgstr "" + +-#: c-family/c-warn.cc:3836 ++#: c-family/c-warn.cc:3839 + #, gcc-internal-format +-msgid "use %<&%D[0] %s &%D[0]%> to compare the addresses" ++msgid "use %<&%s%E%s[0] %s &%s%E%s[0]%> to compare the addresses" + msgstr "" + +-#: c-family/c-warn.cc:3896 ++#: c-family/c-warn.cc:3901 + #, gcc-internal-format + msgid "result of %<%wu^%wu%> is %wu; did you mean %<1 << %wu%> (%wu)?" + msgstr "" + +-#: c-family/c-warn.cc:3906 ++#: c-family/c-warn.cc:3911 + #, gcc-internal-format + msgid "result of %<%wu^%wu%> is %wu; did you mean %<1LL << %wu%>?" + msgstr "" + +-#: c-family/c-warn.cc:3913 ++#: c-family/c-warn.cc:3918 + #, gcc-internal-format + msgid "result of %<%wu^%wu%> is %wu; did you mean exponentiation?" + msgstr "" + +-#: c-family/c-warn.cc:3924 ++#: c-family/c-warn.cc:3929 + #, gcc-internal-format + msgid "result of %<%wu^%wu%> is %wu; did you mean %<1e%wu%>?" + msgstr "" + +-#: c-family/c-warn.cc:3941 ++#: c-family/c-warn.cc:3946 + #, gcc-internal-format + msgid "you can silence this warning by using a hexadecimal constant (%wx rather than %wd)" + msgstr "" +@@ -38152,117 +38152,117 @@ msgstr "" + msgid "for the option %<-mcache-block-size=X%>, the valid X must be: 4, 8, 16, 32, 64, 128, 256, or 512" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:765 ++#: common/config/riscv/riscv-common.cc:674 + #, gcc-internal-format + msgid "%<-march=%s%>: extension %qs appear more than one time" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:774 ++#: common/config/riscv/riscv-common.cc:683 + #, gcc-internal-format + msgid "%<-march=%s%>: extension %qs is unsupported standard single letter extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:782 ++#: common/config/riscv/riscv-common.cc:691 + #, gcc-internal-format + msgid "%<-march=%s%>: extension %qs starts with 'z' but is unsupported standard extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:790 ++#: common/config/riscv/riscv-common.cc:699 + #, gcc-internal-format + msgid "%<-march=%s%>: extension %qs starts with 's' but is unsupported standard supervisor extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:798 ++#: common/config/riscv/riscv-common.cc:707 + #, gcc-internal-format + msgid "%<-march=%s%>: extension %qs starts with 'x' but is unsupported non-standard extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1045 ++#: common/config/riscv/riscv-common.cc:955 + #, gcc-internal-format + msgid "%<-march=%s%>: expect number after %<%dp%>" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1051 ++#: common/config/riscv/riscv-common.cc:961 + #, gcc-internal-format + msgid "%<-march=%s%>: for %<%s%dp%dp?%>, version number with more than 2 level is not supported" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1109 ++#: common/config/riscv/riscv-common.cc:1019 + #, gcc-internal-format + msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1133 ++#: common/config/riscv/riscv-common.cc:1043 + #, gcc-internal-format + msgid "%<-march=%s%>: rv%de is not a valid base ISA" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1145 ++#: common/config/riscv/riscv-common.cc:1055 + #, gcc-internal-format + msgid "version of % will be omitted, please specify version for individual extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1164 ++#: common/config/riscv/riscv-common.cc:1074 + #, gcc-internal-format + msgid "%<-march=%s%>: first ISA subset must be %, % or %" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1187 ++#: common/config/riscv/riscv-common.cc:1097 + #, gcc-internal-format + msgid "%<-march=%s%>: Not single-letter extension. %<%c%>" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1318 ++#: common/config/riscv/riscv-common.cc:1228 + #, gcc-internal-format + msgid "%<-march=%s%>: zcf extension supports in rv32 only" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1323 ++#: common/config/riscv/riscv-common.cc:1233 + #, gcc-internal-format + msgid "%<-march=%s%>: z*inx conflicts with floating-point extensions" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1329 ++#: common/config/riscv/riscv-common.cc:1239 + #, gcc-internal-format + msgid "%<-march=%s%>: h extension requires i extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1334 ++#: common/config/riscv/riscv-common.cc:1244 + #, gcc-internal-format + msgid "%<-march=%s%>: zcd conflicts with zcmt" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1336 ++#: common/config/riscv/riscv-common.cc:1246 + #, gcc-internal-format + msgid "%<-march=%s%>: zcd conflicts with zcmp" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1345 ++#: common/config/riscv/riscv-common.cc:1255 + #, gcc-internal-format + msgid "%<-march=%s%>: xtheadvector conflicts with vector extension or its sub-extensions" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1442 ++#: common/config/riscv/riscv-common.cc:1352 + #, gcc-internal-format + msgid "%<-march=%s%>: name of %s must be more than 1 letter" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1454 ++#: common/config/riscv/riscv-common.cc:1364 + #, gcc-internal-format + msgid "%<-march=%s%>: %s must separate with %<_%>" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1516 ++#: common/config/riscv/riscv-common.cc:1426 + #, gcc-internal-format + msgid "%<-march=%s%>: i, e or g must be the first extension" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1871 ++#: common/config/riscv/riscv-common.cc:1759 + #, gcc-internal-format + msgid "%<-mcpu=%s%>: unknown CPU" + msgstr "" + +-#: common/config/riscv/riscv-common.cc:1950 ++#: common/config/riscv/riscv-common.cc:1838 + #, gcc-internal-format + msgid "Cannot find suitable multilib set for %<-march=%s%>/%<-mabi=%s%>" + msgstr "" +@@ -38664,12 +38664,12 @@ msgstr "" + msgid "expected 64-bit address but argument 2 is %d-bit" + msgstr "" + +-#: config/aarch64/aarch64-c.cc:341 ++#: config/aarch64/aarch64-c.cc:347 + #, gcc-internal-format + msgid "%<#pragma GCC aarch64%> requires a string parameter" + msgstr "" + +-#: config/aarch64/aarch64-c.cc:357 ++#: config/aarch64/aarch64-c.cc:363 + #, gcc-internal-format + msgid "unknown %<#pragma GCC aarch64%> option %qs" + msgstr "" +@@ -39236,7 +39236,7 @@ msgstr "" + + #: config/aarch64/aarch64.cc:7039 config/aarch64/aarch64.cc:7117 + #: config/aarch64/aarch64.cc:21336 config/arm/arm.cc:7342 +-#: config/arm/arm.cc:7372 config/arm/arm.cc:29487 ++#: config/arm/arm.cc:7372 config/arm/arm.cc:29548 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 9.1" + msgstr "" +@@ -39313,12 +39313,12 @@ msgid "unknown tuning option (%s)" + msgstr "невядомая назва рэгістра: %s\n" + + #: config/aarch64/aarch64.cc:18270 config/arm/arm.cc:3227 +-#: config/riscv/riscv.cc:9411 ++#: config/riscv/riscv.cc:9369 + #, gcc-internal-format + msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" + msgstr "" + +-#: config/aarch64/aarch64.cc:18279 config/riscv/riscv.cc:9420 ++#: config/aarch64/aarch64.cc:18279 config/riscv/riscv.cc:9378 + #, gcc-internal-format + msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" + msgstr "" +@@ -39329,7 +39329,7 @@ msgid "specify a system register with a small string length" + msgstr "" + + #: config/aarch64/aarch64.cc:18297 config/arm/arm.cc:3239 +-#: config/riscv/riscv.cc:9449 config/rs6000/rs6000.cc:4497 ++#: config/riscv/riscv.cc:9407 config/rs6000/rs6000.cc:4497 + #, fuzzy, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "Нерэчаісны выбар %s" +@@ -39510,9 +39510,9 @@ msgstr "" + msgid "pragma or attribute % is not valid" + msgstr "" + +-#: config/aarch64/aarch64.cc:19536 config/arm/arm.cc:33744 +-#: config/riscv/riscv-target-attr.cc:325 config/rs6000/rs6000.cc:24684 +-#: config/s390/s390.cc:16421 ++#: config/aarch64/aarch64.cc:19536 config/arm/arm.cc:33805 ++#: config/riscv/riscv-target-attr.cc:331 config/rs6000/rs6000.cc:24699 ++#: config/s390/s390.cc:16422 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "" +@@ -39565,18 +39565,18 @@ msgid "virtual function multiversioning not supported" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + + #: config/aarch64/aarch64.cc:20541 config/i386/i386-features.cc:3654 +-#: config/rs6000/rs6000.cc:25374 ++#: config/rs6000/rs6000.cc:25389 + #, fuzzy, gcc-internal-format + msgid "multiversioning needs % which is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + + #: config/aarch64/aarch64.cc:22089 config/arm/arm.cc:6690 +-#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12778 ++#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12779 + msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" + msgstr "" + + #: config/aarch64/aarch64.cc:22094 config/arm/arm.cc:6695 +-#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12773 ++#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12774 + msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" + msgstr "" + +@@ -39589,8 +39589,8 @@ msgstr "" + msgid "lane %wd out of range %wd - %wd" + msgstr "" + +-#: config/aarch64/aarch64.cc:28749 config/i386/i386.cc:25115 +-#: config/i386/i386.cc:25246 ++#: config/aarch64/aarch64.cc:28749 config/i386/i386.cc:25293 ++#: config/i386/i386.cc:25424 + #, fuzzy, gcc-internal-format + #| msgid "unsupported version" + msgid "unsupported simdlen %wd" +@@ -39601,7 +39601,7 @@ msgstr "непадтрымліваемая версія" + msgid "GCC does not currently support return type %qT for simd" + msgstr "" + +-#: config/aarch64/aarch64.cc:28767 config/i386/i386.cc:25137 ++#: config/aarch64/aarch64.cc:28767 config/i386/i386.cc:25315 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "" +@@ -39611,7 +39611,7 @@ msgstr "" + msgid "GCC does not currently support argument type %qT for simd" + msgstr "" + +-#: config/aarch64/aarch64.cc:28801 config/i386/i386.cc:25168 ++#: config/aarch64/aarch64.cc:28801 config/i386/i386.cc:25346 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "" +@@ -39701,8 +39701,8 @@ msgstr "" + msgid "bad value %qs for %<-mmemory-latency%>" + msgstr "" + +-#: config/alpha/alpha.cc:6659 config/alpha/alpha.cc:6662 config/arc/arc.cc:6981 +-#: config/arc/arc.cc:7255 config/s390/s390.cc:959 ++#: config/alpha/alpha.cc:6671 config/alpha/alpha.cc:6674 config/arc/arc.cc:6981 ++#: config/arc/arc.cc:7255 config/s390/s390.cc:960 + #, gcc-internal-format + msgid "bad builtin fcode" + msgstr "" +@@ -39824,18 +39824,18 @@ msgid "argument of %qE attribute is not \"ilink\" or \"firq\"" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + + #: config/arc/arc.cc:2037 config/arm/arm.cc:7483 config/arm/arm.cc:7501 +-#: config/arm/arm.cc:7680 config/avr/avr.cc:11244 config/avr/avr.cc:11258 ++#: config/arm/arm.cc:7680 config/avr/avr.cc:11273 config/avr/avr.cc:11287 + #: config/bfin/bfin.cc:4695 config/bfin/bfin.cc:4756 config/bfin/bfin.cc:4786 + #: config/bpf/bpf.cc:93 config/csky/csky.cc:6459 config/csky/csky.cc:6487 + #: config/epiphany/epiphany.cc:488 config/gcn/gcn.cc:379 +-#: config/h8300/h8300.cc:4948 config/i386/i386-options.cc:3711 +-#: config/i386/i386-options.cc:3888 config/i386/i386-options.cc:3944 +-#: config/i386/i386-options.cc:3995 config/i386/i386-options.cc:4032 ++#: config/h8300/h8300.cc:4948 config/i386/i386-options.cc:3732 ++#: config/i386/i386-options.cc:3909 config/i386/i386-options.cc:3965 ++#: config/i386/i386-options.cc:4016 config/i386/i386-options.cc:4053 + #: config/m68k/m68k.cc:796 config/mcore/mcore.cc:3067 +-#: config/nvptx/nvptx.cc:5801 config/riscv/riscv.cc:5772 ++#: config/nvptx/nvptx.cc:5801 config/riscv/riscv.cc:5784 + #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 +-#: config/rs6000/rs6000.cc:20635 config/rx/rx.cc:2728 config/rx/rx.cc:2754 +-#: config/s390/s390.cc:1174 config/s390/s390.cc:1261 config/sh/sh.cc:8429 ++#: config/rs6000/rs6000.cc:20650 config/rx/rx.cc:2728 config/rx/rx.cc:2754 ++#: config/s390/s390.cc:1175 config/s390/s390.cc:1262 config/sh/sh.cc:8429 + #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 + #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2403 + #: config/v850/v850.cc:2010 config/visium/visium.cc:724 +@@ -39951,7 +39951,7 @@ msgid "argument of %qE attribute is missing" + msgstr "аргумент для \"-%s\" прапушчан" + + #: config/arc/arc.cc:10857 config/arc/arc.cc:10896 config/arc/arc.cc:11022 +-#: config/avr/avr.cc:11318 ++#: config/avr/avr.cc:11347 + #, gcc-internal-format + msgid "%qE attribute allows only an integer constant argument" + msgstr "" +@@ -39971,23 +39971,23 @@ msgstr "\"%s\" звычайна функцыя" + msgid "argument of %qE attribute ignored" + msgstr "памер \"%s\" больш чам %d байт" + +-#: config/arc/arc.cc:11012 config/avr/avr.cc:11305 config/bfin/bfin.cc:4818 ++#: config/arc/arc.cc:11012 config/avr/avr.cc:11334 config/bfin/bfin.cc:4818 + #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5824 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only applies to variables" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/arm/aarch-common.cc:553 config/i386/i386.cc:23866 ++#: config/arm/aarch-common.cc:553 config/i386/i386.cc:24044 + #, gcc-internal-format + msgid "alternatives not allowed in % flag output" + msgstr "" + +-#: config/arm/aarch-common.cc:614 config/i386/i386.cc:23930 ++#: config/arm/aarch-common.cc:614 config/i386/i386.cc:24108 + #, gcc-internal-format + msgid "unknown % flag output %qs" + msgstr "" + +-#: config/arm/aarch-common.cc:624 config/i386/i386.cc:23959 ++#: config/arm/aarch-common.cc:624 config/i386/i386.cc:24137 + #, gcc-internal-format + msgid "invalid type for % flag output" + msgstr "" +@@ -40233,7 +40233,7 @@ msgstr "ISO C не падтрымлівае комлексныя цэлалік + msgid "target CPU does not support unaligned accesses" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/arm/arm.cc:3247 config/arm/arm.cc:33417 ++#: config/arm/arm.cc:3247 config/arm/arm.cc:33478 + #, fuzzy, gcc-internal-format + msgid "This architecture does not support branch protection instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" +@@ -40283,7 +40283,7 @@ msgstr "" + msgid "RTP PIC is incompatible with %<-msingle-pic-base%>" + msgstr "" + +-#: config/arm/arm.cc:3725 config/arm/arm.cc:33758 ++#: config/arm/arm.cc:3725 config/arm/arm.cc:33819 + #, gcc-internal-format + msgid "FDPIC mode is not supported in Thumb-1 mode" + msgstr "" +@@ -40389,7 +40389,7 @@ msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>" + msgstr "" + + #: config/arm/arm.cc:7115 config/arm/arm.cc:7336 config/arm/arm.cc:7369 +-#: config/arm/arm.cc:29480 ++#: config/arm/arm.cc:29541 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT changed in GCC 7.1" + msgstr "" +@@ -40429,42 +40429,42 @@ msgstr "" + msgid "%qE attribute only applies to base type of a function pointer" + msgstr "\"%s\" звычайна функцыя" + +-#: config/arm/arm.cc:9737 ++#: config/arm/arm.cc:9739 + #, gcc-internal-format + msgid "accessing thread-local storage is not currently supported with %<-mpure-code%> or %<-mslow-flash-data%>" + msgstr "" + +-#: config/arm/arm.cc:13588 config/arm/arm.cc:13590 ++#: config/arm/arm.cc:13590 config/arm/arm.cc:13592 + #, gcc-internal-format + msgid "%s %wd out of range %wd - %wd" + msgstr "" + +-#: config/arm/arm.cc:26067 ++#: config/arm/arm.cc:26076 + #, gcc-internal-format + msgid "unable to compute real location of stacked parameter" + msgstr "" + +-#: config/arm/arm.cc:26730 ++#: config/arm/arm.cc:26739 + #, gcc-internal-format + msgid "Unexpected thumb1 far jump" + msgstr "" + +-#: config/arm/arm.cc:26989 ++#: config/arm/arm.cc:26998 + #, gcc-internal-format + msgid "no low registers available for popping high registers" + msgstr "" + +-#: config/arm/arm.cc:27242 ++#: config/arm/arm.cc:27251 + #, gcc-internal-format + msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode" + msgstr "" + +-#: config/arm/arm.cc:27488 ++#: config/arm/arm.cc:27549 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> for Thumb-1" + msgstr "" + +-#: config/arm/arm.cc:33773 ++#: config/arm/arm.cc:33834 + #, gcc-internal-format + msgid "invalid fpu for target attribute or pragma %qs" + msgstr "" +@@ -40472,23 +40472,23 @@ msgstr "" + #. This doesn't really make sense until we support + #. general dynamic selection of the architecture and all + #. sub-features. +-#: config/arm/arm.cc:33781 ++#: config/arm/arm.cc:33842 + #, gcc-internal-format + msgid "auto fpu selection not currently permitted here" + msgstr "" + +-#: config/arm/arm.cc:33794 ++#: config/arm/arm.cc:33855 + #, gcc-internal-format + msgid "invalid architecture for target attribute or pragma %qs" + msgstr "" + +-#: config/arm/arm.cc:33808 ++#: config/arm/arm.cc:33869 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown target attribute or pragma %qs" + msgstr "невядомая назва рэгістра: %s" + +-#: config/arm/arm.cc:34771 ++#: config/arm/arm.cc:34832 + #, fuzzy, gcc-internal-format + msgid "% flags not supported in thumb1 mode" + msgstr "-pipe не падтрымліваецца" +@@ -40542,164 +40542,164 @@ msgstr "" + msgid "unknown core architecture %qs specified with %qs" + msgstr "" + +-#: config/avr/avr.cc:1144 config/pru/pru.cc:601 config/visium/visium.cc:422 ++#: config/avr/avr.cc:1150 config/pru/pru.cc:601 config/visium/visium.cc:422 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fpic%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/avr/avr.cc:1146 config/pru/pru.cc:603 config/visium/visium.cc:424 ++#: config/avr/avr.cc:1152 config/pru/pru.cc:603 config/visium/visium.cc:424 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fPIC%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/avr/avr.cc:1148 config/pru/pru.cc:605 ++#: config/avr/avr.cc:1154 config/pru/pru.cc:605 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fpie%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/avr/avr.cc:1150 config/pru/pru.cc:607 ++#: config/avr/avr.cc:1156 config/pru/pru.cc:607 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "%<-fPIE%> is not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/avr/avr.cc:1446 config/avr/avr.cc:1451 config/riscv/riscv.cc:9772 ++#: config/avr/avr.cc:1452 config/avr/avr.cc:1457 config/riscv/riscv.cc:9730 + #, gcc-internal-format + msgid "function attributes %qs and %qs are mutually exclusive" + msgstr "" + +-#: config/avr/avr.cc:1472 config/riscv/riscv.cc:9784 ++#: config/avr/avr.cc:1478 config/riscv/riscv.cc:9742 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "%qs function cannot have arguments" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: config/avr/avr.cc:1475 config/riscv/riscv.cc:9781 ++#: config/avr/avr.cc:1481 config/riscv/riscv.cc:9739 + #, fuzzy, gcc-internal-format + #| msgid "function does not return string type" + msgid "%qs function cannot return a value" + msgstr "функцыя не вяртае тып string" + +-#: config/avr/avr.cc:1489 ++#: config/avr/avr.cc:1495 + #, gcc-internal-format + msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" + msgstr "" + +-#: config/avr/avr.cc:1500 ++#: config/avr/avr.cc:1506 + #, gcc-internal-format + msgid "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" + msgstr "" + +-#: config/avr/avr.cc:1507 ++#: config/avr/avr.cc:1513 + #, gcc-internal-format + msgid "%qs is a deprecated identifier in AVR-LibC. Consider %<#include %> or %<#include %> before using the %qs macro" + msgstr "" + +-#: config/avr/avr.cc:1728 ++#: config/avr/avr.cc:1734 + #, gcc-internal-format + msgid "% contains only 2 bytes of address" + msgstr "" + +-#: config/avr/avr.cc:3716 ++#: config/avr/avr.cc:3722 + #, gcc-internal-format + msgid "pointer offset from symbol maybe incorrect" + msgstr "" + +-#: config/avr/avr.cc:3855 ++#: config/avr/avr.cc:3861 + #, gcc-internal-format + msgid "accessing data memory with program memory address" + msgstr "" + +-#: config/avr/avr.cc:3916 ++#: config/avr/avr.cc:3922 + #, gcc-internal-format + msgid "accessing program memory with data memory address" + msgstr "" + +-#: config/avr/avr.cc:4258 ++#: config/avr/avr.cc:4264 + #, gcc-internal-format, gfc-internal-format + msgid "fixed register %s used to pass parameter to function" + msgstr "" + +-#: config/avr/avr.cc:4518 ++#: config/avr/avr.cc:4524 + #, gcc-internal-format + msgid "writing to address space %qs not supported" + msgstr "" + +-#: config/avr/avr.cc:11277 ++#: config/avr/avr.cc:11306 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only applies to variables in static storage" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/avr/avr.cc:11284 ++#: config/avr/avr.cc:11313 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only supported for reduced Tiny cores" + msgstr "\"%s\" звычайна функцыя" + +-#: config/avr/avr.cc:11326 ++#: config/avr/avr.cc:11355 + #, gcc-internal-format + msgid "%qE attribute address out of range 0x%x%s0x%x" + msgstr "" + +-#: config/avr/avr.cc:11340 ++#: config/avr/avr.cc:11369 + #, gcc-internal-format + msgid "both %s and %qE attribute provide address" + msgstr "" + +-#: config/avr/avr.cc:11350 ++#: config/avr/avr.cc:11379 + #, fuzzy, gcc-internal-format + msgid "%qE attribute on non-volatile variable" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/avr/avr.cc:11426 ++#: config/avr/avr.cc:11455 + #, gcc-internal-format + msgid "address spaces are not supported for reduced Tiny devices" + msgstr "" + +-#: config/avr/avr.cc:11433 ++#: config/avr/avr.cc:11462 + #, gcc-internal-format + msgid "address space %qs not supported for devices with flash size up to %d KiB" + msgstr "" + +-#: config/avr/avr.cc:11613 ++#: config/avr/avr.cc:11642 + #, gcc-internal-format + msgid "pointer targeting address space %qs must be const in %qT" + msgstr "" + +-#: config/avr/avr.cc:11616 ++#: config/avr/avr.cc:11645 + #, gcc-internal-format + msgid "pointer targeting address space %qs must be const in %s %q+D" + msgstr "" + +-#: config/avr/avr.cc:11637 ++#: config/avr/avr.cc:11666 + #, gcc-internal-format + msgid "variable %q+D with attribute %qs must be located in static storage" + msgstr "" + +-#: config/avr/avr.cc:11688 ++#: config/avr/avr.cc:11717 + #, gcc-internal-format + msgid "variable %q+D must be const in order to be put into read-only section by means of %qs" + msgstr "" + +-#: config/avr/avr.cc:11849 ++#: config/avr/avr.cc:11878 + #, gcc-internal-format + msgid "static attribute %qs declaration for %q+D needs an address" + msgstr "" + +-#: config/avr/avr.cc:11938 ++#: config/avr/avr.cc:11967 + #, gcc-internal-format + msgid "only uninitialized variables can be placed in the %<.noinit%> section" + msgstr "" + + #. This might happen with C++ if stuff needs constructing. +-#: config/avr/avr.cc:12015 ++#: config/avr/avr.cc:12044 + #, gcc-internal-format + msgid "variable %q+D with dynamic initialization put into program memory area" + msgstr "" + +-#: config/avr/avr.cc:12026 ++#: config/avr/avr.cc:12055 + #, gcc-internal-format + msgid "uninitialized variable %q+D put into program memory area" + msgstr "" +@@ -40708,42 +40708,42 @@ msgstr "" + #. hence deny initializers now. The values of symbols with an + #. address attribute are determined by the attribute, not by + #. some initializer. +-#: config/avr/avr.cc:12091 ++#: config/avr/avr.cc:12120 + #, gcc-internal-format + msgid "variable %q+D with attribute %qs must not have an initializer" + msgstr "" + +-#: config/avr/avr.cc:12144 ++#: config/avr/avr.cc:12173 + #, gcc-internal-format + msgid "%q+D has incompatible attributes %qs and %qs" + msgstr "" + +-#: config/avr/avr.cc:12207 ++#: config/avr/avr.cc:12236 + #, gcc-internal-format + msgid "architecture %qs supported for assembler only" + msgstr "" + +-#: config/avr/avr.cc:14767 ++#: config/avr/avr.cc:14796 + #, gcc-internal-format + msgid "conversion from address space %qs to address space %qs" + msgstr "" + +-#: config/avr/avr.cc:15848 config/avr/avr.cc:15861 ++#: config/avr/avr.cc:15877 config/avr/avr.cc:15890 + #, gcc-internal-format, gfc-internal-format + msgid "%s expects a compile time integer constant" + msgstr "" + +-#: config/avr/avr.cc:15875 ++#: config/avr/avr.cc:15904 + #, gcc-internal-format, gfc-internal-format + msgid "%s expects a compile time long integer constant as first argument" + msgstr "" + +-#: config/avr/avr.cc:15903 ++#: config/avr/avr.cc:15932 + #, gcc-internal-format, gfc-internal-format + msgid "rounding to %d bits has no effect for fixed-point value with %d fractional bits" + msgstr "" + +-#: config/avr/avr.cc:15912 ++#: config/avr/avr.cc:15941 + #, gcc-internal-format + msgid "rounding result will always be 0" + msgstr "" +@@ -40884,7 +40884,7 @@ msgid "indirect call in function, which are not supported by eBPF" + msgstr "" + + #: config/bpf/bpf.cc:1051 config/loongarch/loongarch-builtins.cc:3005 +-#: config/mips/mips.cc:17394 config/nios2/nios2.cc:3602 ++#: config/mips/mips.cc:17403 config/nios2/nios2.cc:3602 + #: config/riscv/riscv-builtins.cc:344 + #: config/riscv/riscv-vector-builtins.cc:4226 + #, fuzzy, gcc-internal-format +@@ -41515,8 +41515,8 @@ msgstr "першым аргументам \"%s\" павінен быць \"int\" + msgid "function versions cannot be marked as %, bodies have to be generated" + msgstr "" + +-#: config/i386/i386-options.cc:925 config/i386/i386-options.cc:2251 +-#: config/i386/i386-options.cc:2260 ++#: config/i386/i386-options.cc:925 config/i386/i386-options.cc:2273 ++#: config/i386/i386-options.cc:2282 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%s does not support %s" + msgid "code model %s does not support PIC mode" +@@ -41584,255 +41584,255 @@ msgstr "" + msgid "unknown parameter to option %<-mtune-ctrl%>: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2047 ++#: config/i386/i386-options.cc:2069 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "" + +-#: config/i386/i386-options.cc:2101 ++#: config/i386/i386-options.cc:2123 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2103 ++#: config/i386/i386-options.cc:2125 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "" + +-#: config/i386/i386-options.cc:2109 ++#: config/i386/i386-options.cc:2131 + #, gcc-internal-format + msgid "%<-mtune=knl%> support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2110 ++#: config/i386/i386-options.cc:2132 + #, gcc-internal-format + msgid "% support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2115 ++#: config/i386/i386-options.cc:2137 + #, gcc-internal-format + msgid "%<-mtune=knm%> support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2116 ++#: config/i386/i386-options.cc:2138 + #, gcc-internal-format + msgid "% support will be removed in GCC 15" + msgstr "" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386-options.cc:2143 ++#: config/i386/i386-options.cc:2165 + #, gcc-internal-format + msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2148 ++#: config/i386/i386-options.cc:2170 + #, fuzzy, gcc-internal-format + msgid "%<-mapxf%> is not supported for 32-bit code" + msgstr "-pipe не падтрымліваецца" + +-#: config/i386/i386-options.cc:2150 ++#: config/i386/i386-options.cc:2172 + #, fuzzy, gcc-internal-format + msgid "%<-mapx-features=%> option is not supported for 32-bit code" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:2153 ++#: config/i386/i386-options.cc:2175 + #, fuzzy, gcc-internal-format + msgid "%<-muintr%> not supported for 32-bit code" + msgstr "-pipe не падтрымліваецца" + +-#: config/i386/i386-options.cc:2156 ++#: config/i386/i386-options.cc:2178 + #, gcc-internal-format + msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" + msgstr "" + +-#: config/i386/i386-options.cc:2171 ++#: config/i386/i386-options.cc:2193 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2182 ++#: config/i386/i386-options.cc:2204 + #, gcc-internal-format + msgid "%<-mabi=ms%> not supported with X32 ABI" + msgstr "" + +-#: config/i386/i386-options.cc:2188 ++#: config/i386/i386-options.cc:2210 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2191 ++#: config/i386/i386-options.cc:2213 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" + msgstr "" + +-#: config/i386/i386-options.cc:2195 ++#: config/i386/i386-options.cc:2217 + #, gcc-internal-format + msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" + msgstr "" + +-#: config/i386/i386-options.cc:2201 ++#: config/i386/i386-options.cc:2223 + #, gcc-internal-format + msgid "%<-mlam=u48%> is not compatible with Hardware-assisted AddressSanitizer, override to %<-mlam=u57%>" + msgstr "" + +-#: config/i386/i386-options.cc:2221 config/i386/i386-options.cc:2230 +-#: config/i386/i386-options.cc:2242 config/i386/i386-options.cc:2253 +-#: config/i386/i386-options.cc:2264 ++#: config/i386/i386-options.cc:2243 config/i386/i386-options.cc:2252 ++#: config/i386/i386-options.cc:2264 config/i386/i386-options.cc:2275 ++#: config/i386/i386-options.cc:2286 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: config/i386/i386-options.cc:2233 config/i386/i386-options.cc:2245 ++#: config/i386/i386-options.cc:2255 config/i386/i386-options.cc:2267 + #, fuzzy, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "-pipe не падтрымліваецца" + +-#: config/i386/i386-options.cc:2288 ++#: config/i386/i386-options.cc:2310 + #, fuzzy, gcc-internal-format + msgid "%<-masm=intel%> not supported in this configuration" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:2293 ++#: config/i386/i386-options.cc:2315 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "" + +-#: config/i386/i386-options.cc:2305 ++#: config/i386/i386-options.cc:2327 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2307 ++#: config/i386/i386-options.cc:2329 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2314 ++#: config/i386/i386-options.cc:2336 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2316 ++#: config/i386/i386-options.cc:2338 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2324 config/i386/i386-options.cc:2477 ++#: config/i386/i386-options.cc:2346 config/i386/i386-options.cc:2499 + #, fuzzy, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/i386/i386-options.cc:2332 ++#: config/i386/i386-options.cc:2354 + #, gcc-internal-format + msgid "%<-march=knl%> support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2333 ++#: config/i386/i386-options.cc:2355 + #, gcc-internal-format + msgid "% support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2338 ++#: config/i386/i386-options.cc:2360 + #, gcc-internal-format + msgid "%<-march=knm%> support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2339 ++#: config/i386/i386-options.cc:2361 + #, gcc-internal-format + msgid "% support will be removed in GCC 15" + msgstr "" + +-#: config/i386/i386-options.cc:2416 ++#: config/i386/i386-options.cc:2438 + #, gcc-internal-format + msgid "bad value %qs for %<-march=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2417 ++#: config/i386/i386-options.cc:2439 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2439 ++#: config/i386/i386-options.cc:2461 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2441 ++#: config/i386/i386-options.cc:2463 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2446 ++#: config/i386/i386-options.cc:2468 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2447 ++#: config/i386/i386-options.cc:2469 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386-options.cc:2496 ++#: config/i386/i386-options.cc:2518 + #, gcc-internal-format + msgid "bad value %qs for %<-mtune=%> switch" + msgstr "" + +-#: config/i386/i386-options.cc:2497 ++#: config/i386/i386-options.cc:2519 + #, gcc-internal-format + msgid "bad value %qs for % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:2518 ++#: config/i386/i386-options.cc:2540 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2520 ++#: config/i386/i386-options.cc:2542 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "" + +-#: config/i386/i386-options.cc:2525 ++#: config/i386/i386-options.cc:2547 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "" + +-#: config/i386/i386-options.cc:2526 ++#: config/i386/i386-options.cc:2548 + #, fuzzy, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/i386/i386-options.cc:2554 ++#: config/i386/i386-options.cc:2578 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored in 64-bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2556 ++#: config/i386/i386-options.cc:2580 + #, gcc-internal-format + msgid "%<-mregparm%> is ignored for Intel MCU psABI" + msgstr "" + +-#: config/i386/i386-options.cc:2559 ++#: config/i386/i386-options.cc:2583 + #, gcc-internal-format + msgid "%<-mregparm=%d%> is not between 0 and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2582 ++#: config/i386/i386-options.cc:2609 + #, gcc-internal-format + msgid "%<-m96bit-long-double%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2587 ++#: config/i386/i386-options.cc:2614 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2588 ++#: config/i386/i386-options.cc:2615 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "" + +-#: config/i386/i386-options.cc:2681 ++#: config/i386/i386-options.cc:2702 + #, gcc-internal-format + msgid "%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10.1-512 is available" + msgstr "" +@@ -41840,291 +41840,291 @@ msgstr "" + #. We should not emit 512 bit instructions under AVX10.1-256 + #. when EVEX512 is enabled w/o any AVX512 features enabled. + #. Disable EVEX512 bit for this. +-#: config/i386/i386-options.cc:2695 ++#: config/i386/i386-options.cc:2716 + #, gcc-internal-format + msgid "Using %<-mevex512%> without any AVX512 features enabled together with AVX10.1 only will not enable any AVX512 or AVX10.1-512 features, using 256 as max vector size" + msgstr "" + +-#: config/i386/i386-options.cc:2702 config/i386/i386-options.cc:2708 ++#: config/i386/i386-options.cc:2723 config/i386/i386-options.cc:2729 + #, gcc-internal-format + msgid "Vector size conflicts between AVX10.1 and AVX512, using 512 as max vector size" + msgstr "" + +-#: config/i386/i386-options.cc:2716 ++#: config/i386/i386-options.cc:2737 + #, gcc-internal-format + msgid "%<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10 is available" + msgstr "" + +-#: config/i386/i386-options.cc:2726 ++#: config/i386/i386-options.cc:2747 + #, gcc-internal-format + msgid "%<-mno-avx10.1, -mno-avx10.1-256, -mno-avx10.1-512%> cannot disable AVX512 instructions when %<-mavx512XXX%>" + msgstr "" + +-#: config/i386/i386-options.cc:2781 ++#: config/i386/i386-options.cc:2802 + #, fuzzy, gcc-internal-format + msgid "%<-mpreferred-stack-boundary%> is not supported for this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:2784 ++#: config/i386/i386-options.cc:2805 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" + msgstr "" + +-#: config/i386/i386-options.cc:2807 ++#: config/i386/i386-options.cc:2828 + #, gcc-internal-format + msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" + msgstr "" + +-#: config/i386/i386-options.cc:2820 ++#: config/i386/i386-options.cc:2841 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not compatible with this target" + msgstr "" + +-#: config/i386/i386-options.cc:2823 ++#: config/i386/i386-options.cc:2844 + #, gcc-internal-format + msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" + msgstr "" + +-#: config/i386/i386-options.cc:2829 ++#: config/i386/i386-options.cc:2850 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2830 ++#: config/i386/i386-options.cc:2851 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "" + +-#: config/i386/i386-options.cc:2840 ++#: config/i386/i386-options.cc:2861 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2847 ++#: config/i386/i386-options.cc:2868 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "" + +-#: config/i386/i386-options.cc:2897 ++#: config/i386/i386-options.cc:2918 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2899 ++#: config/i386/i386-options.cc:2920 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "" + +-#: config/i386/i386-options.cc:2913 ++#: config/i386/i386-options.cc:2934 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "" + +-#: config/i386/i386-options.cc:2915 ++#: config/i386/i386-options.cc:2936 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "" + +-#: config/i386/i386-options.cc:2975 ++#: config/i386/i386-options.cc:2996 + #, gcc-internal-format + msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" + msgstr "" + +-#: config/i386/i386-options.cc:2978 ++#: config/i386/i386-options.cc:2999 + #, gcc-internal-format + msgid "%<-mno-fentry%> isn%'t compatible with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:2982 ++#: config/i386/i386-options.cc:3003 + #, gcc-internal-format + msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386-options.cc:3104 config/loongarch/loongarch-opts.cc:898 ++#: config/i386/i386-options.cc:3125 config/loongarch/loongarch-opts.cc:898 + #, gcc-internal-format + msgid "unknown option for %<-mrecip=%s%>" + msgstr "" + +-#: config/i386/i386-options.cc:3163 ++#: config/i386/i386-options.cc:3184 + #, gcc-internal-format + msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:3168 ++#: config/i386/i386-options.cc:3189 + #, gcc-internal-format + msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" + msgstr "" + +-#: config/i386/i386-options.cc:3196 ++#: config/i386/i386-options.cc:3217 + #, gcc-internal-format + msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" + msgstr "" + +-#: config/i386/i386-options.cc:3250 ++#: config/i386/i386-options.cc:3271 + #, gcc-internal-format + msgid "%<-fcf-protection=full%> is not enabled by %<-fhardened%> because it was specified on the command line" + msgstr "" + +-#: config/i386/i386-options.cc:3259 ++#: config/i386/i386-options.cc:3280 + #, fuzzy, gcc-internal-format + msgid "%<-fcf-protection%> is not compatible with this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: config/i386/i386-options.cc:3426 ++#: config/i386/i386-options.cc:3447 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3430 config/i386/i386-options.cc:3462 +-#: config/i386/i386-options.cc:4006 config/i386/i386-options.cc:4016 ++#: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3483 ++#: config/i386/i386-options.cc:4027 config/i386/i386-options.cc:4037 + #, gcc-internal-format + msgid "%qs and %qs attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3447 ++#: config/i386/i386-options.cc:3468 + #, gcc-internal-format + msgid "only DWARF debug format is supported for interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3508 ++#: config/i386/i386-options.cc:3529 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3518 ++#: config/i386/i386-options.cc:3539 + #, gcc-internal-format + msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3553 ++#: config/i386/i386-options.cc:3574 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3563 ++#: config/i386/i386-options.cc:3584 + #, gcc-internal-format + msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3671 ++#: config/i386/i386-options.cc:3692 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an exception service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3673 ++#: config/i386/i386-options.cc:3694 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in an interrupt service routine" + msgstr "" + +-#: config/i386/i386-options.cc:3677 ++#: config/i386/i386-options.cc:3698 + #, gcc-internal-format + msgid "%s instructions aren%'t allowed in a function with the % attribute" + msgstr "" + +-#: config/i386/i386-options.cc:3724 config/i386/i386-options.cc:3775 ++#: config/i386/i386-options.cc:3745 config/i386/i386-options.cc:3796 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3729 ++#: config/i386/i386-options.cc:3750 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3736 config/i386/i386-options.cc:3964 ++#: config/i386/i386-options.cc:3757 config/i386/i386-options.cc:3985 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "" + +-#: config/i386/i386-options.cc:3742 ++#: config/i386/i386-options.cc:3763 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "памер \"%s\" больш чам %d байт" + +-#: config/i386/i386-options.cc:3767 config/i386/i386-options.cc:3810 ++#: config/i386/i386-options.cc:3788 config/i386/i386-options.cc:3831 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3771 ++#: config/i386/i386-options.cc:3792 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3779 config/i386/i386-options.cc:3828 ++#: config/i386/i386-options.cc:3800 config/i386/i386-options.cc:3849 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3789 config/i386/i386-options.cc:3806 ++#: config/i386/i386-options.cc:3810 config/i386/i386-options.cc:3827 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3793 ++#: config/i386/i386-options.cc:3814 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3797 config/i386/i386-options.cc:3824 ++#: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3845 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3814 config/i386/i386-options.cc:3832 ++#: config/i386/i386-options.cc:3835 config/i386/i386-options.cc:3853 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "" + +-#: config/i386/i386-options.cc:3820 ++#: config/i386/i386-options.cc:3841 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "" + +-#: config/i386/i386-options.cc:3924 config/rs6000/rs6000.cc:20747 ++#: config/i386/i386-options.cc:3945 config/rs6000/rs6000.cc:20762 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "%qE incompatible attribute ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/i386/i386-options.cc:3951 ++#: config/i386/i386-options.cc:3972 + #, fuzzy, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/i386/i386-options.cc:3972 ++#: config/i386/i386-options.cc:3993 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:4043 config/i386/i386-options.cc:4065 +-#: config/ia64/ia64.cc:822 config/s390/s390.cc:1271 ++#: config/i386/i386-options.cc:4064 config/i386/i386-options.cc:4086 ++#: config/ia64/ia64.cc:822 config/s390/s390.cc:1272 + #, fuzzy, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:4053 config/i386/i386-options.cc:4075 +-#: config/s390/s390.cc:1300 ++#: config/i386/i386-options.cc:4074 config/i386/i386-options.cc:4096 ++#: config/s390/s390.cc:1301 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/i386/i386-options.cc:4107 ++#: config/i386/i386-options.cc:4128 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "" + +-#: config/i386/i386-options.cc:4114 ++#: config/i386/i386-options.cc:4135 + #, gcc-internal-format + msgid "interrupt service routine should have %qs as the second argument" + msgstr "" + +-#: config/i386/i386-options.cc:4125 ++#: config/i386/i386-options.cc:4146 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "" + +-#: config/i386/i386-options.cc:4128 ++#: config/i386/i386-options.cc:4149 + #, gcc-internal-format + msgid "interrupt service routine must return %" + msgstr "" +@@ -42316,46 +42316,46 @@ msgstr "" + msgid "non-integer operand used with operand code %" + msgstr "" + +-#: config/i386/i386.cc:17996 ++#: config/i386/i386.cc:17985 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" + msgstr "" + +-#: config/i386/i386.cc:22734 ++#: config/i386/i386.cc:22766 + msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" + msgstr "" + +-#: config/i386/i386.cc:22815 ++#: config/i386/i386.cc:22847 + #, gcc-internal-format + msgid "no register available for profiling %<-mcmodel=large%s%>" + msgstr "" + +-#: config/i386/i386.cc:22911 ++#: config/i386/i386.cc:22943 + #, gcc-internal-format + msgid "profiling %<-mcmodel=large%> with PIC is not supported" + msgstr "" + +-#: config/i386/i386.cc:23624 ++#: config/i386/i386.cc:23802 + #, gcc-internal-format + msgid "%<__bfloat16%> is redefined from typedef % to real %<__bf16%> since GCC 13.1, be careful of implicit conversion between %<__bf16%> and %; an explicit bitcast may be needed here" + msgstr "" + +-#: config/i386/i386.cc:25074 ++#: config/i386/i386.cc:25252 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "" + +-#: config/i386/i386.cc:25081 ++#: config/i386/i386.cc:25259 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:25088 ++#: config/i386/i386.cc:25266 + #, gcc-internal-format + msgid "% not used with % or stronger memory model" + msgstr "" + +-#: config/i386/i386.cc:25775 ++#: config/i386/i386.cc:25953 + #, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" + msgstr "" +@@ -42375,8 +42375,8 @@ msgstr "" + msgid "malformed %<#pragma builtin%>" + msgstr "" + +-#: config/ia64/ia64.cc:761 config/loongarch/loongarch.cc:7974 +-#: config/loongarch/loongarch.cc:7984 ++#: config/ia64/ia64.cc:761 config/loongarch/loongarch.cc:7981 ++#: config/loongarch/loongarch.cc:7991 + #, fuzzy, gcc-internal-format + msgid "invalid argument of %qE attribute" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -42432,13 +42432,13 @@ msgstr "" + msgid "% null pointer" + msgstr "" + +-#: config/loongarch/loongarch-builtins.cc:2999 config/mips/mips.cc:17388 ++#: config/loongarch/loongarch-builtins.cc:2999 config/mips/mips.cc:17397 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "argument of `__builtin_args_info' must be constant" + msgid "argument %d to the built-in must be a constant in range %d to %d" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/loongarch/loongarch-builtins.cc:3077 config/mips/mips.cc:17508 ++#: config/loongarch/loongarch-builtins.cc:3077 config/mips/mips.cc:17517 + #, fuzzy, gcc-internal-format + msgid "failed to expand built-in function" + msgstr "Не генерыраваць сімвальныя інструкцыі" +@@ -42564,17 +42564,17 @@ msgstr "" + msgid "%qs cannot be used for compiling a shared library" + msgstr "" + +-#: config/loongarch/loongarch.cc:7946 ++#: config/loongarch/loongarch.cc:7953 + #, fuzzy, gcc-internal-format + msgid "%qE attribute cannot be specified for thread-local variables" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/loongarch/loongarch.cc:7964 ++#: config/loongarch/loongarch.cc:7971 + #, fuzzy, gcc-internal-format + msgid "%qE attribute cannot be specified for register variables" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: config/loongarch/loongarch.cc:7992 ++#: config/loongarch/loongarch.cc:7999 + #, gcc-internal-format + msgid "multiple %qE attribute" + msgstr "" +@@ -42678,12 +42678,12 @@ msgstr "" + msgid "% is available only on fido" + msgstr "" + +-#: config/m68k/m68k.cc:1144 config/rs6000/rs6000-logue.cc:1749 ++#: config/m68k/m68k.cc:1144 config/rs6000/rs6000-logue.cc:1742 + #, gcc-internal-format + msgid "stack limit expression is not supported" + msgstr "" + +-#: config/m68k/m68k.cc:7138 config/s390/s390.cc:17177 ++#: config/m68k/m68k.cc:7138 config/s390/s390.cc:17178 + #, fuzzy, gcc-internal-format + msgid "%<-fexcess-precision=16%> is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" +@@ -42724,7 +42724,7 @@ msgid "%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>" + msgstr "" + + #: config/mips/mips.cc:1332 config/mips/mips.cc:1593 config/mips/mips.cc:1647 +-#: config/riscv/riscv.cc:5800 ++#: config/riscv/riscv.cc:5812 + #, gcc-internal-format + msgid "%qE attribute requires a string argument" + msgstr "" +@@ -42764,135 +42764,135 @@ msgstr "" + msgid "argument to %qE attribute is not intstack" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/mips/mips.cc:6223 ++#: config/mips/mips.cc:6232 + msgid "the ABI for passing a value containing zero-width fields before an adjacent 64-bit floating-point field was changed in GCC %{12.1%}" + msgstr "" + +-#: config/mips/mips.cc:6668 ++#: config/mips/mips.cc:6677 + msgid "the ABI for returning a value containing zero-width bit-fields but otherwise an aggregate with only one or two floating-point fields was changed in GCC %{12.1%}" + msgstr "" + +-#: config/mips/mips.cc:6692 ++#: config/mips/mips.cc:6701 + msgid "the ABI for returning a value with C++17 empty bases but otherwise an aggregate with only one or two floating-point fields was changed in GCC %{12.1%}" + msgstr "" + +-#: config/mips/mips.cc:8039 ++#: config/mips/mips.cc:8048 + #, gcc-internal-format + msgid "cannot handle inconsistent calls to %qs" + msgstr "" + +-#: config/mips/mips.cc:11295 ++#: config/mips/mips.cc:11304 + #, gcc-internal-format + msgid "the % attribute requires a MIPS32r2 processor or greater" + msgstr "" + +-#: config/mips/mips.cc:11297 ++#: config/mips/mips.cc:11306 + #, gcc-internal-format + msgid "interrupt handlers cannot be MIPS16 functions" + msgstr "" + +-#: config/mips/mips.cc:12301 ++#: config/mips/mips.cc:12310 + #, gcc-internal-format + msgid "%<-fstack-check=specific%> not implemented for MIPS16" + msgstr "" + +-#: config/mips/mips.cc:17640 ++#: config/mips/mips.cc:17649 + #, gcc-internal-format + msgid "built-in function %qE not supported for MIPS16" + msgstr "" + +-#: config/mips/mips.cc:18248 ++#: config/mips/mips.cc:18257 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "%qs does not support MIPS16 code" + msgstr "%s не падтрымлівае %s" + +-#: config/mips/mips.cc:20061 ++#: config/mips/mips.cc:20070 + #, gcc-internal-format + msgid "MIPS16 PIC for ABIs other than o32 and o64" + msgstr "" + +-#: config/mips/mips.cc:20064 ++#: config/mips/mips.cc:20073 + #, gcc-internal-format + msgid "MIPS16 %<-mxgot%> code" + msgstr "" + +-#: config/mips/mips.cc:20067 ++#: config/mips/mips.cc:20076 + #, gcc-internal-format + msgid "% MIPS16 code for ABIs other than o32 and o64" + msgstr "" + +-#: config/mips/mips.cc:20070 ++#: config/mips/mips.cc:20079 + #, gcc-internal-format + msgid "MSA MIPS16 code" + msgstr "" + +-#: config/mips/mips.cc:20073 ++#: config/mips/mips.cc:20082 + #, gcc-internal-format + msgid "MIPS16 requires %<-mexplicit-relocs%>" + msgstr "" + +-#: config/mips/mips.cc:20264 config/mips/mips.cc:20269 +-#: config/mips/mips.cc:20359 config/mips/mips.cc:20361 +-#: config/mips/mips.cc:20391 config/mips/mips.cc:20401 +-#: config/mips/mips.cc:20507 config/mips/mips.cc:20531 ++#: config/mips/mips.cc:20273 config/mips/mips.cc:20278 ++#: config/mips/mips.cc:20368 config/mips/mips.cc:20370 ++#: config/mips/mips.cc:20400 config/mips/mips.cc:20410 ++#: config/mips/mips.cc:20516 config/mips/mips.cc:20540 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "unsupported version" + msgid "unsupported combination: %s" + msgstr "непадтрымліваемая версія" + +-#: config/mips/mips.cc:20304 ++#: config/mips/mips.cc:20313 + #, gcc-internal-format + msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor" + msgstr "" + +-#: config/mips/mips.cc:20314 ++#: config/mips/mips.cc:20323 + #, gcc-internal-format + msgid "%<-march=%s%> is not compatible with the selected ABI" + msgstr "" + +-#: config/mips/mips.cc:20329 ++#: config/mips/mips.cc:20338 + #, gcc-internal-format + msgid "%<-mgp64%> used with a 32-bit processor" + msgstr "" + +-#: config/mips/mips.cc:20331 ++#: config/mips/mips.cc:20340 + #, gcc-internal-format + msgid "%<-mgp32%> used with a 64-bit ABI" + msgstr "" + +-#: config/mips/mips.cc:20333 ++#: config/mips/mips.cc:20342 + #, gcc-internal-format + msgid "%<-mgp64%> used with a 32-bit ABI" + msgstr "" + +-#: config/mips/mips.cc:20356 ++#: config/mips/mips.cc:20365 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "the %qs architecture does not support %<-mfp32%>" + msgstr "%s не падтрымлівае %s" + +-#: config/mips/mips.cc:20365 ++#: config/mips/mips.cc:20374 + #, gcc-internal-format + msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions" + msgstr "" + +-#: config/mips/mips.cc:20368 ++#: config/mips/mips.cc:20377 + #, gcc-internal-format + msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI" + msgstr "" + +-#: config/mips/mips.cc:20389 ++#: config/mips/mips.cc:20398 + #, gcc-internal-format + msgid "%<-mfpxx%> can only be used with the o32 ABI" + msgstr "" + +-#: config/mips/mips.cc:20393 ++#: config/mips/mips.cc:20402 + #, gcc-internal-format + msgid "%<-march=%s%> requires %<-mfp32%>" + msgstr "" + +-#: config/mips/mips.cc:20395 ++#: config/mips/mips.cc:20404 + #, gcc-internal-format + msgid "%<-mfpxx%> requires %<-mlra%>" + msgstr "" +@@ -42902,119 +42902,119 @@ msgstr "" + #. effort to support the combination of 32-bit GOT entries + #. and 64-bit pointers, so we treat the abicalls case as + #. an error. +-#: config/mips/mips.cc:20420 ++#: config/mips/mips.cc:20429 + #, gcc-internal-format + msgid "the combination of %qs and %qs is incompatible with %qs" + msgstr "" + +-#: config/mips/mips.cc:20473 ++#: config/mips/mips.cc:20482 + #, fuzzy, gcc-internal-format + msgid "the %qs architecture does not support branch-likely instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/mips/mips.cc:20488 ++#: config/mips/mips.cc:20497 + #, fuzzy, gcc-internal-format + msgid "the %qs architecture does not support madd or msub instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/mips/mips.cc:20502 ++#: config/mips/mips.cc:20511 + #, gcc-internal-format + msgid "the %qs architecture does not support odd single-precision registers" + msgstr "" + +-#: config/mips/mips.cc:20515 ++#: config/mips/mips.cc:20524 + #, gcc-internal-format + msgid "unsupported combination: %qs%s %s" + msgstr "" + +-#: config/mips/mips.cc:20524 ++#: config/mips/mips.cc:20533 + #, fuzzy, gcc-internal-format + #| msgid "unsupported version" + msgid "unsupported combination: %qs %s" + msgstr "непадтрымліваемая версія" + +-#: config/mips/mips.cc:20539 ++#: config/mips/mips.cc:20548 + #, gcc-internal-format + msgid "cannot generate position-independent code for %qs" + msgstr "" + +-#: config/mips/mips.cc:20542 ++#: config/mips/mips.cc:20551 + #, gcc-internal-format + msgid "position-independent code requires %qs" + msgstr "" + +-#: config/mips/mips.cc:20575 ++#: config/mips/mips.cc:20584 + #, gcc-internal-format + msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>" + msgstr "" + +-#: config/mips/mips.cc:20583 config/mips/mips.cc:20586 ++#: config/mips/mips.cc:20592 config/mips/mips.cc:20595 + #, gcc-internal-format + msgid "cannot use small-data accesses for %qs" + msgstr "" + +-#: config/mips/mips.cc:20603 ++#: config/mips/mips.cc:20612 + #, gcc-internal-format + msgid "the %qs architecture does not support %<-m%s=legacy%>" + msgstr "" + +-#: config/mips/mips.cc:20610 ++#: config/mips/mips.cc:20619 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "the %qs architecture does not support %<-m%s=2008%>" + msgstr "%s не падтрымлівае %s" + +-#: config/mips/mips.cc:20628 ++#: config/mips/mips.cc:20637 + #, gcc-internal-format + msgid "%<-mips3d%> requires %<-mpaired-single%>" + msgstr "" + +-#: config/mips/mips.cc:20638 ++#: config/mips/mips.cc:20647 + #, gcc-internal-format + msgid "%qs must be used with %qs" + msgstr "" + +-#: config/mips/mips.cc:20648 ++#: config/mips/mips.cc:20657 + #, gcc-internal-format + msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>" + msgstr "" + +-#: config/mips/mips.cc:20655 ++#: config/mips/mips.cc:20664 + #, fuzzy, gcc-internal-format + msgid "the %qs architecture does not support paired-single instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/mips/mips.cc:20664 ++#: config/mips/mips.cc:20673 + #, gcc-internal-format + msgid "%qs requires a target that provides the %qs instruction" + msgstr "" + +-#: config/mips/mips.cc:20675 ++#: config/mips/mips.cc:20684 + #, fuzzy, gcc-internal-format + msgid "the %qs architecture does not support DSP instructions" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/mips/mips.cc:20685 ++#: config/mips/mips.cc:20694 + #, gcc-internal-format + msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>" + msgstr "" + +-#: config/mips/mips.cc:20695 ++#: config/mips/mips.cc:20704 + #, gcc-internal-format + msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>" + msgstr "" + +-#: config/mips/mips.cc:20790 ++#: config/mips/mips.cc:20799 + #, fuzzy, gcc-internal-format + msgid "%qs requires branch-likely instructions" + msgstr "Не генерыраваць сімвальныя інструкцыі" + +-#: config/mips/mips.cc:20794 ++#: config/mips/mips.cc:20803 + #, fuzzy, gcc-internal-format + msgid "the %qs architecture does not support the synci instruction" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: config/mips/mips.cc:21630 ++#: config/mips/mips.cc:21639 + #, gcc-internal-format + msgid "mips16 function profiling" + msgstr "" +@@ -43894,57 +43894,57 @@ msgstr "" + msgid "unknown %<#pragma riscv intrinsic%> option %qs" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:124 ++#: config/riscv/riscv-target-attr.cc:121 + #, gcc-internal-format + msgid "unexpected arch for % attribute: must start with + or rv" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:136 ++#: config/riscv/riscv-target-attr.cc:132 + #, gcc-internal-format + msgid "unexpected arch for % attribute: bad string found %<%s%>" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:162 ++#: config/riscv/riscv-target-attr.cc:159 + #, gcc-internal-format + msgid "% attribute: arch appears more than once" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:173 ++#: config/riscv/riscv-target-attr.cc:170 + #, gcc-internal-format + msgid "% attribute: cpu appears more than once" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:180 ++#: config/riscv/riscv-target-attr.cc:177 + #, gcc-internal-format + msgid "% attribute: unknown CPU %qs" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:201 ++#: config/riscv/riscv-target-attr.cc:198 + #, gcc-internal-format + msgid "% attribute: tune appears more than once" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:207 ++#: config/riscv/riscv-target-attr.cc:204 + #, gcc-internal-format + msgid "% attribute: unknown TUNE %qs" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:246 ++#: config/riscv/riscv-target-attr.cc:253 + #, fuzzy, gcc-internal-format + msgid "malformed % attribute" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/riscv/riscv-target-attr.cc:260 ++#: config/riscv/riscv-target-attr.cc:267 + #, gcc-internal-format + msgid "attribute % does not accept an argument" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:277 ++#: config/riscv/riscv-target-attr.cc:285 + #, gcc-internal-format + msgid "Got unknown attribute %" + msgstr "" + +-#: config/riscv/riscv-target-attr.cc:359 ++#: config/riscv/riscv-target-attr.cc:368 + #, fuzzy, gcc-internal-format + msgid "malformed % attribute" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -44004,173 +44004,193 @@ msgstr "" + msgid "capture by copy of RVV type %qT" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:4646 ++#: config/riscv/riscv-vector-builtins.cc:4645 ++#, gcc-internal-format ++msgid "built-in function %qE requires the zvfhmin or zvfh ISA extension" ++msgstr "" ++ ++#: config/riscv/riscv-vector-builtins.cc:4655 ++#, gcc-internal-format ++msgid "built-in function %qE requires the zve32f, zve64f, zve64d or v ISA extension" ++msgstr "" ++ ++#: config/riscv/riscv-vector-builtins.cc:4665 ++#, gcc-internal-format ++msgid "built-in function %qE requires the zve64d or v ISA extension" ++msgstr "" ++ ++#: config/riscv/riscv-vector-builtins.cc:4674 ++#, gcc-internal-format ++msgid "built-in function %qE requires the zve64x, zve64f, zve64d or v ISA extension" ++msgstr "" ++ ++#: config/riscv/riscv-vector-builtins.cc:4694 + #, gcc-internal-format + msgid "built-in function %qE requires the %qs ISA extension" + msgstr "" + +-#: config/riscv/riscv-vector-builtins.cc:4696 ++#: config/riscv/riscv-vector-builtins.cc:4747 + #, gcc-internal-format + msgid "no matching function call to %qE with empty arguments" + msgstr "" + +-#: config/riscv/riscv.cc:714 ++#: config/riscv/riscv.cc:723 + #, gcc-internal-format + msgid "unknown cpu %qs for %<-mtune%>" + msgstr "" + +-#: config/riscv/riscv.cc:2537 ++#: config/riscv/riscv.cc:2548 + #, gcc-internal-format + msgid "this operation requires the RVV ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:2538 ++#: config/riscv/riscv.cc:2549 + #, gcc-internal-format + msgid "you can enable RVV using the command-line option %<-march%>, or by using the % attribute or pragma" + msgstr "" + +-#: config/riscv/riscv.cc:4969 config/riscv/riscv.cc:5011 ++#: config/riscv/riscv.cc:4981 config/riscv/riscv.cc:5023 + #, gcc-internal-format + msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10" + msgstr "" + +-#: config/riscv/riscv.cc:5358 ++#: config/riscv/riscv.cc:5370 + #, fuzzy, gcc-internal-format + msgid "RVV type %qT cannot be passed to an unprototyped function" + msgstr "\"%s\" звычайна функцыя" + +-#: config/riscv/riscv.cc:5611 ++#: config/riscv/riscv.cc:5623 + #, gcc-internal-format + msgid "%s %qT requires the V ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5623 ++#: config/riscv/riscv.cc:5635 + #, gcc-internal-format + msgid "%s %qT requires the zve64x, zve64f, zve64d or v ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5634 ++#: config/riscv/riscv.cc:5646 + #, gcc-internal-format + msgid "%s %qT requires the zvfhmin or zvfh ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5643 ++#: config/riscv/riscv.cc:5655 + #, gcc-internal-format + msgid "%s %qT requires the zve32f, zve64f, zve64d or v ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5652 ++#: config/riscv/riscv.cc:5664 + #, gcc-internal-format + msgid "%s %qT requires the zve64d or v ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5662 ++#: config/riscv/riscv.cc:5674 + #, gcc-internal-format + msgid "%s %qT requires the minimal vector length %qd but %qd is given" + msgstr "" + +-#: config/riscv/riscv.cc:5717 ++#: config/riscv/riscv.cc:5729 + #, gcc-internal-format + msgid "function attribute %qs requires the V ISA extension" + msgstr "" + +-#: config/riscv/riscv.cc:5811 ++#: config/riscv/riscv.cc:5823 + #, gcc-internal-format + msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>" + msgstr "" + +-#: config/riscv/riscv.cc:5834 ++#: config/riscv/riscv.cc:5846 + #, gcc-internal-format + msgid "%qs is only supported when %<-mrvv-vector-bits=zvl%> is specified" + msgstr "" + +-#: config/riscv/riscv.cc:5843 ++#: config/riscv/riscv.cc:5855 + #, fuzzy, gcc-internal-format + msgid "%qs applied to non-RVV type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: config/riscv/riscv.cc:5851 ++#: config/riscv/riscv.cc:5863 + #, gcc-internal-format + msgid "%qs requires an integer constant" + msgstr "" + +-#: config/riscv/riscv.cc:5861 ++#: config/riscv/riscv.cc:5873 + #, gcc-internal-format + msgid "invalid RVV vector size %qd, expected size is %qd based on LMUL of type and %qs" + msgstr "" + +-#: config/riscv/riscv.cc:9255 ++#: config/riscv/riscv.cc:9213 + #, gcc-internal-format + msgid "%<-mdiv%> requires %<-march%> to subsume the % extension" + msgstr "" + +-#: config/riscv/riscv.cc:9297 ++#: config/riscv/riscv.cc:9255 + #, gcc-internal-format + msgid "Current RISC-V GCC does not support VLEN greater than 4096bit for 'V' Extension" + msgstr "" + +-#: config/riscv/riscv.cc:9303 ++#: config/riscv/riscv.cc:9261 + #, gcc-internal-format + msgid "Current RISC-V GCC does not support RVV in big-endian mode" + msgstr "" + +-#: config/riscv/riscv.cc:9329 config/riscv/riscv.cc:9332 ++#: config/riscv/riscv.cc:9287 config/riscv/riscv.cc:9290 + #, gcc-internal-format + msgid "code model %qs with %qs" + msgstr "" + +-#: config/riscv/riscv.cc:9361 ++#: config/riscv/riscv.cc:9319 + #, gcc-internal-format + msgid "requested ABI requires %<-march%> to subsume the %qc extension" + msgstr "" + +-#: config/riscv/riscv.cc:9368 ++#: config/riscv/riscv.cc:9326 + #, gcc-internal-format + msgid "rv32e requires ilp32e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:9370 ++#: config/riscv/riscv.cc:9328 + #, gcc-internal-format + msgid "rv64e requires lp64e ABI" + msgstr "" + +-#: config/riscv/riscv.cc:9377 ++#: config/riscv/riscv.cc:9335 + #, gcc-internal-format + msgid "z*inx requires ABI ilp32, ilp32e, lp64 or lp64e" + msgstr "" + +-#: config/riscv/riscv.cc:9381 ++#: config/riscv/riscv.cc:9339 + #, gcc-internal-format + msgid "ABI requires %<-march=rv%d%>" + msgstr "" + +-#: config/riscv/riscv.cc:9391 ++#: config/riscv/riscv.cc:9349 + #, gcc-internal-format + msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d" + msgstr "" + +-#: config/riscv/riscv.cc:9404 ++#: config/riscv/riscv.cc:9362 + #, gcc-internal-format + msgid "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]" + msgstr "" + +-#: config/riscv/riscv.cc:9431 config/rs6000/rs6000.cc:4509 ++#: config/riscv/riscv.cc:9389 config/rs6000/rs6000.cc:4509 + #, fuzzy, gcc-internal-format + #| msgid "invalid register name for `%s'" + msgid "%qs is not a valid base register in %qs" + msgstr "нерэчаісная назва рэгістра `%s'" + +-#: config/riscv/riscv.cc:9445 config/rs6000/rs6000.cc:4492 ++#: config/riscv/riscv.cc:9403 config/rs6000/rs6000.cc:4492 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "" + +-#: config/riscv/riscv.cc:9843 ++#: config/riscv/riscv.cc:9801 + #, gcc-internal-format + msgid "%qs function cannot have different interrupt type" + msgstr "" + +-#: config/riscv/riscv.cc:10369 ++#: config/riscv/riscv.cc:10327 + #, gcc-internal-format + msgid "cannot allocate vl register for %qs on this target" + msgstr "" +@@ -44424,32 +44444,32 @@ msgstr "" + msgid "builtin %qs only accepts 3 arguments" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:1734 ++#: config/rs6000/rs6000-c.cc:1737 + #, gcc-internal-format + msgid "% is deprecated for little endian; use assignment for unaligned loads and stores" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:1738 ++#: config/rs6000/rs6000-c.cc:1741 + #, gcc-internal-format + msgid "% is deprecated for little endian; use assignment for unaligned loads and stores" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:1824 ++#: config/rs6000/rs6000-c.cc:1827 + #, gcc-internal-format + msgid "passing argument %d of %qE discards %qs qualifier from pointer target type" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:1880 config/rs6000/rs6000-c.cc:2063 ++#: config/rs6000/rs6000-c.cc:1883 config/rs6000/rs6000-c.cc:2067 + #, gcc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %qs" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:2052 ++#: config/rs6000/rs6000-c.cc:2056 + #, gcc-internal-format + msgid "overloaded builtin %qs is implemented by builtin %qs" + msgstr "" + +-#: config/rs6000/rs6000-c.cc:2056 ++#: config/rs6000/rs6000-c.cc:2060 + #, fuzzy, gcc-internal-format + msgid "%qs is not supported in this compiler configuration" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" +@@ -44489,31 +44509,24 @@ msgstr "нявернае выкарыстанне \"restict\"" + msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee" + msgstr "" + +-#. We can't check this in rs6000_option_override_internal since +-#. DEFAULT_ABI isn't established yet. +-#: config/rs6000/rs6000-logue.cc:728 +-#, gcc-internal-format +-msgid "%qs requires the ELFv2 ABI" +-msgstr "" +- +-#: config/rs6000/rs6000-logue.cc:1712 ++#: config/rs6000/rs6000-logue.cc:1705 + #, fuzzy, gcc-internal-format + #| msgid "%s is too large" + msgid "stack frame too large" + msgstr "%s - вельмі вялікі" + +-#: config/rs6000/rs6000-logue.cc:4029 ++#: config/rs6000/rs6000-logue.cc:4021 + #, gcc-internal-format, gfc-internal-format + msgid "unsupported number of nops before function entry (%u)" + msgstr "" + +-#: config/rs6000/rs6000-logue.cc:5577 ++#: config/rs6000/rs6000-logue.cc:5565 + #, fuzzy, gcc-internal-format + #| msgid "Do not use register sb" + msgid "%qs uses register r29" + msgstr "Не выкарыстоўваць рэгістра sb" + +-#: config/rs6000/rs6000-logue.cc:5585 ++#: config/rs6000/rs6000-logue.cc:5573 + #, gcc-internal-format + msgid "Stack frame larger than 2G is not supported for %<-fsplit-stack%>" + msgstr "" +@@ -44639,109 +44652,119 @@ msgstr "" + msgid "unknown option for %<%s=%s%>" + msgstr "невядомая назва рэгістра: %s\n" + +-#: config/rs6000/rs6000.cc:4843 ++#: config/rs6000/rs6000.cc:4833 ++#, gcc-internal-format ++msgid "%<-mrop-protect%> requires %<-mcpu=power8%> or later" ++msgstr "" ++ ++#: config/rs6000/rs6000.cc:4837 ++#, gcc-internal-format ++msgid "%<-mrop-protect%> requires the ELFv2 ABI" ++msgstr "" ++ ++#: config/rs6000/rs6000.cc:4855 + #, gcc-internal-format + msgid "%qs is deprecated and not recommended in any circumstances" + msgstr "" + +-#: config/rs6000/rs6000.cc:11169 ++#: config/rs6000/rs6000.cc:11184 + #, gcc-internal-format + msgid "%qs is an opaque type, and you cannot set it to other values" + msgstr "" + +-#: config/rs6000/rs6000.cc:18014 ++#: config/rs6000/rs6000.cc:18029 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "" + +-#: config/rs6000/rs6000.cc:20410 ++#: config/rs6000/rs6000.cc:20425 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:20492 ++#: config/rs6000/rs6000.cc:20507 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20494 ++#: config/rs6000/rs6000.cc:20509 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20496 ++#: config/rs6000/rs6000.cc:20511 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20498 ++#: config/rs6000/rs6000.cc:20513 + #, gcc-internal-format + msgid "use of decimal floating-point types in AltiVec types is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:20504 ++#: config/rs6000/rs6000.cc:20519 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20507 ++#: config/rs6000/rs6000.cc:20522 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "" + +-#: config/rs6000/rs6000.cc:20512 ++#: config/rs6000/rs6000.cc:20527 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:20515 ++#: config/rs6000/rs6000.cc:20530 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "" + +-#: config/rs6000/rs6000.cc:24656 ++#: config/rs6000/rs6000.cc:24671 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%D'" + msgid "invalid cpu %qs for %s%qs%s" + msgstr "нерэчаіснае выкарыстаньне `%D'" + +-#: config/rs6000/rs6000.cc:24659 ++#: config/rs6000/rs6000.cc:24674 + #, fuzzy, gcc-internal-format + #| msgid "%s=%s is too large" + msgid "%s%qs%s is not allowed" + msgstr "%s=%s вельмі вялікі" + +-#: config/rs6000/rs6000.cc:24661 ++#: config/rs6000/rs6000.cc:24676 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "" + +-#: config/rs6000/rs6000.cc:25182 ++#: config/rs6000/rs6000.cc:25197 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "" + +-#: config/rs6000/rs6000.cc:25341 ++#: config/rs6000/rs6000.cc:25356 + #, gcc-internal-format + msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.cc:25630 ++#: config/rs6000/rs6000.cc:25645 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "" + +-#: config/rs6000/rs6000.cc:28768 ++#: config/rs6000/rs6000.cc:28783 + #, gcc-internal-format + msgid "the result for the xxspltidp instruction is undefined for subnormal input values" + msgstr "" + +-#: config/rs6000/rs6000.cc:29246 ++#: config/rs6000/rs6000.cc:29261 + #, gcc-internal-format + msgid "type %<__vector_quad%> requires the %qs option" + msgstr "" + +-#: config/rs6000/rs6000.cc:29251 ++#: config/rs6000/rs6000.cc:29266 + #, gcc-internal-format + msgid "type %<__vector_pair%> requires the %qs option" + msgstr "" +@@ -44786,7 +44809,7 @@ msgstr "" + msgid "builtin %qs can only be used on vector types" + msgstr "" + +-#: config/s390/s390-c.cc:720 config/s390/s390.cc:999 ++#: config/s390/s390-c.cc:720 config/s390/s390.cc:1000 + #, gcc-internal-format + msgid "constant value required for builtin %qF argument %d" + msgstr "" +@@ -44857,230 +44880,230 @@ msgstr "" + msgid "constant argument %d for builtin %qF is out of range for target type" + msgstr "" + +-#: config/s390/s390.cc:848 ++#: config/s390/s390.cc:849 + #, fuzzy, gcc-internal-format + msgid "constant argument %d for builtin %qF is invalid (%s)" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: config/s390/s390.cc:852 ++#: config/s390/s390.cc:853 + #, fuzzy, gcc-internal-format + #| msgid "argument of `__builtin_args_info' out of range" + msgid "constant argument %d for builtin %qF is out of range (0-%wu)" + msgstr "аргумент `__builtin_args_info' выйшаў за межы" + +-#: config/s390/s390.cc:868 ++#: config/s390/s390.cc:869 + #, gcc-internal-format + msgid "constant argument %d for builtin %qF is out of range (%wd-%wd)" + msgstr "" + +-#: config/s390/s390.cc:917 ++#: config/s390/s390.cc:918 + #, gcc-internal-format + msgid "builtin %qF is not supported without %<-mhtm%> (default with %<-march=zEC12%> and higher)" + msgstr "" + +-#: config/s390/s390.cc:923 ++#: config/s390/s390.cc:924 + #, gcc-internal-format + msgid "builtin %qF requires %<-mvx%> (default with %<-march=z13%> and higher)" + msgstr "" + +-#: config/s390/s390.cc:930 ++#: config/s390/s390.cc:931 + #, gcc-internal-format + msgid "Builtin %qF requires z14 or higher" + msgstr "" + +-#: config/s390/s390.cc:936 ++#: config/s390/s390.cc:937 + #, gcc-internal-format + msgid "Builtin %qF requires z15 or higher" + msgstr "" + +-#: config/s390/s390.cc:955 ++#: config/s390/s390.cc:956 + #, gcc-internal-format + msgid "unresolved overloaded builtin" + msgstr "" + +-#: config/s390/s390.cc:962 ++#: config/s390/s390.cc:963 + #, gcc-internal-format + msgid "bad builtin icode" + msgstr "" + +-#: config/s390/s390.cc:1096 ++#: config/s390/s390.cc:1097 + #, fuzzy, gcc-internal-format + msgid "invalid argument %d for builtin %qF" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: config/s390/s390.cc:1197 ++#: config/s390/s390.cc:1198 + #, gcc-internal-format + msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" + msgstr "" + +-#: config/s390/s390.cc:1287 ++#: config/s390/s390.cc:1288 + #, fuzzy, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-extern)" + msgstr "аргумент `__builtin_args_info' павінен быць канстантай" + +-#: config/s390/s390.cc:10593 ++#: config/s390/s390.cc:10594 + #, gcc-internal-format + msgid "total size of local variables exceeds architecture limit" + msgstr "" + +-#: config/s390/s390.cc:12000 ++#: config/s390/s390.cc:12001 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes; an unconditional trap is added" + msgstr "" + +-#: config/s390/s390.cc:12016 ++#: config/s390/s390.cc:12017 + #, gcc-internal-format + msgid "frame size of function %qs is %wd bytes which is more than half the stack size; the dynamic check would not be reliable; no check emitted for this function" + msgstr "" + +-#: config/s390/s390.cc:12044 ++#: config/s390/s390.cc:12045 + #, fuzzy, gcc-internal-format + #| msgid "size of `%s' is %d bytes" + msgid "frame size of %qs is %wd bytes" + msgstr "памер \"%s\" - %d байт" + +-#: config/s390/s390.cc:12048 ++#: config/s390/s390.cc:12049 + #, gcc-internal-format + msgid "%qs uses dynamic stack allocation" + msgstr "" + +-#: config/s390/s390.cc:12795 ++#: config/s390/s390.cc:12796 + #, gcc-internal-format + msgid "parameter passing for argument of type %qT with zero-width bit fields members changed in GCC 12" + msgstr "" + +-#: config/s390/s390.cc:13754 ++#: config/s390/s390.cc:13755 + #, gcc-internal-format + msgid "nested functions cannot be profiled with %<-mfentry%> on s390" + msgstr "" + +-#: config/s390/s390.cc:16056 ++#: config/s390/s390.cc:16057 + #, gcc-internal-format + msgid "64-bit ABI not supported in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.cc:16063 ++#: config/s390/s390.cc:16064 + #, gcc-internal-format + msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>" + msgstr "" + +-#: config/s390/s390.cc:16098 ++#: config/s390/s390.cc:16099 + #, gcc-internal-format, gfc-internal-format + msgid "hardware vector support not available on %s" + msgstr "" + +-#: config/s390/s390.cc:16101 ++#: config/s390/s390.cc:16102 + #, gcc-internal-format + msgid "hardware vector support not available with %<-msoft-float%>" + msgstr "" + +-#: config/s390/s390.cc:16130 ++#: config/s390/s390.cc:16131 + #, gcc-internal-format, gfc-internal-format + msgid "hardware decimal floating-point instructions not available on %s" + msgstr "" + +-#: config/s390/s390.cc:16134 ++#: config/s390/s390.cc:16135 + #, gcc-internal-format + msgid "hardware decimal floating-point instructions not available in ESA/390 mode" + msgstr "" + +-#: config/s390/s390.cc:16146 ++#: config/s390/s390.cc:16147 + #, gcc-internal-format + msgid "%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>" + msgstr "" + +-#: config/s390/s390.cc:16155 ++#: config/s390/s390.cc:16156 + #, gcc-internal-format + msgid "%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in combination" + msgstr "" + +-#: config/s390/s390.cc:16161 ++#: config/s390/s390.cc:16162 + #, gcc-internal-format + msgid "stack size must be greater than the stack guard value" + msgstr "" + +-#: config/s390/s390.cc:16163 ++#: config/s390/s390.cc:16164 + #, gcc-internal-format + msgid "stack size must not be greater than 64k" + msgstr "" + +-#: config/s390/s390.cc:16166 ++#: config/s390/s390.cc:16167 + #, gcc-internal-format + msgid "%<-mstack-guard%> implies use of %<-mstack-size%>" + msgstr "" + +-#: config/s390/s390.cc:16179 ++#: config/s390/s390.cc:16180 + #, gcc-internal-format + msgid "%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095" + msgstr "" + +-#: config/s390/s390.cc:16182 ++#: config/s390/s390.cc:16183 + #, gcc-internal-format + msgid "%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095" + msgstr "" + +-#: config/s390/s390.cc:16185 ++#: config/s390/s390.cc:16186 + #, gcc-internal-format + msgid "%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095" + msgstr "" + +-#: config/s390/s390.cc:16188 ++#: config/s390/s390.cc:16189 + #, gcc-internal-format + msgid "%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095" + msgstr "" + +-#: config/s390/s390.cc:16252 ++#: config/s390/s390.cc:16253 + #, gcc-internal-format + msgid "%<-mfentry%> is supported only for 64-bit CPUs" + msgstr "" + + #. argument is not a plain number +-#: config/s390/s390.cc:16288 ++#: config/s390/s390.cc:16289 + #, fuzzy, gcc-internal-format + #| msgid "first argument of `%s' should be `int'" + msgid "arguments to %qs should be non-negative integers" + msgstr "першым аргументам \"%s\" павінен быць \"int\"" + +-#: config/s390/s390.cc:16295 ++#: config/s390/s390.cc:16296 + #, fuzzy, gcc-internal-format + msgid "argument to %qs is too large (max. %d)" + msgstr "памер \"%s\" больш чам %d байт" + +-#: config/s390/s390.cc:16326 ++#: config/s390/s390.cc:16327 + #, gcc-internal-format + msgid "%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>" + msgstr "" + +-#: config/s390/s390.cc:16487 config/s390/s390.cc:16537 +-#: config/s390/s390.cc:16554 ++#: config/s390/s390.cc:16488 config/s390/s390.cc:16538 ++#: config/s390/s390.cc:16555 + #, gcc-internal-format + msgid "attribute % argument %qs is unknown" + msgstr "" + + #. Value is not allowed for the target attribute. +-#: config/s390/s390.cc:16493 ++#: config/s390/s390.cc:16494 + #, fuzzy, gcc-internal-format + msgid "value %qs is not supported by attribute %" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: config/s390/s390.cc:17552 ++#: config/s390/s390.cc:17553 + #, fuzzy, gcc-internal-format + #| msgid "invalid string constant `%E'" + msgid "invalid cc output constraint: %qs" + msgstr "`%E' - нерэчаісная нязьменная тыпу string" + +-#: config/s390/s390.cc:17557 ++#: config/s390/s390.cc:17558 + #, fuzzy, gcc-internal-format + #| msgid "-pipe is not supported" + msgid "multiple cc output constraints not supported" + msgstr "-pipe не падтрымліваецца" + +-#: config/s390/s390.cc:17562 ++#: config/s390/s390.cc:17563 + #, gcc-internal-format + msgid "% specifier for cc output conflicts with % clobber list" + msgstr "" + +-#: config/s390/s390.cc:17568 ++#: config/s390/s390.cc:17569 + #, gcc-internal-format + msgid "invalid type for cc output constraint" + msgstr "" +@@ -45506,8 +45529,8 @@ msgstr "\"%s\" атрыбут ігнарыруецца" + msgid "attribute %qs applies to array types only" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: c/c-convert.cc:104 c/c-typeck.cc:2353 c/c-typeck.cc:13558 cp/typeck.cc:2498 +-#: cp/typeck.cc:9512 cp/typeck.cc:10300 d/d-convert.cc:262 ++#: c/c-convert.cc:104 c/c-typeck.cc:2353 c/c-typeck.cc:13558 cp/typeck.cc:2494 ++#: cp/typeck.cc:9508 cp/typeck.cc:10296 d/d-convert.cc:262 + #, gcc-internal-format + msgid "void value not ignored as it ought to be" + msgstr "" +@@ -45586,7 +45609,7 @@ msgstr "" + msgid "underspecified declaration of %qE, which is already declared in this scope" + msgstr "" + +-#: c/c-decl.cc:1733 c/c-decl.cc:7890 c/c-decl.cc:8894 c/c-decl.cc:9946 ++#: c/c-decl.cc:1733 c/c-decl.cc:7890 c/c-decl.cc:8894 c/c-decl.cc:9985 + #, gcc-internal-format + msgid "originally defined here" + msgstr "" +@@ -45821,7 +45844,7 @@ msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэк + msgid "declaration of %qD shadows a parameter" + msgstr "" + +-#: c/c-decl.cc:3266 cp/name-lookup.cc:3547 ++#: c/c-decl.cc:3266 cp/name-lookup.cc:3551 + #, gcc-internal-format + msgid "declaration of %qD shadows a global declaration" + msgstr "" +@@ -45831,7 +45854,7 @@ msgstr "" + msgid "declaration of %qD shadows a previous local" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: c/c-decl.cc:3298 cp/name-lookup.cc:3264 ++#: c/c-decl.cc:3298 cp/name-lookup.cc:3268 + #, fuzzy, gcc-internal-format + msgid "shadowed declaration is here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" +@@ -45899,7 +45922,7 @@ msgstr "\"%s\" не абвешчан (першае выкарыстанне ў + msgid "each undeclared identifier is reported only once for each function it appears in" + msgstr "(Аб кожным неабвешчаным ідэнтыфікатары паведамляецца" + +-#: c/c-decl.cc:4053 cp/decl.cc:3579 ++#: c/c-decl.cc:4053 cp/decl.cc:3588 + #, gcc-internal-format + msgid "label %qE referenced outside of any function" + msgstr "" +@@ -45936,7 +45959,7 @@ msgstr "" + msgid "duplicate label declaration %qE" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: c/c-decl.cc:4276 cp/decl.cc:4080 ++#: c/c-decl.cc:4276 cp/decl.cc:4089 + #, fuzzy, gcc-internal-format + msgid "duplicate label %qD" + msgstr "паўтарэнне \"%s\"" +@@ -45971,7 +45994,7 @@ msgstr "" + msgid "%qE defined as wrong kind of tag" + msgstr "" + +-#: c/c-decl.cc:4669 cp/tree.cc:5036 ++#: c/c-decl.cc:4669 cp/tree.cc:5039 + #, gcc-internal-format + msgid "%qE attribute applied to %qD with void return type" + msgstr "" +@@ -46117,12 +46140,12 @@ msgstr "ISO C89 не падтрымлівае \"long long\"" + #. C99 6.7.5.2p4 + #. A function definition isn't function prototype scope C99 6.2.1p4. + #. C99 6.7.5.2p4 +-#: c/c-decl.cc:5284 c/c-decl.cc:8413 c/c-decl.cc:10791 ++#: c/c-decl.cc:5284 c/c-decl.cc:8413 c/c-decl.cc:10830 + #, gcc-internal-format + msgid "%<[*]%> not allowed in other than function prototype scope" + msgstr "" + +-#: c/c-decl.cc:5477 cp/decl2.cc:1852 cp/name-lookup.cc:8804 ++#: c/c-decl.cc:5477 cp/decl2.cc:1852 cp/name-lookup.cc:8861 + #, gcc-internal-format + msgid "% not allowed to be specified in this context" + msgstr "" +@@ -46133,7 +46156,7 @@ msgstr "" + msgid "%q+D is usually a function" + msgstr "`%s' - звычайна функцыя" + +-#: c/c-decl.cc:5562 c/c-decl.cc:10622 cp/decl.cc:17941 ++#: c/c-decl.cc:5562 c/c-decl.cc:10661 cp/decl.cc:17947 + #, fuzzy, gcc-internal-format + #| msgid "no previous declaration for `%s'" + msgid "no previous declaration for %qD" +@@ -46213,7 +46236,7 @@ msgstr "" + msgid "uninitialized % is invalid in C++" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: c/c-decl.cc:6110 cp/decl.cc:9043 ++#: c/c-decl.cc:6110 cp/decl.cc:9052 + #, gcc-internal-format + msgid "%q+D in declare target directive does not have mappable type" + msgstr "" +@@ -46403,7 +46426,7 @@ msgstr "" + msgid "storage class specified for unnamed parameter" + msgstr "" + +-#: c/c-decl.cc:7068 cp/decl.cc:13134 ++#: c/c-decl.cc:7068 cp/decl.cc:13150 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "" +@@ -46466,7 +46489,7 @@ msgstr "" + msgid "declaration of type name as array of functions" + msgstr "" + +-#: c/c-decl.cc:7237 c/c-decl.cc:9542 ++#: c/c-decl.cc:7237 c/c-decl.cc:9577 + #, fuzzy, gcc-internal-format + msgid "invalid use of structure with flexible array member" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -46580,7 +46603,7 @@ msgstr "" + msgid "function definition has qualified void return type" + msgstr "функцыя не вяртае тып string" + +-#: c/c-decl.cc:7647 cp/decl.cc:13543 ++#: c/c-decl.cc:7647 cp/decl.cc:13559 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "" +@@ -46709,7 +46732,7 @@ msgstr "" + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "" + +-#: c/c-decl.cc:7944 cp/decl.cc:12014 ++#: c/c-decl.cc:7944 cp/decl.cc:12030 + #, fuzzy, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "тып параметра \"%s\" не аб'яўлены" +@@ -46816,7 +46839,7 @@ msgstr "" + msgid "object with variably modified type must have no linkage" + msgstr "" + +-#: c/c-decl.cc:8419 c/c-decl.cc:10596 ++#: c/c-decl.cc:8419 c/c-decl.cc:10635 + #, gcc-internal-format + msgid "function declaration isn%'t a prototype" + msgstr "" +@@ -46908,17 +46931,17 @@ msgstr "перанакіраванне stdout: %s" + msgid "nested redefinition of %" + msgstr "перанакіраванне stdout: %s" + +-#: c/c-decl.cc:8935 c/c-decl.cc:9974 ++#: c/c-decl.cc:8935 c/c-decl.cc:10013 + #, gcc-internal-format + msgid "defining type in %qs expression is invalid in C++" + msgstr "" + +-#: c/c-decl.cc:8941 c/c-decl.cc:9980 ++#: c/c-decl.cc:8941 c/c-decl.cc:10019 + #, gcc-internal-format + msgid "%qT defined in underspecified object initializer" + msgstr "" + +-#: c/c-decl.cc:9005 cp/decl.cc:5661 ++#: c/c-decl.cc:9005 cp/decl.cc:5670 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "" +@@ -46950,474 +46973,474 @@ msgstr "" + msgid "empty union has size 0 in C, size 1 in C++" + msgstr "" + +-#: c/c-decl.cc:9434 ++#: c/c-decl.cc:9469 + #, gcc-internal-format + msgid "union has no named members" + msgstr "" + +-#: c/c-decl.cc:9436 ++#: c/c-decl.cc:9471 + #, gcc-internal-format + msgid "union has no members" + msgstr "" + +-#: c/c-decl.cc:9441 ++#: c/c-decl.cc:9476 + #, gcc-internal-format + msgid "struct has no named members" + msgstr "" + +-#: c/c-decl.cc:9443 ++#: c/c-decl.cc:9478 + #, gcc-internal-format + msgid "struct has no members" + msgstr "" + +-#: c/c-decl.cc:9521 cp/decl.cc:14576 ++#: c/c-decl.cc:9556 cp/decl.cc:14592 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "" + +-#: c/c-decl.cc:9527 ++#: c/c-decl.cc:9562 + #, gcc-internal-format + msgid "flexible array member not at end of struct" + msgstr "" + +-#: c/c-decl.cc:9533 ++#: c/c-decl.cc:9568 + #, gcc-internal-format + msgid "flexible array member in a struct with no named members" + msgstr "" + +-#: c/c-decl.cc:9564 ++#: c/c-decl.cc:9599 + #, gcc-internal-format + msgid "structure containing a flexible array member is not at the end of another structure" + msgstr "" + +-#: c/c-decl.cc:9587 ++#: c/c-decl.cc:9622 + #, fuzzy, gcc-internal-format + #| msgid "%s is too large" + msgid "type %qT is too large" + msgstr "%s - вельмі вялікі" + +-#: c/c-decl.cc:9651 ++#: c/c-decl.cc:9686 + #, gcc-internal-format + msgid "type punning toggles scalar storage order" + msgstr "" + +-#: c/c-decl.cc:9718 ++#: c/c-decl.cc:9753 + #, gcc-internal-format + msgid "union cannot be made transparent" + msgstr "" + +-#: c/c-decl.cc:9731 ++#: c/c-decl.cc:9766 + #, gcc-internal-format + msgid "redefinition of struct or union %qT with variably modified type" + msgstr "" + +-#: c/c-decl.cc:9734 ++#: c/c-decl.cc:9769 + #, fuzzy, gcc-internal-format + msgid "redefinition of struct or union %qT" + msgstr "перанакіраванне stdout: %s" + +-#: c/c-decl.cc:9899 ++#: c/c-decl.cc:9938 + #, fuzzy, gcc-internal-format + msgid "nested redefinition of %" + msgstr "перанакіраванне stdout: %s" + +-#: c/c-decl.cc:9944 ++#: c/c-decl.cc:9983 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "redeclaration of %" + msgstr "абвяшчэньне `%#D'" + +-#: c/c-decl.cc:9956 ++#: c/c-decl.cc:9995 + #, gcc-internal-format + msgid "% declared with but defined without fixed underlying type" + msgstr "" + +-#: c/c-decl.cc:10043 cp/decl.cc:17215 m2/gm2-gcc/m2type.cc:2073 ++#: c/c-decl.cc:10082 cp/decl.cc:17221 m2/gm2-gcc/m2type.cc:2073 + #, gcc-internal-format + msgid "specified mode too small for enumerated values" + msgstr "" + +-#: c/c-decl.cc:10062 ++#: c/c-decl.cc:10101 + #, gcc-internal-format + msgid "enumeration values exceed range of largest integer" + msgstr "" + +-#: c/c-decl.cc:10071 ++#: c/c-decl.cc:10110 + #, gcc-internal-format + msgid "enumeration values exceed range of %qs" + msgstr "" + +-#: c/c-decl.cc:10180 ++#: c/c-decl.cc:10219 + #, fuzzy, gcc-internal-format + msgid "conflicting redefinition of enum %qT" + msgstr "перанакіраванне stdout: %s" + +-#: c/c-decl.cc:10212 c/c-decl.cc:10228 ++#: c/c-decl.cc:10251 c/c-decl.cc:10267 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c/c-decl.cc:10223 ++#: c/c-decl.cc:10262 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c/c-decl.cc:10247 ++#: c/c-decl.cc:10286 + #, gcc-internal-format + msgid "overflow in enumeration values" + msgstr "" + +-#: c/c-decl.cc:10254 ++#: c/c-decl.cc:10293 + #, gcc-internal-format + msgid "enumerator value outside the range of underlying type" + msgstr "" + +-#: c/c-decl.cc:10282 ++#: c/c-decl.cc:10321 + #, gcc-internal-format + msgid "enumerator value outside the range of %qs" + msgstr "" + +-#: c/c-decl.cc:10288 ++#: c/c-decl.cc:10327 + #, gcc-internal-format + msgid "ISO C restricts enumerator values to range of % before C23" + msgstr "" + +-#: c/c-decl.cc:10489 cp/decl.cc:5981 cp/decl.cc:17800 ++#: c/c-decl.cc:10528 cp/decl.cc:5990 cp/decl.cc:17806 + #, gcc-internal-format + msgid "inline function %qD given attribute %qs" + msgstr "" + +-#: c/c-decl.cc:10507 ++#: c/c-decl.cc:10546 + #, gcc-internal-format + msgid "return type is an incomplete type" + msgstr "" + +-#: c/c-decl.cc:10519 ++#: c/c-decl.cc:10558 + #, fuzzy, gcc-internal-format + #| msgid "return type of `%s' is not `int'" + msgid "return type defaults to %" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: c/c-decl.cc:10547 ++#: c/c-decl.cc:10586 + #, gcc-internal-format + msgid "%q+D defined as variadic function without prototype" + msgstr "" + +-#: c/c-decl.cc:10605 ++#: c/c-decl.cc:10644 + #, fuzzy, gcc-internal-format + #| msgid "no previous prototype for `%s'" + msgid "no previous prototype for %qD" + msgstr "няма папярэдняга прататыпа для \"%s\"" + +-#: c/c-decl.cc:10614 ++#: c/c-decl.cc:10653 + #, fuzzy, gcc-internal-format + msgid "%qD was used with no prototype before its definition" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: c/c-decl.cc:10632 ++#: c/c-decl.cc:10671 + #, fuzzy, gcc-internal-format + msgid "%qD was used with no declaration before its definition" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: c/c-decl.cc:10651 ++#: c/c-decl.cc:10690 + #, fuzzy, gcc-internal-format + #| msgid "return type of `%s' is not `int'" + msgid "return type of %qD is not %" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: c/c-decl.cc:10653 ++#: c/c-decl.cc:10692 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified return type of %qD" + msgstr "" + +-#: c/c-decl.cc:10660 ++#: c/c-decl.cc:10699 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is usually a function" + msgid "%qD is normally a non-static function" + msgstr "`%s' - звычайна функцыя" + +-#: c/c-decl.cc:10711 ++#: c/c-decl.cc:10750 + #, gcc-internal-format + msgid "old-style parameter declarations in prototyped function definition" + msgstr "" + +-#: c/c-decl.cc:10726 ++#: c/c-decl.cc:10765 + #, gcc-internal-format + msgid "traditional C rejects ISO C style function definitions" + msgstr "" + +-#: c/c-decl.cc:10743 ++#: c/c-decl.cc:10782 + #, gcc-internal-format + msgid "ISO C does not support omitting parameter names in function definitions before C23" + msgstr "" + +-#: c/c-decl.cc:10783 c/c-decl.cc:10787 ++#: c/c-decl.cc:10822 c/c-decl.cc:10826 + #, gcc-internal-format + msgid "old-style function definition" + msgstr "" + +-#: c/c-decl.cc:10800 ++#: c/c-decl.cc:10839 + #, gcc-internal-format + msgid "parameter name missing from parameter list" + msgstr "" + +-#: c/c-decl.cc:10816 ++#: c/c-decl.cc:10855 + #, gcc-internal-format + msgid "%qD declared as a non-parameter" + msgstr "" + +-#: c/c-decl.cc:10824 ++#: c/c-decl.cc:10863 + #, fuzzy, gcc-internal-format + msgid "multiple parameters named %qD" + msgstr "невыкарыстаемы параметр \"%s\"" + +-#: c/c-decl.cc:10833 ++#: c/c-decl.cc:10872 + #, fuzzy, gcc-internal-format + msgid "parameter %qD declared with void type" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: c/c-decl.cc:10862 c/c-decl.cc:10867 ++#: c/c-decl.cc:10901 c/c-decl.cc:10906 + #, gcc-internal-format + msgid "type of %qD defaults to %" + msgstr "" + +-#: c/c-decl.cc:10887 ++#: c/c-decl.cc:10926 + #, fuzzy, gcc-internal-format + msgid "parameter %qD has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: c/c-decl.cc:10894 ++#: c/c-decl.cc:10933 + #, gcc-internal-format + msgid "declaration for parameter %qD but no such parameter" + msgstr "" + +-#: c/c-decl.cc:10947 ++#: c/c-decl.cc:10986 + #, gcc-internal-format + msgid "number of arguments doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:10958 ++#: c/c-decl.cc:10997 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "number of arguments doesn%'t match prototype" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: c/c-decl.cc:10961 c/c-decl.cc:11008 c/c-decl.cc:11022 ++#: c/c-decl.cc:11000 c/c-decl.cc:11047 c/c-decl.cc:11061 + #, fuzzy, gcc-internal-format + #| msgid "empty declaration" + msgid "prototype declaration" + msgstr "пустое абвяшчэньне" + +-#: c/c-decl.cc:11000 ++#: c/c-decl.cc:11039 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:11005 ++#: c/c-decl.cc:11044 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:11015 ++#: c/c-decl.cc:11054 + #, gcc-internal-format + msgid "argument %qD doesn%'t match built-in prototype" + msgstr "" + +-#: c/c-decl.cc:11020 ++#: c/c-decl.cc:11059 + #, gcc-internal-format + msgid "argument %qD doesn%'t match prototype" + msgstr "" + +-#: c/c-decl.cc:11278 cp/decl.cc:18737 ++#: c/c-decl.cc:11317 cp/decl.cc:18743 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "" + +-#: c/c-decl.cc:11297 cp/decl.cc:18808 ++#: c/c-decl.cc:11336 cp/decl.cc:18814 + #, fuzzy, gcc-internal-format + #| msgid "label `%D' defined but not used" + msgid "parameter %qD set but not used" + msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца" + +-#: c/c-decl.cc:11394 ++#: c/c-decl.cc:11433 + #, gcc-internal-format + msgid "% loop initial declarations are only allowed in C99 or C11 mode" + msgstr "" + +-#: c/c-decl.cc:11399 ++#: c/c-decl.cc:11438 + #, gcc-internal-format + msgid "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to compile your code" + msgstr "" + +-#: c/c-decl.cc:11406 ++#: c/c-decl.cc:11445 + #, fuzzy, gcc-internal-format + msgid "ISO C90 does not support % loop initial declarations" + msgstr "ISO C89 не падтрымлівае \"long long\"" + +-#: c/c-decl.cc:11440 ++#: c/c-decl.cc:11479 + #, gcc-internal-format + msgid "declaration of static variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11444 ++#: c/c-decl.cc:11483 + #, gcc-internal-format + msgid "declaration of % variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11451 ++#: c/c-decl.cc:11490 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11456 ++#: c/c-decl.cc:11495 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11462 ++#: c/c-decl.cc:11501 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11466 ++#: c/c-decl.cc:11505 + #, gcc-internal-format + msgid "declaration of non-variable %qD in % loop initial declaration" + msgstr "" + +-#: c/c-decl.cc:11753 ++#: c/c-decl.cc:11792 + #, gcc-internal-format + msgid "incompatible address space qualifiers %qs and %qs" + msgstr "" + +-#: c/c-decl.cc:11812 c/c-decl.cc:11819 ++#: c/c-decl.cc:11851 c/c-decl.cc:11858 + #, fuzzy, gcc-internal-format + #| msgid "duplicate label declaration `%s'" + msgid "duplicate %qE declaration specifier" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: c/c-decl.cc:11847 c/c-decl.cc:12925 ++#: c/c-decl.cc:11886 c/c-decl.cc:12964 + #, gcc-internal-format + msgid "multiple storage classes in declaration specifiers" + msgstr "" + +-#: c/c-decl.cc:11849 ++#: c/c-decl.cc:11888 + #, gcc-internal-format + msgid "%qs used with %" + msgstr "" + + #. auto may only be used with another storage class specifier, + #. such as constexpr, if the type is inferred. +-#: c/c-decl.cc:11854 ++#: c/c-decl.cc:11893 + #, gcc-internal-format + msgid "% used with %" + msgstr "" + +-#: c/c-decl.cc:11867 c/c-decl.cc:12267 c/c-decl.cc:12720 ++#: c/c-decl.cc:11906 c/c-decl.cc:12306 c/c-decl.cc:12759 + #, gcc-internal-format + msgid "two or more data types in declaration specifiers" + msgstr "" + +-#: c/c-decl.cc:11879 cp/parser.cc:34266 ++#: c/c-decl.cc:11918 cp/parser.cc:34268 + #, fuzzy, gcc-internal-format + #| msgid "`long long long' is too long for GCC" + msgid "% is too long for GCC" + msgstr "`long long long' - вельмі доўга для GCC" + +-#: c/c-decl.cc:11892 ++#: c/c-decl.cc:11931 + #, fuzzy, gcc-internal-format + #| msgid "ISO C89 does not support `long long'" + msgid "ISO C90 does not support %" + msgstr "ISO C89 не падтрымлівае `long long'" + +-#: c/c-decl.cc:12129 c/c-parser.cc:11619 ++#: c/c-decl.cc:12168 c/c-parser.cc:11619 + #, fuzzy, gcc-internal-format + #| msgid "ISO C89 does not support complex types" + msgid "ISO C90 does not support complex types" + msgstr "ISO C89 не падтрымлівае комлексныя тыпы" + +-#: c/c-decl.cc:12179 ++#: c/c-decl.cc:12218 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support saturating types" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:12254 c/c-decl.cc:12860 c/c-decl.cc:12919 ++#: c/c-decl.cc:12293 c/c-decl.cc:12899 c/c-decl.cc:12958 + #, fuzzy, gcc-internal-format + #| msgid "duplicate `%s'" + msgid "duplicate %qE" + msgstr "паўтарэньне `%s'" + +-#: c/c-decl.cc:12314 ++#: c/c-decl.cc:12353 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support %<__int%d%> types" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:12336 ++#: c/c-decl.cc:12375 + #, fuzzy, gcc-internal-format + msgid "%<__int%d%> is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: c/c-decl.cc:12379 ++#: c/c-decl.cc:12418 + #, fuzzy, gcc-internal-format + #| msgid "ISO C89 does not support complex types" + msgid "ISO C90 does not support boolean types" + msgstr "ISO C89 не падтрымлівае комлексныя тыпы" + +-#: c/c-decl.cc:12498 ++#: c/c-decl.cc:12537 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support the %<_Float%d%s%> type before C23" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:12549 cp/parser.cc:20288 ++#: c/c-decl.cc:12588 cp/parser.cc:20288 + #, fuzzy, gcc-internal-format + msgid "%<_Float%d%s%> is not supported on this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: c/c-decl.cc:12620 ++#: c/c-decl.cc:12659 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support decimal floating-point before C23" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:12644 c/c-decl.cc:13021 c/c-parser.cc:10626 ++#: c/c-decl.cc:12683 c/c-decl.cc:13060 c/c-parser.cc:10626 + #, fuzzy, gcc-internal-format + msgid "fixed-point types not supported for this target" + msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" + +-#: c/c-decl.cc:12646 ++#: c/c-decl.cc:12685 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support fixed-point types" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:12675 ++#: c/c-decl.cc:12714 + #, fuzzy, gcc-internal-format + msgid "%<_BitInt%> argument is not an integer constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c/c-decl.cc:12681 ++#: c/c-decl.cc:12720 + #, fuzzy, gcc-internal-format + msgid "%<_BitInt%> argument %qE is not a positive integer constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: c/c-decl.cc:12688 ++#: c/c-decl.cc:12727 + #, gcc-internal-format + msgid "%<_BitInt%> argument %qE is larger than % %qd" + msgstr "" + +-#: c/c-decl.cc:12736 ++#: c/c-decl.cc:12775 + #, gcc-internal-format + msgid "C++ lookup of %qD would return a field, not a type" + msgstr "" + +-#: c/c-decl.cc:12749 ++#: c/c-decl.cc:12788 + #, gcc-internal-format + msgid "%qE fails to be a typedef or built in type" + msgstr "" + +-#: c/c-decl.cc:12804 ++#: c/c-decl.cc:12843 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not at beginning of declaration" + msgid "%qE is not at beginning of declaration" +@@ -47425,147 +47448,147 @@ msgstr "\"%s\" - гэта не пачатак дэкларацыі" + + #. auto may only be used with another storage class specifier, + #. such as constexpr, if the type is inferred. +-#: c/c-decl.cc:12825 c/c-decl.cc:12902 ++#: c/c-decl.cc:12864 c/c-decl.cc:12941 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12827 ++#: c/c-decl.cc:12866 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12829 c/c-decl.cc:12898 ++#: c/c-decl.cc:12868 c/c-decl.cc:12937 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12831 c/c-decl.cc:12868 ++#: c/c-decl.cc:12870 c/c-decl.cc:12907 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12845 c/c-parser.cc:3100 c/c-parser.cc:4427 c/c-parser.cc:9960 ++#: c/c-decl.cc:12884 c/c-parser.cc:3100 c/c-parser.cc:4427 c/c-parser.cc:9960 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "ISO C99 does not support %qE" + msgstr "%s не падтрымлівае %s" + +-#: c/c-decl.cc:12848 c/c-parser.cc:3103 c/c-parser.cc:4430 c/c-parser.cc:9963 ++#: c/c-decl.cc:12887 c/c-parser.cc:3103 c/c-parser.cc:4430 c/c-parser.cc:9963 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid "ISO C90 does not support %qE" + msgstr "%s не падтрымлівае %s" + +-#: c/c-decl.cc:12874 ++#: c/c-decl.cc:12913 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "" + +-#: c/c-decl.cc:12883 ++#: c/c-decl.cc:12922 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "" + +-#: c/c-decl.cc:12889 ++#: c/c-decl.cc:12928 + #, gcc-internal-format + msgid "% used with %" + msgstr "" + +-#: c/c-decl.cc:12896 ++#: c/c-decl.cc:12935 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "" + +-#: c/c-decl.cc:12904 ++#: c/c-decl.cc:12943 + #, gcc-internal-format + msgid "%qE used with %qs" + msgstr "" + +-#: c/c-decl.cc:12917 ++#: c/c-decl.cc:12956 + #, gcc-internal-format + msgid "duplicate %<_Thread_local%> or %<__thread%>" + msgstr "" + +-#: c/c-decl.cc:12933 ++#: c/c-decl.cc:12972 + #, gcc-internal-format + msgid "%qs used with %qE" + msgstr "" + +-#: c/c-decl.cc:12941 ++#: c/c-decl.cc:12980 + #, gcc-internal-format + msgid "% used with %qE" + msgstr "" + +-#: c/c-decl.cc:13018 ++#: c/c-decl.cc:13057 + #, gcc-internal-format + msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" + msgstr "" + +-#: c/c-decl.cc:13033 ++#: c/c-decl.cc:13072 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain `complex' meaning `double complex'" + msgid "ISO C does not support plain % meaning %" + msgstr "ISO C не падтрымлівае просты \"complex\" у значэнні \"double complex\"" + +-#: c/c-decl.cc:13044 ++#: c/c-decl.cc:13083 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support % type deduction before C23" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:13073 ++#: c/c-decl.cc:13112 + #, gcc-internal-format + msgid "%<__auto_type%> followed by %<[[]]%> attributes" + msgstr "" + +-#: c/c-decl.cc:13099 c/c-decl.cc:13115 c/c-decl.cc:13141 ++#: c/c-decl.cc:13138 c/c-decl.cc:13154 c/c-decl.cc:13180 + #, gcc-internal-format + msgid "ISO C does not support complex integer types" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:13284 ++#: c/c-decl.cc:13323 + #, gcc-internal-format + msgid "% argument must be at least 2" + msgstr "" + +-#: c/c-decl.cc:13293 ++#: c/c-decl.cc:13332 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support complex integer types" + msgid "ISO C does not support %<%s_BitInt(%d)%> before C23" + msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" + +-#: c/c-decl.cc:13592 cp/semantics.cc:6389 ++#: c/c-decl.cc:13631 cp/semantics.cc:6387 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" + msgstr "" + +-#: c/c-decl.cc:13596 cp/semantics.cc:6393 ++#: c/c-decl.cc:13635 cp/semantics.cc:6391 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" + msgstr "" + +-#: c/c-fold.cc:389 c/c-typeck.cc:12832 cp/typeck.cc:5736 ++#: c/c-fold.cc:389 c/c-typeck.cc:12832 cp/typeck.cc:5732 + #, gcc-internal-format + msgid "left shift of negative value" + msgstr "" + +-#: c/c-fold.cc:399 c/c-typeck.cc:12841 cp/typeck.cc:5744 ++#: c/c-fold.cc:399 c/c-typeck.cc:12841 cp/typeck.cc:5740 + #, gcc-internal-format + msgid "left shift count is negative" + msgstr "" + +-#: c/c-fold.cc:400 c/c-typeck.cc:12768 cp/typeck.cc:5683 ++#: c/c-fold.cc:400 c/c-typeck.cc:12768 cp/typeck.cc:5679 + #, gcc-internal-format + msgid "right shift count is negative" + msgstr "" + +-#: c/c-fold.cc:409 c/c-typeck.cc:12860 cp/typeck.cc:5752 ++#: c/c-fold.cc:409 c/c-typeck.cc:12860 cp/typeck.cc:5748 + #, gcc-internal-format + msgid "left shift count >= width of type" + msgstr "" + +-#: c/c-fold.cc:410 c/c-typeck.cc:12792 cp/typeck.cc:5694 ++#: c/c-fold.cc:410 c/c-typeck.cc:12792 cp/typeck.cc:5690 + #, gcc-internal-format + msgid "right shift count >= width of type" + msgstr "" +@@ -47595,7 +47618,7 @@ msgstr "" + msgid "to match this %qs" + msgstr "" + +-#: c/c-parser.cc:1409 cp/parser.cc:34503 ++#: c/c-parser.cc:1409 cp/parser.cc:34505 + #, gcc-internal-format + msgid "expected end of line" + msgstr "" +@@ -47606,8 +47629,8 @@ msgstr "" + msgid "ISO C forbids an empty translation unit" + msgstr "ISO C не дазваляе пусты ізыходны файл" + +-#: c/c-parser.cc:1917 c/c-parser.cc:1926 c/c-parser.cc:25405 cp/parser.cc:49093 +-#: cp/semantics.cc:3633 cp/semantics.cc:3642 ++#: c/c-parser.cc:1917 c/c-parser.cc:1926 c/c-parser.cc:25403 cp/parser.cc:49091 ++#: cp/semantics.cc:3635 cp/semantics.cc:3644 + #, gcc-internal-format + msgid "%qs without corresponding %qs" + msgstr "" +@@ -47648,9 +47671,9 @@ msgstr "" + msgid "unknown type name %qE" + msgstr "невядомая назва рэгістра: %s" + +-#: c/c-parser.cc:2315 c/c-parser.cc:14755 c/c-parser.cc:23035 +-#: c/c-parser.cc:23634 c/c-parser.cc:24220 cp/parser.cc:46431 +-#: cp/parser.cc:51179 ++#: c/c-parser.cc:2315 c/c-parser.cc:14755 c/c-parser.cc:23033 ++#: c/c-parser.cc:23632 c/c-parser.cc:24218 cp/parser.cc:46429 ++#: cp/parser.cc:51177 + #, fuzzy, gcc-internal-format + #| msgid "empty declaration" + msgid "expected declaration specifiers" +@@ -47682,7 +47705,7 @@ msgstr "" + msgid "expected %<;%>, identifier or %<(%>" + msgstr "" + +-#: c/c-parser.cc:2439 cp/parser.cc:36757 cp/parser.cc:36829 ++#: c/c-parser.cc:2439 cp/parser.cc:36759 cp/parser.cc:36831 + #, fuzzy, gcc-internal-format + msgid "prefix attributes are ignored for methods" + msgstr "\"%s\" атрыбут ігнарыруецца" +@@ -47703,7 +47726,7 @@ msgstr "" + msgid "% attribute not followed by %<;%>" + msgstr "" + +-#: c/c-parser.cc:2508 c/c-parser.cc:7708 cp/cp-gimplify.cc:3647 ++#: c/c-parser.cc:2508 c/c-parser.cc:7708 cp/cp-gimplify.cc:3657 + #, gcc-internal-format + msgid "% attribute not followed by %<;%>" + msgstr "" +@@ -47795,7 +47818,7 @@ msgstr "" + msgid "static assertion failed: %E" + msgstr "" + +-#: c/c-parser.cc:3164 cp/semantics.cc:11751 ++#: c/c-parser.cc:3164 cp/semantics.cc:11749 + #, gcc-internal-format + msgid "static assertion failed" + msgstr "" +@@ -47871,10 +47894,10 @@ msgstr "параметр \"%s\" ініцыялізаваны" + #: c/c-parser.cc:14283 c/c-parser.cc:14336 c/c-parser.cc:14352 + #: c/c-parser.cc:14398 c/c-parser.cc:15386 c/c-parser.cc:15431 + #: c/c-parser.cc:18314 c/c-parser.cc:18451 c/c-parser.cc:19208 +-#: c/c-parser.cc:21828 c/c-parser.cc:24698 c/c-parser.cc:24887 ++#: c/c-parser.cc:21828 c/c-parser.cc:24696 c/c-parser.cc:24885 + #: c/gimple-parser.cc:1895 c/gimple-parser.cc:1942 cp/parser.cc:9524 +-#: cp/parser.cc:34506 cp/parser.cc:37734 cp/parser.cc:40861 cp/parser.cc:41053 +-#: cp/parser.cc:48026 cp/parser.cc:50445 ++#: cp/parser.cc:34508 cp/parser.cc:37736 cp/parser.cc:40863 cp/parser.cc:41055 ++#: cp/parser.cc:48024 cp/parser.cc:50443 + #, gcc-internal-format + msgid "expected identifier" + msgstr "" +@@ -48026,7 +48049,7 @@ msgid "inner loops must be perfectly nested with % % clause + msgstr "" + + #: c/c-parser.cc:6636 c/c-parser.cc:6791 cp/parser.cc:12240 cp/parser.cc:12390 +-#: cp/parser.cc:48622 ++#: cp/parser.cc:48620 + #, gcc-internal-format + msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement" + msgstr "" +@@ -48036,8 +48059,8 @@ msgstr "" + msgid "OpenMP % attribute on a statement" + msgstr "" + +-#: c/c-parser.cc:6668 c/c-parser.cc:6887 c/c-parser.cc:25088 cp/parser.cc:12272 +-#: cp/parser.cc:48602 cp/parser.cc:48742 ++#: c/c-parser.cc:6668 c/c-parser.cc:6887 c/c-parser.cc:25086 cp/parser.cc:12272 ++#: cp/parser.cc:48600 cp/parser.cc:48740 + #, gcc-internal-format + msgid "unknown OpenMP directive name in %qs attribute argument" + msgstr "" +@@ -48214,12 +48237,12 @@ msgstr "ISO C не дазваляе пусты ізыходны файл" + + #. Location of the binary operator. + #. Quiet warning. +-#: c/c-parser.cc:9399 cp/typeck.cc:5515 ++#: c/c-parser.cc:9399 cp/typeck.cc:5511 + #, gcc-internal-format + msgid "division % does not compute the number of array elements" + msgstr "" + +-#: c/c-parser.cc:9405 cp/typeck.cc:5520 ++#: c/c-parser.cc:9405 cp/typeck.cc:5516 + #, gcc-internal-format + msgid "first % operand was declared here" + msgstr "" +@@ -48370,7 +48393,7 @@ msgstr "ISO C не падтрымлівае комлексныя цэлалік + + #: c/c-parser.cc:10700 c/c-parser.cc:12165 c/c-parser.cc:12187 + #: c/c-parser.cc:21245 c/gimple-parser.cc:1811 c/gimple-parser.cc:2451 +-#: cp/parser.cc:43085 ++#: cp/parser.cc:43087 + #, gcc-internal-format + msgid "expected expression" + msgstr "" +@@ -48696,12 +48719,12 @@ msgstr "" + msgid "no type or storage class may be specified here," + msgstr "" + +-#: c/c-parser.cc:14137 cp/parser.cc:37591 ++#: c/c-parser.cc:14137 cp/parser.cc:37593 + #, gcc-internal-format + msgid "empty property attribute list" + msgstr "" + +-#: c/c-parser.cc:14151 cp/parser.cc:37604 ++#: c/c-parser.cc:14151 cp/parser.cc:37606 + #, fuzzy, gcc-internal-format + msgid "missing property attribute" + msgstr "прапушчан ініцыялізатар" +@@ -48711,57 +48734,57 @@ msgstr "прапушчан ініцыялізатар" + msgid "unknown property attribute %<%s%s%>" + msgstr "" + +-#: c/c-parser.cc:14193 cp/parser.cc:37641 ++#: c/c-parser.cc:14193 cp/parser.cc:37643 + #, gcc-internal-format + msgid "unknown property attribute" + msgstr "" + +-#: c/c-parser.cc:14202 cp/parser.cc:37650 ++#: c/c-parser.cc:14202 cp/parser.cc:37652 + #, gcc-internal-format + msgid "expected %<=%> after Objective-C %qE" + msgstr "" + +-#: c/c-parser.cc:14213 cp/parser.cc:37664 ++#: c/c-parser.cc:14213 cp/parser.cc:37666 + #, gcc-internal-format + msgid "expected %qE selector name" + msgstr "" + +-#: c/c-parser.cc:14229 cp/parser.cc:37683 ++#: c/c-parser.cc:14229 cp/parser.cc:37685 + #, gcc-internal-format + msgid "setter method names must terminate with %<:%>" + msgstr "" + +-#: c/c-parser.cc:14453 cp/semantics.cc:13238 ++#: c/c-parser.cc:14453 cp/semantics.cc:13228 + #, gcc-internal-format + msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" + msgstr "" + +-#: c/c-parser.cc:14489 cp/parser.cc:50800 ++#: c/c-parser.cc:14489 cp/parser.cc:50798 + #, gcc-internal-format + msgid "intervening code must not contain OpenMP directives" + msgstr "" + +-#: c/c-parser.cc:14509 c/c-parser.cc:23631 c/c-parser.cc:23940 +-#: c/c-parser.cc:24003 c/c-parser.cc:24113 cp/parser.cc:46428 +-#: cp/parser.cc:46776 cp/parser.cc:46891 cp/parser.cc:46990 cp/parser.cc:50821 +-#: cp/parser.cc:50837 cp/parser.cc:50853 cp/parser.cc:50870 cp/parser.cc:50887 +-#: cp/parser.cc:50904 cp/parser.cc:50931 cp/parser.cc:50945 cp/parser.cc:50970 +-#: cp/parser.cc:50984 ++#: c/c-parser.cc:14509 c/c-parser.cc:23629 c/c-parser.cc:23938 ++#: c/c-parser.cc:24001 c/c-parser.cc:24111 cp/parser.cc:46426 ++#: cp/parser.cc:46774 cp/parser.cc:46889 cp/parser.cc:46988 cp/parser.cc:50819 ++#: cp/parser.cc:50835 cp/parser.cc:50851 cp/parser.cc:50868 cp/parser.cc:50885 ++#: cp/parser.cc:50902 cp/parser.cc:50929 cp/parser.cc:50943 cp/parser.cc:50968 ++#: cp/parser.cc:50982 + #, gcc-internal-format + msgid "%<#pragma %s%> may only be used in compound statements" + msgstr "" + +-#: c/c-parser.cc:14532 cp/parser.cc:50959 ++#: c/c-parser.cc:14532 cp/parser.cc:50957 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be at file scope" + msgstr "" + +-#: c/c-parser.cc:14622 cp/parser.cc:51083 ++#: c/c-parser.cc:14622 cp/parser.cc:51081 + #, gcc-internal-format + msgid "%<#pragma omp scan%> may only be used in a loop construct with % % clause" + msgstr "" + +-#: c/c-parser.cc:14629 cp/parser.cc:51089 ++#: c/c-parser.cc:14629 cp/parser.cc:51087 + #, gcc-internal-format + msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" + msgstr "" +@@ -48771,25 +48794,25 @@ msgstr "" + msgid "%<#pragma %s%> may only be used at file scope" + msgstr "" + +-#: c/c-parser.cc:14724 cp/parser.cc:51166 ++#: c/c-parser.cc:14724 cp/parser.cc:51164 + #, gcc-internal-format + msgid "for, while or do statement expected" + msgstr "" + +-#: c/c-parser.cc:14737 cp/parser.cc:50811 ++#: c/c-parser.cc:14737 cp/parser.cc:50809 + #, gcc-internal-format + msgid "%<#pragma GCC pch_preprocess%> must be first" + msgstr "" + + #: c/c-parser.cc:15104 c/c-parser.cc:19032 c/c-parser.cc:20713 + #: c/c-parser.cc:20732 c/c-parser.cc:20983 c/c-parser.cc:21041 +-#: c/c-parser.cc:21048 c/c-parser.cc:21055 c/c-parser.cc:25954 +-#: c/c-parser.cc:25962 c/c-parser.cc:26232 c/c-parser.cc:26242 +-#: c/c-parser.cc:26336 c/c-parser.cc:26343 c/c-parser.cc:26350 +-#: cp/parser.cc:38114 cp/parser.cc:41693 cp/parser.cc:42611 cp/parser.cc:42648 +-#: cp/parser.cc:42837 cp/parser.cc:42900 cp/parser.cc:42907 cp/parser.cc:42914 +-#: cp/parser.cc:48245 cp/parser.cc:48252 cp/parser.cc:48259 cp/parser.cc:49706 +-#: cp/parser.cc:49714 cp/parser.cc:49866 cp/parser.cc:49876 ++#: c/c-parser.cc:21048 c/c-parser.cc:21055 c/c-parser.cc:25952 ++#: c/c-parser.cc:25960 c/c-parser.cc:26230 c/c-parser.cc:26240 ++#: c/c-parser.cc:26334 c/c-parser.cc:26341 c/c-parser.cc:26348 ++#: cp/parser.cc:38116 cp/parser.cc:41695 cp/parser.cc:42613 cp/parser.cc:42650 ++#: cp/parser.cc:42839 cp/parser.cc:42902 cp/parser.cc:42909 cp/parser.cc:42916 ++#: cp/parser.cc:48243 cp/parser.cc:48250 cp/parser.cc:48257 cp/parser.cc:49704 ++#: cp/parser.cc:49712 cp/parser.cc:49864 cp/parser.cc:49874 + #, fuzzy, gcc-internal-format + #| msgid "too many input files" + msgid "too many %qs clauses" +@@ -48805,64 +48828,64 @@ msgstr "" + msgid "expected %<)%> or %<,%>" + msgstr "" + +-#: c/c-parser.cc:15746 c/c-parser.cc:26638 ++#: c/c-parser.cc:15746 c/c-parser.cc:26636 + #, fuzzy, gcc-internal-format + msgid "%qD is not a variable" + msgstr "\"%s\" мае незавершаны тып" + +-#: c/c-parser.cc:15750 cp/semantics.cc:8614 ++#: c/c-parser.cc:15750 cp/semantics.cc:8612 + #, fuzzy, gcc-internal-format + msgid "%qD is not a pointer variable" + msgstr "\"%s\" звычайна функцыя" + +-#: c/c-parser.cc:15792 cp/parser.cc:38995 ++#: c/c-parser.cc:15792 cp/parser.cc:38997 + #, gcc-internal-format + msgid "collapse argument needs positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:15887 cp/parser.cc:39073 ++#: c/c-parser.cc:15887 cp/parser.cc:39075 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:15889 cp/parser.cc:39075 ++#: c/c-parser.cc:15889 cp/parser.cc:39077 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:15974 cp/parser.cc:39145 ++#: c/c-parser.cc:15974 cp/parser.cc:39147 + #, gcc-internal-format + msgid "expected constant logical expression" + msgstr "" + +-#: c/c-parser.cc:16051 cp/parser.cc:39227 ++#: c/c-parser.cc:16051 cp/parser.cc:39229 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:16071 c/c-parser.cc:23996 c/c-parser.cc:24106 +-#: cp/parser.cc:39245 cp/parser.cc:46768 cp/parser.cc:46883 ++#: c/c-parser.cc:16071 c/c-parser.cc:23994 c/c-parser.cc:24104 ++#: cp/parser.cc:39247 cp/parser.cc:46766 cp/parser.cc:46881 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:16124 cp/parser.cc:39300 ++#: c/c-parser.cc:16124 cp/parser.cc:39302 + #, gcc-internal-format + msgid "too many % clauses with %qs modifier" + msgstr "" + +-#: c/c-parser.cc:16131 cp/parser.cc:39307 ++#: c/c-parser.cc:16131 cp/parser.cc:39309 + #, fuzzy, gcc-internal-format + #| msgid "too many input files" + msgid "too many % clauses" + msgstr "вельмі шмат уваходзячых файлаў" + +-#: c/c-parser.cc:16133 cp/parser.cc:39309 ++#: c/c-parser.cc:16133 cp/parser.cc:39311 + #, gcc-internal-format + msgid "too many % clauses without modifier" + msgstr "" + +-#: c/c-parser.cc:16139 cp/parser.cc:39315 ++#: c/c-parser.cc:16139 cp/parser.cc:39317 + #, gcc-internal-format + msgid "if any % clause has modifier, then all % clauses have to use modifier" + msgstr "" +@@ -48885,22 +48908,22 @@ msgstr "" + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:16378 cp/semantics.cc:8828 ++#: c/c-parser.cc:16378 cp/semantics.cc:8826 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:16427 cp/semantics.cc:8858 ++#: c/c-parser.cc:16427 cp/semantics.cc:8856 + #, gcc-internal-format + msgid "% value must be non-negative" + msgstr "" + +-#: c/c-parser.cc:16461 cp/parser.cc:39541 ++#: c/c-parser.cc:16461 cp/parser.cc:39543 + #, gcc-internal-format + msgid "expected constant integer expression with valid sync-hint value" + msgstr "" + +-#: c/c-parser.cc:16533 cp/parser.cc:39611 ++#: c/c-parser.cc:16533 cp/parser.cc:39613 + #, gcc-internal-format + msgid "expected %, %, %, %, %, % or %" + msgstr "" +@@ -48910,96 +48933,96 @@ msgstr "" + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:16678 cp/parser.cc:39763 ++#: c/c-parser.cc:16678 cp/parser.cc:39765 + #, gcc-internal-format + msgid "too many % clauses with %qs category" + msgstr "" + +-#: c/c-parser.cc:16681 cp/parser.cc:39766 ++#: c/c-parser.cc:16681 cp/parser.cc:39768 + #, gcc-internal-format + msgid "too many % clauses with unspecified category" + msgstr "" + +-#: c/c-parser.cc:16765 cp/semantics.cc:7685 cp/semantics.cc:7740 ++#: c/c-parser.cc:16765 cp/semantics.cc:7683 cp/semantics.cc:7738 + #, gcc-internal-format + msgid "%qs expression must be integral" + msgstr "" + +-#: c/c-parser.cc:16777 c/c-parser.cc:16900 cp/semantics.cc:7719 +-#: cp/semantics.cc:7754 ++#: c/c-parser.cc:16777 c/c-parser.cc:16900 cp/semantics.cc:7717 ++#: cp/semantics.cc:7752 + #, gcc-internal-format + msgid "%qs value must be positive" + msgstr "" + +-#: c/c-parser.cc:16839 cp/parser.cc:38767 ++#: c/c-parser.cc:16839 cp/parser.cc:38769 + #, fuzzy, gcc-internal-format + #| msgid "too many arguments to function" + msgid "too many % arguments" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: c/c-parser.cc:16873 cp/parser.cc:38800 ++#: c/c-parser.cc:16873 cp/parser.cc:38802 + #, fuzzy, gcc-internal-format + #| msgid "no arguments" + msgid "unexpected argument" + msgstr "няма аргументаў" + +-#: c/c-parser.cc:17040 cp/semantics.cc:9045 ++#: c/c-parser.cc:17040 cp/semantics.cc:9043 + #, gcc-internal-format + msgid "% argument needs positive integral constant" + msgstr "" + +-#: c/c-parser.cc:17108 cp/parser.cc:41874 ++#: c/c-parser.cc:17108 cp/parser.cc:41876 + #, gcc-internal-format + msgid "too many % clauses" + msgstr "" + +-#: c/c-parser.cc:17150 cp/parser.cc:39816 ++#: c/c-parser.cc:17150 cp/parser.cc:39818 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:17159 c/c-parser.cc:17165 cp/parser.cc:39825 +-#: cp/parser.cc:39835 ++#: c/c-parser.cc:17159 c/c-parser.cc:17165 cp/parser.cc:39827 ++#: cp/parser.cc:39837 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:17201 cp/parser.cc:39875 ++#: c/c-parser.cc:17201 cp/parser.cc:39877 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:17254 cp/parser.cc:39943 ++#: c/c-parser.cc:17254 cp/parser.cc:39945 + #, gcc-internal-format + msgid "ordered argument needs positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:17379 c/c-parser.cc:25505 cp/parser.cc:49347 ++#: c/c-parser.cc:17379 c/c-parser.cc:25503 cp/parser.cc:49345 + #, gcc-internal-format + msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" + msgstr "" + +-#: c/c-parser.cc:17501 cp/parser.cc:40201 ++#: c/c-parser.cc:17501 cp/parser.cc:40203 + #, gcc-internal-format + msgid "both % and % modifiers specified" + msgstr "" + +-#: c/c-parser.cc:17555 cp/parser.cc:40217 ++#: c/c-parser.cc:17555 cp/parser.cc:40219 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "" + +-#: c/c-parser.cc:17559 cp/parser.cc:40220 ++#: c/c-parser.cc:17559 cp/parser.cc:40222 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "" + +-#: c/c-parser.cc:17572 cp/semantics.cc:7801 ++#: c/c-parser.cc:17572 cp/semantics.cc:7799 + #, gcc-internal-format + msgid "chunk size value must be positive" + msgstr "" + +-#: c/c-parser.cc:17595 cp/parser.cc:40240 ++#: c/c-parser.cc:17595 cp/parser.cc:40242 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%-code" + msgid "invalid schedule kind" +@@ -49010,22 +49033,22 @@ msgstr "нерэчаісны %%-код" + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:17753 cp/semantics.cc:7768 ++#: c/c-parser.cc:17753 cp/semantics.cc:7766 + #, gcc-internal-format + msgid "% lower bound %qE bigger than upper bound %qE" + msgstr "" + +-#: c/c-parser.cc:17802 cp/semantics.cc:7897 ++#: c/c-parser.cc:17802 cp/semantics.cc:7895 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "" + +-#: c/c-parser.cc:17847 cp/semantics.cc:8025 ++#: c/c-parser.cc:17847 cp/semantics.cc:8023 + #, gcc-internal-format + msgid "% clause alignment expression must be positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:17959 c/c-parser.cc:20700 cp/parser.cc:42603 ++#: c/c-parser.cc:17959 c/c-parser.cc:20700 cp/parser.cc:42605 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" +@@ -49036,22 +49059,22 @@ msgstr "" + msgid "duplicate %qs modifier" + msgstr "паўтарэньне `%s'" + +-#: c/c-parser.cc:18014 cp/semantics.cc:8160 ++#: c/c-parser.cc:18014 cp/semantics.cc:8158 + #, gcc-internal-format + msgid "% clause allocator expression has type %qT rather than %" + msgstr "" + +-#: c/c-parser.cc:18025 cp/semantics.cc:8115 cp/semantics.cc:8131 ++#: c/c-parser.cc:18025 cp/semantics.cc:8113 cp/semantics.cc:8129 + #, gcc-internal-format + msgid "% clause % modifier argument needs to be positive constant power of two integer expression" + msgstr "" + +-#: c/c-parser.cc:18144 cp/parser.cc:40687 ++#: c/c-parser.cc:18144 cp/parser.cc:40689 + #, gcc-internal-format + msgid "multiple linear modifiers" + msgstr "" + +-#: c/c-parser.cc:18156 cp/parser.cc:40700 ++#: c/c-parser.cc:18156 cp/parser.cc:40702 + #, gcc-internal-format + msgid "multiple % modifiers" + msgstr "" +@@ -49071,66 +49094,66 @@ msgstr "" + msgid "% clause expression must be positive constant integer expression" + msgstr "" + +-#: c/c-parser.cc:18643 cp/parser.cc:41247 ++#: c/c-parser.cc:18643 cp/parser.cc:41249 + #, gcc-internal-format + msgid "% modifier incompatible with %qs" + msgstr "" + +-#: c/c-parser.cc:18691 cp/parser.cc:41302 cp/parser.cc:41754 cp/parser.cc:41804 ++#: c/c-parser.cc:18691 cp/parser.cc:41304 cp/parser.cc:41756 cp/parser.cc:41806 + #, fuzzy, gcc-internal-format + #| msgid "invalid %%d operand" + msgid "invalid depend kind" + msgstr "нерэчаісны %%d аперанд" + +-#: c/c-parser.cc:18752 cp/parser.cc:41332 ++#: c/c-parser.cc:18752 cp/parser.cc:41334 + #, fuzzy, gcc-internal-format + #| msgid "invalid mask" + msgid "invalid doacross kind" + msgstr "нерэчаісная маска" + +-#: c/c-parser.cc:18821 cp/parser.cc:41475 ++#: c/c-parser.cc:18821 cp/parser.cc:41477 + #, gcc-internal-format + msgid "too many % modifiers" + msgstr "" + +-#: c/c-parser.cc:18831 cp/parser.cc:41488 ++#: c/c-parser.cc:18831 cp/parser.cc:41490 + #, gcc-internal-format + msgid "too many % modifiers" + msgstr "" + +-#: c/c-parser.cc:18841 cp/parser.cc:41501 ++#: c/c-parser.cc:18841 cp/parser.cc:41503 + #, fuzzy, gcc-internal-format + #| msgid "too many input files" + msgid "too many % modifiers" + msgstr "вельмі шмат уваходзячых файлаў" + +-#: c/c-parser.cc:18849 cp/parser.cc:41512 ++#: c/c-parser.cc:18849 cp/parser.cc:41514 + #, gcc-internal-format + msgid "% clause with map-type modifier other than %, % or %" + msgstr "" + +-#: c/c-parser.cc:18887 cp/parser.cc:41552 ++#: c/c-parser.cc:18887 cp/parser.cc:41554 + #, fuzzy, gcc-internal-format + #| msgid "invalid mask" + msgid "invalid map kind" + msgstr "нерэчаісная маска" + +-#: c/c-parser.cc:18939 cp/parser.cc:41616 ++#: c/c-parser.cc:18939 cp/parser.cc:41618 + #, gcc-internal-format + msgid "% device modifier not preceded by % directive with % clause" + msgstr "" + +-#: c/c-parser.cc:18951 cp/parser.cc:41627 ++#: c/c-parser.cc:18951 cp/parser.cc:41629 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:18974 cp/semantics.cc:7922 ++#: c/c-parser.cc:18974 cp/semantics.cc:7920 + #, gcc-internal-format + msgid "the % clause expression must evaluate to %<1%>" + msgstr "" + +-#: c/c-parser.cc:19007 cp/parser.cc:41698 ++#: c/c-parser.cc:19007 cp/parser.cc:41700 + #, gcc-internal-format + msgid "invalid dist_schedule kind" + msgstr "" +@@ -49145,89 +49168,89 @@ msgstr "Нерэчаісны выбар %s" + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:19228 cp/semantics.cc:8341 ++#: c/c-parser.cc:19228 cp/semantics.cc:8339 + #, gcc-internal-format + msgid "% clause event handle has type %qT rather than %" + msgstr "" + +-#: c/c-parser.cc:19440 cp/parser.cc:42090 ++#: c/c-parser.cc:19440 cp/parser.cc:42092 + #, gcc-internal-format + msgid "expected an OpenACC clause" + msgstr "" + +-#: c/c-parser.cc:19451 c/c-parser.cc:19816 cp/parser.cc:42101 +-#: cp/parser.cc:42509 ++#: c/c-parser.cc:19451 c/c-parser.cc:19816 cp/parser.cc:42103 ++#: cp/parser.cc:42511 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "%qs is not valid for %qs" + msgstr "complex нерэчаісны для \"%s\"" + +-#: c/c-parser.cc:19496 cp/parser.cc:42149 ++#: c/c-parser.cc:19496 cp/parser.cc:42151 + #, gcc-internal-format + msgid "clauses in % trait should be separated by %<,%>" + msgstr "" + +-#: c/c-parser.cc:19649 cp/parser.cc:42342 ++#: c/c-parser.cc:19649 cp/parser.cc:42344 + #, gcc-internal-format + msgid "%qs must be the first clause of %qs" + msgstr "" + +-#: c/c-parser.cc:19805 cp/parser.cc:42498 ++#: c/c-parser.cc:19805 cp/parser.cc:42500 + #, gcc-internal-format + msgid "expected an OpenMP clause" + msgstr "" + +-#: c/c-parser.cc:19964 cp/parser.cc:47351 ++#: c/c-parser.cc:19964 cp/parser.cc:47349 + #, gcc-internal-format + msgid "no valid clauses specified in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:19974 cp/parser.cc:47361 ++#: c/c-parser.cc:19974 cp/parser.cc:47359 + #, gcc-internal-format + msgid "array section in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:19994 cp/parser.cc:47381 ++#: c/c-parser.cc:19994 cp/parser.cc:47379 + #, gcc-internal-format + msgid "%qD must be a global variable in %<#pragma acc declare link%>" + msgstr "" + +-#: c/c-parser.cc:20005 cp/parser.cc:47392 ++#: c/c-parser.cc:20005 cp/parser.cc:47390 + #, gcc-internal-format + msgid "invalid OpenACC clause at file scope" + msgstr "" + +-#: c/c-parser.cc:20012 cp/parser.cc:47399 ++#: c/c-parser.cc:20012 cp/parser.cc:47397 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:20020 cp/parser.cc:47407 ++#: c/c-parser.cc:20020 cp/parser.cc:47405 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:20031 cp/parser.cc:47429 ++#: c/c-parser.cc:20031 cp/parser.cc:47427 + #, gcc-internal-format + msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:20041 cp/parser.cc:47452 ++#: c/c-parser.cc:20041 cp/parser.cc:47450 + #, gcc-internal-format + msgid "variable %qD used more than once with %<#pragma acc declare%>" + msgstr "" + +-#: c/c-parser.cc:20134 cp/parser.cc:47536 ++#: c/c-parser.cc:20134 cp/parser.cc:47534 + #, gcc-internal-format + msgid "expected % after %<#pragma acc %s%>" + msgstr "" + +-#: c/c-parser.cc:20150 cp/parser.cc:47553 ++#: c/c-parser.cc:20150 cp/parser.cc:47551 + #, gcc-internal-format + msgid "%<#pragma acc %s data%> has no data movement clause" + msgstr "" + +-#: c/c-parser.cc:20182 cp/parser.cc:47311 ++#: c/c-parser.cc:20182 cp/parser.cc:47309 + #, gcc-internal-format + msgid "% construct requires % clause" + msgstr "" +@@ -49242,7 +49265,7 @@ msgstr "" + msgid "expected function name" + msgstr "" + +-#: c/c-parser.cc:20433 cp/parser.cc:50133 ++#: c/c-parser.cc:20433 cp/parser.cc:50131 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a function," + msgid "%qD does not refer to a function" +@@ -49253,22 +49276,22 @@ msgstr "`%D' - гэта ня функцыя," + msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" + msgstr "" + +-#: c/c-parser.cc:20496 cp/parser.cc:50184 cp/parser.cc:50231 ++#: c/c-parser.cc:20496 cp/parser.cc:50182 cp/parser.cc:50229 + #, gcc-internal-format + msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" + msgstr "" + +-#: c/c-parser.cc:20527 cp/parser.cc:50259 ++#: c/c-parser.cc:20527 cp/parser.cc:50257 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before use" + msgstr "" + +-#: c/c-parser.cc:20528 cp/parser.cc:50261 ++#: c/c-parser.cc:20528 cp/parser.cc:50259 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before definition" + msgstr "" + +-#: c/c-parser.cc:20573 cp/parser.cc:47769 ++#: c/c-parser.cc:20573 cp/parser.cc:47767 + #, gcc-internal-format + msgid "%<#pragma acc update%> must contain at least one % or % or % clause" + msgstr "" +@@ -49294,7 +49317,7 @@ msgstr "" + msgid "modified here" + msgstr "'O' мадыфікатар" + +-#: c/c-parser.cc:20724 cp/parser.cc:42623 cp/parser.cc:42638 ++#: c/c-parser.cc:20724 cp/parser.cc:42625 cp/parser.cc:42640 + #, gcc-internal-format + msgid "% clause argument needs to be positive constant power of two integer expression" + msgstr "" +@@ -49334,111 +49357,111 @@ msgstr "" + msgid "%<#pragma omp allocate%> for static variables like %qD not yet supported" + msgstr "" + +-#: c/c-parser.cc:20949 cp/parser.cc:42803 ++#: c/c-parser.cc:20949 cp/parser.cc:42805 + #, gcc-internal-format + msgid "expected %, %, %, or % clause" + msgstr "" + +-#: c/c-parser.cc:20988 cp/parser.cc:42842 ++#: c/c-parser.cc:20988 cp/parser.cc:42844 + #, gcc-internal-format + msgid "expected %, % or %" + msgstr "" + +-#: c/c-parser.cc:21012 cp/parser.cc:42871 ++#: c/c-parser.cc:21012 cp/parser.cc:42873 + #, gcc-internal-format + msgid "expected %, %, %, %, %, %, %, %, %, %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:21027 cp/parser.cc:42886 ++#: c/c-parser.cc:21027 cp/parser.cc:42888 + #, fuzzy, gcc-internal-format + #| msgid "too many input files" + msgid "too many atomic clauses" + msgstr "вельмі шмат уваходзячых файлаў" + +-#: c/c-parser.cc:21034 cp/parser.cc:42893 ++#: c/c-parser.cc:21034 cp/parser.cc:42895 + #, gcc-internal-format + msgid "too many memory order clauses" + msgstr "" + +-#: c/c-parser.cc:21072 c/c-parser.cc:21079 cp/parser.cc:42931 +-#: cp/parser.cc:42938 ++#: c/c-parser.cc:21072 c/c-parser.cc:21079 cp/parser.cc:42933 ++#: cp/parser.cc:42940 + #, gcc-internal-format + msgid "%qs clause is incompatible with % or % clauses" + msgstr "" + +-#: c/c-parser.cc:21085 c/c-parser.cc:21090 cp/parser.cc:42944 +-#: cp/parser.cc:42949 ++#: c/c-parser.cc:21085 c/c-parser.cc:21090 cp/parser.cc:42946 ++#: cp/parser.cc:42951 + #, gcc-internal-format + msgid "%qs clause requires %qs clause" + msgstr "" + +-#: c/c-parser.cc:21113 cp/parser.cc:42972 ++#: c/c-parser.cc:21113 cp/parser.cc:42974 + #, gcc-internal-format + msgid "%<#pragma omp atomic write%> incompatible with % clause implicitly provided by a % directive" + msgstr "" + +-#: c/c-parser.cc:21124 cp/parser.cc:42983 ++#: c/c-parser.cc:21124 cp/parser.cc:42985 + #, gcc-internal-format + msgid "%<#pragma omp atomic read%> incompatible with % clause implicitly provided by a % directive" + msgstr "" + +-#: c/c-parser.cc:21156 cp/parser.cc:43015 ++#: c/c-parser.cc:21156 cp/parser.cc:43017 + #, gcc-internal-format + msgid "%<#pragma omp atomic read%> incompatible with % clause" + msgstr "" + +-#: c/c-parser.cc:21166 cp/parser.cc:43025 ++#: c/c-parser.cc:21166 cp/parser.cc:43027 + #, gcc-internal-format + msgid "%<#pragma omp atomic write%> incompatible with % clause" + msgstr "" + +-#: c/c-parser.cc:21289 cp/parser.cc:43125 ++#: c/c-parser.cc:21289 cp/parser.cc:43127 + #, gcc-internal-format + msgid "expected %<==%> comparison in % condition" + msgstr "" + +-#: c/c-parser.cc:21296 cp/parser.cc:43132 ++#: c/c-parser.cc:21296 cp/parser.cc:43134 + #, gcc-internal-format + msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" + msgstr "" + +-#: c/c-parser.cc:21369 cp/parser.cc:43197 cp/parser.cc:43480 cp/parser.cc:43574 +-#: cp/parser.cc:43592 ++#: c/c-parser.cc:21369 cp/parser.cc:43199 cp/parser.cc:43482 cp/parser.cc:43576 ++#: cp/parser.cc:43594 + #, gcc-internal-format + msgid "invalid form of %<#pragma omp atomic compare%>" + msgstr "" + +-#: c/c-parser.cc:21380 cp/parser.cc:43208 ++#: c/c-parser.cc:21380 cp/parser.cc:43210 + #, gcc-internal-format + msgid "unexpected %" + msgstr "" + +-#: c/c-parser.cc:21440 cp/parser.cc:43647 ++#: c/c-parser.cc:21440 cp/parser.cc:43649 + #, gcc-internal-format + msgid "invalid form of %" + msgstr "" + +-#: c/c-parser.cc:21711 cp/parser.cc:43501 cp/parser.cc:43527 ++#: c/c-parser.cc:21711 cp/parser.cc:43503 cp/parser.cc:43529 + #, gcc-internal-format + msgid "invalid form of %<#pragma omp atomic%>" + msgstr "" + +-#: c/c-parser.cc:21715 cp/parser.cc:43567 cp/parser.cc:43601 ++#: c/c-parser.cc:21715 cp/parser.cc:43569 cp/parser.cc:43603 + #, gcc-internal-format + msgid "invalid operator for %<#pragma omp atomic%>" + msgstr "" + +-#: c/c-parser.cc:21766 cp/parser.cc:43636 ++#: c/c-parser.cc:21766 cp/parser.cc:43638 + #, gcc-internal-format + msgid "% clause requires atomic equality comparison" + msgstr "" + +-#: c/c-parser.cc:21772 cp/semantics.cc:11233 cp/semantics.cc:11243 ++#: c/c-parser.cc:21772 cp/semantics.cc:11231 cp/semantics.cc:11241 + #, gcc-internal-format + msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" + msgstr "" + +-#: c/c-parser.cc:21875 cp/semantics.cc:11320 ++#: c/c-parser.cc:21875 cp/semantics.cc:11318 + #, gcc-internal-format + msgid "% expression is not lvalue expression" + msgstr "" +@@ -49448,27 +49471,27 @@ msgstr "" + msgid "% expression is not lvalue expression" + msgstr "" + +-#: c/c-parser.cc:21924 cp/parser.cc:43789 ++#: c/c-parser.cc:21924 cp/parser.cc:43791 + #, gcc-internal-format + msgid "the % expression %qE should be the same as the % argument %qE" + msgstr "" + +-#: c/c-parser.cc:21955 cp/parser.cc:43825 ++#: c/c-parser.cc:21955 cp/parser.cc:43827 + #, gcc-internal-format + msgid "expected %, %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:21967 cp/parser.cc:43841 ++#: c/c-parser.cc:21967 cp/parser.cc:43843 + #, gcc-internal-format + msgid "expected %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:22008 cp/parser.cc:43879 ++#: c/c-parser.cc:22008 cp/parser.cc:43881 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:22016 cp/parser.cc:43887 ++#: c/c-parser.cc:22016 cp/parser.cc:43889 + #, gcc-internal-format + msgid "% list specified together with memory order clause" + msgstr "" +@@ -49478,163 +49501,163 @@ msgstr "" + msgid "expected %<(%> or end of line" + msgstr "" + +-#: c/c-parser.cc:22092 cp/parser.cc:44593 ++#: c/c-parser.cc:22092 cp/parser.cc:44595 + #, gcc-internal-format + msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement" + msgstr "" + +-#: c/c-parser.cc:22159 cp/parser.cc:44662 ++#: c/c-parser.cc:22159 cp/parser.cc:44664 + #, gcc-internal-format + msgid "%<#pragma omp scan%> with zero preceding executable statements" + msgstr "" + +-#: c/c-parser.cc:22193 cp/parser.cc:44695 ++#: c/c-parser.cc:22193 cp/parser.cc:44697 + #, gcc-internal-format + msgid "expected % or % clause" + msgstr "" + +-#: c/c-parser.cc:22198 cp/parser.cc:44701 ++#: c/c-parser.cc:22198 cp/parser.cc:44703 + #, gcc-internal-format + msgid "expected %<#pragma omp scan%>" + msgstr "" + +-#: c/c-parser.cc:22207 cp/parser.cc:44710 ++#: c/c-parser.cc:22207 cp/parser.cc:44712 + #, gcc-internal-format + msgid "%<#pragma omp scan%> with zero succeeding executable statements" + msgstr "" + +-#: c/c-parser.cc:22325 cp/semantics.cc:10807 cp/semantics.cc:10892 ++#: c/c-parser.cc:22325 cp/semantics.cc:10805 cp/semantics.cc:10890 + #, gcc-internal-format + msgid "expected iteration declaration or initialization" + msgstr "" + +-#: c/c-parser.cc:22413 c/c-parser.cc:22428 cp/parser.cc:45057 +-#: cp/parser.cc:45072 ++#: c/c-parser.cc:22411 c/c-parser.cc:22426 cp/parser.cc:45055 ++#: cp/parser.cc:45070 + #, gcc-internal-format + msgid "not enough nested loops" + msgstr "" + +-#: c/c-parser.cc:22528 cp/parser.cc:45344 ++#: c/c-parser.cc:22526 cp/parser.cc:45342 + #, gcc-internal-format + msgid "% clause parameter is less than %" + msgstr "" + +-#: c/c-parser.cc:22539 cp/parser.cc:45355 ++#: c/c-parser.cc:22537 cp/parser.cc:45353 + #, fuzzy, gcc-internal-format + msgid "for statement expected" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: c/c-parser.cc:22651 cp/parser.cc:44895 cp/parser.cc:44938 cp/pt.cc:18143 ++#: c/c-parser.cc:22649 cp/parser.cc:44895 cp/parser.cc:44938 cp/pt.cc:18184 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "" + +-#: c/c-parser.cc:23059 cp/parser.cc:45866 ++#: c/c-parser.cc:23057 cp/parser.cc:45864 + #, gcc-internal-format + msgid "%<#pragma omp ordered%> with %qs clause may only be used in compound statements" + msgstr "" + +-#: c/c-parser.cc:23275 cp/parser.cc:46072 ++#: c/c-parser.cc:23273 cp/parser.cc:46070 + #, gcc-internal-format + msgid "expected % after %qs" + msgstr "" + +-#: c/c-parser.cc:23622 cp/parser.cc:46419 ++#: c/c-parser.cc:23620 cp/parser.cc:46417 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:23889 cp/parser.cc:46706 ++#: c/c-parser.cc:23887 cp/parser.cc:46704 + #, gcc-internal-format + msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" + msgstr "" + +-#: c/c-parser.cc:23905 cp/parser.cc:46722 ++#: c/c-parser.cc:23903 cp/parser.cc:46720 + #, gcc-internal-format + msgid "%<#pragma omp target data%> must contain at least one %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:23953 cp/parser.cc:47003 ++#: c/c-parser.cc:23951 cp/parser.cc:47001 + #, gcc-internal-format + msgid "%<#pragma omp target update%> must contain at least one % or % clauses" + msgstr "" + +-#: c/c-parser.cc:24055 cp/parser.cc:46829 ++#: c/c-parser.cc:24053 cp/parser.cc:46827 + #, gcc-internal-format + msgid "%<#pragma omp target enter data%> with map-type other than %, % or % on % clause" + msgstr "" + +-#: c/c-parser.cc:24067 cp/parser.cc:46841 ++#: c/c-parser.cc:24065 cp/parser.cc:46839 + #, gcc-internal-format + msgid "%<#pragma omp target enter data%> must contain at least one % clause" + msgstr "" + +-#: c/c-parser.cc:24166 cp/parser.cc:46946 ++#: c/c-parser.cc:24164 cp/parser.cc:46944 + #, gcc-internal-format + msgid "%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause" + msgstr "" + +-#: c/c-parser.cc:24179 cp/parser.cc:46959 ++#: c/c-parser.cc:24177 cp/parser.cc:46957 + #, gcc-internal-format + msgid "%<#pragma omp target exit data%> must contain at least one % clause" + msgstr "" + +-#: c/c-parser.cc:24424 cp/semantics.cc:10315 ++#: c/c-parser.cc:24422 cp/semantics.cc:10313 + #, gcc-internal-format + msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" + msgstr "" + +-#: c/c-parser.cc:24481 ++#: c/c-parser.cc:24479 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>" + msgstr "" + +-#: c/c-parser.cc:24532 c/c-parser.cc:24570 ++#: c/c-parser.cc:24530 c/c-parser.cc:24568 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition" + msgstr "" + +-#: c/c-parser.cc:24603 cp/parser.cc:47913 ++#: c/c-parser.cc:24601 cp/parser.cc:47911 + #, gcc-internal-format + msgid "expected trait selector name" + msgstr "" + +-#: c/c-parser.cc:24615 cp/parser.cc:47927 ++#: c/c-parser.cc:24613 cp/parser.cc:47925 + #, gcc-internal-format + msgid "unknown selector %qs for context selector set %qs" + msgstr "" + +-#: c/c-parser.cc:24643 cp/parser.cc:47956 ++#: c/c-parser.cc:24641 cp/parser.cc:47954 + #, gcc-internal-format + msgid "selector %qs does not accept any properties" + msgstr "" + +-#: c/c-parser.cc:24665 cp/parser.cc:47988 ++#: c/c-parser.cc:24663 cp/parser.cc:47986 + #, gcc-internal-format + msgid "% cannot be specified in traits in the %qs trait-selector-set" + msgstr "" + +-#: c/c-parser.cc:24674 cp/parser.cc:47998 ++#: c/c-parser.cc:24672 cp/parser.cc:47996 + #, gcc-internal-format + msgid "% argument must be constant integer expression" + msgstr "" + +-#: c/c-parser.cc:24677 cp/parser.cc:48001 ++#: c/c-parser.cc:24675 cp/parser.cc:47999 + #, gcc-internal-format + msgid "% argument must be non-negative" + msgstr "" + +-#: c/c-parser.cc:24718 cp/parser.cc:48047 ++#: c/c-parser.cc:24716 cp/parser.cc:48045 + #, gcc-internal-format + msgid "expected identifier or string literal" + msgstr "" + +-#: c/c-parser.cc:24743 cp/parser.cc:48072 cp/pt.cc:12036 ++#: c/c-parser.cc:24741 cp/parser.cc:48070 cp/pt.cc:12077 + #, gcc-internal-format + msgid "property must be constant integer expression" + msgstr "" + +-#: c/c-parser.cc:24757 cp/parser.cc:48086 ++#: c/c-parser.cc:24755 cp/parser.cc:48084 + #, gcc-internal-format + msgid "properties for % selector may not be specified in %" + msgstr "" +@@ -49642,291 +49665,291 @@ msgstr "" + #. FIXME: The "requires" selector was added in OpenMP 5.1. + #. Currently only the now-deprecated syntax + #. from OpenMP 5.0 is supported. +-#: c/c-parser.cc:24778 cp/parser.cc:48102 fortran/openmp.cc:5921 ++#: c/c-parser.cc:24776 cp/parser.cc:48100 fortran/openmp.cc:5921 + #, gcc-internal-format + msgid "% selector is not supported yet" + msgstr "" + +-#: c/c-parser.cc:24837 cp/parser.cc:48165 ++#: c/c-parser.cc:24835 cp/parser.cc:48163 + #, gcc-internal-format + msgid "expected context selector set name" + msgstr "" + +-#: c/c-parser.cc:24914 cp/parser.cc:48480 ++#: c/c-parser.cc:24912 cp/parser.cc:48478 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:24934 ++#: c/c-parser.cc:24932 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a function," + msgid "variant %qD is not a function" + msgstr "`%D' - гэта ня функцыя," + +-#: c/c-parser.cc:24941 cp/decl.cc:8314 ++#: c/c-parser.cc:24939 cp/decl.cc:8323 + #, fuzzy, gcc-internal-format + msgid "variant %qD and base %qD have incompatible types" + msgstr "\"%s\" мае незавершаны тып" + +-#: c/c-parser.cc:24953 cp/decl.cc:8323 ++#: c/c-parser.cc:24951 cp/decl.cc:8332 + #, gcc-internal-format + msgid "variant %qD is a built-in" + msgstr "" + +-#: c/c-parser.cc:24999 ++#: c/c-parser.cc:24997 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition" + msgstr "" + +-#: c/c-parser.cc:25007 cp/parser.cc:48525 ++#: c/c-parser.cc:25005 cp/parser.cc:48523 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition" + msgstr "" + +-#: c/c-parser.cc:25208 cp/parser.cc:48815 ++#: c/c-parser.cc:25206 cp/parser.cc:48813 + #, gcc-internal-format + msgid "%qD specified both in declare target % and %qs clauses" + msgstr "" + +-#: c/c-parser.cc:25212 cp/parser.cc:48819 ++#: c/c-parser.cc:25210 cp/parser.cc:48817 + #, gcc-internal-format + msgid "%qD specified both in declare target % and % or % clauses" + msgstr "" + +-#: c/c-parser.cc:25272 cp/parser.cc:48949 ++#: c/c-parser.cc:25270 cp/parser.cc:48947 + #, gcc-internal-format + msgid "directive with only % or % clauses" + msgstr "" + +-#: c/c-parser.cc:25275 cp/parser.cc:48952 ++#: c/c-parser.cc:25273 cp/parser.cc:48950 + #, gcc-internal-format + msgid "% clause must specify 'any' when used with an % clause" + msgstr "" + +-#: c/c-parser.cc:25324 c/c-parser.cc:25366 cp/parser.cc:49007 +-#: cp/parser.cc:49054 ++#: c/c-parser.cc:25322 c/c-parser.cc:25364 cp/parser.cc:49005 ++#: cp/parser.cc:49052 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: c/c-parser.cc:25338 cp/parser.cc:49020 ++#: c/c-parser.cc:25336 cp/parser.cc:49018 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:25373 cp/parser.cc:49061 ++#: c/c-parser.cc:25371 cp/parser.cc:49059 + #, gcc-internal-format + msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>" + msgstr "" + +-#: c/c-parser.cc:25384 c/c-parser.cc:25415 cp/parser.cc:49072 +-#: cp/parser.cc:49103 ++#: c/c-parser.cc:25382 c/c-parser.cc:25413 cp/parser.cc:49070 ++#: cp/parser.cc:49101 + #, gcc-internal-format + msgid "%qs in attribute syntax terminated with %qs in pragma syntax" + msgstr "" + +-#: c/c-parser.cc:25391 c/c-parser.cc:25420 cp/parser.cc:49079 +-#: cp/parser.cc:49108 ++#: c/c-parser.cc:25389 c/c-parser.cc:25418 cp/parser.cc:49077 ++#: cp/parser.cc:49106 + #, gcc-internal-format + msgid "%qs in pragma syntax terminated with %qs in attribute syntax" + msgstr "" + +-#: c/c-parser.cc:25428 cp/parser.cc:49116 ++#: c/c-parser.cc:25426 cp/parser.cc:49114 + #, gcc-internal-format + msgid "expected % or %" + msgstr "" + +-#: c/c-parser.cc:25455 ++#: c/c-parser.cc:25453 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> not at file or block scope" + msgstr "" + +-#: c/c-parser.cc:25532 ++#: c/c-parser.cc:25530 + #, gcc-internal-format + msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:25536 ++#: c/c-parser.cc:25534 + #, gcc-internal-format + msgid "function or array type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:25539 ++#: c/c-parser.cc:25537 + #, gcc-internal-format + msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:25542 ++#: c/c-parser.cc:25540 + #, gcc-internal-format + msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:25550 ++#: c/c-parser.cc:25548 + #, gcc-internal-format + msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" + msgstr "" + +-#: c/c-parser.cc:25559 ++#: c/c-parser.cc:25557 + #, gcc-internal-format + msgid "previous %<#pragma omp declare reduction%>" + msgstr "" + +-#: c/c-parser.cc:25680 ++#: c/c-parser.cc:25678 + #, gcc-internal-format + msgid "expected % or function-name" + msgstr "" + +-#: c/c-parser.cc:25691 ++#: c/c-parser.cc:25689 + #, gcc-internal-format + msgid "expected function-name %<(%>" + msgstr "" + +-#: c/c-parser.cc:25710 ++#: c/c-parser.cc:25708 + #, gcc-internal-format + msgid "one of the initializer call arguments should be %<&omp_priv%>" + msgstr "" + +-#: c/c-parser.cc:25841 cp/parser.cc:49589 ++#: c/c-parser.cc:25839 cp/parser.cc:49587 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:25910 cp/parser.cc:49656 ++#: c/c-parser.cc:25908 cp/parser.cc:49654 + #, gcc-internal-format + msgid "expected %, %, %, % or %" + msgstr "" + +-#: c/c-parser.cc:25939 cp/parser.cc:49691 ++#: c/c-parser.cc:25937 cp/parser.cc:49689 + #, gcc-internal-format + msgid "expected %, %, %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:25957 cp/parser.cc:49709 ++#: c/c-parser.cc:25955 cp/parser.cc:49707 + #, gcc-internal-format + msgid "%qs clause used lexically after first target construct or offloading API" + msgstr "" + +-#: c/c-parser.cc:25969 cp/parser.cc:49721 ++#: c/c-parser.cc:25967 cp/parser.cc:49719 + #, gcc-internal-format + msgid "more than one % clause in a single compilation unit" + msgstr "" + +-#: c/c-parser.cc:25978 cp/parser.cc:49730 ++#: c/c-parser.cc:25976 cp/parser.cc:49728 + #, gcc-internal-format + msgid "% clause used lexically after first % construct without memory order clause" + msgstr "" + +-#: c/c-parser.cc:25992 cp/parser.cc:49744 ++#: c/c-parser.cc:25990 cp/parser.cc:49742 + #, gcc-internal-format + msgid "% requires at least one clause" + msgstr "" + +-#: c/c-parser.cc:26011 ++#: c/c-parser.cc:26009 + #, gcc-internal-format + msgid "zero sized type %qT in % clause" + msgstr "" + +-#: c/c-parser.cc:26017 ++#: c/c-parser.cc:26015 + #, gcc-internal-format + msgid "variable sized type %qT in % clause" + msgstr "" + +-#: c/c-parser.cc:26174 cp/parser.cc:49801 ++#: c/c-parser.cc:26172 cp/parser.cc:49799 + #, gcc-internal-format + msgid "expected %, % or % clause" + msgstr "" + +-#: c/c-parser.cc:26207 cp/parser.cc:49836 ++#: c/c-parser.cc:26205 cp/parser.cc:49834 + #, gcc-internal-format + msgid "expected %qs or %qs" + msgstr "" + +-#: c/c-parser.cc:26264 cp/parser.cc:49898 ++#: c/c-parser.cc:26262 cp/parser.cc:49896 + #, gcc-internal-format + msgid "%<#pragma omp error%> with % clause may only be used in compound statements" + msgstr "" + +-#: c/c-parser.cc:26287 cp/parser.cc:49925 ++#: c/c-parser.cc:26285 cp/parser.cc:49923 + #, gcc-internal-format + msgid "% encountered: %s" + msgstr "" + +-#: c/c-parser.cc:26290 cp/parser.cc:49928 ++#: c/c-parser.cc:26288 cp/parser.cc:49926 + #, gcc-internal-format + msgid "% encountered" + msgstr "" + +-#: c/c-parser.cc:26317 cp/parser.cc:48226 ++#: c/c-parser.cc:26315 cp/parser.cc:48224 + #, gcc-internal-format + msgid "expected at least one assumption clause" + msgstr "" + +-#: c/c-parser.cc:26403 cp/parser.cc:48312 ++#: c/c-parser.cc:26401 cp/parser.cc:48310 + #, gcc-internal-format + msgid "expected directive name" + msgstr "" + +-#: c/c-parser.cc:26416 cp/parser.cc:48325 ++#: c/c-parser.cc:26414 cp/parser.cc:48323 + #, gcc-internal-format + msgid "unknown OpenMP directive name in %qs clause argument" + msgstr "" + +-#: c/c-parser.cc:26423 cp/parser.cc:48332 ++#: c/c-parser.cc:26421 cp/parser.cc:48330 + #, gcc-internal-format + msgid "%<%s%s%s%s%s%> directive mentioned in both % and % clauses" + msgstr "" + +-#: c/c-parser.cc:26434 cp/parser.cc:48343 ++#: c/c-parser.cc:26432 cp/parser.cc:48341 + #, gcc-internal-format + msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" + msgstr "" + +-#: c/c-parser.cc:26457 cp/parser.cc:48370 ++#: c/c-parser.cc:26455 cp/parser.cc:48368 + #, fuzzy, gcc-internal-format + msgid "unknown assumption clause %qs" + msgstr "невядомая назва рэгістра: %s\n" + +-#: c/c-parser.cc:26470 cp/parser.cc:48380 ++#: c/c-parser.cc:26468 cp/parser.cc:48378 + #, gcc-internal-format + msgid "expected assumption clause" + msgstr "" + +-#: c/c-parser.cc:26640 cp/semantics.cc:9681 ++#: c/c-parser.cc:26638 cp/semantics.cc:9679 + #, gcc-internal-format + msgid "%qE declared % after first use" + msgstr "" + +-#: c/c-parser.cc:26642 cp/semantics.cc:9683 ++#: c/c-parser.cc:26640 cp/semantics.cc:9681 + #, gcc-internal-format + msgid "automatic variable %qE cannot be %" + msgstr "" + +-#: c/c-parser.cc:26646 cp/semantics.cc:9685 ++#: c/c-parser.cc:26644 cp/semantics.cc:9683 + #, fuzzy, gcc-internal-format + msgid "% %qE has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: c/c-parser.cc:26826 cp/parser.cc:50667 ++#: c/c-parser.cc:26824 cp/parser.cc:50665 + #, gcc-internal-format + msgid "%<__transaction_cancel%> without transactional memory support enabled" + msgstr "" + +-#: c/c-parser.cc:26832 cp/parser.cc:50673 ++#: c/c-parser.cc:26830 cp/parser.cc:50671 + #, gcc-internal-format + msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" + msgstr "" + +-#: c/c-parser.cc:26841 ++#: c/c-parser.cc:26839 + #, gcc-internal-format + msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a % function" + msgstr "" + +-#: c/c-parser.cc:26849 cp/parser.cc:50691 ++#: c/c-parser.cc:26847 cp/parser.cc:50689 + #, gcc-internal-format + msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" + msgstr "" + +-#: c/c-parser.cc:26942 ++#: c/c-parser.cc:26940 + #, gcc-internal-format + msgid "no closing brace" + msgstr "" +@@ -50068,7 +50091,7 @@ msgstr "" + msgid "subscripted value is neither array nor pointer nor vector" + msgstr "" + +-#: c/c-typeck.cc:2810 cp/typeck.cc:4005 cp/typeck.cc:4099 ++#: c/c-typeck.cc:2810 cp/typeck.cc:4001 cp/typeck.cc:4095 + #, gcc-internal-format + msgid "array subscript is not an integer" + msgstr "" +@@ -50098,7 +50121,7 @@ msgstr "" + msgid "enum constant defined here" + msgstr "" + +-#: c/c-typeck.cc:3156 cp/typeck.cc:2141 ++#: c/c-typeck.cc:3156 cp/typeck.cc:2137 + #, gcc-internal-format + msgid "% on array function parameter %qE will return size of %qT" + msgstr "" +@@ -50214,17 +50237,17 @@ msgstr "" + msgid "too few arguments to built-in function %qE expecting %u" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: c/c-typeck.cc:4110 c/c-typeck.cc:4138 cp/typeck.cc:5782 cp/typeck.cc:6065 ++#: c/c-typeck.cc:4110 c/c-typeck.cc:4138 cp/typeck.cc:5778 cp/typeck.cc:6061 + #, gcc-internal-format + msgid "comparison with string literal results in unspecified behavior" + msgstr "" + +-#: c/c-typeck.cc:4118 c/c-typeck.cc:4129 cp/typeck.cc:5814 cp/typeck.cc:5838 ++#: c/c-typeck.cc:4118 c/c-typeck.cc:4129 cp/typeck.cc:5810 cp/typeck.cc:5834 + #, gcc-internal-format + msgid "comparison between pointer and zero character constant" + msgstr "" + +-#: c/c-typeck.cc:4121 c/c-typeck.cc:4132 cp/typeck.cc:5817 cp/typeck.cc:5841 ++#: c/c-typeck.cc:4121 c/c-typeck.cc:4132 cp/typeck.cc:5813 cp/typeck.cc:5837 + #, gcc-internal-format + msgid "did you mean to dereference the pointer?" + msgstr "" +@@ -50249,7 +50272,7 @@ msgstr "" + msgid "arithmetic on pointer to an incomplete type" + msgstr "" + +-#: c/c-typeck.cc:4264 cp/typeck.cc:6860 ++#: c/c-typeck.cc:4264 cp/typeck.cc:6856 + #, gcc-internal-format + msgid "arithmetic on pointer to an empty aggregate" + msgstr "" +@@ -50544,7 +50567,7 @@ msgstr "" + msgid "cast from function call of type %qT to non-matching type %qT" + msgstr "" + +-#: c/c-typeck.cc:6336 cp/typeck.cc:9296 ++#: c/c-typeck.cc:6336 cp/typeck.cc:9292 + #, gcc-internal-format + msgid "cast to pointer from integer of different size" + msgstr "" +@@ -50718,7 +50741,7 @@ msgstr "" + msgid "initialization left-hand side might be a candidate for a format attribute" + msgstr "" + +-#: c/c-typeck.cc:7635 cp/typeck.cc:10459 ++#: c/c-typeck.cc:7635 cp/typeck.cc:10455 + #, gcc-internal-format + msgid "return type might be a candidate for a format attribute" + msgstr "" +@@ -50918,12 +50941,12 @@ msgstr "" + msgid "% initializer for a binary floating-point type is of decimal type" + msgstr "" + +-#: c/c-typeck.cc:8546 c/c-typeck.cc:9480 cp/typeck2.cc:1218 ++#: c/c-typeck.cc:8546 c/c-typeck.cc:9480 cp/typeck2.cc:1224 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "" + +-#: c/c-typeck.cc:8562 cp/typeck2.cc:1235 ++#: c/c-typeck.cc:8562 cp/typeck2.cc:1241 + #, gcc-internal-format + msgid "cannot initialize array of %qT from a string literal with type array of %qT" + msgstr "" +@@ -50933,7 +50956,7 @@ msgstr "" + msgid "array of inappropriate type initialized from string constant" + msgstr "" + +-#: c/c-typeck.cc:8689 cp/typeck.cc:2534 ++#: c/c-typeck.cc:8689 cp/typeck.cc:2530 + #, gcc-internal-format + msgid "invalid use of non-lvalue array" + msgstr "" +@@ -50964,7 +50987,7 @@ msgstr "памер масіва \"%s\" адмоўны" + msgid "initializer element is not computable at load time" + msgstr "" + +-#: c/c-typeck.cc:9107 cp/decl.cc:7691 ++#: c/c-typeck.cc:9107 cp/decl.cc:7700 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "" +@@ -50979,7 +51002,7 @@ msgstr "" + msgid "braces around scalar initializer" + msgstr "" + +-#: c/c-typeck.cc:9477 c/c-typeck.cc:10966 cp/typeck2.cc:1245 cp/typeck2.cc:1580 ++#: c/c-typeck.cc:9477 c/c-typeck.cc:10966 cp/typeck2.cc:1251 cp/typeck2.cc:1586 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "" +@@ -51070,7 +51093,7 @@ msgstr "" + msgid "positional initialization of field in % declared with % attribute" + msgstr "" + +-#: c/c-typeck.cc:10940 cp/typeck2.cc:1222 ++#: c/c-typeck.cc:10940 cp/typeck2.cc:1228 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "" +@@ -51111,7 +51134,7 @@ msgstr "ISO C не падтрымлівае \"goto *expr;\"" + msgid "computed goto must be pointer type" + msgstr "" + +-#: c/c-typeck.cc:11463 c/gimple-parser.cc:2562 cp/typeck.cc:11060 ++#: c/c-typeck.cc:11463 c/gimple-parser.cc:2562 cp/typeck.cc:11056 + #, fuzzy, gcc-internal-format + #| msgid "function does not return string type" + msgid "function declared % has a % statement" +@@ -51167,7 +51190,7 @@ msgstr "" + msgid "break statement not within loop or switch" + msgstr "" + +-#: c/c-typeck.cc:11832 c/c-typeck.cc:11852 cp/decl.cc:4052 cp/parser.cc:14829 ++#: c/c-typeck.cc:11832 c/c-typeck.cc:11852 cp/decl.cc:4061 cp/parser.cc:14829 + #: cp/parser.cc:14850 + #, gcc-internal-format + msgid "invalid exit from OpenMP structured block" +@@ -51213,27 +51236,27 @@ msgstr "" + msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" + msgstr "" + +-#: c/c-typeck.cc:12882 c/c-typeck.cc:13046 cp/typeck.cc:6087 ++#: c/c-typeck.cc:12882 c/c-typeck.cc:13046 cp/typeck.cc:6083 + #, gcc-internal-format + msgid "comparing vectors with different element types" + msgstr "" + +-#: c/c-typeck.cc:12890 c/c-typeck.cc:13054 cp/typeck.cc:6100 ++#: c/c-typeck.cc:12890 c/c-typeck.cc:13054 cp/typeck.cc:6096 + #, gcc-internal-format + msgid "comparing vectors with different number of elements" + msgstr "" + +-#: c/c-typeck.cc:12905 c/c-typeck.cc:13069 cp/typeck.cc:6118 ++#: c/c-typeck.cc:12905 c/c-typeck.cc:13069 cp/typeck.cc:6114 + #, gcc-internal-format + msgid "comparison between types %qT and %qT" + msgstr "" + +-#: c/c-typeck.cc:12915 c/c-typeck.cc:13079 cp/typeck.cc:6135 ++#: c/c-typeck.cc:12915 c/c-typeck.cc:13079 cp/typeck.cc:6131 + #, gcc-internal-format + msgid "could not find an integer type of the same size as %qT" + msgstr "" + +-#: c/c-typeck.cc:12929 cp/typeck.cc:5771 ++#: c/c-typeck.cc:12929 cp/typeck.cc:5767 + #, gcc-internal-format + msgid "comparing floating-point with %<==%> or % is unsafe" + msgstr "" +@@ -51305,29 +51328,29 @@ msgstr "" + msgid "used vector type where scalar is required" + msgstr "" + +-#: c/c-typeck.cc:13773 cp/semantics.cc:11393 ++#: c/c-typeck.cc:13773 cp/semantics.cc:11391 + #, gcc-internal-format + msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" + msgstr "" + +-#: c/c-typeck.cc:13784 c/c-typeck.cc:13794 cp/semantics.cc:11404 +-#: cp/semantics.cc:11414 ++#: c/c-typeck.cc:13784 c/c-typeck.cc:13794 cp/semantics.cc:11402 ++#: cp/semantics.cc:11412 + #, gcc-internal-format + msgid "expected % % clause modifier" + msgstr "" + +-#: c/c-typeck.cc:13829 cp/semantics.cc:11449 ++#: c/c-typeck.cc:13829 cp/semantics.cc:11447 + #, gcc-internal-format + msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" + msgstr "" + +-#: c/c-typeck.cc:13897 cp/semantics.cc:5554 cp/semantics.cc:8562 ++#: c/c-typeck.cc:13897 cp/semantics.cc:5552 cp/semantics.cc:8560 + #, gcc-internal-format + msgid "%qD is not a variable in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13901 c/c-typeck.cc:15708 cp/semantics.cc:5558 +-#: cp/semantics.cc:8566 ++#: c/c-typeck.cc:13901 c/c-typeck.cc:15708 cp/semantics.cc:5556 ++#: cp/semantics.cc:8564 + #, gcc-internal-format + msgid "%qE is not a variable in %qs clause" + msgstr "" +@@ -51338,85 +51361,85 @@ msgid "%<_Atomic%> %qD in %qs clause" + msgstr "" + + #: c/c-typeck.cc:13919 c/c-typeck.cc:15715 c/c-typeck.cc:15869 +-#: cp/semantics.cc:5567 cp/semantics.cc:8573 cp/semantics.cc:8761 ++#: cp/semantics.cc:5565 cp/semantics.cc:8571 cp/semantics.cc:8759 + #, gcc-internal-format + msgid "%qD is threadprivate variable in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:13956 cp/semantics.cc:5601 ++#: c/c-typeck.cc:13956 cp/semantics.cc:5599 + #, gcc-internal-format + msgid "low bound %qE of array section does not have integral type" + msgstr "" + +-#: c/c-typeck.cc:13963 cp/semantics.cc:5608 ++#: c/c-typeck.cc:13963 cp/semantics.cc:5606 + #, gcc-internal-format + msgid "length %qE of array section does not have integral type" + msgstr "" + +-#: c/c-typeck.cc:13986 cp/semantics.cc:5641 ++#: c/c-typeck.cc:13986 cp/semantics.cc:5639 + #, gcc-internal-format + msgid "expected single pointer in %qs clause" + msgstr "" + + #: c/c-typeck.cc:14004 c/c-typeck.cc:14071 c/c-typeck.cc:14364 +-#: cp/semantics.cc:5659 cp/semantics.cc:5726 ++#: cp/semantics.cc:5657 cp/semantics.cc:5724 + #, gcc-internal-format + msgid "zero length array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14023 cp/semantics.cc:5678 ++#: c/c-typeck.cc:14023 cp/semantics.cc:5676 + #, gcc-internal-format + msgid "for unknown bound array type length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:14031 cp/semantics.cc:5686 ++#: c/c-typeck.cc:14031 cp/semantics.cc:5684 + #, gcc-internal-format + msgid "negative low bound in array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14040 c/c-typeck.cc:14164 cp/semantics.cc:5695 +-#: cp/semantics.cc:5819 ++#: c/c-typeck.cc:14040 c/c-typeck.cc:14164 cp/semantics.cc:5693 ++#: cp/semantics.cc:5817 + #, gcc-internal-format + msgid "negative length in array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14057 cp/semantics.cc:5712 ++#: c/c-typeck.cc:14057 cp/semantics.cc:5710 + #, gcc-internal-format + msgid "low bound %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14100 cp/semantics.cc:5755 ++#: c/c-typeck.cc:14100 cp/semantics.cc:5753 + #, gcc-internal-format + msgid "length %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14115 cp/semantics.cc:5770 ++#: c/c-typeck.cc:14115 cp/semantics.cc:5768 + #, gcc-internal-format + msgid "high bound %qE above array section size in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14152 cp/semantics.cc:5807 ++#: c/c-typeck.cc:14152 cp/semantics.cc:5805 + #, gcc-internal-format + msgid "for array function parameter length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:14156 cp/semantics.cc:5811 ++#: c/c-typeck.cc:14156 cp/semantics.cc:5809 + #, gcc-internal-format + msgid "for pointer type length expression must be specified" + msgstr "" + +-#: c/c-typeck.cc:14184 c/c-typeck.cc:14303 cp/semantics.cc:5838 +-#: cp/semantics.cc:5974 ++#: c/c-typeck.cc:14184 c/c-typeck.cc:14303 cp/semantics.cc:5836 ++#: cp/semantics.cc:5972 + #, gcc-internal-format + msgid "array section is not contiguous in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14194 cp/semantics.cc:5848 ++#: c/c-typeck.cc:14194 cp/semantics.cc:5846 + #, gcc-internal-format + msgid "%qE does not have pointer or array type" + msgstr "" + +-#: c/c-typeck.cc:14570 cp/semantics.cc:6910 ++#: c/c-typeck.cc:14570 cp/semantics.cc:6908 + #, gcc-internal-format + msgid "iterator %qD has neither integral nor pointer type" + msgstr "" +@@ -51426,17 +51449,17 @@ msgstr "" + msgid "iterator %qD has %<_Atomic%> qualified type" + msgstr "" + +-#: c/c-typeck.cc:14583 cp/semantics.cc:6917 ++#: c/c-typeck.cc:14583 cp/semantics.cc:6915 + #, gcc-internal-format + msgid "iterator %qD has const qualified type" + msgstr "" + +-#: c/c-typeck.cc:14596 cp/semantics.cc:6933 ++#: c/c-typeck.cc:14596 cp/semantics.cc:6931 + #, fuzzy, gcc-internal-format + msgid "iterator step with non-integral type" + msgstr "бітавае поле \"%s\" мае нерэчаісны тып" + +-#: c/c-typeck.cc:14616 cp/semantics.cc:6969 ++#: c/c-typeck.cc:14616 cp/semantics.cc:6967 + #, gcc-internal-format + msgid "iterator %qD has zero step" + msgstr "" +@@ -51446,32 +51469,32 @@ msgstr "" + msgid "type of iterator %qD refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14650 cp/semantics.cc:7003 ++#: c/c-typeck.cc:14650 cp/semantics.cc:7001 + #, gcc-internal-format + msgid "begin expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14656 cp/semantics.cc:7009 ++#: c/c-typeck.cc:14656 cp/semantics.cc:7007 + #, gcc-internal-format + msgid "end expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14662 cp/semantics.cc:7015 ++#: c/c-typeck.cc:14662 cp/semantics.cc:7013 + #, gcc-internal-format + msgid "step expression refers to outer iterator %qD" + msgstr "" + +-#: c/c-typeck.cc:14699 cp/semantics.cc:7063 ++#: c/c-typeck.cc:14699 cp/semantics.cc:7061 + #, gcc-internal-format + msgid "expected pointer in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:14794 cp/semantics.cc:7152 ++#: c/c-typeck.cc:14794 cp/semantics.cc:7150 + #, gcc-internal-format + msgid "% and non-% % clauses on the same construct" + msgstr "" + +-#: c/c-typeck.cc:14816 cp/semantics.cc:7172 ++#: c/c-typeck.cc:14816 cp/semantics.cc:7170 + #, gcc-internal-format + msgid "% % clause with array section" + msgstr "" +@@ -51501,7 +51524,7 @@ msgstr "" + msgid "%qE has invalid type for %" + msgstr "" + +-#: c/c-typeck.cc:14945 cp/semantics.cc:6802 ++#: c/c-typeck.cc:14945 cp/semantics.cc:6800 + #, gcc-internal-format + msgid "user defined reduction not found for %qE" + msgstr "" +@@ -51511,17 +51534,17 @@ msgstr "" + msgid "variable length element type in array % clause" + msgstr "" + +-#: c/c-typeck.cc:15051 c/c-typeck.cc:15963 cp/semantics.cc:9298 ++#: c/c-typeck.cc:15051 c/c-typeck.cc:15963 cp/semantics.cc:9296 + #, gcc-internal-format + msgid "% clause must not be used together with %" + msgstr "" + +-#: c/c-typeck.cc:15063 cp/semantics.cc:9366 ++#: c/c-typeck.cc:15063 cp/semantics.cc:9364 + #, gcc-internal-format + msgid "%qE must be % for %" + msgstr "" + +-#: c/c-typeck.cc:15078 cp/semantics.cc:7215 ++#: c/c-typeck.cc:15078 cp/semantics.cc:7213 + #, gcc-internal-format + msgid "modifier should not be specified in % clause on % or % constructs when not using OpenMP 5.2 modifiers" + msgstr "" +@@ -51536,23 +51559,23 @@ msgstr "" + msgid "%<_Atomic%> %qD in % clause" + msgstr "" + +-#: c/c-typeck.cc:15114 cp/semantics.cc:7299 ++#: c/c-typeck.cc:15114 cp/semantics.cc:7297 + #, gcc-internal-format + msgid "% clause step %qE is neither constant nor a parameter" + msgstr "" + + #: c/c-typeck.cc:15144 c/c-typeck.cc:15863 c/c-typeck.cc:16110 +-#: cp/semantics.cc:7386 cp/semantics.cc:8755 cp/semantics.cc:9106 ++#: cp/semantics.cc:7384 cp/semantics.cc:8753 cp/semantics.cc:9104 + #, gcc-internal-format + msgid "%qE is not a variable in clause %qs" + msgstr "" + +-#: c/c-typeck.cc:15161 cp/semantics.cc:7404 ++#: c/c-typeck.cc:15161 cp/semantics.cc:7402 + #, gcc-internal-format + msgid "%qD appears more than once in data-sharing clauses" + msgstr "" + +-#: c/c-typeck.cc:15172 cp/semantics.cc:7415 ++#: c/c-typeck.cc:15172 cp/semantics.cc:7413 + #, gcc-internal-format + msgid "%qD appears more than once in reduction clauses" + msgstr "" +@@ -51564,32 +51587,32 @@ msgstr "" + + #: c/c-typeck.cc:15196 c/c-typeck.cc:15264 c/c-typeck.cc:15611 + #: c/c-typeck.cc:15763 c/c-typeck.cc:15771 c/c-typeck.cc:15787 +-#: c/c-typeck.cc:15796 c/c-typeck.cc:15804 cp/semantics.cc:7429 +-#: cp/semantics.cc:7439 cp/semantics.cc:7532 cp/semantics.cc:7540 +-#: cp/semantics.cc:7587 cp/semantics.cc:8444 cp/semantics.cc:8633 +-#: cp/semantics.cc:8641 cp/semantics.cc:8661 cp/semantics.cc:8670 +-#: cp/semantics.cc:8678 ++#: c/c-typeck.cc:15796 c/c-typeck.cc:15804 cp/semantics.cc:7427 ++#: cp/semantics.cc:7437 cp/semantics.cc:7530 cp/semantics.cc:7538 ++#: cp/semantics.cc:7585 cp/semantics.cc:8442 cp/semantics.cc:8631 ++#: cp/semantics.cc:8639 cp/semantics.cc:8659 cp/semantics.cc:8668 ++#: cp/semantics.cc:8676 + #, gcc-internal-format + msgid "%qD appears more than once in data clauses" + msgstr "" + + #: c/c-typeck.cc:15199 c/c-typeck.cc:15270 c/c-typeck.cc:15807 +-#: cp/semantics.cc:7442 cp/semantics.cc:7546 cp/semantics.cc:8681 ++#: cp/semantics.cc:7440 cp/semantics.cc:7544 cp/semantics.cc:8679 + #, gcc-internal-format + msgid "%qD appears both in data and map clauses" + msgstr "" + +-#: c/c-typeck.cc:15244 cp/semantics.cc:7519 ++#: c/c-typeck.cc:15244 cp/semantics.cc:7517 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "" + +-#: c/c-typeck.cc:15284 cp/semantics.cc:7579 ++#: c/c-typeck.cc:15284 cp/semantics.cc:7577 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "" + +-#: c/c-typeck.cc:15303 cp/semantics.cc:7977 ++#: c/c-typeck.cc:15303 cp/semantics.cc:7975 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" +@@ -51609,7 +51632,7 @@ msgstr "" + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15337 cp/semantics.cc:8048 ++#: c/c-typeck.cc:15337 cp/semantics.cc:8046 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" +@@ -51619,7 +51642,7 @@ msgstr "" + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15356 cp/semantics.cc:8087 ++#: c/c-typeck.cc:15356 cp/semantics.cc:8085 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "" +@@ -51629,77 +51652,77 @@ msgstr "" + msgid "%qE appears more than once in % clauses" + msgstr "" + +-#: c/c-typeck.cc:15432 cp/semantics.cc:8213 ++#: c/c-typeck.cc:15432 cp/semantics.cc:8211 + #, gcc-internal-format + msgid "% clause with % dependence type on array section" + msgstr "" + +-#: c/c-typeck.cc:15447 cp/semantics.cc:8228 ++#: c/c-typeck.cc:15447 cp/semantics.cc:8226 + #, gcc-internal-format + msgid "% used with % kind other than % or %" + msgstr "" + +-#: c/c-typeck.cc:15455 cp/semantics.cc:8246 ++#: c/c-typeck.cc:15455 cp/semantics.cc:8244 + #, gcc-internal-format + msgid "%qE is not lvalue expression nor array section in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15476 cp/semantics.cc:8268 ++#: c/c-typeck.cc:15476 cp/semantics.cc:8266 + #, gcc-internal-format + msgid "%qE does not have % type in % clause with % dependence type" + msgstr "" + +-#: c/c-typeck.cc:15486 cp/semantics.cc:8280 ++#: c/c-typeck.cc:15486 cp/semantics.cc:8278 + #, gcc-internal-format + msgid "%qE should not have % type in % clause with dependence type other than %" + msgstr "" + +-#: c/c-typeck.cc:15547 cp/semantics.cc:8379 ++#: c/c-typeck.cc:15547 cp/semantics.cc:8377 + #, gcc-internal-format + msgid "array section does not have mappable type in %qs clause" + msgstr "" + + #: c/c-typeck.cc:15567 c/c-typeck.cc:15643 c/c-typeck.cc:15679 +-#: cp/semantics.cc:8399 cp/semantics.cc:8478 cp/semantics.cc:8514 ++#: cp/semantics.cc:8397 cp/semantics.cc:8476 cp/semantics.cc:8512 + #, fuzzy, gcc-internal-format + #| msgid "unsupported version" + msgid "unsupported map expression %qE" + msgstr "непадтрымліваемая версія" + +-#: c/c-typeck.cc:15607 c/c-typeck.cc:15784 cp/semantics.cc:8440 +-#: cp/semantics.cc:8658 ++#: c/c-typeck.cc:15607 c/c-typeck.cc:15784 cp/semantics.cc:8438 ++#: cp/semantics.cc:8656 + #, gcc-internal-format + msgid "%qD appears more than once in motion clauses" + msgstr "" + +-#: c/c-typeck.cc:15615 c/c-typeck.cc:15790 cp/semantics.cc:8448 +-#: cp/semantics.cc:8664 ++#: c/c-typeck.cc:15615 c/c-typeck.cc:15790 cp/semantics.cc:8446 ++#: cp/semantics.cc:8662 + #, gcc-internal-format + msgid "%qD appears more than once in map clauses" + msgstr "" + +-#: c/c-typeck.cc:15734 c/c-typeck.cc:15876 cp/semantics.cc:8601 +-#: cp/semantics.cc:8768 ++#: c/c-typeck.cc:15734 c/c-typeck.cc:15876 cp/semantics.cc:8599 ++#: cp/semantics.cc:8766 + #, gcc-internal-format + msgid "%qD does not have a mappable type in %qs clause" + msgstr "" + +-#: c/c-typeck.cc:15859 cp/semantics.cc:8750 ++#: c/c-typeck.cc:15859 cp/semantics.cc:8748 + #, gcc-internal-format + msgid "%qE is neither a variable nor a function name in clause %qs" + msgstr "" + +-#: c/c-typeck.cc:15885 cp/semantics.cc:8780 ++#: c/c-typeck.cc:15885 cp/semantics.cc:8778 + #, gcc-internal-format + msgid "%qE appears more than once on the same % directive" + msgstr "" + +-#: c/c-typeck.cc:15899 cp/semantics.cc:8796 ++#: c/c-typeck.cc:15899 cp/semantics.cc:8794 + #, gcc-internal-format + msgid "%qD is not an argument in % clause" + msgstr "" + +-#: c/c-typeck.cc:15902 cp/semantics.cc:8799 ++#: c/c-typeck.cc:15902 cp/semantics.cc:8797 + #, gcc-internal-format + msgid "%qE is not an argument in % clause" + msgstr "" +@@ -51714,22 +51737,22 @@ msgstr "" + msgid "%qs variable is neither a pointer nor an array" + msgstr "" + +-#: c/c-typeck.cc:15976 c/c-typeck.cc:16071 cp/semantics.cc:9260 ++#: c/c-typeck.cc:15976 c/c-typeck.cc:16071 cp/semantics.cc:9258 + #, gcc-internal-format + msgid "% clause must not be used together with %" + msgstr "" + +-#: c/c-typeck.cc:15996 cp/semantics.cc:8320 ++#: c/c-typeck.cc:15996 cp/semantics.cc:8318 + #, gcc-internal-format + msgid "too many %qs clauses on a task construct" + msgstr "" + +-#: c/c-typeck.cc:16093 cp/semantics.cc:9074 ++#: c/c-typeck.cc:16093 cp/semantics.cc:9072 + #, gcc-internal-format + msgid "% clause is incompatible with %" + msgstr "" + +-#: c/c-typeck.cc:16160 cp/semantics.cc:9437 ++#: c/c-typeck.cc:16160 cp/semantics.cc:9435 + #, gcc-internal-format + msgid "%qE is predetermined %qs for %qs" + msgstr "" +@@ -51739,38 +51762,38 @@ msgstr "" + msgid "% qualified %qE may appear only in % or % clauses" + msgstr "" + +-#: c/c-typeck.cc:16201 cp/semantics.cc:9212 ++#: c/c-typeck.cc:16201 cp/semantics.cc:9210 + #, gcc-internal-format + msgid "% clause value is bigger than % clause value" + msgstr "" + +-#: c/c-typeck.cc:16213 cp/semantics.cc:9225 ++#: c/c-typeck.cc:16213 cp/semantics.cc:9223 + #, gcc-internal-format + msgid "% schedule modifier specified together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16224 c/c-typeck.cc:16232 cp/semantics.cc:9234 +-#: cp/semantics.cc:9252 ++#: c/c-typeck.cc:16224 c/c-typeck.cc:16232 cp/semantics.cc:9232 ++#: cp/semantics.cc:9250 + #, gcc-internal-format + msgid "%qs clause specified together with % % clause" + msgstr "" + +-#: c/c-typeck.cc:16280 cp/semantics.cc:9192 ++#: c/c-typeck.cc:16280 cp/semantics.cc:9190 + #, gcc-internal-format + msgid "% clause step is a parameter %qD not specified in % clause" + msgstr "" + +-#: c/c-typeck.cc:16331 cp/semantics.cc:9242 ++#: c/c-typeck.cc:16331 cp/semantics.cc:9240 + #, gcc-internal-format + msgid "% clause must not be used together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16341 cp/semantics.cc:9271 ++#: c/c-typeck.cc:16341 cp/semantics.cc:9269 + #, gcc-internal-format + msgid "% clause must not be used together with % clause" + msgstr "" + +-#: c/c-typeck.cc:16359 cp/semantics.cc:9462 ++#: c/c-typeck.cc:16359 cp/semantics.cc:9460 + #, gcc-internal-format + msgid "the event handle of a % clause should not be in a data-sharing clause" + msgstr "" +@@ -52044,14 +52067,14 @@ msgstr "пераўтварэньне з `%T' у `%T'" + msgid " no known conversion for argument %d from %qH to %qI" + msgstr "" + +-#: cp/call.cc:3927 cp/pt.cc:7112 ++#: cp/call.cc:3927 cp/pt.cc:7123 + #, gcc-internal-format, gfc-internal-format + msgid " candidate expects at least %d argument, %d provided" + msgid_plural " candidate expects at least %d arguments, %d provided" + msgstr[0] "" + msgstr[1] "" + +-#: cp/call.cc:3932 cp/pt.cc:7117 ++#: cp/call.cc:3932 cp/pt.cc:7128 + #, gcc-internal-format, gfc-internal-format + msgid " candidate expects %d argument, %d provided" + msgid_plural " candidate expects %d arguments, %d provided" +@@ -52361,561 +52384,561 @@ msgstr "" + msgid "enumerated and non-enumerated type in conditional expression" + msgstr "" + +-#: cp/call.cc:7207 ++#: cp/call.cc:7208 + #, gcc-internal-format + msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" + msgstr "" + +-#: cp/call.cc:7209 ++#: cp/call.cc:7210 + #, gcc-internal-format + msgid "no %<%D(int)%> declared for postfix %qs" + msgstr "" + +-#: cp/call.cc:7289 ++#: cp/call.cc:7290 + #, gcc-internal-format + msgid "in C++20 this comparison calls the current function recursively with reversed arguments" + msgstr "" + +-#: cp/call.cc:7342 ++#: cp/call.cc:7343 + #, fuzzy, gcc-internal-format + #| msgid "return type of `%s' is not `int'" + msgid "return type of %qD is not %qs" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/call.cc:7344 ++#: cp/call.cc:7345 + #, gcc-internal-format + msgid "used as rewritten candidate for comparison of %qT and %qT" + msgstr "" + +-#: cp/call.cc:7427 ++#: cp/call.cc:7428 + #, gcc-internal-format + msgid "comparison between %q#T and %q#T" + msgstr "" + +-#: cp/call.cc:7614 ++#: cp/call.cc:7615 + #, gcc-internal-format + msgid "no match for call to %<%T::operator[] (%A)%>" + msgstr "" + +-#: cp/call.cc:7628 ++#: cp/call.cc:7629 + #, gcc-internal-format + msgid "call of %<%T::operator[] (%A)%> is ambiguous" + msgstr "" + +-#: cp/call.cc:7906 ++#: cp/call.cc:7907 + #, gcc-internal-format + msgid "exception cleanup for this placement new selects non-placement %" + msgstr "" + +-#: cp/call.cc:7909 ++#: cp/call.cc:7910 + #, gcc-internal-format + msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)" + msgstr "" + +-#: cp/call.cc:7946 ++#: cp/call.cc:7947 + #, gcc-internal-format + msgid "%qD is a usual (non-placement) deallocation function" + msgstr "" + +-#: cp/call.cc:8140 ++#: cp/call.cc:8141 + #, gcc-internal-format + msgid "no corresponding deallocation function for %qD" + msgstr "" + +-#: cp/call.cc:8143 ++#: cp/call.cc:8144 + #, gcc-internal-format + msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet" + msgstr "" + +-#: cp/call.cc:8152 ++#: cp/call.cc:8153 + #, fuzzy, gcc-internal-format + #| msgid "impossible operator '%s'" + msgid "no suitable % for %qT" + msgstr "немагчымы апэратар '%s'" + +-#: cp/call.cc:8188 ++#: cp/call.cc:8189 + #, gcc-internal-format + msgid "%q#D is private within this context" + msgstr "" + +-#: cp/call.cc:8189 cp/decl.cc:9113 ++#: cp/call.cc:8190 cp/decl.cc:9122 + #, fuzzy, gcc-internal-format + msgid "declared private here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/call.cc:8194 ++#: cp/call.cc:8195 + #, fuzzy, gcc-internal-format + msgid "%q#D is protected within this context" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/call.cc:8195 cp/decl.cc:9114 ++#: cp/call.cc:8196 cp/decl.cc:9123 + #, fuzzy, gcc-internal-format + #| msgid "called from here" + msgid "declared protected here" + msgstr "выклікана адсюль" + +-#: cp/call.cc:8202 ++#: cp/call.cc:8203 + #, gcc-internal-format + msgid "%q#D is inaccessible within this context" + msgstr "" + +-#: cp/call.cc:8283 ++#: cp/call.cc:8284 + #, gcc-internal-format + msgid "passing NULL to non-pointer argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8286 cp/call.cc:8305 cp/decl.cc:10850 cp/decl.cc:10858 +-#: cp/typeck.cc:4606 ++#: cp/call.cc:8287 cp/call.cc:8306 cp/decl.cc:10866 cp/decl.cc:10874 ++#: cp/typeck.cc:4602 + #, fuzzy, gcc-internal-format + #| msgid " from here" + msgid " declared here" + msgstr " адсюль" + +-#: cp/call.cc:8290 ++#: cp/call.cc:8291 + #, gcc-internal-format + msgid "converting to non-pointer type %qT from NULL" + msgstr "" + +-#: cp/call.cc:8302 ++#: cp/call.cc:8303 + #, gcc-internal-format + msgid "converting % to pointer type for argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8309 ++#: cp/call.cc:8310 + #, gcc-internal-format + msgid "converting % to pointer type %qT" + msgstr "" + +-#: cp/call.cc:8376 ++#: cp/call.cc:8377 + #, gcc-internal-format + msgid " initializing argument %P of %qD" + msgstr "" + +-#: cp/call.cc:8397 ++#: cp/call.cc:8398 + #, gcc-internal-format + msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/call.cc:8447 ++#: cp/call.cc:8448 + #, fuzzy, gcc-internal-format + msgid "too many braces around initializer for %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/call.cc:8458 ++#: cp/call.cc:8459 + msgid "converting to %qH from %qI requires direct-initialization" + msgstr "" + +-#: cp/call.cc:8470 ++#: cp/call.cc:8471 + msgid "ISO C++ does not allow converting to %qH from %qI with greater conversion rank" + msgstr "" + +-#: cp/call.cc:8478 ++#: cp/call.cc:8479 + msgid "ISO C++ does not allow converting to %qH from %qI with unordered conversion rank" + msgstr "" + +-#: cp/call.cc:8494 ++#: cp/call.cc:8495 + msgid "invalid user-defined conversion from %qH to %qI" + msgstr "" + +-#: cp/call.cc:8527 cp/cvt.cc:227 ++#: cp/call.cc:8528 cp/cvt.cc:227 + #, fuzzy + #| msgid "converting from `%T' to `%T'" + msgid "invalid conversion from %qH to %qI" + msgstr "пераўтварэньне з `%T' у `%T'" + +-#: cp/call.cc:8574 cp/call.cc:8587 ++#: cp/call.cc:8575 cp/call.cc:8588 + #, gcc-internal-format + msgid "converting to %qT from initializer list would use explicit constructor %qD" + msgstr "" + +-#: cp/call.cc:8580 ++#: cp/call.cc:8581 + #, gcc-internal-format + msgid "in C++11 and above a default constructor can be explicit" + msgstr "" + +-#: cp/call.cc:8860 ++#: cp/call.cc:8861 + msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" + msgstr "" + +-#: cp/call.cc:8869 ++#: cp/call.cc:8870 + msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI" + msgstr "" + +-#: cp/call.cc:8874 ++#: cp/call.cc:8875 + msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" + msgstr "" + + #. extype is volatile +-#: cp/call.cc:8877 ++#: cp/call.cc:8878 + msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" + msgstr "" + +-#: cp/call.cc:8890 ++#: cp/call.cc:8891 + msgid "cannot bind reference of type %qH to %qI due to different array bounds" + msgstr "" + +-#: cp/call.cc:8893 ++#: cp/call.cc:8894 + msgid "binding reference of type %qH to %qI discards qualifiers" + msgstr "" + +-#: cp/call.cc:8932 ++#: cp/call.cc:8933 + #, fuzzy, gcc-internal-format + msgid "cannot bind bit-field %qE to %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/call.cc:8935 cp/call.cc:8953 ++#: cp/call.cc:8936 cp/call.cc:8954 + #, gcc-internal-format + msgid "cannot bind packed field %qE to %qT" + msgstr "" + +-#: cp/call.cc:8938 ++#: cp/call.cc:8939 + #, fuzzy, gcc-internal-format + msgid "cannot bind rvalue %qE to %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/call.cc:9139 ++#: cp/call.cc:9140 + msgid "implicit conversion from %qH to %qI when passing argument to function" + msgstr "" + +-#: cp/call.cc:9168 cp/cvt.cc:2011 ++#: cp/call.cc:9169 cp/cvt.cc:2011 + #, gcc-internal-format + msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after" + msgstr "" + +-#: cp/call.cc:9212 ++#: cp/call.cc:9213 + #, gcc-internal-format + msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" + msgstr "" + +-#: cp/call.cc:9248 ++#: cp/call.cc:9249 + #, gcc-internal-format + msgid "cannot receive reference type %qT through %<...%>" + msgstr "" + +-#: cp/call.cc:9258 ++#: cp/call.cc:9259 + #, gcc-internal-format + msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" + msgstr "" + +-#: cp/call.cc:9326 ++#: cp/call.cc:9327 + #, fuzzy, gcc-internal-format + msgid "recursive evaluation of default argument for %q#D" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/call.cc:9335 ++#: cp/call.cc:9336 + #, gcc-internal-format + msgid "call to %qD uses the default argument for parameter %P, which is not yet defined" + msgstr "" + +-#: cp/call.cc:9435 ++#: cp/call.cc:9436 + #, gcc-internal-format + msgid "argument of function call might be a candidate for a format attribute" + msgstr "" + +-#: cp/call.cc:9515 ++#: cp/call.cc:9516 + #, gcc-internal-format + msgid "use of multiversioned function without a default" + msgstr "" + +-#: cp/call.cc:10020 ++#: cp/call.cc:10021 + #, gcc-internal-format + msgid "use %<-fdiagnostics-all-candidates%> to display considered candidates" + msgstr "" + +-#: cp/call.cc:10143 ++#: cp/call.cc:10144 + #, gcc-internal-format + msgid "passing %qT as % argument discards qualifiers" + msgstr "" + +-#: cp/call.cc:10146 cp/call.cc:12992 ++#: cp/call.cc:10147 cp/call.cc:12993 + #, gcc-internal-format + msgid " in call to %qD" + msgstr "" + +-#: cp/call.cc:10171 ++#: cp/call.cc:10172 + #, gcc-internal-format + msgid "%qT is not an accessible base of %qT" + msgstr "" + +-#: cp/call.cc:10396 ++#: cp/call.cc:10397 + #, gcc-internal-format + msgid "passing arguments to ellipsis of inherited constructor %qD" + msgstr "" + +-#: cp/call.cc:10533 ++#: cp/call.cc:10534 + #, gcc-internal-format + msgid "assignment from temporary % does not extend the lifetime of the underlying array" + msgstr "" + +-#: cp/call.cc:10900 ++#: cp/call.cc:10901 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" + msgstr "" + +-#: cp/call.cc:10903 ++#: cp/call.cc:10904 + #, gcc-internal-format + msgid "%qD writing to an object of non-trivial type %#qT%s" + msgstr "" + +-#: cp/call.cc:10908 ++#: cp/call.cc:10909 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with %qs member %qD" + msgstr "" + +-#: cp/call.cc:10913 ++#: cp/call.cc:10914 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT containing a pointer to data member%s" + msgstr "" + +-#: cp/call.cc:10928 ++#: cp/call.cc:10929 + #, gcc-internal-format + msgid "; use assignment or value-initialization instead" + msgstr "" + +-#: cp/call.cc:10930 ++#: cp/call.cc:10931 + #, gcc-internal-format + msgid "; use assignment instead" + msgstr "" + +-#: cp/call.cc:10932 ++#: cp/call.cc:10933 + #, gcc-internal-format + msgid "; use value-initialization instead" + msgstr "" + +-#: cp/call.cc:10935 ++#: cp/call.cc:10936 + #, gcc-internal-format + msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" + msgstr "" + +-#: cp/call.cc:10938 ++#: cp/call.cc:10939 + #, gcc-internal-format + msgid "%qD clearing an object of non-trivial type %#qT%s" + msgstr "" + +-#: cp/call.cc:10940 ++#: cp/call.cc:10941 + #, gcc-internal-format + msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" + msgstr "" + +-#: cp/call.cc:10961 ++#: cp/call.cc:10962 + #, gcc-internal-format + msgid "; use copy-assignment or copy-initialization instead" + msgstr "" + +-#: cp/call.cc:10963 ++#: cp/call.cc:10964 + #, gcc-internal-format + msgid "; use copy-assignment instead" + msgstr "" + +-#: cp/call.cc:10965 ++#: cp/call.cc:10966 + #, gcc-internal-format + msgid "; use copy-initialization instead" + msgstr "" + +-#: cp/call.cc:10968 ++#: cp/call.cc:10969 + #, gcc-internal-format + msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" + msgstr "" + +-#: cp/call.cc:10971 ++#: cp/call.cc:10972 + #, gcc-internal-format + msgid "%qD writing to an object of non-trivially copyable type %#qT%s" + msgstr "" + +-#: cp/call.cc:10974 ++#: cp/call.cc:10975 + #, gcc-internal-format + msgid "%qD writing to an object with a deleted copy constructor" + msgstr "" + +-#: cp/call.cc:10985 ++#: cp/call.cc:10986 + #, gcc-internal-format + msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" + msgstr "" + +-#: cp/call.cc:10997 ++#: cp/call.cc:10998 + #, gcc-internal-format + msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead" + msgstr "" + +-#: cp/call.cc:11016 ++#: cp/call.cc:11017 + #, gcc-internal-format + msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged" + msgstr "" + +-#: cp/call.cc:11019 ++#: cp/call.cc:11020 + #, gcc-internal-format + msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" + msgstr "" + +-#: cp/call.cc:11029 ++#: cp/call.cc:11030 + #, gcc-internal-format + msgid "%qD moving an object of non-trivially copyable type %#qT; use % and % instead" + msgstr "" + +-#: cp/call.cc:11032 ++#: cp/call.cc:11033 + #, gcc-internal-format + msgid "%qD moving an object of type %#qT with deleted copy constructor; use % and % instead" + msgstr "" + +-#: cp/call.cc:11035 ++#: cp/call.cc:11036 + #, gcc-internal-format + msgid "%qD moving an object of type %#qT with deleted destructor" + msgstr "" + +-#: cp/call.cc:11044 ++#: cp/call.cc:11045 + #, gcc-internal-format + msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E" + msgstr "" + +-#: cp/call.cc:11066 ++#: cp/call.cc:11067 + #, gcc-internal-format + msgid "%#qT declared here" + msgstr "" + +-#: cp/call.cc:11120 ++#: cp/call.cc:11121 + #, gcc-internal-format + msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)" + msgstr "" + +-#: cp/call.cc:11187 ++#: cp/call.cc:11188 + #, gcc-internal-format + msgid "constructor delegates to itself" + msgstr "" + +-#: cp/call.cc:11462 cp/typeck.cc:10390 ++#: cp/call.cc:11463 cp/typeck.cc:10386 + msgid "cannot convert %qH to %qI" + msgstr "" + +-#: cp/call.cc:11484 ++#: cp/call.cc:11485 + #, gcc-internal-format + msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" + msgstr "" + +-#: cp/call.cc:11516 ++#: cp/call.cc:11517 + #, gcc-internal-format + msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" + msgstr "" + +-#: cp/call.cc:11564 ++#: cp/call.cc:11565 + #, gcc-internal-format + msgid "call to non-function %qD" + msgstr "" + +-#: cp/call.cc:11602 cp/pt.cc:17172 cp/typeck.cc:3483 ++#: cp/call.cc:11603 cp/pt.cc:17213 cp/typeck.cc:3479 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "" + +-#: cp/call.cc:11604 ++#: cp/call.cc:11605 + #, gcc-internal-format + msgid "for a function-style cast, remove the redundant %<::%D%>" + msgstr "" + +-#: cp/call.cc:11786 ++#: cp/call.cc:11787 + #, gcc-internal-format + msgid "no matching function for call to %<%s(%A)%>" + msgstr "" + +-#: cp/call.cc:11789 ++#: cp/call.cc:11790 + #, gcc-internal-format + msgid "call of overloaded %<%s(%A)%> is ambiguous" + msgstr "" + +-#: cp/call.cc:11812 ++#: cp/call.cc:11813 + #, gcc-internal-format + msgid "pure virtual %q#D called from non-static data member initializer" + msgstr "" + +-#: cp/call.cc:11817 ++#: cp/call.cc:11818 + #, gcc-internal-format + msgid "pure virtual %q#D called from constructor" + msgstr "" + +-#: cp/call.cc:11818 ++#: cp/call.cc:11819 + #, gcc-internal-format + msgid "pure virtual %q#D called from destructor" + msgstr "" + +-#: cp/call.cc:11841 ++#: cp/call.cc:11842 + #, gcc-internal-format + msgid "cannot call member function %qD without object" + msgstr "" + +-#: cp/call.cc:12990 ++#: cp/call.cc:12991 + #, gcc-internal-format + msgid "passing %qT chooses %qT over %qT" + msgstr "" + +-#: cp/call.cc:13016 ++#: cp/call.cc:13017 + #, gcc-internal-format + msgid "C++20 says that these are ambiguous, even though the second is reversed:" + msgstr "" + +-#: cp/call.cc:13039 ++#: cp/call.cc:13040 + #, gcc-internal-format + msgid "try making the operator a % member function" + msgstr "" + +-#: cp/call.cc:13102 ++#: cp/call.cc:13103 + #, gcc-internal-format + msgid "choosing %qD over %qD" + msgstr "" + +-#: cp/call.cc:13103 ++#: cp/call.cc:13104 + #, fuzzy + #| msgid "converting from `%T' to `%T'" + msgid " for conversion from %qH to %qI" + msgstr "пераўтварэньне з `%T' у `%T'" + +-#: cp/call.cc:13106 ++#: cp/call.cc:13107 + #, gcc-internal-format + msgid " because conversion sequence for the argument is better" + msgstr "" + +-#: cp/call.cc:13390 ++#: cp/call.cc:13391 + #, gcc-internal-format + msgid "default argument mismatch in overload resolution" + msgstr "" + +-#: cp/call.cc:13394 ++#: cp/call.cc:13395 + #, gcc-internal-format + msgid " candidate 1: %q#F" + msgstr "" + +-#: cp/call.cc:13396 ++#: cp/call.cc:13397 + #, gcc-internal-format + msgid " candidate 2: %q#F" + msgstr "" + +-#: cp/call.cc:13442 ++#: cp/call.cc:13443 + #, gcc-internal-format + msgid "ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:" + msgstr "" + +-#: cp/call.cc:13850 ++#: cp/call.cc:13855 + #, gcc-internal-format + msgid "a temporary bound to %qD only persists until the constructor exits" + msgstr "" + +-#: cp/call.cc:14003 ++#: cp/call.cc:14008 + msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI" + msgstr "" + +-#: cp/call.cc:14007 ++#: cp/call.cc:14012 + msgid "invalid initialization of reference of type %qH from expression of type %qI" + msgstr "" + +-#: cp/call.cc:14325 ++#: cp/call.cc:14330 + #, gcc-internal-format + msgid "possibly dangling reference to a temporary" + msgstr "" + +-#: cp/call.cc:14326 ++#: cp/call.cc:14331 + #, gcc-internal-format + msgid "the temporary was destroyed at the end of the full expression %qE" + msgstr "" + +-#: cp/call.cc:14594 ++#: cp/call.cc:14599 + #, gcc-internal-format + msgid "explicit conversion function was not considered" + msgstr "" +@@ -52961,7 +52984,7 @@ msgid "%q#D cannot be overloaded with %q#D" + msgstr "" + + #: cp/class.cc:1459 cp/decl.cc:1928 cp/decl.cc:1940 cp/decl.cc:1965 +-#: cp/decl.cc:1988 cp/name-lookup.cc:2895 cp/name-lookup.cc:3213 ++#: cp/decl.cc:1988 cp/name-lookup.cc:2899 cp/name-lookup.cc:3217 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%D'" + msgid "previous declaration %q#D" +@@ -53385,7 +53408,7 @@ msgstr "" + msgid "next member %q#D declared here" + msgstr "" + +-#: cp/class.cc:7785 cp/decl.cc:17643 cp/parser.cc:27638 ++#: cp/class.cc:7785 cp/decl.cc:17649 cp/parser.cc:27638 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "redefinition of %q#T" +@@ -53518,7 +53541,7 @@ msgstr "" + msgid "lambdas are implicitly % only in C++17 and later" + msgstr "" + +-#: cp/constexpr.cc:270 cp/decl.cc:14678 ++#: cp/constexpr.cc:270 cp/decl.cc:14694 + #, gcc-internal-format + msgid "% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" +@@ -53559,7 +53582,7 @@ msgstr "" + msgid "%qD is not usable as a % function because:" + msgstr "" + +-#: cp/constexpr.cc:1315 cp/constexpr.cc:6363 ++#: cp/constexpr.cc:1315 cp/constexpr.cc:6364 + #, gcc-internal-format + msgid "destroying %qE outside its lifetime" + msgstr "" +@@ -53577,7 +53600,7 @@ msgstr "" + msgid "%q+E is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:1898 cp/constexpr.cc:5929 cp/constexpr.cc:8238 ++#: cp/constexpr.cc:1898 cp/constexpr.cc:5930 cp/constexpr.cc:8242 + #: rust/backend/rust-constexpr.cc:875 rust/backend/rust-constexpr.cc:2494 + #, gcc-internal-format + msgid "dereferencing a null pointer" +@@ -53598,7 +53621,7 @@ msgstr "" + msgid "failed % attribute assumption" + msgstr "" + +-#: cp/constexpr.cc:2203 cp/constexpr.cc:9688 ++#: cp/constexpr.cc:2203 cp/constexpr.cc:9692 + #: rust/backend/rust-constexpr.cc:5758 + #, fuzzy, gcc-internal-format + #| msgid "can't initialize friend function `%s'" +@@ -53647,7 +53670,7 @@ msgstr "" + msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" + msgstr "" + +-#: cp/constexpr.cc:2734 cp/constexpr.cc:3014 cp/constexpr.cc:9724 ++#: cp/constexpr.cc:2734 cp/constexpr.cc:3014 cp/constexpr.cc:9728 + #: rust/backend/rust-constexpr.cc:5789 + #, gcc-internal-format + msgid "call to non-% function %qD" +@@ -53775,18 +53798,18 @@ msgstr "" + msgid "nonzero array subscript %qE is used with array of type %qT with unknown bounds" + msgstr "" + +-#: cp/constexpr.cc:4514 rust/backend/rust-constexpr.cc:1667 ++#: cp/constexpr.cc:4515 rust/backend/rust-constexpr.cc:1667 + #, fuzzy, gcc-internal-format + msgid "accessing uninitialized array element" + msgstr "прапушчан ініцыялізатар" + +-#: cp/constexpr.cc:4576 rust/backend/rust-constexpr.cc:1724 ++#: cp/constexpr.cc:4577 rust/backend/rust-constexpr.cc:1724 + #, gcc-internal-format + msgid "dereferencing a null pointer in %qE" + msgstr "" + +-#: cp/constexpr.cc:4595 cp/constexpr.cc:4711 cp/constexpr.cc:4723 +-#: cp/constexpr.cc:7422 cp/constexpr.cc:7552 cp/constexpr.cc:9638 ++#: cp/constexpr.cc:4596 cp/constexpr.cc:4712 cp/constexpr.cc:4724 ++#: cp/constexpr.cc:7423 cp/constexpr.cc:7553 cp/constexpr.cc:9642 + #: rust/backend/rust-constexpr.cc:1738 rust/backend/rust-constexpr.cc:1983 + #: rust/backend/rust-constexpr.cc:2225 rust/backend/rust-constexpr.cc:4743 + #: rust/backend/rust-constexpr.cc:5712 +@@ -53794,474 +53817,474 @@ msgstr "" + msgid "%qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:4603 rust/backend/rust-constexpr.cc:1744 ++#: cp/constexpr.cc:4604 rust/backend/rust-constexpr.cc:1744 + #, fuzzy, gcc-internal-format + msgid "mutable %qD is not usable in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:4635 cp/constexpr.cc:4671 cp/constexpr.cc:6527 ++#: cp/constexpr.cc:4636 cp/constexpr.cc:4672 cp/constexpr.cc:6528 + #: rust/backend/rust-constexpr.cc:1774 rust/backend/rust-constexpr.cc:1797 + #, fuzzy, gcc-internal-format + msgid "accessing uninitialized member %qD" + msgstr "прапушчан ініцыялізатар" + +-#: cp/constexpr.cc:4637 cp/constexpr.cc:4650 cp/constexpr.cc:6522 ++#: cp/constexpr.cc:4638 cp/constexpr.cc:4651 cp/constexpr.cc:6523 + #: rust/backend/rust-constexpr.cc:1776 + #, gcc-internal-format + msgid "accessing %qD member instead of initialized %qD member in constant expression" + msgstr "" + +-#: cp/constexpr.cc:4789 ++#: cp/constexpr.cc:4790 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT is a union type" + msgstr "" + +-#: cp/constexpr.cc:4792 ++#: cp/constexpr.cc:4793 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT contains a union type" + msgstr "" + +-#: cp/constexpr.cc:4803 ++#: cp/constexpr.cc:4804 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT is a pointer type" + msgstr "" + +-#: cp/constexpr.cc:4806 ++#: cp/constexpr.cc:4807 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT contains a pointer type" + msgstr "" + +-#: cp/constexpr.cc:4817 ++#: cp/constexpr.cc:4818 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT is a reference type" + msgstr "" + +-#: cp/constexpr.cc:4820 ++#: cp/constexpr.cc:4821 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT contains a reference type" + msgstr "" + +-#: cp/constexpr.cc:4831 ++#: cp/constexpr.cc:4832 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT is a pointer to member type" + msgstr "" + +-#: cp/constexpr.cc:4835 ++#: cp/constexpr.cc:4836 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT contains a pointer to member type" + msgstr "" + +-#: cp/constexpr.cc:4846 ++#: cp/constexpr.cc:4847 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT is volatile" + msgstr "" + +-#: cp/constexpr.cc:4849 ++#: cp/constexpr.cc:4850 + #, gcc-internal-format + msgid "%qs is not a constant expression because %qT contains a volatile subobject" + msgstr "" + +-#: cp/constexpr.cc:5004 ++#: cp/constexpr.cc:5005 + #, gcc-internal-format + msgid "%qs cannot be constant evaluated on the target" + msgstr "" + +-#: cp/constexpr.cc:5013 cp/constexpr.cc:5023 ++#: cp/constexpr.cc:5014 cp/constexpr.cc:5024 + #, gcc-internal-format + msgid "%qs cannot be constant evaluated because the type is too large" + msgstr "" + +-#: cp/constexpr.cc:5043 ++#: cp/constexpr.cc:5044 + #, gcc-internal-format + msgid "%qs cannot be constant evaluated because the argument cannot be encoded" + msgstr "" + +-#: cp/constexpr.cc:5089 ++#: cp/constexpr.cc:5090 + #, gcc-internal-format + msgid "%qs accessing uninitialized byte at offset %d" + msgstr "" + +-#: cp/constexpr.cc:5101 ++#: cp/constexpr.cc:5102 + #, gcc-internal-format + msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" + msgstr "" + +-#: cp/constexpr.cc:5949 rust/backend/rust-constexpr.cc:895 ++#: cp/constexpr.cc:5950 rust/backend/rust-constexpr.cc:895 + #, gcc-internal-format + msgid "accessing value of %qE through a %qT glvalue in a constant expression" + msgstr "" + + #. Provide a more accurate message for deleted variables. +-#: cp/constexpr.cc:5989 cp/constexpr.cc:6022 ++#: cp/constexpr.cc:5990 cp/constexpr.cc:6023 + #, fuzzy, gcc-internal-format + msgid "use of allocated storage after deallocation in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:5991 cp/constexpr.cc:6017 cp/constexpr.cc:6024 +-#: cp/constexpr.cc:6358 ++#: cp/constexpr.cc:5992 cp/constexpr.cc:6018 cp/constexpr.cc:6025 ++#: cp/constexpr.cc:6359 + #, fuzzy, gcc-internal-format + #| msgid "called from here" + msgid "allocated here" + msgstr "выклікана адсюль" + +-#: cp/constexpr.cc:5995 ++#: cp/constexpr.cc:5996 + #, gcc-internal-format + msgid "accessing %qE outside its lifetime" + msgstr "" + +-#: cp/constexpr.cc:6015 ++#: cp/constexpr.cc:6016 + #, fuzzy, gcc-internal-format + msgid "the content of uninitialized storage is not usable in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:6027 rust/backend/rust-constexpr.cc:4041 ++#: cp/constexpr.cc:6028 rust/backend/rust-constexpr.cc:4041 + #, fuzzy, gcc-internal-format + msgid "the value of %qD is not usable in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:6035 ++#: cp/constexpr.cc:6036 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "%qD used in its own initializer" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/constexpr.cc:6040 ++#: cp/constexpr.cc:6041 + #, fuzzy, gcc-internal-format + #| msgid "`%D' is not a function," + msgid "%q#D is not const" + msgstr "`%D' - гэта ня функцыя," + +-#: cp/constexpr.cc:6043 ++#: cp/constexpr.cc:6044 + #, gcc-internal-format + msgid "%q#D is volatile" + msgstr "" + +-#: cp/constexpr.cc:6048 cp/constexpr.cc:6055 ++#: cp/constexpr.cc:6049 cp/constexpr.cc:6056 + #, fuzzy, gcc-internal-format + msgid "%qD was not initialized with a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:6061 ++#: cp/constexpr.cc:6062 + #, fuzzy, gcc-internal-format + msgid "%qD was not declared %" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/constexpr.cc:6064 ++#: cp/constexpr.cc:6065 + #, gcc-internal-format + msgid "%qD does not have integral or enumeration type" + msgstr "" + +-#: cp/constexpr.cc:6356 ++#: cp/constexpr.cc:6357 + #, gcc-internal-format + msgid "modification of allocated storage after deallocation is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6365 ++#: cp/constexpr.cc:6366 + #, gcc-internal-format + msgid "modification of %qE outside its lifetime is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6372 ++#: cp/constexpr.cc:6373 + #, gcc-internal-format + msgid "destroying %qE from outside current evaluation is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6375 ++#: cp/constexpr.cc:6376 + #, gcc-internal-format + msgid "modification of %qE from outside current evaluation is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:6502 ++#: cp/constexpr.cc:6503 + #, gcc-internal-format + msgid "change of the active member of a union from %qD to %qD is not a constant expression before C++20" + msgstr "" + +-#: cp/constexpr.cc:6531 ++#: cp/constexpr.cc:6532 + #, gcc-internal-format + msgid "%qD does not implicitly begin its lifetime because %qT does not have a non-deleted trivial default constructor, use % instead" + msgstr "" + +-#: cp/constexpr.cc:6538 ++#: cp/constexpr.cc:6539 + #, gcc-internal-format + msgid "initializing %qD requires a member access expression as the left operand of the assignment" + msgstr "" + +-#: cp/constexpr.cc:6550 rust/backend/rust-constexpr.cc:2822 ++#: cp/constexpr.cc:6551 rust/backend/rust-constexpr.cc:2822 + #, gcc-internal-format + msgid "change of the active member of a union from %qD to %qD during initialization" + msgstr "" + +-#: cp/constexpr.cc:6998 cp/constexpr.cc:8587 cp/constexpr.cc:8599 ++#: cp/constexpr.cc:6999 cp/constexpr.cc:8591 cp/constexpr.cc:8603 + #: rust/backend/rust-constexpr.cc:4668 + #, fuzzy, gcc-internal-format + msgid "statement is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7094 rust/backend/rust-constexpr.cc:4933 ++#: cp/constexpr.cc:7095 rust/backend/rust-constexpr.cc:4933 + #, gcc-internal-format + msgid "% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)" + msgstr "" + +-#: cp/constexpr.cc:7201 rust/backend/rust-constexpr.cc:999 ++#: cp/constexpr.cc:7202 rust/backend/rust-constexpr.cc:999 + #, fuzzy, gcc-internal-format + msgid "inline assembly is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7203 rust/backend/rust-constexpr.cc:1000 ++#: cp/constexpr.cc:7204 rust/backend/rust-constexpr.cc:1000 + #, gcc-internal-format + msgid "only unevaluated inline assembly is allowed in a % function in C++20" + msgstr "" + +-#: cp/constexpr.cc:7221 ++#: cp/constexpr.cc:7222 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%D'" + msgid "use of %qD" + msgstr "нерэчаіснае выкарыстаньне `%D'" + +-#: cp/constexpr.cc:7225 ++#: cp/constexpr.cc:7226 + #, gcc-internal-format + msgid "its value can vary between compiler versions or with different %<-mtune%> or %<-mcpu%> flags" + msgstr "" + +-#: cp/constexpr.cc:7227 ++#: cp/constexpr.cc:7228 + #, gcc-internal-format + msgid "if this use is part of a public ABI, change it to instead use a constant variable you define" + msgstr "" + +-#: cp/constexpr.cc:7229 ++#: cp/constexpr.cc:7230 + #, gcc-internal-format, gfc-internal-format + msgid "the default value for the current CPU tuning is %d bytes" + msgstr "" + +-#: cp/constexpr.cc:7231 ++#: cp/constexpr.cc:7232 + #, gcc-internal-format + msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>" + msgstr "" + +-#: cp/constexpr.cc:7384 ++#: cp/constexpr.cc:7385 + #, fuzzy, gcc-internal-format + msgid "value %qE of type %qT is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:7397 ++#: cp/constexpr.cc:7398 + #, gcc-internal-format + msgid "% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)" + msgstr "" + +-#: cp/constexpr.cc:7582 ++#: cp/constexpr.cc:7583 + #, gcc-internal-format + msgid "control passes through definition of %qD with thread storage duration" + msgstr "" + +-#: cp/constexpr.cc:7585 ++#: cp/constexpr.cc:7586 + #, gcc-internal-format + msgid "control passes through definition of %qD with static storage duration" + msgstr "" + +-#: cp/constexpr.cc:7650 cp/constexpr.cc:10332 ++#: cp/constexpr.cc:7651 cp/constexpr.cc:10336 + #: rust/backend/rust-constexpr.cc:2056 rust/backend/rust-constexpr.cc:6206 + #, fuzzy, gcc-internal-format + msgid "temporary of non-literal type %qT in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8099 cp/constexpr.cc:9839 ++#: cp/constexpr.cc:8100 cp/constexpr.cc:9843 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8127 rust/backend/rust-constexpr.cc:2461 ++#: cp/constexpr.cc:8131 rust/backend/rust-constexpr.cc:2461 + #, gcc-internal-format + msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" + msgstr "" + +-#: cp/constexpr.cc:8177 ++#: cp/constexpr.cc:8181 + #, gcc-internal-format + msgid "cast from %qT is not allowed in a constant expression because pointed-to type %qT is not similar to %qT" + msgstr "" + +-#: cp/constexpr.cc:8184 ++#: cp/constexpr.cc:8188 + #, gcc-internal-format + msgid "pointed-to object declared here" + msgstr "" + +-#: cp/constexpr.cc:8189 ++#: cp/constexpr.cc:8193 + #, gcc-internal-format + msgid "cast from %qT is not allowed in a constant expression because %qE does not point to an object" + msgstr "" + +-#: cp/constexpr.cc:8201 ++#: cp/constexpr.cc:8205 + #, fuzzy, gcc-internal-format + msgid "cast from %qT is not allowed in a constant expression before C++26" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8215 ++#: cp/constexpr.cc:8219 + #, gcc-internal-format + msgid "%qE is not a constant expression when the class %qT is still incomplete" + msgstr "" + +-#: cp/constexpr.cc:8249 rust/backend/rust-constexpr.cc:2506 ++#: cp/constexpr.cc:8253 rust/backend/rust-constexpr.cc:2506 + #, gcc-internal-format + msgid "%(%E)%> is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:8387 cp/constexpr.cc:10150 cp/constexpr.cc:10555 ++#: cp/constexpr.cc:8391 cp/constexpr.cc:10154 cp/constexpr.cc:10559 + #: rust/backend/rust-constexpr.cc:6100 rust/backend/rust-constexpr.cc:6415 + #, fuzzy, gcc-internal-format + msgid "expression %qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8432 cp/constexpr.cc:10596 ++#: cp/constexpr.cc:8436 cp/constexpr.cc:10600 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8490 ++#: cp/constexpr.cc:8494 + #, gcc-internal-format + msgid "contract predicate is false in constant expression" + msgstr "" + +-#: cp/constexpr.cc:8506 ++#: cp/constexpr.cc:8510 + #, gcc-internal-format + msgid "unexpected template-id %qE" + msgstr "" + +-#: cp/constexpr.cc:8512 cp/constraint.cc:178 cp/constraint.cc:755 ++#: cp/constexpr.cc:8516 cp/constraint.cc:178 cp/constraint.cc:755 + #, gcc-internal-format + msgid "function concept must be called" + msgstr "" + +-#: cp/constexpr.cc:8537 ++#: cp/constexpr.cc:8541 + #, fuzzy, gcc-internal-format + msgid "address of a call to %qs is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:8602 ++#: cp/constexpr.cc:8606 + #, gcc-internal-format + msgid "unexpected expression %qE of kind %s" + msgstr "" + +-#: cp/constexpr.cc:8878 rust/backend/rust-constexpr.cc:5158 ++#: cp/constexpr.cc:8882 rust/backend/rust-constexpr.cc:5158 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" + msgstr "" + +-#: cp/constexpr.cc:8886 rust/backend/rust-constexpr.cc:5167 ++#: cp/constexpr.cc:8890 rust/backend/rust-constexpr.cc:5167 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" + msgstr "" + +-#: cp/constexpr.cc:8902 rust/backend/rust-constexpr.cc:5183 ++#: cp/constexpr.cc:8906 rust/backend/rust-constexpr.cc:5183 + #, gcc-internal-format + msgid "%qE is not a constant expression because it refers to a result of %" + msgstr "" + +-#: cp/constexpr.cc:8913 rust/backend/rust-constexpr.cc:5195 ++#: cp/constexpr.cc:8917 rust/backend/rust-constexpr.cc:5195 + #, gcc-internal-format + msgid "%qE is not a constant expression because allocated storage has not been deallocated" + msgstr "" + +-#: cp/constexpr.cc:8933 rust/backend/rust-constexpr.cc:5213 ++#: cp/constexpr.cc:8937 rust/backend/rust-constexpr.cc:5213 + #, gcc-internal-format + msgid "immediate evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:8937 ++#: cp/constexpr.cc:8941 + #, gcc-internal-format + msgid "constant evaluation returns address of immediate function %qD" + msgstr "" + +-#: cp/constexpr.cc:9575 rust/backend/rust-constexpr.cc:5667 ++#: cp/constexpr.cc:9579 rust/backend/rust-constexpr.cc:5667 + #, gcc-internal-format + msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" + msgstr "" + +-#: cp/constexpr.cc:9804 ++#: cp/constexpr.cc:9808 + #, fuzzy, gcc-internal-format + msgid "lambda capture of %qE is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:9807 ++#: cp/constexpr.cc:9811 + #, gcc-internal-format + msgid "because it is used as a glvalue" + msgstr "" + +-#: cp/constexpr.cc:9863 rust/backend/rust-constexpr.cc:5893 ++#: cp/constexpr.cc:9867 rust/backend/rust-constexpr.cc:5893 + #, gcc-internal-format + msgid "% from integer to pointer" + msgstr "" + +-#: cp/constexpr.cc:9897 rust/backend/rust-constexpr.cc:5921 ++#: cp/constexpr.cc:9901 rust/backend/rust-constexpr.cc:5921 + #, gcc-internal-format + msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" + msgstr "" + +-#: cp/constexpr.cc:9936 ++#: cp/constexpr.cc:9940 + #, fuzzy, gcc-internal-format + msgid "use of % in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:10085 ++#: cp/constexpr.cc:10089 + #, gcc-internal-format + msgid "lambda-expression is not a constant expression before C++17" + msgstr "" + +-#: cp/constexpr.cc:10097 ++#: cp/constexpr.cc:10101 + #, gcc-internal-format + msgid "new-expression is not a constant expression before C++20" + msgstr "" + +-#: cp/constexpr.cc:10164 ++#: cp/constexpr.cc:10168 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual functions cannot be % before C++20" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/constexpr.cc:10180 ++#: cp/constexpr.cc:10184 + #, gcc-internal-format + msgid "% is not a constant expression because %qE is of polymorphic type" + msgstr "" + +-#: cp/constexpr.cc:10243 ++#: cp/constexpr.cc:10247 + #, fuzzy, gcc-internal-format + msgid "cast to non-integral type %qT in a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:10296 ++#: cp/constexpr.cc:10300 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:10304 ++#: cp/constexpr.cc:10308 + #, gcc-internal-format + msgid "%qD defined % in % context" + msgstr "" + +-#: cp/constexpr.cc:10382 rust/backend/rust-constexpr.cc:6251 ++#: cp/constexpr.cc:10386 rust/backend/rust-constexpr.cc:6251 + #, fuzzy, gcc-internal-format + msgid "division by zero is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:10483 rust/backend/rust-constexpr.cc:6349 ++#: cp/constexpr.cc:10487 rust/backend/rust-constexpr.cc:6349 + #, fuzzy, gcc-internal-format + msgid "% is not a constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/constexpr.cc:10552 ++#: cp/constexpr.cc:10556 + #, gcc-internal-format + msgid "neither branch of % is a constant expression" + msgstr "" + +-#: cp/constexpr.cc:10565 ++#: cp/constexpr.cc:10569 + #, fuzzy, gcc-internal-format + msgid "non-constant array initialization" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/constexpr.cc:10613 rust/backend/rust-constexpr.cc:6427 ++#: cp/constexpr.cc:10617 rust/backend/rust-constexpr.cc:6427 + #, gcc-internal-format + msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/constexpr.cc:10644 rust/backend/rust-constexpr.cc:6438 ++#: cp/constexpr.cc:10648 rust/backend/rust-constexpr.cc:6438 + #, gcc-internal-format, gfc-internal-format + msgid "unexpected AST of kind %s" + msgstr "" +@@ -54984,7 +55007,7 @@ msgstr "аргумент `__builtin_args_info' павінен быць канс + msgid "no suspend point info for %qD" + msgstr "" + +-#: cp/coroutines.cc:2102 cp/coroutines.cc:4657 ++#: cp/coroutines.cc:2102 cp/coroutines.cc:4652 + #, gcc-internal-format + msgid "%qE is provided by %qT but is not usable with the function signature %qD" + msgstr "" +@@ -55005,23 +55028,23 @@ msgstr "" + msgid "variable length arrays are not yet supported in coroutines" + msgstr "" + +-#: cp/coroutines.cc:4662 ++#: cp/coroutines.cc:4657 + #, gcc-internal-format + msgid "%qE is provided by %qT but %qE is not marked % or %" + msgstr "" + +-#: cp/coroutines.cc:4665 ++#: cp/coroutines.cc:4660 + #, gcc-internal-format + msgid "%qE is marked % or % but no usable % is provided by %qT" + msgstr "" + +-#: cp/coroutines.cc:4694 ++#: cp/coroutines.cc:4689 + #, gcc-internal-format + msgid "%qE is provided by %qT but % cannot be found" + msgstr "" + + #. We can't initialize a non-class return value from void. +-#: cp/coroutines.cc:5076 ++#: cp/coroutines.cc:5064 + #, gcc-internal-format + msgid "cannot initialize a return object of type %qT with an rvalue of type %" + msgstr "" +@@ -55041,68 +55064,68 @@ msgstr "" + msgid "%qD was promoted to an immediate function" + msgstr "" + +-#: cp/cp-gimplify.cc:1164 ++#: cp/cp-gimplify.cc:1174 + #, gcc-internal-format + msgid "taking address of an immediate function %qD" + msgstr "" + +-#: cp/cp-gimplify.cc:1263 ++#: cp/cp-gimplify.cc:1273 + #, gcc-internal-format + msgid "call to consteval function %qE is not a constant expression" + msgstr "" + +-#: cp/cp-gimplify.cc:2002 ++#: cp/cp-gimplify.cc:2012 + #, gcc-internal-format + msgid "% will always call %" + msgstr "" + +-#: cp/cp-gimplify.cc:2005 ++#: cp/cp-gimplify.cc:2015 + #, gcc-internal-format + msgid "in C++11 destructors default to %" + msgstr "" + +-#: cp/cp-gimplify.cc:2017 ++#: cp/cp-gimplify.cc:2027 + #, gcc-internal-format + msgid "in C++11 this % will call % because destructors default to %" + msgstr "" + +-#: cp/cp-gimplify.cc:3614 ++#: cp/cp-gimplify.cc:3624 + #, gcc-internal-format + msgid "ignoring attribute %qE after earlier %qE" + msgstr "" + +-#: cp/cp-gimplify.cc:3656 ++#: cp/cp-gimplify.cc:3666 + #, gcc-internal-format + msgid "pack expansion of %qE attribute" + msgstr "" + +-#: cp/cp-gimplify.cc:3659 ++#: cp/cp-gimplify.cc:3669 + #, gcc-internal-format + msgid "use fold expression in the attribute argument instead" + msgstr "" + +-#: cp/cp-gimplify.cc:3698 cp/cp-gimplify.cc:3710 cp/decl.cc:4456 ++#: cp/cp-gimplify.cc:3708 cp/cp-gimplify.cc:3720 cp/decl.cc:4465 + #: cp/method.cc:984 + #, fuzzy, gcc-internal-format + msgid "%qD is not a type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/cp-gimplify.cc:3716 ++#: cp/cp-gimplify.cc:3726 + #, fuzzy, gcc-internal-format + msgid "%qD is not a class type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/cp-gimplify.cc:3733 ++#: cp/cp-gimplify.cc:3743 + #, gcc-internal-format + msgid "%qD does not have % type" + msgstr "" + +-#: cp/cp-gimplify.cc:3743 ++#: cp/cp-gimplify.cc:3753 + #, fuzzy, gcc-internal-format + msgid "%qD does not have integral type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/cp-gimplify.cc:3755 ++#: cp/cp-gimplify.cc:3765 + #, gcc-internal-format + msgid "% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>" + msgstr "" +@@ -55144,7 +55167,7 @@ msgstr "" + msgid "conversion from %qH to %qI discards qualifiers" + msgstr "" + +-#: cp/cvt.cc:498 cp/typeck.cc:8827 ++#: cp/cvt.cc:498 cp/typeck.cc:8823 + #, gcc-internal-format + msgid "casting %qT to %qT does not dereference pointer" + msgstr "" +@@ -55532,7 +55555,7 @@ msgstr "папярэдняе абвяшчэньне `%D'" + msgid "redeclaration %qD differs in %qs from previous declaration" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:1446 cp/decl.cc:16620 ++#: cp/decl.cc:1446 cp/decl.cc:16636 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%D'" + msgid "previous declaration %qD" +@@ -55677,8 +55700,8 @@ msgstr "няма папярэдняга аб'яўлення для \"%s\"" + msgid "%q#D previously defined here" + msgstr "папярэдняе вызначэньне" + +-#: cp/decl.cc:2089 cp/name-lookup.cc:3366 cp/name-lookup.cc:3404 +-#: cp/name-lookup.cc:3430 ++#: cp/decl.cc:2089 cp/name-lookup.cc:3370 cp/name-lookup.cc:3408 ++#: cp/name-lookup.cc:3434 + #, fuzzy, gcc-internal-format + msgid "%q#D previously declared here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" +@@ -55754,54 +55777,39 @@ msgstr "нехапае аргументаў у функцыі \"%s\"" + msgid "previous specification in %q#D here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:2285 +-#, fuzzy, gcc-internal-format +-msgid "declaration %qD conflicts with builtin" +-msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" +- +-#: cp/decl.cc:2288 +-#, fuzzy, gcc-internal-format +-msgid "declaration %qD conflicts with import" +-msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" +- +-#: cp/decl.cc:2289 +-#, fuzzy, gcc-internal-format +-msgid "import declared %q#D here" +-msgstr "няма папярэдняга аб'яўлення для \"%s\"" +- +-#: cp/decl.cc:2306 cp/decl.cc:16643 ++#: cp/decl.cc:2300 cp/decl.cc:16654 + #, fuzzy, gcc-internal-format + #| msgid "conflicts with previous declaration `%#D'" + msgid "conflicting exporting for declaration %qD" + msgstr "канфлікт з папярэднім абвяшчэньнем `%#D'" + +-#: cp/decl.cc:2308 cp/decl.cc:16645 ++#: cp/decl.cc:2302 cp/decl.cc:16656 + #, gcc-internal-format + msgid "previously declared here without exporting" + msgstr "" + +-#: cp/decl.cc:2335 ++#: cp/decl.cc:2330 + #, fuzzy, gcc-internal-format + #| msgid "previous definition here" + msgid "previous definition of %qD here" + msgstr "папярэдняе вызначэньне" + +-#: cp/decl.cc:2336 ++#: cp/decl.cc:2331 + #, fuzzy, gcc-internal-format + msgid "previous declaration of %qD here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:2349 ++#: cp/decl.cc:2344 + #, gcc-internal-format + msgid "function %qD declared %<[[noreturn]]%> but its first declaration was not" + msgstr "" + +-#: cp/decl.cc:2396 ++#: cp/decl.cc:2391 + #, fuzzy, gcc-internal-format + msgid "redundant redeclaration of %qD in same scope" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:2412 ++#: cp/decl.cc:2407 + #, gcc-internal-format + msgid "deleted definition of %qD is not first declaration" + msgstr "" +@@ -55814,46 +55822,46 @@ msgstr "" + #. that specialization that would cause an implicit + #. instantiation to take place, in every translation unit in + #. which such a use occurs. +-#: cp/decl.cc:2910 ++#: cp/decl.cc:2905 + #, fuzzy, gcc-internal-format + msgid "explicit specialization of %qD after first use" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:3092 ++#: cp/decl.cc:3087 + #, fuzzy, gcc-internal-format + #| msgid "section of `%s' conflicts with previous declaration" + msgid "%qD: visibility attribute ignored because it conflicts with previous declaration" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + + #. Reject two definitions. +-#: cp/decl.cc:3356 cp/decl.cc:3385 cp/decl.cc:3423 cp/decl.cc:3440 +-#: cp/decl.cc:3539 ++#: cp/decl.cc:3365 cp/decl.cc:3394 cp/decl.cc:3432 cp/decl.cc:3449 ++#: cp/decl.cc:3548 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "redefinition of %q#D" + msgstr "папярэдняе вызначэньне `%#T'" + +-#: cp/decl.cc:3372 ++#: cp/decl.cc:3381 + #, fuzzy, gcc-internal-format + msgid "%qD conflicts with used function" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: cp/decl.cc:3382 ++#: cp/decl.cc:3391 + #, fuzzy, gcc-internal-format + msgid "%q#D not declared in class" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:3396 cp/decl.cc:3450 ++#: cp/decl.cc:3405 cp/decl.cc:3459 + #, gcc-internal-format + msgid "%q+D redeclared inline with % attribute" + msgstr "" + +-#: cp/decl.cc:3399 cp/decl.cc:3453 ++#: cp/decl.cc:3408 cp/decl.cc:3462 + #, gcc-internal-format + msgid "%q+D redeclared inline without % attribute" + msgstr "" + +-#: cp/decl.cc:3409 ++#: cp/decl.cc:3418 + #, gcc-internal-format + msgid "comparison operator %q+D defaulted after its first declaration" + msgstr "" +@@ -55861,2535 +55869,2535 @@ msgstr "" + #. is_primary= + #. is_partial= + #. is_friend_decl= +-#: cp/decl.cc:3470 ++#: cp/decl.cc:3479 + #, gcc-internal-format + msgid "redeclaration of friend %q#D may not have default template arguments" + msgstr "" + +-#: cp/decl.cc:3485 ++#: cp/decl.cc:3494 + #, gcc-internal-format + msgid "thread-local declaration of %q#D follows non-thread-local declaration" + msgstr "" + +-#: cp/decl.cc:3488 ++#: cp/decl.cc:3497 + #, gcc-internal-format + msgid "non-thread-local declaration of %q#D follows thread-local declaration" + msgstr "" + +-#: cp/decl.cc:3503 cp/decl.cc:3547 cp/name-lookup.cc:2890 +-#: cp/name-lookup.cc:3398 cp/name-lookup.cc:3401 cp/name-lookup.cc:3424 +-#: cp/name-lookup.cc:3427 ++#: cp/decl.cc:3512 cp/decl.cc:3556 cp/name-lookup.cc:2894 ++#: cp/name-lookup.cc:3402 cp/name-lookup.cc:3405 cp/name-lookup.cc:3428 ++#: cp/name-lookup.cc:3431 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "redeclaration of %q#D" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:3530 ++#: cp/decl.cc:3539 + #, gcc-internal-format + msgid "redundant redeclaration of % static data member %qD" + msgstr "" + +-#: cp/decl.cc:3598 ++#: cp/decl.cc:3607 + #, gcc-internal-format + msgid "local label %qE conflicts with existing label" + msgstr "" + +-#: cp/decl.cc:3599 ++#: cp/decl.cc:3608 + #, gcc-internal-format + msgid "previous label" + msgstr "" + +-#: cp/decl.cc:3689 ++#: cp/decl.cc:3698 + #, fuzzy, gcc-internal-format + msgid "jump to label %qD" + msgstr "паўтарэнне \"%s\"" + +-#: cp/decl.cc:3690 ++#: cp/decl.cc:3699 + #, gcc-internal-format + msgid "jump to case label" + msgstr "" + +-#: cp/decl.cc:3694 ++#: cp/decl.cc:3703 + #, gcc-internal-format + msgid " as a possible target of computed goto" + msgstr "" + +-#: cp/decl.cc:3696 ++#: cp/decl.cc:3705 + #, gcc-internal-format + msgid " from here" + msgstr " адсюль" + +-#: cp/decl.cc:3724 cp/decl.cc:3962 ++#: cp/decl.cc:3733 cp/decl.cc:3971 + #, gcc-internal-format + msgid " exits OpenMP structured block" + msgstr "" + +-#: cp/decl.cc:3749 ++#: cp/decl.cc:3758 + #, fuzzy, gcc-internal-format + msgid " crosses initialization of %q#D" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:3761 cp/decl.cc:3928 ++#: cp/decl.cc:3770 cp/decl.cc:3937 + #, gcc-internal-format + msgid " enters % block" + msgstr "" + +-#: cp/decl.cc:3767 cp/decl.cc:3917 cp/decl.cc:3930 ++#: cp/decl.cc:3776 cp/decl.cc:3926 cp/decl.cc:3939 + #, gcc-internal-format + msgid " enters % block" + msgstr "" + +-#: cp/decl.cc:3773 cp/decl.cc:3944 ++#: cp/decl.cc:3782 cp/decl.cc:3953 + #, gcc-internal-format + msgid " enters OpenMP structured block" + msgstr "" + +-#: cp/decl.cc:3779 cp/decl.cc:3932 ++#: cp/decl.cc:3788 cp/decl.cc:3941 + #, gcc-internal-format + msgid " enters synchronized or atomic statement" + msgstr "" + +-#: cp/decl.cc:3785 cp/decl.cc:3938 ++#: cp/decl.cc:3794 cp/decl.cc:3947 + #, fuzzy, gcc-internal-format + msgid " enters statement expression" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: cp/decl.cc:3792 cp/decl.cc:3934 ++#: cp/decl.cc:3801 cp/decl.cc:3943 + #, gcc-internal-format + msgid " enters % statement" + msgstr "" + +-#: cp/decl.cc:3798 cp/decl.cc:3936 ++#: cp/decl.cc:3807 cp/decl.cc:3945 + #, gcc-internal-format + msgid " enters % statement" + msgstr "" + +-#: cp/decl.cc:3829 cp/decl.cc:4003 ++#: cp/decl.cc:3838 cp/decl.cc:4012 + #, fuzzy, gcc-internal-format + #| msgid "%s does not support %s" + msgid " does not destroy %qD" + msgstr "%s не падтрымлівае %s" + +-#: cp/decl.cc:3831 cp/decl.cc:3986 ++#: cp/decl.cc:3840 cp/decl.cc:3995 + #, gcc-internal-format + msgid " does not clean up handled exception" + msgstr "" + +-#: cp/decl.cc:3922 ++#: cp/decl.cc:3931 + #, fuzzy, gcc-internal-format + msgid " skips initialization of %q#D" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:4463 cp/parser.cc:7205 ++#: cp/decl.cc:4472 cp/parser.cc:7205 + #, gcc-internal-format + msgid "%qD used without template arguments" + msgstr "" + +-#: cp/decl.cc:4469 ++#: cp/decl.cc:4478 + #, fuzzy, gcc-internal-format + msgid "%qD is a function, not a type" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:4480 ++#: cp/decl.cc:4489 + #, fuzzy, gcc-internal-format + msgid "%q#T is not a class" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:4519 cp/decl.cc:4620 ++#: cp/decl.cc:4528 cp/decl.cc:4629 + #, gcc-internal-format + msgid "no class template named %q#T in %q#T" + msgstr "" + +-#: cp/decl.cc:4520 ++#: cp/decl.cc:4529 + #, fuzzy, gcc-internal-format + msgid "no type named %q#T in %q#T" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:4533 ++#: cp/decl.cc:4542 + #, fuzzy, gcc-internal-format + msgid "lookup of %qT in %qT is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/decl.cc:4542 ++#: cp/decl.cc:4551 + #, gcc-internal-format + msgid "% names %q#T, which is not a class template" + msgstr "" + +-#: cp/decl.cc:4555 ++#: cp/decl.cc:4564 + #, gcc-internal-format + msgid "% names %q#D, which is not a type" + msgstr "" + +-#: cp/decl.cc:4629 ++#: cp/decl.cc:4638 + #, fuzzy, gcc-internal-format + msgid "template parameters do not match template %qD" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:4986 ++#: cp/decl.cc:4995 + #, gcc-internal-format + msgid "%<-faligned-new=%d%> is not a power of two" + msgstr "" + +-#: cp/decl.cc:5160 ++#: cp/decl.cc:5169 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5164 ++#: cp/decl.cc:5173 + #, gcc-internal-format + msgid "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5177 ++#: cp/decl.cc:5186 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is less than %d" + msgstr "" + +-#: cp/decl.cc:5182 ++#: cp/decl.cc:5191 + #, gcc-internal-format + msgid "%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>" + msgstr "" + +-#: cp/decl.cc:5509 ++#: cp/decl.cc:5518 + #, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" + msgstr "" + +-#: cp/decl.cc:5519 cp/parser.cc:23596 ++#: cp/decl.cc:5528 cp/parser.cc:23596 + #, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" + msgstr "" + +-#: cp/decl.cc:5548 ++#: cp/decl.cc:5557 + #, gcc-internal-format + msgid "anonymous struct with base classes" + msgstr "" + +-#: cp/decl.cc:5560 ++#: cp/decl.cc:5569 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5563 ++#: cp/decl.cc:5572 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5566 ++#: cp/decl.cc:5575 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate" + msgstr "" + +-#: cp/decl.cc:5585 ++#: cp/decl.cc:5594 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in declaration of %q#T" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:5588 ++#: cp/decl.cc:5597 + #, gcc-internal-format + msgid "attribute for %q#T must follow the %qs keyword" + msgstr "" + +-#: cp/decl.cc:5630 ++#: cp/decl.cc:5639 + #, gcc-internal-format + msgid "multiple types in one declaration" + msgstr "" + +-#: cp/decl.cc:5635 ++#: cp/decl.cc:5644 + #, fuzzy, gcc-internal-format + msgid "redeclaration of C++ built-in type %qT" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:5652 ++#: cp/decl.cc:5661 + #, gcc-internal-format + msgid "% can only be specified for variables or function declarations" + msgstr "" + +-#: cp/decl.cc:5685 ++#: cp/decl.cc:5694 + #, gcc-internal-format + msgid "missing type-name in typedef-declaration" + msgstr "" + +-#: cp/decl.cc:5693 ++#: cp/decl.cc:5702 + #, gcc-internal-format + msgid "ISO C++ prohibits anonymous structs" + msgstr "" + +-#: cp/decl.cc:5700 ++#: cp/decl.cc:5709 + #, fuzzy, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:5703 ++#: cp/decl.cc:5712 + #, gcc-internal-format + msgid "% can only be specified for functions" + msgstr "" + +-#: cp/decl.cc:5708 ++#: cp/decl.cc:5717 + #, gcc-internal-format + msgid "% can only be specified inside a class" + msgstr "" + +-#: cp/decl.cc:5711 ++#: cp/decl.cc:5720 + #, gcc-internal-format + msgid "% can only be specified for constructors" + msgstr "" + +-#: cp/decl.cc:5714 ++#: cp/decl.cc:5723 + #, gcc-internal-format + msgid "a storage class can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5718 ++#: cp/decl.cc:5727 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5722 ++#: cp/decl.cc:5731 + #, gcc-internal-format + msgid "% can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5726 ++#: cp/decl.cc:5735 + #, gcc-internal-format + msgid "%<__restrict%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5730 ++#: cp/decl.cc:5739 + #, gcc-internal-format + msgid "%<__thread%> can only be specified for objects and functions" + msgstr "" + +-#: cp/decl.cc:5734 ++#: cp/decl.cc:5743 + #, gcc-internal-format + msgid "% was ignored in this declaration" + msgstr "" + +-#: cp/decl.cc:5737 cp/decl.cc:5740 cp/decl.cc:5743 ++#: cp/decl.cc:5746 cp/decl.cc:5749 cp/decl.cc:5752 + #, fuzzy, gcc-internal-format + msgid "%qs cannot be used for type declarations" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:5765 ++#: cp/decl.cc:5774 + #, fuzzy, gcc-internal-format + msgid "attribute ignored in explicit instantiation %q#T" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:5768 ++#: cp/decl.cc:5777 + #, fuzzy, gcc-internal-format + msgid "no attribute can be applied to an explicit instantiation" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:5847 ++#: cp/decl.cc:5856 + #, gcc-internal-format + msgid "ignoring attributes applied to class type %qT outside of definition" + msgstr "" + + #. A template type parameter or other dependent type. +-#: cp/decl.cc:5851 ++#: cp/decl.cc:5860 + #, gcc-internal-format + msgid "ignoring attributes applied to dependent type %qT without an associated declaration" + msgstr "" + +-#: cp/decl.cc:5917 cp/decl2.cc:1064 ++#: cp/decl.cc:5926 cp/decl2.cc:1064 + #, fuzzy, gcc-internal-format + msgid "typedef %qD is initialized (use %qs instead)" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:5930 ++#: cp/decl.cc:5939 + #, gcc-internal-format + msgid "declaration of %q#D has % and is initialized" + msgstr "" + +-#: cp/decl.cc:5968 ++#: cp/decl.cc:5977 + #, gcc-internal-format + msgid "definition of %q#D is marked %" + msgstr "" + +-#: cp/decl.cc:5992 ++#: cp/decl.cc:6001 + #, gcc-internal-format + msgid "%q+#D is not a static data member of %q#T" + msgstr "" + +-#: cp/decl.cc:6000 ++#: cp/decl.cc:6009 + #, fuzzy, gcc-internal-format + msgid "non-member-template declaration of %qD" + msgstr "пустое абвяшчэнне" + +-#: cp/decl.cc:6001 ++#: cp/decl.cc:6010 + #, fuzzy, gcc-internal-format + msgid "does not match member template declaration here" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:6013 ++#: cp/decl.cc:6022 + #, gcc-internal-format + msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>" + msgstr "" + +-#: cp/decl.cc:6025 ++#: cp/decl.cc:6034 + #, fuzzy, gcc-internal-format + msgid "duplicate initialization of %qD" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:6075 cp/decl.cc:6079 ++#: cp/decl.cc:6084 cp/decl.cc:6088 + #, gcc-internal-format + msgid "declaration of %q#D outside of class is not definition" + msgstr "" + +-#: cp/decl.cc:6097 ++#: cp/decl.cc:6106 + #, gcc-internal-format + msgid "block-scope extern declaration %q#D must not be attached to a named module" + msgstr "" + +-#: cp/decl.cc:6133 ++#: cp/decl.cc:6142 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6139 ++#: cp/decl.cc:6148 + #, gcc-internal-format + msgid "%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/decl.cc:6205 ++#: cp/decl.cc:6214 + #, fuzzy, gcc-internal-format + msgid "variable %q#D has initializer but incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:6214 cp/decl.cc:7548 ++#: cp/decl.cc:6223 cp/decl.cc:7557 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#D have incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:6225 ++#: cp/decl.cc:6234 + #, gcc-internal-format + msgid "aggregate %q#D has incomplete type and cannot be defined" + msgstr "" + +-#: cp/decl.cc:6295 ++#: cp/decl.cc:6304 + #, gcc-internal-format + msgid "%qD declared as reference but not initialized" + msgstr "" + +-#: cp/decl.cc:6378 ++#: cp/decl.cc:6387 + #, gcc-internal-format + msgid "name used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6384 ++#: cp/decl.cc:6393 + #, gcc-internal-format + msgid "name %qD used in a GNU-style designated initializer for an array" + msgstr "" + +-#: cp/decl.cc:6403 ++#: cp/decl.cc:6412 + #, gcc-internal-format + msgid "non-trivial designated initializers not supported" + msgstr "" + +-#: cp/decl.cc:6407 ++#: cp/decl.cc:6416 + #, fuzzy, gcc-internal-format + msgid "C99 designator %qE is not an integral constant-expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:6468 ++#: cp/decl.cc:6477 + #, gcc-internal-format + msgid "initializer fails to determine size of %qD" + msgstr "" + +-#: cp/decl.cc:6475 ++#: cp/decl.cc:6484 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in `%D'" + msgid "array size missing in %qD" + msgstr "прапушчан памер масіва ў `%D'" + +-#: cp/decl.cc:6487 ++#: cp/decl.cc:6496 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array `%D'" + msgid "zero-size array %qD" + msgstr "нулявы памер масіва `%D'" + +-#: cp/decl.cc:6527 ++#: cp/decl.cc:6536 + #, gcc-internal-format + msgid "storage size of %qD isn%'t known" + msgstr "" + +-#: cp/decl.cc:6552 ++#: cp/decl.cc:6561 + #, fuzzy, gcc-internal-format + msgid "storage size of %qD isn%'t constant" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:6636 ++#: cp/decl.cc:6645 + #, gcc-internal-format + msgid "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6640 ++#: cp/decl.cc:6649 + #, gcc-internal-format + msgid "sorry: semantics of inline function static data %q#D are wrong (you%'ll wind up with multiple copies)" + msgstr "" + +-#: cp/decl.cc:6646 ++#: cp/decl.cc:6655 + #, gcc-internal-format + msgid "you can work around this by removing the initializer" + msgstr "" + +-#: cp/decl.cc:6688 rust/backend/rust-tree.cc:3278 ++#: cp/decl.cc:6697 rust/backend/rust-tree.cc:3278 + #, fuzzy, gcc-internal-format + msgid "uninitialized %" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:6695 rust/backend/rust-tree.cc:3285 ++#: cp/decl.cc:6704 rust/backend/rust-tree.cc:3285 + #, gcc-internal-format + msgid "uninitialized variable %qD in % function" + msgstr "" + +-#: cp/decl.cc:6704 rust/backend/rust-tree.cc:3294 ++#: cp/decl.cc:6713 rust/backend/rust-tree.cc:3294 + #, gcc-internal-format + msgid "uninitialized variable %qD in % context" + msgstr "" + +-#: cp/decl.cc:6712 ++#: cp/decl.cc:6721 + #, gcc-internal-format + msgid "%q#T has no user-provided default constructor" + msgstr "" + +-#: cp/decl.cc:6716 ++#: cp/decl.cc:6725 + #, gcc-internal-format + msgid "constructor is not user-provided because it is explicitly defaulted in the class body" + msgstr "" + +-#: cp/decl.cc:6719 ++#: cp/decl.cc:6728 + #, gcc-internal-format + msgid "and the implicitly-defined constructor does not initialize %q#D" + msgstr "" + +-#: cp/decl.cc:6912 ++#: cp/decl.cc:6921 + #, fuzzy, gcc-internal-format + msgid "invalid type %qT as initializer for a vector of type %qT" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/decl.cc:6984 ++#: cp/decl.cc:6993 + #, gcc-internal-format + msgid "initializer for %qT must be brace-enclosed" + msgstr "" + +-#: cp/decl.cc:7028 ++#: cp/decl.cc:7037 + #, gcc-internal-format + msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT" + msgstr "" + +-#: cp/decl.cc:7044 cp/init.cc:3407 cp/search.cc:1230 ++#: cp/decl.cc:7053 cp/init.cc:3407 cp/search.cc:1230 + #, fuzzy, gcc-internal-format + msgid "request for member %qD is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/decl.cc:7049 ++#: cp/decl.cc:7058 + #, gcc-internal-format + msgid "%qT has no non-static data member named %qD" + msgstr "" + +-#: cp/decl.cc:7074 ++#: cp/decl.cc:7083 + #, gcc-internal-format + msgid "%qD is not a direct member of %qT" + msgstr "" + +-#: cp/decl.cc:7129 ++#: cp/decl.cc:7138 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer for %q#D" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/decl.cc:7179 ++#: cp/decl.cc:7188 + #, gcc-internal-format + msgid "C99 designator %qE outside aggregate initializer" + msgstr "" + +-#: cp/decl.cc:7218 cp/decl.cc:7506 cp/typeck2.cc:1593 cp/typeck2.cc:1923 +-#: cp/typeck2.cc:1971 cp/typeck2.cc:2018 ++#: cp/decl.cc:7227 cp/decl.cc:7515 cp/typeck2.cc:1599 cp/typeck2.cc:1929 ++#: cp/typeck2.cc:1977 cp/typeck2.cc:2024 + #, fuzzy, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7260 ++#: cp/decl.cc:7269 + #, fuzzy, gcc-internal-format + msgid "braces around scalar initializer for type %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7270 ++#: cp/decl.cc:7279 + #, gcc-internal-format + msgid "too many braces around scalar initializer for type %qT" + msgstr "" + +-#: cp/decl.cc:7403 ++#: cp/decl.cc:7412 + #, fuzzy, gcc-internal-format + msgid "missing braces around initializer for %qT" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:7536 ++#: cp/decl.cc:7545 + #, fuzzy, gcc-internal-format + msgid "structured binding has incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7550 ++#: cp/decl.cc:7559 + #, fuzzy, gcc-internal-format + msgid "elements of array %q#T have incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7563 ++#: cp/decl.cc:7572 + #, gcc-internal-format + msgid "variable-sized compound literal" + msgstr "" + +-#: cp/decl.cc:7619 ++#: cp/decl.cc:7628 + #, fuzzy, gcc-internal-format + msgid "%q#D has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:7640 ++#: cp/decl.cc:7649 + #, gcc-internal-format + msgid "scalar object %qD requires one element in initializer" + msgstr "" + +-#: cp/decl.cc:7685 ++#: cp/decl.cc:7694 + #, gcc-internal-format + msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>" + msgstr "" + +-#: cp/decl.cc:7828 ++#: cp/decl.cc:7837 + #, gcc-internal-format + msgid "array %qD initialized by parenthesized string literal %qE" + msgstr "" + +-#: cp/decl.cc:7867 ++#: cp/decl.cc:7876 + #, gcc-internal-format + msgid "initializer invalid for static member with constructor" + msgstr "" + +-#: cp/decl.cc:7869 ++#: cp/decl.cc:7878 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for static member %qD" + msgstr "" + +-#: cp/decl.cc:7872 ++#: cp/decl.cc:7881 + #, gcc-internal-format + msgid "non-constant in-class initialization invalid for non-inline static member %qD" + msgstr "" + +-#: cp/decl.cc:7877 ++#: cp/decl.cc:7886 + #, gcc-internal-format + msgid "(an out of class initialization is required)" + msgstr "" + +-#: cp/decl.cc:8079 ++#: cp/decl.cc:8088 + #, fuzzy, gcc-internal-format + msgid "reference %qD is initialized with itself" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:8338 ++#: cp/decl.cc:8347 + #, fuzzy, gcc-internal-format + msgid "could not find variant declaration" + msgstr "Не магу знайсці дэкларацыю інтэрфейса для \"%s\"" + +-#: cp/decl.cc:8362 ++#: cp/decl.cc:8371 + #, gcc-internal-format + msgid "% on constructor %qD" + msgstr "" + +-#: cp/decl.cc:8367 ++#: cp/decl.cc:8376 + #, gcc-internal-format + msgid "% on destructor %qD" + msgstr "" + +-#: cp/decl.cc:8372 ++#: cp/decl.cc:8381 + #, gcc-internal-format + msgid "% on defaulted %qD" + msgstr "" + +-#: cp/decl.cc:8377 ++#: cp/decl.cc:8386 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "% on deleted %qD" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:8382 ++#: cp/decl.cc:8391 + #, gcc-internal-format + msgid "% on virtual %qD" + msgstr "" + +-#: cp/decl.cc:8436 ++#: cp/decl.cc:8445 + #, gcc-internal-format + msgid "assignment (not initialization) in declaration" + msgstr "" + +-#: cp/decl.cc:8457 cp/decl.cc:15234 ++#: cp/decl.cc:8466 cp/decl.cc:15250 + #, gcc-internal-format + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "" + +-#: cp/decl.cc:8461 cp/decl.cc:15238 ++#: cp/decl.cc:8470 cp/decl.cc:15254 + #, gcc-internal-format + msgid "% storage class specifier used" + msgstr "" + +-#: cp/decl.cc:8506 cp/decl.cc:15201 ++#: cp/decl.cc:8515 cp/decl.cc:15217 + #, fuzzy, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:8542 ++#: cp/decl.cc:8551 + #, gcc-internal-format + msgid "initializer for % has function type; did you forget the %<()%>?" + msgstr "" + +-#: cp/decl.cc:8553 ++#: cp/decl.cc:8562 + #, fuzzy, gcc-internal-format + msgid "deduced type %qT for %qD is incomplete" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:8691 ++#: cp/decl.cc:8700 + #, gcc-internal-format + msgid "variable concept has no initializer" + msgstr "" + +-#: cp/decl.cc:8750 ++#: cp/decl.cc:8759 + #, fuzzy, gcc-internal-format + msgid "shadowing previous type declaration of %q#D" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:8793 ++#: cp/decl.cc:8802 + #, gcc-internal-format + msgid "% can only be applied to a variable with static or thread storage duration" + msgstr "" + +-#: cp/decl.cc:8988 ++#: cp/decl.cc:8997 + #, gcc-internal-format + msgid "function %q#D is initialized like a variable" + msgstr "" + +-#: cp/decl.cc:9099 ++#: cp/decl.cc:9108 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr "" + +-#: cp/decl.cc:9102 ++#: cp/decl.cc:9111 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.cc:9109 ++#: cp/decl.cc:9118 + #, gcc-internal-format + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "" + +-#: cp/decl.cc:9135 ++#: cp/decl.cc:9144 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9144 ++#: cp/decl.cc:9153 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.cc:9381 ++#: cp/decl.cc:9390 + #, fuzzy, gcc-internal-format + msgid "structured binding refers to incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:9397 ++#: cp/decl.cc:9406 + #, gcc-internal-format + msgid "cannot decompose variable length array %qT" + msgstr "" + +-#: cp/decl.cc:9406 cp/decl.cc:9485 ++#: cp/decl.cc:9415 cp/decl.cc:9494 + #, gcc-internal-format, gfc-internal-format + msgid "%u name provided for structured binding" + msgid_plural "%u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9410 ++#: cp/decl.cc:9419 + #, gcc-internal-format, gfc-internal-format + msgid "only %u name provided for structured binding" + msgid_plural "only %u names provided for structured binding" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9413 ++#: cp/decl.cc:9422 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.cc:9454 ++#: cp/decl.cc:9463 + #, gcc-internal-format + msgid "cannot decompose variable length vector %qT" + msgstr "" + +-#: cp/decl.cc:9478 ++#: cp/decl.cc:9487 + #, fuzzy, gcc-internal-format + msgid "%::value%> is not an integral constant expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:9487 ++#: cp/decl.cc:9496 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.cc:9508 ++#: cp/decl.cc:9517 + #, gcc-internal-format + msgid "%::type%> is %" + msgstr "" + +-#: cp/decl.cc:9514 ++#: cp/decl.cc:9523 + #, gcc-internal-format + msgid "in initialization of structured binding variable %qD" + msgstr "" + +-#: cp/decl.cc:9543 ++#: cp/decl.cc:9552 + #, gcc-internal-format + msgid "cannot decompose union type %qT" + msgstr "" + +-#: cp/decl.cc:9548 ++#: cp/decl.cc:9557 + #, gcc-internal-format + msgid "cannot decompose non-array non-class type %qT" + msgstr "" + +-#: cp/decl.cc:9553 ++#: cp/decl.cc:9562 + #, gcc-internal-format + msgid "cannot decompose lambda closure type %qT" + msgstr "" + +-#: cp/decl.cc:9559 ++#: cp/decl.cc:9568 + #, gcc-internal-format + msgid "structured binding refers to incomplete class type %qT" + msgstr "" + +-#: cp/decl.cc:9568 ++#: cp/decl.cc:9577 + #, gcc-internal-format + msgid "cannot decompose class type %qT without non-static data members" + msgstr "" + +-#: cp/decl.cc:10046 ++#: cp/decl.cc:10062 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.cc:10049 ++#: cp/decl.cc:10065 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr "" + +-#: cp/decl.cc:10054 ++#: cp/decl.cc:10070 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.cc:10273 ++#: cp/decl.cc:10289 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "" + +-#: cp/decl.cc:10277 ++#: cp/decl.cc:10293 + #, fuzzy, gcc-internal-format + #| msgid "array size missing in `%D'" + msgid "array size missing in %qT" + msgstr "прапушчан памер масіва ў `%D'" + +-#: cp/decl.cc:10280 ++#: cp/decl.cc:10296 + #, fuzzy, gcc-internal-format + #| msgid "zero-size array `%D'" + msgid "zero-size array %qT" + msgstr "нулявы памер масіва `%D'" + +-#: cp/decl.cc:10296 ++#: cp/decl.cc:10312 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10298 ++#: cp/decl.cc:10314 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "" + +-#: cp/decl.cc:10324 ++#: cp/decl.cc:10340 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "" + +-#: cp/decl.cc:10326 ++#: cp/decl.cc:10342 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "" + +-#: cp/decl.cc:10332 ++#: cp/decl.cc:10348 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "" + +-#: cp/decl.cc:10335 ++#: cp/decl.cc:10351 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "" + +-#: cp/decl.cc:10337 ++#: cp/decl.cc:10353 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:10343 ++#: cp/decl.cc:10359 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "" + +-#: cp/decl.cc:10346 ++#: cp/decl.cc:10362 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "" + +-#: cp/decl.cc:10348 ++#: cp/decl.cc:10364 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "" + +-#: cp/decl.cc:10354 ++#: cp/decl.cc:10370 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "" + +-#: cp/decl.cc:10357 ++#: cp/decl.cc:10373 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "" + +-#: cp/decl.cc:10359 ++#: cp/decl.cc:10375 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "" + +-#: cp/decl.cc:10366 ++#: cp/decl.cc:10382 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "" + +-#: cp/decl.cc:10373 ++#: cp/decl.cc:10389 + #, fuzzy, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:10405 ++#: cp/decl.cc:10421 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "" + +-#: cp/decl.cc:10445 ++#: cp/decl.cc:10461 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "" + +-#: cp/decl.cc:10456 ++#: cp/decl.cc:10472 + #, gcc-internal-format + msgid "concept %q#D declared with function parameters" + msgstr "" + +-#: cp/decl.cc:10463 ++#: cp/decl.cc:10479 + #, gcc-internal-format + msgid "concept %q#D declared with a deduced return type" + msgstr "" + +-#: cp/decl.cc:10466 ++#: cp/decl.cc:10482 + #, gcc-internal-format + msgid "concept %q#D with non-% return type %qT" + msgstr "" + +-#: cp/decl.cc:10542 ++#: cp/decl.cc:10558 + #, gcc-internal-format + msgid "concept %qD has no definition" + msgstr "" + +-#: cp/decl.cc:10571 ++#: cp/decl.cc:10587 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a function concept cannot be constrained" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:10586 ++#: cp/decl.cc:10602 + #, gcc-internal-format + msgid "constraints on a non-templated function" + msgstr "" + +-#: cp/decl.cc:10588 ++#: cp/decl.cc:10604 + #, gcc-internal-format + msgid "constrained non-template friend declaration must be a definition" + msgstr "" + +-#: cp/decl.cc:10595 ++#: cp/decl.cc:10611 + #, gcc-internal-format + msgid "friend function template with constraints that depend on outer template parameters must be a definition" + msgstr "" + +-#: cp/decl.cc:10644 ++#: cp/decl.cc:10660 + #, fuzzy, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:10655 ++#: cp/decl.cc:10671 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:10673 ++#: cp/decl.cc:10689 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10682 ++#: cp/decl.cc:10698 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "" + +-#: cp/decl.cc:10699 ++#: cp/decl.cc:10715 + #, gcc-internal-format + msgid "friend declaration of %qD specifies default arguments and isn%'t a definition" + msgstr "" + +-#: cp/decl.cc:10741 ++#: cp/decl.cc:10757 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "" + +-#: cp/decl.cc:10744 ++#: cp/decl.cc:10760 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "" + +-#: cp/decl.cc:10747 cp/decl.cc:10750 ++#: cp/decl.cc:10763 cp/decl.cc:10766 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be %qs" + msgstr "" + +-#: cp/decl.cc:10752 ++#: cp/decl.cc:10768 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "" + +-#: cp/decl.cc:10819 ++#: cp/decl.cc:10835 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10821 ++#: cp/decl.cc:10837 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10822 ++#: cp/decl.cc:10838 + #, gcc-internal-format + msgid "explicit object member function %qD cannot have cv-qualifier" + msgstr "" + +-#: cp/decl.cc:10827 ++#: cp/decl.cc:10843 + #, gcc-internal-format + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10829 ++#: cp/decl.cc:10845 + #, gcc-internal-format + msgid "static member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10830 ++#: cp/decl.cc:10846 + #, gcc-internal-format + msgid "explicit object member function %qD cannot have ref-qualifier" + msgstr "" + +-#: cp/decl.cc:10836 cp/decl.cc:13719 cp/decl.cc:13729 cp/parser.cc:11972 ++#: cp/decl.cc:10852 cp/decl.cc:13735 cp/decl.cc:13745 cp/parser.cc:11972 + #, fuzzy, gcc-internal-format + msgid "explicit object parameter declared here" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:10848 ++#: cp/decl.cc:10864 + #, gcc-internal-format + msgid "deduction guide %qD must be declared in the same scope as %qT" + msgstr "" + +-#: cp/decl.cc:10856 ++#: cp/decl.cc:10872 + #, gcc-internal-format + msgid "deduction guide %qD must have the same access as %qT" + msgstr "" + +-#: cp/decl.cc:10862 ++#: cp/decl.cc:10878 + #, gcc-internal-format + msgid "deduction guide %qD must not have a function body" + msgstr "" + +-#: cp/decl.cc:10875 ++#: cp/decl.cc:10891 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "" + +-#: cp/decl.cc:10885 ++#: cp/decl.cc:10901 + #, fuzzy, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:10893 ++#: cp/decl.cc:10909 + #, gcc-internal-format + msgid "integer suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10899 ++#: cp/decl.cc:10915 + #, gcc-internal-format + msgid "floating-point suffix %qs shadowed by implementation" + msgstr "" + +-#: cp/decl.cc:10906 ++#: cp/decl.cc:10922 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "" + +-#: cp/decl.cc:10911 ++#: cp/decl.cc:10927 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "" + +-#: cp/decl.cc:10997 ++#: cp/decl.cc:11013 + #, fuzzy, gcc-internal-format + #| msgid "`main' must return `int'" + msgid "%<::main%> must return %" + msgstr "`main' павінна вяртаць `int'" + +-#: cp/decl.cc:11037 ++#: cp/decl.cc:11053 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "" + +-#: cp/decl.cc:11042 ++#: cp/decl.cc:11058 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "" + +-#: cp/decl.cc:11044 ++#: cp/decl.cc:11060 + #, fuzzy, gcc-internal-format + msgid "%q#D explicitly defaulted here" + msgstr "ініцыялізацыя" + +-#: cp/decl.cc:11061 ++#: cp/decl.cc:11077 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "" + +-#: cp/decl.cc:11255 ++#: cp/decl.cc:11271 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a global variable" + msgstr "" + +-#: cp/decl.cc:11264 ++#: cp/decl.cc:11280 + #, fuzzy, gcc-internal-format + msgid "a non-template variable cannot be %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:11270 ++#: cp/decl.cc:11286 + #, gcc-internal-format + msgid "concept must be defined at namespace scope" + msgstr "" + +-#: cp/decl.cc:11277 ++#: cp/decl.cc:11293 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.cc:11280 ++#: cp/decl.cc:11296 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "a variable concept cannot be constrained" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:11402 ++#: cp/decl.cc:11418 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "" + +-#: cp/decl.cc:11406 ++#: cp/decl.cc:11422 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "" + +-#: cp/decl.cc:11410 ++#: cp/decl.cc:11426 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "" + +-#: cp/decl.cc:11421 ++#: cp/decl.cc:11437 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11426 ++#: cp/decl.cc:11442 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "" + +-#: cp/decl.cc:11431 ++#: cp/decl.cc:11447 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "" + +-#: cp/decl.cc:11542 ++#: cp/decl.cc:11558 + #, fuzzy, gcc-internal-format + #| msgid "size of array `%D' has non-integer type" + msgid "size of array %qD has non-integral type %qT" + msgstr "памер масіва `%D' не цэлалікавы тып" + +-#: cp/decl.cc:11545 ++#: cp/decl.cc:11561 + #, fuzzy, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:11576 cp/decl.cc:11648 ++#: cp/decl.cc:11592 cp/decl.cc:11664 + #, fuzzy, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:11580 cp/decl.cc:11651 ++#: cp/decl.cc:11596 cp/decl.cc:11667 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "" + +-#: cp/decl.cc:11631 ++#: cp/decl.cc:11647 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11634 ++#: cp/decl.cc:11650 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11658 ++#: cp/decl.cc:11674 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11661 ++#: cp/decl.cc:11677 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:11667 ++#: cp/decl.cc:11683 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "" + +-#: cp/decl.cc:11670 ++#: cp/decl.cc:11686 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "" + +-#: cp/decl.cc:11722 ++#: cp/decl.cc:11738 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "" + +-#: cp/decl.cc:11782 ++#: cp/decl.cc:11798 + #, gcc-internal-format + msgid "%qD declared as array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11785 ++#: cp/decl.cc:11801 + #, gcc-internal-format + msgid "creating array of template placeholder type %qT" + msgstr "" + +-#: cp/decl.cc:11795 ++#: cp/decl.cc:11811 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as array of void" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:11797 ++#: cp/decl.cc:11813 + #, gcc-internal-format + msgid "creating array of void" + msgstr "" + +-#: cp/decl.cc:11802 ++#: cp/decl.cc:11818 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "" + +-#: cp/decl.cc:11804 ++#: cp/decl.cc:11820 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "" + +-#: cp/decl.cc:11809 ++#: cp/decl.cc:11825 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "" + +-#: cp/decl.cc:11811 ++#: cp/decl.cc:11827 + #, gcc-internal-format + msgid "creating array of references" + msgstr "" + +-#: cp/decl.cc:11816 ++#: cp/decl.cc:11832 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "" + +-#: cp/decl.cc:11819 ++#: cp/decl.cc:11835 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "" + +-#: cp/decl.cc:11837 ++#: cp/decl.cc:11853 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11841 ++#: cp/decl.cc:11857 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "" + +-#: cp/decl.cc:11855 ++#: cp/decl.cc:11871 + #, gcc-internal-format + msgid "variable-length array of %" + msgstr "" + +-#: cp/decl.cc:11931 ++#: cp/decl.cc:11947 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "" + +-#: cp/decl.cc:11934 ++#: cp/decl.cc:11950 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on constructor declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:11945 ++#: cp/decl.cc:11961 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "" + +-#: cp/decl.cc:11948 ++#: cp/decl.cc:11964 + #, fuzzy, gcc-internal-format + msgid "qualifiers are not allowed on destructor declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:11961 ++#: cp/decl.cc:11977 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "" + +-#: cp/decl.cc:11964 ++#: cp/decl.cc:11980 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "" + +-#: cp/decl.cc:11973 ++#: cp/decl.cc:11989 + #, gcc-internal-format + msgid "return type specified for deduction guide" + msgstr "" + +-#: cp/decl.cc:11976 ++#: cp/decl.cc:11992 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11980 ++#: cp/decl.cc:11996 + #, gcc-internal-format + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:11989 ++#: cp/decl.cc:12005 + #, gcc-internal-format + msgid "% in declaration of deduction guide" + msgstr "" + +-#: cp/decl.cc:12010 ++#: cp/decl.cc:12026 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "" + +-#: cp/decl.cc:12018 ++#: cp/decl.cc:12034 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "" + +-#: cp/decl.cc:12033 ++#: cp/decl.cc:12049 + #, gcc-internal-format + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "" + +-#: cp/decl.cc:12038 ++#: cp/decl.cc:12054 + #, gcc-internal-format + msgid "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/decl.cc:12094 ++#: cp/decl.cc:12110 + #, gcc-internal-format + msgid "%qT as type rather than plain %" + msgstr "" + +-#: cp/decl.cc:12100 ++#: cp/decl.cc:12116 + #, gcc-internal-format + msgid "% cannot be cv-qualified" + msgstr "" + +-#: cp/decl.cc:12316 ++#: cp/decl.cc:12332 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12319 cp/decl.cc:12341 ++#: cp/decl.cc:12335 cp/decl.cc:12357 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12322 ++#: cp/decl.cc:12338 + #, fuzzy, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:12332 ++#: cp/decl.cc:12348 + #, gcc-internal-format + msgid "%q#T is not a class or namespace" + msgstr "" + +-#: cp/decl.cc:12356 ++#: cp/decl.cc:12372 + #, fuzzy, gcc-internal-format + msgid "declaration of %qE as non-function" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:12363 ++#: cp/decl.cc:12379 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qE as non-member" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12391 ++#: cp/decl.cc:12407 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "" + +-#: cp/decl.cc:12442 ++#: cp/decl.cc:12458 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "" + +-#: cp/decl.cc:12450 cp/decl.cc:12459 cp/decl.cc:14444 ++#: cp/decl.cc:12466 cp/decl.cc:12475 cp/decl.cc:14460 + #, fuzzy, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:12467 ++#: cp/decl.cc:12483 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as %" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12472 ++#: cp/decl.cc:12488 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %qD as parameter" + msgstr "абвяшчэньне `%#D'" + +-#: cp/decl.cc:12507 ++#: cp/decl.cc:12523 + #, gcc-internal-format + msgid "both %qs and %qs specified" + msgstr "" + +-#: cp/decl.cc:12514 cp/decl.cc:12521 cp/decl.cc:12528 cp/decl.cc:12535 ++#: cp/decl.cc:12530 cp/decl.cc:12537 cp/decl.cc:12544 cp/decl.cc:12551 + #, fuzzy, gcc-internal-format + #| msgid "`%s' is not at beginning of declaration" + msgid "%qs cannot appear in a typedef declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:12546 ++#: cp/decl.cc:12562 + #, gcc-internal-format + msgid "can use at most one of the % and % specifiers" + msgstr "" + +-#: cp/decl.cc:12556 ++#: cp/decl.cc:12572 + #, fuzzy, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "пустое абвяшчэнне" + +-#: cp/decl.cc:12610 ++#: cp/decl.cc:12626 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain `complex' meaning `double complex'" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C не падтрымлівае просты \"complex\" у значэнні \"double complex\"" + +-#: cp/decl.cc:12659 cp/decl.cc:12663 cp/decl.cc:12666 ++#: cp/decl.cc:12675 cp/decl.cc:12679 cp/decl.cc:12682 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:12683 ++#: cp/decl.cc:12699 + #, fuzzy, gcc-internal-format + #| msgid "__builtin_saveregs not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" + +-#: cp/decl.cc:12691 ++#: cp/decl.cc:12707 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support `long long'" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ не падтрымлівае \"long long\"" + +-#: cp/decl.cc:12745 ++#: cp/decl.cc:12761 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12751 ++#: cp/decl.cc:12767 + #, gcc-internal-format + msgid "% and % specified together" + msgstr "" + +-#: cp/decl.cc:12759 ++#: cp/decl.cc:12775 + #, gcc-internal-format + msgid "%qs specified with %qT" + msgstr "" + +-#: cp/decl.cc:12766 ++#: cp/decl.cc:12782 + #, gcc-internal-format + msgid "%qs specified with typedef-name %qD" + msgstr "" + +-#: cp/decl.cc:12775 ++#: cp/decl.cc:12791 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12777 ++#: cp/decl.cc:12793 + #, gcc-internal-format + msgid "%qs specified with %" + msgstr "" + +-#: cp/decl.cc:12846 ++#: cp/decl.cc:12862 + #, fuzzy, gcc-internal-format + #| msgid "complex invalid for `%s'" + msgid "complex invalid for %qs" + msgstr "complex нерэчаісны для \"%s\"" + +-#: cp/decl.cc:12890 ++#: cp/decl.cc:12906 + #, gcc-internal-format + msgid "missing template argument list after %qE; for deduction, template placeholder must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.cc:12916 ++#: cp/decl.cc:12932 + #, gcc-internal-format + msgid "member %qD cannot be declared both % and %" + msgstr "" + +-#: cp/decl.cc:12925 ++#: cp/decl.cc:12941 + #, gcc-internal-format + msgid "member %qD can be declared both % and % only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:12938 ++#: cp/decl.cc:12954 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "" + +-#: cp/decl.cc:12945 ++#: cp/decl.cc:12961 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "" + +-#: cp/decl.cc:12955 cp/decl.cc:13132 ++#: cp/decl.cc:12971 cp/decl.cc:13148 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "" + +-#: cp/decl.cc:12963 cp/decl.cc:12972 cp/decl.cc:12978 cp/decl.cc:12984 ++#: cp/decl.cc:12979 cp/decl.cc:12988 cp/decl.cc:12994 cp/decl.cc:13000 + #, fuzzy, gcc-internal-format + msgid "a parameter cannot be declared %qs" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:12994 ++#: cp/decl.cc:13010 + #, fuzzy, gcc-internal-format + #| msgid "Invalid declaration" + msgid "% outside class declaration" + msgstr "Нерэчаіснае абвяшчэнне" + +-#: cp/decl.cc:13004 cp/decl.cc:13007 cp/decl.cc:13009 cp/decl.cc:13012 +-#: cp/decl.cc:13022 cp/decl.cc:13032 cp/decl.cc:13042 cp/decl.cc:13046 ++#: cp/decl.cc:13020 cp/decl.cc:13023 cp/decl.cc:13025 cp/decl.cc:13028 ++#: cp/decl.cc:13038 cp/decl.cc:13048 cp/decl.cc:13058 cp/decl.cc:13062 + #, gcc-internal-format + msgid "structured binding declaration cannot be %qs" + msgstr "" + +-#: cp/decl.cc:13016 cp/decl.cc:13038 ++#: cp/decl.cc:13032 cp/decl.cc:13054 + #, gcc-internal-format + msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/decl.cc:13026 ++#: cp/decl.cc:13042 + #, gcc-internal-format + msgid "%-qualified structured binding is deprecated" + msgstr "" + +-#: cp/decl.cc:13050 ++#: cp/decl.cc:13066 + #, gcc-internal-format + msgid "structured binding declaration cannot be C++98 %" + msgstr "" + +-#: cp/decl.cc:13062 ++#: cp/decl.cc:13078 + #, gcc-internal-format + msgid "structured binding declaration cannot have type %qT" + msgstr "" + +-#: cp/decl.cc:13065 ++#: cp/decl.cc:13081 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.cc:13073 ++#: cp/decl.cc:13089 + #, gcc-internal-format + msgid "structured binding declaration cannot have constrained % type %qT" + msgstr "" + +-#: cp/decl.cc:13104 ++#: cp/decl.cc:13120 + #, fuzzy, gcc-internal-format + #| msgid "duplicate label declaration `%s'" + msgid "multiple storage classes in declaration of %qs" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: cp/decl.cc:13130 ++#: cp/decl.cc:13146 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "" + +-#: cp/decl.cc:13144 ++#: cp/decl.cc:13160 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "" + +-#: cp/decl.cc:13149 ++#: cp/decl.cc:13165 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "" + +-#: cp/decl.cc:13157 ++#: cp/decl.cc:13173 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "" + +-#: cp/decl.cc:13171 ++#: cp/decl.cc:13187 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "" + +-#: cp/decl.cc:13204 cp/decl.cc:14834 cp/parser.cc:15434 cp/parser.cc:21379 ++#: cp/decl.cc:13220 cp/decl.cc:14850 cp/parser.cc:15434 cp/parser.cc:21379 + #: cp/parser.cc:28063 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "attribute ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: cp/decl.cc:13205 ++#: cp/decl.cc:13221 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "" + +-#: cp/decl.cc:13275 ++#: cp/decl.cc:13291 + #, fuzzy, gcc-internal-format + msgid "unnecessary parentheses in declaration of %qs" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:13281 ++#: cp/decl.cc:13297 + #, gcc-internal-format + msgid "remove parentheses" + msgstr "" + +-#: cp/decl.cc:13349 ++#: cp/decl.cc:13365 + #, gcc-internal-format + msgid "explicit object member function only available with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:13363 ++#: cp/decl.cc:13379 + #, gcc-internal-format + msgid "a function type cannot have an explicit object parameter" + msgstr "" + +-#: cp/decl.cc:13369 ++#: cp/decl.cc:13385 + #, gcc-internal-format + msgid "a pointer to function type cannot have an explicit object parameter" + msgstr "" + +-#: cp/decl.cc:13373 ++#: cp/decl.cc:13389 + #, gcc-internal-format + msgid "a pointer to member function type cannot have an explicit object parameter" + msgstr "" + +-#: cp/decl.cc:13381 ++#: cp/decl.cc:13397 + #, gcc-internal-format + msgid "the type of a pointer to explicit object member function is a regular pointer to function type" + msgstr "" + +-#: cp/decl.cc:13385 ++#: cp/decl.cc:13401 + #, gcc-internal-format + msgid "the type of an explicit object member function is a regular function type" + msgstr "" + +-#: cp/decl.cc:13406 ++#: cp/decl.cc:13422 + #, gcc-internal-format + msgid "only the first parameter of a member function can be declared as an explicit object parameter" + msgstr "" + +-#: cp/decl.cc:13411 ++#: cp/decl.cc:13427 + #, gcc-internal-format + msgid "valid explicit object parameter declared here" + msgstr "" + +-#: cp/decl.cc:13415 ++#: cp/decl.cc:13431 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.cc:13435 ++#: cp/decl.cc:13451 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "" + +-#: cp/decl.cc:13439 ++#: cp/decl.cc:13455 + #, gcc-internal-format + msgid "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/decl.cc:13444 ++#: cp/decl.cc:13460 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13451 ++#: cp/decl.cc:13467 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13460 ++#: cp/decl.cc:13476 + #, gcc-internal-format + msgid "%qs function with trailing return type has % as its type rather than plain %" + msgstr "" + +-#: cp/decl.cc:13465 ++#: cp/decl.cc:13481 + #, fuzzy, gcc-internal-format + msgid "invalid use of %" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:13477 ++#: cp/decl.cc:13493 + #, gcc-internal-format + msgid "deduced class type %qD in function return type" + msgstr "" + +-#: cp/decl.cc:13486 ++#: cp/decl.cc:13502 + #, gcc-internal-format + msgid "deduction guide for %qT must have trailing return type" + msgstr "" + +-#: cp/decl.cc:13499 ++#: cp/decl.cc:13515 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" + +-#: cp/decl.cc:13513 ++#: cp/decl.cc:13529 + #, gcc-internal-format + msgid "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>" + msgstr "" + +-#: cp/decl.cc:13516 ++#: cp/decl.cc:13532 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "" + +-#: cp/decl.cc:13523 ++#: cp/decl.cc:13539 + #, gcc-internal-format + msgid "a conversion function cannot have a trailing return type" + msgstr "" + +-#: cp/decl.cc:13549 ++#: cp/decl.cc:13565 + #, gcc-internal-format + msgid "%-qualified return type is deprecated" + msgstr "" + +-#: cp/decl.cc:13561 ++#: cp/decl.cc:13577 + #, fuzzy, gcc-internal-format + #| msgid "`%s' undeclared (first use in this function)" + msgid "%qs declared as function returning a function" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:13567 ++#: cp/decl.cc:13583 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "" + +-#: cp/decl.cc:13574 ++#: cp/decl.cc:13590 + #, gcc-internal-format + msgid "% on function return type is not allowed" + msgstr "" + +-#: cp/decl.cc:13607 ++#: cp/decl.cc:13623 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13609 ++#: cp/decl.cc:13625 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "" + +-#: cp/decl.cc:13614 ++#: cp/decl.cc:13630 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13615 ++#: cp/decl.cc:13631 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "" + +-#: cp/decl.cc:13623 ++#: cp/decl.cc:13639 + #, gcc-internal-format + msgid "destructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13624 ++#: cp/decl.cc:13640 + #, gcc-internal-format + msgid "constructors may not be ref-qualified" + msgstr "" + +-#: cp/decl.cc:13642 ++#: cp/decl.cc:13658 + #, fuzzy, gcc-internal-format + msgid "constructors cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13659 ++#: cp/decl.cc:13675 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:13664 ++#: cp/decl.cc:13680 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "" + +-#: cp/decl.cc:13668 ++#: cp/decl.cc:13684 + #, fuzzy, gcc-internal-format + msgid "cannot define friend function %qs in a local class definition" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:13678 ++#: cp/decl.cc:13694 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<::%>" + msgstr "" + +-#: cp/decl.cc:13682 ++#: cp/decl.cc:13698 + #, gcc-internal-format + msgid "friend function definition %qs cannot have a name qualified with %<%D::%>" + msgstr "" + +-#: cp/decl.cc:13708 ++#: cp/decl.cc:13724 + #, gcc-internal-format + msgid "a non-member function cannot have an explicit object parameter" + msgstr "" + +-#: cp/decl.cc:13716 ++#: cp/decl.cc:13732 + #, gcc-internal-format + msgid "an explicit object member function cannot be %" + msgstr "" + +-#: cp/decl.cc:13726 ++#: cp/decl.cc:13742 + #, gcc-internal-format + msgid "an explicit object member function cannot be %" + msgstr "" + +-#: cp/decl.cc:13735 ++#: cp/decl.cc:13751 + #, gcc-internal-format + msgid "%qD cannot be an explicit object member function" + msgstr "" + +-#: cp/decl.cc:13758 ++#: cp/decl.cc:13774 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "" + +-#: cp/decl.cc:13816 ++#: cp/decl.cc:13832 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:13829 cp/decl.cc:13836 ++#: cp/decl.cc:13845 cp/decl.cc:13852 + #, fuzzy, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "Не магу знайсці файл для класа %s." + +-#: cp/decl.cc:13838 ++#: cp/decl.cc:13854 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "" + +-#: cp/decl.cc:13867 ++#: cp/decl.cc:13883 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "" + +-#: cp/decl.cc:13868 ++#: cp/decl.cc:13884 + #, fuzzy, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:13941 ++#: cp/decl.cc:13957 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "" + +-#: cp/decl.cc:14021 ++#: cp/decl.cc:14037 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "" + +-#: cp/decl.cc:14047 ++#: cp/decl.cc:14063 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "" + +-#: cp/decl.cc:14052 ++#: cp/decl.cc:14068 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "" + +-#: cp/decl.cc:14082 ++#: cp/decl.cc:14098 + #, gcc-internal-format + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:14084 ++#: cp/decl.cc:14100 + #, gcc-internal-format + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:14092 ++#: cp/decl.cc:14108 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "" + +-#: cp/decl.cc:14132 ++#: cp/decl.cc:14148 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "" + +-#: cp/decl.cc:14141 ++#: cp/decl.cc:14157 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:14144 ++#: cp/decl.cc:14160 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "" + +-#: cp/decl.cc:14155 ++#: cp/decl.cc:14171 + #, fuzzy, gcc-internal-format + #| msgid "duplicate label declaration `%s'" + msgid "% outside class declaration" + msgstr "паўторнае абвяшчэньне адмеціны `%s'" + +-#: cp/decl.cc:14158 ++#: cp/decl.cc:14174 + #, fuzzy, gcc-internal-format + msgid "% in friend declaration" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:14161 ++#: cp/decl.cc:14177 + #, gcc-internal-format + msgid "only declarations of constructors and conversion operators can be %" + msgstr "" + +-#: cp/decl.cc:14171 ++#: cp/decl.cc:14187 + #, fuzzy, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14178 ++#: cp/decl.cc:14194 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:14184 ++#: cp/decl.cc:14200 + #, fuzzy, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14190 ++#: cp/decl.cc:14206 + #, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "" + +-#: cp/decl.cc:14196 ++#: cp/decl.cc:14212 + #, fuzzy, gcc-internal-format + msgid "% %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14202 ++#: cp/decl.cc:14218 + #, fuzzy, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14218 ++#: cp/decl.cc:14234 + #, gcc-internal-format + msgid "typedef may not be a function definition" + msgstr "" + +-#: cp/decl.cc:14221 ++#: cp/decl.cc:14237 + #, gcc-internal-format + msgid "typedef may not be a member function definition" + msgstr "" + +-#: cp/decl.cc:14247 ++#: cp/decl.cc:14263 + #, fuzzy, gcc-internal-format + msgid "% not allowed in alias declaration" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/decl.cc:14250 ++#: cp/decl.cc:14266 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "" + +-#: cp/decl.cc:14255 ++#: cp/decl.cc:14271 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.cc:14259 ++#: cp/decl.cc:14275 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "" + +-#: cp/decl.cc:14285 ++#: cp/decl.cc:14301 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "" + +-#: cp/decl.cc:14374 ++#: cp/decl.cc:14390 + #, fuzzy, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:14382 ++#: cp/decl.cc:14398 + #, fuzzy, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14384 ++#: cp/decl.cc:14400 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:14388 ++#: cp/decl.cc:14404 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "" + +-#: cp/decl.cc:14401 ++#: cp/decl.cc:14417 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "" + +-#: cp/decl.cc:14421 ++#: cp/decl.cc:14437 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "" + +-#: cp/decl.cc:14425 ++#: cp/decl.cc:14441 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.cc:14435 ++#: cp/decl.cc:14451 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "" + +-#: cp/decl.cc:14450 ++#: cp/decl.cc:14466 + #, fuzzy, gcc-internal-format + msgid "requires-clause on declaration of non-function type %qT" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:14469 ++#: cp/decl.cc:14485 + #, fuzzy, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "Не магу знайсці дэкларацыю пратакола для \"%s\"" + +-#: cp/decl.cc:14479 cp/parser.cc:20813 ++#: cp/decl.cc:14495 cp/parser.cc:20813 + #, gcc-internal-format + msgid "cannot declare a parameter with %" + msgstr "" + +-#: cp/decl.cc:14486 ++#: cp/decl.cc:14502 + #, gcc-internal-format + msgid "missing template argument list after %qE; template placeholder not permitted in parameter" + msgstr "" + +-#: cp/decl.cc:14489 ++#: cp/decl.cc:14505 + #, gcc-internal-format + msgid "or use % for an abbreviated function template" + msgstr "" + +-#: cp/decl.cc:14495 cp/parser.cc:25355 ++#: cp/decl.cc:14511 cp/parser.cc:25355 + #, gcc-internal-format + msgid "% parameter not permitted in this context" + msgstr "" + +-#: cp/decl.cc:14505 ++#: cp/decl.cc:14521 + #, fuzzy, gcc-internal-format + msgid "parameter declared %" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:14559 cp/parser.cc:3687 ++#: cp/decl.cc:14575 cp/parser.cc:3687 + #, fuzzy, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:14563 ++#: cp/decl.cc:14579 + #, gcc-internal-format + msgid "non-static data member declared with placeholder %qT" + msgstr "" + +-#: cp/decl.cc:14584 ++#: cp/decl.cc:14600 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + +-#: cp/decl.cc:14587 ++#: cp/decl.cc:14603 + #, fuzzy, gcc-internal-format + msgid "ISO C++ forbids flexible array members" + msgstr "ISO C не дазваляе дэкларацыі метак (label)" + + #. Something like struct S { int N::j; }; +-#: cp/decl.cc:14603 ++#: cp/decl.cc:14619 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `::'" + msgid "invalid use of %<::%>" + msgstr "нерэчаіснае выкарыстаньне `::'" + +-#: cp/decl.cc:14624 ++#: cp/decl.cc:14640 + #, fuzzy, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl.cc:14634 ++#: cp/decl.cc:14650 + #, fuzzy, gcc-internal-format + msgid "function %qD declared % inside a union" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:14644 ++#: cp/decl.cc:14660 + #, gcc-internal-format + msgid "%qD cannot be declared %, since it is always static" + msgstr "" + +-#: cp/decl.cc:14658 ++#: cp/decl.cc:14674 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "" + +-#: cp/decl.cc:14665 ++#: cp/decl.cc:14681 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "declaration of %qD as member of %qT" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:14672 cp/decl.cc:14685 ++#: cp/decl.cc:14688 cp/decl.cc:14701 + #, gcc-internal-format + msgid "a destructor cannot be %qs" + msgstr "" + +-#: cp/decl.cc:14691 ++#: cp/decl.cc:14707 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "" + +-#: cp/decl.cc:14700 ++#: cp/decl.cc:14716 + #, gcc-internal-format + msgid "a constructor cannot be %" + msgstr "" + +-#: cp/decl.cc:14706 ++#: cp/decl.cc:14722 + #, fuzzy, gcc-internal-format + msgid "a concept cannot be a member function" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/decl.cc:14714 cp/decl.cc:15069 ++#: cp/decl.cc:14730 cp/decl.cc:15085 + #, fuzzy, gcc-internal-format + #| msgid "[cannot find %s]" + msgid "%qD cannot be %qs" + msgstr "[нельга знайсці %s]" + +-#: cp/decl.cc:14723 ++#: cp/decl.cc:14739 + #, gcc-internal-format + msgid "specialization of variable template %qD declared as function" + msgstr "" + +-#: cp/decl.cc:14726 ++#: cp/decl.cc:14742 + #, fuzzy, gcc-internal-format + msgid "variable template declared here" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/decl.cc:14789 ++#: cp/decl.cc:14805 + #, fuzzy, gcc-internal-format + msgid "field %qD has incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:14794 ++#: cp/decl.cc:14810 + #, fuzzy, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:14814 ++#: cp/decl.cc:14830 + #, fuzzy, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "віртуальныя функцыі не могуць быць сяброўскімі" + +-#: cp/decl.cc:14817 ++#: cp/decl.cc:14833 + #, gcc-internal-format + msgid "unnamed field is neither function nor member function; cannot be declared friend" + msgstr "" + +-#: cp/decl.cc:14835 cp/parser.cc:21380 cp/parser.cc:28064 ++#: cp/decl.cc:14851 cp/parser.cc:21380 cp/parser.cc:28064 + #, gcc-internal-format + msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" + msgstr "" + +-#: cp/decl.cc:14885 cp/decl.cc:14896 ++#: cp/decl.cc:14901 cp/decl.cc:14912 + #, gcc-internal-format + msgid "static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:14890 ++#: cp/decl.cc:14906 + #, gcc-internal-format + msgid "% static data member %qD must have an initializer" + msgstr "" + +-#: cp/decl.cc:14933 cp/decl.cc:14941 cp/decl.cc:14948 cp/decl.cc:14955 ++#: cp/decl.cc:14949 cp/decl.cc:14957 cp/decl.cc:14964 cp/decl.cc:14971 + #, gcc-internal-format + msgid "non-static data member %qE declared %qs" + msgstr "" + +-#: cp/decl.cc:15007 ++#: cp/decl.cc:15023 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:15010 ++#: cp/decl.cc:15026 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:15016 ++#: cp/decl.cc:15032 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:15020 ++#: cp/decl.cc:15036 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "" + +-#: cp/decl.cc:15025 ++#: cp/decl.cc:15041 + #, fuzzy, gcc-internal-format + #| msgid "can't initialize friend function `%s'" + msgid "% specifier invalid for function %qs" + msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" + +-#: cp/decl.cc:15028 ++#: cp/decl.cc:15044 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "" + +-#: cp/decl.cc:15040 ++#: cp/decl.cc:15056 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:15044 ++#: cp/decl.cc:15060 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "" + +-#: cp/decl.cc:15052 ++#: cp/decl.cc:15068 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "" + +-#: cp/decl.cc:15059 ++#: cp/decl.cc:15075 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "" + +-#: cp/decl.cc:15060 ++#: cp/decl.cc:15076 + #, fuzzy, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:15103 ++#: cp/decl.cc:15119 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "" + +-#: cp/decl.cc:15112 ++#: cp/decl.cc:15128 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "" + +-#: cp/decl.cc:15153 ++#: cp/decl.cc:15169 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "" + +-#: cp/decl.cc:15160 ++#: cp/decl.cc:15176 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "" + +-#: cp/decl.cc:15166 ++#: cp/decl.cc:15182 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "" + +-#: cp/decl.cc:15174 ++#: cp/decl.cc:15190 + #, gcc-internal-format + msgid "declaration of % variable %qD is not a definition" + msgstr "" + +-#: cp/decl.cc:15181 ++#: cp/decl.cc:15197 + #, gcc-internal-format + msgid "a variable cannot be declared %" + msgstr "" + +-#: cp/decl.cc:15213 ++#: cp/decl.cc:15229 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "" + +-#: cp/decl.cc:15218 ++#: cp/decl.cc:15234 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "" + +-#: cp/decl.cc:15420 ++#: cp/decl.cc:15436 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:15423 ++#: cp/decl.cc:15439 + #, fuzzy, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:15550 ++#: cp/decl.cc:15566 + #, fuzzy, gcc-internal-format + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:15554 ++#: cp/decl.cc:15570 + #, fuzzy, gcc-internal-format + msgid "invalid use of type % in parameter declaration" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:15583 ++#: cp/decl.cc:15599 + #, gcc-internal-format + msgid "%-qualified parameter is deprecated" + msgstr "" + +-#: cp/decl.cc:15591 ++#: cp/decl.cc:15607 + #, fuzzy, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/decl.cc:15616 ++#: cp/decl.cc:15632 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15618 ++#: cp/decl.cc:15634 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "" + +-#: cp/decl.cc:15901 ++#: cp/decl.cc:15917 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "" + +-#: cp/decl.cc:15980 ++#: cp/decl.cc:15996 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:15987 ++#: cp/decl.cc:16003 + #, fuzzy, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl.cc:16015 ++#: cp/decl.cc:16031 + #, gcc-internal-format + msgid "%qD must be a non-static member function" + msgstr "" + +-#: cp/decl.cc:16023 ++#: cp/decl.cc:16039 + #, fuzzy, gcc-internal-format + msgid "%qD must be a member function" + msgstr "вельмі шмат аргументаў у функцыі" + +-#: cp/decl.cc:16031 ++#: cp/decl.cc:16047 + #, gcc-internal-format + msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" + msgstr "" + +-#: cp/decl.cc:16041 ++#: cp/decl.cc:16057 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "" + +-#: cp/decl.cc:16051 ++#: cp/decl.cc:16067 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "" + + #. 13.4.0.3 +-#: cp/decl.cc:16082 ++#: cp/decl.cc:16098 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading %" + msgstr "" + +-#: cp/decl.cc:16092 ++#: cp/decl.cc:16108 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "" + +-#: cp/decl.cc:16118 ++#: cp/decl.cc:16134 + #, gcc-internal-format + msgid "%qD must have either zero or one argument" + msgstr "" + +-#: cp/decl.cc:16119 ++#: cp/decl.cc:16135 + #, gcc-internal-format + msgid "%qD must have either one or two arguments" + msgstr "" + +-#: cp/decl.cc:16131 ++#: cp/decl.cc:16147 + #, gcc-internal-format + msgid "postfix %qD must have % as its argument" + msgstr "" + +-#: cp/decl.cc:16132 ++#: cp/decl.cc:16148 + #, gcc-internal-format + msgid "postfix %qD must have % as its second argument" + msgstr "" + +-#: cp/decl.cc:16143 ++#: cp/decl.cc:16159 + #, fuzzy, gcc-internal-format + #| msgid "no arguments" + msgid "%qD must have no arguments" + msgstr "няма аргументаў" + +-#: cp/decl.cc:16144 cp/decl.cc:16154 ++#: cp/decl.cc:16160 cp/decl.cc:16170 + #, gcc-internal-format + msgid "%qD must have exactly one argument" + msgstr "" + +-#: cp/decl.cc:16155 ++#: cp/decl.cc:16171 + #, gcc-internal-format + msgid "%qD must have exactly two arguments" + msgstr "" + +-#: cp/decl.cc:16170 ++#: cp/decl.cc:16186 + #, fuzzy, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/decl.cc:16194 ++#: cp/decl.cc:16210 + #, gcc-internal-format + msgid "converting %qT to % will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:16201 ++#: cp/decl.cc:16217 + #, gcc-internal-format + msgid "converting %qT to a reference to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:16203 ++#: cp/decl.cc:16219 + #, gcc-internal-format + msgid "converting %qT to the same type will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:16212 ++#: cp/decl.cc:16228 + #, gcc-internal-format + msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:16214 ++#: cp/decl.cc:16230 + #, gcc-internal-format + msgid "converting %qT to a base class %qT will never use a type conversion operator" + msgstr "" + +-#: cp/decl.cc:16230 ++#: cp/decl.cc:16246 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "" + +-#: cp/decl.cc:16249 ++#: cp/decl.cc:16265 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:16256 ++#: cp/decl.cc:16272 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "" + +-#: cp/decl.cc:16268 ++#: cp/decl.cc:16284 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "" + +-#: cp/decl.cc:16323 ++#: cp/decl.cc:16339 + #, fuzzy, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/decl.cc:16346 ++#: cp/decl.cc:16362 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "" + +-#: cp/decl.cc:16349 ++#: cp/decl.cc:16365 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "" + +-#: cp/decl.cc:16351 ++#: cp/decl.cc:16367 + #, fuzzy, gcc-internal-format + #| msgid "this is a previous declaration" + msgid "%qD has a previous declaration here" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:16359 ++#: cp/decl.cc:16375 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "" + +-#: cp/decl.cc:16360 cp/decl.cc:16367 ++#: cp/decl.cc:16376 cp/decl.cc:16383 + #, fuzzy, gcc-internal-format + #| msgid "this is a previous declaration" + msgid "%qT has a previous declaration here" + msgstr "гэта папярэдняе абвяшчэньне" + +-#: cp/decl.cc:16366 ++#: cp/decl.cc:16382 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "" +@@ -58401,116 +58409,101 @@ msgstr "" + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.cc:16381 ++#: cp/decl.cc:16397 + #, fuzzy, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "параметр \"%s\" ініцыялізаваны" + +-#: cp/decl.cc:16424 cp/name-lookup.cc:6074 cp/name-lookup.cc:6206 +-#: cp/parser.cc:7215 cp/parser.cc:32114 ++#: cp/decl.cc:16440 cp/name-lookup.cc:6131 cp/name-lookup.cc:6263 ++#: cp/parser.cc:7215 cp/parser.cc:32116 + #, fuzzy, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/decl.cc:16433 ++#: cp/decl.cc:16449 + #, gcc-internal-format + msgid "class template %qD redeclared as non-template" + msgstr "" + +-#: cp/decl.cc:16455 cp/name-lookup.cc:5764 ++#: cp/decl.cc:16471 cp/name-lookup.cc:5821 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "" + +-#: cp/decl.cc:16483 cp/friend.cc:317 cp/parser.cc:3512 cp/parser.cc:6920 +-#: cp/pt.cc:9992 ++#: cp/decl.cc:16499 cp/friend.cc:317 cp/parser.cc:3512 cp/parser.cc:6920 ++#: cp/pt.cc:10003 + #, fuzzy, gcc-internal-format + msgid "%qT is not a template" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/decl.cc:16488 ++#: cp/decl.cc:16504 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.cc:16593 ++#: cp/decl.cc:16609 + #, fuzzy, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: cp/decl.cc:16619 ++#: cp/decl.cc:16635 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "redeclaration of %qT as a non-template" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/decl.cc:16631 cp/semantics.cc:3781 +-#, gcc-internal-format +-msgid "cannot declare %qD in a different module" +-msgstr "" +- +-#: cp/decl.cc:16632 cp/decl.cc:16985 lto/lto-symtab.cc:865 +-#, fuzzy, gcc-internal-format +-msgid "previously declared here" +-msgstr "няма папярэдняга аб'яўлення для \"%s\"" +- +-#: cp/decl.cc:16759 ++#: cp/decl.cc:16770 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "" + +-#: cp/decl.cc:16766 ++#: cp/decl.cc:16777 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.cc:16777 ++#: cp/decl.cc:16788 + #, gcc-internal-format + msgid "%qT defined with direct virtual base" + msgstr "" + +-#: cp/decl.cc:16802 ++#: cp/decl.cc:16813 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "" + +-#: cp/decl.cc:16832 ++#: cp/decl.cc:16843 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "" + +-#: cp/decl.cc:16834 ++#: cp/decl.cc:16845 + #, fuzzy, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "паўтарэнне \"restrict\"" + +-#: cp/decl.cc:16984 +-#, gcc-internal-format +-msgid "cannot declare %qD in different module" +-msgstr "" +- +-#: cp/decl.cc:16997 ++#: cp/decl.cc:17003 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:17000 cp/decl.cc:17009 cp/decl.cc:17020 cp/decl.cc:17612 ++#: cp/decl.cc:17006 cp/decl.cc:17015 cp/decl.cc:17026 cp/decl.cc:17618 + #: cp/parser.cc:21734 + #, gcc-internal-format + msgid "previous definition here" + msgstr "папярэдняе вызначэньне" + +-#: cp/decl.cc:17006 ++#: cp/decl.cc:17012 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "" + +-#: cp/decl.cc:17017 ++#: cp/decl.cc:17023 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "" + +-#: cp/decl.cc:17090 ++#: cp/decl.cc:17096 + #, gcc-internal-format + msgid "underlying type %qT of %qT must be an integral type" + msgstr "" +@@ -58519,83 +58512,83 @@ msgstr "" + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.cc:17239 ++#: cp/decl.cc:17245 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "" + +-#: cp/decl.cc:17420 ++#: cp/decl.cc:17426 + #, gcc-internal-format + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "" + +-#: cp/decl.cc:17430 ++#: cp/decl.cc:17436 + #, fuzzy, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "памер масіва \"%s\" адмоўны" + +-#: cp/decl.cc:17479 ++#: cp/decl.cc:17485 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17480 ++#: cp/decl.cc:17486 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "" + +-#: cp/decl.cc:17491 ++#: cp/decl.cc:17497 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "" + +-#: cp/decl.cc:17511 ++#: cp/decl.cc:17517 + #, gcc-internal-format + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "" + +-#: cp/decl.cc:17610 cp/parser.cc:21732 ++#: cp/decl.cc:17616 cp/parser.cc:21732 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "multiple definition of %q#T" + msgstr "папярэдняе вызначэньне `%#T'" + +-#: cp/decl.cc:17684 ++#: cp/decl.cc:17690 + #, fuzzy, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "вяртаемы тып \"%s\" не \"int\"" + +-#: cp/decl.cc:17842 cp/typeck.cc:11242 ++#: cp/decl.cc:17848 cp/typeck.cc:11238 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "" + +-#: cp/decl.cc:18672 ++#: cp/decl.cc:18678 + #, gcc-internal-format + msgid "no return statements in function returning %qT" + msgstr "" + +-#: cp/decl.cc:18674 cp/typeck.cc:11122 ++#: cp/decl.cc:18680 cp/typeck.cc:11118 + #, gcc-internal-format + msgid "only plain % return type can be deduced to %" + msgstr "" + +-#: cp/decl.cc:18734 ++#: cp/decl.cc:18740 + #, gcc-internal-format + msgid "no return statement in % function returning non-void" + msgstr "" + +-#: cp/decl.cc:18914 ++#: cp/decl.cc:18920 + #, fuzzy, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "не знойдзен клас \"%s\"" + +-#: cp/decl.cc:19304 ++#: cp/decl.cc:19310 + #, gcc-internal-format + msgid "using %qs" + msgstr "" + +-#: cp/decl.cc:19316 ++#: cp/decl.cc:19322 + #, gcc-internal-format + msgid "use of %qD before deduction of %" + msgstr "" +@@ -58650,7 +58643,7 @@ msgstr "" + msgid "deleting %qT is undefined" + msgstr "метка \"%s\" ужываецца, але не вызначана" + +-#: cp/decl2.cc:768 cp/pt.cc:5961 ++#: cp/decl2.cc:768 cp/pt.cc:5962 + #, fuzzy, gcc-internal-format + msgid "template declaration of %q#D" + msgstr "пустое абвяшчэнне" +@@ -58660,7 +58653,7 @@ msgstr "пустое абвяшчэнне" + msgid "template parameter lists provided don%'t match the template parameters of %qD" + msgstr "" + +-#: cp/decl2.cc:823 cp/pt.cc:5929 ++#: cp/decl2.cc:823 cp/pt.cc:5930 + #, gcc-internal-format + msgid "destructor %qD declared as member template" + msgstr "" +@@ -58845,64 +58838,64 @@ msgstr "" + msgid "% takes type %qT as first parameter" + msgstr "" + +-#: cp/decl2.cc:3159 ++#: cp/decl2.cc:3160 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type has no linkage" + msgstr "" + +-#: cp/decl2.cc:3163 ++#: cp/decl2.cc:3164 + #, gcc-internal-format + msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3169 ++#: cp/decl2.cc:3170 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type has internal linkage" + msgstr "" + + #. In C++98 this can only happen with unnamed namespaces. +-#: cp/decl2.cc:3173 ++#: cp/decl2.cc:3174 + #, gcc-internal-format + msgid "%qT has a field %q#D whose type uses the anonymous namespace" + msgstr "" + +-#: cp/decl2.cc:3181 ++#: cp/decl2.cc:3182 + #, gcc-internal-format + msgid "%qT declared with greater visibility than the type of its field %qD" + msgstr "" + +-#: cp/decl2.cc:3200 ++#: cp/decl2.cc:3201 + #, gcc-internal-format + msgid "%qT has a base %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3204 ++#: cp/decl2.cc:3205 + #, gcc-internal-format + msgid "%qT has a base %qT which depends on the type %qT which has no linkage" + msgstr "" + +-#: cp/decl2.cc:3210 ++#: cp/decl2.cc:3211 + #, gcc-internal-format + msgid "%qT has a base %qT which has internal linkage" + msgstr "" + + #. In C++98 this can only happen with unnamed namespaces. +-#: cp/decl2.cc:3214 ++#: cp/decl2.cc:3215 + #, gcc-internal-format + msgid "%qT has a base %qT which uses the anonymous namespace" + msgstr "" + +-#: cp/decl2.cc:3221 ++#: cp/decl2.cc:3222 + #, gcc-internal-format + msgid "%qT declared with greater visibility than its base %qT" + msgstr "" + +-#: cp/decl2.cc:4713 ++#: cp/decl2.cc:4714 + #, gcc-internal-format + msgid "%q#D, declared using an unnamed type, is used but never defined" + msgstr "" + +-#: cp/decl2.cc:4717 ++#: cp/decl2.cc:4718 + #, gcc-internal-format + msgid "%q#D, declared using an unnamed type, is used but not defined" + msgstr "" +@@ -58911,107 +58904,107 @@ msgstr "" + #. no linkage can only be used to declare extern "C" + #. entities. Since it's not always an error in the + #. ISO C++ 90 Standard, we only issue a warning. +-#: cp/decl2.cc:4727 ++#: cp/decl2.cc:4728 + #, gcc-internal-format + msgid "unnamed type with no linkage used to declare variable %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4731 ++#: cp/decl2.cc:4732 + #, gcc-internal-format + msgid "unnamed type with no linkage used to declare function %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4735 ++#: cp/decl2.cc:4736 + #, gcc-internal-format + msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" + msgstr "" + +-#: cp/decl2.cc:4753 ++#: cp/decl2.cc:4754 + #, gcc-internal-format + msgid "%q#D, declared using local type %qT, is used but never defined" + msgstr "" + +-#: cp/decl2.cc:4757 ++#: cp/decl2.cc:4758 + #, gcc-internal-format + msgid "%q#D, declared using local type %qT, is used but not defined here" + msgstr "" + +-#: cp/decl2.cc:4765 ++#: cp/decl2.cc:4766 + #, gcc-internal-format + msgid "type %qT with no linkage used to declare variable %q#D with linkage" + msgstr "" + +-#: cp/decl2.cc:4768 ++#: cp/decl2.cc:4769 + #, fuzzy, gcc-internal-format + msgid "type %qT with no linkage used to declare function %q#D with linkage" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/decl2.cc:4965 ++#: cp/decl2.cc:4966 + #, fuzzy, gcc-internal-format + #| msgid "section of `%s' conflicts with previous declaration" + msgid "mangling of %q#D as %qE conflicts with a previous mangle" + msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" + +-#: cp/decl2.cc:4968 ++#: cp/decl2.cc:4969 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration `%D'" + msgid "previous mangling %q#D" + msgstr "папярэдняе абвяшчэньне `%D'" + +-#: cp/decl2.cc:4970 ++#: cp/decl2.cc:4971 + #, gcc-internal-format + msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling" + msgstr "" + +-#: cp/decl2.cc:5042 cp/decl2.cc:5045 ++#: cp/decl2.cc:5043 cp/decl2.cc:5046 + #, gcc-internal-format + msgid "the program should also define %qD" + msgstr "" + +-#: cp/decl2.cc:5384 ++#: cp/decl2.cc:5385 + #, fuzzy, gcc-internal-format + #| msgid "label `%D' used but not defined" + msgid "inline function %qD used but never defined" + msgstr "адмеціна `%D' выкарыстоўвываецца, але ня вызначана" + +-#: cp/decl2.cc:5610 ++#: cp/decl2.cc:5611 + #, fuzzy, gcc-internal-format + msgid "default argument missing for parameter %P of %q#D" + msgstr "аргумент для \"%s\" прапушчан" + +-#: cp/decl2.cc:5615 ++#: cp/decl2.cc:5616 + #, gcc-internal-format + msgid "...following parameter %P which has a default argument" + msgstr "" + +-#: cp/decl2.cc:5739 ++#: cp/decl2.cc:5740 + #, fuzzy, gcc-internal-format + msgid "implicitly-declared %qD is deprecated" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/decl2.cc:5743 ++#: cp/decl2.cc:5744 + #, gcc-internal-format + msgid "because %qT has user-provided %qD" + msgstr "" + + #. We mark a lambda conversion op as deleted if we can't + #. generate it properly; see maybe_add_lambda_conv_op. +-#: cp/decl2.cc:5884 ++#: cp/decl2.cc:5885 + #, gcc-internal-format + msgid "converting lambda that uses %<...%> to function pointer" + msgstr "" + +-#: cp/decl2.cc:5887 ++#: cp/decl2.cc:5888 + #, gcc-internal-format + msgid "use of deleted function %qD" + msgstr "" + +-#: cp/decl2.cc:5941 ++#: cp/decl2.cc:5942 + #, gcc-internal-format + msgid "use of function %qD with unsatisfied constraints" + msgstr "" + +-#: cp/decl2.cc:5971 ++#: cp/decl2.cc:5974 + #, gcc-internal-format + msgid "use of built-in parameter pack %qD outside of a template" + msgstr "" +@@ -59117,7 +59110,7 @@ msgstr "памер \"%s\" - %d байт" + msgid "%qD is not a member of %qT; did you mean %qs?" + msgstr "" + +-#: cp/error.cc:4697 cp/typeck.cc:2875 ++#: cp/error.cc:4697 cp/typeck.cc:2871 + #, gcc-internal-format + msgid "%qD is not a member of %qT" + msgstr "" +@@ -59127,7 +59120,7 @@ msgstr "" + msgid "%qD is not a member of %qD; did you mean %qs?" + msgstr "" + +-#: cp/error.cc:4723 cp/typeck.cc:3467 ++#: cp/error.cc:4723 cp/typeck.cc:3463 + #, gcc-internal-format + msgid "%qD is not a member of %qD" + msgstr "" +@@ -59152,47 +59145,47 @@ msgstr "" + msgid "throwing NULL, which has integral, not pointer type" + msgstr "" + +-#: cp/except.cc:735 ++#: cp/except.cc:731 + #, gcc-internal-format + msgid " in thrown expression" + msgstr "" + +-#: cp/except.cc:882 ++#: cp/except.cc:878 + #, gcc-internal-format + msgid "cannot declare % parameter to be of rvalue reference type %qT" + msgstr "" + +-#: cp/except.cc:892 ++#: cp/except.cc:888 + #, gcc-internal-format + msgid "cannot throw expression of type %qT because it involves types of variable size" + msgstr "" + +-#: cp/except.cc:895 ++#: cp/except.cc:891 + #, gcc-internal-format + msgid "cannot catch type %qT because it involves types of variable size" + msgstr "" + +-#: cp/except.cc:996 ++#: cp/except.cc:992 + #, gcc-internal-format + msgid "exception of type %qT will be caught by earlier handler" + msgstr "" + +-#: cp/except.cc:998 ++#: cp/except.cc:994 + #, gcc-internal-format + msgid "for type %qT" + msgstr "" + +-#: cp/except.cc:1027 ++#: cp/except.cc:1023 + #, gcc-internal-format + msgid "%<...%> handler must be the last handler for its try block" + msgstr "" + +-#: cp/except.cc:1123 ++#: cp/except.cc:1119 + #, gcc-internal-format + msgid "noexcept-expression evaluates to % because of a call to %qD" + msgstr "" + +-#: cp/except.cc:1126 ++#: cp/except.cc:1122 + #, gcc-internal-format + msgid "but %qD does not throw; perhaps it should be declared %" + msgstr "" +@@ -59460,12 +59453,12 @@ msgstr "" + msgid "type %qT is not a direct base of %qT" + msgstr "" + +-#: cp/init.cc:2045 cp/init.cc:4944 cp/typeck2.cc:1378 ++#: cp/init.cc:2045 cp/init.cc:4944 cp/typeck2.cc:1384 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "" + +-#: cp/init.cc:2366 cp/semantics.cc:4058 rust/backend/rust-tree.cc:4168 ++#: cp/init.cc:2366 cp/semantics.cc:4056 rust/backend/rust-tree.cc:4168 + #, fuzzy, gcc-internal-format + msgid "%qT is not a class type" + msgstr "\"%s\" мае незавершаны тып" +@@ -59480,12 +59473,12 @@ msgstr "" + msgid "invalid pointer to bit-field %qD" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/init.cc:2524 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3811 ++#: cp/init.cc:2524 cp/typeck.cc:2357 rust/backend/rust-tree.cc:3811 + #, fuzzy, gcc-internal-format + msgid "invalid use of non-static member function %qD" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/init.cc:2531 cp/semantics.cc:2377 ++#: cp/init.cc:2531 cp/semantics.cc:2379 + #, fuzzy, gcc-internal-format + msgid "invalid use of non-static data member %qD" + msgstr "нявернае выкарыстанне \"restict\"" +@@ -59681,52 +59674,52 @@ msgstr "" + msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" + msgstr "" + +-#: cp/init.cc:5510 ++#: cp/init.cc:5517 + #, gcc-internal-format + msgid "type to vector delete is neither pointer or array type" + msgstr "" + +-#: cp/lambda.cc:549 ++#: cp/lambda.cc:550 + #, gcc-internal-format + msgid "array of runtime bound cannot be captured by copy, only by reference" + msgstr "" + +-#: cp/lambda.cc:564 ++#: cp/lambda.cc:565 + #, gcc-internal-format + msgid "capture of variably-modified type %qT that is not an N3639 array of runtime bound" + msgstr "" + +-#: cp/lambda.cc:568 ++#: cp/lambda.cc:569 + #, gcc-internal-format + msgid "because the array element type %qT has variable size" + msgstr "" + +-#: cp/lambda.cc:592 ++#: cp/lambda.cc:593 + #, gcc-internal-format + msgid "cannot capture %qE by reference" + msgstr "" + +-#: cp/lambda.cc:602 ++#: cp/lambda.cc:603 + #, fuzzy, gcc-internal-format + msgid "capture by copy of incomplete type %qT" + msgstr "\"%s\" мае незавершаны тып" + +-#: cp/lambda.cc:674 ++#: cp/lambda.cc:675 + #, gcc-internal-format + msgid "trying to capture %qD in instantiation of generic lambda" + msgstr "" + +-#: cp/lambda.cc:750 ++#: cp/lambda.cc:751 + #, gcc-internal-format + msgid "implicit capture of %qE via %<[=]%> is deprecated in C++20" + msgstr "" + +-#: cp/lambda.cc:752 ++#: cp/lambda.cc:753 + #, gcc-internal-format + msgid "add explicit % or %<*this%> capture" + msgstr "" + +-#: cp/lambda.cc:873 ++#: cp/lambda.cc:874 + #, gcc-internal-format + msgid "% was not captured for this lambda function" + msgstr "" +@@ -60098,225 +60091,272 @@ msgstr "" + msgid "encapsulation is malformed" + msgstr "" + +-#: cp/module.cc:11577 ++#: cp/module.cc:11604 + #, fuzzy, gcc-internal-format + msgid "conflicting global module declaration %#qD" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/module.cc:11579 ++#: cp/module.cc:11606 + #, fuzzy, gcc-internal-format + #| msgid "in declaration `%D'" + msgid "existing declaration %#qD" + msgstr "у абвяшчэньні `%D'" + +-#: cp/module.cc:12626 ++#: cp/module.cc:12655 + #, gcc-internal-format + msgid "definition of %qD does not match" + msgstr "" + +-#: cp/module.cc:12628 ++#: cp/module.cc:12657 + #, fuzzy, gcc-internal-format + #| msgid "previous definition here" + msgid "existing definition %qD" + msgstr "папярэдняе вызначэньне" + +-#: cp/module.cc:12640 ++#: cp/module.cc:12669 + #, gcc-internal-format + msgid "... this enumerator %qD" + msgstr "" + +-#: cp/module.cc:12642 ++#: cp/module.cc:12671 + #, gcc-internal-format + msgid "enumerator %qD does not match ..." + msgstr "" + +-#: cp/module.cc:12648 ++#: cp/module.cc:12677 + #, gcc-internal-format + msgid "additional enumerators beginning with %qD" + msgstr "" + +-#: cp/module.cc:12652 ++#: cp/module.cc:12681 + #, gcc-internal-format + msgid "enumeration range differs" + msgstr "" + +-#: cp/module.cc:13747 ++#: cp/module.cc:13782 + #, gcc-internal-format + msgid "%q#D references internal linkage entity %q#D" + msgstr "" + +-#: cp/module.cc:14330 ++#: cp/module.cc:14365 + #, gcc-internal-format + msgid "recursive lazy load" + msgstr "" + + #. Cannot import the current module. +-#: cp/module.cc:14349 ++#: cp/module.cc:14384 + #, gcc-internal-format + msgid "cannot import module in its own purview" + msgstr "" + +-#: cp/module.cc:14350 cp/module.cc:19589 ++#: cp/module.cc:14385 cp/module.cc:19710 + #, gcc-internal-format + msgid "module %qs declared here" + msgstr "" + +-#: cp/module.cc:14694 ++#: cp/module.cc:14729 + #, gcc-internal-format + msgid "indirect import %qs is not already loaded" + msgstr "" + +-#: cp/module.cc:14700 ++#: cp/module.cc:14735 + #, gcc-internal-format + msgid "import %qs has CRC mismatch" + msgstr "" + +-#: cp/module.cc:16528 ++#: cp/module.cc:16563 + #, gcc-internal-format + msgid "unable to represent further imported source locations" + msgstr "" + +-#: cp/module.cc:17403 ++#: cp/module.cc:17438 + #, gcc-internal-format + msgid "not exporting %<#define %E%> as it is a keyword" + msgstr "" + +-#: cp/module.cc:17643 ++#: cp/module.cc:17678 + #, gcc-internal-format + msgid "macro definitions of %qE corrupted" + msgstr "" + +-#: cp/module.cc:17667 cp/module.cc:17670 ++#: cp/module.cc:17702 cp/module.cc:17705 + #, gcc-internal-format + msgid "inconsistent imported macro definition %qE" + msgstr "" + +-#: cp/module.cc:17676 ++#: cp/module.cc:17711 + #, gcc-internal-format + msgid "%<#undef %E%>" + msgstr "" + +-#: cp/module.cc:17678 ++#: cp/module.cc:17713 + #, gcc-internal-format + msgid "%<#define %s%>" + msgstr "" + +-#: cp/module.cc:17911 ++#: cp/module.cc:17946 + #, gcc-internal-format + msgid "compiled module file is %qs" + msgstr "" + +-#: cp/module.cc:17948 cp/module.cc:17953 ++#: cp/module.cc:17983 cp/module.cc:17988 + #, gcc-internal-format, gfc-internal-format + msgid "compiled module is %sversion %s" + msgstr "" + +-#: cp/module.cc:17959 ++#: cp/module.cc:17994 + #, gcc-internal-format, gfc-internal-format + msgid "compiler is %sversion %s%s%s" + msgstr "" + +-#: cp/module.cc:17989 ++#: cp/module.cc:18024 + #, gcc-internal-format + msgid "module %qs found" + msgstr "" + +-#: cp/module.cc:17991 ++#: cp/module.cc:18026 + #, gcc-internal-format + msgid "header module expected, module %qs found" + msgstr "" + +-#: cp/module.cc:17992 ++#: cp/module.cc:18027 + #, gcc-internal-format + msgid "module %qs expected, header module found" + msgstr "" + +-#: cp/module.cc:18007 ++#: cp/module.cc:18042 + #, gcc-internal-format + msgid "module %qs CRC mismatch" + msgstr "" + +-#: cp/module.cc:18021 ++#: cp/module.cc:18056 + #, gcc-internal-format + msgid "target & host is %qs:%qs, expected %qs:%qs" + msgstr "" + +-#: cp/module.cc:18033 ++#: cp/module.cc:18068 + #, gcc-internal-format + msgid "language dialect differs %qs, expected %qs" + msgstr "" + +-#: cp/module.cc:18049 ++#: cp/module.cc:18084 + #, gcc-internal-format + msgid "module contains OpenMP, use %<-fopenmp%> to enable" + msgstr "" + +-#: cp/module.cc:18066 ++#: cp/module.cc:18101 + #, fuzzy, gcc-internal-format + msgid "fixed tree mismatch" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/module.cc:18157 ++#: cp/module.cc:18192 + #, gcc-internal-format + msgid "interface partition is not exported" + msgstr "" + +-#: cp/module.cc:18714 ++#: cp/module.cc:18749 + #, gcc-internal-format, gfc-internal-format + msgid "failed to read compiled module cluster %u: %s" + msgstr "" + +-#: cp/module.cc:18752 ++#: cp/module.cc:18787 + #, gcc-internal-format, gfc-internal-format + msgid "failed to read compiled module: %s" + msgstr "" + +-#: cp/module.cc:18762 ++#: cp/module.cc:18797 + #, gcc-internal-format + msgid "consider using %<-fno-module-lazy%>, increasing %<-param-lazy-modules=%u%> value, or increasing the per-process file descriptor limit" + msgstr "" + +-#: cp/module.cc:18767 ++#: cp/module.cc:18802 + #, gcc-internal-format + msgid "imports must be built before being imported" + msgstr "" + +-#: cp/module.cc:18770 ++#: cp/module.cc:18805 + #, gcc-internal-format + msgid "returning to the gate for a mechanical issue" + msgstr "" + +-#: cp/module.cc:19283 ++#: cp/module.cc:19117 ++#, fuzzy, gcc-internal-format ++msgid "declaration %qD conflicts with builtin" ++msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ++ ++#: cp/module.cc:19122 ++#, gcc-internal-format ++msgid "redeclaring %qD in module %qs conflicts with import" ++msgstr "" ++ ++#: cp/module.cc:19125 ++#, gcc-internal-format ++msgid "redeclaring %qD in global module conflicts with import" ++msgstr "" ++ ++#: cp/module.cc:19130 ++#, gcc-internal-format ++msgid "import declared attached to module %qs" ++msgstr "" ++ ++#: cp/module.cc:19134 ++#, gcc-internal-format ++msgid "import declared in global module" ++msgstr "" ++ ++#: cp/module.cc:19140 ++#, fuzzy, gcc-internal-format ++msgid "conflicting declaration of %qD in module %qs" ++msgstr "паўторнае абвяшчэнне меткі \"%s\"" ++ ++#: cp/module.cc:19143 ++#, gcc-internal-format ++msgid "conflicting declaration of %qD in global module" ++msgstr "" ++ ++#: cp/module.cc:19148 ++#, fuzzy, gcc-internal-format ++#| msgid "previous declaration of `%D'" ++msgid "previously declared in module %qs" ++msgstr "папярэдняе абвяшчэньне `%D'" ++ ++#: cp/module.cc:19152 ++#, fuzzy, gcc-internal-format ++#| msgid "previous declaration of `%D'" ++msgid "previously declared in global module" ++msgstr "папярэдняе абвяшчэньне `%D'" ++ ++#: cp/module.cc:19404 + #, gcc-internal-format + msgid "reading CMI %qs" + msgstr "" + +-#: cp/module.cc:19434 ++#: cp/module.cc:19555 + #, gcc-internal-format + msgid "failed to load binding %<%E%s%E%>" + msgstr "" + +-#: cp/module.cc:19435 ++#: cp/module.cc:19556 + #, gcc-internal-format + msgid "failed to load binding %<%E%s%E@%s%>" + msgstr "" + +-#: cp/module.cc:19442 ++#: cp/module.cc:19563 + #, gcc-internal-format + msgid "during load of binding %<%E%s%E%>" + msgstr "" + +-#: cp/module.cc:19443 ++#: cp/module.cc:19564 + #, gcc-internal-format + msgid "during load of binding %<%E%s%E@%s%>" + msgstr "" + +-#: cp/module.cc:19505 ++#: cp/module.cc:19626 + #, gcc-internal-format + msgid "failed to load pendings for %<%E%s%E%>" + msgstr "" + +-#: cp/module.cc:19509 ++#: cp/module.cc:19630 + #, gcc-internal-format + msgid "during load of pendings for %<%E%s%E%>" + msgstr "" +@@ -60328,399 +60368,399 @@ msgstr "" + #. module, so we don't want to confuse things by having to think + #. about whether 'extern "C++" { import foo; }' puts foo's + #. contents into the global module all of a sudden. +-#: cp/module.cc:19554 ++#: cp/module.cc:19675 + #, gcc-internal-format + msgid "import of named module %qs inside language-linkage block" + msgstr "" + +-#: cp/module.cc:19584 ++#: cp/module.cc:19705 + #, gcc-internal-format + msgid "module already declared" + msgstr "" + +-#: cp/module.cc:19585 ++#: cp/module.cc:19706 + #, gcc-internal-format + msgid "module already imported" + msgstr "" + +-#: cp/module.cc:19590 ++#: cp/module.cc:19711 + #, gcc-internal-format + msgid "module %qs imported here" + msgstr "" + +-#: cp/module.cc:19797 ++#: cp/module.cc:19918 + #, gcc-internal-format, gfc-internal-format + msgid "unknown Compiled Module Interface: %s" + msgstr "" + +-#: cp/module.cc:19840 ++#: cp/module.cc:19961 + #, gcc-internal-format + msgid "cannot determine %<#include%> translation of %s: %s" + msgstr "" + +-#: cp/module.cc:19858 ++#: cp/module.cc:19979 + #, gcc-internal-format + msgid "include %qs translated to import" + msgstr "" + +-#: cp/module.cc:19859 ++#: cp/module.cc:19980 + #, gcc-internal-format + msgid "include %qs processed textually" + msgstr "" + +-#: cp/module.cc:20218 ++#: cp/module.cc:20339 + #, gcc-internal-format + msgid "C++ modules are incompatible with precompiled headers" + msgstr "" + +-#: cp/module.cc:20222 ++#: cp/module.cc:20343 + #, gcc-internal-format + msgid "C++ modules are incompatible with traditional preprocessing" + msgstr "" + +-#: cp/module.cc:20232 ++#: cp/module.cc:20353 + #, gcc-internal-format + msgid "macro debug output may be incomplete with modules" + msgstr "" + +-#: cp/module.cc:20233 ++#: cp/module.cc:20354 + #, gcc-internal-format + msgid "module dependencies require preprocessing" + msgstr "" + +-#: cp/module.cc:20235 ++#: cp/module.cc:20356 + #, gcc-internal-format + msgid "you should use the %<-%s%> option" + msgstr "" + +-#: cp/module.cc:20270 cp/module.cc:20299 ++#: cp/module.cc:20391 cp/module.cc:20420 + #, fuzzy, gcc-internal-format + #| msgid "invalid register name for `%s'" + msgid "invalid header name %qs" + msgstr "нерэчаісная назва рэгістра `%s'" + +-#: cp/module.cc:20309 ++#: cp/module.cc:20430 + #, fuzzy, gcc-internal-format + msgid "invalid module name %qs" + msgstr "Нерэчаісны выбар %s" + +-#: cp/module.cc:20507 ++#: cp/module.cc:20630 + #, gcc-internal-format + msgid "%<-fmodule-only%> used for non-interface" + msgstr "" + +-#: cp/module.cc:20547 ++#: cp/module.cc:20670 + #, fuzzy, gcc-internal-format + #| msgid "error writing to %s" + msgid "writing CMI %qs" + msgstr "памылка запісу ў %s" + +-#: cp/module.cc:20554 ++#: cp/module.cc:20677 + #, gcc-internal-format + msgid "not writing module %qs due to errors" + msgstr "" + +-#: cp/module.cc:20619 ++#: cp/module.cc:20742 + #, gcc-internal-format, gfc-internal-format + msgid "failed to write compiled module: %s" + msgstr "" + +-#: cp/module.cc:20716 ++#: cp/module.cc:20839 + #, fuzzy, gcc-internal-format + #| msgid "unknown register name: %s" + msgid "unknown header kind %qs" + msgstr "невядомая назва рэгістра: %s" + +-#: cp/name-lookup.cc:2856 cp/name-lookup.cc:3932 cp/name-lookup.cc:4029 ++#: cp/name-lookup.cc:2860 cp/name-lookup.cc:3936 cp/name-lookup.cc:4033 + #, gcc-internal-format + msgid "name-independent declarations only available with %<-std=c++2c%> or %<-std=gnu++2c%>" + msgstr "" + +-#: cp/name-lookup.cc:2887 ++#: cp/name-lookup.cc:2891 + #, gcc-internal-format + msgid "redeclaration of %q#D with different template parameters" + msgstr "" + +-#: cp/name-lookup.cc:2893 ++#: cp/name-lookup.cc:2897 + #, fuzzy, gcc-internal-format + #| msgid "conflicts with previous declaration `%#D'" + msgid "%q#D conflicts with a previous declaration" + msgstr "канфлікт з папярэднім абвяшчэньнем `%#D'" + +-#: cp/name-lookup.cc:3060 ++#: cp/name-lookup.cc:3064 + #, fuzzy, gcc-internal-format + msgid "%q#D hides constructor for %q#D" + msgstr "дэструктару неабходны \"%#D\"" + +-#: cp/name-lookup.cc:3211 ++#: cp/name-lookup.cc:3215 + #, fuzzy, gcc-internal-format + msgid "conflicting C language linkage declaration %q#D" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/name-lookup.cc:3216 ++#: cp/name-lookup.cc:3220 + #, fuzzy, gcc-internal-format + msgid "due to different exception specifications" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/name-lookup.cc:3326 ++#: cp/name-lookup.cc:3330 + #, fuzzy, gcc-internal-format + msgid "lambda parameter %qD previously declared as a capture" + msgstr "тып параметра \"%s\" не аб'яўлены" + +-#: cp/name-lookup.cc:3359 cp/name-lookup.cc:3363 ++#: cp/name-lookup.cc:3363 cp/name-lookup.cc:3367 + #, fuzzy, gcc-internal-format + #| msgid "declaration of `%#D'" + msgid "declaration of %q#D shadows a parameter" + msgstr "абвяшчэньне `%#D'" + +-#: cp/name-lookup.cc:3522 ++#: cp/name-lookup.cc:3526 + #, gcc-internal-format + msgid "declaration of %qD shadows a member of %qT" + msgstr "" + +-#: cp/name-lookup.cc:4014 ++#: cp/name-lookup.cc:4018 + #, gcc-internal-format + msgid "friend declaration %qD in local class without prior local declaration" + msgstr "" + +-#: cp/name-lookup.cc:4512 ++#: cp/name-lookup.cc:4569 + #, gcc-internal-format + msgid "%s %<%s(%E)%> %p %d" + msgstr "" + +-#: cp/name-lookup.cc:4515 ++#: cp/name-lookup.cc:4572 + #, gcc-internal-format + msgid "%s %s %p %d" + msgstr "" + +-#: cp/name-lookup.cc:5101 ++#: cp/name-lookup.cc:5158 + #, gcc-internal-format + msgid "exporting %q#D that does not have external linkage" + msgstr "" + +-#: cp/name-lookup.cc:5106 ++#: cp/name-lookup.cc:5163 + #, gcc-internal-format + msgid "%q#D declared here with no linkage" + msgstr "" + +-#: cp/name-lookup.cc:5109 ++#: cp/name-lookup.cc:5166 + #, gcc-internal-format + msgid "%q#D declared here with internal linkage" + msgstr "" + +-#: cp/name-lookup.cc:5112 ++#: cp/name-lookup.cc:5169 + #, gcc-internal-format + msgid "%q#D declared here with module linkage" + msgstr "" + +-#: cp/name-lookup.cc:5911 ++#: cp/name-lookup.cc:5968 + #, gcc-internal-format + msgid "%<%T%s%D%> names destructor" + msgstr "" + +-#: cp/name-lookup.cc:5927 ++#: cp/name-lookup.cc:5984 + #, gcc-internal-format + msgid "using-declaration for non-member at class scope" + msgstr "" + +-#: cp/name-lookup.cc:5935 ++#: cp/name-lookup.cc:5992 + #, gcc-internal-format + msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" + msgstr "" + +-#: cp/name-lookup.cc:5951 cp/pt.cc:18490 ++#: cp/name-lookup.cc:6008 cp/pt.cc:18531 + #, gcc-internal-format + msgid "%qT is not a class, namespace, or enumeration" + msgstr "" + +-#: cp/name-lookup.cc:5961 ++#: cp/name-lookup.cc:6018 + #, gcc-internal-format + msgid "non-member using-declaration names constructor of %qT" + msgstr "" + +-#: cp/name-lookup.cc:5972 cp/name-lookup.cc:6045 ++#: cp/name-lookup.cc:6029 cp/name-lookup.cc:6102 + #, gcc-internal-format + msgid "using-declaration for member at non-class scope" + msgstr "" + +-#: cp/name-lookup.cc:5995 ++#: cp/name-lookup.cc:6052 + #, fuzzy, gcc-internal-format + #| msgid "%s: Not a directory" + msgid "%qT is not a direct base of %qT" + msgstr "%s: не дырэкторыя" + +-#: cp/name-lookup.cc:6055 ++#: cp/name-lookup.cc:6112 + #, gcc-internal-format + msgid "did you mean %?" + msgstr "" + +-#: cp/name-lookup.cc:6067 ++#: cp/name-lookup.cc:6124 + #, fuzzy, gcc-internal-format + msgid "%qD has not been declared in %qD" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/name-lookup.cc:6081 ++#: cp/name-lookup.cc:6138 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "using-declaration may not name namespace %qD" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/name-lookup.cc:6092 ++#: cp/name-lookup.cc:6149 + #, fuzzy, gcc-internal-format + msgid "%<%T::%D%> names constructor in %qT" + msgstr "дэструктару неабходны \"%#D\"" + +-#: cp/name-lookup.cc:6185 ++#: cp/name-lookup.cc:6242 + #, gcc-internal-format + msgid "declaration of %qD not in a namespace surrounding %qD" + msgstr "" + +-#: cp/name-lookup.cc:6226 ++#: cp/name-lookup.cc:6283 + #, fuzzy, gcc-internal-format + msgid "explicit qualification in declaration of %qD" + msgstr "паўторнае абвяшчэнне меткі \"%s\"" + +-#: cp/name-lookup.cc:6236 ++#: cp/name-lookup.cc:6293 + #, gcc-internal-format + msgid "%qD should have been declared inside %qD" + msgstr "" + +-#: cp/name-lookup.cc:6305 ++#: cp/name-lookup.cc:6362 + #, fuzzy, gcc-internal-format + msgid "%qD has not been declared within %qD" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" + +-#: cp/name-lookup.cc:6307 ++#: cp/name-lookup.cc:6364 + #, gcc-internal-format + msgid "only here as a %" + msgstr "" + +-#: cp/name-lookup.cc:6361 ++#: cp/name-lookup.cc:6418 + #, gcc-internal-format + msgid "%qD attribute requires a single NTBS argument" + msgstr "" + +-#: cp/name-lookup.cc:6368 ++#: cp/name-lookup.cc:6425 + #, gcc-internal-format + msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols" + msgstr "" + +-#: cp/name-lookup.cc:6378 cp/name-lookup.cc:6405 ++#: cp/name-lookup.cc:6435 cp/name-lookup.cc:6462 + #, gcc-internal-format + msgid "ignoring %qD attribute on anonymous namespace" + msgstr "" + +-#: cp/name-lookup.cc:6384 ++#: cp/name-lookup.cc:6441 + #, gcc-internal-format + msgid "ignoring %qD attribute on non-inline namespace" + msgstr "" + +-#: cp/name-lookup.cc:6421 cp/name-lookup.cc:8815 ++#: cp/name-lookup.cc:6478 cp/name-lookup.cc:8872 + #, fuzzy, gcc-internal-format + #| msgid "`%s' attribute ignored" + msgid "%qD attribute directive ignored" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: cp/name-lookup.cc:6747 ++#: cp/name-lookup.cc:6804 + #, gcc-internal-format + msgid "maximum limit of %d namespaces searched for %qE" + msgstr "" + +-#: cp/name-lookup.cc:6799 ++#: cp/name-lookup.cc:6856 + #, gcc-internal-format + msgid "suggested alternative:" + msgid_plural "suggested alternatives:" + msgstr[0] "" + msgstr[1] "" + +-#: cp/name-lookup.cc:6805 ++#: cp/name-lookup.cc:6862 + #, gcc-internal-format + msgid " %qE" + msgstr "" + +-#: cp/name-lookup.cc:7119 ++#: cp/name-lookup.cc:7176 + #, gcc-internal-format + msgid "% is defined in header %qs; this is probably fixable by adding %<#include %s%>" + msgstr "" + +-#: cp/name-lookup.cc:7125 ++#: cp/name-lookup.cc:7182 + #, gcc-internal-format + msgid "% is only available from %s onwards" + msgstr "" + +-#: cp/name-lookup.cc:7561 ++#: cp/name-lookup.cc:7618 + #, gcc-internal-format + msgid "the macro %qs had not yet been defined" + msgstr "" + +-#: cp/name-lookup.cc:7564 ++#: cp/name-lookup.cc:7621 + #, gcc-internal-format + msgid "it was later defined here" + msgstr "" + +-#: cp/name-lookup.cc:8359 ++#: cp/name-lookup.cc:8416 + #, gcc-internal-format + msgid "declaration of % does not match %<#include %>, isn%'t a template" + msgstr "" + +-#: cp/name-lookup.cc:8787 ++#: cp/name-lookup.cc:8844 + #, gcc-internal-format + msgid "% using directive no longer supported" + msgstr "" + +-#: cp/name-lookup.cc:8790 ++#: cp/name-lookup.cc:8847 + #, gcc-internal-format + msgid "you can use an inline namespace instead" + msgstr "" + +-#: cp/name-lookup.cc:8809 ++#: cp/name-lookup.cc:8866 + #, gcc-internal-format + msgid "% not allowed to be specified in this context" + msgstr "" + + #. We only allow depth 255. +-#: cp/name-lookup.cc:8901 ++#: cp/name-lookup.cc:8958 + #, gcc-internal-format, gfc-internal-format + msgid "cannot nest more than %d namespaces" + msgstr "" + +-#: cp/name-lookup.cc:8998 ++#: cp/name-lookup.cc:9055 + #, fuzzy, gcc-internal-format + msgid "% is ambiguous" + msgstr "памер \"%s\" - %d байт" + +-#: cp/name-lookup.cc:9014 ++#: cp/name-lookup.cc:9071 + #, fuzzy, gcc-internal-format + msgid "namespace alias %qD not allowed here, assuming %qD" + msgstr "\"%s\" - гэта не пачатак дэкларацыі" + +-#: cp/name-lookup.cc:9101 ++#: cp/name-lookup.cc:9158 + #, gcc-internal-format + msgid "inline namespace must be specified at initial definition" + msgstr "" + +-#: cp/name-lookup.cc:9102 ++#: cp/name-lookup.cc:9159 + #, fuzzy, gcc-internal-format + msgid "%qD defined here" + msgstr "YYDEBUG не вызначан." + +-#: cp/name-lookup.cc:9150 ++#: cp/name-lookup.cc:9207 + #, gcc-internal-format + msgid "%s namespace %qD conflicts with reachable definition" + msgstr "" + +-#: cp/name-lookup.cc:9152 ++#: cp/name-lookup.cc:9209 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "previous definition here" + msgid "reachable %s definition here" + msgstr "папярэдняе вызначэньне" + +-#: cp/name-lookup.cc:9195 ++#: cp/name-lookup.cc:9252 + #, gcc-internal-format + msgid "XXX entering %" + msgstr "" + +-#: cp/name-lookup.cc:9204 ++#: cp/name-lookup.cc:9261 + #, gcc-internal-format + msgid "XXX leaving %" + msgstr "" +@@ -60745,7 +60785,7 @@ msgstr "" + msgid "% is not set to true" + msgstr "" + +-#: cp/parser.cc:1607 cp/parser.cc:47881 ++#: cp/parser.cc:1607 cp/parser.cc:47879 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition" + msgstr "" +@@ -60992,7 +61032,7 @@ msgstr "" + msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" + msgstr "" + +-#: cp/parser.cc:3754 cp/parser.cc:31351 ++#: cp/parser.cc:3754 cp/parser.cc:31353 + #, gcc-internal-format + msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" + msgstr "" +@@ -61174,7 +61214,7 @@ msgstr "" + msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/parser.cc:5995 cp/parser.cc:6150 cp/parser.cc:6334 cp/semantics.cc:4405 ++#: cp/parser.cc:5995 cp/parser.cc:6150 cp/parser.cc:6334 cp/semantics.cc:4403 + #, gcc-internal-format + msgid "expected primary-expression" + msgstr "" +@@ -61229,7 +61269,7 @@ msgstr "" + msgid "template-id not allowed for destructor in C++20" + msgstr "" + +-#: cp/parser.cc:6735 cp/parser.cc:32584 ++#: cp/parser.cc:6735 cp/parser.cc:32586 + #, gcc-internal-format + msgid "remove the %qs" + msgstr "" +@@ -61249,7 +61289,7 @@ msgstr "" + msgid "expected unqualified-id" + msgstr "" + +-#: cp/parser.cc:6921 cp/typeck.cc:3165 cp/typeck.cc:3168 cp/typeck.cc:3185 ++#: cp/parser.cc:6921 cp/typeck.cc:3161 cp/typeck.cc:3164 cp/typeck.cc:3181 + #, fuzzy, gcc-internal-format + msgid "%qD is not a template" + msgstr "\"%s\" мае незавершаны тып" +@@ -61300,7 +61340,7 @@ msgstr "" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" + +-#: cp/parser.cc:7734 cp/pt.cc:20997 ++#: cp/parser.cc:7734 cp/pt.cc:21039 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments specified for `%s' attribute" + msgid "wrong number of arguments to %<__builtin_launder%>" +@@ -61338,7 +61378,7 @@ msgstr "" + msgid "cannot use multidimensional subscript in OpenMP array section" + msgstr "" + +-#: cp/parser.cc:8687 cp/typeck.cc:3053 ++#: cp/parser.cc:8687 cp/typeck.cc:3049 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%D'" + msgid "invalid use of %qD" +@@ -61364,7 +61404,7 @@ msgstr "ISO C не дазваляе дэкларацыі метак (label)" + msgid "types may not be defined in % expressions" + msgstr "" + +-#: cp/parser.cc:9444 cp/parser.cc:33997 ++#: cp/parser.cc:9444 cp/parser.cc:33999 + #, gcc-internal-format + msgid "types may not be defined in %qs expressions" + msgstr "" +@@ -61514,8 +61554,8 @@ msgstr "" + msgid "capture of non-variable %qE" + msgstr "" + +-#: cp/parser.cc:11688 cp/parser.cc:11698 cp/semantics.cc:4247 +-#: cp/semantics.cc:4262 ++#: cp/parser.cc:11688 cp/parser.cc:11698 cp/semantics.cc:4245 ++#: cp/semantics.cc:4260 + #, fuzzy, gcc-internal-format + msgid "%q#D declared here" + msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" +@@ -61556,7 +61596,7 @@ msgstr "памылковая колькасьць аргументаў, зада + msgid "parameter declaration before lambda declaration specifiers only optional with %<-std=c++2b%> or %<-std=gnu++2b%>" + msgstr "" + +-#: cp/parser.cc:11932 cp/pt.cc:14742 ++#: cp/parser.cc:11932 cp/pt.cc:14783 + #, gcc-internal-format + msgid "a lambda with captures may not have an explicit object parameter of an unrelated type" + msgstr "" +@@ -61684,7 +61724,7 @@ msgstr "" + msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>" + msgstr "" + +-#: cp/parser.cc:13819 cp/parser.cc:34509 ++#: cp/parser.cc:13819 cp/parser.cc:34511 + #, fuzzy, gcc-internal-format + #| msgid "empty body in an else-statement" + msgid "expected selection-statement" +@@ -61749,7 +61789,7 @@ msgstr "" + msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" + msgstr "" + +-#: cp/parser.cc:14700 cp/parser.cc:34512 ++#: cp/parser.cc:14700 cp/parser.cc:34514 + #, fuzzy, gcc-internal-format + #| msgid "empty body in an else-statement" + msgid "expected iteration-statement" +@@ -61776,7 +61816,7 @@ msgstr "" + msgid "ISO C++ forbids computed gotos" + msgstr "" + +-#: cp/parser.cc:14915 cp/parser.cc:34515 ++#: cp/parser.cc:14915 cp/parser.cc:34517 + #, gcc-internal-format + msgid "expected jump-statement" + msgstr "" +@@ -62059,12 +62099,12 @@ msgstr "" + msgid "cannot expand initializer for member %qD" + msgstr "прапушчан ініцыялізатар" + +-#: cp/parser.cc:17514 cp/pt.cc:27654 ++#: cp/parser.cc:17514 cp/pt.cc:27696 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "" + +-#: cp/parser.cc:17526 cp/pt.cc:27666 ++#: cp/parser.cc:17526 cp/pt.cc:27708 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "" +@@ -62710,7 +62750,7 @@ msgstr "невыкарыстаемы параметр \"%s\"" + msgid "%qT not permitted in template argument" + msgstr "" + +-#: cp/parser.cc:25052 cp/typeck2.cc:336 cp/typeck2.cc:382 cp/typeck2.cc:2473 ++#: cp/parser.cc:25052 cp/typeck2.cc:336 cp/typeck2.cc:382 cp/typeck2.cc:2479 + #: rust/backend/rust-tree.cc:3909 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `%T'" +@@ -62892,12 +62932,12 @@ msgstr "папярэдняе вызначэньне `%#T'" + #. In a lambda this should work, but doesn't currently. + #. We're in a lambda, but it isn't the innermost class. + #. This should work, but currently doesn't. +-#: cp/parser.cc:27654 cp/pt.cc:4327 ++#: cp/parser.cc:27654 cp/pt.cc:4328 + #, gcc-internal-format + msgid "unexpanded parameter pack in local class in lambda" + msgstr "" + +-#: cp/parser.cc:27760 cp/parser.cc:34518 ++#: cp/parser.cc:27760 cp/parser.cc:34520 + #, gcc-internal-format + msgid "expected class-key" + msgstr "" +@@ -63099,37 +63139,37 @@ msgstr "" + msgid "expression must be enclosed in parentheses" + msgstr "" + +-#: cp/parser.cc:31368 ++#: cp/parser.cc:31370 + #, gcc-internal-format + msgid "missing additional % to start a requires-expression" + msgstr "" + +-#: cp/parser.cc:31611 ++#: cp/parser.cc:31613 + #, gcc-internal-format + msgid "testing if a concept-id is a valid expression; add % to check satisfaction" + msgstr "" + +-#: cp/parser.cc:31749 ++#: cp/parser.cc:31751 + #, gcc-internal-format + msgid "result type is not a plain type-constraint" + msgstr "" + +-#: cp/parser.cc:31757 ++#: cp/parser.cc:31759 + #, gcc-internal-format + msgid "return-type-requirement is not a type-constraint" + msgstr "" + +-#: cp/parser.cc:32275 ++#: cp/parser.cc:32277 + #, gcc-internal-format + msgid "specializing member %<%T::%E%> requires %%> syntax" + msgstr "" + +-#: cp/parser.cc:32280 ++#: cp/parser.cc:32282 + #, fuzzy, gcc-internal-format + msgid "invalid declaration of %<%T::%E%>" + msgstr "Нерэчаіснае абвяшчэнне" + +-#: cp/parser.cc:32284 ++#: cp/parser.cc:32286 + #, fuzzy, gcc-internal-format + msgid "too few template-parameter-lists" + msgstr "невыкарыстаемы параметр \"%s\"" +@@ -63138,445 +63178,445 @@ msgstr "невыкарыстаемы параметр \"%s\"" + #. something like: + #. + #. template template void S::f(); +-#: cp/parser.cc:32291 ++#: cp/parser.cc:32293 + #, gcc-internal-format + msgid "too many template-parameter-lists" + msgstr "" + +-#: cp/parser.cc:32583 ++#: cp/parser.cc:32585 + #, gcc-internal-format + msgid "template-id not allowed for constructor in C++20" + msgstr "" + +-#: cp/parser.cc:32694 ++#: cp/parser.cc:32696 + #, fuzzy, gcc-internal-format + msgid "named return values are no longer supported" + msgstr "-pipe не падтрымліваецца." + +-#: cp/parser.cc:32867 ++#: cp/parser.cc:32869 + #, gcc-internal-format + msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters" + msgstr "" + +-#: cp/parser.cc:32876 ++#: cp/parser.cc:32878 + #, gcc-internal-format + msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%> or single non-type parameter of class type" + msgstr "" + +-#: cp/parser.cc:32882 ++#: cp/parser.cc:32884 + #, gcc-internal-format + msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%>" + msgstr "" + +-#: cp/parser.cc:32989 ++#: cp/parser.cc:32991 + #, gcc-internal-format + msgid "template-introductions are not part of C++20 concepts; use %qs to enable" + msgstr "" + +-#: cp/parser.cc:32999 ++#: cp/parser.cc:33001 + #, gcc-internal-format + msgid "no matching concept for template-introduction" + msgstr "" + +-#: cp/parser.cc:33022 ++#: cp/parser.cc:33024 + #, gcc-internal-format + msgid "invalid declaration of member template in local class" + msgstr "" + +-#: cp/parser.cc:33031 ++#: cp/parser.cc:33033 + #, gcc-internal-format + msgid "template with C linkage" + msgstr "" + +-#: cp/parser.cc:33051 ++#: cp/parser.cc:33053 + #, fuzzy, gcc-internal-format + msgid "invalid explicit specialization" + msgstr "ініцыялізацыя" + +-#: cp/parser.cc:33163 ++#: cp/parser.cc:33165 + #, fuzzy, gcc-internal-format + msgid "template declaration of %" + msgstr "пустое абвяшчэнне" + +-#: cp/parser.cc:33214 ++#: cp/parser.cc:33216 + #, gcc-internal-format + msgid "a class template declaration must not declare anything else" + msgstr "" + +-#: cp/parser.cc:33266 ++#: cp/parser.cc:33268 + #, fuzzy, gcc-internal-format + msgid "explicit template specialization cannot have a storage class" + msgstr "ініцыялізацыя" + +-#: cp/parser.cc:33583 ++#: cp/parser.cc:33585 + #, gcc-internal-format + msgid "%<>>%> should be %<> >%> within a nested template argument list" + msgstr "" + +-#: cp/parser.cc:33596 ++#: cp/parser.cc:33598 + #, gcc-internal-format + msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" + msgstr "" + +-#: cp/parser.cc:33627 ++#: cp/parser.cc:33629 + #, gcc-internal-format + msgid "%qs should be %qs to terminate a template argument list" + msgstr "" + +-#: cp/parser.cc:33944 ++#: cp/parser.cc:33946 + #, gcc-internal-format + msgid "% argument must be surrounded by parentheses" + msgstr "" + +-#: cp/parser.cc:34121 ++#: cp/parser.cc:34123 + #, gcc-internal-format + msgid "invalid use of %qD in linkage specification" + msgstr "" + +-#: cp/parser.cc:34132 ++#: cp/parser.cc:34134 + #, fuzzy, gcc-internal-format + #| msgid "duplicate `%s'" + msgid "duplicate %qD specifier" + msgstr "паўтарэньне `%s'" + +-#: cp/parser.cc:34135 ++#: cp/parser.cc:34137 + #, gcc-internal-format + msgid "%qD specifier conflicts with %qs" + msgstr "" + +-#: cp/parser.cc:34147 ++#: cp/parser.cc:34149 + #, gcc-internal-format + msgid "%<__thread%> before %qD" + msgstr "" + +-#: cp/parser.cc:34163 ++#: cp/parser.cc:34165 + #, gcc-internal-format + msgid "%qD specifier conflicts with %" + msgstr "" + +-#: cp/parser.cc:34272 ++#: cp/parser.cc:34274 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support `long long'" + msgid "ISO C++ 1998 does not support %" + msgstr "ISO C++ не падтрымлівае \"long long\"" + +-#: cp/parser.cc:34283 ++#: cp/parser.cc:34285 + #, gcc-internal-format + msgid "both %<__thread%> and % specified" + msgstr "" + +-#: cp/parser.cc:34288 ++#: cp/parser.cc:34290 + #, fuzzy, gcc-internal-format + #| msgid "duplicate `%s'" + msgid "duplicate %qD" + msgstr "паўтарэньне `%s'" + +-#: cp/parser.cc:34317 ++#: cp/parser.cc:34319 + #, fuzzy, gcc-internal-format + #| msgid "duplicate `%s'" + msgid "duplicate %qs" + msgstr "паўтарэньне `%s'" + +-#: cp/parser.cc:34369 ++#: cp/parser.cc:34371 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34372 ++#: cp/parser.cc:34374 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34375 ++#: cp/parser.cc:34377 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34381 ++#: cp/parser.cc:34383 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34384 ++#: cp/parser.cc:34386 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34387 ++#: cp/parser.cc:34389 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34390 ++#: cp/parser.cc:34392 + #, fuzzy, gcc-internal-format + #| msgid "unregistered operator %s" + msgid "expected %" + msgstr "нераспазнаны аператар %s" + +-#: cp/parser.cc:34393 ++#: cp/parser.cc:34395 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34396 ++#: cp/parser.cc:34398 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34399 ++#: cp/parser.cc:34401 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34402 ++#: cp/parser.cc:34404 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34405 ++#: cp/parser.cc:34407 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34408 ++#: cp/parser.cc:34410 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34411 ++#: cp/parser.cc:34413 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34414 ++#: cp/parser.cc:34416 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34417 ++#: cp/parser.cc:34419 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34420 ++#: cp/parser.cc:34422 + #, gcc-internal-format + msgid "expected %<__label__%>" + msgstr "" + +-#: cp/parser.cc:34423 ++#: cp/parser.cc:34425 + #, gcc-internal-format + msgid "expected %<@try%>" + msgstr "" + +-#: cp/parser.cc:34426 ++#: cp/parser.cc:34428 + #, gcc-internal-format + msgid "expected %<@synchronized%>" + msgstr "" + +-#: cp/parser.cc:34429 ++#: cp/parser.cc:34431 + #, gcc-internal-format + msgid "expected %<@throw%>" + msgstr "" + +-#: cp/parser.cc:34432 ++#: cp/parser.cc:34434 + #, gcc-internal-format + msgid "expected %<__transaction_atomic%>" + msgstr "" + +-#: cp/parser.cc:34435 ++#: cp/parser.cc:34437 + #, gcc-internal-format + msgid "expected %<__transaction_relaxed%>" + msgstr "" + +-#: cp/parser.cc:34438 ++#: cp/parser.cc:34440 + #, gcc-internal-format + msgid "expected %" + msgstr "" + +-#: cp/parser.cc:34470 ++#: cp/parser.cc:34472 + #, gcc-internal-format + msgid "expected %<::%>" + msgstr "" + +-#: cp/parser.cc:34482 ++#: cp/parser.cc:34484 + #, gcc-internal-format + msgid "expected %<...%>" + msgstr "" + +-#: cp/parser.cc:34485 ++#: cp/parser.cc:34487 + #, gcc-internal-format + msgid "expected %<*%>" + msgstr "" + +-#: cp/parser.cc:34488 ++#: cp/parser.cc:34490 + #, gcc-internal-format + msgid "expected %<~%>" + msgstr "" + +-#: cp/parser.cc:34494 ++#: cp/parser.cc:34496 + #, gcc-internal-format + msgid "expected %<:%> or %<::%>" + msgstr "" + +-#: cp/parser.cc:34521 ++#: cp/parser.cc:34523 + #, gcc-internal-format + msgid "expected %, %, or %" + msgstr "" + +-#: cp/parser.cc:34856 ++#: cp/parser.cc:34858 + #, gcc-internal-format + msgid "redundant enum-key % in reference to %q#T" + msgstr "" + +-#: cp/parser.cc:35007 ++#: cp/parser.cc:35009 + #, gcc-internal-format + msgid "%qs tag used in naming %q#T" + msgstr "" + +-#: cp/parser.cc:35012 ++#: cp/parser.cc:35014 + #, fuzzy, gcc-internal-format + msgid "%q#T was previously declared here" + msgstr "няма папярэдняга аб'яўлення для \"%s\"" + +-#: cp/parser.cc:35133 ++#: cp/parser.cc:35135 + #, gcc-internal-format + msgid "redundant class-key %qs in reference to %q#T" + msgstr "" + +-#: cp/parser.cc:35291 cp/parser.cc:35325 ++#: cp/parser.cc:35293 cp/parser.cc:35327 + #, gcc-internal-format + msgid "%qT declared with a mismatched class-key %qs" + msgstr "" + +-#: cp/parser.cc:35298 cp/parser.cc:35331 ++#: cp/parser.cc:35300 cp/parser.cc:35333 + #, gcc-internal-format + msgid "remove the class-key or replace it with %qs" + msgstr "" + +-#: cp/parser.cc:35299 cp/parser.cc:35332 ++#: cp/parser.cc:35301 cp/parser.cc:35334 + #, gcc-internal-format + msgid "replace the class-key with %qs" + msgstr "" + +-#: cp/parser.cc:35306 ++#: cp/parser.cc:35308 + #, gcc-internal-format + msgid "%qT defined as %qs here" + msgstr "" + +-#: cp/parser.cc:35307 ++#: cp/parser.cc:35309 + #, gcc-internal-format + msgid "%qT first declared as %qs here" + msgstr "" + +-#: cp/parser.cc:35390 ++#: cp/parser.cc:35392 + #, gcc-internal-format + msgid "%qD redeclared with different access" + msgstr "" + +-#: cp/parser.cc:35411 ++#: cp/parser.cc:35413 + #, gcc-internal-format + msgid "in C++98 % (as a disambiguator) is only allowed within templates" + msgstr "" + +-#: cp/parser.cc:35661 ++#: cp/parser.cc:35663 + #, fuzzy, gcc-internal-format + msgid "file ends in default argument" + msgstr "нехапае аргументаў у функцыі \"%s\"" + +-#: cp/parser.cc:35902 cp/parser.cc:37210 cp/parser.cc:37399 ++#: cp/parser.cc:35904 cp/parser.cc:37212 cp/parser.cc:37401 + #, gcc-internal-format + msgid "misplaced %<@%D%> Objective-C++ construct" + msgstr "" + +-#: cp/parser.cc:35973 ++#: cp/parser.cc:35975 + #, gcc-internal-format + msgid "objective-c++ message receiver expected" + msgstr "" + +-#: cp/parser.cc:36043 ++#: cp/parser.cc:36045 + #, gcc-internal-format + msgid "objective-c++ message argument(s) are expected" + msgstr "" + +-#: cp/parser.cc:36074 ++#: cp/parser.cc:36076 + #, gcc-internal-format + msgid "%<@encode%> must specify a type as an argument" + msgstr "" + +-#: cp/parser.cc:36478 ++#: cp/parser.cc:36480 + #, gcc-internal-format + msgid "invalid Objective-C++ selector name" + msgstr "" + +-#: cp/parser.cc:36553 cp/parser.cc:36571 ++#: cp/parser.cc:36555 cp/parser.cc:36573 + #, gcc-internal-format + msgid "objective-c++ method declaration is expected" + msgstr "" + +-#: cp/parser.cc:36565 cp/parser.cc:36631 ++#: cp/parser.cc:36567 cp/parser.cc:36633 + #, gcc-internal-format + msgid "method attributes must be specified at the end" + msgstr "" + +-#: cp/parser.cc:36674 ++#: cp/parser.cc:36676 + #, gcc-internal-format + msgid "stray %qs between Objective-C++ methods" + msgstr "" + +-#: cp/parser.cc:36871 cp/parser.cc:36878 cp/parser.cc:36885 ++#: cp/parser.cc:36873 cp/parser.cc:36880 cp/parser.cc:36887 + #, fuzzy, gcc-internal-format + #| msgid "invalid mode for gen_tst_reg" + msgid "invalid type for instance variable" + msgstr "нерэчаісны рэжым для gen_tst_reg" + +-#: cp/parser.cc:37002 ++#: cp/parser.cc:37004 + #, gcc-internal-format + msgid "identifier expected after %<@protocol%>" + msgstr "" + +-#: cp/parser.cc:37175 ++#: cp/parser.cc:37177 + #, gcc-internal-format + msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" + msgstr "" + +-#: cp/parser.cc:37182 ++#: cp/parser.cc:37184 + #, fuzzy, gcc-internal-format + msgid "prefix attributes are ignored before %<@%D%>" + msgstr "\"%s\" атрыбут ігнарыруецца" + +-#: cp/parser.cc:37462 cp/parser.cc:37469 cp/parser.cc:37476 ++#: cp/parser.cc:37464 cp/parser.cc:37471 cp/parser.cc:37478 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of `restrict'" + msgid "invalid type for property" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/parser.cc:37638 ++#: cp/parser.cc:37640 + #, gcc-internal-format + msgid "unknown property attribute %qE" + msgstr "" + +-#: cp/parser.cc:38910 ++#: cp/parser.cc:38912 + #, gcc-internal-format + msgid "expected integer expression list" + msgstr "" + +-#: cp/parser.cc:38927 ++#: cp/parser.cc:38929 + #, gcc-internal-format + msgid "% expression must be integral" + msgstr "" + +-#: cp/parser.cc:39683 ++#: cp/parser.cc:39685 + #, gcc-internal-format + msgid "expected %, %, %" + msgstr "" + +-#: cp/parser.cc:40074 ++#: cp/parser.cc:40076 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid reduction-identifier" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/parser.cc:41043 ++#: cp/parser.cc:41045 + #, gcc-internal-format + msgid "types may not be defined in iterator type" + msgstr "" +@@ -63585,12 +63625,12 @@ msgstr "" + #. check above and add one in semantics.cc (to properly handle templates). + #. Base this on the allocator/align modifiers check for the 'allocate' clause + #. in semantics.cc's finish_omp_clauses. +-#: cp/parser.cc:42671 ++#: cp/parser.cc:42673 + #, gcc-internal-format + msgid "%<#pragma omp allocate%> not yet supported" + msgstr "" + +-#: cp/parser.cc:44122 ++#: cp/parser.cc:44124 + #, gcc-internal-format + msgid "parenthesized initialization is not allowed in OpenMP % loop" + msgstr "" +@@ -63600,134 +63640,134 @@ msgstr "" + msgid "% clause with parameter on range-based % loop" + msgstr "" + +-#: cp/parser.cc:44944 cp/pt.cc:18150 ++#: cp/parser.cc:44944 cp/pt.cc:18191 + #, gcc-internal-format + msgid "iteration variable %qD should not be reduction" + msgstr "" + +-#: cp/parser.cc:47843 ++#: cp/parser.cc:47841 + #, gcc-internal-format + msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" + msgstr "" + +-#: cp/parser.cc:48613 ++#: cp/parser.cc:48611 + #, gcc-internal-format + msgid "OpenMP directive other than % or % appertains to a declaration" + msgstr "" + +-#: cp/parser.cc:49220 ++#: cp/parser.cc:49218 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer" + msgid "invalid initializer clause" + msgstr "нерэчаісны ініцыялізатар" + +-#: cp/parser.cc:49251 ++#: cp/parser.cc:49249 + #, gcc-internal-format + msgid "expected id-expression (arguments)" + msgstr "" + +-#: cp/parser.cc:49263 ++#: cp/parser.cc:49261 + #, gcc-internal-format + msgid "one of the initializer call arguments should be % or %<&omp_priv%>" + msgstr "" + +-#: cp/parser.cc:49366 ++#: cp/parser.cc:49364 + #, gcc-internal-format + msgid "types may not be defined in declare reduction type list" + msgstr "" + +-#: cp/parser.cc:49386 cp/semantics.cc:6446 ++#: cp/parser.cc:49384 cp/semantics.cc:6444 + #, gcc-internal-format + msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:49390 cp/semantics.cc:6454 ++#: cp/parser.cc:49388 cp/semantics.cc:6452 + #, gcc-internal-format + msgid "function or array type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:49393 cp/pt.cc:14635 cp/semantics.cc:6460 ++#: cp/parser.cc:49391 cp/pt.cc:14676 cp/semantics.cc:6458 + #, gcc-internal-format + msgid "reference type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:49396 cp/semantics.cc:6466 ++#: cp/parser.cc:49394 cp/semantics.cc:6464 + #, gcc-internal-format + msgid "%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>" + msgstr "" + +-#: cp/parser.cc:50116 ++#: cp/parser.cc:50114 + #, gcc-internal-format + msgid "%<#pragma acc routine%> names a set of overloads" + msgstr "" + +-#: cp/parser.cc:50126 ++#: cp/parser.cc:50124 + #, gcc-internal-format + msgid "%qD does not refer to a namespace scope function" + msgstr "" + + #. cancel-and-throw is unimplemented. +-#: cp/parser.cc:50487 ++#: cp/parser.cc:50485 + #, gcc-internal-format + msgid "%" + msgstr "" + +-#: cp/parser.cc:50534 cp/semantics.cc:11478 ++#: cp/parser.cc:50532 cp/semantics.cc:11476 + #, gcc-internal-format + msgid "%<__transaction_relaxed%> without transactional memory support enabled" + msgstr "" + +-#: cp/parser.cc:50536 cp/semantics.cc:11480 ++#: cp/parser.cc:50534 cp/semantics.cc:11478 + #, gcc-internal-format + msgid "%<__transaction_atomic%> without transactional memory support enabled" + msgstr "" + +-#: cp/parser.cc:50682 ++#: cp/parser.cc:50680 + #, gcc-internal-format + msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" + msgstr "" + +-#: cp/parser.cc:50685 ++#: cp/parser.cc:50683 + #, gcc-internal-format + msgid " or a % function" + msgstr "" + +-#: cp/parser.cc:50732 ++#: cp/parser.cc:50730 + #, gcc-internal-format + msgid "malformed %<#pragma GCC pch_preprocess%>" + msgstr "" + +-#: cp/parser.cc:51032 ++#: cp/parser.cc:51030 + #, gcc-internal-format + msgid "%<#pragma omp requires%> may only be used at file or namespace scope" + msgstr "" + +-#: cp/parser.cc:51043 ++#: cp/parser.cc:51041 + #, gcc-internal-format + msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" + msgstr "" + +-#: cp/parser.cc:51120 ++#: cp/parser.cc:51118 + #, gcc-internal-format + msgid "%<#pragma GCC %s%> must be inside a function" + msgstr "" + +-#: cp/parser.cc:51262 ++#: cp/parser.cc:51260 + #, gcc-internal-format + msgid "multi-source compilation not implemented for C++" + msgstr "" + +-#: cp/parser.cc:51299 ++#: cp/parser.cc:51297 + #, gcc-internal-format + msgid "placeholder type not allowed in this context" + msgstr "" + +-#: cp/parser.cc:51508 ++#: cp/parser.cc:51506 + #, gcc-internal-format + msgid "implicit templates may not be %" + msgstr "" + +-#: cp/parser.cc:51564 ++#: cp/parser.cc:51562 + #, gcc-internal-format + msgid "% linkage started here" + msgstr "" +@@ -63757,7 +63797,7 @@ msgstr "" + msgid "specialization of %qD must appear at namespace scope" + msgstr "" + +-#: cp/pt.cc:889 cp/pt.cc:1129 ++#: cp/pt.cc:889 cp/pt.cc:1130 + #, gcc-internal-format + msgid "specialization of %qD in different namespace" + msgstr "" +@@ -63773,28 +63813,28 @@ msgstr "папярэдняе вызначэньне `%#T'" + msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)" + msgstr "" + +-#: cp/pt.cc:1041 ++#: cp/pt.cc:1042 + #, fuzzy, gcc-internal-format + msgid "name of class shadows template template parameter %qD" + msgstr "нявернае выкарыстанне \"restict\"" + +-#: cp/pt.cc:1053 ++#: cp/pt.cc:1054 + #, fuzzy, gcc-internal-format + #| msgid "declaration of template `%#D'" + msgid "specialization of alias template %qD" + msgstr "абвяшчэньне шаблёну `%#D'" + +-#: cp/pt.cc:1056 cp/pt.cc:1195 ++#: cp/pt.cc:1057 cp/pt.cc:1196 + #, fuzzy, gcc-internal-format + msgid "explicit specialization of non-template %qT" + msgstr "ініцыялізацыя" + +-#: cp/pt.cc:1088 ++#: cp/pt.cc:1089 + #, gcc-internal-format + msgid "specialization of %qT after instantiation" + msgstr "" + +-#: cp/pt.cc:1132 ++#: cp/pt.cc:1133 + #, fuzzy, gcc-internal-format + #| msgid "previous definition of `%#T'" + msgid "from definition of %q#D" +@@ -63802,143 +63842,143 @@ msgstr "папярэдняе вызначэньне `%#T'" + + #. But if we've had an implicit instantiation, that's a + #. problem ([temp.expl.spec]/6). +-#: cp/pt.cc:1173 ++#: cp/pt.cc:1174 + #, gcc-internal-format + msgid "specialization %qT after instantiation %qT" + msgstr "" + +-#: cp/pt.cc:1191 ++#: cp/pt.cc:1192 + #, gcc-internal-format + msgid "template specialization of %qD not allowed by ISO C++" + msgstr "" + +-#: cp/pt.cc:1568 ++#: cp/pt.cc:1569 + #, gcc-internal-format + msgid "specialization of %qD after instantiation" + msgstr "" + +-#: cp/pt.cc:2046 cp/semantics.cc:6316 ++#: cp/pt.cc:2047 cp/semantics.cc:6314 + #, gcc-internal-format + msgid "%s %#qD" + msgstr "" + +-#: cp/pt.cc:2182 ++#: cp/pt.cc:2183 + #, fuzzy, gcc-internal-format + msgid "%qD is not a function template" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/pt.cc:2187 ++#: cp/pt.cc:2188 + #, fuzzy, gcc-internal-format + msgid "%qD is not a variable template" + msgstr "\"%s\" звычайна функцыя" + +-#: cp/pt.cc:2470 ++#: cp/pt.cc:2471 + #, gcc-internal-format + msgid "template-id %qD for %q+D does not match any template declaration" + msgstr "" + +-#: cp/pt.cc:2474 ++#: cp/pt.cc:2475 + #, gcc-internal-format + msgid "saw %d %%>, need %d for specializing a member function template" + msgstr "" + +-#: cp/pt.cc:2484 ++#: cp/pt.cc:2485 + #, gcc-internal-format + msgid "ambiguous template specialization %qD for %q+D" + msgstr "" + +-#: cp/pt.cc:2688 ++#: cp/pt.cc:2689 + #, gcc-internal-format + msgid "variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>" + msgstr "" + +-#: cp/pt.cc:2698 ++#: cp/pt.cc:2699 + #, gcc-internal-format + msgid "too many template headers for %qD (should be %d)" + msgstr "" + +-#: cp/pt.cc:2704 ++#: cp/pt.cc:2705 + #, gcc-internal-format + msgid "members of an explicitly specialized class are defined without a template header" + msgstr "" + +-#: cp/pt.cc:2728 ++#: cp/pt.cc:2729 + #, gcc-internal-format + msgid "explicit specialization of %qD outside its namespace must use a nested-name-specifier" + msgstr "" + + #. This was allowed in C++98, so only pedwarn. +-#: cp/pt.cc:2733 ++#: cp/pt.cc:2734 + #, gcc-internal-format + msgid "explicit instantiation of %qD outside its namespace must use a nested-name-specifier" + msgstr "" + +-#: cp/pt.cc:2769 ++#: cp/pt.cc:2770 + #, fuzzy, gcc-internal-format + msgid "explicit specialization %q#D may be missing attributes" + msgstr "ініцыялізацыя" + +-#: cp/pt.cc:2773 ++#: cp/pt.cc:2774 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing primary template attributes %s" + msgstr "прапушчан прабел пасля нумара \"%.*s\"" + +-#: cp/pt.cc:2774 ++#: cp/pt.cc:2775 + #, fuzzy, gcc-internal-format, gfc-internal-format + msgid "missing primary template attribute %s" + msgstr "прапушчан прабел пасля нумара \"%.*s\"" + +-#: cp/pt.cc:2866 cp/pt.cc:2926 ++#: cp/pt.cc:2867 cp/pt.cc:2927 + #, fuzzy, gcc-internal-format + msgid "template-id %qE in declaration of primary template" + msgstr "пустое абвяшчэнне" + +-#: cp/pt.cc:2879 ++#: cp/pt.cc:2880 + #, gcc-internal-format + msgid "template parameter list used in explicit instantiation" + msgstr "" + +-#: cp/pt.cc:2885 ++#: cp/pt.cc:2886 + #, gcc-internal-format + msgid "definition provided for explicit instantiation" + msgstr "" + +-#: cp/pt.cc:2893 ++#: cp/pt.cc:2894 + #, fuzzy, gcc-internal-format + msgid "too many template parameter lists in declaration of %qD" + msgstr "пустое абвяшчэнне" + +-#: cp/pt.cc:2896 ++#: cp/pt.cc:2897 + #, fuzzy, gcc-internal-format + msgid "too few template parameter lists in declaration of %qD" + msgstr "пустое абвяшчэнне" + +-#: cp/pt.cc:2898 ++#: cp/pt.cc:2899 + #, gcc-internal-format + msgid "explicit specialization of %qD must be introduced by %