diff -Nrcpad gcc-15-20250503/LAST_UPDATED gcc-15-20250510/LAST_UPDATED
*** gcc-15-20250503/LAST_UPDATED	Sat May  3 22:33:32 2025
--- gcc-15-20250510/LAST_UPDATED	Sat May 10 22:33:41 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 768c8aed07aba2f240b92a7ee05be502cb5681b0
--- 1 ----
! Obtained from git: releases/gcc-15 revision 1c1847fe4eb1d1e25d33d4a7b4cf15eec7b9ee63
diff -Nrcpad gcc-15-20250503/MD5SUMS gcc-15-20250510/MD5SUMS
*** gcc-15-20250503/MD5SUMS	Sat May  3 22:33:36 2025
--- gcc-15-20250510/MD5SUMS	Sat May 10 22:33:45 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250503.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250510.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 4427f365b06054373eadff2924498fa8  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 4230cc0bd7085e1266cf2fe233b558ae  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 2867230e7d6a1ac30cdec2a55eff9f2f  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 9c24541774b325681d9ddb3ba7ea150a  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! c8945a2bd13a8c60067347390ed30069  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 1fc92bc2129a6afdce2ec97623c40cdc  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! acd737d1689689469db4845033e49149  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 3a543317f91012061302fa96ff708b03  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** fce186389d317dec9c580f569a2a845a  gcc/ad
*** 772,778 ****
  c6728830f0888dc3385e474b5925c01f  gcc/ada/exp_ch13.ads
  d037443d1b61c02110e124f3c701b449  gcc/ada/exp_ch2.adb
  476e299ea88b583859604d0071046143  gcc/ada/exp_ch2.ads
! 215be17804e2918cd4dd26b52b99ea4b  gcc/ada/exp_ch3.adb
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  e913cd881168d89aedbd0f61a506d772  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
--- 772,778 ----
  c6728830f0888dc3385e474b5925c01f  gcc/ada/exp_ch13.ads
  d037443d1b61c02110e124f3c701b449  gcc/ada/exp_ch2.adb
  476e299ea88b583859604d0071046143  gcc/ada/exp_ch2.ads
! 9ced630b747b44cf02c7a2d826a40aba  gcc/ada/exp_ch3.adb
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  e913cd881168d89aedbd0f61a506d772  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
*************** f808dbcc1ad6add5a0867c4b3e03fc4d  gcc/bu
*** 3204,3210 ****
  f82fc6b76f1820b69c268916c7fe1bf6  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! 7670ae59c27187e82e152ff0115579d5  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
--- 3204,3210 ----
  f82fc6b76f1820b69c268916c7fe1bf6  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! 1a46f5e3744a07c459fb717de55e1ca7  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
*************** a4b7179d2e948bb7586a9143fbe05593  gcc/c-
*** 3222,3228 ****
  0fcfbb571d07d894c451986f55d04a9b  gcc/c-family/c-lex.cc
  c880dc584a0fd4908e5df33dd81137b8  gcc/c-family/c-objc.h
  3609801f0f05c77393ed160a1b16d1c8  gcc/c-family/c-omp.cc
! aad839860b28645647c087a4db7b89cb  gcc/c-family/c-opts.cc
  2f1a14531d3a436ca9f4aad2812c3898  gcc/c-family/c-pch.cc
  6e53d008a0c4738339154c353a50ff0a  gcc/c-family/c-ppoutput.cc
  c3373b06f8b0f699244a639f7e84c41e  gcc/c-family/c-pragma.cc
--- 3222,3228 ----
  0fcfbb571d07d894c451986f55d04a9b  gcc/c-family/c-lex.cc
  c880dc584a0fd4908e5df33dd81137b8  gcc/c-family/c-objc.h
  3609801f0f05c77393ed160a1b16d1c8  gcc/c-family/c-omp.cc
! 55d0f9c58596bd3940bddd2a691af2ad  gcc/c-family/c-opts.cc
  2f1a14531d3a436ca9f4aad2812c3898  gcc/c-family/c-pch.cc
  6e53d008a0c4738339154c353a50ff0a  gcc/c-family/c-ppoutput.cc
  c3373b06f8b0f699244a639f7e84c41e  gcc/c-family/c-pragma.cc
*************** c97195f1544d9bfc539271f27e7a26b4  gcc/cf
*** 3295,3301 ****
  5fbe8c411c043738d25dc09283d762fa  gcc/cgraph.cc
  4d4d851814118549a9483bb3ad7ebdd7  gcc/cgraph.h
  5fa2e94f261a8a6fc0d80b1c4b227d25  gcc/cgraphbuild.cc
! b9bb70fa06239e8019ed7725a212ecc2  gcc/cgraphclones.cc
  3be8ee84d005d8a1f5a65ed6a7fce76a  gcc/cgraphunit.cc
  70fa61377ff65ad3f25778a40159f510  gcc/cif-code.def
  ffabb89b93cc37785f3aa81ac6580151  gcc/cobol/ChangeLog
--- 3295,3301 ----
  5fbe8c411c043738d25dc09283d762fa  gcc/cgraph.cc
  4d4d851814118549a9483bb3ad7ebdd7  gcc/cgraph.h
  5fa2e94f261a8a6fc0d80b1c4b227d25  gcc/cgraphbuild.cc
! 3e03efd049032e0a084e2f8eca6c270c  gcc/cgraphclones.cc
  3be8ee84d005d8a1f5a65ed6a7fce76a  gcc/cgraphunit.cc
  70fa61377ff65ad3f25778a40159f510  gcc/cif-code.def
  ffabb89b93cc37785f3aa81ac6580151  gcc/cobol/ChangeLog
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5496,5502 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 5dfcb88f9eeff1e56f7fc9c0714c356f  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5496,5502 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! cddec934569062b2d2d1ec7af5310fd5  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp
*** 5535,5541 ****
  f8d105353c88fb102e9216372bc4b70c  gcc/cp/call.cc
  fce8de27014c109814b3f69be6a5d4f6  gcc/cp/cfns.gperf
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
! cec7345d7171e235b7f27a238de4fa64  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
  31bd06a945e18703b7cc48d3b5609d68  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
--- 5535,5541 ----
  f8d105353c88fb102e9216372bc4b70c  gcc/cp/call.cc
  fce8de27014c109814b3f69be6a5d4f6  gcc/cp/cfns.gperf
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
! 2c38ad8854ef986bb8ebfa18a19b2624  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
  31bd06a945e18703b7cc48d3b5609d68  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
*************** a46a06074cd68181251e3541b4689021  gcc/cp
*** 5550,5556 ****
  7475950f94ad8c7218f451feb5e71424  gcc/cp/cp-objcp-common.h
  6a7554ee20d49ef2b66e0b7cc2a696a1  gcc/cp/cp-trait.def
  ce9f2ccac9e2657417018bc8f8064421  gcc/cp/cp-tree.def
! 642bce7f232a34002ce8d21cc5a490e3  gcc/cp/cp-tree.h
  e5ccdda9d62d96ac397910d0fa391b0a  gcc/cp/cp-ubsan.cc
  64450079a2dd9e5a8767bb5e4bf3d904  gcc/cp/cvt.cc
  29df6edf4122d4be24abc0274514c9bc  gcc/cp/cxx-pretty-print.cc
--- 5550,5556 ----
  7475950f94ad8c7218f451feb5e71424  gcc/cp/cp-objcp-common.h
  6a7554ee20d49ef2b66e0b7cc2a696a1  gcc/cp/cp-trait.def
  ce9f2ccac9e2657417018bc8f8064421  gcc/cp/cp-tree.def
! 77d456f52638813e78ce294d1dcfea11  gcc/cp/cp-tree.h
  e5ccdda9d62d96ac397910d0fa391b0a  gcc/cp/cp-ubsan.cc
  64450079a2dd9e5a8767bb5e4bf3d904  gcc/cp/cvt.cc
  29df6edf4122d4be24abc0274514c9bc  gcc/cp/cxx-pretty-print.cc
*************** ee4c7654f733cefcb73d4fd24f3e1b82  gcc/do
*** 5948,5954 ****
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  9452a1b0e4db9a14ba8f8806961ae80b  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 9fe5cf9ed5e602d48b2714317b56dc07  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
--- 5948,5954 ----
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  9452a1b0e4db9a14ba8f8806961ae80b  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 3fe07aded1063424ebb5560ab4891007  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6056,6062 ****
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 66b8b3ac55e75339ae5e56c069d29a0c  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6056,6062 ----
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! eb3a7c27b3f8639ab0485307ccddbc3e  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** deb1774fa43b021f7fa8fde0fe6642d4  gcc/fo
*** 6102,6108 ****
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  0857a93d2dbec9f98b1f3deba658db4b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! 759f30cf19d12da96ea9f074092f983c  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
  76bb26929c446b45cc1efbf25d27ea82  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
--- 6102,6108 ----
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  0857a93d2dbec9f98b1f3deba658db4b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! f457bb6f3beb159b15ff04a27780a528  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
  76bb26929c446b45cc1efbf25d27ea82  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
*************** d2a28ef98f6f78d1608fb52204e013a5  gcc/fo
*** 6124,6130 ****
  2e69cb4e17cc2e89fd21228231798659  gcc/fortran/lang.opt
  9c43410ca32214bfab9763966c01547a  gcc/fortran/lang.opt.urls
  e350765243fa7b881ed82507561870ff  gcc/fortran/libgfortran.h
! a1f8cc4833f8ed003a709afbdc505f8c  gcc/fortran/match.cc
  047778859aa899389e3b7e65c1439faa  gcc/fortran/match.h
  8181d5e935b96288d9a51fb8138faefb  gcc/fortran/matchexp.cc
  297213add624aabc75e1e83d2e504eef  gcc/fortran/mathbuiltins.def
--- 6124,6130 ----
  2e69cb4e17cc2e89fd21228231798659  gcc/fortran/lang.opt
  9c43410ca32214bfab9763966c01547a  gcc/fortran/lang.opt.urls
  e350765243fa7b881ed82507561870ff  gcc/fortran/libgfortran.h
! 6ea6f6099b39496a2bec1a9d299d96c0  gcc/fortran/match.cc
  047778859aa899389e3b7e65c1439faa  gcc/fortran/match.h
  8181d5e935b96288d9a51fb8138faefb  gcc/fortran/matchexp.cc
  297213add624aabc75e1e83d2e504eef  gcc/fortran/mathbuiltins.def
*************** a1f8cc4833f8ed003a709afbdc505f8c  gcc/fo
*** 6134,6140 ****
  8376eba2060129f13c5146a7773b2af7  gcc/fortran/options.cc
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
! 4cf43e937d07b72966686ce8c895b0da  gcc/fortran/primary.cc
  77780e16ec97fc141f25407f1b5aedf9  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
--- 6134,6140 ----
  8376eba2060129f13c5146a7773b2af7  gcc/fortran/options.cc
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
! 593d202178567cbd7b52997dbd200869  gcc/fortran/primary.cc
  77780e16ec97fc141f25407f1b5aedf9  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
*************** da09d1e31d3994eb3d6958074d7b7ce5  gcc/gi
*** 6245,6251 ****
  613cd84d6a9d33c8a47ce0b484fe65cc  gcc/gimple-crc-optimization.cc
  1e3c7b3ded904be69c3703ac6d27fa44  gcc/gimple-expr.cc
  7b4f02095ce9b7a43bee8570917b9dc7  gcc/gimple-expr.h
! c7361add0c174a3ee78da3f2dea0f62e  gcc/gimple-fold.cc
  8780d2011b6a9ef6c285eead522a3286  gcc/gimple-fold.h
  98652c967ce7f8dda9a1c398caa0996a  gcc/gimple-harden-conditionals.cc
  34959112cc04df5744be2b160e2f9d80  gcc/gimple-harden-control-flow.cc
--- 6245,6251 ----
  613cd84d6a9d33c8a47ce0b484fe65cc  gcc/gimple-crc-optimization.cc
  1e3c7b3ded904be69c3703ac6d27fa44  gcc/gimple-expr.cc
  7b4f02095ce9b7a43bee8570917b9dc7  gcc/gimple-expr.h
! 658cb02830aa4b882ce40e022a969e6e  gcc/gimple-fold.cc
  8780d2011b6a9ef6c285eead522a3286  gcc/gimple-fold.h
  98652c967ce7f8dda9a1c398caa0996a  gcc/gimple-harden-conditionals.cc
  34959112cc04df5744be2b160e2f9d80  gcc/gimple-harden-control-flow.cc
*************** b0418c0b5b0600719b633f4afcd328ea  gcc/in
*** 6455,6461 ****
  bcb802c64e78f80e8e46c799c7e449ad  gcc/intl.cc
  deb111e00b2b07aa631595045bce5003  gcc/intl.h
  47a65e558aff89879902e88b055c7b12  gcc/ipa-comdats.cc
! b9a7757e12f8c050845e66db10081585  gcc/ipa-cp.cc
  b65413c6163d502dbe95a08ac40cb575  gcc/ipa-cp.h
  4b65c0ccf8c98e3a0e1526acb4ebd3a4  gcc/ipa-devirt.cc
  2956ae29acd688fd2229744edabdc027  gcc/ipa-fnsummary.cc
--- 6455,6461 ----
  bcb802c64e78f80e8e46c799c7e449ad  gcc/intl.cc
  deb111e00b2b07aa631595045bce5003  gcc/intl.h
  47a65e558aff89879902e88b055c7b12  gcc/ipa-comdats.cc
! 55b72a0d02fcbb482f311037eb67d505  gcc/ipa-cp.cc
  b65413c6163d502dbe95a08ac40cb575  gcc/ipa-cp.h
  4b65c0ccf8c98e3a0e1526acb4ebd3a4  gcc/ipa-devirt.cc
  2956ae29acd688fd2229744edabdc027  gcc/ipa-fnsummary.cc
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8430,8436 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! cc79374ffbb4c65c4da30e5527be36ce  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8430,8436 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 16cc73413dbfa0d4a4d9bb83e7e6cd11  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** cb4ad686f7564a8666256212398d911d  gcc/te
*** 14822,14827 ****
--- 14822,14829 ----
  75eaf4809f23fb10dd33b8f862358f9b  gcc/testsuite/g++.dg/abi/arm_va_list.C
  e1aa0c563084dd7030c3c474c45a09dd  gcc/testsuite/g++.dg/abi/arm_va_list2.C
  5d32a57ca7aab107c9dd3260fd19e71e  gcc/testsuite/g++.dg/abi/arm_va_list2.h
+ 13c059b5fdab1080d1ec0f68d7613c93  gcc/testsuite/g++.dg/abi/base-defaulted1.C
+ ab9dbf10518ce1225eef105684f83eba  gcc/testsuite/g++.dg/abi/base-defaulted1a.C
  dfa3e514ddbfea694774f9c287f40215  gcc/testsuite/g++.dg/abi/bitfield1.C
  9966069a163a3254b4d24ab2f38965c2  gcc/testsuite/g++.dg/abi/bitfield10.C
  e5e5ef8164ac7b43c7f20df7cfcd9b99  gcc/testsuite/g++.dg/abi/bitfield11.C
*************** c8d0678c2016d21f4da748a79301946a  gcc/te
*** 47655,47660 ****
--- 47657,47663 ----
  d2d98a344c776f2cee643c99d05eb20c  gcc/testsuite/gcc.dg/ipa/pr119318.c
  d8f0256cde05093b9738e8287c58d5c3  gcc/testsuite/gcc.dg/ipa/pr119530.c
  8724c127eb269868ca6c918a72fc36b1  gcc/testsuite/gcc.dg/ipa/pr119803.c
+ e39432b4ae7797e55b13f6d2fd29a4a6  gcc/testsuite/gcc.dg/ipa/pr119852.c
  c8295ff7fd7e271d17e7609620f5dfcb  gcc/testsuite/gcc.dg/ipa/pr42706.c
  e4887053c792f4f78b03804c148839ce  gcc/testsuite/gcc.dg/ipa/pr45644.c
  6e1b4f2c5d0c0d768778da8e3b7df828  gcc/testsuite/gcc.dg/ipa/pr48195.c
*************** f22c386d32e16704e73e0ad284bf1ad1  gcc/te
*** 48744,48760 ****
  4644aff4e3d9b41ef0b44eb441b3e574  gcc/testsuite/gcc.dg/plugin/known-fns-1.c
  d3e84ae842f69911a3ac0ceb96542627  gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c
  b584a46252319e63ce8a18cd3d89f07c  gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c
  502e1f072faf23c44132129d5a080fdb  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173-1.h
  8bc743f30102ffbfb1bc6a409fc63a2e  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173-2.h
  6d6028de00b79eb5be6f42b7a4332c90  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.c
  96ff609825b6520f9e9cc6f866930933  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.h
! d14b8eacad95240d9a9693740543d326  gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc
  c323b7b4ac0cf2caa641c6bb31350375  gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c
  de7a6b85ff1667e6ef4b89117e774f2d  gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
! 092914f07826463324254b782d57d525  gcc/testsuite/gcc.dg/plugin/plugin.exp
  10b87cc378ff8b6e30ae77af8c669e4b  gcc/testsuite/gcc.dg/plugin/plugindir1.c
  770fbe5bf2a65884c6120dab4b13a1d4  gcc/testsuite/gcc.dg/plugin/plugindir2.c
  5be673fb13573d3689c3cc3dff9f5a2e  gcc/testsuite/gcc.dg/plugin/plugindir3.c
--- 48747,48769 ----
  4644aff4e3d9b41ef0b44eb441b3e574  gcc/testsuite/gcc.dg/plugin/known-fns-1.c
  d3e84ae842f69911a3ac0ceb96542627  gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c
  b584a46252319e63ce8a18cd3d89f07c  gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c
+ 9e170fe1467d0a1b2ec0d3baf50cff4b  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h
+ 668a3b5ad920346b135fa852ca249d17  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h
+ be795e2075413ef468ce241bac4503e2  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c
+ 6a52c4783a498c1b2c1277c4196e9800  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h
+ 668a3b5ad920346b135fa852ca249d17  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h
+ d599542d2bc9679a29260101b5c82178  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c
  502e1f072faf23c44132129d5a080fdb  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173-1.h
  8bc743f30102ffbfb1bc6a409fc63a2e  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173-2.h
  6d6028de00b79eb5be6f42b7a4332c90  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.c
  96ff609825b6520f9e9cc6f866930933  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.h
! 47922d1e280d753ecebc1c5e88e9463e  gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc
  c323b7b4ac0cf2caa641c6bb31350375  gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c
  de7a6b85ff1667e6ef4b89117e774f2d  gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
! cb2a99ae3709baa43a8722d591d81b1c  gcc/testsuite/gcc.dg/plugin/plugin.exp
  10b87cc378ff8b6e30ae77af8c669e4b  gcc/testsuite/gcc.dg/plugin/plugindir1.c
  770fbe5bf2a65884c6120dab4b13a1d4  gcc/testsuite/gcc.dg/plugin/plugindir2.c
  5be673fb13573d3689c3cc3dff9f5a2e  gcc/testsuite/gcc.dg/plugin/plugindir3.c
*************** a38b813746f78dafd9d21f9226897ece  gcc/te
*** 49387,49394 ****
--- 49396,49405 ----
  049190a5759317b31fbb993a0bbcaeac  gcc/testsuite/gcc.dg/pr119664.c
  d46c3d817ec7eb626ac716e18003ed0b  gcc/testsuite/gcc.dg/pr119712.c
  e33af444b933ae4b76c6fd6ea535e112  gcc/testsuite/gcc.dg/pr119717.c
+ 212cef6b05e312dbd1f377cf4e35ab99  gcc/testsuite/gcc.dg/pr120048.c
  2518844f3bab4851f61e1608c80ae741  gcc/testsuite/gcc.dg/pr120057-1.c
  cb7b5505103ef079e746dd619a21ee86  gcc/testsuite/gcc.dg/pr120057-2.c
+ 5db833c38de3e5ade44290c729fb748c  gcc/testsuite/gcc.dg/pr120074.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** f6a4ab6f3670efed8330288522d1a7fc  gcc/te
*** 53101,53106 ****
--- 53112,53119 ----
  9c991c1fac1df6e51a434cc28f3d3d0d  gcc/testsuite/gcc.dg/torture/pr119417.c
  6286b6d7f9b6777b4b6d41fea79f96cb  gcc/testsuite/gcc.dg/torture/pr119532.c
  bfdab77482901ca4badc096a22704326  gcc/testsuite/gcc.dg/torture/pr119599-1.c
+ acc45859ec226bf8d285f9821bc84cff  gcc/testsuite/gcc.dg/torture/pr119973.c
+ 8759f48b7e824cedc5d50fae356fb24b  gcc/testsuite/gcc.dg/torture/pr120006.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** ac3c78981b68dd7570fbf24a454c1f49  gcc/te
*** 99091,99096 ****
--- 99104,99110 ----
  aef95d16f07bbc2f2592af837c0f0108  gcc/testsuite/gfortran.dg/actual_array_interface_2.f90
  d10dc24f807a9caca22b1c9623e9c39f  gcc/testsuite/gfortran.dg/actual_array_offset_1.f90
  9b341000c34ce58fa97f33ace5dbf227  gcc/testsuite/gfortran.dg/actual_array_result_1.f90
+ cbe33d1d01d7cc0022a9b6df9e8e910a  gcc/testsuite/gfortran.dg/actual_array_subref.f90
  81f66fad745137fdc59d9f22263c998c  gcc/testsuite/gfortran.dg/actual_array_substr_1.f90
  88b6ef62ab16543451c11af1d3b04340  gcc/testsuite/gfortran.dg/actual_array_substr_2.f90
  44b6d072205845c3f335b3d48de5e240  gcc/testsuite/gfortran.dg/actual_array_substr_3.f90
*************** d0dda7d4f02cde55063cdbc07f9865df  gcc/te
*** 101523,101529 ****
  566e25d512fab9b0fe403d4bcaab5cce  gcc/testsuite/gfortran.dg/do_concurrent_8_f2023.f90
  2fe0da2c9dbe8582e4644dc6911d0c0a  gcc/testsuite/gfortran.dg/do_concurrent_9.f90
  cbd9864a0e437c82bc4732c67efaffeb  gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90
! 1d039446471af31f4f0ac7ed0bf10b61  gcc/testsuite/gfortran.dg/do_concurrent_basic.f90
  eec12ded6b543d22e4513f1fd5b84033  gcc/testsuite/gfortran.dg/do_concurrent_constraints.f90
  c4a3ee13c42841a8c629fe8c2fcf7be8  gcc/testsuite/gfortran.dg/do_concurrent_local_init.f90
  18f04dae2541d916379e0bbb761855b0  gcc/testsuite/gfortran.dg/do_concurrent_locality_specs.f90
--- 101537,101543 ----
  566e25d512fab9b0fe403d4bcaab5cce  gcc/testsuite/gfortran.dg/do_concurrent_8_f2023.f90
  2fe0da2c9dbe8582e4644dc6911d0c0a  gcc/testsuite/gfortran.dg/do_concurrent_9.f90
  cbd9864a0e437c82bc4732c67efaffeb  gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90
! 7910395d8f0f8e1c4c3b19bf52ac51b4  gcc/testsuite/gfortran.dg/do_concurrent_basic.f90
  eec12ded6b543d22e4513f1fd5b84033  gcc/testsuite/gfortran.dg/do_concurrent_constraints.f90
  c4a3ee13c42841a8c629fe8c2fcf7be8  gcc/testsuite/gfortran.dg/do_concurrent_local_init.f90
  18f04dae2541d916379e0bbb761855b0  gcc/testsuite/gfortran.dg/do_concurrent_locality_specs.f90
*************** bfe9a93946cdb6a9b66dd7249e65330d  gcc/te
*** 105060,105065 ****
--- 105074,105083 ----
  1c099fc2477935ea4f6d6e213b94eb2f  gcc/testsuite/gfortran.dg/pr119836_2.f90
  f4f853788012858a0134517250a7832c  gcc/testsuite/gfortran.dg/pr119836_3.f90
  a961dfda22a9cdab00655e080457bd32  gcc/testsuite/gfortran.dg/pr119836_4.f90
+ 9cab825b7d82f17e4206621b6f50a699  gcc/testsuite/gfortran.dg/pr120152_1.f90
+ e79a5fff5c4841ba8e2da41f54be1c1c  gcc/testsuite/gfortran.dg/pr120152_2.f90
+ 5b917458eb8d86935d5781cfdfe8f5e7  gcc/testsuite/gfortran.dg/pr120153.f90
+ 202dad9f0793d2c5775eb22b1d871383  gcc/testsuite/gfortran.dg/pr120158.f90
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  e9cbd51db4e16292fc5dd1fead2e5a49  gcc/testsuite/gfortran.dg/pr15140.f90
*************** f01f6a92460103019cb9d3f27c479ef9  gcc/te
*** 111189,111194 ****
--- 111207,111217 ----
  b143f8a11acbf26720d0836e04874836  gcc/testsuite/gnat.dg/opt105.adb
  43266125cef592b6eaa7a9074c70ea58  gcc/testsuite/gnat.dg/opt105_pkg.adb
  ef6aab3ddf23751e6c8af372ba52012c  gcc/testsuite/gnat.dg/opt105_pkg.ads
+ 1962ea0f694c7aaf1ff3137c189868f8  gcc/testsuite/gnat.dg/opt106.adb
+ f8a43d7dd54caabde100374f7144dfc3  gcc/testsuite/gnat.dg/opt106_pkg1.adb
+ ab899fc6f72925f8084209d5187582d5  gcc/testsuite/gnat.dg/opt106_pkg1.ads
+ acc696967fd0d2302cfab5304ee3a970  gcc/testsuite/gnat.dg/opt106_pkg2.adb
+ e4a127b46129811de1774562e29fb8fc  gcc/testsuite/gnat.dg/opt106_pkg2.ads
  5d50fb38b1ab84c39760906cb103c522  gcc/testsuite/gnat.dg/opt10_pkg.ads
  603264d4afdd2fd2174ea9c4cf4653ed  gcc/testsuite/gnat.dg/opt11.adb
  53160585b3a5d820b653e1e0d5f14c75  gcc/testsuite/gnat.dg/opt11.ads
*************** a7bd734382497172aa271ae6f28c2872  gcc/te
*** 111793,111798 ****
--- 111816,111822 ----
  4ee6f85529262f699db7820d6a2c74dc  gcc/testsuite/gnat.dg/specs/fe_inlining.ads
  757c6c1089f7521b4d88d3ea98faeac3  gcc/testsuite/gnat.dg/specs/fe_inlining_helper.adb
  bc790bd930f8c4f971b8268bdda83659  gcc/testsuite/gnat.dg/specs/fe_inlining_helper.ads
+ 07a75ac7ade09270a3df5c08ed7d6c00  gcc/testsuite/gnat.dg/specs/finalizable1.ads
  085a1214c06b4e9495c47b56f30e6cd3  gcc/testsuite/gnat.dg/specs/formal_type.ads
  b605c919a473b8d6808dd232aa7eaf49  gcc/testsuite/gnat.dg/specs/gen_interface.ads
  4830454a8335e61b1876284f60de9782  gcc/testsuite/gnat.dg/specs/gen_interface_p.ads
*************** aa25adbcb019dd38a66ce237df54ae1d  gcc/tr
*** 117226,117232 ****
  1565dc0d975d174e5d53e4889ab223e3  gcc/tree-ssa-sink.cc
  f8a95ebe86d335b810e43ab71cae5b43  gcc/tree-ssa-strlen.cc
  817cd7b593b9ca11ac7464ee683d8f98  gcc/tree-ssa-strlen.h
! c4dea4a2fc92a2897d2e39b1c6157c8c  gcc/tree-ssa-structalias.cc
  8236d4d91b8701a8daadc2f8a12d4752  gcc/tree-ssa-tail-merge.cc
  18ba2469cfdfbd297fe2b0120e69a84c  gcc/tree-ssa-ter.cc
  3094df71c80e187685e4e97e428d64f4  gcc/tree-ssa-ter.h
--- 117250,117256 ----
  1565dc0d975d174e5d53e4889ab223e3  gcc/tree-ssa-sink.cc
  f8a95ebe86d335b810e43ab71cae5b43  gcc/tree-ssa-strlen.cc
  817cd7b593b9ca11ac7464ee683d8f98  gcc/tree-ssa-strlen.h
! a1094c2ceff525c3440bb32a804d4f1d  gcc/tree-ssa-structalias.cc
  8236d4d91b8701a8daadc2f8a12d4752  gcc/tree-ssa-tail-merge.cc
  18ba2469cfdfbd297fe2b0120e69a84c  gcc/tree-ssa-ter.cc
  3094df71c80e187685e4e97e428d64f4  gcc/tree-ssa-ter.h
*************** d9c4840a497d0e1f2063865edafe6e97  gcc/ve
*** 117306,117312 ****
  54a3885ae2d326266cc13ab447394d8f  gcc/vector-builder.h
  40fec2b7bbea0b654d0704244caa4e9c  gcc/vmsdbg.h
  c2784afc7476e44bc70100f7c350e07b  gcc/vmsdbgout.cc
! 33d29d6d32171e6ef1c77c4f29ed00e1  gcc/vr-values.cc
  0901703123c4198bb16fc8076912bd2e  gcc/vr-values.h
  9ce284cb128dc6f9cadddec86a09bb4a  gcc/vtable-verify.cc
  cdaf5a05f59e5ac25581747f6a7b4fe9  gcc/vtable-verify.h
--- 117330,117336 ----
  54a3885ae2d326266cc13ab447394d8f  gcc/vector-builder.h
  40fec2b7bbea0b654d0704244caa4e9c  gcc/vmsdbg.h
  c2784afc7476e44bc70100f7c350e07b  gcc/vmsdbgout.cc
! 1c385f3f9c1183e6721b747a39267d0d  gcc/vr-values.cc
  0901703123c4198bb16fc8076912bd2e  gcc/vr-values.h
  9ce284cb128dc6f9cadddec86a09bb4a  gcc/vtable-verify.cc
  cdaf5a05f59e5ac25581747f6a7b4fe9  gcc/vtable-verify.h
*************** cffdeae41b78da05839b193e90188f55  libcod
*** 117594,117600 ****
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  b1f3850fc5ac62999d1e124aa6f76531  libcody/server.cc
! b22d14d4e9fcd4e82ca81cf4433d7493  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  e80a909ca87015a009bee9588bb84a64  libcpp/Makefile.in
  b07c7863f0e7ad4e6a0915d66fc9e582  libcpp/aclocal.m4
--- 117618,117624 ----
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  b1f3850fc5ac62999d1e124aa6f76531  libcody/server.cc
! 4cbf1f1b1ebb722288f6b754f015e910  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  e80a909ca87015a009bee9588bb84a64  libcpp/Makefile.in
  b07c7863f0e7ad4e6a0915d66fc9e582  libcpp/aclocal.m4
*************** b07c7863f0e7ad4e6a0915d66fc9e582  libcpp
*** 117606,117612 ****
  ea784e8b4e934b5966c1fa9ff3767729  libcpp/directives.cc
  02aef9903cbb33fe0e3146b5a9af1332  libcpp/errors.cc
  edcd9f141150c148f5c5c9584a446394  libcpp/expr.cc
! cde77f3d550834cad6ce61dd7fd070f1  libcpp/files.cc
  97faf9e969cb255f2a2a91e0e7ac3c32  libcpp/generated_cpp_wcwidth.h
  c496c50691c37464e0aacc985cc3ab1e  libcpp/identifiers.cc
  c6d289f358b723bb4db062b5dbb25cb9  libcpp/include/cpplib.h
--- 117630,117636 ----
  ea784e8b4e934b5966c1fa9ff3767729  libcpp/directives.cc
  02aef9903cbb33fe0e3146b5a9af1332  libcpp/errors.cc
  edcd9f141150c148f5c5c9584a446394  libcpp/expr.cc
! ce74c78c2cb27bcdeac8a9b0400712cd  libcpp/files.cc
  97faf9e969cb255f2a2a91e0e7ac3c32  libcpp/generated_cpp_wcwidth.h
  c496c50691c37464e0aacc985cc3ab1e  libcpp/identifiers.cc
  c6d289f358b723bb4db062b5dbb25cb9  libcpp/include/cpplib.h
*************** d516a30568fd33a5e69be4374f27812f  libcpp
*** 117618,117624 ****
  3f05e522dd9325c9807fc4f662533f7b  libcpp/init.cc
  a0d37c297f3d462529b502a4e1bd2378  libcpp/internal.h
  14cdb8c198f4e4c14696bfbf98d11563  libcpp/lex.cc
! ad5dcc2a907d0a900801519a49cb42cf  libcpp/line-map.cc
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
  9ca45c4c9e1829d625f4cc03b82debd1  libcpp/macro.cc
  b4c085899eca6fc0e5ddc81d15fc2e67  libcpp/makeucnid.cc
--- 117642,117648 ----
  3f05e522dd9325c9807fc4f662533f7b  libcpp/init.cc
  a0d37c297f3d462529b502a4e1bd2378  libcpp/internal.h
  14cdb8c198f4e4c14696bfbf98d11563  libcpp/lex.cc
! afb53d91467e0952508a757742351dd6  libcpp/line-map.cc
  46a07100f95f5e354c7e25cd19d26884  libcpp/location-example.txt
  9ca45c4c9e1829d625f4cc03b82debd1  libcpp/macro.cc
  b4c085899eca6fc0e5ddc81d15fc2e67  libcpp/makeucnid.cc
*************** a92501f6652c6261f981817076ae3254  libgco
*** 119706,119712 ****
  469e0f6e21e357ff8b53b9d17373a6c8  libgcobol/libgcobol.spec.in
  9d7af7d1d108f358d1abce503b889dbd  libgcobol/valconv.cc
  04c19ca3fa2ce47103a80f82c288c484  libgcobol/valconv.h
! f89121c9da25779cdcd32797c67380ce  libgfortran/ChangeLog
  d99469a76bfe825683f8d94fe07b508c  libgfortran/ChangeLog-2002
  522fdb2df6cefe6bcaed3c7c7311eae1  libgfortran/ChangeLog-2003
  5a3a93e76d878d063aba66079340cfe0  libgfortran/ChangeLog-2004
--- 119730,119736 ----
  469e0f6e21e357ff8b53b9d17373a6c8  libgcobol/libgcobol.spec.in
  9d7af7d1d108f358d1abce503b889dbd  libgcobol/valconv.cc
  04c19ca3fa2ce47103a80f82c288c484  libgcobol/valconv.h
! 3e6f9af92c769d66b990f3091a1a6b8c  libgfortran/ChangeLog
  d99469a76bfe825683f8d94fe07b508c  libgfortran/ChangeLog-2002
  522fdb2df6cefe6bcaed3c7c7311eae1  libgfortran/ChangeLog-2003
  5a3a93e76d878d063aba66079340cfe0  libgfortran/ChangeLog-2004
*************** a25a190e02c8ba2caa2c3dee224eba51  libgfo
*** 119731,119738 ****
  aa424ddf6a9e4e08b8023d3d5b371a0d  libgfortran/ChangeLog-2023
  09537a69736f655d1e0ccf28367d3ddf  libgfortran/ChangeLog-2024
  16ba29cf4184ed00d26fe02df17c83d7  libgfortran/ISO_Fortran_binding.h
! 44aefb120ad00e6d4eaf97832a3e0a72  libgfortran/Makefile.am
! a3dd5473adb7fc60c0121b193324d835  libgfortran/Makefile.in
  43f0b2981fb15d556a8ee8292ef70ba8  libgfortran/acinclude.m4
  77dad7b87b2adfbfda676696055ef90f  libgfortran/aclocal.m4
  c89d50fda6cbf50698f2d324f8a6ec7e  libgfortran/c99_protos.h
--- 119755,119762 ----
  aa424ddf6a9e4e08b8023d3d5b371a0d  libgfortran/ChangeLog-2023
  09537a69736f655d1e0ccf28367d3ddf  libgfortran/ChangeLog-2024
  16ba29cf4184ed00d26fe02df17c83d7  libgfortran/ISO_Fortran_binding.h
! dff439751d0f684d621dfa4cd7358321  libgfortran/Makefile.am
! 7a19a44169283cb020a346caff128ab8  libgfortran/Makefile.in
  43f0b2981fb15d556a8ee8292ef70ba8  libgfortran/acinclude.m4
  77dad7b87b2adfbfda676696055ef90f  libgfortran/aclocal.m4
  c89d50fda6cbf50698f2d324f8a6ec7e  libgfortran/c99_protos.h
*************** dad7b7c6789f84c625d23027ea5d4ae3  libgfo
*** 120127,120137 ****
  df8469bbb67460c431842b2c54e53c82  libgfortran/generated/maxloc0_16_i2.c
  a16c7142a153ebf7d5d6e435c7d89e77  libgfortran/generated/maxloc0_16_i4.c
  549a4071938007d866fbb0a82f0f22bf  libgfortran/generated/maxloc0_16_i8.c
! 160bb110765445b10eac90f793aef48e  libgfortran/generated/maxloc0_16_m1.c
! 39c56f39e53c6712d59d9b3f9d872c86  libgfortran/generated/maxloc0_16_m16.c
! 584864b9b411009b6f21c01485b01789  libgfortran/generated/maxloc0_16_m2.c
! 3156d3b51564892a026bb1ef11c0bca1  libgfortran/generated/maxloc0_16_m4.c
! 3a3b4d9c73355b3820a41b86748964cf  libgfortran/generated/maxloc0_16_m8.c
  7820c9fb5ed5d032114356e869dc5f1c  libgfortran/generated/maxloc0_16_r10.c
  8d4f932bf7641bf91517d4fc38471267  libgfortran/generated/maxloc0_16_r16.c
  81b5c254a405c225f45ea7608dca7b99  libgfortran/generated/maxloc0_16_r17.c
--- 120151,120161 ----
  df8469bbb67460c431842b2c54e53c82  libgfortran/generated/maxloc0_16_i2.c
  a16c7142a153ebf7d5d6e435c7d89e77  libgfortran/generated/maxloc0_16_i4.c
  549a4071938007d866fbb0a82f0f22bf  libgfortran/generated/maxloc0_16_i8.c
! 9d87ff1e143c7c07b2fe69060db6bbc7  libgfortran/generated/maxloc0_16_m1.c
! 147dc09d40c9dc388388dd44d4aa07f2  libgfortran/generated/maxloc0_16_m16.c
! e2062bb116c1f35960e5166460f15774  libgfortran/generated/maxloc0_16_m2.c
! b862113cf3798535e7b9c28bbdbbbb2e  libgfortran/generated/maxloc0_16_m4.c
! c8e90dc0816a14aec68b6ed7d953d04e  libgfortran/generated/maxloc0_16_m8.c
  7820c9fb5ed5d032114356e869dc5f1c  libgfortran/generated/maxloc0_16_r10.c
  8d4f932bf7641bf91517d4fc38471267  libgfortran/generated/maxloc0_16_r16.c
  81b5c254a405c225f45ea7608dca7b99  libgfortran/generated/maxloc0_16_r17.c
*************** c843116bacf191a5257b118c306a96b9  libgfo
*** 120144,120154 ****
  619cf8a497a097efd9d766c56dd6e9e2  libgfortran/generated/maxloc0_4_i2.c
  1c80d791312ab1ffba82cf186294fe39  libgfortran/generated/maxloc0_4_i4.c
  f0f943f738834fdcc9e1e2d68972c491  libgfortran/generated/maxloc0_4_i8.c
! 0c55d66775948180150e45d2c406efc3  libgfortran/generated/maxloc0_4_m1.c
! 2b1a015664daf5c55bc1ca88822ce9e3  libgfortran/generated/maxloc0_4_m16.c
! 784813550eae9d177f89830272ed1a1a  libgfortran/generated/maxloc0_4_m2.c
! 7dcc536ebc63c862bab2af9cca67a1cc  libgfortran/generated/maxloc0_4_m4.c
! 67917cd7dd5da531bda919642bd75691  libgfortran/generated/maxloc0_4_m8.c
  c253a75b8e58e1757faccb8c6acf71ca  libgfortran/generated/maxloc0_4_r10.c
  a4b61dffb736bcd82e3b6aa1c3bed71d  libgfortran/generated/maxloc0_4_r16.c
  3e164563b9ad66b35ae038804bd6eb8a  libgfortran/generated/maxloc0_4_r17.c
--- 120168,120178 ----
  619cf8a497a097efd9d766c56dd6e9e2  libgfortran/generated/maxloc0_4_i2.c
  1c80d791312ab1ffba82cf186294fe39  libgfortran/generated/maxloc0_4_i4.c
  f0f943f738834fdcc9e1e2d68972c491  libgfortran/generated/maxloc0_4_i8.c
! 24712ca5128f9d892491a332e76754f3  libgfortran/generated/maxloc0_4_m1.c
! 6065808b3be577e925e7f8583953155a  libgfortran/generated/maxloc0_4_m16.c
! e2945d557eb17c8b9076faae2684f4c6  libgfortran/generated/maxloc0_4_m2.c
! 78897c2bc1c957317217dfd9dfeb0032  libgfortran/generated/maxloc0_4_m4.c
! 91619c142b3e2ca32d9204dd39e71e66  libgfortran/generated/maxloc0_4_m8.c
  c253a75b8e58e1757faccb8c6acf71ca  libgfortran/generated/maxloc0_4_r10.c
  a4b61dffb736bcd82e3b6aa1c3bed71d  libgfortran/generated/maxloc0_4_r16.c
  3e164563b9ad66b35ae038804bd6eb8a  libgfortran/generated/maxloc0_4_r17.c
*************** aef76e89e98478df282a0d537c9bb2ff  libgfo
*** 120161,120171 ****
  68940fab157ac658d7c9bf659a42d67f  libgfortran/generated/maxloc0_8_i2.c
  fdcdea6842638a5c42495fc5f1b1cbca  libgfortran/generated/maxloc0_8_i4.c
  96d1a856d52f9ee4fb83884e6a5e3b10  libgfortran/generated/maxloc0_8_i8.c
! e393ee060463a40ab2a35a4bbddc1fd6  libgfortran/generated/maxloc0_8_m1.c
! ac521b561e22ab282403bc1849e44b07  libgfortran/generated/maxloc0_8_m16.c
! 1dd4370bfcabb4b41cd774a7e939d2b9  libgfortran/generated/maxloc0_8_m2.c
! 1a62acbff945ff17ca7bc4708ffe0d36  libgfortran/generated/maxloc0_8_m4.c
! e35a58a8e46716c0426839c9a79e7c0d  libgfortran/generated/maxloc0_8_m8.c
  669be684c62c2ab8113f040a122c2fc1  libgfortran/generated/maxloc0_8_r10.c
  be828e2f9482fb6f7cf5af2d1cafb362  libgfortran/generated/maxloc0_8_r16.c
  b235049fd0fb70aefca5b98d84448d1c  libgfortran/generated/maxloc0_8_r17.c
--- 120185,120195 ----
  68940fab157ac658d7c9bf659a42d67f  libgfortran/generated/maxloc0_8_i2.c
  fdcdea6842638a5c42495fc5f1b1cbca  libgfortran/generated/maxloc0_8_i4.c
  96d1a856d52f9ee4fb83884e6a5e3b10  libgfortran/generated/maxloc0_8_i8.c
! 1a451b474233ca9d8fea768a7c4f83a7  libgfortran/generated/maxloc0_8_m1.c
! 30bf87843a0e002f6bc5f025824646e5  libgfortran/generated/maxloc0_8_m16.c
! 4dab0e7b5ba5e2da692ffca659ab0239  libgfortran/generated/maxloc0_8_m2.c
! 54010eafc46b73f358e12a6d2020aa30  libgfortran/generated/maxloc0_8_m4.c
! 3b13cb82ead568ab9faf7ce901198ed4  libgfortran/generated/maxloc0_8_m8.c
  669be684c62c2ab8113f040a122c2fc1  libgfortran/generated/maxloc0_8_r10.c
  be828e2f9482fb6f7cf5af2d1cafb362  libgfortran/generated/maxloc0_8_r16.c
  b235049fd0fb70aefca5b98d84448d1c  libgfortran/generated/maxloc0_8_r17.c
*************** eba2725b3fd4771a5b1bad48b2761a33  libgfo
*** 120178,120187 ****
  c62e6a694bab2fbce0a02a86d8d37206  libgfortran/generated/maxloc1_16_i2.c
  e74fadaaa8707366eb592476129408a2  libgfortran/generated/maxloc1_16_i4.c
  bf7456ecb86d9445e5983acefc747d4c  libgfortran/generated/maxloc1_16_i8.c
! b0cfaae9b9253112b9d6d539f2de7219  libgfortran/generated/maxloc1_16_m1.c
! 282c05acf28a98132b6653d5f786ee36  libgfortran/generated/maxloc1_16_m2.c
! daece998012c11d663030d68a51f0bb8  libgfortran/generated/maxloc1_16_m4.c
! 84cf394c78971eb8b699d82c62c0d08d  libgfortran/generated/maxloc1_16_m8.c
  df2fe8c79d52586344d08578e4edfa4d  libgfortran/generated/maxloc1_16_r10.c
  eb7a9f2313c9b09f44560db9a23504df  libgfortran/generated/maxloc1_16_r16.c
  7a0d7e2dc9e20c291c737e8ebbc60b0a  libgfortran/generated/maxloc1_16_r17.c
--- 120202,120212 ----
  c62e6a694bab2fbce0a02a86d8d37206  libgfortran/generated/maxloc1_16_i2.c
  e74fadaaa8707366eb592476129408a2  libgfortran/generated/maxloc1_16_i4.c
  bf7456ecb86d9445e5983acefc747d4c  libgfortran/generated/maxloc1_16_i8.c
! c12b57f2b0210bf6c6b7aaff51906256  libgfortran/generated/maxloc1_16_m1.c
! ce72acbfdd6045160b44300411d3f07f  libgfortran/generated/maxloc1_16_m16.c
! d9fe5bcab54bf5af06514547d1e3404b  libgfortran/generated/maxloc1_16_m2.c
! 3a4256951bd1b9b28407e65b75505945  libgfortran/generated/maxloc1_16_m4.c
! 3a79f8db43ca865ae615fcade40a95c6  libgfortran/generated/maxloc1_16_m8.c
  df2fe8c79d52586344d08578e4edfa4d  libgfortran/generated/maxloc1_16_r10.c
  eb7a9f2313c9b09f44560db9a23504df  libgfortran/generated/maxloc1_16_r16.c
  7a0d7e2dc9e20c291c737e8ebbc60b0a  libgfortran/generated/maxloc1_16_r17.c
*************** c507fc2e66ec574faee3219eb3144b46  libgfo
*** 120194,120204 ****
  e52232cebdac212023a61a56619c2a44  libgfortran/generated/maxloc1_4_i2.c
  f1e3cba6dd27158603c4d6cf077f942a  libgfortran/generated/maxloc1_4_i4.c
  313907089e259e55f2491af268bebaa9  libgfortran/generated/maxloc1_4_i8.c
! cf98699372bc73ef6d3c4f82f75284ca  libgfortran/generated/maxloc1_4_m1.c
! 09a8932b29e60e68fa048a9536db50ca  libgfortran/generated/maxloc1_4_m16.c
! fb2d7b3ff312c8f56ef4368b88c58362  libgfortran/generated/maxloc1_4_m2.c
! d20a4b3912157d4bf60b09746f7bb0b6  libgfortran/generated/maxloc1_4_m4.c
! 3bb7d561369952d8f984020706837238  libgfortran/generated/maxloc1_4_m8.c
  5b1577a3f3e4bbf842f5b849867cad83  libgfortran/generated/maxloc1_4_r10.c
  6a0f8837f31b291f27309cb53e49a0c4  libgfortran/generated/maxloc1_4_r16.c
  9f588351fd28ef8e20a5623ce93a59a5  libgfortran/generated/maxloc1_4_r17.c
--- 120219,120229 ----
  e52232cebdac212023a61a56619c2a44  libgfortran/generated/maxloc1_4_i2.c
  f1e3cba6dd27158603c4d6cf077f942a  libgfortran/generated/maxloc1_4_i4.c
  313907089e259e55f2491af268bebaa9  libgfortran/generated/maxloc1_4_i8.c
! 1bfbbb666a13a53fcea3fce71c4b27bf  libgfortran/generated/maxloc1_4_m1.c
! 4ef9b7c8eab28f664a9d5077655f0cff  libgfortran/generated/maxloc1_4_m16.c
! 768d03c26047d5763215237325a5b973  libgfortran/generated/maxloc1_4_m2.c
! 2521804819c001c5dc1f511afdc0ccc6  libgfortran/generated/maxloc1_4_m4.c
! b11acb8eca8664dbda7262a67565825f  libgfortran/generated/maxloc1_4_m8.c
  5b1577a3f3e4bbf842f5b849867cad83  libgfortran/generated/maxloc1_4_r10.c
  6a0f8837f31b291f27309cb53e49a0c4  libgfortran/generated/maxloc1_4_r16.c
  9f588351fd28ef8e20a5623ce93a59a5  libgfortran/generated/maxloc1_4_r17.c
*************** acf5c81c4ab5a9e6697a44e20d172e2d  libgfo
*** 120211,120221 ****
  028d2b330373f81a647baf9a63cedfbc  libgfortran/generated/maxloc1_8_i2.c
  3f643c098ec0ebf26207db9d01ee625b  libgfortran/generated/maxloc1_8_i4.c
  9b57d8642a825f853fc39df445f7e6b8  libgfortran/generated/maxloc1_8_i8.c
! 30476ddf2fa8b485f115e51aff1d2818  libgfortran/generated/maxloc1_8_m1.c
! 9a28bd47f25c16981e5f92c2916872f2  libgfortran/generated/maxloc1_8_m16.c
! a6407c18314734fd022e5662e0294e9e  libgfortran/generated/maxloc1_8_m2.c
! 981e65fd1fb262843906b80e67d85194  libgfortran/generated/maxloc1_8_m4.c
! 04bc2284f060a82b0cc660899e5aecb2  libgfortran/generated/maxloc1_8_m8.c
  a5538f936916019edbe6eb586eefad22  libgfortran/generated/maxloc1_8_r10.c
  22638b0085f2141a903df07c24d8d29c  libgfortran/generated/maxloc1_8_r16.c
  b0b0f18b4a4e9a2f027e0926258e37b3  libgfortran/generated/maxloc1_8_r17.c
--- 120236,120246 ----
  028d2b330373f81a647baf9a63cedfbc  libgfortran/generated/maxloc1_8_i2.c
  3f643c098ec0ebf26207db9d01ee625b  libgfortran/generated/maxloc1_8_i4.c
  9b57d8642a825f853fc39df445f7e6b8  libgfortran/generated/maxloc1_8_i8.c
! 0525a837bed7e68ee55831c6935b3083  libgfortran/generated/maxloc1_8_m1.c
! 6cfb67139c32ba80137682c90f0f77fe  libgfortran/generated/maxloc1_8_m16.c
! 085e2653d8fdb7fafc3977ab5d46e945  libgfortran/generated/maxloc1_8_m2.c
! 347e7f033fc595ddc92223125dc20902  libgfortran/generated/maxloc1_8_m4.c
! 83c1d3375ff9434fdc40136d7d165c15  libgfortran/generated/maxloc1_8_m8.c
  a5538f936916019edbe6eb586eefad22  libgfortran/generated/maxloc1_8_r10.c
  22638b0085f2141a903df07c24d8d29c  libgfortran/generated/maxloc1_8_r16.c
  b0b0f18b4a4e9a2f027e0926258e37b3  libgfortran/generated/maxloc1_8_r17.c
*************** a10202db8770adae52b1dce48d7a9ec2  libgfo
*** 120238,120248 ****
  f53afc8b9c86ca0ddc693e82e87de988  libgfortran/generated/maxval_i2.c
  6bf86c67e22ebfe43f188dc643059db8  libgfortran/generated/maxval_i4.c
  55141f70a5064f36d896bdad18d0a95f  libgfortran/generated/maxval_i8.c
! 9309e2d800ba94aa505efeda3308b1cd  libgfortran/generated/maxval_m1.c
! 056ca1967323929c7ce3b7763f1f80fb  libgfortran/generated/maxval_m16.c
! a8d255859b817fa07e34697aeac1ab7d  libgfortran/generated/maxval_m2.c
! 17261ca7ebdcaabb6734fc065adc5cc4  libgfortran/generated/maxval_m4.c
! e6c92a47db622cc9d1ac9ec8d39cb0b8  libgfortran/generated/maxval_m8.c
  39e930ec37ce56356a74830fb3a3216d  libgfortran/generated/maxval_r10.c
  aeab205938d6bab5d8319052dc6c3377  libgfortran/generated/maxval_r16.c
  e3ddd8a76a0f88fd0cb9ef759cd2773f  libgfortran/generated/maxval_r17.c
--- 120263,120273 ----
  f53afc8b9c86ca0ddc693e82e87de988  libgfortran/generated/maxval_i2.c
  6bf86c67e22ebfe43f188dc643059db8  libgfortran/generated/maxval_i4.c
  55141f70a5064f36d896bdad18d0a95f  libgfortran/generated/maxval_i8.c
! a09e7758408863a8d09097176d422b6b  libgfortran/generated/maxval_m1.c
! aee821dc1cf43984a98caa739138eec4  libgfortran/generated/maxval_m16.c
! 84e9726150340486088bd3eb09bfe895  libgfortran/generated/maxval_m2.c
! 38782a2ad1d52b618192a165f21b36c1  libgfortran/generated/maxval_m4.c
! a925befd87ae715223b61e2ae23c36ac  libgfortran/generated/maxval_m8.c
  39e930ec37ce56356a74830fb3a3216d  libgfortran/generated/maxval_r10.c
  aeab205938d6bab5d8319052dc6c3377  libgfortran/generated/maxval_r16.c
  e3ddd8a76a0f88fd0cb9ef759cd2773f  libgfortran/generated/maxval_r17.c
*************** b98698922a8d329364583b849ae66dd1  libgfo
*** 120540,120546 ****
  825bc3c7f45b36f9ca82fb7b083bcd7d  libgfortran/generated/unpack_r17.c
  8fcbe32bf70b0c8c128b4ab3cd41eae7  libgfortran/generated/unpack_r4.c
  f803423e0f42de429e6d05db06ea0511  libgfortran/generated/unpack_r8.c
! 3d1af775c6d2370f3140e9cdb0a41cb6  libgfortran/gfortran.map
  081eb3c616ff1dc25f948c3390a45c25  libgfortran/ieee/ieee_arithmetic.F90
  29aa422de12addef93a6a64a3de7acf1  libgfortran/ieee/ieee_exceptions.F90
  526e069d40bcb9a6d33f16725646afed  libgfortran/ieee/ieee_features.F90
--- 120565,120571 ----
  825bc3c7f45b36f9ca82fb7b083bcd7d  libgfortran/generated/unpack_r17.c
  8fcbe32bf70b0c8c128b4ab3cd41eae7  libgfortran/generated/unpack_r4.c
  f803423e0f42de429e6d05db06ea0511  libgfortran/generated/unpack_r8.c
! 0b3d4947a8c1e742bfc79cc9926300ba  libgfortran/gfortran.map
  081eb3c616ff1dc25f948c3390a45c25  libgfortran/ieee/ieee_arithmetic.F90
  29aa422de12addef93a6a64a3de7acf1  libgfortran/ieee/ieee_exceptions.F90
  526e069d40bcb9a6d33f16725646afed  libgfortran/ieee/ieee_features.F90
*************** b12c12580817fdd69991728b7f81f679  libgfo
*** 120585,120591 ****
  beab16b72785559deecadd1ce2b3a919  libgfortran/intrinsics/pack_generic.c
  ccc51f15a414cec35d1c667bb904c354  libgfortran/intrinsics/perror.c
  63bbffde487f5a10bb0f1ef1c24fb1ff  libgfortran/intrinsics/rand.c
! f3e770d92fdf10e59f0682249f59ad63  libgfortran/intrinsics/random.c
  980afd31fe2acdb19847ed694cc1b91e  libgfortran/intrinsics/random_init.f90
  6b1232a2364572f1170ef84c6ce57d43  libgfortran/intrinsics/reduce.c
  8dcb1de4a7f8bbbd027cafb7c6a627af  libgfortran/intrinsics/rename.c
--- 120610,120616 ----
  beab16b72785559deecadd1ce2b3a919  libgfortran/intrinsics/pack_generic.c
  ccc51f15a414cec35d1c667bb904c354  libgfortran/intrinsics/perror.c
  63bbffde487f5a10bb0f1ef1c24fb1ff  libgfortran/intrinsics/rand.c
! 552287eeae7a446f05ee4a24c3f652ed  libgfortran/intrinsics/random.c
  980afd31fe2acdb19847ed694cc1b91e  libgfortran/intrinsics/random_init.f90
  6b1232a2364572f1170ef84c6ce57d43  libgfortran/intrinsics/reduce.c
  8dcb1de4a7f8bbbd027cafb7c6a627af  libgfortran/intrinsics/rename.c
*************** ae6c5100027c00b1dee83df8a20d56ac  libgfo
*** 120670,120676 ****
  9b3c805c9825c7f9db7ca20972103ff8  libgfortran/m4/in_pack.m4
  106df9a6dfffc3dd117c54706ff1bb5e  libgfortran/m4/in_unpack.m4
  bcc34dd2812f475c425ce9ed5c0afb2c  libgfortran/m4/iparity.m4
! 4f485e84c613e8aa7191941553032a19  libgfortran/m4/iparm.m4
  44c260e36d1fb1fec70c2deed856623d  libgfortran/m4/matmul.m4
  404f92b6c287e61378cd84f231b65850  libgfortran/m4/matmul_internal.m4
  6786592bda50da3680d84241fc597d70  libgfortran/m4/matmulavx128.m4
--- 120695,120701 ----
  9b3c805c9825c7f9db7ca20972103ff8  libgfortran/m4/in_pack.m4
  106df9a6dfffc3dd117c54706ff1bb5e  libgfortran/m4/in_unpack.m4
  bcc34dd2812f475c425ce9ed5c0afb2c  libgfortran/m4/iparity.m4
! a0c59c07599c968a763da08daacff7fd  libgfortran/m4/iparm.m4
  44c260e36d1fb1fec70c2deed856623d  libgfortran/m4/matmul.m4
  404f92b6c287e61378cd84f231b65850  libgfortran/m4/matmul_internal.m4
  6786592bda50da3680d84241fc597d70  libgfortran/m4/matmulavx128.m4
*************** a3a7e9ca6057da9ca42e03e41e1c73f7  libgo/
*** 126266,126272 ****
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 7ae7b4bd503fab803400a7fc1d490ea8  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  a732cc940d0d19d8091745ee2a77daee  libgomp/Makefile.am
  a1cd9225f663ff9380c1e51eee8c4b14  libgomp/Makefile.in
--- 126291,126297 ----
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 92fc358a04518a418a9035b2552013a2  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  a732cc940d0d19d8091745ee2a77daee  libgomp/Makefile.am
  a1cd9225f663ff9380c1e51eee8c4b14  libgomp/Makefile.in
*************** df9584266f64e9e94cc353ad659850cb  libgom
*** 127148,127154 ****
  ee4539179e248da5dfa461b6f38b711a  libgomp/testsuite/libgomp.c-target/aarch64/simd-aligned.c
  caca1aa745e9df985dc965e87fc08c02  libgomp/testsuite/libgomp.c-target/aarch64/simd-nontemporal.c
  22339699e5ead02323ff39f1b6fe0db9  libgomp/testsuite/libgomp.c-target/aarch64/threadprivate.c
! 8a9f248e8f293171e99f2de7e100db25  libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c
  9827d700d634869b090c7636cc855819  libgomp/testsuite/libgomp.c/address-space-1.c
  35d465afcc91bf0b02e92e10cee649bb  libgomp/testsuite/libgomp.c/affinity-1.c
  fe6e22f8c0d2e289ecbd5ea26c9ed1bc  libgomp/testsuite/libgomp.c/affinity-2.c
--- 127173,127179 ----
  ee4539179e248da5dfa461b6f38b711a  libgomp/testsuite/libgomp.c-target/aarch64/simd-aligned.c
  caca1aa745e9df985dc965e87fc08c02  libgomp/testsuite/libgomp.c-target/aarch64/simd-nontemporal.c
  22339699e5ead02323ff39f1b6fe0db9  libgomp/testsuite/libgomp.c-target/aarch64/threadprivate.c
! 3e38202a9a5de0a29a80148a97ba15d8  libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c
  9827d700d634869b090c7636cc855819  libgomp/testsuite/libgomp.c/address-space-1.c
  35d465afcc91bf0b02e92e10cee649bb  libgomp/testsuite/libgomp.c/affinity-1.c
  fe6e22f8c0d2e289ecbd5ea26c9ed1bc  libgomp/testsuite/libgomp.c/affinity-2.c
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 131196,131202 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! c26a60c0b52626d86d0e483fe401edb7  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 131221,131227 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! f0d74dd4c4e87cbd77a9699ef328deb0  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** a155d2afa910d24be0955f42c4585228  libstd
*** 131886,131892 ****
  4ab7627c024bab75db708e43d35616aa  libstdc++-v3/include/bits/char_traits.h
  195dabcb74f9b313c574745539925b0e  libstdc++-v3/include/bits/charconv.h
  2ac54ed5e0fab6bc6f771ecb2e9a9757  libstdc++-v3/include/bits/chrono.h
! f174e14bb7b97d31dfd02ff21c38f6df  libstdc++-v3/include/bits/chrono_io.h
  2ff73cb405cb01626a751e0fa0f339f3  libstdc++-v3/include/bits/codecvt.h
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e999e0783a5ca2165919f352526501e9  libstdc++-v3/include/bits/cow_string.h
--- 131911,131917 ----
  4ab7627c024bab75db708e43d35616aa  libstdc++-v3/include/bits/char_traits.h
  195dabcb74f9b313c574745539925b0e  libstdc++-v3/include/bits/charconv.h
  2ac54ed5e0fab6bc6f771ecb2e9a9757  libstdc++-v3/include/bits/chrono.h
! 05acbabce31e6dc095a85f422865f245  libstdc++-v3/include/bits/chrono_io.h
  2ff73cb405cb01626a751e0fa0f339f3  libstdc++-v3/include/bits/codecvt.h
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e999e0783a5ca2165919f352526501e9  libstdc++-v3/include/bits/cow_string.h
*************** ed6663b9ff729b09c2bacefa3568d1fc  libstd
*** 132608,132614 ****
  c9ef2791c2dc0d6c98a1a85c8f6aa473  libstdc++-v3/include/std/list
  f4af31191dea172207576960ad71d42d  libstdc++-v3/include/std/locale
  8b76fc7da76f0579c2fd1f22821d03be  libstdc++-v3/include/std/map
! f2d366f6ad99b96a708f9b404eec0c9e  libstdc++-v3/include/std/memory
  9e86c11ff29d60fddf403674e9182b36  libstdc++-v3/include/std/memory_resource
  0c1cb418026be858b68ab6539158db68  libstdc++-v3/include/std/mutex
  ef0d0725f5b70a4c1b5b62b84b2b63f7  libstdc++-v3/include/std/numbers
--- 132633,132639 ----
  c9ef2791c2dc0d6c98a1a85c8f6aa473  libstdc++-v3/include/std/list
  f4af31191dea172207576960ad71d42d  libstdc++-v3/include/std/locale
  8b76fc7da76f0579c2fd1f22821d03be  libstdc++-v3/include/std/map
! ba52fc2e0904a31a08183de15bd8c424  libstdc++-v3/include/std/memory
  9e86c11ff29d60fddf403674e9182b36  libstdc++-v3/include/std/memory_resource
  0c1cb418026be858b68ab6539158db68  libstdc++-v3/include/std/mutex
  ef0d0725f5b70a4c1b5b62b84b2b63f7  libstdc++-v3/include/std/numbers
*************** d85f3a53465585d54b96880e79456c79  libstd
*** 132950,132956 ****
  2f142e6a788b76b05091ff09d99ae47c  libstdc++-v3/src/c++23/print.cc
  15f6b28b71ad24bc5b6d33c21048e59a  libstdc++-v3/src/c++23/stacktrace.cc
  c319163994652e23066095eded5869f0  libstdc++-v3/src/c++23/std-clib.cc.in
! 398d2f407186b56d198ec6806cd6db48  libstdc++-v3/src/c++23/std.cc.in
  ef2786c62e1aa27a5405d7bf70e5212c  libstdc++-v3/src/c++23/std.compat.cc.in
  97527213996a1ca6a0910b1ab5f6c3a3  libstdc++-v3/src/c++26/Makefile.am
  5dd6b2acd5d63f897ba1545bb9a07d25  libstdc++-v3/src/c++26/Makefile.in
--- 132975,132981 ----
  2f142e6a788b76b05091ff09d99ae47c  libstdc++-v3/src/c++23/print.cc
  15f6b28b71ad24bc5b6d33c21048e59a  libstdc++-v3/src/c++23/stacktrace.cc
  c319163994652e23066095eded5869f0  libstdc++-v3/src/c++23/std-clib.cc.in
! 8b077c814dc27cd11461b13dd51dcbb3  libstdc++-v3/src/c++23/std.cc.in
  ef2786c62e1aa27a5405d7bf70e5212c  libstdc++-v3/src/c++23/std.compat.cc.in
  97527213996a1ca6a0910b1ab5f6c3a3  libstdc++-v3/src/c++26/Makefile.am
  5dd6b2acd5d63f897ba1545bb9a07d25  libstdc++-v3/src/c++26/Makefile.in
*************** a69299709ad55c8e891216919470533c  libstd
*** 133722,133728 ****
  8b53fa85edafd52c50395631802734a2  libstdc++-v3/testsuite/20_util/headers/memory/114866.cc
  55f5eda06de1ef3c6e132e04e98ea054  libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
  272460dfbecaa542ec482d22035f4cf2  libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
! ab228be36ab386f60d442030820f1348  libstdc++-v3/testsuite/20_util/headers/memory/version.cc
  daf90d8ed8797ee551ba5bc0a0aa71b0  libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
  2b5c7631c9fc571e2357b26a342c0800  libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
  2be10e3816ca330b10e8dd826eb4a3ec  libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
--- 133747,133753 ----
  8b53fa85edafd52c50395631802734a2  libstdc++-v3/testsuite/20_util/headers/memory/114866.cc
  55f5eda06de1ef3c6e132e04e98ea054  libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
  272460dfbecaa542ec482d22035f4cf2  libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
! 8492f2875030a6b25ae26cf2bfe312d2  libstdc++-v3/testsuite/20_util/headers/memory/version.cc
  daf90d8ed8797ee551ba5bc0a0aa71b0  libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
  2b5c7631c9fc571e2357b26a342c0800  libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
  2be10e3816ca330b10e8dd826eb4a3ec  libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
*************** a079edcb6a203a044afe2c9557e32280  libstd
*** 136082,136088 ****
  0781724cbea5a0d97f01629c7507e9c9  libstdc++-v3/testsuite/23_containers/flat_set/1.cc
  0c9946a785a1bcd0c52de4c0d17ff0e9  libstdc++-v3/testsuite/23_containers/forward_list/48101-2_neg.cc
  db346e707266a3e88546dac4c00c987b  libstdc++-v3/testsuite/23_containers/forward_list/48101-3_neg.cc
! 31b26a71c11b5ffe0b267d345e784244  libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc
  23bf2211410c5687ee618c689a87b32c  libstdc++-v3/testsuite/23_containers/forward_list/92124.cc
  70e043c08360f48dfc412680ed06730c  libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc
  914a558e348b0f33f55af59e7e3822a6  libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc
--- 136107,136113 ----
  0781724cbea5a0d97f01629c7507e9c9  libstdc++-v3/testsuite/23_containers/flat_set/1.cc
  0c9946a785a1bcd0c52de4c0d17ff0e9  libstdc++-v3/testsuite/23_containers/forward_list/48101-2_neg.cc
  db346e707266a3e88546dac4c00c987b  libstdc++-v3/testsuite/23_containers/forward_list/48101-3_neg.cc
! 6c11f9363d6ec93dd780d735c215c75c  libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc
  23bf2211410c5687ee618c689a87b32c  libstdc++-v3/testsuite/23_containers/forward_list/92124.cc
  70e043c08360f48dfc412680ed06730c  libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc
  914a558e348b0f33f55af59e7e3822a6  libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc
*************** da421f8c7821a0a6d7eab3d8001476e3  libstd
*** 136221,136227 ****
  0c57216d95b8e011d998b31199a3f48e  libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
  f9ba9264d72096689327287251a61955  libstdc++-v3/testsuite/23_containers/list/48101-2_neg.cc
  bf4a469f6a6ee6fa54b1bfd1e8bc89ad  libstdc++-v3/testsuite/23_containers/list/48101-3_neg.cc
! 4ccae9a3ae5c677936481fc46e0b44a0  libstdc++-v3/testsuite/23_containers/list/48101_neg.cc
  e2a137f6eb363cf505246e2c0a9a0e6d  libstdc++-v3/testsuite/23_containers/list/58764.cc
  50e16312ae535864a72d03c368d38e25  libstdc++-v3/testsuite/23_containers/list/61347.cc
  c806c4226001b62dcd0bbd3ea163eedd  libstdc++-v3/testsuite/23_containers/list/68222_neg.cc
--- 136246,136252 ----
  0c57216d95b8e011d998b31199a3f48e  libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
  f9ba9264d72096689327287251a61955  libstdc++-v3/testsuite/23_containers/list/48101-2_neg.cc
  bf4a469f6a6ee6fa54b1bfd1e8bc89ad  libstdc++-v3/testsuite/23_containers/list/48101-3_neg.cc
! 1e3bb46218f21afcb45e7cdfbf465d5c  libstdc++-v3/testsuite/23_containers/list/48101_neg.cc
  e2a137f6eb363cf505246e2c0a9a0e6d  libstdc++-v3/testsuite/23_containers/list/58764.cc
  50e16312ae535864a72d03c368d38e25  libstdc++-v3/testsuite/23_containers/list/61347.cc
  c806c4226001b62dcd0bbd3ea163eedd  libstdc++-v3/testsuite/23_containers/list/68222_neg.cc
*************** f96d165525267450c6d67650dcbcf368  libstd
*** 136550,136556 ****
  cb0a3e63b90f2b233aae9f43145b9e9c  libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
  721633374267ee4aa569ef1c52be4798  libstdc++-v3/testsuite/23_containers/multiset/48101-2_neg.cc
  12f97f4a98ee5eebeb891823c686f12f  libstdc++-v3/testsuite/23_containers/multiset/48101-3_neg.cc
! 07081b7bdcf7fb679cea4a99b79ce81d  libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc
  1567bb0963d1736efeeb5066ddab3528  libstdc++-v3/testsuite/23_containers/multiset/58764.cc
  c599e48655ea2e75c592ab5a1cf5ae3c  libstdc++-v3/testsuite/23_containers/multiset/allocator/103501.cc
  8d7f8c485a67a7b7ded260b7dd8cd858  libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc
--- 136575,136581 ----
  cb0a3e63b90f2b233aae9f43145b9e9c  libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
  721633374267ee4aa569ef1c52be4798  libstdc++-v3/testsuite/23_containers/multiset/48101-2_neg.cc
  12f97f4a98ee5eebeb891823c686f12f  libstdc++-v3/testsuite/23_containers/multiset/48101-3_neg.cc
! 72451cdc0518f6f1e313d485f54e0e51  libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc
  1567bb0963d1736efeeb5066ddab3528  libstdc++-v3/testsuite/23_containers/multiset/58764.cc
  c599e48655ea2e75c592ab5a1cf5ae3c  libstdc++-v3/testsuite/23_containers/multiset/allocator/103501.cc
  8d7f8c485a67a7b7ded260b7dd8cd858  libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc
*************** b10a29716fd6e4bdef5ea2f1b175c1b1  libstd
*** 136663,136669 ****
  0cee3410038d18ef302679e00961900b  libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
  80049b2712f011348299cb3a04379353  libstdc++-v3/testsuite/23_containers/set/48101-2_neg.cc
  34b5de2ad02c6e7fcdf995b11b8613a1  libstdc++-v3/testsuite/23_containers/set/48101-3_neg.cc
! a158eb74c3e4ff6b6641a12ecd12a2a9  libstdc++-v3/testsuite/23_containers/set/48101_neg.cc
  146f825da793861477291a135dcd3b73  libstdc++-v3/testsuite/23_containers/set/58764.cc
  2f4e45a1dbd39289fca3d4558c48dbd1  libstdc++-v3/testsuite/23_containers/set/85965.cc
  e144215122935e61b0fbbd6a80f030f4  libstdc++-v3/testsuite/23_containers/set/92124.cc
--- 136688,136694 ----
  0cee3410038d18ef302679e00961900b  libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
  80049b2712f011348299cb3a04379353  libstdc++-v3/testsuite/23_containers/set/48101-2_neg.cc
  34b5de2ad02c6e7fcdf995b11b8613a1  libstdc++-v3/testsuite/23_containers/set/48101-3_neg.cc
! 034a70fefdbcfa64609efe57b3f3b977  libstdc++-v3/testsuite/23_containers/set/48101_neg.cc
  146f825da793861477291a135dcd3b73  libstdc++-v3/testsuite/23_containers/set/58764.cc
  2f4e45a1dbd39289fca3d4558c48dbd1  libstdc++-v3/testsuite/23_containers/set/85965.cc
  e144215122935e61b0fbbd6a80f030f4  libstdc++-v3/testsuite/23_containers/set/92124.cc
*************** a87e1152f6bc2804b93ce070a51eeb54  libstd
*** 142187,142192 ****
--- 142212,142218 ----
  9cd4d6791c125e40939cae77277f928d  libstdc++-v3/testsuite/std/time/format/pr117085.cc
  419cdd8872b10325a937888fac85a489  libstdc++-v3/testsuite/std/time/format/pr117214.cc
  107c8c7bd6daa477dad84b5cfee3eacf  libstdc++-v3/testsuite/std/time/format/pr119517.cc
+ 7151cef2bf017dd6ee0e0ee9830b8909  libstdc++-v3/testsuite/std/time/format/pr120114.cc
  2be47743c9d490923037b020cfc220b7  libstdc++-v3/testsuite/std/time/freestanding.cc
  e1b4a0af956607fcdfe6d75e391ae49c  libstdc++-v3/testsuite/std/time/hh_mm_ss/1.cc
  4ba93d13314c788e419728411ae7229d  libstdc++-v3/testsuite/std/time/hh_mm_ss/109772.cc
diff -Nrcpad gcc-15-20250503/gcc/ChangeLog gcc-15-20250510/gcc/ChangeLog
*** gcc-15-20250503/gcc/ChangeLog	Sat May  3 22:32:09 2025
--- gcc-15-20250510/gcc/ChangeLog	Sat May 10 22:32:20 2025
***************
*** 1,3 ****
--- 1,61 ----
+ 2025-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* vr-values.cc (simplify_using_ranges::simplify) <BIT_AND_EXPR>:
+ 	Do not call simplify_bit_ops_using_ranges for boolean types whose
+ 	precision is not 1.
+ 
+ 2025-05-07  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-05-06  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/119852
+ 	* cgraphclones.cc (dump_callgraph_transformation): Document the
+ 	function.  Do not dump if suffix is NULL.
+ 
+ 2025-05-07  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-05-06  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	* doc/invoke.texi (Developer Options): Document -fdump-ipa-clones.
+ 
+ 2025-05-06  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/120048
+ 	* ipa-cp.cc (ipcp_store_vr_results): Check for UNDEFINED.
+ 
+ 2025-05-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/120074
+ 	* gimple-fold.cc (fold_truth_andor_for_ifcombine): For
+ 	lsignbit && l_xor case, punt if ll_bitsize != lr_bitsize.  Similarly
+ 	for rsignbit && r_xor case, punt if rl_bitsize != rr_bitsize.
+ 	Formatting fix.
+ 
+ 2025-05-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/120006
+ 	* tree-ssa-structalias.cc (find_func_clobbers): Handle
+ 	strdup, strndup, realloc, index, strchr, strrchr, memchr,
+ 	strstr, strpbrk builtins like find_func_aliases does.
+ 
+ 2025-05-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/119973
+ 	* tree-ssa-structalias.cc (create_variable_info_for):
+ 	Build constraints from DECL_INITIAL directly rather than
+ 	the IPA reference list which is incomplete.
+ 
  2025-04-30  Andrew MacLeod  <amacleod@redhat.com>
  
  	PR tree-optimization/119712
diff -Nrcpad gcc-15-20250503/gcc/DATESTAMP gcc-15-20250510/gcc/DATESTAMP
*** gcc-15-20250503/gcc/DATESTAMP	Sat May  3 22:32:09 2025
--- gcc-15-20250510/gcc/DATESTAMP	Sat May 10 22:32:20 2025
***************
*** 1 ****
! 20250503
--- 1 ----
! 20250510
diff -Nrcpad gcc-15-20250503/gcc/ada/ChangeLog gcc-15-20250510/gcc/ada/ChangeLog
*** gcc-15-20250503/gcc/ada/ChangeLog	Sat May  3 22:32:09 2025
--- gcc-15-20250510/gcc/ada/ChangeLog	Sat May 10 22:32:20 2025
***************
*** 1,3 ****
--- 1,9 ----
+ 2025-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/120104
+ 	* exp_ch3.adb (Expand_Freeze_Record_Type): For a controlled tagged
+ 	type, freeze only the controlled primitives that are present.
+ 
  2025-04-30  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/112958
diff -Nrcpad gcc-15-20250503/gcc/ada/exp_ch3.adb gcc-15-20250510/gcc/ada/exp_ch3.adb
*** gcc-15-20250503/gcc/ada/exp_ch3.adb	Sat May  3 22:32:10 2025
--- gcc-15-20250510/gcc/ada/exp_ch3.adb	Sat May 10 22:32:20 2025
*************** package body Exp_Ch3 is
*** 6321,6339 ****
              --  frozen inside.
  
              if Is_Controlled (Typ) then
!                Append_Freeze_Actions (Typ,
!                  Freeze_Entity
!                    (Find_Controlled_Prim_Op (Typ, Name_Initialize), Typ));
  
!                if not Is_Limited_Type (Typ) then
!                   Append_Freeze_Actions (Typ,
!                     Freeze_Entity
!                       (Find_Controlled_Prim_Op (Typ, Name_Adjust), Typ));
!                end if;
  
!                Append_Freeze_Actions (Typ,
!                  Freeze_Entity
!                    (Find_Controlled_Prim_Op (Typ, Name_Finalize), Typ));
              end if;
  
              --  Freeze rest of primitive operations. There is no need to handle
--- 6321,6347 ----
              --  frozen inside.
  
              if Is_Controlled (Typ) then
!                declare
!                   Prim : Entity_Id;
  
!                begin
!                   Prim := Find_Controlled_Prim_Op (Typ, Name_Initialize);
!                   if Present (Prim) then
!                      Append_Freeze_Actions (Typ, Freeze_Entity (Prim, Typ));
!                   end if;
  
!                   if not Is_Limited_Type (Typ) then
!                      Prim := Find_Controlled_Prim_Op (Typ, Name_Adjust);
!                      if Present (Prim) then
!                         Append_Freeze_Actions (Typ, Freeze_Entity (Prim, Typ));
!                      end if;
!                   end if;
! 
!                   Prim := Find_Controlled_Prim_Op (Typ, Name_Finalize);
!                   if Present (Prim) then
!                      Append_Freeze_Actions (Typ, Freeze_Entity (Prim, Typ));
!                   end if;
!                end;
              end if;
  
              --  Freeze rest of primitive operations. There is no need to handle
diff -Nrcpad gcc-15-20250503/gcc/c-family/ChangeLog gcc-15-20250510/gcc/c-family/ChangeLog
*** gcc-15-20250503/gcc/c-family/ChangeLog	Sat May  3 22:32:11 2025
--- gcc-15-20250510/gcc/c-family/ChangeLog	Sat May 10 22:32:21 2025
***************
*** 1,3 ****
--- 1,11 ----
+ 2025-05-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-opts.cc (c_common_post_options): Let plain -Wabi warn
+ 	about changes in a future version.
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250503/gcc/c-family/c-opts.cc gcc-15-20250510/gcc/c-family/c-opts.cc
*** gcc-15-20250503/gcc/c-family/c-opts.cc	Sat May  3 22:32:11 2025
--- gcc-15-20250510/gcc/c-family/c-opts.cc	Sat May 10 22:32:21 2025
*************** c_common_post_options (const char **pfil
*** 1085,1096 ****
    /* Change flag_abi_version to be the actual current ABI level, for the
       benefit of c_cpp_builtins, and to make comparison simpler.  */
    const int latest_abi_version = 20;
    /* Generate compatibility aliases for ABI v13 (8.2) by default.  */
    const int abi_compat_default = 13;
  
  #define clamp(X) if (X == 0 || X > latest_abi_version) X = latest_abi_version
    clamp (flag_abi_version);
!   clamp (warn_abi_version);
    clamp (flag_abi_compat_version);
  #undef clamp
  
--- 1085,1105 ----
    /* Change flag_abi_version to be the actual current ABI level, for the
       benefit of c_cpp_builtins, and to make comparison simpler.  */
    const int latest_abi_version = 20;
+   /* Possibly different for non-default ABI fixes within a release.  */
+   const int default_abi_version = latest_abi_version;
    /* Generate compatibility aliases for ABI v13 (8.2) by default.  */
    const int abi_compat_default = 13;
  
+   if (flag_abi_version > latest_abi_version)
+     warning (0, "%<-fabi-version=%d%> is not supported, using =%d",
+ 	     flag_abi_version, latest_abi_version);
+ 
+   SET_OPTION_IF_UNSET (&global_options, &global_options_set,
+ 		       flag_abi_version, default_abi_version);
+ 
  #define clamp(X) if (X == 0 || X > latest_abi_version) X = latest_abi_version
    clamp (flag_abi_version);
!   /* Don't clamp warn_abi_version, let it be 0 or out of bounds.  */
    clamp (flag_abi_compat_version);
  #undef clamp
  
*************** c_common_post_options (const char **pfil
*** 1101,1124 ****
      flag_abi_compat_version = warn_abi_version;
    else if (warn_abi_version == -1 && flag_abi_compat_version == -1)
      {
!       warn_abi_version = latest_abi_version;
!       if (flag_abi_version == latest_abi_version)
! 	{
! 	  auto_diagnostic_group d;
! 	  if (warning (OPT_Wabi, "%<-Wabi%> won%'t warn about anything"))
! 	    {
! 	      inform (input_location, "%<-Wabi%> warns about differences "
! 		      "from the most up-to-date ABI, which is also used "
! 		      "by default");
! 	      inform (input_location, "use e.g. %<-Wabi=11%> to warn about "
! 		      "changes from GCC 7");
! 	    }
! 	  flag_abi_compat_version = abi_compat_default;
! 	}
        else
  	flag_abi_compat_version = latest_abi_version;
      }
  
    /* By default, enable the new inheriting constructor semantics along with ABI
       11.  New and old should coexist fine, but it is a change in what
       artificial symbols are generated.  */
--- 1110,1126 ----
      flag_abi_compat_version = warn_abi_version;
    else if (warn_abi_version == -1 && flag_abi_compat_version == -1)
      {
!       warn_abi_version = 0;
!       if (flag_abi_version == default_abi_version)
! 	flag_abi_compat_version = abi_compat_default;
        else
  	flag_abi_compat_version = latest_abi_version;
      }
  
+   /* Allow warnings vs ABI versions beyond what we currently support.  */
+   if (warn_abi_version == 0)
+     warn_abi_version = 1000;
+ 
    /* By default, enable the new inheriting constructor semantics along with ABI
       11.  New and old should coexist fine, but it is a change in what
       artificial symbols are generated.  */
diff -Nrcpad gcc-15-20250503/gcc/cgraphclones.cc gcc-15-20250510/gcc/cgraphclones.cc
*** gcc-15-20250503/gcc/cgraphclones.cc	Sat May  3 22:32:11 2025
--- gcc-15-20250510/gcc/cgraphclones.cc	Sat May 10 22:32:21 2025
*************** cgraph_node::expand_all_artificial_thunk
*** 307,318 ****
        e = e->next_caller;
  }
  
  void
  dump_callgraph_transformation (const cgraph_node *original,
  			       const cgraph_node *clone,
  			       const char *suffix)
  {
!   if (symtab->ipa_clones_dump_file)
      {
        fprintf (symtab->ipa_clones_dump_file,
  	       "Callgraph clone;%s;%d;%s;%d;%d;%s;%d;%s;%d;%d;%s\n",
--- 307,326 ----
        e = e->next_caller;
  }
  
+ /* Dump information about creation of a call graph node clone to the dump file
+    created by the -fdump-ipa-clones option.  ORIGINAL is the function being
+    cloned, CLONE is the new clone.  SUFFIX is a string that helps identify the
+    reason for cloning, often it is the suffix used by a particular IPA pass to
+    create unique function names.  SUFFIX can be NULL and in that case the
+    dumping will not take place, which must be the case only for helper clones
+    which will never be emitted to the output.  */
+ 
  void
  dump_callgraph_transformation (const cgraph_node *original,
  			       const cgraph_node *clone,
  			       const char *suffix)
  {
!   if (suffix && symtab->ipa_clones_dump_file)
      {
        fprintf (symtab->ipa_clones_dump_file,
  	       "Callgraph clone;%s;%d;%s;%d;%d;%s;%d;%s;%d;%d;%s\n",
diff -Nrcpad gcc-15-20250503/gcc/cp/ChangeLog gcc-15-20250510/gcc/cp/ChangeLog
*** gcc-15-20250503/gcc/cp/ChangeLog	Sat May  3 22:32:13 2025
--- gcc-15-20250510/gcc/cp/ChangeLog	Sat May 10 22:32:22 2025
***************
*** 1,3 ****
--- 1,14 ----
+ 2025-05-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/120012
+ 	* cp-tree.h (struct lang_type): Add non_aggregate_pod.
+ 	(CLASSTYPE_NON_AGGREGATE_POD): New.
+ 	* class.cc (check_bases_and_members): Set it.
+ 	(check_non_pod_aggregate): Diagnose it.
+ 
  2025-05-01  Nathaniel Shead  <nathanieloshead@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250503/gcc/cp/class.cc gcc-15-20250510/gcc/cp/class.cc
*** gcc-15-20250503/gcc/cp/class.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/cp/class.cc	Sat May 10 22:32:22 2025
*************** check_bases_and_members (tree t)
*** 6413,6421 ****
       Again, other conditions for being an aggregate are checked
       elsewhere.  */
    CLASSTYPE_NON_AGGREGATE (t)
!     |= ((cxx_dialect < cxx20
! 	 ? type_has_user_provided_or_explicit_constructor (t)
! 	 : TYPE_HAS_USER_CONSTRUCTOR (t))
  	|| TYPE_POLYMORPHIC_P (t));
    /* This is the C++98/03 definition of POD; it changed in C++0x, but we
       retain the old definition internally for ABI reasons.  */
--- 6413,6419 ----
       Again, other conditions for being an aggregate are checked
       elsewhere.  */
    CLASSTYPE_NON_AGGREGATE (t)
!     |= (type_has_user_provided_or_explicit_constructor (t)
  	|| TYPE_POLYMORPHIC_P (t));
    /* This is the C++98/03 definition of POD; it changed in C++0x, but we
       retain the old definition internally for ABI reasons.  */
*************** check_bases_and_members (tree t)
*** 6437,6442 ****
--- 6435,6454 ----
  	CLASSTYPE_NON_LAYOUT_POD_P (t) = true;
      }
  
+   /* P1008: Prohibit aggregates with user-declared constructors.  */
+   if (cxx_dialect >= cxx20 && TYPE_HAS_USER_CONSTRUCTOR (t))
+     {
+       CLASSTYPE_NON_AGGREGATE (t) = true;
+       if (!CLASSTYPE_NON_LAYOUT_POD_P (t))
+ 	{
+ 	  /* c++/120012: The C++20 aggregate change affected layout.  */
+ 	  if (!abi_version_at_least (21))
+ 	    CLASSTYPE_NON_LAYOUT_POD_P (t) = true;
+ 	  if (abi_version_crosses (21))
+ 	    CLASSTYPE_NON_AGGREGATE_POD (t) = true;
+ 	}
+     }
+ 
    /* If the only explicitly declared default constructor is user-provided,
       set TYPE_HAS_COMPLEX_DFLT.  */
    if (!TYPE_HAS_COMPLEX_DFLT (t)
*************** end_of_class (tree t, eoc_mode mode)
*** 6809,6815 ****
  static void
  check_non_pod_aggregate (tree field)
  {
!   if (!abi_version_crosses (17) || cxx_dialect < cxx14)
      return;
    if (TREE_CODE (field) != FIELD_DECL
        || (!DECL_FIELD_IS_BASE (field)
--- 6821,6828 ----
  static void
  check_non_pod_aggregate (tree field)
  {
!   if ((!abi_version_crosses (17) || cxx_dialect < cxx14)
!       && (!abi_version_crosses (21) || cxx_dialect < cxx20))
      return;
    if (TREE_CODE (field) != FIELD_DECL
        || (!DECL_FIELD_IS_BASE (field)
*************** check_non_pod_aggregate (tree field)
*** 6822,6828 ****
    tree type = TREE_TYPE (field);
    if (TYPE_IDENTIFIER (type) == as_base_identifier)
      type = TYPE_CONTEXT (type);
!   if (!CLASS_TYPE_P (type) || !CLASSTYPE_NON_POD_AGGREGATE (type))
      return;
    tree size = end_of_class (type, (DECL_FIELD_IS_BASE (field)
  				   ? eoc_nvsize : eoc_nv_or_dsize));
--- 6835,6842 ----
    tree type = TREE_TYPE (field);
    if (TYPE_IDENTIFIER (type) == as_base_identifier)
      type = TYPE_CONTEXT (type);
!   if (!CLASS_TYPE_P (type) || (!CLASSTYPE_NON_POD_AGGREGATE (type)
! 			       && !CLASSTYPE_NON_AGGREGATE_POD (type)))
      return;
    tree size = end_of_class (type, (DECL_FIELD_IS_BASE (field)
  				   ? eoc_nvsize : eoc_nv_or_dsize));
*************** check_non_pod_aggregate (tree field)
*** 6831,6843 ****
      {
        location_t loc = DECL_SOURCE_LOCATION (next);
        if (DECL_FIELD_IS_BASE (next))
! 	warning_at (loc, OPT_Wabi,"offset of %qT base class for "
! 		    "%<-std=c++14%> and up changes in "
! 		    "%<-fabi-version=17%> (GCC 12)", TREE_TYPE (next));
        else
! 	warning_at (loc, OPT_Wabi, "offset of %qD for "
! 		    "%<-std=c++14%> and up changes in "
! 		    "%<-fabi-version=17%> (GCC 12)", next);
      }
  }
  
--- 6845,6875 ----
      {
        location_t loc = DECL_SOURCE_LOCATION (next);
        if (DECL_FIELD_IS_BASE (next))
! 	{
! 	  if (abi_version_crosses (17)
! 	      && CLASSTYPE_NON_POD_AGGREGATE (type))
! 	    warning_at (loc, OPT_Wabi,"offset of %qT base class for "
! 			"%<-std=c++14%> and up changes in "
! 			"%<-fabi-version=17%> (GCC 12)", TREE_TYPE (next));
! 	  else if (abi_version_crosses (21)
! 		   && CLASSTYPE_NON_AGGREGATE_POD (type))
! 	    warning_at (loc, OPT_Wabi,"offset of %qT base class for "
! 			"%<-std=c++20%> and up changes in "
! 			"%<-fabi-version=21%> (GCC 16)", TREE_TYPE (next));
! 	}
        else
! 	{
! 	  if (abi_version_crosses (17)
! 	      && CLASSTYPE_NON_POD_AGGREGATE (type))
! 	    warning_at (loc, OPT_Wabi, "offset of %qD for "
! 			"%<-std=c++14%> and up changes in "
! 			"%<-fabi-version=17%> (GCC 12)", next);
! 	  else if (abi_version_crosses (21)
! 		   && CLASSTYPE_NON_AGGREGATE_POD (type))
! 	    warning_at (loc, OPT_Wabi, "offset of %qD for "
! 			"%<-std=c++20%> and up changes in "
! 			"%<-fabi-version=21%> (GCC 16)", next);
! 	}
      }
  }
  
diff -Nrcpad gcc-15-20250503/gcc/cp/cp-tree.h gcc-15-20250510/gcc/cp/cp-tree.h
*** gcc-15-20250503/gcc/cp/cp-tree.h	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/cp/cp-tree.h	Sat May 10 22:32:22 2025
*************** struct GTY(()) lang_type {
*** 2491,2496 ****
--- 2491,2497 ----
    unsigned unique_obj_representations_set : 1;
    bool erroneous : 1;
    bool non_pod_aggregate : 1;
+   bool non_aggregate_pod : 1;
  
    /* When adding a flag here, consider whether or not it ought to
       apply to a template instance if it applies to the template.  If
*************** struct GTY(()) lang_type {
*** 2499,2505 ****
    /* There are some bits left to fill out a 32-bit word.  Keep track
       of this by updating the size of this bitfield whenever you add or
       remove a flag.  */
!   unsigned dummy : 3;
  
    tree primary_base;
    vec<tree_pair_s, va_gc> *vcall_indices;
--- 2500,2506 ----
    /* There are some bits left to fill out a 32-bit word.  Keep track
       of this by updating the size of this bitfield whenever you add or
       remove a flag.  */
!   unsigned dummy : 2;
  
    tree primary_base;
    vec<tree_pair_s, va_gc> *vcall_indices;
*************** struct GTY(()) lang_type {
*** 2826,2831 ****
--- 2827,2837 ----
     with a hash_set only filled in when abi_version_crosses (17).  */
  #define CLASSTYPE_NON_POD_AGGREGATE(NODE) \
    (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_aggregate)
+ 
+ /* True if this class is layout-POD though it's not an aggregate in C++20 and
+    above (c++/120012).  This could also be a hash_set.  */
+ #define CLASSTYPE_NON_AGGREGATE_POD(NODE) \
+   (LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate_pod)
  
  /* Additional macros for inheritance information.  */
  
diff -Nrcpad gcc-15-20250503/gcc/doc/invoke.texi gcc-15-20250510/gcc/doc/invoke.texi
*** gcc-15-20250503/gcc/doc/invoke.texi	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/doc/invoke.texi	Sat May 10 22:32:22 2025
*************** By default, the dump will contain messag
*** 20748,20753 ****
--- 20748,20840 ----
  optimizations (equivalent to @option{-optimized}) together with
  low-level details about the analysis.
  
+ @opindex fdump-ipa-clones
+ @item -fdump-ipa-clones
+ 
+ Create a dump file containing information about creation of call graph
+ node clones and removals of call graph nodes during inter-procedural
+ optimizations and transformations.  Its main intended use is that tools
+ that create live-patches can determine the set of functions that need to
+ be live-patched to completely replace a particular function (see
+ @option{-flive-patching}).  The file name is generated by appending
+ suffix @code{ipa-clones} to the source file name, and the file is
+ created in the same directory as the output file.  Each entry in the
+ file is on a separate line containing semicolon separated fields.
+ 
+ In the case of call graph clone creation, the individual fields are:
+ 
+ @enumerate
+ @item
+ String @code{Callgraph clone}.
+ 
+ @item
+ Name of the function being cloned as it is presented to the assembler.
+ 
+ @item
+ A number that uniquely represents the function being cloned in the call
+ graph.  Note that the number is unique only within a compilation unit or
+ within whole-program analysis but is likely to be different in the two
+ phases.
+ 
+ @item
+ The file name of the source file where the function is defined.
+ 
+ @item
+ The line on which the function definition is located.
+ 
+ @item
+ The column where the function definition is located.
+ 
+ @item
+ Name of the new function clone as it is presented to the assembler.
+ 
+ @item
+ A number that uniquely represents the new function clone in the call
+ graph.  Note that the number is unique only within a compilation unit or
+ within whole-program analysis but is likely to be different in the two
+ phases.
+ 
+ @item
+ The file name of the source file where the source code location of the
+ new clone points to.
+ 
+ @item
+ The line to which the source code location of the new clone points to.
+ 
+ @item
+ The column to which the source code location of the new clone points to.
+ 
+ @item
+ A string that determines the reason for cloning.
+ 
+ @end enumerate
+ 
+ In the case of call graph clone removal, the individual fields are:
+ 
+ @enumerate
+ @item
+ String @code{Callgraph removal}.
+ 
+ @item
+ Name of the function being removed as it would be presented to the assembler.
+ 
+ @item
+ A number that uniquely represents the function being cloned in the call
+ graph.  Note that the number is unique only within a compilation unit or
+ within whole-program analysis but is likely to be different in the two
+ phases.
+ 
+ @item
+ The file name of the source file where the function is defined.
+ 
+ @item
+ The line on which the function definition is located.
+ 
+ @item
+ The column where the function definition is located.
+ 
+ @end enumerate
+ 
  @opindex fdump-lang
  @item -fdump-lang
  Dump language-specific information.  The file name is made by appending
diff -Nrcpad gcc-15-20250503/gcc/fortran/ChangeLog gcc-15-20250510/gcc/fortran/ChangeLog
*** gcc-15-20250503/gcc/fortran/ChangeLog	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/fortran/ChangeLog	Sat May 10 22:32:22 2025
***************
*** 1,3 ****
--- 1,41 ----
+ 2025-05-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-05-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/120179
+ 	* match.cc (gfc_match_do): Do not attempt to match end-of-statement
+ 	twice.
+ 
+ 2025-05-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-05-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/119986
+ 	* expr.cc (is_subref_array): When searching for array references,
+ 	do not terminate early so that inquiry references to complex
+ 	components work.
+ 	* primary.cc (gfc_variable_attr): A substring reference can refer
+ 	to either a scalar or array character variable.  Adjust search
+ 	accordingly.
+ 
+ 2025-05-03  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-04-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/102900
+ 	* trans-decl.cc (gfc_generate_function_code): Use sym->result
+ 	when generating fake result decl for functions returning
+ 	allocatable or pointer results.
+ 	* trans-expr.cc (gfc_conv_procedure_call): When checking the
+ 	pointer status of an actual argument passed to a non-allocatable,
+ 	non-pointer dummy which is of type CLASS, do not check the
+ 	class container of the actual if it is just a procedure pointer.
+ 	(gfc_trans_pointer_assignment): Fix treatment of assignment to
+ 	NULL of a procedure pointer.
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250503/gcc/fortran/expr.cc gcc-15-20250510/gcc/fortran/expr.cc
*** gcc-15-20250503/gcc/fortran/expr.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/fortran/expr.cc	Sat May 10 22:32:22 2025
*************** is_subref_array (gfc_expr * e)
*** 1194,1199 ****
--- 1194,1200 ----
  	 what follows cannot be a subreference array, unless there is a
  	 substring reference.  */
        if (!seen_array && ref->type == REF_COMPONENT
+ 	  && ref->next == NULL
  	  && ref->u.c.component->ts.type != BT_CHARACTER
  	  && ref->u.c.component->ts.type != BT_CLASS
  	  && !gfc_bt_struct (ref->u.c.component->ts.type))
diff -Nrcpad gcc-15-20250503/gcc/fortran/match.cc gcc-15-20250510/gcc/fortran/match.cc
*** gcc-15-20250503/gcc/fortran/match.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/fortran/match.cc	Sat May 10 22:32:22 2025
*************** gfc_match_do (void)
*** 2738,2744 ****
  	  locus where = gfc_current_locus;
  
  	  if (gfc_match_eos () == MATCH_YES)
! 	    break;
  
  	  else if (gfc_match ("local ( ") == MATCH_YES)
  	    {
--- 2738,2744 ----
  	  locus where = gfc_current_locus;
  
  	  if (gfc_match_eos () == MATCH_YES)
! 	    goto concurr_ok;
  
  	  else if (gfc_match ("local ( ") == MATCH_YES)
  	    {
*************** gfc_match_do (void)
*** 2987,2992 ****
--- 2987,2993 ----
        if (gfc_match_eos () != MATCH_YES)
  	goto concurr_cleanup;
  
+ concurr_ok:
        if (label != NULL
  	   && !gfc_reference_st_label (label, ST_LABEL_DO_TARGET))
  	goto concurr_cleanup;
diff -Nrcpad gcc-15-20250503/gcc/fortran/primary.cc gcc-15-20250510/gcc/fortran/primary.cc
*** gcc-15-20250503/gcc/fortran/primary.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/fortran/primary.cc	Sat May 10 22:32:22 2025
*************** gfc_variable_attr (gfc_expr *expr, gfc_t
*** 2893,2898 ****
--- 2893,2899 ----
    gfc_symbol *sym;
    gfc_component *comp;
    bool has_inquiry_part;
+   bool has_substring_ref = false;
  
    if (expr->expr_type != EXPR_VARIABLE
        && expr->expr_type != EXPR_FUNCTION
*************** gfc_variable_attr (gfc_expr *expr, gfc_t
*** 2955,2961 ****
  
    has_inquiry_part = false;
    for (ref = expr->ref; ref; ref = ref->next)
!     if (ref->type == REF_INQUIRY)
        {
  	has_inquiry_part = true;
  	optional = false;
--- 2956,2967 ----
  
    has_inquiry_part = false;
    for (ref = expr->ref; ref; ref = ref->next)
!     if (ref->type == REF_SUBSTRING)
!       {
! 	has_substring_ref = true;
! 	optional = false;
!       }
!     else if (ref->type == REF_INQUIRY)
        {
  	has_inquiry_part = true;
  	optional = false;
*************** gfc_variable_attr (gfc_expr *expr, gfc_t
*** 3003,3011 ****
  	    *ts = comp->ts;
  	    /* Don't set the string length if a substring reference
  	       follows.  */
! 	    if (ts->type == BT_CHARACTER
! 		&& ref->next && ref->next->type == REF_SUBSTRING)
! 		ts->u.cl = NULL;
  	  }
  
  	if (comp->ts.type == BT_CLASS)
--- 3009,3016 ----
  	    *ts = comp->ts;
  	    /* Don't set the string length if a substring reference
  	       follows.  */
! 	    if (ts->type == BT_CHARACTER && has_substring_ref)
! 	      ts->u.cl = NULL;
  	  }
  
  	if (comp->ts.type == BT_CLASS)
diff -Nrcpad gcc-15-20250503/gcc/gimple-fold.cc gcc-15-20250510/gcc/gimple-fold.cc
*** gcc-15-20250503/gcc/gimple-fold.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/gimple-fold.cc	Sat May 10 22:32:22 2025
*************** fold_truth_andor_for_ifcombine (enum tre
*** 8300,8305 ****
--- 8300,8307 ----
  	ll_and_mask &= sign;
        if (l_xor)
  	{
+ 	  if (ll_bitsize != lr_bitsize)
+ 	    return 0;
  	  if (!lr_and_mask.get_precision ())
  	    lr_and_mask = sign;
  	  else
*************** fold_truth_andor_for_ifcombine (enum tre
*** 8321,8326 ****
--- 8323,8330 ----
  	rl_and_mask &= sign;
        if (r_xor)
  	{
+ 	  if (rl_bitsize != rr_bitsize)
+ 	    return 0;
  	  if (!rr_and_mask.get_precision ())
  	    rr_and_mask = sign;
  	  else
*************** fold_truth_andor_for_ifcombine (enum tre
*** 8728,8734 ****
        wide_int lr_mask, rr_mask;
        if (lr_and_mask.get_precision ())
  	lr_mask = wi::lshift (wide_int::from (lr_and_mask, rnprec, UNSIGNED),
! 			  xlr_bitpos);
        else
  	lr_mask = wi::shifted_mask (xlr_bitpos, lr_bitsize, false, rnprec);
        if (rr_and_mask.get_precision ())
--- 8732,8738 ----
        wide_int lr_mask, rr_mask;
        if (lr_and_mask.get_precision ())
  	lr_mask = wi::lshift (wide_int::from (lr_and_mask, rnprec, UNSIGNED),
! 			      xlr_bitpos);
        else
  	lr_mask = wi::shifted_mask (xlr_bitpos, lr_bitsize, false, rnprec);
        if (rr_and_mask.get_precision ())
diff -Nrcpad gcc-15-20250503/gcc/ipa-cp.cc gcc-15-20250510/gcc/ipa-cp.cc
*** gcc-15-20250503/gcc/ipa-cp.cc	Sat May  3 22:32:14 2025
--- gcc-15-20250510/gcc/ipa-cp.cc	Sat May 10 22:32:22 2025
*************** ipcp_store_vr_results (void)
*** 6398,6403 ****
--- 6398,6408 ----
  						     TYPE_PRECISION (type),
  						     TYPE_SIGN (type)));
  		  tmp.update_bitmask (bm);
+ 		  // Reflecting the bitmask on the ranges can sometime
+ 		  // produce an UNDEFINED value if the the bitmask update
+ 		  // was previously deferred.  See PR 120048.
+ 		  if (tmp.undefined_p ())
+ 		    tmp.set_varying (type);
  		  ipa_vr vr (tmp);
  		  ts->m_vr->quick_push (vr);
  		}
*************** ipcp_store_vr_results (void)
*** 6419,6424 ****
--- 6424,6434 ----
  						 TYPE_PRECISION (type),
  						 TYPE_SIGN (type)));
  	      tmp.update_bitmask (bm);
+ 	      // Reflecting the bitmask on the ranges can sometime
+ 	      // produce an UNDEFINED value if the the bitmask update
+ 	      // was previously deferred.  See PR 120048.
+ 	      if (tmp.undefined_p ())
+ 		tmp.set_varying (type);
  	      ipa_vr vr (tmp);
  	      ts->m_vr->quick_push (vr);
  	    }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/ChangeLog gcc-15-20250510/gcc/testsuite/ChangeLog
*** gcc-15-20250503/gcc/testsuite/ChangeLog	Sat May  3 22:32:16 2025
--- gcc-15-20250510/gcc/testsuite/ChangeLog	Sat May 10 22:32:23 2025
***************
*** 1,3 ****
--- 1,117 ----
+ 2025-05-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-05-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/120179
+ 	* gfortran.dg/do_concurrent_basic.f90: Extend testcase.
+ 
+ 2025-05-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-05-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/119986
+ 	* gfortran.dg/actual_array_subref.f90: New test.
+ 
+ 2025-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/opt106.adb: New test.
+ 	* gnat.dg/opt106_pkg1.ads, gnat.dg/opt106_pkg1.adb: New helper.
+ 	* gnat.dg/opt106_pkg2.ads, gnat.dg/opt106_pkg2.adb: Likewise.
+ 
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120152
+ 	PR libfortran/120153
+ 	PR libfortran/120158
+ 	* gfortran.dg/pr120152_1.f90: New test.
+ 	* gfortran.dg/pr120152_2.f90: New test.
+ 	* gfortran.dg/pr120153.f90: New test.
+ 	* gfortran.dg/pr120158.f90: New test.
+ 
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/108900
+ 	PR preprocessor/116047
+ 	PR preprocessor/120061
+ 	* gcc.dg/plugin/plugin.exp: Add location-overflow-test-pr116047.c
+ 	and location-overflow-test-pr120061.c.
+ 	* gcc.dg/plugin/location_overflow_plugin.cc (plugin_init): Don't error
+ 	on unknown values, instead just break.  Handle 0x4fHHHHHH arguments
+ 	differently.
+ 	* gcc.dg/plugin/location-overflow-test-pr116047.c: New test.
+ 	* gcc.dg/plugin/location-overflow-test-pr116047-1.h: New test.
+ 	* gcc.dg/plugin/location-overflow-test-pr116047-2.h: New test.
+ 	* gcc.dg/plugin/location-overflow-test-pr120061.c: New test.
+ 	* gcc.dg/plugin/location-overflow-test-pr120061-1.h: New test.
+ 	* gcc.dg/plugin/location-overflow-test-pr120061-2.h: New test.
+ 
+ 2025-05-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/120012
+ 	* g++.dg/abi/base-defaulted1.C: New test.
+ 	* g++.dg/abi/base-defaulted1a.C: New test.
+ 
+ 2025-05-07  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-05-06  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/119852
+ 	* gcc.dg/ipa/pr119852.c: New test.
+ 
+ 2025-05-06  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/120048
+ 	* gcc.dg/pr120048.c: New.
+ 
+ 2025-05-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/120074
+ 	* gcc.dg/pr120074.c: New test.
+ 
+ 2025-05-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/120006
+ 	* gcc.dg/torture/pr120006.c: New testcase.
+ 
+ 2025-05-05  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2025-04-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/119973
+ 	* gcc.dg/torture/pr119973.c: New testcase.
+ 
+ 2025-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/specs/finalizable1.ads: New test.
+ 
+ 2025-05-03  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-04-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/102900
+ 	* gfortran.dg/proc_ptr_52.f90: Add -fcheck=pointer to options.
+ 	* gfortran.dg/proc_ptr_57.f90: New test.
+ 
  2025-05-02  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250503/gcc/testsuite/g++.dg/abi/base-defaulted1.C gcc-15-20250510/gcc/testsuite/g++.dg/abi/base-defaulted1.C
*** gcc-15-20250503/gcc/testsuite/g++.dg/abi/base-defaulted1.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/g++.dg/abi/base-defaulted1.C	Sat May 10 22:32:25 2025
***************
*** 0 ****
--- 1,22 ----
+ // PR c++/120012
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options "-fabi-version=21 -Wabi=20" }
+ 
+ // The fix isn't implemented in this version.
+ // { dg-bogus "-fabi-version=21" "" { xfail *-*-* } 0 }
+ 
+ struct A
+ {
+    A(const A&) = default;
+    A(A&&) = default;
+    A& operator=(A&&) = default;
+    unsigned int a;
+    unsigned char b;
+ };
+ struct B: A
+ {
+    unsigned char c;
+ };
+ 
+ static_assert(sizeof(A) == (2 * sizeof(unsigned int)), "");
+ static_assert(sizeof(B) == (3 * sizeof(unsigned int)), ""); // { dg-bogus "failed" "" { xfail c++20 } }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/g++.dg/abi/base-defaulted1a.C gcc-15-20250510/gcc/testsuite/g++.dg/abi/base-defaulted1a.C
*** gcc-15-20250503/gcc/testsuite/g++.dg/abi/base-defaulted1a.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/g++.dg/abi/base-defaulted1a.C	Sat May 10 22:32:25 2025
***************
*** 0 ****
--- 1,23 ----
+ // PR c++/120012
+ // { dg-do compile { target c++11 } }
+ // { dg-additional-options "-fabi-version=20 -Wabi" }
+ 
+ struct A
+ {
+    A(const A&) = default;
+    A(A&&) = default;
+    A& operator=(A&&) = default;
+    unsigned int a;
+    unsigned char b;
+ };
+ struct B: A
+ {
+    unsigned char c;		// { dg-warning "offset" "" { target c++20 } }
+ };
+ 
+ static_assert(sizeof(A) == (2 * sizeof(unsigned int)), "");
+ #if __cplusplus >= 202002L
+ static_assert(sizeof(B) == (2 * sizeof(unsigned int)), "");
+ #else
+ static_assert(sizeof(B) == (3 * sizeof(unsigned int)), "");
+ #endif
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/ipa/pr119852.c gcc-15-20250510/gcc/testsuite/gcc.dg/ipa/pr119852.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/ipa/pr119852.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/ipa/pr119852.c	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1,50 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -fdump-ipa-clones"  } */
+ 
+ typedef struct rtx_def *rtx;
+ enum rtx_code {
+   LAST_AND_UNUSED_RTX_CODE};
+ extern const char * const rtx_format[((int) LAST_AND_UNUSED_RTX_CODE)];
+ struct rtx_def {
+   enum rtx_code code;
+ };
+ typedef int (*rtx_function) (rtx *, void *);
+ extern int for_each_rtx (rtx *, rtx_function, void *);
+ int
+ replace_label (rtx *x, void *data)
+ {
+   rtx l = *x;
+   if (l == (rtx) 0)
+     {
+  {
+    rtx new_c, new_l;
+    for_each_rtx (&new_c, replace_label, data);
+  }
+     }
+ }
+ static int
+ for_each_rtx_1 (rtx exp, int n, rtx_function f, void *data)
+ {
+   int result, i, j;
+   const char *format = (rtx_format[(int) (((enum rtx_code) (exp)->code))]);
+   rtx *x;
+   for (; format[n] != '\0'; n++)
+     {
+       switch (format[n])
+  {
+  case 'e':
+    result = (*f) (x, data);
+      {
+        result = for_each_rtx_1 (*x, i, f, data);
+      }
+  }
+     }
+ }
+ int
+ for_each_rtx (rtx *x, rtx_function f, void *data)
+ {
+   int i;
+   return for_each_rtx_1 (*x, i, f, data);
+ }
+ 
+ /* { dg-final { scan-ipa-dump-not "(null)"  "ipa-clones"  } } */
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1,6 ----
+ 
+ 
+ 
+ 
+ #include "location-overflow-test-pr116047-2.h"
+ static_assert (__LINE__ == 6, "");
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1 ----
+ int i;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1,5 ----
+ /* PR preprocessor/116047 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x4ffe0180" } */
+ #include "location-overflow-test-pr116047-1.h"
+ /* { dg-final { scan-file location-overflow-test-pr116047.i "static_assert\[^\n\r]\*6\[^\n\r]\*== 6" } } */
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1,6 ----
+ 
+ 
+ 
+ 
+ #include "location-overflow-test-pr120061-2.h"
+ 
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1 ----
+ int i;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c	Sat May 10 22:32:30 2025
***************
*** 0 ****
--- 1,6 ----
+ /* PR preprocessor/120061 */
+ /* { dg-do preprocess } */
+ /* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x61000000" } */
+ #include "location-overflow-test-pr120061-1.h"
+ static_assert (__LINE__ == 5, "");
+ /* { dg-final { scan-file location-overflow-test-pr120061.i "static_assert\[^\n\r]\*5\[^\n\r]\*== 5" } } */
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc	Sat May  3 22:32:35 2025
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc	Sat May 10 22:32:30 2025
*************** plugin_init (struct plugin_name_args *pl
*** 85,93 ****
      error_at (UNKNOWN_LOCATION, "missing plugin argument");
  
    /* With 64-bit locations, the thresholds are larger, so shift the base
!      location argument accordingly.  */
    gcc_assert (sizeof (location_t) == sizeof (uint64_t));
!   base_location = 1 + ((base_location - 1) << 31);
  
    register_callback (plugin_info->base_name,
  		     PLUGIN_PRAGMAS,
--- 85,102 ----
      error_at (UNKNOWN_LOCATION, "missing plugin argument");
  
    /* With 64-bit locations, the thresholds are larger, so shift the base
!      location argument accordingly, basically remap the GCC 14 32-bit
!      location_t argument values to 64-bit location_t counterparts.  There
!      is one exception for values slightly before the 32-bit location_t
!      LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES (0x50000000).  In that case
!      remap them to the same amount before the 64-bit location_t
!      LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES -
!      ((location_t) 0x50000000) << 31.  */
    gcc_assert (sizeof (location_t) == sizeof (uint64_t));
!   if (base_location >= 0x4f000000 && base_location <= 0x4fffffff)
!     base_location += (((location_t) 0x50000000) << 31) - 0x50000000;
!   else
!     base_location = 1 + ((base_location - 1) << 31);
  
    register_callback (plugin_info->base_name,
  		     PLUGIN_PRAGMAS,
*************** plugin_init (struct plugin_name_args *pl
*** 107,113 ****
        break;
  
      default:
!       error_at (UNKNOWN_LOCATION, "unrecognized value for plugin argument");
      }
  
    return 0;
--- 116,122 ----
        break;
  
      default:
!       break;
      }
  
    return 0;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/plugin.exp gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/plugin.exp
*** gcc-15-20250503/gcc/testsuite/gcc.dg/plugin/plugin.exp	Sat May  3 22:32:35 2025
--- gcc-15-20250510/gcc/testsuite/gcc.dg/plugin/plugin.exp	Sat May 10 22:32:30 2025
*************** set plugin_test_list [list \
*** 138,144 ****
      { location_overflow_plugin.cc \
  	  location-overflow-test-1.c \
  	  location-overflow-test-2.c \
! 	  location-overflow-test-pr83173.c } \
      { must_tail_call_plugin.cc \
  	  must-tail-call-1.c \
  	  must-tail-call-2.c } \
--- 138,146 ----
      { location_overflow_plugin.cc \
  	  location-overflow-test-1.c \
  	  location-overflow-test-2.c \
! 	  location-overflow-test-pr83173.c \
! 	  location-overflow-test-pr116047.c \
! 	  location-overflow-test-pr120061.c } \
      { must_tail_call_plugin.cc \
  	  must-tail-call-1.c \
  	  must-tail-call-2.c } \
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/pr120048.c gcc-15-20250510/gcc/testsuite/gcc.dg/pr120048.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/pr120048.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/pr120048.c	Sat May 10 22:32:31 2025
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-tree-vrp -fno-tree-fre" } */
+ 
+ int a, b, c;
+ static int d(short e) { return e || (a && e) ? 0 : a; }
+ static void f(int e) {
+   if (!e) {
+     d(0);
+     b = d(e);
+   }
+ }
+ int main() { f(c | 1); }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/pr120074.c gcc-15-20250510/gcc/testsuite/gcc.dg/pr120074.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/pr120074.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/pr120074.c	Sat May 10 22:32:31 2025
***************
*** 0 ****
--- 1,20 ----
+ /* PR tree-optimization/120074 */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -fno-tree-copy-prop -fno-tree-forwprop -fno-tree-ccp" } */
+ 
+ int foo (int);
+ short a;
+ int b;
+ 
+ int
+ bar (int d, int e)
+ {
+   return d < 0 || d > __INT_MAX__ >> e;
+ }
+ 
+ int
+ main ()
+ {
+   int f = bar ((b ^ a) & 3, __SIZEOF_INT__ * __CHAR_BIT__ - 2);
+   foo (f);
+ }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/torture/pr119973.c gcc-15-20250510/gcc/testsuite/gcc.dg/torture/pr119973.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/torture/pr119973.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/torture/pr119973.c	Sat May 10 22:32:32 2025
***************
*** 0 ****
--- 1,39 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-fipa-pta" } */
+ 
+ static int
+ is_valid_domain_name (const char *string)
+ {
+   const char *s;
+ 
+   for (s=string; *s; s++)
+     if (*s == '.')
+       {
+         if (string == s)
+           return 0;
+       }
+ 
+   return !!*string;
+ }
+ 
+ int
+ main (void)
+ {
+   static struct
+   {
+     const char *name;
+     int valid;
+   } testtbl[] =
+     {
+       { ".", 0 },
+       { nullptr, 0 }
+     };
+   int idx;
+ 
+   for (idx=0; testtbl[idx].name; idx++)
+     {
+       if (is_valid_domain_name (testtbl[idx].name) != testtbl[idx].valid)
+         __builtin_abort ();
+     }
+   return 0;
+ }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gcc.dg/torture/pr120006.c gcc-15-20250510/gcc/testsuite/gcc.dg/torture/pr120006.c
*** gcc-15-20250503/gcc/testsuite/gcc.dg/torture/pr120006.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gcc.dg/torture/pr120006.c	Sat May 10 22:32:32 2025
***************
*** 0 ****
--- 1,31 ----
+ /* { dg-do run } */
+ /* { dg-additional-options "-fipa-pta" } */
+ 
+ char *b;
+ int f = 1;
+ 
+ char *xstrdup(char *i) {
+   char *c = __builtin_strdup(i);
+   if (!c)
+     __builtin_exit(1);
+   return c;
+ }
+ 
+ int main() {
+   char g;
+   char h[8];
+ 
+   for (int i = 0; i < 2; i++) {
+     char c = *__builtin_strdup("");
+     b = &g;
+ 
+     if (f) {
+       h[0] = '-';
+       h[1] = 'a';
+       h[2] = '\0';
+       b = xstrdup(h);
+    }
+   }
+   if (__builtin_strcmp(b, "-a") != 0)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/actual_array_subref.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/actual_array_subref.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/actual_array_subref.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/actual_array_subref.f90	Sat May 10 22:32:46 2025
***************
*** 0 ****
--- 1,103 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O2 -fcheck=bounds" }
+ !
+ ! PR fortran/119986
+ !
+ ! Check passing of inquiry references of complex arrays and substring
+ ! references of character arrays when these are components of derived types.
+ !
+ ! Extended version of report by Neil Carlson.
+ 
+ program main
+   implicit none
+   integer :: j
+ 
+   complex, parameter  :: z0(*) = [(cmplx(j,-j),j=1,4)]
+   type :: cx
+      real :: re
+      real :: im
+   end type cx
+   type(cx), parameter :: c0(*) = [(cx   (j,-j),j=1,4)]
+ 
+   type :: my_type
+      complex  :: z(4) = z0
+      type(cx) :: c(4) = c0
+   end type my_type
+   type(my_type) :: x
+ 
+   character(*), parameter :: s0(*) = ["abcd","efgh","ijkl","mnop"]
+   character(*), parameter :: expect(*) = s0(:)(2:3)
+   character(len(s0))      :: s1(4) = s0
+ 
+   type :: str1
+      character(len(s0))   :: s(4)  = s0
+   end type str1
+   type(str1) :: string1
+ 
+   type :: str2
+      character(:), allocatable :: s(:)
+   end type str2
+   type(str2) :: string2
+ 
+   integer :: stopcode = 0
+ 
+   if (len(expect) /= 2)    stop 1
+   if (expect(4)   /= "no") stop 2
+   if (any(c0 %re  /= [ 1, 2, 3, 4])) stop 3
+   if (any(c0 %im  /= [-1,-2,-3,-4])) stop 4
+ 
+   stopcode = 10
+   call fubar ( x%z %re, x%z %im)
+   call fubar ( x%c %re, x%c %im)
+ 
+   stopcode = 20
+   call fubar ((x%z %re), (x%z %im))
+   call fubar ((x%c %re), (x%c %im))
+ 
+   stopcode = 30
+   call fubar ([x%z %re], [x%z %im])
+   call fubar ([x%c %re], [x%c %im])
+ 
+   stopcode = 50
+   call chk ( s0(:)(2:3) )
+   call chk ((s0(:)(2:3)))
+   call chk ([s0(:)(2:3)])
+ 
+   stopcode = 60
+   call chk ( s1(:)(2:3) )
+   call chk ((s1(:)(2:3)))
+   call chk ([s1(:)(2:3)])
+ 
+   stopcode = 70
+   call chk ( string1%s(:)(2:3) )
+   call chk ((string1%s(:)(2:3)))
+   call chk ([string1%s(:)(2:3)])
+ 
+   string2% s = s0
+   if (len(string2%s) /= 4) stop 99
+   stopcode = 80
+   call chk ( string2%s(:)(2:3) )
+   call chk ((string2%s(:)(2:3)))
+   call chk ([string2%s(:)(2:3)])
+   deallocate (string2% s)
+ 
+ contains
+ 
+   subroutine fubar(u, v)
+     real, intent(in) :: u(:), v(:)
+     if (any (u /= z0%re)) stop stopcode + 1
+     if (any (v /= z0%im)) stop stopcode + 2
+     if (any (u /= c0%re)) stop stopcode + 3
+     if (any (v /= c0%im)) stop stopcode + 4
+     stopcode = stopcode + 4
+   end subroutine
+ 
+   subroutine chk (s)
+     character(*), intent(in) :: s(:)
+     if (size(s) /= 4)      stop stopcode + 1
+     if (len (s) /= 2)      stop stopcode + 2
+     if (any (s /= expect)) stop stopcode + 3
+     stopcode = stopcode + 3
+   end subroutine chk
+ 
+ end program
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/do_concurrent_basic.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/do_concurrent_basic.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/do_concurrent_basic.f90	Sat May  3 22:32:59 2025
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/do_concurrent_basic.f90	Sat May 10 22:32:47 2025
***************
*** 1,4 ****
! ! { dg-do run }
  program basic_do_concurrent
    implicit none
    integer :: i, arr(10)
--- 1,4 ----
! ! { dg-do compile }
  program basic_do_concurrent
    implicit none
    integer :: i, arr(10)
*************** program basic_do_concurrent
*** 7,11 ****
      arr(i) = i
    end do
  
    print *, arr
! end program basic_do_concurrent
\ No newline at end of file
--- 7,14 ----
      arr(i) = i
    end do
  
+   do concurrent (i=1:10);enddo
+   do,concurrent (i=1:10);arr(i)=i;enddo
+ 
    print *, arr
! end program basic_do_concurrent
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120152_1.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120152_1.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120152_1.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120152_1.f90	Sat May 10 22:32:48 2025
***************
*** 0 ****
--- 1,52 ----
+ ! PR libfortran/120152
+ ! { dg-do run }
+ 
+ subroutine f1
+   integer(kind=8) :: a (10, 10, 10), b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0
+   c = .true.
+   b = maxloc (a, 2, c, 8, .true.)
+ end
+ subroutine f2
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0
+   c = .true.
+   b = maxloc (a, 2, c, 4, .true.)
+ end
+ subroutine f3
+   integer(kind=8) :: a (10, 10, 10), b (10, 10)
+   a = 0
+   b = maxloc (a, 2, kind=8, back=.true.)
+ end
+ subroutine f4
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   a = 0
+   b = maxloc (a, 2, kind=4, back=.true.)
+ end
+ subroutine f5
+   integer(kind=8) :: a (10, 10, 10), b (10, 10)
+   logical :: c
+   a = 0
+   c = .false.
+   b = maxloc (a, 2, c, 8, .true.)
+ end
+ subroutine f6
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   logical :: c
+   a = 0
+   c = .false.
+   b = maxloc (a, 2, c, 4, .true.)
+ end
+ program pr120152
+   call f1
+   call f2
+   call f3
+   call f4
+   call f5
+   call f6
+ end
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120152_2.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120152_2.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120152_2.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120152_2.f90	Sat May 10 22:32:48 2025
***************
*** 0 ****
--- 1,80 ----
+ ! PR libfortran/120152
+ ! { dg-do run { target fortran_large_int } }
+ 
+ subroutine f1
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=8) :: b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0
+   c = .true.
+   b = maxloc (a, 2, c, 8, .true.)
+ end
+ subroutine f2
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0
+   c = .true.
+   b = maxloc (a, 2, c, 4, .true.)
+ end
+ subroutine f3
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=8) :: b (10, 10)
+   a = 0
+   b = maxloc (a, 2, kind=8, back=.true.)
+ end
+ subroutine f4
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   a = 0
+   b = maxloc (a, 2, kind=4, back=.true.)
+ end
+ subroutine f5
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=8) :: b (10, 10)
+   logical :: c
+   a = 0
+   c = .false.
+   b = maxloc (a, 2, c, 8, .true.)
+ end
+ subroutine f6
+   integer(kind=16) :: a (10, 10, 10)
+   integer(kind=4) :: b (10, 10)
+   logical :: c
+   a = 0
+   c = .false.
+   b = maxloc (a, 2, c, 4, .true.)
+ end
+ subroutine f7
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=16) :: b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0
+   c = .true.
+   b = maxloc (a, 2, c, 16, .true.)
+ end
+ subroutine f8
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=16) :: b (10, 10)
+   a = 0
+   b = maxloc (a, 2, kind=16, back=.true.)
+ end
+ subroutine f9
+   integer(kind=8) :: a (10, 10, 10)
+   integer(kind=16) :: b (10, 10)
+   logical :: c
+   a = 0
+   c = .false.
+   b = maxloc (a, 2, c, 16, .true.)
+ end
+ program pr120152
+   call f1
+   call f2
+   call f3
+   call f4
+   call f5
+   call f6
+   call f7
+   call f8
+   call f9
+ end
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120153.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120153.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120153.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120153.f90	Sat May 10 22:32:48 2025
***************
*** 0 ****
--- 1,36 ----
+ ! PR libfortran/120153
+ ! { dg-do run { target fortran_large_int } }
+ ! { dg-additional-options "-funsigned" }
+ 
+ subroutine f1
+   unsigned(kind=16) :: a (10, 10, 10)
+   integer(kind=16) :: b (10, 10)
+   logical :: c (10, 10, 10)
+   a = 0u_16
+   c = .true.
+   b = maxloc (a, 2, c, 16, .true.)
+ end
+ subroutine f2
+   unsigned(kind=16) :: a (10, 10, 10)
+   integer(kind=16) :: b (10, 10)
+   a = 0u_16
+   b = maxloc (a, 2, kind=16, back=.true.)
+ end
+ subroutine f3
+   unsigned(kind=16) :: a (10, 10, 10)
+   integer(kind=8) :: b (10, 10)
+   logical :: c
+   a = 0u_16
+   c = .false.
+   b = maxloc (a, 2, c, 16, .true.)
+ end
+ subroutine f4
+   unsigned(kind=16) :: a (5, 5, 5)
+   call random_number (a)
+ end
+ program pr120153
+   call f1
+   call f2
+   call f3
+   call f4
+ end
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120158.f90 gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120158.f90
*** gcc-15-20250503/gcc/testsuite/gfortran.dg/pr120158.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gfortran.dg/pr120158.f90	Sat May 10 22:32:48 2025
***************
*** 0 ****
--- 1,15 ----
+ ! PR libfortran/120158
+ ! { dg-do run { target fortran_large_int } }
+ ! { dg-additional-options "-funsigned" }
+ 
+   unsigned(kind=8) :: a(10, 10, 10), b(10, 10)
+   integer(kind=8) :: c(10, 10), d(10, 10)
+   a = 0u_8
+   if (maxval (a) .ne. 0u_8) stop 1
+   b = maxval (a, 1)
+   if (any (b .ne. 0u_8)) stop 2
+   c = maxloc (a, 1)
+   d = maxloc (a, 2, back=.true.)
+   if (any (c .ne. 1)) stop 3
+   if (any (d .ne. 10)) stop 4
+ end
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/opt106.adb gcc-15-20250510/gcc/testsuite/gnat.dg/opt106.adb
*** gcc-15-20250503/gcc/testsuite/gnat.dg/opt106.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/opt106.adb	Sat May 10 22:32:50 2025
***************
*** 0 ****
--- 1,11 ----
+ -- { dg-do run }
+ -- { dg-options "-O2" }
+ 
+ with Opt106_Pkg1; use Opt106_Pkg1;
+ 
+ procedure Opt106 is
+   Obj : T := (False, 0, 0, 0, True);
+ 
+ begin
+   Proc (Obj, 0, False, True);
+ end;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg1.adb gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg1.adb
*** gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg1.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg1.adb	Sat May 10 22:32:50 2025
***************
*** 0 ****
--- 1,39 ----
+ with Opt106_Pkg2; use Opt106_Pkg2;
+ 
+ package body Opt106_Pkg1 is
+ 
+   procedure Proc (Obj     : in out T;
+                   Data    : Integer;
+                   Last    : Boolean;
+                   Stretch : Boolean) is
+ 
+   begin
+     if Stretch and then (Obj.Delayed /= 0 or else not Obj.Attach_Last) then
+       raise Program_Error;
+     end if;
+ 
+     if Obj.Delayed /= 0 then
+       Stop (Obj.Delayed, Obj.Before, Data, False);
+     end if;
+ 
+     if Last or (Obj.Delayed = 0 and not Stretch) then
+       Stop (Data, Obj.Before, 0, Last);
+ 
+       if Last then
+         Obj.Initialized := False;
+       else
+         Obj.Next := 0;
+         Obj.Before := Data;
+       end if;
+ 
+     else
+       if Stretch then
+         Obj.Next := 1;
+       else
+         Obj.Before := Obj.Delayed;
+       end if;
+       Obj.Delayed := Data;
+     end if;
+   end;
+ 
+ end Opt106_Pkg1;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg1.ads gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg1.ads
*** gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg1.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg1.ads	Sat May 10 22:32:50 2025
***************
*** 0 ****
--- 1,16 ----
+ package Opt106_Pkg1 is
+ 
+   type T is record
+     Initialized   : Boolean;
+     Before        : Integer;
+     Delayed       : Integer;
+     Next          : Integer;
+     Attach_Last   : Boolean;
+   end record;
+ 
+   procedure Proc (Obj     : in out T;
+                   Data    : Integer;
+                   Last    : Boolean;
+                   Stretch : Boolean);
+ 
+ end Opt106_Pkg1;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg2.adb gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg2.adb
*** gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg2.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg2.adb	Sat May 10 22:32:50 2025
***************
*** 0 ****
--- 1,11 ----
+ package body Opt106_Pkg2 is
+ 
+   procedure Stop (Delayed : Integer;
+                   Before  : Integer;
+                   After   : Integer;
+                   Last    : Boolean) is
+   begin
+      raise Program_Error;
+   end;
+ 
+ end Opt106_Pkg2;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg2.ads gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg2.ads
*** gcc-15-20250503/gcc/testsuite/gnat.dg/opt106_pkg2.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/opt106_pkg2.ads	Sat May 10 22:32:50 2025
***************
*** 0 ****
--- 1,8 ----
+ package Opt106_Pkg2 is
+ 
+   procedure Stop (Delayed : Integer;
+                   Before  : Integer;
+                   After   : Integer;
+                   Last    : Boolean);
+ 
+ end Opt106_Pkg2;
diff -Nrcpad gcc-15-20250503/gcc/testsuite/gnat.dg/specs/finalizable1.ads gcc-15-20250510/gcc/testsuite/gnat.dg/specs/finalizable1.ads
*** gcc-15-20250503/gcc/testsuite/gnat.dg/specs/finalizable1.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/gcc/testsuite/gnat.dg/specs/finalizable1.ads	Sat May 10 22:32:51 2025
***************
*** 0 ****
--- 1,11 ----
+ -- { dg-do compile }
+ -- { dg-options "-gnatX0" }
+ 
+ package Finalizable1 is
+ 
+   type Root is abstract tagged null record
+     with Finalizable => (Finalize => Finalize);
+ 
+   procedure Finalize (This : in out Root) is abstract;
+ 
+ end Finalizable1;
diff -Nrcpad gcc-15-20250503/gcc/tree-ssa-structalias.cc gcc-15-20250510/gcc/tree-ssa-structalias.cc
*** gcc-15-20250503/gcc/tree-ssa-structalias.cc	Sat May  3 22:33:07 2025
--- gcc-15-20250510/gcc/tree-ssa-structalias.cc	Sat May 10 22:32:54 2025
*************** find_func_clobbers (struct function *fn,
*** 5583,5588 ****
--- 5583,5624 ----
  	      process_ipa_clobber (fi, gimple_call_arg (t, 2));
  	      return;
  	    }
+ 	  /* The following functions use what their first argument
+ 	     points to.  */
+ 	  case BUILT_IN_STRDUP:
+ 	  case BUILT_IN_STRNDUP:
+ 	  case BUILT_IN_REALLOC:
+ 	  case BUILT_IN_INDEX:
+ 	  case BUILT_IN_STRCHR:
+ 	  case BUILT_IN_STRRCHR:
+ 	  case BUILT_IN_MEMCHR:
+ 	    {
+ 	      tree src = gimple_call_arg (t, 0);
+ 	      get_constraint_for_ptr_offset (src, NULL_TREE, &rhsc);
+ 	      lhs = get_function_part_constraint (fi, fi_uses);
+ 	      struct constraint_expr *rhsp;
+ 	      FOR_EACH_VEC_ELT (rhsc, i, rhsp)
+ 		process_constraint (new_constraint (lhs, *rhsp));
+ 	      return;
+ 	    }
+ 	  /* The following functions use what their first and second argument
+ 	     point to.  */
+ 	  case BUILT_IN_STRSTR:
+ 	  case BUILT_IN_STRPBRK:
+ 	    {
+ 	      tree src = gimple_call_arg (t, 0);
+ 	      get_constraint_for_ptr_offset (src, NULL_TREE, &rhsc);
+ 	      lhs = get_function_part_constraint (fi, fi_uses);
+ 	      struct constraint_expr *rhsp;
+ 	      FOR_EACH_VEC_ELT (rhsc, i, rhsp)
+ 		process_constraint (new_constraint (lhs, *rhsp));
+ 	      rhsc.truncate (0);
+ 	      src = gimple_call_arg (t, 1);
+ 	      get_constraint_for_ptr_offset (src, NULL_TREE, &rhsc);
+ 	      FOR_EACH_VEC_ELT (rhsc, i, rhsp)
+ 		process_constraint (new_constraint (lhs, *rhsp));
+ 	      return;
+ 	    }
  	  /* The following functions neither read nor clobber memory.  */
  	  case BUILT_IN_ASSUME_ALIGNED:
  	  case BUILT_IN_FREE:
*************** create_variable_info_for (tree decl, con
*** 6529,6546 ****
  	  if (!vnode->all_refs_explicit_p ())
  	    make_copy_constraint (vi, nonlocal_id);
  
! 	  /* If this is a global variable with an initializer and we are in
! 	     IPA mode generate constraints for it.  */
! 	  ipa_ref *ref;
! 	  for (unsigned idx = 0; vnode->iterate_reference (idx, ref); ++idx)
  	    {
  	      auto_vec<ce_s> rhsc;
  	      struct constraint_expr lhs, *rhsp;
  	      unsigned i;
- 	      get_constraint_for_address_of (ref->referred->decl, &rhsc);
  	      lhs.var = vi->id;
  	      lhs.offset = 0;
  	      lhs.type = SCALAR;
  	      FOR_EACH_VEC_ELT (rhsc, i, rhsp)
  		process_constraint (new_constraint (lhs, *rhsp));
  	      /* If this is a variable that escapes from the unit
--- 6565,6582 ----
  	  if (!vnode->all_refs_explicit_p ())
  	    make_copy_constraint (vi, nonlocal_id);
  
! 	  /* While we can in theory walk references for the varpool
! 	     node that does not cover zero-initialization or references
! 	     to the constant pool.  */
! 	  if (DECL_INITIAL (decl))
  	    {
  	      auto_vec<ce_s> rhsc;
  	      struct constraint_expr lhs, *rhsp;
  	      unsigned i;
  	      lhs.var = vi->id;
  	      lhs.offset = 0;
  	      lhs.type = SCALAR;
+ 	      get_constraint_for (DECL_INITIAL (decl), &rhsc);
  	      FOR_EACH_VEC_ELT (rhsc, i, rhsp)
  		process_constraint (new_constraint (lhs, *rhsp));
  	      /* If this is a variable that escapes from the unit
diff -Nrcpad gcc-15-20250503/gcc/vr-values.cc gcc-15-20250510/gcc/vr-values.cc
*** gcc-15-20250503/gcc/vr-values.cc	Sat May  3 22:33:07 2025
--- gcc-15-20250510/gcc/vr-values.cc	Sat May 10 22:32:54 2025
*************** simplify_using_ranges::simplify (gimple_
*** 1996,2005 ****
  
  	case BIT_AND_EXPR:
  	case BIT_IOR_EXPR:
! 	  /* Optimize away BIT_AND_EXPR and BIT_IOR_EXPR
! 	     if all the bits being cleared are already cleared or
! 	     all the bits being set are already set.  */
! 	  if (INTEGRAL_TYPE_P (TREE_TYPE (rhs1)))
  	    return simplify_bit_ops_using_ranges (gsi, stmt);
  	  break;
  
--- 1996,2008 ----
  
  	case BIT_AND_EXPR:
  	case BIT_IOR_EXPR:
! 	  /* Optimize away BIT_AND_EXPR and BIT_IOR_EXPR if all the bits
! 	     being cleared are already cleared or all the bits being set
! 	     are already set.  Beware that boolean types must be handled
! 	     logically (see range-op.cc) unless they have precision 1.  */
! 	  if (INTEGRAL_TYPE_P (TREE_TYPE (rhs1))
! 	      && (TREE_CODE (TREE_TYPE (rhs1)) != BOOLEAN_TYPE
! 		  || TYPE_PRECISION (TREE_TYPE (rhs1)) == 1))
  	    return simplify_bit_ops_using_ranges (gsi, stmt);
  	  break;
  
diff -Nrcpad gcc-15-20250503/libcpp/ChangeLog gcc-15-20250510/libcpp/ChangeLog
*** gcc-15-20250503/libcpp/ChangeLog	Sat May  3 22:33:07 2025
--- gcc-15-20250510/libcpp/ChangeLog	Sat May 10 22:32:54 2025
***************
*** 1,3 ****
--- 1,19 ----
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/108900
+ 	PR preprocessor/116047
+ 	PR preprocessor/120061
+ 	* files.cc (_cpp_stack_file): Revert 2025-03-28 change.
+ 	* line-map.cc (linemap_add): Use
+ 	SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; instead of
+ 	SOURCE_LINE (from, from[1].start_location); to compute to_line
+ 	for LC_LEAVE.  For LC_ENTER included_from computation, look at
+ 	map[-2] or even lower if map[-1] has the same start_location as
+ 	map[0].
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250503/libcpp/files.cc gcc-15-20250510/libcpp/files.cc
*** gcc-15-20250503/libcpp/files.cc	Sat May  3 22:33:07 2025
--- gcc-15-20250510/libcpp/files.cc	Sat May 10 22:32:54 2025
*************** _cpp_stack_file (cpp_reader *pfile, _cpp
*** 1047,1060 ****
  		    && (pfile->line_table->highest_location
  			!= LINE_MAP_MAX_LOCATION - 1));
  
-   if (decrement && LINEMAPS_ORDINARY_USED (pfile->line_table))
-     {
-       const line_map_ordinary *map
- 	= LINEMAPS_LAST_ORDINARY_MAP (pfile->line_table);
-       if (map && map->start_location == pfile->line_table->highest_location)
- 	decrement = false;
-     }
- 
    if (decrement)
      pfile->line_table->highest_location--;
  
--- 1047,1052 ----
diff -Nrcpad gcc-15-20250503/libcpp/line-map.cc gcc-15-20250510/libcpp/line-map.cc
*** gcc-15-20250503/libcpp/line-map.cc	Sat May  3 22:33:07 2025
--- gcc-15-20250510/libcpp/line-map.cc	Sat May 10 22:32:54 2025
*************** linemap_add (line_maps *set, enum lc_rea
*** 621,628 ****
  	 #include "included", inside the same "includer" file.  */
  
        linemap_assert (!MAIN_FILE_P (map - 1));
!       /* (MAP - 1) points to the map we are leaving. The
! 	 map from which (MAP - 1) got included should be the map
  	 that comes right before MAP in the same file.  */
        from = linemap_included_from_linemap (set, map - 1);
  
--- 621,628 ----
  	 #include "included", inside the same "includer" file.  */
  
        linemap_assert (!MAIN_FILE_P (map - 1));
!       /* (MAP - 1) points to the map we are leaving.  The
! 	 map from which (MAP - 1) got included should be usually the map
  	 that comes right before MAP in the same file.  */
        from = linemap_included_from_linemap (set, map - 1);
  
*************** linemap_add (line_maps *set, enum lc_rea
*** 630,636 ****
        if (to_file == NULL)
  	{
  	  to_file = ORDINARY_MAP_FILE_NAME (from);
! 	  to_line = SOURCE_LINE (from, from[1].start_location);
  	  sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from);
  	}
        else
--- 630,653 ----
        if (to_file == NULL)
  	{
  	  to_file = ORDINARY_MAP_FILE_NAME (from);
! 	  /* Compute the line on which the map resumes, for #include this
! 	     should be the line after the #include line.  Usually FROM is
! 	     the map right before LC_ENTER map - the first map of the included
! 	     file, and in that case SOURCE_LINE (from, from[1].start_location);
! 	     computes the right line (and does handle even some special cases
! 	     (e.g. where for returning from <command line> we still want to
! 	     be at line 0 or some -traditional-cpp cases).  In rare cases
! 	     FROM can be followed by LC_RENAME created by linemap_line_start
! 	     for line right after #include line.  If that happens,
! 	     start_location of the FROM[1] map will be the same as
! 	     start_location of FROM[2] LC_ENTER, but FROM[1] start_location
! 	     might not have advance enough for moving to a full next line.
! 	     In that case compute the line of #include line and add 1 to it
! 	     to advance to the next line.  See PR120061.  */
! 	  if (from[1].reason == LC_RENAME)
! 	    to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1;
! 	  else
! 	    to_line = SOURCE_LINE (from, from[1].start_location);
  	  sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from);
  	}
        else
*************** linemap_add (line_maps *set, enum lc_rea
*** 660,670 ****
        if (set->depth == 0)
  	map->included_from = 0;
        else
! 	/* The location of the end of the just-closed map.  */
! 	map->included_from
! 	  = (((map[0].start_location - 1 - map[-1].start_location)
! 	      & ~((loc_one << map[-1].m_column_and_range_bits) - 1))
! 	     + map[-1].start_location);
        set->depth++;
        if (set->trace_includes)
  	trace_include (set, map);
--- 677,702 ----
        if (set->depth == 0)
  	map->included_from = 0;
        else
! 	{
! 	  /* Compute location from whence this line map was included.
! 	     For #include this should be preferrably column 0 of the
! 	     line on which #include directive appears.
! 	     map[-1] is the just closed map and usually included_from
! 	     falls within that map.  In rare cases linemap_line_start
! 	     can insert a new LC_RENAME map for the line immediately
! 	     after #include line, in that case map[-1] will have the
! 	     same start_location as the new one and so included_from
! 	     would not be from map[-1] but likely map[-2].  If that
! 	     happens, mask off map[-2] m_column_and_range_bits bits
! 	     instead of map[-1].  See PR120061.  */
! 	  int i = -1;
! 	  while (map[i].start_location == map[0].start_location)
! 	    --i;
! 	  map->included_from
! 	    = (((map[0].start_location - 1 - map[i].start_location)
! 		& ~((loc_one << map[i].m_column_and_range_bits) - 1))
! 	       + map[i].start_location);
! 	}
        set->depth++;
        if (set->trace_includes)
  	trace_include (set, map);
diff -Nrcpad gcc-15-20250503/libgfortran/ChangeLog gcc-15-20250510/libgfortran/ChangeLog
*** gcc-15-20250503/libgfortran/ChangeLog	Sat May  3 22:33:08 2025
--- gcc-15-20250510/libgfortran/ChangeLog	Sat May 10 22:32:56 2025
***************
*** 1,3 ****
--- 1,75 ----
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120158
+ 	* m4/iparm.m4 (atype_min): For atype_name starting with
+ 	GFC_UINTEGER define to 0.
+ 	* generated/maxloc0_16_m1.c: Regenerate.
+ 	* generated/maxloc0_16_m2.c: Regenerate.
+ 	* generated/maxloc0_16_m4.c: Regenerate.
+ 	* generated/maxloc0_16_m8.c: Regenerate.
+ 	* generated/maxloc0_16_m16.c: Regenerate.
+ 	* generated/maxloc0_4_m1.c: Regenerate.
+ 	* generated/maxloc0_4_m2.c: Regenerate.
+ 	* generated/maxloc0_4_m4.c: Regenerate.
+ 	* generated/maxloc0_4_m8.c: Regenerate.
+ 	* generated/maxloc0_4_m16.c: Regenerate.
+ 	* generated/maxloc0_8_m1.c: Regenerate.
+ 	* generated/maxloc0_8_m2.c: Regenerate.
+ 	* generated/maxloc0_8_m4.c: Regenerate.
+ 	* generated/maxloc0_8_m8.c: Regenerate.
+ 	* generated/maxloc0_8_m16.c: Regenerate.
+ 	* generated/maxloc1_16_m1.c: Regenerate.
+ 	* generated/maxloc1_16_m2.c: Regenerate.
+ 	* generated/maxloc1_16_m4.c: Regenerate.
+ 	* generated/maxloc1_16_m8.c: Regenerate.
+ 	* generated/maxloc1_16_m16.c: Regenerate.
+ 	* generated/maxloc1_4_m1.c: Regenerate.
+ 	* generated/maxloc1_4_m2.c: Regenerate.
+ 	* generated/maxloc1_4_m4.c: Regenerate.
+ 	* generated/maxloc1_4_m8.c: Regenerate.
+ 	* generated/maxloc1_4_m16.c: Regenerate.
+ 	* generated/maxloc1_8_m1.c: Regenerate.
+ 	* generated/maxloc1_8_m2.c: Regenerate.
+ 	* generated/maxloc1_8_m4.c: Regenerate.
+ 	* generated/maxloc1_8_m8.c: Regenerate.
+ 	* generated/maxloc1_8_m16.c: Regenerate.
+ 	* generated/maxval_m1.c: Regenerate.
+ 	* generated/maxval_m2.c: Regenerate.
+ 	* generated/maxval_m4.c: Regenerate.
+ 	* generated/maxval_m8.c: Regenerate.
+ 	* generated/maxval_m16.c: Regenerate.
+ 
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120153
+ 	* Makefile.am (i_maxloc1_c): Add generated/maxloc1_16_m16.c.
+ 	* intrinsics/random.c (arandom_m16): Use #ifdef HAVE_GFC_UINTEGER_16
+ 	guard rather than #ifdef GFC_HAVE_GFC_UINTEGER_16.
+ 	* gfortran.map (GFORTRAN_15): Remove _gfortran_arandom_m16,
+ 	_gfortran_maxloc1_16_m16, _gfortran_mmaxloc1_16_m16 and
+ 	_gfortran_smaxloc1_16_m16.
+ 	(GFORTRAN_15.2): New symbol version, add those 4 symbols to it.
+ 	* generated/maxloc1_16_m16.c: New file.
+ 	* Makefile.in: Regenerate.
+ 
+ 2025-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libfortran/120152
+ 	* Makefile.am (i_maxloc1_c): Readd generated/maxloc1_4_i8.c,
+ 	generated/maxloc1_8_i8.c, generated/maxloc1_16_i8.c,
+ 	generated/maxloc1_4_i16.c, generated/maxloc1_8_i16.c.  Move
+ 	generated/maxloc1_16_i16.c entry earlier in the list.
+ 	* Makefile.in: Regenerated.
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250503/libgfortran/Makefile.am gcc-15-20250510/libgfortran/Makefile.am
*** gcc-15-20250503/libgfortran/Makefile.am	Sat May  3 22:33:08 2025
--- gcc-15-20250510/libgfortran/Makefile.am	Sat May 10 22:32:56 2025
*************** generated/maxloc1_16_i2.c \
*** 400,405 ****
--- 400,411 ----
  generated/maxloc1_4_i4.c \
  generated/maxloc1_8_i4.c \
  generated/maxloc1_16_i4.c \
+ generated/maxloc1_4_i8.c \
+ generated/maxloc1_8_i8.c \
+ generated/maxloc1_16_i8.c \
+ generated/maxloc1_4_i16.c \
+ generated/maxloc1_8_i16.c \
+ generated/maxloc1_16_i16.c \
  generated/maxloc1_4_m1.c \
  generated/maxloc1_8_m1.c \
  generated/maxloc1_16_m1.c \
*************** generated/maxloc1_8_m8.c \
*** 414,420 ****
  generated/maxloc1_16_m8.c \
  generated/maxloc1_4_m16.c \
  generated/maxloc1_8_m16.c \
! generated/maxloc1_16_i16.c \
  generated/maxloc1_4_r4.c \
  generated/maxloc1_8_r4.c \
  generated/maxloc1_16_r4.c \
--- 420,426 ----
  generated/maxloc1_16_m8.c \
  generated/maxloc1_4_m16.c \
  generated/maxloc1_8_m16.c \
! generated/maxloc1_16_m16.c \
  generated/maxloc1_4_r4.c \
  generated/maxloc1_8_r4.c \
  generated/maxloc1_16_r4.c \
diff -Nrcpad gcc-15-20250503/libgfortran/Makefile.in gcc-15-20250510/libgfortran/Makefile.in
*** gcc-15-20250503/libgfortran/Makefile.in	Sat May  3 22:33:30 2025
--- gcc-15-20250510/libgfortran/Makefile.in	Sat May 10 22:33:40 2025
*************** am__objects_8 = generated/maxloc1_4_i1.l
*** 265,278 ****
  	generated/maxloc1_16_i1.lo generated/maxloc1_4_i2.lo \
  	generated/maxloc1_8_i2.lo generated/maxloc1_16_i2.lo \
  	generated/maxloc1_4_i4.lo generated/maxloc1_8_i4.lo \
! 	generated/maxloc1_16_i4.lo generated/maxloc1_4_m1.lo \
  	generated/maxloc1_8_m1.lo generated/maxloc1_16_m1.lo \
  	generated/maxloc1_4_m2.lo generated/maxloc1_8_m2.lo \
  	generated/maxloc1_16_m2.lo generated/maxloc1_4_m4.lo \
  	generated/maxloc1_8_m4.lo generated/maxloc1_16_m4.lo \
  	generated/maxloc1_4_m8.lo generated/maxloc1_8_m8.lo \
  	generated/maxloc1_16_m8.lo generated/maxloc1_4_m16.lo \
! 	generated/maxloc1_8_m16.lo generated/maxloc1_16_i16.lo \
  	generated/maxloc1_4_r4.lo generated/maxloc1_8_r4.lo \
  	generated/maxloc1_16_r4.lo generated/maxloc1_4_r8.lo \
  	generated/maxloc1_8_r8.lo generated/maxloc1_16_r8.lo \
--- 265,281 ----
  	generated/maxloc1_16_i1.lo generated/maxloc1_4_i2.lo \
  	generated/maxloc1_8_i2.lo generated/maxloc1_16_i2.lo \
  	generated/maxloc1_4_i4.lo generated/maxloc1_8_i4.lo \
! 	generated/maxloc1_16_i4.lo generated/maxloc1_4_i8.lo \
! 	generated/maxloc1_8_i8.lo generated/maxloc1_16_i8.lo \
! 	generated/maxloc1_4_i16.lo generated/maxloc1_8_i16.lo \
! 	generated/maxloc1_16_i16.lo generated/maxloc1_4_m1.lo \
  	generated/maxloc1_8_m1.lo generated/maxloc1_16_m1.lo \
  	generated/maxloc1_4_m2.lo generated/maxloc1_8_m2.lo \
  	generated/maxloc1_16_m2.lo generated/maxloc1_4_m4.lo \
  	generated/maxloc1_8_m4.lo generated/maxloc1_16_m4.lo \
  	generated/maxloc1_4_m8.lo generated/maxloc1_8_m8.lo \
  	generated/maxloc1_16_m8.lo generated/maxloc1_4_m16.lo \
! 	generated/maxloc1_8_m16.lo generated/maxloc1_16_m16.lo \
  	generated/maxloc1_4_r4.lo generated/maxloc1_8_r4.lo \
  	generated/maxloc1_16_r4.lo generated/maxloc1_4_r8.lo \
  	generated/maxloc1_8_r8.lo generated/maxloc1_16_r8.lo \
*************** generated/maxloc1_16_i2.c \
*** 1205,1210 ****
--- 1208,1219 ----
  generated/maxloc1_4_i4.c \
  generated/maxloc1_8_i4.c \
  generated/maxloc1_16_i4.c \
+ generated/maxloc1_4_i8.c \
+ generated/maxloc1_8_i8.c \
+ generated/maxloc1_16_i8.c \
+ generated/maxloc1_4_i16.c \
+ generated/maxloc1_8_i16.c \
+ generated/maxloc1_16_i16.c \
  generated/maxloc1_4_m1.c \
  generated/maxloc1_8_m1.c \
  generated/maxloc1_16_m1.c \
*************** generated/maxloc1_8_m8.c \
*** 1219,1225 ****
  generated/maxloc1_16_m8.c \
  generated/maxloc1_4_m16.c \
  generated/maxloc1_8_m16.c \
! generated/maxloc1_16_i16.c \
  generated/maxloc1_4_r4.c \
  generated/maxloc1_8_r4.c \
  generated/maxloc1_16_r4.c \
--- 1228,1234 ----
  generated/maxloc1_16_m8.c \
  generated/maxloc1_4_m16.c \
  generated/maxloc1_8_m16.c \
! generated/maxloc1_16_m16.c \
  generated/maxloc1_4_r4.c \
  generated/maxloc1_8_r4.c \
  generated/maxloc1_16_r4.c \
*************** generated/maxloc1_8_i4.lo: generated/$(a
*** 2311,2316 ****
--- 2320,2337 ----
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_16_i4.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_4_i8.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_8_i8.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_16_i8.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_4_i16.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_8_i16.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
+ generated/maxloc1_16_i16.lo: generated/$(am__dirstamp) \
+ 	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_4_m1.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_8_m1.lo: generated/$(am__dirstamp) \
*************** generated/maxloc1_4_m16.lo: generated/$(
*** 2339,2345 ****
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_8_m16.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
! generated/maxloc1_16_i16.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_4_r4.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
--- 2360,2366 ----
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_8_m16.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
! generated/maxloc1_16_m16.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
  generated/maxloc1_4_r4.lo: generated/$(am__dirstamp) \
  	generated/$(DEPDIR)/$(am__dirstamp)
*************** distclean-compile:
*** 4197,4203 ****
--- 4218,4226 ----
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_i16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_i2.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_i4.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_i8.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_m1.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_m16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_m2.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_m4.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_m8.Plo@am__quote@
*************** distclean-compile:
*** 4209,4216 ****
--- 4232,4241 ----
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_s1.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_16_s4.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_i1.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_i16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_i2.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_i4.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_i8.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_m1.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_m16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_m2.Plo@am__quote@
*************** distclean-compile:
*** 4224,4231 ****
--- 4249,4258 ----
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_s1.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_4_s4.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_i1.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_i16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_i2.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_i4.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_i8.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_m1.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_m16.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/maxloc1_8_m2.Plo@am__quote@
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_16_m1.c gcc-15-20250510/libgfortran/generated/maxloc0_16_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_16_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_16_m1.c	Sat May 10 22:32:56 2025
*************** maxloc0_16_m1 (gfc_array_i16 * const res
*** 96,102 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_16_m1 (gfc_array_i16 * const re
*** 271,277 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_16_m16.c gcc-15-20250510/libgfortran/generated/maxloc0_16_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_16_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_16_m16.c	Sat May 10 22:32:56 2025
*************** maxloc0_16_m16 (gfc_array_i16 * const re
*** 96,102 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_16_m16 (gfc_array_i16 * const r
*** 271,277 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_16_m2.c gcc-15-20250510/libgfortran/generated/maxloc0_16_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_16_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_16_m2.c	Sat May 10 22:32:56 2025
*************** maxloc0_16_m2 (gfc_array_i16 * const res
*** 96,102 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_16_m2 (gfc_array_i16 * const re
*** 271,277 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_16_m4.c gcc-15-20250510/libgfortran/generated/maxloc0_16_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_16_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_16_m4.c	Sat May 10 22:32:56 2025
*************** maxloc0_16_m4 (gfc_array_i16 * const res
*** 96,102 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_16_m4 (gfc_array_i16 * const re
*** 271,277 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_16_m8.c gcc-15-20250510/libgfortran/generated/maxloc0_16_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_16_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_16_m8.c	Sat May 10 22:32:56 2025
*************** maxloc0_16_m8 (gfc_array_i16 * const res
*** 96,102 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_16_m8 (gfc_array_i16 * const re
*** 271,277 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_4_m1.c gcc-15-20250510/libgfortran/generated/maxloc0_4_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_4_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_4_m1.c	Sat May 10 22:32:56 2025
*************** maxloc0_4_m1 (gfc_array_i4 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_4_m1 (gfc_array_i4 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_4_m16.c gcc-15-20250510/libgfortran/generated/maxloc0_4_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_4_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_4_m16.c	Sat May 10 22:32:56 2025
*************** maxloc0_4_m16 (gfc_array_i4 * const rest
*** 96,102 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_4_m16 (gfc_array_i4 * const res
*** 271,277 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_4_m2.c gcc-15-20250510/libgfortran/generated/maxloc0_4_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_4_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_4_m2.c	Sat May 10 22:32:56 2025
*************** maxloc0_4_m2 (gfc_array_i4 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_4_m2 (gfc_array_i4 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_4_m4.c gcc-15-20250510/libgfortran/generated/maxloc0_4_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_4_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_4_m4.c	Sat May 10 22:32:56 2025
*************** maxloc0_4_m4 (gfc_array_i4 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_4_m4 (gfc_array_i4 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_4_m8.c gcc-15-20250510/libgfortran/generated/maxloc0_4_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_4_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_4_m8.c	Sat May 10 22:32:56 2025
*************** maxloc0_4_m8 (gfc_array_i4 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_4_m8 (gfc_array_i4 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_8_m1.c gcc-15-20250510/libgfortran/generated/maxloc0_8_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_8_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_8_m1.c	Sat May 10 22:32:56 2025
*************** maxloc0_8_m1 (gfc_array_i8 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_8_m1 (gfc_array_i8 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_1_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_1_INFINITY)
      maxval = -GFC_UINTEGER_1_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_8_m16.c gcc-15-20250510/libgfortran/generated/maxloc0_8_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_8_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_8_m16.c	Sat May 10 22:32:56 2025
*************** maxloc0_8_m16 (gfc_array_i8 * const rest
*** 96,102 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_8_m16 (gfc_array_i8 * const res
*** 271,277 ****
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_16_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_16_INFINITY)
      maxval = -GFC_UINTEGER_16_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_8_m2.c gcc-15-20250510/libgfortran/generated/maxloc0_8_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_8_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_8_m2.c	Sat May 10 22:32:56 2025
*************** maxloc0_8_m2 (gfc_array_i8 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_8_m2 (gfc_array_i8 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_2_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_2_INFINITY)
      maxval = -GFC_UINTEGER_2_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_8_m4.c gcc-15-20250510/libgfortran/generated/maxloc0_8_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_8_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_8_m4.c	Sat May 10 22:32:56 2025
*************** maxloc0_8_m4 (gfc_array_i8 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_8_m4 (gfc_array_i8 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_4_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_4_INFINITY)
      maxval = -GFC_UINTEGER_4_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc0_8_m8.c gcc-15-20250510/libgfortran/generated/maxloc0_8_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc0_8_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc0_8_m8.c	Sat May 10 22:32:56 2025
*************** maxloc0_8_m8 (gfc_array_i8 * const restr
*** 96,102 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 96,102 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
*************** mmaxloc0_8_m8 (gfc_array_i8 * const rest
*** 271,277 ****
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = -GFC_UINTEGER_8_HUGE;
  #endif
    while (base)
      {
--- 271,277 ----
  #if defined(GFC_UINTEGER_8_INFINITY)
      maxval = -GFC_UINTEGER_8_INFINITY;
  #else
!     maxval = 0;
  #endif
    while (base)
      {
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_16_m1.c gcc-15-20250510/libgfortran/generated/maxloc1_16_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_16_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_16_m1.c	Sat May 10 22:32:56 2025
*************** maxloc1_16_m1 (gfc_array_i16 * const res
*** 147,153 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_16_m1 (gfc_array_i16 * const re
*** 366,372 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_16_m16.c gcc-15-20250510/libgfortran/generated/maxloc1_16_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_16_m16.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/libgfortran/generated/maxloc1_16_m16.c	Sat May 10 22:32:56 2025
***************
*** 0 ****
--- 1,591 ----
+ /* Implementation of the MAXLOC intrinsic
+    Copyright (C) 2002-2025 Free Software Foundation, Inc.
+    Contributed by Paul Brook <paul@nowt.org>
+ 
+ This file is part of the GNU Fortran runtime library (libgfortran).
+ 
+ Libgfortran is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+ 
+ Libgfortran is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+ 
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #include "libgfortran.h"
+ #include <assert.h>
+ 
+ 
+ #if defined (HAVE_GFC_UINTEGER_16) && defined (HAVE_GFC_INTEGER_16)
+ 
+ #define HAVE_BACK_ARG 1
+ 
+ 
+ extern void maxloc1_16_m16 (gfc_array_i16 * const restrict,
+ 	gfc_array_m16 * const restrict, const index_type * const restrict, GFC_LOGICAL_4 back);
+ export_proto(maxloc1_16_m16);
+ 
+ void
+ maxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ 	gfc_array_m16 * const restrict array,
+ 	const index_type * const restrict pdim, GFC_LOGICAL_4 back)
+ {
+   index_type count[GFC_MAX_DIMENSIONS];
+   index_type extent[GFC_MAX_DIMENSIONS];
+   index_type sstride[GFC_MAX_DIMENSIONS];
+   index_type dstride[GFC_MAX_DIMENSIONS];
+   const GFC_UINTEGER_16 * restrict base;
+   GFC_INTEGER_16 * restrict dest;
+   index_type rank;
+   index_type n;
+   index_type len;
+   index_type delta;
+   index_type dim;
+   int continue_loop;
+ 
+   /* Make dim zero based to avoid confusion.  */
+   rank = GFC_DESCRIPTOR_RANK (array) - 1;
+   dim = (*pdim) - 1;
+ 
+   if (unlikely (dim < 0 || dim > rank))
+     {
+       runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+  		     "is %ld, should be between 1 and %ld",
+ 		     (long int) dim + 1, (long int) rank + 1);
+     }
+ 
+   len = GFC_DESCRIPTOR_EXTENT(array,dim);
+   if (len < 0)
+     len = 0;
+   delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+ 
+   for (n = 0; n < dim; n++)
+     {
+       sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+ 
+       if (extent[n] < 0)
+ 	extent[n] = 0;
+     }
+   for (n = dim; n < rank; n++)
+     {
+       sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+       extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+ 
+       if (extent[n] < 0)
+ 	extent[n] = 0;
+     }
+ 
+   if (retarray->base_addr == NULL)
+     {
+       size_t alloc_size, str;
+ 
+       for (n = 0; n < rank; n++)
+ 	{
+ 	  if (n == 0)
+ 	    str = 1;
+ 	  else
+ 	    str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+ 
+ 	  GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+ 
+ 	}
+ 
+       retarray->offset = 0;
+       retarray->dtype.rank = rank;
+ 
+       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+ 
+       retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+       if (alloc_size == 0)
+ 	return;
+     }
+   else
+     {
+       if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ 	runtime_error ("rank of return array incorrect in"
+ 		       " MAXLOC intrinsic: is %ld, should be %ld",
+ 		       (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ 		       (long int) rank);
+ 
+       if (unlikely (compile_options.bounds_check))
+ 	bounds_ifunction_return ((array_t *) retarray, extent,
+ 				 "return value", "MAXLOC");
+     }
+ 
+   for (n = 0; n < rank; n++)
+     {
+       count[n] = 0;
+       dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+       if (extent[n] <= 0)
+ 	return;
+     }
+ 
+   base = array->base_addr;
+   dest = retarray->base_addr;
+ 
+   continue_loop = 1;
+   while (continue_loop)
+     {
+       const GFC_UINTEGER_16 * restrict src;
+       GFC_INTEGER_16 result;
+       src = base;
+       {
+ 
+ 	GFC_UINTEGER_16 maxval;
+ #if defined (GFC_UINTEGER_16_INFINITY)
+ 	maxval = -GFC_UINTEGER_16_INFINITY;
+ #else
+ 	maxval = 0;
+ #endif
+ 	result = 1;
+ 	if (len <= 0)
+ 	  *dest = 0;
+ 	else
+ 	  {
+ #if ! defined HAVE_BACK_ARG
+ 	    for (n = 0; n < len; n++, src += delta)
+ 	      {
+ #endif
+ 
+ #if defined (GFC_UINTEGER_16_QUIET_NAN)
+      	     for (n = 0; n < len; n++, src += delta)
+ 	       {
+ 		if (*src >= maxval)
+ 		  {
+ 		    maxval = *src;
+ 		    result = (GFC_INTEGER_16)n + 1;
+ 		    break;
+ 		  }
+ 	      }
+ #else
+ 	    n = 0;
+ #endif
+ 	    for (; n < len; n++, src += delta)
+ 	      {
+ 		if (back ? *src >= maxval : *src > maxval)
+ 		  {
+ 		    maxval = *src;
+ 		    result = (GFC_INTEGER_16)n + 1;
+ 		  }
+ 	      }
+ 	    
+ 	    *dest = result;
+ 	  }
+       }
+       /* Advance to the next element.  */
+       count[0]++;
+       base += sstride[0];
+       dest += dstride[0];
+       n = 0;
+       while (count[n] == extent[n])
+ 	{
+ 	  /* When we get to the end of a dimension, reset it and increment
+ 	     the next dimension.  */
+ 	  count[n] = 0;
+ 	  /* We could precalculate these products, but this is a less
+ 	     frequently used path so probably not worth it.  */
+ 	  base -= sstride[n] * extent[n];
+ 	  dest -= dstride[n] * extent[n];
+ 	  n++;
+ 	  if (n >= rank)
+ 	    {
+ 	      /* Break out of the loop.  */
+ 	      continue_loop = 0;
+ 	      break;
+ 	    }
+ 	  else
+ 	    {
+ 	      count[n]++;
+ 	      base += sstride[n];
+ 	      dest += dstride[n];
+ 	    }
+ 	}
+     }
+ }
+ 
+ 
+ extern void mmaxloc1_16_m16 (gfc_array_i16 * const restrict,
+ 	gfc_array_m16 * const restrict, const index_type * const restrict,
+ 	gfc_array_l1 * const restrict, GFC_LOGICAL_4 back);
+ export_proto(mmaxloc1_16_m16);
+ 
+ void
+ mmaxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ 	gfc_array_m16 * const restrict array,
+ 	const index_type * const restrict pdim,
+ 	gfc_array_l1 * const restrict mask, GFC_LOGICAL_4 back)
+ {
+   index_type count[GFC_MAX_DIMENSIONS];
+   index_type extent[GFC_MAX_DIMENSIONS];
+   index_type sstride[GFC_MAX_DIMENSIONS];
+   index_type dstride[GFC_MAX_DIMENSIONS];
+   index_type mstride[GFC_MAX_DIMENSIONS];
+   GFC_INTEGER_16 * restrict dest;
+   const GFC_UINTEGER_16 * restrict base;
+   const GFC_LOGICAL_1 * restrict mbase;
+   index_type rank;
+   index_type dim;
+   index_type n;
+   index_type len;
+   index_type delta;
+   index_type mdelta;
+   int mask_kind;
+ 
+   if (mask == NULL)
+     {
+ #ifdef HAVE_BACK_ARG
+       maxloc1_16_m16 (retarray, array, pdim, back);
+ #else
+       maxloc1_16_m16 (retarray, array, pdim);
+ #endif
+       return;
+     }
+ 
+   dim = (*pdim) - 1;
+   rank = GFC_DESCRIPTOR_RANK (array) - 1;
+ 
+ 
+   if (unlikely (dim < 0 || dim > rank))
+     {
+       runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+  		     "is %ld, should be between 1 and %ld",
+ 		     (long int) dim + 1, (long int) rank + 1);
+     }
+ 
+   len = GFC_DESCRIPTOR_EXTENT(array,dim);
+   if (len < 0)
+     len = 0;
+ 
+   mbase = mask->base_addr;
+ 
+   mask_kind = GFC_DESCRIPTOR_SIZE (mask);
+ 
+   if (mask_kind == 1 || mask_kind == 2 || mask_kind == 4 || mask_kind == 8
+ #ifdef HAVE_GFC_LOGICAL_16
+       || mask_kind == 16
+ #endif
+       )
+     mbase = GFOR_POINTER_TO_L1 (mbase, mask_kind);
+   else
+     runtime_error ("Funny sized logical array");
+ 
+   delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+   mdelta = GFC_DESCRIPTOR_STRIDE_BYTES(mask,dim);
+ 
+   for (n = 0; n < dim; n++)
+     {
+       sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+       mstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(mask,n);
+       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+ 
+       if (extent[n] < 0)
+ 	extent[n] = 0;
+ 
+     }
+   for (n = dim; n < rank; n++)
+     {
+       sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n + 1);
+       mstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(mask, n + 1);
+       extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+ 
+       if (extent[n] < 0)
+ 	extent[n] = 0;
+     }
+ 
+   if (retarray->base_addr == NULL)
+     {
+       size_t alloc_size, str;
+ 
+       for (n = 0; n < rank; n++)
+ 	{
+ 	  if (n == 0)
+ 	    str = 1;
+ 	  else
+ 	    str= GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+ 
+ 	  GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+ 
+ 	}
+ 
+       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+ 
+       retarray->offset = 0;
+       retarray->dtype.rank = rank;
+ 
+       retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+       if (alloc_size == 0)
+ 	return;
+     }
+   else
+     {
+       if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ 	runtime_error ("rank of return array incorrect in MAXLOC intrinsic");
+ 
+       if (unlikely (compile_options.bounds_check))
+ 	{
+ 	  bounds_ifunction_return ((array_t *) retarray, extent,
+ 				   "return value", "MAXLOC");
+ 	  bounds_equal_extents ((array_t *) mask, (array_t *) array,
+ 	  			"MASK argument", "MAXLOC");
+ 	}
+     }
+ 
+   for (n = 0; n < rank; n++)
+     {
+       count[n] = 0;
+       dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+       if (extent[n] <= 0)
+ 	return;
+     }
+ 
+   dest = retarray->base_addr;
+   base = array->base_addr;
+ 
+   while (base)
+     {
+       const GFC_UINTEGER_16 * restrict src;
+       const GFC_LOGICAL_1 * restrict msrc;
+       GFC_INTEGER_16 result;
+       src = base;
+       msrc = mbase;
+       {
+ 
+ 	GFC_UINTEGER_16 maxval;
+ #if defined (GFC_UINTEGER_16_INFINITY)
+ 	maxval = -GFC_UINTEGER_16_INFINITY;
+ #else
+ 	maxval = 0;
+ #endif
+ #if defined (GFC_UINTEGER_16_QUIET_NAN)
+ 	GFC_INTEGER_16 result2 = 0;
+ #endif
+ 	result = 0;
+ 	for (n = 0; n < len; n++, src += delta, msrc += mdelta)
+ 	  {
+ 
+ 		if (*msrc)
+ 		  {
+ #if defined (GFC_UINTEGER_16_QUIET_NAN)
+ 		    if (!result2)
+ 		      result2 = (GFC_INTEGER_16)n + 1;
+ 		    if (*src >= maxval)
+ #endif
+ 		      {
+ 			maxval = *src;
+ 			result = (GFC_INTEGER_16)n + 1;
+ 			break;
+ 		      }
+ 		  }
+ 	      }
+ #if defined (GFC_UINTEGER_16_QUIET_NAN)
+ 	    if (unlikely (n >= len))
+ 	      result = result2;
+ 	    else
+ #endif
+ 	    if (back)
+ 	      for (; n < len; n++, src += delta, msrc += mdelta)
+ 	      	{
+ 		  if (*msrc && unlikely (*src >= maxval))
+ 		    {
+ 		      maxval = *src;
+ 		      result = (GFC_INTEGER_16)n + 1;
+ 		    }
+ 		}
+ 	    else
+ 	      for (; n < len; n++, src += delta, msrc += mdelta)
+ 	        {
+ 		  if (*msrc && unlikely (*src > maxval))
+ 		    {
+ 		      maxval = *src;
+ 		      result = (GFC_INTEGER_16)n + 1;
+ 		    }
+ 	  }
+ 	*dest = result;
+       }
+       /* Advance to the next element.  */
+       count[0]++;
+       base += sstride[0];
+       mbase += mstride[0];
+       dest += dstride[0];
+       n = 0;
+       while (count[n] == extent[n])
+ 	{
+ 	  /* When we get to the end of a dimension, reset it and increment
+ 	     the next dimension.  */
+ 	  count[n] = 0;
+ 	  /* We could precalculate these products, but this is a less
+ 	     frequently used path so probably not worth it.  */
+ 	  base -= sstride[n] * extent[n];
+ 	  mbase -= mstride[n] * extent[n];
+ 	  dest -= dstride[n] * extent[n];
+ 	  n++;
+ 	  if (n >= rank)
+ 	    {
+ 	      /* Break out of the loop.  */
+ 	      base = NULL;
+ 	      break;
+ 	    }
+ 	  else
+ 	    {
+ 	      count[n]++;
+ 	      base += sstride[n];
+ 	      mbase += mstride[n];
+ 	      dest += dstride[n];
+ 	    }
+ 	}
+     }
+ }
+ 
+ 
+ extern void smaxloc1_16_m16 (gfc_array_i16 * const restrict,
+ 	gfc_array_m16 * const restrict, const index_type * const restrict,
+ 	GFC_LOGICAL_4 *, GFC_LOGICAL_4 back);
+ export_proto(smaxloc1_16_m16);
+ 
+ void
+ smaxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ 	gfc_array_m16 * const restrict array,
+ 	const index_type * const restrict pdim,
+ 	GFC_LOGICAL_4 * mask, GFC_LOGICAL_4 back)
+ {
+   index_type count[GFC_MAX_DIMENSIONS];
+   index_type extent[GFC_MAX_DIMENSIONS];
+   index_type dstride[GFC_MAX_DIMENSIONS];
+   GFC_INTEGER_16 * restrict dest;
+   index_type rank;
+   index_type n;
+   index_type dim;
+ 
+ 
+   if (mask == NULL || *mask)
+     {
+ #ifdef HAVE_BACK_ARG
+       maxloc1_16_m16 (retarray, array, pdim, back);
+ #else
+       maxloc1_16_m16 (retarray, array, pdim);
+ #endif
+       return;
+     }
+   /* Make dim zero based to avoid confusion.  */
+   dim = (*pdim) - 1;
+   rank = GFC_DESCRIPTOR_RANK (array) - 1;
+ 
+   if (unlikely (dim < 0 || dim > rank))
+     {
+       runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+  		     "is %ld, should be between 1 and %ld",
+ 		     (long int) dim + 1, (long int) rank + 1);
+     }
+ 
+   for (n = 0; n < dim; n++)
+     {
+       extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+ 
+       if (extent[n] <= 0)
+ 	extent[n] = 0;
+     }
+ 
+   for (n = dim; n < rank; n++)
+     {
+       extent[n] =
+ 	GFC_DESCRIPTOR_EXTENT(array,n + 1);
+ 
+       if (extent[n] <= 0)
+ 	extent[n] = 0;
+     }
+ 
+   if (retarray->base_addr == NULL)
+     {
+       size_t alloc_size, str;
+ 
+       for (n = 0; n < rank; n++)
+ 	{
+ 	  if (n == 0)
+ 	    str = 1;
+ 	  else
+ 	    str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+ 
+ 	  GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+ 
+ 	}
+ 
+       retarray->offset = 0;
+       retarray->dtype.rank = rank;
+ 
+       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+ 
+       retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+       if (alloc_size == 0)
+ 	return;
+     }
+   else
+     {
+       if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ 	runtime_error ("rank of return array incorrect in"
+ 		       " MAXLOC intrinsic: is %ld, should be %ld",
+ 		       (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ 		       (long int) rank);
+ 
+       if (unlikely (compile_options.bounds_check))
+ 	{
+ 	  for (n=0; n < rank; n++)
+ 	    {
+ 	      index_type ret_extent;
+ 
+ 	      ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,n);
+ 	      if (extent[n] != ret_extent)
+ 		runtime_error ("Incorrect extent in return value of"
+ 			       " MAXLOC intrinsic in dimension %ld:"
+ 			       " is %ld, should be %ld", (long int) n + 1,
+ 			       (long int) ret_extent, (long int) extent[n]);
+ 	    }
+ 	}
+     }
+ 
+   for (n = 0; n < rank; n++)
+     {
+       count[n] = 0;
+       dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+     }
+ 
+   dest = retarray->base_addr;
+ 
+   while(1)
+     {
+       *dest = 0;
+       count[0]++;
+       dest += dstride[0];
+       n = 0;
+       while (count[n] == extent[n])
+ 	{
+ 	  /* When we get to the end of a dimension, reset it and increment
+ 	     the next dimension.  */
+ 	  count[n] = 0;
+ 	  /* We could precalculate these products, but this is a less
+ 	     frequently used path so probably not worth it.  */
+ 	  dest -= dstride[n] * extent[n];
+ 	  n++;
+ 	  if (n >= rank)
+ 	    return;
+ 	  else
+ 	    {
+ 	      count[n]++;
+ 	      dest += dstride[n];
+ 	    }
+       	}
+     }
+ }
+ 
+ #endif
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_16_m2.c gcc-15-20250510/libgfortran/generated/maxloc1_16_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_16_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_16_m2.c	Sat May 10 22:32:56 2025
*************** maxloc1_16_m2 (gfc_array_i16 * const res
*** 147,153 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_16_m2 (gfc_array_i16 * const re
*** 366,372 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_16_m4.c gcc-15-20250510/libgfortran/generated/maxloc1_16_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_16_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_16_m4.c	Sat May 10 22:32:56 2025
*************** maxloc1_16_m4 (gfc_array_i16 * const res
*** 147,153 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_16_m4 (gfc_array_i16 * const re
*** 366,372 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_16_m8.c gcc-15-20250510/libgfortran/generated/maxloc1_16_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_16_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_16_m8.c	Sat May 10 22:32:56 2025
*************** maxloc1_16_m8 (gfc_array_i16 * const res
*** 147,153 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_16_m8 (gfc_array_i16 * const re
*** 366,372 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_16 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_4_m1.c gcc-15-20250510/libgfortran/generated/maxloc1_4_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_4_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_4_m1.c	Sat May 10 22:32:56 2025
*************** maxloc1_4_m1 (gfc_array_i4 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_4_m1 (gfc_array_i4 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_4_m16.c gcc-15-20250510/libgfortran/generated/maxloc1_4_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_4_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_4_m16.c	Sat May 10 22:32:56 2025
*************** maxloc1_4_m16 (gfc_array_i4 * const rest
*** 147,153 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_16_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_4_m16 (gfc_array_i4 * const res
*** 366,372 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_16_HUGE;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_4_m2.c gcc-15-20250510/libgfortran/generated/maxloc1_4_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_4_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_4_m2.c	Sat May 10 22:32:56 2025
*************** maxloc1_4_m2 (gfc_array_i4 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_4_m2 (gfc_array_i4 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_4_m4.c gcc-15-20250510/libgfortran/generated/maxloc1_4_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_4_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_4_m4.c	Sat May 10 22:32:56 2025
*************** maxloc1_4_m4 (gfc_array_i4 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_4_m4 (gfc_array_i4 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_4_m8.c gcc-15-20250510/libgfortran/generated/maxloc1_4_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_4_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_4_m8.c	Sat May 10 22:32:56 2025
*************** maxloc1_4_m8 (gfc_array_i4 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_4_m8 (gfc_array_i4 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_4 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_8_m1.c gcc-15-20250510/libgfortran/generated/maxloc1_8_m1.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_8_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_8_m1.c	Sat May 10 22:32:56 2025
*************** maxloc1_8_m1 (gfc_array_i8 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_8_m1 (gfc_array_i8 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_1_HUGE;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	maxval = -GFC_UINTEGER_1_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_8_m16.c gcc-15-20250510/libgfortran/generated/maxloc1_8_m16.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_8_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_8_m16.c	Sat May 10 22:32:56 2025
*************** maxloc1_8_m16 (gfc_array_i8 * const rest
*** 147,153 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_16_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_8_m16 (gfc_array_i8 * const res
*** 366,372 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_16_HUGE;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	maxval = -GFC_UINTEGER_16_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_8_m2.c gcc-15-20250510/libgfortran/generated/maxloc1_8_m2.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_8_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_8_m2.c	Sat May 10 22:32:56 2025
*************** maxloc1_8_m2 (gfc_array_i8 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_8_m2 (gfc_array_i8 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_2_HUGE;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	maxval = -GFC_UINTEGER_2_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_8_m4.c gcc-15-20250510/libgfortran/generated/maxloc1_8_m4.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_8_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_8_m4.c	Sat May 10 22:32:56 2025
*************** maxloc1_8_m4 (gfc_array_i8 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_8_m4 (gfc_array_i8 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_4_HUGE;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	maxval = -GFC_UINTEGER_4_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxloc1_8_m8.c gcc-15-20250510/libgfortran/generated/maxloc1_8_m8.c
*** gcc-15-20250503/libgfortran/generated/maxloc1_8_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxloc1_8_m8.c	Sat May 10 22:32:56 2025
*************** maxloc1_8_m8 (gfc_array_i8 * const restr
*** 147,153 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  	result = 1;
  	if (len <= 0)
--- 147,153 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  	result = 1;
  	if (len <= 0)
*************** mmaxloc1_8_m8 (gfc_array_i8 * const rest
*** 366,372 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = -GFC_UINTEGER_8_HUGE;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
--- 366,372 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	maxval = -GFC_UINTEGER_8_INFINITY;
  #else
! 	maxval = 0;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	GFC_INTEGER_8 result2 = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxval_m1.c gcc-15-20250510/libgfortran/generated/maxval_m1.c
*** gcc-15-20250503/libgfortran/generated/maxval_m1.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxval_m1.c	Sat May 10 22:32:56 2025
*************** maxval_m1 (gfc_array_m1 * const restrict
*** 143,152 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	result = -GFC_UINTEGER_1_INFINITY;
  #else
! 	result = -GFC_UINTEGER_1_HUGE;
  #endif
  	if (len <= 0)
! 	  *dest = -GFC_UINTEGER_1_HUGE;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
--- 143,152 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	result = -GFC_UINTEGER_1_INFINITY;
  #else
! 	result = 0;
  #endif
  	if (len <= 0)
! 	  *dest = 0;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
*************** mmaxval_m1 (gfc_array_m1 * const restric
*** 351,357 ****
  #if defined (GFC_UINTEGER_1_INFINITY)
  	result = -GFC_UINTEGER_1_INFINITY;
  #else
! 	result = -GFC_UINTEGER_1_HUGE;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	int non_empty_p = 0;
--- 351,357 ----
  #if defined (GFC_UINTEGER_1_INFINITY)
  	result = -GFC_UINTEGER_1_INFINITY;
  #else
! 	result = 0;
  #endif
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
  	int non_empty_p = 0;
*************** mmaxval_m1 (gfc_array_m1 * const restric
*** 372,380 ****
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_1_QUIET_NAN : -GFC_UINTEGER_1_HUGE;
  #else
! 		result = -GFC_UINTEGER_1_HUGE;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
--- 372,380 ----
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_1_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_1_QUIET_NAN : 0;
  #else
! 		result = 0;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
*************** smaxval_m1 (gfc_array_m1 * const restric
*** 535,541 ****
  
    while(1)
      {
!       *dest = -GFC_UINTEGER_1_HUGE;
        count[0]++;
        dest += dstride[0];
        n = 0;
--- 535,541 ----
  
    while(1)
      {
!       *dest = 0;
        count[0]++;
        dest += dstride[0];
        n = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxval_m16.c gcc-15-20250510/libgfortran/generated/maxval_m16.c
*** gcc-15-20250503/libgfortran/generated/maxval_m16.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxval_m16.c	Sat May 10 22:32:56 2025
*************** maxval_m16 (gfc_array_m16 * const restri
*** 143,152 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	result = -GFC_UINTEGER_16_INFINITY;
  #else
! 	result = -GFC_UINTEGER_16_HUGE;
  #endif
  	if (len <= 0)
! 	  *dest = -GFC_UINTEGER_16_HUGE;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
--- 143,152 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	result = -GFC_UINTEGER_16_INFINITY;
  #else
! 	result = 0;
  #endif
  	if (len <= 0)
! 	  *dest = 0;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
*************** mmaxval_m16 (gfc_array_m16 * const restr
*** 351,357 ****
  #if defined (GFC_UINTEGER_16_INFINITY)
  	result = -GFC_UINTEGER_16_INFINITY;
  #else
! 	result = -GFC_UINTEGER_16_HUGE;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	int non_empty_p = 0;
--- 351,357 ----
  #if defined (GFC_UINTEGER_16_INFINITY)
  	result = -GFC_UINTEGER_16_INFINITY;
  #else
! 	result = 0;
  #endif
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
  	int non_empty_p = 0;
*************** mmaxval_m16 (gfc_array_m16 * const restr
*** 372,380 ****
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_16_QUIET_NAN : -GFC_UINTEGER_16_HUGE;
  #else
! 		result = -GFC_UINTEGER_16_HUGE;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
--- 372,380 ----
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_16_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_16_QUIET_NAN : 0;
  #else
! 		result = 0;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
*************** smaxval_m16 (gfc_array_m16 * const restr
*** 535,541 ****
  
    while(1)
      {
!       *dest = -GFC_UINTEGER_16_HUGE;
        count[0]++;
        dest += dstride[0];
        n = 0;
--- 535,541 ----
  
    while(1)
      {
!       *dest = 0;
        count[0]++;
        dest += dstride[0];
        n = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxval_m2.c gcc-15-20250510/libgfortran/generated/maxval_m2.c
*** gcc-15-20250503/libgfortran/generated/maxval_m2.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxval_m2.c	Sat May 10 22:32:56 2025
*************** maxval_m2 (gfc_array_m2 * const restrict
*** 143,152 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	result = -GFC_UINTEGER_2_INFINITY;
  #else
! 	result = -GFC_UINTEGER_2_HUGE;
  #endif
  	if (len <= 0)
! 	  *dest = -GFC_UINTEGER_2_HUGE;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
--- 143,152 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	result = -GFC_UINTEGER_2_INFINITY;
  #else
! 	result = 0;
  #endif
  	if (len <= 0)
! 	  *dest = 0;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
*************** mmaxval_m2 (gfc_array_m2 * const restric
*** 351,357 ****
  #if defined (GFC_UINTEGER_2_INFINITY)
  	result = -GFC_UINTEGER_2_INFINITY;
  #else
! 	result = -GFC_UINTEGER_2_HUGE;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	int non_empty_p = 0;
--- 351,357 ----
  #if defined (GFC_UINTEGER_2_INFINITY)
  	result = -GFC_UINTEGER_2_INFINITY;
  #else
! 	result = 0;
  #endif
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
  	int non_empty_p = 0;
*************** mmaxval_m2 (gfc_array_m2 * const restric
*** 372,380 ****
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_2_QUIET_NAN : -GFC_UINTEGER_2_HUGE;
  #else
! 		result = -GFC_UINTEGER_2_HUGE;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
--- 372,380 ----
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_2_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_2_QUIET_NAN : 0;
  #else
! 		result = 0;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
*************** smaxval_m2 (gfc_array_m2 * const restric
*** 535,541 ****
  
    while(1)
      {
!       *dest = -GFC_UINTEGER_2_HUGE;
        count[0]++;
        dest += dstride[0];
        n = 0;
--- 535,541 ----
  
    while(1)
      {
!       *dest = 0;
        count[0]++;
        dest += dstride[0];
        n = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxval_m4.c gcc-15-20250510/libgfortran/generated/maxval_m4.c
*** gcc-15-20250503/libgfortran/generated/maxval_m4.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxval_m4.c	Sat May 10 22:32:56 2025
*************** maxval_m4 (gfc_array_m4 * const restrict
*** 143,152 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	result = -GFC_UINTEGER_4_INFINITY;
  #else
! 	result = -GFC_UINTEGER_4_HUGE;
  #endif
  	if (len <= 0)
! 	  *dest = -GFC_UINTEGER_4_HUGE;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
--- 143,152 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	result = -GFC_UINTEGER_4_INFINITY;
  #else
! 	result = 0;
  #endif
  	if (len <= 0)
! 	  *dest = 0;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
*************** mmaxval_m4 (gfc_array_m4 * const restric
*** 351,357 ****
  #if defined (GFC_UINTEGER_4_INFINITY)
  	result = -GFC_UINTEGER_4_INFINITY;
  #else
! 	result = -GFC_UINTEGER_4_HUGE;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	int non_empty_p = 0;
--- 351,357 ----
  #if defined (GFC_UINTEGER_4_INFINITY)
  	result = -GFC_UINTEGER_4_INFINITY;
  #else
! 	result = 0;
  #endif
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
  	int non_empty_p = 0;
*************** mmaxval_m4 (gfc_array_m4 * const restric
*** 372,380 ****
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_4_QUIET_NAN : -GFC_UINTEGER_4_HUGE;
  #else
! 		result = -GFC_UINTEGER_4_HUGE;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
--- 372,380 ----
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_4_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_4_QUIET_NAN : 0;
  #else
! 		result = 0;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
*************** smaxval_m4 (gfc_array_m4 * const restric
*** 535,541 ****
  
    while(1)
      {
!       *dest = -GFC_UINTEGER_4_HUGE;
        count[0]++;
        dest += dstride[0];
        n = 0;
--- 535,541 ----
  
    while(1)
      {
!       *dest = 0;
        count[0]++;
        dest += dstride[0];
        n = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/generated/maxval_m8.c gcc-15-20250510/libgfortran/generated/maxval_m8.c
*** gcc-15-20250503/libgfortran/generated/maxval_m8.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/generated/maxval_m8.c	Sat May 10 22:32:56 2025
*************** maxval_m8 (gfc_array_m8 * const restrict
*** 143,152 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	result = -GFC_UINTEGER_8_INFINITY;
  #else
! 	result = -GFC_UINTEGER_8_HUGE;
  #endif
  	if (len <= 0)
! 	  *dest = -GFC_UINTEGER_8_HUGE;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
--- 143,152 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	result = -GFC_UINTEGER_8_INFINITY;
  #else
! 	result = 0;
  #endif
  	if (len <= 0)
! 	  *dest = 0;
  	else
  	  {
  #if ! defined HAVE_BACK_ARG
*************** mmaxval_m8 (gfc_array_m8 * const restric
*** 351,357 ****
  #if defined (GFC_UINTEGER_8_INFINITY)
  	result = -GFC_UINTEGER_8_INFINITY;
  #else
! 	result = -GFC_UINTEGER_8_HUGE;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	int non_empty_p = 0;
--- 351,357 ----
  #if defined (GFC_UINTEGER_8_INFINITY)
  	result = -GFC_UINTEGER_8_INFINITY;
  #else
! 	result = 0;
  #endif
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
  	int non_empty_p = 0;
*************** mmaxval_m8 (gfc_array_m8 * const restric
*** 372,380 ****
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_8_QUIET_NAN : -GFC_UINTEGER_8_HUGE;
  #else
! 		result = -GFC_UINTEGER_8_HUGE;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
--- 372,380 ----
  	    if (unlikely (n >= len))
  	      {
  #if defined (GFC_UINTEGER_8_QUIET_NAN)
! 		result = non_empty_p ? GFC_UINTEGER_8_QUIET_NAN : 0;
  #else
! 		result = 0;
  #endif
  	      }
  	    else for (; n < len; n++, src += delta, msrc += mdelta)
*************** smaxval_m8 (gfc_array_m8 * const restric
*** 535,541 ****
  
    while(1)
      {
!       *dest = -GFC_UINTEGER_8_HUGE;
        count[0]++;
        dest += dstride[0];
        n = 0;
--- 535,541 ----
  
    while(1)
      {
!       *dest = 0;
        count[0]++;
        dest += dstride[0];
        n = 0;
diff -Nrcpad gcc-15-20250503/libgfortran/gfortran.map gcc-15-20250510/libgfortran/gfortran.map
*** gcc-15-20250503/libgfortran/gfortran.map	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/gfortran.map	Sat May 10 22:32:56 2025
*************** GFORTRAN_15 {
*** 1786,1792 ****
      _gfortran_arandom_m2;
      _gfortran_arandom_m4;
      _gfortran_arandom_m8;
-     _gfortran_arandom_m16;
      _gfortran_minval_m16;
      _gfortran_minval_m1;
      _gfortran_minval_m2;
--- 1786,1791 ----
*************** GFORTRAN_15 {
*** 1832,1838 ****
      _gfortran_maxloc0_8_m2;
      _gfortran_maxloc0_8_m4;
      _gfortran_maxloc0_8_m8;
-     _gfortran_maxloc1_16_m16;
      _gfortran_maxloc1_16_m1;
      _gfortran_maxloc1_16_m2;
      _gfortran_maxloc1_16_m4;
--- 1831,1836 ----
*************** GFORTRAN_15 {
*** 1862,1868 ****
      _gfortran_mmaxloc0_8_m2;
      _gfortran_mmaxloc0_8_m4;
      _gfortran_mmaxloc0_8_m8;
-     _gfortran_mmaxloc1_16_m16;
      _gfortran_mmaxloc1_16_m1;
      _gfortran_mmaxloc1_16_m2;
      _gfortran_mmaxloc1_16_m4;
--- 1860,1865 ----
*************** GFORTRAN_15 {
*** 1892,1898 ****
      _gfortran_smaxloc0_8_m2;
      _gfortran_smaxloc0_8_m4;
      _gfortran_smaxloc0_8_m8;
-     _gfortran_smaxloc1_16_m16;
      _gfortran_smaxloc1_16_m1;
      _gfortran_smaxloc1_16_m2;
      _gfortran_smaxloc1_16_m4;
--- 1889,1894 ----
*************** GFORTRAN_15 {
*** 2028,2030 ****
--- 2024,2034 ----
      _gfortran_reduce_c;
      _gfortran_reduce_scalar_c;
  } GFORTRAN_14;
+ 
+ GFORTRAN_15.2 {
+   global:
+     _gfortran_arandom_m16;
+     _gfortran_maxloc1_16_m16;
+     _gfortran_mmaxloc1_16_m16;
+     _gfortran_smaxloc1_16_m16;
+ } GFORTRAN_15;
diff -Nrcpad gcc-15-20250503/libgfortran/intrinsics/random.c gcc-15-20250510/libgfortran/intrinsics/random.c
*** gcc-15-20250503/libgfortran/intrinsics/random.c	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/intrinsics/random.c	Sat May 10 22:32:56 2025
*************** arandom_m8 (gfc_array_m8 *x)
*** 1215,1221 ****
      }
  }
  
! #ifdef GFC_HAVE_GFC_UINTEGER_16
  
  /* Fill an unsigned array with random bytes.  */
  
--- 1215,1221 ----
      }
  }
  
! #ifdef HAVE_GFC_UINTEGER_16
  
  /* Fill an unsigned array with random bytes.  */
  
diff -Nrcpad gcc-15-20250503/libgfortran/m4/iparm.m4 gcc-15-20250510/libgfortran/m4/iparm.m4
*** gcc-15-20250503/libgfortran/m4/iparm.m4	Sat May  3 22:33:09 2025
--- gcc-15-20250510/libgfortran/m4/iparm.m4	Sat May 10 22:32:56 2025
*************** define_type(rtype, rtype_tmp)dnl
*** 28,34 ****
  define(rtype_qual,`_'rtype_kind)dnl
  ')dnl
  define(atype_max, atype_name`_HUGE')dnl
! define(atype_min,ifelse(regexp(file, `_\(.\)[0-9]*\.c$', `\1'),`i',`(-'atype_max`-1)',`-'atype_max))dnl
  define(atype_inf, atype_name`_INFINITY')dnl
  define(atype_nan, atype_name`_QUIET_NAN')dnl
  define(name, regexp(regexp(file, `[^/]*$', `\&'), `^\([^_]*\)_', `\1'))dnl
--- 28,34 ----
  define(rtype_qual,`_'rtype_kind)dnl
  ')dnl
  define(atype_max, atype_name`_HUGE')dnl
! define(atype_min,ifelse(index(atype_name,`GFC_UINTEGER'),0,`0',ifelse(regexp(file, `_\(.\)[0-9]*\.c$', `\1'),`i',`(-'atype_max`-1)',`-'atype_max)))dnl
  define(atype_inf, atype_name`_INFINITY')dnl
  define(atype_nan, atype_name`_QUIET_NAN')dnl
  define(name, regexp(regexp(file, `[^/]*$', `\&'), `^\([^_]*\)_', `\1'))dnl
diff -Nrcpad gcc-15-20250503/libgomp/ChangeLog gcc-15-20250510/libgomp/ChangeLog
*** gcc-15-20250503/libgomp/ChangeLog	Sat May  3 22:33:13 2025
--- gcc-15-20250510/libgomp/ChangeLog	Sat May 10 22:33:01 2025
***************
*** 1,3 ****
--- 1,7 ----
+ 2025-05-06  Tejas Belagod  <tejas.belagod@arm.com>
+ 
+ 	* testsuite/libgomp.c-target/aarch64/udr-sve.c: Fix test.
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250503/libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c gcc-15-20250510/libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c
*** gcc-15-20250503/libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c	Sat May  3 22:33:15 2025
--- gcc-15-20250510/libgomp/testsuite/libgomp.c-target/aarch64/udr-sve.c	Sat May 10 22:33:01 2025
***************
*** 9,16 ****
  void __attribute__ ((noipa))
  parallel_reduction ()
  {
!   int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1};
!   int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0};
    svint32_t va = svld1_s32 (svptrue_b32 (), b);
    int i = 0;
    int64_t res;
--- 9,16 ----
  void __attribute__ ((noipa))
  parallel_reduction ()
  {
!   int a[8] = {1, 1, 1, 1, 1, 1, 1, 1};
!   int b[8] = {0, 0, 0, 0, 0, 0, 0, 0};
    svint32_t va = svld1_s32 (svptrue_b32 (), b);
    int i = 0;
    int64_t res;
*************** parallel_reduction ()
*** 30,37 ****
  void __attribute__ ((noipa))
  for_reduction ()
  {
!   int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1};
!   int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0};
    svint32_t va = svld1_s32 (svptrue_b32 (), b);
    int j;
    int64_t res;
--- 30,37 ----
  void __attribute__ ((noipa))
  for_reduction ()
  {
!   int a[8] = {1, 1, 1, 1, 1, 1, 1, 1};
!   int b[8] = {0, 0, 0, 0, 0, 0, 0, 0};
    svint32_t va = svld1_s32 (svptrue_b32 (), b);
    int j;
    int64_t res;
*************** simd_reduction ()
*** 58,70 ****
    for (j = 0; j < 8; j++)
      a[j] = 1;
  
!   #pragma omp simd reduction (+:va, i)
    for (j = 0; j < 16; j++)
!     va = svld1_s32 (svptrue_b32 (), a);
  
    res = svaddv_s32 (svptrue_b32 (), va);
  
!   if (res != 8)
      __builtin_abort ();
  }
  
--- 58,70 ----
    for (j = 0; j < 8; j++)
      a[j] = 1;
  
!   #pragma omp simd reduction (+:va)
    for (j = 0; j < 16; j++)
!     va += svld1_s32 (svptrue_b32 (), a);
  
    res = svaddv_s32 (svptrue_b32 (), va);
  
!   if (res != 128)
      __builtin_abort ();
  }
  
*************** void __attribute__ ((noipa))
*** 72,93 ****
  inscan_reduction_incl ()
  {
    svint32_t va = svindex_s32 (0, 0);
    int j;
    int64_t res = 0;
  
!   #pragma omp parallel
!   #pragma omp for reduction (inscan,+:va) firstprivate (res) lastprivate (res)
    for (j = 0; j < 8; j++)
      {
!       va = svindex_s32 (1, 0);
        #pragma omp scan inclusive (va)
!       res += svaddv_s32 (svptrue_b32 (), va);
      }
  
    if (res != 64)
      __builtin_abort ();
  }
  
  int
  main ()
  {
--- 72,128 ----
  inscan_reduction_incl ()
  {
    svint32_t va = svindex_s32 (0, 0);
+   int a[8] = {1, 1, 1, 1, 1, 1, 1, 1};
+   int b[64] = { 0 };
    int j;
    int64_t res = 0;
  
!   #pragma omp parallel for reduction (inscan, +:va)
    for (j = 0; j < 8; j++)
      {
!       va += svld1_s32 (svptrue_b32 (), a);
        #pragma omp scan inclusive (va)
!       svst1_s32 (svptrue_b32 (), b + j * 8, va);
!     }
! 
!   res = svaddv_s32 (svptrue_b32 (), va);
! 
!   if (res != 64)
!     __builtin_abort ();
! 
!   for (j = 0; j < 64; j+=8)
!     if (b[j] != (j / 8 + 1))
!       __builtin_abort ();
! }
! 
! void __attribute__ ((noipa))
! inscan_reduction_excl ()
! {
!   svint32_t va = svindex_s32 (0, 0);
!   int a[8] = {1, 1, 1, 1, 1, 1, 1, 1};
!   int b[64] = { 0 };
!   int j;
!   int64_t res = 0;
! 
!   #pragma omp parallel for reduction (inscan, +:va)
!   for (j = 0; j < 8; j++)
!     {
!       svst1_s32 (svptrue_b32 (), b + j * 8, va);
!       #pragma omp scan exclusive (va)
!       va += svld1_s32 (svptrue_b32 (), a);
      }
  
+   res = svaddv_s32 (svptrue_b32 (), va);
+ 
    if (res != 64)
      __builtin_abort ();
+ 
+   for (j = 0; j < 64; j+=8)
+     if (b[j] != j / 8)
+       __builtin_abort ();
  }
  
+ 
  int
  main ()
  {
*************** main ()
*** 95,98 ****
--- 130,134 ----
    for_reduction ();
    simd_reduction ();
    inscan_reduction_incl ();
+   inscan_reduction_excl ();
  }
diff -Nrcpad gcc-15-20250503/libstdc++-v3/ChangeLog gcc-15-20250510/libstdc++-v3/ChangeLog
*** gcc-15-20250503/libstdc++-v3/ChangeLog	Sat May  3 22:33:18 2025
--- gcc-15-20250510/libstdc++-v3/ChangeLog	Sat May 10 22:33:04 2025
***************
*** 1,3 ****
--- 1,49 ----
+ 2025-05-07  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120159
+ 	* src/c++23/std.cc.in (is_layout_compatible_v): Export.
+ 
+ 2025-05-07  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-07  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/120114
+ 	* include/bits/chrono_io.h (__formatter_chrono::_M_format): Use __field_width.
+ 	* testsuite/std/time/format/pr120114.cc: New test.
+ 
+ 2025-05-06  Dhruv Chawla  <dhruvc@nvidia.com>
+ 
+ 	Backported from master:
+ 	2025-05-02  Dhruv Chawla  <dhruvc@nvidia.com>
+ 
+ 	* include/std/memory: Define __glibcxx_want_addressof_constexpr.
+ 	* testsuite/20_util/headers/memory/version.cc: Test for macro
+ 	value.
+ 
+ 2025-05-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-04-24  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/23_containers/forward_list/48101_neg.cc: Remove
+ 	dg-prune-output that doesn't match anything.
+ 	* testsuite/23_containers/list/48101_neg.cc: Likewise.
+ 	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
+ 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
+ 
+ 2025-05-06  ZENG Hao  <c@cyano.cn>
+ 
+ 	Backported from master:
+ 	2025-04-23  ZENG Hao  <c@cyano.cn>
+ 
+ 	* src/c++23/std.cc.in (atomic_signed_lock_free): Guard with
+ 	preprocessor check for __cpp_lib_atomic_lock_free_type_aliases.
+ 	(atomic_unsigned_lock_free): Likewise.
+ 
  2025-04-30  François Dumont  <frs.dumont@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250503/libstdc++-v3/include/bits/chrono_io.h gcc-15-20250510/libstdc++-v3/include/bits/chrono_io.h
*** gcc-15-20250503/libstdc++-v3/include/bits/chrono_io.h	Sat May  3 22:33:18 2025
--- gcc-15-20250510/libstdc++-v3/include/bits/chrono_io.h	Sat May 10 22:33:05 2025
*************** namespace __format
*** 705,712 ****
  	    if (__write_direct)
  	      return __out;
  
! 	  auto __str = std::move(__sink).get();
! 	  return __format::__write_padded_as_spec(__str, __str.size(),
  						  __fc, _M_spec);
  	}
  
--- 705,718 ----
  	    if (__write_direct)
  	      return __out;
  
! 	  auto __span = __sink.view();
! 	  __string_view __str(__span.data(), __span.size());
! 	  size_t __width;
! 	  if constexpr (__unicode::__literal_encoding_is_unicode<_CharT>())
! 	    __width = __unicode::__field_width(__str);
! 	  else
! 	    __width = __str.size();
! 	  return __format::__write_padded_as_spec(__str, __width,
  						  __fc, _M_spec);
  	}
  
diff -Nrcpad gcc-15-20250503/libstdc++-v3/include/std/memory gcc-15-20250510/libstdc++-v3/include/std/memory
*** gcc-15-20250503/libstdc++-v3/include/std/memory	Sat May  3 22:33:19 2025
--- gcc-15-20250510/libstdc++-v3/include/std/memory	Sat May 10 22:33:05 2025
***************
*** 97,102 ****
--- 97,103 ----
  #  include <bits/out_ptr.h>
  #endif
  
+ #define __glibcxx_want_addressof_constexpr
  #define __glibcxx_want_allocator_traits_is_always_equal
  #define __glibcxx_want_assume_aligned
  #define __glibcxx_want_atomic_shared_ptr
diff -Nrcpad gcc-15-20250503/libstdc++-v3/src/c++23/std.cc.in gcc-15-20250510/libstdc++-v3/src/c++23/std.cc.in
*** gcc-15-20250503/libstdc++-v3/src/c++23/std.cc.in	Sat May  3 22:33:19 2025
--- gcc-15-20250510/libstdc++-v3/src/c++23/std.cc.in	Sat May 10 22:33:05 2025
*************** export namespace std
*** 599,605 ****
--- 599,607 ----
    using std::atomic_schar;
    using std::atomic_short;
    using std::atomic_signal_fence;
+ #ifdef __cpp_lib_atomic_lock_free_type_aliases
    using std::atomic_signed_lock_free;
+ #endif
    using std::atomic_size_t;
    using std::atomic_store;
    using std::atomic_store_explicit;
*************** export namespace std
*** 622,628 ****
--- 624,632 ----
    using std::atomic_uintptr_t;
    using std::atomic_ullong;
    using std::atomic_ulong;
+ #ifdef __cpp_lib_atomic_lock_free_type_aliases
    using std::atomic_unsigned_lock_free;
+ #endif
    using std::atomic_ushort;
    using std::atomic_wait;
    using std::atomic_wait_explicit;
*************** export namespace std
*** 3103,3108 ****
--- 3107,3113 ----
  #if __cpp_lib_is_layout_compatible
    using std::is_corresponding_member;
    using std::is_layout_compatible;
+   using std::is_layout_compatible_v;
  #endif
  #if __cpp_lib_is_pointer_interconvertible
    using std::is_pointer_interconvertible_base_of;
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/20_util/headers/memory/version.cc gcc-15-20250510/libstdc++-v3/testsuite/20_util/headers/memory/version.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/20_util/headers/memory/version.cc	Sat May  3 22:33:21 2025
--- gcc-15-20250510/libstdc++-v3/testsuite/20_util/headers/memory/version.cc	Sat May 10 22:33:05 2025
***************
*** 6,8 ****
--- 6,12 ----
  #if __cpp_lib_allocator_traits_is_always_equal != 201411L
  # error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
  #endif
+ 
+ #if __cpp_lib_addressof_constexpr != 201603L
+ # error "Feature-test macro __cpp_lib_addressof_constexpr has wrong value in <version>"
+ #endif
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc gcc-15-20250510/libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc	Sat May  3 22:33:22 2025
--- gcc-15-20250510/libstdc++-v3/testsuite/23_containers/forward_list/48101_neg.cc	Sat May 10 22:33:07 2025
*************** test01()
*** 26,31 ****
  }
  
  // { dg-error "non-const, non-volatile value_type" "" { target *-*-* } 0 }
- // { dg-prune-output "std::allocator<.* has no member named " }
  // { dg-prune-output "must have the same value_type as its allocator" }
  // { dg-prune-output "rebind_alloc" }
--- 26,30 ----
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/23_containers/list/48101_neg.cc gcc-15-20250510/libstdc++-v3/testsuite/23_containers/list/48101_neg.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/23_containers/list/48101_neg.cc	Sat May  3 22:33:22 2025
--- gcc-15-20250510/libstdc++-v3/testsuite/23_containers/list/48101_neg.cc	Sat May 10 22:33:07 2025
*************** test01()
*** 26,30 ****
  }
  
  // { dg-error "non-const, non-volatile value_type" "" { target *-*-* } 0 }
- // { dg-prune-output "std::allocator<.* has no member named " }
  // { dg-prune-output "must have the same value_type as its allocator" }
--- 26,29 ----
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc gcc-15-20250510/libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc	Sat May  3 22:33:23 2025
--- gcc-15-20250510/libstdc++-v3/testsuite/23_containers/multiset/48101_neg.cc	Sat May 10 22:33:07 2025
*************** test01()
*** 29,35 ****
  
  // { dg-error "non-const, non-volatile value_type" "" { target *-*-* } 0 }
  // { dg-error "comparison object must be invocable" "" { target *-*-* } 0 }
- // { dg-prune-output "std::allocator<.* has no member named " }
  // { dg-prune-output "must have the same value_type as its allocator" }
  // { dg-prune-output "no match for call" }
  // { dg-prune-output "invalid conversion" }
--- 29,34 ----
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/23_containers/set/48101_neg.cc gcc-15-20250510/libstdc++-v3/testsuite/23_containers/set/48101_neg.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/23_containers/set/48101_neg.cc	Sat May  3 22:33:23 2025
--- gcc-15-20250510/libstdc++-v3/testsuite/23_containers/set/48101_neg.cc	Sat May 10 22:33:07 2025
*************** test01()
*** 29,35 ****
  
  // { dg-error "non-const, non-volatile value_type" "" { target *-*-* } 0 }
  // { dg-error "comparison object must be invocable" "" { target *-*-* } 0 }
- // { dg-prune-output "std::allocator<.* has no member named " }
  // { dg-prune-output "must have the same value_type as its allocator" }
  // { dg-prune-output "no match for call" }
  // { dg-prune-output "invalid conversion" }
--- 29,34 ----
diff -Nrcpad gcc-15-20250503/libstdc++-v3/testsuite/std/time/format/pr120114.cc gcc-15-20250510/libstdc++-v3/testsuite/std/time/format/pr120114.cc
*** gcc-15-20250503/libstdc++-v3/testsuite/std/time/format/pr120114.cc	Thu Jan  1 00:00:00 1970
--- gcc-15-20250510/libstdc++-v3/testsuite/std/time/format/pr120114.cc	Sat May 10 22:33:10 2025
***************
*** 0 ****
--- 1,125 ----
+ // { dg-do run { target c++23 } }
+ // { dg-options "-fexec-charset=UTF-8" }
+ // { dg-timeout-factor 2 }
+ 
+ #include <algorithm>
+ #include <chrono>
+ #include <testsuite_hooks.h>
+ 
+ #define WIDEN_(C, S) ::std::__format::_Widen<C>(S, L##S)
+ #define WIDEN(S) WIDEN_(_CharT, S)
+ 
+ template<typename _CharT>
+ void
+ test_from_format_string()
+ {
+   std::basic_string<_CharT> res;
+   using namespace std::chrono_literals;
+   auto date = 2025y/std::chrono::May/05d;
+ 
+   res = std::format(WIDEN("{:+<13%F\U0001f921}"), date);
+   VERIFY( res == WIDEN("2025-05-05\U0001f921+") );
+ 
+   res = std::format(WIDEN("{:->15%F\U0001f921}"), date);
+   VERIFY( res == WIDEN("---2025-05-05\U0001f921") );
+ 
+   res = std::format(WIDEN("{:=^20%F\U0001f921}"), date);
+   VERIFY( res == WIDEN("====2025-05-05\U0001f921====") );
+ }
+ 
+ template<typename _CharT>
+ void
+ test_formatted_value()
+ {
+   // Custom time_put facet which returns Ideographic Telegraph Symbol
+   // for given month for Om.
+   struct TimePut : std::time_put<_CharT>
+   {
+     using iter_type = std::time_put<_CharT>::iter_type;
+     using char_type = std::time_put<_CharT>::char_type;
+ 
+     iter_type
+     do_put(iter_type out, std::ios_base& io, char_type fill, const tm* t,
+ 	   char format, char modifier) const override
+     {
+       if (format != 'm' && modifier != 'm')
+ 	return std::time_put<_CharT>::do_put(out, io, fill, t, format, modifier);
+       std::basic_string_view<_CharT> str;
+       switch (t->tm_mon)
+        {
+ 	 case 0:
+ 	   str = WIDEN("\u32C0");
+ 	   break;
+ 	 case 1:
+ 	   str = WIDEN("\u32C1");
+ 	   break;
+ 	 case 2:
+ 	   str = WIDEN("\u32C2");
+ 	   break;
+ 	 case 3:
+ 	   str = WIDEN("\u32C3");
+ 	   break;
+ 	 case 4:
+ 	   str = WIDEN("\u32C4");
+ 	   break;
+ 	 case 5:
+ 	   str = WIDEN("\u32C5");
+ 	   break;
+ 	 case 6:
+ 	   str = WIDEN("\u32C6");
+ 	   break;
+ 	 case 7:
+ 	   str = WIDEN("\u32C7");
+ 	   break;
+ 	 case 8:
+ 	   str = WIDEN("\u32C8");
+ 	   break;
+ 	 case 9:
+ 	   str = WIDEN("\u32C9");
+ 	   break;
+ 	 case 10:
+ 	   str = WIDEN("\u32CA");
+ 	   break;
+ 	 case 11:
+ 	   str = WIDEN("\u32CB");
+ 	   break;
+        };
+        return std::copy(str.begin(), str.end(), out);
+     }
+   };
+   const std::locale loc(std::locale::classic(), new TimePut);
+ 
+   std::basic_string<_CharT> res;
+ 
+   res = std::format(loc, WIDEN("{:<1L%Om}"), std::chrono::January);
+   VERIFY( res == WIDEN("\u32C0") );
+ 
+   res = std::format(loc, WIDEN("{:>2L%Om}"), std::chrono::February);
+   VERIFY( res == WIDEN("\u32C1") );
+ 
+   res = std::format(loc, WIDEN("{:<3L%Om}"), std::chrono::March);
+   VERIFY( res == WIDEN("\u32C2 ") );
+ 
+   res = std::format(loc, WIDEN("{:^4L%Om}"), std::chrono::April);
+   VERIFY( res == WIDEN(" \u32C3 ") );
+ 
+   res = std::format(loc, WIDEN("{:>5L%Om}"), std::chrono::May);
+   VERIFY( res == WIDEN("   \u32C4") );
+ 
+   res = std::format(loc, WIDEN("{:+<6L%Om}"), std::chrono::June);
+   VERIFY( res == WIDEN("\u32C5++++") );
+ 
+   res = std::format(loc, WIDEN("{:=^7L%Om}"), std::chrono::July);
+   VERIFY( res == WIDEN("==\u32C6===") );
+ 
+   res = std::format(loc, WIDEN("{:->8L%Om}"), std::chrono::August);
+   VERIFY( res == WIDEN("------\u32C7") );
+ }
+ 
+ int main()
+ {
+   test_from_format_string<char>();
+   test_from_format_string<wchar_t>();
+   test_formatted_value<char>();
+   test_formatted_value<wchar_t>();
+ }
