https://gcc.gnu.org/g:c138e88e24a87a165b741b7c6e3452a430aca820
commit c138e88e24a87a165b741b7c6e3452a430aca820 Merge: b9def1721b12 f8f6879ae1eb Author: Jakub Jelinek <ja...@redhat.com> Date: Mon Jul 7 11:46:51 2025 +0200 Merge commit 'r15-9932-gf8f6879ae1eba077c5a2a4a743b21a81a23ee39c' into redhat/gcc-15-branch Diff: gcc/ChangeLog | 417 ++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 468 +++++++++++ gcc/ada/checks.adb | 15 +- gcc/ada/contracts.adb | 103 +-- gcc/ada/doc/gnat_rm/gnat_language_extensions.rst | 156 ++-- .../gnat_rm/implementation_defined_attributes.rst | 6 +- .../building_executable_programs_with_gnat.rst | 17 +- .../doc/gnat_ugn/gnat_and_program_execution.rst | 59 +- gcc/ada/einfo.ads | 2 +- gcc/ada/exp_aggr.adb | 535 +++++++----- gcc/ada/exp_attr.adb | 86 +- gcc/ada/exp_ch3.adb | 15 +- gcc/ada/exp_ch4.adb | 108 ++- gcc/ada/exp_ch5.adb | 24 +- gcc/ada/exp_ch6.adb | 121 +-- gcc/ada/exp_ch7.adb | 221 ++--- gcc/ada/exp_put_image.adb | 55 +- gcc/ada/exp_util.adb | 667 ++++++++------- gcc/ada/exp_util.ads | 38 +- gcc/ada/freeze.adb | 94 ++- gcc/ada/gcc-interface/Makefile.in | 30 - gcc/ada/gcc-interface/decl.cc | 16 +- gcc/ada/gcc-interface/trans.cc | 79 +- gcc/ada/gcc-interface/utils.cc | 4 +- gcc/ada/gnat_rm.texi | 271 +++--- gcc/ada/gnat_ugn.texi | 102 ++- gcc/ada/libgnarl/s-stusta.adb | 5 +- gcc/ada/libgnat/system-linux-loongarch.ads | 1 - gcc/ada/mutably_tagged.adb | 60 +- gcc/ada/sem_aggr.adb | 10 +- gcc/ada/sem_attr.adb | 5 +- gcc/ada/sem_case.adb | 8 +- gcc/ada/sem_ch10.adb | 2 + gcc/ada/sem_ch12.adb | 15 +- gcc/ada/sem_ch13.adb | 1 + gcc/ada/sem_ch3.adb | 47 +- gcc/ada/sem_ch4.adb | 923 +++++++++++++++------ gcc/ada/sem_ch6.adb | 13 +- gcc/ada/sem_ch6.ads | 5 +- gcc/ada/sem_eval.adb | 11 +- gcc/ada/sem_prag.adb | 26 +- gcc/ada/sem_res.adb | 2 + gcc/ada/sem_util.adb | 140 +++- gcc/ada/sprint.adb | 4 +- gcc/ada/usage.adb | 10 +- gcc/c/ChangeLog | 26 + gcc/c/c-parser.cc | 89 +- gcc/cfgexpand.cc | 68 +- gcc/config.gcc | 12 +- gcc/config/aarch64/aarch64-cores.def | 2 +- gcc/config/aarch64/aarch64-sme.md | 2 + gcc/config/aarch64/aarch64.md | 8 + gcc/config/avr/avr-mcus.def | 11 + gcc/config/avr/avr.md | 35 + gcc/config/i386/driver-i386.cc | 2 +- gcc/config/i386/i386.cc | 10 +- gcc/config/i386/i386.h | 8 +- gcc/config/microblaze/microblaze.cc | 4 + gcc/config/riscv/bitmanip.md | 59 +- gcc/config/riscv/riscv.md | 37 +- gcc/cp/ChangeLog | 104 +++ gcc/cp/constexpr.cc | 13 +- gcc/cp/cp-gimplify.cc | 21 +- gcc/cp/decl2.cc | 36 +- gcc/cp/lambda.cc | 5 +- gcc/cp/module.cc | 3 +- gcc/cp/parser.cc | 18 +- gcc/cp/semantics.cc | 8 +- gcc/cp/typeck.cc | 130 ++- gcc/dfp.cc | 79 +- gcc/doc/avr-mmcu.texi | 6 +- gcc/doc/extend.texi | 6 +- gcc/doc/gcov.texi | 2 +- gcc/doc/install.texi | 10 +- gcc/doc/invoke.texi | 32 +- gcc/dse.cc | 5 +- gcc/ext-dce.cc | 22 +- gcc/fortran/ChangeLog | 163 ++++ gcc/fortran/check.cc | 125 ++- gcc/fortran/data.cc | 8 +- gcc/fortran/expr.cc | 110 ++- gcc/fortran/interface.cc | 24 +- gcc/fortran/io.cc | 6 +- gcc/fortran/misc.cc | 3 + gcc/fortran/primary.cc | 66 +- gcc/fortran/resolve.cc | 35 +- gcc/fortran/trans-array.cc | 10 +- gcc/fortran/trans-expr.cc | 16 +- gcc/fortran/trans-types.cc | 31 +- gcc/gimple-crc-optimization.cc | 9 +- gcc/gimple-fold.cc | 13 +- gcc/gimple-predicate-analysis.cc | 12 +- gcc/gimple-predicate-analysis.h | 2 +- gcc/ipa-prop.cc | 28 + gcc/ipa-sra.cc | 6 + gcc/lto-streamer.h | 2 +- gcc/params.opt | 4 + gcc/passes.def | 2 +- gcc/po/ChangeLog | 4 + gcc/po/es.po | 193 ++--- gcc/real.cc | 48 +- gcc/rtl-ssa/changes.cc | 18 + gcc/rtlanal.cc | 2 +- gcc/testsuite/ChangeLog | 522 ++++++++++++ gcc/testsuite/c-c++-common/asan/pr120608-1.c | 43 + gcc/testsuite/c-c++-common/asan/pr120608-2.c | 39 + gcc/testsuite/c-c++-common/asan/pr120608-3.c | 36 + gcc/testsuite/c-c++-common/asan/pr120608-4.c | 30 + .../c-c++-common/gomp/attrs-metadirective-3.c | 7 +- .../c-c++-common/gomp/declare-variant-2.c | 13 +- gcc/testsuite/c-c++-common/gomp/metadirective-3.c | 7 +- .../gomp/metadirective-error-recovery.c | 20 + gcc/testsuite/c-c++-common/gomp/pr120180.c | 22 + gcc/testsuite/g++.dg/asan/pr120608-3.C | 5 + gcc/testsuite/g++.dg/asan/pr120608-4.C | 5 + gcc/testsuite/g++.dg/asan/pr120608.C | 17 + gcc/testsuite/g++.dg/cpp1z/constexpr-if39.C | 30 + gcc/testsuite/g++.dg/cpp23/range-for10.C | 23 + gcc/testsuite/g++.dg/cpp2a/concepts-lambda24.C | 13 + gcc/testsuite/g++.dg/cpp2a/constexpr-prvalue2.C | 26 + gcc/testsuite/g++.dg/gomp/target-4.C | 22 + .../g++.dg/modules/{pr113292_a.H => tls-1_a.H} | 0 .../g++.dg/modules/{pr113292_b.C => tls-1_b.C} | 2 +- .../g++.dg/modules/{pr113292_c.C => tls-1_c.C} | 2 +- gcc/testsuite/g++.dg/modules/tls-2_a.C | 12 + gcc/testsuite/g++.dg/modules/tls-2_b.C | 5 + gcc/testsuite/g++.dg/modules/tls-2_c.C | 11 + gcc/testsuite/g++.dg/modules/tls-3.h | 42 + gcc/testsuite/g++.dg/modules/tls-3_a.H | 4 + gcc/testsuite/g++.dg/modules/tls-3_b.C | 4 + gcc/testsuite/g++.dg/modules/using-31_a.C | 18 + gcc/testsuite/g++.dg/modules/using-31_b.C | 5 + gcc/testsuite/g++.dg/parse/pr120471.C | 42 + gcc/testsuite/g++.dg/parse/pr120940.C | 18 + gcc/testsuite/g++.dg/template/permissive-error3.C | 12 + gcc/testsuite/g++.dg/ubsan/pr120471.C | 21 + gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C | 11 + gcc/testsuite/gcc.c-torture/execute/pr120677.c | 31 + gcc/testsuite/gcc.dg/bitint-123.c | 26 + gcc/testsuite/gcc.dg/dfp/bitint-10.c | 49 ++ gcc/testsuite/gcc.dg/dfp/bitint-9.c | 29 + gcc/testsuite/gcc.dg/dfp/pr120631.c | 25 + gcc/testsuite/gcc.dg/ipa/pr119318.c | 10 +- gcc/testsuite/gcc.dg/ipa/pr120295.c | 66 ++ gcc/testsuite/gcc.dg/pr120480.c | 11 + gcc/testsuite/gcc.dg/pr120638.c | 31 + gcc/testsuite/gcc.dg/torture/pr117811.c | 5 + gcc/testsuite/gcc.dg/torture/pr120182.c | 42 + gcc/testsuite/gcc.dg/torture/pr120341-1.c | 11 + gcc/testsuite/gcc.dg/torture/pr120341-2.c | 13 + gcc/testsuite/gcc.dg/torture/pr120347.c | 13 + gcc/testsuite/gcc.dg/torture/pr120369-1.c | 9 + gcc/testsuite/gcc.dg/torture/pr120654.c | 24 + gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-23.c | 19 + gcc/testsuite/gcc.dg/vect/bb-slp-pr119960-1.c | 15 + .../gcc.dg/vect/vect-early-break_136-pr120357.c | 13 + gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c | 21 + gcc/testsuite/gcc.target/avr/torture/pr120423-1.c | 29 + .../gcc.target/avr/torture/pr120423-116389.c | 22 + gcc/testsuite/gcc.target/avr/torture/pr120423-2.c | 30 + gcc/testsuite/gcc.target/i386/vect-epilogues-1.c | 14 + gcc/testsuite/gcc.target/i386/vect-epilogues-2.c | 15 + gcc/testsuite/gcc.target/i386/vect-epilogues-3.c | 15 + gcc/testsuite/gcc.target/i386/vect-epilogues-4.c | 13 + gcc/testsuite/gcc.target/i386/vect-epilogues-5.c | 13 + .../powerpc/builtin_altivec_tr_stxvr_runnable.c | 40 +- gcc/testsuite/gcc.target/riscv/pr119971.c | 24 + gcc/testsuite/gcc.target/riscv/ventana-16122.c | 19 + gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c | 2 +- gcc/testsuite/gcc.target/s390/vector/vec-abs-emu.c | 2 +- gcc/testsuite/gcc.target/s390/vector/vec-max-emu.c | 2 +- gcc/testsuite/gcc.target/s390/vector/vec-min-emu.c | 2 +- .../gfortran.dg/alloc_comp_auto_array_3.f90 | 4 +- gcc/testsuite/gfortran.dg/alloc_comp_class_3.f03 | 3 +- gcc/testsuite/gfortran.dg/alloc_comp_class_4.f03 | 5 +- gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90 | 51 ++ .../gfortran.dg/allocate_with_source_14.f03 | 2 +- .../gfortran.dg/asan/array_constructor_1.f90 | 23 + gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90 | 2 +- gcc/testsuite/gfortran.dg/coarray_data_2.f90 | 14 + .../gfortran.dg/comma_format_extension_1.f | 2 +- .../gfortran.dg/comma_format_extension_3.f | 2 +- gcc/testsuite/gfortran.dg/continuation_13.f90 | 2 +- .../gfortran.dg/derived_constructor_comps_6.f90 | 2 +- gcc/testsuite/gfortran.dg/derived_result_5.f90 | 123 +++ gcc/testsuite/gfortran.dg/guality/pr120193.f90 | 26 + gcc/testsuite/gfortran.dg/inquiry_type_ref_7.f90 | 62 ++ gcc/testsuite/gfortran.dg/inquiry_type_ref_8.f90 | 214 +++++ gcc/testsuite/gfortran.dg/interface_62.f90 | 39 + gcc/testsuite/gfortran.dg/interface_63.f90 | 97 +++ gcc/testsuite/gfortran.dg/pr119856.f90 | 15 + gcc/testsuite/gfortran.dg/pr119948.f90 | 83 ++ gcc/testsuite/gfortran.dg/pr120049_2.f90 | 62 ++ gcc/testsuite/gfortran.dg/pr120049_a.f90 | 7 +- gcc/testsuite/gfortran.dg/pr120049_b.f90 | 2 - gcc/testsuite/gfortran.dg/save_8.f90 | 13 + gcc/testsuite/gnat.dg/concat6.adb | 9 + gcc/testsuite/gnat.dg/specs/aggr8.ads | 14 + gcc/testsuite/gnat.dg/specs/finalizable2.ads | 21 + gcc/testsuite/gnat.dg/specs/opt7.ads | 15 + gcc/testsuite/gnat.dg/specs/opt7_pkg.adb | 15 + gcc/testsuite/gnat.dg/specs/opt7_pkg.ads | 9 + gcc/testsuite/gnat.dg/sso19.adb | 13 + gcc/testsuite/gnat.dg/sso19_pkg.adb | 13 + gcc/testsuite/gnat.dg/sso19_pkg.ads | 24 + gcc/testsuite/gnat.dg/sso20.adb | 29 + gcc/tree-chrec.cc | 2 +- gcc/tree-complex.cc | 4 + gcc/tree-ssa-loop-im.cc | 3 +- gcc/tree-ssa-math-opts.cc | 1 + gcc/tree-ssa-phiopt.cc | 5 +- gcc/tree-ssa-sccvn.cc | 2 + gcc/tree-ssa-threadbackward.cc | 8 +- gcc/tree-tailcall.cc | 264 +++++- gcc/tree-vect-data-refs.cc | 3 +- gcc/tree-vect-loop.cc | 4 +- gcc/tree-vect-slp.cc | 110 ++- gcc/tree-vectorizer.h | 21 +- gcc/tree.h | 2 +- gcc/vr-values.cc | 10 +- libgcc/config/avr/libf7/ChangeLog | 21 + libgcc/config/avr/libf7/f7-renames.h | 1 + libgcc/config/avr/libf7/f7-wraps.h | 14 +- libgcc/config/avr/libf7/f7renames.sh | 12 +- libgcc/config/avr/libf7/libf7-common.mk | 6 +- libgcc/config/avr/libf7/libf7.c | 19 +- libgcc/config/avr/libf7/libf7.h | 1 + libgfortran/ChangeLog | 11 + libgfortran/io/format.c | 10 +- libgomp/ChangeLog | 18 + .../libgomp.c-c++-common/metadirective-1.c | 8 +- .../testsuite/libgomp.fortran/metadirective-1.f90 | 9 +- libstdc++-v3/ChangeLog | 149 ++++ libstdc++-v3/include/bits/chrono.h | 2 + libstdc++-v3/include/bits/chrono_io.h | 133 +-- libstdc++-v3/include/bits/stl_uninitialized.h | 2 +- libstdc++-v3/include/bits/stl_vector.h | 3 +- libstdc++-v3/include/std/flat_map | 16 +- libstdc++-v3/include/std/format | 29 +- libstdc++-v3/include/std/ranges | 4 +- .../uninitialized_fill/120931.cc | 16 + .../testsuite/20_util/system_clock/99832.cc | 14 + libstdc++-v3/testsuite/23_containers/flat_map/1.cc | 13 +- .../testsuite/23_containers/flat_multimap/1.cc | 3 +- .../23_containers/vector/cons/from_range.cc | 22 + .../testsuite/std/format/formatter/120625.cc | 19 + .../testsuite/std/format/functions/format.cc | 10 + libstdc++-v3/testsuite/std/ranges/concat/1.cc | 13 + libstdc++-v3/testsuite/std/time/format/pr117214.cc | 43 +- libstdc++-v3/testsuite/util/pstl/test_utils.h | 6 +- 252 files changed, 8368 insertions(+), 2323 deletions(-)