From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1499) id 5B2943857C66; Fri, 8 Oct 2021 14:03:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B2943857C66 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Gaius Mulley To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/modula-2] Merge branch 'master' into devel/modula-2. X-Act-Checkin: gcc X-Git-Author: Gaius Mulley X-Git-Refname: refs/heads/devel/modula-2 X-Git-Oldrev: 5e2c046e06734e64c442924aea3ed197d0d68eb4 X-Git-Newrev: 65c5a20d6ef7448f827bd3f94245f8919239ad1c Message-Id: <20211008140329.5B2943857C66@sourceware.org> Date: Fri, 8 Oct 2021 14:03:29 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Oct 2021 14:03:29 -0000 https://gcc.gnu.org/g:65c5a20d6ef7448f827bd3f94245f8919239ad1c commit 65c5a20d6ef7448f827bd3f94245f8919239ad1c Merge: 5e2c046e067 a23653c6a68 Author: Gaius Mulley Date: Fri Oct 8 15:00:53 2021 +0100 Merge branch 'master' into devel/modula-2. Diff: ChangeLog | 21 + MAINTAINERS | 4 +- Makefile.def | 14 + Makefile.in | 8 + configure | 10 + configure.ac | 10 + contrib/ChangeLog | 5 + contrib/filter-clang-warnings.py | 1 + gcc/ChangeLog | 1386 +++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 1492 ++++++++++ gcc/ada/adaint.c | 1 + gcc/ada/aspects.ads | 14 + gcc/ada/atree.adb | 699 +++-- gcc/ada/atree.ads | 75 +- gcc/ada/atree.h | 71 - gcc/ada/bcheck.adb | 134 +- gcc/ada/checks.adb | 25 +- gcc/ada/checks.ads | 25 +- gcc/ada/comperr.adb | 7 +- gcc/ada/contracts.adb | 1641 +++++++++-- gcc/ada/contracts.ads | 25 + gcc/ada/debug.adb | 19 +- gcc/ada/doc/gnat_rm.rst | 1 + gcc/ada/doc/gnat_rm/about_this_guide.rst | 3 + .../implementation_defined_characteristics.rst | 702 ++--- .../doc/gnat_rm/implementation_defined_pragmas.rst | 74 +- .../doc/gnat_rm/security_hardening_features.rst | 89 + ...ard_and_implementation_defined_restrictions.rst | 38 + .../building_executable_programs_with_gnat.rst | 7 +- .../doc/gnat_ugn/gnat_and_program_execution.rst | 14 +- gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst | 18 +- .../doc/gnat_ugn/the_gnat_compilation_model.rst | 71 +- gcc/ada/einfo-utils.adb | 58 +- gcc/ada/einfo.ads | 87 +- gcc/ada/exp_aggr.adb | 242 +- gcc/ada/exp_attr.adb | 17 +- gcc/ada/exp_ch3.adb | 92 + gcc/ada/exp_ch4.adb | 205 +- gcc/ada/exp_ch6.adb | 388 ++- gcc/ada/exp_ch6.ads | 3 + gcc/ada/exp_ch9.adb | 19 +- gcc/ada/exp_dbug.adb | 4 +- gcc/ada/exp_disp.adb | 234 +- gcc/ada/exp_intr.adb | 2 +- gcc/ada/exp_util.adb | 263 +- gcc/ada/exp_util.ads | 58 +- gcc/ada/fe.h | 2 + gcc/ada/freeze.adb | 573 +++- gcc/ada/freeze.ads | 9 + gcc/ada/gcc-interface/cuintp.c | 1 + gcc/ada/gcc-interface/decl.c | 2 +- gcc/ada/gcc-interface/gigi.h | 2 +- gcc/ada/gcc-interface/misc.c | 10 +- gcc/ada/gcc-interface/targtyps.c | 1 + gcc/ada/gcc-interface/trans.c | 14 +- gcc/ada/gcc-interface/utils.c | 12 + gcc/ada/gen_il-fields.ads | 25 +- gcc/ada/gen_il-gen-gen_entities.adb | 34 +- gcc/ada/gen_il-gen-gen_nodes.adb | 66 +- gcc/ada/gen_il-gen.adb | 985 ++++--- gcc/ada/gen_il-internals.adb | 2 +- gcc/ada/gen_il-internals.ads | 345 ++- gcc/ada/gen_il-types.ads | 15 +- gcc/ada/ghost.adb | 9 + gcc/ada/gnat1drv.adb | 4 + gcc/ada/gnat_cuda.adb | 202 +- gcc/ada/gnat_cuda.ads | 10 +- gcc/ada/gnat_rm.texi | 2933 +++++++++++--------- gcc/ada/gnat_ugn.texi | 82 +- gcc/ada/impunit.adb | 16 +- gcc/ada/init.c | 1 + gcc/ada/libgnarl/a-tasini.ads | 6 +- gcc/ada/libgnarl/s-osinte__vxworks.ads | 2 +- gcc/ada/libgnarl/s-tpopsp__vxworks-rtp.adb | 5 +- gcc/ada/libgnarl/s-tpopsp__vxworks.adb | 5 +- gcc/ada/libgnarl/s-vxwext__kernel.adb | 2 +- gcc/ada/libgnat/a-cbdlli.ads | 8 +- gcc/ada/libgnat/a-cbhama.ads | 11 +- gcc/ada/libgnat/a-cbhase.ads | 9 +- gcc/ada/libgnat/a-cbmutr.ads | 8 +- gcc/ada/libgnat/a-cborma.ads | 11 +- gcc/ada/libgnat/a-cborse.ads | 9 +- gcc/ada/libgnat/a-cfdlli.ads | 1 + gcc/ada/libgnat/a-cfhama.ads | 1 + gcc/ada/libgnat/a-cfhase.ads | 1 + gcc/ada/libgnat/a-cfinve.ads | 1 + gcc/ada/libgnat/a-cforma.ads | 1 + gcc/ada/libgnat/a-cforse.ads | 1 + gcc/ada/libgnat/a-chahan.adb | 122 +- gcc/ada/libgnat/a-chahan.ads | 359 ++- gcc/ada/libgnat/a-coboho.ads | 4 +- gcc/ada/libgnat/a-cobove.ads | 9 +- gcc/ada/libgnat/a-cofove.ads | 1 + gcc/ada/libgnat/a-except.adb | 90 + gcc/ada/libgnat/a-except.ads | 9 + gcc/ada/libgnat/a-strbou.ads | 220 +- gcc/ada/libgnat/a-strfix.adb | 18 +- gcc/ada/libgnat/a-strfix.ads | 20 +- gcc/ada/libgnat/a-strmap.adb | 337 ++- gcc/ada/libgnat/a-strmap.ads | 127 +- gcc/ada/libgnat/a-strunb.ads | 3 +- gcc/ada/libgnat/a-strunb__shared.ads | 3 +- gcc/ada/libgnat/a-textio.adb | 1 + gcc/ada/libgnat/a-textio.ads | 6 +- gcc/ada/libgnat/a-zchhan.adb | 34 + gcc/ada/libgnat/a-zchhan.ads | 29 +- gcc/ada/libgnat/a-zchuni.adb | 19 + gcc/ada/libgnat/a-zchuni.ads | 12 + gcc/ada/libgnat/g-forstr.adb | 6 +- gcc/ada/libgnat/memtrack.adb | 127 +- gcc/ada/libgnat/s-arit128.ads | 7 + gcc/ada/libgnat/s-arit64.ads | 7 + gcc/ada/libgnat/s-imglli.ads | 4 +- gcc/ada/libgnat/s-parame__vxworks.ads | 4 +- gcc/ada/libgnat/s-regpat.ads | 11 +- gcc/ada/libgnat/s-secsta.ads | 5 + gcc/ada/live.adb | 3 +- gcc/ada/output.adb | 26 + gcc/ada/output.ads | 1 + gcc/ada/par-ch4.adb | 88 +- gcc/ada/par-prag.adb | 1 + gcc/ada/par_sco.adb | 8 + gcc/ada/scos.ads | 2 +- gcc/ada/sem.adb | 9 +- gcc/ada/sem.ads | 4 + gcc/ada/sem_aggr.adb | 160 +- gcc/ada/sem_attr.adb | 91 +- gcc/ada/sem_ch12.adb | 2 +- gcc/ada/sem_ch13.adb | 610 +++- gcc/ada/sem_ch3.adb | 34 +- gcc/ada/sem_ch5.adb | 17 + gcc/ada/sem_ch6.adb | 35 +- gcc/ada/sem_ch7.adb | 41 +- gcc/ada/sem_ch8.adb | 15 +- gcc/ada/sem_disp.adb | 180 ++ gcc/ada/sem_disp.ads | 4 + gcc/ada/sem_elab.adb | 7 + gcc/ada/sem_eval.adb | 3 +- gcc/ada/sem_prag.adb | 85 +- gcc/ada/sem_prag.ads | 1 + gcc/ada/sem_res.adb | 286 +- gcc/ada/sem_type.adb | 9 +- gcc/ada/sem_util.adb | 655 +++-- gcc/ada/sem_util.ads | 137 +- gcc/ada/sinfo-utils.adb | 12 +- gcc/ada/sinfo-utils.ads | 2 +- gcc/ada/sinfo.ads | 4 - gcc/ada/snames.ads-tmpl | 10 +- gcc/ada/socket.c | 4 + gcc/ada/sprint.adb | 10 +- gcc/ada/sysdep.c | 4 + gcc/ada/treepr.adb | 58 +- gcc/ada/types.ads | 9 + gcc/btfout.c | 8 +- gcc/c-family/ChangeLog | 77 + gcc/c-family/c-common.c | 47 +- gcc/c-family/c-common.h | 1 + gcc/c-family/c-cppbuiltin.c | 4 +- gcc/c-family/c-format.c | 2 +- gcc/c-family/c-omp.c | 54 +- gcc/c-family/c-opts.c | 7 +- gcc/c-family/c-ubsan.c | 49 +- gcc/c-family/c-warn.c | 32 + gcc/c-family/c.opt | 4 + gcc/c/ChangeLog | 48 + gcc/c/c-parser.c | 8 +- gcc/c/c-tree.h | 2 +- gcc/c/c-typeck.c | 171 +- gcc/c/gimple-parser.c | 14 +- gcc/cfgcleanup.c | 8 +- gcc/cfghooks.c | 13 + gcc/common.opt | 5 +- gcc/common/config/avr/avr-common.c | 3 +- gcc/config.gcc | 1 - gcc/config.in | 44 +- gcc/config/aarch64/aarch64-arches.def | 2 + gcc/config/aarch64/aarch64-builtins.c | 12 + gcc/config/aarch64/aarch64-cores.def | 9 + gcc/config/aarch64/aarch64-option-extensions.def | 3 + gcc/config/aarch64/aarch64-simd-builtins.def | 4 + gcc/config/aarch64/aarch64-tune.md | 2 +- gcc/config/aarch64/aarch64.c | 67 +- gcc/config/aarch64/aarch64.h | 15 + gcc/config/aarch64/arm_neon.h | 32 +- gcc/config/alpha/alpha.c | 2 +- gcc/config/arc/arc.c | 4 +- gcc/config/arm/arm-cpus.in | 10 + gcc/config/arm/arm-tables.opt | 3 + gcc/config/arm/arm-tune.md | 2 +- gcc/config/arm/arm.c | 9 +- gcc/config/bfin/bfin.c | 5 +- gcc/config/c6x/c6x.c | 3 +- gcc/config/csky/csky.c | 7 +- gcc/config/darwin.c | 31 +- gcc/config/darwin.h | 2 +- gcc/config/frv/frv.c | 5 +- gcc/config/gcn/gcn-hsa.h | 65 +- gcc/config/gcn/gcn-valu.md | 16 +- gcc/config/gcn/gcn.c | 50 +- gcc/config/gcn/mkoffload.c | 112 +- gcc/config/i386/djgpp.h | 2 +- gcc/config/i386/i386-expand.c | 10 + gcc/config/i386/i386.c | 54 +- gcc/config/i386/i386.h | 13 +- gcc/config/i386/i386.md | 101 +- gcc/config/i386/mmx.md | 88 +- gcc/config/i386/sse.md | 418 ++- gcc/config/ia64/ia64.c | 6 +- gcc/config/lm32/uclinux-elf.h | 1 + gcc/config/m32c/m32c.c | 3 +- gcc/config/m32r/m32r.c | 3 +- gcc/config/m68k/m68k.c | 6 +- gcc/config/microblaze/microblaze.c | 3 +- gcc/config/mips/mips.c | 9 +- gcc/config/nios2/nios2.c | 3 +- gcc/config/nvptx/nvptx.c | 4 +- gcc/config/pa/pa.c | 10 + gcc/config/pru/constraints.md | 5 + gcc/config/pru/predicates.md | 19 + gcc/config/pru/pru-pragma.c | 2 + gcc/config/pru/pru-protos.h | 3 + gcc/config/pru/pru.c | 156 +- gcc/config/pru/pru.h | 5 + gcc/config/pru/pru.md | 102 +- gcc/config/riscv/riscv.c | 11 +- gcc/config/riscv/riscv.md | 10 +- gcc/config/rs6000/aix71.h | 6 +- gcc/config/rs6000/aix72.h | 6 +- gcc/config/rs6000/aix73.h | 6 +- gcc/config/rs6000/darwin.h | 5 +- gcc/config/rs6000/rs6000-call.c | 64 +- gcc/config/rs6000/rs6000.c | 70 +- gcc/config/rs6000/rtems.h | 4 +- gcc/config/rs6000/sysv4.h | 8 +- gcc/config/rs6000/vxworks.h | 6 +- gcc/config/s390/s390.c | 4 +- gcc/config/sh/linux.h | 4 +- gcc/config/sh/netbsd-elf.h | 2 +- gcc/config/sh/sh.c | 12 +- gcc/config/sol2.c | 3 +- gcc/config/sparc/sparc.c | 12 +- gcc/config/tilegx/tilegx.c | 3 +- gcc/config/visium/visium.c | 2 +- gcc/config/vxworks.c | 5 +- gcc/configure | 273 +- gcc/configure.ac | 110 +- gcc/cp/ChangeLog | 247 ++ gcc/cp/class.c | 13 +- gcc/cp/constexpr.c | 67 +- gcc/cp/coroutines.cc | 80 +- gcc/cp/cp-tree.h | 1 + gcc/cp/decl.c | 16 +- gcc/cp/init.c | 11 +- gcc/cp/method.c | 244 +- gcc/cp/name-lookup.c | 7 +- gcc/cp/parser.c | 191 +- gcc/cp/pt.c | 39 +- gcc/cp/ptree.c | 10 +- gcc/cp/tree.c | 13 +- gcc/cp/typeck.c | 115 +- gcc/ctfc.c | 9 +- gcc/d/ChangeLog | 17 + gcc/d/d-attribs.cc | 8 + gcc/d/d-lang.cc | 10 +- gcc/d/d-spec.cc | 49 +- gcc/dbgcnt.c | 8 + gcc/dbgcnt.h | 1 + gcc/defaults.h | 15 +- gcc/doc/extend.texi | 38 +- gcc/doc/invoke.texi | 121 +- gcc/doc/md.texi | 6 +- gcc/doc/rtl.texi | 12 + gcc/dumpfile.c | 1 + gcc/dumpfile.h | 52 +- gcc/dwarf2out.c | 2 + gcc/explow.c | 9 +- gcc/expr.c | 4 +- gcc/expr.h | 3 + gcc/fortran/ChangeLog | 155 ++ gcc/fortran/array.c | 5 +- gcc/fortran/check.c | 4 +- gcc/fortran/cpp.c | 9 +- gcc/fortran/cpp.h | 2 +- gcc/fortran/decl.c | 14 + gcc/fortran/dump-parse-tree.c | 2 + gcc/fortran/expr.c | 32 + gcc/fortran/f95-lang.c | 4 +- gcc/fortran/gfortran.h | 8 +- gcc/fortran/interface.c | 39 +- gcc/fortran/openmp.c | 5 +- gcc/fortran/options.c | 23 +- gcc/fortran/resolve.c | 13 +- gcc/fortran/scanner.c | 87 +- gcc/fortran/simplify.c | 5 + gcc/fortran/trans-array.c | 166 +- gcc/fortran/trans-array.h | 2 + gcc/fortran/trans-decl.c | 14 - gcc/fortran/trans-expr.c | 43 +- gcc/fortran/trans-intrinsic.c | 246 +- gcc/fortran/trans-openmp.c | 7 + gcc/fortran/trans-stmt.c | 7 +- gcc/fortran/trans.h | 4 +- gcc/gengtype.c | 4 +- gcc/gimple-fold.c | 5 +- gcc/gimple-isel.cc | 3 - gcc/gimple-loop-jam.c | 3 +- gcc/gimple-pretty-print.c | 21 +- gcc/gimple-range-cache.cc | 14 +- gcc/gimple-range-cache.h | 2 +- gcc/gimple-range-edge.cc | 7 +- gcc/gimple-range-edge.h | 3 +- gcc/gimple-range-fold.cc | 22 +- gcc/gimple-range-gori.cc | 9 +- gcc/gimple-range-gori.h | 7 +- gcc/gimple-range-path.cc | 64 +- gcc/gimple-range-path.h | 17 +- gcc/gimple-range.cc | 28 +- gcc/gimple-range.h | 2 + gcc/gimple-ssa-evrp-analyze.h | 7 - gcc/gimple-ssa-evrp.c | 12 +- gcc/gimple-ssa-warn-alloca.c | 7 +- gcc/gimplify.c | 24 +- gcc/go/ChangeLog | 5 + gcc/go/go-lang.c | 1 + gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.h | 4 +- gcc/go/gofrontend/types.cc | 77 +- gcc/go/gofrontend/types.h | 13 +- gcc/internal-fn.c | 31 +- gcc/ipa-modref-tree.h | 8 +- gcc/ipa-prop.c | 40 +- gcc/ira-build.c | 13 +- gcc/lto-opts.c | 8 +- gcc/lto-wrapper.c | 10 +- gcc/lto/ChangeLog | 5 + gcc/lto/lto-lang.c | 1 + gcc/match.pd | 29 + gcc/objc/objc-next-runtime-abi-01.c | 3 +- gcc/objc/objc-next-runtime-abi-02.c | 5 +- gcc/omp-expand.c | 3 +- gcc/omp-general.c | 19 +- gcc/omp-low.c | 8 +- gcc/omp-offload.c | 3 +- gcc/opts.c | 30 +- gcc/opts.h | 4 + gcc/output.h | 85 +- gcc/params.opt | 4 + gcc/passes.def | 6 +- gcc/poly-int.h | 4 +- gcc/predict.c | 37 + gcc/predict.h | 1 + gcc/range-op.cc | 26 +- gcc/real.c | 6 +- gcc/rtl.def | 5 + gcc/simplify-rtx.c | 75 +- gcc/targhooks.c | 4 +- gcc/testsuite/ChangeLog | 882 ++++++ gcc/testsuite/c-c++-common/Waddress-3.c | 125 + gcc/testsuite/c-c++-common/Waddress-4.c | 106 + gcc/testsuite/c-c++-common/Warray-compare-1.c | 44 + gcc/testsuite/c-c++-common/Warray-compare-2.c | 44 + gcc/testsuite/c-c++-common/Wstringop-overflow-2.c | 20 +- gcc/testsuite/c-c++-common/gomp/pr102640.c | 44 + gcc/testsuite/c-c++-common/gomp/scope-4.c | 11 + gcc/testsuite/c-c++-common/pr102285.c | 10 + gcc/testsuite/c-c++-common/tsan/atomic_stack.c | 3 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-3.c | 2 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-4.c | 2 +- gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c | 2 +- .../c-c++-common/ubsan/float-div-by-zero-2.c | 18 + gcc/testsuite/c-c++-common/ubsan/overflow-div-1.c | 17 + gcc/testsuite/c-c++-common/ubsan/overflow-div-2.c | 41 + gcc/testsuite/c-c++-common/ubsan/overflow-div-3.c | 41 + gcc/testsuite/g++.dg/Walloca2.C | 6 + gcc/testsuite/g++.dg/coroutines/pr100673.C | 18 + gcc/testsuite/g++.dg/coroutines/pr101133.C | 31 + gcc/testsuite/g++.dg/coroutines/pr101765.C | 45 + gcc/testsuite/g++.dg/coroutines/pr102454.C | 38 + gcc/testsuite/g++.dg/coroutines/pr99575.C | 35 + gcc/testsuite/g++.dg/coroutines/pr99710.C | 25 + gcc/testsuite/g++.dg/cpp/elifdef-1.C | 3 + gcc/testsuite/g++.dg/cpp/elifdef-2.C | 4 + gcc/testsuite/g++.dg/cpp/elifdef-3.C | 62 + gcc/testsuite/g++.dg/cpp/elifdef-4.C | 5 + gcc/testsuite/g++.dg/cpp/elifdef-5.C | 63 + gcc/testsuite/g++.dg/cpp/elifdef-6.C | 65 + gcc/testsuite/g++.dg/cpp/elifdef-7.C | 65 + gcc/testsuite/g++.dg/cpp0x/constexpr-array-ptr10.C | 5 +- gcc/testsuite/g++.dg/cpp0x/variadic-partial2.C | 16 + gcc/testsuite/g++.dg/cpp0x/variadic-partial2a.C | 22 + gcc/testsuite/g++.dg/cpp1y/constexpr-label.C | 2 +- gcc/testsuite/g++.dg/cpp1y/constexpr-neg1.C | 6 +- gcc/testsuite/g++.dg/cpp1z/class-deduction12.C | 6 + gcc/testsuite/g++.dg/cpp1z/class-deduction99.C | 35 + gcc/testsuite/g++.dg/cpp1z/nontype4.C | 14 + gcc/testsuite/g++.dg/cpp1z/nontype4a.C | 14 + gcc/testsuite/g++.dg/cpp23/charlit-encoding1.C | 33 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit1.C | 68 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit2.C | 54 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit3.C | 10 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit4.C | 57 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit5.C | 57 + gcc/testsuite/g++.dg/cpp23/constexpr-nonlit6.C | 25 + gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C | 4 +- gcc/testsuite/g++.dg/cpp2a/concepts-ttp3.C | 11 + gcc/testsuite/g++.dg/cpp2a/concepts-ttp4.C | 9 + gcc/testsuite/g++.dg/cpp2a/consteval3.C | 8 +- gcc/testsuite/g++.dg/cpp2a/constexpr-dtor3.C | 2 +- gcc/testsuite/g++.dg/cpp2a/constexpr-try5.C | 22 +- gcc/testsuite/g++.dg/cpp2a/nontype-float2.C | 14 + gcc/testsuite/g++.dg/cpp2a/spaceship-eq11.C | 43 + gcc/testsuite/g++.dg/cpp2a/spaceship-eq12.C | 5 + gcc/testsuite/g++.dg/cpp2a/spaceship-eq13.C | 22 + gcc/testsuite/g++.dg/cpp2a/spaceship-synth12.C | 24 + gcc/testsuite/g++.dg/cpp2a/spaceship-synth13.C | 29 + gcc/testsuite/g++.dg/cpp2a/spaceship-synth14.C | 26 + gcc/testsuite/g++.dg/cpp2a/spaceship-synth8.C | 13 +- gcc/testsuite/g++.dg/cpp2a/spaceship-synth8a.C | 25 + gcc/testsuite/g++.dg/cpp2a/spaceship-virtual1.C | 20 + gcc/testsuite/g++.dg/diagnostic/constexpr1.C | 6 +- gcc/testsuite/g++.dg/ext/is_constructible6.C | 10 + .../g++.dg/ext/is_trivially_constructible7.C | 17 + gcc/testsuite/g++.dg/gomp/attrs-14.C | 4 + gcc/testsuite/g++.dg/gomp/simd-3.C | 16 + gcc/testsuite/g++.dg/parse/pr101783.C | 5 + gcc/testsuite/g++.dg/pr102359_1.C | 13 + gcc/testsuite/g++.dg/pr102359_2.C | 13 + gcc/testsuite/g++.dg/spellcheck-pr77565.C | 12 + gcc/testsuite/g++.dg/template/param6.C | 32 + gcc/testsuite/g++.dg/tls/pr102496-1.C | 20 + gcc/testsuite/g++.dg/tls/pr102496-2.C | 6 + gcc/testsuite/g++.dg/torture/pr102581.C | 51 + gcc/testsuite/g++.dg/tree-ssa/pr81408.C | 2 +- gcc/testsuite/g++.dg/warn/Waddress-5.C | 115 + gcc/testsuite/g++.dg/warn/Waddress-6.C | 79 + gcc/testsuite/g++.dg/warn/Winit-list5.C | 61 + gcc/testsuite/g++.dg/warn/Wreturn-local-addr-6.C | 4 +- gcc/testsuite/g++.dg/warn/Wuninitialized-13.C | 2 +- gcc/testsuite/g++.dg/warn/pr101219.C | 4 +- gcc/testsuite/g++.old-deja/g++.pt/nontype5.C | 2 +- .../g++.target/i386/avx512fp16-vcondmn-minmax.C | 25 + .../g++.target/i386/avx512fp16-vcondmn-vec.C | 70 + gcc/testsuite/g++.target/i386/pr102548.C | 12 + gcc/testsuite/g++.target/powerpc/pr102024.C | 23 + gcc/testsuite/gcc.c-torture/compile/920826-1.c | 2 +- gcc/testsuite/gcc.c-torture/compile/920831-1.c | 2 +- .../gcc.c-torture/compile/attr-complex-method-2.c | 11 + .../gcc.c-torture/compile/attr-complex-method.c | 11 + gcc/testsuite/gcc.c-torture/compile/pr27863.c | 4 +- gcc/testsuite/gcc.c-torture/compile/pr70190.c | 2 +- gcc/testsuite/gcc.dg/Waddress-3.c | 35 + gcc/testsuite/gcc.dg/Waddress.c | 2 +- gcc/testsuite/gcc.dg/Warray-bounds-51.c | 2 +- gcc/testsuite/gcc.dg/Warray-parameter-3.c | 4 +- gcc/testsuite/gcc.dg/Wstringop-overflow-14.c | 4 +- gcc/testsuite/gcc.dg/Wstringop-overflow-21.c | 8 +- gcc/testsuite/gcc.dg/Wstringop-overflow-68.c | 10 +- gcc/testsuite/gcc.dg/Wstringop-overflow-76.c | 20 +- .../gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c | 2 +- gcc/testsuite/gcc.dg/auto-init-hardreg-1.c | 9 + gcc/testsuite/gcc.dg/comp-goto-5.c | 11 + gcc/testsuite/gcc.dg/comp-goto-6.c | 6 + gcc/testsuite/gcc.dg/cpp/gnu11-elifdef-1.c | 5 + gcc/testsuite/gcc.dg/cpp/gnu11-elifdef-2.c | 63 + gcc/testsuite/gcc.dg/cpp/gnu11-elifdef-3.c | 65 + gcc/testsuite/gcc.dg/cpp/gnu11-elifdef-4.c | 65 + gcc/testsuite/gcc.dg/gimplefe-46.c | 23 + gcc/testsuite/gcc.dg/gimplefe-47.c | 27 + gcc/testsuite/gcc.dg/gomp/pr46032-2.c | 2 +- gcc/testsuite/gcc.dg/gomp/pr46032-3.c | 2 +- gcc/testsuite/gcc.dg/gomp/simd-2.c | 2 +- gcc/testsuite/gcc.dg/gomp/simd-3.c | 2 +- gcc/testsuite/gcc.dg/graphite/fuse-1.c | 2 +- gcc/testsuite/gcc.dg/guality/example.c | 2 +- gcc/testsuite/gcc.dg/out-of-bounds-1.c | 2 +- gcc/testsuite/gcc.dg/pr102385.c | 14 + gcc/testsuite/gcc.dg/pr102463.c | 21 + gcc/testsuite/gcc.dg/pr102511.c | 21 + gcc/testsuite/gcc.dg/pr67089-6.c | 2 +- gcc/testsuite/gcc.dg/pr78408-1.c | 2 +- gcc/testsuite/gcc.dg/pr82929-2.c | 2 +- gcc/testsuite/gcc.dg/pr82929.c | 2 +- gcc/testsuite/gcc.dg/pr94726.c | 11 + gcc/testsuite/gcc.dg/store_merging_1.c | 2 +- gcc/testsuite/gcc.dg/store_merging_11.c | 2 +- gcc/testsuite/gcc.dg/store_merging_13.c | 2 +- gcc/testsuite/gcc.dg/store_merging_15.c | 2 +- gcc/testsuite/gcc.dg/store_merging_16.c | 2 +- gcc/testsuite/gcc.dg/store_merging_19.c | 2 +- gcc/testsuite/gcc.dg/store_merging_24.c | 2 +- gcc/testsuite/gcc.dg/store_merging_25.c | 2 +- gcc/testsuite/gcc.dg/store_merging_28.c | 2 +- gcc/testsuite/gcc.dg/store_merging_30.c | 2 +- gcc/testsuite/gcc.dg/store_merging_5.c | 2 +- gcc/testsuite/gcc.dg/store_merging_7.c | 2 +- gcc/testsuite/gcc.dg/store_merging_8.c | 2 +- gcc/testsuite/gcc.dg/strlenopt-85.c | 2 +- gcc/testsuite/gcc.dg/torture/pr102518.c | 12 + gcc/testsuite/gcc.dg/torture/pr55107.c | 2 +- gcc/testsuite/gcc.dg/torture/pr89135.c | 2 +- gcc/testsuite/gcc.dg/torture/pr90071.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c | 7 +- gcc/testsuite/gcc.dg/tree-ssa/dump-6.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/phi_on_compare-1.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi_on_compare-2.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi_on_compare-3.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/phi_on_compare-4.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr102546.c | 23 + gcc/testsuite/gcc.dg/tree-ssa/pr102563.c | 16 + gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr21559.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr47059.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr59597.c | 13 +- gcc/testsuite/gcc.dg/tree-ssa/pr61839_1.c | 10 +- gcc/testsuite/gcc.dg/tree-ssa/pr61839_3.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr66752-3.c | 19 +- gcc/testsuite/gcc.dg/tree-ssa/pr71437.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr77445-2.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/pr86017.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr91482.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr99793.c | 14 + gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/reassoc-46.c | 7 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-46.h | 33 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-47.c | 9 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-48.c | 9 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-49.c | 11 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-50.c | 10 + gcc/testsuite/gcc.dg/tree-ssa/reassoc-51.c | 11 + gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-11.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-14.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-16.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-18.c | 8 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c | 5 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-95.c | 25 + gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-96.c | 14 + gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-33.c | 15 + gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-14.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-valid.c | 39 + gcc/testsuite/gcc.dg/tree-ssa/ssa-vrp-thread-1.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/vrp106.c | 4 +- gcc/testsuite/gcc.dg/tree-ssa/vrp55.c | 6 +- gcc/testsuite/gcc.dg/uninit-40.c | 2 +- gcc/testsuite/gcc.dg/unroll-7.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-16.c | 7 - gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c | 1 + gcc/testsuite/gcc.dg/vect/bb-slp-pr97709.c | 4 +- gcc/testsuite/gcc.misc-tests/help.exp | 2 +- gcc/testsuite/gcc.target/aarch64/cpymem-size.c | 29 + .../gcc.target/aarch64/memset-corner-cases-2.c | 30 + .../gcc.target/aarch64/memset-strict-align-1.c | 10 +- gcc/testsuite/gcc.target/aarch64/sve/pr102587-1.c | 4 + gcc/testsuite/gcc.target/aarch64/sve/pr102587-2.c | 4 + gcc/testsuite/gcc.target/i386/attr-optimize.c | 24 + .../gcc.target/i386/avx512er-vrsqrt28ps-3.c | 2 +- .../gcc.target/i386/avx512er-vrsqrt28ps-5.c | 2 +- .../gcc.target/i386/avx512f-vect-rebuild.c | 21 + .../gcc.target/i386/avx512fp16-64-32-vecop-1.c | 30 + .../gcc.target/i386/avx512fp16-64-32-vecop-2.c | 75 + .../gcc.target/i386/avx512fp16-builtin-minmax-1.c | 35 + .../gcc.target/i386/avx512fp16-builtin-round-1.c | 14 + .../gcc.target/i386/avx512fp16-floatvnhf.c | 61 + gcc/testsuite/gcc.target/i386/avx512fp16-fma-1.c | 69 + .../gcc.target/i386/avx512fp16-reduce-op-2.c | 96 + .../gcc.target/i386/avx512fp16-reduce-op-3.c | 91 + .../gcc.target/i386/avx512fp16-trunc-extendvnhf.c | 55 + gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c | 59 + .../gcc.target/i386/avx512fp16-truncvnhf.c | 61 + .../gcc.target/i386/avx512fp16-vcondmn-loop-1.c | 70 + .../gcc.target/i386/avx512fp16-vcondmn-loop-2.c | 143 + .../gcc.target/i386/avx512fp16-vec_cmpmn.c | 32 + gcc/testsuite/gcc.target/i386/avx512fp16vl-fma-1.c | 70 + .../gcc.target/i386/avx512fp16vl-fma-vectorize-1.c | 45 + .../gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c | 2 +- .../i386/cond_op_addsubmuldiv__Float16-1.c | 9 + .../i386/cond_op_addsubmuldiv__Float16-2.c | 7 + .../gcc.target/i386/cond_op_fma__Float16-1.c | 20 + .../gcc.target/i386/cond_op_fma__Float16-2.c | 7 + .../gcc.target/i386/cond_op_maxmin__Float16-1.c | 8 + .../gcc.target/i386/cond_op_maxmin__Float16-2.c | 7 + gcc/testsuite/gcc.target/i386/mmx-reduce-op-1.c | 58 + gcc/testsuite/gcc.target/i386/mmx-reduce-op-2.c | 25 + gcc/testsuite/gcc.target/i386/pr102230.c | 38 + gcc/testsuite/gcc.target/i386/pr102464.c | 39 + gcc/testsuite/gcc.target/i386/pr102498.c | 59 + gcc/testsuite/gcc.target/i386/pr34012.c | 2 +- gcc/testsuite/gcc.target/i386/pr49781-1.c | 2 +- gcc/testsuite/gcc.target/i386/pr89954.c | 45 + gcc/testsuite/gcc.target/i386/pr95798-1.c | 2 +- gcc/testsuite/gcc.target/i386/pr95798-2.c | 2 +- gcc/testsuite/gcc.target/i386/sse2-mmx-paddsb-2.c | 33 + gcc/testsuite/gcc.target/i386/sse2-mmx-paddusb-2.c | 25 + gcc/testsuite/gcc.target/i386/sse2-mmx-psubsb-2.c | 33 + gcc/testsuite/gcc.target/i386/sse2-mmx-psubusb-2.c | 25 + gcc/testsuite/gcc.target/i386/sse2-pr101059.c | 32 - gcc/testsuite/gcc.target/i386/sse3-pr101059.c | 13 - .../gcc.target/i386/vect-alignment-peeling-1.c | 90 + .../gcc.target/i386/vect-alignment-peeling-2.c | 90 + gcc/testsuite/gcc.target/i386/vect-pr82426.c | 31 + gcc/testsuite/gcc.target/i386/vect-pr97352.c | 22 + gcc/testsuite/gcc.target/i386/vect-rebuild.c | 2 +- gcc/testsuite/gcc.target/pru/regio-as-pointer-2.c | 11 + gcc/testsuite/gcc.target/pru/regio-as-pointer.c | 11 + gcc/testsuite/gcc.target/pru/regio-decl-2.c | 13 + gcc/testsuite/gcc.target/pru/regio-decl-3.c | 19 + gcc/testsuite/gcc.target/pru/regio-decl-4.c | 17 + gcc/testsuite/gcc.target/pru/regio-decl.c | 15 + gcc/testsuite/gcc.target/pru/regio-di.c | 9 + gcc/testsuite/gcc.target/pru/regio-hi.c | 9 + gcc/testsuite/gcc.target/pru/regio-qi.c | 9 + gcc/testsuite/gcc.target/pru/regio.c | 58 + gcc/testsuite/gcc.target/pru/regio.h | 7 + gcc/testsuite/gcc.target/s390/pr80725.c | 2 +- gcc/testsuite/gdc.dg/pr102476.d | 3 + .../gfortran.dg/associated_assumed_rank.f90 | 126 + gcc/testsuite/gfortran.dg/assumed_rank_18.f90 | 5 +- gcc/testsuite/gfortran.dg/assumed_rank_22.f90 | 169 ++ gcc/testsuite/gfortran.dg/assumed_rank_22_aux.c | 68 + gcc/testsuite/gfortran.dg/assumed_rank_23.f90 | 16 + gcc/testsuite/gfortran.dg/assumed_type_10.f90 | 5 +- gcc/testsuite/gfortran.dg/assumed_type_11.f90 | 5 +- gcc/testsuite/gfortran.dg/attr_deprecated-2.f90 | 22 + .../gfortran.dg/c-interop/assumed-type-dummy.f90 | 2 +- gcc/testsuite/gfortran.dg/c-interop/c407c-1.f90 | 4 +- gcc/testsuite/gfortran.dg/c-interop/c516.f90 | 46 +- gcc/testsuite/gfortran.dg/c-interop/c535b-1.f90 | 2 - gcc/testsuite/gfortran.dg/c-interop/c535b-2.f90 | 5 +- gcc/testsuite/gfortran.dg/c-interop/c535b-3.f90 | 10 +- .../gfortran.dg/c-interop/cf-descriptor-5-c.c | 1 + .../gfortran.dg/c-interop/cf-out-descriptor-6.f90 | 2 +- gcc/testsuite/gfortran.dg/c-interop/size.f90 | 2 +- .../gfortran.dg/coarray/coarray_allocated.f90 | 55 + gcc/testsuite/gfortran.dg/gomp/order-5.f90 | 8 +- gcc/testsuite/gfortran.dg/gomp/pr43711.f90 | 8 +- gcc/testsuite/gfortran.dg/include_14.f90 | 7 +- gcc/testsuite/gfortran.dg/include_15.f90 | 10 +- gcc/testsuite/gfortran.dg/include_16.f90 | 2 +- gcc/testsuite/gfortran.dg/include_17.f90 | 4 +- gcc/testsuite/gfortran.dg/include_18.f90 | 4 +- gcc/testsuite/gfortran.dg/include_19.f90 | 2 +- gcc/testsuite/gfortran.dg/include_23.f90 | 4 + gcc/testsuite/gfortran.dg/include_24.f90 | 4 + gcc/testsuite/gfortran.dg/include_9.f90 | 1 + gcc/testsuite/gfortran.dg/intrinsic_size_3.f90 | 2 +- gcc/testsuite/gfortran.dg/pr102458.f90 | 42 + gcc/testsuite/gfortran.dg/pr102458b.f90 | 21 + gcc/testsuite/gfortran.dg/pr102520.f90 | 12 + gcc/testsuite/gfortran.dg/pr77498.f | 2 +- gcc/testsuite/gfortran.dg/predict-2.f90 | 4 +- gcc/testsuite/gfortran.dg/size_optional_dim_1.f90 | 4 + .../gfortran.dg/transpose_optimization_2.f90 | 2 +- .../gfortran.dg/unlimited_polymorphic_1.f03 | 17 +- .../gfortran.dg/unlimited_polymorphic_32.f90 | 254 ++ gcc/timevar.def | 1 + gcc/toplev.c | 75 +- gcc/toplev.h | 1 + gcc/tree-cfg.c | 14 +- gcc/tree-inline.c | 6 +- gcc/tree-object-size.c | 42 +- gcc/tree-object-size.h | 3 +- gcc/tree-pass.h | 1 + gcc/tree-predcom.c | 6 +- gcc/tree-pretty-print.c | 30 +- gcc/tree-sra.c | 6 +- gcc/tree-ssa-dom.c | 151 +- gcc/tree-ssa-dse.c | 5 +- gcc/tree-ssa-loop-manip.c | 111 +- gcc/tree-ssa-loop-manip.h | 5 +- gcc/tree-ssa-loop-prefetch.c | 3 +- gcc/tree-ssa-pre.c | 27 +- gcc/tree-ssa-reassoc.c | 125 +- gcc/tree-ssa-sccvn.c | 112 +- gcc/tree-ssa-sccvn.h | 3 +- gcc/tree-ssa-threadbackward.c | 8 +- gcc/tree-ssa-threadedge.c | 372 +-- gcc/tree-ssa-threadedge.h | 74 +- gcc/tree-ssa-threadupdate.c | 102 +- gcc/tree-ssa-threadupdate.h | 1 + gcc/tree-ssanames.c | 19 +- gcc/tree-vect-data-refs.c | 277 +- gcc/tree-vect-slp.c | 59 - gcc/tree-vect-stmts.c | 77 +- gcc/tree-vectorizer.h | 32 +- gcc/tree-vrp.c | 400 +-- gcc/tree.h | 3 + gcc/value-range.cc | 69 + gcc/value-range.h | 16 +- gcc/varasm.c | 5 +- gcc/vr-values.c | 24 +- gcc/vr-values.h | 8 +- include/ChangeLog | 9 + include/floatformat.h | 2 +- libcpp/ChangeLog | 9 + libcpp/directives.c | 43 +- libcpp/init.c | 4 +- libgcc/ChangeLog | 16 + libgcc/config/i386/libgcc-darwin.ver | 5 +- libgcc/config/i386/morestack.S | 13 +- libgcc/config/rs6000/morestack.S | 6 + libgcc/config/s390/morestack.S | 6 + libgcc/libgcc2.c | 15 +- libgfortran/ChangeLog | 18 + libgfortran/configure | 2 +- libgfortran/configure.ac | 2 +- libgfortran/intrinsics/associated.c | 3 +- libgfortran/intrinsics/size.c | 4 + libgomp/ChangeLog | 121 + libgomp/affinity-fmt.c | 3 + libgomp/allocator.c | 398 ++- libgomp/configure | 16 +- libgomp/configure.ac | 16 +- libgomp/env.c | 2 +- libgomp/fortran.c | 1 + libgomp/icv-device.c | 17 +- libgomp/icv.c | 2 + libgomp/libgomp.map | 4 + libgomp/libgomp.texi | 2 +- libgomp/omp.h.in | 25 +- libgomp/omp_lib.f90.in | 43 +- libgomp/omp_lib.h.in | 46 +- libgomp/team.c | 2 +- libgomp/testsuite/libgomp.c-c++-common/alloc-4.c | 20 +- libgomp/testsuite/libgomp.c-c++-common/alloc-5.c | 159 ++ libgomp/testsuite/libgomp.c-c++-common/alloc-6.c | 58 + libgomp/testsuite/libgomp.c-c++-common/alloc-7.c | 182 ++ libgomp/testsuite/libgomp.c-c++-common/alloc-8.c | 184 ++ libgomp/testsuite/libgomp.c-c++-common/alloc-9.c | 271 ++ .../libgomp.c-c++-common/order-reproducible-1.c | 63 + .../libgomp.c-c++-common/order-reproducible-2.c | 28 + libgomp/testsuite/libgomp.fortran/alloc-10.f90 | 199 ++ libgomp/testsuite/libgomp.fortran/alloc-11.f90 | 301 ++ libgomp/testsuite/libgomp.fortran/alloc-6.f90 | 45 + libgomp/testsuite/libgomp.fortran/alloc-7.c | 5 + libgomp/testsuite/libgomp.fortran/alloc-7.f90 | 175 ++ libgomp/testsuite/libgomp.fortran/alloc-8.f90 | 58 + libgomp/testsuite/libgomp.fortran/alloc-9.f90 | 197 ++ libgomp/testsuite/libgomp.fortran/fortran.exp | 3 - libgomp/testsuite/libgomp.fortran/my-usleep.c | 9 + .../libgomp.fortran/order-reproducible-1.f90 | 72 + .../libgomp.fortran/order-reproducible-2.f90 | 37 + .../testsuite/libgomp.graphite/force-parallel-4.c | 2 +- .../testsuite/libgomp.graphite/force-parallel-8.c | 2 +- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp | 3 - libgomp/testsuite/libgomp.oacc-fortran/if-1.f90 | 6 + .../libgomp.oacc-fortran/privatized-ref-2.f90 | 4 +- libiberty/ChangeLog | 14 + libiberty/d-demangle.c | 4 +- libiberty/testsuite/d-demangle-expected | 4 + libphobos/ChangeLog | 34 + libphobos/libdruntime/__main.di | 14 +- libphobos/libdruntime/core/runtime.d | 14 +- libphobos/libdruntime/gcc/backtrace.d | 24 +- libphobos/libdruntime/gcc/deh.d | 79 +- libphobos/libdruntime/gcc/unwind/generic.d | 22 +- libsanitizer/ChangeLog | 8 + libsanitizer/LOCAL_PATCHES | 2 +- libsanitizer/MERGE | 2 +- libsanitizer/asan/Makefile.am | 1 + libsanitizer/asan/Makefile.in | 1 + libsanitizer/asan/asan_allocator.cpp | 15 - libsanitizer/asan/asan_allocator.h | 2 - libsanitizer/asan/asan_debugging.cpp | 5 +- libsanitizer/asan/asan_fuchsia.cpp | 35 +- libsanitizer/asan/asan_globals.cpp | 14 +- libsanitizer/asan/asan_interceptors.cpp | 18 +- libsanitizer/asan/asan_interceptors.h | 45 +- libsanitizer/asan/asan_report.cpp | 10 +- libsanitizer/asan/asan_rtl.cpp | 18 +- libsanitizer/asan/asan_stats.cpp | 14 +- libsanitizer/asan/asan_thread.cpp | 4 +- libsanitizer/asan/libtool-version | 2 +- libsanitizer/hwasan/Makefile.am | 4 +- libsanitizer/hwasan/Makefile.in | 13 +- libsanitizer/hwasan/hwasan.cpp | 7 +- libsanitizer/hwasan/hwasan.h | 25 +- .../hwasan/hwasan_allocation_functions.cpp | 24 + libsanitizer/hwasan/hwasan_allocator.cpp | 58 +- libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 9 + libsanitizer/hwasan/hwasan_fuchsia.cpp | 23 + libsanitizer/hwasan/hwasan_interceptors.cpp | 70 +- libsanitizer/hwasan/hwasan_interface_internal.h | 48 - libsanitizer/hwasan/hwasan_linux.cpp | 147 +- libsanitizer/hwasan/hwasan_report.cpp | 82 +- .../{hwasan_setjmp.S => hwasan_setjmp_aarch64.S} | 21 +- libsanitizer/hwasan/hwasan_setjmp_x86_64.S | 82 + libsanitizer/hwasan/hwasan_thread.cpp | 2 +- libsanitizer/hwasan/hwasan_type_test.cpp | 2 +- libsanitizer/include/sanitizer/asan_interface.h | 2 +- .../include/sanitizer/common_interface_defs.h | 2 +- libsanitizer/include/sanitizer/dfsan_interface.h | 3 +- .../include/sanitizer/linux_syscall_hooks.h | 2120 +++++++------- libsanitizer/include/sanitizer/tsan_interface.h | 3 + libsanitizer/interception/Makefile.am | 1 + libsanitizer/interception/Makefile.in | 1 + libsanitizer/interception/interception_win.cpp | 48 +- libsanitizer/lsan/Makefile.am | 1 + libsanitizer/lsan/Makefile.in | 1 + libsanitizer/lsan/lsan_allocator.h | 2 +- libsanitizer/lsan/lsan_common.cpp | 68 +- libsanitizer/lsan/lsan_common.h | 3 + libsanitizer/sanitizer_common/sancov_flags.inc | 2 +- .../sanitizer_common/sanitizer_addrhashmap.h | 2 +- .../sanitizer_allocator_primary64.h | 14 +- .../sanitizer_allocator_size_class_map.h | 8 +- libsanitizer/sanitizer_common/sanitizer_asm.h | 8 +- .../sanitizer_common/sanitizer_atomic_clang_mips.h | 2 +- .../sanitizer_chained_origin_depot.cpp | 11 +- .../sanitizer_chained_origin_depot.h | 9 +- libsanitizer/sanitizer_common/sanitizer_common.h | 20 +- .../sanitizer_common_interceptors.inc | 652 +++-- .../sanitizer_common_interceptors_format.inc | 10 +- ...sanitizer_common_interceptors_netbsd_compat.inc | 4 +- .../sanitizer_common_interceptors_vfork_i386.inc.S | 1 + ...anitizer_common_interceptors_vfork_x86_64.inc.S | 1 + .../sanitizer_common/sanitizer_common_libcdep.cpp | 20 +- .../sanitizer_common/sanitizer_common_nolibc.cpp | 1 + .../sanitizer_common/sanitizer_common_syscalls.inc | 1559 ++++++----- .../sanitizer_coverage_fuchsia.cpp | 8 +- .../sanitizer_coverage_libcdep_new.cpp | 65 +- libsanitizer/sanitizer_common/sanitizer_file.cpp | 15 + libsanitizer/sanitizer_common/sanitizer_file.h | 2 + .../sanitizer_common/sanitizer_flag_parser.h | 2 +- libsanitizer/sanitizer_common/sanitizer_flags.inc | 4 + .../sanitizer_common/sanitizer_fuchsia.cpp | 41 - libsanitizer/sanitizer_common/sanitizer_hash.h | 24 + .../sanitizer_interceptors_ioctl_netbsd.inc | 2 +- .../sanitizer_interface_internal.h | 7 +- .../sanitizer_common/sanitizer_internal_defs.h | 46 +- libsanitizer/sanitizer_common/sanitizer_libc.cpp | 12 + libsanitizer/sanitizer_common/sanitizer_libc.h | 5 +- .../sanitizer_common/sanitizer_libignore.cpp | 33 +- .../sanitizer_common/sanitizer_libignore.h | 37 +- libsanitizer/sanitizer_common/sanitizer_linux.cpp | 83 +- .../sanitizer_local_address_space_view.h | 2 +- libsanitizer/sanitizer_common/sanitizer_mac.cpp | 29 +- libsanitizer/sanitizer_common/sanitizer_mutex.cpp | 186 ++ libsanitizer/sanitizer_common/sanitizer_mutex.h | 325 +-- libsanitizer/sanitizer_common/sanitizer_platform.h | 25 +- .../sanitizer_platform_interceptors.h | 31 +- .../sanitizer_platform_limits_freebsd.cpp | 25 + .../sanitizer_platform_limits_freebsd.h | 180 +- .../sanitizer_platform_limits_linux.cpp | 56 +- .../sanitizer_platform_limits_netbsd.cpp | 1 + .../sanitizer_platform_limits_netbsd.h | 1 + .../sanitizer_platform_limits_posix.cpp | 25 +- .../sanitizer_platform_limits_posix.h | 30 +- .../sanitizer_platform_limits_solaris.cpp | 1 + .../sanitizer_platform_limits_solaris.h | 1 + libsanitizer/sanitizer_common/sanitizer_posix.h | 7 +- .../sanitizer_common/sanitizer_posix_libcdep.cpp | 2 + libsanitizer/sanitizer_common/sanitizer_printf.cpp | 37 +- .../sanitizer_signal_interceptors.inc | 12 +- .../sanitizer_common/sanitizer_solaris.cpp | 22 - .../sanitizer_common/sanitizer_stackdepot.cpp | 49 +- .../sanitizer_common/sanitizer_stackdepot.h | 10 +- .../sanitizer_common/sanitizer_stackdepotbase.h | 9 +- .../sanitizer_common/sanitizer_stacktrace.cpp | 5 +- .../sanitizer_stacktrace_libcdep.cpp | 2 +- .../sanitizer_stacktrace_printer.cpp | 11 +- .../sanitizer_stacktrace_sparc.cpp | 2 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 2 +- .../sanitizer_stoptheworld_netbsd_libcdep.cpp | 2 +- .../sanitizer_common/sanitizer_symbolizer.h | 6 +- .../sanitizer_symbolizer_internal.h | 2 +- .../sanitizer_symbolizer_libcdep.cpp | 12 +- .../sanitizer_syscall_linux_hexagon.inc | 131 + .../sanitizer_common/sanitizer_thread_registry.cpp | 22 +- .../sanitizer_common/sanitizer_thread_registry.h | 2 +- .../sanitizer_common/sanitizer_tls_get_addr.cpp | 19 +- libsanitizer/sanitizer_common/sanitizer_win.cpp | 24 +- libsanitizer/tsan/Makefile.am | 5 +- libsanitizer/tsan/Makefile.in | 14 +- libsanitizer/tsan/libtool-version | 2 +- libsanitizer/tsan/tsan_clock.cpp | 10 +- libsanitizer/tsan/tsan_clock.h | 2 +- libsanitizer/tsan/tsan_debugging.cpp | 10 +- libsanitizer/tsan/tsan_defs.h | 66 +- libsanitizer/tsan/tsan_dense_alloc.h | 35 +- libsanitizer/tsan/tsan_external.cpp | 19 +- libsanitizer/tsan/tsan_fd.cpp | 24 +- libsanitizer/tsan/tsan_fd.h | 2 +- libsanitizer/tsan/tsan_flags.cpp | 1 + libsanitizer/tsan/tsan_flags.inc | 1 - libsanitizer/tsan/tsan_ignoreset.cpp | 12 +- libsanitizer/tsan/tsan_ignoreset.h | 13 +- libsanitizer/tsan/tsan_ilist.h | 189 ++ libsanitizer/tsan/tsan_interceptors.h | 41 +- libsanitizer/tsan/tsan_interceptors_mac.cpp | 6 +- libsanitizer/tsan/tsan_interceptors_posix.cpp | 430 +-- libsanitizer/tsan/tsan_interface.cpp | 101 +- libsanitizer/tsan/tsan_interface.h | 10 +- libsanitizer/tsan/tsan_interface.inc | 182 ++ libsanitizer/tsan/tsan_interface_ann.cpp | 172 +- libsanitizer/tsan/tsan_interface_atomic.cpp | 323 +-- libsanitizer/tsan/tsan_interface_inl.h | 133 - libsanitizer/tsan/tsan_interface_java.cpp | 291 +- libsanitizer/tsan/tsan_mman.cpp | 10 +- libsanitizer/tsan/tsan_mman.h | 49 +- libsanitizer/tsan/tsan_mutex.cpp | 280 -- libsanitizer/tsan/tsan_mutex.h | 87 - libsanitizer/tsan/tsan_mutexset.cpp | 47 +- libsanitizer/tsan/tsan_mutexset.h | 29 +- libsanitizer/tsan/tsan_platform.h | 1089 +++----- libsanitizer/tsan/tsan_platform_linux.cpp | 101 +- libsanitizer/tsan/tsan_platform_mac.cpp | 84 +- libsanitizer/tsan/tsan_platform_posix.cpp | 37 +- libsanitizer/tsan/tsan_platform_windows.cpp | 3 +- libsanitizer/tsan/tsan_report.cpp | 77 +- libsanitizer/tsan/tsan_report.h | 36 +- libsanitizer/tsan/tsan_rtl.cpp | 485 ++-- libsanitizer/tsan/tsan_rtl.h | 508 ++-- libsanitizer/tsan/tsan_rtl_amd64.S | 6 + libsanitizer/tsan/tsan_rtl_mutex.cpp | 419 +-- libsanitizer/tsan/tsan_rtl_report.cpp | 328 ++- libsanitizer/tsan/tsan_rtl_thread.cpp | 306 +- libsanitizer/tsan/tsan_shadow.h | 233 ++ libsanitizer/tsan/tsan_stack_trace.cpp | 12 +- libsanitizer/tsan/tsan_symbolize.cpp | 3 +- libsanitizer/tsan/tsan_sync.cpp | 58 +- libsanitizer/tsan/tsan_sync.h | 36 +- libsanitizer/tsan/tsan_trace.h | 153 +- ...adow_word_inl.h => tsan_update_shadow_word.inc} | 2 +- libsanitizer/tsan/tsan_vector_clock.cpp | 126 + libsanitizer/tsan/tsan_vector_clock.h | 51 + libsanitizer/ubsan/Makefile.am | 1 + libsanitizer/ubsan/Makefile.in | 1 + libsanitizer/ubsan/ubsan_diag.cpp | 8 +- libstdc++-v3/ChangeLog | 754 +++++ libstdc++-v3/include/Makefile.am | 10 + libstdc++-v3/include/Makefile.in | 10 + libstdc++-v3/include/bits/atomic_base.h | 2 +- libstdc++-v3/include/bits/atomic_futex.h | 3 +- libstdc++-v3/include/bits/atomic_timed_wait.h | 11 +- libstdc++-v3/include/bits/atomic_wait.h | 23 +- libstdc++-v3/include/bits/basic_string.h | 2 + libstdc++-v3/include/bits/boost_concept_check.h | 111 +- libstdc++-v3/include/bits/c++config | 5 +- libstdc++-v3/include/bits/chrono.h | 1392 ++++++++++ libstdc++-v3/include/bits/cow_string.h | 22 +- libstdc++-v3/include/bits/forward_list.h | 6 +- libstdc++-v3/include/bits/fs_fwd.h | 2 +- libstdc++-v3/include/bits/fs_path.h | 4 +- libstdc++-v3/include/bits/hashtable.h | 14 +- libstdc++-v3/include/bits/hashtable_policy.h | 39 +- libstdc++-v3/include/bits/list.tcc | 182 +- libstdc++-v3/include/bits/mofunc_impl.h | 200 ++ libstdc++-v3/include/bits/move.h | 8 +- libstdc++-v3/include/bits/move_only_function.h | 204 ++ libstdc++-v3/include/bits/parse_numbers.h | 6 +- libstdc++-v3/include/bits/ptr_traits.h | 2 +- libstdc++-v3/include/bits/range_access.h | 4 +- libstdc++-v3/include/bits/ranges_algobase.h | 18 +- libstdc++-v3/include/bits/ranges_base.h | 33 +- libstdc++-v3/include/bits/ranges_util.h | 6 +- libstdc++-v3/include/bits/refwrap.h | 4 +- libstdc++-v3/include/bits/regex.h | 116 +- libstdc++-v3/include/bits/regex_automaton.h | 27 +- libstdc++-v3/include/bits/regex_compiler.h | 76 +- libstdc++-v3/include/bits/regex_compiler.tcc | 18 +- libstdc++-v3/include/bits/regex_constants.h | 27 +- libstdc++-v3/include/bits/regex_error.h | 4 +- libstdc++-v3/include/bits/regex_executor.h | 70 +- libstdc++-v3/include/bits/regex_executor.tcc | 2 +- libstdc++-v3/include/bits/regex_scanner.h | 11 +- libstdc++-v3/include/bits/regex_scanner.tcc | 13 +- libstdc++-v3/include/bits/semaphore_base.h | 4 +- libstdc++-v3/include/bits/shared_ptr_base.h | 4 +- libstdc++-v3/include/bits/std_function.h | 18 +- libstdc++-v3/include/bits/stl_algo.h | 37 +- libstdc++-v3/include/bits/stl_algobase.h | 52 +- libstdc++-v3/include/bits/stl_bvector.h | 4 +- libstdc++-v3/include/bits/stl_deque.h | 4 +- libstdc++-v3/include/bits/stl_iterator.h | 106 +- libstdc++-v3/include/bits/stl_list.h | 106 +- libstdc++-v3/include/bits/stl_map.h | 4 +- libstdc++-v3/include/bits/stl_multimap.h | 5 +- libstdc++-v3/include/bits/stl_multiset.h | 5 +- libstdc++-v3/include/bits/stl_pair.h | 21 +- libstdc++-v3/include/bits/stl_queue.h | 103 +- libstdc++-v3/include/bits/stl_set.h | 4 +- libstdc++-v3/include/bits/stl_stack.h | 37 +- libstdc++-v3/include/bits/stl_tree.h | 8 +- libstdc++-v3/include/bits/stl_vector.h | 4 +- libstdc++-v3/include/bits/stream_iterator.h | 25 +- libstdc++-v3/include/bits/this_thread_sleep.h | 4 +- libstdc++-v3/include/bits/unique_lock.h | 2 +- libstdc++-v3/include/bits/unique_ptr.h | 12 +- libstdc++-v3/include/bits/uses_allocator.h | 8 +- libstdc++-v3/include/bits/utility.h | 11 +- libstdc++-v3/include/bits/vector.tcc | 8 +- libstdc++-v3/include/debug/deque | 4 +- libstdc++-v3/include/debug/functions.h | 6 +- libstdc++-v3/include/debug/list | 4 +- libstdc++-v3/include/debug/map.h | 4 +- libstdc++-v3/include/debug/multimap.h | 5 +- libstdc++-v3/include/debug/multiset.h | 5 +- libstdc++-v3/include/debug/set.h | 4 +- libstdc++-v3/include/debug/vector | 4 +- libstdc++-v3/include/experimental/any | 10 +- libstdc++-v3/include/experimental/bits/fs_fwd.h | 2 +- libstdc++-v3/include/experimental/chrono | 2 +- libstdc++-v3/include/experimental/executor | 2 +- libstdc++-v3/include/experimental/functional | 6 +- libstdc++-v3/include/experimental/io_context | 2 +- libstdc++-v3/include/experimental/netfwd | 2 +- libstdc++-v3/include/experimental/timer | 2 +- libstdc++-v3/include/std/any | 10 +- libstdc++-v3/include/std/chrono | 1461 +--------- libstdc++-v3/include/std/condition_variable | 3 +- libstdc++-v3/include/std/deque | 18 +- libstdc++-v3/include/std/functional | 9 +- libstdc++-v3/include/std/mutex | 2 +- libstdc++-v3/include/std/ostream | 7 + libstdc++-v3/include/std/ranges | 10 +- libstdc++-v3/include/std/shared_mutex | 2 +- libstdc++-v3/include/std/string | 18 +- libstdc++-v3/include/std/string_view | 2 + libstdc++-v3/include/std/thread | 26 + libstdc++-v3/include/std/tuple | 28 +- libstdc++-v3/include/std/type_traits | 36 +- libstdc++-v3/include/std/variant | 147 +- libstdc++-v3/include/std/vector | 18 +- libstdc++-v3/include/std/version | 4 +- libstdc++-v3/src/c++11/functexcept.cc | 8 +- libstdc++-v3/src/c++11/snprintf_lite.cc | 11 +- libstdc++-v3/src/c++11/system_error.cc | 222 +- libstdc++-v3/src/c++17/fs_ops.cc | 52 +- libstdc++-v3/src/c++98/list.cc | 2 + libstdc++-v3/src/filesystem/ops-common.h | 67 +- libstdc++-v3/src/filesystem/ops.cc | 44 +- .../19_diagnostics/error_category/102425.cc | 18 + .../error_category/system_category.cc | 18 + .../19_diagnostics/headers/system_error/93151.cc | 1 + .../19_diagnostics/system_error/cons-1.cc | 6 +- .../testsuite/20_util/default_delete/48631_neg.cc | 2 +- libstdc++-v3/testsuite/20_util/duration/io.cc | 54 + libstdc++-v3/testsuite/20_util/forward/c_neg.cc | 2 +- libstdc++-v3/testsuite/20_util/forward/f_neg.cc | 2 +- .../20_util/integer_comparisons/greater.cc | 61 + .../testsuite/20_util/is_nothrow_swappable/value.h | 4 +- .../testsuite/20_util/is_swappable/value.h | 11 +- .../20_util/is_trivially_constructible/value.cc | 2 +- .../testsuite/20_util/move_only_function/call.cc | 199 ++ .../testsuite/20_util/move_only_function/cons.cc | 98 + .../testsuite/20_util/move_only_function/move.cc | 109 + .../20_util/move_only_function/version.cc | 10 + .../memory_management_tools/destroy_neg.cc | 2 - .../testsuite/20_util/variant/visit_inherited.cc | 36 + .../21_strings/basic_string/cons/char/nullptr.cc | 4 + .../basic_string_view/cons/char/nonnull.cc | 2 +- .../basic_string_view/cons/wchar_t/nonnull.cc | 2 +- .../requirements/trivially_copyable.cc | 11 + .../23_containers/deque/cons/deduction.cc | 29 + .../deque/requirements/explicit_instantiation/3.cc | 2 +- .../23_containers/forward_list/cons/deduction.cc | 29 + .../requirements/explicit_instantiation/3.cc | 2 +- .../testsuite/23_containers/list/cons/deduction.cc | 29 + .../23_containers/list/operations/66742.cc | 55 + .../list/requirements/explicit_instantiation/3.cc | 2 +- .../list/requirements/explicit_instantiation/5.cc | 3 +- .../testsuite/23_containers/map/cons/deduction.cc | 36 + .../map/requirements/explicit_instantiation/3.cc | 2 +- .../map/requirements/explicit_instantiation/5.cc | 3 +- .../23_containers/multimap/cons/deduction.cc | 36 + .../requirements/explicit_instantiation/3.cc | 2 +- .../requirements/explicit_instantiation/5.cc | 3 +- .../23_containers/multiset/cons/deduction.cc | 35 + .../requirements/explicit_instantiation/3.cc | 2 +- .../requirements/explicit_instantiation/5.cc | 3 +- .../23_containers/priority_queue/deduction.cc | 37 + .../23_containers/priority_queue/lwg3506.cc | 54 + .../23_containers/priority_queue/lwg3522.cc | 24 + .../23_containers/priority_queue/lwg3529.cc | 13 + .../requirements/explicit_instantiation/1.cc | 11 +- .../requirements/explicit_instantiation/1_c++98.cc | 11 +- .../23_containers/queue/cons_from_iters.cc | 68 + .../testsuite/23_containers/queue/deduction.cc | 34 + .../queue/requirements/explicit_instantiation/1.cc | 2 + .../requirements/explicit_instantiation/1_c++98.cc | 2 + .../testsuite/23_containers/set/cons/deduction.cc | 35 + .../set/requirements/explicit_instantiation/3.cc | 2 +- .../set/requirements/explicit_instantiation/5.cc | 3 +- .../23_containers/span/trivially_copyable.cc | 13 + .../23_containers/stack/cons_from_iters.cc | 65 + .../testsuite/23_containers/stack/deduction.cc | 3 +- .../stack/requirements/explicit_instantiation/1.cc | 2 + .../requirements/explicit_instantiation/1_c++98.cc | 2 + .../23_containers/unordered_map/cons/deduction.cc | 38 + .../requirements/explicit_instantiation/3.cc | 2 +- .../unordered_multimap/cons/deduction.cc | 38 + .../requirements/explicit_instantiation/3.cc | 2 +- .../unordered_multiset/cons/deduction.cc | 37 + .../requirements/explicit_instantiation/3.cc | 2 +- .../23_containers/unordered_set/cons/deduction.cc | 37 + .../requirements/explicit_instantiation/3.cc | 2 +- .../23_containers/vector/cons/deduction.cc | 75 + .../vector/ext_pointer/explicit_instantiation/3.cc | 2 +- .../requirements/explicit_instantiation/3.cc | 2 +- .../24_iterators/normal_iterator/to_address.cc | 6 + .../testsuite/24_iterators/operations/prev_neg.cc | 2 +- .../testsuite/24_iterators/output/concept.cc | 2 +- .../24_iterators/range_operations/lwg3392.cc | 30 + .../24_iterators/reverse_iterator/noexcept.cc | 92 + libstdc++-v3/testsuite/25_algorithms/copy/34595.cc | 5 +- .../testsuite/25_algorithms/is_permutation/2.cc | 1 + .../25_algorithms/unique_copy/check_type.cc | 22 +- .../inserters_other/char/volatile_ptr.cc | 15 + .../28_regex/algorithms/regex_match/multiline.cc | 74 + .../testsuite/28_regex/basic_regex/84110.cc | 39 + .../basic_regex/assign/exception_safety.cc | 20 + .../28_regex/basic_regex/ctors/char/other.cc | 37 + .../28_regex/basic_regex/ctors/grammar.cc | 53 + .../testsuite/30_threads/jthread/100612.cc | 24 + libstdc++-v3/testsuite/30_threads/thread/cons/3.cc | 5 +- libstdc++-v3/testsuite/30_threads/thread/cons/4.cc | 4 +- libstdc++-v3/testsuite/30_threads/thread/cons/5.cc | 4 +- .../testsuite/ext/pb_ds/example/basic_multimap.cc | 4 +- .../testsuite/ext/pb_ds/example/erase_if.cc | 4 +- .../ext/pb_ds/example/hash_illegal_resize.cc | 4 +- .../ext/pb_ds/example/hash_initial_size.cc | 4 +- .../ext/pb_ds/example/hash_load_set_change.cc | 4 +- .../testsuite/ext/pb_ds/example/hash_mod.cc | 4 +- .../testsuite/ext/pb_ds/example/hash_resize.cc | 4 +- .../testsuite/ext/pb_ds/example/hash_shift_mask.cc | 4 +- .../ext/pb_ds/example/priority_queue_dijkstra.cc | 4 +- .../testsuite/ext/pb_ds/example/ranged_hash.cc | 1 - .../testsuite/ext/pb_ds/example/store_hash.cc | 4 +- 1137 files changed, 43122 insertions(+), 15505 deletions(-)