diff -Nrcpad gcc-14-20260514/LAST_UPDATED gcc-14-20260521/LAST_UPDATED
*** gcc-14-20260514/LAST_UPDATED	Thu May 14 22:32:17 2026
--- gcc-14-20260521/LAST_UPDATED	Thu May 21 22:32:17 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision a3f19edc013cf59b7452f8adecbb123b38cfb98d
--- 1 ----
! Obtained from git: releases/gcc-14 revision e573297c99e1ab1e87ce017e3fc051dc44973c24
diff -Nrcpad gcc-14-20260514/MD5SUMS gcc-14-20260521/MD5SUMS
*** gcc-14-20260514/MD5SUMS	Thu May 14 22:32:21 2026
--- gcc-14-20260521/MD5SUMS	Thu May 21 22:32:21 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260514.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-14-20260521.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
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 42062a4363936fb5cd3fa530cecc573d  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 2511b1f8e2fad6bd49e1a69b9baf93f4  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! cc5eaefd41950283271d057844b81f48  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 1ebadba058d58c3bed5fbb33e82f1d6b  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! b9a3241fa8928ea521797a723db61f51  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! bdac7d230304d748229b2a3ed298593d  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** fccc6d65638a2ce66ebc6b06766912c2  gcc/co
*** 4066,4072 ****
  4f7ab8c57b3148a31d24838528313ef2  gcc/config/i386/i386-rust.h
  0b364691ba7ec8239d70f50a091cf271  gcc/config/i386/i386.cc
  050a9384b955805718fbe5df50684b1c  gcc/config/i386/i386.h
! a5c014fb748487abc6ef15ae4a09f055  gcc/config/i386/i386.md
  85b5302c87709e4b2325868fe370b441  gcc/config/i386/i386.opt
  fb32c950c45e643174eb7c58d7f4218f  gcc/config/i386/i386.opt.urls
  95e430a8a19e9226167376a9a7ca34d9  gcc/config/i386/i386elf.h
--- 4066,4072 ----
  4f7ab8c57b3148a31d24838528313ef2  gcc/config/i386/i386-rust.h
  0b364691ba7ec8239d70f50a091cf271  gcc/config/i386/i386.cc
  050a9384b955805718fbe5df50684b1c  gcc/config/i386/i386.h
! d509d8af339374bf45fa7b06d5573361  gcc/config/i386/i386.md
  85b5302c87709e4b2325868fe370b441  gcc/config/i386/i386.opt
  fb32c950c45e643174eb7c58d7f4218f  gcc/config/i386/i386.opt.urls
  95e430a8a19e9226167376a9a7ca34d9  gcc/config/i386/i386elf.h
*************** d36a2aabdf8da39363d9be0efef739b0  gcc/co
*** 5363,5369 ****
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 150e7a2b57e1abaa5276211e0c579aa8  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5363,5369 ----
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 3b34b605850af90af35dd7262c7a0566  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** eb0e2e62caf98260cc2641216d140ae9  gcc/cp
*** 5403,5409 ****
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 026229212c889f6c39190cda24f50cfd  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
--- 5403,5409 ----
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 402994986093e6eacea48e3e8e28305d  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
*************** dce7dac7e905ada28c6563d930b531eb  gcc/fo
*** 5874,5880 ****
  b954a317257afa3149e46a5bce58d9c2  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! 58f0e2496fee2a2e2e0521cc204f5cf4  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5874,5880 ----
  b954a317257afa3149e46a5bce58d9c2  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! 92515a91a9b4bdddfdd1ae29c1244a7b  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** af59533c4bfc13e7b07e6ec1c164832c  gcc/fo
*** 5920,5926 ****
  8e370801f4b220b49e7bc0024382e8b7  gcc/fortran/error.cc
  e3557d087bbbdf3b8f63250a32e95b5c  gcc/fortran/expr.cc
  5790e4e2fb5a21288fcb647a0dca23c4  gcc/fortran/f95-lang.cc
! 7c23ef1dad92623cea6aa89eb2047b13  gcc/fortran/frontend-passes.cc
  f12471f71a85ea43d5295d1190faf890  gcc/fortran/gfc-diagnostic.def
  21286a817891898ac50a2b843007652d  gcc/fortran/gfc-internals.texi
  c4a213d76d236acb33bf86ba3c71e93d  gcc/fortran/gfortran.h
--- 5920,5926 ----
  8e370801f4b220b49e7bc0024382e8b7  gcc/fortran/error.cc
  e3557d087bbbdf3b8f63250a32e95b5c  gcc/fortran/expr.cc
  5790e4e2fb5a21288fcb647a0dca23c4  gcc/fortran/f95-lang.cc
! da0911555c2867fd5d1f6899cd24cbab  gcc/fortran/frontend-passes.cc
  f12471f71a85ea43d5295d1190faf890  gcc/fortran/gfc-diagnostic.def
  21286a817891898ac50a2b843007652d  gcc/fortran/gfc-internals.texi
  c4a213d76d236acb33bf86ba3c71e93d  gcc/fortran/gfortran.h
*************** c0fda053eecaf4f55c32d4fe8c8db3e5  gcc/fo
*** 5965,5971 ****
  c420f80da3e0e794311a9b90c49abce5  gcc/fortran/trans-const.cc
  5644e20cd4aa0324875834a377cf89a4  gcc/fortran/trans-const.h
  c49d475a70d43717d33bdc077b48252b  gcc/fortran/trans-decl.cc
! 8d3ea3cc90401cb925547c79abb1c955  gcc/fortran/trans-expr.cc
  50146a04d803fafbc56c31ef04c375c3  gcc/fortran/trans-intrinsic.cc
  9bfdb89867309e2ece2578749f55ece8  gcc/fortran/trans-io.cc
  cbc674d013227615460f385a31608c98  gcc/fortran/trans-openmp.cc
--- 5965,5971 ----
  c420f80da3e0e794311a9b90c49abce5  gcc/fortran/trans-const.cc
  5644e20cd4aa0324875834a377cf89a4  gcc/fortran/trans-const.h
  c49d475a70d43717d33bdc077b48252b  gcc/fortran/trans-decl.cc
! 03c8f4d1ff7974d6b03cf1f047be7de4  gcc/fortran/trans-expr.cc
  50146a04d803fafbc56c31ef04c375c3  gcc/fortran/trans-intrinsic.cc
  9bfdb89867309e2ece2578749f55ece8  gcc/fortran/trans-io.cc
  cbc674d013227615460f385a31608c98  gcc/fortran/trans-openmp.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8062,8068 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 6a58c400d7207da35619a0242ff04f22  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8062,8068 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 363073ad95f272d54045fca81bb34c1a  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** e95698a38fe4cc0a60b4857fa65742ca  gcc/te
*** 20566,20571 ****
--- 20566,20572 ----
  dd49d8873bb047040bf7f60deb8f644f  gcc/testsuite/g++.dg/cpp2a/no_unique_address13.C
  10563ae733ee31b86846cfb852d66d9d  gcc/testsuite/g++.dg/cpp2a/no_unique_address14.C
  9c8ff2d9f37699b8813711a0c20c7e07  gcc/testsuite/g++.dg/cpp2a/no_unique_address15.C
+ 46008c21cb7f7725a5bfe2a87f3b255d  gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
  c94ac6fb1a99bf541b66d604620fa09b  gcc/testsuite/g++.dg/cpp2a/no_unique_address2.C
  67a61649264fea12fb7cc5c31bc5313e  gcc/testsuite/g++.dg/cpp2a/no_unique_address3.C
  ca2c81baf4111b5e8e15980b5237a344  gcc/testsuite/g++.dg/cpp2a/no_unique_address4.C
*************** f99f88a6e994ad6e55e065e41bc58f8f  gcc/te
*** 75458,75463 ****
--- 75459,75465 ----
  fd0c95fcad577a49c3553f21604c3b61  gcc/testsuite/gcc.target/i386/pr123484.c
  0871390dda9d3f14f2d642eb1d5aa640  gcc/testsuite/gcc.target/i386/pr124056.c
  d9ed650f309dc0e24daeb25d90c34fa0  gcc/testsuite/gcc.target/i386/pr124316.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
*************** e5a418513e079e50ea576e021cf5ad8e  gcc/te
*** 97582,97587 ****
--- 97584,97590 ----
  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
*************** f62b2fa65f325ecd9897d1210ea1dd59  gcc/te
*** 98949,98954 ****
--- 98952,98958 ----
  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
  6c3af77c51cf7ae784cf117509d09064  gcc/testsuite/gfortran.dg/pr117730_a.f90
*************** d19a0449bac1fb497429a88904f3d658  gcc/te
*** 108248,108254 ****
  50c0f03762d429c13fd0302c79d90157  gcc/testsuite/go.test/test/varinit.go
  6447a99ae1e2eec266af1ceab6a7343c  gcc/testsuite/go.test/test/zerodivide.go
  340e08c9aef97a2da8f4cd4568d52675  gcc/testsuite/jit.dg/add-driver-options-testlib.c
! ced1e82a057a3545ee32a58098f87b0f  gcc/testsuite/jit.dg/all-non-failing-tests.h
  7bc42e89ae77872c8fc581b4babf1832  gcc/testsuite/jit.dg/create-code-for-hello-world-executable.h
  6599d673695ac45c69f897e7b9643cdb  gcc/testsuite/jit.dg/harness.h
  bcc659c5c8ad01904087579142d235cb  gcc/testsuite/jit.dg/jit.exp
--- 108252,108258 ----
  50c0f03762d429c13fd0302c79d90157  gcc/testsuite/go.test/test/varinit.go
  6447a99ae1e2eec266af1ceab6a7343c  gcc/testsuite/go.test/test/zerodivide.go
  340e08c9aef97a2da8f4cd4568d52675  gcc/testsuite/jit.dg/add-driver-options-testlib.c
! ceeca3928e21738514d1a400ecbf1189  gcc/testsuite/jit.dg/all-non-failing-tests.h
  7bc42e89ae77872c8fc581b4babf1832  gcc/testsuite/jit.dg/create-code-for-hello-world-executable.h
  6599d673695ac45c69f897e7b9643cdb  gcc/testsuite/jit.dg/harness.h
  bcc659c5c8ad01904087579142d235cb  gcc/testsuite/jit.dg/jit.exp
*************** c1c4ffe41bbf76d4a61fec8d9b42486c  gcc/te
*** 108274,108280 ****
  af0a18ef8912906bb36ca88219c06667  gcc/testsuite/jit.dg/test-calling-external-function.c
  fcf20b943f3e9affe23adec9277064a7  gcc/testsuite/jit.dg/test-calling-function-ptr.c
  e3bf5c17797aeaea60953345b0ec836b  gcc/testsuite/jit.dg/test-cast.c
! 1abc657df5f9cfb2b57bf23048e54d17  gcc/testsuite/jit.dg/test-cold-attribute.c
  dc3f5924516f317d0e822022186a89d9  gcc/testsuite/jit.dg/test-combination.c
  2e035396a65d6176ba9798f667c5621a  gcc/testsuite/jit.dg/test-compile-to-assembler.c
  897c5ab27b1fd560e0e9f30525797a81  gcc/testsuite/jit.dg/test-compile-to-dynamic-library.c
--- 108278,108284 ----
  af0a18ef8912906bb36ca88219c06667  gcc/testsuite/jit.dg/test-calling-external-function.c
  fcf20b943f3e9affe23adec9277064a7  gcc/testsuite/jit.dg/test-calling-function-ptr.c
  e3bf5c17797aeaea60953345b0ec836b  gcc/testsuite/jit.dg/test-cast.c
! 6bfe3202df4a59189a757d8df0af0d9d  gcc/testsuite/jit.dg/test-cold-attribute.c
  dc3f5924516f317d0e822022186a89d9  gcc/testsuite/jit.dg/test-combination.c
  2e035396a65d6176ba9798f667c5621a  gcc/testsuite/jit.dg/test-compile-to-assembler.c
  897c5ab27b1fd560e0e9f30525797a81  gcc/testsuite/jit.dg/test-compile-to-dynamic-library.c
*************** d828e38384c506bf5e7d5a3c02725a37  libssp
*** 123993,123999 ****
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! d4d0d50924774aa0176baadcbad82e73  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 123997,124003 ----
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 96c4deab09b05fa3bd07c4042b6e1e53  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** c72b1c964202f34f94adedd186dee7ec  libstd
*** 124687,124693 ****
  28aee543f6c9d197b0af864e888f0122  libstdc++-v3/include/bits/char_traits.h
  6859feb7dcc6695a2c6234641b888038  libstdc++-v3/include/bits/charconv.h
  a2af06290cb60d50293e7486d3c7cd47  libstdc++-v3/include/bits/chrono.h
! 71825bdeeb9037cdabe7393b23b9c699  libstdc++-v3/include/bits/chrono_io.h
  88b76f5a51860ba832b9dc12ecb77d11  libstdc++-v3/include/bits/codecvt.h
  51b1ac432b9720acddaea7defbbb9885  libstdc++-v3/include/bits/concept_check.h
  8a0280a1d69fd047e88fcd22a0723686  libstdc++-v3/include/bits/cow_string.h
--- 124691,124697 ----
  28aee543f6c9d197b0af864e888f0122  libstdc++-v3/include/bits/char_traits.h
  6859feb7dcc6695a2c6234641b888038  libstdc++-v3/include/bits/charconv.h
  a2af06290cb60d50293e7486d3c7cd47  libstdc++-v3/include/bits/chrono.h
! 69cc775c4b507b1d2b333d1db6534a63  libstdc++-v3/include/bits/chrono_io.h
  88b76f5a51860ba832b9dc12ecb77d11  libstdc++-v3/include/bits/codecvt.h
  51b1ac432b9720acddaea7defbbb9885  libstdc++-v3/include/bits/concept_check.h
  8a0280a1d69fd047e88fcd22a0723686  libstdc++-v3/include/bits/cow_string.h
*************** eb435bab187a1573a8b7d3ca8297ded1  libstd
*** 124741,124747 ****
  c005f46850d3b5df0f57a8470f409ff8  libstdc++-v3/include/bits/ptr_traits.h
  c1d468a0ee886f88b70ef47855bb5a42  libstdc++-v3/include/bits/quoted_string.h
  9fecc04de83e464036e805070a7d633e  libstdc++-v3/include/bits/random.h
! afef6bb168d2a386d2dc4aaf2937c1d1  libstdc++-v3/include/bits/random.tcc
  59fb2d3661995c86a3996a5d1af055af  libstdc++-v3/include/bits/range_access.h
  b320b8e354287c4e241d67f2b75eff17  libstdc++-v3/include/bits/ranges_algo.h
  6cb193dd721dcfc25fcaee8dfea5e5fe  libstdc++-v3/include/bits/ranges_algobase.h
--- 124745,124751 ----
  c005f46850d3b5df0f57a8470f409ff8  libstdc++-v3/include/bits/ptr_traits.h
  c1d468a0ee886f88b70ef47855bb5a42  libstdc++-v3/include/bits/quoted_string.h
  9fecc04de83e464036e805070a7d633e  libstdc++-v3/include/bits/random.h
! 505537d4838d0c30064330a69a63fbae  libstdc++-v3/include/bits/random.tcc
  59fb2d3661995c86a3996a5d1af055af  libstdc++-v3/include/bits/range_access.h
  b320b8e354287c4e241d67f2b75eff17  libstdc++-v3/include/bits/ranges_algo.h
  6cb193dd721dcfc25fcaee8dfea5e5fe  libstdc++-v3/include/bits/ranges_algobase.h
*************** edfaeb1bc759bccb53b3d9624f21c2be  libstd
*** 125735,125741 ****
  d3813c41a1a392d3bd3fc819324240d4  libstdc++-v3/src/c++20/Makefile.am
  1a78ce3875810d2fbde4c0259e6da49c  libstdc++-v3/src/c++20/Makefile.in
  bc750f6d75cc3d48552863c2403f8857  libstdc++-v3/src/c++20/sstream-inst.cc
! e868493d039d86bca105c23a24b87383  libstdc++-v3/src/c++20/tzdata.zi
  59c47c266be6acb340eebc5d5a52ea78  libstdc++-v3/src/c++20/tzdb.cc
  5cda0f038c8a42d9ac9d35d23cac6c57  libstdc++-v3/src/c++20/tzdb_globals.h
  b65cec48a384351b09d3d7d12ee37660  libstdc++-v3/src/c++23/Makefile.am
--- 125739,125745 ----
  d3813c41a1a392d3bd3fc819324240d4  libstdc++-v3/src/c++20/Makefile.am
  1a78ce3875810d2fbde4c0259e6da49c  libstdc++-v3/src/c++20/Makefile.in
  bc750f6d75cc3d48552863c2403f8857  libstdc++-v3/src/c++20/sstream-inst.cc
! 0dfa4a770289b4e926b8281770732d5a  libstdc++-v3/src/c++20/tzdata.zi
  59c47c266be6acb340eebc5d5a52ea78  libstdc++-v3/src/c++20/tzdb.cc
  5cda0f038c8a42d9ac9d35d23cac6c57  libstdc++-v3/src/c++20/tzdb_globals.h
  b65cec48a384351b09d3d7d12ee37660  libstdc++-v3/src/c++23/Makefile.am
*************** ad7d8ce6072a5a6ebe5a27824b57cb45  libstd
*** 125805,125811 ****
  24de78ee16ffbf8b1588259e274f9c00  libstdc++-v3/src/libbacktrace/backtrace-supported.h.in
  d80381bdd74336b121a4f087efc21dbb  libstdc++-v3/src/libbacktrace/config.h.in
  b2c964e43bfef1597e6dd0dd2f806fb3  libstdc++-v3/src/shared/hashtable-aux.cc
! 7773a6010acf0449d4010c420cf491cb  libstdc++-v3/testsuite/17_intro/badnames.cc
  681efa6b4fde6fc5d4dfaf426f7ef5ef  libstdc++-v3/testsuite/17_intro/freestanding.cc
  d5df5ddc3b7c5dba2e687798eaa28551  libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc
  be3b9af9ac9518b325b136215b688753  libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
--- 125809,125815 ----
  24de78ee16ffbf8b1588259e274f9c00  libstdc++-v3/src/libbacktrace/backtrace-supported.h.in
  d80381bdd74336b121a4f087efc21dbb  libstdc++-v3/src/libbacktrace/config.h.in
  b2c964e43bfef1597e6dd0dd2f806fb3  libstdc++-v3/src/shared/hashtable-aux.cc
! 96f96ae4521abc72c37e61cda78b55ff  libstdc++-v3/testsuite/17_intro/badnames.cc
  681efa6b4fde6fc5d4dfaf426f7ef5ef  libstdc++-v3/testsuite/17_intro/freestanding.cc
  d5df5ddc3b7c5dba2e687798eaa28551  libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc
  be3b9af9ac9518b325b136215b688753  libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
*************** b8a53b2b8da32d102d69cbedea3d2216  libstd
*** 125861,125867 ****
  5443708c0d6c9abdb53500f0fd4db206  libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc
  9da657dc332cf768b764e1784ec584c1  libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
  7654b88e3e7e4269beb1402cdeed0551  libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc
! 10f8003ae4d4f07170d2971c710c48c4  libstdc++-v3/testsuite/17_intro/names.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
  aa39cebbb59168b36715cd6de8b65935  libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
--- 125865,125871 ----
  5443708c0d6c9abdb53500f0fd4db206  libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc
  9da657dc332cf768b764e1784ec584c1  libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
  7654b88e3e7e4269beb1402cdeed0551  libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc
! 90b297912d73a4264a67b7700cc26199  libstdc++-v3/testsuite/17_intro/names.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
  aa39cebbb59168b36715cd6de8b65935  libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
*************** e8bf0379af76e52e3d3ec9cf31ad2d95  libstd
*** 131529,131534 ****
--- 131533,131539 ----
  755de65cfdfdc0ea1d3a709a41c0c712  libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
  e63eaf3980053a8838a7515a9e776e0b  libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
  05822bfb9a7e707b9a25b9a4077a235a  libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc
+ c6b9a866c77dbfde316664357479e98d  libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/122062.cc
  cfc2b16ef743f23a4b2b081c52aee933  libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
  2a089c33c99162d42501f51796316051  libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc
  98356b0dac11f02a9501aa282eafea76  libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc
*************** f954da011c6ea0feb7c2873b94f28bf2  libstd
*** 134871,134876 ****
--- 134876,134882 ----
  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
  f6f08359417bfbb402eb9bddff78a6c1  libstdc++-v3/testsuite/std/time/syn_c++20.cc
  f9d9d1cb483f1731762a8e5787c8020b  libstdc++-v3/testsuite/std/time/time_zone/get_info_local.cc
diff -Nrcpad gcc-14-20260514/gcc/ChangeLog gcc-14-20260521/gcc/ChangeLog
*** gcc-14-20260514/gcc/ChangeLog	Thu May 14 22:32:04 2026
--- gcc-14-20260521/gcc/ChangeLog	Thu May 21 22:32:04 2026
***************
*** 1,3 ****
--- 1,15 ----
+ 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-14  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR target/124316
+ 	* config/i386/i386.md (ptwrite): Add explicit mode to
+ 	instruction.
+ 
  2026-05-12  Martin Jambor  <mjambor@suse.cz>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260514/gcc/DATESTAMP gcc-14-20260521/gcc/DATESTAMP
*** gcc-14-20260514/gcc/DATESTAMP	Thu May 14 22:32:04 2026
--- gcc-14-20260521/gcc/DATESTAMP	Thu May 21 22:32:04 2026
***************
*** 1 ****
! 20260514
--- 1 ----
! 20260521
diff -Nrcpad gcc-14-20260514/gcc/config/i386/i386.md gcc-14-20260521/gcc/config/i386/i386.md
*** gcc-14-20260514/gcc/config/i386/i386.md	Thu May 14 22:32:05 2026
--- gcc-14-20260521/gcc/config/i386/i386.md	Thu May 21 22:32:05 2026
***************
*** 27624,27630 ****
    [(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")])
--- 27624,27630 ----
    [(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-14-20260514/gcc/cp/ChangeLog gcc-14-20260521/gcc/cp/ChangeLog
*** gcc-14-20260514/gcc/cp/ChangeLog	Thu May 14 22:32:05 2026
--- gcc-14-20260521/gcc/cp/ChangeLog	Thu May 21 22:32:05 2026
***************
*** 1,3 ****
--- 1,31 ----
+ 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  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-04-16  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 		    Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/123346
+ 	* constexpr.cc (init_subob_ctx): Do initialize new_ctx.ctor
+ 	for an empty union member.
+ 
+ 2026-05-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/124632
+ 	* constexpr.cc (cxx_eval_call_expression): Unshare bindings
+ 	sooner.
+ 
  2026-03-30  Daniele Sahebi  <daniele@mkryss.me>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260514/gcc/cp/constexpr.cc gcc-14-20260521/gcc/cp/constexpr.cc
*** gcc-14-20260514/gcc/cp/constexpr.cc	Thu May 14 22:32:05 2026
--- gcc-14-20260521/gcc/cp/constexpr.cc	Thu May 21 22:32:05 2026
*************** init_subob_ctx (const constexpr_ctx *ctx
*** 5292,5298 ****
    else if (ctx->object)
      ctxtype = TREE_TYPE (ctx->object);
    else
!     gcc_unreachable ();
  
    if (VECTOR_TYPE_P (type)
        && VECTOR_TYPE_P (ctxtype)
--- 5292,5303 ----
    else if (ctx->object)
      ctxtype = TREE_TYPE (ctx->object);
    else
!     {
!       /* This can happen if the enclosing object is also an empty subobject
! 	 (c++/125315).  */
!       gcc_checking_assert (is_empty_class (type));
!       return;
!     }
  
    if (VECTOR_TYPE_P (type)
        && VECTOR_TYPE_P (ctxtype)
diff -Nrcpad gcc-14-20260514/gcc/fortran/ChangeLog gcc-14-20260521/gcc/fortran/ChangeLog
*** gcc-14-20260514/gcc/fortran/ChangeLog	Thu May 14 22:32:06 2026
--- gcc-14-20260521/gcc/fortran/ChangeLog	Thu May 21 22:32:05 2026
***************
*** 1,3 ****
--- 1,19 ----
+ 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-14  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-08  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/96986
+ 	* resolve.cc (resolve_global_procedure): Move entry symbol
+ 	lookup outside the resolved != -1 block.
+ 
  2026-05-13  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260514/gcc/fortran/frontend-passes.cc gcc-14-20260521/gcc/fortran/frontend-passes.cc
*** gcc-14-20260514/gcc/fortran/frontend-passes.cc	Thu May 14 22:32:06 2026
--- gcc-14-20260521/gcc/fortran/frontend-passes.cc	Thu May 21 22:32:06 2026
*************** create_var (gfc_expr * e, const char *vn
*** 846,851 ****
--- 846,852 ----
    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
*** 3846,3851 ****
--- 3847,3853 ----
    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-14-20260514/gcc/fortran/trans-expr.cc gcc-14-20260521/gcc/fortran/trans-expr.cc
*** gcc-14-20260514/gcc/fortran/trans-expr.cc	Thu May 14 22:32:06 2026
--- gcc-14-20260521/gcc/fortran/trans-expr.cc	Thu May 21 22:32:06 2026
*************** gfc_conv_subref_array_arg (gfc_se *se, g
*** 5270,5276 ****
  
    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.  */
--- 5270,5278 ----
  
    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-14-20260514/gcc/testsuite/ChangeLog gcc-14-20260521/gcc/testsuite/ChangeLog
*** gcc-14-20260514/gcc/testsuite/ChangeLog	Thu May 14 22:32:07 2026
--- gcc-14-20260521/gcc/testsuite/ChangeLog	Thu May 21 22:32:06 2026
***************
*** 1,3 ****
--- 1,61 ----
+ 2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/115260
+ 	* gfortran.dg/pr115260.f90: New test.
+ 
+ 2026-05-19  Andi Kleen  <ak@gcc.gnu.org>
+ 
+ 	PR target/125351
+ 	* gcc.target/i386/pr125351.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  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
+ 	* gcc.target/i386/pr124316.c: New test.
+ 
+ 2026-05-14  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-04-16  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 		    Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/123346
+ 	* g++.dg/cpp2a/constexpr-union10.C: New test.
+ 
+ 2026-05-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/124632
+ 	* g++.dg/cpp23/explicit-obj-lambda2.C: Do strict GC and -Wall.
+ 
+ 2026-05-14  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-08  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/96986
+ 	* gfortran.dg/pr96986.f90: New test.
+ 
  2026-05-13  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260514/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C gcc-14-20260521/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
*** gcc-14-20260514/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C	Thu May 21 22:32:07 2026
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/125315
+ // { dg-do compile { target c++20 } }
+ // { dg-prune-output "used but never defined" }
+ 
+ struct S{~S(){}};
+ constexpr S& f(S& t);
+ struct W{[[no_unique_address]]S v;};
+ struct R:W{};
+ S s;
+ auto x=R{{f(s)}};
diff -Nrcpad gcc-14-20260514/gcc/testsuite/gcc.target/i386/pr125351.c gcc-14-20260521/gcc/testsuite/gcc.target/i386/pr125351.c
*** gcc-14-20260514/gcc/testsuite/gcc.target/i386/pr125351.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/gcc/testsuite/gcc.target/i386/pr125351.c	Thu May 21 22:32:10 2026
***************
*** 0 ****
--- 1,3 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mptwrite -masm=intel" } */
+ void foo() { __builtin_ia32_ptwrite32(0); }
diff -Nrcpad gcc-14-20260514/gcc/testsuite/gfortran.dg/inline_matmul_27.f90 gcc-14-20260521/gcc/testsuite/gfortran.dg/inline_matmul_27.f90
*** gcc-14-20260514/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Thu May 21 22:32:11 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-14-20260514/gcc/testsuite/gfortran.dg/pr115260.f90 gcc-14-20260521/gcc/testsuite/gfortran.dg/pr115260.f90
*** gcc-14-20260514/gcc/testsuite/gfortran.dg/pr115260.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/gcc/testsuite/gfortran.dg/pr115260.f90	Thu May 21 22:32:11 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-14-20260514/gcc/testsuite/jit.dg/all-non-failing-tests.h gcc-14-20260521/gcc/testsuite/jit.dg/all-non-failing-tests.h
*** gcc-14-20260514/gcc/testsuite/jit.dg/all-non-failing-tests.h	Thu May 14 22:32:12 2026
--- gcc-14-20260521/gcc/testsuite/jit.dg/all-non-failing-tests.h	Thu May 21 22:32:12 2026
***************
*** 125,132 ****
  #undef create_code
  #undef verify_code
  
! /* test-cold-attribute.c: This can't be in the testcases array as it needs
!    the `-O2` flag.  */
  
  /* test-constants.c */
  #define create_code create_code_constants
--- 125,132 ----
  #undef create_code
  #undef verify_code
  
! /* test-cold-attribute.c: This can't be in the testcases array as it needs a
!    specific optimization flag.  */
  
  /* test-constants.c */
  #define create_code create_code_constants
diff -Nrcpad gcc-14-20260514/gcc/testsuite/jit.dg/test-cold-attribute.c gcc-14-20260521/gcc/testsuite/jit.dg/test-cold-attribute.c
*** gcc-14-20260514/gcc/testsuite/jit.dg/test-cold-attribute.c	Thu May 14 22:32:12 2026
--- gcc-14-20260521/gcc/testsuite/jit.dg/test-cold-attribute.c	Thu May 21 22:32:12 2026
***************
*** 8,15 ****
  #define TEST_ESCHEWS_SET_OPTIONS
  static void set_options (gcc_jit_context *ctxt, const char *argv0)
  {
!   // Set "-O2".
!   gcc_jit_context_set_int_option(ctxt, GCC_JIT_INT_OPTION_OPTIMIZATION_LEVEL, 2);
  }
  
  #define TEST_COMPILING_TO_FILE
--- 8,15 ----
  #define TEST_ESCHEWS_SET_OPTIONS
  static void set_options (gcc_jit_context *ctxt, const char *argv0)
  {
!   // Set "-Oz".
!   gcc_jit_context_add_command_line_option (ctxt, "-Oz");
  }
  
  #define TEST_COMPILING_TO_FILE
diff -Nrcpad gcc-14-20260514/libstdc++-v3/ChangeLog gcc-14-20260521/libstdc++-v3/ChangeLog
*** gcc-14-20260514/libstdc++-v3/ChangeLog	Thu May 14 22:32:13 2026
--- gcc-14-20260521/libstdc++-v3/ChangeLog	Thu May 21 22:32:13 2026
***************
*** 1,3 ****
--- 1,198 ----
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-24  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/chrono (chrono::__detail::__get_leap_second_info):
+ 	Update expiry date for leap seconds list.
+ 	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds):
+ 	Likewise.
+ 	* src/c++20/tzdata.zi: Import new file from 2026a release.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-16  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/chrono (chrono::__detail::__get_leap_second_info):
+ 	Update expiry date for leap seconds list.
+ 	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds):
+ 	Likewise.
+ 	* src/c++20/tzdata.zi: Import new file from 2025c release.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-11  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120390
+ 	* include/bits/stl_construct.h (_Destroy_aux::__destroy_n): New
+ 	static member function.
+ 	(_Destroy_aux<true>::__destroy_n): Likewise.
+ 	(_Destroy_n_aux): Remove.
+ 	(_Destroy(ForwardIterator, ForwardIterator)): Remove
+ 	static_assert. Use is_trivially_destructible instead of
+ 	__has_trivial_destructor.
+ 	(_Destroy_n): Likewise. Use _Destroy_aux::__destroy_n instead of
+ 	_Destroy_n_aux::__destroy_n.
+ 	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+ 	Adjust dg-error strings. Move destroy_n tests to ...
+ 	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_n_neg.cc:
+ 	New test.
+ 	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
+ 	Adjust dg-error strings.
+ 	* testsuite/23_containers/vector/cons/destructible_neg.cc:
+ 	Likewise.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-12-02  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use
+ 	'if constexpr' instead of dispatching to a member function of a
+ 	class template.
+ 	(_Destroy_n(FwdIter, Size)): Likewise.
+ 	(_Destroy_aux, _Destroy_n_aux): Only define for C++98.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-12-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/102259
+ 	* config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to
+ 	_GLIBCXX_MAX_READ_SIZE if that macro is defined.
+ 	* config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE):
+ 	Define to INT_MAX-1.
+ 	* config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE):
+ 	Likewise.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* src/c++17/fs_path.cc (path::operator+=): Use pointer
+ 	comparison to detect aliasing instead of a loop.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120029
+ 	* src/c++17/fs_path.cc (path::operator+=(const path&)): Handle
+ 	parameters that alias the path or one of its components.
+ 	* testsuite/27_io/filesystem/path/concat/120029.cc: New test.
+ 	* testsuite/experimental/filesystem/path/concat/120029.cc: New
+ 	test.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/std/time/clock/local/io.cc: Call test_format.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-19  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120293
+ 	* include/bits/chrono_io.h (_M_format_to_ostream): Add special
+ 	case for local_time convertible to local_days.
+ 	* testsuite/std/time/clock/local/io.cc: Check formatting of
+ 	chrono::local_days.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-09-06  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/chrono_io.h (from_stream): Fix conversions in
+ 	overloads for gps_time and tai_time.
+ 	* testsuite/std/time/clock/file/io.cc: Test round tripping using
+ 	chrono::parse. Add additional std::format tests.
+ 	* testsuite/std/time/clock/gps/io.cc: Likewise.
+ 	* testsuite/std/time/clock/local/io.cc: Likewise.
+ 	* testsuite/std/time/clock/tai/io.cc: Likewise.
+ 	* testsuite/std/time/clock/utc/io.cc: Likewise.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/chrono_io.h (__local_fmt_t): Remove unused
+ 	declaration.
+ 	(__formatter_chrono::_M_format_to_ostream): Add explicit
+ 	handling for specializations of __local_time_fmt, including the
+ 	time zone abbreviation in the output if __is_neg is true.
+ 	(formatter<chrono::tai_time<D>>::format): Add comment.
+ 	(formatter<chrono::gps_time<D>>::format): Likewise.
+ 	(formatter<chrono::__detail::__local_time_fmt::format): Call
+ 	_M_format with true for the __is_neg flag.
+ 	* testsuite/std/time/clock/gps/io.cc: Remove unused variable.
+ 	* testsuite/std/time/clock/local/io.cc: Fix test error that
+ 	checked tai_time instead of local_time. Add tests for
+ 	local-time-format-t formatting.
+ 	* testsuite/std/time/clock/system/io.cc: Check empty
+ 	chrono-specs.
+ 	* testsuite/std/time/clock/tai/io.cc: Likewise.
+ 	* testsuite/std/time/zoned_time/io.cc: Likewise.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-02-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/121771
+ 	* include/std/tuple (tuple::tuple(const Elements&...)): Use
+ 	type_identity_t to prevent constructor being used for CTAD.
+ 	(tuple::tuple(allocator_arg_t, const A&, const Elements&...)):
+ 	Likewise.
+ 	* testsuite/20_util/tuple/cons/121771.cc: New test.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-20  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/122567
+ 	* src/c++20/tzdb.cc (tzdb::current_zone): Loop over all trailing
+ 	components of /etc/localtime path. Use readlink instead of
+ 	std::filesystem::read_symlink.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-07  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/123100
+ 	* include/std/sstream (basic_stringbuf::str()&&): Handle the
+ 	case where _M_string is not being used for the buffer.
+ 	* testsuite/27_io/basic_stringbuf/str/char/123100.cc: New test.
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-05  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/109965
+ 	* doc/doxygen/mainpage.html: Link to topics.html instead of
+ 	modules.html
+ 
+ 2026-05-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-12-18  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/118088
+ 	* include/bits/stl_queue.h (priority_queue(priority_queue&&)):
+ 	Clear the source object after moving from it.
+ 	(priority_queue(priority_queue&&, const Alloc&)): Likewise.
+ 	(operator=(priority_queue&&)): Likewise.
+ 	* testsuite/23_containers/priority_queue/118088.cc: New test.
+ 
  2026-04-22  Tomasz Kamiński  <tkaminsk@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260514/libstdc++-v3/include/bits/chrono_io.h gcc-14-20260521/libstdc++-v3/include/bits/chrono_io.h
*** gcc-14-20260514/libstdc++-v3/include/bits/chrono_io.h	Thu May 14 22:32:14 2026
--- gcc-14-20260521/libstdc++-v3/include/bits/chrono_io.h	Thu May 21 22:32:13 2026
*************** namespace __detail
*** 3943,3950 ****
  		      else
  			{
  			  // Read hh
! 			  __hh = 10 * _S_try_read_digit(__is, __err);
! 			  __hh += _S_try_read_digit(__is, __err);
  			}
  
  		      if (__is_failed(__err))
--- 3943,3954 ----
  		      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
*** 3978,3985 ****
  		      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))
--- 3982,3993 ----
  		      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-14-20260514/libstdc++-v3/include/bits/random.tcc gcc-14-20260521/libstdc++-v3/include/bits/random.tcc
*** gcc-14-20260514/libstdc++-v3/include/bits/random.tcc	Thu May 14 22:32:14 2026
--- gcc-14-20260521/libstdc++-v3/include/bits/random.tcc	Thu May 21 22:32:13 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 83,89 ****
        __normalize(_InputIterator __first, _InputIterator __last,
  		  _OutputIterator __result, const _Tp& __factor)
        {
! 	for (; __first != __last; ++__first, ++__result)
  	  *__result = *__first / __factor;
  	return __result;
        }
--- 83,89 ----
        __normalize(_InputIterator __first, _InputIterator __last,
  		  _OutputIterator __result, const _Tp& __factor)
        {
! 	for (; __first != __last; ++__first, (void) ++__result)
  	  *__result = *__first / __factor;
  	return __result;
        }
*************** namespace __detail
*** 3075,3081 ****
  		 _InputIteratorW __wbegin)
        : _M_int(), _M_den(), _M_cp(), _M_m()
        {
! 	for (; __bbegin != __bend; ++__bbegin, ++__wbegin)
  	  {
  	    _M_int.push_back(*__bbegin);
  	    _M_den.push_back(*__wbegin);
--- 3075,3081 ----
  		 _InputIteratorW __wbegin)
        : _M_int(), _M_den(), _M_cp(), _M_m()
        {
! 	for (; __bbegin != __bend; ++__bbegin, (void) ++__wbegin)
  	  {
  	    _M_int.push_back(*__bbegin);
  	    _M_den.push_back(*__wbegin);
diff -Nrcpad gcc-14-20260514/libstdc++-v3/src/c++20/tzdata.zi gcc-14-20260521/libstdc++-v3/src/c++20/tzdata.zi
*** gcc-14-20260514/libstdc++-v3/src/c++20/tzdata.zi	Thu May 14 22:32:14 2026
--- gcc-14-20260521/libstdc++-v3/src/c++20/tzdata.zi	Thu May 21 22:32:14 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-14-20260514/libstdc++-v3/testsuite/17_intro/badnames.cc gcc-14-20260521/libstdc++-v3/testsuite/17_intro/badnames.cc
*** gcc-14-20260514/libstdc++-v3/testsuite/17_intro/badnames.cc	Thu May 14 22:32:14 2026
--- gcc-14-20260521/libstdc++-v3/testsuite/17_intro/badnames.cc	Thu May 21 22:32:14 2026
***************
*** 67,73 ****
  
  // BSD adds:
  #define __used		__used is a BADNAME
! #define __unused	__unused is a BADNAME
          // __inline	(glibc uses this so can't test here)
          // _Complex	(glibc uses this so can't test here)
  #define __istype	__istype is a BADNAME
--- 67,73 ----
  
  // BSD adds:
  #define __used		__used is a BADNAME
!         // __unused	(glibc uses this so can't test here)
          // __inline	(glibc uses this so can't test here)
          // _Complex	(glibc uses this so can't test here)
  #define __istype	__istype is a BADNAME
diff -Nrcpad gcc-14-20260514/libstdc++-v3/testsuite/17_intro/names.cc gcc-14-20260521/libstdc++-v3/testsuite/17_intro/names.cc
*** gcc-14-20260514/libstdc++-v3/testsuite/17_intro/names.cc	Thu May 14 22:32:14 2026
--- gcc-14-20260521/libstdc++-v3/testsuite/17_intro/names.cc	Thu May 21 22:32:14 2026
***************
*** 291,297 ****
  #if defined (__linux__) || defined (__gnu_hurd__)
  #if __has_include(<features.h>)
  #include <features.h>
! #if __GLIBC__ == 2 && __GLIBC_MINOR__ < 19
  // Glibc defines this prior to 2.19
  #undef __unused
  #endif
--- 291,297 ----
  #if defined (__linux__) || defined (__gnu_hurd__)
  #if __has_include(<features.h>)
  #include <features.h>
! #if __GLIBC__ == 2 && (__GLIBC_MINOR__ < 19 || __GLIBC_MINOR__ == 43)
  // Glibc defines this prior to 2.19
  #undef __unused
  #endif
diff -Nrcpad gcc-14-20260514/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/122062.cc gcc-14-20260521/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/122062.cc
*** gcc-14-20260514/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/122062.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/122062.cc	Thu May 21 22:32:14 2026
***************
*** 0 ****
--- 1,16 ----
+ // { dg-do compile { target c++11 } }
+ 
+ // PR libstdc++/122062
+ // piecewise_linear_distribution(firstB, lastB, firstW) invokes comma operator
+ 
+ #include <random>
+ #include <testsuite_iterators.h>
+ 
+ void
+ test_pr122062()
+ {
+   double b[1]{};
+   double w[1]{};
+   __gnu_test::random_access_container<double> B(b), W(w);
+   std::piecewise_linear_distribution<double> p(B.begin(), B.end(), W.begin());
+ }
diff -Nrcpad gcc-14-20260514/libstdc++-v3/testsuite/std/time/parse/125369.cc gcc-14-20260521/libstdc++-v3/testsuite/std/time/parse/125369.cc
*** gcc-14-20260514/libstdc++-v3/testsuite/std/time/parse/125369.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260521/libstdc++-v3/testsuite/std/time/parse/125369.cc	Thu May 21 22:32:14 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();
+ }
