diff -Nrcpad gcc-15-20260515/LAST_UPDATED gcc-15-20260522/LAST_UPDATED
*** gcc-15-20260515/LAST_UPDATED	Fri May 15 22:32:21 2026
--- gcc-15-20260522/LAST_UPDATED	Fri May 22 22:32:20 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 0777b034250d57793379eb242722b569c72d435b
--- 1 ----
! Obtained from git: releases/gcc-15 revision 19de5568f75cd7e213df318bcd1ebd9976a56d14
diff -Nrcpad gcc-15-20260515/MD5SUMS gcc-15-20260522/MD5SUMS
*** gcc-15-20260515/MD5SUMS	Fri May 15 22:32:26 2026
--- gcc-15-20260522/MD5SUMS	Fri May 22 22:32:24 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260515.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-20260522.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
! 96eb6cf2be466a611d12b52249cd8822  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! be0d06c65749c0953b20e25d8e0a9ca4  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
! 9435f2d32ae391ea198f5d5032267c6a  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
! 5abb42221a2ec68bc0882161ac115b76  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
! 0e9d668409310c7d5e7ef72d384c04fb  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
! 94dc98f80ecdfed1bb6361e3bf4e5889  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** aaf683e3b02704cfbfab0627d82edf85  gcc/c-
*** 3248,3254 ****
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! d3ae2a0b26152bb21608a7cdd19d676d  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
--- 3248,3254 ----
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! 613e46f54f68c95587052c7bb0795022  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
*************** b19c27e8a900f9eeb7d73e2bb4b8d313  gcc/co
*** 4204,4210 ****
  24065393854cd1e08e3285bd707210fe  gcc/config/i386/i386-rust.h
  984423facca351215a6d7f335c0d40bb  gcc/config/i386/i386.cc
  0150b759a527c67bf0c83ed700545456  gcc/config/i386/i386.h
! f18cf29cbb64fefcd1a9c6956492f539  gcc/config/i386/i386.md
  5a3c6fa6266505bbc0789e269da6e250  gcc/config/i386/i386.opt
  56dd2039e03b3ae92142eb68be464b98  gcc/config/i386/i386.opt.urls
  f22876926ff4a2cb67b105ac266c72ea  gcc/config/i386/i386elf.h
--- 4204,4210 ----
  24065393854cd1e08e3285bd707210fe  gcc/config/i386/i386-rust.h
  984423facca351215a6d7f335c0d40bb  gcc/config/i386/i386.cc
  0150b759a527c67bf0c83ed700545456  gcc/config/i386/i386.h
! 6c4c0360a47ab56cc21170cc9013b52b  gcc/config/i386/i386.md
  5a3c6fa6266505bbc0789e269da6e250  gcc/config/i386/i386.opt
  56dd2039e03b3ae92142eb68be464b98  gcc/config/i386/i386.opt.urls
  f22876926ff4a2cb67b105ac266c72ea  gcc/config/i386/i386elf.h
*************** fdc0b83b9dafbea2480c0a1207f45509  gcc/co
*** 4403,4409 ****
  a9d1d80c40cc6eb8e9a32d54f82dae43  gcc/config/lm32/t-lm32
  660559cdac2b08e91486a9db7b4a2872  gcc/config/lm32/t-rtems
  94943495585177e557d393d4272bec93  gcc/config/lm32/uclinux-elf.h
! 713faf5e5c45f844fbc9ad5551db1456  gcc/config/loongarch/constraints.md
  c34979082425d78409c769a25389d804  gcc/config/loongarch/elf.h
  8b1c9c004fdbc7f460a64bda0b70f4d6  gcc/config/loongarch/generic.md
  a61fbfd9ac48f94f17ccd936a484b2c8  gcc/config/loongarch/genopts/gen-evolution.awk
--- 4403,4409 ----
  a9d1d80c40cc6eb8e9a32d54f82dae43  gcc/config/lm32/t-lm32
  660559cdac2b08e91486a9db7b4a2872  gcc/config/lm32/t-rtems
  94943495585177e557d393d4272bec93  gcc/config/lm32/uclinux-elf.h
! 4474d8492bf00d91a068a17e68e2cd23  gcc/config/loongarch/constraints.md
  c34979082425d78409c769a25389d804  gcc/config/loongarch/elf.h
  8b1c9c004fdbc7f460a64bda0b70f4d6  gcc/config/loongarch/generic.md
  a61fbfd9ac48f94f17ccd936a484b2c8  gcc/config/loongarch/genopts/gen-evolution.awk
*************** f33b12257452472d47dac65075ab5d62  gcc/co
*** 4434,4452 ****
  d7cf3f5e6d8c9402706533b8bbd7093d  gcc/config/loongarch/loongarch-modes.def
  d3ad067b1fa15bbce42fd3cc4499966e  gcc/config/loongarch/loongarch-opts.cc
  084ba7e2ad2ac804b5f596bca0df06b3  gcc/config/loongarch/loongarch-opts.h
! 920651b1ba57b9faa704d0ac560b4ea4  gcc/config/loongarch/loongarch-protos.h
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 186dfe5f439a08477299e6dc256d7de1  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
! 20d6419804da0f3e740614d707d5918d  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
  264f23ee79258ff82bda293d093dd06b  gcc/config/loongarch/loongarch.opt.urls
  6ba577cf829032a7c9669bad45925ce9  gcc/config/loongarch/lsx.md
  429434e5f1e9f9afc839f4409102d5ea  gcc/config/loongarch/lsxintrin.h
  5a232a75001e3db7ee3e491afdfae629  gcc/config/loongarch/musl.h
! 82cdf7a02d52d9186aaaa604c5c78138  gcc/config/loongarch/predicates.md
  3dd4f7354bd890432c899e064e486f06  gcc/config/loongarch/simd.md
  8dd632424d9d78f36a7f6de524c32142  gcc/config/loongarch/sync.md
  e2aad9f2fd1ee2a4668948f381da109c  gcc/config/loongarch/t-linux
--- 4434,4452 ----
  d7cf3f5e6d8c9402706533b8bbd7093d  gcc/config/loongarch/loongarch-modes.def
  d3ad067b1fa15bbce42fd3cc4499966e  gcc/config/loongarch/loongarch-opts.cc
  084ba7e2ad2ac804b5f596bca0df06b3  gcc/config/loongarch/loongarch-opts.h
! 69bbf24dfcf19a6e6a733c4c49c080a7  gcc/config/loongarch/loongarch-protos.h
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 9148f584e402226c743aac81b0434a70  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
! 648c5cd498a2d5b2549da175e52de4d3  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
  264f23ee79258ff82bda293d093dd06b  gcc/config/loongarch/loongarch.opt.urls
  6ba577cf829032a7c9669bad45925ce9  gcc/config/loongarch/lsx.md
  429434e5f1e9f9afc839f4409102d5ea  gcc/config/loongarch/lsxintrin.h
  5a232a75001e3db7ee3e491afdfae629  gcc/config/loongarch/musl.h
! 340e8f716943268501e797501cb0991a  gcc/config/loongarch/predicates.md
  3dd4f7354bd890432c899e064e486f06  gcc/config/loongarch/simd.md
  8dd632424d9d78f36a7f6de524c32142  gcc/config/loongarch/sync.md
  e2aad9f2fd1ee2a4668948f381da109c  gcc/config/loongarch/t-linux
*************** cd06662d679aac52aa61b8507723384a  gcc/co
*** 4547,4553 ****
  6e52b66a284ee7f7534fd34961907824  gcc/config/microblaze/microblaze-protos.h
  ad6bbf6b9c6de5a9c347d1cd48cc4c76  gcc/config/microblaze/microblaze.cc
  0a4fb603eb9a1c6e31bb8fa7e38b16d1  gcc/config/microblaze/microblaze.h
! 3af23e0040365b8a82498e8fd7e83bf5  gcc/config/microblaze/microblaze.md
  3da1e85fbc11c0a5b746cb77b96a06f3  gcc/config/microblaze/microblaze.opt
  ab7ecb87ef3b7a388cab0e4d0d2eb0db  gcc/config/microblaze/microblaze.opt.urls
  0014185f2b662af11e97611027548662  gcc/config/microblaze/predicates.md
--- 4547,4553 ----
  6e52b66a284ee7f7534fd34961907824  gcc/config/microblaze/microblaze-protos.h
  ad6bbf6b9c6de5a9c347d1cd48cc4c76  gcc/config/microblaze/microblaze.cc
  0a4fb603eb9a1c6e31bb8fa7e38b16d1  gcc/config/microblaze/microblaze.h
! a3eae3d0a3005dcb292c7134f86a9457  gcc/config/microblaze/microblaze.md
  3da1e85fbc11c0a5b746cb77b96a06f3  gcc/config/microblaze/microblaze.opt
  ab7ecb87ef3b7a388cab0e4d0d2eb0db  gcc/config/microblaze/microblaze.opt.urls
  0014185f2b662af11e97611027548662  gcc/config/microblaze/predicates.md
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5501,5507 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! ac49ba366bd35d54c9c7b6963f196a5b  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5501,5507 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! b896a7b308c2b4dabc2d6ad88b9884e2  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6061,6067 ****
  c93bd28b3de1f9c783e16fc6ec4aab32  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 979f9ff81b1e591dd1cb91a9003828eb  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6061,6067 ----
  c93bd28b3de1f9c783e16fc6ec4aab32  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 585c7addb1cfe65a113da4aa428df305  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** db21881c77a22fd3dbfe253c364af5ee  gcc/fo
*** 6093,6099 ****
  59221f5e105887dce9d0c1b7694aa86f  gcc/fortran/bbt.cc
  f50392141734ee3c270214455cbabf98  gcc/fortran/check.cc
  e37adaebb3dd766f8fad75bfa57d49d7  gcc/fortran/class.cc
! 0b318d001d48262e9cebd6f7ebb84a37  gcc/fortran/coarray.cc
  6047324cb87b56ae23d2293c5ef13ddb  gcc/fortran/config-lang.in
  16ea0e15947038265fbb5983b455b7bf  gcc/fortran/constructor.cc
  85285f438769e841d8dc39fedcd731d5  gcc/fortran/constructor.h
--- 6093,6099 ----
  59221f5e105887dce9d0c1b7694aa86f  gcc/fortran/bbt.cc
  f50392141734ee3c270214455cbabf98  gcc/fortran/check.cc
  e37adaebb3dd766f8fad75bfa57d49d7  gcc/fortran/class.cc
! f10db6a507227000fd11f94c29855d74  gcc/fortran/coarray.cc
  6047324cb87b56ae23d2293c5ef13ddb  gcc/fortran/config-lang.in
  16ea0e15947038265fbb5983b455b7bf  gcc/fortran/constructor.cc
  85285f438769e841d8dc39fedcd731d5  gcc/fortran/constructor.h
*************** d85e2f2fc3ee4721563bd47719063fb6  gcc/fo
*** 6109,6115 ****
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
  c51719103621c7d22803dcc683314e14  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
! 37c53834b70f08c47e70d4483807b402  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
  bd08c55098f00394b9922e6163c27b92  gcc/fortran/gfc-internals.texi
  594106f4945aba24162f5490e0fec580  gcc/fortran/gfortran.h
--- 6109,6115 ----
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
  c51719103621c7d22803dcc683314e14  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
! 9e933a215ff39d7f5ddd5bbce3f846ea  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
  bd08c55098f00394b9922e6163c27b92  gcc/fortran/gfc-internals.texi
  594106f4945aba24162f5490e0fec580  gcc/fortran/gfortran.h
*************** a4f5f15bbfd3cf3b780e3a8875ebf0df  gcc/fo
*** 6153,6162 ****
  134a72b3349d427eccb35198acc48a71  gcc/fortran/trans-common.cc
  d555f911945a83db335013815934e941  gcc/fortran/trans-const.cc
  857805820c2a6ac77d2652c610d23de8  gcc/fortran/trans-const.h
! 17f575af09b1f1abf424e7c5c79836a0  gcc/fortran/trans-decl.cc
! 01324cafeb9b406383009169af3608b8  gcc/fortran/trans-expr.cc
  2fc2e705f2020d62f54715e4698b69d6  gcc/fortran/trans-intrinsic.cc
! a26cd103074d9ae2f87ac35ba1b90970  gcc/fortran/trans-io.cc
  62232a16bc62a73bd54116692688baf7  gcc/fortran/trans-openmp.cc
  03aafb32bf3170c38549a2536ebb7e4c  gcc/fortran/trans-stmt.cc
  3e46866176ab0bac5fb67ed27515535d  gcc/fortran/trans-stmt.h
--- 6153,6162 ----
  134a72b3349d427eccb35198acc48a71  gcc/fortran/trans-common.cc
  d555f911945a83db335013815934e941  gcc/fortran/trans-const.cc
  857805820c2a6ac77d2652c610d23de8  gcc/fortran/trans-const.h
! 0fe2b2c02eb1dadc79a71d2577983c50  gcc/fortran/trans-decl.cc
! d4f512509f36461a2b01f58a4dd4e23c  gcc/fortran/trans-expr.cc
  2fc2e705f2020d62f54715e4698b69d6  gcc/fortran/trans-intrinsic.cc
! 98aa7d58758baa33999a0070d6f0176e  gcc/fortran/trans-io.cc
  62232a16bc62a73bd54116692688baf7  gcc/fortran/trans-openmp.cc
  03aafb32bf3170c38549a2536ebb7e4c  gcc/fortran/trans-stmt.cc
  3e46866176ab0bac5fb67ed27515535d  gcc/fortran/trans-stmt.h
*************** b3a965e425e6cf7888319667faf58da9  gcc/sy
*** 8448,8454 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 5d48776363bdcd92c2603a3c3edb852f  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8448,8454 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! d9e6935330af627065a3d3935713bfa6  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** fbfd31ba28ddc5c31ac2fd9d714443bb  gcc/te
*** 80459,80464 ****
--- 80459,80465 ----
  d9ed650f309dc0e24daeb25d90c34fa0  gcc/testsuite/gcc.target/i386/pr124316.c
  2ff14347296d11b5e3b328e3957e5191  gcc/testsuite/gcc.target/i386/pr124710-1.c
  79c874a97f648ff278ec1765414620b1  gcc/testsuite/gcc.target/i386/pr124710-2.c
+ dc1ca8471081be67fdad4d340997d425  gcc/testsuite/gcc.target/i386/pr125351.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
  31ead0ee84b382ba03e3561931bc6e40  gcc/testsuite/gcc.target/i386/pr14289-1.c
*************** d1eee63ffd26f53d2b788cb0eb55f5a6  gcc/te
*** 83769,83774 ****
--- 83770,83776 ----
  51927631f78916e06162754b5c3d24fd  gcc/testsuite/gcc.target/loongarch/pr122097.c
  0626ac54385b7d00394be7a0b09850a1  gcc/testsuite/gcc.target/loongarch/pr122695-1.c
  fb640df1e5eb969859e5c360f608dec4  gcc/testsuite/gcc.target/loongarch/pr122695-2.c
+ 8784ee3164375854ef7b1ffc0c536b5e  gcc/testsuite/gcc.target/loongarch/pr125049.c
  1eac553341d725c6e59615b593aedb0d  gcc/testsuite/gcc.target/loongarch/pragma-push-pop.c
  3adba2a8ae6f671eb22ec8228777c1ac  gcc/testsuite/gcc.target/loongarch/prolog-opt.c
  1bfa30f99dc5f04f569fbff68640ab19  gcc/testsuite/gcc.target/loongarch/recip-divf.c
*************** bce9fa2c6f1e56b2fc1016479a2343a7  gcc/te
*** 84369,84374 ****
--- 84371,84377 ----
  5b2981de420be71c356c495dfca11de9  gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
  a816dff6f0a70651b4a2baba36df01bf  gcc/testsuite/gcc.target/microblaze/isa/nofloat.c
  7bd8c4012b4e818f846d60047de3d957  gcc/testsuite/gcc.target/microblaze/isa/pcmp.c
+ f45b5b3a93982c8808b97cea207f6871  gcc/testsuite/gcc.target/microblaze/isa/pr103383.c
  215c22e1a44b562b1792467518f5da2c  gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
  42df89e3b0bf957ab168e412244bb45d  gcc/testsuite/gcc.target/microblaze/microblaze.exp
  9a329728496d062effbbdf4b7bde3f00  gcc/testsuite/gcc.target/microblaze/others/break_handler.c
*************** ce0f5a926b10968749cdf08cebb52832  gcc/te
*** 101705,101710 ****
--- 101708,101714 ----
  b5a297f740fa264744c9afc7fff7715d  gcc/testsuite/gfortran.dg/coarray/poly_run_2.f90
  4a38a76fec0e874592a1f9fb9f16c668  gcc/testsuite/gfortran.dg/coarray/poly_run_3.f90
  4b0341b2a1bb1e5bdc699106788a0a18  gcc/testsuite/gfortran.dg/coarray/pr107441-caf.f90
+ 2afcfc1c548284b14216214f4d95b532  gcc/testsuite/gfortran.dg/coarray/pr125021.f90
  5e97d7510dca977612f9a19418ceeb7f  gcc/testsuite/gfortran.dg/coarray/pr81265.f90
  ee617f71d8add5aa5f59789faa17332e  gcc/testsuite/gfortran.dg/coarray/pr85510.f90
  908a6caa4e0b07e2cb6a80b7284553a9  gcc/testsuite/gfortran.dg/coarray/pr93671.f90
*************** c9bae3926493665cd6a3a6bca4b52e53  gcc/te
*** 102557,102562 ****
--- 102561,102567 ----
  5f453b52ee72bd864f1fc70730289b71  gcc/testsuite/gfortran.dg/dtio_34.f90
  356cc9632fa969c2cee2d146f484043f  gcc/testsuite/gfortran.dg/dtio_35.f90
  a63c4c25b48888dec1fdd5c3312fe243  gcc/testsuite/gfortran.dg/dtio_36.f90
+ 6d70b4f88d2ebcdd865e42765b1486d8  gcc/testsuite/gfortran.dg/dtio_37.f90
  98feff72bfe6f9469278b8b049519af2  gcc/testsuite/gfortran.dg/dtio_4.f90
  5c6704b3b1b7266ea126e709df28bebe  gcc/testsuite/gfortran.dg/dtio_6.f90
  416c852bc110486241a963ccac6a32e0  gcc/testsuite/gfortran.dg/dtio_7.f90
*************** e5a418513e079e50ea576e021cf5ad8e  gcc/te
*** 104624,104629 ****
--- 104629,104635 ----
  1545bc137f7bcb397e7986a3324b63be  gcc/testsuite/gfortran.dg/inline_matmul_23.f90
  89a35f94060b171becdc54771a02040b  gcc/testsuite/gfortran.dg/inline_matmul_24.f90
  d5dddad98efc37928795b446cb8d6501  gcc/testsuite/gfortran.dg/inline_matmul_25.f90
+ f500cc59ecbd3442513dea98e8f73719  gcc/testsuite/gfortran.dg/inline_matmul_27.f90
  ffdb4ca68f61f3bd618415335c9c7c21  gcc/testsuite/gfortran.dg/inline_matmul_3.f90
  f95e5fd479c839cfa9cb3ac127ee7584  gcc/testsuite/gfortran.dg/inline_matmul_4.f90
  6cb787ca0dac6ea814c8af4ac7cb8022  gcc/testsuite/gfortran.dg/inline_matmul_5.f90
*************** c31049d80a6d5f251553cf67a645cfbc  gcc/te
*** 105398,105403 ****
--- 105404,105410 ----
  cda99c4f9b1e1ca808103eba31168058  gcc/testsuite/gfortran.dg/mvbits_9.f90
  ab43a12e9d7dd4f0eed4d087fc19a84f  gcc/testsuite/gfortran.dg/named_interface.f90
  7841bdfa2894b1c8f28e061e0d78ca99  gcc/testsuite/gfortran.dg/namelist_1.f90
+ eff259516b93a9cda51eb967046a18bb  gcc/testsuite/gfortran.dg/namelist_102.f90
  02a533763d199c5afa28bec631ca6b9e  gcc/testsuite/gfortran.dg/namelist_11.f
  fadabd8643639e650a8499262b9a767e  gcc/testsuite/gfortran.dg/namelist_12.f
  637100e10c22e1d286db1ce10741e289  gcc/testsuite/gfortran.dg/namelist_13.f90
*************** f62b2fa65f325ecd9897d1210ea1dd59  gcc/te
*** 106041,106046 ****
--- 106048,106054 ----
  c2c29ab4a03f3fce7c592346c758df55  gcc/testsuite/gfortran.dg/pr114874_2.f90
  4b273604e577c17fd50a80fc5e61fbc9  gcc/testsuite/gfortran.dg/pr114883.f90
  114f9ad97017aeb38f9ec22adfdc15e9  gcc/testsuite/gfortran.dg/pr114959.f90
+ dcc85737c1fe827eb6a63f372dd52f3e  gcc/testsuite/gfortran.dg/pr115260.f90
  2cdd9da41524094c8df35fef567a26c5  gcc/testsuite/gfortran.dg/pr115281.f90
  862aedc97da38fe9b3319406b768d9c0  gcc/testsuite/gfortran.dg/pr115348.f90
  d1ba07988d4687e1f81b063e8b20cefa  gcc/testsuite/gfortran.dg/pr117060.f90
*************** b054056cc4fe4de7a78d34e43f2f3bab  libgco
*** 120858,120864 ****
  469e0f6e21e357ff8b53b9d17373a6c8  libgcobol/libgcobol.spec.in
  7921a81e3cbf784d960d70db7bc6e242  libgcobol/valconv.cc
  c7d27fb7e36a42567d7cc4d14e7ed3fe  libgcobol/valconv.h
! 8a6ce93714582d5ec3066ab168ef3f29  libgfortran/ChangeLog
  d99469a76bfe825683f8d94fe07b508c  libgfortran/ChangeLog-2002
  522fdb2df6cefe6bcaed3c7c7311eae1  libgfortran/ChangeLog-2003
  5a3a93e76d878d063aba66079340cfe0  libgfortran/ChangeLog-2004
--- 120866,120872 ----
  469e0f6e21e357ff8b53b9d17373a6c8  libgcobol/libgcobol.spec.in
  7921a81e3cbf784d960d70db7bc6e242  libgcobol/valconv.cc
  c7d27fb7e36a42567d7cc4d14e7ed3fe  libgcobol/valconv.h
! 8b8e5008d1f7a073f78216bd66d3114b  libgfortran/ChangeLog
  d99469a76bfe825683f8d94fe07b508c  libgfortran/ChangeLog-2002
  522fdb2df6cefe6bcaed3c7c7311eae1  libgfortran/ChangeLog-2003
  5a3a93e76d878d063aba66079340cfe0  libgfortran/ChangeLog-2004
*************** c7169b01bb969daf7e30948005f39988  libgfo
*** 121776,121782 ****
  2c879686a9c5431b13c4d3a9323e5fed  libgfortran/io/inquire.c
  9a1581b774b6fa5ddc5861750824984f  libgfortran/io/intrinsics.c
  68b0f7c5c62320c0b053455824877d6e  libgfortran/io/io.h
! 2885ac6fa470ae0851603e724c6b347e  libgfortran/io/list_read.c
  bc0fa60eac17837b1c762e97a8c08673  libgfortran/io/lock.c
  d043bdbc42f0d079e46ba78d36d7d784  libgfortran/io/open.c
  fa8c3abd0f354521bcc23aa747c190fe  libgfortran/io/read.c
--- 121784,121790 ----
  2c879686a9c5431b13c4d3a9323e5fed  libgfortran/io/inquire.c
  9a1581b774b6fa5ddc5861750824984f  libgfortran/io/intrinsics.c
  68b0f7c5c62320c0b053455824877d6e  libgfortran/io/io.h
! 3388245495015f8899db6b5cd580752d  libgfortran/io/list_read.c
  bc0fa60eac17837b1c762e97a8c08673  libgfortran/io/lock.c
  d043bdbc42f0d079e46ba78d36d7d784  libgfortran/io/open.c
  fa8c3abd0f354521bcc23aa747c190fe  libgfortran/io/read.c
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 132452,132458 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 459caded79fe299337969b169387b260  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 132460,132466 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! a65e7ffb47ca0475dfe126cfe5e78048  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** a155d2afa910d24be0955f42c4585228  libstd
*** 133142,133148 ****
  4ab7627c024bab75db708e43d35616aa  libstdc++-v3/include/bits/char_traits.h
  195dabcb74f9b313c574745539925b0e  libstdc++-v3/include/bits/charconv.h
  8a303c55e1a9a90d751641a38581e2bc  libstdc++-v3/include/bits/chrono.h
! f220a3edd81f69f475178857df2cbeb7  libstdc++-v3/include/bits/chrono_io.h
  2ff73cb405cb01626a751e0fa0f339f3  libstdc++-v3/include/bits/codecvt.h
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e8e2df39ad9386a7f40ad4e7c3ae4658  libstdc++-v3/include/bits/cow_string.h
--- 133150,133156 ----
  4ab7627c024bab75db708e43d35616aa  libstdc++-v3/include/bits/char_traits.h
  195dabcb74f9b313c574745539925b0e  libstdc++-v3/include/bits/charconv.h
  8a303c55e1a9a90d751641a38581e2bc  libstdc++-v3/include/bits/chrono.h
! f7043ca2213f103480632164d194950f  libstdc++-v3/include/bits/chrono_io.h
  2ff73cb405cb01626a751e0fa0f339f3  libstdc++-v3/include/bits/codecvt.h
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e8e2df39ad9386a7f40ad4e7c3ae4658  libstdc++-v3/include/bits/cow_string.h
*************** a90e2b9ed2c236c92f3f2387a39a0ac8  libstd
*** 133845,133851 ****
  ae96a272e65886b9386e26db37971da1  libstdc++-v3/include/std/execution
  c7512fdd688111026ada39c2eff08f8e  libstdc++-v3/include/std/expected
  c2e511ae49957a9f02446e544d201582  libstdc++-v3/include/std/filesystem
! 4699aa56b9e90fd895859e47b48614c1  libstdc++-v3/include/std/flat_map
  8a5fa0a4bb554b2db8c2fed26a6993ca  libstdc++-v3/include/std/flat_set
  e3ce6ca5d4a7e5215163adf9d3010c65  libstdc++-v3/include/std/format
  fa4316749922813b44f2ee282452813b  libstdc++-v3/include/std/forward_list
--- 133853,133859 ----
  ae96a272e65886b9386e26db37971da1  libstdc++-v3/include/std/execution
  c7512fdd688111026ada39c2eff08f8e  libstdc++-v3/include/std/expected
  c2e511ae49957a9f02446e544d201582  libstdc++-v3/include/std/filesystem
! 3a7d360b3d31ff6af5a3e9bcd9e077b0  libstdc++-v3/include/std/flat_map
  8a5fa0a4bb554b2db8c2fed26a6993ca  libstdc++-v3/include/std/flat_set
  e3ce6ca5d4a7e5215163adf9d3010c65  libstdc++-v3/include/std/format
  fa4316749922813b44f2ee282452813b  libstdc++-v3/include/std/forward_list
*************** e03c583ee7c5891df1c7b190275435c9  libstd
*** 133874,133880 ****
  0f1bf0fdfc91c5159496ce06fc478adc  libstdc++-v3/include/std/print
  317c818ab1030cf117c8d8ef03df06aa  libstdc++-v3/include/std/queue
  01746ff9db8573f15b943b0c36cce6a8  libstdc++-v3/include/std/random
! 64901a5efdd2a96eed5da3fd3b378da8  libstdc++-v3/include/std/ranges
  a28bf4bed6789b61535d4b05ff48ba76  libstdc++-v3/include/std/ratio
  7d864de507d428ace2b6886ab9bb2610  libstdc++-v3/include/std/regex
  1bad2aed72c4537e7f08d24c1bf7d375  libstdc++-v3/include/std/scoped_allocator
--- 133882,133888 ----
  0f1bf0fdfc91c5159496ce06fc478adc  libstdc++-v3/include/std/print
  317c818ab1030cf117c8d8ef03df06aa  libstdc++-v3/include/std/queue
  01746ff9db8573f15b943b0c36cce6a8  libstdc++-v3/include/std/random
! 851c7958c7b0448ac5e24899679bbd02  libstdc++-v3/include/std/ranges
  a28bf4bed6789b61535d4b05ff48ba76  libstdc++-v3/include/std/ratio
  7d864de507d428ace2b6886ab9bb2610  libstdc++-v3/include/std/regex
  1bad2aed72c4537e7f08d24c1bf7d375  libstdc++-v3/include/std/scoped_allocator
*************** e66e202fb59625eb933c316b0bf9ee34  libstd
*** 134198,134204 ****
  fc90aab2bcae05d7286b5666cd1f2be8  libstdc++-v3/src/c++20/Makefile.in
  94b3ab191e8fe566a951ac2b4f081c40  libstdc++-v3/src/c++20/format.cc
  939eb3ac7ce3c32a8b2aac493f053893  libstdc++-v3/src/c++20/sstream-inst.cc
! e868493d039d86bca105c23a24b87383  libstdc++-v3/src/c++20/tzdata.zi
  b0d7e2c6204a3d2c19d2cea526f2a4df  libstdc++-v3/src/c++20/tzdb.cc
  3665d657cc35c7afb8b5cc7bae0ef058  libstdc++-v3/src/c++23/Makefile.am
  d85f3a53465585d54b96880e79456c79  libstdc++-v3/src/c++23/Makefile.in
--- 134206,134212 ----
  fc90aab2bcae05d7286b5666cd1f2be8  libstdc++-v3/src/c++20/Makefile.in
  94b3ab191e8fe566a951ac2b4f081c40  libstdc++-v3/src/c++20/format.cc
  939eb3ac7ce3c32a8b2aac493f053893  libstdc++-v3/src/c++20/sstream-inst.cc
! 0dfa4a770289b4e926b8281770732d5a  libstdc++-v3/src/c++20/tzdata.zi
  b0d7e2c6204a3d2c19d2cea526f2a4df  libstdc++-v3/src/c++20/tzdb.cc
  3665d657cc35c7afb8b5cc7bae0ef058  libstdc++-v3/src/c++23/Makefile.am
  d85f3a53465585d54b96880e79456c79  libstdc++-v3/src/c++23/Makefile.in
*************** c5f32b33de65013c0fc106b121d9adb9  libstd
*** 137347,137353 ****
  66d8e0b64dc2f55b235d2a74c80953c3  libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs.cc
  2ef42205ec9719ecefddda3ad2adc42a  libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs_debug.cc
  ca98b78997105b8f93c1c653568b6095  libstdc++-v3/testsuite/23_containers/deque/version.cc
! 7535065d63c1b982cee9145a95cc6818  libstdc++-v3/testsuite/23_containers/flat_map/1.cc
  d217a3bd92b8cd52c44f365ef36d41ac  libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc
  9b2f42aff2cc15dfd3a3f7693a799f84  libstdc++-v3/testsuite/23_containers/flat_multiset/1.cc
  76d6af8252b5ad047167bd10312d53bc  libstdc++-v3/testsuite/23_containers/flat_set/1.cc
--- 137355,137361 ----
  66d8e0b64dc2f55b235d2a74c80953c3  libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs.cc
  2ef42205ec9719ecefddda3ad2adc42a  libstdc++-v3/testsuite/23_containers/deque/types/pmr_typedefs_debug.cc
  ca98b78997105b8f93c1c653568b6095  libstdc++-v3/testsuite/23_containers/deque/version.cc
! bbc92cff8e605f5f919d625f173343c8  libstdc++-v3/testsuite/23_containers/flat_map/1.cc
  d217a3bd92b8cd52c44f365ef36d41ac  libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc
  9b2f42aff2cc15dfd3a3f7693a799f84  libstdc++-v3/testsuite/23_containers/flat_multiset/1.cc
  76d6af8252b5ad047167bd10312d53bc  libstdc++-v3/testsuite/23_containers/flat_set/1.cc
*************** eaaf09138f9c89061c5cd2835ee22dd9  libstd
*** 139508,139514 ****
  4baa175d84575e9b8eb6c56ded27ea43  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc
  3976ac394882d12b8b5646eefdd364ba  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc
  038c90cb46c6b428483cf2c2fbd9e9ff  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc
! b37d9cc6348d80b3465b1577d74b6d7a  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc
  51fd3c4098c1861566cbf9b6c277b0ac  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
  d5e4ba72f1a9b9d6478a6a92b71b518b  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc
  ac8890df44a550f4ce2ae489e8713185  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc
--- 139516,139522 ----
  4baa175d84575e9b8eb6c56ded27ea43  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc
  3976ac394882d12b8b5646eefdd364ba  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc
  038c90cb46c6b428483cf2c2fbd9e9ff  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc
! 80fd49c32fb41deda0115a76196d29ec  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc
  51fd3c4098c1861566cbf9b6c277b0ac  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
  d5e4ba72f1a9b9d6478a6a92b71b518b  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc
  ac8890df44a550f4ce2ae489e8713185  libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc
*************** d6f43aa2aa28ccf6f02960749550aac6  libstd
*** 143386,143392 ****
  98b483f4295fbf685f4fe582088c3473  libstdc++-v3/testsuite/std/ranges/adaptors/filter.cc
  6ce4d9d01be4defd04026414dbac0d5b  libstdc++-v3/testsuite/std/ranges/adaptors/join.cc
  326917eee6123d6a19d60b706ad52413  libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc
! 284143a02c085fd30e15e55c66cfde20  libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc
  54271889e88b8f08f76cff98d9dfb68b  libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc
  52a7e19aa4c7f3a80c76630b6c935fd3  libstdc++-v3/testsuite/std/ranges/adaptors/lwg3286.cc
  09fc4e2885ef672deb76aa23b85e9bc0  libstdc++-v3/testsuite/std/ranges/adaptors/lwg3313_neg.cc
--- 143394,143400 ----
  98b483f4295fbf685f4fe582088c3473  libstdc++-v3/testsuite/std/ranges/adaptors/filter.cc
  6ce4d9d01be4defd04026414dbac0d5b  libstdc++-v3/testsuite/std/ranges/adaptors/join.cc
  326917eee6123d6a19d60b706ad52413  libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc
! b45e37390cc284dc08d10cc25468c3b5  libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc
  54271889e88b8f08f76cff98d9dfb68b  libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split_neg.cc
  52a7e19aa4c7f3a80c76630b6c935fd3  libstdc++-v3/testsuite/std/ranges/adaptors/lwg3286.cc
  09fc4e2885ef672deb76aa23b85e9bc0  libstdc++-v3/testsuite/std/ranges/adaptors/lwg3313_neg.cc
*************** dcb9d587d1738c8bdb50039c6928431e  libstd
*** 143495,143500 ****
--- 143503,143509 ----
  54378d7890a365088cc6292493caf83d  libstdc++-v3/testsuite/std/time/month_weekday_last/io.cc
  60231b6bb71cc9175500ebf6d9f92ceb  libstdc++-v3/testsuite/std/time/parse/114240.cc
  a0be85b8053be995a48a4cfec6a5b675  libstdc++-v3/testsuite/std/time/parse/114279.cc
+ 4547b0badce5668333f08490264f6870  libstdc++-v3/testsuite/std/time/parse/125369.cc
  4650244d174eff0342f84405e248bbfe  libstdc++-v3/testsuite/std/time/parse/parse.cc
  8e3bf07939ba94874a6652e2a596d549  libstdc++-v3/testsuite/std/time/syn_c++20.cc
  942f5bb5a199e3f7b0821958da8b265a  libstdc++-v3/testsuite/std/time/time_zone/116110.cc
diff -Nrcpad gcc-15-20260515/gcc/ChangeLog gcc-15-20260522/gcc/ChangeLog
*** gcc-15-20260515/gcc/ChangeLog	Fri May 15 22:32:05 2026
--- gcc-15-20260522/gcc/ChangeLog	Fri May 22 22:32:04 2026
***************
*** 1,3 ****
--- 1,38 ----
+ 2026-05-20  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2026-05-08  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	PR target/125049
+ 	* config/loongarch/predicates.md (ssp_operand): New
+ 	define_predicate.
+ 	(ssp_normal_operand): New define_predicate.
+ 	* config/loongarch/constraints.md (ZE): New define_constraint.
+ 	(ZF): New define_constraint.
+ 	* config/loongarch/loongarch.md (UNSPEC_SSP): New unspec.
+ 	(cbranch4): Add "@" to create gen_cbranch4(machine_mode, ...).
+ 	(@stack_protect_combined_set_normal_<mode>): New define_insn.
+ 	(@stack_protect_combined_set_extreme_<mode>): New define_insn.
+ 	(@stack_protect_combined_test_internal_<mode>): New define_insn.
+ 	(stack_protect_combined_set): New define_expand.
+ 	(stack_protect_combined_test): New define_expand.
+ 	* config/loongarch/loongarch-protos.h
+ 	(loongarch_output_asm_load_canary): Declare.
+ 	* config/loongarch/loongarch.cc (loongarch_print_operand): Allow
+ 	'v' to print d/w for DImode/SImode.
+ 	(loongarch_output_asm_load_canary): Implement.
+ 
+ 2026-05-19  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR target/125351
+ 	* config/i386/i386.md: Use alternative to handle masm ptwrite
+ 	syntax.
+ 
+ 2026-05-16  Gopi Kumar Bulusu  <gopi@sankhya.com>
+ 
+ 	PR target/103383
+ 	* config/microblaze/microblaze.md: bswaphi2: (set_attr length 8)
+ 
  2026-05-14  Andi Kleen  <ak@gcc.gnu.org>
  
  	PR target/124316
diff -Nrcpad gcc-15-20260515/gcc/DATESTAMP gcc-15-20260522/gcc/DATESTAMP
*** gcc-15-20260515/gcc/DATESTAMP	Fri May 15 22:32:05 2026
--- gcc-15-20260522/gcc/DATESTAMP	Fri May 22 22:32:05 2026
***************
*** 1 ****
! 20260515
--- 1 ----
! 20260522
diff -Nrcpad gcc-15-20260515/gcc/c/ChangeLog gcc-15-20260522/gcc/c/ChangeLog
*** gcc-15-20260515/gcc/c/ChangeLog	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/c/ChangeLog	Fri May 22 22:32:05 2026
***************
*** 1,3 ****
--- 1,10 ----
+ 2026-05-15  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR c/124532
+ 	* c-parser.cc (struct attr_state): Add reset method.
+ 	(c_parser_compound_statement_nostart): Rename a to astate.
+ 	Reset state before iterating statements.
+ 
  2026-04-20  Martin Uecker  <uecker@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260515/gcc/config/i386/i386.md gcc-15-20260522/gcc/config/i386/i386.md
*** gcc-15-20260515/gcc/config/i386/i386.md	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/i386/i386.md	Fri May 22 22:32:05 2026
***************
*** 29508,29514 ****
    [(unspec_volatile [(match_operand:SWI48 0 "nonimmediate_operand" "rm")]
  		    UNSPECV_PTWRITE)]
    "TARGET_PTWRITE"
!   "ptwrite<imodesuffix>\t%0"
    [(set_attr "type" "other")
     (set_attr "prefix_0f" "1")
     (set_attr "prefix_rep" "1")])
--- 29508,29514 ----
    [(unspec_volatile [(match_operand:SWI48 0 "nonimmediate_operand" "rm")]
  		    UNSPECV_PTWRITE)]
    "TARGET_PTWRITE"
!   "ptwrite{<imodesuffix>|}\t%0"
    [(set_attr "type" "other")
     (set_attr "prefix_0f" "1")
     (set_attr "prefix_rep" "1")])
diff -Nrcpad gcc-15-20260515/gcc/config/loongarch/constraints.md gcc-15-20260522/gcc/config/loongarch/constraints.md
*** gcc-15-20260515/gcc/config/loongarch/constraints.md	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/loongarch/constraints.md	Fri May 22 22:32:05 2026
***************
*** 370,372 ****
--- 370,381 ----
     and offset that is suitable for use in instructions with the same
     addressing mode as @code{preld}."
     (match_test "loongarch_12bit_offset_address_p (op, mode)"))
+ 
+ (define_constraint "ZE"
+   "A symbolic suitable as stack canary in the normal/medium code model."
+   (match_operand 0 "ssp_normal_operand"))
+ 
+ (define_constraint "ZF"
+   "A symbolic suitable as stack canary, but in the extreme code model."
+   (and (match_operand 0 "ssp_operand")
+        (not (match_operand 0 "ssp_normal_operand"))))
diff -Nrcpad gcc-15-20260515/gcc/config/loongarch/loongarch-protos.h gcc-15-20260522/gcc/config/loongarch/loongarch-protos.h
*** gcc-15-20260515/gcc/config/loongarch/loongarch-protos.h	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/loongarch/loongarch-protos.h	Fri May 22 22:32:05 2026
*************** extern void loongarch_register_pragmas (
*** 223,226 ****
--- 223,227 ----
  extern bool loongarch_process_target_attr (tree args, tree fndecl);
  extern rtx loongarch_gen_stepped_int_parallel (unsigned int nelts, int base,
  					       int step);
+ extern void loongarch_output_asm_load_canary (rtx reg, rtx canary, rtx tmp);
  #endif /* ! GCC_LOONGARCH_PROTOS_H */
diff -Nrcpad gcc-15-20260515/gcc/config/loongarch/loongarch.cc gcc-15-20260522/gcc/config/loongarch/loongarch.cc
*** gcc-15-20260515/gcc/config/loongarch/loongarch.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/loongarch/loongarch.cc	Fri May 22 22:32:05 2026
*************** loongarch_print_operand (FILE *file, rtx
*** 6531,6542 ****
--- 6531,6544 ----
  	case E_V4SFmode:
  	case E_V8SImode:
  	case E_V8SFmode:
+ 	case E_SImode:
  	  fprintf (file, "w");
  	  break;
  	case E_V2DImode:
  	case E_V2DFmode:
  	case E_V4DImode:
  	case E_V4DFmode:
+ 	case E_DImode:
  	  fprintf (file, "d");
  	  break;
  	default:
*************** loongarch_can_inline_p (tree caller, tre
*** 11206,11211 ****
--- 11208,11262 ----
    return true;
  }
  
+ /* Output assembly to materialize the address of the stack canary value
+    into reg.  The third argument, tmp, should be and should only be
+    non-NULL if the extreme code model is effective for the canary.  If
+    the fourth arugment, load, is true, the canary value is loaded into
+    the register.
+ 
+    The assembly cannot be splitted due to security reason.  */
+ void
+ loongarch_output_asm_load_canary (rtx reg, rtx canary, rtx tmp)
+ {
+   gcc_checking_assert (ssp_operand (canary, VOIDmode));
+   gcc_checking_assert ((!tmp) == ssp_normal_operand (canary, VOIDmode));
+   gcc_checking_assert (register_operand (reg, Pmode));
+ 
+   rtx op[] = {reg, canary, tmp};
+   bool got = (loongarch_classify_symbol (canary) == SYMBOL_GOT_DISP);
+   bool need_ld = false;
+ 
+   if (la_opt_explicit_relocs != EXPLICIT_RELOCS_ALWAYS)
+     {
+       if (got)
+ 	output_asm_insn (tmp ? "la.global\t%0,%2,%1" : "la.global\t%0,%1",
+ 			 op);
+       else
+ 	output_asm_insn (tmp ? "la.local\t%0,%2,%1" : "la.local\t%0,%1",
+ 			 op);
+ 
+       need_ld = true;
+     }
+   else
+     {
+       output_asm_insn ("pcalau12i\t%0,%r1", op);
+       if (!tmp)
+ 	output_asm_insn ("ld.%v0\t%0,%0,%L1", op);
+       else
+ 	{
+ 	  output_asm_insn ("addi.d\t%2,$r0,%L1", op);
+ 	  output_asm_insn ("lu32i.d\t%2,%R1", op);
+ 	  output_asm_insn ("lu52i.d\t%2,%2,%H1", op);
+ 	  output_asm_insn ("ldx.d\t%0,%0,%2", op);
+ 	}
+ 
+       need_ld = got;
+     }
+ 
+   if (need_ld)
+     output_asm_insn ("ld.%v0\t%0,%0,0", op);
+ }
+ 
  /* Initialize the GCC target structure.  */
  #undef TARGET_ASM_ALIGNED_HI_OP
  #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t"
diff -Nrcpad gcc-15-20260515/gcc/config/loongarch/loongarch.md gcc-15-20260522/gcc/config/loongarch/loongarch.md
*** gcc-15-20260515/gcc/config/loongarch/loongarch.md	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/loongarch/loongarch.md	Fri May 22 22:32:05 2026
***************
*** 83,88 ****
--- 83,90 ----
    UNSPEC_LOAD_SYMBOL_OFFSET64
    UNSPEC_LA_PCREL_64_PART1
    UNSPEC_LA_PCREL_64_PART2
+ 
+   UNSPEC_SSP
  ])
  
  (define_c_enum "unspecv" [
***************
*** 3372,3378 ****
  ;; QImode values so we can force zero-extension.
  (define_mode_iterator BR [(QI "TARGET_64BIT") SI (DI "TARGET_64BIT")])
  
! (define_expand "cbranch<mode>4"
    [(set (pc)
  	(if_then_else (match_operator 0 "comparison_operator"
  			[(match_operand:BR 1 "register_operand")
--- 3374,3380 ----
  ;; QImode values so we can force zero-extension.
  (define_mode_iterator BR [(QI "TARGET_64BIT") SI (DI "TARGET_64BIT")])
  
! (define_expand "@cbranch<mode>4"
    [(set (pc)
  	(if_then_else (match_operator 0 "comparison_operator"
  			[(match_operand:BR 1 "register_operand")
***************
*** 4632,4637 ****
--- 4634,4723 ----
      operands[0] = loongarch_rewrite_mem_for_simple_ldst (operands[0]);
    })
  
+ ;; Set and check against stack canary without leaving it in a register.
+ ;; DO NOT ATTEMPT TO SPLIT THESE INSNS!  It's important for security reason
+ ;; that the canary value does not live beyond the life of this sequence.
+ 
+ (define_insn "@stack_protect_combined_set_normal_<mode>"
+   [(set (match_operand:P 0 "memory_operand" "=m,ZC")
+         (unspec:P [(mem:P (match_operand:P 1 "ssp_normal_operand"))]
+ 		  UNSPEC_SSP))
+    (set (match_scratch:P 2 "=&r,&r") (const_int 0))]
+   ""
+ {
+   loongarch_output_asm_load_canary (operands[2], operands[1], NULL_RTX);
+   output_asm_insn (which_alternative ? "stptr.d\t%2,%0" : "st.d\t%2,%0",
+ 		   operands);
+   return "ori\t%2,$r0,0";
+ }
+   [(set_attr "type" "store")
+    (set_attr "length" "20")])
+ 
+ (define_insn "@stack_protect_combined_set_extreme_<mode>"
+   [(set (match_operand:P 0 "memory_operand" "=m,ZC")
+         (unspec:P [(mem:P (match_operand:P 1 "ssp_operand"))] UNSPEC_SSP))
+    (set (match_scratch:P 2 "=&r,&r") (const_int 0))
+    (set (match_scratch:P 3 "=&r,&r") (const_int 0))]
+   ""
+ {
+   loongarch_output_asm_load_canary (operands[2], operands[1], operands[3]);
+   output_asm_insn (which_alternative ? "stptr.d\t%2,%0" : "st.d\t%2,%0",
+ 		   operands);
+   return "ori\t%2,$r0,0\n\tori\t%3,$r0,0";
+ }
+   [(set_attr "type" "store")
+    (set_attr "length" "36")])
+ 
+ (define_insn "@stack_protect_combined_test_internal_<mode>"
+   [(set (match_operand:P 0 "register_operand" "=r,r,&r,&r")
+ 	(xor:P
+ 	  (match_operand:P 1 "memory_operand" "=m,ZC,m,ZC")
+ 	    (unspec:P
+ 	      [(mem:P (match_operand:P 2 "ssp_operand" "ZE,ZE,ZF,ZF"))]
+ 	      UNSPEC_SSP)))
+    (set (match_scratch:P 3 "=&r,&r,&r,&r") (const_int 0))]
+   ""
+ {
+   rtx t = (which_alternative >= 2 ? operands[0] : NULL_RTX);
+   loongarch_output_asm_load_canary (operands[3], operands[2], t);
+   output_asm_insn ((which_alternative & 1) ? "ldptr.d\t%0,%1"
+ 					   : "ld.d\t%0,%1",
+ 		   operands);
+   return "xor\t%0,%0,%3\n\tori\t%3,$r0,0";
+ }
+   [(set_attr "type" "load,load,load,load")
+    (set_attr "length" "24,24,36,36")])
+ 
+ (define_expand "stack_protect_combined_set"
+   [(match_operand 0 "memory_operand")
+    (match_operand 1 "memory_operand")]
+   ""
+ {
+   rtx canary = XEXP (operands[1], 0);
+   auto fn = (ssp_normal_operand (canary, VOIDmode)
+ 	     ? gen_stack_protect_combined_set_normal
+ 	     : gen_stack_protect_combined_set_extreme);
+ 
+   emit_insn (fn (Pmode, operands[0], canary));
+   DONE;
+ })
+ 
+ (define_expand "stack_protect_combined_test"
+   [(match_operand 0 "memory_operand")
+    (match_operand 1 "memory_operand")
+    (match_operand 2 "")]
+   ""
+ {
+   rtx t = gen_reg_rtx (Pmode);
+   rtx canary = XEXP (operands[1], 0);
+   emit_insn (gen_stack_protect_combined_test_internal (Pmode, t,
+ 						       operands[0],
+ 						       canary));
+   rtx cond = gen_rtx_EQ (VOIDmode, t, const0_rtx);
+   emit_jump_insn (gen_cbranch4 (Pmode, cond, t, const0_rtx, operands[2]));
+   DONE;
+ })
+ 
  ;; Synchronization instructions.
  
  (include "sync.md")
diff -Nrcpad gcc-15-20260515/gcc/config/loongarch/predicates.md gcc-15-20260522/gcc/config/loongarch/predicates.md
*** gcc-15-20260515/gcc/config/loongarch/predicates.md	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/loongarch/predicates.md	Fri May 22 22:32:05 2026
***************
*** 593,598 ****
--- 593,606 ----
   (ior (match_operand 0 "register_operand")
        (match_operand 0 "symbolic_off64_operand")))
  
+ ;; Currently stack canary must be the global symbol __stack_chk_guard.
+ (define_predicate "ssp_operand" (match_code "symbol_ref"))
+ 
+ ;; If the stack canary is within the normal/medium code model.
+ (define_predicate "ssp_normal_operand"
+   (and (match_operand 0 "ssp_operand")
+        (not (match_operand 0 "symbolic_off64_operand"))))
+ 
  (define_predicate "equality_operator"
    (match_code "eq,ne"))
  
diff -Nrcpad gcc-15-20260515/gcc/config/microblaze/microblaze.md gcc-15-20260522/gcc/config/microblaze/microblaze.md
*** gcc-15-20260515/gcc/config/microblaze/microblaze.md	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/config/microblaze/microblaze.md	Fri May 22 22:32:05 2026
***************
*** 369,374 ****
--- 369,377 ----
          (bswap:SI (match_operand:SI 1 "register_operand" "r")))]
    "TARGET_REORDER"
    "swapb %0, %1"
+   [(set_attr "type"	"no_delay_arith")
+    (set_attr "mode"	"SI")
+    (set_attr "length"	"4")]
  )
  
  (define_insn "bswaphi2"
***************
*** 377,382 ****
--- 380,388 ----
    "TARGET_REORDER"
    "swapb %0, %1
     swaph %0, %0"
+   [(set_attr "type"	"no_delay_arith")
+    (set_attr "mode"	"SI")
+    (set_attr "length"	"8")]
  )
  
  ;;----------------------------------------------------------------
diff -Nrcpad gcc-15-20260515/gcc/cp/ChangeLog gcc-15-20260522/gcc/cp/ChangeLog
*** gcc-15-20260515/gcc/cp/ChangeLog	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/cp/ChangeLog	Fri May 22 22:32:06 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-05-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/125315
+ 	* constexpr.cc (init_subob_ctx): Allow both ctor and object
+ 	to be null for an empty subobject.
+ 
  2026-05-14  Jason Merrill  <jason@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260515/gcc/fortran/ChangeLog gcc-15-20260522/gcc/fortran/ChangeLog
*** gcc-15-20260515/gcc/fortran/ChangeLog	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/ChangeLog	Fri May 22 22:32:06 2026
***************
*** 1,3 ****
--- 1,43 ----
+ 2026-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/106546
+ 	* frontend-passes.cc (create_var): Set attr->automatic on
+ 	new symbol.
+ 	(create_do_loop): Likewise on iteration variable.
+ 
+ 2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/115260
+ 	* trans-expr.cc (gfc_conv_subref_array_arg): Pass false to
+ 	dealloc argument of gfc_trans_scalar_assign if we are
+ 	converting a g77-style argument.
+ 
+ 2026-05-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-04-29  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	PR fortran/125021
+ 	* coarray.cc (check_add_new_comp_handle_array): Prefix internal
+ 	symbols by two underscores.
+ 	(create_get_callback): Same.
+ 	(create_allocated_callback): Same.
+ 	(create_send_callback): Same.
+ 
+ 2026-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2026-05-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111952
+ 	PR fortran/125059
+ 	* trans-decl.cc (gfc_finish_var_decl): Remove bogus code forcing
+ 	a DT variable with DTIO as static.
+ 	* trans-io.cc (gfc_build_io_library_fndecls): Fix fnspec attribute.
+ 
  2026-05-14  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260515/gcc/fortran/coarray.cc gcc-15-20260522/gcc/fortran/coarray.cc
*** gcc-15-20260515/gcc/fortran/coarray.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/coarray.cc	Fri May 22 22:32:06 2026
*************** check_add_new_comp_handle_array (gfc_exp
*** 615,621 ****
  	  c->expr2->ref->u.ar.codimen = 1;
  	  c->expr2->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
  	  caller_image
! 	    = gfc_find_symtree_in_proc ("caller_image", add_data->ns);
  	  gcc_assert (caller_image);
  	  c->expr2->ref->u.ar.start[0] = gfc_get_variable_expr (caller_image);
  	  c->expr2->ref->u.ar.start[0]->where = e->where;
--- 615,621 ----
  	  c->expr2->ref->u.ar.codimen = 1;
  	  c->expr2->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
  	  caller_image
! 	    = gfc_find_symtree_in_proc ("__caller_image", add_data->ns);
  	  gcc_assert (caller_image);
  	  c->expr2->ref->u.ar.start[0] = gfc_get_variable_expr (caller_image);
  	  c->expr2->ref->u.ar.start[0]->where = e->where;
*************** create_get_callback (gfc_expr *expr)
*** 868,883 ****
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("add_data_%s_%s_%d", mname, tname, caf_sym_cnt);
    ADD_ARG (name, get_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (get_data);
    free (name);
  
!   ADD_ARG ("caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
!   ADD_ARG ("buffer", buffer, expr->ts.type, expr->ts.kind, INTENT_INOUT);
    buffer->ts = expr->ts;
    if (expr_rank)
      {
--- 868,883 ----
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("__add_data_%s_%s_%d", mname, tname, caf_sym_cnt);
    ADD_ARG (name, get_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (get_data);
    free (name);
  
!   ADD_ARG ("__caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
!   ADD_ARG ("__buffer", buffer, expr->ts.type, expr->ts.kind, INTENT_INOUT);
    buffer->ts = expr->ts;
    if (expr_rank)
      {
*************** create_get_callback (gfc_expr *expr)
*** 917,923 ****
      }
    gfc_commit_symbol (buffer);
  
!   ADD_ARG ("free_buffer", free_buffer, BT_LOGICAL, gfc_default_logical_kind,
  	   INTENT_OUT);
    gfc_commit_symbol (free_buffer);
  
--- 917,923 ----
      }
    gfc_commit_symbol (buffer);
  
!   ADD_ARG ("__free_buffer", free_buffer, BT_LOGICAL, gfc_default_logical_kind,
  	   INTENT_OUT);
    gfc_commit_symbol (free_buffer);
  
*************** create_allocated_callback (gfc_expr *exp
*** 1117,1131 ****
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("add_data_%s_%s_%d", mname, tname, ++caf_sym_cnt);
    ADD_ARG (name, add_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (add_data);
    free (name);
!   ADD_ARG ("caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
!   ADD_ARG ("result", result, BT_LOGICAL, gfc_default_logical_kind, INTENT_OUT);
    gfc_commit_symbol (result);
  
    // ADD_ARG (expr->symtree->name, base, BT_VOID, INTENT_IN);
--- 1117,1132 ----
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("__add_data_%s_%s_%d", mname, tname, ++caf_sym_cnt);
    ADD_ARG (name, add_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (add_data);
    free (name);
!   ADD_ARG ("__caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
!   ADD_ARG ("__result", result, BT_LOGICAL, gfc_default_logical_kind,
! 	   INTENT_OUT);
    gfc_commit_symbol (result);
  
    // ADD_ARG (expr->symtree->name, base, BT_VOID, INTENT_IN);
*************** create_send_callback (gfc_expr *expr, gf
*** 1262,1273 ****
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("add_send_data_%s_%s_%d", mname, tname, caf_sym_cnt);
    ADD_ARG (name, send_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (send_data);
    free (name);
  
!   ADD_ARG ("caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
--- 1263,1274 ----
    (*argptr)->sym = nsym;                                                       \
    argptr = &(*argptr)->next
  
!   name = xasprintf ("__add_send_data_%s_%s_%d", mname, tname, caf_sym_cnt);
    ADD_ARG (name, send_data, BT_DERIVED, 0, INTENT_IN);
    gfc_commit_symbol (send_data);
    free (name);
  
!   ADD_ARG ("__caller_image", caller_image, BT_INTEGER, gfc_default_integer_kind,
  	   INTENT_IN);
    gfc_commit_symbol (caller_image);
  
*************** create_send_callback (gfc_expr *expr, gf
*** 1281,1287 ****
    argptr = &(*argptr)->next;
    gfc_commit_symbol (base);
  
!   ADD_ARG ("buffer", buffer, rhs->ts.type, rhs->ts.kind, INTENT_IN);
    buffer->ts = rhs->ts;
    if (rhs->rank)
      {
--- 1282,1288 ----
    argptr = &(*argptr)->next;
    gfc_commit_symbol (base);
  
!   ADD_ARG ("__buffer", buffer, rhs->ts.type, rhs->ts.kind, INTENT_IN);
    buffer->ts = rhs->ts;
    if (rhs->rank)
      {
diff -Nrcpad gcc-15-20260515/gcc/fortran/frontend-passes.cc gcc-15-20260522/gcc/fortran/frontend-passes.cc
*** gcc-15-20260515/gcc/fortran/frontend-passes.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/frontend-passes.cc	Fri May 22 22:32:06 2026
*************** create_var (gfc_expr * e, const char *vn
*** 849,854 ****
--- 849,855 ----
    symbol->attr.referenced = 1;
    symbol->attr.dimension = e->rank > 0;
    symbol->attr.fe_temp = 1;
+   symbol->attr.automatic = 1;
    gfc_commit_symbol (symbol);
  
    result = gfc_get_expr ();
*************** create_do_loop (gfc_expr *start, gfc_exp
*** 3807,3812 ****
--- 3808,3814 ----
    symbol->attr.referenced = 1;
    symbol->attr.dimension = 0;
    symbol->attr.fe_temp = 1;
+   symbol->attr.automatic = 1;
    gfc_commit_symbol (symbol);
  
    i = gfc_get_expr ();
diff -Nrcpad gcc-15-20260515/gcc/fortran/trans-decl.cc gcc-15-20260522/gcc/fortran/trans-decl.cc
*** gcc-15-20260515/gcc/fortran/trans-decl.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/trans-decl.cc	Fri May 22 22:32:06 2026
*************** gfc_finish_var_decl (tree decl, gfc_symb
*** 745,760 ****
  		&& sym->attr.codimension && !sym->attr.allocatable)))
      TREE_STATIC (decl) = 1;
  
-   /* If derived-type variables with DTIO procedures are not made static
-      some bits of code referencing them get optimized away.
-      TODO Understand why this is so and fix it.  */
-   if (!sym->attr.use_assoc
-       && ((sym->ts.type == BT_DERIVED
-            && sym->ts.u.derived->attr.has_dtio_procs)
- 	  || (sym->ts.type == BT_CLASS
- 	      && CLASS_DATA (sym)->ts.u.derived->attr.has_dtio_procs)))
-     TREE_STATIC (decl) = 1;
- 
    /* Treat asynchronous variables the same as volatile, for now.  */
    if (sym->attr.volatile_ || sym->attr.asynchronous)
      {
--- 745,750 ----
diff -Nrcpad gcc-15-20260515/gcc/fortran/trans-expr.cc gcc-15-20260522/gcc/fortran/trans-expr.cc
*** gcc-15-20260515/gcc/fortran/trans-expr.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/trans-expr.cc	Fri May 22 22:32:06 2026
*************** gfc_conv_subref_array_arg (gfc_se *se, g
*** 5585,5591 ****
  
    gcc_assert (lse.ss == gfc_ss_terminator);
  
!   tmp = gfc_trans_scalar_assign (&lse, &rse, expr->ts, false, true);
    gfc_add_expr_to_block (&body, tmp);
  
    /* Generate the copying loops.  */
--- 5585,5593 ----
  
    gcc_assert (lse.ss == gfc_ss_terminator);
  
!   /* Do not do deallocations when we are looking at a g77-style argument.  */
! 
!   tmp = gfc_trans_scalar_assign (&lse, &rse, expr->ts, false, !g77);
    gfc_add_expr_to_block (&body, tmp);
  
    /* Generate the copying loops.  */
diff -Nrcpad gcc-15-20260515/gcc/fortran/trans-io.cc gcc-15-20260522/gcc/fortran/trans-io.cc
*** gcc-15-20260515/gcc/fortran/trans-io.cc	Fri May 15 22:32:06 2026
--- gcc-15-20260522/gcc/fortran/trans-io.cc	Fri May 22 22:32:06 2026
*************** gfc_build_io_library_fndecls (void)
*** 416,422 ****
  	integer_type_node, gfc_charlen_type_node);
  
    iocall[IOCALL_X_DERIVED] = gfc_build_library_function_decl_with_spec (
! 	get_identifier (PREFIX("transfer_derived")), ". w r ",
  	void_type_node, 2, dt_parm_type, pvoid_type_node);
  
    /* Library entry points */
--- 416,422 ----
  	integer_type_node, gfc_charlen_type_node);
  
    iocall[IOCALL_X_DERIVED] = gfc_build_library_function_decl_with_spec (
! 	get_identifier (PREFIX("transfer_derived")), ". w w ",
  	void_type_node, 2, dt_parm_type, pvoid_type_node);
  
    /* Library entry points */
diff -Nrcpad gcc-15-20260515/gcc/testsuite/ChangeLog gcc-15-20260522/gcc/testsuite/ChangeLog
*** gcc-15-20260515/gcc/testsuite/ChangeLog	Fri May 15 22:32:07 2026
--- gcc-15-20260522/gcc/testsuite/ChangeLog	Fri May 22 22:32:07 2026
***************
*** 1,3 ****
--- 1,90 ----
+ 2026-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/106546
+ 	* gfortran.dg/inline_matmul_27.f90: New test.
+ 
+ 2026-05-20  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2026-05-08  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	PR target/125049
+ 	* gcc.target/loongarch/pr125049.c: New test.
+ 
+ 2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/115260
+ 	* gfortran.dg/pr115260.f90: New test.
+ 
+ 2026-05-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-04-29  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	PR fortran/125021
+ 	* gfortran.dg/coarray/pr125021.f90: New test.
+ 
+ 2026-05-19  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR target/125351
+ 	* gcc.target/i386/pr125351.c: New test.
+ 
+ 2026-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2026-05-08  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/111952
+ 	PR fortran/125059
+ 	* gfortran.dg/dtio_37.f90: New test.
+ 
+ 2026-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2026-05-06  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR libfortran/125095
+ 	* gfortran.dg/namelist_102.f90: New test.
+ 
+ 2026-05-16  Gopi Kumar Bulusu  <gopi@sankhya.com>
+ 
+ 	PR target/103383
+ 	* gcc.target/microblaze/isa/pr103383.c: New test.
+ 
+ 2026-05-15  Antoni Boucher  <bouanto@zoho.com>
+ 
+ 	Backported from master:
+ 	2025-12-21  Antoni Boucher  <bouanto@zoho.com>
+ 
+ 	PR testsuite/123004
+ 	* jit.dg/all-non-failing-tests.h: Update comment about
+ 	test-cold-attribute.c.
+ 	* jit.dg/test-cold-attribute.c: Use -Oz to fix test.
+ 
+ 2026-05-15  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR c/124532
+ 	* c-c++-common/pr124532.c: New test.
+ 
+ 2026-05-15  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2026-05-08  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	* lib/lto.exp: Make file listing case sensitive by doing case
+ 	sensitive filter after directory listing.
+ 
+ 2026-05-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/125315
+ 	* g++.dg/cpp2a/no_unique_address16.C: New test.
+ 
  2026-05-14  Andi Kleen  <ak@gcc.gnu.org>
  
  	PR target/124316
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gcc.target/i386/pr125351.c gcc-15-20260522/gcc/testsuite/gcc.target/i386/pr125351.c
*** gcc-15-20260515/gcc/testsuite/gcc.target/i386/pr125351.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gcc.target/i386/pr125351.c	Fri May 22 22:32:13 2026
***************
*** 0 ****
--- 1,3 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mptwrite -masm=intel" } */
+ void foo() { __builtin_ia32_ptwrite32(0); }
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gcc.target/loongarch/pr125049.c gcc-15-20260522/gcc/testsuite/gcc.target/loongarch/pr125049.c
*** gcc-15-20260515/gcc/testsuite/gcc.target/loongarch/pr125049.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gcc.target/loongarch/pr125049.c	Fri May 22 22:32:13 2026
***************
*** 0 ****
--- 1,50 ----
+ /* PR 125049: ensure stack canary and its address are not leaked.  */
+ /* { dg-options "-O2 -fstack-protector-strong -ffixed-r30 -ffixed-r31" } */
+ /* { dg-do run } */
+ /* { dg-require-effective-target fstack_protector } */
+ 
+ extern long __stack_chk_guard;
+ register long s7 asm ("s7"), *s8 asm ("s8");
+ 
+ [[gnu::zero_call_used_regs ("all"), gnu::noipa]] void
+ init_test (void)
+ {
+   s7 = __stack_chk_guard;
+   s8 = &__stack_chk_guard;
+ }
+ 
+ [[gnu::always_inline]] static inline void
+ check_reg (void)
+ {
+ #pragma GCC unroll 30
+   for (int i = 4; i < 30; i++)
+     asm goto (
+       "beq $r%0,$s7,%l[error]\n\t"
+       "beq $r%0,$s8,%l[error]\n\t"
+       :
+       : "i" (i)
+       :
+       : error
+     );
+   return;
+ error:
+   __builtin_trap ();
+ }
+ 
+ [[gnu::noipa]] void
+ test (void)
+ {
+   char buf[256];
+   asm ("":"+m"(buf));
+ 
+   check_reg ();
+ }
+ 
+ int
+ main (void)
+ {
+   init_test ();
+   test ();
+ 
+   check_reg ();
+ }
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gcc.target/microblaze/isa/pr103383.c gcc-15-20260522/gcc/testsuite/gcc.target/microblaze/isa/pr103383.c
*** gcc-15-20260515/gcc/testsuite/gcc.target/microblaze/isa/pr103383.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gcc.target/microblaze/isa/pr103383.c	Fri May 22 22:32:13 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mcpu=v10.0 -mxl-barrel-shift -S" } */
+  
+ unsigned short t = 0x1234;
+ 
+ extern unsigned short int g();
+ 
+ int f()
+ {
+   unsigned short s = t;
+ 
+ /* { dg-final { scan-assembler-not "brlid\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),g\n\[ \t\n\]*swap" } } */
+   if (__builtin_bswap16(s) != g()) {
+ 	  return -1;
+   }
+ 
+   return 0;
+ }
+ 
+ 
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gfortran.dg/coarray/pr125021.f90 gcc-15-20260522/gcc/testsuite/gfortran.dg/coarray/pr125021.f90
*** gcc-15-20260515/gcc/testsuite/gfortran.dg/coarray/pr125021.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gfortran.dg/coarray/pr125021.f90	Fri May 22 22:32:14 2026
***************
*** 0 ****
--- 1,21 ----
+ !{ dg-do run }
+ 
+ ! Contributed by Neil Carlson  <neil.n.carlson@gmail.com>
+ ! Test for PR fortran/125021
+ 
+ type box
+   integer, allocatable :: data(:)
+ end type
+ type(box), allocatable :: buffer[:]
+ 
+ integer :: i, n
+ 
+ allocate(buffer[*])
+ allocate(buffer%data(1), source=this_image())
+ sync all
+ 
+ i = 1 + modulo(this_image(), num_images())
+ n = buffer[i]%data(1)
+ if (n /= i ) error stop
+ end
+ 
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gfortran.dg/dtio_37.f90 gcc-15-20260522/gcc/testsuite/gfortran.dg/dtio_37.f90
*** gcc-15-20260515/gcc/testsuite/gfortran.dg/dtio_37.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gfortran.dg/dtio_37.f90	Fri May 22 22:32:14 2026
***************
*** 0 ****
--- 1,36 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O2" }
+ !
+ ! PR fortran/125059 - derived type IO and automatic deallocation
+ ! PR fortran/111952
+ 
+ module m
+   type t
+      integer :: i = 42
+    contains
+      procedure :: w
+      generic :: write(formatted) => w
+   end type t
+ contains
+   subroutine w(dtv,unit,iotype,v_list,iostat,iomsg)
+     class(t),        intent(in)    :: dtv
+     integer,         intent(in)    :: unit
+     character(len=*),intent(in)    :: iotype
+     integer,         intent(in)    :: v_list(:)
+     integer,         intent(out)   :: iostat
+     character(len=*),intent(inout) :: iomsg
+     write(unit,*,iostat=iostat,iomsg=iomsg) dtv%i
+   end subroutine w
+ end
+ 
+ program p
+   use m
+   call f()
+   call f()
+ contains
+   subroutine f()
+     type(t), allocatable :: a(:)
+     allocate (a(1))
+     print *, a(1)
+   end subroutine f
+ end
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gfortran.dg/inline_matmul_27.f90 gcc-15-20260522/gcc/testsuite/gfortran.dg/inline_matmul_27.f90
*** gcc-15-20260515/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Fri May 22 22:32:14 2026
***************
*** 0 ****
--- 1,63 ----
+ ! { dg-do run }
+ ! { dg-options "-O2 -fcheck=bounds -fno-automatic" }
+ ! PR fortran/106546 - FE temporaries have to be automatic
+ ! Original test case by Solomon Gibbs
+ 
+ subroutine do_multiply()
+   implicit none
+   
+   integer :: rank
+   real(8) :: draw
+ 
+   real(8) :: x1(6), x2(6)
+   real(8), allocatable :: K(:,:), J(:,:), z(:)
+ 
+   character(len=300) :: out
+   ! Randomly select rank of operation 0 ... 6
+   call random_number(draw)
+   if (draw .lt. 1/7.0d0) then
+      rank = 0
+   elseif (draw .lt. 2/7.0d0) then
+      rank = 1
+   elseif (draw .lt. 3/7.0d0) then
+      rank = 2
+   elseif (draw .lt. 4/7.0d0) then
+      rank = 3
+   elseif (draw .lt. 5/7.0d0) then
+      rank = 4
+   elseif (draw .lt. 6/7.0d0) then
+      rank = 5
+   else
+      rank = 6
+   endif
+ 
+   allocate(K(rank, 6))
+   allocate(J(rank, rank))
+   allocate(z(rank))
+ 
+   call random_number(x1)
+   call random_number(x2)
+   call random_number(K)
+   call random_number(J)
+   call random_number(z)
+ 
+   ! multiply allocatables using array temporaries
+   ! Problem occurs here
+   z = matmul(J, matmul(K, x2 - x1))
+ 
+   ! Output z to prevent optimizer elimination
+   write (out,*) rank," ",z
+ 
+   deallocate(z, J, K)
+   
+ end subroutine do_multiply
+   
+ program bogus
+   implicit none
+ 
+   integer :: i
+   do i=1,100
+      call do_multiply()
+   end do
+   
+ end program bogus
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gfortran.dg/namelist_102.f90 gcc-15-20260522/gcc/testsuite/gfortran.dg/namelist_102.f90
*** gcc-15-20260515/gcc/testsuite/gfortran.dg/namelist_102.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gfortran.dg/namelist_102.f90	Fri May 22 22:32:14 2026
***************
*** 0 ****
--- 1,248 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O2" }
+ !
+ ! PR fortran/125095 - test namelist read with comments
+ !
+ ! Based on testcases by Andy Nelson and Steven G. Kargl
+ 
+ program nmlbug
+   implicit none
+   call test_int
+   call test_real
+   call test_complex
+   call test_logical
+   call test_char
+ 
+ contains
+ 
+   subroutine test_int
+ 
+     integer :: array(4), barray(4), carray(4), darray(4)
+ 
+     namelist/nml1/  array
+     namelist/nml2/ barray
+     namelist/nml3/ carray
+     namelist/nml4/ darray
+ 
+     open(10,status='scratch')
+     write(10,'(A)') '&nml1'
+     write(10,'(A)') '  array = 1, 2, 3, 4,'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml2'
+     write(10,'(A)') '  barray = 5,    ! comment'
+     write(10,'(A)') '           6,'
+     write(10,'(A)') '           7     ! another comment'
+     write(10,'(A)') '           8,'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml3'
+     write(10,'(A)') '  carray =  9     ! New comment'
+     write(10,'(A)') '           10'
+     write(10,'(A)') '           11     ! another new comment'
+     write(10,'(A)') '           12'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml4'
+     write(10,'(A)') '  darray = 13, 14, 15, 16,'
+     write(10,'(A)') '/'
+     flush(10)
+     rewind(10)
+ 
+     read(10,nml1)
+     if (any( array /= [ 1,  2,  3,  4])) stop 1
+     read(10,nml2)
+     if (any(barray /= [ 5,  6,  7,  8])) stop 2
+     read(10,nml3)
+     if (any(carray /= [ 9, 10, 11, 12])) stop 3
+     read(10,nml4)
+     if (any(darray /= [13, 14, 15, 16])) stop 4
+     close(10)
+ 
+   end subroutine test_int
+ 
+   subroutine test_real
+ 
+     real :: array(4), barray(4), carray(4), darray(4)
+ 
+     namelist/nml1/  array
+     namelist/nml2/ barray
+     namelist/nml3/ carray
+     namelist/nml4/ darray
+ 
+     open(10,status='scratch')
+     write(10,'(A)') '&nml1'
+     write(10,'(A)') '  array = 1, 2, 3, 4,'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml2'
+     write(10,'(A)') '  barray = 5,    ! comment'
+     write(10,'(A)') '           6,'
+     write(10,'(A)') '           7     ! another comment'
+     write(10,'(A)') '           8,'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml3'
+     write(10,'(A)') '  carray =  9     ! New comment'
+     write(10,'(A)') '           10'
+     write(10,'(A)') '           11     ! another new comment'
+     write(10,'(A)') '           12'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml4'
+     write(10,'(A)') '  darray = 13, 14, 15, 16,'
+     write(10,'(A)') '/'
+     flush(10)
+     rewind(10)
+ 
+     read(10,nml1)
+     if (any( array /= [ 1,  2,  3,  4])) stop 1
+     read(10,nml2)
+     if (any(barray /= [ 5,  6,  7,  8])) stop 2
+     read(10,nml3)
+     if (any(carray /= [ 9, 10, 11, 12])) stop 3
+     read(10,nml4)
+     if (any(darray /= [13, 14, 15, 16])) stop 4
+     close(10)
+ 
+   end subroutine test_real
+ 
+   subroutine test_complex
+ 
+     complex :: array(4), barray(4), carray(4), darray(4)
+ 
+     namelist/nml1/  array
+     namelist/nml2/ barray
+     namelist/nml3/ carray
+     namelist/nml4/ darray
+ 
+     open(10,status='scratch')
+     write(10,'(A)') '&nml1'
+     write(10,'(A)') '  array = (1,0), (2,0), (3,0), (4,0),'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml2'
+     write(10,'(A)') '  barray = (5,0),    ! comment'
+     write(10,'(A)') '           (6,0),'
+     write(10,'(A)') '           (7,0)     ! another comment'
+     write(10,'(A)') '           (8,0),'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml3'
+     write(10,'(A)') '  carray =  (9,0)     ! New comment'
+     write(10,'(A)') '           (10,0)'
+     write(10,'(A)') '           (11,0)     ! another new comment'
+     write(10,'(A)') '           (12,0)'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml4'
+     write(10,'(A)') '  darray = (13,0), (14,0), (15,0), (16,0),'
+     write(10,'(A)') '/'
+     flush(10)
+     rewind(10)
+ 
+     read(10,nml1)
+     if (any( array /= [ 1,  2,  3,  4])) stop 1
+     read(10,nml2)
+     if (any(barray /= [ 5,  6,  7,  8])) stop 2
+     read(10,nml3)
+     if (any(carray /= [ 9, 10, 11, 12])) stop 3
+     read(10,nml4)
+     if (any(darray /= [13, 14, 15, 16])) stop 4
+     close(10)
+ 
+   end subroutine test_complex
+ 
+   subroutine test_logical
+ 
+     logical :: array(4), barray(4), carray(4), darray(4)
+ 
+     namelist/nml1/  array
+     namelist/nml2/ barray
+     namelist/nml3/ carray
+     namelist/nml4/ darray
+ 
+     open(10,status='scratch')
+     write(10,'(A)') '&nml1'
+     write(10,'(A)') '  array = T,F,F,T'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml2'
+     write(10,'(A)') '  barray = T,    ! comment'
+     write(10,'(A)') '           F,'
+     write(10,'(A)') '           F     ! another comment'
+     write(10,'(A)') '           T,'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml3'
+     write(10,'(A)') '  carray =  T     ! New comment'
+     write(10,'(A)') '            F'
+     write(10,'(A)') '            F     ! another new comment'
+     write(10,'(A)') '            T'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml4'
+     write(10,'(A)') '  darray =  T,F,F,T'
+     write(10,'(A)') '/'
+     flush(10)
+     rewind(10)
+ 
+     read(10,nml1)
+     if (any( array .neqv. [ .true.,.false.,.false.,.true. ])) stop 1
+     read(10,nml2)
+     if (any(barray .neqv. [ .true.,.false.,.false.,.true. ])) stop 2
+     read(10,nml3)
+     if (any(carray .neqv. [ .true.,.false.,.false.,.true. ])) stop 3
+     read(10,nml4)
+     if (any(darray .neqv. [ .true.,.false.,.false.,.true. ])) stop 4
+     close(10)
+ 
+   end subroutine test_logical
+ 
+   subroutine test_char
+ 
+     character(8) :: array(4), barray(4), carray(4), darray(4)
+ 
+     namelist/nml1/  array
+     namelist/nml2/ barray
+     namelist/nml3/ carray
+     namelist/nml4/ darray
+ 
+     open(10,status='scratch')
+     write(10,'(A)') '&nml1'
+     write(10,'(A)') '  array = "a", "b", "c", "d",'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml2'
+     write(10,'(A)') '  barray = "a",    ! comment'
+     write(10,'(A)') '           "b",'
+     write(10,'(A)') '           "c"     ! another comment'
+     write(10,'(A)') '           "d",'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml3'
+     write(10,'(A)') '  carray = "a"     ! New comment'
+     write(10,'(A)') '           "b"'
+     write(10,'(A)') '           "c"     ! another new comment'
+     write(10,'(A)') '           "d"'
+     write(10,'(A)') '/'
+     write(10,*)
+     write(10,'(A)') '&nml4'
+     write(10,'(A)') '  darray = "a", "b", "c", "d",'
+     write(10,'(A)') '/'
+     flush(10)
+     rewind(10)
+ 
+     read(10,nml1)
+     if (any( array /= [ "a", "b", "c", "d" ])) stop 1
+     read(10,nml2)
+     if (any(barray /= [ "a", "b", "c", "d" ])) stop 2
+     read(10,nml3)
+     if (any(carray /= [ "a", "b", "c", "d" ])) stop 3
+     read(10,nml4)
+     if (any(darray /= [ "a", "b", "c", "d" ])) stop 4
+     close(10)
+ 
+   end subroutine test_char
+ 
+ end program nmlbug
diff -Nrcpad gcc-15-20260515/gcc/testsuite/gfortran.dg/pr115260.f90 gcc-15-20260522/gcc/testsuite/gfortran.dg/pr115260.f90
*** gcc-15-20260515/gcc/testsuite/gfortran.dg/pr115260.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/gcc/testsuite/gfortran.dg/pr115260.f90	Fri May 22 22:32:14 2026
***************
*** 0 ****
--- 1,35 ----
+ ! { dg-do run }
+ ! PR 115260 - this got corrupted output.
+ ! Original test case by Steve Mullerworth
+ 
+ program usegnufields
+   implicit none
+   type :: field_type
+     real,    allocatable :: data(:)
+     integer, allocatable :: idata(:)
+   end type field_type
+   type :: fieldholder
+     type(field_type) :: fieldset(2,4)
+   end type fieldholder
+   type(fieldholder) :: myfields
+ 
+   allocate(myfields%fieldset(2,1)%data(3))
+   allocate(myfields%fieldset(2,1)%idata(3))
+   myfields%fieldset(2,1)%data =1.0
+   myfields%fieldset(2,1)%idata=2
+ 
+   call setfields (myfields%fieldset(2,1:4))
+ !  print *,'After calling setfields with fieldset(2,1:4)'
+ !  print *,myfields%fieldset(2,1)%data
+ !  print *,myfields%fieldset(2,1)%idata
+   if (any (myfields%fieldset(2,1)%data  /= 1.0)) stop 1
+   if (any (myfields%fieldset(2,1)%idata /= 2  )) stop 2
+ 
+ contains
+   subroutine setfields (fieldset)
+     type(field_type), intent(inout) :: fieldset(1:4) ! corruption with -O
+ !    print *,'In setfields:'
+ !    print *,fieldset(1)%data
+ !    print *,fieldset(1)%idata
+   end subroutine setfields
+ end
diff -Nrcpad gcc-15-20260515/libgfortran/ChangeLog gcc-15-20260522/libgfortran/ChangeLog
*** gcc-15-20260515/libgfortran/ChangeLog	Fri May 15 22:32:16 2026
--- gcc-15-20260522/libgfortran/ChangeLog	Fri May 22 22:32:15 2026
***************
*** 1,3 ****
--- 1,15 ----
+ 2026-05-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2026-05-06  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR libfortran/125095
+ 	* io/list_read.c (read_logical): Eat comments in namelist read mode.
+ 	(read_integer): Likewise.
+ 	(read_character): Likewise.
+ 	(read_complex): Likewise.
+ 	(read_real): Likewise.
+ 
  2025-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260515/libgfortran/io/list_read.c gcc-15-20260522/libgfortran/io/list_read.c
*** gcc-15-20260515/libgfortran/io/list_read.c	Fri May 15 22:32:16 2026
--- gcc-15-20260522/libgfortran/io/list_read.c	Fri May 22 22:32:15 2026
*************** read_logical (st_parameter_dt *dtp, int
*** 917,922 ****
--- 917,923 ----
    if (parse_repeat (dtp))
      return;
  
+ next:
    c = safe_tolower (next_char (dtp));
    l_push_char (dtp, c);
    switch (c)
*************** read_logical (st_parameter_dt *dtp, int
*** 961,966 ****
--- 962,970 ----
      case '!':
        if (!dtp->u.p.namelist_mode)
          goto bad_logical;
+       eat_line (dtp);
+       eat_spaces (dtp);
+       goto next;
  
      CASE_SEPARATORS:
      case EOF:
*************** read_integer (st_parameter_dt *dtp, int
*** 1076,1081 ****
--- 1080,1086 ----
    int c, negative;
    negative = 0;
  
+ next:
    c = next_char (dtp);
    switch (c)
      {
*************** read_integer (st_parameter_dt *dtp, int
*** 1091,1096 ****
--- 1096,1104 ----
      case '!':
        if (!dtp->u.p.namelist_mode)
          goto bad_integer;
+       eat_line (dtp);
+       eat_spaces (dtp);
+       goto next;
  
      CASE_SEPARATORS:		/* Single null.  */
        unget_char (dtp, c);
*************** read_character (st_parameter_dt *dtp, in
*** 1260,1265 ****
--- 1268,1274 ----
  
    quote = ' ';			/* Space means no quote character.  */
  
+ next:
    if ((c = next_char (dtp)) == EOF)
      goto eof;
    if (c == ';')
*************** read_character (st_parameter_dt *dtp, in
*** 1284,1289 ****
--- 1293,1307 ----
        quote = c;
        goto get_string;
  
+     case '!':
+       if (dtp->u.p.namelist_mode)
+ 	{
+ 	  eat_line (dtp);
+ 	  eat_spaces (dtp);
+ 	  goto next;
+ 	}
+       /* Fall through...  */
+ 
      default:
        if (dtp->u.p.namelist_mode)
  	{
*************** read_complex (st_parameter_dt *dtp, void
*** 1683,1688 ****
--- 1701,1707 ----
    if (parse_repeat (dtp))
      return;
  
+ next:
    c = next_char (dtp);
    switch (c)
      {
*************** read_complex (st_parameter_dt *dtp, void
*** 1692,1697 ****
--- 1711,1719 ----
      case '!':
        if (!dtp->u.p.namelist_mode)
  	goto bad_complex;
+       eat_line (dtp);
+       eat_spaces (dtp);
+       goto next;
  
      CASE_SEPARATORS:
      case EOF:
*************** read_real (st_parameter_dt *dtp, void *d
*** 1793,1798 ****
--- 1815,1821 ----
  
    seen_dp = 0;
  
+ next:
    c = next_char (dtp);
    if (dtp->u.p.current_unit->decimal_status == DECIMAL_COMMA)
      {
*************** read_real (st_parameter_dt *dtp, void *d
*** 1824,1829 ****
--- 1847,1855 ----
      case '!':
        if (!dtp->u.p.namelist_mode)
  	goto bad_real;
+       eat_line (dtp);
+       eat_spaces (dtp);
+       goto next;
  
      CASE_SEPARATORS:
        unget_char (dtp, c);		/* Single null.  */
diff -Nrcpad gcc-15-20260515/libstdc++-v3/ChangeLog gcc-15-20260522/libstdc++-v3/ChangeLog
*** gcc-15-20260515/libstdc++-v3/ChangeLog	Fri May 15 22:32:17 2026
--- gcc-15-20260522/libstdc++-v3/ChangeLog	Fri May 22 22:32:16 2026
***************
*** 1,3 ****
--- 1,49 ----
+ 2026-05-21  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-19  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR libstdc++/125374
+ 	* include/std/flat_map (_Flat_map_impl::_M_try_emplace): Forward
+ 	instead of unconditionally moving __k when inserting it.
+ 	* testsuite/23_containers/flat_map/1.cc (test10): New test.
+ 
+ 2026-05-21  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-10  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	* include/std/ranges (lazy_split_view::begin): Add
+ 	const _Pattern constraint on const overload as per LWG 3599.
+ 	(lazy_split_view::end): Likewise.
+ 	* testsuite/std/ranges/adaptors/lazy_split.cc (test14): New
+ 	test.
+ 
+ 2026-05-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-19  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++20/tzdata.zi: Import new file from 2026b release.
+ 
+ 2026-05-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
+ 	Reduce iterations for debug mode.
+ 
+ 2026-05-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-19  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/125369
+ 	* include/bits/chrono_io.h (__detail::_Parser::operator()):
+ 	Check for errors when parsing digits for a %z format.
+ 	* testsuite/std/time/parse/125369.cc: New test.
+ 
  2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260515/libstdc++-v3/include/bits/chrono_io.h gcc-15-20260522/libstdc++-v3/include/bits/chrono_io.h
*** gcc-15-20260515/libstdc++-v3/include/bits/chrono_io.h	Fri May 15 22:32:17 2026
--- gcc-15-20260522/libstdc++-v3/include/bits/chrono_io.h	Fri May 22 22:32:16 2026
*************** namespace __detail
*** 4052,4059 ****
  		      else
  			{
  			  // Read hh
! 			  __hh = 10 * _S_try_read_digit(__is, __err);
! 			  __hh += _S_try_read_digit(__is, __err);
  			}
  
  		      if (__is_failed(__err))
--- 4052,4063 ----
  		      else
  			{
  			  // Read hh
! 			  auto __d1 = _S_try_read_digit(__is, __err);
! 			  auto __d2 = _S_try_read_digit(__is, __err);
! 			  if (__d1 >= 0 && __d2 >= 0) [[likely]]
! 			    __hh = 10 * __d1 + __d2;
! 			  else
! 			    __err |= ios_base::failbit;
  			}
  
  		      if (__is_failed(__err))
*************** namespace __detail
*** 4087,4094 ****
  		      int_least32_t __mm = 0;
  		      if (__read_mm)
  			{
! 			  __mm = 10 * _S_try_read_digit(__is, __err);
! 			  __mm += _S_try_read_digit(__is, __err);
  			}
  
  		      if (!__is_failed(__err))
--- 4091,4102 ----
  		      int_least32_t __mm = 0;
  		      if (__read_mm)
  			{
! 			  auto __d1 = _S_try_read_digit(__is, __err);
! 			  auto __d2 = _S_try_read_digit(__is, __err);
! 			  if (__d1 >= 0 && __d2 >= 0) [[likely]]
! 			    __mm = 10 * __d1 + __d2;
! 			  else
! 			    __err |= ios_base::failbit;
  			}
  
  		      if (!__is_failed(__err))
diff -Nrcpad gcc-15-20260515/libstdc++-v3/include/std/flat_map gcc-15-20260522/libstdc++-v3/include/std/flat_map
*** gcc-15-20260515/libstdc++-v3/include/std/flat_map	Fri May 15 22:32:17 2026
--- gcc-15-20260522/libstdc++-v3/include/std/flat_map	Fri May 22 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 482,488 ****
  	      return {iterator{this, __key_it}, false};
  
  	  auto __guard = _M_make_clear_guard();
! 	  __key_it = _M_cont.keys.insert(__key_it, std::move(__k));
  	  __value_it = _M_cont.values.begin() + (__key_it - _M_cont.keys.begin());
  	  _M_cont.values.emplace(__value_it, std::forward<_Args>(__args)...);
  	  __guard._M_disable();
--- 482,488 ----
  	      return {iterator{this, __key_it}, false};
  
  	  auto __guard = _M_make_clear_guard();
! 	  __key_it = _M_cont.keys.insert(__key_it, std::forward<_Key2>(__k));
  	  __value_it = _M_cont.values.begin() + (__key_it - _M_cont.keys.begin());
  	  _M_cont.values.emplace(__value_it, std::forward<_Args>(__args)...);
  	  __guard._M_disable();
diff -Nrcpad gcc-15-20260515/libstdc++-v3/include/std/ranges gcc-15-20260522/libstdc++-v3/include/std/ranges
*** gcc-15-20260515/libstdc++-v3/include/std/ranges	Fri May 15 22:32:17 2026
--- gcc-15-20260522/libstdc++-v3/include/std/ranges	Fri May 22 22:32:17 2026
*************** namespace views::__adaptor
*** 3681,3688 ****
--- 3681,3692 ----
  	  }
        }
  
+       // _GLIBCXX_RESOLVE_LIB_DEFECTS
+       // 3599. The const overload of lazy_split_view::begin should be
+       // constrained by const Pattern
        constexpr auto
        begin() const requires forward_range<_Vp> && forward_range<const _Vp>
+ 	&& forward_range<const _Pattern>
        {
  	return _OuterIter<true>{this, ranges::begin(_M_base)};
        }
*************** namespace views::__adaptor
*** 3700,3706 ****
        {
  	if constexpr (forward_range<_Vp>
  		      && forward_range<const _Vp>
! 		      && common_range<const _Vp>)
  	  return _OuterIter<true>{this, ranges::end(_M_base)};
  	else
  	  return default_sentinel;
--- 3704,3711 ----
        {
  	if constexpr (forward_range<_Vp>
  		      && forward_range<const _Vp>
! 		      && common_range<const _Vp>
! 		      && forward_range<const _Pattern>)
  	  return _OuterIter<true>{this, ranges::end(_M_base)};
  	else
  	  return default_sentinel;
diff -Nrcpad gcc-15-20260515/libstdc++-v3/src/c++20/tzdata.zi gcc-15-20260522/libstdc++-v3/src/c++20/tzdata.zi
*** gcc-15-20260515/libstdc++-v3/src/c++20/tzdata.zi	Fri May 15 22:32:18 2026
--- gcc-15-20260522/libstdc++-v3/src/c++20/tzdata.zi	Fri May 22 22:32:17 2026
***************
*** 1,4 ****
! # version 2026a
  # redo posix_only
  # This zic input file is in the public domain.
  R d 1916 o - Jun 14 23s 1 S
--- 1,4 ----
! # version 2026b
  # redo posix_only
  # This zic input file is in the public domain.
  R d 1916 o - Jun 14 23s 1 S
*************** Z America/Toronto -5:17:32 - LMT 1895
*** 2966,2972 ****
  -5 C E%sT
  Z America/Vancouver -8:12:28 - LMT 1884
  -8 Va P%sT 1987
! -8 C P%sT
  Z America/Whitehorse -9:0:12 - LMT 1900 Au 20
  -9 Y Y%sT 1965
  -9 Yu Y%sT 1966 F 27
--- 2966,2974 ----
  -5 C E%sT
  Z America/Vancouver -8:12:28 - LMT 1884
  -8 Va P%sT 1987
! -8 C P%sT 2026 Mar 9
! -8 1 PDT 2026 N 1 2
! -7 - MST
  Z America/Whitehorse -9:0:12 - LMT 1900 Au 20
  -9 Y Y%sT 1965
  -9 Yu Y%sT 1966 F 27
diff -Nrcpad gcc-15-20260515/libstdc++-v3/testsuite/23_containers/flat_map/1.cc gcc-15-20260522/libstdc++-v3/testsuite/23_containers/flat_map/1.cc
*** gcc-15-20260515/libstdc++-v3/testsuite/23_containers/flat_map/1.cc	Fri May 15 22:32:18 2026
--- gcc-15-20260522/libstdc++-v3/testsuite/23_containers/flat_map/1.cc	Fri May 22 22:32:17 2026
***************
*** 12,17 ****
--- 12,18 ----
  #include <testsuite_allocator.h>
  #include <testsuite_hooks.h>
  #include <testsuite_iterators.h>
+ #include <string>
  #include <tuple>
  
  struct Gt {
*************** test09()
*** 272,277 ****
--- 273,292 ----
    using value_type = std::pair<int, int>;
  }
  
+ void
+ test10()
+ {
+   // PR libstdc++/125374 - flat_map unconditionally moves from lvalue keys in
+   // _M_try_emplace
+   std::flat_map<std::string, int, std::less<>> m;
+   std::string k = "hello";
+   m[k] = 1;
+   VERIFY (k == "hello");
+   k = "world";
+   m.try_emplace(k, 2);
+   VERIFY (k == "world");
+ }
+ 
  int
  main()
  {
*************** main()
*** 287,290 ****
--- 302,306 ----
    test07();
    test08();
    test09();
+   test10();
  }
diff -Nrcpad gcc-15-20260515/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc gcc-15-20260522/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc
*** gcc-15-20260515/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc	Fri May 15 22:32:18 2026
--- gcc-15-20260522/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc	Fri May 22 22:32:17 2026
*************** int
*** 189,195 ****
--- 189,199 ----
  main()
  {
      using TestUtils::float64_t;
+ #ifndef _GLIBCXX_DEBUG
      const std::size_t N = 100000;
+ #else
+     const std::size_t N = 10000;
+ #endif
  
      for (std::size_t n = 0; n < N; n = n < 16 ? n + 1 : size_t(3.14159 * n))
      {
diff -Nrcpad gcc-15-20260515/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc gcc-15-20260522/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc
*** gcc-15-20260515/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc	Fri May 15 22:32:18 2026
--- gcc-15-20260522/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc	Fri May 22 22:32:17 2026
*************** test13()
*** 239,244 ****
--- 239,253 ----
    constexpr decltype(views::lazy_split(views::single(0), 0).begin()) it;
  }
  
+ void
+ test14()
+ {
+   // LWG 3599
+   auto p = views::iota(0) | views::take(1) | views::reverse;
+   auto r = views::single(42) | views::lazy_split(p);
+   auto f = r.front();
+ }
+ 
  int
  main()
  {
*************** main()
*** 255,258 ****
--- 264,268 ----
    test11();
    static_assert(test12());
    test13();
+   test14();
  }
diff -Nrcpad gcc-15-20260515/libstdc++-v3/testsuite/std/time/parse/125369.cc gcc-15-20260522/libstdc++-v3/testsuite/std/time/parse/125369.cc
*** gcc-15-20260515/libstdc++-v3/testsuite/std/time/parse/125369.cc	Thu Jan  1 00:00:00 1970
--- gcc-15-20260522/libstdc++-v3/testsuite/std/time/parse/125369.cc	Fri May 22 22:32:17 2026
***************
*** 0 ****
--- 1,65 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <chrono>
+ #include <sstream>
+ #include <testsuite_hooks.h>
+ 
+ using namespace std::chrono;
+ 
+ const std::string input = "2026-05-18 15:26:48 ";
+ const std::string fmt = "%F %T %";
+ sys_seconds ss;
+ minutes offset{};
+ std::string abbrev;
+ 
+ void
+ test_parse_z()
+ {
+   for (auto suffix : {"Z", "+", "+Z", "-A", "+1Z", "+010", "+010Z"})
+   {
+     std::istringstream in{input + suffix};
+     from_stream(in, (fmt + "z").c_str(), ss, &abbrev, &offset);
+ 
+     VERIFY( in.fail() );
+     VERIFY( ss == sys_seconds(0s) );
+     VERIFY( offset == 0min );
+     VERIFY( abbrev.empty() );
+   }
+ }
+ 
+ void
+ test_parse_Ez()
+ {
+   for (auto suffix : {"Z", "+", "-", "+01:", "+01:X"})
+   {
+     std::istringstream in{input + suffix};
+     from_stream(in, (fmt + "Ez").c_str(), ss, &abbrev, &offset);
+ 
+     VERIFY( in.fail() );
+     VERIFY( ss == sys_seconds(0s) );
+     VERIFY( offset == 0min );
+     VERIFY( abbrev.empty() );
+   }
+ }
+ 
+ void
+ test_parse_Oz()
+ {
+   for (auto suffix : {"Z", "+", "-", "+01:", "+01:X"})
+   {
+     std::istringstream in{input + suffix};
+     from_stream(in, (fmt + "Oz").c_str(), ss, &abbrev, &offset);
+ 
+     VERIFY( in.fail() );
+     VERIFY( ss == sys_seconds(0s) );
+     VERIFY( offset == 0min );
+     VERIFY( abbrev.empty() );
+   }
+ }
+ 
+ int main()
+ {
+   test_parse_z();
+   test_parse_Ez();
+   test_parse_Oz();
+ }
