https://gcc.gnu.org/g:3c2c408e5ef993f208fbdcbd39b01717ab15be80
commit 3c2c408e5ef993f208fbdcbd39b01717ab15be80 Merge: 43c569d5324a 1b6bc907fe80 Author: Jakub Jelinek <[email protected]> Date: Thu Dec 11 12:44:02 2025 +0100 Merge commit 'r15-10594-g1b6bc907fe80f50ae6858dc55d679abcf23f028e' into redhat/gcc-15-branch Diff: gcc/ChangeLog | 401 +++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 47 +++ gcc/ada/Makefile.rtl | 2 +- gcc/ada/libgnat/s-oslock__darwin.ads | 57 +++ gcc/ada/repinfo.adb | 48 ++- gcc/ada/rtfinal.c | 2 - gcc/ada/rtinit.c | 3 +- gcc/ada/sem_ch3.adb | 95 ++--- gcc/ada/sem_ch6.adb | 2 +- gcc/ada/sem_type.adb | 2 +- gcc/ada/sem_util.adb | 9 +- gcc/ada/sem_util.ads | 6 +- gcc/c-family/ChangeLog | 24 ++ gcc/c-family/c-common.cc | 38 +- gcc/c-family/c-ubsan.cc | 14 +- gcc/c/ChangeLog | 9 + gcc/c/c-decl.cc | 7 + gcc/c/c-typeck.cc | 6 +- gcc/config/aarch64/aarch64-simd.md | 24 ++ gcc/config/aarch64/aarch64.md | 4 +- gcc/config/arm/arm-mve-builtins-base.cc | 44 +++ gcc/config/arm/arm-mve-builtins-base.def | 2 + gcc/config/arm/arm-mve-builtins-base.h | 2 + gcc/config/arm/arm-mve-builtins-shapes.cc | 30 ++ gcc/config/arm/arm-mve-builtins-shapes.h | 2 + gcc/config/arm/arm.cc | 78 ++-- gcc/config/arm/arm.h | 6 +- gcc/config/arm/arm.md | 17 +- gcc/config/arm/arm_mve.h | 16 - gcc/config/arm/constraints.md | 10 +- gcc/config/arm/iterators.md | 25 ++ gcc/config/arm/mve.md | 256 ++++++++++++- gcc/config/arm/thumb2.md | 62 ++-- gcc/config/arm/unspecs.md | 16 + gcc/config/avr/avr-mcus.def | 8 + gcc/config/i386/amxavx512intrin.h | 57 +-- gcc/config/i386/amxbf16intrin.h | 6 +- gcc/config/i386/amxcomplexintrin.h | 18 +- gcc/config/i386/amxfp16intrin.h | 8 +- gcc/config/i386/amxfp8intrin.h | 38 +- gcc/config/i386/amxint8intrin.h | 4 +- gcc/config/i386/amxmovrsintrin.h | 30 +- gcc/config/i386/amxtf32intrin.h | 6 +- gcc/config/i386/amxtileintrin.h | 20 +- gcc/config/i386/i386-options.cc | 2 +- gcc/config/i386/i386.md | 2 +- gcc/config/loongarch/loongarch.cc | 56 +-- gcc/config/riscv/riscv-vector-builtins-bases.cc | 3 +- gcc/config/riscv/riscv-vector-builtins.cc | 9 +- gcc/config/riscv/riscv-vsetvl.cc | 2 +- gcc/config/riscv/riscv.cc | 5 +- gcc/config/riscv/vector.md | 4 +- gcc/cp/ChangeLog | 84 +++++ gcc/cp/call.cc | 29 +- gcc/cp/constexpr.cc | 3 + gcc/cp/module.cc | 50 ++- gcc/cp/pt.cc | 41 ++- gcc/diagnostic.cc | 4 +- gcc/diagnostic.h | 2 +- gcc/doc/avr-mmcu.texi | 2 +- gcc/doc/extend.texi | 3 +- gcc/doc/invoke.texi | 4 +- gcc/fortran/ChangeLog | 20 + gcc/fortran/expr.cc | 8 + gcc/fortran/resolve.cc | 5 + gcc/gimple-isel.cc | 10 + gcc/gimplify.cc | 20 + gcc/input.cc | 4 +- gcc/lra-constraints.cc | 9 +- gcc/lto-wrapper.cc | 18 +- gcc/lto/ChangeLog | 19 + gcc/lto/lto-common.cc | 18 +- gcc/lto/lto-object.cc | 6 +- gcc/lto/lto.h | 2 +- gcc/omp-expand.cc | 2 +- gcc/testsuite/ChangeLog | 355 ++++++++++++++++++ gcc/testsuite/c-c++-common/gomp/pr120052.c | 32 ++ gcc/testsuite/c-c++-common/gomp/pr120564.c | 15 + gcc/testsuite/g++.dg/cpp0x/pr119580.C | 16 + gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C | 19 + gcc/testsuite/g++.dg/cpp26/pack-indexing18.C | 32 ++ gcc/testsuite/g++.dg/cpp2a/consteval42.C | 21 ++ .../g++.dg/ext/reference_xes_from_temporary1.C | 28 ++ gcc/testsuite/g++.dg/modules/concept-12_a.C | 6 + gcc/testsuite/g++.dg/modules/concept-12_b.C | 5 + gcc/testsuite/g++.dg/modules/inst-7_a.C | 33 ++ gcc/testsuite/g++.dg/modules/inst-7_b.C | 13 + gcc/testsuite/g++.dg/parse/crash81.C | 14 + gcc/testsuite/g++.dg/template/crash106.C | 4 +- gcc/testsuite/g++.dg/template/crash112.C | 4 +- gcc/testsuite/g++.dg/template/dependent-args1.C | 6 +- gcc/testsuite/g++.target/i386/pr122446-1.C | 17 + gcc/testsuite/g++.target/i386/pr122446-amxavx512.C | 104 ++++++ gcc/testsuite/g++.target/i386/pr122446-amxbf16.C | 16 + .../g++.target/i386/pr122446-amxcomplex.C | 24 ++ gcc/testsuite/g++.target/i386/pr122446-amxfp16.C | 16 + gcc/testsuite/g++.target/i386/pr122446-amxfp8.C | 40 ++ gcc/testsuite/g++.target/i386/pr122446-amxint8.C | 40 ++ gcc/testsuite/g++.target/i386/pr122446-amxmovrs.C | 31 ++ gcc/testsuite/g++.target/i386/pr122446-amxtf32.C | 16 + gcc/testsuite/g++.target/i386/pr122446-amxtile.C | 50 +++ gcc/testsuite/g++.target/riscv/pr122692-run-1.C | 116 ++++++ gcc/testsuite/g++.target/riscv/pr122692-run-2.C | 178 +++++++++ gcc/testsuite/gcc.c-torture/execute/pr122943.c | 130 +++++++ gcc/testsuite/gcc.dg/Wstringop-overflow-47.c | 6 +- gcc/testsuite/gcc.dg/lto/pr122515_0.c | 9 + gcc/testsuite/gcc.dg/lto/pr122515_1.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_2.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_3.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_4.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_5.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_6.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_7.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_8.c | 12 + gcc/testsuite/gcc.dg/lto/pr122515_9.c | 12 + .../gcc.dg/plugin/location-overflow-test-3.c | 10 + gcc/testsuite/gcc.dg/plugin/plugin.exp | 1 + gcc/testsuite/gcc.dg/pr121506.c | 8 + gcc/testsuite/gcc.dg/pr122126_vextr.c | 9 + gcc/testsuite/gcc.dg/pr122126_vset.c | 9 + gcc/testsuite/gcc.dg/pr122991.c | 28 ++ gcc/testsuite/gcc.dg/pr123018.c | 17 + gcc/testsuite/gcc.target/aarch64/pr121853_1.c | 64 ++++ gcc/testsuite/gcc.target/aarch64/pr121853_2.c | 14 + .../gcc.target/arm/armv8_2-fp16-arith-1.c | 3 +- gcc/testsuite/gcc.target/arm/cbz-range.c | 114 ++++++ .../gcc.target/arm/cmse/baseline/union-3.c | 29 ++ .../gcc.target/arm/cmse/baseline/union-4.c | 20 + .../gcc.target/arm/cmse/mainline/8_1m/union-3.c | 32 ++ .../gcc.target/arm/cmse/mainline/8m/hard/union-4.c | 27 ++ .../arm/cmse/mainline/8m/hard/union-fp.c | 66 ++++ .../gcc.target/arm/cmse/mainline/8m/soft/union-4.c | 18 + .../arm/cmse/mainline/8m/softfp/union-4.c | 19 + .../gcc.target/arm/cmse/mainline/8m/union-3.c | 33 ++ gcc/testsuite/gcc.target/arm/cmse/union-3.x | 23 ++ gcc/testsuite/gcc.target/arm/cmse/union-4.x | 41 +++ .../arm/mve/intrinsics/asrl-various-ranges.c | 161 +++++++++ .../arm/mve/intrinsics/lsll-various-ranges.c | 160 ++++++++ .../gcc.target/arm/mve/intrinsics/pr122175.c | 38 ++ .../arm/mve/intrinsics/vadcq-check-carry.c | 48 +++ .../gcc.target/arm/mve/intrinsics/vadcq_m_s32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vadcq_m_u32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vbicq_m_n_s16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vbicq_m_n_u16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vbicq_n_s16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vbicq_n_u16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vmvnq_m_n_s16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vmvnq_m_n_u16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vmvnq_n_s16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vmvnq_n_u16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vmvnq_x_n_s16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vmvnq_x_n_u16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vorrq_m_n_s16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vorrq_m_n_u16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vorrq_n_s16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vorrq_n_u16.c | 4 +- .../gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c | 2 +- gcc/testsuite/gcc.target/arm/mve/pr122858.c | 83 +++++ gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c | 2 +- .../gcc.target/i386/amxcomplex-asmintel-1.c | 4 +- gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c | 2 +- gcc/testsuite/gcc.target/i386/amxfp8-asmintel-1.c | 8 +- gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c | 8 +- .../gcc.target/i386/amxmovrs-asmintel-1.c | 12 +- gcc/testsuite/gcc.target/i386/amxtf32-asmintel-1.c | 2 +- gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c | 8 +- gcc/testsuite/gcc.target/loongarch/pr122695-1.c | 22 ++ gcc/testsuite/gcc.target/loongarch/pr122695-2.c | 22 ++ gcc/testsuite/gcc.target/riscv/pr119275.c | 26 ++ .../gcc.target/riscv/rvv/autovec/pr122627.c | 196 ++++++++++ gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c | 22 ++ .../gcc.target/riscv/rvv/base/pr122656-1.c | 7 + .../gcc.target/riscv/rvv/base/pr122656-2.c | 7 + gcc/testsuite/gfortran.dg/contiguous_16.f90 | 51 +++ gcc/testsuite/gfortran.dg/select_contiguous.f90 | 51 +++ gcc/testsuite/gnat.dg/warn34.adb | 9 + gcc/testsuite/lib/lto.exp | 69 +++- gcc/tree-cfg.cc | 8 +- gcc/tree-ssa-strlen.cc | 12 +- gcc/tree-switch-conversion.cc | 16 +- libcody/ChangeLog | 17 + libcody/client.cc | 36 +- libcody/cody.hh | 22 ++ libcody/server.cc | 28 +- libstdc++-v3/ChangeLog | 96 +++++ libstdc++-v3/doc/html/faq.html | 2 +- libstdc++-v3/doc/html/manual/abi.html | 4 +- libstdc++-v3/doc/html/manual/appendix_porting.html | 4 +- libstdc++-v3/doc/html/manual/associative.html | 8 +- libstdc++-v3/doc/html/manual/backwards.html | 2 +- libstdc++-v3/doc/html/manual/containers_and_c.html | 4 +- libstdc++-v3/doc/html/manual/diagnostics.html | 2 +- libstdc++-v3/doc/html/manual/dynamic_memory.html | 4 +- libstdc++-v3/doc/html/manual/ext_containers.html | 2 +- libstdc++-v3/doc/html/manual/ext_demangling.html | 2 +- libstdc++-v3/doc/html/manual/ext_sgi.html | 2 +- .../manual/generalized_numeric_operations.html | 2 +- libstdc++-v3/doc/html/manual/io.html | 6 +- libstdc++-v3/doc/html/manual/io_and_c.html | 4 +- libstdc++-v3/doc/html/manual/iterators.html | 2 +- libstdc++-v3/doc/html/manual/memory.html | 14 +- libstdc++-v3/doc/html/manual/pairs.html | 8 +- .../html/manual/policy_data_structures_design.html | 2 +- libstdc++-v3/doc/html/manual/setup.html | 2 +- libstdc++-v3/doc/html/manual/streambufs.html | 2 +- libstdc++-v3/doc/html/manual/strings.html | 8 +- libstdc++-v3/doc/html/manual/support.html | 2 +- libstdc++-v3/doc/html/manual/termination.html | 2 +- libstdc++-v3/doc/html/manual/test.html | 12 +- .../doc/html/manual/unordered_associative.html | 2 +- .../doc/html/manual/using_concurrency.html | 2 +- libstdc++-v3/doc/xml/faq.xml | 4 +- libstdc++-v3/doc/xml/manual/abi.xml | 2 + libstdc++-v3/doc/xml/manual/allocator.xml | 10 +- libstdc++-v3/doc/xml/manual/auto_ptr.xml | 20 +- .../doc/xml/manual/backwards_compatibility.xml | 4 +- libstdc++-v3/doc/xml/manual/build_hacking.xml | 8 +- libstdc++-v3/doc/xml/manual/containers.xml | 28 +- libstdc++-v3/doc/xml/manual/diagnostics.xml | 4 +- libstdc++-v3/doc/xml/manual/extensions.xml | 24 +- libstdc++-v3/doc/xml/manual/intro.xml | 4 +- libstdc++-v3/doc/xml/manual/io.xml | 40 +- libstdc++-v3/doc/xml/manual/iterators.xml | 4 +- libstdc++-v3/doc/xml/manual/numerics.xml | 4 +- .../doc/xml/manual/policy_data_structures.xml | 4 +- libstdc++-v3/doc/xml/manual/strings.xml | 32 +- libstdc++-v3/doc/xml/manual/support.xml | 16 +- libstdc++-v3/doc/xml/manual/test.xml | 12 +- libstdc++-v3/doc/xml/manual/using.xml | 8 +- libstdc++-v3/doc/xml/manual/utilities.xml | 16 +- libstdc++-v3/include/bits/forward_list.h | 2 +- libstdc++-v3/include/bits/ranges_base.h | 20 +- libstdc++-v3/include/std/flat_map | 2 +- libstdc++-v3/src/c++23/std.cc.in | 16 +- libstdc++-v3/src/filesystem/ops-common.h | 5 +- libstdc++-v3/testsuite/23_containers/flat_map/1.cc | 12 + .../testsuite/23_containers/flat_multimap/1.cc | 12 + .../23_containers/forward_list/modifiers/122661.cc | 20 + .../testsuite/24_iterators/const_iterator/1.cc | 29 +- .../27_io/filesystem/operations/rename.cc | 10 + 242 files changed, 5141 insertions(+), 744 deletions(-)
