https://gcc.gnu.org/g:299abcaf55e89b21cce24f174f523bba4bdfea30
commit 299abcaf55e89b21cce24f174f523bba4bdfea30 Merge: 1f104578f7c6 43971276091c Author: Tobias Burnus <[email protected]> Date: Sun Nov 8 20:57:53 2026 +0100 Merge branch 'releases/gcc-16' into devel/omp/gcc-16 Merge up to r16-9924-g43971276091c5c (Nov 8, 2026) Diff: contrib/ChangeLog | 8 + contrib/gcc_update | 41 +- gcc/ChangeLog | 569 +++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 66 +++ gcc/ada/checks.adb | 4 +- gcc/ada/exp_aggr.adb | 73 +-- gcc/ada/exp_ch2.adb | 2 +- gcc/ada/exp_ch6.adb | 4 +- gcc/ada/exp_ch7.adb | 2 +- gcc/ada/exp_pakd.adb | 6 +- gcc/ada/exp_util.adb | 2 +- gcc/ada/gcc-interface/Makefile.in | 1 - gcc/ada/libgnat/g-sothco.ads | 3 +- gcc/ada/libgnat/s-c_time.ads | 1 - gcc/ada/libgnat/s-fatgen.adb | 12 +- gcc/ada/s-oscons-tmplt.c | 12 +- gcc/ada/sem_ch12.adb | 77 +-- gcc/ada/sem_ch3.adb | 4 +- gcc/ada/sem_util.adb | 22 +- gcc/ada/sem_util.ads | 3 - gcc/common/config/i386/i386-common.cc | 4 +- gcc/config/bpf/bpf.cc | 2 +- gcc/config/i386/i386-expand.cc | 9 +- gcc/config/i386/i386-options.cc | 4 + gcc/config/i386/i386-options.h | 1 + gcc/config/i386/i386-opts.h | 3 +- gcc/config/i386/i386.cc | 205 +++++++- gcc/config/i386/i386.md | 97 +++- gcc/config/i386/i386.opt | 3 + gcc/config/i386/sgxintrin.h | 2 +- gcc/config/i386/sse.md | 10 +- gcc/config/pa/pa.cc | 259 +++++++++- gcc/config/rs6000/emmintrin.h | 6 + gcc/config/rs6000/xmmintrin.h | 3 + gcc/config/s390/s390.md | 4 +- gcc/cp/ChangeLog | 54 ++ gcc/cp/constexpr.cc | 20 +- gcc/cp/cp-tree.h | 1 + gcc/cp/name-lookup.cc | 2 +- gcc/cp/pt.cc | 8 +- gcc/cp/reflect.cc | 23 +- gcc/cp/semantics.cc | 2 + gcc/doc/gm2.texi | 72 ++- gcc/doc/invoke.texi | 69 ++- gcc/doc/sourcebuild.texi | 4 +- gcc/fortran/ChangeLog | 31 ++ gcc/fortran/gfortran.texi | 4 + gcc/fortran/intrinsic.cc | 4 +- gcc/fortran/intrinsic.texi | 8 +- gcc/fortran/module.cc | 4 +- gcc/fortran/trans-expr.cc | 25 +- gcc/gimple-fold.cc | 73 ++- gcc/gimple-isel.cc | 16 +- gcc/gimple-lower-bitint.cc | 65 ++- gcc/gimple-ssa-isolate-paths.cc | 68 ++- gcc/gimple-ssa-pta-constraints.cc | 86 ++-- gcc/gimple.cc | 6 +- gcc/ipa-cp.cc | 41 +- gcc/ipa-fnsummary.cc | 4 +- gcc/m2/gm2-compiler/P3Build.bnf | 31 +- gcc/m2/gm2-libs-iso/Storage.def | 3 +- gcc/m2/gm2-libs-iso/Storage.mod | 33 +- gcc/match.pd | 8 +- gcc/simplify-rtx.cc | 12 +- gcc/testsuite/ChangeLog | 520 +++++++++++++++++++ gcc/testsuite/g++.dg/cpp26/literals1.C | 2 +- gcc/testsuite/g++.dg/cpp26/literals2.C | 2 +- .../g++.dg/ext/builtin-structured-binding-size2.C | 2 +- .../g++.dg/ext/builtin-structured-binding-size7.C | 10 + gcc/testsuite/g++.dg/ipa/pr127917.C | 45 ++ gcc/testsuite/g++.dg/reflect/decomp1.C | 17 + gcc/testsuite/g++.dg/reflect/dep17.C | 50 ++ gcc/testsuite/g++.dg/reflect/extract13.C | 75 +++ gcc/testsuite/g++.dg/reflect/extract14.C | 22 + gcc/testsuite/g++.dg/reflect/extract2.C | 2 +- gcc/testsuite/g++.dg/reflect/extract3.C | 21 +- gcc/testsuite/g++.dg/reflect/member16.C | 4 +- gcc/testsuite/g++.dg/reflect/member25.C | 61 +++ .../builtin-dynamic-object-size-pr127899-1.c | 36 ++ .../builtin-dynamic-object-size-pr127899-2.c | 30 ++ .../builtin-dynamic-object-size-pr127899-3.c | 15 + gcc/testsuite/gcc.dg/field-merge-27.c | 22 + gcc/testsuite/gcc.dg/field-merge-29.c | 110 ++++ gcc/testsuite/gcc.dg/field-merge-30.c | 46 ++ gcc/testsuite/gcc.dg/field-merge-31.c | 41 ++ gcc/testsuite/gcc.dg/lto/bitint-lto-1_0.c | 22 + gcc/testsuite/gcc.dg/opt-ordered-and-nonequal-1.c | 4 +- gcc/testsuite/gcc.dg/opt-ordered-and-nonequal-2.c | 27 + gcc/testsuite/gcc.dg/pr127848-1.c | 8 + gcc/testsuite/gcc.dg/pr127848-2.c | 18 + gcc/testsuite/gcc.dg/pr127848-3.c | 18 + gcc/testsuite/gcc.dg/pr127848-4.c | 20 + gcc/testsuite/gcc.dg/pr127848-5.c | 20 + gcc/testsuite/gcc.dg/pr127965-1.c | 12 + gcc/testsuite/gcc.dg/pr127965-2.c | 12 + gcc/testsuite/gcc.dg/torture/bitint-111.c | 29 ++ gcc/testsuite/gcc.dg/torture/bitint-113.c | 34 ++ gcc/testsuite/gcc.dg/torture/bitint-114.c | 35 ++ gcc/testsuite/gcc.dg/torture/clz-table-zero-1.c | 55 ++ gcc/testsuite/gcc.dg/torture/cmp-of-cmp-fenv-1.c | 31 ++ gcc/testsuite/gcc.dg/torture/ctz-table-zero-1.c | 42 ++ gcc/testsuite/gcc.dg/torture/pr127357.c | 62 +++ gcc/testsuite/gcc.dg/torture/pr127764.c | 20 + gcc/testsuite/gcc.dg/torture/pr127858.c | 44 ++ gcc/testsuite/gcc.dg/torture/pr127966.c | 11 + gcc/testsuite/gcc.dg/torture/pr128008.c | 20 + gcc/testsuite/gcc.dg/torture/pr128051.c | 44 ++ gcc/testsuite/gcc.dg/torture/pr128054.c | 29 ++ gcc/testsuite/gcc.dg/tree-ssa/predcom-10.c | 42 ++ gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-14.c | 41 ++ gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-15.c | 25 + gcc/testsuite/gcc.dg/vect/bb-slp-pr128069.c | 48 ++ gcc/testsuite/gcc.dg/vect/vect-cond-reduc-7.c | 45 ++ gcc/testsuite/gcc.dg/vect/vect-iv-15.c | 25 + gcc/testsuite/gcc.dg/vect/vect-pr127407.c | 29 ++ gcc/testsuite/gcc.dg/vect/vect-pr127475.c | 40 ++ gcc/testsuite/gcc.dg/vect/vect-pr127601.c | 37 ++ gcc/testsuite/gcc.dg/vect/vect-pr127814.c | 33 ++ gcc/testsuite/gcc.dg/vect/vect-pr127876-1.c | 30 ++ gcc/testsuite/gcc.dg/vect/vect-pr127876-2.c | 30 ++ gcc/testsuite/gcc.dg/vect/vect-pr127877.c | 37 ++ gcc/testsuite/gcc.dg/vect/vect-simd-21.c | 14 + gcc/testsuite/gcc.dg/vect/vect-simd-22.c | 14 + .../gcc.dg/vect/vect-simd-clone-allones-mask.c | 43 ++ .../gcc.target/aarch64/clz-ctz-table-zero.c | 68 +++ .../gcc.target/aarch64/volatile-fuse-minus-1.c | 79 +++ .../gcc.target/aarch64/volatile-fuse-minus-2.c | 23 + .../gcc.target/arm/mve/general-c/nomve_fp_1.c | 2 +- gcc/testsuite/gcc.target/bpf/memmove-3.c | 17 + gcc/testsuite/gcc.target/bpf/memmove-4.c | 18 + gcc/testsuite/gcc.target/i386/avx10_2-compare-1b.c | 2 +- .../gcc.target/i386/clz-ctz-table-nonzero.c | 47 ++ gcc/testsuite/gcc.target/i386/clz-ctz-table-zero.c | 74 +++ gcc/testsuite/gcc.target/i386/opt-comi-1.c | 2 +- gcc/testsuite/gcc.target/i386/pr127459-1a.c | 20 + gcc/testsuite/gcc.target/i386/pr127459-1b.c | 11 + gcc/testsuite/gcc.target/i386/pr127897-1.c | 20 + gcc/testsuite/gcc.target/i386/pr127897-2.c | 14 + gcc/testsuite/gcc.target/i386/pr127897-3.c | 13 + gcc/testsuite/gcc.target/i386/pr127965-1.c | 16 + gcc/testsuite/gcc.target/i386/pr127965-2.c | 16 + gcc/testsuite/gcc.target/i386/pr128270-1.c | 18 + gcc/testsuite/gcc.target/i386/pr128270-2.c | 17 + gcc/testsuite/gcc.target/i386/pr128270-3.c | 21 + gcc/testsuite/gcc.target/i386/pr128270-4.c | 20 + gcc/testsuite/gcc.target/i386/pr128271-1.c | 19 + gcc/testsuite/gcc.target/i386/pr128271-2.c | 18 + gcc/testsuite/gcc.target/i386/pr128310.c | 33 ++ gcc/testsuite/gcc.target/i386/pr128388.c | 22 + .../gcc.target/i386/vect-simd-clone-avx512-4.c | 37 ++ gcc/testsuite/gcc.target/i386/vectorize-hvml-1.c | 378 ++++++++++++++ gcc/testsuite/gcc.target/i386/vectorize-hvml-2.c | 21 + gcc/testsuite/gcc.target/i386/vectorize-hvml-3.c | 23 + .../gcc.target/i386/volatile-fuse-minus-1.c | 79 +++ .../gcc.target/i386/volatile-fuse-minus-2.c | 23 + .../gcc.target/i386/volatile-fuse-order-1.c | 25 + .../gcc.target/i386/volatile-fuse-order-2.c | 32 ++ .../gcc.target/i386/volatile-fuse-order-3.c | 31 ++ gcc/testsuite/gcc.target/s390/pr127692-1.c | 17 + gcc/testsuite/gfortran.dg/bind_c_char_value.f90 | 57 +++ gcc/testsuite/gfortran.dg/bind_c_char_value_aux.c | 4 + gcc/testsuite/gfortran.dg/unsigned_45.f90 | 69 +++ gcc/testsuite/gfortran.dg/unsigned_46.f90 | 56 ++ gcc/testsuite/gm2.dg/spell/iso/fail/badmodule.mod | 17 + gcc/testsuite/gm2.dg/spell/iso/fail/badrecord.mod | 20 + gcc/testsuite/gm2.dg/spell/iso/fail/color.def | 5 + .../gm2/examples/cppcallingm2/run/pass/README | 1 + .../gm2/examples/cppcallingm2/run/pass/a.def | 3 + .../gm2/examples/cppcallingm2/run/pass/a.mod | 9 + .../gm2/examples/cppcallingm2/run/pass/b.def | 3 + .../gm2/examples/cppcallingm2/run/pass/b.mod | 11 + .../gm2/examples/cppcallingm2/run/pass/c.def | 3 + .../gm2/examples/cppcallingm2/run/pass/c.mod | 10 + .../gm2/examples/cppcallingm2/run/pass/test.cc | 54 ++ gcc/testsuite/gnat.dg/specs/generic_inst11.ads | 13 + .../generic_inst11_pkg-g1-parser-g2-parser.ads | 7 + .../specs/generic_inst11_pkg-g1-parser-g2.ads | 3 + .../gnat.dg/specs/generic_inst11_pkg-g1-parser.ads | 5 + .../gnat.dg/specs/generic_inst11_pkg-g1.ads | 3 + gcc/testsuite/gnat.dg/specs/generic_inst11_pkg.ads | 2 + gcc/testsuite/gnat.dg/specs/vect1.ads | 14 + gcc/testsuite/gnat.dg/task7.adb | 9 + gcc/testsuite/gnat.dg/task7_pkg.ads | 16 + gcc/testsuite/lib/target-supports.exp | 55 +- gcc/tree-object-size.cc | 32 +- gcc/tree-outof-ssa.cc | 2 +- gcc/tree-outof-ssa.h | 1 + gcc/tree-ssa-forwprop.cc | 4 +- gcc/tree-ssa-ifcombine.cc | 22 +- gcc/tree-ssa-loop-im.cc | 5 +- gcc/tree-ssa-loop-manip.cc | 31 +- gcc/tree-ssa-loop-niter.cc | 9 +- gcc/tree-switch-conversion.cc | 2 +- gcc/tree-tailcall.cc | 40 +- gcc/tree-vect-data-refs.cc | 3 + gcc/tree-vect-loop-manip.cc | 95 ++-- gcc/tree-vect-loop.cc | 66 ++- gcc/tree-vect-slp.cc | 9 + gcc/tree-vect-stmts.cc | 91 ++-- gcc/tree.cc | 14 +- libgcc/ChangeLog | 12 + libgcc/config/microblaze/moddi3.S | 223 +++++--- libgfortran/ChangeLog | 24 + libgfortran/io/io.h | 3 + libgfortran/io/unit.c | 211 +++++--- libgfortran/io/unix.c | 6 +- libgomp/ChangeLog | 8 + libgomp/testsuite/libgomp.fortran/unit-cache-1.f90 | 67 +++ libstdc++-v3/ChangeLog | 182 +++++++ .../abi/post/hppa-linux-gnu/baseline_symbols.txt | 62 ++- libstdc++-v3/include/bits/fstream.tcc | 8 + libstdc++-v3/include/bits/stl_bvector.h | 24 +- libstdc++-v3/include/bits/stl_iterator.h | 8 +- .../include/bits/stl_iterator_base_types.h | 7 + .../include/ext/pb_ds/detail/debug_map_base.hpp | 19 +- .../constructors_destructor_fn_imps.hpp | 2 + .../pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp | 13 +- libstdc++-v3/include/parallel/search.h | 2 +- libstdc++-v3/include/std/inplace_vector | 119 +++-- libstdc++-v3/include/std/mdspan | 96 +++- libstdc++-v3/include/std/memory | 2 +- libstdc++-v3/src/c++17/memory_resource.cc | 10 +- libstdc++-v3/src/c++20/tzdata.zi | 21 +- libstdc++-v3/src/c++20/tzdb.cc | 19 +- .../20_util/unsynchronized_pool_resource/128264.cc | 82 +++ .../inplace_vector/modifiers/capacity_check.cc | 315 ++++++++++++ .../mdspan/layouts/stride_debug_neg.cc | 42 ++ .../23_containers/mdspan/layouts/stride_neg.cc | 63 ++- .../testsuite/23_containers/vector/bool/prX.cc | 160 ++++++ .../24_iterators/common_iterator/lwg3953.cc | 30 ++ .../24_iterators/counted_iterator/lwg3953.cc | 30 ++ .../basic_filebuf/overflow/char/118099-codecvt.cc | 76 +++ .../27_io/basic_filebuf/overflow/char/118099.cc | 57 +++ .../overflow/wchar_t/118099-codecvt.cc | 76 +++ .../27_io/basic_filebuf/overflow/wchar_t/118099.cc | 57 +++ .../testsuite/ext/pb_ds/regression/127675.cc | 53 ++ .../ext/pb_ds/regression/hash_map_rand.cc | 2 +- .../ext/pb_ds/regression/hash_set_rand.cc | 2 +- .../ext/pb_ds/regression/list_update_map_rand.cc | 2 +- .../ext/pb_ds/regression/list_update_set_rand.cc | 2 +- .../ext/pb_ds/regression/priority_queue_rand.cc | 2 +- .../ext/pb_ds/regression/tree_map_rand.cc | 2 +- .../ext/pb_ds/regression/tree_set_rand.cc | 2 +- .../ext/pb_ds/regression/trie_map_rand.cc | 2 +- .../ext/pb_ds/regression/trie_set_rand.cc | 2 +- .../testsuite/std/time/time_zone/127815.cc | 40 ++ libstdc++-v3/testsuite/std/time/tzdb/links.cc | 2 +- libstdc++-v3/testsuite/util/testsuite_rng.h | 7 +- 249 files changed, 8158 insertions(+), 835 deletions(-)
