https://gcc.gnu.org/g:f4cdfe458b3dd16ebc75b622f831243c6c626f79
commit f4cdfe458b3dd16ebc75b622f831243c6c626f79 Merge: be4d7029a2b4 704c7dfcd2c9 Author: Tobias Burnus <[email protected]> Date: Mon Oct 19 08:10:21 2026 +0200 Merge branch 'releases/gcc-16' into devel/omp/gcc-16 Merge up to r16-9805-g704c7dfcd2c918 (Oct 19, 2026) Diff: ChangeLog | 8 + Makefile.def | 1 + Makefile.in | 3 +- Makefile.tpl | 2 - gcc/ChangeLog | 283 ++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 74 ++++ gcc/ada/contracts.adb | 5 +- gcc/ada/exp_util.adb | 9 - gcc/ada/libgnat/g-socthi.adb | 11 +- gcc/ada/libgnat/s-objrea.adb | 6 +- gcc/ada/libgnat/s-objrea.ads | 5 +- gcc/ada/libgnat/system-linux-loongarch.ads | 3 + gcc/ada/sem_attr.adb | 2 + gcc/ada/sem_ch12.adb | 67 +++- gcc/ada/sem_ch8.adb | 17 +- gcc/builtins.cc | 14 +- gcc/c/ChangeLog | 12 + gcc/c/c-typeck.cc | 19 +- gcc/config/aarch64/aarch64-sve-builtins-base.cc | 65 ++-- gcc/config/aarch64/aarch64-sve-builtins.cc | 11 +- gcc/config/aarch64/aarch64-sve.md | 11 +- gcc/config/aarch64/aarch64.md | 41 +- gcc/config/aarch64/predicates.md | 7 + gcc/config/avr/avr.cc | 10 +- gcc/config/i386/i386-expand.cc | 9 +- gcc/config/i386/i386.cc | 6 + gcc/config/i386/sse.md | 2 +- gcc/config/pa/pa.cc | 40 +- gcc/config/pa/pa.md | 9 + gcc/config/riscv/riscv-vector-builtins.cc | 46 ++- gcc/config/rs6000/vector.md | 8 +- gcc/config/xtensa/xtensa.cc | 5 +- gcc/cp/ChangeLog | 109 ++++++ gcc/cp/cp-gimplify.cc | 5 +- gcc/cp/cp-tree.h | 2 +- gcc/cp/decl.cc | 19 +- gcc/cp/decl2.cc | 1 + gcc/cp/mangle.cc | 10 +- gcc/cp/name-lookup.cc | 11 +- gcc/cp/name-lookup.h | 3 +- gcc/cp/parser.cc | 2 +- gcc/cp/pt.cc | 16 +- gcc/cp/reflect.cc | 11 +- gcc/cp/semantics.cc | 16 +- gcc/cp/tree.cc | 2 + gcc/doc/extend.texi | 4 +- gcc/expmed.cc | 4 +- gcc/ext-dce.cc | 12 +- gcc/flag-types.h | 3 +- gcc/fortran/ChangeLog | 63 +++ gcc/fortran/gfortranspec.cc | 28 ++ gcc/fortran/lang.opt | 5 +- gcc/fortran/primary.cc | 8 + gcc/fortran/resolve.cc | 12 +- gcc/fortran/symbol.cc | 3 +- gcc/fortran/trans-expr.cc | 5 +- gcc/gimple-lower-bitint.cc | 11 +- gcc/internal-fn.cc | 30 +- gcc/match.pd | 8 +- gcc/optabs.cc | 22 ++ gcc/testsuite/ChangeLog | 425 +++++++++++++++++++++ gcc/testsuite/c-c++-common/cpp/pr121508-1.c | 8 + gcc/testsuite/c-c++-common/cpp/pr121508-2.c | 8 + gcc/testsuite/c-c++-common/cpp/pr121508-3.c | 8 + gcc/testsuite/c-c++-common/cpp/pr121508-4.c | 8 + gcc/testsuite/c-c++-common/cpp/pr121508-5.c | 8 + gcc/testsuite/c-c++-common/cpp/pr123339.c | 9 + gcc/testsuite/g++.dg/cpp26/decomp32.C | 33 ++ gcc/testsuite/g++.dg/modules/gmf-7_a.C | 5 + gcc/testsuite/g++.dg/modules/gmf-7_b.C | 5 + gcc/testsuite/g++.dg/reflect/mangle10.C | 26 ++ gcc/testsuite/g++.dg/reflect/members_of18.C | 40 ++ gcc/testsuite/g++.dg/reflect/ns11.C | 69 ++++ gcc/testsuite/g++.dg/reflect/ns12.C | 63 +++ gcc/testsuite/g++.dg/reflect/pr127276.C | 34 ++ gcc/testsuite/g++.dg/reflect/source_location_of1.C | 4 + gcc/testsuite/g++.dg/reflect/source_location_of2.C | 3 +- gcc/testsuite/g++.dg/template/unify14.C | 15 + gcc/testsuite/g++.dg/warn/Walloc-size-2.C | 21 + gcc/testsuite/g++.dg/warn/Wsubobject-linkage-6.C | 10 + gcc/testsuite/gcc.dg/bitint-142.c | 38 ++ gcc/testsuite/gcc.dg/bitint-143.c | 45 +++ gcc/testsuite/gcc.dg/bitint-145.c | 35 ++ gcc/testsuite/gcc.dg/bitint-146.c | 20 + gcc/testsuite/gcc.dg/pr127336.c | 12 + gcc/testsuite/gcc.dg/pr127492-2.c | 7 + gcc/testsuite/gcc.dg/pr127492.c | 17 + gcc/testsuite/gcc.dg/pr127687.c | 23 ++ gcc/testsuite/gcc.dg/torture/bitint-108.c | 16 + gcc/testsuite/gcc.dg/torture/bitint-109.c | 18 + gcc/testsuite/gcc.dg/torture/pr126462.c | 26 ++ gcc/testsuite/gcc.dg/torture/pr127367.c | 26 ++ gcc/testsuite/gcc.dg/torture/pr127474.c | 12 + gcc/testsuite/gcc.target/aarch64/pr127579.c | 11 + gcc/testsuite/gcc.target/aarch64/sve/pr126629.c | 23 ++ .../gcc.target/aarch64/sve/pr126629_extend.c | 23 ++ .../gcc.target/aarch64/sve/pr126629_gather.c | 24 ++ .../gcc.target/aarch64/sve/pr126629_gather2.c | 24 ++ .../aarch64/sve2/acle/general/whilele_1.c | 61 +++ .../aarch64/sve2/acle/general/whilelt_1.c | 61 +++ .../gcc.target/arm/armv6-unaligned-load-ice.c | 6 +- .../gcc.target/arm/attr-unaligned-load-ice.c | 3 +- gcc/testsuite/gcc.target/arm/attr_arm-err.c | 1 - gcc/testsuite/gcc.target/arm/combine-cmp-shift.c | 5 +- gcc/testsuite/gcc.target/arm/lob2.c | 5 +- gcc/testsuite/gcc.target/arm/lob5.c | 5 +- .../gcc.target/arm/mve/dlstp-invalid-asm.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c | 2 +- .../gcc.target/arm/mve/intrinsics/vdupq_n_f16.c | 2 +- .../gcc.target/arm/mve/intrinsics/vdupq_n_f32.c | 2 +- gcc/testsuite/gcc.target/arm/pr50305.c | 5 +- gcc/testsuite/gcc.target/avr/torture/pr127482.c | 31 ++ gcc/testsuite/gcc.target/i386/gfni-pr127498.c | 17 + gcc/testsuite/gcc.target/i386/pr127352.c | 53 +++ gcc/testsuite/gcc.target/i386/pr127382.c | 25 ++ gcc/testsuite/gcc.target/i386/pr127650.c | 35 ++ .../gcc.target/i386/shift-gf2p8affine-5.c | 4 +- gcc/testsuite/gcc.target/riscv/pr127553.c | 13 + gcc/testsuite/gcc.target/riscv/rvv/base/bug-9.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-1.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-10.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-2.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-3.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-4.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-5.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-6.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-7.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-8.c | 2 +- .../riscv/rvv/base/intrinsic_required_ext-9.c | 2 +- .../gcc.target/riscv/rvv/base/pr114988-1.c | 2 +- .../gcc.target/riscv/rvv/base/pr114988-2.c | 2 +- gcc/testsuite/gcc.target/riscv/rvv/base/pr120436.c | 6 +- .../base/target_attribute_v_with_intrinsic-17.c | 2 +- .../base/target_attribute_v_with_intrinsic-18.c | 2 +- .../base/target_attribute_v_with_intrinsic-19.c | 2 +- .../base/target_attribute_v_with_intrinsic-20.c | 2 +- .../base/target_attribute_v_with_intrinsic-21.c | 2 +- .../base/target_attribute_v_with_intrinsic-22.c | 2 +- .../base/target_attribute_v_with_intrinsic-23.c | 2 +- .../base/target_attribute_v_with_intrinsic-24.c | 2 +- .../base/target_attribute_v_with_intrinsic-25.c | 2 +- .../base/target_attribute_v_with_intrinsic-26.c | 2 +- .../base/target_attribute_v_with_intrinsic-27.c | 2 +- .../base/target_attribute_v_with_intrinsic-28.c | 2 +- .../base/target_attribute_v_with_intrinsic-29.c | 2 +- .../rvv/base/target_attribute_v_with_intrinsic-3.c | 2 +- .../rvv/base/target_attribute_v_with_intrinsic-7.c | 2 +- .../rvv/base/target_attribute_v_with_intrinsic-8.c | 2 +- gcc/testsuite/gfortran.dg/associate_90.f90 | 71 ++++ gcc/testsuite/gfortran.dg/coarray_51.f90 | 15 + gcc/testsuite/gfortran.dg/findloc_11.f90 | 37 ++ gcc/testsuite/gfortran.dg/minmaxloc_mask_back.f90 | 32 ++ gcc/testsuite/gfortran.dg/pr110421.f90 | 39 ++ gcc/testsuite/gfortran.dg/pr127683.f90 | 10 + gcc/testsuite/gnat.dg/protected_subtype2.adb | 37 ++ gcc/testsuite/gnat.dg/renaming20.adb | 17 + gcc/tree-ssa-forwprop.cc | 8 +- gcc/tree-ssa-sccvn.cc | 2 +- gcc/tree-vect-loop.cc | 1 + gcc/tree-vect-patterns.cc | 23 ++ gcc/tree-vect-stmts.cc | 4 +- libcpp/ChangeLog | 14 + libcpp/directives.cc | 29 +- libgfortran/ChangeLog | 126 ++++++ libgfortran/generated/findloc1_c10.c | 1 + libgfortran/generated/findloc1_c16.c | 1 + libgfortran/generated/findloc1_c17.c | 1 + libgfortran/generated/findloc1_c4.c | 1 + libgfortran/generated/findloc1_c8.c | 1 + libgfortran/generated/findloc1_i1.c | 1 + libgfortran/generated/findloc1_i16.c | 1 + libgfortran/generated/findloc1_i2.c | 1 + libgfortran/generated/findloc1_i4.c | 1 + libgfortran/generated/findloc1_i8.c | 1 + libgfortran/generated/findloc1_r10.c | 1 + libgfortran/generated/findloc1_r16.c | 1 + libgfortran/generated/findloc1_r17.c | 1 + libgfortran/generated/findloc1_r4.c | 1 + libgfortran/generated/findloc1_r8.c | 1 + libgfortran/generated/findloc1_s1.c | 1 + libgfortran/generated/findloc1_s4.c | 1 + libgfortran/generated/maxloc0_16_i1.c | 2 +- libgfortran/generated/maxloc0_16_i16.c | 2 +- libgfortran/generated/maxloc0_16_i2.c | 2 +- libgfortran/generated/maxloc0_16_i4.c | 2 +- libgfortran/generated/maxloc0_16_i8.c | 2 +- libgfortran/generated/maxloc0_16_m1.c | 2 +- libgfortran/generated/maxloc0_16_m16.c | 2 +- libgfortran/generated/maxloc0_16_m2.c | 2 +- libgfortran/generated/maxloc0_16_m4.c | 2 +- libgfortran/generated/maxloc0_16_m8.c | 2 +- libgfortran/generated/maxloc0_16_r10.c | 2 +- libgfortran/generated/maxloc0_16_r16.c | 2 +- libgfortran/generated/maxloc0_16_r17.c | 2 +- libgfortran/generated/maxloc0_16_r4.c | 2 +- libgfortran/generated/maxloc0_16_r8.c | 2 +- libgfortran/generated/maxloc0_4_i1.c | 2 +- libgfortran/generated/maxloc0_4_i16.c | 2 +- libgfortran/generated/maxloc0_4_i2.c | 2 +- libgfortran/generated/maxloc0_4_i4.c | 2 +- libgfortran/generated/maxloc0_4_i8.c | 2 +- libgfortran/generated/maxloc0_4_m1.c | 2 +- libgfortran/generated/maxloc0_4_m16.c | 2 +- libgfortran/generated/maxloc0_4_m2.c | 2 +- libgfortran/generated/maxloc0_4_m4.c | 2 +- libgfortran/generated/maxloc0_4_m8.c | 2 +- libgfortran/generated/maxloc0_4_r10.c | 2 +- libgfortran/generated/maxloc0_4_r16.c | 2 +- libgfortran/generated/maxloc0_4_r17.c | 2 +- libgfortran/generated/maxloc0_4_r4.c | 2 +- libgfortran/generated/maxloc0_4_r8.c | 2 +- libgfortran/generated/maxloc0_8_i1.c | 2 +- libgfortran/generated/maxloc0_8_i16.c | 2 +- libgfortran/generated/maxloc0_8_i2.c | 2 +- libgfortran/generated/maxloc0_8_i4.c | 2 +- libgfortran/generated/maxloc0_8_i8.c | 2 +- libgfortran/generated/maxloc0_8_m1.c | 2 +- libgfortran/generated/maxloc0_8_m16.c | 2 +- libgfortran/generated/maxloc0_8_m2.c | 2 +- libgfortran/generated/maxloc0_8_m4.c | 2 +- libgfortran/generated/maxloc0_8_m8.c | 2 +- libgfortran/generated/maxloc0_8_r10.c | 2 +- libgfortran/generated/maxloc0_8_r16.c | 2 +- libgfortran/generated/maxloc0_8_r17.c | 2 +- libgfortran/generated/maxloc0_8_r4.c | 2 +- libgfortran/generated/maxloc0_8_r8.c | 2 +- libgfortran/generated/minloc0_16_i1.c | 5 +- libgfortran/generated/minloc0_16_i16.c | 5 +- libgfortran/generated/minloc0_16_i2.c | 5 +- libgfortran/generated/minloc0_16_i4.c | 5 +- libgfortran/generated/minloc0_16_i8.c | 5 +- libgfortran/generated/minloc0_16_m1.c | 5 +- libgfortran/generated/minloc0_16_m16.c | 5 +- libgfortran/generated/minloc0_16_m2.c | 5 +- libgfortran/generated/minloc0_16_m4.c | 5 +- libgfortran/generated/minloc0_16_m8.c | 5 +- libgfortran/generated/minloc0_16_r10.c | 5 +- libgfortran/generated/minloc0_16_r16.c | 5 +- libgfortran/generated/minloc0_16_r17.c | 5 +- libgfortran/generated/minloc0_16_r4.c | 5 +- libgfortran/generated/minloc0_16_r8.c | 5 +- libgfortran/generated/minloc0_4_i1.c | 5 +- libgfortran/generated/minloc0_4_i16.c | 5 +- libgfortran/generated/minloc0_4_i2.c | 5 +- libgfortran/generated/minloc0_4_i4.c | 5 +- libgfortran/generated/minloc0_4_i8.c | 5 +- libgfortran/generated/minloc0_4_m1.c | 5 +- libgfortran/generated/minloc0_4_m16.c | 5 +- libgfortran/generated/minloc0_4_m2.c | 5 +- libgfortran/generated/minloc0_4_m4.c | 5 +- libgfortran/generated/minloc0_4_m8.c | 5 +- libgfortran/generated/minloc0_4_r10.c | 5 +- libgfortran/generated/minloc0_4_r16.c | 5 +- libgfortran/generated/minloc0_4_r17.c | 5 +- libgfortran/generated/minloc0_4_r4.c | 5 +- libgfortran/generated/minloc0_4_r8.c | 5 +- libgfortran/generated/minloc0_8_i1.c | 5 +- libgfortran/generated/minloc0_8_i16.c | 5 +- libgfortran/generated/minloc0_8_i2.c | 5 +- libgfortran/generated/minloc0_8_i4.c | 5 +- libgfortran/generated/minloc0_8_i8.c | 5 +- libgfortran/generated/minloc0_8_m1.c | 5 +- libgfortran/generated/minloc0_8_m16.c | 5 +- libgfortran/generated/minloc0_8_m2.c | 5 +- libgfortran/generated/minloc0_8_m4.c | 5 +- libgfortran/generated/minloc0_8_m8.c | 5 +- libgfortran/generated/minloc0_8_r10.c | 5 +- libgfortran/generated/minloc0_8_r16.c | 5 +- libgfortran/generated/minloc0_8_r17.c | 5 +- libgfortran/generated/minloc0_8_r4.c | 5 +- libgfortran/generated/minloc0_8_r8.c | 5 +- libgfortran/m4/ifindloc1.m4 | 1 + libgfortran/m4/maxloc0.m4 | 2 +- libgfortran/m4/minloc0.m4 | 5 +- libgomp/ChangeLog | 8 + libgomp/alloc.c | 14 +- libssp/ChangeLog | 9 + libssp/ssp.c | 3 + libstdc++-v3/ChangeLog | 195 ++++++++++ .../html/manual/policy_data_structures_using.html | 4 +- libstdc++-v3/doc/html/manual/using_headers.html | 2 +- .../doc/xml/manual/policy_data_structures.xml | 4 +- libstdc++-v3/doc/xml/manual/using.xml | 4 +- libstdc++-v3/include/bits/chrono_io.h | 24 +- libstdc++-v3/include/bits/version.def | 4 +- libstdc++-v3/include/bits/version.h | 4 +- .../pb_ds/detail/binary_heap_/erase_fn_imps.hpp | 1 + libstdc++-v3/include/std/bitset | 31 +- libstdc++-v3/include/std/chrono | 14 +- libstdc++-v3/include/std/ranges | 4 + libstdc++-v3/include/std/string_view | 5 +- libstdc++-v3/libsupc++/new_opa.cc | 49 ++- libstdc++-v3/src/c++17/floating_from_chars.cc | 9 +- libstdc++-v3/src/c++20/atomic.cc | 75 +++- libstdc++-v3/src/c++20/tzdata.zi | 189 +++------ libstdc++-v3/src/c++20/tzdb.cc | 4 +- .../testsuite/18_support/new_aligned_wrap.cc | 39 ++ libstdc++-v3/testsuite/20_util/bitset/io/input.cc | 2 + .../testsuite/20_util/bitset/io/wchar_t.cc | 39 ++ .../testsuite/20_util/from_chars/127666.cc | 70 ++++ .../27_io/basic_ostream/print/buffered.cc | 90 +++++ .../29_atomics/atomic/wait_notify/127757.cc | 129 +++++++ .../pb_ds/regression/priority_queues_erase_if.cc | 19 + libstdc++-v3/testsuite/lib/libstdc++.exp | 4 +- .../testsuite/libstdc++-prettyprinters/chrono.cc | 5 +- .../performance/27_io/ifstream_extract_chars.cc | 3 +- .../std/format/functions/format_to_ostreambuf.cc | 377 ++++++++++++++++++ .../testsuite/std/ranges/adaptors/as_const/1.cc | 5 + .../testsuite/std/ranges/adaptors/as_input/1.cc | 6 + .../testsuite/std/ranges/adaptors/as_rvalue/1.cc | 6 + .../std/time/format/data_not_present_neg.cc | 40 +- .../testsuite/std/time/format/empty_spec.cc | 8 +- .../testsuite/std/time/format/nonlocking.cc | 4 +- libstdc++-v3/testsuite/std/time/format/pr117214.cc | 4 +- libstdc++-v3/testsuite/std/time/format/pr119517.cc | 2 +- .../testsuite/std/time/format/whitespace.cc | 2 +- libstdc++-v3/testsuite/std/time/hash.cc | 6 +- libstdc++-v3/testsuite/std/time/parse/126364.cc | 51 +++ libstdc++-v3/testsuite/std/time/syn_c++20.cc | 2 +- libstdc++-v3/testsuite/std/time/tzdb/1.cc | 2 +- .../testsuite/std/time/tzdb_list/requirements.cc | 2 +- .../testsuite/std/time/zoned_time/deduction.cc | 2 +- libstdc++-v3/testsuite/std/time/zoned_time/io.cc | 2 +- .../testsuite/std/time/zoned_time/req_neg.cc | 2 +- .../testsuite/std/time/zoned_time/requirements.cc | 2 +- libstdc++-v3/testsuite/std/time/zoned_traits.cc | 2 +- .../testsuite/util/testsuite_performance.h | 12 +- 339 files changed, 4564 insertions(+), 700 deletions(-)
