diff -Nrcpad gcc-15-20250920/LAST_UPDATED gcc-15-20250927/LAST_UPDATED
*** gcc-15-20250920/LAST_UPDATED	Sat Sep 20 22:34:12 2025
--- gcc-15-20250927/LAST_UPDATED	Sat Sep 27 22:35:06 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 84e2023455a0180c9b6420bac5bdeec0041529b0
--- 1 ----
! Obtained from git: releases/gcc-15 revision 572ff2bae7db9b213531132870a68f449d4154d8
diff -Nrcpad gcc-15-20250920/MD5SUMS gcc-15-20250927/MD5SUMS
*** gcc-15-20250920/MD5SUMS	Sat Sep 20 22:34:16 2025
--- gcc-15-20250927/MD5SUMS	Sat Sep 27 22:35:16 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250920.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250927.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 65c10b0c1eb245ae8c6fac21f12a5f65  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 26beec4376d44fd760491751bba88132  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! ac2fe51cd206d8cace80969fc8a698f7  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 987a047a22458cff4dc74388a241844e  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 87b139ccc66abe9229e0db6969969195  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 9442b26d7cb961985de19c8ce7dabab4  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 87b79c833e11ef2c46e374982b932833  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! b43f305ab7350f8b7923134c08bb7f43  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** e364f4e3ae92066699cc93a8f7b828c1  gcc/ad
*** 2923,2929 ****
  14c23ddb8ce8f7ab6478f3aff202d2bf  gcc/ada/sem_ch10.ads
  5980a02146588bf0e31ced2382290670  gcc/ada/sem_ch11.adb
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
! 2d222d3bc572e8af20b4403ed4ac5534  gcc/ada/sem_ch12.adb
  b0a3315dce9de8e3bbbb3682c8b0e2ff  gcc/ada/sem_ch12.ads
  15816afaefd204ea408090cbab4fa002  gcc/ada/sem_ch13.adb
  24bb91233702860aa2a308e59ba7cb6a  gcc/ada/sem_ch13.ads
--- 2923,2929 ----
  14c23ddb8ce8f7ab6478f3aff202d2bf  gcc/ada/sem_ch10.ads
  5980a02146588bf0e31ced2382290670  gcc/ada/sem_ch11.adb
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
! 8c99d8327e438dbd73304e886820050a  gcc/ada/sem_ch12.adb
  b0a3315dce9de8e3bbbb3682c8b0e2ff  gcc/ada/sem_ch12.ads
  15816afaefd204ea408090cbab4fa002  gcc/ada/sem_ch13.adb
  24bb91233702860aa2a308e59ba7cb6a  gcc/ada/sem_ch13.ads
*************** b514f7f350605ee2678b654f7eef9152  gcc/ad
*** 2943,2949 ****
  f3965d375e31f991fba42df0595a3470  gcc/ada/sem_ch8.ads
  8be6bc881183cddc88b43e757a478bc1  gcc/ada/sem_ch9.adb
  7b283bd6453de444c7075a8c6f215dda  gcc/ada/sem_ch9.ads
! dea2a3321bde0d3ed6be665ade24a2c6  gcc/ada/sem_dim.adb
  d0ed9c569455451ee26c8e2565b7125b  gcc/ada/sem_dim.ads
  0b4ce58f68d5aff0988a26cb09840d67  gcc/ada/sem_disp.adb
  40937cb7584e45e4c545aa3e4c20fbb2  gcc/ada/sem_disp.ads
--- 2943,2949 ----
  f3965d375e31f991fba42df0595a3470  gcc/ada/sem_ch8.ads
  8be6bc881183cddc88b43e757a478bc1  gcc/ada/sem_ch9.adb
  7b283bd6453de444c7075a8c6f215dda  gcc/ada/sem_ch9.ads
! a3ec3b68d1191d6cfaaaa4ba524b8896  gcc/ada/sem_dim.adb
  d0ed9c569455451ee26c8e2565b7125b  gcc/ada/sem_dim.ads
  0b4ce58f68d5aff0988a26cb09840d67  gcc/ada/sem_disp.adb
  40937cb7584e45e4c545aa3e4c20fbb2  gcc/ada/sem_disp.ads
*************** d3ad067b1fa15bbce42fd3cc4499966e  gcc/co
*** 4436,4442 ****
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 0b6b53c934d971c8e4f204caacf7f291  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
  ec46785efb7afdd2deb34ce71a037c59  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
--- 4436,4442 ----
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 31931a788e9d326da01f0dd879342a0e  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
  ec46785efb7afdd2deb34ce71a037c59  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5499,5505 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! ef5e03454fe12a6314221521048ff531  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5499,5505 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 71b3fc8bb6cd07855ae78a77109a3b9c  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** a46a06074cd68181251e3541b4689021  gcc/cp
*** 5553,5559 ****
  7475950f94ad8c7218f451feb5e71424  gcc/cp/cp-objcp-common.h
  6a7554ee20d49ef2b66e0b7cc2a696a1  gcc/cp/cp-trait.def
  ce9f2ccac9e2657417018bc8f8064421  gcc/cp/cp-tree.def
! 9ecc07c9a369453c25914654540a1164  gcc/cp/cp-tree.h
  e5ccdda9d62d96ac397910d0fa391b0a  gcc/cp/cp-ubsan.cc
  64450079a2dd9e5a8767bb5e4bf3d904  gcc/cp/cvt.cc
  29df6edf4122d4be24abc0274514c9bc  gcc/cp/cxx-pretty-print.cc
--- 5553,5559 ----
  7475950f94ad8c7218f451feb5e71424  gcc/cp/cp-objcp-common.h
  6a7554ee20d49ef2b66e0b7cc2a696a1  gcc/cp/cp-trait.def
  ce9f2ccac9e2657417018bc8f8064421  gcc/cp/cp-tree.def
! 60417c76f551d66a839ea4c104db2b24  gcc/cp/cp-tree.h
  e5ccdda9d62d96ac397910d0fa391b0a  gcc/cp/cp-ubsan.cc
  64450079a2dd9e5a8767bb5e4bf3d904  gcc/cp/cvt.cc
  29df6edf4122d4be24abc0274514c9bc  gcc/cp/cxx-pretty-print.cc
*************** f1581b369c1962c764264b1b2af61ca2  gcc/cp
*** 5570,5576 ****
  3d079dd21f8a1ab95fb2d1f96d799283  gcc/cp/g++spec.cc
  30b9ed40d39cf78b95792ef5dca2aebb  gcc/cp/gen-cxxapi-file.py
  fcad66262e081d6623d845cd6343e41f  gcc/cp/init.cc
! ddfea14bf3538c63472f984625d70840  gcc/cp/lambda.cc
  ac5d78393361c1bcb930119a896a14ca  gcc/cp/lang-specs.h
  81021bc440a536664fa5365b475b36c5  gcc/cp/lex.cc
  aaf76a9b03fd0532d2904aef004fd66a  gcc/cp/logic.cc
--- 5570,5576 ----
  3d079dd21f8a1ab95fb2d1f96d799283  gcc/cp/g++spec.cc
  30b9ed40d39cf78b95792ef5dca2aebb  gcc/cp/gen-cxxapi-file.py
  fcad66262e081d6623d845cd6343e41f  gcc/cp/init.cc
! 18fc148051452f9612f06e600e883dd3  gcc/cp/lambda.cc
  ac5d78393361c1bcb930119a896a14ca  gcc/cp/lang-specs.h
  81021bc440a536664fa5365b475b36c5  gcc/cp/lex.cc
  aaf76a9b03fd0532d2904aef004fd66a  gcc/cp/logic.cc
*************** c2a7409e57253e5d9bfd8ce29fb85212  gcc/cp
*** 5579,5599 ****
  6c77b1fab5f6d146677090285a202a50  gcc/cp/mapper-client.h
  44e22b51797f89c9da996523a6d97f1c  gcc/cp/mapper-resolver.cc
  8a43dc7eb02c2c19d4faa7344f490b26  gcc/cp/method.cc
! b45a9fcdee93f140fe52a76dcb1e8215  gcc/cp/module.cc
  4fbf6c5b0391fc30bc3aaea6d8cb1e3e  gcc/cp/name-lookup.cc
  9644410086c3beb90033e77613e9d1a7  gcc/cp/name-lookup.h
  e7fe06956aada61bcaae5168ad47a9c1  gcc/cp/operators.def
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  6ee3e41f349ec9e1b9c084a2fdcf5930  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 56ff3d0352d3cbed5c0d325ff9792081  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
  48ed0bb4fa778a3b5f67ba653a2c2e72  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
! e3798db73e0b3e892e772acbe569a5b8  gcc/cp/tree.cc
  bb1304379ac1bf9a568942bc7e976e8a  gcc/cp/type-utils.h
  1bf95758f700eb2864247d2a58e4934b  gcc/cp/typeck.cc
  1fea2b59dbf93b59626d7546b3c1f738  gcc/cp/typeck2.cc
--- 5579,5599 ----
  6c77b1fab5f6d146677090285a202a50  gcc/cp/mapper-client.h
  44e22b51797f89c9da996523a6d97f1c  gcc/cp/mapper-resolver.cc
  8a43dc7eb02c2c19d4faa7344f490b26  gcc/cp/method.cc
! 553ec809cb48db3faec88d1cd462dd88  gcc/cp/module.cc
  4fbf6c5b0391fc30bc3aaea6d8cb1e3e  gcc/cp/name-lookup.cc
  9644410086c3beb90033e77613e9d1a7  gcc/cp/name-lookup.h
  e7fe06956aada61bcaae5168ad47a9c1  gcc/cp/operators.def
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  6ee3e41f349ec9e1b9c084a2fdcf5930  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! fcc8fd307d577c07e77f9c2bb3fb64d6  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
  48ed0bb4fa778a3b5f67ba653a2c2e72  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
! f22dc1d4773b3dfbfb42dbd5b1418984  gcc/cp/tree.cc
  bb1304379ac1bf9a568942bc7e976e8a  gcc/cp/type-utils.h
  1bf95758f700eb2864247d2a58e4934b  gcc/cp/typeck.cc
  1fea2b59dbf93b59626d7546b3c1f738  gcc/cp/typeck2.cc
*************** ee4c7654f733cefcb73d4fd24f3e1b82  gcc/do
*** 5951,5957 ****
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  4cf31ce9dc9e7079c1c99e7dd07215ae  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 9c88cabb8fa15f07666c1108c79290a5  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
--- 5951,5957 ----
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  4cf31ce9dc9e7079c1c99e7dd07215ae  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 877da788ba415a97e62b78493fb5b4ce  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
*************** e67bf1a2587fc7f7361e841145ff4cfb  gcc/es
*** 6040,6046 ****
  b5fa845ff578d70e8ceae655d6affc51  gcc/explow.h
  53e6f2a3611c2bbb776cbe624811431d  gcc/expmed.cc
  dee0d85cc89e81b4cc185f1c3102811e  gcc/expmed.h
! bc438860c6c9b2d1d32fad8eb6040ccd  gcc/expr.cc
  5480b0f834e382e22c92192d7f5a4744  gcc/expr.h
  7117d2d0dde87eaf1ab2853b5bfd62e2  gcc/ext-dce.cc
  2ecf474a8f5380e5027c5b7a745cd736  gcc/fibonacci_heap.cc
--- 6040,6046 ----
  b5fa845ff578d70e8ceae655d6affc51  gcc/explow.h
  53e6f2a3611c2bbb776cbe624811431d  gcc/expmed.cc
  dee0d85cc89e81b4cc185f1c3102811e  gcc/expmed.h
! 0a2fc00cda2c4cc283776713bb0007c6  gcc/expr.cc
  5480b0f834e382e22c92192d7f5a4744  gcc/expr.h
  7117d2d0dde87eaf1ab2853b5bfd62e2  gcc/ext-dce.cc
  2ecf474a8f5380e5027c5b7a745cd736  gcc/fibonacci_heap.cc
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6059,6065 ****
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! c9a705fd361777fb7159f13ee7c0db4c  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6059,6065 ----
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! e1cfc38b8125de918fceb4d9a3f8b683  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** e350765243fa7b881ed82507561870ff  gcc/fo
*** 6138,6144 ****
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  8282ea5f4e00d5c64da552ea2f31dcc6  gcc/fortran/primary.cc
! 59bd7cbbcab403c9a0270725082c69cb  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
--- 6138,6144 ----
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  8282ea5f4e00d5c64da552ea2f31dcc6  gcc/fortran/primary.cc
! 1172de86452b5b1f9983dfb6d0d0789f  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
*************** a0c225f8a1deb41873e5984a058b0f45  gcc/gi
*** 6262,6268 ****
  9d283d6d05cc10c386454e9c6a25e22a  gcc/gimple-loop-versioning.cc
  de516dc4a59882c258bf01584c25b2de  gcc/gimple-low.cc
  a507a70e7f4b0dd99e594d15a5a9a89b  gcc/gimple-low.h
! e2d061e1eca685362ec3ff0fd57a52f8  gcc/gimple-lower-bitint.cc
  bb02db160d1eb3a985d3b5dfa8e0566c  gcc/gimple-lower-bitint.h
  da1cba564288415af1f675747c508315  gcc/gimple-match-exports.cc
  144911a83796283e587e0c84378e118d  gcc/gimple-match-head.cc
--- 6262,6268 ----
  9d283d6d05cc10c386454e9c6a25e22a  gcc/gimple-loop-versioning.cc
  de516dc4a59882c258bf01584c25b2de  gcc/gimple-low.cc
  a507a70e7f4b0dd99e594d15a5a9a89b  gcc/gimple-low.h
! ea367758ccafe4a35da3b363207146b4  gcc/gimple-lower-bitint.cc
  bb02db160d1eb3a985d3b5dfa8e0566c  gcc/gimple-lower-bitint.h
  da1cba564288415af1f675747c508315  gcc/gimple-match-exports.cc
  144911a83796283e587e0c84378e118d  gcc/gimple-match-head.cc
*************** f9608e9005487c369e6c38949ab36fa1  gcc/m2
*** 7638,7644 ****
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! 5ff78726c1db0bc193472a8b82102221  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
--- 7638,7644 ----
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! 099c3abc7bec6f178b8e23e623e20b1c  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
*************** f70c3872b668ba9c99b8d73ab2f9cf79  gcc/ob
*** 7680,7690 ****
  8d1f0d9303077458b28a80a9546ff2ba  gcc/obstack-utils.h
  c2186582925518f8871bcb0f066553f0  gcc/omp-api.h
  889315061b61c6bc0cb2f27a4eea3939  gcc/omp-builtins.def
! f441ac6601a5a1f6ba5ca39bef20c13a  gcc/omp-expand.cc
  286190bcce78c62804516df6cd0d1684  gcc/omp-expand.h
! 4690b68c8d78cbea16b05816b53a61cf  gcc/omp-general.cc
  8da93c6a9f42421b5af39e03da74c94c  gcc/omp-general.h
! 1324f8a540660f2cbdb237493c886d56  gcc/omp-low.cc
  73fb62acbdd74e28aff8cc147ee7fa11  gcc/omp-low.h
  bf774332919d8fc6ad76372ccefd0aa2  gcc/omp-oacc-kernels-decompose.cc
  51e7c46004876244d3f23ab786112c1a  gcc/omp-oacc-neuter-broadcast.cc
--- 7680,7690 ----
  8d1f0d9303077458b28a80a9546ff2ba  gcc/obstack-utils.h
  c2186582925518f8871bcb0f066553f0  gcc/omp-api.h
  889315061b61c6bc0cb2f27a4eea3939  gcc/omp-builtins.def
! 084ac62e183b76a6936f7fbb0fd9482e  gcc/omp-expand.cc
  286190bcce78c62804516df6cd0d1684  gcc/omp-expand.h
! 5968df0d183b039d8069e93d0f9acea9  gcc/omp-general.cc
  8da93c6a9f42421b5af39e03da74c94c  gcc/omp-general.h
! dc675aeabe07cc5070bd28941d8cf84b  gcc/omp-low.cc
  73fb62acbdd74e28aff8cc147ee7fa11  gcc/omp-low.h
  bf774332919d8fc6ad76372ccefd0aa2  gcc/omp-oacc-kernels-decompose.cc
  51e7c46004876244d3f23ab786112c1a  gcc/omp-oacc-neuter-broadcast.cc
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8446,8452 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! a366940ef0579b5bf4c5da9f2472e1f7  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8446,8452 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 1ded907e12ca0c2cd8b1fb579905d1b1  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** c82585e1f78689d72ecd7ade6b5aeeb1  gcc/te
*** 17706,17711 ****
--- 17706,17712 ----
  493eb788170e4254e85e5d4a9a75cb3d  gcc/testsuite/g++.dg/cpp0x/gen-attrs-86.C
  e85d058a14211dcf2d4a869c0624ffae  gcc/testsuite/g++.dg/cpp0x/gen-attrs-87.C
  05a54074cd4251e2ff93c14d568fc89b  gcc/testsuite/g++.dg/cpp0x/gen-attrs-88.C
+ 612cbb9f8579e5b0993d513fe539de72  gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C
  5dd92815927177080853d47a890f5439  gcc/testsuite/g++.dg/cpp0x/gen-attrs-9.C
  6555e6ec4bda3f0ea419f63e98af0a80  gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
  72a234ce75f2f8ec7fd9f0edfc628c19  gcc/testsuite/g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C
*************** b48de652a269ba0411d9c971e6b06869  gcc/te
*** 21399,21404 ****
--- 21400,21406 ----
  966bf7435554a7a150aa0fb09697b04c  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder11.C
  f57d40e8c8a062ab42228a604dc8b336  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder12.C
  3d20f95d326918d497b3b309b9eda0d9  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder13.C
+ 10165b900c5003d3691cd5cf5fae858b  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder15.C
  9a1776b1d9b3c080e847b78507e8c1c6  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder2.C
  d4ce4a5306e35eff2b78390b50d6c95b  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder3.C
  e428d578c8a0c5a61ab85eddccb24071  gcc/testsuite/g++.dg/cpp2a/concepts-placeholder4.C
*************** a8cfc657234f5f421b289d2fa6196965  gcc/te
*** 24503,24508 ****
--- 24505,24511 ----
  ed2fe9b487c91fe33d6cccf142fa243c  gcc/testsuite/g++.dg/gomp/pr111274.C
  26a3372fea4c1feb18b0081e1b3f169f  gcc/testsuite/g++.dg/gomp/pr118876.C
  d03592521d487e264b0b5e3ef6f3dfb8  gcc/testsuite/g++.dg/gomp/pr119370.C
+ 996def323ebaae8304a543404625c64a  gcc/testsuite/g++.dg/gomp/pr121977.C
  539bba6df5330b7a6631eca5665a0899  gcc/testsuite/g++.dg/gomp/pr24849.C
  78ea34fd7a1a2767f61a703271e7070a  gcc/testsuite/g++.dg/gomp/pr25874.C
  93a85a09acfdf011a86ff95fc9184a94  gcc/testsuite/g++.dg/gomp/pr25996.C
*************** f1d9eed0025353353019a54838c87ed9  gcc/te
*** 25996,26001 ****
--- 25999,26006 ----
  170fab8219ca5d2db78f5026f9bf82c8  gcc/testsuite/g++.dg/lto/pr119067_0.C
  c2fbc4281a4940f3ba50c956b391e55a  gcc/testsuite/g++.dg/lto/pr119067_1.C
  f8d194a431c9313cc0e794b5fcc15ac6  gcc/testsuite/g++.dg/lto/pr119614_0.C
+ fca1ecf794ece1959ac2707634e0c851  gcc/testsuite/g++.dg/lto/pr121831_0.C
+ 1e3973e8017bb39e0770b6c9334d9d09  gcc/testsuite/g++.dg/lto/pr121831_1.C
  ba9b686c163762488051ec4094a838b2  gcc/testsuite/g++.dg/lto/pr40818_0.C
  08a786b250f802e56e458c7d60a358fc  gcc/testsuite/g++.dg/lto/pr42987_0.C
  1b56fef803fe85ec97121919ad3ba2b9  gcc/testsuite/g++.dg/lto/pr42987_1.C
*************** d78c1de0f7d9cac90e50c0208adc2926  gcc/te
*** 26725,26730 ****
--- 26730,26738 ----
  37de4dbdbe8e0e57b0f65d374829f234  gcc/testsuite/g++.dg/modules/keyword-1_b.C
  827c75baa7a6aa915ca300a3b69c2249  gcc/testsuite/g++.dg/modules/lambda-10_a.H
  19a555ec51a2362dce69d5e03c7b04a9  gcc/testsuite/g++.dg/modules/lambda-10_b.C
+ 62e7f6f61022bc772dcc984ba06b0b3e  gcc/testsuite/g++.dg/modules/lambda-11.h
+ 8c9596d790271d8547290c1515a3350b  gcc/testsuite/g++.dg/modules/lambda-11_a.H
+ 967c2f48b085f1c18832266697fac4ee  gcc/testsuite/g++.dg/modules/lambda-11_b.C
  d40eb3b191ce03c71ec885f4126c9c01  gcc/testsuite/g++.dg/modules/lambda-1_a.C
  0c208993fd82c4dab83fb16f53f43099  gcc/testsuite/g++.dg/modules/lambda-1_b.C
  0b364ead1b387b5505e2f7bf2e5dc3b5  gcc/testsuite/g++.dg/modules/lambda-2.h
*************** e3f1bd8fef51acc6ca737521f975ab1c  gcc/te
*** 26760,26765 ****
--- 26768,26775 ----
  f691889108c3ab41c26b216899719992  gcc/testsuite/g++.dg/modules/lang-3_a.C
  29a3330000780d86555efc7480e1ea5b  gcc/testsuite/g++.dg/modules/lang-3_b.C
  7a61baf64b6b2df1f68f1344f599ce44  gcc/testsuite/g++.dg/modules/lang-3_c.C
+ f028acee4ae7cfe2d00c7bbae3a12adb  gcc/testsuite/g++.dg/modules/lang-4_a.C
+ 85f6fdb774d151ded1f900d5b64a83c4  gcc/testsuite/g++.dg/modules/lang-4_b.C
  f9e6b80b1e66a7547173ff7f3f39a78a  gcc/testsuite/g++.dg/modules/late-ret-1.H
  c363febb29cf4d3eccc01979daac4c46  gcc/testsuite/g++.dg/modules/late-ret-2_a.H
  9f2ead4d0b90ea087689b20fd95f201f  gcc/testsuite/g++.dg/modules/late-ret-2_b.H
*************** f298eddbaaad3dfdc15f6cf9683ff08a  gcc/te
*** 31751,31756 ****
--- 31761,31767 ----
  9df51f0b5a7e716286f2e97dfd28d477  gcc/testsuite/g++.dg/torture/pr119610.C
  9cede7e8b587157ccdf0f9f6667d6cc8  gcc/testsuite/g++.dg/torture/pr119778.C
  34ccf862a19942e4a76e7409c03669c6  gcc/testsuite/g++.dg/torture/pr120119-1.C
+ 75b55c517ba9c0f47c83851f084cb294  gcc/testsuite/g++.dg/torture/pr121870.C
  161154ed9f6193a2a7da119e068c3f3f  gcc/testsuite/g++.dg/torture/pr27218.C
  a84e9fff95df4801f8e582fbc33303b8  gcc/testsuite/g++.dg/torture/pr30252.C
  e980bf95890544d46879b89f7aa98df6  gcc/testsuite/g++.dg/torture/pr30567.C
*************** d217543f954eb3f31e246355824f653a  gcc/te
*** 43555,43560 ****
--- 43566,43572 ----
  7d02ff9539e664bbbcfc85b464d916c1  gcc/testsuite/gcc.dg/bitint-123.c
  11e6d8eaf7b16f3f8aeaf1c2e626996f  gcc/testsuite/gcc.dg/bitint-124.c
  c446cf331d60d19eea3950d7f444f8b3  gcc/testsuite/gcc.dg/bitint-125.c
+ 240ade406c4daf5c641e5c4f0bdd5ef5  gcc/testsuite/gcc.dg/bitint-126.c
  aa6e262f1d508ec048e76ac4af6675a4  gcc/testsuite/gcc.dg/bitint-13.c
  e6db29256563268a3c327706e78c79a4  gcc/testsuite/gcc.dg/bitint-14.c
  c748706240385773f27caba61cbbcbd8  gcc/testsuite/gcc.dg/bitint-15.c
*************** cd38ec3195ea21395e6d6950ff620410  gcc/te
*** 47080,47085 ****
--- 47092,47098 ----
  a633f425b4fdde0a7b6f0aa6aa2f2754  gcc/testsuite/gcc.dg/gomp/pr108435.c
  20a3ca0acce7dbf1520d374c9470fc34  gcc/testsuite/gcc.dg/gomp/pr110485.c
  7d1b62adb42c340855e993cf480a19ec  gcc/testsuite/gcc.dg/gomp/pr114075.c
+ ec1d4016ba60492b723014b99d2804e6  gcc/testsuite/gcc.dg/gomp/pr121453.c
  7a163e65fe52b23fc85f2daa18c442ee  gcc/testsuite/gcc.dg/gomp/pr25874.c
  597de3ed24e1bc1c650af918589d83c3  gcc/testsuite/gcc.dg/gomp/pr25989.c
  0bd3e8dc860de61dd8e09229c090e1f5  gcc/testsuite/gcc.dg/gomp/pr25990.c
*************** e6e17b2280f19928b738f46328c5dcf7  gcc/te
*** 53516,53521 ****
--- 53529,53537 ----
  d9a43196d2efe2fcc49c98e125a9d6b3  gcc/testsuite/gcc.dg/torture/pr120736.c
  a789d5fa70ddcb7ea1760ee8688e331c  gcc/testsuite/gcc.dg/torture/pr120813.c
  e23df6b1422011499b9a500d2bf25add  gcc/testsuite/gcc.dg/torture/pr120944.c
+ d41266e6594db1994e416e7a7353751e  gcc/testsuite/gcc.dg/torture/pr121370.c
+ 949a4a95ad545289488a204b883b05d6  gcc/testsuite/gcc.dg/torture/pr121844.c
+ 256200aae431c6598adbd4613b49ae06  gcc/testsuite/gcc.dg/torture/pr122016.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** ae171ef5347c321225b18e5907b1331b  gcc/te
*** 58212,58217 ****
--- 58228,58234 ----
  7df91aea22a8a2dc08bd0d355fa30fae  gcc/testsuite/gcc.dg/vect/pr120817.c
  ea5b3c05fffa7f697082308298dd7c5c  gcc/testsuite/gcc.dg/vect/pr121049.c
  3ccd618a730abdb13ec305c26f14ac22  gcc/testsuite/gcc.dg/vect/pr121059.c
+ 60bff40ff6b8164be9848d671cc43701  gcc/testsuite/gcc.dg/vect/pr121659.c
  42d48d2ecd5682545b12ac42f879a831  gcc/testsuite/gcc.dg/vect/pr16105.c
  231c99dba9475fe09525bbf6f4374124  gcc/testsuite/gcc.dg/vect/pr18308.c
  915cf38408eaa7fee5013d90ec1c3251  gcc/testsuite/gcc.dg/vect/pr18400.c
*************** fc2eb8ac52faed5fba0a017b858d4ae4  gcc/te
*** 68478,68483 ****
--- 68495,68501 ----
  4036d83a59b4adcf9e8a4cf5a291d22e  gcc/testsuite/gcc.target/aarch64/torture/pr111677.c
  8ba6cf5317762b2b89350d4f652efa53  gcc/testsuite/gcc.target/aarch64/torture/pr116564.c
  626bb6bb64c1bbe8eb5e2b92bf925aeb  gcc/testsuite/gcc.target/aarch64/torture/pr120986-2.c
+ 74c4136750a799ab2228f52f47274a10  gcc/testsuite/gcc.target/aarch64/torture/pr121772.c
  5266ac107a73e3ee1d1f44e1cda7d9f2  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-1.c
  9c3416db2fc04c3f91b03ecae15e943e  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-10.c
  df55bfe2c1ce46074b19b4566cedeef4  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-11.c
*************** d6d72f67d9c86c49fe483871b08cc2c0  gcc/te
*** 83240,83245 ****
--- 83258,83269 ----
  ca8ab2fdd097231be9dd3f7bfdcebb7b  gcc/testsuite/gcc.target/loongarch/builtin_thread_pointer.c
  9c31e2b0b719536d37a3b720ea2be5ad  gcc/testsuite/gcc.target/loongarch/bytepick_combine.c
  828a53a834899f6cac56d99b1ec04d3b  gcc/testsuite/gcc.target/loongarch/bytepick_shift_128.c
+ 40d027f26b529d9286fbb712ca2a7342  gcc/testsuite/gcc.target/loongarch/can_inline_1.c
+ 7c4687586877a635387320076067d17b  gcc/testsuite/gcc.target/loongarch/can_inline_2.c
+ a1db2bbf996d48ba701c8efc582dad3d  gcc/testsuite/gcc.target/loongarch/can_inline_3.c
+ a1783fd9344ba40d5aa08ba39ced7efb  gcc/testsuite/gcc.target/loongarch/can_inline_4.c
+ e7871060f6568ccbaf0d8c13ef970b0e  gcc/testsuite/gcc.target/loongarch/can_inline_5.c
+ bde7ba2405e4971efe4fb79faf6333ec  gcc/testsuite/gcc.target/loongarch/can_inline_6.c
  00fd27046cb10694212b8b3aa9811204  gcc/testsuite/gcc.target/loongarch/cas-acquire.c
  07df4f30580de6fbe39974aaae4cfa05  gcc/testsuite/gcc.target/loongarch/cmodel-extreme-1.c
  8b8540247ed71088dc38c31caa401102  gcc/testsuite/gcc.target/loongarch/cmodel-extreme-2.c
*************** dde2cba27bc4292492e4c0dd492a70e0  gcc/te
*** 83372,83377 ****
--- 83396,83402 ----
  359760e5160f4b52d2fa349806589a0d  gcc/testsuite/gcc.target/loongarch/pr121064.c
  acf1fac916847c2064b8d2bbb6535828  gcc/testsuite/gcc.target/loongarch/pr121542.c
  754f11f1533603a4d550b593afc0c673  gcc/testsuite/gcc.target/loongarch/pr121634.c
+ d1eee63ffd26f53d2b788cb0eb55f5a6  gcc/testsuite/gcc.target/loongarch/pr121875.c
  1dd25b33f6fd8d4c4dc750865d86f404  gcc/testsuite/gcc.target/loongarch/pr121906.c
  1eac553341d725c6e59615b593aedb0d  gcc/testsuite/gcc.target/loongarch/pragma-push-pop.c
  3adba2a8ae6f671eb22ec8228777c1ac  gcc/testsuite/gcc.target/loongarch/prolog-opt.c
*************** eac1daf20200582d78f7b10b7024f1e1  gcc/te
*** 87599,87612 ****
  a8776213e94c56a3260e8eeeb1d3a2ff  gcc/testsuite/gcc.target/powerpc/vsx-vector-6-func-cmp.h
  11f83747002569efd40f99981b9a1b1a  gcc/testsuite/gcc.target/powerpc/vsx-vector-7.c
  ebd3e2644f3e43135e2172b26fafd1bf  gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c
! dc9da1f79e927fa1a49909e33b90ae6b  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
! 122e02c07d89332f323fddcbe1f503b1  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
! cf187b01ce2e134767bc12f6b4d4a95f  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
! 61da0b5ae075373791e0d292c9edcf6e  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
! e57ba50788c16217b02f9a3c21fb80e2  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
! f7aa4b90ea888a70f773f57660df2fe6  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
! 21307ddcfb204442ffcf0b5c5fd50258  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
! f0daa9a34336334438adfc8ad1d8f05d  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
  c64a5cc2ce1d0b7ac9d881b4585a9313  gcc/testsuite/gcc.target/powerpc/vsx_mask-count-runnable.c
  37a4787409404cc5944ae67ed64e5513  gcc/testsuite/gcc.target/powerpc/vsx_mask-expand-runnable.c
  829a2621c1495feaccfe06f5b735d1db  gcc/testsuite/gcc.target/powerpc/vsx_mask-extract-runnable.c
--- 87624,87645 ----
  a8776213e94c56a3260e8eeeb1d3a2ff  gcc/testsuite/gcc.target/powerpc/vsx-vector-6-func-cmp.h
  11f83747002569efd40f99981b9a1b1a  gcc/testsuite/gcc.target/powerpc/vsx-vector-7.c
  ebd3e2644f3e43135e2172b26fafd1bf  gcc/testsuite/gcc.target/powerpc/vsx-vector-abss.c
! 43f0fd0f288b1f8b1684ec180b394ca9  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
! 48ee9cd54a5b90dfbb5863a2e48a09c8  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-10.c
! 57c9502895b5ef5cc036b4a24bc9dae2  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-11.c
! 85dab13ddf2c377ae5582da8786f518a  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-12.c
! 7e81559fd15bfe837065dcaf03ed5979  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-13.c
! 7c6cffdf3e1f05d2dec66c7d197e7517  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-14.c
! f4f27e95eeb7fb1d9c950a2108741642  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-15.c
! 8b8ea43be20a8eef8443ed25138feb09  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-16.c
! 010576f2b2aab2ba4b2ad7648f1e1bde  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
! 7de03072344d92fc674ff7667f7ec1f3  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
! 12501e17b8d40780150226d4e3dbe7cb  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
! f0050538b645310e4d0979e24d795aa2  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
! 058efb373d839b169530858336b15c64  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
! 376ac48340c386427a1be7e5e884993a  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
! 6a6f6da892e6ab1ee90807017ab944d9  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
! a9b38e5a37de52ced500d53d1d518b95  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-9.c
  c64a5cc2ce1d0b7ac9d881b4585a9313  gcc/testsuite/gcc.target/powerpc/vsx_mask-count-runnable.c
  37a4787409404cc5944ae67ed64e5513  gcc/testsuite/gcc.target/powerpc/vsx_mask-expand-runnable.c
  829a2621c1495feaccfe06f5b735d1db  gcc/testsuite/gcc.target/powerpc/vsx_mask-extract-runnable.c
*************** c6d3d1ffedb5b952a8712db0cf31c809  gcc/te
*** 106150,106155 ****
--- 106183,106189 ----
  45bdaaba50a371d379854f3b6895d276  gcc/testsuite/gfortran.dg/pr88964.f90
  d0e021239a321dbde0c39d7f370068c8  gcc/testsuite/gfortran.dg/pr89077.f90
  a2461a16a54c67eb1031deda70d3c512  gcc/testsuite/gfortran.dg/pr89084.f90
+ f3fbf1380652a88bf0a5d643b52e4a3d  gcc/testsuite/gfortran.dg/pr89092.f90
  be4f5532cbaa58d083d822b627ffe5de  gcc/testsuite/gfortran.dg/pr89253.f
  eb191e16157f03cba56fb00422bb2852  gcc/testsuite/gfortran.dg/pr89266.f90
  2726f9a132f249a727072d95e5f0aee3  gcc/testsuite/gfortran.dg/pr89344.f90
*************** cde7364d679bf019115a37fca70a6f52  gcc/te
*** 115227,115233 ****
  a658e6e3511698723b87be3277ba706d  gcc/testsuite/lib/go-torture.exp
  450868d4f15f0faade8c693e132ee071  gcc/testsuite/lib/go.exp
  8699bdd60911dccd7ce56e96f4032646  gcc/testsuite/lib/hwasan-dg.exp
! 570d1ec9b7a393a25ac703df89bbc0ee  gcc/testsuite/lib/lto.exp
  645e8af17b334c4e279636a7b47dacbe  gcc/testsuite/lib/mike-g++.exp
  b2d617c3a17f3ed4084a60722369c3a8  gcc/testsuite/lib/mike-gcc.exp
  bf783dcd14ad74babc1bf3e91cc46055  gcc/testsuite/lib/modules.exp
--- 115261,115267 ----
  a658e6e3511698723b87be3277ba706d  gcc/testsuite/lib/go-torture.exp
  450868d4f15f0faade8c693e132ee071  gcc/testsuite/lib/go.exp
  8699bdd60911dccd7ce56e96f4032646  gcc/testsuite/lib/hwasan-dg.exp
! 0fc3c9996c992caced4cf2071cceba21  gcc/testsuite/lib/lto.exp
  645e8af17b334c4e279636a7b47dacbe  gcc/testsuite/lib/mike-g++.exp
  b2d617c3a17f3ed4084a60722369c3a8  gcc/testsuite/lib/mike-gcc.exp
  bf783dcd14ad74babc1bf3e91cc46055  gcc/testsuite/lib/modules.exp
*************** ec93059a3a566b33ecd4779d2fd3b4ee  gcc/tr
*** 117755,117763 ****
  de1b16517568fbc9dc329b653c6d6342  gcc/tree-pretty-print.cc
  fd4dd1219acc650a4f7855faa0097964  gcc/tree-pretty-print.h
  f2fea638426d89fe9ea58081e5c46b3a  gcc/tree-profile.cc
! b2ea6fc51eae4a47de35dc40a3f0235c  gcc/tree-scalar-evolution.cc
  dddd950fe463803c41bc0c7cddf0fe44  gcc/tree-scalar-evolution.h
! 13a1a3c110f5436efaea0ba67d84704f  gcc/tree-sra.cc
  c022e816e38c8f399e6a16163c56d6db  gcc/tree-sra.h
  3e42023ef3fe5187ffffddbbb5740208  gcc/tree-ssa-address.cc
  c724c8becbea9eec0f806e3335942c32  gcc/tree-ssa-address.h
--- 117789,117797 ----
  de1b16517568fbc9dc329b653c6d6342  gcc/tree-pretty-print.cc
  fd4dd1219acc650a4f7855faa0097964  gcc/tree-pretty-print.h
  f2fea638426d89fe9ea58081e5c46b3a  gcc/tree-profile.cc
! 055f8d35b7a9085ff9d4a90cd58ba399  gcc/tree-scalar-evolution.cc
  dddd950fe463803c41bc0c7cddf0fe44  gcc/tree-scalar-evolution.h
! c3e3a779f36071ad50d8313d6922fd81  gcc/tree-sra.cc
  c022e816e38c8f399e6a16163c56d6db  gcc/tree-sra.h
  3e42023ef3fe5187ffffddbbb5740208  gcc/tree-ssa-address.cc
  c724c8becbea9eec0f806e3335942c32  gcc/tree-ssa-address.h
*************** cf4bde43ab3b843eff45bac243d4116d  gcc/tr
*** 117782,117788 ****
  02e9a1bf25d500979aa57640611d72bc  gcc/tree-ssa-loop-ch.cc
  b95106c31df764f5bd162b7d1cab8727  gcc/tree-ssa-loop-im.cc
  21088fa37f899ccd0056bf3486157db9  gcc/tree-ssa-loop-ivcanon.cc
! 16adb8fe3a072acbebf0e97867daeb3a  gcc/tree-ssa-loop-ivopts.cc
  1f70c217ef5bd5f655512b9232754870  gcc/tree-ssa-loop-ivopts.h
  71ebf1f6c8d82b1fdbca6c7aa3bd14cb  gcc/tree-ssa-loop-manip.cc
  fbcc93539b376489c1256eb8cf2d4800  gcc/tree-ssa-loop-manip.h
--- 117816,117822 ----
  02e9a1bf25d500979aa57640611d72bc  gcc/tree-ssa-loop-ch.cc
  b95106c31df764f5bd162b7d1cab8727  gcc/tree-ssa-loop-im.cc
  21088fa37f899ccd0056bf3486157db9  gcc/tree-ssa-loop-ivcanon.cc
! f5aabdf92f06e52bc27ccf01db908c7f  gcc/tree-ssa-loop-ivopts.cc
  1f70c217ef5bd5f655512b9232754870  gcc/tree-ssa-loop-ivopts.h
  71ebf1f6c8d82b1fdbca6c7aa3bd14cb  gcc/tree-ssa-loop-manip.cc
  fbcc93539b376489c1256eb8cf2d4800  gcc/tree-ssa-loop-manip.h
*************** da72a60de8a6f51a635ead26120d3cc7  gcc/tr
*** 117800,117810 ****
  08cb1e9bb65caad7ed062b606b4c9334  gcc/tree-ssa-phiopt.cc
  0864f59d85045caee0a643f82fa6d20c  gcc/tree-ssa-phiprop.cc
  0c173f8637d1259922572eb432a405ef  gcc/tree-ssa-pre.cc
! 207e8eba5552b33b5aae2de6e7c1f35d  gcc/tree-ssa-propagate.cc
  299c5d8dabcb4a4d30bab51fbedc4e68  gcc/tree-ssa-propagate.h
  233d764ee886ccb3223d08a55f2a1ddc  gcc/tree-ssa-reassoc.cc
  258492cd7ef04be49374ea1e670f3b5b  gcc/tree-ssa-reassoc.h
! 9345c4fd15591c1c4b2ae0642aa4848e  gcc/tree-ssa-sccvn.cc
  4b05103d4706bf37cd0bc9f018b40965  gcc/tree-ssa-sccvn.h
  a27c58eccc3d8929767feb76dc99399f  gcc/tree-ssa-scopedtables.cc
  aa25adbcb019dd38a66ce237df54ae1d  gcc/tree-ssa-scopedtables.h
--- 117834,117844 ----
  08cb1e9bb65caad7ed062b606b4c9334  gcc/tree-ssa-phiopt.cc
  0864f59d85045caee0a643f82fa6d20c  gcc/tree-ssa-phiprop.cc
  0c173f8637d1259922572eb432a405ef  gcc/tree-ssa-pre.cc
! bc94d7017980d97ff957feb308ae771c  gcc/tree-ssa-propagate.cc
  299c5d8dabcb4a4d30bab51fbedc4e68  gcc/tree-ssa-propagate.h
  233d764ee886ccb3223d08a55f2a1ddc  gcc/tree-ssa-reassoc.cc
  258492cd7ef04be49374ea1e670f3b5b  gcc/tree-ssa-reassoc.h
! 75dae5095694fdd16fd1116e1de1dbbb  gcc/tree-ssa-sccvn.cc
  4b05103d4706bf37cd0bc9f018b40965  gcc/tree-ssa-sccvn.h
  a27c58eccc3d8929767feb76dc99399f  gcc/tree-ssa-scopedtables.cc
  aa25adbcb019dd38a66ce237df54ae1d  gcc/tree-ssa-scopedtables.h
*************** cc0bdf3f684b251509b8552d2d8549a3  gcc/tr
*** 117841,117847 ****
  a41c3fb8911461149186ff901cf31d4a  gcc/tree-vect-loop.cc
  77240c08cea454c2d4a449206f7930c3  gcc/tree-vect-patterns.cc
  baa70369c21f662d5e61d1296052d231  gcc/tree-vect-slp-patterns.cc
! ab9bcf6e6a2121e20b6e65fff17d0f2e  gcc/tree-vect-slp.cc
  c095caa5b1ced0e7d097e6a525709865  gcc/tree-vect-stmts.cc
  c8efeee600d612c4bae8dda4bd45ee54  gcc/tree-vector-builder.cc
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
--- 117875,117881 ----
  a41c3fb8911461149186ff901cf31d4a  gcc/tree-vect-loop.cc
  77240c08cea454c2d4a449206f7930c3  gcc/tree-vect-patterns.cc
  baa70369c21f662d5e61d1296052d231  gcc/tree-vect-slp-patterns.cc
! 1509298594ae256fc192ed720185ee63  gcc/tree-vect-slp.cc
  c095caa5b1ced0e7d097e6a525709865  gcc/tree-vect-stmts.cc
  c8efeee600d612c4bae8dda4bd45ee54  gcc/tree-vector-builder.cc
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
*************** a3a7e9ca6057da9ca42e03e41e1c73f7  libgo/
*** 126854,126860 ****
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 112418432f958b0c7d637d694e34ae4a  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  883cfea6de23904b83d6bd58a729c866  libgomp/Makefile.am
  54c7bc8277669e3bf5f1a3db179ae206  libgomp/Makefile.in
--- 126888,126894 ----
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! a94d9f4d111e1bac7d91b164dc59bb5b  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  883cfea6de23904b83d6bd58a729c866  libgomp/Makefile.am
  54c7bc8277669e3bf5f1a3db179ae206  libgomp/Makefile.in
*************** e84312e49f013526d73d8d431b003123  libgom
*** 127507,127512 ****
--- 127541,127547 ----
  a4ab197aeadddd54aec1345501b5ea69  libgomp/testsuite/libgomp.c-c++-common/critical-hint-2.c
  a91d1e81f6056f17808a3f96ef2583c6  libgomp/testsuite/libgomp.c-c++-common/declare-target-indirect-1.c
  340f18f5450878329ed68937e697b129  libgomp/testsuite/libgomp.c-c++-common/declare-target-indirect-2.c
+ 87cbcc55746faa452b358c6cc4478de3  libgomp/testsuite/libgomp.c-c++-common/declare-variant-1.c
  12e3ee01b70343537315551db476c391  libgomp/testsuite/libgomp.c-c++-common/declare_target-1.c
  59c8656b7740501a704831756762d395  libgomp/testsuite/libgomp.c-c++-common/default-1.c
  a1a09ff547c6ff16fad80cd2261269ee  libgomp/testsuite/libgomp.c-c++-common/depend-1.c
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 131884,131890 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 3b7b8dc985085961bd5ea2982a0223ca  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 131919,131925 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! b8cf2b6228e41fdbafb5d88b3f81bd1b  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** fcc955b62295ec860d3325dcc560c84d  libstd
*** 133169,133175 ****
  2cf343e6aa6c9958f694b82002cb0ebc  libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
  88e49bb63ce2d7e0b660d8e6d42f380b  libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
  5a26ba93d8f758420b81f277bbf2b9ae  libstdc++-v3/include/ext/pod_char_traits.h
! c3b861479f216b935dce1631e21f1f40  libstdc++-v3/include/ext/pointer.h
  632b168bc3f59ee2f8d768f850477130  libstdc++-v3/include/ext/pool_allocator.h
  b322a22912e51ceadd84487a08225730  libstdc++-v3/include/ext/random
  d4823ad58701997da39ea15b0978cef0  libstdc++-v3/include/ext/random.tcc
--- 133204,133210 ----
  2cf343e6aa6c9958f694b82002cb0ebc  libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
  88e49bb63ce2d7e0b660d8e6d42f380b  libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
  5a26ba93d8f758420b81f277bbf2b9ae  libstdc++-v3/include/ext/pod_char_traits.h
! 4ad79df4aafab52a65d948cf79db6e77  libstdc++-v3/include/ext/pointer.h
  632b168bc3f59ee2f8d768f850477130  libstdc++-v3/include/ext/pool_allocator.h
  b322a22912e51ceadd84487a08225730  libstdc++-v3/include/ext/random
  d4823ad58701997da39ea15b0978cef0  libstdc++-v3/include/ext/random.tcc
*************** eb20df8190cb844a12f9fd68d043bcf0  libstd
*** 133232,133238 ****
  44d4d211c772a6d7858623a3153850b1  libstdc++-v3/include/parallel/types.h
  7997eb362a00f19f0f8e29fe72718fba  libstdc++-v3/include/parallel/unique_copy.h
  322d276913feb4b729019573db0593af  libstdc++-v3/include/parallel/workstealing.h
! 37ac2dd1c7910a98bcbb9619d27add88  libstdc++-v3/include/precompiled/extc++.h
  f0e7cc468f73a8275305a72b5912aab4  libstdc++-v3/include/precompiled/stdc++.h
  a62eb60403f5499c2d4a096e6a68b92b  libstdc++-v3/include/precompiled/stdtr1c++.h
  75cfb36aeb3ed8672bb4e2957272203c  libstdc++-v3/include/pstl/LICENSE.txt
--- 133267,133273 ----
  44d4d211c772a6d7858623a3153850b1  libstdc++-v3/include/parallel/types.h
  7997eb362a00f19f0f8e29fe72718fba  libstdc++-v3/include/parallel/unique_copy.h
  322d276913feb4b729019573db0593af  libstdc++-v3/include/parallel/workstealing.h
! 1bef868830f6ae886926e0673e218c09  libstdc++-v3/include/precompiled/extc++.h
  f0e7cc468f73a8275305a72b5912aab4  libstdc++-v3/include/precompiled/stdc++.h
  a62eb60403f5499c2d4a096e6a68b92b  libstdc++-v3/include/precompiled/stdtr1c++.h
  75cfb36aeb3ed8672bb4e2957272203c  libstdc++-v3/include/pstl/LICENSE.txt
*************** d100df3b99954e5e2a1e25ac7967528c  libstd
*** 133728,133734 ****
  fa6dd9de47fc1161957dd77bcc925b13  libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
  e4a354a67235724c5f38b1fc51630071  libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc
  1b083d4d975f6db8c98c387c2bf43571  libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc
! 0356cb159c4380ee8a1f33c09ac965fc  libstdc++-v3/testsuite/17_intro/names.cc
  d4446489cc9fd961dbc2f15b2b21fca7  libstdc++-v3/testsuite/17_intro/names_fortify.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
--- 133763,133769 ----
  fa6dd9de47fc1161957dd77bcc925b13  libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
  e4a354a67235724c5f38b1fc51630071  libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc
  1b083d4d975f6db8c98c387c2bf43571  libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc
! 052973417959d5ac0ff9e2d890cfc8f0  libstdc++-v3/testsuite/17_intro/names.cc
  d4446489cc9fd961dbc2f15b2b21fca7  libstdc++-v3/testsuite/17_intro/names_fortify.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
diff -Nrcpad gcc-15-20250920/gcc/ChangeLog gcc-15-20250927/gcc/ChangeLog
*** gcc-15-20250920/gcc/ChangeLog	Sat Sep 20 22:32:26 2025
--- gcc-15-20250927/gcc/ChangeLog	Sat Sep 27 22:32:42 2025
***************
*** 1,3 ****
--- 1,155 ----
+ 2025-09-26  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-09-26  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/121875
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_can_inline_p): New function.
+ 	(TARGET_CAN_INLINE_P): Define.
+ 
+ 2025-09-25  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2025-09-15  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR tree-optimization/121772
+ 	* match.pd: Add type check to reduc(ctor) pattern.
+ 
+ 2025-09-25  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-09-18  Tobias Burnus  <tburnus@baylibre.com>
+ 		    Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	PR middle-end/121922
+ 	* omp-general.cc (omp_dynamic_cond): Use 'unshare_expr' for
+ 	the user condition.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121977
+ 	* omp-low.cc (lower_omp_regimplify_operands_p): If maybe_lookup_decl
+ 	returns NULL, use maybe_lookup_decl_in_outer_ctx as fallback.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/invoke.texi (Wimplicit-fallthrough=): Document that also C23
+ 	provides a standard way to suppress the warning with [[fallthrough]];.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121828
+ 	* gimple-lower-bitint.cc (gimple_lower_bitint): For REALPART_EXPR
+ 	consumed by store in the same bb and with REALPART_EXPR from
+ 	optimizable_arith_overflow, don't add REALPART_EXPR lhs to
+ 	the m_names bitmap only if the cast from IMAGPART_EXPR doesn't
+ 	appear in between the REALPART_EXPR and the store.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121831
+ 	* expr.cc (raw_data_cst_read_str): New function.
+ 	(store_constructor) <case ARRAY_TYPE>: Handle RAW_DATA_CST.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121453
+ 	* omp-expand.cc (expand_omp_for_init_counts): Clear fd->loop.n2
+ 	before first zero count check if zero_iter1_bb is non-NULL upon
+ 	entry and fd->loop.n2 has not been written yet.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/122016
+ 	* tree-ssa-sccvn.cc (vn_nary_simplify): Do not use the
+ 	simplified expression when it references abnormals.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121870
+ 	* tree-ssa-propagate.cc
+ 	(substitute_and_fold_engine::substitute_and_fold): Skip
+ 	removed stmts from noreturn fixup.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/107997
+ 	PR tree-optimization/121844
+ 	* tree-ssa-loop-ivopts.cc (allow_ip_end_pos_p): Do not allow
+ 	IP_END for latches ending with a control stmt.
+ 	(create_new_iv): Do not split the latch edge, instead assert
+ 	that's not necessary.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-08-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121659
+ 	* tree-vect-slp.cc (vect_build_slp_tree_1): Do not allow
+ 	matching up comparison operators by swapping if that would
+ 	disturb STMT_VINFO_REDUC_IDX.  Make sure to only
+ 	actually mark operands for swapping when there was a
+ 	mismatch and we're not processing the first stmt.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-08-19  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121527
+ 	* tree-sra.cc (build_access_from_expr_1): Do not strip an
+ 	outer VIEW_CONVERT_EXPR as it's relevant for the size of
+ 	the access.
+ 	(get_access_for_expr): Likewise.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-08-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121370
+ 	* tree-scalar-evolution.cc (scev_dfs::add_to_evolution_1):
+ 	Avoid UB integer overflow in accumulating CHREC_RIGHT.
+ 
+ 2025-09-20  Michael Eager  <eager@eagercon.com>
+ 
+ 	PR target/118280
+ 	* config/microblaze/iterators.md: New.
+ 	* config/microblaze/microblaze-protos.h: Add
+ 	microblaze_subword_address.
+ 	* config/microblaze/microblaze.cc: Ditto.
+ 	* config/microblaze/microblaze.md: constants: Add UNSPECV_CAS_BOOL,
+ 	UNSPECV_CAS_MEM, UNSPECV_CAS_VAL, UNSPECV_ATOMIC_FETCH_OP
+ 	type: add atomic
+ 	* config/microblaze/sync.md: Add atomic_fetch_<atomic_optab>si
+ 	atomic_test_and_set
+ 
  2025-09-18  hongtao.liu  <hongtao.liu@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250920/gcc/DATESTAMP gcc-15-20250927/gcc/DATESTAMP
*** gcc-15-20250920/gcc/DATESTAMP	Sat Sep 20 22:32:27 2025
--- gcc-15-20250927/gcc/DATESTAMP	Sat Sep 27 22:32:42 2025
***************
*** 1 ****
! 20250920
--- 1 ----
! 20250927
diff -Nrcpad gcc-15-20250920/gcc/ada/ChangeLog gcc-15-20250927/gcc/ada/ChangeLog
*** gcc-15-20250920/gcc/ada/ChangeLog	Sat Sep 20 22:32:27 2025
--- gcc-15-20250927/gcc/ada/ChangeLog	Sat Sep 27 22:32:42 2025
***************
*** 1,3 ****
--- 1,10 ----
+ 2025-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/121968
+ 	* sem_ch12.adb (Associations.Find_Assoc): Add guard for clauses.
+ 	* sem_dim.adb (Analyze_Dimension_Array_Aggregate): Add test for
+ 	N_Iterated_Component_Association nodes.
+ 
  2025-09-15  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* gcc-interface/trans.cc (gnat_to_gnu)
diff -Nrcpad gcc-15-20250920/gcc/ada/sem_ch12.adb gcc-15-20250927/gcc/ada/sem_ch12.adb
*** gcc-15-20250920/gcc/ada/sem_ch12.adb	Sat Sep 20 22:32:27 2025
--- gcc-15-20250927/gcc/ada/sem_ch12.adb	Sat Sep 27 22:32:43 2025
*************** package body Sem_Ch12 is
*** 2044,2052 ****
        is
        begin
           for Index in Gen_Assocs.Assocs'Range loop
!             if Defining_Entity (Gen_Assocs.Assocs (Index).An_Formal) = F then
!                return Index;
!             end if;
           end loop;
  
           raise Program_Error; -- it must be present
--- 2044,2058 ----
        is
        begin
           for Index in Gen_Assocs.Assocs'Range loop
!             declare
!                An_F : constant Node_Id := Gen_Assocs.Assocs (Index).An_Formal;
!             begin
!                if Nkind (An_F) not in N_Use_Package_Clause | N_Use_Type_Clause
!                  and then Defining_Entity (An_F) = F
!                then
!                   return Index;
!                end if;
!             end;
           end loop;
  
           raise Program_Error; -- it must be present
diff -Nrcpad gcc-15-20250920/gcc/ada/sem_dim.adb gcc-15-20250927/gcc/ada/sem_dim.adb
*** gcc-15-20250920/gcc/ada/sem_dim.adb	Sat Sep 20 22:32:27 2025
--- gcc-15-20250927/gcc/ada/sem_dim.adb	Sat Sep 27 22:32:43 2025
*************** package body Sem_Dim is
*** 1273,1279 ****
  
           --  Get the expression from the component
  
!          if Nkind (Comp) = N_Component_Association then
              Expr := Expression (Comp);
           else
              Expr := Comp;
--- 1273,1281 ----
  
           --  Get the expression from the component
  
!          if Nkind (Comp) in N_Component_Association
!                           | N_Iterated_Component_Association
!          then
              Expr := Expression (Comp);
           else
              Expr := Comp;
diff -Nrcpad gcc-15-20250920/gcc/config/loongarch/loongarch.cc gcc-15-20250927/gcc/config/loongarch/loongarch.cc
*** gcc-15-20250920/gcc/config/loongarch/loongarch.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/config/loongarch/loongarch.cc	Sat Sep 27 22:32:44 2025
*************** loongarch_compute_pressure_classes (reg_
*** 11165,11170 ****
--- 11165,11233 ----
    return i;
  }
  
+ /* Implement TARGET_CAN_INLINE_P.  Determine whether inlining the function
+    CALLER into the function CALLEE is safe.  Inlining should be rejected if
+    there is no always_inline attribute and the target options differ except
+    for differences in ISA extensions or performance tuning options like the
+    code model, TLS dialect, etc.  */
+ 
+ static bool
+ loongarch_can_inline_p (tree caller, tree callee)
+ {
+   tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee);
+   tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller);
+ 
+   if (!callee_tree)
+     callee_tree = target_option_default_node;
+ 
+   if (!caller_tree)
+     caller_tree = target_option_default_node;
+ 
+   /* If both caller and callee have attributes, assume that if the
+      pointer is different, the two functions have different target
+      options since build_target_option_node uses a hash table for the
+      options.  */
+   if (callee_tree == caller_tree)
+     return true;
+ 
+   struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree);
+   struct cl_target_option *caller_opts = TREE_TARGET_OPTION (caller_tree);
+ 
+   /* Callee and caller should have the same target options.  */
+   int callee_target_flags = callee_opts->x_target_flags;
+   int caller_target_flags = caller_opts->x_target_flags;
+ 
+   if (callee_target_flags != caller_target_flags)
+     return false;
+ 
+   /* If callee enables the isa extension that the caller does not enable,
+      inlining is disabled.  */
+   if (~caller_opts->x_la_isa_evolution
+       & callee_opts->x_la_isa_evolution)
+     return false;
+ 
+   /* If simd extensions are enabled for the callee but not for the caller,
+      inlining is disabled.  */
+   if ((caller_opts->x_la_opt_simd == ISA_EXT_NONE
+        && callee_opts->x_la_opt_simd != ISA_EXT_NONE)
+       || (caller_opts->x_la_opt_simd == ISA_EXT_SIMD_LSX
+ 	  && callee_opts->x_la_opt_simd == ISA_EXT_SIMD_LASX))
+     return false;
+ 
+   bool always_inline
+     = lookup_attribute ("always_inline", DECL_ATTRIBUTES (callee));
+ 
+   /* If the architectural features match up and the callee is always_inline
+      then the other attributes don't matter.  */
+   if (always_inline)
+     return true;
+ 
+   if (caller_opts->x_la_opt_cmodel != callee_opts->x_la_opt_cmodel)
+     return false;
+ 
+   return true;
+ }
+ 
  /* Initialize the GCC target structure.  */
  #undef TARGET_ASM_ALIGNED_HI_OP
  #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t"
*************** loongarch_compute_pressure_classes (reg_
*** 11442,11447 ****
--- 11505,11513 ----
  #undef TARGET_COMPUTE_PRESSURE_CLASSES
  #define TARGET_COMPUTE_PRESSURE_CLASSES loongarch_compute_pressure_classes
  
+ #undef TARGET_CAN_INLINE_P
+ #define TARGET_CAN_INLINE_P loongarch_can_inline_p
+ 
  struct gcc_target targetm = TARGET_INITIALIZER;
  
  #include "gt-loongarch.h"
diff -Nrcpad gcc-15-20250920/gcc/cp/ChangeLog gcc-15-20250927/gcc/cp/ChangeLog
*** gcc-15-20250920/gcc/cp/ChangeLog	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/ChangeLog	Sat Sep 27 22:32:44 2025
***************
*** 1,3 ****
--- 1,57 ----
+ 2025-09-25  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-09-25  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/122015
+ 	PR c++/122019
+ 	* module.cc (trees_in::install_entity): Remove incorrect
+ 	assertion.
+ 
+ 2025-09-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/121981
+ 	* pt.cc (any_template_parm_r) <case TEMPLATE_TYPE_PARM>:
+ 	Don't walk TREE_TYPE.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121524
+ 	* tree.cc (build_cplus_array_type): Don't reuse variant type
+ 	if it has TREE_DEPRECATED or TREE_UNAVAILABLE flags set or,
+ 	unless elt_type has TYPE_USER_ALIGN set and TYPE_ALIGN is
+ 	TYPE_ALIGN of elt_type, TYPE_USER_ALIGN is not set.
+ 
+ 2025-09-24  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-09-24  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/122019
+ 	* module.cc (trees_in::install_entity): Don't be affected by
+ 	global language linkage state.
+ 	(trees_in::is_matching_decl): Check mismatching language linkage
+ 	for variables too.
+ 	(module_may_redeclare): Report the correct module name for
+ 	partitions and implementation units.
+ 
+ 2025-09-23  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-09-22  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/122015
+ 	* cp-tree.h (make_auto_pack): Declare.
+ 	* lambda.cc (lambda_capture_field_type): Use make_auto_pack to
+ 	ensure TYPE_CANONICAL is set correctly.
+ 	* pt.cc (make_auto_pack): New function.
+ 
  2025-09-15  Matthias Kretz  <m.kretz@gsi.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250920/gcc/cp/cp-tree.h gcc-15-20250927/gcc/cp/cp-tree.h
*** gcc-15-20250920/gcc/cp/cp-tree.h	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/cp-tree.h	Sat Sep 27 22:32:44 2025
*************** extern tree make_constrained_auto		(tree
*** 7663,7668 ****
--- 7663,7669 ----
  extern tree make_constrained_decltype_auto	(tree, tree);
  extern tree make_template_placeholder		(tree);
  extern tree make_cast_auto			(void);
+ extern tree make_auto_pack			(void);
  extern bool template_placeholder_p		(tree);
  extern bool ctad_template_p			(tree);
  extern bool unparenthesized_id_or_class_member_access_p (tree);
diff -Nrcpad gcc-15-20250920/gcc/cp/lambda.cc gcc-15-20250927/gcc/cp/lambda.cc
*** gcc-15-20250920/gcc/cp/lambda.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/lambda.cc	Sat Sep 27 22:32:44 2025
*************** lambda_capture_field_type (tree expr, bo
*** 222,239 ****
      type = TREE_TYPE (expr);
    else if (explicit_init_p)
      {
-       tree auto_node = make_auto ();
- 
-       type = auto_node;
-       if (by_reference_p)
- 	/* Add the reference now, so deduction doesn't lose
- 	   outermost CV qualifiers of EXPR.  */
- 	type = build_reference_type (type);
        if (uses_parameter_packs (expr))
! 	/* Stick with 'auto' even if the type could be deduced.  */
! 	TEMPLATE_TYPE_PARAMETER_PACK (auto_node) = true;
        else
! 	type = do_auto_deduction (type, expr, auto_node);
      }
    else if (!type_deducible_expression_p (expr))
      {
--- 222,244 ----
      type = TREE_TYPE (expr);
    else if (explicit_init_p)
      {
        if (uses_parameter_packs (expr))
! 	{
! 	  /* Stick with 'auto...' even if the type could be deduced.  */
! 	  type = make_auto_pack ();
! 	  if (by_reference_p)
! 	    type = build_reference_type (type);
! 	}
        else
! 	{
! 	  tree auto_node = make_auto ();
! 	  type = auto_node;
! 	  if (by_reference_p)
! 	    /* Add the reference now, so deduction doesn't lose
! 	       outermost CV qualifiers of EXPR.  */
! 	    type = build_reference_type (type);
! 	  type = do_auto_deduction (type, expr, auto_node);
! 	}
      }
    else if (!type_deducible_expression_p (expr))
      {
diff -Nrcpad gcc-15-20250920/gcc/cp/module.cc gcc-15-20250927/gcc/cp/module.cc
*** gcc-15-20250920/gcc/cp/module.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/module.cc	Sat Sep 27 22:32:44 2025
*************** trees_in::install_entity (tree decl)
*** 8109,8115 ****
    if (!DECL_LANG_SPECIFIC (not_tmpl)
        || !DECL_MODULE_ENTITY_P (not_tmpl))
      {
!       retrofit_lang_decl (not_tmpl);
        DECL_MODULE_ENTITY_P (not_tmpl) = true;
  
        /* Insert into the entity hash (it cannot already be there).  */
--- 8109,8121 ----
    if (!DECL_LANG_SPECIFIC (not_tmpl)
        || !DECL_MODULE_ENTITY_P (not_tmpl))
      {
!       /* We don't want to use retrofit_lang_decl directly so that we aren't
! 	 affected by the language state when we load in.  */
!       if (!DECL_LANG_SPECIFIC (not_tmpl))
! 	{
! 	  maybe_add_lang_decl_raw (not_tmpl, false);
! 	  SET_DECL_LANGUAGE (not_tmpl, lang_cplusplus);
! 	}
        DECL_MODULE_ENTITY_P (not_tmpl) = true;
  
        /* Insert into the entity hash (it cannot already be there).  */
*************** trees_in::is_matching_decl (tree existin
*** 12148,12154 ****
  
    // FIXME: do more precise errors at point of mismatch
    const char *mismatch_msg = nullptr;
!   if (TREE_CODE (d_inner) == FUNCTION_DECL)
      {
        tree e_ret = fndecl_declared_return_type (existing);
        tree d_ret = fndecl_declared_return_type (decl);
--- 12154,12168 ----
  
    // FIXME: do more precise errors at point of mismatch
    const char *mismatch_msg = nullptr;
! 
!   if (VAR_OR_FUNCTION_DECL_P (d_inner)
!       && DECL_EXTERN_C_P (d_inner) != DECL_EXTERN_C_P (e_inner))
!     {
!       mismatch_msg = G_("conflicting language linkage for imported "
! 			"declaration %#qD");
!       goto mismatch;
!     }
!   else if (TREE_CODE (d_inner) == FUNCTION_DECL)
      {
        tree e_ret = fndecl_declared_return_type (existing);
        tree d_ret = fndecl_declared_return_type (decl);
*************** trees_in::is_matching_decl (tree existin
*** 12165,12177 ****
        tree e_type = TREE_TYPE (e_inner);
        tree d_type = TREE_TYPE (d_inner);
  
-       if (DECL_EXTERN_C_P (d_inner) != DECL_EXTERN_C_P (e_inner))
- 	{
- 	  mismatch_msg = G_("conflicting language linkage for imported "
- 			    "declaration %#qD");
- 	  goto mismatch;
- 	}
- 
        for (tree e_args = TYPE_ARG_TYPES (e_type),
  	     d_args = TYPE_ARG_TYPES (d_type);
  	   e_args != d_args && (e_args || d_args);
--- 12179,12184 ----
*************** module_may_redeclare (tree olddecl, tree
*** 20641,20647 ****
      // FIXME: Should we be checking this in more places on the scope chain?
      return true;
  
!   module_state *old_mod = (*modules)[0];
    module_state *new_mod = old_mod;
  
    tree old_origin = get_originating_module_decl (decl);
--- 20648,20654 ----
      // FIXME: Should we be checking this in more places on the scope chain?
      return true;
  
!   module_state *old_mod = get_primary ((*modules)[0]);
    module_state *new_mod = old_mod;
  
    tree old_origin = get_originating_module_decl (decl);
*************** module_may_redeclare (tree olddecl, tree
*** 20651,20657 ****
    if (DECL_LANG_SPECIFIC (old_inner) && DECL_MODULE_IMPORT_P (old_inner))
      {
        unsigned index = import_entity_index (old_origin);
!       old_mod = import_entity_module (index);
      }
  
    bool newdecl_attached_p = module_attach_p ();
--- 20658,20664 ----
    if (DECL_LANG_SPECIFIC (old_inner) && DECL_MODULE_IMPORT_P (old_inner))
      {
        unsigned index = import_entity_index (old_origin);
!       old_mod = get_primary (import_entity_module (index));
      }
  
    bool newdecl_attached_p = module_attach_p ();
*************** module_may_redeclare (tree olddecl, tree
*** 20664,20670 ****
        if (DECL_LANG_SPECIFIC (new_inner) && DECL_MODULE_IMPORT_P (new_inner))
  	{
  	  unsigned index = import_entity_index (new_origin);
! 	  new_mod = import_entity_module (index);
  	}
      }
  
--- 20671,20677 ----
        if (DECL_LANG_SPECIFIC (new_inner) && DECL_MODULE_IMPORT_P (new_inner))
  	{
  	  unsigned index = import_entity_index (new_origin);
! 	  new_mod = get_primary (import_entity_module (index));
  	}
      }
  
*************** module_may_redeclare (tree olddecl, tree
*** 20675,20682 ****
  	/* Both are GM entities, OK.  */
  	return true;
  
!       if (new_mod == old_mod
! 	  || (new_mod && get_primary (new_mod) == get_primary (old_mod)))
  	/* Both attached to same named module, OK.  */
  	return true;
      }
--- 20682,20688 ----
  	/* Both are GM entities, OK.  */
  	return true;
  
!       if (new_mod == old_mod)
  	/* Both attached to same named module, OK.  */
  	return true;
      }
diff -Nrcpad gcc-15-20250920/gcc/cp/pt.cc gcc-15-20250927/gcc/cp/pt.cc
*** gcc-15-20250920/gcc/cp/pt.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/pt.cc	Sat Sep 27 22:32:44 2025
*************** any_template_parm_r (tree t, void *data)
*** 11117,11123 ****
        break;
  
      case TEMPLATE_PARM_INDEX:
!       WALK_SUBTREE (TREE_TYPE (t));
        break;
  
      case TEMPLATE_DECL:
--- 11117,11126 ----
        break;
  
      case TEMPLATE_PARM_INDEX:
!       /* No need to consider template parameters within the type of an NTTP:
! 	 substitution into an NTTP is done directly with the corresponding
! 	 template argument, and its type only comes into play earlier during
! 	 coercion.  */
        break;
  
      case TEMPLATE_DECL:
*************** make_constrained_decltype_auto (tree con
*** 30126,30131 ****
--- 30129,30146 ----
    return make_constrained_placeholder_type (type, con, args);
  }
  
+ /* Create an "auto..." type-specifier.  */
+ 
+ tree
+ make_auto_pack ()
+ {
+   tree type = make_auto_1 (auto_identifier, false);
+   TEMPLATE_TYPE_PARAMETER_PACK (type) = true;
+   /* Our canonical type depends on being a pack.  */
+   TYPE_CANONICAL (type) = canonical_type_parameter (type);
+   return type;
+ }
+ 
  /* Returns true if the placeholder type constraint T has any dependent
     (explicit) template arguments.  */
  
diff -Nrcpad gcc-15-20250920/gcc/cp/tree.cc gcc-15-20250927/gcc/cp/tree.cc
*** gcc-15-20250920/gcc/cp/tree.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/cp/tree.cc	Sat Sep 27 22:32:44 2025
*************** build_cplus_array_type (tree elt_type, t
*** 1185,1191 ****
        for (t = m; t; t = TYPE_NEXT_VARIANT (t))
  	if (TREE_TYPE (t) == elt_type
  	    && TYPE_NAME (t) == NULL_TREE
! 	    && TYPE_ATTRIBUTES (t) == NULL_TREE)
  	  break;
        if (!t)
  	{
--- 1185,1196 ----
        for (t = m; t; t = TYPE_NEXT_VARIANT (t))
  	if (TREE_TYPE (t) == elt_type
  	    && TYPE_NAME (t) == NULL_TREE
! 	    && TYPE_ATTRIBUTES (t) == NULL_TREE
! 	    && (!TYPE_USER_ALIGN (t)
! 		|| (TYPE_USER_ALIGN (elt_type)
! 		    && TYPE_ALIGN (t) == TYPE_ALIGN (elt_type)))
! 	    && !TREE_DEPRECATED (t)
! 	    && !TREE_UNAVAILABLE (t))
  	  break;
        if (!t)
  	{
diff -Nrcpad gcc-15-20250920/gcc/doc/invoke.texi gcc-15-20250927/gcc/doc/invoke.texi
*** gcc-15-20250920/gcc/doc/invoke.texi	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/doc/invoke.texi	Sat Sep 27 22:32:44 2025
*************** switch (cond)
*** 7189,7195 ****
  @end group
  @end smallexample
  
! C++17 provides a standard way to suppress the @option{-Wimplicit-fallthrough}
  warning using @code{[[fallthrough]];} instead of the GNU attribute.  In C++11
  or C++14 users can use @code{[[gnu::fallthrough]];}, which is a GNU extension.
  Instead of these attributes, it is also possible to add a fallthrough comment
--- 7189,7195 ----
  @end group
  @end smallexample
  
! C++17 and C23 provide a standard way to suppress the @option{-Wimplicit-fallthrough}
  warning using @code{[[fallthrough]];} instead of the GNU attribute.  In C++11
  or C++14 users can use @code{[[gnu::fallthrough]];}, which is a GNU extension.
  Instead of these attributes, it is also possible to add a fallthrough comment
diff -Nrcpad gcc-15-20250920/gcc/expr.cc gcc-15-20250927/gcc/expr.cc
*** gcc-15-20250920/gcc/expr.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/expr.cc	Sat Sep 27 22:32:44 2025
*************** string_cst_read_str (void *data, void *,
*** 6538,6543 ****
--- 6538,6568 ----
    return c_readstr (TREE_STRING_POINTER (str) + offset, mode, false);
  }
  
+ /* Helper function for store_expr storing of RAW_DATA_CST.  */
+ 
+ static rtx
+ raw_data_cst_read_str (void *data, void *, HOST_WIDE_INT offset,
+ 		       fixed_size_mode mode)
+ {
+   tree cst = (tree) data;
+ 
+   gcc_assert (offset >= 0);
+   if (offset >= RAW_DATA_LENGTH (cst))
+     return const0_rtx;
+ 
+   if ((unsigned HOST_WIDE_INT) offset + GET_MODE_SIZE (mode)
+       > (unsigned HOST_WIDE_INT) RAW_DATA_LENGTH (cst))
+     {
+       char *p = XALLOCAVEC (char, GET_MODE_SIZE (mode));
+       size_t l = RAW_DATA_LENGTH (cst) - offset;
+       memcpy (p, RAW_DATA_POINTER (cst) + offset, l);
+       memset (p + l, '\0', GET_MODE_SIZE (mode) - l);
+       return c_readstr (p, mode, false);
+     }
+ 
+   return c_readstr (RAW_DATA_POINTER (cst) + offset, mode, false);
+ }
+ 
  /* Generate code for computing expression EXP,
     and storing the value into TARGET.
  
*************** store_constructor (tree exp, rtx target,
*** 7635,7641 ****
      case ARRAY_TYPE:
        {
  	tree value, index;
! 	unsigned HOST_WIDE_INT i;
  	bool need_to_clear;
  	tree domain;
  	tree elttype = TREE_TYPE (type);
--- 7660,7666 ----
      case ARRAY_TYPE:
        {
  	tree value, index;
! 	unsigned HOST_WIDE_INT i, j = 0;
  	bool need_to_clear;
  	tree domain;
  	tree elttype = TREE_TYPE (type);
*************** store_constructor (tree exp, rtx target,
*** 7697,7702 ****
--- 7722,7729 ----
  		    this_node_count = (tree_to_uhwi (hi_index)
  				       - tree_to_uhwi (lo_index) + 1);
  		  }
+ 		else if (TREE_CODE (value) == RAW_DATA_CST)
+ 		  this_node_count = RAW_DATA_LENGTH (value);
  		else
  		  this_node_count = 1;
  
*************** store_constructor (tree exp, rtx target,
*** 7739,7745 ****
  	    rtx xtarget = target;
  
  	    if (cleared && initializer_zerop (value))
! 	      continue;
  
  	    mode = TYPE_MODE (elttype);
  	    if (mode != BLKmode)
--- 7766,7776 ----
  	    rtx xtarget = target;
  
  	    if (cleared && initializer_zerop (value))
! 	      {
! 		if (TREE_CODE (value) == RAW_DATA_CST)
! 		  j += RAW_DATA_LENGTH (value) - 1;
! 		continue;
! 	      }
  
  	    mode = TYPE_MODE (elttype);
  	    if (mode != BLKmode)
*************** store_constructor (tree exp, rtx target,
*** 7755,7760 ****
--- 7786,7793 ----
  		HOST_WIDE_INT lo, hi, count;
  		tree position;
  
+ 		gcc_assert (TREE_CODE (value) != RAW_DATA_CST);
+ 
  		/* If the range is constant and "small", unroll the loop.  */
  		if (const_bounds_p
  		    && tree_fits_shwi_p (lo_index)
*************** store_constructor (tree exp, rtx target,
*** 7854,7859 ****
--- 7887,7893 ----
  	      {
  		tree position;
  
+ 		gcc_assert (TREE_CODE (value) != RAW_DATA_CST);
  		if (index == 0)
  		  index = ssize_int (1);
  
*************** store_constructor (tree exp, rtx target,
*** 7880,7886 ****
  		  bitpos = ((tree_to_shwi (index) - minelt)
  			    * tree_to_uhwi (TYPE_SIZE (elttype)));
  		else
! 		  bitpos = (i * tree_to_uhwi (TYPE_SIZE (elttype)));
  
  		if (MEM_P (target) && !MEM_KEEP_ALIAS_SET_P (target)
  		    && TREE_CODE (type) == ARRAY_TYPE
--- 7914,7920 ----
  		  bitpos = ((tree_to_shwi (index) - minelt)
  			    * tree_to_uhwi (TYPE_SIZE (elttype)));
  		else
! 		  bitpos = ((i + j) * tree_to_uhwi (TYPE_SIZE (elttype)));
  
  		if (MEM_P (target) && !MEM_KEEP_ALIAS_SET_P (target)
  		    && TREE_CODE (type) == ARRAY_TYPE
*************** store_constructor (tree exp, rtx target,
*** 7889,7898 ****
  		    target = copy_rtx (target);
  		    MEM_KEEP_ALIAS_SET_P (target) = 1;
  		  }
! 		store_constructor_field (target, bitsize, bitpos, 0,
! 					 bitregion_end, mode, value,
! 					 cleared, get_alias_set (elttype),
! 					 reverse);
  	      }
  	  }
  	break;
--- 7923,7972 ----
  		    target = copy_rtx (target);
  		    MEM_KEEP_ALIAS_SET_P (target) = 1;
  		  }
! 		if (TREE_CODE (value) != RAW_DATA_CST)
! 		  store_constructor_field (target, bitsize, bitpos, 0,
! 					   bitregion_end, mode, value,
! 					   cleared, get_alias_set (elttype),
! 					   reverse);
! 		else
! 		  {
! 		    j += RAW_DATA_LENGTH (value) - 1;
! 		    gcc_assert (known_eq (bitsize, BITS_PER_UNIT));
! 		    rtx to_rtx = adjust_address (target, mode,
! 						 bitpos / BITS_PER_UNIT);
! 
! 		    if (to_rtx == target)
! 		      to_rtx = copy_rtx (to_rtx);
! 
! 		    if (!MEM_KEEP_ALIAS_SET_P (to_rtx)
! 			&& MEM_ALIAS_SET (to_rtx) != 0)
! 		      set_mem_alias_set (to_rtx, get_alias_set (elttype));
! 
! 		    if (can_store_by_pieces (RAW_DATA_LENGTH (value),
! 					     raw_data_cst_read_str,
! 					     (void *) value,
! 					     MEM_ALIGN (target), false))
! 		      {
! 			store_by_pieces (target, RAW_DATA_LENGTH (value),
! 					 raw_data_cst_read_str, (void *) value,
! 					 MEM_ALIGN (target), false,
! 					 RETURN_BEGIN);
! 			continue;
! 		      }
! 
! 		    elttype
! 		      = build_array_type_nelts (TREE_TYPE (value),
! 						RAW_DATA_LENGTH (value));
! 		    tree ctor = build_constructor_single (elttype, NULL_TREE,
! 							  value);
! 		    ctor = tree_output_constant_def (ctor);
! 		    mode = TYPE_MODE (type);
! 		    store_constructor_field (target,
! 					     bitsize * RAW_DATA_LENGTH (value),
! 					     bitpos, 0, bitregion_end, mode,
! 					     ctor, cleared,
! 					     get_alias_set (elttype), reverse);
! 		  }
  	      }
  	  }
  	break;
diff -Nrcpad gcc-15-20250920/gcc/fortran/ChangeLog gcc-15-20250927/gcc/fortran/ChangeLog
*** gcc-15-20250920/gcc/fortran/ChangeLog	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/fortran/ChangeLog	Sat Sep 27 22:32:44 2025
***************
*** 1,3 ****
--- 1,11 ----
+ 2025-09-23  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2025-08-13  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/89092
+ 	* resolve.cc (was_declared): Add subroutine attribute.
+ 
  2025-09-09  Harald Anlauf  <anlauf@gmx.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250920/gcc/fortran/resolve.cc gcc-15-20250927/gcc/fortran/resolve.cc
*** gcc-15-20250920/gcc/fortran/resolve.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/fortran/resolve.cc	Sat Sep 27 22:32:44 2025
*************** was_declared (gfc_symbol *sym)
*** 1630,1636 ****
    if (a.allocatable || a.dimension || a.dummy || a.external || a.intrinsic
        || a.optional || a.pointer || a.save || a.target || a.volatile_
        || a.value || a.access != ACCESS_UNKNOWN || a.intent != INTENT_UNKNOWN
!       || a.asynchronous || a.codimension)
      return 1;
  
    return 0;
--- 1630,1636 ----
    if (a.allocatable || a.dimension || a.dummy || a.external || a.intrinsic
        || a.optional || a.pointer || a.save || a.target || a.volatile_
        || a.value || a.access != ACCESS_UNKNOWN || a.intent != INTENT_UNKNOWN
!       || a.asynchronous || a.codimension || a.subroutine)
      return 1;
  
    return 0;
diff -Nrcpad gcc-15-20250920/gcc/gimple-lower-bitint.cc gcc-15-20250927/gcc/gimple-lower-bitint.cc
*** gcc-15-20250920/gcc/gimple-lower-bitint.cc	Sat Sep 20 22:32:28 2025
--- gcc-15-20250927/gcc/gimple-lower-bitint.cc	Sat Sep 27 22:32:44 2025
*************** gimple_lower_bitint (void)
*** 6600,6614 ****
  	      if (is_gimple_assign (SSA_NAME_DEF_STMT (s)))
  		switch (gimple_assign_rhs_code (SSA_NAME_DEF_STMT (s)))
  		  {
  		  case IMAGPART_EXPR:
  		    {
! 		      tree rhs1 = gimple_assign_rhs1 (SSA_NAME_DEF_STMT (s));
  		      rhs1 = TREE_OPERAND (rhs1, 0);
  		      if (TREE_CODE (rhs1) == SSA_NAME)
  			{
  			  gimple *g = SSA_NAME_DEF_STMT (rhs1);
  			  if (optimizable_arith_overflow (g))
! 			    continue;
  			}
  		    }
  		    /* FALLTHRU */
--- 6600,6661 ----
  	      if (is_gimple_assign (SSA_NAME_DEF_STMT (s)))
  		switch (gimple_assign_rhs_code (SSA_NAME_DEF_STMT (s)))
  		  {
+ 		  case REALPART_EXPR:
  		  case IMAGPART_EXPR:
  		    {
! 		      gimple *ds = SSA_NAME_DEF_STMT (s);
! 		      tree rhs1 = gimple_assign_rhs1 (ds);
  		      rhs1 = TREE_OPERAND (rhs1, 0);
  		      if (TREE_CODE (rhs1) == SSA_NAME)
  			{
  			  gimple *g = SSA_NAME_DEF_STMT (rhs1);
  			  if (optimizable_arith_overflow (g))
! 			    {
! 			      if (gimple_assign_rhs_code (ds) == IMAGPART_EXPR)
! 				continue;
! 			      if (gimple_store_p (use_stmt))
! 				{
! 				  /* Punt if the cast use of IMAGPART_EXPR stmt
! 				     appears before the store use_stmt, because
! 				     optimizable arith overflow can't be
! 				     lowered at the store location in that case.
! 				     See PR121828.  */
! 				  gimple_stmt_iterator gsi
! 				    = gsi_for_stmt (use_stmt);
! 				  unsigned int cnt = 0;
! 				  do
! 				    {
! 				      gsi_prev_nondebug (&gsi);
! 				      if (gsi_end_p (gsi))
! 					break;
! 				      gimple *g2 = gsi_stmt (gsi);
! 				      if (g2 == ds)
! 					break;
! 				      if (++cnt == 64)
! 					break;
! 				      if (!gimple_assign_cast_p (g2))
! 					continue;
! 				      tree rhs2 = gimple_assign_rhs1 (g2);
! 				      if (TREE_CODE (rhs2) != SSA_NAME)
! 					continue;
! 				      gimple *g3 = SSA_NAME_DEF_STMT (rhs2);
! 				      if (!is_gimple_assign (g3))
! 					continue;
! 				      if (gimple_assign_rhs_code (g3)
! 					  != IMAGPART_EXPR)
! 					continue;
! 				      rhs2 = gimple_assign_rhs1 (g3);
! 				      rhs2 = TREE_OPERAND (rhs2, 0);
! 				      if (rhs2 != rhs1)
! 					continue;
! 				      cnt = 64;
! 				      break;
! 				    }
! 				  while (1);
! 				  if (cnt == 64)
! 				    break;
! 				}
! 			    }
  			}
  		    }
  		    /* FALLTHRU */
*************** gimple_lower_bitint (void)
*** 6619,6625 ****
  		  case EXACT_DIV_EXPR:
  		  case TRUNC_MOD_EXPR:
  		  case FIX_TRUNC_EXPR:
- 		  case REALPART_EXPR:
  		    if (gimple_store_p (use_stmt)
  			&& is_gimple_assign (use_stmt)
  			&& !gimple_has_volatile_ops (use_stmt)
--- 6666,6671 ----
diff -Nrcpad gcc-15-20250920/gcc/match.pd gcc-15-20250927/gcc/match.pd
*** gcc-15-20250920/gcc/match.pd	Sat Sep 20 22:32:29 2025
--- gcc-15-20250927/gcc/match.pd	Sat Sep 27 22:32:45 2025
*************** and,
*** 10826,10831 ****
--- 10826,10832 ----
  			 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (@0)) : @0);
  	    tree elt = ctor_single_nonzero_element (ctor); }
        (if (elt
+ 	   && types_match (type, TREE_TYPE (elt))
  	   && !HONOR_SNANS (type)
  	   && !HONOR_SIGNED_ZEROS (type))
  	{ elt; }))))
diff -Nrcpad gcc-15-20250920/gcc/omp-expand.cc gcc-15-20250927/gcc/omp-expand.cc
*** gcc-15-20250920/gcc/omp-expand.cc	Sat Sep 20 22:32:29 2025
--- gcc-15-20250927/gcc/omp-expand.cc	Sat Sep 27 22:32:45 2025
*************** expand_omp_for_init_counts (struct omp_f
*** 1895,1900 ****
--- 1895,1901 ----
  	}
      }
    bool rect_count_seen = false;
+   bool init_n2 = SSA_VAR_P (fd->loop.n2) && zero_iter1_bb;
    for (i = 0; i < (fd->ordered ? fd->ordered : fd->collapse); i++)
      {
        tree itype = TREE_TYPE (fd->loops[i].v);
*************** expand_omp_for_init_counts (struct omp_f
*** 1919,1924 ****
--- 1920,1940 ----
  	{
  	  gcond *cond_stmt;
  	  tree n1, n2;
+ 	  if (init_n2 && i < fd->collapse && !rect_count_seen)
+ 	    {
+ 	      /* When called with non-NULL zero_iter1_bb, we won't clear
+ 		 fd->loop.n2 in the if (zero_iter_bb == NULL) code below
+ 		 and if it is prior to storing fd->loop.n2 where
+ 		 rect_count_seen is set, it could be used uninitialized.
+ 		 As zero_iter1_bb in that case can be reached also if there
+ 		 are non-zero iterations, the clearing can't be emitted
+ 		 to the zero_iter1_bb, but needs to be done before the
+ 		 condition.  */
+ 	      gassign *assign_stmt
+ 		= gimple_build_assign (fd->loop.n2, build_zero_cst (type));
+ 	      gsi_insert_before (gsi, assign_stmt, GSI_SAME_STMT);
+ 	      init_n2 = false;
+ 	    }
  	  n1 = fold_convert (itype, unshare_expr (fd->loops[i].n1));
  	  n1 = force_gimple_operand_gsi (gsi, n1, true, NULL_TREE,
  					 true, GSI_SAME_STMT);
diff -Nrcpad gcc-15-20250920/gcc/omp-general.cc gcc-15-20250927/gcc/omp-general.cc
*** gcc-15-20250920/gcc/omp-general.cc	Sat Sep 20 22:32:29 2025
--- gcc-15-20250927/gcc/omp-general.cc	Sat Sep 27 22:32:45 2025
*************** omp_dynamic_cond (tree ctx, tree superco
*** 2727,2733 ****
  
        /* The user condition is not dynamic if it is constant.  */
        if (!tree_fits_shwi_p (expr))
! 	user_cond = expr;
      }
  
    /* Build the "target_device" part of the dynamic selector.  In the
--- 2727,2733 ----
  
        /* The user condition is not dynamic if it is constant.  */
        if (!tree_fits_shwi_p (expr))
! 	user_cond = unshare_expr (expr);
      }
  
    /* Build the "target_device" part of the dynamic selector.  In the
diff -Nrcpad gcc-15-20250920/gcc/omp-low.cc gcc-15-20250927/gcc/omp-low.cc
*** gcc-15-20250920/gcc/omp-low.cc	Sat Sep 20 22:32:29 2025
--- gcc-15-20250927/gcc/omp-low.cc	Sat Sep 27 22:32:45 2025
*************** lower_omp_regimplify_operands_p (tree *t
*** 14708,14713 ****
--- 14708,14715 ----
        lower_omp_regimplify_operands_data *ldata
  	= (lower_omp_regimplify_operands_data *) wi->info;
        tree o = maybe_lookup_decl (t, ldata->ctx);
+       if (o == NULL_TREE)
+ 	o = maybe_lookup_decl_in_outer_ctx (t, ldata->ctx);
        if (o != t)
  	{
  	  ldata->decls->safe_push (DECL_VALUE_EXPR (*tp));
diff -Nrcpad gcc-15-20250920/gcc/testsuite/ChangeLog gcc-15-20250927/gcc/testsuite/ChangeLog
*** gcc-15-20250920/gcc/testsuite/ChangeLog	Sat Sep 20 22:32:29 2025
--- gcc-15-20250927/gcc/testsuite/ChangeLog	Sat Sep 27 22:32:46 2025
***************
*** 1,3 ****
--- 1,182 ----
+ 2025-09-26  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-09-26  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/121875
+ 	* gcc.target/loongarch/can_inline_1.c: New test.
+ 	* gcc.target/loongarch/can_inline_2.c: New test.
+ 	* gcc.target/loongarch/can_inline_3.c: New test.
+ 	* gcc.target/loongarch/can_inline_4.c: New test.
+ 	* gcc.target/loongarch/can_inline_5.c: New test.
+ 	* gcc.target/loongarch/can_inline_6.c: New test.
+ 	* gcc.target/loongarch/pr121875.c: New test.
+ 
+ 2025-09-25  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	Backported from master:
+ 	2025-09-15  Alex Coplan  <alex.coplan@arm.com>
+ 
+ 	PR tree-optimization/121772
+ 	* gcc.target/aarch64/torture/pr121772.c: New test.
+ 
+ 2025-09-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-20  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/121981
+ 	* g++.dg/cpp2a/concepts-placeholder15.C: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121977
+ 	* g++.dg/gomp/pr121977.C: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lib/lto.exp (lto-execute-1): Search for _1.* etc. files
+ 	only with a list of known extensions.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121828
+ 	* gcc.dg/bitint-126.c: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121831
+ 	* g++.dg/lto/pr121831_0.C: New test.
+ 	* g++.dg/lto/pr121831_1.C: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR testsuite/118567
+ 	* gcc.target/powerpc/vsx-vectorize-9.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-10.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-11.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-12.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-13.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-14.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-15.c: New test.
+ 	* gcc.target/powerpc/vsx-vectorize-16.c: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR testsuite/118567
+ 	* gcc.target/powerpc/vsx-vectorize-1.c: Remove includes, checking
+ 	part of main1 and main.
+ 	* gcc.target/powerpc/vsx-vectorize-2.c: Remove includes, replace
+ 	bar definition with declaration, remove main.
+ 	* gcc.target/powerpc/vsx-vectorize-3.c: Likewise.
+ 	* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
+ 	* gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
+ 	* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
+ 	* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
+ 	* gcc.target/powerpc/vsx-vectorize-8.c: Likewise.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/121453
+ 	* gcc.dg/gomp/pr121453.c: New test.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121524
+ 	* g++.dg/cpp0x/gen-attrs-89.C: New test.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/122016
+ 	* gcc.dg/torture/pr122016.c: New testcase.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-11  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121870
+ 	* g++.dg/torture/pr121870.C: New testcase.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-09-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/107997
+ 	PR tree-optimization/121844
+ 	* gcc.dg/torture/pr121844.c: New testcase.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-08-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121659
+ 	* gcc.dg/vect/pr121659.c: New testcase.
+ 
+ 2025-09-24  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-08-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/121370
+ 	* gcc.dg/torture/pr121370.c: New testcase.
+ 
+ 2025-09-24  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-09-24  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/122019
+ 	* g++.dg/modules/lang-4_a.C: New test.
+ 	* g++.dg/modules/lang-4_b.C: New test.
+ 
+ 2025-09-23  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2025-08-13  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/89092
+ 	* gfortran.dg/pr89092.f90: New test.
+ 
+ 2025-09-23  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-09-22  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/122015
+ 	* g++.dg/modules/lambda-11.h: New test.
+ 	* g++.dg/modules/lambda-11_a.H: New test.
+ 	* g++.dg/modules/lambda-11_b.C: New test.
+ 
  2025-09-18  hongtao.liu  <hongtao.liu@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C gcc-15-20250927/gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/cpp0x/gen-attrs-89.C	Sat Sep 27 22:32:49 2025
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/121524
+ // { dg-do compile { target c++11 } }
+ 
+ typedef unsigned int T;
+ struct A { unsigned a[8]; unsigned b; };
+ struct B { T foo[8] [[gnu::aligned (32)]]; };
+ struct C { T a[8]; T b; };
+ static_assert (sizeof (C) == sizeof (A), "");
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/cpp2a/concepts-placeholder15.C gcc-15-20250927/gcc/testsuite/g++.dg/cpp2a/concepts-placeholder15.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/cpp2a/concepts-placeholder15.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/cpp2a/concepts-placeholder15.C	Sat Sep 27 22:32:49 2025
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/121981
+ // { dg-do compile { target c++20 } }
+ 
+ template<auto V>
+ concept C = requires { V; };
+ 
+ template<class T, auto V>
+ concept D = C<V>;
+ 
+ template<auto V, D<V> auto W>
+ struct A { };
+ 
+ template<auto V, D<V> T>
+ struct B { };
+ 
+ A<0, 1> a;
+ B<0, int> b;
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/gomp/pr121977.C gcc-15-20250927/gcc/testsuite/g++.dg/gomp/pr121977.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/gomp/pr121977.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/gomp/pr121977.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/121977
+ // { dg-do compile }
+ // { dg-additional-options "-ftrivial-auto-var-init=zero" }
+ 
+ struct T { T () {}; virtual ~T () {}; int t; };
+ struct S : virtual public T { int a; void foo (); };
+ 
+ void
+ S::foo ()
+ {
+ #pragma omp parallel
+   {
+     #pragma omp taskloop firstprivate (a, t) lastprivate (t)
+     for (int i = 0; i < a; i++)
+       t++;
+   }
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/lto/pr121831_0.C gcc-15-20250927/gcc/testsuite/g++.dg/lto/pr121831_0.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/lto/pr121831_0.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/lto/pr121831_0.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,17 ----
+ /* PR middle-end/121831 */
+ /* { dg-lto-do run } */
+ /* { dg-lto-options { { -O2 -flto } } } */
+ 
+ struct S { unsigned char s[256]; };
+ S a;
+ extern const S b[1];
+ struct T { unsigned char t[2048]; };
+ T c;
+ extern const T d[1];
+ 
+ __attribute__((noipa)) void
+ foo ()
+ {
+   a = b[0];
+   c = d[0];
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/lto/pr121831_1.C gcc-15-20250927/gcc/testsuite/g++.dg/lto/pr121831_1.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/lto/pr121831_1.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/lto/pr121831_1.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,64 ----
+ struct S { unsigned char s[256]; };
+ extern S a;
+ struct T { unsigned char t[2048]; };
+ extern T c;
+ extern const T d[1];
+ extern void foo ();
+ 
+ extern const S b[1] {
+   { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+     17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+     33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+     49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+     97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+     113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+     129, 0 }
+ };
+ extern const T d[1] {
+   { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+     17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+     33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+     49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+     97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+     113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+     1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+     17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+     33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+     49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+     97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+     113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+     1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+     17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+     33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+     49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+     97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+     113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+     1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+     17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+     33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+     49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+     97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+     113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 }
+ };
+ 
+ int
+ main ()
+ {
+   foo ();
+   for (int i = 0; i < 256; ++i)
+     if (a.s[i] != (i < 129 ? i + 1 : 0))
+       __builtin_abort ();
+   for (int i = 0; i < 2048; ++i)
+     if (c.t[i] != (i < 512 ? (i & 127) + 1 : 0))
+       __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11.h gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11.h
*** gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11.h	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/122015
+ 
+ template <typename> auto declval();
+ template <typename... _BindArgs> void bind_front() {
+   [... __bound_args(_BindArgs{})] {};
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11_a.H gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11_a.H
*** gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11_a.H	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11_a.H	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/122015
+ // { dg-do compile { target c++20 } }
+ // { dg-additional-options "-fmodule-header" }
+ // { dg-module-cmi {} }
+ 
+ #include "lambda-11.h"
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11_b.C gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11_b.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/modules/lambda-11_b.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/modules/lambda-11_b.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/122015
+ // { dg-do compile { target c++20 } }
+ // { dg-additional-options "-fmodules -fno-module-lazy" }
+ 
+ #include "lambda-11.h"
+ import "lambda-11_a.H";
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/modules/lang-4_a.C gcc-15-20250927/gcc/testsuite/g++.dg/modules/lang-4_a.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/modules/lang-4_a.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/modules/lang-4_a.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/122019
+ // { dg-additional-options "-fmodules -Wno-global-module" }
+ 
+ module;
+ 
+ typedef int pthread_once_t;
+ 
+ export module M;
+ 
+ namespace ns {
+   using ::pthread_once_t;
+ }
+ 
+ // note: non-function types don't have language linkage
+ extern "C++" enum E { c };
+ extern "C" typedef int T;
+ 
+ extern "C" int foo;
+ extern "C++" int bar;
+ 
+ extern "C" int qux;
+ extern "C++" int zap;
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/modules/lang-4_b.C gcc-15-20250927/gcc/testsuite/g++.dg/modules/lang-4_b.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/modules/lang-4_b.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/modules/lang-4_b.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,26 ----
+ // PR c++/122019
+ // { dg-additional-options "-fmodules -Wno-global-module" }
+ // Language linkage for types, variables, and lazy-loading in extern contexts.
+ 
+ module;
+ 
+ extern "C" enum E { c };
+ extern "C++" typedef int T;
+ 
+ extern "C++" int foo;  // { dg-message "existing" }
+ extern "C" int bar;  // { dg-message "existing" }
+ 
+ module M;
+ 
+ extern "C" ns::pthread_once_t x;
+ 
+ E e;
+ T t;
+ 
+ extern "C" { int use1 = foo; }  // { dg-message "during load" }
+ extern "C" { int use2 = bar; }  // { dg-message "during load" }
+ // { dg-error "conflicting language linkage for imported declaration 'int foo'" "" { target *-*-* } 0 }
+ // { dg-error "conflicting language linkage for imported declaration 'int bar'" "" { target *-*-* } 0 }
+ 
+ extern "C++" int qux;  // { dg-error "conflicting declaration" }
+ extern "C" int zap;  // { dg-error "conflicting declaration" }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/g++.dg/torture/pr121870.C gcc-15-20250927/gcc/testsuite/g++.dg/torture/pr121870.C
*** gcc-15-20250920/gcc/testsuite/g++.dg/torture/pr121870.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/g++.dg/torture/pr121870.C	Sat Sep 27 22:32:50 2025
***************
*** 0 ****
--- 1,20 ----
+ __attribute__((noreturn)) void f1(void)
+ {
+     while(true) {}
+ }
+ static void (*fptr)(void) = f1;
+ struct s1
+ {
+     ~s1() {
+         fptr();
+     }
+     void DoInner() {
+         fptr();
+     }
+ };
+ 
+ void f()
+ {
+     s1 xxx;
+     xxx.DoInner();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/bitint-126.c gcc-15-20250927/gcc/testsuite/gcc.dg/bitint-126.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/bitint-126.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/bitint-126.c	Sat Sep 27 22:32:53 2025
***************
*** 0 ****
--- 1,26 ----
+ /* PR middle-end/121828 */
+ /* { dg-do compile { target bitint } } */
+ /* { dg-options "-std=c23 -O2" } */
+ 
+ void baz (int);
+ #if __BITINT_MAXWIDTH__ >= 255
+ unsigned _BitInt(255) a;
+ 
+ void
+ foo (int x, int y)
+ {
+   unsigned _BitInt(255) b;
+   int t = __builtin_sub_overflow (y, x, &b);
+   baz (t);
+   a = b;
+ }
+ 
+ void
+ bar (int x, int y)
+ {
+   unsigned _BitInt(255) b;
+   bool t = __builtin_sub_overflow (y, x, &b);
+   a = b;
+   baz (t);
+ }
+ #endif
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/gomp/pr121453.c gcc-15-20250927/gcc/testsuite/gcc.dg/gomp/pr121453.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/gomp/pr121453.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/gomp/pr121453.c	Sat Sep 27 22:32:56 2025
***************
*** 0 ****
--- 1,18 ----
+ /* PR middle-end/121453 */
+ /* { dg-do compile } */
+ /* { dg-options "-fopenmp -O2 -Wuninitialized" } */
+ 
+ void bar (int, int, int);
+ int v[40][40][40];
+ 
+ void
+ foo (int x, int y, int z)
+ {
+   int i, j, k;
+ #pragma omp parallel for simd collapse(3)
+   for (k = 1; k <= z; ++k)
+     for (j = 2; j <= y - 1; ++j)
+       for (i = 1; i <= x; ++i)
+ 	v[i][j][k] = 0;
+   bar (i, j, k);
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr121370.c gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr121370.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr121370.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr121370.c	Sat Sep 27 22:32:58 2025
***************
*** 0 ****
--- 1,25 ----
+ /* { dg-do run } */
+ /* { dg-require-effective-target int32plus } */
+ 
+ int a;
+ int main()
+ {
+   int c = -2147483647;
+   int d = -2147483647;
+   int e = 2147483647;
+   if (0)
+   f:
+     e = d + e - 2;
+ g:
+   if (d - c - e > 0) {
+     a = -c;
+     if (a + d) {
+       d = 1;
+       goto g;
+     }
+     return 0;
+   }
+   if (e)
+     goto f;
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr121844.c gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr121844.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr121844.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr121844.c	Sat Sep 27 22:32:58 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ 
+ typedef unsigned long a;
+ int b[] = {};
+ int **c;
+ short d(a *e, int f)
+ {
+   *c = &f;
+   for (;;)
+     asm goto("" : : : : g);
+   for (; f; f--) {
+     asm goto("" : : : : g);
+   g:
+     *e ^= b[f + 1];
+   }
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr122016.c gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr122016.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/torture/pr122016.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/torture/pr122016.c	Sat Sep 27 22:32:58 2025
***************
*** 0 ****
--- 1,27 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-ftree-pre" } */
+ 
+ int merge_parse_args_argc;
+ char merge_parse_args_argv_0;
+ int strncmp(char *, char *, long);
+ void _setjmp();
+ typedef enum { FALSE, TRUE } boool;
+ void directory_exists();
+ void merge_parse_args() {
+   int i;
+   boool help_found = FALSE;
+   while (i < merge_parse_args_argc && !help_found) {
+     if (strncmp("", &merge_parse_args_argv_0, 2))
+       help_found = TRUE;
+     else {
+       for (;;) {
+         _setjmp();
+         break;
+       }
+       i++;
+       directory_exists();
+     }
+     i++;
+   }
+   _setjmp();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.dg/vect/pr121659.c gcc-15-20250927/gcc/testsuite/gcc.dg/vect/pr121659.c
*** gcc-15-20250920/gcc/testsuite/gcc.dg/vect/pr121659.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.dg/vect/pr121659.c	Sat Sep 27 22:32:59 2025
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ 
+ _Bool a;
+ void b(_Bool c[][3])
+ {
+   for (short d = 0; d < 100; d++)
+     for (int e = 1; e < 21; e += 4)
+       a ^= !c[1][1];
+   for (;;)
+     ;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c gcc-15-20250927/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/aarch64/torture/pr121772.c	Sat Sep 27 22:33:46 2025
***************
*** 0 ****
--- 1,5 ----
+ /* { dg-do compile } */
+ #include <arm_neon.h>
+ int16_t f(int16x4_t b) {
+   return vaddvq_s16(vcombine_s16(b, vdup_n_s16 (0)));
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_1.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_1.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_1.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_1.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {missed:   not inlinable: bar/\d+ -> foo/\d+, target specific option mismatch} "einline" } } */
+ /* { dg-final { scan-tree-dump-not {\(inlined\)} "einline" } } */
+ 
+ void
+ __attribute__ ((target ("lsx")))
+ foo (void)
+ {}
+ 
+ void
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_2.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_2.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_2.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_2.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {missed:   not inlinable: bar/\d+ -> foo/\d+, target specific option mismatch} "einline" } } */
+ /* { dg-final { scan-tree-dump-not {\(inlined\)} "einline" } } */
+ 
+ void
+ __attribute__ ((target ("lasx")))
+ foo (void)
+ {}
+ 
+ void
+ __attribute__ ((target ("lsx")))
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_3.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_3.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_3.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_3.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {missed:   not inlinable: bar/\d+ -> foo/\d+, target specific option mismatch} "einline" } } */
+ /* { dg-final { scan-tree-dump-not {\(inlined\)} "einline" } } */
+ 
+ void
+ __attribute__ ((target ("arch=la64v1.1")))
+ foo (void)
+ {}
+ 
+ void
+ __attribute__ ((target ("arch=la64v1.0")))
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_4.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_4.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_4.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_4.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {missed:   not inlinable: bar/\d+ -> foo/\d+, target specific option mismatch} "einline" } } */
+ /* { dg-final { scan-tree-dump-not {\(inlined\)} "einline" } } */
+ 
+ void
+ foo (void)
+ {}
+ 
+ void
+ __attribute__ ((target ("cmodel=extreme")))
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_5.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_5.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_5.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_5.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {\(inlined\)} "einline" } } */
+ 
+ void
+ __attribute__ ((always_inline))
+ inline
+ foo (void)
+ {}
+ 
+ void
+ __attribute__ ((target ("cmodel=extreme")))
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_6.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_6.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/can_inline_6.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/can_inline_6.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -fdump-tree-einline-details -O2" } */
+ /* { dg-final { scan-tree-dump {missed:   not inlinable: bar/\d+ -> foo/\d+, target specific option mismatch} "einline" } } */
+ /* { dg-final { scan-tree-dump-not {\(inlined\)} "einline" } } */
+ 
+ void
+ __attribute__ ((target ("strict-align")))
+ foo (void)
+ {}
+ 
+ void
+ bar (void)
+ {
+   foo ();
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/pr121875.c gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/pr121875.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/loongarch/pr121875.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/loongarch/pr121875.c	Sat Sep 27 22:33:53 2025
***************
*** 0 ****
--- 1,5 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=loongarch64 -mabi=lp64d -O2" } */
+ 
+ [[gnu::always_inline]] inline void f() {}
+ [[gnu::target("lasx")]] int main() {f();}
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c	Sat Sep 27 22:33:56 2025
***************
*** 4,11 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-align-1.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  /* Compile time known misalignment. Cannot use loop peeling to align
     the store.  */
--- 4,9 ----
*************** main1 (struct foo * __restrict__ p)
*** 28,50 ****
      {
        p->y[i] = x[i];
      }
- 
-   /* check results:  */
-   for (i = 0; i < N; i++)
-     {
-       if (p->y[i] != x[i])
- 	abort ();
-     }
-   return 0;
- }
- 
- 
- int main (void)
- {
-   int i;
-   struct foo *p = malloc (2*sizeof (struct foo));
-   
-   main1 (p);
    return 0;
  }
  
--- 26,31 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-10.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-10.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-10.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-10.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-2.c"
+ 
+ __attribute__ ((noinline))
+ void bar (float *pd, float *pa, float *pb, float *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+       if (pd[i] != 5.0)
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   float d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,&d[1],a,b,c);
+   main1 (N-2,&d[1],a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-11.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-11.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-11.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-11.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-3.c"
+ 
+ __attribute__ ((noinline))
+ void bar (short *pa, short *pb, short *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   short a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   short b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   short c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,a,b,c);
+   main1 (N-2,a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-12.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-12.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-12.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-12.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-4.c"
+ 
+ __attribute__ ((noinline))
+ void bar (double *pa, double *pb, double *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   double a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   double b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   double c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,a,b,c);
+   main1 (N-2,a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-13.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-13.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-13.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-13.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-5.c"
+ 
+ __attribute__ ((noinline))
+ void bar (char *pa, char *pb, char *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] + pc[i]))
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   char a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   char b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   char c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,a,b,c);
+   main1 (N-2,a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-14.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-14.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-14.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-14.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-6.c"
+ 
+ __attribute__ ((noinline))
+ void bar (double *pd, double *pa, double *pb, double *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+       if (pd[i] != 5.0)
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   double a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   double d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   double b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   double c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,&d[1],a,b,c);
+   main1 (N-2,&d[1],a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-15.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-15.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-15.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-15.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-7.c"
+ 
+ __attribute__ ((noinline))
+ void bar (int *pd, int *pa, int *pb, int *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+       if (pd[i] != 5.0)
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   int d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   int b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   int c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,&d[1],a,b,c);
+   main1 (N-2,&d[1],a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-16.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-16.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-16.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-16.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-95.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-8.c"
+ 
+ __attribute__ ((noinline))
+ void bar (short *pd, short *pa, short *pb, short *pc) 
+ {
+   int i;
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (pa[i] != (pb[i] * pc[i]))
+ 	abort ();
+       if (pd[i] != 5.0)
+ 	abort ();
+     }
+ 
+   return;
+ }
+ 
+ int main (void)
+ {
+   int i;
+   short a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   short d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+   short b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
+   short c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
+ 
+   main1 (N,&d[1],a,b,c);
+   main1 (N-2,&d[1],a,b,c);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c	Sat Sep 27 22:33:56 2025
***************
*** 4,31 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (float *pd, float *pa, float *pb, float *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!       if (pd[i] != 5.0)
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (float *pd, float *pa, float *pb, float *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
*************** main1 (int n, float * __restrict__ pd, f
*** 42,61 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   float d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,&d[1],a,b,c);
-   main1 (N-2,&d[1],a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" {xfail { {! vect_hw_misalign } || powerpc*-*-* } } } } */
--- 24,29 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c	Sat Sep 27 22:33:56 2025
***************
*** 4,29 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (short *pa, short *pb, short *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, short * __restrict__ pa, short * __restrict__ pb, short * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (short *pa, short *pb, short *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, short * __restrict__ pa, short * __restrict__ pb, short * __restrict__ pc)
*************** main1 (int n, short * __restrict__ pa, s
*** 39,57 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   short a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   short b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   short c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,a,b,c);
-   main1 (N-2,a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
--- 23,28 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c	Sat Sep 27 22:33:56 2025
***************
*** 4,29 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (double *pa, double *pb, double *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, double * __restrict__ pa, double * __restrict__ pb, double * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (double *pa, double *pb, double *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, double * __restrict__ pa, double * __restrict__ pb, double * __restrict__ pc)
*************** main1 (int n, double * __restrict__ pa,
*** 39,57 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   double a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   double b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   double c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,a,b,c);
-   main1 (N-2,a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" { xfail { {! vect_hw_misalign } || powerpc*-*-* } } } } */
--- 23,28 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c	Sat Sep 27 22:33:56 2025
***************
*** 4,29 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (char *pa, char *pb, char *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] + pc[i]))
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, char * __restrict__ pa, char * __restrict__ pb, char * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (char *pa, char *pb, char *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, char * __restrict__ pa, char * __restrict__ pb, char * __restrict__ pc)
*************** main1 (int n, char * __restrict__ pa, ch
*** 39,57 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   char a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   char b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   char c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,a,b,c);
-   main1 (N-2,a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
--- 23,28 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c	Sat Sep 27 22:33:56 2025
***************
*** 4,31 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (double *pd, double *pa, double *pb, double *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!       if (pd[i] != 5.0)
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, double * __restrict__ pd, double * __restrict__ pa, double * __restrict__ pb, double * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (double *pd, double *pa, double *pb, double *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, double * __restrict__ pd, double * __restrict__ pa, double * __restrict__ pb, double * __restrict__ pc)
*************** main1 (int n, double * __restrict__ pd,
*** 42,61 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   double a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   double d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   double b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   double c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,&d[1],a,b,c);
-   main1 (N-2,&d[1],a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" { xfail { {! vect_hw_misalign } || powerpc*-*-* } } } } */
--- 24,29 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c	Sat Sep 27 22:33:56 2025
***************
*** 4,31 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (int *pd, int *pa, int *pb, int *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!       if (pd[i] != 5.0)
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, int * __restrict__ pd, int * __restrict__ pa, int * __restrict__ pb, int * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (int *pd, int *pa, int *pb, int *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, int * __restrict__ pd, int * __restrict__ pa, int * __restrict__ pb, int * __restrict__ pc)
*************** main1 (int n, int * __restrict__ pd, int
*** 42,61 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   int d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   int b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   int c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,&d[1],a,b,c);
-   main1 (N-2,&d[1],a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" {xfail { {! vect_hw_misalign } || powerpc*-*-* } } } } */
--- 24,29 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c	Sat Sep 20 22:33:23 2025
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c	Sat Sep 27 22:33:56 2025
***************
*** 4,31 ****
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
- #include <stdlib.h>
- #include <stdarg.h>
  
  #define N 256
  
! __attribute__ ((noinline))
! void bar (short *pd, short *pa, short *pb, short *pc) 
! {
!   int i;
! 
!   /* check results:  */
!   for (i = 0; i < N; i++)
!     {
!       if (pa[i] != (pb[i] * pc[i]))
! 	abort ();
!       if (pd[i] != 5.0)
! 	abort ();
!     }
! 
!   return;
! }
! 
  
  __attribute__ ((noinline)) int
  main1 (int n, short * __restrict__ pd, short * __restrict__ pa, short * __restrict__ pb, short * __restrict__ pc)
--- 4,13 ----
  /* { dg-require-effective-target powerpc_vsx } */
  
  /* Taken from vect/vect-95.c.  */
  
  #define N 256
  
! void bar (short *pd, short *pa, short *pb, short *pc);
  
  __attribute__ ((noinline)) int
  main1 (int n, short * __restrict__ pd, short * __restrict__ pa, short * __restrict__ pb, short * __restrict__ pc)
*************** main1 (int n, short * __restrict__ pd, s
*** 42,61 ****
  
    return 0;
  }
- 
- int main (void)
- {
-   int i;
-   short a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   short d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-   short b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
-   short c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
- 
-   main1 (N,&d[1],a,b,c);
-   main1 (N-2,&d[1],a,b,c);
- 
-   return 0;
- }
  
  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
  /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
--- 24,29 ----
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-9.c gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-9.c
*** gcc-15-20250920/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-9.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-9.c	Sat Sep 27 22:33:56 2025
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -fno-tree-loop-distribute-patterns -fno-vect-cost-model -fdump-tree-vect-details" } */
+ 
+ /* Taken from vect/vect-align-1.c.  */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 
+ #include "vsx-vectorize-1.c"
+ 
+ int main (void)
+ {
+   int i;
+   struct foo *p = malloc (2*sizeof (struct foo));
+   
+   main1 (p);
+ 
+   /* check results:  */
+   for (i = 0; i < N; i++)
+     {
+       if (p->y[i] != x[i])
+ 	abort ();
+     }
+   return 0;
+ }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/gfortran.dg/pr89092.f90 gcc-15-20250927/gcc/testsuite/gfortran.dg/pr89092.f90
*** gcc-15-20250920/gcc/testsuite/gfortran.dg/pr89092.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/gcc/testsuite/gfortran.dg/pr89092.f90	Sat Sep 27 22:34:02 2025
***************
*** 0 ****
--- 1,49 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ module AModule
+    implicit none
+    private
+    public Foo
+ 
+    interface Foo
+       module procedure FooPrivate
+    end interface
+ contains
+    subroutine FooPrivate(x)
+       integer :: x
+ 
+       write(*,*) 'Foo(integer)'
+    end subroutine
+ end module
+ module BModule
+    implicit none
+    private
+ 
+    type, public :: BType
+    contains
+       procedure :: Foo
+    end type
+ contains
+    subroutine Foo(self)
+       class(BType) :: self
+ 
+       write(*,*) 'Foo(BType)'
+    end subroutine
+ end module
+ program iface_tbp_test
+    use AModule
+    implicit none
+ 
+    call test()
+ 
+ contains
+    subroutine test()
+       use BModule
+ 
+       type(BType) :: y
+ 
+       call y%Foo()
+       call Foo(1)
+    end subroutine
+ end program
+ ! { dg-final { scan-tree-dump-times "foo \\(&class.2\\)" 1 "original" } }
diff -Nrcpad gcc-15-20250920/gcc/testsuite/lib/lto.exp gcc-15-20250927/gcc/testsuite/lib/lto.exp
*** gcc-15-20250920/gcc/testsuite/lib/lto.exp	Sat Sep 20 22:33:33 2025
--- gcc-15-20250927/gcc/testsuite/lib/lto.exp	Sat Sep 27 22:34:13 2025
*************** proc lto-execute-1 { src1 sid } {
*** 659,667 ****
      set i 1
      set done 0
      while { !$done } {
! 	set names [glob -nocomplain -types f -- "${dir}/${base}_${i}.*"]
  	if { [llength ${names}] > 1 } {
! 	    warning "lto-execute: more than one file matched ${dir}/${base}_${i}.*"
  	}
  	if { [llength ${names}] == 1 } {
  	    lappend src_list [lindex ${names} 0]
--- 659,667 ----
      set i 1
      set done 0
      while { !$done } {
! 	set names [glob -nocomplain -types f -- "${dir}/${base}_${i}.{c,C,ii,\[fF\]{,90,95,03,08},d,m,mm}"]
  	if { [llength ${names}] > 1 } {
! 	    warning "lto-execute: more than one file matched ${dir}/${base}_${i}.{c,C,ii,\[fF\]{,90,95,03,08},d,m,mm}"
  	}
  	if { [llength ${names}] == 1 } {
  	    lappend src_list [lindex ${names} 0]
diff -Nrcpad gcc-15-20250920/gcc/tree-scalar-evolution.cc gcc-15-20250927/gcc/tree-scalar-evolution.cc
*** gcc-15-20250920/gcc/tree-scalar-evolution.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-scalar-evolution.cc	Sat Sep 27 22:34:14 2025
*************** scev_dfs::add_to_evolution_1 (tree chrec
*** 670,675 ****
--- 670,686 ----
  	  to_add = chrec_convert (type, to_add, at_stmt);
  	  right = chrec_convert_rhs (type, right, at_stmt);
  	  right = chrec_fold_plus (chrec_type (right), right, to_add);
+ 	  /* When we have an evolution in a non-wrapping type and
+ 	     in the process of accumulating CHREC_RIGHT there was
+ 	     overflow this indicates in the association that happened
+ 	     in building the CHREC clearly involved UB.  Avoid this.
+ 	     In building a CHREC we basically turn (a + INCR1) + INCR2
+ 	     into a + (INCR1 + INCR2) which is not always valid.
+ 	     Note this check only catches few invalid cases.  */
+ 	  if ((INTEGRAL_TYPE_P (type) && ! TYPE_OVERFLOW_WRAPS (type))
+ 	      && TREE_CODE (right) == INTEGER_CST
+ 	      && TREE_OVERFLOW (right))
+ 	    return chrec_dont_know;
  	  return build_polynomial_chrec (var, left, right);
  	}
        else
diff -Nrcpad gcc-15-20250920/gcc/tree-sra.cc gcc-15-20250927/gcc/tree-sra.cc
*** gcc-15-20250920/gcc/tree-sra.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-sra.cc	Sat Sep 27 22:34:14 2025
*************** build_access_from_expr_1 (tree expr, gim
*** 1291,1309 ****
        return NULL;
      }
  
!   /* We need to dive through V_C_Es in order to get the size of its parameter
!      and not the result type.  Ada produces such statements.  We are also
!      capable of handling the topmost V_C_E but not any of those buried in other
!      handled components.  */
!   if (TREE_CODE (expr) == VIEW_CONVERT_EXPR)
!     expr = TREE_OPERAND (expr, 0);
! 
!   if (contains_view_convert_expr_p (expr))
      {
        disqualify_base_of_expr (expr, "V_C_E under a different handled "
  			       "component.");
        return NULL;
      }
    if (TREE_THIS_VOLATILE (expr))
      {
        disqualify_base_of_expr (expr, "part of a volatile reference.");
--- 1291,1306 ----
        return NULL;
      }
  
!   /* We are capable of handling the topmost V_C_E but not any of those
!      buried in other handled components.  */
!   if (contains_view_convert_expr_p (TREE_CODE (expr) == VIEW_CONVERT_EXPR
! 				    ? TREE_OPERAND (expr, 0) : expr))
      {
        disqualify_base_of_expr (expr, "V_C_E under a different handled "
  			       "component.");
        return NULL;
      }
+ 
    if (TREE_THIS_VOLATILE (expr))
      {
        disqualify_base_of_expr (expr, "part of a volatile reference.");
*************** build_access_from_expr_1 (tree expr, gim
*** 1323,1328 ****
--- 1320,1326 ----
      case ARRAY_REF:
      case ARRAY_RANGE_REF:
      case BIT_FIELD_REF:
+     case VIEW_CONVERT_EXPR:
        ret = create_access (expr, stmt, write);
        break;
  
*************** get_access_for_expr (tree expr)
*** 4086,4097 ****
    tree base;
    bool reverse;
  
-   /* FIXME: This should not be necessary but Ada produces V_C_Es with a type of
-      a different size than the size of its argument and we need the latter
-      one.  */
-   if (TREE_CODE (expr) == VIEW_CONVERT_EXPR)
-     expr = TREE_OPERAND (expr, 0);
- 
    base = get_ref_base_and_extent (expr, &poffset, &psize, &pmax_size,
  				  &reverse);
    if (!known_size_p (pmax_size)
--- 4084,4089 ----
diff -Nrcpad gcc-15-20250920/gcc/tree-ssa-loop-ivopts.cc gcc-15-20250927/gcc/tree-ssa-loop-ivopts.cc
*** gcc-15-20250920/gcc/tree-ssa-loop-ivopts.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-ssa-loop-ivopts.cc	Sat Sep 27 22:34:15 2025
*************** add_candidate_1 (struct ivopts_data *dat
*** 3195,3200 ****
--- 3195,3206 ----
  static bool
  allow_ip_end_pos_p (class loop *loop)
  {
+   /* Do not allow IP_END when creating the IV would need to split the
+      latch edge as that makes all IP_NORMAL invalid.  */
+   auto pos = gsi_last_bb (ip_end_pos (loop));
+   if (!gsi_end_p (pos) && stmt_ends_bb_p (*pos))
+     return false;
+ 
    if (!ip_normal_pos (loop))
      return true;
  
*************** create_new_iv (struct ivopts_data *data,
*** 7211,7222 ****
      case IP_END:
        incr_pos = gsi_last_bb (ip_end_pos (data->current_loop));
        after = true;
!       if (!gsi_end_p (incr_pos) && stmt_ends_bb_p (gsi_stmt (incr_pos)))
! 	{
! 	  edge e = find_edge (gsi_bb (incr_pos), data->current_loop->header);
! 	  incr_pos = gsi_after_labels (split_edge (e));
! 	  after = false;
! 	}
        break;
  
      case IP_AFTER_USE:
--- 7217,7223 ----
      case IP_END:
        incr_pos = gsi_last_bb (ip_end_pos (data->current_loop));
        after = true;
!       gcc_assert (gsi_end_p (incr_pos) || !stmt_ends_bb_p (*incr_pos));
        break;
  
      case IP_AFTER_USE:
diff -Nrcpad gcc-15-20250920/gcc/tree-ssa-propagate.cc gcc-15-20250927/gcc/tree-ssa-propagate.cc
*** gcc-15-20250920/gcc/tree-ssa-propagate.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-ssa-propagate.cc	Sat Sep 27 22:34:15 2025
*************** substitute_and_fold_engine::substitute_a
*** 1019,1024 ****
--- 1019,1026 ----
    while (!walker.stmts_to_fixup.is_empty ())
      {
        gimple *stmt = walker.stmts_to_fixup.pop ();
+       if (!gimple_bb (stmt))
+ 	continue;
        if (dump_file && dump_flags & TDF_DETAILS)
  	{
  	  fprintf (dump_file, "Fixing up noreturn call ");
diff -Nrcpad gcc-15-20250920/gcc/tree-ssa-sccvn.cc gcc-15-20250927/gcc/tree-ssa-sccvn.cc
*** gcc-15-20250920/gcc/tree-ssa-sccvn.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-ssa-sccvn.cc	Sat Sep 27 22:34:15 2025
*************** vn_nary_simplify (vn_nary_op_t nary)
*** 2622,2627 ****
--- 2622,2633 ----
  		      nary->type, nary->length);
    memcpy (op.ops, nary->op, sizeof (tree) * nary->length);
    tree res = vn_nary_build_or_lookup_1 (&op, false, true);
+   /* Do not update *NARY with a simplified result that contains abnormals.
+      This matches what maybe_push_res_to_seq does when requesting insertion.  */
+   for (unsigned i = 0; i < op.num_ops; ++i)
+     if (TREE_CODE (op.ops[i]) == SSA_NAME
+ 	&& SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op.ops[i]))
+       return res;
    if (op.code.is_tree_code ()
        && op.num_ops <= nary->length
        && (tree_code) op.code != CONSTRUCTOR)
diff -Nrcpad gcc-15-20250920/gcc/tree-vect-slp.cc gcc-15-20250927/gcc/tree-vect-slp.cc
*** gcc-15-20250920/gcc/tree-vect-slp.cc	Sat Sep 20 22:33:34 2025
--- gcc-15-20250927/gcc/tree-vect-slp.cc	Sat Sep 27 22:34:15 2025
*************** vect_build_slp_tree_1 (vec_info *vinfo,
*** 1363,1369 ****
  		    && (TREE_CODE_CLASS (tree_code (first_stmt_code))
  			== tcc_comparison)
  		    && (swap_tree_comparison (tree_code (first_stmt_code))
! 			== tree_code (rhs_code))))
  	      || (ldst_p
  		  && (STMT_VINFO_GROUPED_ACCESS (stmt_info)
  		      != STMT_VINFO_GROUPED_ACCESS (first_stmt_info)))
--- 1363,1371 ----
  		    && (TREE_CODE_CLASS (tree_code (first_stmt_code))
  			== tcc_comparison)
  		    && (swap_tree_comparison (tree_code (first_stmt_code))
! 			== tree_code (rhs_code))
! 		    && (first_reduc_idx == -1
! 			|| REDUC_GROUP_FIRST_ELEMENT (stmt_info))))
  	      || (ldst_p
  		  && (STMT_VINFO_GROUPED_ACCESS (stmt_info)
  		      != STMT_VINFO_GROUPED_ACCESS (first_stmt_info)))
*************** vect_build_slp_tree_1 (vec_info *vinfo,
*** 1579,1586 ****
  		}
  	    }
  
! 	  if (rhs_code.is_tree_code ()
! 	      && TREE_CODE_CLASS ((tree_code)rhs_code) == tcc_comparison
  	      && (swap_tree_comparison ((tree_code)first_stmt_code)
  		  == (tree_code)rhs_code))
  	    swap[i] = 1;
--- 1581,1591 ----
  		}
  	    }
  
! 	  if (i != 0
! 	      && first_stmt_code != rhs_code
! 	      && first_stmt_code.is_tree_code ()
! 	      && rhs_code.is_tree_code ()
! 	      && TREE_CODE_CLASS ((tree_code)first_stmt_code) == tcc_comparison
  	      && (swap_tree_comparison ((tree_code)first_stmt_code)
  		  == (tree_code)rhs_code))
  	    swap[i] = 1;
diff -Nrcpad gcc-15-20250920/libgomp/ChangeLog gcc-15-20250927/libgomp/ChangeLog
*** gcc-15-20250920/libgomp/ChangeLog	Sat Sep 20 22:33:42 2025
--- gcc-15-20250927/libgomp/ChangeLog	Sat Sep 27 22:34:19 2025
***************
*** 1,3 ****
--- 1,12 ----
+ 2025-09-25  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-09-18  Tobias Burnus  <tburnus@baylibre.com>
+ 		    Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	PR middle-end/121922
+ 	* testsuite/libgomp.c-c++-common/declare-variant-1.c: New test.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20250920/libgomp/testsuite/libgomp.c-c++-common/declare-variant-1.c gcc-15-20250927/libgomp/testsuite/libgomp.c-c++-common/declare-variant-1.c
*** gcc-15-20250920/libgomp/testsuite/libgomp.c-c++-common/declare-variant-1.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250927/libgomp/testsuite/libgomp.c-c++-common/declare-variant-1.c	Sat Sep 27 22:34:20 2025
***************
*** 0 ****
--- 1,40 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-fdump-tree-gimple" } */
+ 
+ /* PR middle-end/121922  */
+ 
+ /* Failed to re-check the global flag due to tree sharing.  */
+ 
+ extern int flag;
+ int flag = 0;
+ 
+ int
+ test_with_flag ()
+ {
+   return flag;
+ }
+ 
+ #pragma omp declare variant (test_with_flag) match (user={condition(score(10): flag > 1)})
+ int
+ test ()
+ {
+   return 0;
+ }
+ 
+ void
+ doit ()
+ {
+   flag = 0;
+   if (test () != 0) __builtin_abort ();
+   flag = 1;
+   if (test () != 0) __builtin_abort ();
+   flag = 42;
+   if (test () != 42) __builtin_abort ();
+ }
+ 
+ int main ()
+ {
+   doit ();
+ }
+ 
+ /* { dg-final { scan-tree-dump-times "flag\\.\[^=\]*= flag;\[\n\r\]+ *if \\(flag\\.\[^>\]*> 1\\)" 3 "gimple" } } */
diff -Nrcpad gcc-15-20250920/libstdc++-v3/ChangeLog gcc-15-20250927/libstdc++-v3/ChangeLog
*** gcc-15-20250920/libstdc++-v3/ChangeLog	Sat Sep 20 22:33:45 2025
--- gcc-15-20250927/libstdc++-v3/ChangeLog	Sat Sep 27 22:34:22 2025
***************
*** 1,3 ****
--- 1,21 ----
+ 2025-09-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-24  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	* testsuite/17_intro/names.cc: Undefine 'u' on s390*-linux.
+ 
+ 2025-09-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libstdc++/121827
+ 	* include/precompiled/extc++.h: Don't include ext/cast.h which is an
+ 	internal header.
+ 	* include/ext/pointer.h: Include bits/c++config.h before
+ 	#if _GLIBCXX_HOSTED.
+ 
  2025-09-18  Patrick Palka  <ppalka@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250920/libstdc++-v3/include/ext/pointer.h gcc-15-20250927/libstdc++-v3/include/ext/pointer.h
*** gcc-15-20250920/libstdc++-v3/include/ext/pointer.h	Sat Sep 20 22:33:46 2025
--- gcc-15-20250927/libstdc++-v3/include/ext/pointer.h	Sat Sep 27 22:34:24 2025
***************
*** 40,45 ****
--- 40,46 ----
  #pragma GCC system_header
  #endif
  
+ #include <bits/c++config.h>
  #if _GLIBCXX_HOSTED
  #  include <iosfwd>
  #endif
diff -Nrcpad gcc-15-20250920/libstdc++-v3/include/precompiled/extc++.h gcc-15-20250927/libstdc++-v3/include/precompiled/extc++.h
*** gcc-15-20250920/libstdc++-v3/include/precompiled/extc++.h	Sat Sep 20 22:33:46 2025
--- gcc-15-20250927/libstdc++-v3/include/precompiled/extc++.h	Sat Sep 27 22:34:24 2025
***************
*** 37,43 ****
  #endif
  #include <ext/alloc_traits.h>
  #include <ext/atomicity.h>
- #include <ext/cast.h>
  #include <ext/iterator>
  #include <ext/numeric_traits.h>
  #include <ext/pointer.h>
--- 37,42 ----
diff -Nrcpad gcc-15-20250920/libstdc++-v3/testsuite/17_intro/names.cc gcc-15-20250927/libstdc++-v3/testsuite/17_intro/names.cc
*** gcc-15-20250920/libstdc++-v3/testsuite/17_intro/names.cc	Sat Sep 20 22:33:46 2025
--- gcc-15-20250927/libstdc++-v3/testsuite/17_intro/names.cc	Sat Sep 27 22:34:24 2025
***************
*** 282,287 ****
--- 282,289 ----
  // <sys/ucontext.h> defines fpreg_t::d and fpreg_t::f
  #undef d
  #undef f
+ // <asm/types.h> defines __vector128::u
+ #undef u
  #endif
  
  #if defined (__linux__) && defined (__sparc__)
