https://gcc.gnu.org/g:54feac44230391f6c2cdd77688075cbcb7ce0995
commit 54feac44230391f6c2cdd77688075cbcb7ce0995 Merge: 971fa9cf8655 6a6df260c7cd Author: Jakub Jelinek <ja...@redhat.com> Date: Thu Jan 30 18:35:27 2025 +0100 Merge commit 'r15-7290-g6a6df260c7cdbf8f40c1245a3c930293a20bf8c0' into redhat/gcc-15-branch Diff: gcc/ChangeLog | 237 ++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/asan.cc | 37 ++- gcc/c/ChangeLog | 12 + gcc/c/c-decl.cc | 2 +- gcc/c/c-parser.cc | 42 +-- gcc/combine.cc | 7 +- gcc/config.in | 12 + gcc/config/avr/avr.md | 9 + gcc/config/h8300/constraints.md | 8 +- gcc/config/h8300/logical.md | 8 +- gcc/config/h8300/testcompare.md | 2 +- gcc/config/riscv/riscv-v.cc | 13 +- gcc/config/riscv/riscv.cc | 86 ++++-- gcc/config/riscv/riscv.md | 3 +- gcc/config/riscv/riscv.opt | 4 + gcc/config/rx/constraints.md | 3 +- gcc/config/s390/vector.md | 4 +- gcc/configure | 2 +- gcc/configure.ac | 2 +- gcc/cp/ChangeLog | 117 ++++++++ gcc/cp/call.cc | 9 + gcc/cp/constexpr.cc | 17 +- gcc/cp/cp-tree.h | 30 ++- gcc/cp/decl.cc | 73 ++++- gcc/cp/decl2.cc | 110 +++++++- gcc/cp/module.cc | 105 +++++++- gcc/cp/parser.cc | 27 +- gcc/cp/pt.cc | 57 ++-- gcc/cp/semantics.cc | 9 +- gcc/cp/tree.cc | 28 +- gcc/d/ChangeLog | 7 + gcc/d/Make-lang.in | 4 +- gcc/diagnostic-format-sarif.cc | 68 ++++- gcc/doc/gm2.texi | 14 +- gcc/expr.cc | 35 ++- gcc/fortran/ChangeLog | 41 +++ gcc/fortran/class.cc | 4 + gcc/fortran/frontend-passes.cc | 7 + gcc/fortran/gfortran.h | 1 + gcc/fortran/openmp.cc | 188 ++++++++++--- gcc/fortran/resolve.cc | 5 + gcc/fortran/trans-decl.cc | 23 ++ gcc/fortran/trans-expr.cc | 3 + gcc/fortran/trans-openmp.cc | 159 ++++++++++- gcc/gimple-ssa-split-paths.cc | 8 +- gcc/gimplify.cc | 99 +++++-- gcc/input.cc | 19 +- gcc/lra-constraints.cc | 6 +- gcc/m2/ChangeLog | 211 +++++++++++++++ gcc/m2/Make-maintainer.in | 29 +- gcc/m2/gm2-compiler/M2GenGCC.mod | 132 ++++----- gcc/m2/gm2-compiler/M2Options.mod | 2 +- gcc/m2/gm2-gcc/m2type.cc | 8 +- gcc/m2/gm2-libs-log/FileSystem.mod | 12 +- gcc/m2/gm2-libs/FIO.mod | 6 +- gcc/m2/mc-boot/GASCII.cc | 1 - gcc/m2/mc-boot/GASCII.h | 1 - gcc/m2/mc-boot/GArgs.cc | 1 - gcc/m2/mc-boot/GArgs.h | 1 - gcc/m2/mc-boot/GAssertion.cc | 1 - gcc/m2/mc-boot/GAssertion.h | 1 - gcc/m2/mc-boot/GBreak.cc | 1 - gcc/m2/mc-boot/GBreak.h | 1 - gcc/m2/mc-boot/GCOROUTINES.h | 1 - gcc/m2/mc-boot/GCmdArgs.cc | 1 - gcc/m2/mc-boot/GCmdArgs.h | 1 - gcc/m2/mc-boot/GDebug.cc | 1 - gcc/m2/mc-boot/GDebug.h | 1 - gcc/m2/mc-boot/GDynamicStrings.cc | 1 - gcc/m2/mc-boot/GDynamicStrings.h | 1 - gcc/m2/mc-boot/GEnvironment.cc | 1 - gcc/m2/mc-boot/GEnvironment.h | 1 - gcc/m2/mc-boot/GFIO.cc | 5 +- gcc/m2/mc-boot/GFIO.h | 1 - gcc/m2/mc-boot/GFormatStrings.cc | 1 - gcc/m2/mc-boot/GFormatStrings.h | 1 - gcc/m2/mc-boot/GFpuIO.cc | 1 - gcc/m2/mc-boot/GFpuIO.h | 1 - gcc/m2/mc-boot/GIO.cc | 1 - gcc/m2/mc-boot/GIO.h | 1 - gcc/m2/mc-boot/GIndexing.cc | 1 - gcc/m2/mc-boot/GIndexing.h | 1 - gcc/m2/mc-boot/GM2Dependent.cc | 1 - gcc/m2/mc-boot/GM2Dependent.h | 1 - gcc/m2/mc-boot/GM2EXCEPTION.cc | 1 - gcc/m2/mc-boot/GM2EXCEPTION.h | 1 - gcc/m2/mc-boot/GM2RTS.cc | 1 - gcc/m2/mc-boot/GM2RTS.h | 1 - gcc/m2/mc-boot/GMemUtils.cc | 1 - gcc/m2/mc-boot/GMemUtils.h | 1 - gcc/m2/mc-boot/GNumberIO.cc | 1 - gcc/m2/mc-boot/GNumberIO.h | 1 - gcc/m2/mc-boot/GPushBackInput.cc | 1 - gcc/m2/mc-boot/GPushBackInput.h | 1 - gcc/m2/mc-boot/GRTExceptions.cc | 1 - gcc/m2/mc-boot/GRTExceptions.h | 1 - gcc/m2/mc-boot/GRTco.h | 1 - gcc/m2/mc-boot/GRTentity.h | 1 - gcc/m2/mc-boot/GRTint.cc | 1 - gcc/m2/mc-boot/GRTint.h | 1 - gcc/m2/mc-boot/GSArgs.cc | 1 - gcc/m2/mc-boot/GSArgs.h | 1 - gcc/m2/mc-boot/GSFIO.cc | 1 - gcc/m2/mc-boot/GSFIO.h | 1 - gcc/m2/mc-boot/GSYSTEM.h | 1 - gcc/m2/mc-boot/GSelective.h | 1 - gcc/m2/mc-boot/GStdIO.cc | 1 - gcc/m2/mc-boot/GStdIO.h | 1 - gcc/m2/mc-boot/GStorage.cc | 1 - gcc/m2/mc-boot/GStorage.h | 1 - gcc/m2/mc-boot/GStrCase.cc | 1 - gcc/m2/mc-boot/GStrCase.h | 1 - gcc/m2/mc-boot/GStrIO.cc | 1 - gcc/m2/mc-boot/GStrIO.h | 1 - gcc/m2/mc-boot/GStrLib.cc | 1 - gcc/m2/mc-boot/GStrLib.h | 1 - gcc/m2/mc-boot/GStringConvert.cc | 1 - gcc/m2/mc-boot/GStringConvert.h | 1 - gcc/m2/mc-boot/GSysExceptions.h | 1 - gcc/m2/mc-boot/GSysStorage.cc | 1 - gcc/m2/mc-boot/GSysStorage.h | 1 - gcc/m2/mc-boot/GTimeString.cc | 1 - gcc/m2/mc-boot/GTimeString.h | 1 - gcc/m2/mc-boot/GUnixArgs.h | 1 - gcc/m2/mc-boot/Galists.cc | 1 - gcc/m2/mc-boot/Galists.h | 1 - gcc/m2/mc-boot/Gdecl.cc | 3 +- gcc/m2/mc-boot/Gdecl.h | 1 - gcc/m2/mc-boot/Gdtoa.h | 1 - gcc/m2/mc-boot/Gerrno.h | 1 - gcc/m2/mc-boot/Gkeyc.cc | 2 - gcc/m2/mc-boot/Gkeyc.h | 1 - gcc/m2/mc-boot/Gldtoa.h | 1 - gcc/m2/mc-boot/Glibc.h | 3 +- gcc/m2/mc-boot/Glibm.h | 1 - gcc/m2/mc-boot/Glists.cc | 1 - gcc/m2/mc-boot/Glists.h | 1 - gcc/m2/mc-boot/GmcComment.cc | 1 - gcc/m2/mc-boot/GmcComment.h | 1 - gcc/m2/mc-boot/GmcComp.cc | 1 - gcc/m2/mc-boot/GmcComp.h | 1 - gcc/m2/mc-boot/GmcDebug.cc | 1 - gcc/m2/mc-boot/GmcDebug.h | 1 - gcc/m2/mc-boot/GmcError.cc | 1 - gcc/m2/mc-boot/GmcError.h | 1 - gcc/m2/mc-boot/GmcFileName.cc | 1 - gcc/m2/mc-boot/GmcFileName.h | 1 - gcc/m2/mc-boot/GmcLexBuf.cc | 1 - gcc/m2/mc-boot/GmcLexBuf.h | 1 - gcc/m2/mc-boot/GmcMetaError.cc | 1 - gcc/m2/mc-boot/GmcMetaError.h | 1 - gcc/m2/mc-boot/GmcOptions.cc | 1 - gcc/m2/mc-boot/GmcOptions.h | 1 - gcc/m2/mc-boot/GmcPreprocess.cc | 1 - gcc/m2/mc-boot/GmcPreprocess.h | 1 - gcc/m2/mc-boot/GmcPretty.cc | 1 - gcc/m2/mc-boot/GmcPretty.h | 1 - gcc/m2/mc-boot/GmcPrintf.cc | 1 - gcc/m2/mc-boot/GmcPrintf.h | 1 - gcc/m2/mc-boot/GmcQuiet.cc | 1 - gcc/m2/mc-boot/GmcQuiet.h | 1 - gcc/m2/mc-boot/GmcReserved.cc | 1 - gcc/m2/mc-boot/GmcReserved.h | 1 - gcc/m2/mc-boot/GmcSearch.cc | 1 - gcc/m2/mc-boot/GmcSearch.h | 1 - gcc/m2/mc-boot/GmcStack.cc | 1 - gcc/m2/mc-boot/GmcStack.h | 1 - gcc/m2/mc-boot/GmcStream.cc | 1 - gcc/m2/mc-boot/GmcStream.h | 1 - gcc/m2/mc-boot/Gmcflex.h | 1 - gcc/m2/mc-boot/Gmcp1.cc | 1 - gcc/m2/mc-boot/Gmcp1.h | 1 - gcc/m2/mc-boot/Gmcp2.cc | 1 - gcc/m2/mc-boot/Gmcp2.h | 1 - gcc/m2/mc-boot/Gmcp3.cc | 1 - gcc/m2/mc-boot/Gmcp3.h | 1 - gcc/m2/mc-boot/Gmcp4.cc | 1 - gcc/m2/mc-boot/Gmcp4.h | 1 - gcc/m2/mc-boot/Gmcp5.cc | 1 - gcc/m2/mc-boot/Gmcp5.h | 1 - gcc/m2/mc-boot/GnameKey.cc | 1 - gcc/m2/mc-boot/GnameKey.h | 1 - gcc/m2/mc-boot/GsymbolKey.cc | 1 - gcc/m2/mc-boot/GsymbolKey.h | 1 - gcc/m2/mc-boot/Gtermios.h | 1 - gcc/m2/mc-boot/Gtop.cc | 1 - gcc/m2/mc-boot/Gvarargs.cc | 1 - gcc/m2/mc-boot/Gvarargs.h | 1 - gcc/m2/mc-boot/Gwlists.cc | 1 - gcc/m2/mc-boot/Gwlists.h | 1 - gcc/m2/mc-boot/Gwrapc.h | 1 - gcc/m2/mc/keyc.mod | 1 - gcc/m2/pge-boot/GFIO.cc | 5 +- gcc/m2/pge-boot/GIndexing.h | 1 - gcc/m2/pge-boot/GSEnvironment.h | 1 - gcc/m2/pge-boot/GScan.h | 1 - gcc/m2/pge-boot/Glibc.h | 2 +- gcc/match.pd | 13 +- gcc/pair-fusion.cc | 77 ++++-- gcc/testsuite/ChangeLog | 300 +++++++++++++++++++++ gcc/testsuite/c-c++-common/goacc/implied-copy-1.c | 33 +++ gcc/testsuite/c-c++-common/goacc/implied-copy-2.c | 121 +++++++++ gcc/testsuite/c-c++-common/gomp/append-args-1.c | 32 ++- gcc/testsuite/c-c++-common/gomp/append-args-3.c | 4 +- gcc/testsuite/c-c++-common/gomp/append-args-6.c | 106 ++++++++ gcc/testsuite/c-c++-common/gomp/append-args-7.c | 47 ++++ gcc/testsuite/c-c++-common/gomp/append-args-8.c | 53 ++++ gcc/testsuite/c-c++-common/gomp/append-args-9.c | 34 +++ gcc/testsuite/c-c++-common/gomp/defaultmap-4.c | 4 +- gcc/testsuite/c-c++-common/gomp/defaultmap-5.c | 2 +- .../c-c++-common/gomp/target-implicit-map-1.c | 2 +- .../c-c++-common/gomp/target-implicit-map-2.c | 2 +- gcc/testsuite/g++.dg/DRs/dr2867-5.C | 92 +++++++ gcc/testsuite/g++.dg/DRs/dr2867-6.C | 83 ++++++ gcc/testsuite/g++.dg/DRs/dr2867-7.C | 98 +++++++ gcc/testsuite/g++.dg/DRs/dr2867-8.C | 86 ++++++ gcc/testsuite/g++.dg/cpp0x/constexpr-base8.C | 24 ++ gcc/testsuite/g++.dg/cpp0x/initlist-opt6.C | 26 ++ gcc/testsuite/g++.dg/cpp0x/initlist-opt7.C | 41 +++ gcc/testsuite/g++.dg/cpp0x/nontype7.C | 13 + gcc/testsuite/g++.dg/cpp1y/lambda-ice4.C | 63 +++++ .../g++.dg/cpp23/class-deduction-inherited7.C | 12 + gcc/testsuite/g++.dg/eh/throw5.C | 23 ++ gcc/testsuite/g++.dg/ext/is_bounded_array.C | 14 + gcc/testsuite/g++.dg/goacc/implied-copy.C | 24 ++ gcc/testsuite/g++.dg/gomp/append-args-1.C | 12 +- gcc/testsuite/g++.dg/gomp/append-args-4.C | 17 ++ gcc/testsuite/g++.dg/gomp/append-args-5.C | 72 +++++ gcc/testsuite/g++.dg/gomp/append-args-6.C | 34 +++ gcc/testsuite/g++.dg/gomp/append-args-7.C | 113 ++++++++ gcc/testsuite/g++.dg/modules/dr2867-1_a.H | 88 ++++++ gcc/testsuite/g++.dg/modules/dr2867-1_b.C | 13 + gcc/testsuite/g++.dg/modules/dr2867-2_a.H | 79 ++++++ gcc/testsuite/g++.dg/modules/dr2867-2_b.C | 13 + gcc/testsuite/g++.dg/modules/dr2867-3_a.H | 91 +++++++ gcc/testsuite/g++.dg/modules/dr2867-3_b.C | 19 ++ gcc/testsuite/g++.dg/modules/dr2867-4_a.H | 82 ++++++ gcc/testsuite/g++.dg/modules/dr2867-4_b.C | 16 ++ gcc/testsuite/g++.dg/torture/pr118320.C | 15 ++ gcc/testsuite/gcc.c-torture/compile/pr118429.c | 7 + gcc/testsuite/gcc.c-torture/execute/pr118638.c | 20 ++ gcc/testsuite/gcc.dg/fold-perm-2.c | 1 + gcc/testsuite/gcc.dg/goacc/implied-copy.c | 29 ++ gcc/testsuite/gcc.dg/gomp/append-args-1.c | 70 +++++ gcc/testsuite/gcc.dg/pr | 0 gcc/testsuite/gcc.dg/pr114052-1.c | 41 +++ gcc/testsuite/gcc.dg/pr116357.c | 10 + gcc/testsuite/gcc.dg/pr118490.c | 7 + gcc/testsuite/gcc.dg/pr118643.c | 11 + gcc/testsuite/gcc.dg/pr118684.c | 12 + gcc/testsuite/gcc.dg/pr118692.c | 10 + gcc/testsuite/gcc.dg/pr118695.c | 9 + gcc/testsuite/gcc.dg/pr118696.c | 131 +++++++++ gcc/testsuite/gcc.dg/pr54346.c | 1 + gcc/testsuite/gcc.dg/sarif-output/bad-binary-op.py | 6 +- .../gcc.dg/sarif-output/missing-semicolon.py | 2 +- .../gcc.dg/sarif-output/multiple-outputs.py | 2 +- gcc/testsuite/gcc.dg/torture/pr112859.c | 24 ++ gcc/testsuite/gcc.dg/torture/pr115347.c | 21 ++ gcc/testsuite/gcc.dg/torture/pr118662.c | 18 ++ gcc/testsuite/gcc.dg/tree-ssa/fold-xor-and-or.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/fold-xor-or.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr117892.c | 17 ++ gcc/testsuite/gcc.dg/tree-ssa/pr118517.c | 11 + gcc/testsuite/gcc.dg/tree-ssa/pr118637.c | 22 ++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-25.c | 18 ++ gcc/testsuite/gcc.dg/vect/pr118653.c | 15 ++ gcc/testsuite/gcc.target/powerpc/pr118663.c | 10 + .../gcc.target/riscv/pr117688-add-run-1-s16.c | 6 + .../gcc.target/riscv/pr117688-add-run-1-s32.c | 6 + .../gcc.target/riscv/pr117688-add-run-1-s64.c | 6 + .../gcc.target/riscv/pr117688-add-run-1-s8.c | 6 + .../gcc.target/riscv/pr117688-sub-run-1-s16.c | 6 + .../gcc.target/riscv/pr117688-sub-run-1-s32.c | 6 + .../gcc.target/riscv/pr117688-sub-run-1-s64.c | 6 + .../gcc.target/riscv/pr117688-sub-run-1-s8.c | 6 + .../riscv/pr117688-trunc-run-1-s16-to-s8.c | 6 + .../riscv/pr117688-trunc-run-1-s32-to-s16.c | 6 + .../riscv/pr117688-trunc-run-1-s32-to-s8.c | 6 + .../riscv/pr117688-trunc-run-1-s64-to-s16.c | 6 + .../riscv/pr117688-trunc-run-1-s64-to-s32.c | 6 + .../riscv/pr117688-trunc-run-1-s64-to-s8.c | 6 + gcc/testsuite/gcc.target/riscv/pr117688.h | 70 +++++ .../gather-scatter/gather_load_64-12-zvbb.c | 3 +- .../gcc.target/riscv/rvv/autovec/reduc/reduc-8.c | 1 - .../gcc.target/riscv/rvv/autovec/reduc/reduc-9.c | 1 - .../gcc.target/riscv/rvv/base/pr118103-1.c | 27 ++ .../gcc.target/riscv/rvv/base/pr118103-run-1.c | 50 ++++ gcc/testsuite/gcc.target/s390/vector/pr118696.c | 5 + 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 +- gcc/testsuite/gfortran.dg/default_format_2.f90 | 2 +- .../gfortran.dg/default_format_denormal_2.f90 | 2 +- gcc/testsuite/gfortran.dg/goacc/implied-copy-1.f90 | 35 +++ gcc/testsuite/gfortran.dg/goacc/implied-copy-2.f90 | 160 +++++++++++ gcc/testsuite/gfortran.dg/gomp/adjust-args-1.f90 | 2 +- gcc/testsuite/gfortran.dg/gomp/adjust-args-3.f90 | 2 +- gcc/testsuite/gfortran.dg/gomp/append_args-1.f90 | 76 ++++++ gcc/testsuite/gfortran.dg/gomp/append_args-2.f90 | 199 ++++++++++++++ gcc/testsuite/gfortran.dg/gomp/append_args-3.f90 | 293 ++++++++++++++++++++ gcc/testsuite/gfortran.dg/gomp/append_args-4.f90 | 264 ++++++++++++++++++ gcc/testsuite/gfortran.dg/gomp/atomic-26.f90 | 6 +- .../gfortran.dg/gomp/declare-variant-2.f90 | 10 +- gcc/testsuite/gfortran.dg/gomp/defaultmap-8.f90 | 4 +- gcc/testsuite/gfortran.dg/gomp/defaultmap-9.f90 | 2 +- gcc/testsuite/gfortran.dg/gomp/map-subarray.f90 | 2 +- .../gfortran.dg/gomp/target-enter-exit-data.f90 | 8 +- .../gfortran.dg/large_real_kind_form_io_2.f90 | 2 +- gcc/testsuite/gfortran.dg/pr118640.f90 | 38 +++ .../gfortran.dg/uncommon_block_data_2.f90 | 12 + gcc/testsuite/gfortran.dg/use_rename_14.f90 | 46 ++++ .../gfortran.target/riscv/rvv/pr118646.f90 | 48 ++++ gcc/testsuite/gm2/pim/run/pass/printtypesize.mod | 15 ++ gcc/testsuite/lib/target-supports.exp | 14 + gcc/tree-eh.cc | 9 +- gcc/tree-loop-distribution.cc | 31 ++- gcc/tree-pretty-print.cc | 2 +- gcc/tree-ssa-dse.cc | 6 +- gcc/tree-ssa-loop-niter.cc | 9 +- gcc/tree-vect-loop.cc | 3 +- gcc/tree-vect-slp.cc | 16 +- libbacktrace/ChangeLog | 6 + libbacktrace/configure | 23 ++ libbacktrace/configure.ac | 10 + libgcc/ChangeLog | 8 + libgcc/config/arm/sync-cp15dmb.specs | 2 +- libgcc/config/arm/sync-dmb.specs | 2 +- libgcc/config/arm/sync-none.specs | 2 +- libgomp/libgomp.texi | 15 +- libstdc++-v3/ChangeLog | 20 ++ libstdc++-v3/config/abi/pre/gnu.ver | 23 +- libstdc++-v3/include/std/latch | 32 ++- libstdc++-v3/include/std/ranges | 4 +- libstdc++-v3/testsuite/30_threads/latch/1.cc | 12 +- .../std/ranges/adaptors/adjacent_transform/1.cc | 1 + .../testsuite/std/ranges/adaptors/transform.cc | 2 + libstdc++-v3/testsuite/util/testsuite_abi.cc | 1 + 339 files changed, 6046 insertions(+), 628 deletions(-)