https://gcc.gnu.org/g:ac4db8ee4097571c12b053c4724d2ca8b98dcfe9
commit ac4db8ee4097571c12b053c4724d2ca8b98dcfe9 Merge: f73d23f06a1b 8d007d35e4b8 Author: Jakub Jelinek <[email protected]> Date: Sat Dec 20 18:44:03 2025 +0100 Merge commit 'r16-6312-g8d007d35e4b8f1a1d06299af5321fb776da3cac1' into redhat/gcc-16-branch Diff: ChangeLog | 7 + configure | 189 ++- configure.ac | 189 ++- gcc/ChangeLog | 477 ++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 8 + gcc/ada/sem_attr.adb | 2 +- gcc/ada/sem_ch6.adb | 2 +- gcc/ada/sysdep.c | 2 +- gcc/algol68/ChangeLog | 5 + gcc/algol68/a68-low-decls.cc | 2 +- gcc/algol68/a68-low-moids.cc | 35 +- gcc/alias.cc | 2 +- gcc/builtins.cc | 2 +- gcc/c-family/ChangeLog | 11 + gcc/c/ChangeLog | 20 + gcc/c/c-parser.cc | 30 +- gcc/c/gimple-parser.cc | 2 +- gcc/cobol/ChangeLog | 6 + gcc/cobol/lexio.cc | 4 +- gcc/combine.cc | 12 +- gcc/common/config/i386/i386-common.cc | 41 +- gcc/config/avr/avr.md | 6 +- gcc/config/h8300/h8300-protos.h | 3 +- gcc/config/h8300/h8300.cc | 99 +- gcc/config/h8300/logical.md | 2 +- gcc/config/i386/i386-expand.cc | 6 +- gcc/config/i386/i386.cc | 2 +- gcc/config/riscv/autovec-opt.md | 22 +- gcc/config/riscv/autovec.md | 387 +++-- gcc/config/riscv/predicates.md | 7 + gcc/config/riscv/riscv-avlprop.cc | 2 +- gcc/config/riscv/riscv-protos.h | 6 +- gcc/config/riscv/riscv-selftests.cc | 8 +- gcc/config/riscv/riscv-v.cc | 256 +++- gcc/config/riscv/riscv-vector-builtins-bases.cc | 66 +- gcc/config/riscv/riscv-vector-builtins.cc | 4 +- gcc/config/riscv/riscv-vector-costs.cc | 22 +- gcc/config/riscv/riscv.cc | 104 +- gcc/config/riscv/vector-crypto.md | 172 +-- gcc/config/riscv/vector-iterators.md | 1535 +++++++++++++++++++- gcc/config/riscv/vector.md | 186 +-- gcc/config/rs6000/rs6000.h | 2 +- gcc/config/s390/s390.cc | 2 +- gcc/config/xtensa/predicates.md | 4 +- gcc/cp/ChangeLog | 123 ++ gcc/cp/decl.cc | 19 +- gcc/cp/decl2.cc | 6 + gcc/cp/init.cc | 45 +- gcc/cp/module.cc | 165 ++- gcc/cp/name-lookup.cc | 45 +- gcc/cp/name-lookup.h | 3 +- gcc/cp/parser.cc | 145 +- gcc/cp/pt.cc | 20 +- gcc/cp/semantics.cc | 10 + gcc/cp/tree.cc | 107 +- gcc/cp/typeck.cc | 25 +- gcc/cp/typeck2.cc | 2 +- gcc/doc/install.texi | 16 +- gcc/doc/md.texi | 2 +- gcc/dwarf2out.cc | 50 +- gcc/fortran/ChangeLog | 56 + gcc/fortran/cpp.cc | 7 + gcc/fortran/dump-parse-tree.cc | 6 +- gcc/fortran/expr.cc | 33 +- gcc/fortran/f95-lang.cc | 4 +- gcc/fortran/gfortran.h | 3 +- gcc/fortran/gfortran.texi | 2 +- gcc/fortran/invoke.texi | 4 + gcc/fortran/openmp.cc | 154 +- gcc/fortran/resolve.cc | 8 +- gcc/fortran/scanner.cc | 10 +- gcc/genmatch.cc | 2 +- gcc/gimple-range-gori.cc | 5 +- gcc/gimple-range-op.cc | 4 + gcc/gimple-range-op.h | 2 + gcc/gimple-range-phi.cc | 2 +- gcc/gimple-ssa-store-merging.cc | 4 +- gcc/gimple-walk.cc | 2 +- gcc/gimplify.cc | 20 +- gcc/go/gofrontend/MERGE | 2 +- gcc/graphite-isl-ast-to-gimple.cc | 2 +- gcc/ipa-param-manipulation.cc | 2 +- gcc/ipa-prop.cc | 2 +- gcc/ipa-prop.h | 2 +- gcc/loop-init.cc | 2 +- gcc/lra-constraints.cc | 14 +- gcc/lto/ChangeLog | 5 + gcc/lto/lto-common.cc | 2 +- gcc/m2/ChangeLog | 6 + gcc/m2/gm2-compiler/FilterError.mod | 2 +- gcc/m2/gm2-compiler/M2Batch.mod | 2 +- gcc/match.pd | 2 +- gcc/optabs.cc | 11 +- gcc/opts.cc | 2 +- gcc/sanopt.cc | 2 +- gcc/testsuite/ChangeLog | 275 ++++ gcc/testsuite/c-c++-common/gomp/assume-5.c | 18 + .../c-c++-common/gomp/uses_allocators-8.c | 59 + gcc/testsuite/g++.dg/DRs/dr3061.C | 2 +- gcc/testsuite/g++.dg/cpp0x/deleted18.C | 20 + gcc/testsuite/g++.dg/cpp0x/initlist31.C | 2 +- gcc/testsuite/g++.dg/cpp0x/new4.C | 2 +- gcc/testsuite/g++.dg/cpp1z/eval-order14.C | 114 ++ gcc/testsuite/g++.dg/cpp1z/static_assert1.C | 17 + gcc/testsuite/g++.dg/cpp26/expansion-stmt1.C | 12 +- gcc/testsuite/g++.dg/cpp26/expansion-stmt18.C | 6 +- gcc/testsuite/g++.dg/cpp26/expansion-stmt2.C | 12 +- gcc/testsuite/g++.dg/cpp26/expansion-stmt3.C | 12 +- .../g++.dg/cpp2a/lambda-template-pr117034.C | 12 + gcc/testsuite/g++.dg/dfp/pr122834-1.C | 17 + gcc/testsuite/g++.dg/dfp/pr122834-2.C | 19 + gcc/testsuite/g++.dg/ext/is_implicit_lifetime2.C | 91 ++ gcc/testsuite/g++.dg/guality/decomp1.C | 38 + gcc/testsuite/g++.dg/modules/adl-12_a.C | 94 ++ gcc/testsuite/g++.dg/modules/adl-12_b.C | 29 + gcc/testsuite/g++.dg/modules/namespace-17_a.C | 8 + gcc/testsuite/g++.dg/modules/namespace-17_b.C | 10 + gcc/testsuite/g++.dg/modules/pr122922_a.C | 18 + gcc/testsuite/g++.dg/modules/pr122922_b.C | 8 + gcc/testsuite/g++.dg/tc1/dr176-2.C | 13 + gcc/testsuite/g++.dg/template/implicit-func-cast.C | 9 + gcc/testsuite/g++.dg/tree-ssa/pr44706.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/pr87502.C | 2 +- .../g++.dg/vect/vect-uncounted-prolog-peel_1.cc | 51 + .../g++.target/riscv/rvv/autovec/pr123118.C | 19 + gcc/testsuite/g++.target/sh/sh.exp | 297 ++++ gcc/testsuite/g++.target/sh/torture/pr55212-c311.C | 73 + gcc/testsuite/g++.target/sh/torture/pr55212-c333.C | 259 ++++ gcc/testsuite/g++.target/sh/torture/pr55212-c373.C | 612 ++++++++ gcc/testsuite/g++.target/sh/torture/pr55212-c384.C | 429 ++++++ gcc/testsuite/g++.target/sh/torture/pr55212-c413.C | 38 + gcc/testsuite/g++.target/sh/torture/sh-torture.exp | 299 ++++ gcc/testsuite/gcc.c-torture/compile/20030323-1.c | 2 +- gcc/testsuite/gcc.dg/pr123205.c | 23 + gcc/testsuite/gcc.dg/tree-ssa/ctz-ch.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/pr96779-disabled.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr96779.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-16.c | 2 +- .../gcc.dg/vect/vect-uncounted-prolog-peel_2.c | 25 + .../gcc.dg/vect/vect-uncounted-prolog-peel_3.c | 26 + gcc/testsuite/gcc.target/i386/keylocker-pr123217.c | 13 + .../gcc.target/i386/shift-gf2p8affine-2.c | 5 +- gcc/testsuite/gcc.target/i386/user_msr-pr123217.c | 10 + .../gcc.target/loongarch/vector/lsx/pr123117.c | 16 + .../gcc.target/riscv/rvv/autovec/early-break-3.c | 70 + .../gcc.target/riscv/rvv/autovec/early-break-4.c | 68 + .../gcc.target/riscv/rvv/autovec/early-break-5.c | 117 ++ .../rvv/autovec/gather-scatter/strided_store-2.c | 3 +- .../riscv/rvv/autovec/param-autovec-mode.c | 2 +- .../riscv/rvv/autovec/partial/select_vl-2.c | 4 +- .../gcc.target/riscv/rvv/autovec/pr120378-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/pr121510.c | 2 +- .../gcc.target/riscv/rvv/autovec/pr122970.c | 71 + .../gcc.target/riscv/rvv/autovec/pr123097-run.c | 19 + .../gcc.target/riscv/rvv/autovec/pr123097.c | 20 + .../gcc.target/riscv/rvv/autovec/subreg-extract.c | 19 + .../gcc.target/riscv/rvv/autovec/zve64d-1.c | 5 +- .../gcc.target/riscv/rvv/autovec/zve64f-1.c | 5 +- .../gcc.target/riscv/rvv/base/pr112431-21.c | 2 +- gcc/testsuite/gcc.target/s390/larl-1.c | 2 +- gcc/testsuite/gcc.target/sh/pr55212-c248.c | 31 + gcc/testsuite/gfortran.dg/associate_76.f90 | 67 + gcc/testsuite/gfortran.dg/bound_8.f90 | 2 +- gcc/testsuite/gfortran.dg/coarray_14.f90 | 2 +- .../gfortran.dg/goacc/update-if_present-2.f90 | 12 +- gcc/testsuite/gfortran.dg/gomp/assume-6.f90 | 8 + gcc/testsuite/gfortran.dg/gomp/order-8.f90 | 4 +- gcc/testsuite/gfortran.dg/gomp/order-9.f90 | 16 +- gcc/testsuite/gfortran.dg/pr92613.f90 | 13 + gcc/testsuite/gfortran.dg/pr92613_2.f90 | 11 + gcc/testsuite/gfortran.dg/protected_8.f90 | 6 +- gcc/testsuite/lib/target-supports.exp | 18 + gcc/tree-cfg.cc | 6 +- gcc/tree-inline.cc | 2 +- gcc/tree-loop-distribution.cc | 3 +- gcc/tree-pretty-print.cc | 9 +- gcc/tree-sra.cc | 2 +- gcc/tree-ssa-alias.cc | 2 +- gcc/tree-ssa-forwprop.cc | 22 +- gcc/tree-ssa-pre.cc | 2 +- gcc/tree-vect-data-refs.cc | 10 +- gcc/tree-vect-loop-manip.cc | 16 +- gcc/tree-vect-loop.cc | 12 +- gcc/tree-vect-patterns.cc | 2 +- gcc/tree-vect-slp.cc | 10 +- gcc/tree-vect-stmts.cc | 4 +- gcc/tree.cc | 2 +- gcc/vec.h | 2 +- libgo/Makefile.am | 3 +- libgo/Makefile.in | 4 +- libgo/configure | 14 +- libgo/configure.ac | 9 + libgo/go/go.mod | 2 +- libgo/go/vendor/modules.txt | 2 +- libgo/testsuite/Makefile.in | 1 + libgomp/ChangeLog | 9 + libgomp/libgomp.texi | 2 +- .../libgomp.fortran/uses_allocators-7.f90 | 20 +- libstdc++-v3/ChangeLog | 89 ++ libstdc++-v3/config/os/mingw32-w64/os_defines.h | 4 + libstdc++-v3/include/bits/chrono_io.h | 11 +- libstdc++-v3/include/bits/random.h | 8 + libstdc++-v3/include/bits/random.tcc | 104 +- libstdc++-v3/include/debug/helper_functions.h | 4 +- libstdc++-v3/include/debug/safe_iterator.h | 18 +- libstdc++-v3/include/std/mutex | 19 + libstdc++-v3/include/std/variant | 13 +- libstdc++-v3/src/c++11/mutex.cc | 14 + libstdc++-v3/src/c++20/tzdb.cc | 2 +- libstdc++-v3/testsuite/20_util/variant/112591.cc | 16 +- .../testsuite/20_util/variant/112591_compat.cc | 4 + .../testsuite/20_util/variant/constinit.cc | 40 + .../testsuite/20_util/variant/constinit_compat.cc | 43 + .../operators/gencanon_eng.cc | 44 + libstdc++-v3/testsuite/std/time/parse/parse.cc | 14 + 216 files changed, 8307 insertions(+), 1162 deletions(-)
