diff -Nrcpad gcc-13-20250522/LAST_UPDATED gcc-13-20250529/LAST_UPDATED
*** gcc-13-20250522/LAST_UPDATED	Thu May 22 22:32:58 2025
--- gcc-13-20250529/LAST_UPDATED	Thu May 29 22:32:45 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-13 revision 46c80edae7750b25d867d0ee6763edf231ead78c
--- 1 ----
! Obtained from git: releases/gcc-13 revision af73c8bf5168848275bf909ee44fbb8f4973438f
diff -Nrcpad gcc-13-20250522/MD5SUMS gcc-13-20250529/MD5SUMS
*** gcc-13-20250522/MD5SUMS	Thu May 22 22:33:02 2025
--- gcc-13-20250529/MD5SUMS	Thu May 29 22:32:52 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-13-20250522.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-13-20250529.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
*** 21,27 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 11499d084a44566e9b399b9fde293c2d  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
--- 21,27 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! fcac2064d08ce3dac5a7ba683522aa71  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
*************** e49c998085ca49d5cdd5b1dd744b2e03  contri
*** 326,332 ****
  f896f3b2aae98b892d733dab4575cc66  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! b9486c9e907a77b12aceb78eda91230b  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
--- 326,332 ----
  f896f3b2aae98b892d733dab4575cc66  contrib/vimrc
  da7aeedeb5a86ee6f5982e559a2d6dcc  contrib/warn_summary
  8b59f0d0a2dcdced14765c514fbad719  depcomp
! 5578b174db98560e2180f9679d355088  fixincludes/ChangeLog
  6de190723745dc3f75080144dfa2215e  fixincludes/Makefile.in
  b6e3f4950abc6e254b467063381f6473  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
*************** baef7ba9b787bf0e8083a807ade166c2  fixinc
*** 339,351 ****
  77fbad4fc8ec7be3578d045d003446ec  fixincludes/fixinc.in
  8ca216a7024876b7eb9b8abc30a30775  fixincludes/fixincl.c
  adf245e3714f799eafba40af16be8eb5  fixincludes/fixincl.tpl
! 151726f191d5a0e06860812c5209e398  fixincludes/fixincl.x
  545875b4fe1c26bc3e1befc75b34e9f5  fixincludes/fixlib.c
  620c770139fc32c75b975b614d3156e8  fixincludes/fixlib.h
  5b2c1fd3ef9d44fb6beb1a0d45ddd533  fixincludes/fixopts.c
  ed1415e9dbc8f421fd9288bde0d90ad1  fixincludes/fixtests.c
  51e915676df084b64297d3c4fb0d9c18  fixincludes/genfixes
! 453d6cc560fc70e6a0624a4cb1a2fbe1  fixincludes/inclhack.def
  dd5ae70d9f725bcaf2a15212782db49a  fixincludes/mkfixinc.sh
  516608ac1550577d47f48809bb512629  fixincludes/mkheaders.in
  3aa0563cd682ee61ecd9eb6eea0b0bce  fixincludes/procopen.c
--- 339,351 ----
  77fbad4fc8ec7be3578d045d003446ec  fixincludes/fixinc.in
  8ca216a7024876b7eb9b8abc30a30775  fixincludes/fixincl.c
  adf245e3714f799eafba40af16be8eb5  fixincludes/fixincl.tpl
! f77c6451b8c1c2e3cb63be23e7d75341  fixincludes/fixincl.x
  545875b4fe1c26bc3e1befc75b34e9f5  fixincludes/fixlib.c
  620c770139fc32c75b975b614d3156e8  fixincludes/fixlib.h
  5b2c1fd3ef9d44fb6beb1a0d45ddd533  fixincludes/fixopts.c
  ed1415e9dbc8f421fd9288bde0d90ad1  fixincludes/fixtests.c
  51e915676df084b64297d3c4fb0d9c18  fixincludes/genfixes
! 620ceb651d72b40104c3543e5fb075e4  fixincludes/inclhack.def
  dd5ae70d9f725bcaf2a15212782db49a  fixincludes/mkfixinc.sh
  516608ac1550577d47f48809bb512629  fixincludes/mkheaders.in
  3aa0563cd682ee61ecd9eb6eea0b0bce  fixincludes/procopen.c
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 475,481 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 5ce8da3603163f40e443b3069da86ca9  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 475,481 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 5df7d5f2680c76e819d3bea6a7f18449  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 510,516 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! d86e88facd4bb2f4f97d1a7ad6cdd84e  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 510,516 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 240ddcb440df60eac3d5f2f7b91aa681  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** c639abfea0fd6ce8174c76689f8098b9  gcc/ad
*** 2980,2986 ****
  576518abce20cefac18d69412e741a99  gcc/ada/xutil.ads
  978031793256be605b05ec556e69fc09  gcc/addresses.h
  6104bb06e8b5a16c6679280b8bd89a47  gcc/adjust-alignment.cc
! 5d438dee0a1e7b7d8e461b07198f9f7a  gcc/alias.cc
  e1f9606817a872c9b1770a2950665e17  gcc/alias.h
  e2c04eccc631052e7aa15c27e287e593  gcc/align.h
  889f9ffc24064f8ad2fbaf928d50d3e6  gcc/alloc-pool.cc
--- 2980,2986 ----
  576518abce20cefac18d69412e741a99  gcc/ada/xutil.ads
  978031793256be605b05ec556e69fc09  gcc/addresses.h
  6104bb06e8b5a16c6679280b8bd89a47  gcc/adjust-alignment.cc
! 01d823a21f405732f330e9f16c9d15e0  gcc/alias.cc
  e1f9606817a872c9b1770a2950665e17  gcc/alias.h
  e2c04eccc631052e7aa15c27e287e593  gcc/align.h
  889f9ffc24064f8ad2fbaf928d50d3e6  gcc/alloc-pool.cc
*************** c29a5051809c4038f65af7557c1e9fcd  gcc/co
*** 3255,3261 ****
  d343cb4b75d4bf1ab6e7001d3ce082eb  gcc/config.build
  641499d4e856c6f34bd062593ad33ad8  gcc/config.gcc
  0d31f9eb11863dd34b34981d3e4acb3f  gcc/config.host
! 57e0bb57d1542ce83be70f9d1cbd6c45  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
  01652a51b7f1b43b916764306bb9d2e5  gcc/config/aarch64/aarch64-arches.def
  5f42c31c26ba2ba899445953663c5213  gcc/config/aarch64/aarch64-builtins.cc
--- 3255,3261 ----
  d343cb4b75d4bf1ab6e7001d3ce082eb  gcc/config.build
  641499d4e856c6f34bd062593ad33ad8  gcc/config.gcc
  0d31f9eb11863dd34b34981d3e4acb3f  gcc/config.host
! 5ce7c19d80c83cb13de5fb0dfe3cbca1  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
  01652a51b7f1b43b916764306bb9d2e5  gcc/config/aarch64/aarch64-arches.def
  5f42c31c26ba2ba899445953663c5213  gcc/config/aarch64/aarch64-builtins.cc
*************** b62a47b77dccb47ce687a46ca17cec43  gcc/co
*** 3663,3669 ****
  39a0c9fb5dd1e1cfc368f3b0778f07f9  gcc/config/darwin-protos.h
  a581ffcfe57fc085bb14fed30225dcf4  gcc/config/darwin-sections.def
  017d51eec9cabc9e51025a6ced560872  gcc/config/darwin.cc
! ce0b3ff49e038f41e13d855e832b1ef1  gcc/config/darwin.h
  2d0c2e46036e1142674c71c1683e5029  gcc/config/darwin.opt
  e995cbf40e93284ca4ad4576deae0b57  gcc/config/default-c.cc
  d492599e2fe59e667eb069826c292f25  gcc/config/default-d.cc
--- 3663,3669 ----
  39a0c9fb5dd1e1cfc368f3b0778f07f9  gcc/config/darwin-protos.h
  a581ffcfe57fc085bb14fed30225dcf4  gcc/config/darwin-sections.def
  017d51eec9cabc9e51025a6ced560872  gcc/config/darwin.cc
! 3108516175e16c24ce25dfe9aff7e7c8  gcc/config/darwin.h
  2d0c2e46036e1142674c71c1683e5029  gcc/config/darwin.opt
  e995cbf40e93284ca4ad4576deae0b57  gcc/config/default-c.cc
  d492599e2fe59e667eb069826c292f25  gcc/config/default-d.cc
*************** ffb1b3ecba72997c3e6804714698295d  gcc/co
*** 3915,3921 ****
  15146e6cff34da8c1205b0df0813ccb0  gcc/config/i386/i386-protos.h
  37411c56abf14704d70f5f8934f354ea  gcc/config/i386/i386.cc
  ea1b2e9630b4be0a48c861f84f8b8226  gcc/config/i386/i386.h
! b9238a4e1b5238faa586d6ff8a350425  gcc/config/i386/i386.md
  c32251e85ab598cb51e89383639566bb  gcc/config/i386/i386.opt
  faa318618e52a0740019e9aa0764b007  gcc/config/i386/i386elf.h
  7c89dc80159b83f67c1fa47a10c88c13  gcc/config/i386/ia32intrin.h
--- 3915,3921 ----
  15146e6cff34da8c1205b0df0813ccb0  gcc/config/i386/i386-protos.h
  37411c56abf14704d70f5f8934f354ea  gcc/config/i386/i386.cc
  ea1b2e9630b4be0a48c861f84f8b8226  gcc/config/i386/i386.h
! 132edee19206a270c6ab9a859fa5eea8  gcc/config/i386/i386.md
  c32251e85ab598cb51e89383639566bb  gcc/config/i386/i386.opt
  faa318618e52a0740019e9aa0764b007  gcc/config/i386/i386elf.h
  7c89dc80159b83f67c1fa47a10c88c13  gcc/config/i386/ia32intrin.h
*************** fbc51148665e231fceeba5bbf0ceda8d  gcc/co
*** 4728,4734 ****
  1d69f9a2848499db58524c55c1803b51  gcc/config/rs6000/rs6000-protos.h
  df23a2df7c06e75bd39c82094b45b9b1  gcc/config/rs6000/rs6000-string.cc
  e6df0fb2cf41aa438e44a0a400ced1a4  gcc/config/rs6000/rs6000-tables.opt
! 3df3735c1363ba1b53201eaaf2704975  gcc/config/rs6000/rs6000.cc
  4b0d6e1befc4e76411b63383529aecd4  gcc/config/rs6000/rs6000.h
  2872c612e8d0a50e8b2d3218d4e4e8c7  gcc/config/rs6000/rs6000.md
  1991c9d8619e7b44de464dadd1d07778  gcc/config/rs6000/rs6000.opt
--- 4728,4734 ----
  1d69f9a2848499db58524c55c1803b51  gcc/config/rs6000/rs6000-protos.h
  df23a2df7c06e75bd39c82094b45b9b1  gcc/config/rs6000/rs6000-string.cc
  e6df0fb2cf41aa438e44a0a400ced1a4  gcc/config/rs6000/rs6000-tables.opt
! 153e0a017cd8f973643794b63f4eeff0  gcc/config/rs6000/rs6000.cc
  4b0d6e1befc4e76411b63383529aecd4  gcc/config/rs6000/rs6000.h
  2872c612e8d0a50e8b2d3218d4e4e8c7  gcc/config/rs6000/rs6000.md
  1991c9d8619e7b44de464dadd1d07778  gcc/config/rs6000/rs6000.opt
*************** bc0f35f11df98a3ea8154afd95aa8d0d  gcc/co
*** 4814,4820 ****
  f4fded4219d7abeba4d1752b63a47c1b  gcc/config/s390/s390-builtin-types.def
  9766dc05b49056b74fe8e10a9be25aaa  gcc/config/s390/s390-builtins.def
  e274089c979fe8cca36a358523639d7f  gcc/config/s390/s390-builtins.h
! d05bbbfa628a4e2a7b8b8b1c04d39657  gcc/config/s390/s390-c.cc
  ed576fb9a2ba561b17ab61f2a9bfe17f  gcc/config/s390/s390-d.cc
  445c8dfdbd431a0ac7b33f1c659bd733  gcc/config/s390/s390-d.h
  55bd22b1e6a549132e0c515ae9044df9  gcc/config/s390/s390-modes.def
--- 4814,4820 ----
  f4fded4219d7abeba4d1752b63a47c1b  gcc/config/s390/s390-builtin-types.def
  9766dc05b49056b74fe8e10a9be25aaa  gcc/config/s390/s390-builtins.def
  e274089c979fe8cca36a358523639d7f  gcc/config/s390/s390-builtins.h
! 11d964e81ffcbfae6bc43f8dfe495bc4  gcc/config/s390/s390-c.cc
  ed576fb9a2ba561b17ab61f2a9bfe17f  gcc/config/s390/s390-d.cc
  445c8dfdbd431a0ac7b33f1c659bd733  gcc/config/s390/s390-d.h
  55bd22b1e6a549132e0c515ae9044df9  gcc/config/s390/s390-modes.def
*************** fe1e650ea556632c1f992b768969e17f  gcc/co
*** 4834,4840 ****
  fef82f4d1e1a0a5d89db5abe7477c685  gcc/config/s390/tpf.md
  dd2d83fd2c5bd7e08fd6f9d0cdb88e05  gcc/config/s390/tpf.opt
  da267810de1aafcd04a83e0432f15e77  gcc/config/s390/vecintrin.h
! d286f742c64f6daaadcdcb41e7f27edf  gcc/config/s390/vector.md
  2703cdfbd359495a6b381ec1d11d5a5b  gcc/config/s390/vx-builtins.md
  7813da5eac25ac16f589b0319ad43386  gcc/config/s390/x-native
  00c4f5a037a71b2f382274bd12d0e9a4  gcc/config/sh/constraints.md
--- 4834,4840 ----
  fef82f4d1e1a0a5d89db5abe7477c685  gcc/config/s390/tpf.md
  dd2d83fd2c5bd7e08fd6f9d0cdb88e05  gcc/config/s390/tpf.opt
  da267810de1aafcd04a83e0432f15e77  gcc/config/s390/vecintrin.h
! 8fd58e744710e606b3459935184b735f  gcc/config/s390/vector.md
  2703cdfbd359495a6b381ec1d11d5a5b  gcc/config/s390/vx-builtins.md
  7813da5eac25ac16f589b0319ad43386  gcc/config/s390/x-native
  00c4f5a037a71b2f382274bd12d0e9a4  gcc/config/sh/constraints.md
*************** aacbf1e83201eb77692a157d6e3c5f45  gcc/co
*** 5067,5074 ****
  ffa27afe9bfa1c3d0a00c4512eb2c4b5  gcc/config/xtensa/xtensa.h
  f88fbbab5f3aff39a56b40c7929d2048  gcc/config/xtensa/xtensa.md
  f10ec7eaade722a89338c0ffe897f9e2  gcc/config/xtensa/xtensa.opt
! 7132adc4d4bb7b18e7bc9813de9e63e0  gcc/configure
! 7b1b05b7df0b8278d66cd151e32e8583  gcc/configure.ac
  229f188a38efc970482185093cf21584  gcc/context.cc
  1ad60ec65e12637c35bfaf841220544d  gcc/context.h
  bc123b739cfba026c4d6ce3b43313c55  gcc/convert.cc
--- 5067,5074 ----
  ffa27afe9bfa1c3d0a00c4512eb2c4b5  gcc/config/xtensa/xtensa.h
  f88fbbab5f3aff39a56b40c7929d2048  gcc/config/xtensa/xtensa.md
  f10ec7eaade722a89338c0ffe897f9e2  gcc/config/xtensa/xtensa.opt
! 651fb97d6ac0e1773bf9adb7c8e27b9e  gcc/configure
! a1957ae3768646360d25fb3ca8cc5c6b  gcc/configure.ac
  229f188a38efc970482185093cf21584  gcc/context.cc
  1ad60ec65e12637c35bfaf841220544d  gcc/context.h
  bc123b739cfba026c4d6ce3b43313c55  gcc/convert.cc
*************** a92be6f532ece352cab8309520cf28f0  gcc/co
*** 5078,5084 ****
  6614aac0ce8960f693faf880a7560bc5  gcc/coroutine-passes.cc
  9d6931fedff9a87a6266d15841579e67  gcc/coverage.cc
  b964f4291cd58a61a06769149429435f  gcc/coverage.h
! 4d8a02418a855a9d6744d0a498f18bab  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5078,5084 ----
  6614aac0ce8960f693faf880a7560bc5  gcc/coroutine-passes.cc
  9d6931fedff9a87a6266d15841579e67  gcc/coverage.cc
  b964f4291cd58a61a06769149429435f  gcc/coverage.h
! 41938fa674bd63ad1989da963fc58406  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** cb06dcbb3232403bb30ebd0d7d1feae1  gcc/cp
*** 5112,5125 ****
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  d75ff9438918fb614a4d72f7ca8b08e8  gcc/cp/Make-lang.in
! 0aaa75f717c57e3cb5974c426c4adc24  gcc/cp/call.cc
  002c198593210fa169a51ff63dd31f2a  gcc/cp/cfns.gperf
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
  08921b99d388726f86b809fbbce118ef  gcc/cp/constexpr.cc
! c86a86eac49d994369ce26823c3a5da2  gcc/cp/constraint.cc
! 84844f7fa5d484f9d95f78e6da6c51e2  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
  6fb5d560bb71f24a7b95bcc1c3075968  gcc/cp/coroutines.cc
  ebeaa808f85fa8a261591cd99ad1e7b0  gcc/cp/cp-gimplify.cc
--- 5112,5125 ----
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  d75ff9438918fb614a4d72f7ca8b08e8  gcc/cp/Make-lang.in
! d9b5ec86750c5cd59daf7a5aae58585b  gcc/cp/call.cc
  002c198593210fa169a51ff63dd31f2a  gcc/cp/cfns.gperf
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
  08921b99d388726f86b809fbbce118ef  gcc/cp/constexpr.cc
! edccbdb3f4c2f1f4d32e807cb29e3c40  gcc/cp/constraint.cc
! da0483e6a5389a7d06c30a4f41b34d48  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
  6fb5d560bb71f24a7b95bcc1c3075968  gcc/cp/coroutines.cc
  ebeaa808f85fa8a261591cd99ad1e7b0  gcc/cp/cp-gimplify.cc
*************** ebeaa808f85fa8a261591cd99ad1e7b0  gcc/cp
*** 5129,5143 ****
  44864edbff7221ce5b72f9f551fe9269  gcc/cp/cp-objcp-common.h
  1ff6ed82de7381c392b01839746c2f74  gcc/cp/cp-trait.def
  d6887ccac1e3a9dea9c2908ef57ec747  gcc/cp/cp-tree.def
! 49effe4df0b1fb0ce008f9d0f3a46f83  gcc/cp/cp-tree.h
  b65da920bdc209a44d1cba37f4a1e4a7  gcc/cp/cp-ubsan.cc
  c1554fda460dfa5f48a6851603bd9332  gcc/cp/cvt.cc
  0f2a998ba44768f9ca6fbf7c608096bb  gcc/cp/cxx-pretty-print.cc
  e0aeb037cb4d8ca738781ded46d00a5d  gcc/cp/cxx-pretty-print.h
  434b32d34aae1276a754296e20dbe8d9  gcc/cp/cxxapi-data.csv
! 97e915a05f727ce5c96843ccab6ce896  gcc/cp/decl.cc
  04eca9fc6dc327f816ff062ad8e899a5  gcc/cp/decl.h
! 73a57ff6d7dee8c629d04f60f3c87ca7  gcc/cp/decl2.cc
  c00489cd7633dcb8caed5defda9fdc95  gcc/cp/dump.cc
  1bcab327fe1f6fb1402f82439488dce5  gcc/cp/error.cc
  84cc118eb988fc2b48cffcc665159d9c  gcc/cp/except.cc
--- 5129,5143 ----
  44864edbff7221ce5b72f9f551fe9269  gcc/cp/cp-objcp-common.h
  1ff6ed82de7381c392b01839746c2f74  gcc/cp/cp-trait.def
  d6887ccac1e3a9dea9c2908ef57ec747  gcc/cp/cp-tree.def
! 6607508a527a2e0df92d89ddffb2b518  gcc/cp/cp-tree.h
  b65da920bdc209a44d1cba37f4a1e4a7  gcc/cp/cp-ubsan.cc
  c1554fda460dfa5f48a6851603bd9332  gcc/cp/cvt.cc
  0f2a998ba44768f9ca6fbf7c608096bb  gcc/cp/cxx-pretty-print.cc
  e0aeb037cb4d8ca738781ded46d00a5d  gcc/cp/cxx-pretty-print.h
  434b32d34aae1276a754296e20dbe8d9  gcc/cp/cxxapi-data.csv
! ad0139bc4d542f2e5abe2c0adedf3a07  gcc/cp/decl.cc
  04eca9fc6dc327f816ff062ad8e899a5  gcc/cp/decl.h
! 7382d510c21a206975eaf2dbec80e7c7  gcc/cp/decl2.cc
  c00489cd7633dcb8caed5defda9fdc95  gcc/cp/dump.cc
  1bcab327fe1f6fb1402f82439488dce5  gcc/cp/error.cc
  84cc118eb988fc2b48cffcc665159d9c  gcc/cp/except.cc
*************** f6faa21098c86eb47a6c838ddfcdca1b  gcc/cp
*** 5154,5160 ****
  c7cdcc0d91396db6f388061dec91b1bb  gcc/cp/mapper-client.cc
  73e96c254c4c826c654b7a43099710d0  gcc/cp/mapper-client.h
  ad0c37db747b2c38777b4746b7e9ccd8  gcc/cp/mapper-resolver.cc
! e7f7b069f2c0f36d8f965b196a33376a  gcc/cp/method.cc
  e99f1c941daa60c220221a5bef64116b  gcc/cp/module.cc
  eba9d2541aa4aa5f8a8e7aa169c9d594  gcc/cp/name-lookup.cc
  340bb6c30bc1451bc4e2aee47ac22c19  gcc/cp/name-lookup.h
--- 5154,5160 ----
  c7cdcc0d91396db6f388061dec91b1bb  gcc/cp/mapper-client.cc
  73e96c254c4c826c654b7a43099710d0  gcc/cp/mapper-client.h
  ad0c37db747b2c38777b4746b7e9ccd8  gcc/cp/mapper-resolver.cc
! 90c8d9496b70f38e7902724d8d93df97  gcc/cp/method.cc
  e99f1c941daa60c220221a5bef64116b  gcc/cp/module.cc
  eba9d2541aa4aa5f8a8e7aa169c9d594  gcc/cp/name-lookup.cc
  340bb6c30bc1451bc4e2aee47ac22c19  gcc/cp/name-lookup.h
*************** eba9d2541aa4aa5f8a8e7aa169c9d594  gcc/cp
*** 5162,5177 ****
  7037f63acd4161418cc8dcd1d86866e0  gcc/cp/optimize.cc
  233f423f1efad6a65da7b34342f3a2d9  gcc/cp/parser.cc
  fbb3d4644cdc4c0c8d47620a0b3a8094  gcc/cp/parser.h
! 67d68916fe3297e7b4a47bf5f9fe44e5  gcc/cp/pt.cc
  d03dc5c4f806d6a6841801d7d7d0080c  gcc/cp/ptree.cc
  aba5829381a2a8991e36ebb8d4eb9761  gcc/cp/rtti.cc
  88eb1ceb39a66b26decf9af394a4f5c2  gcc/cp/search.cc
! 8efe2faf07174430be55c9c0b0dc7490  gcc/cp/semantics.cc
  6ee0fac37bab072bf0804b3f1dfb78f1  gcc/cp/std-name-hint.gperf
  f46ba3abf12a9521b0a8ac2aac5e8373  gcc/cp/std-name-hint.h
! ec6c1b87a08c76d134d867660c206a7a  gcc/cp/tree.cc
  48f7db9af3b30491ed4f238605782993  gcc/cp/type-utils.h
! bed85e0f980b396eddbb50190f7b5184  gcc/cp/typeck.cc
  b08fff9701626891fd78d4b60a5b2b83  gcc/cp/typeck2.cc
  d1622a9e8d6f8df6c5834932b9488b97  gcc/cp/vtable-class-hierarchy.cc
  2597401b7544997a7f6e4811a977c2c8  gcc/cppbuiltin.cc
--- 5162,5177 ----
  7037f63acd4161418cc8dcd1d86866e0  gcc/cp/optimize.cc
  233f423f1efad6a65da7b34342f3a2d9  gcc/cp/parser.cc
  fbb3d4644cdc4c0c8d47620a0b3a8094  gcc/cp/parser.h
! ea1aa35d4cd4b7c23cf5da64052c2179  gcc/cp/pt.cc
  d03dc5c4f806d6a6841801d7d7d0080c  gcc/cp/ptree.cc
  aba5829381a2a8991e36ebb8d4eb9761  gcc/cp/rtti.cc
  88eb1ceb39a66b26decf9af394a4f5c2  gcc/cp/search.cc
! 43d87713204e7f945875e8ab10ff89a3  gcc/cp/semantics.cc
  6ee0fac37bab072bf0804b3f1dfb78f1  gcc/cp/std-name-hint.gperf
  f46ba3abf12a9521b0a8ac2aac5e8373  gcc/cp/std-name-hint.h
! bde75ae2e2dc98ce0d7ebbb2e49e70c1  gcc/cp/tree.cc
  48f7db9af3b30491ed4f238605782993  gcc/cp/type-utils.h
! bd758da929d27a010b0a933dbc9ab2dd  gcc/cp/typeck.cc
  b08fff9701626891fd78d4b60a5b2b83  gcc/cp/typeck2.cc
  d1622a9e8d6f8df6c5834932b9488b97  gcc/cp/vtable-class-hierarchy.cc
  2597401b7544997a7f6e4811a977c2c8  gcc/cppbuiltin.cc
*************** ec059990dce01decdd41fdf61eb21678  gcc/cp
*** 5180,5186 ****
  9e61120d1db695867893215d871ef62f  gcc/cppdefault.h
  80b2750515e06d163b5fd96d303beaed  gcc/cprop.cc
  36db51bc22ea211883c381ab25f607c5  gcc/cse.cc
! b1e287d0d0732952fad4f20cefc2aa7e  gcc/cselib.cc
  19399561ae12aed1eea23b8a6a04bbf3  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
  a667c8581cf5009d6af17f19f1186065  gcc/ctfc.cc
--- 5180,5186 ----
  9e61120d1db695867893215d871ef62f  gcc/cppdefault.h
  80b2750515e06d163b5fd96d303beaed  gcc/cprop.cc
  36db51bc22ea211883c381ab25f607c5  gcc/cse.cc
! aec47cbaec48561e260557f0682793cf  gcc/cselib.cc
  19399561ae12aed1eea23b8a6a04bbf3  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
  a667c8581cf5009d6af17f19f1186065  gcc/ctfc.cc
*************** bcfc3857a75f879ec761a824ae77aa77  gcc/du
*** 5540,5546 ****
  3aecdcd1ecb4330fb6d35220436b4e16  gcc/dwarf2cfi.cc
  4b4d88e890847c2849c8a0dd429ad7d4  gcc/dwarf2ctf.cc
  6339307d1a91f4115e2184f117a9152f  gcc/dwarf2ctf.h
! 7671119d57d6f57b8e50783f52355c1c  gcc/dwarf2out.cc
  da9eb5f94d9f2537c44626df2e2d0731  gcc/dwarf2out.h
  56a3faa5b916a76e3e8e799879bb6f9f  gcc/early-remat.cc
  c916e1e3ac5144157fdf894c31dca957  gcc/edit-context.cc
--- 5540,5546 ----
  3aecdcd1ecb4330fb6d35220436b4e16  gcc/dwarf2cfi.cc
  4b4d88e890847c2849c8a0dd429ad7d4  gcc/dwarf2ctf.cc
  6339307d1a91f4115e2184f117a9152f  gcc/dwarf2ctf.h
! f875a454019ec249dc151f8ca693547a  gcc/dwarf2out.cc
  da9eb5f94d9f2537c44626df2e2d0731  gcc/dwarf2out.h
  56a3faa5b916a76e3e8e799879bb6f9f  gcc/early-remat.cc
  c916e1e3ac5144157fdf894c31dca957  gcc/edit-context.cc
*************** c2dbf831f4bbc53553765214d1b2d674  gcc/fl
*** 5576,5582 ****
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  f32e31e2e5d7d430555b0a476972ca3a  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! 1e8cec6eda10378e2d5b44b6b42e3add  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5576,5582 ----
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  f32e31e2e5d7d430555b0a476972ca3a  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! 0ecab95a898fe39cfabb1bbbf9d6bb01  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** b16988fb11ef93959450cfdd9eaa8825  gcc/fo
*** 5666,5672 ****
  2825c959ade33ef2a6492d640b05ef8c  gcc/fortran/trans-const.h
  c15bfe2308615f6c0395efd6cdf7a3ae  gcc/fortran/trans-decl.cc
  4c603b45556ff75a1a2b23160cd8d505  gcc/fortran/trans-expr.cc
! f66afe44ccac413055abe9b643b28c64  gcc/fortran/trans-intrinsic.cc
  c2777cd0e39ba69462f4cf01549e1001  gcc/fortran/trans-io.cc
  4100e048c21085f4f2f9bdb70f4e29a2  gcc/fortran/trans-openmp.cc
  8c36caba9ba82554a7f97e56b2a48d63  gcc/fortran/trans-stmt.cc
--- 5666,5672 ----
  2825c959ade33ef2a6492d640b05ef8c  gcc/fortran/trans-const.h
  c15bfe2308615f6c0395efd6cdf7a3ae  gcc/fortran/trans-decl.cc
  4c603b45556ff75a1a2b23160cd8d505  gcc/fortran/trans-expr.cc
! 270fb3d641aa95f5ab3435bcf555d167  gcc/fortran/trans-intrinsic.cc
  c2777cd0e39ba69462f4cf01549e1001  gcc/fortran/trans-io.cc
  4100e048c21085f4f2f9bdb70f4e29a2  gcc/fortran/trans-openmp.cc
  8c36caba9ba82554a7f97e56b2a48d63  gcc/fortran/trans-stmt.cc
*************** ccc5711ecd52f17d0dc04a5cd9ead00c  gcc/gg
*** 5754,5762 ****
  0e5407e2356362d7df736b05dd2f4438  gcc/gimple-array-bounds.h
  db0ccc0edfede8aba0098ae504276e86  gcc/gimple-builder.cc
  2e82b4bd416d82267e23cfb6b62145d3  gcc/gimple-builder.h
! e634f1d7185ba18b7409d0caf5dda150  gcc/gimple-expr.cc
  029271620b653993e15dfe20ddd2d37b  gcc/gimple-expr.h
! 1bda6e49acba95fd38f0718874844f8d  gcc/gimple-fold.cc
  9a9d95793deb7de9860fc0d1215b3390  gcc/gimple-fold.h
  7cf98e471595ea406079ac821d418500  gcc/gimple-harden-conditionals.cc
  ab5c0e8e80c5a594037aa3a03ad791c9  gcc/gimple-if-to-switch.cc
--- 5754,5762 ----
  0e5407e2356362d7df736b05dd2f4438  gcc/gimple-array-bounds.h
  db0ccc0edfede8aba0098ae504276e86  gcc/gimple-builder.cc
  2e82b4bd416d82267e23cfb6b62145d3  gcc/gimple-builder.h
! dcb207c1736268c66a622256d89d2336  gcc/gimple-expr.cc
  029271620b653993e15dfe20ddd2d37b  gcc/gimple-expr.h
! 0d4a2f003e7841c11e2a6c1b5e122669  gcc/gimple-fold.cc
  9a9d95793deb7de9860fc0d1215b3390  gcc/gimple-fold.h
  7cf98e471595ea406079ac821d418500  gcc/gimple-harden-conditionals.cc
  ab5c0e8e80c5a594037aa3a03ad791c9  gcc/gimple-if-to-switch.cc
*************** d3d0bf916b0feeb213e0d274c25a85c9  gcc/gi
*** 5800,5806 ****
  749a81e49450342357c075a9b79b8992  gcc/gimple-ssa-nonnull-compare.cc
  11b5e3a1e0c7638d90da5ecf2cdb04e3  gcc/gimple-ssa-split-paths.cc
  e6db658fd173ce4a9dd146d9a796e834  gcc/gimple-ssa-sprintf.cc
! 040c5a1b4e33171109464f02be0def19  gcc/gimple-ssa-store-merging.cc
  4876a8cfb95480a27303d812e0e3c9c8  gcc/gimple-ssa-strength-reduction.cc
  a112e9722329de5148a24ed9b52f338f  gcc/gimple-ssa-warn-access.cc
  5552bbd93405fe7df3168326c4937c69  gcc/gimple-ssa-warn-access.h
--- 5800,5806 ----
  749a81e49450342357c075a9b79b8992  gcc/gimple-ssa-nonnull-compare.cc
  11b5e3a1e0c7638d90da5ecf2cdb04e3  gcc/gimple-ssa-split-paths.cc
  e6db658fd173ce4a9dd146d9a796e834  gcc/gimple-ssa-sprintf.cc
! 2473bab77546000ea6e8282364c009c6  gcc/gimple-ssa-store-merging.cc
  4876a8cfb95480a27303d812e0e3c9c8  gcc/gimple-ssa-strength-reduction.cc
  a112e9722329de5148a24ed9b52f338f  gcc/gimple-ssa-warn-access.cc
  5552bbd93405fe7df3168326c4937c69  gcc/gimple-ssa-warn-access.h
*************** cdca7003d337efe5219b5d19f7155bc8  gcc/gi
*** 5819,5825 ****
  bb54e7f3ff9957dcf7b1b10fcd527797  gcc/gimple.h
  839b10eca81556c0515395365235a888  gcc/gimplify-me.cc
  0a4464e175c1aed6501ea243476b7c6d  gcc/gimplify-me.h
! 0b38e6ee20c6459e2cf0cfa2a22314c3  gcc/gimplify.cc
  d0042a88c5e87b0904397052ddc6c33a  gcc/gimplify.h
  02d1486ff7d3d34b7868801df9534c0e  gcc/ginclude/float.h
  b0ab9b7ae13d3afe6cdbfc24425a93fe  gcc/ginclude/iso646.h
--- 5819,5825 ----
  bb54e7f3ff9957dcf7b1b10fcd527797  gcc/gimple.h
  839b10eca81556c0515395365235a888  gcc/gimplify-me.cc
  0a4464e175c1aed6501ea243476b7c6d  gcc/gimplify-me.h
! 61549cdc6e1dd28cded29325e40de7b4  gcc/gimplify.cc
  d0042a88c5e87b0904397052ddc6c33a  gcc/gimplify.h
  02d1486ff7d3d34b7868801df9534c0e  gcc/ginclude/float.h
  b0ab9b7ae13d3afe6cdbfc24425a93fe  gcc/ginclude/iso646.h
*************** b66a71357a6149335f63d1d38da0ff9f  gcc/ip
*** 5972,5978 ****
  d4b7959c20a98ff6f25372701739be82  gcc/ipa-inline.h
  bf2c8193144d067992fafe66ec1b66c4  gcc/ipa-modref-tree.cc
  c4370973ef8ca23676e8dd1782308f9c  gcc/ipa-modref-tree.h
! 32790f95f93dbbe1294e32c986f18922  gcc/ipa-modref.cc
  b2fae5a0c725823232307d1ff107c412  gcc/ipa-modref.h
  f73a29a76199a719eea19b3d53ed26fe  gcc/ipa-param-manipulation.cc
  0a0833ceaf3d91577600c81d30513737  gcc/ipa-param-manipulation.h
--- 5972,5978 ----
  d4b7959c20a98ff6f25372701739be82  gcc/ipa-inline.h
  bf2c8193144d067992fafe66ec1b66c4  gcc/ipa-modref-tree.cc
  c4370973ef8ca23676e8dd1782308f9c  gcc/ipa-modref-tree.h
! 5a78fdd6a39f4b401e23ae691ae39080  gcc/ipa-modref.cc
  b2fae5a0c725823232307d1ff107c412  gcc/ipa-modref.h
  f73a29a76199a719eea19b3d53ed26fe  gcc/ipa-param-manipulation.cc
  0a0833ceaf3d91577600c81d30513737  gcc/ipa-param-manipulation.h
*************** e2c2b4c29dd562166e457ad5cd9d3ab4  gcc/lc
*** 6106,6112 ****
  472fea06d68ad0de5d8fdfae7873bc63  gcc/lists.cc
  30b8e3e407f46ad2cb39260ec4bab9f6  gcc/lock-and-run.sh
  86c53cb5fd2a7a7b0267db043ad0c017  gcc/logical-location.h
! 2c32d851483812d59cb183c0f6452ee0  gcc/loop-doloop.cc
  859d2f097f5e034fbcf23370c719eaad  gcc/loop-init.cc
  2cc756bec31fac101c34285d0717832f  gcc/loop-invariant.cc
  4c49af76db981526de035551f5c2745d  gcc/loop-iv.cc
--- 6106,6112 ----
  472fea06d68ad0de5d8fdfae7873bc63  gcc/lists.cc
  30b8e3e407f46ad2cb39260ec4bab9f6  gcc/lock-and-run.sh
  86c53cb5fd2a7a7b0267db043ad0c017  gcc/logical-location.h
! d8c6b901b6d59d107650e3cc3a31f0a2  gcc/loop-doloop.cc
  859d2f097f5e034fbcf23370c719eaad  gcc/loop-init.cc
  2cc756bec31fac101c34285d0717832f  gcc/loop-invariant.cc
  4c49af76db981526de035551f5c2745d  gcc/loop-iv.cc
*************** fdb910a61276129e6981a007c1cd94f6  gcc/lo
*** 6116,6122 ****
  0196e3b94cf6fd637ba9f3bf6a314bd5  gcc/lower-subreg.h
  1843969b87343439d9591acd32785e25  gcc/lra-assigns.cc
  6f8948f5953e4ded18580ae4df9a36f1  gcc/lra-coalesce.cc
! e7abca99420529cfac5bbb1e0273dc1b  gcc/lra-constraints.cc
  770e42213cbcd993a445bee76524f8eb  gcc/lra-eliminations.cc
  7c8aeab71bcfacb356aecdcdb7762210  gcc/lra-int.h
  399337ad638584d9290158ea06d18de8  gcc/lra-lives.cc
--- 6116,6122 ----
  0196e3b94cf6fd637ba9f3bf6a314bd5  gcc/lower-subreg.h
  1843969b87343439d9591acd32785e25  gcc/lra-assigns.cc
  6f8948f5953e4ded18580ae4df9a36f1  gcc/lra-coalesce.cc
! 85e1d6137054e45e0c70c57384de489e  gcc/lra-constraints.cc
  770e42213cbcd993a445bee76524f8eb  gcc/lra-eliminations.cc
  7c8aeab71bcfacb356aecdcdb7762210  gcc/lra-int.h
  399337ad638584d9290158ea06d18de8  gcc/lra-lives.cc
*************** b829ed0032c899e107be2db349c913f3  gcc/ta
*** 7637,7643 ****
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! e4e5916b0c044882550397f9b99c6914  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 7637,7643 ----
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 232f3dc5718f2e3702f0a04c1f77084a  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** c7ab12616c35e8ba0c0796618d522c42  gcc/te
*** 17413,17418 ****
--- 17413,17419 ----
  b71a7403570a0e5b6ed564f63ee0d523  gcc/testsuite/g++.dg/cpp1y/var-templ79.C
  7490ba7f2bf9511118a48f52e8c4ceed  gcc/testsuite/g++.dg/cpp1y/var-templ8.C
  7babed4c27249bda4fc60ca9f7b378c0  gcc/testsuite/g++.dg/cpp1y/var-templ85.C
+ 2555b4c1ccdec6b7fca5b625f06840d3  gcc/testsuite/g++.dg/cpp1y/var-templ87.C
  c62c3c5ce4dabfb077ffd26896b1d204  gcc/testsuite/g++.dg/cpp1y/var-templ9.C
  2e5f8fa912af0b2871356af6f1adbd06  gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C
  f82f70352e70742cc985b48be0774ebe  gcc/testsuite/g++.dg/cpp1y/vla10.C
*************** ae3e1959f85f05c9ec509a6dbdbe24ca  gcc/te
*** 17916,17921 ****
--- 17917,17923 ----
  6459f300d92f04eeb92c53237b82baac  gcc/testsuite/g++.dg/cpp1z/nontype4.C
  2d69a9b79c8f3fadb2bfb68b9d761c49  gcc/testsuite/g++.dg/cpp1z/nontype4a.C
  914a640ece1bdc2a12062de65d60a78d  gcc/testsuite/g++.dg/cpp1z/nontype5.C
+ 1a73a13a161c05eab6182bb64cba004b  gcc/testsuite/g++.dg/cpp1z/nontype7.C
  86d3c074d77c88bd7ef317faea9d2968  gcc/testsuite/g++.dg/cpp1z/pr115440.C
  e668ace19a2b0d8946e0e19fd8317af1  gcc/testsuite/g++.dg/cpp1z/pr78771.C
  bc5edc17d9b70d77a054dd4736a66223  gcc/testsuite/g++.dg/cpp1z/pr79143.C
*************** ecb5e52db1e00c05c68ecde56b770c71  gcc/te
*** 18509,18514 ****
--- 18511,18517 ----
  3e21a3f313ac75b520a5d812a344b4aa  gcc/testsuite/g++.dg/cpp2a/concepts-requires34.C
  1e4ab841f68e67f2c321b5e9d609a128  gcc/testsuite/g++.dg/cpp2a/concepts-requires35.C
  d3851914c01bf78597e5cb411ed0b3d5  gcc/testsuite/g++.dg/cpp2a/concepts-requires4.C
+ 9ff29a02ca82332b82da206e1f44ad5c  gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C
  480013be0f806d0b078176447ae77360  gcc/testsuite/g++.dg/cpp2a/concepts-requires5.C
  8ea6ab45de0c359b113c65f1958a54a1  gcc/testsuite/g++.dg/cpp2a/concepts-requires6.C
  d9a49412355c5ed0f91582f1c88c13ff  gcc/testsuite/g++.dg/cpp2a/concepts-requires7.C
*************** e9afe83f998c36b2fb7c1f09347d0bde  gcc/te
*** 18549,18554 ****
--- 18552,18558 ----
  9fd760dc32683991c1046ee2a7769a0f  gcc/testsuite/g++.dg/cpp2a/concepts-ttp4.C
  88c3dc6cebb92ccd4e70aff54871edad  gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C
  14dc8338f97cc1b6792145fdfa5edade  gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C
+ 2024568d84c5736719a943728b101e39  gcc/testsuite/g++.dg/cpp2a/concepts-ttp7.C
  12bfd0f0b99ab93e9f3c3ea3610ad8db  gcc/testsuite/g++.dg/cpp2a/concepts-uneval1.C
  728cf90d57c99021cb85c6b8dd9ffa5e  gcc/testsuite/g++.dg/cpp2a/concepts-uneval2.C
  8ededbbf50406070bfd15b600f7ea746  gcc/testsuite/g++.dg/cpp2a/concepts-uneval3.C
*************** fa076f7aee99ba9138c0541bc50c2e01  gcc/te
*** 19755,19761 ****
  95a348b65d678b6ebd4ff12262eeb554  gcc/testsuite/g++.dg/eh/pr42859.C
  6b7a6fb9b5bb6227cd79629a94634556  gcc/testsuite/g++.dg/eh/pr43365.C
  6eb9d68250f630420d0fdb982047fe17  gcc/testsuite/g++.dg/eh/pr45569.C
! d38795dc5765c85251d1b51d2837fa65  gcc/testsuite/g++.dg/eh/pr84968.C
  9623b61344d258574a3ed60670199161  gcc/testsuite/g++.dg/eh/ref-temp1.C
  edd7f2bf186873e0f253e337b7c0baa7  gcc/testsuite/g++.dg/eh/ref-temp2.C
  a9ed8d0335c982c533cb9ab886ed3a49  gcc/testsuite/g++.dg/eh/registers1.C
--- 19759,19765 ----
  95a348b65d678b6ebd4ff12262eeb554  gcc/testsuite/g++.dg/eh/pr42859.C
  6b7a6fb9b5bb6227cd79629a94634556  gcc/testsuite/g++.dg/eh/pr43365.C
  6eb9d68250f630420d0fdb982047fe17  gcc/testsuite/g++.dg/eh/pr45569.C
! 9c5d2920df5e7cc1662956187cc0aabc  gcc/testsuite/g++.dg/eh/pr84968.C
  9623b61344d258574a3ed60670199161  gcc/testsuite/g++.dg/eh/ref-temp1.C
  edd7f2bf186873e0f253e337b7c0baa7  gcc/testsuite/g++.dg/eh/ref-temp2.C
  a9ed8d0335c982c533cb9ab886ed3a49  gcc/testsuite/g++.dg/eh/registers1.C
*************** ed7c739de707916f3c9f5cc4c86b846a  gcc/te
*** 20057,20062 ****
--- 20061,20067 ----
  436654db69995e2c5c9e51a240c1fb2b  gcc/testsuite/g++.dg/ext/attr-unavailable-1.C
  363318401f6c24d1fd4eb4b1352223b5  gcc/testsuite/g++.dg/ext/attr-unavailable-10.C
  dcdd1affde3b96d5073c02e9962a3e1f  gcc/testsuite/g++.dg/ext/attr-unavailable-11.C
+ b813499357caf8cdbe9a29e67e87622f  gcc/testsuite/g++.dg/ext/attr-unavailable-13.C
  edbfa498035679b0c1142cf98ca9e622  gcc/testsuite/g++.dg/ext/attr-unavailable-2.C
  4e90e81502c480379e69d6b0b0b238aa  gcc/testsuite/g++.dg/ext/attr-unavailable-3.C
  5403ddd4b93109633d19e176e484580f  gcc/testsuite/g++.dg/ext/attr-unavailable-4.C
*************** b1566206f932f28f1735fbaf347ef172  gcc/te
*** 20282,20287 ****
--- 20287,20293 ----
  10abc828e1142ff735666c5c8f9d280f  gcc/testsuite/g++.dg/ext/construct1.C
  356f009d32e7c4d124b9aff9f08aa85b  gcc/testsuite/g++.dg/ext/conv1.C
  3bb50ee395de79dadc26789478a32775  gcc/testsuite/g++.dg/ext/conv2.C
+ e31f52726c2ed8b87c4299ff89887ff0  gcc/testsuite/g++.dg/ext/conv3.C
  23a3636722151d503a22f1be497277f0  gcc/testsuite/g++.dg/ext/deprecate-1.C
  d7e31c37139238d965ce29bfb25cd3ce  gcc/testsuite/g++.dg/ext/deprecate-2.C
  739dd1176941bfc4e49f4d7f144da1d3  gcc/testsuite/g++.dg/ext/desig1.C
*************** e6bc1a09cf3c9d838c7ad4575c3d8740  gcc/te
*** 20611,20616 ****
--- 20617,20623 ----
  08aa6b7926e8190151b8337923a5ece9  gcc/testsuite/g++.dg/ext/stmtexpr23.C
  50b71ec6184b5e6c3e905f0038802697  gcc/testsuite/g++.dg/ext/stmtexpr24.C
  12bbac313feac912640ed58cf1f7cdd2  gcc/testsuite/g++.dg/ext/stmtexpr25.C
+ fb5464937383d03f7e56903a4aec5a8f  gcc/testsuite/g++.dg/ext/stmtexpr26.C
  15be25b1a07f94e4d65103bfb52d6406  gcc/testsuite/g++.dg/ext/stmtexpr3.C
  7f4e8ebedb382ebc1349d7067b034121  gcc/testsuite/g++.dg/ext/stmtexpr4.C
  a6cc01634e0bd707301c873f2d35f891  gcc/testsuite/g++.dg/ext/stmtexpr5.C
*************** ebbec8ff132c1bf960fba8ddac82480e  gcc/te
*** 23984,23989 ****
--- 23991,23997 ----
  fc956d5d39ddca9870d1a2fca7df287d  gcc/testsuite/g++.dg/opt/pr109434.C
  b66c56d1ba4ee568e881df0560f18827  gcc/testsuite/g++.dg/opt/pr109462.C
  b8fef9a1bd09e90415f3e35f5466c85c  gcc/testsuite/g++.dg/opt/pr110515.C
+ 149c3b47d16cfa08669bf79341552440  gcc/testsuite/g++.dg/opt/pr119327.C
  2896f5b1a96dd9fabb1dbb65cb4c5921  gcc/testsuite/g++.dg/opt/pr13066-1.C
  4f87f86b9f018cae74888e97468b2fe0  gcc/testsuite/g++.dg/opt/pr14029.C
  8fb7e68e9e9b5eb02628e03f5333e645  gcc/testsuite/g++.dg/opt/pr14888.C
*************** c555871eebd38318d08e6231eacd3642  gcc/te
*** 25446,25451 ****
--- 25454,25460 ----
  fd6634de9e7bec1226bf7939736dd6a2  gcc/testsuite/g++.dg/pr107985.C
  9f85b642c872ce476b819232071a1f96  gcc/testsuite/g++.dg/pr108520.C
  f678b424d2148346313809851fbbe611  gcc/testsuite/g++.dg/pr109524.C
+ adfc90a4ec5f7e6acacbdafc592a2862  gcc/testsuite/g++.dg/pr113673.C
  6431e5522e8138d482199836afdeb823  gcc/testsuite/g++.dg/pr114501_0.C
  2ac64817a39fe1a5c2dc328f4233cda1  gcc/testsuite/g++.dg/pr37742.C
  32b2fbda29ffd2ac2181c43c971f3a7d  gcc/testsuite/g++.dg/pr44328.C
*************** d1ab3a2909d9d576c5dfa94f007a2714  gcc/te
*** 25841,25846 ****
--- 25850,25856 ----
  5428fd71694c60d17f4ec642a0d2f66b  gcc/testsuite/g++.dg/template/access40a.C
  70ca1a844bab441488d753b92bdb5b0a  gcc/testsuite/g++.dg/template/access41.C
  546a46c71775301a03f3deb4b60d4aad  gcc/testsuite/g++.dg/template/access41a.C
+ 7b80fa9125b48cb8cc6fddc40f053fa4  gcc/testsuite/g++.dg/template/access42.C
  043c53bbc7cad60a3c72bfa79987f011  gcc/testsuite/g++.dg/template/access5.C
  3f2e5ae210f767c1589637afbcf45353  gcc/testsuite/g++.dg/template/access6.C
  974ff59cea85bedc028eb1bc9e350cc5  gcc/testsuite/g++.dg/template/access7.C
*************** cfe8d64e9ca37d3d958070b43b9508ee  gcc/te
*** 25897,25902 ****
--- 25907,25913 ----
  c3bf718e40674b7f92cc163501e6cb19  gcc/testsuite/g++.dg/template/array34.C
  b61cd4449e714e370fbecc4fe1c24eb9  gcc/testsuite/g++.dg/template/array35.C
  e65889f5cceab5c9e8951170856d669d  gcc/testsuite/g++.dg/template/array36.C
+ 513ae61e07cb4c78f820f5ab1ac70358  gcc/testsuite/g++.dg/template/array37.C
  3904f7cfd18135b5f8ef1dbb020648fc  gcc/testsuite/g++.dg/template/array4.C
  c557bdb58ff52b9fc368185880923627  gcc/testsuite/g++.dg/template/array5.C
  294448858892b33e7116237b86ab785a  gcc/testsuite/g++.dg/template/array6.C
*************** d48db96d165a20e7398ea0f7e9cd00c3  gcc/te
*** 26342,26347 ****
--- 26353,26359 ----
  b705911769b4dedde26fc55666525547  gcc/testsuite/g++.dg/template/fn-ptr3a.C
  b21023a383690906d31ed5c2f45cd122  gcc/testsuite/g++.dg/template/fn-ptr3b.C
  2137f89260c82e219c89d76cc24abafa  gcc/testsuite/g++.dg/template/fn-ptr4.C
+ 15c91b52ba262150255ee24fc766130a  gcc/testsuite/g++.dg/template/fn-ptr5.C
  636ef7c6b9de68376146848db023fb19  gcc/testsuite/g++.dg/template/fn-ref1.C
  f85ab66eeb2b191e2fee2b0b5013d956  gcc/testsuite/g++.dg/template/fn.C
  1581f9141ad183d6d31a009275ebf7a4  gcc/testsuite/g++.dg/template/fnspec1.C
*************** e8eff4c0ef885b002db007e536bb99f2  gcc/te
*** 27498,27505 ****
--- 27510,27520 ----
  6766aa21b009a63d71d22aa6baba228d  gcc/testsuite/g++.dg/torture/pr111245.C
  25af1620df0107cd03f275ddc7fd98b6  gcc/testsuite/g++.dg/torture/pr111465.C
  f5cb8caa482838045861d5ee18445814  gcc/testsuite/g++.dg/torture/pr113896.C
+ 6c3c5585841ff28b7c4ab8a61978f689  gcc/testsuite/g++.dg/torture/pr113994.C
  ef666186552a9562e70783bbdf98ac33  gcc/testsuite/g++.dg/torture/pr115694.C
+ f298eddbaaad3dfdc15f6cf9683ff08a  gcc/testsuite/g++.dg/torture/pr11911.C
  9df51f0b5a7e716286f2e97dfd28d477  gcc/testsuite/g++.dg/torture/pr119610.C
+ 9cede7e8b587157ccdf0f9f6667d6cc8  gcc/testsuite/g++.dg/torture/pr119778.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
*************** fd872aba23fcbd09e4b5cb3b61dbaadf  gcc/te
*** 28671,28676 ****
--- 28686,28692 ----
  a2a1c47c22d508bea7ea5f6ecfa4f8e0  gcc/testsuite/g++.dg/warn/Wfloat-equal-1.C
  eccc2b2ed947b72890c78d9f36703c07  gcc/testsuite/g++.dg/warn/Wformat-1.C
  410904ada3f7963a6e257984ca090127  gcc/testsuite/g++.dg/warn/Wformat-2.C
+ 043066dc34a8f88f0f8349d9f0370f8a  gcc/testsuite/g++.dg/warn/Wformat-3.C
  7176ad1e7207328b46fc3387dcae316c  gcc/testsuite/g++.dg/warn/Wformat-char8_t-1.C
  c051125966f7b3d00fdd612ba7549043  gcc/testsuite/g++.dg/warn/Wformat-method.C
  9af8ba70e2572530afefa641561d5f5c  gcc/testsuite/g++.dg/warn/Wformat-pr71863.C
*************** c935eb4f9165b002b3615d052e7ee8db  gcc/te
*** 29199,29204 ****
--- 29215,29221 ----
  d5e518a89029e53244731ceed8c64fc4  gcc/testsuite/g++.dg/warn/deprecated-16.C
  0fb7e93661517b2d46da504d60c18ce0  gcc/testsuite/g++.dg/warn/deprecated-17.C
  5ba17fcb74188f6bd8e6e540093b8cd8  gcc/testsuite/g++.dg/warn/deprecated-18.C
+ 85b34a6a77145e6e988a38ae6c2a48d2  gcc/testsuite/g++.dg/warn/deprecated-19.C
  26bafcbe2a9f3729e0b0e2ff8ccf5317  gcc/testsuite/g++.dg/warn/deprecated-2.C
  c63993ca8df065564f0d4ffb32339577  gcc/testsuite/g++.dg/warn/deprecated-20.C
  482df2a6c06bdf9046c6729484298715  gcc/testsuite/g++.dg/warn/deprecated-3.C
*************** ab6c5e333d0a740ae5ecff69966813a2  gcc/te
*** 32831,32836 ****
--- 32848,32854 ----
  6bb662ee32d75fad86cbbcc07aab9998  gcc/testsuite/g++.target/aarch64/sve/pr102252.C
  0dc60096927b240a4fb696311ad6b402  gcc/testsuite/g++.target/aarch64/sve/pr107920.C
  a36c6629cdaa92f5a41aa0c862cf5a54  gcc/testsuite/g++.target/aarch64/sve/pr119610-sve.C
+ a99137b765de9aa71ce57dc37592e682  gcc/testsuite/g++.target/aarch64/sve/pr119706.C
  29fcc7f7695fcab2e4779698100f3053  gcc/testsuite/g++.target/aarch64/sve/pr96974.C
  6c0e94c363caf9e62df35ea98b4918ed  gcc/testsuite/g++.target/aarch64/sve/pr98177-1.C
  e64000c150bb204c31dca884ee33dd4f  gcc/testsuite/g++.target/aarch64/sve/pr98177-2.C
*************** cddb5f327c3c1dc3f843d95d86f7f6a9  gcc/te
*** 34252,34257 ****
--- 34270,34276 ----
  ece87744c4e664bf39922d9937465df1  gcc/testsuite/gcc.c-torture/compile/pr115143-2.c
  14405634ff4726e79f727af592887eec  gcc/testsuite/gcc.c-torture/compile/pr115143-3.c
  a374b3675317752237cc478b2e662a04  gcc/testsuite/gcc.c-torture/compile/pr115277.c
+ 0385d5805cb6d90dc8a17f2f44d3450e  gcc/testsuite/gcc.c-torture/compile/pr117358.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
  86f3d5cf87d24e97aa663b79f2d0ac5d  gcc/testsuite/gcc.c-torture/compile/pr12899.c
*************** ce292472e176af7e97b5cfeddc436247  gcc/te
*** 36351,36359 ****
--- 36370,36380 ----
  7ae9a3b1d760fa818cb4c06f937f3d43  gcc/testsuite/gcc.c-torture/execute/pr114552.c
  c9d7810fb25abff9e36f2472a26b7432  gcc/testsuite/gcc.c-torture/execute/pr114965.c
  70ba48592053a7f5813dc5b2438d1c9d  gcc/testsuite/gcc.c-torture/execute/pr115033.c
+ c79311114bc2631215d25bfb45117788  gcc/testsuite/gcc.c-torture/execute/pr116799.c
  5ddda4b8eb54ab388a566dc4456abe06  gcc/testsuite/gcc.c-torture/execute/pr117095.c
  ff6bb4fb6706fea0c26d717754a6569c  gcc/testsuite/gcc.c-torture/execute/pr117432.c
  5ea8b1886f746d04f95ef6475b79bbac  gcc/testsuite/gcc.c-torture/execute/pr117498.c
+ abc98cdd2ec724c17d58a00efc56816b  gcc/testsuite/gcc.c-torture/execute/pr118623.c
  5802f1a3b7f07033d3e5c9e6bc333779  gcc/testsuite/gcc.c-torture/execute/pr118915.c
  fd7185346c3b94c0a7f7afba7b6bc241  gcc/testsuite/gcc.c-torture/execute/pr119071.c
  b7150a91a8e64c0a2f8d47a9f857fd6e  gcc/testsuite/gcc.c-torture/execute/pr119291.c
*************** b989844b8de5feb2e33ec096aa812ec6  gcc/te
*** 38817,38822 ****
--- 38838,38844 ----
  e3f654469966ae1c0b0222fd88742a56  gcc/testsuite/gcc.dg/asan/pr108777-5.c
  50f6224f5546a4552995bf584c4638ff  gcc/testsuite/gcc.dg/asan/pr108777-6.c
  ea1638a3bd1b7f87abc2eda6d730213e  gcc/testsuite/gcc.dg/asan/pr110027.c
+ c712bebc72e1dc5a56ae1f93009d40b0  gcc/testsuite/gcc.dg/asan/pr110676.c
  26f93981271f9059440b991b53a92413  gcc/testsuite/gcc.dg/asan/pr112709-2.c
  e6fb871193af3e998394dba285a504b4  gcc/testsuite/gcc.dg/asan/pr114687.c
  335e527788f5fd39d280e244ac17b3ef  gcc/testsuite/gcc.dg/asan/pr114956.c
*************** f741ddb64786110b58c8991c33d44c79  gcc/te
*** 43122,43127 ****
--- 43144,43151 ----
  6cadebd8b42bda8557c5814d0103a2fa  gcc/testsuite/gcc.dg/ipa/pr112616.c
  b7a69609ea582386c302afd514d8e233  gcc/testsuite/gcc.dg/ipa/pr114247.c
  e39432b4ae7797e55b13f6d2fd29a4a6  gcc/testsuite/gcc.dg/ipa/pr119852.c
+ fc7c9c751d59b444d0ab30c4d9029491  gcc/testsuite/gcc.dg/ipa/pr120044-1.c
+ 538e5a7542c72b7ea4e4375cbebde001  gcc/testsuite/gcc.dg/ipa/pr120044-2.c
  40bd41302666d56c4edf7330db97920e  gcc/testsuite/gcc.dg/ipa/pr42706.c
  e4887053c792f4f78b03804c148839ce  gcc/testsuite/gcc.dg/ipa/pr45644.c
  6e1b4f2c5d0c0d768778da8e3b7df828  gcc/testsuite/gcc.dg/ipa/pr48195.c
*************** af316e7c425bfdeaadea8998cbd27110  gcc/te
*** 44529,44534 ****
--- 44553,44559 ----
  cca17c29951566d10372eb936be3afeb  gcc/testsuite/gcc.dg/pr116906-1.c
  054759908cf55ab814809e00de717c0b  gcc/testsuite/gcc.dg/pr116906-2.c
  4de2a7a2ac95300f89928764d873895d  gcc/testsuite/gcc.dg/pr117104.c
+ 809d1e4fe382fd35194849af2413cb9f  gcc/testsuite/gcc.dg/pr117239.c
  22c935f2bff095783388f4e05eabe99b  gcc/testsuite/gcc.dg/pr117254.c
  508b7efd3e428ac089a9b5def12ba01c  gcc/testsuite/gcc.dg/pr117398.c
  6693dade68e2cac14ef3b85ed17c9a95  gcc/testsuite/gcc.dg/pr117745.c
*************** c5719c018c12b0a0dfafc5cce8663b35  gcc/te
*** 45973,45979 ****
  423e68203f69b77d89938e7e12632466  gcc/testsuite/gcc.dg/pr81020.c
  0e9fa6d863f3301949fcec2f6c5d73ec  gcc/testsuite/gcc.dg/pr81030.c
  66ddd134037471a6a0f9653a3d3cee47  gcc/testsuite/gcc.dg/pr81165.c
! b491d1bc57ee8efd2d0cb606d3ba98d4  gcc/testsuite/gcc.dg/pr81192.c
  597afe973f83e86d9b7fde6d5683f0a2  gcc/testsuite/gcc.dg/pr81227.c
  f8b9e7e40bbdc976061399c74f48e7e0  gcc/testsuite/gcc.dg/pr81228.c
  db7151f89bb35a308fb76b916ed6af28  gcc/testsuite/gcc.dg/pr81281-1.c
--- 45998,46004 ----
  423e68203f69b77d89938e7e12632466  gcc/testsuite/gcc.dg/pr81020.c
  0e9fa6d863f3301949fcec2f6c5d73ec  gcc/testsuite/gcc.dg/pr81030.c
  66ddd134037471a6a0f9653a3d3cee47  gcc/testsuite/gcc.dg/pr81165.c
! cdeeddc71f3ac1679bbf87eda7e6bbce  gcc/testsuite/gcc.dg/pr81192.c
  597afe973f83e86d9b7fde6d5683f0a2  gcc/testsuite/gcc.dg/pr81227.c
  f8b9e7e40bbdc976061399c74f48e7e0  gcc/testsuite/gcc.dg/pr81228.c
  db7151f89bb35a308fb76b916ed6af28  gcc/testsuite/gcc.dg/pr81281-1.c
*************** b21ece181cd66a1e64aa9dde33e8d1d0  gcc/te
*** 46526,46531 ****
--- 46551,46557 ----
  6f1182e067a6b12f97acf69996773c2e  gcc/testsuite/gcc.dg/pr98766.c
  adabb0bef50f4d7481373e03730d7eca  gcc/testsuite/gcc.dg/pr98793.c
  740d7fb36e41a4cae562cdea26998ff2  gcc/testsuite/gcc.dg/pr98807.c
+ 693efb112a63e0bff9223024ab13758b  gcc/testsuite/gcc.dg/pr98845.c
  7935203ef9b964ed53ea8adeecd1bbed  gcc/testsuite/gcc.dg/pr98865.c
  310114e6ce04de1373727da3fff452a3  gcc/testsuite/gcc.dg/pr99104.c
  c8ed2bc909c8f2213b8af5e0e34bb1fc  gcc/testsuite/gcc.dg/pr99122-1.c
*************** eed87995921a41d6f215168315f20d67  gcc/te
*** 47779,47784 ****
--- 47805,47811 ----
  0f6fc6ed111e2e5782be3518bfe6e1eb  gcc/testsuite/gcc.dg/torture/pr117333.c
  6ae50575ec63bfcc997168ba66e3cd75  gcc/testsuite/gcc.dg/torture/pr117417.c
  211f874eb690213e110852d5efe7da32  gcc/testsuite/gcc.dg/torture/pr117574-1.c
+ 66b62cd3c17e663e000967aafbe81bc7  gcc/testsuite/gcc.dg/torture/pr117979.c
  673535a31d0d70358a6475962b4d71c2  gcc/testsuite/gcc.dg/torture/pr118476-1.c
  d29f5dbd5ce72ebe101793547b043347  gcc/testsuite/gcc.dg/torture/pr118717.c
  4f00237a70e232a883a71b2c8d7c8f95  gcc/testsuite/gcc.dg/torture/pr118922-1.c
*************** c6848ef9d4a9873e77016b18db0eef64  gcc/te
*** 49849,49854 ****
--- 49876,49882 ----
  96d52de11a445b7c87980804cd19320b  gcc/testsuite/gcc.dg/tree-ssa/pr111583-2.c
  30191e7f04d08f0b42092e36965a3c63  gcc/testsuite/gcc.dg/tree-ssa/pr111967.c
  91ab942db3d3d13291ae97a65be94e36  gcc/testsuite/gcc.dg/tree-ssa/pr113993.c
+ 8710d339fbc689e052900f47a175994e  gcc/testsuite/gcc.dg/tree-ssa/pr114864.c
  5dd2285e0a64c83e08b6d68b6cd36eba  gcc/testsuite/gcc.dg/tree-ssa/pr117142.c
  78e6c5fe63f7305009c8a79840fe20dc  gcc/testsuite/gcc.dg/tree-ssa/pr13146.c
  eab19e0c04884cd782c9879cbe292109  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
*************** ea3272b0a6fbd82aefd459202d8b2afc  gcc/te
*** 51978,51985 ****
--- 52006,52015 ----
  3617874dc8f0f764b079db5c7e0fa79b  gcc/testsuite/gcc.dg/vect/pr116125.c
  d26c1450e737c9198e3e413deb96e2b3  gcc/testsuite/gcc.dg/vect/pr116997.c
  663c319abe6475a06b3f4517706d0d00  gcc/testsuite/gcc.dg/vect/pr117307.c
+ 6fd30961e11a3501d3b6aacf53957805  gcc/testsuite/gcc.dg/vect/pr119057.c
  b8e70a728432436afa060e498411cc94  gcc/testsuite/gcc.dg/vect/pr119145.c
  8312a9b4f3649f0390632c660109eb1d  gcc/testsuite/gcc.dg/vect/pr119399.c
+ f5749a6330ea4377b859350a23760b4a  gcc/testsuite/gcc.dg/vect/pr119534.c
  42d48d2ecd5682545b12ac42f879a831  gcc/testsuite/gcc.dg/vect/pr16105.c
  231c99dba9475fe09525bbf6f4374124  gcc/testsuite/gcc.dg/vect/pr18308.c
  3aed50f38aa86c4915d6e4b3cef91287  gcc/testsuite/gcc.dg/vect/pr18400.c
*************** c388e8e709c00e2cb14b83a7bcb1db96  gcc/te
*** 78607,78612 ****
--- 78637,78643 ----
  35e87e60957f9b00691107426abfa992  gcc/testsuite/gcc.target/s390/zvector/get-element-bswap-3.c
  4abdf0afcb959d37baa8b81d5308c265  gcc/testsuite/gcc.target/s390/zvector/get-element-bswap-4.c
  13199189797f1cfdb8952aba604e6159  gcc/testsuite/gcc.target/s390/zvector/imm-range-error-1.c
+ d1469ef79e7de046a5a0d7120bc3edf4  gcc/testsuite/gcc.target/s390/zvector/pr114676.c
  7d0eb00954092ab19d710323c872dd2a  gcc/testsuite/gcc.target/s390/zvector/pr79893.c
  8bc7e55288af53eddbd5437d08f5f9a1  gcc/testsuite/gcc.target/s390/zvector/pr82317.c
  c5f2f4df3f7c11977663ad182d69c2a7  gcc/testsuite/gcc.target/s390/zvector/pr82322.c
*************** d3d77a4c149cf5358eb97935171795fb  gcc/te
*** 89412,89417 ****
--- 89443,89452 ----
  c409953e60b511d0f73cda8df16bc1dc  gcc/testsuite/gfortran.dg/pr117730_b.f90
  9d60e354f12f632752ec6e7da4915d39  gcc/testsuite/gfortran.dg/pr117763.f90
  2e62e84a71388f1638a677b41adbe5d9  gcc/testsuite/gfortran.dg/pr117797.f90
+ 8f53cbad5581d72a5d0420f900cee217  gcc/testsuite/gfortran.dg/pr120191_1.f90
+ 4787146fc7e8109511f0d22d056e2127  gcc/testsuite/gfortran.dg/pr120191_2.f90
+ 05457962d41eef6a41a3de889144d78a  gcc/testsuite/gfortran.dg/pr120191_3.f90
+ b1cb2c9a52574c2df5df49bd13ee7e5d  gcc/testsuite/gfortran.dg/pr120196.f90
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  e9cbd51db4e16292fc5dd1fead2e5a49  gcc/testsuite/gfortran.dg/pr15140.f90
*************** aa1a9744fe32138a966f03d5dfc22541  gcc/te
*** 98502,98508 ****
  66192f2d835f72f9e0f50ce956d8f995  gcc/testsuite/lib/gm2-dg.exp
  511af82e7784b79930a99ed264ee4c75  gcc/testsuite/lib/gm2-simple.exp
  0fbcd8f9a1d131320112a60524ba11db  gcc/testsuite/lib/gm2-torture.exp
! 07fe5aff395d6ff3aeef68e2cf99b423  gcc/testsuite/lib/gm2.exp
  a77eb2ae0a7376bf33d355a4714553ea  gcc/testsuite/lib/gnat-dg.exp
  b4ae06eef6b4887b9ed689af978d27c3  gcc/testsuite/lib/gnat.exp
  53bb5e228778a22ee832e582b423c29f  gcc/testsuite/lib/go-dg.exp
--- 98537,98543 ----
  66192f2d835f72f9e0f50ce956d8f995  gcc/testsuite/lib/gm2-dg.exp
  511af82e7784b79930a99ed264ee4c75  gcc/testsuite/lib/gm2-simple.exp
  0fbcd8f9a1d131320112a60524ba11db  gcc/testsuite/lib/gm2-torture.exp
! f6cc952331a767fcf232fa123e5d2683  gcc/testsuite/lib/gm2.exp
  a77eb2ae0a7376bf33d355a4714553ea  gcc/testsuite/lib/gnat-dg.exp
  b4ae06eef6b4887b9ed689af978d27c3  gcc/testsuite/lib/gnat.exp
  53bb5e228778a22ee832e582b423c29f  gcc/testsuite/lib/go-dg.exp
*************** ad4739e1ababa9fe99c700a409d4d39c  gcc/tr
*** 100374,100380 ****
  51a9944253ec880d2fcefce4f457fd81  gcc/tree-hasher.h
  4528063fea5b6304571700b11c07ee3f  gcc/tree-if-conv.cc
  d827a40245726bb17d7019eeb50733a5  gcc/tree-if-conv.h
! a11a3ff641a3bdf2ea8af5ddeccc6530  gcc/tree-inline.cc
  05a54334040842ce3f2e8586d3d67b76  gcc/tree-inline.h
  9cfa0b6fbd2cdc3d42b9a6a68ee42ef5  gcc/tree-into-ssa.cc
  f1fe226578aba70864fab526bf69c25b  gcc/tree-into-ssa.h
--- 100409,100415 ----
  51a9944253ec880d2fcefce4f457fd81  gcc/tree-hasher.h
  4528063fea5b6304571700b11c07ee3f  gcc/tree-if-conv.cc
  d827a40245726bb17d7019eeb50733a5  gcc/tree-if-conv.h
! 2370d942b5c54b26b1330de13e076535  gcc/tree-inline.cc
  05a54334040842ce3f2e8586d3d67b76  gcc/tree-inline.h
  9cfa0b6fbd2cdc3d42b9a6a68ee42ef5  gcc/tree-into-ssa.cc
  f1fe226578aba70864fab526bf69c25b  gcc/tree-into-ssa.h
*************** feca017a2b8993f6879429c3b7fa9740  gcc/tr
*** 100401,100407 ****
  13e933e748d0799695ef67be87740769  gcc/tree-profile.cc
  835e107c7d950e109cab7dc47dd27a51  gcc/tree-scalar-evolution.cc
  b8223329488a4001552728350c5dbbef  gcc/tree-scalar-evolution.h
! 24890845cfea5059fc50d13b27afe965  gcc/tree-sra.cc
  1f7981f8ac0c98c7d1acb674035e2c16  gcc/tree-sra.h
  931fca6fc15298fa1f2021f8e4f2ed8d  gcc/tree-ssa-address.cc
  c37e139873f3e8da2fffefa09903ee42  gcc/tree-ssa-address.h
--- 100436,100442 ----
  13e933e748d0799695ef67be87740769  gcc/tree-profile.cc
  835e107c7d950e109cab7dc47dd27a51  gcc/tree-scalar-evolution.cc
  b8223329488a4001552728350c5dbbef  gcc/tree-scalar-evolution.h
! 031698db6d2907dd7d749a4ff8847897  gcc/tree-sra.cc
  1f7981f8ac0c98c7d1acb674035e2c16  gcc/tree-sra.h
  931fca6fc15298fa1f2021f8e4f2ed8d  gcc/tree-ssa-address.cc
  c37e139873f3e8da2fffefa09903ee42  gcc/tree-ssa-address.h
*************** cd2e4de6ee944facf2a1995f8743f8c2  gcc/tr
*** 100413,100419 ****
  da67de91badb3e7882b0f0f56a67670e  gcc/tree-ssa-coalesce.cc
  96b67f0be71acb075f0ac5ac12c58664  gcc/tree-ssa-coalesce.h
  8ced730c768e011c0f1ef4c6345cc59a  gcc/tree-ssa-copy.cc
! 1bd17638abbe47cbb1458cbc3491baa4  gcc/tree-ssa-dce.cc
  e36c0da1e5dc257d4ccff9c24043d7fc  gcc/tree-ssa-dce.h
  35f365067a15b900bdc007c8c4366fd1  gcc/tree-ssa-dom.cc
  aba207ac671bbe2380e556429ad21a00  gcc/tree-ssa-dom.h
--- 100448,100454 ----
  da67de91badb3e7882b0f0f56a67670e  gcc/tree-ssa-coalesce.cc
  96b67f0be71acb075f0ac5ac12c58664  gcc/tree-ssa-coalesce.h
  8ced730c768e011c0f1ef4c6345cc59a  gcc/tree-ssa-copy.cc
! 1d67e5802182e37fa7408e02a48948c0  gcc/tree-ssa-dce.cc
  e36c0da1e5dc257d4ccff9c24043d7fc  gcc/tree-ssa-dce.h
  35f365067a15b900bdc007c8c4366fd1  gcc/tree-ssa-dom.cc
  aba207ac671bbe2380e556429ad21a00  gcc/tree-ssa-dom.h
*************** bdda02f8f5872266cc26122c45c7d248  gcc/tr
*** 100456,100462 ****
  edb47f7d1dfba701b0bea40c2c33eeb2  gcc/tree-ssa-strlen.cc
  cae334e8d7f57adf439062af515c28ae  gcc/tree-ssa-strlen.h
  c447caeb8cd3ddc21a4fac3f7536d8bd  gcc/tree-ssa-structalias.cc
! ede21d1664bb37be5cafde80cb42a6ff  gcc/tree-ssa-tail-merge.cc
  ef149bbc15f2173d0e0b9f2254c03eb5  gcc/tree-ssa-ter.cc
  ae3a1dc45c510377c6acedecbc823d32  gcc/tree-ssa-ter.h
  a199afc3c0cb77a15c36952ce742bcbb  gcc/tree-ssa-threadbackward.cc
--- 100491,100497 ----
  edb47f7d1dfba701b0bea40c2c33eeb2  gcc/tree-ssa-strlen.cc
  cae334e8d7f57adf439062af515c28ae  gcc/tree-ssa-strlen.h
  c447caeb8cd3ddc21a4fac3f7536d8bd  gcc/tree-ssa-structalias.cc
! 5fb55b888080a274f1a657904168a72f  gcc/tree-ssa-tail-merge.cc
  ef149bbc15f2173d0e0b9f2254c03eb5  gcc/tree-ssa-ter.cc
  ae3a1dc45c510377c6acedecbc823d32  gcc/tree-ssa-ter.h
  a199afc3c0cb77a15c36952ce742bcbb  gcc/tree-ssa-threadbackward.cc
*************** a4918516d4e0d24a0f05be8cdde5d93f  gcc/tr
*** 100482,100492 ****
  c4f2e2a2cc275dcf93b14541755c8797  gcc/tree-vect-data-refs.cc
  8d1574c041db981b77499997880f38ff  gcc/tree-vect-generic.cc
  c45157ab0aed55ef9c76715a91e9ec64  gcc/tree-vect-loop-manip.cc
! be9359f7dd5494cdd21027cf915adff6  gcc/tree-vect-loop.cc
  fc473067a8cba47493488fd0e39e82e1  gcc/tree-vect-patterns.cc
  b2d8890f59e3b9eaa4fce183bf5f75be  gcc/tree-vect-slp-patterns.cc
  ae5fc3590da86a81b77b9bbbda17c40c  gcc/tree-vect-slp.cc
! cd908450e118b05ca187c7712f7fdbbb  gcc/tree-vect-stmts.cc
  9ed16219bf6ab97b79539fb1bca89485  gcc/tree-vector-builder.cc
  672861a6f3b4ede253a47c708e10856d  gcc/tree-vector-builder.h
  ca7a666858d4e46dfb08e1e6932bb5f4  gcc/tree-vectorizer.cc
--- 100517,100527 ----
  c4f2e2a2cc275dcf93b14541755c8797  gcc/tree-vect-data-refs.cc
  8d1574c041db981b77499997880f38ff  gcc/tree-vect-generic.cc
  c45157ab0aed55ef9c76715a91e9ec64  gcc/tree-vect-loop-manip.cc
! a3f570d0bae1f5cb941213a48c4e8187  gcc/tree-vect-loop.cc
  fc473067a8cba47493488fd0e39e82e1  gcc/tree-vect-patterns.cc
  b2d8890f59e3b9eaa4fce183bf5f75be  gcc/tree-vect-slp-patterns.cc
  ae5fc3590da86a81b77b9bbbda17c40c  gcc/tree-vect-slp.cc
! 2578b9def1e89bc98e186ae47cdbfc3d  gcc/tree-vect-stmts.cc
  9ed16219bf6ab97b79539fb1bca89485  gcc/tree-vector-builder.cc
  672861a6f3b4ede253a47c708e10856d  gcc/tree-vector-builder.h
  ca7a666858d4e46dfb08e1e6932bb5f4  gcc/tree-vectorizer.cc
*************** a3eb5dee2788fe0a6c42502ba658eddd  libffi
*** 101377,101385 ****
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! 55b820ac92030b5b149c71dbba5d5275  libgcc/ChangeLog
  dbe2f0a8ebc3b4337505e8aafc2e59e6  libgcc/Makefile.in
! 19a9d65b93bcb9f5ce192ee3c2f02426  libgcc/config.host
  312fccd8251056a36e26bad71f9cfaa2  libgcc/config.in
  65f4c5be67642a2f7d2323a197380435  libgcc/config/aarch64/aarch64-unwind.h
  bb23301cb30f10c0745c9333199557ae  libgcc/config/aarch64/crtfastmath.c
--- 101412,101420 ----
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! 0de2489c67d086768d58281f3f24424a  libgcc/ChangeLog
  dbe2f0a8ebc3b4337505e8aafc2e59e6  libgcc/Makefile.in
! 94c3955cfe980da8d8f4273289b4077a  libgcc/config.host
  312fccd8251056a36e26bad71f9cfaa2  libgcc/config.in
  65f4c5be67642a2f7d2323a197380435  libgcc/config/aarch64/aarch64-unwind.h
  bb23301cb30f10c0745c9333199557ae  libgcc/config/aarch64/crtfastmath.c
*************** d3a9f35aa3368d1b42549e9f573b7f19  libgcc
*** 101505,101511 ****
  660f8302d8422ba8cf16712c84a2bde0  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  624dc6fc660cb976b810335b3730ec59  libgcc/config/avr/lib2funcs.c
! 9fef0b1bff08dd377fabf57d779a3b92  libgcc/config/avr/libf7/ChangeLog
  69b1e41bdec3b286de0827697e4b6acd  libgcc/config/avr/libf7/asm-defs.h
  434f68c401e93814081ae499ba72ffaf  libgcc/config/avr/libf7/f7-renames.h
  ec0383052925c464decb1bfdeaa5c95c  libgcc/config/avr/libf7/f7-wraps.h
--- 101540,101546 ----
  660f8302d8422ba8cf16712c84a2bde0  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  624dc6fc660cb976b810335b3730ec59  libgcc/config/avr/lib2funcs.c
! 78ff504cc489bc35d0b2171cbeb2fcd1  libgcc/config/avr/libf7/ChangeLog
  69b1e41bdec3b286de0827697e4b6acd  libgcc/config/avr/libf7/asm-defs.h
  434f68c401e93814081ae499ba72ffaf  libgcc/config/avr/libf7/f7-renames.h
  ec0383052925c464decb1bfdeaa5c95c  libgcc/config/avr/libf7/f7-wraps.h
*************** c0d4a5a9b2844505ec941ff60cae008f  libgcc
*** 101518,101524 ****
  47dccabf16372b55fb7154bd70ce141f  libgcc/config/avr/libf7/libf7-common.mk
  abb1c90068e1f456d0639bcaa1cc4a94  libgcc/config/avr/libf7/libf7-const.def
  be57c709e03ea165307e79182d605104  libgcc/config/avr/libf7/libf7-constdef.h
! 424c1c5d2ea745ccabf8ccfc22e5eea2  libgcc/config/avr/libf7/libf7.c
  ca86a4c7e23f8a5616f937c913d8e5bf  libgcc/config/avr/libf7/libf7.h
  606c568e8f2d692bc5762eaba8d8e7b0  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
--- 101553,101559 ----
  47dccabf16372b55fb7154bd70ce141f  libgcc/config/avr/libf7/libf7-common.mk
  abb1c90068e1f456d0639bcaa1cc4a94  libgcc/config/avr/libf7/libf7-const.def
  be57c709e03ea165307e79182d605104  libgcc/config/avr/libf7/libf7-constdef.h
! c0daae88e1f82342cb30acbb3a42ad7d  libgcc/config/avr/libf7/libf7.c
  ca86a4c7e23f8a5616f937c913d8e5bf  libgcc/config/avr/libf7/libf7.h
  606c568e8f2d692bc5762eaba8d8e7b0  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
*************** c648b3441acf03960443d5a3d1b7e4d7  libgcc
*** 101740,101746 ****
  c6afe173595c17ffb20e9c76a90f5158  libgcc/config/i386/t-crtstuff
  9bd719f83d655207581528ab5e7b7354  libgcc/config/i386/t-cygming
  a56b9c84f7b8c5427982b9c1ac4d0268  libgcc/config/i386/t-cygwin
! ab24e8c90feb5a86f9ff59988a9bcc43  libgcc/config/i386/t-darwin
  2005c91878a4a69d60c9418077eefa97  libgcc/config/i386/t-dlldir
  0a87d076e42adda36ab55bbaaac59649  libgcc/config/i386/t-dlldir-x
  68adad1226ee1737a6a8d12b84a63297  libgcc/config/i386/t-dragonfly
--- 101775,101781 ----
  c6afe173595c17ffb20e9c76a90f5158  libgcc/config/i386/t-crtstuff
  9bd719f83d655207581528ab5e7b7354  libgcc/config/i386/t-cygming
  a56b9c84f7b8c5427982b9c1ac4d0268  libgcc/config/i386/t-cygwin
! e831a13e330d0eb6ffa779c755d5fe3d  libgcc/config/i386/t-darwin
  2005c91878a4a69d60c9418077eefa97  libgcc/config/i386/t-dlldir
  0a87d076e42adda36ab55bbaaac59649  libgcc/config/i386/t-dlldir-x
  68adad1226ee1737a6a8d12b84a63297  libgcc/config/i386/t-dragonfly
*************** d1b33e021d547f29de7264898f30b39e  libgcc
*** 102520,102526 ****
  db2d53d612d8d902893f509f83b8b708  libgcc/config/rs6000/sol-cn.S
  3fa6bf8673b3a7fa2278aeb2fe1824f4  libgcc/config/rs6000/t-aix-cxa
  0d6637a7e112c021e7ce371918c7659c  libgcc/config/rs6000/t-crtstuff
! b780b81d7bccdf7af090dbcd3e639dd1  libgcc/config/rs6000/t-darwin
  a8ea28c94f3264c3602a98b4728fed82  libgcc/config/rs6000/t-darwin-ehs
  a0014912b4b08cfbe887d9945460e370  libgcc/config/rs6000/t-darwin64
  01de3124b53eff3c5b115f34ba5434c1  libgcc/config/rs6000/t-e500v1-fp
--- 102555,102561 ----
  db2d53d612d8d902893f509f83b8b708  libgcc/config/rs6000/sol-cn.S
  3fa6bf8673b3a7fa2278aeb2fe1824f4  libgcc/config/rs6000/t-aix-cxa
  0d6637a7e112c021e7ce371918c7659c  libgcc/config/rs6000/t-crtstuff
! bc91baf0523c8475334ca80d6ff265c4  libgcc/config/rs6000/t-darwin
  a8ea28c94f3264c3602a98b4728fed82  libgcc/config/rs6000/t-darwin-ehs
  a0014912b4b08cfbe887d9945460e370  libgcc/config/rs6000/t-darwin64
  01de3124b53eff3c5b115f34ba5434c1  libgcc/config/rs6000/t-e500v1-fp
*************** f199b38114ce849b77b38bd475d72cff  libgcc
*** 102619,102624 ****
--- 102654,102660 ----
  060a49bb5c4a53a2125123d4cbd571de  libgcc/config/t-crtstuff-pic
  fc8b2970727885119792967fb3344fda  libgcc/config/t-darwin
  f699f9e7159ba2c6033406086c5c8299  libgcc/config/t-darwin-ehs
+ 1b055dd68e433300709a246c1b88d25b  libgcc/config/t-darwin-libgccs1
  5f05c653ae1e197bae3fc3fc5ca1e59d  libgcc/config/t-darwin-min-1
  d8138086c2f686d6fb17804f19019954  libgcc/config/t-darwin-min-5
  830793a6b0d554dc6c4495bc27a0c9e3  libgcc/config/t-darwin-min-8
*************** bc0d3012b8b7835b6369ac8efc9b08a8  libgcc
*** 102892,102898 ****
  afca86d4e2ebcbd002c0967889bca65c  libgcc/vtv_end_preinit.c
  120570d3d00f2719ceb16accb59b9502  libgcc/vtv_start.c
  0c268e8e6df76a1dc94c1bc709707a5a  libgcc/vtv_start_preinit.c
! 0a41dd6146b71dafb41eefedb514f723  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
--- 102928,102934 ----
  afca86d4e2ebcbd002c0967889bca65c  libgcc/vtv_end_preinit.c
  120570d3d00f2719ceb16accb59b9502  libgcc/vtv_start.c
  0c268e8e6df76a1dc94c1bc709707a5a  libgcc/vtv_start_preinit.c
! 64b2b8097d93aabfffaf451846993003  libgfortran/ChangeLog
  9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
  80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
  9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
*************** b17bec84859ecfc3e6361f3795750935  libgfo
*** 103224,103231 ****
  9dc10294a79c01169b166619221e4888  libgfortran/generated/findloc1_r8.c
  0c7973abab4cce435527dabb6f6a36b8  libgfortran/generated/findloc1_s1.c
  39f26bb8daec1525d659ceb5dfb1ddee  libgfortran/generated/findloc1_s4.c
! 2ebf8ac4fe4f3a5d7faf3ee1e009d94f  libgfortran/generated/findloc2_s1.c
! cdeda0cf3d38dd5600e24d6c6ee38b50  libgfortran/generated/findloc2_s4.c
  f2c87a8fd888ec762983474a516b5b3e  libgfortran/generated/iall_i1.c
  48bbbc3d75942a4a496d90c0a17b808b  libgfortran/generated/iall_i16.c
  fa94a0c0bae4eeb22b2c3614cc501eeb  libgfortran/generated/iall_i2.c
--- 103260,103267 ----
  9dc10294a79c01169b166619221e4888  libgfortran/generated/findloc1_r8.c
  0c7973abab4cce435527dabb6f6a36b8  libgfortran/generated/findloc1_s1.c
  39f26bb8daec1525d659ceb5dfb1ddee  libgfortran/generated/findloc1_s4.c
! 7e66bb31bcd066705da6903b12fb57bc  libgfortran/generated/findloc2_s1.c
! 895ebfa3076c93efa7f7253c207ac694  libgfortran/generated/findloc2_s4.c
  f2c87a8fd888ec762983474a516b5b3e  libgfortran/generated/iall_i1.c
  48bbbc3d75942a4a496d90c0a17b808b  libgfortran/generated/iall_i16.c
  fa94a0c0bae4eeb22b2c3614cc501eeb  libgfortran/generated/iall_i2.c
*************** af8b1fcf0e5fb45ecb5a260c75c8d2db  libgfo
*** 103350,103357 ****
  05c9be3731f34eb49120c390a4c7cb13  libgfortran/generated/maxloc1_16_r17.c
  021b61bee81b13679b8e9aedb57e2b89  libgfortran/generated/maxloc1_16_r4.c
  28977f2fb2e6352955731dcfe8608a17  libgfortran/generated/maxloc1_16_r8.c
! fd64b52796c07636f28eac8f498f2878  libgfortran/generated/maxloc1_16_s1.c
! 39bdebdb23f92f8d18267d8b14453cc1  libgfortran/generated/maxloc1_16_s4.c
  21944c5afaf8b0fd5a0d8934ff422fd7  libgfortran/generated/maxloc1_4_i1.c
  b3317239defd2308a3481c704c2912e0  libgfortran/generated/maxloc1_4_i16.c
  4e32fafca96b9b37c24236457ffdc9d9  libgfortran/generated/maxloc1_4_i2.c
--- 103386,103393 ----
  05c9be3731f34eb49120c390a4c7cb13  libgfortran/generated/maxloc1_16_r17.c
  021b61bee81b13679b8e9aedb57e2b89  libgfortran/generated/maxloc1_16_r4.c
  28977f2fb2e6352955731dcfe8608a17  libgfortran/generated/maxloc1_16_r8.c
! aa95c29d3c4dec2b0328f725ebdb328b  libgfortran/generated/maxloc1_16_s1.c
! b8c8ad0b7e334af9e9e012d9f2453898  libgfortran/generated/maxloc1_16_s4.c
  21944c5afaf8b0fd5a0d8934ff422fd7  libgfortran/generated/maxloc1_4_i1.c
  b3317239defd2308a3481c704c2912e0  libgfortran/generated/maxloc1_4_i16.c
  4e32fafca96b9b37c24236457ffdc9d9  libgfortran/generated/maxloc1_4_i2.c
*************** e3511ed8efbcbabc153ba36f5d746dec  libgfo
*** 103362,103369 ****
  e132f12f22498e6e1c7e3803c8b559a2  libgfortran/generated/maxloc1_4_r17.c
  564eb2eff62a565351dd06e689d2ef24  libgfortran/generated/maxloc1_4_r4.c
  c77bdbc8c95d9eb99d9f80224ac8bbf2  libgfortran/generated/maxloc1_4_r8.c
! 20c3167bf09d430f9b515e4bbace81ff  libgfortran/generated/maxloc1_4_s1.c
! 33938b76fe5302306ebbedb8875d4460  libgfortran/generated/maxloc1_4_s4.c
  2b4d8e914fe07cd9fc572ed9bf6cd517  libgfortran/generated/maxloc1_8_i1.c
  5893625de37006fe4dddbadaaf5b3d32  libgfortran/generated/maxloc1_8_i16.c
  3099bb099a36b29a7fa4306d0d648874  libgfortran/generated/maxloc1_8_i2.c
--- 103398,103405 ----
  e132f12f22498e6e1c7e3803c8b559a2  libgfortran/generated/maxloc1_4_r17.c
  564eb2eff62a565351dd06e689d2ef24  libgfortran/generated/maxloc1_4_r4.c
  c77bdbc8c95d9eb99d9f80224ac8bbf2  libgfortran/generated/maxloc1_4_r8.c
! 2ad1f03a28f316059c82c05520f500f7  libgfortran/generated/maxloc1_4_s1.c
! 556794c6aee31a5bcf3f4070044e1778  libgfortran/generated/maxloc1_4_s4.c
  2b4d8e914fe07cd9fc572ed9bf6cd517  libgfortran/generated/maxloc1_8_i1.c
  5893625de37006fe4dddbadaaf5b3d32  libgfortran/generated/maxloc1_8_i16.c
  3099bb099a36b29a7fa4306d0d648874  libgfortran/generated/maxloc1_8_i2.c
*************** abf097816deff1be5afefde10ce29ae4  libgfo
*** 103374,103387 ****
  7df711d3ff7b66135e05f73a73f187ab  libgfortran/generated/maxloc1_8_r17.c
  e9437e99605734d36484747b502360f6  libgfortran/generated/maxloc1_8_r4.c
  3126b1ac1e3976b7235dd8ff40fccb8f  libgfortran/generated/maxloc1_8_r8.c
! d5c7f0d3f1f0ec34200826416f1042d4  libgfortran/generated/maxloc1_8_s1.c
! 000f09a20ff21083bc750980ba8ba91b  libgfortran/generated/maxloc1_8_s4.c
! 0c8abb0fb05447a0b92d11d827246d90  libgfortran/generated/maxloc2_16_s1.c
! cd51ec9b12d060f3af99427f284b4dd9  libgfortran/generated/maxloc2_16_s4.c
! 0d4068e49e159e5c6cff51c5e01c2d27  libgfortran/generated/maxloc2_4_s1.c
! 836a5c96016d42e47bb9394ecd6c377f  libgfortran/generated/maxloc2_4_s4.c
! 63a3de8507ec3a35d76ec81e0e0355ec  libgfortran/generated/maxloc2_8_s1.c
! dd8c37353f332e3e3f852a24506f5814  libgfortran/generated/maxloc2_8_s4.c
  888a839abf66f62f2e94d40bf6c64768  libgfortran/generated/maxval0_s1.c
  2f58aec33f4f8ce2350807f0efbad310  libgfortran/generated/maxval0_s4.c
  549184878780f448c93745f85c3923bd  libgfortran/generated/maxval1_s1.c
--- 103410,103423 ----
  7df711d3ff7b66135e05f73a73f187ab  libgfortran/generated/maxloc1_8_r17.c
  e9437e99605734d36484747b502360f6  libgfortran/generated/maxloc1_8_r4.c
  3126b1ac1e3976b7235dd8ff40fccb8f  libgfortran/generated/maxloc1_8_r8.c
! d63bb5819d6cfa98bdf4e841164fb89f  libgfortran/generated/maxloc1_8_s1.c
! 000c2daca32982c4008efd42fd12921a  libgfortran/generated/maxloc1_8_s4.c
! f76787805ae51b1cd758edc2e9ffca65  libgfortran/generated/maxloc2_16_s1.c
! 0889481d87a184d6854d3ea7dd5b6ffc  libgfortran/generated/maxloc2_16_s4.c
! a38a527e63b0f2dd56186f040edb8b43  libgfortran/generated/maxloc2_4_s1.c
! 7446a295245ddd80f54ec08a0f92aeaf  libgfortran/generated/maxloc2_4_s4.c
! 5c62b4905d61c969dde4783dec3d8233  libgfortran/generated/maxloc2_8_s1.c
! 3e4e8bc62f4cf04e1f23adb0b8e5362f  libgfortran/generated/maxloc2_8_s4.c
  888a839abf66f62f2e94d40bf6c64768  libgfortran/generated/maxval0_s1.c
  2f58aec33f4f8ce2350807f0efbad310  libgfortran/generated/maxval0_s4.c
  549184878780f448c93745f85c3923bd  libgfortran/generated/maxval1_s1.c
*************** c9fb11ec052ea2c8fd61cafd1b237212  libgfo
*** 103442,103449 ****
  dce014d809712c190ac967ab8b6e9c18  libgfortran/generated/minloc1_16_r17.c
  4fc5cf276fc63eb0d9fed8291e5f1a2a  libgfortran/generated/minloc1_16_r4.c
  2500c58ae5b6bbb4f607ce06203ce829  libgfortran/generated/minloc1_16_r8.c
! 56d351a8ad8acc9f87df6ce2a4d204c3  libgfortran/generated/minloc1_16_s1.c
! dce8a9b6ee41a5df12f014db141bc5c5  libgfortran/generated/minloc1_16_s4.c
  10bccc05a67c476cf3e9f78a2dd0e925  libgfortran/generated/minloc1_4_i1.c
  1ee06ea0623a3e012fb8d28566b379af  libgfortran/generated/minloc1_4_i16.c
  058229ead5bfd94ce11097b14f793e15  libgfortran/generated/minloc1_4_i2.c
--- 103478,103485 ----
  dce014d809712c190ac967ab8b6e9c18  libgfortran/generated/minloc1_16_r17.c
  4fc5cf276fc63eb0d9fed8291e5f1a2a  libgfortran/generated/minloc1_16_r4.c
  2500c58ae5b6bbb4f607ce06203ce829  libgfortran/generated/minloc1_16_r8.c
! a413f5778c4612cc3c3cd1d7cbe7e442  libgfortran/generated/minloc1_16_s1.c
! fcd7a593db717bca5c29eb1b83dc2fe9  libgfortran/generated/minloc1_16_s4.c
  10bccc05a67c476cf3e9f78a2dd0e925  libgfortran/generated/minloc1_4_i1.c
  1ee06ea0623a3e012fb8d28566b379af  libgfortran/generated/minloc1_4_i16.c
  058229ead5bfd94ce11097b14f793e15  libgfortran/generated/minloc1_4_i2.c
*************** c7cbe7b071bdff9131364a805b4d3d4b  libgfo
*** 103454,103461 ****
  201c44330f3a1d2542b6d571c34bab83  libgfortran/generated/minloc1_4_r17.c
  2c228529be8be60937599b049da110be  libgfortran/generated/minloc1_4_r4.c
  23b471f0f0fe5f5d75022c6b20f2d274  libgfortran/generated/minloc1_4_r8.c
! 23b1849e5e02207be34fbdaea8a155b2  libgfortran/generated/minloc1_4_s1.c
! fbd75534a59b1a3dfd3486e467c3be91  libgfortran/generated/minloc1_4_s4.c
  b641ddb490394565d7a830c07f48f975  libgfortran/generated/minloc1_8_i1.c
  4272f4c2b2091243f3ffd2aee54a70a2  libgfortran/generated/minloc1_8_i16.c
  914a9536ec8d20599b0bb44d2f5fb99d  libgfortran/generated/minloc1_8_i2.c
--- 103490,103497 ----
  201c44330f3a1d2542b6d571c34bab83  libgfortran/generated/minloc1_4_r17.c
  2c228529be8be60937599b049da110be  libgfortran/generated/minloc1_4_r4.c
  23b471f0f0fe5f5d75022c6b20f2d274  libgfortran/generated/minloc1_4_r8.c
! 34666b0bfe964fd5c58c31e12ba17b54  libgfortran/generated/minloc1_4_s1.c
! 22b421dacce7762e93d865c79dd730ba  libgfortran/generated/minloc1_4_s4.c
  b641ddb490394565d7a830c07f48f975  libgfortran/generated/minloc1_8_i1.c
  4272f4c2b2091243f3ffd2aee54a70a2  libgfortran/generated/minloc1_8_i16.c
  914a9536ec8d20599b0bb44d2f5fb99d  libgfortran/generated/minloc1_8_i2.c
*************** e02bfc3b9609ddf8d82d22f8a6c570a8  libgfo
*** 103466,103479 ****
  99eac5f7dcd17e2cd13149fadbeee8cf  libgfortran/generated/minloc1_8_r17.c
  7342f1eddca71ac143e933007d702136  libgfortran/generated/minloc1_8_r4.c
  6b85ef54d48ef114dc6090908b959168  libgfortran/generated/minloc1_8_r8.c
! c610bd030db897e607082d6fdc9aafb6  libgfortran/generated/minloc1_8_s1.c
! ff928f0ee754312e6503df160b8de4f1  libgfortran/generated/minloc1_8_s4.c
! 97d35d4ff6066478cba83a8bcc9b2237  libgfortran/generated/minloc2_16_s1.c
! 52b807d11f0f6fe902d330b4dd390dab  libgfortran/generated/minloc2_16_s4.c
! 0018c0cedc55aa5a53739307824f3d25  libgfortran/generated/minloc2_4_s1.c
! 1f053b21a2d0c113a582f5745421e68f  libgfortran/generated/minloc2_4_s4.c
! c2aab1f3b9081ac738fc358a7f60ca92  libgfortran/generated/minloc2_8_s1.c
! 8b6fb27160ce0e1c8bacf70f72a67628  libgfortran/generated/minloc2_8_s4.c
  16a14bc6a38a49a3c12c6a701d138c1e  libgfortran/generated/minval0_s1.c
  c3397c9b8b0d2838b089d25169be38c2  libgfortran/generated/minval0_s4.c
  cc57bbd362f85fceb3887978981e1ac2  libgfortran/generated/minval1_s1.c
--- 103502,103515 ----
  99eac5f7dcd17e2cd13149fadbeee8cf  libgfortran/generated/minloc1_8_r17.c
  7342f1eddca71ac143e933007d702136  libgfortran/generated/minloc1_8_r4.c
  6b85ef54d48ef114dc6090908b959168  libgfortran/generated/minloc1_8_r8.c
! 6412d125f1da9c9d73d797f78d72e17b  libgfortran/generated/minloc1_8_s1.c
! 04be4c9ab2f21aa2fab347404b280f16  libgfortran/generated/minloc1_8_s4.c
! 3bd29213daeaed2d616b4e73d2f2157f  libgfortran/generated/minloc2_16_s1.c
! f7067790f5ddb35b7d5e35662925da45  libgfortran/generated/minloc2_16_s4.c
! 2c52cd3c5744c1e3c191a3bfd5b34223  libgfortran/generated/minloc2_4_s1.c
! aa9465b5ed05a3d87f51e364fb80b123  libgfortran/generated/minloc2_4_s4.c
! bf4e16449ebcbe29c3d440e9b3142ddb  libgfortran/generated/minloc2_8_s1.c
! d2a0eefcf1746c09f02301b7267ddd19  libgfortran/generated/minloc2_8_s4.c
  16a14bc6a38a49a3c12c6a701d138c1e  libgfortran/generated/minval0_s1.c
  c3397c9b8b0d2838b089d25169be38c2  libgfortran/generated/minval0_s4.c
  cc57bbd362f85fceb3887978981e1ac2  libgfortran/generated/minval1_s1.c
*************** c9d8247486900e2a58d4acd1506ca530  libgfo
*** 103745,103756 ****
  5c584a4f4d1d101c847a9683896f816d  libgfortran/m4/iany.m4
  12e65c85a7b1380da4a2b2626a3e28c8  libgfortran/m4/ifindloc0.m4
  7c318bfedf88da606a14b334606eca73  libgfortran/m4/ifindloc1.m4
! a9b333e990ea3269022c5ca5dd2a5651  libgfortran/m4/ifindloc2.m4
  143daeeed4d4e1baa17753b51ddd88be  libgfortran/m4/iforeach-s.m4
  ef77f0d18ce645146e5155d85730a2dc  libgfortran/m4/iforeach-s2.m4
  8bbbce69fc532a405b1b88c79c2ef47b  libgfortran/m4/iforeach.m4
  d41d8cd98f00b204e9800998ecf8427e  libgfortran/m4/ifunc.m4
! 89b98ba2db8ff2252ed184a6c20b8f31  libgfortran/m4/ifunction-s.m4
  1603b9dcffb8d8436da0598e622783a9  libgfortran/m4/ifunction-s2.m4
  3cbecd5d114cf344efea0d4754437c7a  libgfortran/m4/ifunction.m4
  86a682dafdbffea255a15ff37710c93a  libgfortran/m4/ifunction_logical.m4
--- 103781,103792 ----
  5c584a4f4d1d101c847a9683896f816d  libgfortran/m4/iany.m4
  12e65c85a7b1380da4a2b2626a3e28c8  libgfortran/m4/ifindloc0.m4
  7c318bfedf88da606a14b334606eca73  libgfortran/m4/ifindloc1.m4
! a487ee56e40e361b64c48fcd76b2cba7  libgfortran/m4/ifindloc2.m4
  143daeeed4d4e1baa17753b51ddd88be  libgfortran/m4/iforeach-s.m4
  ef77f0d18ce645146e5155d85730a2dc  libgfortran/m4/iforeach-s2.m4
  8bbbce69fc532a405b1b88c79c2ef47b  libgfortran/m4/iforeach.m4
  d41d8cd98f00b204e9800998ecf8427e  libgfortran/m4/ifunc.m4
! 315f45e021310f13fe6461d79608ac6d  libgfortran/m4/ifunction-s.m4
  1603b9dcffb8d8436da0598e622783a9  libgfortran/m4/ifunction-s2.m4
  3cbecd5d114cf344efea0d4754437c7a  libgfortran/m4/ifunction.m4
  86a682dafdbffea255a15ff37710c93a  libgfortran/m4/ifunction_logical.m4
*************** aa00c963c5894aef260a2582577cf747  libgfo
*** 103766,103772 ****
  704635440ffe3544a7b5ed071c194570  libgfortran/m4/maxloc0s.m4
  7a48df838a08b5772894e7a7f35874c9  libgfortran/m4/maxloc1.m4
  ae3abcb1bc7b1bcea924833fc8612626  libgfortran/m4/maxloc1s.m4
! 4bdee60072825fb954e660f2b922e6ac  libgfortran/m4/maxloc2s.m4
  303dccd351a5a4d21f7c8bf7776ad79f  libgfortran/m4/maxval.m4
  953751aaf307be916b3f11df71c9097f  libgfortran/m4/maxval0s.m4
  1430f30b8c6dc16c1db2794d350041b9  libgfortran/m4/maxval1s.m4
--- 103802,103808 ----
  704635440ffe3544a7b5ed071c194570  libgfortran/m4/maxloc0s.m4
  7a48df838a08b5772894e7a7f35874c9  libgfortran/m4/maxloc1.m4
  ae3abcb1bc7b1bcea924833fc8612626  libgfortran/m4/maxloc1s.m4
! 2c270198bf9b82b579627580a70076e7  libgfortran/m4/maxloc2s.m4
  303dccd351a5a4d21f7c8bf7776ad79f  libgfortran/m4/maxval.m4
  953751aaf307be916b3f11df71c9097f  libgfortran/m4/maxval0s.m4
  1430f30b8c6dc16c1db2794d350041b9  libgfortran/m4/maxval1s.m4
*************** ae3abcb1bc7b1bcea924833fc8612626  libgfo
*** 103774,103780 ****
  6c8927381ab3750edeea11e48405de0d  libgfortran/m4/minloc0s.m4
  e926e3ec307fe1069719faaf0bcdd0ef  libgfortran/m4/minloc1.m4
  a91a206179303b5355d846f04cd32fb1  libgfortran/m4/minloc1s.m4
! d8657549646e6319d0fa620f0a0a8a22  libgfortran/m4/minloc2s.m4
  42996baf060828b41d899b18ffc5c0b7  libgfortran/m4/minval.m4
  34cc5204d729114a55e478ca42e9b72b  libgfortran/m4/minval0s.m4
  8b331bb2b8000fc9e3e74521fea84073  libgfortran/m4/minval1s.m4
--- 103810,103816 ----
  6c8927381ab3750edeea11e48405de0d  libgfortran/m4/minloc0s.m4
  e926e3ec307fe1069719faaf0bcdd0ef  libgfortran/m4/minloc1.m4
  a91a206179303b5355d846f04cd32fb1  libgfortran/m4/minloc1s.m4
! 7e9aa44e305b0c62d8b7ea9b50da0761  libgfortran/m4/minloc2s.m4
  42996baf060828b41d899b18ffc5c0b7  libgfortran/m4/minval.m4
  34cc5204d729114a55e478ca42e9b72b  libgfortran/m4/minval0s.m4
  8b331bb2b8000fc9e3e74521fea84073  libgfortran/m4/minval1s.m4
*************** c265574887f4390ecccd1073ee5c0190  libssp
*** 113440,113446 ****
  02470b541ab713bd1bfb8e6787e65f2c  libssp/strncpy-chk.c
  8a7a0719ef45cb3ae0041192eac8d550  libssp/vsnprintf-chk.c
  d662ba7536e1bd06226d47b1a7f1f4e2  libssp/vsprintf-chk.c
! b5fb425d5fa8f883df7a473422082ba3  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 113476,113482 ----
  02470b541ab713bd1bfb8e6787e65f2c  libssp/strncpy-chk.c
  8a7a0719ef45cb3ae0041192eac8d550  libssp/vsnprintf-chk.c
  d662ba7536e1bd06226d47b1a7f1f4e2  libssp/vsprintf-chk.c
! ac8fd0eaf3472fcfdc0e814eafdfe213  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** ea9f3638ad1b48ca29f5994d80c71708  libstd
*** 114188,114194 ****
  473f8f1ef247a71477d517401689f0c9  libstdc++-v3/include/bits/range_access.h
  0b340f9f0aa8be50f3129c18e59e2b02  libstdc++-v3/include/bits/ranges_algo.h
  8da69d1883c69ec7a5d57af5d6bb60fd  libstdc++-v3/include/bits/ranges_algobase.h
! 57ef40a9a718c07ad01e3bdb427ed356  libstdc++-v3/include/bits/ranges_base.h
  130f0e54de161dc32742e62f03e44704  libstdc++-v3/include/bits/ranges_cmp.h
  1df9866686fcec2b45ae110995687d70  libstdc++-v3/include/bits/ranges_uninitialized.h
  9ae5b2e65607cbdc7f3bf5bf34e1f3f5  libstdc++-v3/include/bits/ranges_util.h
--- 114224,114230 ----
  473f8f1ef247a71477d517401689f0c9  libstdc++-v3/include/bits/range_access.h
  0b340f9f0aa8be50f3129c18e59e2b02  libstdc++-v3/include/bits/ranges_algo.h
  8da69d1883c69ec7a5d57af5d6bb60fd  libstdc++-v3/include/bits/ranges_algobase.h
! 9b18aa7d8fd40cbccc3783c4d2e93046  libstdc++-v3/include/bits/ranges_base.h
  130f0e54de161dc32742e62f03e44704  libstdc++-v3/include/bits/ranges_cmp.h
  1df9866686fcec2b45ae110995687d70  libstdc++-v3/include/bits/ranges_uninitialized.h
  9ae5b2e65607cbdc7f3bf5bf34e1f3f5  libstdc++-v3/include/bits/ranges_util.h
*************** f7dbdb00cb5664fe06868cb519c18fbf  libstd
*** 114224,114230 ****
  4a0bb23f380040a1ce59a88a8353ce1b  libstdc++-v3/include/bits/stl_deque.h
  60507e6d5f3434ae5ce86363f622a178  libstdc++-v3/include/bits/stl_function.h
  f1a151d37c2259f38ae9f3bb60c184cc  libstdc++-v3/include/bits/stl_heap.h
! fe306f78c0f36c9f6910ddbc74275463  libstdc++-v3/include/bits/stl_iterator.h
  a98431c50c8cf6faa3d9b03f2ae47efb  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
  d041a2fcff4ab5d385d0c6c1542917bc  libstdc++-v3/include/bits/stl_iterator_base_types.h
  fb63f540eb43cc83f3b74a25a0038a07  libstdc++-v3/include/bits/stl_list.h
--- 114260,114266 ----
  4a0bb23f380040a1ce59a88a8353ce1b  libstdc++-v3/include/bits/stl_deque.h
  60507e6d5f3434ae5ce86363f622a178  libstdc++-v3/include/bits/stl_function.h
  f1a151d37c2259f38ae9f3bb60c184cc  libstdc++-v3/include/bits/stl_heap.h
! d8a7a6dcde87a94d9c9abc252fe100d5  libstdc++-v3/include/bits/stl_iterator.h
  a98431c50c8cf6faa3d9b03f2ae47efb  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
  d041a2fcff4ab5d385d0c6c1542917bc  libstdc++-v3/include/bits/stl_iterator_base_types.h
  fb63f540eb43cc83f3b74a25a0038a07  libstdc++-v3/include/bits/stl_list.h
*************** f983d195aabe6ddf5bdb53a8b9960b70  libstd
*** 114844,114850 ****
  d80e37105837d110af793b72a4094525  libstdc++-v3/include/std/ostream
  243b863f64a8568d74b7e83bfa7fe62d  libstdc++-v3/include/std/queue
  5f64c48b6b92533c0dfdcd5b2f349ba0  libstdc++-v3/include/std/random
! b439549d38a587f8a0af285b3e6bf198  libstdc++-v3/include/std/ranges
  ea42966b5a22878e369a7160ef8ad6c7  libstdc++-v3/include/std/ratio
  dbf94a876bc82510f36ab506bfc09d2a  libstdc++-v3/include/std/regex
  f38325f4d3fcf20cc0b517fcd149a1ec  libstdc++-v3/include/std/scoped_allocator
--- 114880,114886 ----
  d80e37105837d110af793b72a4094525  libstdc++-v3/include/std/ostream
  243b863f64a8568d74b7e83bfa7fe62d  libstdc++-v3/include/std/queue
  5f64c48b6b92533c0dfdcd5b2f349ba0  libstdc++-v3/include/std/random
! 40a8af9fb85c1ed2009c401022069c28  libstdc++-v3/include/std/ranges
  ea42966b5a22878e369a7160ef8ad6c7  libstdc++-v3/include/std/ratio
  dbf94a876bc82510f36ab506bfc09d2a  libstdc++-v3/include/std/regex
  f38325f4d3fcf20cc0b517fcd149a1ec  libstdc++-v3/include/std/scoped_allocator
*************** a14d821c738b7d692853bd5ac9aca208  libstd
*** 114875,114881 ****
  3b6db236d79c47508252ed42b9305f08  libstdc++-v3/include/std/valarray
  cfd9d740f075b0603b1484631a782667  libstdc++-v3/include/std/variant
  347610187149e687c9f04f346f8398b6  libstdc++-v3/include/std/vector
! de58479c9fae8e6fb4a9a8bd5ced2efc  libstdc++-v3/include/std/version
  3aa50c1dd58b008e63662874a93f6614  libstdc++-v3/include/tr1/array
  98b97b662591af51ce88a917962a9c2e  libstdc++-v3/include/tr1/bessel_function.tcc
  feca7de6d090c997fdee966b7ad6b001  libstdc++-v3/include/tr1/beta_function.tcc
--- 114911,114917 ----
  3b6db236d79c47508252ed42b9305f08  libstdc++-v3/include/std/valarray
  cfd9d740f075b0603b1484631a782667  libstdc++-v3/include/std/variant
  347610187149e687c9f04f346f8398b6  libstdc++-v3/include/std/vector
! ce5ec575fd7e050a98518622017ff2d1  libstdc++-v3/include/std/version
  3aa50c1dd58b008e63662874a93f6614  libstdc++-v3/include/tr1/array
  98b97b662591af51ce88a917962a9c2e  libstdc++-v3/include/tr1/bessel_function.tcc
  feca7de6d090c997fdee966b7ad6b001  libstdc++-v3/include/tr1/beta_function.tcc
*************** debb68c68dd5189b867e83a0950968c4  libstd
*** 119544,119550 ****
  a827335620d308b35c53b3ee1c9877b9  libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc
  860ac6e26479f7bb4d8e3d1529ffbb0e  libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
  19962f4a948ee8a811eb1d167bc7885d  libstdc++-v3/testsuite/24_iterators/common_iterator/2.cc
! e0a48c815909ee67a38f78eeb920db89  libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc
  3941f812a2cc88107aa50d5fa67d2cce  libstdc++-v3/testsuite/24_iterators/container_access.cc
  ff373ccb63010db03d4b9fc644be36cb  libstdc++-v3/testsuite/24_iterators/contiguous/concept.cc
  355ec131f5c874467d4e57e6f83aa348  libstdc++-v3/testsuite/24_iterators/contiguous/tag.cc
--- 119580,119587 ----
  a827335620d308b35c53b3ee1c9877b9  libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc
  860ac6e26479f7bb4d8e3d1529ffbb0e  libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
  19962f4a948ee8a811eb1d167bc7885d  libstdc++-v3/testsuite/24_iterators/common_iterator/2.cc
! 3cac830e703c04cc46e53a8cd159c4fc  libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc
! 0ac3e08f2580f096d42535d8bd3e0f68  libstdc++-v3/testsuite/24_iterators/const_iterator/112490.cc
  3941f812a2cc88107aa50d5fa67d2cce  libstdc++-v3/testsuite/24_iterators/container_access.cc
  ff373ccb63010db03d4b9fc644be36cb  libstdc++-v3/testsuite/24_iterators/contiguous/concept.cc
  355ec131f5c874467d4e57e6f83aa348  libstdc++-v3/testsuite/24_iterators/contiguous/tag.cc
*************** aa9930f1ed9f06f2d99c91ddab8802af  libstd
*** 119657,119663 ****
  71ec18369f3a12952163565985f0b100  libstdc++-v3/testsuite/24_iterators/range_operations/advance.cc
  6d7eb0347f53ca13b926d9f9b99c9a2f  libstdc++-v3/testsuite/24_iterators/range_operations/advance_debug_neg.cc
  5dcff108eb2f62baa60bfa3a74d92304  libstdc++-v3/testsuite/24_iterators/range_operations/advance_overflow.cc
! 88a53a38be47a524b07722f68deb33be  libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc
  3851ab6d95bc78163ba5186545dd9eb7  libstdc++-v3/testsuite/24_iterators/range_operations/lwg3392.cc
  719157d78f9921ad711b728fc354eac9  libstdc++-v3/testsuite/24_iterators/range_operations/next.cc
  614701f7ea3bfad828c724f514f9002f  libstdc++-v3/testsuite/24_iterators/range_operations/prev.cc
--- 119694,119700 ----
  71ec18369f3a12952163565985f0b100  libstdc++-v3/testsuite/24_iterators/range_operations/advance.cc
  6d7eb0347f53ca13b926d9f9b99c9a2f  libstdc++-v3/testsuite/24_iterators/range_operations/advance_debug_neg.cc
  5dcff108eb2f62baa60bfa3a74d92304  libstdc++-v3/testsuite/24_iterators/range_operations/advance_overflow.cc
! b6e2647c2814fb14642582c4deb700cb  libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc
  3851ab6d95bc78163ba5186545dd9eb7  libstdc++-v3/testsuite/24_iterators/range_operations/lwg3392.cc
  719157d78f9921ad711b728fc354eac9  libstdc++-v3/testsuite/24_iterators/range_operations/next.cc
  614701f7ea3bfad828c724f514f9002f  libstdc++-v3/testsuite/24_iterators/range_operations/prev.cc
*************** efe074fd50fae87fcfe4de707f8c07a0  libstd
*** 124017,124023 ****
  202e17626aff79b167a4884d4674e795  libstdc++-v3/testsuite/std/ranges/adaptors/adjacent/1.cc
  dfaace835421177fca7beffe48564885  libstdc++-v3/testsuite/std/ranges/adaptors/adjacent_transform/1.cc
  627ec2851e5a9ef14fa7f85fde916815  libstdc++-v3/testsuite/std/ranges/adaptors/all.cc
! bfcf1004a149342f80da7950ca8df7e1  libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
  87ba957cd4433e77a0cb6227da3d374f  libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc
  86881fe316fe3dddbf1fdcb5446a4d28  libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc
  1fccda8f7a1de96c8ccb844d90976182  libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc
--- 124054,124060 ----
  202e17626aff79b167a4884d4674e795  libstdc++-v3/testsuite/std/ranges/adaptors/adjacent/1.cc
  dfaace835421177fca7beffe48564885  libstdc++-v3/testsuite/std/ranges/adaptors/adjacent_transform/1.cc
  627ec2851e5a9ef14fa7f85fde916815  libstdc++-v3/testsuite/std/ranges/adaptors/all.cc
! d9f80cdef103e21bd46b7f21f8e941b5  libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
  87ba957cd4433e77a0cb6227da3d374f  libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc
  86881fe316fe3dddbf1fdcb5446a4d28  libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc
  1fccda8f7a1de96c8ccb844d90976182  libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc
*************** bfcf1004a149342f80da7950ca8df7e1  libstd
*** 124025,124031 ****
  01493f9520b1a8c2d7672ccb6169b37e  libstdc++-v3/testsuite/std/ranges/adaptors/conditionally_borrowed.cc
  b6a927b256eb5eab0f3abcd01a2c8c31  libstdc++-v3/testsuite/std/ranges/adaptors/counted.cc
  c2b2be0c1640a49df2db13de9010388c  libstdc++-v3/testsuite/std/ranges/adaptors/detail/copyable_box.cc
! 600b9066effca126cddab6467daee09e  libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc
  601a50c193fb8ba7a88242946e976753  libstdc++-v3/testsuite/std/ranges/adaptors/drop_while.cc
  c0a8eb7862d860bdd0ca173629ed25af  libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc
  3fcb281a03409e43294f77c1e7809391  libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc
--- 124062,124068 ----
  01493f9520b1a8c2d7672ccb6169b37e  libstdc++-v3/testsuite/std/ranges/adaptors/conditionally_borrowed.cc
  b6a927b256eb5eab0f3abcd01a2c8c31  libstdc++-v3/testsuite/std/ranges/adaptors/counted.cc
  c2b2be0c1640a49df2db13de9010388c  libstdc++-v3/testsuite/std/ranges/adaptors/detail/copyable_box.cc
! 94993597aaea635c3357fe34871e970e  libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc
  601a50c193fb8ba7a88242946e976753  libstdc++-v3/testsuite/std/ranges/adaptors/drop_while.cc
  c0a8eb7862d860bdd0ca173629ed25af  libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc
  3fcb281a03409e43294f77c1e7809391  libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc
*************** bd67d76104555a7de62866a1baff7ed3  libstd
*** 124049,124055 ****
  f5e5bb8391ba02b0e327a14148fb1ac8  libstdc++-v3/testsuite/std/ranges/adaptors/take.cc
  ef73229904799aeb3dae759b2b1506fd  libstdc++-v3/testsuite/std/ranges/adaptors/take_while.cc
  1d336da62b68ad415ae48cef574ddcb4  libstdc++-v3/testsuite/std/ranges/adaptors/transform.cc
! 1b6e66801e47197c0377da8fde3b1372  libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
  305712b194a813db5b31eff4849e104f  libstdc++-v3/testsuite/std/ranges/empty_view.cc
  8d78702ca001ddafb85b0d93417f76eb  libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc
  fbe0c8c2b69ba1b4bbb1acb0b57446ef  libstdc++-v3/testsuite/std/ranges/iota/93267.cc
--- 124086,124092 ----
  f5e5bb8391ba02b0e327a14148fb1ac8  libstdc++-v3/testsuite/std/ranges/adaptors/take.cc
  ef73229904799aeb3dae759b2b1506fd  libstdc++-v3/testsuite/std/ranges/adaptors/take_while.cc
  1d336da62b68ad415ae48cef574ddcb4  libstdc++-v3/testsuite/std/ranges/adaptors/transform.cc
! c145d0c042d643c24e1171c8060ff604  libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
  305712b194a813db5b31eff4849e104f  libstdc++-v3/testsuite/std/ranges/empty_view.cc
  8d78702ca001ddafb85b0d93417f76eb  libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc
  fbe0c8c2b69ba1b4bbb1acb0b57446ef  libstdc++-v3/testsuite/std/ranges/iota/93267.cc
*************** b0d0511fba3555c80fa2d60aef381210  libstd
*** 124083,124089 ****
  5114b5e62452a6782ad6fc37b16551a9  libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc
  62dfabaa87afd998a8749dc6ef82e8ba  libstdc++-v3/testsuite/std/ranges/subrange/sizeof.cc
  aeb9eaadef4893f7af9121e729b30082  libstdc++-v3/testsuite/std/ranges/subrange/tuple_like.cc
! e558156d543990fd7ffedd413e678c0f  libstdc++-v3/testsuite/std/ranges/version_c++23.cc
  6cd4bc58902113776271473a39e74ec7  libstdc++-v3/testsuite/std/ranges/view.cc
  be195a164d7b231d7be0ceceab7d53c7  libstdc++-v3/testsuite/std/ranges/zip/1.cc
  2f16a173debd2e7c50247b158bd4cbf1  libstdc++-v3/testsuite/std/ranges/zip_transform/1.cc
--- 124120,124126 ----
  5114b5e62452a6782ad6fc37b16551a9  libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc
  62dfabaa87afd998a8749dc6ef82e8ba  libstdc++-v3/testsuite/std/ranges/subrange/sizeof.cc
  aeb9eaadef4893f7af9121e729b30082  libstdc++-v3/testsuite/std/ranges/subrange/tuple_like.cc
! cf3e74295fc3c3033b27bcf4d5db06c5  libstdc++-v3/testsuite/std/ranges/version_c++23.cc
  6cd4bc58902113776271473a39e74ec7  libstdc++-v3/testsuite/std/ranges/view.cc
  be195a164d7b231d7be0ceceab7d53c7  libstdc++-v3/testsuite/std/ranges/zip/1.cc
  2f16a173debd2e7c50247b158bd4cbf1  libstdc++-v3/testsuite/std/ranges/zip_transform/1.cc
diff -Nrcpad gcc-13-20250522/fixincludes/ChangeLog gcc-13-20250529/fixincludes/ChangeLog
*** gcc-13-20250522/fixincludes/ChangeLog	Thu May 22 22:32:09 2025
--- gcc-13-20250529/fixincludes/ChangeLog	Thu May 29 22:32:08 2025
***************
*** 1,3 ****
--- 1,12 ----
+ 2025-05-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2024-06-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+ 
+ 	* fixincl.x: Regenerate.
+ 	* inclhack.def (apple_local_stdio_fn_deprecation): Also apply to
+ 	_stdio.h.
+ 
  2024-05-21  Release Manager
  
  	* GCC 13.3.0 released.
diff -Nrcpad gcc-13-20250522/fixincludes/fixincl.x gcc-13-20250529/fixincludes/fixincl.x
*** gcc-13-20250522/fixincludes/fixincl.x	Thu May 22 22:32:09 2025
--- gcc-13-20250529/fixincludes/fixincl.x	Thu May 29 22:32:08 2025
***************
*** 2,12 ****
   *
   * DO NOT EDIT THIS FILE   (fixincl.x)
   *
!  * It has been AutoGen-ed  December 11, 2023 at 02:50:24 PM by AutoGen 5.18.16
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT SVN-MERGE THIS FILE, EITHER Mon Dec 11 14:50:24 CET 2023
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
--- 2,12 ----
   *
   * DO NOT EDIT THIS FILE   (fixincl.x)
   *
!  * It has been AutoGen-ed  May 27, 2025 at 10:40:20 AM by AutoGen 5.18.16
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT SVN-MERGE THIS FILE, EITHER Tue May 27 10:40:20 BST 2025
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
*************** tSCC zApple_Local_Stdio_Fn_DeprecationNa
*** 2619,2625 ****
   *  File name selection pattern
   */
  tSCC zApple_Local_Stdio_Fn_DeprecationList[] =
!   "stdio.h\0";
  /*
   *  Machine/OS name selection pattern
   */
--- 2619,2625 ----
   *  File name selection pattern
   */
  tSCC zApple_Local_Stdio_Fn_DeprecationList[] =
!   "stdio.h\0_stdio.h\0";
  /*
   *  Machine/OS name selection pattern
   */
diff -Nrcpad gcc-13-20250522/fixincludes/inclhack.def gcc-13-20250529/fixincludes/inclhack.def
*** gcc-13-20250522/fixincludes/inclhack.def	Thu May 22 22:32:09 2025
--- gcc-13-20250529/fixincludes/inclhack.def	Thu May 29 22:32:08 2025
*************** fix = {
*** 1273,1278 ****
--- 1273,1279 ----
      hackname  = apple_local_stdio_fn_deprecation;
      mach      = "*-*-*darwin2*";
      files     = stdio.h;
+     files     = _stdio.h;
      select    = "__deprecated_msg([^\n]*)$";
      c_fix     = format;
      c_fix_arg = "#if defined(__APPLE_LOCAL_DEPRECATIONS)\n"
diff -Nrcpad gcc-13-20250522/gcc/ChangeLog gcc-13-20250529/gcc/ChangeLog
*** gcc-13-20250522/gcc/ChangeLog	Thu May 22 22:32:09 2025
--- gcc-13-20250529/gcc/ChangeLog	Thu May 29 22:32:08 2025
***************
*** 1,3 ****
--- 1,266 ----
+ 2025-05-28  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-05-14  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/111873
+ 	* tree-sra.cc (sra_modify_expr): When processing a load which has
+ 	a type-incompatible replacement, do not store the contents of the
+ 	replacement into the original aggregate when that aggregate is
+ 	const.
+ 
+ 2025-05-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2025-04-15  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* configure: Regenerate.
+ 	* configure.ac: Recognise PROJECT:ld-mmmm.nn.aa as an identifier
+ 	for Darwin's static linker.
+ 
+ 2025-05-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 	    Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR target/119172
+ 	* config.in: Regenerate.
+ 	* config/darwin.h (DARWIN_PLATFORM_ID): Add the option to
+ 	use -macos_version_min where available.
+ 	* configure: Regenerate.
+ 	* configure.ac: Check for ld64 support of -macos_version_min.
+ 
+ 2025-05-28  Andreas Krebbel  <krebbel@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-23  Andreas Krebbel  <krebbel@linux.ibm.com>
+ 
+ 	PR target/114676
+ 	* config/s390/s390-c.cc (s390_expand_overloaded_builtin): Use a
+ 	MEM_REF with an addend of type ptr_type_node.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/118623
+ 	* config/i386/i386.md (*bt<mode>): Represent bt as
+ 	compare:CCC of const0_rtx and zero_extract rather than
+ 	zero_extract and const0_rtx.
+ 	(*jcc_bt<mode>): Likewise.  Use LTU and GEU as flags test
+ 	instead of EQ and NE.
+ 	(*jcc_bt<mode>_1): Likewise.
+ 	(*jcc_bt<mode>_mask): Likewise.
+ 	(*jcc_bt<mode>_mask_1): Likewise.
+ 	(Help combine recognize bt followed by cmov splitter): Likewise.
+ 	(*bt<mode>_setcqi): Likewise.
+ 	(*bt<mode>_setncqi): Likewise.
+ 	(*bt<mode>_setnc<mode>): Likewise.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/118819
+ 	* alias.cc (memrefs_conflict_p): Perform arithmetics on c, xsize and
+ 	ysize in poly_offset_int and return -1 if it is not representable in
+ 	poly_int64.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/117239
+ 	* cselib.cc (cselib_init): Remove spurious closing paren in
+ 	the #ifdef STACK_ADDRESS_OFFSET specific code.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/117239
+ 	* cselib.cc: Include predict.h.
+ 	(callmem): Change type from rtx to rtx[2].
+ 	(cselib_preserve_only_values): Use callmem[0] rather than callmem.
+ 	(cselib_invalidate_mem): Optimize and don't try to invalidate
+ 	for the mem_rtx == callmem[1] case MEMs which clearly can't be
+ 	below the stack pointer.
+ 	(cselib_process_insn): Use callmem[0] rather than callmem.
+ 	For const/pure calls also call cselib_invalidate_mem (callmem[1])
+ 	in !ACCUMULATE_OUTGOING_ARGS or cfun->calls_alloca functions.
+ 	(cselib_init): Initialize callmem[0] rather than callmem and also
+ 	initialize callmem[1].
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/117358
+ 	* gimple-fold.cc (gimple_fold_builtin_memory_op): Punt if stmt has no
+ 	vdef in ssa form.
+ 	(gimple_fold_builtin_bcmp): Punt if stmt has no vuse in ssa form.
+ 	(gimple_fold_builtin_bcopy): Punt if stmt has no vdef in ssa form.
+ 	(gimple_fold_builtin_bzero): Likewise.
+ 	(gimple_fold_builtin_memset): Likewise.  Use return false instead of
+ 	return NULL_TREE.
+ 	(gimple_fold_builtin_strcpy): Punt if stmt has no vdef in ssa form.
+ 	(gimple_fold_builtin_strncpy): Likewise.
+ 	(gimple_fold_builtin_strchr): Punt if stmt has no vuse in ssa form.
+ 	(gimple_fold_builtin_strstr): Likewise.
+ 	(gimple_fold_builtin_strcat): Punt if stmt has no vdef in ssa form.
+ 	(gimple_fold_builtin_strcat_chk): Likewise.
+ 	(gimple_fold_builtin_strncat): Likewise.
+ 	(gimple_fold_builtin_strncat_chk): Likewise.
+ 	(gimple_fold_builtin_string_compare): Likewise.
+ 	(gimple_fold_builtin_fputs): Likewise.
+ 	(gimple_fold_builtin_memory_chk): Likewise.
+ 	(gimple_fold_builtin_stxcpy_chk): Likewise.
+ 	(gimple_fold_builtin_stxncpy_chk): Likewise.
+ 	(gimple_fold_builtin_stpcpy): Likewise.
+ 	(gimple_fold_builtin_snprintf_chk): Likewise.
+ 	(gimple_fold_builtin_sprintf_chk): Likewise.
+ 	(gimple_fold_builtin_sprintf): Likewise.
+ 	(gimple_fold_builtin_snprintf): Likewise.
+ 	(gimple_fold_builtin_fprintf): Likewise.
+ 	(gimple_fold_builtin_printf): Likewise.
+ 	(gimple_fold_builtin_realloc): Likewise.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/113994
+ 	PR rtl-optimization/116799
+ 	* loop-doloop.cc: Include targhooks.h.
+ 	(doloop_optimize): Also punt on intersection of modified
+ 	with df_get_live_in (desc->out_edge->dest).
+ 	(doloop_optimize_loops): Call df_analyze.  Use
+ 	LI_ONLY_INNERMOST or LI_FROM_INNERMOST instead of 0 as
+ 	second loops_list argument.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/110676
+ 	* gimple-fold.cc (gimple_fold_builtin_strlen): For -fsanitize=address
+ 	reset maxlen to sizetype maximum.
+ 
+ 2025-05-26  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2025-05-14  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+ 
+ 	* config/s390/vector.md: Fix tf_to_fprx2 by using vlr instead of
+ 	ldr.
+ 
+ 2025-05-26  Roger Sayle  <roger@nextmovesoftware.com>
+ 
+ 	Backported from master:
+ 	2024-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+ 		    Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/113673
+ 	* gimple-ssa-store-merging.cc (find_bswap_or_nop_load): Make static.
+ 	(find_bswap_or_nop_1): Avoid transformations (load merging) when
+ 	stmt_can_throw_internal indicates that a statement can trap.
+ 
+ 2025-05-26  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	Backported from master:
+ 	2024-07-29  Jan Hubicka  <hubicka@ucw.cz>
+ 
+ 	PR ipa/116055
+ 	* ipa-modref.cc (analyze_function): Do not ICE when flags regress.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-01  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119534
+ 	* tree-vect-stmts.cc (get_load_store_type): Reject
+ 	VECTOR_BOOLEAN_TYPE_P offset vector type for emulated gathers.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-02-18  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/98845
+ 	* tree-ssa-tail-merge.cc (stmt_local_def): Consider a
+ 	def with no uses not local.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-03-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/119119
+ 	* gimplify.cc (is_gimple_mem_rhs_or_call): All empty CTORs
+ 	are OK when not a register type.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-03-03  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119057
+ 	* tree-vect-loop.cc (check_reduction_path): Add argument
+ 	specifying whether we're analyzing the inner loop of a
+ 	double reduction.  Do not allow extra uses outside of the
+ 	double reduction cycle in this case.
+ 	(vect_is_simple_reduction): Adjust.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-01-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/117979
+ 	* tree-ssa-dce.cc (make_forwarders_with_degenerate_phis):
+ 	Properly update the irreducible region state.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119778
+ 	* tree-inline.cc (copy_edges_for_bb): Mark calls that are
+ 	source of abnormal edges as altering control-flow.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-10  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/119706
+ 	* gimple-expr.cc (is_gimple_mem_ref_addr): Also allow
+ 	POLY_INT_CST.
+ 
+ 2025-05-26  Kyle Huey  <me@kylehuey.com>
+ 
+ 	Backported from master:
+ 	2025-05-14  Kyle Huey  <me@kylehuey.com>
+ 
+ 	* dwarf2out.cc (resolve_addr_in_expr): Propagate dtprel into the address
+ 	table when appropriate.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/119327
+ 	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore also
+ 	OPTION_MASK_SAVE_TOC_INDIRECT differences.
+ 
  2025-05-15  Andrew MacLeod  <amacleod@redhat.com>
  
  	PR tree-optimization/117287
diff -Nrcpad gcc-13-20250522/gcc/DATESTAMP gcc-13-20250529/gcc/DATESTAMP
*** gcc-13-20250522/gcc/DATESTAMP	Thu May 22 22:32:09 2025
--- gcc-13-20250529/gcc/DATESTAMP	Thu May 29 22:32:09 2025
***************
*** 1 ****
! 20250522
--- 1 ----
! 20250529
diff -Nrcpad gcc-13-20250522/gcc/alias.cc gcc-13-20250529/gcc/alias.cc
*** gcc-13-20250522/gcc/alias.cc	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/alias.cc	Thu May 29 22:32:09 2025
*************** memrefs_conflict_p (poly_int64 xsize, rt
*** 2603,2621 ****
  	    return memrefs_conflict_p (xsize, x1, ysize, y1, c);
  	  if (poly_int_rtx_p (x1, &cx1))
  	    {
  	      if (poly_int_rtx_p (y1, &cy1))
! 		return memrefs_conflict_p (xsize, x0, ysize, y0,
! 					   c - cx1 + cy1);
  	      else
! 		return memrefs_conflict_p (xsize, x0, ysize, y, c - cx1);
  	    }
  	  else if (poly_int_rtx_p (y1, &cy1))
! 	    return memrefs_conflict_p (xsize, x, ysize, y0, c + cy1);
  
  	  return -1;
  	}
        else if (poly_int_rtx_p (x1, &cx1))
! 	return memrefs_conflict_p (xsize, x0, ysize, y, c - cx1);
      }
    else if (GET_CODE (y) == PLUS)
      {
--- 2603,2641 ----
  	    return memrefs_conflict_p (xsize, x1, ysize, y1, c);
  	  if (poly_int_rtx_p (x1, &cx1))
  	    {
+ 	      poly_offset_int co = c;
+ 	      co -= cx1;
  	      if (poly_int_rtx_p (y1, &cy1))
! 		{
! 		  co += cy1;
! 		  if (!co.to_shwi (&c))
! 		    return -1;
! 		  return memrefs_conflict_p (xsize, x0, ysize, y0, c);
! 		}
! 	      else if (!co.to_shwi (&c))
! 		return -1;
  	      else
! 		return memrefs_conflict_p (xsize, x0, ysize, y, c);
  	    }
  	  else if (poly_int_rtx_p (y1, &cy1))
! 	    {
! 	      poly_offset_int co = c;
! 	      co += cy1;
! 	      if (!co.to_shwi (&c))
! 		return -1;
! 	      return memrefs_conflict_p (xsize, x, ysize, y0, c);
! 	    }
  
  	  return -1;
  	}
        else if (poly_int_rtx_p (x1, &cx1))
! 	{
! 	  poly_offset_int co = c;
! 	  co -= cx1;
! 	  if (!co.to_shwi (&c))
! 	    return -1;
! 	  return memrefs_conflict_p (xsize, x0, ysize, y, c);
! 	}
      }
    else if (GET_CODE (y) == PLUS)
      {
*************** memrefs_conflict_p (poly_int64 xsize, rt
*** 2631,2637 ****
  
        poly_int64 cy1;
        if (poly_int_rtx_p (y1, &cy1))
! 	return memrefs_conflict_p (xsize, x, ysize, y0, c + cy1);
        else
  	return -1;
      }
--- 2651,2663 ----
  
        poly_int64 cy1;
        if (poly_int_rtx_p (y1, &cy1))
! 	{
! 	  poly_offset_int co = c;
! 	  co += cy1;
! 	  if (!co.to_shwi (&c))
! 	    return -1;
! 	  return memrefs_conflict_p (xsize, x, ysize, y0, c);
! 	}
        else
  	return -1;
      }
*************** memrefs_conflict_p (poly_int64 xsize, rt
*** 2684,2691 ****
  	  if (maybe_gt (xsize, 0))
  	    xsize = -xsize;
  	  if (maybe_ne (xsize, 0))
! 	    xsize += sc + 1;
! 	  c -= sc + 1;
  	  return memrefs_conflict_p (xsize, canon_rtx (XEXP (x, 0)),
  				     ysize, y, c);
  	}
--- 2710,2725 ----
  	  if (maybe_gt (xsize, 0))
  	    xsize = -xsize;
  	  if (maybe_ne (xsize, 0))
! 	    {
! 	      poly_offset_int xsizeo = xsize;
! 	      xsizeo += sc + 1;
! 	      if (!xsizeo.to_shwi (&xsize))
! 		return -1;
! 	    }
! 	  poly_offset_int co = c;
! 	  co -= sc + 1;
! 	  if (!co.to_shwi (&c))
! 	    return -1;
  	  return memrefs_conflict_p (xsize, canon_rtx (XEXP (x, 0)),
  				     ysize, y, c);
  	}
*************** memrefs_conflict_p (poly_int64 xsize, rt
*** 2699,2706 ****
  	  if (maybe_gt (ysize, 0))
  	    ysize = -ysize;
  	  if (maybe_ne (ysize, 0))
! 	    ysize += sc + 1;
! 	  c += sc + 1;
  	  return memrefs_conflict_p (xsize, x,
  				     ysize, canon_rtx (XEXP (y, 0)), c);
  	}
--- 2733,2748 ----
  	  if (maybe_gt (ysize, 0))
  	    ysize = -ysize;
  	  if (maybe_ne (ysize, 0))
! 	    {
! 	      poly_offset_int ysizeo = ysize;
! 	      ysizeo += sc + 1;
! 	      if (!ysizeo.to_shwi (&ysize))
! 		return -1;
! 	    }
! 	  poly_offset_int co = c;
! 	  co += sc + 1;
! 	  if (!co.to_shwi (&c))
! 	    return -1;
  	  return memrefs_conflict_p (xsize, x,
  				     ysize, canon_rtx (XEXP (y, 0)), c);
  	}
*************** memrefs_conflict_p (poly_int64 xsize, rt
*** 2711,2717 ****
        poly_int64 cx, cy;
        if (poly_int_rtx_p (x, &cx) && poly_int_rtx_p (y, &cy))
  	{
! 	  c += cy - cx;
  	  return offset_overlap_p (c, xsize, ysize);
  	}
  
--- 2753,2763 ----
        poly_int64 cx, cy;
        if (poly_int_rtx_p (x, &cx) && poly_int_rtx_p (y, &cy))
  	{
! 	  poly_offset_int co = c;
! 	  co += cy;
! 	  co -= cx;
! 	  if (!co.to_shwi (&c))
! 	    return -1;
  	  return offset_overlap_p (c, xsize, ysize);
  	}
  
diff -Nrcpad gcc-13-20250522/gcc/config/darwin.h gcc-13-20250529/gcc/config/darwin.h
*** gcc-13-20250522/gcc/config/darwin.h	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/config/darwin.h	Thu May 29 22:32:09 2025
*************** extern GTY(()) int darwin_ms_struct;
*** 276,287 ****
  #define DARWIN_RDYNAMIC "%{rdynamic:%nrdynamic is not supported}"
  #endif
  
! #if LD64_HAS_PLATFORM_VERSION
! #define DARWIN_PLATFORM_ID \
!   "%{mmacosx-version-min=*: -platform_version macos %* 0.0} "
  #else
! #define DARWIN_PLATFORM_ID \
    "%{mmacosx-version-min=*:-macosx_version_min %*} "
  #endif
  
  /* Code built with mdynamic-no-pic does not support PIE/PIC, so  we disallow
--- 276,292 ----
  #define DARWIN_RDYNAMIC "%{rdynamic:%nrdynamic is not supported}"
  #endif
  
! #if LD64_HAS_MACOS_VERSION_MIN
! # define DARWIN_PLATFORM_ID \
!   "%{mmacosx-version-min=*:-macos_version_min %*} "
  #else
! # if LD64_HAS_PLATFORM_VERSION
! #  define DARWIN_PLATFORM_ID \
!   "%{mmacosx-version-min=*: -platform_version macos %* 0.0} "
! # else
! #  define DARWIN_PLATFORM_ID \
    "%{mmacosx-version-min=*:-macosx_version_min %*} "
+ # endif
  #endif
  
  /* Code built with mdynamic-no-pic does not support PIE/PIC, so  we disallow
diff -Nrcpad gcc-13-20250522/gcc/config/i386/i386.md gcc-13-20250529/gcc/config/i386/i386.md
*** gcc-13-20250522/gcc/config/i386/i386.md	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/config/i386/i386.md	Thu May 29 22:32:09 2025
***************
*** 15172,15182 ****
  (define_insn "*bt<mode>"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
  	  (zero_extract:SWI48
  	    (match_operand:SWI48 0 "nonimmediate_operand" "r,m")
  	    (const_int 1)
! 	    (match_operand:SI 1 "nonmemory_operand" "r<S>,<S>"))
! 	  (const_int 0)))]
    ""
  {
    switch (get_attr_mode (insn))
--- 15172,15182 ----
  (define_insn "*bt<mode>"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
+ 	  (const_int 0)
  	  (zero_extract:SWI48
  	    (match_operand:SWI48 0 "nonimmediate_operand" "r,m")
  	    (const_int 1)
! 	    (match_operand:SI 1 "nonmemory_operand" "r<S>,<S>"))))]
    ""
  {
    switch (get_attr_mode (insn))
***************
*** 15222,15239 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))
! 	  (const_int 0)))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 3))
  		      (pc)))]
  {
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
  })
  
  (define_insn_and_split "*jcc_bt<mode>_1"
--- 15222,15239 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
+ 	  (const_int 0)
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 3))
  		      (pc)))]
  {
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], GET_CODE (operands[0]) == NE ? LTU : GEU);
  })
  
  (define_insn_and_split "*jcc_bt<mode>_1"
***************
*** 15254,15264 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))
! 	  (const_int 0)))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 3))
--- 15254,15264 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
+ 	  (const_int 0)
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 3))
***************
*** 15266,15272 ****
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
  })
  
  ;; Avoid useless masking of bit offset operand.
--- 15266,15272 ----
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], GET_CODE (operands[0]) == NE ? LTU : GEU);
  })
  
  ;; Avoid useless masking of bit offset operand.
***************
*** 15291,15308 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))
! 	  (const_int 0)))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 4))
  		      (pc)))]
  {
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
  })
  
  (define_insn_and_split "*jcc_bt<mode>_mask_1"
--- 15291,15308 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
+ 	  (const_int 0)
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 4))
  		      (pc)))]
  {
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], GET_CODE (operands[0]) == NE ? LTU : GEU);
  })
  
  (define_insn_and_split "*jcc_bt<mode>_mask_1"
***************
*** 15328,15338 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))
! 	  (const_int 0)))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 4))
--- 15328,15338 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
+ 	  (const_int 0)
  	  (zero_extract:SWI48
  	    (match_dup 1)
  	    (const_int 1)
! 	    (match_dup 2))))
     (set (pc)
  	(if_then_else (match_op_dup 0 [(reg:CCC FLAGS_REG) (const_int 0)])
  		      (label_ref (match_dup 4))
***************
*** 15341,15347 ****
    operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
    operands[2] = gen_lowpart (SImode, operands[2]);
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
  })
  
  ;; Help combine recognize bt followed by cmov
--- 15341,15347 ----
    operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
    operands[2] = gen_lowpart (SImode, operands[2]);
    operands[0] = shallow_copy_rtx (operands[0]);
!   PUT_CODE (operands[0], GET_CODE (operands[0]) == NE ? LTU : GEU);
  })
  
  ;; Help combine recognize bt followed by cmov
***************
*** 15361,15370 ****
     && ix86_pre_reload_split ()"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
! 	 (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))
! 	 (const_int 0)))
     (set (match_dup 0)
! 	(if_then_else:SWI248 (eq (reg:CCC FLAGS_REG) (const_int 0))
  			     (match_dup 3)
  			     (match_dup 4)))]
  {
--- 15361,15370 ----
     && ix86_pre_reload_split ()"
    [(set (reg:CCC FLAGS_REG)
  	(compare:CCC
! 	 (const_int 0)
! 	 (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))))
     (set (match_dup 0)
! 	(if_then_else:SWI248 (ltu (reg:CCC FLAGS_REG) (const_int 0))
  			     (match_dup 3)
  			     (match_dup 4)))]
  {
***************
*** 15386,15395 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
!          (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))
!          (const_int 0)))
     (set (match_dup 0)
!         (eq:QI (reg:CCC FLAGS_REG) (const_int 0)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  })
--- 15386,15395 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
! 	 (const_int 0)
! 	 (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))))
     (set (match_dup 0)
!         (ltu:QI (reg:CCC FLAGS_REG) (const_int 0)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  })
***************
*** 15409,15418 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
!          (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))
!          (const_int 0)))
     (set (match_dup 0)
!         (ne:QI (reg:CCC FLAGS_REG) (const_int 0)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  })
--- 15409,15418 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
! 	 (const_int 0)
! 	 (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))))
     (set (match_dup 0)
!         (geu:QI (reg:CCC FLAGS_REG) (const_int 0)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  })
***************
*** 15430,15439 ****
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
!          (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))
!          (const_int 0)))
     (set (match_dup 3)
!         (ne:QI (reg:CCC FLAGS_REG) (const_int 0)))
     (set (match_dup 0) (zero_extend:SWI48 (match_dup 3)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
--- 15430,15439 ----
    "&& 1"
    [(set (reg:CCC FLAGS_REG)
          (compare:CCC
! 	 (const_int 0)
! 	 (zero_extract:SWI48 (match_dup 1) (const_int 1) (match_dup 2))))
     (set (match_dup 3)
! 	(geu:QI (reg:CCC FLAGS_REG) (const_int 0)))
     (set (match_dup 0) (zero_extend:SWI48 (match_dup 3)))]
  {
    operands[2] = lowpart_subreg (SImode, operands[2], QImode);
diff -Nrcpad gcc-13-20250522/gcc/config/rs6000/rs6000.cc gcc-13-20250529/gcc/config/rs6000/rs6000.cc
*** gcc-13-20250522/gcc/config/rs6000/rs6000.cc	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/config/rs6000/rs6000.cc	Thu May 29 22:32:10 2025
*************** rs6000_can_inline_p (tree caller, tree c
*** 25485,25494 ****
  	}
      }
  
!   /* Ignore -mpower8-fusion and -mpower10-fusion options for inlining
!      purposes.  */
!   callee_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION);
!   explicit_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION);
  
    /* The callee's options must be a subset of the caller's options, i.e.
       a vsx function may inline an altivec function, but a no-vsx function
--- 25485,25497 ----
  	}
      }
  
!   /* Ignore -mpower8-fusion, -mpower10-fusion and -msave-toc-indirect options
!      for inlining purposes.  */
!   HOST_WIDE_INT ignored_isas = (OPTION_MASK_P8_FUSION
! 				| OPTION_MASK_P10_FUSION
! 				| OPTION_MASK_SAVE_TOC_INDIRECT);
!   callee_isa &= ~ignored_isas;
!   explicit_isa &= ~ignored_isas;
  
    /* The callee's options must be a subset of the caller's options, i.e.
       a vsx function may inline an altivec function, but a no-vsx function
diff -Nrcpad gcc-13-20250522/gcc/config/s390/s390-c.cc gcc-13-20250529/gcc/config/s390/s390-c.cc
*** gcc-13-20250522/gcc/config/s390/s390-c.cc	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/config/s390/s390-c.cc	Thu May 29 22:32:10 2025
*************** s390_expand_overloaded_builtin (location
*** 497,507 ****
  	/* Build a vector type with the alignment of the source
  	   location in order to enable correct alignment hints to be
  	   generated for vl.  */
! 	tree mem_type = build_aligned_type (return_type,
! 					    TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[1]))));
  	return build2 (MEM_REF, mem_type,
  		       fold_build_pointer_plus ((*arglist)[1], (*arglist)[0]),
! 		       build_int_cst (TREE_TYPE ((*arglist)[1]), 0));
        }
      case S390_OVERLOADED_BUILTIN_s390_vec_xst:
      case S390_OVERLOADED_BUILTIN_s390_vec_xstd2:
--- 497,507 ----
  	/* Build a vector type with the alignment of the source
  	   location in order to enable correct alignment hints to be
  	   generated for vl.  */
! 	unsigned align = TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[1])));
! 	tree mem_type = build_aligned_type (return_type, align);
  	return build2 (MEM_REF, mem_type,
  		       fold_build_pointer_plus ((*arglist)[1], (*arglist)[0]),
! 		       build_int_cst (ptr_type_node, 0));
        }
      case S390_OVERLOADED_BUILTIN_s390_vec_xst:
      case S390_OVERLOADED_BUILTIN_s390_vec_xstd2:
*************** s390_expand_overloaded_builtin (location
*** 510,520 ****
  	/* Build a vector type with the alignment of the target
  	   location in order to enable correct alignment hints to be
  	   generated for vst.  */
! 	tree mem_type = build_aligned_type (TREE_TYPE((*arglist)[0]),
! 					    TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[2]))));
  	return build2 (MODIFY_EXPR, mem_type,
! 		       build1 (INDIRECT_REF, mem_type,
! 			       fold_build_pointer_plus ((*arglist)[2], (*arglist)[1])),
  		       (*arglist)[0]);
        }
      case S390_OVERLOADED_BUILTIN_s390_vec_load_pair:
--- 510,522 ----
  	/* Build a vector type with the alignment of the target
  	   location in order to enable correct alignment hints to be
  	   generated for vst.  */
! 	unsigned align = TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[2])));
! 	tree mem_type = build_aligned_type (TREE_TYPE ((*arglist)[0]), align);
  	return build2 (MODIFY_EXPR, mem_type,
! 		       build2 (MEM_REF, mem_type,
! 			       fold_build_pointer_plus ((*arglist)[2],
! 							(*arglist)[1]),
! 			       build_int_cst (ptr_type_node, 0)),
  		       (*arglist)[0]);
        }
      case S390_OVERLOADED_BUILTIN_s390_vec_load_pair:
diff -Nrcpad gcc-13-20250522/gcc/config/s390/vector.md gcc-13-20250529/gcc/config/s390/vector.md
*** gcc-13-20250522/gcc/config/s390/vector.md	Thu May 22 22:32:10 2025
--- gcc-13-20250529/gcc/config/s390/vector.md	Thu May 29 22:32:10 2025
***************
*** 936,942 ****
        else
  	{
  	  reg_pair += 2;  // get rid of prefix %f
! 	  snprintf (buf, sizeof (buf), "ldr\t%%f0,%%f1;vpdi\t%%%%v%s,%%v1,%%%%v%s,5", reg_pair, reg_pair);
  	  output_asm_insn (buf, operands);
  	  return "";
  	}
--- 936,942 ----
        else
  	{
  	  reg_pair += 2;  // get rid of prefix %f
! 	  snprintf (buf, sizeof (buf), "vlr\t%%v0,%%v1;vpdi\t%%%%v%s,%%v1,%%%%v%s,5", reg_pair, reg_pair);
  	  output_asm_insn (buf, operands);
  	  return "";
  	}
diff -Nrcpad gcc-13-20250522/gcc/config.in gcc-13-20250529/gcc/config.in
*** gcc-13-20250522/gcc/config.in	Thu May 22 22:32:56 2025
--- gcc-13-20250529/gcc/config.in	Thu May 29 22:32:44 2025
***************
*** 2214,2219 ****
--- 2214,2225 ----
  #endif
  
  
+ /* Define to 1 if ld64 supports '-macos_version_min'. */
+ #ifndef USED_FOR_TARGET
+ #undef LD64_HAS_MACOS_VERSION_MIN
+ #endif
+ 
+ 
  /* Define to 1 if ld64 supports '-platform_version'. */
  #ifndef USED_FOR_TARGET
  #undef LD64_HAS_PLATFORM_VERSION
diff -Nrcpad gcc-13-20250522/gcc/configure gcc-13-20250529/gcc/configure
*** gcc-13-20250522/gcc/configure	Thu May 22 22:32:56 2025
--- gcc-13-20250529/gcc/configure	Thu May 29 22:32:44 2025
*************** if test x"${DEFAULT_LINKER+set}" = x"set
*** 3896,3902 ****
      as_fn_error $? "cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER" "$LINENO" 5
    elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
      gnu_ld_flag=yes
!   elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep ld64- > /dev/null; then
      ld64_flag=yes
    fi
  
--- 3896,3902 ----
      as_fn_error $? "cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER" "$LINENO" 5
    elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
      gnu_ld_flag=yes
!   elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep 'PROJECT:ld\(64\)*-' > /dev/null; then
      ld64_flag=yes
    fi
  
*************** if test x"$ld64_flag" = x"yes"; then
*** 30674,30679 ****
--- 30674,30680 ----
    # Set defaults for possibly untestable items.
    gcc_cv_ld64_export_dynamic=0
    gcc_cv_ld64_platform_version=0
+   gcc_cv_ld64_macos_version_min=0
  
    if test "$build" = "$host"; then
      darwin_try_test=1
*************** $as_echo "$gcc_cv_ld64_major" >&6; }
*** 30702,30715 ****
      fi
      if test "$gcc_cv_ld64_major" -ge 512; then
        gcc_cv_ld64_platform_version=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5
  $as_echo_n "checking linker version... " >&6; }
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'`
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5
  $as_echo "$gcc_cv_ld64_version" >&6; }
--- 30703,30718 ----
      fi
      if test "$gcc_cv_ld64_major" -ge 512; then
        gcc_cv_ld64_platform_version=1
+       gcc_cv_ld64_macos_version_min=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5
  $as_echo_n "checking linker version... " >&6; }
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld|PROJECT:ld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//' -e 's/.*PROJECT:ld-//' \
!       | awk '{print $1}'`
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5
  $as_echo "$gcc_cv_ld64_version" >&6; }
*************** $as_echo_n "checking linker for -platfor
*** 30731,30736 ****
--- 30734,30748 ----
      fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_platform_version" >&5
  $as_echo "$gcc_cv_ld64_platform_version" >&6; }
+ 
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker for -macos_version_min" >&5
+ $as_echo_n "checking linker for -macos_version_min... " >&6; }
+     gcc_cv_ld64_macos_version_min=1
+     if $gcc_cv_ld -macos_version_min 10.5 < /dev/null 2>&1 | grep 'unknown option' > /dev/null; then
+       gcc_cv_ld64_macos_version_min=0
+     fi
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_macos_version_min" >&5
+ $as_echo "$gcc_cv_ld64_macos_version_min" >&6; }
    fi
  
    if test x"${gcc_cv_ld64_version}" != x; then
*************** cat >>confdefs.h <<_ACEOF
*** 30752,30757 ****
--- 30764,30775 ----
  #define LD64_HAS_PLATFORM_VERSION $gcc_cv_ld64_platform_version
  _ACEOF
  
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define LD64_HAS_MACOS_VERSION_MIN $gcc_cv_ld64_macos_version_min
+ _ACEOF
+ 
  fi
  
  if test x"$dsymutil_flag" = x"yes"; then
diff -Nrcpad gcc-13-20250522/gcc/configure.ac gcc-13-20250529/gcc/configure.ac
*** gcc-13-20250522/gcc/configure.ac	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/configure.ac	Thu May 29 22:32:10 2025
*************** if test x"${DEFAULT_LINKER+set}" = x"set
*** 358,364 ****
      AC_MSG_ERROR([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
    elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
      gnu_ld_flag=yes
!   elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep ld64- > /dev/null; then
      ld64_flag=yes
    fi
    AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
--- 358,364 ----
      AC_MSG_ERROR([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
    elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
      gnu_ld_flag=yes
!   elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep 'PROJECT:ld\(64\)*-' > /dev/null; then
      ld64_flag=yes
    fi
    AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
*************** if test x"$ld64_flag" = x"yes"; then
*** 6288,6293 ****
--- 6288,6294 ----
    # Set defaults for possibly untestable items.
    gcc_cv_ld64_export_dynamic=0
    gcc_cv_ld64_platform_version=0
+   gcc_cv_ld64_macos_version_min=0
  
    if test "$build" = "$host"; then
      darwin_try_test=1
*************** if test x"$ld64_flag" = x"yes"; then
*** 6314,6326 ****
      fi
      if test "$gcc_cv_ld64_major" -ge 512; then
        gcc_cv_ld64_platform_version=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      AC_MSG_CHECKING(linker version)
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'`
      fi
      AC_MSG_RESULT($gcc_cv_ld64_version)
  
--- 6315,6329 ----
      fi
      if test "$gcc_cv_ld64_major" -ge 512; then
        gcc_cv_ld64_platform_version=1
+       gcc_cv_ld64_macos_version_min=1
      fi
    elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then
      # If the version was not specified, try to find it.
      AC_MSG_CHECKING(linker version)
      if test x"${gcc_cv_ld64_version}" = x; then
!       gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld|PROJECT:ld' \
!       | sed -e 's/.*ld64-//' -e 's/.*dyld-//' -e 's/.*PROJECT:ld-//' \
!       | awk '{print $1}'`
      fi
      AC_MSG_RESULT($gcc_cv_ld64_version)
  
*************** if test x"$ld64_flag" = x"yes"; then
*** 6337,6342 ****
--- 6340,6352 ----
        gcc_cv_ld64_platform_version=0
      fi
      AC_MSG_RESULT($gcc_cv_ld64_platform_version)
+ 
+     AC_MSG_CHECKING(linker for -macos_version_min)
+     gcc_cv_ld64_macos_version_min=1
+     if $gcc_cv_ld -macos_version_min 10.5 < /dev/null 2>&1 | grep 'unknown option' > /dev/null; then
+       gcc_cv_ld64_macos_version_min=0
+     fi
+     AC_MSG_RESULT($gcc_cv_ld64_macos_version_min)
    fi
  
    if test x"${gcc_cv_ld64_version}" != x; then
*************** if test x"$ld64_flag" = x"yes"; then
*** 6349,6354 ****
--- 6359,6367 ----
  
    AC_DEFINE_UNQUOTED(LD64_HAS_PLATFORM_VERSION, $gcc_cv_ld64_platform_version,
    [Define to 1 if ld64 supports '-platform_version'.])
+ 
+   AC_DEFINE_UNQUOTED(LD64_HAS_MACOS_VERSION_MIN, $gcc_cv_ld64_macos_version_min,
+   [Define to 1 if ld64 supports '-macos_version_min'.])
  fi
  
  if test x"$dsymutil_flag" = x"yes"; then
diff -Nrcpad gcc-13-20250522/gcc/cp/ChangeLog gcc-13-20250529/gcc/cp/ChangeLog
*** gcc-13-20250522/gcc/cp/ChangeLog	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/ChangeLog	Thu May 29 22:32:10 2025
***************
*** 1,3 ****
--- 1,124 ----
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/115358
+ 	* decl2.cc (mark_used): Call maybe_instantiate_decl for an array
+ 	variable with unknown bound.
+ 	* semantics.cc (finish_decltype_type): Remove now redundant
+ 	handling of array variables with unknown bound.
+ 	* typeck.cc (cxx_sizeof_expr): Likewise.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-01-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/117792
+ 	* pt.cc (type_dependent_expression_p): Consider the dependence
+ 	of the address of each template argument of a function
+ 	template-id.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-03-18  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/119233
+ 	* pt.cc (mark_template_arguments_used): Also handle member
+ 	function pointers.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-28  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/106760
+ 	* call.cc (add_candidates): Relax test for adding a candidate
+ 	to 'bad_cands' to also accept an uninstantiated template candidate
+ 	that has no missing conversions.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-23  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/115656
+ 	* constraint.cc (weakly_subsumes): Pass in_decl=tmpl to
+ 	get_normalized_constraints_from_info.  Rename to ...
+ 	(ttp_subsumes): ... this.
+ 	* cp-tree.h (weakly_subsumes): Rename to ...
+ 	(ttp_subsumes): ... this.
+ 	* pt.cc (is_compatible_template_arg): Adjust after renaming.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-12  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/116418
+ 	* tree.cc (strip_typedefs_expr) <case STATEMENT_LIST>: Replace
+ 	this error path with ...
+ 	<case STMT_EXPR>: ... this, returning the original tree.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-01-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/118060
+ 	* constraint.cc (tsubst_valid_expression_requirement): Don't
+ 	check convert_to_void during partial substitution.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-08-15  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/116320
+ 	* semantics.cc (check_accessibility_of_qualified_id): Try
+ 	currently_open_class when using the object type as the
+ 	effective qualifying type.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-28  Jakub Jelinek  <jakub@redhat.com>
+ 		    Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/113976
+ 	* decl.cc (grokdeclarator): Don't call cp_apply_type_quals_to_decl
+ 	on DECL_TEMPLATE_INSTANTIATED VAR_DECLs.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/116636
+ 	* method.cc: Include decl.h.
+ 	(use_thunk): Temporarily change deprecated_state to
+ 	UNAVAILABLE_DEPRECATED_SUPPRESS.
+ 
+ 2025-05-26  Marek Polacek  <polacek@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-05  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/116606
+ 	* decl2.cc (mark_vtable_entries): Temporarily override deprecated_state to
+ 	UNAVAILABLE_DEPRECATED_SUPPRESS.  Remove a warning_sentinel.
+ 
+ 2025-05-26  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/116954
+ 	* contracts.cc (remove_contract_attributes): Preserve flags
+ 	on the attribute list.
+ 
  2025-05-07  Richard Biener  <rguenther@suse.de>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250522/gcc/cp/call.cc gcc-13-20250529/gcc/cp/call.cc
*** gcc-13-20250522/gcc/cp/call.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/call.cc	Thu May 29 22:32:10 2025
*************** add_candidates (tree fns, tree first_arg
*** 6648,6654 ****
  
        if (cand->viable == -1
  	  && shortcut_bad_convs
! 	  && missing_conversion_p (cand))
  	{
  	  /* This candidate has been tentatively marked non-strictly viable,
  	     and we didn't compute all argument conversions for it (having
--- 6648,6655 ----
  
        if (cand->viable == -1
  	  && shortcut_bad_convs
! 	  && (missing_conversion_p (cand)
! 	      || TREE_CODE (cand->fn) == TEMPLATE_DECL))
  	{
  	  /* This candidate has been tentatively marked non-strictly viable,
  	     and we didn't compute all argument conversions for it (having
diff -Nrcpad gcc-13-20250522/gcc/cp/constraint.cc gcc-13-20250529/gcc/cp/constraint.cc
*** gcc-13-20250522/gcc/cp/constraint.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/constraint.cc	Thu May 29 22:32:10 2025
*************** tsubst_valid_expression_requirement (tre
*** 2001,2007 ****
  {
    tsubst_flags_t quiet = info.complain & ~tf_warning_or_error;
    tree r = tsubst_expr (t, args, quiet, info.in_decl);
!   if (convert_to_void (r, ICV_STATEMENT, quiet) != error_mark_node)
      return r;
  
    if (info.diagnose_unsatisfaction_p ())
--- 2001,2009 ----
  {
    tsubst_flags_t quiet = info.complain & ~tf_warning_or_error;
    tree r = tsubst_expr (t, args, quiet, info.in_decl);
!   if (r != error_mark_node
!       && (processing_template_decl
! 	  || convert_to_void (r, ICV_STATEMENT, quiet) != error_mark_node))
      return r;
  
    if (info.diagnose_unsatisfaction_p ())
*************** strictly_subsumes (tree ci, tree tmpl)
*** 3611,3623 ****
    return subsumes (n1, n2) && !subsumes (n2, n1);
  }
  
! /* Returns true when the constraints in CI subsume the
!    associated constraints of TMPL.  */
  
  bool
! weakly_subsumes (tree ci, tree tmpl)
  {
!   tree n1 = get_normalized_constraints_from_info (ci, NULL_TREE);
    tree n2 = get_normalized_constraints_from_decl (tmpl);
  
    return subsumes (n1, n2);
--- 3613,3626 ----
    return subsumes (n1, n2) && !subsumes (n2, n1);
  }
  
! /* Returns true when the template template parameter constraints in CI
!    subsume the associated constraints of the template template argument
!    TMPL.  */
  
  bool
! ttp_subsumes (tree ci, tree tmpl)
  {
!   tree n1 = get_normalized_constraints_from_info (ci, tmpl);
    tree n2 = get_normalized_constraints_from_decl (tmpl);
  
    return subsumes (n1, n2);
diff -Nrcpad gcc-13-20250522/gcc/cp/contracts.cc gcc-13-20250529/gcc/cp/contracts.cc
*** gcc-13-20250522/gcc/cp/contracts.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/contracts.cc	Thu May 29 22:32:10 2025
*************** cp_contract_assertion_p (const_tree attr
*** 869,878 ****
  void
  remove_contract_attributes (tree fndecl)
  {
    tree list = NULL_TREE;
    for (tree p = DECL_ATTRIBUTES (fndecl); p; p = TREE_CHAIN (p))
      if (!cxx_contract_attribute_p (p))
!       list = tree_cons (TREE_PURPOSE (p), TREE_VALUE (p), list);
    DECL_ATTRIBUTES (fndecl) = nreverse (list);
  }
  
--- 869,885 ----
  void
  remove_contract_attributes (tree fndecl)
  {
+   if (!flag_contracts)
+     return;
+ 
    tree list = NULL_TREE;
    for (tree p = DECL_ATTRIBUTES (fndecl); p; p = TREE_CHAIN (p))
      if (!cxx_contract_attribute_p (p))
!       {
! 	tree nl = copy_node (p);
! 	TREE_CHAIN (nl) = list;
! 	list = nl;
!       }
    DECL_ATTRIBUTES (fndecl) = nreverse (list);
  }
  
diff -Nrcpad gcc-13-20250522/gcc/cp/cp-tree.h gcc-13-20250529/gcc/cp/cp-tree.h
*** gcc-13-20250522/gcc/cp/cp-tree.h	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/cp-tree.h	Thu May 29 22:32:10 2025
*************** extern tree find_template_parameters		(t
*** 8399,8405 ****
  extern bool equivalent_constraints              (tree, tree);
  extern bool equivalently_constrained            (tree, tree);
  extern bool strictly_subsumes			(tree, tree);
! extern bool weakly_subsumes			(tree, tree);
  extern int more_constrained                     (tree, tree);
  extern bool at_least_as_constrained             (tree, tree);
  extern bool constraints_equivalent_p            (tree, tree);
--- 8399,8405 ----
  extern bool equivalent_constraints              (tree, tree);
  extern bool equivalently_constrained            (tree, tree);
  extern bool strictly_subsumes			(tree, tree);
! extern bool ttp_subsumes			(tree, tree);
  extern int more_constrained                     (tree, tree);
  extern bool at_least_as_constrained             (tree, tree);
  extern bool constraints_equivalent_p            (tree, tree);
diff -Nrcpad gcc-13-20250522/gcc/cp/decl.cc gcc-13-20250529/gcc/cp/decl.cc
*** gcc-13-20250522/gcc/cp/decl.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/decl.cc	Thu May 29 22:32:10 2025
*************** grokdeclarator (const cp_declarator *dec
*** 14858,14864 ****
      /* Record constancy and volatility on the DECL itself .  There's
         no need to do this when processing a template; we'll do this
         for the instantiated declaration based on the type of DECL.  */
!     if (!processing_template_decl)
        cp_apply_type_quals_to_decl (type_quals, decl);
  
      return decl;
--- 14858,14869 ----
      /* Record constancy and volatility on the DECL itself .  There's
         no need to do this when processing a template; we'll do this
         for the instantiated declaration based on the type of DECL.  */
!     if (!processing_template_decl
! 	/* Don't do it for instantiated variable templates either,
! 	   cp_apply_type_quals_to_decl should have been called on it
! 	   already and might have been overridden in cp_finish_decl
! 	   if initializer needs runtime initialization.  */
! 	&& (!VAR_P (decl) || !DECL_TEMPLATE_INSTANTIATED (decl)))
        cp_apply_type_quals_to_decl (type_quals, decl);
  
      return decl;
diff -Nrcpad gcc-13-20250522/gcc/cp/decl2.cc gcc-13-20250529/gcc/cp/decl2.cc
*** gcc-13-20250522/gcc/cp/decl2.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/decl2.cc	Thu May 29 22:32:10 2025
*************** static void
*** 2075,2081 ****
  mark_vtable_entries (tree decl, vec<tree> &consteval_vtables)
  {
    /* It's OK for the vtable to refer to deprecated virtual functions.  */
!   warning_sentinel w(warn_deprecated_decl);
  
    bool consteval_seen = false;
  
--- 2075,2082 ----
  mark_vtable_entries (tree decl, vec<tree> &consteval_vtables)
  {
    /* It's OK for the vtable to refer to deprecated virtual functions.  */
!   auto du = make_temp_override (deprecated_state,
! 				UNAVAILABLE_DEPRECATED_SUPPRESS);
  
    bool consteval_seen = false;
  
*************** mark_used (tree decl, tsubst_flags_t com
*** 5792,5797 ****
--- 5793,5800 ----
       find out its type.  For OpenMP user defined reductions, we need them
       instantiated for reduction clauses which inline them by hand directly.  */
    if (undeduced_auto_decl (decl)
+       || (VAR_P (decl)
+ 	  && VAR_HAD_UNKNOWN_BOUND (decl))
        || (TREE_CODE (decl) == FUNCTION_DECL
  	  && DECL_OMP_DECLARE_REDUCTION_P (decl)))
      maybe_instantiate_decl (decl);
diff -Nrcpad gcc-13-20250522/gcc/cp/method.cc gcc-13-20250529/gcc/cp/method.cc
*** gcc-13-20250522/gcc/cp/method.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/method.cc	Thu May 29 22:32:10 2025
*************** along with GCC; see the file COPYING3.
*** 26,31 ****
--- 26,32 ----
  #include "coretypes.h"
  #include "target.h"
  #include "cp-tree.h"
+ #include "decl.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "varasm.h"
*************** use_thunk (tree thunk_fndecl, bool emit_
*** 283,288 ****
--- 284,294 ----
    /* Thunks are always addressable; they only appear in vtables.  */
    TREE_ADDRESSABLE (thunk_fndecl) = 1;
  
+   /* Don't diagnose deprecated or unavailable functions just because they
+      have thunks emitted for them.  */
+   auto du = make_temp_override (deprecated_state,
+                                 UNAVAILABLE_DEPRECATED_SUPPRESS);
+ 
    /* Figure out what function is being thunked to.  It's referenced in
       this translation unit.  */
    TREE_ADDRESSABLE (function) = 1;
diff -Nrcpad gcc-13-20250522/gcc/cp/pt.cc gcc-13-20250529/gcc/cp/pt.cc
*** gcc-13-20250522/gcc/cp/pt.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/pt.cc	Thu May 29 22:32:10 2025
*************** is_compatible_template_arg (tree parm, t
*** 8391,8397 ****
          return false;
      }
  
!   return weakly_subsumes (parm_cons, arg);
  }
  
  // Convert a placeholder argument into a binding to the original
--- 8391,8397 ----
          return false;
      }
  
!   return ttp_subsumes (parm_cons, arg);
  }
  
  // Convert a placeholder argument into a binding to the original
*************** mark_template_arguments_used (tree tmpl,
*** 22019,22024 ****
--- 22019,22030 ----
  	      gcc_checking_assert (ok || seen_error ());
  	    }
  	}
+       /* A member function pointer.  */
+       else if (TREE_CODE (arg) == PTRMEM_CST)
+ 	{
+ 	  bool ok = mark_used (PTRMEM_CST_MEMBER (arg), tf_none);
+ 	  gcc_checking_assert (ok || seen_error ());
+ 	}
        /* A class NTTP argument.  */
        else if (VAR_P (arg)
  	       && DECL_NTTP_OBJECT_P (arg))
*************** type_dependent_expression_p (tree expres
*** 28506,28514 ****
  
        if (TREE_CODE (expression) == TEMPLATE_ID_EXPR)
  	{
! 	  if (any_dependent_template_arguments_p
! 	      (TREE_OPERAND (expression, 1)))
  	    return true;
  	  expression = TREE_OPERAND (expression, 0);
  	  if (identifier_p (expression))
  	    return true;
--- 28512,28526 ----
  
        if (TREE_CODE (expression) == TEMPLATE_ID_EXPR)
  	{
! 	  tree args = TREE_OPERAND (expression, 1);
! 	  if (any_dependent_template_arguments_p (args))
  	    return true;
+ 	  /* Arguments of a function template-id aren't necessarily coerced
+ 	     yet so we must conservatively assume that the address (and not
+ 	     just value) of the argument matters as per [temp.dep.temp]/3.  */
+ 	  for (tree arg : tree_vec_range (args))
+ 	    if (has_value_dependent_address (arg))
+ 	      return true;
  	  expression = TREE_OPERAND (expression, 0);
  	  if (identifier_p (expression))
  	    return true;
diff -Nrcpad gcc-13-20250522/gcc/cp/semantics.cc gcc-13-20250529/gcc/cp/semantics.cc
*** gcc-13-20250522/gcc/cp/semantics.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/semantics.cc	Thu May 29 22:32:10 2025
*************** check_accessibility_of_qualified_id (tre
*** 2313,2321 ****
  	 OBJECT_TYPE.  */
        && CLASS_TYPE_P (object_type)
        && DERIVED_FROM_P (scope, object_type))
!     /* If we are processing a `->' or `.' expression, use the type of the
!        left-hand side.  */
!     qualifying_type = object_type;
    else if (nested_name_specifier)
      {
        /* If the reference is to a non-static member of the
--- 2313,2326 ----
  	 OBJECT_TYPE.  */
        && CLASS_TYPE_P (object_type)
        && DERIVED_FROM_P (scope, object_type))
!     {
!       /* If we are processing a `->' or `.' expression, use the type of the
! 	 left-hand side.  */
!       if (tree open = currently_open_class (object_type))
! 	qualifying_type = open;
!       else
! 	qualifying_type = object_type;
!     }
    else if (nested_name_specifier)
      {
        /* If the reference is to a non-static member of the
*************** finish_decltype_type (tree expr, bool id
*** 11438,11450 ****
        return error_mark_node;
      }
  
-   /* To get the size of a static data member declared as an array of
-      unknown bound, we need to instantiate it.  */
-   if (VAR_P (expr)
-       && VAR_HAD_UNKNOWN_BOUND (expr)
-       && DECL_TEMPLATE_INSTANTIATION (expr))
-     instantiate_decl (expr, /*defer_ok*/true, /*expl_inst_mem*/false);
- 
    if (id_expression_or_member_access_p)
      {
        /* If e is an id-expression or a class member access (5.2.5
--- 11443,11448 ----
diff -Nrcpad gcc-13-20250522/gcc/cp/tree.cc gcc-13-20250529/gcc/cp/tree.cc
*** gcc-13-20250522/gcc/cp/tree.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/tree.cc	Thu May 29 22:32:10 2025
*************** strip_typedefs_expr (tree t, bool *remov
*** 2023,2034 ****
        }
  
      case LAMBDA_EXPR:
        return t;
  
-     case STATEMENT_LIST:
-       error ("statement-expression in a constant expression");
-       return error_mark_node;
- 
      default:
        break;
      }
--- 2023,2031 ----
        }
  
      case LAMBDA_EXPR:
+     case STMT_EXPR:
        return t;
  
      default:
        break;
      }
diff -Nrcpad gcc-13-20250522/gcc/cp/typeck.cc gcc-13-20250529/gcc/cp/typeck.cc
*** gcc-13-20250522/gcc/cp/typeck.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cp/typeck.cc	Thu May 29 22:32:10 2025
*************** cxx_sizeof_expr (location_t loc, tree e,
*** 2128,2140 ****
    location_t e_loc = cp_expr_loc_or_loc (e, loc);
    STRIP_ANY_LOCATION_WRAPPER (e);
  
-   /* To get the size of a static data member declared as an array of
-      unknown bound, we need to instantiate it.  */
-   if (VAR_P (e)
-       && VAR_HAD_UNKNOWN_BOUND (e)
-       && DECL_TEMPLATE_INSTANTIATION (e))
-     instantiate_decl (e, /*defer_ok*/true, /*expl_inst_mem*/false);
- 
    if (TREE_CODE (e) == PARM_DECL
        && DECL_ARRAY_PARAMETER_P (e)
        && (complain & tf_warning))
--- 2128,2133 ----
diff -Nrcpad gcc-13-20250522/gcc/cselib.cc gcc-13-20250529/gcc/cselib.cc
*** gcc-13-20250522/gcc/cselib.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/cselib.cc	Thu May 29 22:32:10 2025
*************** along with GCC; see the file COPYING3.
*** 33,38 ****
--- 33,39 ----
  #include "cselib.h"
  #include "function-abi.h"
  #include "alias.h"
+ #include "predict.h"
  
  /* A list of cselib_val structures.  */
  struct elt_list
*************** static unsigned int *used_regs;
*** 248,255 ****
  static unsigned int n_used_regs;
  
  /* We pass this to cselib_invalidate_mem to invalidate all of
!    memory for a non-const call instruction.  */
! static GTY(()) rtx callmem;
  
  /* Set by discard_useless_locs if it deleted the last location of any
     value.  */
--- 249,257 ----
  static unsigned int n_used_regs;
  
  /* We pass this to cselib_invalidate_mem to invalidate all of
!    memory for a non-const call instruction and memory below stack pointer
!    for const/pure calls.  */
! static GTY(()) rtx callmem[2];
  
  /* Set by discard_useless_locs if it deleted the last location of any
     value.  */
*************** cselib_preserve_only_values (void)
*** 803,809 ****
    for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
      cselib_invalidate_regno (i, reg_raw_mode[i]);
  
!   cselib_invalidate_mem (callmem);
  
    remove_useless_values ();
  
--- 805,811 ----
    for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
      cselib_invalidate_regno (i, reg_raw_mode[i]);
  
!   cselib_invalidate_mem (callmem[0]);
  
    remove_useless_values ();
  
*************** cselib_invalidate_mem (rtx mem_rtx)
*** 2595,2600 ****
--- 2597,2604 ----
        struct elt_loc_list **p = &v->locs;
        bool had_locs = v->locs != NULL;
        rtx_insn *setting_insn = v->locs ? v->locs->setting_insn : NULL;
+       rtx sp_base = NULL_RTX;
+       HOST_WIDE_INT sp_off = 0;
  
        while (*p)
  	{
*************** cselib_invalidate_mem (rtx mem_rtx)
*** 2609,2614 ****
--- 2613,2726 ----
  	      p = &(*p)->next;
  	      continue;
  	    }
+ 
+ 	  /* When invalidating memory below the stack pointer for const/pure
+ 	     calls and alloca/VLAs aren't used, attempt to optimize.  Values
+ 	     stored into area sometimes below the stack pointer shouldn't be
+ 	     addressable and should be stored just through stack pointer
+ 	     derived expressions, so don't invalidate MEMs not using stack
+ 	     derived addresses, or if the MEMs clearly aren't below the stack
+ 	     pointer.  This isn't a fully conservative approach, the hope is
+ 	     that invalidating more MEMs than this isn't actually needed.  */
+ 	  if (mem_rtx == callmem[1]
+ 	      && num_mems < param_max_cselib_memory_locations
+ 	      && GET_CODE (XEXP (x, 0)) == VALUE
+ 	      && !cfun->calls_alloca)
+ 	    {
+ 	      cselib_val *v2 = CSELIB_VAL_PTR (XEXP (x, 0));
+ 	      rtx x_base = NULL_RTX;
+ 	      HOST_WIDE_INT x_off = 0;
+ 	      if (SP_DERIVED_VALUE_P (v2->val_rtx))
+ 		x_base = v2->val_rtx;
+ 	      else
+ 		for (struct elt_loc_list *l = v2->locs; l; l = l->next)
+ 		  if (GET_CODE (l->loc) == PLUS
+ 		      && GET_CODE (XEXP (l->loc, 0)) == VALUE
+ 		      && SP_DERIVED_VALUE_P (XEXP (l->loc, 0))
+ 		      && CONST_INT_P (XEXP (l->loc, 1)))
+ 		    {
+ 		      x_base = XEXP (l->loc, 0);
+ 		      x_off = INTVAL (XEXP (l->loc, 1));
+ 		      break;
+ 		    }
+ 	      /* If x_base is NULL here, don't invalidate x as its address
+ 		 isn't derived from sp such that it could be in outgoing
+ 		 argument area of some call in !ACCUMULATE_OUTGOING_ARGS
+ 		 function.  */
+ 	      if (x_base)
+ 		{
+ 		  if (sp_base == NULL_RTX)
+ 		    {
+ 		      if (cselib_val *v3
+ 			  = cselib_lookup_1 (stack_pointer_rtx, Pmode, 0,
+ 					     VOIDmode))
+ 			{
+ 			  if (SP_DERIVED_VALUE_P (v3->val_rtx))
+ 			    sp_base = v3->val_rtx;
+ 			  else
+ 			    for (struct elt_loc_list *l = v3->locs;
+ 				 l; l = l->next)
+ 			      if (GET_CODE (l->loc) == PLUS
+ 				  && GET_CODE (XEXP (l->loc, 0)) == VALUE
+ 				  && SP_DERIVED_VALUE_P (XEXP (l->loc, 0))
+ 				  && CONST_INT_P (XEXP (l->loc, 1)))
+ 				{
+ 				  sp_base = XEXP (l->loc, 0);
+ 				  sp_off = INTVAL (XEXP (l->loc, 1));
+ 				  break;
+ 				}
+ 			}
+ 		      if (sp_base == NULL_RTX)
+ 			sp_base = pc_rtx;
+ 		    }
+ 		  /* Otherwise, if x_base and sp_base are the same,
+ 		     we know that x_base + x_off is the x's address and
+ 		     sp_base + sp_off is current value of stack pointer,
+ 		     so try to determine if x is certainly not below stack
+ 		     pointer.  */
+ 		  if (sp_base == x_base)
+ 		    {
+ 		      if (STACK_GROWS_DOWNWARD)
+ 			{
+ 			  HOST_WIDE_INT off = sp_off;
+ #ifdef STACK_ADDRESS_OFFSET
+ 			  /* On SPARC take stack pointer bias into account as
+ 			     well.  */
+ 			  off += (STACK_ADDRESS_OFFSET
+ 				  - FIRST_PARM_OFFSET (current_function_decl));
+ #endif
+ 			  if (x_off >= off)
+ 			    /* x is at or above the current stack pointer,
+ 			       no need to invalidate it.  */
+ 			    x_base = NULL_RTX;
+ 			}
+ 		      else
+ 			{
+ 			  HOST_WIDE_INT sz;
+ 			  enum machine_mode mode = GET_MODE (x);
+ 			  if ((MEM_SIZE_KNOWN_P (x)
+ 			       && MEM_SIZE (x).is_constant (&sz))
+ 			      || (mode != BLKmode
+ 				  && GET_MODE_SIZE (mode).is_constant (&sz)))
+ 			    if (x_off < sp_off
+ 				&& ((HOST_WIDE_INT) ((unsigned HOST_WIDE_INT)
+ 						     x_off + sz) <= sp_off))
+ 			      /* x's end is below or at the current stack
+ 				 pointer in !STACK_GROWS_DOWNWARD target,
+ 				 no need to invalidate it.  */
+ 			      x_base = NULL_RTX;
+ 			 }
+ 		    }
+ 		}
+ 	      if (x_base == NULL_RTX)
+ 		{
+ 		  has_mem = true;
+ 		  num_mems++;
+ 		  p = &(*p)->next;
+ 		  continue;
+ 		}
+ 	    }
+ 
  	  if (num_mems < param_max_cselib_memory_locations
  	      && ! canon_anti_dependence (x, false, mem_rtx,
  					  GET_MODE (mem_rtx), mem_addr))
*************** cselib_process_insn (rtx_insn *insn)
*** 3161,3174 ****
  	 as if they were regular functions.  */
        if (RTL_LOOPING_CONST_OR_PURE_CALL_P (insn)
  	  || !(RTL_CONST_OR_PURE_CALL_P (insn)))
! 	cselib_invalidate_mem (callmem);
        else
! 	/* For const/pure calls, invalidate any argument slots because
! 	   they are owned by the callee.  */
! 	for (x = CALL_INSN_FUNCTION_USAGE (insn); x; x = XEXP (x, 1))
! 	  if (GET_CODE (XEXP (x, 0)) == USE
! 	      && MEM_P (XEXP (XEXP (x, 0), 0)))
! 	    cselib_invalidate_mem (XEXP (XEXP (x, 0), 0));
      }
  
    cselib_record_sets (insn);
--- 3273,3296 ----
  	 as if they were regular functions.  */
        if (RTL_LOOPING_CONST_OR_PURE_CALL_P (insn)
  	  || !(RTL_CONST_OR_PURE_CALL_P (insn)))
! 	cselib_invalidate_mem (callmem[0]);
        else
! 	{
! 	  /* For const/pure calls, invalidate any argument slots because
! 	     they are owned by the callee.  */
! 	  for (x = CALL_INSN_FUNCTION_USAGE (insn); x; x = XEXP (x, 1))
! 	    if (GET_CODE (XEXP (x, 0)) == USE
! 		&& MEM_P (XEXP (XEXP (x, 0), 0)))
! 	      cselib_invalidate_mem (XEXP (XEXP (x, 0), 0));
! 	  /* And invalidate memory below the stack (or above for
! 	     !STACK_GROWS_DOWNWARD), as even const/pure call can invalidate
! 	     that.  Do this only if !ACCUMULATE_OUTGOING_ARGS or if
! 	     cfun->calls_alloca, otherwise the stack pointer shouldn't be
! 	     changing in the middle of the function and nothing should be
! 	     stored below the stack pointer.  */
! 	  if (!ACCUMULATE_OUTGOING_ARGS || cfun->calls_alloca)
! 	    cselib_invalidate_mem (callmem[1]);
! 	}
      }
  
    cselib_record_sets (insn);
*************** cselib_init (int record_what)
*** 3221,3228 ****
  
    /* (mem:BLK (scratch)) is a special mechanism to conflict with everything,
       see canon_true_dependence.  This is only created once.  */
!   if (! callmem)
!     callmem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode));
  
    cselib_nregs = max_reg_num ();
  
--- 3343,3373 ----
  
    /* (mem:BLK (scratch)) is a special mechanism to conflict with everything,
       see canon_true_dependence.  This is only created once.  */
!   if (! callmem[0])
!     callmem[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode));
!   /* Similarly create a MEM representing roughly everything below
!      the stack for STACK_GROWS_DOWNWARD targets or everything above
!      it otherwise.  Do this only when !ACCUMULATE_OUTGOING_ARGS or
!      if cfun->calls_alloca, otherwise the stack pointer shouldn't be
!      changing in the middle of the function and nothing should be stored
!      below the stack pointer.  */
!   if (!callmem[1] && (!ACCUMULATE_OUTGOING_ARGS || cfun->calls_alloca))
!     {
!       if (STACK_GROWS_DOWNWARD)
! 	{
! 	  unsigned HOST_WIDE_INT off = -(GET_MODE_MASK (Pmode) >> 1);
! #ifdef STACK_ADDRESS_OFFSET
! 	  /* On SPARC take stack pointer bias into account as well.  */
! 	  off += (STACK_ADDRESS_OFFSET
! 		  - FIRST_PARM_OFFSET (current_function_decl));
! #endif
! 	  callmem[1] = plus_constant (Pmode, stack_pointer_rtx, off);
! 	}
!       else
! 	callmem[1] = stack_pointer_rtx;
!       callmem[1] = gen_rtx_MEM (BLKmode, callmem[1]);
!       set_mem_size (callmem[1], GET_MODE_MASK (Pmode) >> 1);
!     }
  
    cselib_nregs = max_reg_num ();
  
diff -Nrcpad gcc-13-20250522/gcc/dwarf2out.cc gcc-13-20250529/gcc/dwarf2out.cc
*** gcc-13-20250522/gcc/dwarf2out.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/dwarf2out.cc	Thu May 29 22:32:10 2025
*************** resolve_addr_in_expr (dw_attr_node *a, d
*** 30797,30803 ****
                return false;
              remove_addr_table_entry (loc->dw_loc_oprnd1.val_entry);
  	    loc->dw_loc_oprnd1.val_entry
! 	      = add_addr_table_entry (rtl, ate_kind_rtx);
            }
  	break;
        case DW_OP_const4u:
--- 30797,30804 ----
                return false;
              remove_addr_table_entry (loc->dw_loc_oprnd1.val_entry);
  	    loc->dw_loc_oprnd1.val_entry
! 	      = add_addr_table_entry (rtl, loc->dtprel
! 				      ? ate_kind_rtx_dtprel : ate_kind_rtx);
            }
  	break;
        case DW_OP_const4u:
diff -Nrcpad gcc-13-20250522/gcc/fortran/ChangeLog gcc-13-20250529/gcc/fortran/ChangeLog
*** gcc-13-20250522/gcc/fortran/ChangeLog	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/fortran/ChangeLog	Thu May 29 22:32:10 2025
***************
*** 1,3 ****
--- 1,18 ----
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 		    Daniil Kochergin  <daniil2472s@gmail.com>
+ 		    Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR fortran/120191
+ 	* trans-intrinsic.cc (strip_kind_from_actual): Remove.
+ 	(gfc_conv_intrinsic_minmaxloc): Don't call strip_kind_from_actual.
+ 	Free and clear kind_arg->expr if non-NULL.  Set back_arg->name to
+ 	"%VAL" instead of a loop looking for last argument.  Remove actual
+ 	variable, use array_arg instead.  Free and clear dim_arg->expr if
+ 	non-NULL for BT_CHARACTER cases instead of using a loop.
+ 
  2025-04-23  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250522/gcc/fortran/trans-intrinsic.cc gcc-13-20250529/gcc/fortran/trans-intrinsic.cc
*** gcc-13-20250522/gcc/fortran/trans-intrinsic.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/fortran/trans-intrinsic.cc	Thu May 29 22:32:10 2025
*************** gfc_conv_intrinsic_dot_product (gfc_se *
*** 5208,5229 ****
  }
  
  
- /* Remove unneeded kind= argument from actual argument list when the
-    result conversion is dealt with in a different place.  */
- 
- static void
- strip_kind_from_actual (gfc_actual_arglist * actual)
- {
-   for (gfc_actual_arglist *a = actual; a; a = a->next)
-     {
-       if (a && a->name && strcmp (a->name, "kind") == 0)
- 	{
- 	  gfc_free_expr (a->expr);
- 	  a->expr = NULL;
- 	}
-     }
- }
- 
  /* Emit code for minloc or maxloc intrinsic.  There are many different cases
     we need to handle.  For performance reasons we sometimes create two
     loops instead of one, where the second one is much simpler.
--- 5208,5213 ----
*************** gfc_conv_intrinsic_minmaxloc (gfc_se * s
*** 5321,5327 ****
    tree lab1, lab2;
    tree b_if, b_else;
    gfc_loopinfo loop;
!   gfc_actual_arglist *actual;
    gfc_ss *arrayss;
    gfc_ss *maskss;
    gfc_se arrayse;
--- 5305,5312 ----
    tree lab1, lab2;
    tree b_if, b_else;
    gfc_loopinfo loop;
!   gfc_actual_arglist *array_arg, *dim_arg, *mask_arg, *kind_arg;
!   gfc_actual_arglist *back_arg;
    gfc_ss *arrayss;
    gfc_ss *maskss;
    gfc_se arrayse;
*************** gfc_conv_intrinsic_minmaxloc (gfc_se * s
*** 5334,5373 ****
    int n;
    bool optional_mask;
  
!   actual = expr->value.function.actual;
  
!   /* The last argument, BACK, is passed by value. Ensure that
!      by setting its name to %VAL. */
!   for (gfc_actual_arglist *a = actual; a; a = a->next)
      {
!       if (a->next == NULL)
! 	a->name = "%VAL";
      }
  
    if (se->ss)
      {
        gfc_conv_intrinsic_funcall (se, expr);
        return;
      }
  
!   arrayexpr = actual->expr;
  
!   /* Special case for character maxloc.  Remove unneeded actual
!      arguments, then call a library function.  */
  
    if (arrayexpr->ts.type == BT_CHARACTER)
      {
!       gfc_actual_arglist *a;
!       a = actual;
!       strip_kind_from_actual (a);
!       while (a)
  	{
! 	  if (a->name && strcmp (a->name, "dim") == 0)
! 	    {
! 	      gfc_free_expr (a->expr);
! 	      a->expr = NULL;
! 	    }
! 	  a = a->next;
  	}
        gfc_conv_intrinsic_funcall (se, expr);
        return;
--- 5319,5357 ----
    int n;
    bool optional_mask;
  
!   array_arg = expr->value.function.actual;
!   dim_arg = array_arg->next;
!   mask_arg = dim_arg->next;
!   kind_arg = mask_arg->next;
!   back_arg = kind_arg->next;
  
!   /* Remove kind.  */
!   if (kind_arg->expr)
      {
!       gfc_free_expr (kind_arg->expr);
!       kind_arg->expr = NULL;
      }
  
+   /* Pass BACK argument by value.  */
+   back_arg->name = "%VAL";
+ 
    if (se->ss)
      {
        gfc_conv_intrinsic_funcall (se, expr);
        return;
      }
  
!   arrayexpr = array_arg->expr;
  
!   /* Special case for character maxloc.  Remove unneeded "dim" actual
!      argument, then call a library function.  */
  
    if (arrayexpr->ts.type == BT_CHARACTER)
      {
!       if (dim_arg->expr)
  	{
! 	  gfc_free_expr (dim_arg->expr);
! 	  dim_arg->expr = NULL;
  	}
        gfc_conv_intrinsic_funcall (se, expr);
        return;
*************** gfc_conv_intrinsic_minmaxloc (gfc_se * s
*** 5382,5394 ****
    arrayss = gfc_walk_expr (arrayexpr);
    gcc_assert (arrayss != gfc_ss_terminator);
  
!   actual = actual->next->next;
!   gcc_assert (actual);
!   maskexpr = actual->expr;
    optional_mask = maskexpr && maskexpr->expr_type == EXPR_VARIABLE
      && maskexpr->symtree->n.sym->attr.dummy
      && maskexpr->symtree->n.sym->attr.optional;
!   backexpr = actual->next->next->expr;
    nonempty = NULL;
    if (maskexpr && maskexpr->rank != 0)
      {
--- 5366,5376 ----
    arrayss = gfc_walk_expr (arrayexpr);
    gcc_assert (arrayss != gfc_ss_terminator);
  
!   maskexpr = mask_arg->expr;
    optional_mask = maskexpr && maskexpr->expr_type == EXPR_VARIABLE
      && maskexpr->symtree->n.sym->attr.dummy
      && maskexpr->symtree->n.sym->attr.optional;
!   backexpr = back_arg->expr;
    nonempty = NULL;
    if (maskexpr && maskexpr->rank != 0)
      {
diff -Nrcpad gcc-13-20250522/gcc/gimple-expr.cc gcc-13-20250529/gcc/gimple-expr.cc
*** gcc-13-20250522/gcc/gimple-expr.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/gimple-expr.cc	Thu May 29 22:32:10 2025
*************** bool
*** 877,883 ****
  is_gimple_mem_ref_addr (tree t)
  {
    return (is_gimple_reg (t)
! 	  || TREE_CODE (t) == INTEGER_CST
  	  || (TREE_CODE (t) == ADDR_EXPR
  	      && (CONSTANT_CLASS_P (TREE_OPERAND (t, 0))
  		  || decl_address_invariant_p (TREE_OPERAND (t, 0)))));
--- 877,883 ----
  is_gimple_mem_ref_addr (tree t)
  {
    return (is_gimple_reg (t)
! 	  || poly_int_tree_p (t)
  	  || (TREE_CODE (t) == ADDR_EXPR
  	      && (CONSTANT_CLASS_P (TREE_OPERAND (t, 0))
  		  || decl_address_invariant_p (TREE_OPERAND (t, 0)))));
diff -Nrcpad gcc-13-20250522/gcc/gimple-fold.cc gcc-13-20250529/gcc/gimple-fold.cc
*** gcc-13-20250522/gcc/gimple-fold.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/gimple-fold.cc	Thu May 29 22:32:10 2025
*************** gimple_fold_builtin_memory_op (gimple_st
*** 938,943 ****
--- 938,945 ----
  	}
        goto done;
      }
+   else if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
    else
      {
        /* We cannot (easily) change the type of the copy if it is a storage
*************** gimple_fold_builtin_bcmp (gimple_stmt_it
*** 1376,1381 ****
--- 1378,1385 ----
    /* Transform bcmp (a, b, len) into memcmp (a, b, len).  */
  
    gimple *stmt = gsi_stmt (*gsi);
+   if (!gimple_vuse (stmt) && gimple_in_ssa_p (cfun))
+     return false;
    tree a = gimple_call_arg (stmt, 0);
    tree b = gimple_call_arg (stmt, 1);
    tree len = gimple_call_arg (stmt, 2);
*************** gimple_fold_builtin_bcopy (gimple_stmt_i
*** 1402,1407 ****
--- 1406,1413 ----
       len) into memmove (dest, src, len).  */
  
    gimple *stmt = gsi_stmt (*gsi);
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
    tree src = gimple_call_arg (stmt, 0);
    tree dest = gimple_call_arg (stmt, 1);
    tree len = gimple_call_arg (stmt, 2);
*************** gimple_fold_builtin_bzero (gimple_stmt_i
*** 1427,1432 ****
--- 1433,1440 ----
    /* Transform bzero (dest, len) into memset (dest, 0, len).  */
  
    gimple *stmt = gsi_stmt (*gsi);
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
    tree dest = gimple_call_arg (stmt, 0);
    tree len = gimple_call_arg (stmt, 1);
  
*************** gimple_fold_builtin_memset (gimple_stmt_
*** 1456,1461 ****
--- 1464,1472 ----
        return true;
      }
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    if (! tree_fits_uhwi_p (len))
      return false;
  
*************** gimple_fold_builtin_memset (gimple_stmt_
*** 1477,1496 ****
  
    if (!INTEGRAL_TYPE_P (etype)
        && !POINTER_TYPE_P (etype))
!     return NULL_TREE;
  
    if (! var_decl_component_p (var))
!     return NULL_TREE;
  
    length = tree_to_uhwi (len);
    if (GET_MODE_SIZE (SCALAR_INT_TYPE_MODE (etype)) != length
        || (GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (etype))
  	  != GET_MODE_BITSIZE (SCALAR_INT_TYPE_MODE (etype)))
        || get_pointer_alignment (dest) / BITS_PER_UNIT < length)
!     return NULL_TREE;
  
    if (length > HOST_BITS_PER_WIDE_INT / BITS_PER_UNIT)
!     return NULL_TREE;
  
    if (!type_has_mode_precision_p (etype))
      etype = lang_hooks.types.type_for_mode (SCALAR_INT_TYPE_MODE (etype),
--- 1488,1507 ----
  
    if (!INTEGRAL_TYPE_P (etype)
        && !POINTER_TYPE_P (etype))
!     return false;
  
    if (! var_decl_component_p (var))
!     return false;
  
    length = tree_to_uhwi (len);
    if (GET_MODE_SIZE (SCALAR_INT_TYPE_MODE (etype)) != length
        || (GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (etype))
  	  != GET_MODE_BITSIZE (SCALAR_INT_TYPE_MODE (etype)))
        || get_pointer_alignment (dest) / BITS_PER_UNIT < length)
!     return false;
  
    if (length > HOST_BITS_PER_WIDE_INT / BITS_PER_UNIT)
!     return false;
  
    if (!type_has_mode_precision_p (etype))
      etype = lang_hooks.types.type_for_mode (SCALAR_INT_TYPE_MODE (etype),
*************** gimple_fold_builtin_strcpy (gimple_stmt_
*** 2104,2110 ****
        return false;
      }
  
!   if (!len)
      return false;
  
    len = fold_convert_loc (loc, size_type_node, len);
--- 2115,2121 ----
        return false;
      }
  
!   if (!len || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    len = fold_convert_loc (loc, size_type_node, len);
*************** gimple_fold_builtin_strncpy (gimple_stmt
*** 2179,2185 ****
  
    /* OK transform into builtin memcpy.  */
    tree fn = builtin_decl_implicit (BUILT_IN_MEMCPY);
!   if (!fn)
      return false;
  
    len = fold_convert_loc (loc, size_type_node, len);
--- 2190,2196 ----
  
    /* OK transform into builtin memcpy.  */
    tree fn = builtin_decl_implicit (BUILT_IN_MEMCPY);
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    len = fold_convert_loc (loc, size_type_node, len);
*************** gimple_fold_builtin_strchr (gimple_stmt_
*** 2233,2239 ****
        return true;
      }
  
!   if (!integer_zerop (c))
      return false;
  
    /* Transform strrchr (s, 0) to strchr (s, 0) when optimizing for size.  */
--- 2244,2250 ----
        return true;
      }
  
!   if (!integer_zerop (c) || (!gimple_vuse (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    /* Transform strrchr (s, 0) to strchr (s, 0) when optimizing for size.  */
*************** gimple_fold_builtin_strstr (gimple_stmt_
*** 2331,2336 ****
--- 2342,2350 ----
        return true;
      }
  
+   if (!gimple_vuse (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* Transform strstr (x, "c") into strchr (x, 'c').  */
    if (q[1] == '\0')
      {
*************** gimple_fold_builtin_strcat (gimple_stmt_
*** 2383,2388 ****
--- 2397,2405 ----
    if (!optimize_bb_for_speed_p (gimple_bb (stmt)))
      return false;
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* See if we can store by pieces into (dst + strlen(dst)).  */
    tree newdst;
    tree strlen_fn = builtin_decl_implicit (BUILT_IN_STRLEN);
*************** gimple_fold_builtin_strcat_chk (gimple_s
*** 2452,2458 ****
    tree fn;
    const char *p;
  
- 
    p = c_getstr (src);
    /* If the SRC parameter is "", return DEST.  */
    if (p && *p == '\0')
--- 2469,2474 ----
*************** gimple_fold_builtin_strcat_chk (gimple_s
*** 2464,2469 ****
--- 2480,2488 ----
    if (! tree_fits_uhwi_p (size) || ! integer_all_onesp (size))
      return false;
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* If __builtin_strcat_chk is used, assume strcat is available.  */
    fn = builtin_decl_explicit (BUILT_IN_STRCAT);
    if (!fn)
*************** gimple_fold_builtin_strncat (gimple_stmt
*** 2554,2560 ****
  
    /* If the replacement _DECL isn't initialized, don't do the
       transformation.  */
!   if (!fn)
      return false;
  
    /* Otherwise, emit a call to strcat.  */
--- 2573,2579 ----
  
    /* If the replacement _DECL isn't initialized, don't do the
       transformation.  */
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    /* Otherwise, emit a call to strcat.  */
*************** gimple_fold_builtin_strncat_chk (gimple_
*** 2586,2591 ****
--- 2605,2613 ----
        return true;
      }
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    if (! integer_all_onesp (size))
      {
        tree src_len = c_strlen (src, 1);
*************** gimple_fold_builtin_string_compare (gimp
*** 2676,2681 ****
--- 2698,2706 ----
        return true;
      }
  
+   if (!gimple_vuse (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* Initially set to the number of characters, including the terminating
       nul if each array has one.   LENx == strnlen (Sx, LENx) implies that
       the array Sx is not terminated by a nul.
*************** gimple_fold_builtin_fputs (gimple_stmt_i
*** 2968,2974 ****
  	const char *p = c_getstr (arg0);
  	if (p != NULL)
  	  {
! 	    if (!fn_fputc)
  	      return false;
  
  	    gimple *repl
--- 2993,2999 ----
  	const char *p = c_getstr (arg0);
  	if (p != NULL)
  	  {
! 	    if (!fn_fputc || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
  	      return false;
  
  	    gimple *repl
*************** gimple_fold_builtin_fputs (gimple_stmt_i
*** 2987,2993 ****
  	  return false;
  	/* New argument list transforming fputs(string, stream) to
  	   fwrite(string, 1, len, stream).  */
! 	if (!fn_fwrite)
  	  return false;
  
  	gimple *repl
--- 3012,3018 ----
  	  return false;
  	/* New argument list transforming fputs(string, stream) to
  	   fwrite(string, 1, len, stream).  */
! 	if (!fn_fwrite || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
  	  return false;
  
  	gimple *repl
*************** gimple_fold_builtin_memory_chk (gimple_s
*** 3038,3043 ****
--- 3063,3071 ----
  	}
      }
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    tree maxlen = get_maxval_strlen (len, SRK_INT_VALUE);
    if (! integer_all_onesp (size)
        && !known_lower (stmt, len, size)
*************** gimple_fold_builtin_stxcpy_chk (gimple_s
*** 3136,3141 ****
--- 3164,3172 ----
        return true;
      }
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    tree maxlen = get_maxval_strlen (src, SRK_STRLENMAX);
    if (! integer_all_onesp (size))
      {
*************** gimple_fold_builtin_stxncpy_chk (gimple_
*** 3229,3235 ****
    /* If __builtin_st{r,p}ncpy_chk is used, assume st{r,p}ncpy is available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_STPNCPY_CHK && !ignore
  			      ? BUILT_IN_STPNCPY : BUILT_IN_STRNCPY);
!   if (!fn)
      return false;
  
    gcall *repl = gimple_build_call (fn, 3, dest, src, len);
--- 3260,3266 ----
    /* If __builtin_st{r,p}ncpy_chk is used, assume st{r,p}ncpy is available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_STPNCPY_CHK && !ignore
  			      ? BUILT_IN_STPNCPY : BUILT_IN_STRNCPY);
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    gcall *repl = gimple_build_call (fn, 3, dest, src, len);
*************** gimple_fold_builtin_stpcpy (gimple_stmt_
*** 3250,3255 ****
--- 3281,3289 ----
    tree src = gimple_call_arg (stmt, 1);
    tree fn, lenp1;
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* If the result is unused, replace stpcpy with strcpy.  */
    if (gimple_call_lhs (stmt) == NULL_TREE)
      {
*************** gimple_fold_builtin_snprintf_chk (gimple
*** 3367,3373 ****
       available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_VSNPRINTF_CHK
  			      ? BUILT_IN_VSNPRINTF : BUILT_IN_SNPRINTF);
!   if (!fn)
      return false;
  
    /* Replace the called function and the first 5 argument by 3 retaining
--- 3401,3407 ----
       available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_VSNPRINTF_CHK
  			      ? BUILT_IN_VSNPRINTF : BUILT_IN_SNPRINTF);
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    /* Replace the called function and the first 5 argument by 3 retaining
*************** gimple_fold_builtin_sprintf_chk (gimple_
*** 3454,3460 ****
    /* If __builtin_{,v}sprintf_chk is used, assume {,v}sprintf is available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_VSPRINTF_CHK
  			      ? BUILT_IN_VSPRINTF : BUILT_IN_SPRINTF);
!   if (!fn)
      return false;
  
    /* Replace the called function and the first 4 argument by 2 retaining
--- 3488,3494 ----
    /* If __builtin_{,v}sprintf_chk is used, assume {,v}sprintf is available.  */
    fn = builtin_decl_explicit (fcode == BUILT_IN_VSPRINTF_CHK
  			      ? BUILT_IN_VSPRINTF : BUILT_IN_SPRINTF);
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    /* Replace the called function and the first 4 argument by 2 retaining
*************** gimple_fold_builtin_sprintf (gimple_stmt
*** 3503,3509 ****
      return false;
  
    tree fn = builtin_decl_implicit (BUILT_IN_STRCPY);
!   if (!fn)
      return false;
  
    /* If the format doesn't contain % args or %%, use strcpy.  */
--- 3537,3543 ----
      return false;
  
    tree fn = builtin_decl_implicit (BUILT_IN_STRCPY);
!   if (!fn || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    /* If the format doesn't contain % args or %%, use strcpy.  */
*************** gimple_fold_builtin_snprintf (gimple_stm
*** 3616,3622 ****
    tree orig = NULL_TREE;
    const char *fmt_str = NULL;
  
!   if (gimple_call_num_args (stmt) > 4)
      return false;
  
    if (gimple_call_num_args (stmt) == 4)
--- 3650,3657 ----
    tree orig = NULL_TREE;
    const char *fmt_str = NULL;
  
!   if (gimple_call_num_args (stmt) > 4
!       || (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun)))
      return false;
  
    if (gimple_call_num_args (stmt) == 4)
*************** gimple_fold_builtin_fprintf (gimple_stmt
*** 3774,3779 ****
--- 3809,3817 ----
    if (!init_target_chars ())
      return false;
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* If the format doesn't contain % args or %%, use strcpy.  */
    if (strchr (fmt_str, target_percent) == NULL)
      {
*************** gimple_fold_builtin_printf (gimple_stmt_
*** 3853,3858 ****
--- 3891,3899 ----
    if (gimple_call_lhs (stmt) != NULL_TREE)
      return false;
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    /* Check whether the format is a literal string constant.  */
    fmt_str = c_getstr (fmt);
    if (fmt_str == NULL)
*************** gimple_fold_builtin_strlen (gimple_stmt_
*** 4020,4025 ****
--- 4061,4071 ----
        maxlen = wi::to_wide (max_object_size (), prec) - 2;
      }
  
+   /* For -fsanitize=address, don't optimize the upper bound of the
+      length to be able to diagnose UB on non-zero terminated arrays.  */
+   if (sanitize_flags_p (SANITIZE_ADDRESS))
+     maxlen = wi::max_value (TYPE_PRECISION (sizetype), UNSIGNED);
+ 
    if (minlen == maxlen)
      {
        /* Fold the strlen call to a constant.  */
*************** gimple_fold_builtin_realloc (gimple_stmt
*** 4089,4094 ****
--- 4135,4143 ----
    tree arg = gimple_call_arg (stmt, 0);
    tree size = gimple_call_arg (stmt, 1);
  
+   if (!gimple_vdef (stmt) && gimple_in_ssa_p (cfun))
+     return false;
+ 
    if (operand_equal_p (arg, null_pointer_node, 0))
      {
        tree fn_malloc = builtin_decl_implicit (BUILT_IN_MALLOC);
diff -Nrcpad gcc-13-20250522/gcc/gimple-ssa-store-merging.cc gcc-13-20250529/gcc/gimple-ssa-store-merging.cc
*** gcc-13-20250522/gcc/gimple-ssa-store-merging.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/gimple-ssa-store-merging.cc	Thu May 29 22:32:10 2025
*************** init_symbolic_number (struct symbolic_nu
*** 363,369 ****
     the answer. If so, REF is that memory source and the base of the memory area
     accessed and the offset of the access from that base are recorded in N.  */
  
! bool
  find_bswap_or_nop_load (gimple *stmt, tree ref, struct symbolic_number *n)
  {
    /* Leaf node is an array or component ref. Memorize its base and
--- 363,369 ----
     the answer. If so, REF is that memory source and the base of the memory area
     accessed and the offset of the access from that base are recorded in N.  */
  
! static bool
  find_bswap_or_nop_load (gimple *stmt, tree ref, struct symbolic_number *n)
  {
    /* Leaf node is an array or component ref. Memorize its base and
*************** find_bswap_or_nop_1 (gimple *stmt, struc
*** 610,616 ****
    gimple *rhs1_stmt, *rhs2_stmt, *source_stmt1;
    enum gimple_rhs_class rhs_class;
  
!   if (!limit || !is_gimple_assign (stmt))
      return NULL;
  
    rhs1 = gimple_assign_rhs1 (stmt);
--- 610,618 ----
    gimple *rhs1_stmt, *rhs2_stmt, *source_stmt1;
    enum gimple_rhs_class rhs_class;
  
!   if (!limit
!       || !is_gimple_assign (stmt)
!       || stmt_can_throw_internal (cfun, stmt))
      return NULL;
  
    rhs1 = gimple_assign_rhs1 (stmt);
diff -Nrcpad gcc-13-20250522/gcc/gimplify.cc gcc-13-20250529/gcc/gimplify.cc
*** gcc-13-20250522/gcc/gimplify.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/gimplify.cc	Thu May 29 22:32:10 2025
*************** is_gimple_mem_rhs_or_call (tree t)
*** 552,558 ****
    else
      return (is_gimple_val (t)
  	    || is_gimple_lvalue (t)
! 	    || TREE_CLOBBER_P (t)
  	    || TREE_CODE (t) == CALL_EXPR);
  }
  
--- 552,558 ----
    else
      return (is_gimple_val (t)
  	    || is_gimple_lvalue (t)
! 	    || (TREE_CODE (t) == CONSTRUCTOR && CONSTRUCTOR_NELTS (t) == 0)
  	    || TREE_CODE (t) == CALL_EXPR);
  }
  
diff -Nrcpad gcc-13-20250522/gcc/ipa-modref.cc gcc-13-20250529/gcc/ipa-modref.cc
*** gcc-13-20250522/gcc/ipa-modref.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/ipa-modref.cc	Thu May 29 22:32:10 2025
*************** analyze_function (bool ipa)
*** 3295,3301 ****
  		    fprintf (dump_file, "  Flags for param %i improved:",
  			     (int)i);
  		  else
! 		    gcc_unreachable ();
  		  dump_eaf_flags (dump_file, old_flags, false);
  		  fprintf (dump_file, " -> ");
  		  dump_eaf_flags (dump_file, new_flags, true);
--- 3295,3302 ----
  		    fprintf (dump_file, "  Flags for param %i improved:",
  			     (int)i);
  		  else
! 		    fprintf (dump_file, "  Flags for param %i changed:",
! 			     (int)i);
  		  dump_eaf_flags (dump_file, old_flags, false);
  		  fprintf (dump_file, " -> ");
  		  dump_eaf_flags (dump_file, new_flags, true);
*************** analyze_function (bool ipa)
*** 3311,3317 ****
  		  || (summary->retslot_flags & EAF_UNUSED))
  		fprintf (dump_file, "  Flags for retslot improved:");
  	      else
! 		gcc_unreachable ();
  	      dump_eaf_flags (dump_file, past_retslot_flags, false);
  	      fprintf (dump_file, " -> ");
  	      dump_eaf_flags (dump_file, summary->retslot_flags, true);
--- 3312,3318 ----
  		  || (summary->retslot_flags & EAF_UNUSED))
  		fprintf (dump_file, "  Flags for retslot improved:");
  	      else
! 		fprintf (dump_file, "  Flags for retslot changed:");
  	      dump_eaf_flags (dump_file, past_retslot_flags, false);
  	      fprintf (dump_file, " -> ");
  	      dump_eaf_flags (dump_file, summary->retslot_flags, true);
*************** analyze_function (bool ipa)
*** 3326,3332 ****
  		  || (summary->static_chain_flags & EAF_UNUSED))
  		fprintf (dump_file, "  Flags for static chain improved:");
  	      else
! 		gcc_unreachable ();
  	      dump_eaf_flags (dump_file, past_static_chain_flags, false);
  	      fprintf (dump_file, " -> ");
  	      dump_eaf_flags (dump_file, summary->static_chain_flags, true);
--- 3327,3333 ----
  		  || (summary->static_chain_flags & EAF_UNUSED))
  		fprintf (dump_file, "  Flags for static chain improved:");
  	      else
! 		fprintf (dump_file, "  Flags for static chain changed:");
  	      dump_eaf_flags (dump_file, past_static_chain_flags, false);
  	      fprintf (dump_file, " -> ");
  	      dump_eaf_flags (dump_file, summary->static_chain_flags, true);
diff -Nrcpad gcc-13-20250522/gcc/loop-doloop.cc gcc-13-20250529/gcc/loop-doloop.cc
*** gcc-13-20250522/gcc/loop-doloop.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/loop-doloop.cc	Thu May 29 22:32:10 2025
*************** along with GCC; see the file COPYING3.
*** 36,41 ****
--- 36,42 ----
  #include "loop-unroll.h"
  #include "regs.h"
  #include "df.h"
+ #include "targhooks.h"
  
  /* This module is used to modify loops with a determinable number of
     iterations to use special low-overhead looping instructions.
*************** doloop_optimize (class loop *loop)
*** 770,775 ****
--- 771,788 ----
  
      basic_block loop_end = desc->out_edge->src;
      bool fail = bitmap_intersect_p (df_get_live_out (loop_end), modified);
+     /* iv_analysis_loop_init calls df_analyze_loop, which computes just
+        partial df for blocks of the loop only.  The above will catch if
+        any of the modified registers are use inside of the loop body, but
+        it will most likely not have accurate info on registers used
+        at the destination of the out_edge.  We call df_analyze on the
+        whole function at the start of the pass though and iterate only
+        on innermost loops or from innermost loops, so
+        live in on desc->out_edge->dest should be still unmodified from
+        the initial df_analyze.  */
+     if (!fail)
+       fail = bitmap_intersect_p (df_get_live_in (desc->out_edge->dest),
+ 				 modified);
      BITMAP_FREE (modified);
  
      if (fail)
*************** doloop_optimize_loops (void)
*** 795,801 ****
        df_live_set_all_dirty ();
      }
  
!   for (auto loop : loops_list (cfun, 0))
      doloop_optimize (loop);
  
    if (optimize == 1)
--- 808,819 ----
        df_live_set_all_dirty ();
      }
  
!   df_analyze ();
! 
!   for (auto loop : loops_list (cfun,
! 			       targetm.can_use_doloop_p
! 			       == can_use_doloop_if_innermost
! 			       ? LI_ONLY_INNERMOST : LI_FROM_INNERMOST))
      doloop_optimize (loop);
  
    if (optimize == 1)
diff -Nrcpad gcc-13-20250522/gcc/lra-constraints.cc gcc-13-20250529/gcc/lra-constraints.cc
*** gcc-13-20250522/gcc/lra-constraints.cc	Thu May 22 22:32:11 2025
--- gcc-13-20250529/gcc/lra-constraints.cc	Thu May 29 22:32:10 2025
*************** get_reg_class (int regno)
*** 233,238 ****
--- 233,273 ----
    return NO_REGS;
  }
  
+ /* Return true if REG_CLASS has enough allocatable hard regs to keep value of
+    REG_MODE.  */
+ static bool
+ enough_allocatable_hard_regs_p (enum reg_class reg_class,
+ 				enum machine_mode reg_mode)
+ {
+   int i, j, hard_regno, class_size, nregs;
+ 
+   if (hard_reg_set_subset_p (reg_class_contents[reg_class], lra_no_alloc_regs))
+     return false;
+   class_size = ira_class_hard_regs_num[reg_class];
+   for (i = 0; i < class_size; i++)
+     {
+       hard_regno = ira_class_hard_regs[reg_class][i];
+       nregs = hard_regno_nregs (hard_regno, reg_mode);
+       if (nregs == 1)
+ 	return true;
+       for (j = 0; j < nregs; j++)
+ 	if (TEST_HARD_REG_BIT (lra_no_alloc_regs, hard_regno + j)
+ 	    || ! TEST_HARD_REG_BIT (reg_class_contents[reg_class],
+ 				    hard_regno + j))
+ 	  break;
+       if (j >= nregs)
+ 	return true;
+     }
+   return false;
+ }
+ 
+ /* True if C is a non-empty register class that has too few registers
+    to be safely used as a reload target class.	*/
+ #define SMALL_REGISTER_CLASS_P(C)		\
+   (ira_class_hard_regs_num [(C)] == 1		\
+    || (ira_class_hard_regs_num [(C)] >= 1	\
+        && targetm.class_likely_spilled_p (C)))
+ 
  /* Return true if REG satisfies (or will satisfy) reg class constraint
     CL.  Use elimination first if REG is a hard register.  If REG is a
     reload pseudo created by this constraints pass, assume that it will
*************** in_class_p (rtx reg, enum reg_class cl,
*** 252,258 ****
    enum reg_class rclass, common_class;
    machine_mode reg_mode;
    rtx src;
-   int class_size, hard_regno, nregs, i, j;
    int regno = REGNO (reg);
  
    if (new_class != NULL)
--- 287,292 ----
*************** in_class_p (rtx reg, enum reg_class cl,
*** 291,316 ****
        common_class = ira_reg_class_subset[rclass][cl];
        if (new_class != NULL)
  	*new_class = common_class;
!       if (hard_reg_set_subset_p (reg_class_contents[common_class],
! 				 lra_no_alloc_regs))
! 	return false;
!       /* Check that there are enough allocatable regs.  */
!       class_size = ira_class_hard_regs_num[common_class];
!       for (i = 0; i < class_size; i++)
! 	{
! 	  hard_regno = ira_class_hard_regs[common_class][i];
! 	  nregs = hard_regno_nregs (hard_regno, reg_mode);
! 	  if (nregs == 1)
! 	    return true;
! 	  for (j = 0; j < nregs; j++)
! 	    if (TEST_HARD_REG_BIT (lra_no_alloc_regs, hard_regno + j)
! 		|| ! TEST_HARD_REG_BIT (reg_class_contents[common_class],
! 					hard_regno + j))
! 	      break;
! 	  if (j >= nregs)
! 	    return true;
! 	}
!       return false;
      }
  }
  
--- 325,335 ----
        common_class = ira_reg_class_subset[rclass][cl];
        if (new_class != NULL)
  	*new_class = common_class;
!       return (enough_allocatable_hard_regs_p (common_class, reg_mode)
! 	      /* Do not permit reload insn operand matching (new_class == NULL
! 		 case) if the new class is too small.  */
! 	      && (new_class != NULL || common_class == rclass
! 		  || !SMALL_REGISTER_CLASS_P (common_class)));
      }
  }
  
*************** operands_match_p (rtx x, rtx y, int y_ha
*** 914,926 ****
     && GET_MODE_SIZE (MODE).is_constant ()	\
     && !targetm.cannot_force_const_mem (MODE, X))
  
- /* True if C is a non-empty register class that has too few registers
-    to be safely used as a reload target class.	*/
- #define SMALL_REGISTER_CLASS_P(C)		\
-   (ira_class_hard_regs_num [(C)] == 1		\
-    || (ira_class_hard_regs_num [(C)] >= 1	\
-        && targetm.class_likely_spilled_p (C)))
- 
  /* If REG is a reload pseudo, try to make its class satisfying CL.  */
  static void
  narrow_reload_pseudo_class (rtx reg, enum reg_class cl)
--- 933,938 ----
*************** process_alt_operands (int only_alternati
*** 2058,2063 ****
--- 2070,2076 ----
    int curr_alt_dont_inherit_ops_num;
    /* Numbers of operands whose reload pseudos should not be inherited.	*/
    int curr_alt_dont_inherit_ops[MAX_RECOG_OPERANDS];
+   bool curr_alt_class_change_p;
    rtx op;
    /* The register when the operand is a subreg of register, otherwise the
       operand itself.  */
*************** process_alt_operands (int only_alternati
*** 2133,2138 ****
--- 2146,2152 ----
  	}
        reject += static_reject;
        early_clobbered_regs_num = 0;
+       curr_alt_class_change_p = false;
  
        for (nop = 0; nop < n_operands; nop++)
  	{
*************** process_alt_operands (int only_alternati
*** 2157,2162 ****
--- 2171,2177 ----
  	  bool scratch_p;
  	  machine_mode mode;
  	  enum constraint_num cn;
+ 	  bool class_change_p = false;
  
  	  opalt_num = nalt * n_operands + nop;
  	  if (curr_static_id->operand_alternative[opalt_num].anything_ok)
*************** process_alt_operands (int only_alternati
*** 2524,2532 ****
  			      (this_alternative_exclude_start_hard_regs,
  			       hard_regno[nop]))
  			win = true;
! 		      else if (hard_regno[nop] < 0
! 			       && in_class_p (op, this_alternative, NULL))
! 			win = true;
  		    }
  		  break;
  		}
--- 2539,2554 ----
  			      (this_alternative_exclude_start_hard_regs,
  			       hard_regno[nop]))
  			win = true;
! 		      else if (hard_regno[nop] < 0)
! 			{
! 			  if (in_class_p (op, this_alternative, NULL))
! 			    win = true;
! 			  else if (in_class_p (op, this_alternative, NULL, true))
! 			    {
! 			      class_change_p = true;
! 			      win = true;
! 			    }
! 			}
  		    }
  		  break;
  		}
*************** process_alt_operands (int only_alternati
*** 2541,2546 ****
--- 2563,2577 ----
  	  if (win)
  	    {
  	      this_alternative_win = true;
+ 	      if (class_change_p)
+ 		{
+ 		  curr_alt_class_change_p = true;
+ 		  if (lra_dump_file != NULL)
+ 		    fprintf (lra_dump_file,
+ 			     "            %d Narrowing class: reject+=3\n",
+ 			     nop);
+ 		  reject += 3;
+ 		}
  	      if (operand_reg[nop] != NULL_RTX)
  		{
  		  if (hard_regno[nop] >= 0)
*************** process_alt_operands (int only_alternati
*** 2569,2575 ****
  			  reject++;
  			}
  		      if (in_class_p (operand_reg[nop],
! 				      this_costly_alternative, NULL))
  			{
  			  if (lra_dump_file != NULL)
  			    fprintf
--- 2600,2606 ----
  			  reject++;
  			}
  		      if (in_class_p (operand_reg[nop],
! 				      this_costly_alternative, NULL, true))
  			{
  			  if (lra_dump_file != NULL)
  			    fprintf
*************** process_alt_operands (int only_alternati
*** 3250,3256 ****
  	  best_reload_sum = reload_sum;
  	  goal_alt_number = nalt;
  	}
!       if (losers == 0)
  	/* Everything is satisfied.  Do not process alternatives
  	   anymore.  */
  	break;
--- 3281,3287 ----
  	  best_reload_sum = reload_sum;
  	  goal_alt_number = nalt;
  	}
!       if (losers == 0 && !curr_alt_class_change_p)
  	/* Everything is satisfied.  Do not process alternatives
  	   anymore.  */
  	break;
*************** curr_insn_transform (bool check_only_p)
*** 4355,4361 ****
  
  	if (REG_P (reg) && (regno = REGNO (reg)) >= FIRST_PSEUDO_REGISTER)
  	  {
! 	    bool ok_p = in_class_p (reg, goal_alt[i], &new_class);
  
  	    if (new_class != NO_REGS && get_reg_class (regno) != new_class)
  	      {
--- 4386,4392 ----
  
  	if (REG_P (reg) && (regno = REGNO (reg)) >= FIRST_PSEUDO_REGISTER)
  	  {
! 	    bool ok_p = in_class_p (reg, goal_alt[i], &new_class, true);
  
  	    if (new_class != NO_REGS && get_reg_class (regno) != new_class)
  	      {
*************** curr_insn_transform (bool check_only_p)
*** 4435,4457 ****
  	{
  	  if (goal_alt[i] == NO_REGS
  	      && REG_P (op)
! 	      /* When we assign NO_REGS it means that we will not
! 		 assign a hard register to the scratch pseudo by
! 		 assigment pass and the scratch pseudo will be
! 		 spilled.  Spilled scratch pseudos are transformed
! 		 back to scratches at the LRA end.  */
! 	      && ira_former_scratch_operand_p (curr_insn, i)
! 	      && ira_former_scratch_p (REGNO (op)))
  	    {
- 	      int regno = REGNO (op);
  	      lra_change_class (regno, NO_REGS, "      Change to", true);
! 	      if (lra_get_regno_hard_regno (regno) >= 0)
! 		/* We don't have to mark all insn affected by the
! 		   spilled pseudo as there is only one such insn, the
! 		   current one.  */
! 		reg_renumber[regno] = -1;
! 	      lra_assert (bitmap_single_bit_set_p
! 			  (&lra_reg_info[REGNO (op)].insn_bitmap));
  	    }
  	  /* We can do an optional reload.  If the pseudo got a hard
  	     reg, we might improve the code through inheritance.  If
--- 4466,4483 ----
  	{
  	  if (goal_alt[i] == NO_REGS
  	      && REG_P (op)
! 	      && (regno = REGNO (op)) >= FIRST_PSEUDO_REGISTER
! 	      /* We assigned a hard register to the pseudo in the past but now
! 		 decided to spill it for the insn.  If the pseudo is used only
! 		 in this insn, it is better to spill it here as we free hard
! 		 registers for other pseudos referenced in the insn.  The most
! 		 common case of this is a scratch register which will be
! 		 transformed to scratch back at the end of LRA.  */
! 	      && lra_get_regno_hard_regno (regno) >= 0
! 	      && bitmap_single_bit_set_p (&lra_reg_info[regno].insn_bitmap))
  	    {
  	      lra_change_class (regno, NO_REGS, "      Change to", true);
! 	      reg_renumber[regno] = -1;
  	    }
  	  /* We can do an optional reload.  If the pseudo got a hard
  	     reg, we might improve the code through inheritance.  If
diff -Nrcpad gcc-13-20250522/gcc/testsuite/ChangeLog gcc-13-20250529/gcc/testsuite/ChangeLog
*** gcc-13-20250522/gcc/testsuite/ChangeLog	Thu May 22 22:32:12 2025
--- gcc-13-20250529/gcc/testsuite/ChangeLog	Thu May 29 22:32:11 2025
***************
*** 1,3 ****
--- 1,287 ----
+ 2025-05-28  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-05-14  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	* gcc.dg/ipa/pr120044-1.c: New test.
+ 	* gcc.dg/ipa/pr120044-2.c: Likewise.
+ 	* gcc.dg/tree-ssa/pr114864.c: Likewise.
+ 
+ 2025-05-28  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	Backported from master:
+ 	2025-03-13  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	* lib/gm2.exp: Arrange for a '-B' option to be added for the
+ 	libstdc++ paths on targets that need it.
+ 
+ 2025-05-28  Andreas Krebbel  <krebbel@linux.ibm.com>
+ 
+ 	Backported from master:
+ 	2024-04-23  Andreas Krebbel  <krebbel@linux.ibm.com>
+ 
+ 	PR target/114676
+ 	* gcc.target/s390/zvector/pr114676.c: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-25  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/115358
+ 	* g++.dg/template/array37.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-01-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/117792
+ 	* g++.dg/cpp1z/nontype7.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-03-18  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/119233
+ 	* g++.dg/template/fn-ptr5.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-06-28  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/106760
+ 	* g++.dg/ext/conv3.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-23  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/115656
+ 	* g++.dg/cpp2a/concepts-ttp7.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-12  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/116418
+ 	* g++.dg/eh/pr84968.C: No longer expect an ahead of time diagnostic
+ 	for the statement-expresssion.  Instantiate the template and expect
+ 	an incomplete type error instead.
+ 	* g++.dg/ext/stmtexpr26.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-01-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/118060
+ 	* g++.dg/cpp2a/concepts-requires40.C: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-08-15  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/116320
+ 	* g++.dg/template/access42.C: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-28  Jakub Jelinek  <jakub@redhat.com>
+ 		    Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/113976
+ 	* g++.dg/cpp1y/var-templ87.C: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/118623
+ 	* gcc.c-torture/execute/pr118623.c: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/117239
+ 	* gcc.dg/pr117239.c: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/117358
+ 	* gcc.c-torture/compile/pr117358.c: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/113994
+ 	PR rtl-optimization/116799
+ 	* gcc.c-torture/execute/pr116799.c: New test.
+ 	* g++.dg/torture/pr113994.C: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/116636
+ 	* g++.dg/warn/deprecated-19.C: New test.
+ 
+ 2025-05-26  Marek Polacek  <polacek@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-05  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/116606
+ 	* g++.dg/ext/attr-unavailable-13.C: New test.
+ 
+ 2025-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-02-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/110676
+ 	* gcc.dg/asan/pr110676.c: New test.
+ 
+ 2025-05-26  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/116954
+ 	* g++.dg/warn/Wformat-3.C: New test.
+ 
+ 2025-05-26  Roger Sayle  <roger@nextmovesoftware.com>
+ 
+ 	Backported from master:
+ 	2024-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+ 		    Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/113673
+ 	* g++.dg/pr113673.C: New test case.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-01  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119534
+ 	* gcc.dg/vect/pr119534.c: New testcase.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-02-18  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/98845
+ 	* gcc.dg/pr98845.c: New testcase.
+ 	* gcc.dg/pr81192.c: Adjust.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-03-06  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/119119
+ 	* g++.dg/torture/pr11911.C: New testcase.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-03-03  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119057
+ 	* gcc.dg/vect/pr119057.c: New testcase.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-01-08  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/117979
+ 	* gcc.dg/torture/pr117979.c: New testcase.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-14  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119778
+ 	* g++.dg/torture/pr119778.C: New testcase.
+ 
+ 2025-05-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-22  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/119706
+ 	* g++.target/aarch64/sve/pr119706.C: Adjust --param
+ 	aarch64-autovec-preference.
+ 
+ 2025-05-26  Jennifer Schmitz  <jschmitz@nvidia.com>
+ 
+ 	Backported from master:
+ 	2025-04-11  Jennifer Schmitz  <jschmitz@nvidia.com>
+ 
+ 	PR tree-optimization/119706
+ 	* g++.target/aarch64/sve/pr119706.C: New test.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120196
+ 	* gfortran.dg/pr120196.f90: New test.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/120191
+ 	* gfortran.dg/pr120191_3.f90: New test.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/120191
+ 	* gfortran.dg/pr120191_2.f90: New test.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 		    Daniil Kochergin  <daniil2472s@gmail.com>
+ 		    Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR fortran/120191
+ 	* gfortran.dg/pr120191_1.f90: New test.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/119327
+ 	* g++.dg/opt/pr119327.C: New test.
+ 
  2025-05-15  Andrew MacLeod  <amacleod@redhat.com>
  
  	PR tree-optimization/117287
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/cpp1y/var-templ87.C gcc-13-20250529/gcc/testsuite/g++.dg/cpp1y/var-templ87.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/cpp1y/var-templ87.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/cpp1y/var-templ87.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,43 ----
+ // PR c++/113976
+ // { dg-do run { target c++14 } }
+ 
+ int
+ foo ()
+ {
+   return 42;
+ }
+ 
+ template <int N>
+ const int a = foo ();
+ const int *b = &a <0>;
+ template <int N>
+ const int c = foo ();
+ template const int c <0>;
+ template <int N>
+ const int d = foo ();
+ const int *e = &d <0>;
+ template const int d <0>;
+ template <int N>
+ const int f = foo ();
+ template const int f <0>;
+ const int *g = &f <0>;
+ struct S { int a, b; };
+ template <int N>
+ const S h = { 42, foo () };
+ const S *i = &h <0>;
+ template <int N>
+ const S j =  { 42, foo () };
+ template const S j <0>;
+ template <int N>
+ const S k =  { 42, foo () };
+ const S *l = &k <0>;
+ template const S k <0>;
+ template <int N>
+ const S m =  { 42, foo () };
+ template const S m <0>;
+ const S *n = &m <0>;
+ 
+ int
+ main ()
+ {
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/cpp1z/nontype7.C gcc-13-20250529/gcc/testsuite/g++.dg/cpp1z/nontype7.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/cpp1z/nontype7.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/cpp1z/nontype7.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/117792
+ // { dg-do compile { target c++17 } }
+ 
+ template<const int& N, class T>
+ void f(T) { }
+ 
+ template<int N, class T>
+ void f(...) = delete;
+ 
+ template<const int& N> int v;
+ 
+ template<const int& N> struct A { };
+ 
+ template<class T>
+ void g() {
+   static constexpr int local_static = 0;
+   auto x = v<local_static>; // OK
+   A<local_static> y; // OK
+   f<local_static>(0); // ICE
+ }
+ 
+ template void g<int>();
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C gcc-13-20250529/gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/cpp2a/concepts-requires40.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/118060
+ // { dg-do compile { target c++20 } }
+ 
+ int* f(int);
+ 
+ template<class T>
+ struct A {
+   template<class U> requires requires (U u) { *f(u); }
+   A(T, U);
+ };
+ 
+ A a{0, 0};
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/cpp2a/concepts-ttp7.C gcc-13-20250529/gcc/testsuite/g++.dg/cpp2a/concepts-ttp7.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/cpp2a/concepts-ttp7.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/cpp2a/concepts-ttp7.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,12 ----
+ // PR c++/115656
+ // { dg-do compile { target c++20 } }
+ 
+ template<class T, class U> concept same_as = __is_same(T, U);
+ 
+ template<same_as<bool> T, template<same_as<bool>> class UU>
+ struct A { };
+ 
+ template<same_as<bool>> class B;
+ 
+ A<bool, B> a1;
+ A<long, B> a2; // { dg-error "constraint failure" }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/eh/pr84968.C gcc-13-20250529/gcc/testsuite/g++.dg/eh/pr84968.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/eh/pr84968.C	Thu May 22 22:32:13 2025
--- gcc-13-20250529/gcc/testsuite/g++.dg/eh/pr84968.C	Thu May 29 22:32:12 2025
*************** struct S {
*** 9,15 ****
    void a()
      try {
      } catch (int ()
! 	     noexcept (({ union b a; true; }))) // { dg-error "constant" }
    {
    }
  };
--- 9,17 ----
    void a()
      try {
      } catch (int ()
! 	     noexcept (({ union b a; true; }))) // { dg-error "'b a' has incomplete type" }
    {
    }
  };
+ 
+ template void S::a<int>(); // { dg-message "required from here" }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/ext/attr-unavailable-13.C gcc-13-20250529/gcc/testsuite/g++.dg/ext/attr-unavailable-13.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/ext/attr-unavailable-13.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/ext/attr-unavailable-13.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/116606
+ // { dg-do compile }
+ 
+ struct C {
+     __attribute__((unavailable)) virtual void f() {}
+ };
+ 
+ C c;
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/ext/conv3.C gcc-13-20250529/gcc/testsuite/g++.dg/ext/conv3.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/ext/conv3.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/ext/conv3.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,13 ----
+ // PR c++/106760
+ // { dg-additional-options "-fpermissive" }
+ 
+ struct S {
+   template<class> int f();
+   template<class> int g(...);
+ };
+ 
+ int main() {
+   const S s;
+   s.f<void>(); // { dg-warning "discards qualifiers" }
+   s.g<void>(); // { dg-warning "discards qualifiers" }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/ext/stmtexpr26.C gcc-13-20250529/gcc/testsuite/g++.dg/ext/stmtexpr26.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/ext/stmtexpr26.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/ext/stmtexpr26.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/116418
+ // { dg-do compile { target c++14 } }
+ // { dg-options "" }
+ 
+ void foo ();
+ template <typename>
+ void bar ()
+ {
+   decltype(auto) v = ({ foo (); 3; });
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/opt/pr119327.C gcc-13-20250529/gcc/testsuite/g++.dg/opt/pr119327.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/opt/pr119327.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/opt/pr119327.C	Thu May 29 22:32:12 2025
***************
*** 0 ****
--- 1,16 ----
+ // PR target/119327
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-Os" }
+ 
+ #pragma GCC optimize "fp-contract=off"
+ 
+ template <class T>
+ void
+ foo (T f)
+ {
+   f ();
+ }
+ 
+ struct S {
+   S () { [] {}; foo ([] __attribute__((always_inline)) {}); }
+ } s;
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/pr113673.C gcc-13-20250529/gcc/testsuite/g++.dg/pr113673.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/pr113673.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/pr113673.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Os -fnon-call-exceptions -ftrapv" } */
+ 
+ struct s { ~s(); };
+ void
+ h (unsigned char *data, int c)
+ {
+   s a1;
+   while (c)
+     {
+       int m = *data++ << 8;
+       m += *data++;
+     }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/template/access42.C gcc-13-20250529/gcc/testsuite/g++.dg/template/access42.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/template/access42.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/template/access42.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/116320
+ // { dg-do compile { target c++11 } }
+ 
+ template<class T> struct C;
+ template<class T> using C_ptr = C<T>*;
+ 
+ struct B { int m; using B_typedef = B; };
+ 
+ template<class T>
+ struct C : B {
+   void f(C_ptr<T> c) {
+     c->B::m;
+     c->B_typedef::m;
+   }
+ };
+ 
+ template struct C<int>;
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/template/array37.C gcc-13-20250529/gcc/testsuite/g++.dg/template/array37.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/template/array37.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/template/array37.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,14 ----
+ // PR c++/115358
+ 
+ template<class T>
+ struct A { static int STR[]; };
+ 
+ template<class T>
+ int A<T>::STR[] = {1,2,3};
+ 
+ void f(int(&)[3]);
+ 
+ template<class T>
+ void g() {
+   f(A<int>::STR); // { dg-bogus "int []" }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/template/fn-ptr5.C gcc-13-20250529/gcc/testsuite/g++.dg/template/fn-ptr5.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/template/fn-ptr5.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/template/fn-ptr5.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,28 ----
+ // PR c++/119233
+ // A version of fn-ptr3a.C using member instead of non-member function
+ // pointers.
+ 
+ struct B {
+   template<class T>
+   void f(T) { T::fail; } // { dg-error "fail" }
+ };
+ 
+ template<void (B::*P)(int)>
+ struct A {
+   // P not called
+ };
+ 
+ template<void (B::*P)(char)>
+ void wrap() {
+   // P not called
+ }
+ 
+ template<int>
+ void g() {
+   A<&B::f> a; // { dg-message "required from" }
+   wrap<&B::f>(); // { dg-message "required from" }
+ }
+ 
+ int main() {
+   g<0>();
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr113994.C gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr113994.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr113994.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr113994.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,31 ----
+ // PR rtl-optimization/113994
+ // { dg-do run }
+ 
+ #include <string>
+ 
+ void
+ foo (const std::string &x, size_t &y, std::string &z)
+ {
+   size_t w = x.find (']');
+   if (w >= x.size ())
+     return;
+   else if (w == 1)
+     y = std::string::npos;
+   while (++w < x.size () && x[w] == u'.')
+     ;
+   z = x.substr (w);
+ }
+ 
+ __attribute__((noipa)) void
+ bar ()
+ {
+ }
+ 
+ int
+ main ()
+ {
+   size_t y = 0;
+   std::string z;
+   foo ("[0]", y, z);
+   bar ();
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr11911.C gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr11911.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr11911.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr11911.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,21 ----
+ // { dg-do compile }
+ // { dg-require-effective-target c++17 }
+ 
+ struct b {
+   int a;
+ };
+ struct c {
+   b d{};
+   c() = default;
+   c(c &) = delete;
+ };
+ struct e {
+   c a{};
+   e() {}
+ };
+ inline e f() { return {}; }
+ struct g {
+   e cx;
+   g() : cx{f()} {}
+ };
+ void h() { g i; }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr119778.C gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr119778.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/torture/pr119778.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/torture/pr119778.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,20 ----
+ // { dg-do compile }
+ // { dg-additional-options "-Wall" }
+ 
+ struct jmp_buf { long l[16]; };
+ extern "C" int setjmp (jmp_buf *);
+ struct S {
+   void foo () { bar (); }
+   virtual char bar () { return 0; }
+ };
+ void baz ();
+ jmp_buf *a;
+ 
+ void
+ qux (bool x, S *y)
+ {
+   if (x)
+     setjmp (a);
+   y->foo ();
+   baz ();
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/warn/Wformat-3.C gcc-13-20250529/gcc/testsuite/g++.dg/warn/Wformat-3.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/warn/Wformat-3.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/warn/Wformat-3.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,19 ----
+ // PR c++/116954
+ // { dg-additional-options -Wformat }
+ 
+ #ifndef WORKS
+ template<int N>
+ int fn(char (&buf)[N], const char fmt[], ...)
+   __attribute__ ((__format__ (__printf__, 2, 3)));
+ #endif
+ 
+ template<int  N>
+ __attribute__ ((__format__ (__printf__, 2, 3)))
+ int fn(char (&)[N], const char [], ...)
+ { return 0; }
+ 
+ int main()
+ {
+   char buf[20];
+   return fn(buf, "%s", 42); /* { dg-warning "Wformat" } */
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.dg/warn/deprecated-19.C gcc-13-20250529/gcc/testsuite/g++.dg/warn/deprecated-19.C
*** gcc-13-20250522/gcc/testsuite/g++.dg/warn/deprecated-19.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.dg/warn/deprecated-19.C	Thu May 29 22:32:13 2025
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/116636
+ // { dg-do compile { target c++11 } }
+ // { dg-options "-pedantic -Wdeprecated" }
+ 
+ struct A {
+   virtual int foo () = 0;
+ };
+ struct B : virtual A {
+   [[deprecated]] int foo () { return 0; }	// { dg-message "declared here" }
+ };
+ struct C : virtual A {
+   [[gnu::unavailable]] int foo () { return 0; }	// { dg-message "declared here" }
+ };
+ 
+ void
+ bar ()
+ {
+   B b;
+   b.foo ();					// { dg-warning "'virtual int B::foo\\\(\\\)' is deprecated" }
+   C c;
+   c.foo ();					// { dg-error "'virtual int C::foo\\\(\\\)' is unavailable" }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/g++.target/aarch64/sve/pr119706.C gcc-13-20250529/gcc/testsuite/g++.target/aarch64/sve/pr119706.C
*** gcc-13-20250522/gcc/testsuite/g++.target/aarch64/sve/pr119706.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/g++.target/aarch64/sve/pr119706.C	Thu May 29 22:32:14 2025
***************
*** 0 ****
--- 1,178 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -mcpu=neoverse-v2 --param=aarch64-autovec-preference=2 -w" } */
+ 
+ namespace a {
+ typedef long unsigned b;
+ typedef int c;
+ template <bool, typename d> struct e { using f = d; };
+ template <bool g, typename d = void> using h = typename e<g, d>::f;
+ template <typename aa, typename, template <typename> class> struct i {
+   using f = aa;
+ };
+ template <typename aa, template <typename> class j> using k = i<aa, void, j>;
+ template <typename aa, template <typename> class j>
+ using l = typename k<aa, j>::f;
+ } // namespace a
+ inline void *operator new(a::b, void *ab) { return ab; }
+ namespace a {
+ template <typename> class ac {
+ public:
+   typedef b m;
+   template <typename ad, typename... n> void ae(ad *ab, n... w) {
+     new (ab) ad(w...);
+   }
+ };
+ template <typename d> using x = ac<d>;
+ template <typename d> class af : public x<d> {
+ public:
+   typedef d o;
+   template <typename> struct ag { typedef af ah; };
+ };
+ struct ai {};
+ struct aj : ai {};
+ struct ak : aj {};
+ template <typename> struct al;
+ template <typename d> struct al<d *> {
+   typedef ak an;
+   typedef c ao;
+   typedef d ap;
+ };
+ template <typename aq> typename aq ::an ar(aq) { return typename aq ::an(); }
+ template <typename as> typename as ::ao at(as au, as av, ak) { return av - au; }
+ template <typename aw> typename aw ::ao ax(aw au, aw av) {
+   return at(au, av, ar(au));
+ }
+ template <typename> struct ay { typedef c ao; };
+ } // namespace a
+ namespace az {
+ template <typename am, typename> class ba {
+   am bb;
+   typedef a::al<am> bc;
+ 
+ public:
+   typedef typename bc::an an;
+   typedef typename bc::ao ao;
+   typedef typename bc::ap ap;
+   ba(am bd) : bb(bd) {}
+   ap operator*() { return *bb; }
+   ba operator++() {
+     ++bb;
+     return *this;
+   }
+   am base() { return bb; }
+ };
+ template <typename be, typename bf, typename bg>
+ bool operator!=(ba<be, bg> bh, ba<bf, bg> p) {
+   return bh.base() != p.base();
+ }
+ template <typename be, typename bf, typename bg>
+ auto operator-(ba<be, bg> bh, ba<bf, bg> p) {
+   return bh.base() - p.base();
+ }
+ } // namespace az
+ namespace a {
+ struct bi {
+   template <typename d, typename> struct bj {
+     using f = typename d::ag<d>::ah;
+   };
+   template <typename> using bk = b;
+   template <typename...> static constexpr bool bl = false;
+   template <typename, typename> static constexpr bool bm = bl<>;
+   template <typename d, typename... n> static constexpr bool bn = bm<d, n...>;
+ };
+ template <typename bo, typename ad> using bp = typename bi::bj<bo, ad>::f;
+ template <typename bo> struct bq : bi {
+   typedef typename bo::o o;
+   using br = l<o *, bk>;
+   template <typename, typename bs> struct bt { using f = typename ay<bs>::ao; };
+   template <typename bu, typename> struct bv { using f = typename bu::m; };
+   using ao = typename bt<bo, c>::f;
+   using m = typename bv<bo, ao>::f;
+   template <typename d> using bw = bp<bo, d>;
+   static br allocate(bo, m);
+   template <typename d, typename... n>
+   static h<bn<bo, d>> ae(bo ci, d ab, n... w) {
+     ci.ae(ab, w...);
+   }
+ };
+ template <typename d> struct bx {
+   static bool by(d &bz) try { d(bz.begin(), bz.ca(), bz.cb()); } catch (...) {
+   }
+ };
+ } // namespace a
+ namespace az {
+ template <typename bo> struct cc : a::bq<bo> {
+   typedef a::bq<bo> q;
+   template <typename d> struct ag { typedef typename q::bw<d> ah; };
+ };
+ } // namespace az
+ enum cd {};
+ using ce = double;
+ namespace a {
+ template <typename aw, typename cf, typename cg, typename ch>
+ cg cj(aw au, cf av, cg ck, ch cl) {
+   typedef az::cc<ch> cx;
+   for (; au != av; ++au, ++ck)
+     cx::ae(cl, ck, *au);
+ }
+ template <typename d, typename bo> struct cm {
+   typedef typename az::cc<bo>::ag<d>::ah cn;
+   typedef typename az::cc<cn>::br br;
+   struct co {
+     br db;
+     br cp;
+   };
+   struct cq : cn, co {
+     cq(cn) {}
+   } typedef cr;
+   cn cs();
+   cr cb() noexcept;
+   cm(cr ci) : ct(ci) {}
+   cq ct;
+   br cu(b cv) {
+     typedef az::cc<cn> cw;
+     return cv ? cw::allocate(ct, cv) : c();
+   }
+ };
+ template <typename d, typename bo = af<d>> class cy : cm<d, bo> {
+   typedef cm<d, bo> cz;
+ 
+ public:
+   typedef typename cz::br br;
+   typedef az::ba<br, cy> da;
+   typedef b m;
+   typedef bo cr;
+   cz::cs;
+   template <typename aw> cy(aw au, aw av, cr ci) : cz(ci) {
+     dg(au, av, ar(au));
+   }
+   cz::cb;
+   da begin() { return this->ct.db; }
+   da ca() { return this->ct.cp; }
+   void r() { s(); }
+   void clear() { t(this->ct.db); }
+   template <typename cg> void dg(cg au, cg av, ai) { y(au, av, ax(au, av)); }
+   template <typename am, typename cf> void y(am au, cf av, m cv) {
+     br z = this->cu(dc(cv, cs()));
+     cj(au, av, z, cs());
+   }
+   bool s();
+   m dc(m cv, cr) { return cv; }
+   void t(br dd) {
+     if (this->ct.cp - dd)
+       this->ct.cp = dd;
+   }
+ };
+ template <typename d, typename bo> bool cy<d, bo>::s() { bx<cy>::by(*this); }
+ namespace basic {
+ class u {
+   using de = ce;
+   void v(cd, b);
+   cy<de> df;
+ };
+ void u::v(cd, b) {
+   df.clear();
+   df.r();
+ }
+ } // namespace basic
+ } // namespace a
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.c-torture/compile/pr117358.c gcc-13-20250529/gcc/testsuite/gcc.c-torture/compile/pr117358.c
*** gcc-13-20250522/gcc/testsuite/gcc.c-torture/compile/pr117358.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.c-torture/compile/pr117358.c	Thu May 29 22:32:14 2025
***************
*** 0 ****
--- 1,17 ----
+ /* PR tree-optimization/117358 */
+ 
+ char a;
+ /* This attribute is bogus, snprintf isn't const.  Just verify we don't ICE on it.  */
+ int __attribute__((const)) snprintf (char *, __SIZE_TYPE__, const char *, ...);
+ 
+ long
+ foo (long d) 
+ { 
+   return snprintf (&a, d, ""); 
+ }
+ 
+ int
+ bar (void) 
+ { 
+   return foo (1); 
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.c-torture/execute/pr116799.c gcc-13-20250529/gcc/testsuite/gcc.c-torture/execute/pr116799.c
*** gcc-13-20250522/gcc/testsuite/gcc.c-torture/execute/pr116799.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.c-torture/execute/pr116799.c	Thu May 29 22:32:14 2025
***************
*** 0 ****
--- 1,41 ----
+ /* PR rtl-optimization/116799 */
+ 
+ const char *l;
+ 
+ __attribute__((noipa)) void
+ foo (const char *x, const char *y, int z)
+ {
+   if (x != l + 1 || y != x || z)
+     __builtin_abort ();
+ }
+ 
+ __attribute__((noipa)) void
+ bar (const char *x, char *v)
+ {
+   const char *w = x + __builtin_strlen (x);
+ 
+   while (x[0] == '*' && x < w - 1)
+     x++;
+ 
+   const char *y = w - 1;
+   int z = 1;
+   if (y >= x)
+     {
+       while (y - x > 0 && *y == '*')
+ 	y--;
+       z = 0;
+     }
+   int i = 0;
+   if (z)
+     v[i++] = 'a';
+   v[i] = 'b';
+   foo (x, y, z);
+ }
+ 
+ int
+ main ()
+ {
+   char v[2] = { 0 };
+   l = "**";
+   bar (l, v);
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.c-torture/execute/pr118623.c gcc-13-20250529/gcc/testsuite/gcc.c-torture/execute/pr118623.c
*** gcc-13-20250522/gcc/testsuite/gcc.c-torture/execute/pr118623.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.c-torture/execute/pr118623.c	Thu May 29 22:32:14 2025
***************
*** 0 ****
--- 1,23 ----
+ /* PR target/118623 */
+ 
+ static int
+ foo (int x, int y)
+ {
+   int a = 1 << x;
+   if (y & a)
+     return 0;
+   return 5;
+ }
+ 
+ __attribute__((noipa)) void
+ bar (int x)
+ {
+   if (((foo (x - 50, x) + x + x) & 1) == 0)
+     __builtin_abort ();
+ }
+ 
+ int
+ main ()
+ {
+   bar (63);
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/asan/pr110676.c gcc-13-20250529/gcc/testsuite/gcc.dg/asan/pr110676.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/asan/pr110676.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/asan/pr110676.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,14 ----
+ /* PR sanitizer/110676 */
+ /* { dg-do run } */
+ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */
+ /* { dg-shouldfail "asan" } */
+ 
+ int
+ main ()
+ {
+   char s[1] = "A";
+   return __builtin_strlen (s);
+ }
+ 
+ /* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow on address.*(\n|\r\n|\r)" } */
+ /* { dg-output "READ of size.*" } */
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/ipa/pr120044-1.c gcc-13-20250529/gcc/testsuite/gcc.dg/ipa/pr120044-1.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/ipa/pr120044-1.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/ipa/pr120044-1.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do run } */
+ /* { dg-options "-O3 -fno-early-inlining -fno-tree-fre -fno-tree-pre -fno-code-hoisting -fno-inline" } */
+ 
+ struct a {
+   int b;
+ } const c;
+ void d(char p, struct a e) {
+   while (e.b)
+     ;
+ }
+ static unsigned short f(const struct a g) {
+   d(g.b, g);
+   return g.b;
+ }
+ int main() {
+   return f(c);
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/ipa/pr120044-2.c gcc-13-20250529/gcc/testsuite/gcc.dg/ipa/pr120044-2.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/ipa/pr120044-2.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/ipa/pr120044-2.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do run } */
+ /* { dg-options "-O3 -fno-early-inlining -fno-tree-fre -fno-tree-pre -fno-code-hoisting -fno-ipa-cp" } */
+ 
+ struct a {
+   int b;
+ } const c;
+ void d(char p, struct a e) {
+   while (e.b)
+     ;
+ }
+ static unsigned short f(const struct a g) {
+   d(g.b, g);
+   return g.b;
+ }
+ int main() {
+   return f(c);
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/pr117239.c gcc-13-20250529/gcc/testsuite/gcc.dg/pr117239.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/pr117239.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/pr117239.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,42 ----
+ /* PR rtl-optimization/117239 */
+ /* { dg-do run } */
+ /* { dg-options "-fno-inline -O2" } */
+ /* { dg-additional-options "-fschedule-insns" { target i?86-*-* x86_64-*-* } } */
+ 
+ int a, b, c = 1, d;
+ 
+ int
+ foo (void)
+ {
+   return a;
+ }
+ 
+ struct A {
+   int e, f, g, h;
+   short i;
+   int j;
+ };
+ 
+ void
+ bar (int x, struct A y)
+ {
+   if (y.j == 1)
+     c = 0;
+ }
+ 
+ int
+ baz (struct A x)
+ {
+   return b;
+ }
+ 
+ int
+ main ()
+ {
+   struct A k = { 0, 0, 0, 0, 0, 1 };
+   d = baz (k);
+   bar (foo (), k);
+   if (c != 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/pr81192.c gcc-13-20250529/gcc/testsuite/gcc.dg/pr81192.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/pr81192.c	Thu May 22 22:32:16 2025
--- gcc-13-20250529/gcc/testsuite/gcc.dg/pr81192.c	Thu May 29 22:32:15 2025
***************
*** 1,5 ****
! /* { dg-options "-Os -fdump-tree-pre-details -fdisable-tree-evrp -fno-tree-dse" } */
  
  /* Disable tree-evrp because the new version of evrp sees
  <bb 3> :
    if (j_8(D) != 2147483647)
--- 1,62 ----
! /* { dg-options "-Os -fgimple -fdump-tree-pre-details -fdisable-tree-evrp -fno-tree-dse" } */
! 
! #if __SIZEOF_INT__ == 2
! #define unsigned __UINT32_TYPE__
! #define int __INT32_TYPE__
! #endif
! 
! unsigned a;
! int b, c;
! 
! void __GIMPLE(ssa, startwith("pre")) fn2   ()
! {
!   int b_lsm6;
!   int j;
!   int c0_1;
!   int iftmp2_8;
! 
!   __BB(2):
!   a = _Literal (unsigned)30;
!   c0_1 = c;
!   b_lsm6_9 = b;
!   goto __BB7;
! 
!   __BB(3):
!   if (j_6(D) != _Literal (int)2147483647)
!     goto __BB4;
!   else
!     goto __BB9;
! 
!   __BB(4):
!   iftmp2_8 = j_6(D) + _Literal (int)1;
!   goto __BB5;
! 
!   __BB(9):
!   iftmp2_8 = j_6(D) + _Literal (int)1;
!   goto __BB5;
! 
!   __BB(5):
!   b_lsm6_10 = _Literal (int)2147483647;
!   goto __BB6;
! 
!   __BB(6):
!   if (c0_1 != _Literal (int) 0)
!     goto __BB3;
!   else
!     goto __BB8;
! 
!   __BB(8):
!   goto __BB7;
! 
!   __BB(7):
!   goto __BB6;
  
+ }
+ 
+ #if 0
+ /* This used to be a C based testcase but ccp3 would now would remove
+    the setting of iftmp2_8 (in the above gimple) which would cause PRE
+    not to test what PRE was doing incorrectly. The original code is below. */
  /* Disable tree-evrp because the new version of evrp sees
  <bb 3> :
    if (j_8(D) != 2147483647)
*************** which causes the situation being tested
*** 18,31 ****
  
  /* Likewise disable DSE which also elides the tail merging "opportunity".  */
  
- #if __SIZEOF_INT__ == 2
- #define unsigned __UINT32_TYPE__
- #define int __INT32_TYPE__
- #endif
- 
- unsigned a;
- int b, c;
- 
  static int
  fn1 (int p1, int p2)
  {
--- 75,80 ----
*************** fn2 (void)
*** 41,45 ****
--- 90,95 ----
      for (; c; b = fn1 (j, 1))
        ;
  }
+ #endif
  
  /* { dg-final { scan-tree-dump-times "(?n)find_duplicates: <bb .*> duplicate of <bb .*>" 1 "pre" } } */
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/pr98845.c gcc-13-20250529/gcc/testsuite/gcc.dg/pr98845.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/pr98845.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/pr98845.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,33 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-tree-dce -fno-tree-dse" } */
+ 
+ int n;
+ 
+ __attribute__ ((returns_twice)) void
+ foo (void);
+ 
+ void
+ bar (void);
+ 
+ void
+ quux (int x)
+ {
+   if (x)
+     ++x;
+   else
+     {
+       if (n)
+         {
+           x = 1;
+           foo ();
+         }
+       else
+         bar ();
+ 
+       if (n)
+         {
+           ++x;
+           ++n;
+         }
+     }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/torture/pr117979.c gcc-13-20250529/gcc/testsuite/gcc.dg/torture/pr117979.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/torture/pr117979.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/torture/pr117979.c	Thu May 29 22:32:15 2025
***************
*** 0 ****
--- 1,21 ----
+ /* { dg-do compile } */
+ 
+ int a, b;
+ void foo (void);
+ int __attribute__((returns_twice)) bar (int);
+ 
+ int __attribute__((const))
+ baz (int f)
+ {
+   if (f)
+     {
+       l:;
+       for (f = 0; f < 6; ++f)
+         if (bar (b))
+           goto l;
+       for (;; a--)
+         ;
+     }
+   foo ();
+   return 0;
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/tree-ssa/pr114864.c gcc-13-20250529/gcc/testsuite/gcc.dg/tree-ssa/pr114864.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/tree-ssa/pr114864.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/tree-ssa/pr114864.c	Thu May 29 22:32:16 2025
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do run } */
+ /* { dg-options "-O1 -fno-tree-dce -fno-tree-fre" } */
+ 
+ struct a {
+   int b;
+ } const c;
+ void d(const struct a f) {}
+ void e(const struct a f) {
+   f.b == 0 ? 1 : f.b;
+   d(f);
+ }
+ int main() {
+   e(c);
+   return 0;
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/vect/pr119057.c gcc-13-20250529/gcc/testsuite/gcc.dg/vect/pr119057.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/vect/pr119057.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/vect/pr119057.c	Thu May 29 22:32:16 2025
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-fno-tree-vrp -fno-tree-forwprop" } */
+ 
+ int a, b, c, d;
+ unsigned e;
+ static void f(void)
+ {
+   unsigned h;
+   for (d = 0; d < 2; d++)
+     b |= e;
+   h = b;
+   c |= h;
+ }
+ int main()
+ {
+   for (; a; a++)
+     f();
+   return 0;
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.dg/vect/pr119534.c gcc-13-20250529/gcc/testsuite/gcc.dg/vect/pr119534.c
*** gcc-13-20250522/gcc/testsuite/gcc.dg/vect/pr119534.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.dg/vect/pr119534.c	Thu May 29 22:32:16 2025
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-mavx512bw" { target { x86_64-*-* i?86-*-* } } } */
+ 
+ void f(int w, int *out, double *d)
+ {
+   for (int j = 0; j < w; j++)
+     {
+       const int i = (j >= w / 2);
+       out[j] += d[i];
+     }
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gcc.target/s390/zvector/pr114676.c gcc-13-20250529/gcc/testsuite/gcc.target/s390/zvector/pr114676.c
*** gcc-13-20250522/gcc/testsuite/gcc.target/s390/zvector/pr114676.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gcc.target/s390/zvector/pr114676.c	Thu May 29 22:32:18 2025
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do run { target { s390*-*-* } } } */
+ /* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
+ 
+ #include <vecintrin.h>
+ 
+ void __attribute__((noinline)) foo (int *mem)
+ {
+   vec_xst ((vector float){ 1.0f, 2.0f, 3.0f, 4.0f }, 0, (float*)mem);
+ }
+ 
+ int
+ main ()
+ {
+   int m[4] = { 0 };
+   foo (m);
+   if (m[3] == 0)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_1.f90 gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_1.f90
*** gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_1.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_1.f90	Thu May 29 22:32:20 2025
***************
*** 0 ****
--- 1,614 ----
+ ! PR fortran/120191
+ ! { dg-do run }
+ 
+   integer(kind=1) :: a1(10, 10, 10), b1(10)
+   integer(kind=2) :: a2(10, 10, 10), b2(10)
+   integer(kind=4) :: a4(10, 10, 10), b4(10)
+   integer(kind=8) :: a8(10, 10, 10), b8(10)
+   real(kind=4) :: r4(10, 10, 10), s4(10)
+   real(kind=8) :: r8(10, 10, 10), s8(10)
+   logical :: l1(10, 10, 10), l2(10), l3
+   l1 = .true.
+   l2 = .true.
+   l3 = .true.
+   a1 = 0
+   if (any (maxloc (a1) .ne. 1)) stop 1
+   if (any (maxloc (a1, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (a1, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (a1, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (a1, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (a1, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (a1, 1) .ne. 1)) stop 7
+   if (any (maxloc (a1, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (a1, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (a1, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (a1, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (a1, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (a1, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (a1, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (a1, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (a1, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (a1, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (a1, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (a1, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (a1, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (a1, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (a1, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (a1, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (a1, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b1 = 0
+   if (any (maxloc (b1) .ne. 1)) stop 1
+   if (any (maxloc (b1, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (b1, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (b1, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (b1, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (b1, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (b1, 1) .ne. 1) stop 7
+   if (maxloc (b1, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (b1, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (b1, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (b1, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (b1, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (b1, 1, l2) .ne. 1) stop 13
+   if (maxloc (b1, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (b1, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (b1, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (b1, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (b1, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (b1, 1, l3) .ne. 1) stop 19
+   if (maxloc (b1, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (b1, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (b1, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (b1, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (b1, 1, l3, 2, .true.) .ne. 10) stop 24
+   a2 = 0
+   if (any (maxloc (a2) .ne. 1)) stop 1
+   if (any (maxloc (a2, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (a2, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (a2, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (a2, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (a2, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (a2, 1) .ne. 1)) stop 7
+   if (any (maxloc (a2, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (a2, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (a2, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (a2, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (a2, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (a2, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (a2, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (a2, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (a2, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (a2, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (a2, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (a2, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (a2, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (a2, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (a2, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (a2, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (a2, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b2 = 0
+   if (any (maxloc (b2) .ne. 1)) stop 1
+   if (any (maxloc (b2, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (b2, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (b2, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (b2, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (b2, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (b2, 1) .ne. 1) stop 7
+   if (maxloc (b2, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (b2, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (b2, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (b2, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (b2, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (b2, 1, l2) .ne. 1) stop 13
+   if (maxloc (b2, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (b2, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (b2, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (b2, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (b2, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (b2, 1, l3) .ne. 1) stop 19
+   if (maxloc (b2, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (b2, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (b2, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (b2, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (b2, 1, l3, 2, .true.) .ne. 10) stop 24
+   a4 = 0
+   if (any (maxloc (a4) .ne. 1)) stop 1
+   if (any (maxloc (a4, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (a4, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (a4, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (a4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (a4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (a4, 1) .ne. 1)) stop 7
+   if (any (maxloc (a4, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (a4, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (a4, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (a4, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (a4, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (a4, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (a4, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (a4, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (a4, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (a4, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (a4, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (a4, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (a4, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (a4, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (a4, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (a4, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (a4, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b4 = 0
+   if (any (maxloc (b4) .ne. 1)) stop 1
+   if (any (maxloc (b4, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (b4, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (b4, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (b4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (b4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (b4, 1) .ne. 1) stop 7
+   if (maxloc (b4, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (b4, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (b4, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (b4, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (b4, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (b4, 1, l2) .ne. 1) stop 13
+   if (maxloc (b4, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (b4, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (b4, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (b4, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (b4, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (b4, 1, l3) .ne. 1) stop 19
+   if (maxloc (b4, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (b4, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (b4, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (b4, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (b4, 1, l3, 2, .true.) .ne. 10) stop 24
+   a8 = 0
+   if (any (maxloc (a8) .ne. 1)) stop 1
+   if (any (maxloc (a8, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (a8, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (a8, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (a8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (a8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (a8, 1) .ne. 1)) stop 7
+   if (any (maxloc (a8, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (a8, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (a8, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (a8, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (a8, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (a8, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (a8, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (a8, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (a8, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (a8, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (a8, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (a8, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (a8, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (a8, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (a8, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (a8, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (a8, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b8 = 0
+   if (any (maxloc (b8) .ne. 1)) stop 1
+   if (any (maxloc (b8, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (b8, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (b8, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (b8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (b8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (b8, 1) .ne. 1) stop 7
+   if (maxloc (b8, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (b8, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (b8, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (b8, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (b8, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (b8, 1, l2) .ne. 1) stop 13
+   if (maxloc (b8, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (b8, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (b8, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (b8, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (b8, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (b8, 1, l3) .ne. 1) stop 19
+   if (maxloc (b8, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (b8, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (b8, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (b8, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (b8, 1, l3, 2, .true.) .ne. 10) stop 24
+   r4 = 0.0
+   if (any (maxloc (r4) .ne. 1)) stop 1
+   if (any (maxloc (r4, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (r4, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (r4, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (r4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (r4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (r4, 1) .ne. 1)) stop 7
+   if (any (maxloc (r4, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (r4, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (r4, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (r4, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (r4, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (r4, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (r4, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (r4, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (r4, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (r4, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (r4, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (r4, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (r4, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (r4, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (r4, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (r4, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (r4, 1, l3, 2, .true.) .ne. 10)) stop 24
+   s4 = 0.0
+   if (any (maxloc (s4) .ne. 1)) stop 1
+   if (any (maxloc (s4, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (s4, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (s4, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (s4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (s4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (s4, 1) .ne. 1) stop 7
+   if (maxloc (s4, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (s4, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (s4, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (s4, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (s4, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (s4, 1, l2) .ne. 1) stop 13
+   if (maxloc (s4, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (s4, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (s4, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (s4, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (s4, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (s4, 1, l3) .ne. 1) stop 19
+   if (maxloc (s4, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (s4, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (s4, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (s4, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (s4, 1, l3, 2, .true.) .ne. 10) stop 24
+   r8 = 0.0
+   if (any (maxloc (r8) .ne. 1)) stop 1
+   if (any (maxloc (r8, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (r8, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (r8, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (r8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (r8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (maxloc (r8, 1) .ne. 1)) stop 7
+   if (any (maxloc (r8, 1, back=.false.) .ne. 1)) stop 8
+   if (any (maxloc (r8, 1, back=.true.) .ne. 10)) stop 9
+   if (any (maxloc (r8, 1, kind=1) .ne. 1)) stop 10
+   if (any (maxloc (r8, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (maxloc (r8, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (maxloc (r8, 1, l1) .ne. 1)) stop 13
+   if (any (maxloc (r8, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (maxloc (r8, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (maxloc (r8, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (maxloc (r8, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (maxloc (r8, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (maxloc (r8, 1, l3) .ne. 1)) stop 19
+   if (any (maxloc (r8, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (maxloc (r8, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (maxloc (r8, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (maxloc (r8, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (maxloc (r8, 1, l3, 2, .true.) .ne. 10)) stop 24
+   s8 = 0.0
+   if (any (maxloc (s8) .ne. 1)) stop 1
+   if (any (maxloc (s8, back=.false.) .ne. 1)) stop 2
+   if (any (maxloc (s8, back=.true.) .ne. 10)) stop 3
+   if (any (maxloc (s8, kind=2) .ne. 1)) stop 4
+   if (any (maxloc (s8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (maxloc (s8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (maxloc (s8, 1) .ne. 1) stop 7
+   if (maxloc (s8, 1, back=.false.) .ne. 1) stop 8
+   if (maxloc (s8, 1, back=.true.) .ne. 10) stop 9
+   if (maxloc (s8, 1, kind=1) .ne. 1) stop 10
+   if (maxloc (s8, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (maxloc (s8, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (maxloc (s8, 1, l2) .ne. 1) stop 13
+   if (maxloc (s8, 1, l2, back=.false.) .ne. 1) stop 14
+   if (maxloc (s8, 1, l2, back=.true.) .ne. 10) stop 15
+   if (maxloc (s8, 1, l2, kind=8) .ne. 1) stop 16
+   if (maxloc (s8, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (maxloc (s8, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (maxloc (s8, 1, l3) .ne. 1) stop 19
+   if (maxloc (s8, 1, l3, back=.false.) .ne. 1) stop 20
+   if (maxloc (s8, 1, l3, back=.true.) .ne. 10) stop 21
+   if (maxloc (s8, 1, l3, kind=8) .ne. 1) stop 22
+   if (maxloc (s8, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (maxloc (s8, 1, l3, 2, .true.) .ne. 10) stop 24
+   a1 = 0
+   if (any (minloc (a1) .ne. 1)) stop 1
+   if (any (minloc (a1, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (a1, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (a1, kind=2) .ne. 1)) stop 4
+   if (any (minloc (a1, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (a1, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (a1, 1) .ne. 1)) stop 7
+   if (any (minloc (a1, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (a1, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (a1, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (a1, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (a1, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (a1, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (a1, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (a1, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (a1, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (a1, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (a1, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (a1, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (a1, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (a1, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (a1, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (a1, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (a1, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b1 = 0
+   if (any (minloc (b1) .ne. 1)) stop 1
+   if (any (minloc (b1, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (b1, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (b1, kind=2) .ne. 1)) stop 4
+   if (any (minloc (b1, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (b1, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (b1, 1) .ne. 1) stop 7
+   if (minloc (b1, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (b1, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (b1, 1, kind=1) .ne. 1) stop 10
+   if (minloc (b1, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (b1, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (b1, 1, l2) .ne. 1) stop 13
+   if (minloc (b1, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (b1, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (b1, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (b1, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (b1, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (b1, 1, l3) .ne. 1) stop 19
+   if (minloc (b1, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (b1, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (b1, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (b1, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (b1, 1, l3, 2, .true.) .ne. 10) stop 24
+   a2 = 0
+   if (any (minloc (a2) .ne. 1)) stop 1
+   if (any (minloc (a2, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (a2, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (a2, kind=2) .ne. 1)) stop 4
+   if (any (minloc (a2, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (a2, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (a2, 1) .ne. 1)) stop 7
+   if (any (minloc (a2, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (a2, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (a2, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (a2, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (a2, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (a2, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (a2, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (a2, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (a2, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (a2, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (a2, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (a2, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (a2, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (a2, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (a2, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (a2, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (a2, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b2 = 0
+   if (any (minloc (b2) .ne. 1)) stop 1
+   if (any (minloc (b2, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (b2, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (b2, kind=2) .ne. 1)) stop 4
+   if (any (minloc (b2, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (b2, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (b2, 1) .ne. 1) stop 7
+   if (minloc (b2, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (b2, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (b2, 1, kind=1) .ne. 1) stop 10
+   if (minloc (b2, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (b2, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (b2, 1, l2) .ne. 1) stop 13
+   if (minloc (b2, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (b2, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (b2, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (b2, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (b2, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (b2, 1, l3) .ne. 1) stop 19
+   if (minloc (b2, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (b2, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (b2, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (b2, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (b2, 1, l3, 2, .true.) .ne. 10) stop 24
+   a4 = 0
+   if (any (minloc (a4) .ne. 1)) stop 1
+   if (any (minloc (a4, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (a4, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (a4, kind=2) .ne. 1)) stop 4
+   if (any (minloc (a4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (a4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (a4, 1) .ne. 1)) stop 7
+   if (any (minloc (a4, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (a4, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (a4, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (a4, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (a4, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (a4, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (a4, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (a4, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (a4, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (a4, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (a4, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (a4, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (a4, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (a4, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (a4, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (a4, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (a4, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b4 = 0
+   if (any (minloc (b4) .ne. 1)) stop 1
+   if (any (minloc (b4, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (b4, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (b4, kind=2) .ne. 1)) stop 4
+   if (any (minloc (b4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (b4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (b4, 1) .ne. 1) stop 7
+   if (minloc (b4, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (b4, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (b4, 1, kind=1) .ne. 1) stop 10
+   if (minloc (b4, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (b4, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (b4, 1, l2) .ne. 1) stop 13
+   if (minloc (b4, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (b4, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (b4, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (b4, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (b4, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (b4, 1, l3) .ne. 1) stop 19
+   if (minloc (b4, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (b4, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (b4, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (b4, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (b4, 1, l3, 2, .true.) .ne. 10) stop 24
+   a8 = 0
+   if (any (minloc (a8) .ne. 1)) stop 1
+   if (any (minloc (a8, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (a8, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (a8, kind=2) .ne. 1)) stop 4
+   if (any (minloc (a8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (a8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (a8, 1) .ne. 1)) stop 7
+   if (any (minloc (a8, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (a8, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (a8, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (a8, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (a8, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (a8, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (a8, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (a8, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (a8, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (a8, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (a8, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (a8, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (a8, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (a8, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (a8, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (a8, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (a8, 1, l3, 2, .true.) .ne. 10)) stop 24
+   b8 = 0
+   if (any (minloc (b8) .ne. 1)) stop 1
+   if (any (minloc (b8, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (b8, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (b8, kind=2) .ne. 1)) stop 4
+   if (any (minloc (b8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (b8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (b8, 1) .ne. 1) stop 7
+   if (minloc (b8, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (b8, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (b8, 1, kind=1) .ne. 1) stop 10
+   if (minloc (b8, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (b8, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (b8, 1, l2) .ne. 1) stop 13
+   if (minloc (b8, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (b8, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (b8, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (b8, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (b8, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (b8, 1, l3) .ne. 1) stop 19
+   if (minloc (b8, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (b8, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (b8, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (b8, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (b8, 1, l3, 2, .true.) .ne. 10) stop 24
+   r4 = 0.0
+   if (any (minloc (r4) .ne. 1)) stop 1
+   if (any (minloc (r4, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (r4, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (r4, kind=2) .ne. 1)) stop 4
+   if (any (minloc (r4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (r4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (r4, 1) .ne. 1)) stop 7
+   if (any (minloc (r4, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (r4, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (r4, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (r4, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (r4, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (r4, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (r4, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (r4, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (r4, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (r4, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (r4, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (r4, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (r4, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (r4, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (r4, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (r4, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (r4, 1, l3, 2, .true.) .ne. 10)) stop 24
+   s4 = 0.0
+   if (any (minloc (s4) .ne. 1)) stop 1
+   if (any (minloc (s4, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (s4, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (s4, kind=2) .ne. 1)) stop 4
+   if (any (minloc (s4, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (s4, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (s4, 1) .ne. 1) stop 7
+   if (minloc (s4, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (s4, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (s4, 1, kind=1) .ne. 1) stop 10
+   if (minloc (s4, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (s4, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (s4, 1, l2) .ne. 1) stop 13
+   if (minloc (s4, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (s4, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (s4, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (s4, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (s4, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (s4, 1, l3) .ne. 1) stop 19
+   if (minloc (s4, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (s4, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (s4, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (s4, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (s4, 1, l3, 2, .true.) .ne. 10) stop 24
+   r8 = 0.0
+   if (any (minloc (r8) .ne. 1)) stop 1
+   if (any (minloc (r8, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (r8, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (r8, kind=2) .ne. 1)) stop 4
+   if (any (minloc (r8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (r8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (any (minloc (r8, 1) .ne. 1)) stop 7
+   if (any (minloc (r8, 1, back=.false.) .ne. 1)) stop 8
+   if (any (minloc (r8, 1, back=.true.) .ne. 10)) stop 9
+   if (any (minloc (r8, 1, kind=1) .ne. 1)) stop 10
+   if (any (minloc (r8, 1, kind=2, back=.false.) .ne. 1)) stop 11
+   if (any (minloc (r8, 1, kind=4, back=.true.) .ne. 10)) stop 12
+   if (any (minloc (r8, 1, l1) .ne. 1)) stop 13
+   if (any (minloc (r8, 1, l1, back=.false.) .ne. 1)) stop 14
+   if (any (minloc (r8, 1, l1, back=.true.) .ne. 10)) stop 15
+   if (any (minloc (r8, 1, l1, kind=8) .ne. 1)) stop 16
+   if (any (minloc (r8, 1, l1, 4, .false.) .ne. 1)) stop 17
+   if (any (minloc (r8, 1, l1, 2, .true.) .ne. 10)) stop 18
+   if (any (minloc (r8, 1, l3) .ne. 1)) stop 19
+   if (any (minloc (r8, 1, l3, back=.false.) .ne. 1)) stop 20
+   if (any (minloc (r8, 1, l3, back=.true.) .ne. 10)) stop 21
+   if (any (minloc (r8, 1, l3, kind=8) .ne. 1)) stop 22
+   if (any (minloc (r8, 1, l3, 4, .false.) .ne. 1)) stop 23
+   if (any (minloc (r8, 1, l3, 2, .true.) .ne. 10)) stop 24
+   s8 = 0.0
+   if (any (minloc (s8) .ne. 1)) stop 1
+   if (any (minloc (s8, back=.false.) .ne. 1)) stop 2
+   if (any (minloc (s8, back=.true.) .ne. 10)) stop 3
+   if (any (minloc (s8, kind=2) .ne. 1)) stop 4
+   if (any (minloc (s8, kind=4, back=.false.) .ne. 1)) stop 5
+   if (any (minloc (s8, kind=8, back=.true.) .ne. 10)) stop 6
+   if (minloc (s8, 1) .ne. 1) stop 7
+   if (minloc (s8, 1, back=.false.) .ne. 1) stop 8
+   if (minloc (s8, 1, back=.true.) .ne. 10) stop 9
+   if (minloc (s8, 1, kind=1) .ne. 1) stop 10
+   if (minloc (s8, 1, kind=2, back=.false.) .ne. 1) stop 11
+   if (minloc (s8, 1, kind=4, back=.true.) .ne. 10) stop 12
+   if (minloc (s8, 1, l2) .ne. 1) stop 13
+   if (minloc (s8, 1, l2, back=.false.) .ne. 1) stop 14
+   if (minloc (s8, 1, l2, back=.true.) .ne. 10) stop 15
+   if (minloc (s8, 1, l2, kind=8) .ne. 1) stop 16
+   if (minloc (s8, 1, l2, 4, .false.) .ne. 1) stop 17
+   if (minloc (s8, 1, l2, 2, .true.) .ne. 10) stop 18
+   if (minloc (s8, 1, l3) .ne. 1) stop 19
+   if (minloc (s8, 1, l3, back=.false.) .ne. 1) stop 20
+   if (minloc (s8, 1, l3, back=.true.) .ne. 10) stop 21
+   if (minloc (s8, 1, l3, kind=8) .ne. 1) stop 22
+   if (minloc (s8, 1, l3, 4, .false.) .ne. 1) stop 23
+   if (minloc (s8, 1, l3, 2, .true.) .ne. 10) stop 24
+ end
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_2.f90 gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_2.f90
*** gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_2.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_2.f90	Thu May 29 22:32:20 2025
***************
*** 0 ****
--- 1,84 ----
+ ! PR fortran/120191
+ ! { dg-do run }
+ 
+   character(kind=1, len=2) :: a(4, 4, 4), b(4)
+   logical :: l(4, 4, 4), m, n(4)
+   a = 'aa'
+   b = 'aa'
+   l = .true.
+   m = .true.
+   n = .true.
+   if (any (maxloc (a) .ne. 1)) stop 1
+   if (any (maxloc (a, dim=1) .ne. 1)) stop 2
+   if (any (maxloc (a, 1) .ne. 1)) stop 3
+   if (any (maxloc (a, dim=1, mask=l, kind=4, back=.false.) .ne. 1)) stop 4
+   if (any (maxloc (a, 1, l, 4, .false.) .ne. 1)) stop 5
+   if (any (maxloc (a, dim=1, mask=m, kind=4, back=.false.) .ne. 1)) stop 6
+   if (any (maxloc (a, 1, m, 4, .false.) .ne. 1)) stop 7
+   if (any (maxloc (a, dim=1, mask=l, kind=4, back=.true.) .ne. 4)) stop 8
+   if (any (maxloc (a, 1, l, 4, .true.) .ne. 4)) stop 9
+   if (any (maxloc (a, dim=1, mask=m, kind=4, back=.true.) .ne. 4)) stop 10
+   if (any (maxloc (a, 1, m, 4, .true.) .ne. 4)) stop 11
+   if (any (maxloc (b) .ne. 1)) stop 12
+   if (maxloc (b, dim=1) .ne. 1) stop 13
+   if (maxloc (b, 1) .ne. 1) stop 14
+   if (maxloc (b, dim=1, mask=n, kind=4, back=.false.) .ne. 1) stop 15
+   if (maxloc (b, 1, n, 4, .false.) .ne. 1) stop 16
+   if (maxloc (b, dim=1, mask=m, kind=4, back=.false.) .ne. 1) stop 17
+   if (maxloc (b, 1, m, 4, .false.) .ne. 1) stop 18
+   if (maxloc (b, dim=1, mask=n, kind=4, back=.true.) .ne. 4) stop 19
+   if (maxloc (b, 1, n, 4, .true.) .ne. 4) stop 20
+   if (maxloc (b, dim=1, mask=m, kind=4, back=.true.) .ne. 4) stop 21
+   if (maxloc (b, 1, m, 4, .true.) .ne. 4) stop 22
+   l = .false.
+   m = .false.
+   n = .false.
+   if (any (maxloc (a, dim=1, mask=l, kind=4, back=.false.) .ne. 0)) stop 23
+   if (any (maxloc (a, 1, l, 4, .false.) .ne. 0)) stop 24
+   if (maxloc (b, dim=1, mask=n, kind=4, back=.false.) .ne. 0) stop 25
+   if (maxloc (b, 1, n, 4, .false.) .ne. 0) stop 26
+   if (maxloc (b, dim=1, mask=m, kind=4, back=.false.) .ne. 0) stop 27
+   if (maxloc (b, 1, m, 4, .false.) .ne. 0) stop 28
+   if (maxloc (b, dim=1, mask=n, kind=4, back=.true.) .ne. 0) stop 29
+   if (maxloc (b, 1, n, 4, .true.) .ne. 0) stop 30
+   if (maxloc (b, dim=1, mask=m, kind=4, back=.true.) .ne. 0) stop 31
+   if (maxloc (b, 1, m, 4, .true.) .ne. 0) stop 32
+   l = .true.
+   m = .true.
+   n = .true.
+   if (any (minloc (a) .ne. 1)) stop 1
+   if (any (minloc (a, dim=1) .ne. 1)) stop 2
+   if (any (minloc (a, 1) .ne. 1)) stop 3
+   if (any (minloc (a, dim=1, mask=l, kind=4, back=.false.) .ne. 1)) stop 4
+   if (any (minloc (a, 1, l, 4, .false.) .ne. 1)) stop 5
+   if (any (minloc (a, dim=1, mask=m, kind=4, back=.false.) .ne. 1)) stop 6
+   if (any (minloc (a, 1, m, 4, .false.) .ne. 1)) stop 7
+   if (any (minloc (a, dim=1, mask=l, kind=4, back=.true.) .ne. 4)) stop 8
+   if (any (minloc (a, 1, l, 4, .true.) .ne. 4)) stop 9
+   if (any (minloc (a, dim=1, mask=m, kind=4, back=.true.) .ne. 4)) stop 10
+   if (any (minloc (a, 1, m, 4, .true.) .ne. 4)) stop 11
+   if (any (minloc (b) .ne. 1)) stop 12
+   if (minloc (b, dim=1) .ne. 1) stop 13
+   if (minloc (b, 1) .ne. 1) stop 14
+   if (minloc (b, dim=1, mask=n, kind=4, back=.false.) .ne. 1) stop 15
+   if (minloc (b, 1, n, 4, .false.) .ne. 1) stop 16
+   if (minloc (b, dim=1, mask=m, kind=4, back=.false.) .ne. 1) stop 17
+   if (minloc (b, 1, m, 4, .false.) .ne. 1) stop 18
+   if (minloc (b, dim=1, mask=n, kind=4, back=.true.) .ne. 4) stop 19
+   if (minloc (b, 1, n, 4, .true.) .ne. 4) stop 20
+   if (minloc (b, dim=1, mask=m, kind=4, back=.true.) .ne. 4) stop 21
+   if (minloc (b, 1, m, 4, .true.) .ne. 4) stop 22
+   l = .false.
+   m = .false.
+   n = .false.
+   if (any (minloc (a, dim=1, mask=l, kind=4, back=.false.) .ne. 0)) stop 23
+   if (any (minloc (a, 1, l, 4, .false.) .ne. 0)) stop 24
+   if (minloc (b, dim=1, mask=n, kind=4, back=.false.) .ne. 0) stop 25
+   if (minloc (b, 1, n, 4, .false.) .ne. 0) stop 26
+   if (minloc (b, dim=1, mask=m, kind=4, back=.false.) .ne. 0) stop 27
+   if (minloc (b, 1, m, 4, .false.) .ne. 0) stop 28
+   if (minloc (b, dim=1, mask=n, kind=4, back=.true.) .ne. 0) stop 29
+   if (minloc (b, 1, n, 4, .true.) .ne. 0) stop 30
+   if (minloc (b, dim=1, mask=m, kind=4, back=.true.) .ne. 0) stop 31
+   if (minloc (b, 1, m, 4, .true.) .ne. 0) stop 32
+ end
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_3.f90 gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_3.f90
*** gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120191_3.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120191_3.f90	Thu May 29 22:32:20 2025
***************
*** 0 ****
--- 1,23 ----
+ ! PR fortran/120191
+ ! { dg-do run }
+ 
+   character(kind=1, len=2) :: a(4, 4, 4), b(4)
+   logical :: l(4, 4, 4), m, n(4)
+   a = 'aa'
+   b = 'aa'
+   l = .false.
+   m = .false.
+   n = .false.
+   if (any (maxloc (a, dim=1, mask=m, kind=4, back=.false.) .ne. 0)) stop 1
+   if (any (maxloc (a, 1, m, 4, .false.) .ne. 0)) stop 2
+   if (any (maxloc (a, dim=1, mask=l, kind=4, back=.true.) .ne. 0)) stop 3
+   if (any (maxloc (a, 1, l, 4, .true.) .ne. 0)) stop 4
+   if (any (maxloc (a, dim=1, mask=m, kind=4, back=.true.) .ne. 0)) stop 5
+   if (any (maxloc (a, 1, m, 4, .true.) .ne. 0)) stop 6
+   if (any (minloc (a, dim=1, mask=m, kind=4, back=.false.) .ne. 0)) stop 7
+   if (any (minloc (a, 1, m, 4, .false.) .ne. 0)) stop 8
+   if (any (minloc (a, dim=1, mask=l, kind=4, back=.true.) .ne. 0)) stop 9
+   if (any (minloc (a, 1, l, 4, .true.) .ne. 0)) stop 10
+   if (any (minloc (a, dim=1, mask=m, kind=4, back=.true.) .ne. 0)) stop 11
+   if (any (minloc (a, 1, m, 4, .true.) .ne. 0)) stop 12
+ end
diff -Nrcpad gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120196.f90 gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120196.f90
*** gcc-13-20250522/gcc/testsuite/gfortran.dg/pr120196.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/gcc/testsuite/gfortran.dg/pr120196.f90	Thu May 29 22:32:20 2025
***************
*** 0 ****
--- 1,26 ----
+ ! PR libfortran/120196
+ ! { dg-do run }
+ 
+ program pr120196
+   character(len=:, kind=1), allocatable :: a(:), s
+   character(len=:, kind=4), allocatable :: b(:), t
+   logical, allocatable :: l(:)
+   logical :: m
+   allocate (character(len=16, kind=1) :: a(10), s)
+   allocate (l(10))
+   a(:) = ""
+   s = "*"
+   l = .true.
+   m = .true.
+   if (findloc (a, s, dim=1, back=.true.) .ne. 0) stop 1
+   if (findloc (a, s, mask=l, dim=1, back=.true.) .ne. 0) stop 2
+   if (findloc (a, s, mask=m, dim=1, back=.true.) .ne. 0) stop 3
+   deallocate (a, s)
+   allocate (character(len=16, kind=4) :: b(10), t)
+   b(:) = ""
+   t = "*"
+   if (findloc (b, t, dim=1, back=.true.) .ne. 0) stop 4
+   if (findloc (b, t, mask=l, dim=1, back=.true.) .ne. 0) stop 5
+   if (findloc (b, t, mask=m, dim=1, back=.true.) .ne. 0) stop 6
+   deallocate (b, t, l)
+ end program pr120196
diff -Nrcpad gcc-13-20250522/gcc/testsuite/lib/gm2.exp gcc-13-20250529/gcc/testsuite/lib/gm2.exp
*** gcc-13-20250522/gcc/testsuite/lib/gm2.exp	Thu May 22 22:32:31 2025
--- gcc-13-20250529/gcc/testsuite/lib/gm2.exp	Thu May 29 22:32:20 2025
*************** proc gm2_link_flags { paths } {
*** 281,292 ****
      set shlib_ext [get_shlib_extension]
      verbose "shared lib extension: $shlib_ext"
  
      if { $gccpath == "" } {
        global tool_root_dir
  
        set libstdcpp [lookfor_file ${tool_root_dir} libstdc++]
        if { $libstdcpp != "" } {
!           append flags "-L${libstdcpp} "
            append ld_library_path ":${libstdcpp}"
        }
      } else {
--- 281,315 ----
      set shlib_ext [get_shlib_extension]
      verbose "shared lib extension: $shlib_ext"
  
+ 
+     # We need to add options to locate gm2 libs and libstdc++
+     # Usually '-L' options are added to point to the relevant directories for
+     # the uninstalled libraries.
+ 
+     # In cases where libraries are available as both shared and convenience
+     # some additional checks are made.
+ 
+     # For some targets -static-xxxx options are handled by specs substitution
+     # and need a '-B' option rather than '-L'.  For Darwin, when embedded
+     # runpaths are in use (the default for all versions after macOS 10.11),
+     # '-B' is also needed to provide the runpath.
+     # When '-B' is used, this results in a '-L' for each path that exists (so
+     # that appending a '-L' as well is a needless duplicate).  There are also
+     # cases where tools warn for duplicates, leading to spurious fails.
+     # Therefore the objective of the code below is to add just one '-L' or
+     # '-B' for each of the libraries.
+ 
+     set target_wants_B_option 0
+     if { [istarget *-*-darwin9* ] || [istarget *-*-darwin\[12\]* ] } {
+       set target_wants_B_option 1
+     }
+ 
      if { $gccpath == "" } {
        global tool_root_dir
  
        set libstdcpp [lookfor_file ${tool_root_dir} libstdc++]
        if { $libstdcpp != "" } {
!           append flags " -L${libstdcpp} "
            append ld_library_path ":${libstdcpp}"
        }
      } else {
*************** proc gm2_link_flags { paths } {
*** 294,312 ****
  	    append ld_library_path ":${gccpath}/lib"
  	}
  	if [file exists "${gccpath}/libstdc++/libstdc++.a"] {
! 	    append flags "-L${gccpath}/libstdc++ "
  	    append ld_library_path ":${gccpath}/libstdc++"
  	}
! 	if [file exists "${gccpath}/libstdc++-v3/src/.libs/libstdc++.a"] {
! 	    append flags " -L${gccpath}/libstdc++-v3/src/.libs "
! 	    append ld_library_path ":${gccpath}/libstdc++-v3/src/.libs"
! 	}
! 	# Look for libstdc++.${shlib_ext}.
! 	if [file exists "${gccpath}/libstdc++-v3/src/.libs/libstdc++.${shlib_ext}"] {
! 	    append flags " -L${gccpath}/libstdc++-v3/src/.libs "
  	    append ld_library_path ":${gccpath}/libstdc++-v3/src/.libs"
  	}
  
  	# puts stderr "${gm2_link_libraries}  before foreach"
  	foreach d [list {*}${gm2_link_libraries}] {
  	    # puts stderr "${d}  XXXX"
--- 317,338 ----
  	    append ld_library_path ":${gccpath}/lib"
  	}
  	if [file exists "${gccpath}/libstdc++/libstdc++.a"] {
! 	    append flags " -L${gccpath}/libstdc++ "
  	    append ld_library_path ":${gccpath}/libstdc++"
  	}
! 	# Look for libstdc++.<a,${shlib_ext}>.
!         if { [file exists "${gccpath}/libstdc++-v3/src/.libs/libstdc++.a"] \
! 	     || [file exists "${gccpath}/libstdc++-v3/src/.libs/libstdc++.${shlib_ext}"] } {
!             if { $target_wants_B_option } {
! 	        append flags " -B${gccpath}/libstdc++-v3/src/.libs "
!             } else {
! 	        append flags " -L${gccpath}/libstdc++-v3/src/.libs "
!             }
  	    append ld_library_path ":${gccpath}/libstdc++-v3/src/.libs"
  	}
  
+ 	# Here we are forcing the static libraries, with complete paths so 
+ 	# there's no -L/-B logic needed
  	# puts stderr "${gm2_link_libraries}  before foreach"
  	foreach d [list {*}${gm2_link_libraries}] {
  	    # puts stderr "${d}  XXXX"
*************** proc gm2_link_flags { paths } {
*** 315,321 ****
  	    if [file exists "${gccpath}/libgm2/lib${d}/.libs/lib${d}.a"] {
  		send_log "good found ${gccpath}/libgm2/lib${d}/.libs/lib${d}.a\n"
  		# append flags " -L${gccpath}/libgm2/lib${d}/.libs -l${d}"
! 		append flags " ${gccpath}/libgm2/lib${d}/.libs/lib${d}.a"
  		append ld_library_path ":${gccpath}/libgm2/lib${d}/.libs"
  	    }
  	    send_log "ld_library_path is ${ld_library_path}\n"
--- 341,347 ----
  	    if [file exists "${gccpath}/libgm2/lib${d}/.libs/lib${d}.a"] {
  		send_log "good found ${gccpath}/libgm2/lib${d}/.libs/lib${d}.a\n"
  		# append flags " -L${gccpath}/libgm2/lib${d}/.libs -l${d}"
! 		append flags " ${gccpath}/libgm2/lib${d}/.libs/lib${d}.a "
  		append ld_library_path ":${gccpath}/libgm2/lib${d}/.libs"
  	    }
  	    send_log "ld_library_path is ${ld_library_path}\n"
diff -Nrcpad gcc-13-20250522/gcc/tree-inline.cc gcc-13-20250529/gcc/tree-inline.cc
*** gcc-13-20250522/gcc/tree-inline.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-inline.cc	Thu May 29 22:32:21 2025
*************** copy_edges_for_bb (basic_block bb, profi
*** 2679,2686 ****
  		   && gimple_call_arg (copy_stmt, 0) == boolean_true_node)
  	    nonlocal_goto = false;
  	  else
! 	    make_single_succ_edge (copy_stmt_bb, abnormal_goto_dest,
! 				   EDGE_ABNORMAL);
  	}
  
        if ((can_throw || nonlocal_goto)
--- 2679,2689 ----
  		   && gimple_call_arg (copy_stmt, 0) == boolean_true_node)
  	    nonlocal_goto = false;
  	  else
! 	    {
! 	      make_single_succ_edge (copy_stmt_bb, abnormal_goto_dest,
! 				     EDGE_ABNORMAL);
! 	      gimple_call_set_ctrl_altering (copy_stmt, true);
! 	    }
  	}
  
        if ((can_throw || nonlocal_goto)
diff -Nrcpad gcc-13-20250522/gcc/tree-sra.cc gcc-13-20250529/gcc/tree-sra.cc
*** gcc-13-20250522/gcc/tree-sra.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-sra.cc	Thu May 29 22:32:21 2025
*************** sra_modify_expr (tree *expr, gimple_stmt
*** 3988,3995 ****
  	    }
  	  else
  	    {
! 	      gassign *stmt;
  
  	      if (access->grp_partial_lhs)
  		repl = force_gimple_operand_gsi (gsi, repl, true, NULL_TREE,
  						 true, GSI_SAME_STMT);
--- 3988,3997 ----
  	    }
  	  else
  	    {
! 	      if (TREE_READONLY (access->base))
! 		return false;
  
+ 	      gassign *stmt;
  	      if (access->grp_partial_lhs)
  		repl = force_gimple_operand_gsi (gsi, repl, true, NULL_TREE,
  						 true, GSI_SAME_STMT);
diff -Nrcpad gcc-13-20250522/gcc/tree-ssa-dce.cc gcc-13-20250529/gcc/tree-ssa-dce.cc
*** gcc-13-20250522/gcc/tree-ssa-dce.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-ssa-dce.cc	Thu May 29 22:32:21 2025
*************** make_forwarders_with_degenerate_phis (fu
*** 1857,1868 ****
--- 1857,1878 ----
  		    }
  		  free_dominance_info (fn, CDI_DOMINATORS);
  		  basic_block forwarder = split_edge (args[start].first);
+ 		  bool irr = false;
  		  for (unsigned j = start + 1; j < i; ++j)
  		    {
  		      edge e = args[j].first;
+ 		      if (e->flags & EDGE_IRREDUCIBLE_LOOP)
+ 			irr = true;
  		      redirect_edge_and_branch_force (e, forwarder);
  		      redirect_edge_var_map_clear (e);
  		    }
+ 		  if (irr)
+ 		    {
+ 		      forwarder->flags |= BB_IRREDUCIBLE_LOOP;
+ 		      single_succ_edge (forwarder)->flags
+ 			|= EDGE_IRREDUCIBLE_LOOP;
+ 		    }
+ 
  		  if (vphi)
  		    {
  		      tree def = copy_ssa_name (vphi_args[0]);
diff -Nrcpad gcc-13-20250522/gcc/tree-ssa-tail-merge.cc gcc-13-20250529/gcc/tree-ssa-tail-merge.cc
*** gcc-13-20250522/gcc/tree-ssa-tail-merge.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-ssa-tail-merge.cc	Thu May 29 22:32:21 2025
*************** stmt_local_def (gimple *stmt)
*** 336,345 ****
--- 336,348 ----
  
    def_bb = gimple_bb (stmt);
  
+   bool any_use = false;
    FOR_EACH_IMM_USE_FAST (use_p, iter, val)
      {
        if (is_gimple_debug (USE_STMT (use_p)))
  	continue;
+ 
+       any_use = true;
        bb = gimple_bb (USE_STMT (use_p));
        if (bb == def_bb)
  	continue;
*************** stmt_local_def (gimple *stmt)
*** 351,356 ****
--- 354,364 ----
        return false;
      }
  
+   /* When there is no use avoid making the stmt live on other paths.
+      This can happen with DCE disabled or not done as seen in PR98845.  */
+   if (!any_use)
+     return false;
+ 
    return true;
  }
  
diff -Nrcpad gcc-13-20250522/gcc/tree-vect-loop.cc gcc-13-20250529/gcc/tree-vect-loop.cc
*** gcc-13-20250522/gcc/tree-vect-loop.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-vect-loop.cc	Thu May 29 22:32:21 2025
*************** needs_fold_left_reduction_p (tree type,
*** 3552,3558 ****
  static bool
  check_reduction_path (dump_user_location_t loc, loop_p loop, gphi *phi,
  		      tree loop_arg, code_helper *code,
! 		      vec<std::pair<ssa_op_iter, use_operand_p> > &path)
  {
    auto_bitmap visited;
    tree lookfor = PHI_RESULT (phi);
--- 3552,3559 ----
  static bool
  check_reduction_path (dump_user_location_t loc, loop_p loop, gphi *phi,
  		      tree loop_arg, code_helper *code,
! 		      vec<std::pair<ssa_op_iter, use_operand_p> > &path,
! 		      bool inner_loop_of_double_reduc)
  {
    auto_bitmap visited;
    tree lookfor = PHI_RESULT (phi);
*************** pop:
*** 3682,3688 ****
  	  break;
  	}
        /* Check there's only a single stmt the op is used on.  For the
! 	 not value-changing tail and the last stmt allow out-of-loop uses.
  	 ???  We could relax this and handle arbitrary live stmts by
  	 forcing a scalar epilogue for example.  */
        imm_use_iterator imm_iter;
--- 3683,3690 ----
  	  break;
  	}
        /* Check there's only a single stmt the op is used on.  For the
! 	 not value-changing tail and the last stmt allow out-of-loop uses,
! 	 but not when this is the inner loop of a double reduction.
  	 ???  We could relax this and handle arbitrary live stmts by
  	 forcing a scalar epilogue for example.  */
        imm_use_iterator imm_iter;
*************** pop:
*** 3691,3697 ****
        unsigned cnt = 0;
        FOR_EACH_IMM_USE_STMT (op_use_stmt, imm_iter, op.ops[opi])
  	if (!is_gimple_debug (op_use_stmt)
! 	    && (*code != ERROR_MARK
  		|| flow_bb_inside_loop_p (loop, gimple_bb (op_use_stmt))))
  	  FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
  	    cnt++;
--- 3693,3699 ----
        unsigned cnt = 0;
        FOR_EACH_IMM_USE_STMT (op_use_stmt, imm_iter, op.ops[opi])
  	if (!is_gimple_debug (op_use_stmt)
! 	    && ((*code != ERROR_MARK || inner_loop_of_double_reduc)
  		|| flow_bb_inside_loop_p (loop, gimple_bb (op_use_stmt))))
  	  FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
  	    cnt++;
*************** check_reduction_path (dump_user_location
*** 3710,3716 ****
  {
    auto_vec<std::pair<ssa_op_iter, use_operand_p> > path;
    code_helper code_;
!   return (check_reduction_path (loc, loop, phi, loop_arg, &code_, path)
  	  && code_ == code);
  }
  
--- 3712,3718 ----
  {
    auto_vec<std::pair<ssa_op_iter, use_operand_p> > path;
    code_helper code_;
!   return (check_reduction_path (loc, loop, phi, loop_arg, &code_, path, false)
  	  && code_ == code);
  }
  
*************** vect_is_simple_reduction (loop_vec_info
*** 3914,3920 ****
    auto_vec<std::pair<ssa_op_iter, use_operand_p> > path;
    code_helper code;
    if (check_reduction_path (vect_location, loop, phi, latch_def, &code,
! 			    path))
      {
        STMT_VINFO_REDUC_CODE (phi_info) = code;
        if (code == COND_EXPR && !nested_in_vect_loop)
--- 3916,3922 ----
    auto_vec<std::pair<ssa_op_iter, use_operand_p> > path;
    code_helper code;
    if (check_reduction_path (vect_location, loop, phi, latch_def, &code,
! 			    path, inner_loop_of_double_reduc))
      {
        STMT_VINFO_REDUC_CODE (phi_info) = code;
        if (code == COND_EXPR && !nested_in_vect_loop)
diff -Nrcpad gcc-13-20250522/gcc/tree-vect-stmts.cc gcc-13-20250529/gcc/tree-vect-stmts.cc
*** gcc-13-20250522/gcc/tree-vect-stmts.cc	Thu May 22 22:32:32 2025
--- gcc-13-20250529/gcc/tree-vect-stmts.cc	Thu May 29 22:32:21 2025
*************** get_load_store_type (vec_info  *vinfo, s
*** 2513,2518 ****
--- 2513,2519 ----
  	  else if (!TYPE_VECTOR_SUBPARTS (vectype).is_constant ()
  		   || !TYPE_VECTOR_SUBPARTS
  			 (gs_info->offset_vectype).is_constant ()
+ 		   || VECTOR_BOOLEAN_TYPE_P (gs_info->offset_vectype)
  		   || !constant_multiple_p (TYPE_VECTOR_SUBPARTS
  					      (gs_info->offset_vectype),
  					    TYPE_VECTOR_SUBPARTS (vectype)))
diff -Nrcpad gcc-13-20250522/libgcc/ChangeLog gcc-13-20250529/libgcc/ChangeLog
*** gcc-13-20250522/libgcc/ChangeLog	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/ChangeLog	Thu May 29 22:32:21 2025
***************
*** 1,3 ****
--- 1,14 ----
+ 2025-05-28  Mark Mentovai  <mark@mentovai.com>
+ 
+ 	Backported from master:
+ 	2024-09-24  Mark Mentovai  <mark@mentovai.com>
+ 
+ 	PR target/116809
+ 	* config.host: Build legacy libgcc_s.1 on hosts before macOS 10.12.
+ 	* config/i386/t-darwin: Remove reference to legacy libgcc_s.1
+ 	* config/rs6000/t-darwin: Likewise.
+ 	* config/t-darwin-libgccs1: New file.
+ 
  2025-04-23  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250522/libgcc/config/avr/libf7/ChangeLog gcc-13-20250529/libgcc/config/avr/libf7/ChangeLog
*** gcc-13-20250522/libgcc/config/avr/libf7/ChangeLog	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/config/avr/libf7/ChangeLog	Thu May 29 22:32:21 2025
***************
*** 1,3 ****
--- 1,11 ----
+ 2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/120441
+ 	* libf7.c (f7_exp): Limit aa->expo to 10 (not to 9).
+ 
  2024-06-01  Georg-Johann Lay  <avr@gjlay.de>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250522/libgcc/config/avr/libf7/libf7.c gcc-13-20250529/libgcc/config/avr/libf7/libf7.c
*** gcc-13-20250522/libgcc/config/avr/libf7/libf7.c	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/config/avr/libf7/libf7.c	Thu May 29 22:32:21 2025
*************** void f7_exp (f7_t *cc, const f7_t *aa)
*** 1636,1645 ****
      return f7_set_nan (cc);
  
    /* The maximal exponent of 2 for a double is 1023, hence we may limit
!      to  |A| < 1023 * ln2 ~ 709.  We limit to  1024 ~ 1.99 * 2^9  */
  
    if (f7_class_inf (a_class)
!       || (f7_class_nonzero (a_class) && aa->expo >= 9))
      {
        if (f7_class_sign (a_class))
  	return f7_clr (cc);
--- 1636,1645 ----
      return f7_set_nan (cc);
  
    /* The maximal exponent of 2 for a double is 1023, hence we may limit
!      to  |A| < 1023 * ln2 ~ 709.  We limit to  1024 = 2^10  */
  
    if (f7_class_inf (a_class)
!       || (f7_class_nonzero (a_class) && aa->expo >= 10))
      {
        if (f7_class_sign (a_class))
  	return f7_clr (cc);
diff -Nrcpad gcc-13-20250522/libgcc/config/i386/t-darwin gcc-13-20250529/libgcc/config/i386/t-darwin
*** gcc-13-20250522/libgcc/config/i386/t-darwin	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/config/i386/t-darwin	Thu May 29 22:32:21 2025
*************** LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi
*** 4,9 ****
  
  # Extra symbols for this port.
  SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-darwin.ver
- 
- # Build a legacy libgcc_s.1
- BUILD_LIBGCCS1 = YES
--- 4,6 ----
diff -Nrcpad gcc-13-20250522/libgcc/config/rs6000/t-darwin gcc-13-20250529/libgcc/config/rs6000/t-darwin
*** gcc-13-20250522/libgcc/config/rs6000/t-darwin	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/config/rs6000/t-darwin	Thu May 29 22:32:21 2025
*************** unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -
*** 56,61 ****
  unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec
  
  LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
- 
- # Build a legacy libgcc_s.1
- BUILD_LIBGCCS1 = YES
--- 56,58 ----
diff -Nrcpad gcc-13-20250522/libgcc/config/t-darwin-libgccs1 gcc-13-20250529/libgcc/config/t-darwin-libgccs1
*** gcc-13-20250522/libgcc/config/t-darwin-libgccs1	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/libgcc/config/t-darwin-libgccs1	Thu May 29 22:32:21 2025
***************
*** 0 ****
--- 1,3 ----
+ 
+ # Build a legacy libgcc_s.1
+ BUILD_LIBGCCS1 = YES
diff -Nrcpad gcc-13-20250522/libgcc/config.host gcc-13-20250529/libgcc/config.host
*** gcc-13-20250522/libgcc/config.host	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgcc/config.host	Thu May 29 22:32:21 2025
*************** case ${host} in
*** 238,253 ****
      *-*-darwin1[89]* | *-*-darwin2* )
        tmake_file="t-darwin-min-8 $tmake_file"
        ;;
!     *-*-darwin9* | *-*-darwin1[0-7]*)
        tmake_file="t-darwin-min-5 $tmake_file"
        ;;
      *-*-darwin[4-8]*)
!       tmake_file="t-darwin-min-1 $tmake_file"
        ;;
      *)
        # Fall back to configuring for the oldest system known to work with
        # all archs and the current sources.
!       tmake_file="t-darwin-min-5 $tmake_file"
        echo "Warning: libgcc configured to support macOS 10.5" 1>&2
        ;;
    esac
--- 238,256 ----
      *-*-darwin1[89]* | *-*-darwin2* )
        tmake_file="t-darwin-min-8 $tmake_file"
        ;;
!     *-*-darwin1[67]]*)
        tmake_file="t-darwin-min-5 $tmake_file"
        ;;
+     *-*-darwin9* | *-*-darwin1[0-5]*)
+       tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
+       ;;
      *-*-darwin[4-8]*)
!       tmake_file="t-darwin-min-1 t-darwin-libgccs1 $tmake_file"
        ;;
      *)
        # Fall back to configuring for the oldest system known to work with
        # all archs and the current sources.
!       tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
        echo "Warning: libgcc configured to support macOS 10.5" 1>&2
        ;;
    esac
diff -Nrcpad gcc-13-20250522/libgfortran/ChangeLog gcc-13-20250529/libgfortran/ChangeLog
*** gcc-13-20250522/libgfortran/ChangeLog	Thu May 22 22:32:32 2025
--- gcc-13-20250529/libgfortran/ChangeLog	Thu May 29 22:32:21 2025
***************
*** 1,3 ****
--- 1,57 ----
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120196
+ 	* m4/ifindloc2.m4 (header1, header2): For back use i > 0 rather than
+ 	i >= 0 as for condition.
+ 	* generated/findloc2_s1.c: Regenerate.
+ 	* generated/findloc2_s4.c: Regenerate.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/120191
+ 	* m4/ifunction-s.m4 (SCALAR_ARRAY_FUNCTION): Don't multiply
+ 	GFC_DESCRIPTOR_EXTENT(array,) by string_len.
+ 	* generated/maxloc1_4_s1.c: Regenerate.
+ 	* generated/maxloc1_4_s4.c: Regenerate.
+ 	* generated/maxloc1_8_s1.c: Regenerate.
+ 	* generated/maxloc1_8_s4.c: Regenerate.
+ 	* generated/maxloc1_16_s1.c: Regenerate.
+ 	* generated/maxloc1_16_s4.c: Regenerate.
+ 	* generated/minloc1_4_s1.c: Regenerate.
+ 	* generated/minloc1_4_s4.c: Regenerate.
+ 	* generated/minloc1_8_s1.c: Regenerate.
+ 	* generated/minloc1_8_s4.c: Regenerate.
+ 	* generated/minloc1_16_s1.c: Regenerate.
+ 	* generated/minloc1_16_s4.c: Regenerate.
+ 
+ 2025-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/120191
+ 	* m4/maxloc2s.m4: For smaxloc2 call maxloc2 if mask is NULL or *mask.
+ 	Swap back and len arguments.
+ 	* m4/minloc2s.m4: Likewise.
+ 	* generated/maxloc2_4_s1.c: Regenerate.
+ 	* generated/maxloc2_4_s4.c: Regenerate.
+ 	* generated/maxloc2_8_s1.c: Regenerate.
+ 	* generated/maxloc2_8_s4.c: Regenerate.
+ 	* generated/maxloc2_16_s1.c: Regenerate.
+ 	* generated/maxloc2_16_s4.c: Regenerate.
+ 	* generated/minloc2_4_s1.c: Regenerate.
+ 	* generated/minloc2_4_s4.c: Regenerate.
+ 	* generated/minloc2_8_s1.c: Regenerate.
+ 	* generated/minloc2_8_s4.c: Regenerate.
+ 	* generated/minloc2_16_s1.c: Regenerate.
+ 	* generated/minloc2_16_s4.c: Regenerate.
+ 
  2024-05-21  Release Manager
  
  	* GCC 13.3.0 released.
diff -Nrcpad gcc-13-20250522/libgfortran/generated/findloc2_s1.c gcc-13-20250529/libgfortran/generated/findloc2_s1.c
*** gcc-13-20250522/libgfortran/generated/findloc2_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/findloc2_s1.c	Thu May 29 22:32:21 2025
*************** findloc2_s1 (gfc_array_s1 * const restri
*** 49,55 ****
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if (compare_string (len_array, (char *) src, len_value, (char *) value) == 0)
  	    return i;
--- 49,55 ----
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if (compare_string (len_array, (char *) src, len_value, (char *) value) == 0)
  	    return i;
*************** mfindloc2_s1 (gfc_array_s1 * const restr
*** 112,118 ****
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if (*mbase && (compare_string (len_array, (char *) src, len_value, (char *) value) == 0))
  	    return i;
--- 112,118 ----
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if (*mbase && (compare_string (len_array, (char *) src, len_value, (char *) value) == 0))
  	    return i;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/findloc2_s4.c gcc-13-20250529/libgfortran/generated/findloc2_s4.c
*** gcc-13-20250522/libgfortran/generated/findloc2_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/findloc2_s4.c	Thu May 29 22:32:21 2025
*************** findloc2_s4 (gfc_array_s4 * const restri
*** 49,55 ****
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if (compare_string_char4 (len_array, src, len_value, value) == 0)
  	    return i;
--- 49,55 ----
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if (compare_string_char4 (len_array, src, len_value, value) == 0)
  	    return i;
*************** mfindloc2_s4 (gfc_array_s4 * const restr
*** 112,118 ****
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if (*mbase && (compare_string_char4 (len_array, src, len_value, value) == 0))
  	    return i;
--- 112,118 ----
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if (*mbase && (compare_string_char4 (len_array, src, len_value, value) == 0))
  	    return i;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_16_s1.c gcc-13-20250529/libgfortran/generated/maxloc1_16_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_16_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_16_s1.c	Thu May 29 22:32:21 2025
*************** smaxloc1_16_s1 (gfc_array_i16 * const re
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_16_s1 (gfc_array_i16 * const re
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_16_s4.c gcc-13-20250529/libgfortran/generated/maxloc1_16_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_16_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_16_s4.c	Thu May 29 22:32:21 2025
*************** smaxloc1_16_s4 (gfc_array_i16 * const re
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_16_s4 (gfc_array_i16 * const re
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_4_s1.c gcc-13-20250529/libgfortran/generated/maxloc1_4_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_4_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_4_s1.c	Thu May 29 22:32:21 2025
*************** smaxloc1_4_s1 (gfc_array_i4 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_4_s1 (gfc_array_i4 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_4_s4.c gcc-13-20250529/libgfortran/generated/maxloc1_4_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_4_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_4_s4.c	Thu May 29 22:32:21 2025
*************** smaxloc1_4_s4 (gfc_array_i4 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_4_s4 (gfc_array_i4 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_8_s1.c gcc-13-20250529/libgfortran/generated/maxloc1_8_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_8_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_8_s1.c	Thu May 29 22:32:21 2025
*************** smaxloc1_8_s1 (gfc_array_i8 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_8_s1 (gfc_array_i8 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc1_8_s4.c gcc-13-20250529/libgfortran/generated/maxloc1_8_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc1_8_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc1_8_s4.c	Thu May 29 22:32:21 2025
*************** smaxloc1_8_s4 (gfc_array_i8 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** smaxloc1_8_s4 (gfc_array_i8 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_16_s1.c gcc-13-20250529/libgfortran/generated/maxloc2_16_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_16_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_16_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_16
*** 152,159 ****
  smaxloc2_16_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_16_s1 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_16_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_16_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_16_s4.c gcc-13-20250529/libgfortran/generated/maxloc2_16_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_16_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_16_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_16
*** 152,159 ****
  smaxloc2_16_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_16_s4 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_16_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_16_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_4_s1.c gcc-13-20250529/libgfortran/generated/maxloc2_4_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_4_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_4_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_4
*** 152,159 ****
  smaxloc2_4_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_4_s1 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_4_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_4_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_4_s4.c gcc-13-20250529/libgfortran/generated/maxloc2_4_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_4_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_4_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_4
*** 152,159 ****
  smaxloc2_4_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_4_s4 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_4_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_4_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_8_s1.c gcc-13-20250529/libgfortran/generated/maxloc2_8_s1.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_8_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_8_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_8
*** 152,159 ****
  smaxloc2_8_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_8_s1 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_8_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_8_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/maxloc2_8_s4.c gcc-13-20250529/libgfortran/generated/maxloc2_8_s4.c
*** gcc-13-20250522/libgfortran/generated/maxloc2_8_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/maxloc2_8_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_8
*** 152,159 ****
  smaxloc2_8_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return maxloc2_8_s4 (array, len, back);
    else
      return 0;
  }
--- 152,159 ----
  smaxloc2_8_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return maxloc2_8_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_16_s1.c gcc-13-20250529/libgfortran/generated/minloc1_16_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc1_16_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_16_s1.c	Thu May 29 22:32:21 2025
*************** sminloc1_16_s1 (gfc_array_i16 * const re
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_16_s1 (gfc_array_i16 * const re
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_16_s4.c gcc-13-20250529/libgfortran/generated/minloc1_16_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc1_16_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_16_s4.c	Thu May 29 22:32:21 2025
*************** sminloc1_16_s4 (gfc_array_i16 * const re
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_16_s4 (gfc_array_i16 * const re
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_4_s1.c gcc-13-20250529/libgfortran/generated/minloc1_4_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc1_4_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_4_s1.c	Thu May 29 22:32:21 2025
*************** sminloc1_4_s1 (gfc_array_i4 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_4_s1 (gfc_array_i4 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_4_s4.c gcc-13-20250529/libgfortran/generated/minloc1_4_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc1_4_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_4_s4.c	Thu May 29 22:32:21 2025
*************** sminloc1_4_s4 (gfc_array_i4 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_4_s4 (gfc_array_i4 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_8_s1.c gcc-13-20250529/libgfortran/generated/minloc1_8_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc1_8_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_8_s1.c	Thu May 29 22:32:21 2025
*************** sminloc1_8_s1 (gfc_array_i8 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_8_s1 (gfc_array_i8 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc1_8_s4.c gcc-13-20250529/libgfortran/generated/minloc1_8_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc1_8_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc1_8_s4.c	Thu May 29 22:32:21 2025
*************** sminloc1_8_s4 (gfc_array_i8 * const rest
*** 468,474 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 468,474 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** sminloc1_8_s4 (gfc_array_i8 * const rest
*** 476,483 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 476,482 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_16_s1.c gcc-13-20250529/libgfortran/generated/minloc2_16_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc2_16_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_16_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_16
*** 154,161 ****
  sminloc2_16_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_16_s1 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_16_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_16_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_16_s4.c gcc-13-20250529/libgfortran/generated/minloc2_16_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc2_16_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_16_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_16
*** 154,161 ****
  sminloc2_16_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_16_s4 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_16_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_16_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_4_s1.c gcc-13-20250529/libgfortran/generated/minloc2_4_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc2_4_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_4_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_4
*** 154,161 ****
  sminloc2_4_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_4_s1 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_4_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_4_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_4_s4.c gcc-13-20250529/libgfortran/generated/minloc2_4_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc2_4_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_4_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_4
*** 154,161 ****
  sminloc2_4_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_4_s4 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_4_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_4_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_8_s1.c gcc-13-20250529/libgfortran/generated/minloc2_8_s1.c
*** gcc-13-20250522/libgfortran/generated/minloc2_8_s1.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_8_s1.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_8
*** 154,161 ****
  sminloc2_8_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_8_s1 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_8_s1 (gfc_array_s1 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_8_s1 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/generated/minloc2_8_s4.c gcc-13-20250529/libgfortran/generated/minloc2_8_s4.c
*** gcc-13-20250522/libgfortran/generated/minloc2_8_s4.c	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/generated/minloc2_8_s4.c	Thu May 29 22:32:21 2025
*************** GFC_INTEGER_8
*** 154,161 ****
  sminloc2_8_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask)
!     return minloc2_8_s4 (array, len, back);
    else
      return 0;
  }
--- 154,161 ----
  sminloc2_8_s4 (gfc_array_s4 * const restrict array,
  				 GFC_LOGICAL_4 *mask, GFC_LOGICAL_4 back, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return minloc2_8_s4 (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/m4/ifindloc2.m4 gcc-13-20250529/libgfortran/m4/ifindloc2.m4
*** gcc-13-20250522/libgfortran/m4/ifindloc2.m4	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/m4/ifindloc2.m4	Thu May 29 22:32:21 2025
*************** see the files COPYING3 and COPYING.RUNTI
*** 41,47 ****
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if ('comparison`'`)
  	    return i;
--- 41,47 ----
    if (back)
      {
        src = array->base_addr + (extent - 1) * sstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if ('comparison`'`)
  	    return i;
*************** see the files COPYING3 and COPYING.RUNTI
*** 94,100 ****
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i >= 0; i--)
  	{
  	  if (*mbase && ('comparison`'`))
  	    return i;
--- 94,100 ----
      {
        src = array->base_addr + (extent - 1) * sstride;
        mbase += (extent - 1) * mstride;
!       for (i = extent; i > 0; i--)
  	{
  	  if (*mbase && ('comparison`'`))
  	    return i;
diff -Nrcpad gcc-13-20250522/libgfortran/m4/ifunction-s.m4 gcc-13-20250529/libgfortran/m4/ifunction-s.m4
*** gcc-13-20250522/libgfortran/m4/ifunction-s.m4	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/m4/ifunction-s.m4	Thu May 29 22:32:21 2025
*************** s'name`'rtype_qual`_'atype_code` ('rtype
*** 432,438 ****
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 432,438 ----
  
    for (n = 0; n < dim; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
*************** s'name`'rtype_qual`_'atype_code` ('rtype
*** 440,447 ****
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] =
! 	GFC_DESCRIPTOR_EXTENT(array,n + 1) * string_len;
  
        if (extent[n] <= 0)
  	extent[n] = 0;
--- 440,446 ----
  
    for (n = dim; n < rank; n++)
      {
!       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
  
        if (extent[n] <= 0)
  	extent[n] = 0;
diff -Nrcpad gcc-13-20250522/libgfortran/m4/maxloc2s.m4 gcc-13-20250529/libgfortran/m4/maxloc2s.m4
*** gcc-13-20250522/libgfortran/m4/maxloc2s.m4	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/m4/maxloc2s.m4	Thu May 29 22:32:21 2025
*************** export_proto(s'name`'rtype_qual`_'atype_
*** 153,160 ****
  s'name`'rtype_qual`_'atype_code` ('atype` * const restrict array,
  				 GFC_LOGICAL_4 *mask'back_arg`, gfc_charlen_type len)
  {
!   if (mask)
!     return 'name`'rtype_qual`_'atype_code` (array, len, back);
    else
      return 0;
  }
--- 153,160 ----
  s'name`'rtype_qual`_'atype_code` ('atype` * const restrict array,
  				 GFC_LOGICAL_4 *mask'back_arg`, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return 'name`'rtype_qual`_'atype_code` (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libgfortran/m4/minloc2s.m4 gcc-13-20250529/libgfortran/m4/minloc2s.m4
*** gcc-13-20250522/libgfortran/m4/minloc2s.m4	Thu May 22 22:32:33 2025
--- gcc-13-20250529/libgfortran/m4/minloc2s.m4	Thu May 29 22:32:21 2025
*************** export_proto(s'name`'rtype_qual`_'atype_
*** 155,162 ****
  s'name`'rtype_qual`_'atype_code` ('atype` * const restrict array,
  				 GFC_LOGICAL_4 *mask'back_arg`, gfc_charlen_type len)
  {
!   if (mask)
!     return 'name`'rtype_qual`_'atype_code` (array, len, back);
    else
      return 0;
  }
--- 155,162 ----
  s'name`'rtype_qual`_'atype_code` ('atype` * const restrict array,
  				 GFC_LOGICAL_4 *mask'back_arg`, gfc_charlen_type len)
  {
!   if (mask == NULL || *mask)
!     return 'name`'rtype_qual`_'atype_code` (array, back, len);
    else
      return 0;
  }
diff -Nrcpad gcc-13-20250522/libstdc++-v3/ChangeLog gcc-13-20250529/libstdc++-v3/ChangeLog
*** gcc-13-20250522/libstdc++-v3/ChangeLog	Thu May 22 22:32:37 2025
--- gcc-13-20250529/libstdc++-v3/ChangeLog	Thu May 29 22:32:23 2025
***************
*** 1,3 ****
--- 1,95 ----
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/112490
+ 	* testsuite/24_iterators/const_iterator/112490.cc: Add
+ 	dg-options directive.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-10-29  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/112641
+ 	* include/std/ranges (drop_view::begin): Reimplement const
+ 	overload so that it's O(1) always.
+ 	* testsuite/std/ranges/adaptors/drop.cc (test10): New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-09  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/115046
+ 	PR libstdc++/112490
+ 	* include/bits/stl_iterator.h (basic_const_iterator::operator-):
+ 	Replace non-dependent basic_const_iterator function parameter with
+ 	a dependent one of type basic_const_iterator<_It2> where _It2
+ 	matches _It.
+ 	* testsuite/std/ranges/adaptors/as_const/1.cc (test04): New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-02-28  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/112490
+ 	* include/bits/stl_iterator.h (basic_const_iterator::operator<):
+ 	Replace non-dependent basic_const_iterator function parameter with
+ 	a dependent one of type basic_const_iterator<_It3> where _It3
+ 	matches _It.
+ 	(basic_const_iterator::operator>): Likewise.
+ 	(basic_const_iterator::operator<=): Likewise.
+ 	(basic_const_iterator::operator>=): Likewise.
+ 	* testsuite/24_iterators/const_iterator/112490.cc: New test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-03-13  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/119135
+ 	* include/std/ranges: Include <utility>.
+ 	(views::__detail::__is_ref_view): Replace with ...
+ 	(views::__detail::__is_constable_ref_view): ... this.
+ 	(views::_AsConst::operator()): Replace bogus use of element_type
+ 	in the ref_view branch.
+ 	* testsuite/std/ranges/adaptors/as_const/1.cc (test03): Extend
+ 	test.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-17  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	* include/std/ranges (views::_CartesianProduct::operator()):
+ 	Adjust identity case as per P2540R1.
+ 	* testsuite/std/ranges/cartesian_product/1.cc (test01):
+ 	Adjust expected result of the identity case.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-01-15  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	* include/bits/stl_iterator.h (const_iterator): Define conversion
+ 	operators as per P2836R1.
+ 	* include/std/ranges (__cpp_lib_ranges_as_const): Update value.
+ 	* include/std/version (__cpp_lib_ranges_as_const): Likewise.
+ 	* testsuite/24_iterators/const_iterator/1.cc (test04): New test.
+ 	* testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
+ 	value of __cpp_lib_ranges_as_const.
+ 	* testsuite/std/ranges/version_c++23.cc: Likewise.
+ 
+ 2025-05-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-10-05  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	* include/bits/ranges_base.h (__distance_fn::operator()):
+ 	Adjust iterator/sentinel overloads as per LWG 3664.
+ 	* testsuite/24_iterators/range_operations/distance.cc:
+ 	Test LWG 3664 example.
+ 
  2025-05-12  Jonathan Wakely  <jwakely@redhat.com>
  
  	* doc/xml/manual/status_cxx2023.xml: Update status of proposals
diff -Nrcpad gcc-13-20250522/libstdc++-v3/include/bits/ranges_base.h gcc-13-20250529/libstdc++-v3/include/bits/ranges_base.h
*** gcc-13-20250522/libstdc++-v3/include/bits/ranges_base.h	Thu May 22 22:32:37 2025
--- gcc-13-20250529/libstdc++-v3/include/bits/ranges_base.h	Thu May 29 22:32:24 2025
*************** namespace ranges
*** 939,945 ****
  
    struct __distance_fn final
    {
!     template<input_or_output_iterator _It, sentinel_for<_It> _Sent>
        requires (!sized_sentinel_for<_Sent, _It>)
        constexpr iter_difference_t<_It>
        operator()[[nodiscard]](_It __first, _Sent __last) const
--- 939,947 ----
  
    struct __distance_fn final
    {
!     // _GLIBCXX_RESOLVE_LIB_DEFECTS
!     // 3664. LWG 3392 broke std::ranges::distance(a, a+3)
!     template<typename _It, sentinel_for<_It> _Sent>
        requires (!sized_sentinel_for<_Sent, _It>)
        constexpr iter_difference_t<_It>
        operator()[[nodiscard]](_It __first, _Sent __last) const
*************** namespace ranges
*** 953,965 ****
  	return __n;
        }
  
!     template<input_or_output_iterator _It, sized_sentinel_for<_It> _Sent>
        [[nodiscard]]
!       constexpr iter_difference_t<_It>
!       operator()(const _It& __first, const _Sent& __last) const
!       {
! 	return __last - __first;
!       }
  
      template<range _Range>
        [[nodiscard]]
--- 955,965 ----
  	return __n;
        }
  
!     template<typename _It, sized_sentinel_for<decay_t<_It>> _Sent>
        [[nodiscard]]
!       constexpr iter_difference_t<decay_t<_It>>
!       operator()(_It&& __first, _Sent __last) const
!       { return __last - static_cast<const decay_t<_It>&>(__first); }
  
      template<range _Range>
        [[nodiscard]]
diff -Nrcpad gcc-13-20250522/libstdc++-v3/include/bits/stl_iterator.h gcc-13-20250529/libstdc++-v3/include/bits/stl_iterator.h
*** gcc-13-20250522/libstdc++-v3/include/bits/stl_iterator.h	Thu May 22 22:32:37 2025
--- gcc-13-20250529/libstdc++-v3/include/bits/stl_iterator.h	Thu May 29 22:32:24 2025
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2798,2803 ****
--- 2798,2815 ----
        noexcept(noexcept(_M_current == __s))
        { return _M_current == __s; }
  
+     template<__detail::__not_a_const_iterator _CIt>
+       requires __detail::__constant_iterator<_CIt> && convertible_to<_It, _CIt>
+     constexpr
+     operator _CIt() const&
+     { return _M_current; }
+ 
+     template<__detail::__not_a_const_iterator _CIt>
+       requires __detail::__constant_iterator<_CIt> && convertible_to<_It, _CIt>
+     constexpr
+     operator _CIt() &&
+     { return std::move(_M_current); }
+ 
      constexpr bool
      operator<(const basic_const_iterator& __y) const
      noexcept(noexcept(_M_current < __y._M_current))
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2864,2893 ****
  	&& three_way_comparable_with<_It, _It2>
        { return _M_current <=> __y; }
  
!     template<__detail::__not_a_const_iterator _It2>
        friend constexpr bool
!       operator<(const _It2& __x, const basic_const_iterator& __y)
        noexcept(noexcept(__x < __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x < __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2>
        friend constexpr bool
!       operator>(const _It2& __x, const basic_const_iterator& __y)
        noexcept(noexcept(__x > __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x > __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2>
        friend constexpr bool
!       operator<=(const _It2& __x, const basic_const_iterator& __y)
        noexcept(noexcept(__x <= __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x <= __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2>
        friend constexpr bool
!       operator>=(const _It2& __x, const basic_const_iterator& __y)
        noexcept(noexcept(__x >= __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x >= __y._M_current; }
--- 2876,2905 ----
  	&& three_way_comparable_with<_It, _It2>
        { return _M_current <=> __y; }
  
!     template<__detail::__not_a_const_iterator _It2, same_as<_It> _It3>
        friend constexpr bool
!       operator<(const _It2& __x, const basic_const_iterator<_It3>& __y)
        noexcept(noexcept(__x < __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x < __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2, same_as<_It> _It3>
        friend constexpr bool
!       operator>(const _It2& __x, const basic_const_iterator<_It3>& __y)
        noexcept(noexcept(__x > __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x > __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2, same_as<_It> _It3>
        friend constexpr bool
!       operator<=(const _It2& __x, const basic_const_iterator<_It3>& __y)
        noexcept(noexcept(__x <= __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x <= __y._M_current; }
  
!     template<__detail::__not_a_const_iterator _It2, same_as<_It> _It3>
        friend constexpr bool
!       operator>=(const _It2& __x, const basic_const_iterator<_It3>& __y)
        noexcept(noexcept(__x >= __y._M_current))
        requires random_access_iterator<_It> && totally_ordered_with<_It, _It2>
        { return __x >= __y._M_current; }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2916,2925 ****
        noexcept(noexcept(_M_current - __y))
        { return _M_current - __y; }
  
!     template<__detail::__not_a_const_iterator _Sent>
        requires sized_sentinel_for<_Sent, _It>
        friend constexpr difference_type
!       operator-(const _Sent& __x, const basic_const_iterator& __y)
        noexcept(noexcept(__x - __y._M_current))
        { return __x - __y._M_current; }
  
--- 2928,2937 ----
        noexcept(noexcept(_M_current - __y))
        { return _M_current - __y; }
  
!     template<__detail::__not_a_const_iterator _Sent, same_as<_It> _It2>
        requires sized_sentinel_for<_Sent, _It>
        friend constexpr difference_type
!       operator-(const _Sent& __x, const basic_const_iterator<_It2>& __y)
        noexcept(noexcept(__x - __y._M_current))
        { return __x - __y._M_current; }
  
diff -Nrcpad gcc-13-20250522/libstdc++-v3/include/std/ranges gcc-13-20250529/libstdc++-v3/include/std/ranges
*** gcc-13-20250522/libstdc++-v3/include/std/ranges	Thu May 22 22:32:38 2025
--- gcc-13-20250529/libstdc++-v3/include/std/ranges	Thu May 29 22:32:24 2025
***************
*** 46,51 ****
--- 46,52 ----
  #include <string_view>
  #include <tuple>
  #if __cplusplus > 202002L
+ #include <utility>
  #include <variant>
  #endif
  #include <bits/ranges_util.h>
*************** namespace views::__adaptor
*** 2529,2536 ****
        begin() const
  	requires random_access_range<const _Vp> && sized_range<const _Vp>
        {
! 	return ranges::next(ranges::begin(_M_base), _M_count,
! 			    ranges::end(_M_base));
        }
  
        constexpr auto
--- 2530,2537 ----
        begin() const
  	requires random_access_range<const _Vp> && sized_range<const _Vp>
        {
! 	return ranges::begin(_M_base) + ranges::min(ranges::distance(_M_base),
! 						    _M_count);
        }
  
        constexpr auto
*************** namespace views::__adaptor
*** 8549,8555 ****
  	operator() [[nodiscard]] (_Ts&&... __ts) const
  	{
  	  if constexpr (sizeof...(_Ts) == 0)
! 	    return views::empty<tuple<>>;
  	  else
  	    return cartesian_product_view<all_t<_Ts>...>(std::forward<_Ts>(__ts)...);
  	}
--- 8550,8556 ----
  	operator() [[nodiscard]] (_Ts&&... __ts) const
  	{
  	  if constexpr (sizeof...(_Ts) == 0)
! 	    return views::single(tuple{});
  	  else
  	    return cartesian_product_view<all_t<_Ts>...>(std::forward<_Ts>(__ts)...);
  	}
*************** namespace views::__adaptor
*** 8953,8959 ****
      inline constexpr _Enumerate enumerate;
    }
  
! #define __cpp_lib_ranges_as_const 202207L
  
    template<view _Vp>
      requires input_range<_Vp>
--- 8954,8960 ----
      inline constexpr _Enumerate enumerate;
    }
  
! #define __cpp_lib_ranges_as_const 202311L
  
    template<view _Vp>
      requires input_range<_Vp>
*************** namespace views::__adaptor
*** 9018,9027 ****
      namespace __detail
      {
        template<typename _Tp>
! 	inline constexpr bool __is_ref_view = false;
  
        template<typename _Range>
! 	inline constexpr bool __is_ref_view<ref_view<_Range>> = true;
  
        template<typename _Range>
  	concept __can_as_const_view = requires { as_const_view(std::declval<_Range>()); };
--- 9019,9029 ----
      namespace __detail
      {
        template<typename _Tp>
! 	inline constexpr bool __is_constable_ref_view = false;
  
        template<typename _Range>
! 	inline constexpr bool __is_constable_ref_view<ref_view<_Range>>
! 	  = constant_range<const _Range>;
  
        template<typename _Range>
  	concept __can_as_const_view = requires { as_const_view(std::declval<_Range>()); };
*************** namespace views::__adaptor
*** 9043,9052 ****
  	  return views::empty<const element_type>;
  	else if constexpr (std::__detail::__is_span<_Tp>)
  	  return span<const element_type, _Tp::extent>(std::forward<_Range>(__r));
! 	else if constexpr (__detail::__is_ref_view<_Tp>
! 			   && constant_range<const element_type>)
! 	  return ref_view(static_cast<const element_type&>
! 			  (std::forward<_Range>(__r).base()));
  	else if constexpr (is_lvalue_reference_v<_Range>
  			   && constant_range<const _Tp>
  			   && !view<_Tp>)
--- 9045,9052 ----
  	  return views::empty<const element_type>;
  	else if constexpr (std::__detail::__is_span<_Tp>)
  	  return span<const element_type, _Tp::extent>(std::forward<_Range>(__r));
! 	else if constexpr (__detail::__is_constable_ref_view<_Tp>)
! 	  return ref_view(std::as_const(std::forward<_Range>(__r).base()));
  	else if constexpr (is_lvalue_reference_v<_Range>
  			   && constant_range<const _Tp>
  			   && !view<_Tp>)
diff -Nrcpad gcc-13-20250522/libstdc++-v3/include/std/version gcc-13-20250529/libstdc++-v3/include/std/version
*** gcc-13-20250522/libstdc++-v3/include/std/version	Thu May 22 22:32:38 2025
--- gcc-13-20250529/libstdc++-v3/include/std/version	Thu May 29 22:32:24 2025
***************
*** 341,347 ****
  #define __cpp_lib_ranges_stride 202207L
  #define __cpp_lib_ranges_cartesian_product 202207L
  #define __cpp_lib_ranges_as_rvalue 202207L
! #define __cpp_lib_ranges_as_const 202207L
  #define __cpp_lib_ranges_enumerate 202302L
  #define __cpp_lib_ranges_contains 202207L
  #define __cpp_lib_ranges_iota 202202L
--- 341,347 ----
  #define __cpp_lib_ranges_stride 202207L
  #define __cpp_lib_ranges_cartesian_product 202207L
  #define __cpp_lib_ranges_as_rvalue 202207L
! #define __cpp_lib_ranges_as_const 202311L
  #define __cpp_lib_ranges_enumerate 202302L
  #define __cpp_lib_ranges_contains 202207L
  #define __cpp_lib_ranges_iota 202202L
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc	Thu May 22 22:32:40 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/const_iterator/1.cc	Thu May 29 22:32:42 2025
***************
*** 2,7 ****
--- 2,8 ----
  // { dg-do run { target c++23 } }
  
  #include <iterator>
+ #include <ranges>
  #include <array>
  #include <concepts>
  #include <string_view>
*************** test03()
*** 98,103 ****
--- 99,124 ----
  			     std::unreachable_sentinel_t> );
  }
  
+ void
+ test04()
+ {
+   // Example from P2836R1
+   auto f = [](std::vector<int>::const_iterator i) {};
+ 
+   auto v = std::vector<int>();
+   {
+     auto i1 = ranges::cbegin(v); // returns vector<T>::const_iterator
+     f(i1); // okay
+   }
+ 
+   auto t = v | std::views::take_while([](int const x) { return x < 100; });
+   {
+     auto i2 = ranges::cbegin(t); // returns basic_const_iterator<vector<T>::iterator>
+     f(i2); // was an error in C++23 before P2836R1
+     f(std::move(i2)); // same
+   }
+ }
+ 
  int
  main()
  {
*************** main()
*** 137,140 ****
--- 158,162 ----
    test02<const std::vector<bool>, true>();
  
    test03();
+   test04();
  }
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/const_iterator/112490.cc gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/const_iterator/112490.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/const_iterator/112490.cc	Thu Jan  1 00:00:00 1970
--- gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/const_iterator/112490.cc	Thu May 29 22:32:42 2025
***************
*** 0 ****
--- 1,13 ----
+ // { dg-options "-std=gnu++23" }
+ // { dg-do compile { target c++23 } }
+ 
+ // PR libstdc++/112490 - infinite meta error in
+ // reverse_iterator<basic_const_iterator<vector<int>::iterator>>
+ 
+ #include <iterator>
+ #include <vector>
+ 
+ using I = std::vector<int>::iterator;
+ using CI = std::basic_const_iterator<I>;
+ using RCI = std::reverse_iterator<CI>;
+ static_assert(std::totally_ordered<RCI>);
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc	Thu May 22 22:32:40 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/24_iterators/range_operations/distance.cc	Thu May 29 22:32:42 2025
*************** test05()
*** 145,150 ****
--- 145,160 ----
    VERIFY( std::ranges::distance(c4) == 5 );
  }
  
+ void
+ test06()
+ {
+   // LWG 3664 - LWG 3392 broke std::ranges::distance(a, a+3)
+   int a[] = {1, 2, 3};
+   VERIFY( std::ranges::distance(a, a+3) == 3 );
+   VERIFY( std::ranges::distance(a, a) == 0 );
+   VERIFY( std::ranges::distance(a+3, a) == -3 );
+ }
+ 
  int
  main()
  {
*************** main()
*** 153,156 ****
--- 163,167 ----
    test03();
    test04();
    test05();
+   test06();
  }
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc	Thu May 22 22:32:41 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc	Thu May 29 22:32:43 2025
***************
*** 9,15 ****
  #include <testsuite_hooks.h>
  #include <testsuite_iterators.h>
  
! #if __cpp_lib_ranges_as_const != 202207L
  # error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <ranges>"
  #endif
  
--- 9,15 ----
  #include <testsuite_hooks.h>
  #include <testsuite_iterators.h>
  
! #if __cpp_lib_ranges_as_const != 202311L
  # error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <ranges>"
  #endif
  
*************** test03()
*** 62,67 ****
--- 62,83 ----
    std::vector<int> v;
    std::same_as<ranges::ref_view<const std::vector<int>>>
      auto r = views::as_const(v);
+ 
+   // PR libstdc++/119135
+   std::same_as<ranges::ref_view<const std::vector<int>>>
+     auto r2 = views::as_const(views::all(v));
+ }
+ 
+ void
+ test04()
+ {
+   // PR libstdc++/115046 - meta-recursion with join_view and as_const_view
+   int x[3] = {1,2,3};
+   auto v = x
+     | views::chunk(3)
+     | views::transform(views::as_const)
+     | views::join;
+   VERIFY( ranges::equal(v, x) );
  }
  
  int
*************** main()
*** 70,73 ****
--- 86,90 ----
    static_assert(test01());
    static_assert(test02());
    test03();
+   test04();
  }
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc	Thu May 22 22:32:41 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/adaptors/drop.cc	Thu May 29 22:32:43 2025
*************** test09()
*** 275,280 ****
--- 275,291 ----
    static_assert(!requires { views::all | drop; });
  }
  
+ constexpr bool
+ test10()
+ {
+   // PR libstdc++/112641 - drop_view::begin const may have O(n) complexity
+   const auto s = ranges::subrange(views::iota(size_t(1)), size_t(-1));
+   const auto r = ranges::drop_view(s, s.size() - 1);
+   const auto b = r.begin(); // time out
+   VERIFY( *b == size_t(-1) );
+   return true;
+ }
+ 
  int
  main()
  {
*************** main()
*** 287,290 ****
--- 298,302 ----
    test07();
    test08();
    test09();
+   static_assert(test10());
  }
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc	Thu May 22 22:32:41 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc	Thu May 29 22:32:43 2025
*************** test01()
*** 23,31 ****
    int w[] = {9};
  
    auto v0 = views::cartesian_product();
!   VERIFY( ranges::end(v0) - ranges::begin(v0) == 0 );
!   VERIFY( ranges::size(v0) == 0 );
!   VERIFY( ranges::empty(v0) );
  
    auto v1 = views::cartesian_product(x);
    VERIFY( ranges::end(v1) - ranges::begin(v1) == 3 );
--- 23,31 ----
    int w[] = {9};
  
    auto v0 = views::cartesian_product();
!   VERIFY( ranges::end(v0) - ranges::begin(v0) == 1 );
!   VERIFY( ranges::size(v0) == 1 );
!   VERIFY( !ranges::empty(v0) );
  
    auto v1 = views::cartesian_product(x);
    VERIFY( ranges::end(v1) - ranges::begin(v1) == 3 );
diff -Nrcpad gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/version_c++23.cc gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/version_c++23.cc
*** gcc-13-20250522/libstdc++-v3/testsuite/std/ranges/version_c++23.cc	Thu May 22 22:32:41 2025
--- gcc-13-20250529/libstdc++-v3/testsuite/std/ranges/version_c++23.cc	Thu May 29 22:32:43 2025
***************
*** 45,51 ****
  # error "Feature-test macro __cpp_lib_ranges_as_rvalue has wrong value in <version>"
  #endif
  
! #if __cpp_lib_ranges_as_const != 202207L
  # error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <version>"
  #endif
  
--- 45,51 ----
  # error "Feature-test macro __cpp_lib_ranges_as_rvalue has wrong value in <version>"
  #endif
  
! #if __cpp_lib_ranges_as_const != 202311L
  # error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <version>"
  #endif
  
