diff -Nrcpad gcc-15-20260501/LAST_UPDATED gcc-15-20260508/LAST_UPDATED
*** gcc-15-20260501/LAST_UPDATED	Fri May  1 22:32:22 2026
--- gcc-15-20260508/LAST_UPDATED	Fri May  8 22:32:19 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision d3240e544f5ea5e4983c38bc844c338dda1b127e
--- 1 ----
! Obtained from git: releases/gcc-15 revision 2e0170d1304aeeeeaff0e4d3b58f48ef8dfd83cd
diff -Nrcpad gcc-15-20260501/MD5SUMS gcc-15-20260508/MD5SUMS
*** gcc-15-20260501/MD5SUMS	Fri May  1 22:32:27 2026
--- gcc-15-20260508/MD5SUMS	Fri May  8 22:32:24 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260501.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-20260508.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
! d006b1fd1ca6183c3137cfed808c8844  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 880bea14a71d3d3ca2deecdc95cecddd  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
! 5f55d83d604873c7ba319dd11587fdb2  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
! 95617a7143dd1529385ee8ba837bfc3a  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
! e9605c735b75fe6fd47454a342f03e47  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
! 22ae0ce0d52b04c0711a8ded859436d8  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** f808dbcc1ad6add5a0867c4b3e03fc4d  gcc/bu
*** 3205,3215 ****
  542c803f6a28d39f6101f0d3286bd240  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! 913d3b73de4bbec9a3a17dbfeea3a1d0  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
! 5a2e850515c6ecb57ffe6c19cadc6656  gcc/c-family/c-attribs.cc
  364fe59813c3f5a2a44f15892f087f94  gcc/c-family/c-common.cc
  7d631d63d02c9fdb7b800977cd8dc894  gcc/c-family/c-common.def
  c6ac8fb15a8d6272184d999f651d660d  gcc/c-family/c-common.h
--- 3205,3215 ----
  542c803f6a28d39f6101f0d3286bd240  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! 5d7bda1d57ce87aa42d996c38fcd01b2  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
! 2de4ff375c457611a084ab029d7951ad  gcc/c-family/c-attribs.cc
  364fe59813c3f5a2a44f15892f087f94  gcc/c-family/c-common.cc
  7d631d63d02c9fdb7b800977cd8dc894  gcc/c-family/c-common.def
  c6ac8fb15a8d6272184d999f651d660d  gcc/c-family/c-common.h
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5501,5507 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 1577d9b842daba37f4a9c2e5cc15e4eb  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
! 970863258a853054024b1527409edbfe  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** ec1e9c9456a8530e241079823e2fc126  gcc/cr
*** 5614,5620 ****
  15aef1bfc1d9935a8df200d3827b59c6  gcc/ctfc.cc
  3df123e84e7c118eb423425f2100e3b5  gcc/ctfc.h
  aec0cd5251de880945c96eb21e97eac9  gcc/ctfout.cc
! 06339875c9b9f38b803d3bde870bb2d4  gcc/d/ChangeLog
  94dbce564aba342900829d11192f8905  gcc/d/ChangeLog-2006
  1a0536d6571bca334bb5c00dbdf257ab  gcc/d/ChangeLog-2007
  362a026d745031260b2e4dd8eba9becc  gcc/d/ChangeLog-2008
--- 5614,5620 ----
  15aef1bfc1d9935a8df200d3827b59c6  gcc/ctfc.cc
  3df123e84e7c118eb423425f2100e3b5  gcc/ctfc.h
  aec0cd5251de880945c96eb21e97eac9  gcc/ctfout.cc
! cada446374357675f684c298e8717f9b  gcc/d/ChangeLog
  94dbce564aba342900829d11192f8905  gcc/d/ChangeLog-2006
  1a0536d6571bca334bb5c00dbdf257ab  gcc/d/ChangeLog-2007
  362a026d745031260b2e4dd8eba9becc  gcc/d/ChangeLog-2008
*************** a7bde590e8469b2ffb53fcd2a06033af  gcc/d/
*** 5861,5867 ****
  14ab71dfd3fc06afb477ec01aa077f09  gcc/d/runtime.def
  295e39e98e26072e562ef18e757894b6  gcc/d/toir.cc
  4af3aaebbbb939e7e67ed0f4349a4524  gcc/d/typeinfo.cc
! 5e724ced44f15abc9ec7e9ee57e456a7  gcc/d/types.cc
  257fb956c4a8d2279293b031e195fdaa  gcc/data-streamer-in.cc
  80498597d8e433b8a182777985c81a1a  gcc/data-streamer-out.cc
  ef3c86ca257ef8868e25ee7cc2b20076  gcc/data-streamer.cc
--- 5861,5867 ----
  14ab71dfd3fc06afb477ec01aa077f09  gcc/d/runtime.def
  295e39e98e26072e562ef18e757894b6  gcc/d/toir.cc
  4af3aaebbbb939e7e67ed0f4349a4524  gcc/d/typeinfo.cc
! 55c57c5f439e71bb5a6dfae687634148  gcc/d/types.cc
  257fb956c4a8d2279293b031e195fdaa  gcc/data-streamer-in.cc
  80498597d8e433b8a182777985c81a1a  gcc/data-streamer-out.cc
  ef3c86ca257ef8868e25ee7cc2b20076  gcc/data-streamer.cc
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6061,6067 ****
  c93bd28b3de1f9c783e16fc6ec4aab32  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! d11b92eff900687bf3c53e43d14943a3  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
! bf7b7015fd756fe4846bf59b43870c4a  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** e2cec99de05b647cb16807fa80637b97  gcc/fo
*** 6102,6108 ****
  b7e224f665bb5044ce35ed09435bd4fb  gcc/fortran/cpp.h
  a232f4d280ad08511e2718281b3d1ab6  gcc/fortran/data.cc
  d85e2f2fc3ee4721563bd47719063fb6  gcc/fortran/data.h
! 1d27e843e7c2861862edeb91e9dab011  gcc/fortran/decl.cc
  917fd2716f1eef2f47d4f032e14958ad  gcc/fortran/dependency.cc
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
--- 6102,6108 ----
  b7e224f665bb5044ce35ed09435bd4fb  gcc/fortran/cpp.h
  a232f4d280ad08511e2718281b3d1ab6  gcc/fortran/data.cc
  d85e2f2fc3ee4721563bd47719063fb6  gcc/fortran/data.h
! 6f5dcc22d51d5b872fd80e1bac67dc23  gcc/fortran/decl.cc
  917fd2716f1eef2f47d4f032e14958ad  gcc/fortran/dependency.cc
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
*************** cf346cfc6814f9a773f9f0ee705ab3aa  gcc/fo
*** 6122,6128 ****
  4a7f5923c18268b245556ded8e9ba554  gcc/fortran/invoke.texi
  40352b9b20b1301c44326264b3f12cd1  gcc/fortran/io.cc
  d2a28ef98f6f78d1608fb52204e013a5  gcc/fortran/ioparm.def
! 11a18b85b29013791ce49cfdacc46f8b  gcc/fortran/iresolve.cc
  40087b4e405f3e0f17ebd4f0e9b63f48  gcc/fortran/iso-c-binding.def
  526bc51ff7ab3f60f1b40c5ed2b4bc3d  gcc/fortran/iso-fortran-env.def
  5c4523263ea0f1cd46baacba848e1fd5  gcc/fortran/lang-specs.h
--- 6122,6128 ----
  4a7f5923c18268b245556ded8e9ba554  gcc/fortran/invoke.texi
  40352b9b20b1301c44326264b3f12cd1  gcc/fortran/io.cc
  d2a28ef98f6f78d1608fb52204e013a5  gcc/fortran/ioparm.def
! 981bb89fcd47e69bd3799049d44a6978  gcc/fortran/iresolve.cc
  40087b4e405f3e0f17ebd4f0e9b63f48  gcc/fortran/iso-c-binding.def
  526bc51ff7ab3f60f1b40c5ed2b4bc3d  gcc/fortran/iso-fortran-env.def
  5c4523263ea0f1cd46baacba848e1fd5  gcc/fortran/lang-specs.h
*************** f654eecadb8cabd4c371426eb83f08b1  gcc/fo
*** 6135,6141 ****
  297213add624aabc75e1e83d2e504eef  gcc/fortran/mathbuiltins.def
  998aff51cf65acc4d9efe5abebaaaff6  gcc/fortran/misc.cc
  3b3c13f513e2236a6456d1d3b112404c  gcc/fortran/module.cc
! 50632a137a18f04dcc1b089dbb5f27e3  gcc/fortran/openmp.cc
  8376eba2060129f13c5146a7773b2af7  gcc/fortran/options.cc
  2e829a5546ff491798ea9e9a22f75f9c  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
--- 6135,6141 ----
  297213add624aabc75e1e83d2e504eef  gcc/fortran/mathbuiltins.def
  998aff51cf65acc4d9efe5abebaaaff6  gcc/fortran/misc.cc
  3b3c13f513e2236a6456d1d3b112404c  gcc/fortran/module.cc
! 6829c070562363da8ee5620dc7b7a9ff  gcc/fortran/openmp.cc
  8376eba2060129f13c5146a7773b2af7  gcc/fortran/options.cc
  2e829a5546ff491798ea9e9a22f75f9c  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
*************** d7408ac6c915c3e2f58cd40bdb6a0671  gcc/gi
*** 6337,6343 ****
  1445e218a0aaddda35901b1f0b3e9caa  gcc/ginclude/tgmath.h
  18dd241fd4e77ac61edc90586b9fb2b6  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
! b41648f499a7db07e24806aae26998b5  gcc/glimits.h
  584d3e97bc14e9745300416832fa94a2  gcc/go/ChangeLog
  e697a6a6e7d6942b7375c665c70d34b4  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
--- 6337,6343 ----
  1445e218a0aaddda35901b1f0b3e9caa  gcc/ginclude/tgmath.h
  18dd241fd4e77ac61edc90586b9fb2b6  gcc/ginclude/unwind-arm-common.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
! e142e39a3f0871d041e6bc0a2df6e13a  gcc/glimits.h
  584d3e97bc14e9745300416832fa94a2  gcc/go/ChangeLog
  e697a6a6e7d6942b7375c665c70d34b4  gcc/go/Make-lang.in
  60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
*************** b3a965e425e6cf7888319667faf58da9  gcc/sy
*** 8448,8454 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 2501df3acd2fd517dddb8c511c539601  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
! 43c264e35e79c15d4ee27105c7d9101b  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** ce83c5e57a56f41479e8822e32d633ea  gcc/te
*** 50002,50007 ****
--- 50002,50008 ----
  b2e314205231dfc3005d83207407379b  gcc/testsuite/gcc.dg/pr123447.c
  2e58c4d553f61913c629f0f4e16cef6c  gcc/testsuite/gcc.dg/pr123537.c
  1d51dc92bcea9d1f45d53070aed9c180  gcc/testsuite/gcc.dg/pr123672.c
+ c862a5d1aff47e4a5a9bc1b257f3fd19  gcc/testsuite/gcc.dg/pr123856.c
  5cd501fa005281d9c622810307478c79  gcc/testsuite/gcc.dg/pr123882.c
  f402be89e4891c76c691c8144fe168f7  gcc/testsuite/gcc.dg/pr124138.c
  0b8c4e1486bc61b4cdb4efb2e7f08d74  gcc/testsuite/gcc.dg/pr124635.c
*************** a45efe7a1d6f8b7f15f7befa3e7b1768  gcc/te
*** 95858,95863 ****
--- 95859,95865 ----
  4e7020df6ad139d4b43104ca5b97d142  gcc/testsuite/gdc.dg/pr123419.d
  56c2a0939424aafd465f15ffdd08847b  gcc/testsuite/gdc.dg/pr123798.d
  8121b336beaee98841d3fb15f1ac0198  gcc/testsuite/gdc.dg/pr124026.d
+ 0510f96a422a0543d9382a0700a9b0fb  gcc/testsuite/gdc.dg/pr125089.d
  d32aa8ed5ea10931be4ddb5bb9e863d8  gcc/testsuite/gdc.dg/pr89017.d
  53fa8db94d4ca3fc9ba83769733dc0e7  gcc/testsuite/gdc.dg/pr89041.d
  6c316b13f71ea31fcada56b58a41ebd1  gcc/testsuite/gdc.dg/pr89042a.d
*************** c4c86973cf0938ea1456949849582a2a  gcc/te
*** 103896,103901 ****
--- 103898,103904 ----
  72668677493c036639519f511321445d  gcc/testsuite/gfortran.dg/gomp/polymorphic-mapping-5.f90
  0cdaedb7a34b46ba225e78e6cb7f84fd  gcc/testsuite/gfortran.dg/gomp/polymorphic-mapping.f90
  dd42ad4341c4916a5494d5d3c6a52b40  gcc/testsuite/gfortran.dg/gomp/pr100965.f90
+ e32d4057d47aefb786a7e251839952e3  gcc/testsuite/gfortran.dg/gomp/pr102430.f90
  8c46c1ee06eca3c9ecb211ced2a97c89  gcc/testsuite/gfortran.dg/gomp/pr102431.f90
  a1a9be8c9080ba2ba338bc6f63b406e3  gcc/testsuite/gfortran.dg/gomp/pr102621.f90
  f523f11e31c8d7a378a90e54f4cc9a88  gcc/testsuite/gfortran.dg/gomp/pr103643.f90
*************** b7b6edb61862ad55069c70c4744ad157  gcc/te
*** 106000,106005 ****
--- 106003,106009 ----
  05aad7d3d7d82955070028e39fdf28af  gcc/testsuite/gfortran.dg/pr109358.f90
  f309d722fd5c0108897e848739b09dbb  gcc/testsuite/gfortran.dg/pr109662-a.f90
  87aa7841fecf66956c29baf129e68fb9  gcc/testsuite/gfortran.dg/pr109662.f90
+ 8d235bb163056c04ca2b4c16a3221c29  gcc/testsuite/gfortran.dg/pr109788.f90
  f2965c649a5f8dcb271f4f49f656cfff  gcc/testsuite/gfortran.dg/pr109948.f90
  898c3ea8360d1452c5f815b15dc6f6f8  gcc/testsuite/gfortran.dg/pr110221.f
  7e8f4bd708c5e8d2c848ebda68cfa3e5  gcc/testsuite/gfortran.dg/pr110224.f90
*************** f166fdd0a6158ee4997aa03d50735f03  gcc/te
*** 106498,106503 ****
--- 106502,106508 ----
  5b2aa5e5d8aa97b69f0cc98bc9709f3f  gcc/testsuite/gfortran.dg/pr78741.f90
  18ef55c7791c30ff0793ca246df65036  gcc/testsuite/gfortran.dg/pr78758.f90
  c7abc49e43c3b6377a0e019f9f4292ac  gcc/testsuite/gfortran.dg/pr79315.f90
+ 76b2c561e2cc2dffb48457fae519ab01  gcc/testsuite/gfortran.dg/pr79524.f90
  7dde52ec5dffa2ae8586c577cf97f742  gcc/testsuite/gfortran.dg/pr79886.f90
  c0b10ae015725070f4297a1ba8927463  gcc/testsuite/gfortran.dg/pr79966.f90
  21b5f06229f04696cc787b63748c5de0  gcc/testsuite/gfortran.dg/pr80494.f90
*************** a73fdec6746eaad8ccdc8e8403aac562  libqua
*** 131907,131913 ****
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! f7d4d22411de7afbfdbcd546a32e7c1c  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  1a2ca7cd408b1705dc84c19070a7049b  libsanitizer/LOCAL_PATCHES
--- 131912,131918 ----
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! 3538a9765df5019d7a6db42640ed71b0  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  1a2ca7cd408b1705dc84c19070a7049b  libsanitizer/LOCAL_PATCHES
*************** c20619c1cdd5936e7b8b0c701a9389ef  libsan
*** 132206,132212 ****
  b582d1c8ad1dfab45211cbb7c25cf5f6  libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
  a4d7b3990585330fb0fbc99e5afaf019  libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
  0865bdc585846a1c9cfa5d1df0517d02  libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h
! 5de43ed5e6d6c4cae703d1906995683d  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
  292ad6a7d436278e2f125cecbe8cd711  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
  711b54008ada7faff939a95e325b185b  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cpp
  ab1ad414331f77e459da9a32b756cbac  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h
--- 132211,132217 ----
  b582d1c8ad1dfab45211cbb7c25cf5f6  libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp
  a4d7b3990585330fb0fbc99e5afaf019  libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
  0865bdc585846a1c9cfa5d1df0517d02  libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.h
! e4cbbfcf70427c1b748d76fca60b3d89  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
  292ad6a7d436278e2f125cecbe8cd711  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
  711b54008ada7faff939a95e325b185b  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.cpp
  ab1ad414331f77e459da9a32b756cbac  libsanitizer/sanitizer_common/sanitizer_platform_limits_solaris.h
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 132433,132439 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 742556006f12c37957aa1227ccce1881  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 132438,132444 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! f2ac188da879b8a31eee1a8aa2ed34d2  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** cea931b634158b7ec3ed389b8b5d2de6  libstd
*** 132666,132672 ****
  d66f986053e4755f0517ff5cfe90b2b5  libstdc++-v3/doc/Makefile.in
  3f7ff07f68cc7610addc1921bc125548  libstdc++-v3/doc/doxygen/Intro.3
  8ddc98aa9ea49005b27aed1d2798e2fc  libstdc++-v3/doc/doxygen/doxygroups.cc
! 520db39aef0e2a59418132af88b897ed  libstdc++-v3/doc/doxygen/mainpage.html
  92f5430d44f06426f0d19bffc186ad05  libstdc++-v3/doc/doxygen/stdheader.cc
  1273764cd133c402d2d3f22cf2913af5  libstdc++-v3/doc/doxygen/tables.html
  093d173a914422cd19c7708bc2d0e736  libstdc++-v3/doc/doxygen/user.cfg.in
--- 132671,132677 ----
  d66f986053e4755f0517ff5cfe90b2b5  libstdc++-v3/doc/Makefile.in
  3f7ff07f68cc7610addc1921bc125548  libstdc++-v3/doc/doxygen/Intro.3
  8ddc98aa9ea49005b27aed1d2798e2fc  libstdc++-v3/doc/doxygen/doxygroups.cc
! 0afaede288e1533644cb1445cf4ff813  libstdc++-v3/doc/doxygen/mainpage.html
  92f5430d44f06426f0d19bffc186ad05  libstdc++-v3/doc/doxygen/stdheader.cc
  1273764cd133c402d2d3f22cf2913af5  libstdc++-v3/doc/doxygen/tables.html
  093d173a914422cd19c7708bc2d0e736  libstdc++-v3/doc/doxygen/user.cfg.in
*************** e5c19b8ff5bc3c648559dbeb909a643d  libstd
*** 132833,132839 ****
  05fe12a35eeac73538be455d4b27f923  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  391422dd4f4cdbd4d764a952a0f345e6  libstdc++-v3/doc/html/manual/source_organization.html
! 38ef77ae9c592a23515e4e1bbbb6a1d0  libstdc++-v3/doc/html/manual/status.html
  ea0c531c09fa230f346f8ba700961e4a  libstdc++-v3/doc/html/manual/std_contents.html
  ed880ae9a474601ab139b1f243cbad76  libstdc++-v3/doc/html/manual/streambufs.html
  2a262c4a0f123859ea1ea62fc6c5a226  libstdc++-v3/doc/html/manual/strings.html
--- 132838,132844 ----
  05fe12a35eeac73538be455d4b27f923  libstdc++-v3/doc/html/manual/source_code_style.html
  f875f3f4cddfe4fee6aff2308ccb4563  libstdc++-v3/doc/html/manual/source_design_notes.html
  391422dd4f4cdbd4d764a952a0f345e6  libstdc++-v3/doc/html/manual/source_organization.html
! ac506f0c90b5919c5eec134bdd77dc85  libstdc++-v3/doc/html/manual/status.html
  ea0c531c09fa230f346f8ba700961e4a  libstdc++-v3/doc/html/manual/std_contents.html
  ed880ae9a474601ab139b1f243cbad76  libstdc++-v3/doc/html/manual/streambufs.html
  2a262c4a0f123859ea1ea62fc6c5a226  libstdc++-v3/doc/html/manual/strings.html
*************** d7f222c42325cd44eadad2c59eef7e6f  libstd
*** 133080,133086 ****
  a1e5e1f330c7f2768f2ee7abc3e07ee8  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  84bac623e2b226860e4ec897010934bf  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
  dfb20c2399649a914760f055f32dd178  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
! cf0ef2164c8071a200c66f96e7971b77  libstdc++-v3/doc/xml/manual/status_cxx2023.xml
  e12241b98a6c1e835b7b1d1bb31761ca  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  947cbcb30cf76f2d22ef124b555113b9  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  4d3d64f9d7fc245ed5d85a621393ffce  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
--- 133085,133091 ----
  a1e5e1f330c7f2768f2ee7abc3e07ee8  libstdc++-v3/doc/xml/manual/status_cxx2014.xml
  84bac623e2b226860e4ec897010934bf  libstdc++-v3/doc/xml/manual/status_cxx2017.xml
  dfb20c2399649a914760f055f32dd178  libstdc++-v3/doc/xml/manual/status_cxx2020.xml
! 1151525e4f901bb58f4c36e8909ebf1c  libstdc++-v3/doc/xml/manual/status_cxx2023.xml
  e12241b98a6c1e835b7b1d1bb31761ca  libstdc++-v3/doc/xml/manual/status_cxxis29124.xml
  947cbcb30cf76f2d22ef124b555113b9  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
  4d3d64f9d7fc245ed5d85a621393ffce  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
*************** bde7ef0245c6a48f1e86c1154662b9b3  libstd
*** 133250,133256 ****
  0cd52362d57cc5fc0e0d07fab7c47853  libstdc++-v3/include/bits/unicode.h
  8ee97d70f6b24f44125831164552e776  libstdc++-v3/include/bits/uniform_int_dist.h
  0d7174a622374816c75ac03f78148fc9  libstdc++-v3/include/bits/unique_lock.h
! a09b250cc9588a686d344a77c7b349c6  libstdc++-v3/include/bits/unique_ptr.h
  d61a895413ba9f4aeab69b1af27eef73  libstdc++-v3/include/bits/unordered_map.h
  d85d327f1ca34fa9a7c0a77642f2da39  libstdc++-v3/include/bits/unordered_set.h
  a29de34311f884bb0a7bb8854fe4ce34  libstdc++-v3/include/bits/uses_allocator.h
--- 133255,133261 ----
  0cd52362d57cc5fc0e0d07fab7c47853  libstdc++-v3/include/bits/unicode.h
  8ee97d70f6b24f44125831164552e776  libstdc++-v3/include/bits/uniform_int_dist.h
  0d7174a622374816c75ac03f78148fc9  libstdc++-v3/include/bits/unique_lock.h
! 2699aa85778bc50b38ae3510bc869f15  libstdc++-v3/include/bits/unique_ptr.h
  d61a895413ba9f4aeab69b1af27eef73  libstdc++-v3/include/bits/unordered_map.h
  d85d327f1ca34fa9a7c0a77642f2da39  libstdc++-v3/include/bits/unordered_set.h
  a29de34311f884bb0a7bb8854fe4ce34  libstdc++-v3/include/bits/uses_allocator.h
*************** e2b40f273adc9c3cdf931a505b25a3e3  libstd
*** 135958,135963 ****
--- 135963,135969 ----
  865ecdda52bcc46067ae1155b4fc802d  libstdc++-v3/testsuite/20_util/unique_ptr/io/lwg2948.cc
  bb40414adb587ca6cdd1ffd17960c9e2  libstdc++-v3/testsuite/20_util/unique_ptr/lwg2762.cc
  455915dfcf4dc6251c24ac413d3dfcde  libstdc++-v3/testsuite/20_util/unique_ptr/lwg4148.cc
+ 7314924b4534c814fb3127346d74c45f  libstdc++-v3/testsuite/20_util/unique_ptr/lwg4324.cc
  a87ada64946cd931cadfaa13b513a900  libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc
  1dba41a3d994169c6dc80f6e218ba745  libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc
  1522af3c74e321802d64a0867e5e7e82  libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/93562.cc
diff -Nrcpad gcc-15-20260501/gcc/ChangeLog gcc-15-20260508/gcc/ChangeLog
*** gcc-15-20260501/gcc/ChangeLog	Fri May  1 22:32:05 2026
--- gcc-15-20260508/gcc/ChangeLog	Fri May  8 22:32:05 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 2026-05-03  Collin Funk  <collin.funk1@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-05-03  Collin Funk  <collin.funk1@gmail.com>
+ 
+ 	* glimits.h (__STDC_VERSION_LIMITS_H__): Only define the macro
+ 	if it was not already defined.
+ 
  2026-04-30  Richard Earnshaw  <rearnsha@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/gcc/DATESTAMP gcc-15-20260508/gcc/DATESTAMP
*** gcc-15-20260501/gcc/DATESTAMP	Fri May  1 22:32:05 2026
--- gcc-15-20260508/gcc/DATESTAMP	Fri May  8 22:32:05 2026
***************
*** 1 ****
! 20260501
--- 1 ----
! 20260508
diff -Nrcpad gcc-15-20260501/gcc/c-family/ChangeLog gcc-15-20260508/gcc/c-family/ChangeLog
*** gcc-15-20260501/gcc/c-family/ChangeLog	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/c-family/ChangeLog	Fri May  8 22:32:06 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 2026-05-06  Martin Uecker  <uecker@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-03-07  Martin Uecker  <uecker@tugraz.at>
+ 
+ 	PR c/123856
+ 	* c-attribs.cc (handle_hardbool_attribute): Fix TYPE_NAME.
+ 
  2026-03-28  Patrick Palka  <ppalka@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/gcc/c-family/c-attribs.cc gcc-15-20260508/gcc/c-family/c-attribs.cc
*** gcc-15-20260501/gcc/c-family/c-attribs.cc	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/c-family/c-attribs.cc	Fri May  8 22:32:06 2026
*************** handle_hardbool_attribute (tree *node, t
*** 1191,1197 ****
  
    gcc_checking_assert (!TYPE_CACHED_VALUES_P (*node));
    TYPE_VALUES (*node) = values;
!   TYPE_NAME (*node) = orig;
  
    return NULL_TREE;
  }
--- 1191,1201 ----
  
    gcc_checking_assert (!TYPE_CACHED_VALUES_P (*node));
    TYPE_VALUES (*node) = values;
! 
!   if (TREE_CODE (orig) == TYPE_DECL)
!     TYPE_NAME (*node) = TYPE_NAME (orig);
!   else
!     TYPE_NAME (*node) = NULL_TREE;
  
    return NULL_TREE;
  }
diff -Nrcpad gcc-15-20260501/gcc/cp/ChangeLog gcc-15-20260508/gcc/cp/ChangeLog
*** gcc-15-20260501/gcc/cp/ChangeLog	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/cp/ChangeLog	Fri May  8 22:32:06 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-05-01  Marek Polacek  <polacek@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-01  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/123143
+ 	* pt.cc (tsubst_expr) <case COMPONENT_REF>: Check identifier_p
+ 	before doing lookup for a template function.
+ 
  2026-04-16  Marek Polacek  <polacek@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/gcc/d/ChangeLog gcc-15-20260508/gcc/d/ChangeLog
*** gcc-15-20260501/gcc/d/ChangeLog	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/d/ChangeLog	Fri May  8 22:32:07 2026
***************
*** 1,3 ****
--- 1,15 ----
+ 2026-05-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-05-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/125089
+ 	* types.cc (finish_aggregate_mode): Explicitly set TYPE_MODE of
+ 	non-POD types here.
+ 	(finish_aggregate_type): Propagate TREE_ADDRESSABLE to all variants.
+ 	(TypeVisitor::visit (TypeStruct *)): Set TREE_ADDRESSABLE before
+ 	visiting struct members.
+ 
  2026-04-20  Iain Buclaw  <ibuclaw@gdcproject.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/gcc/d/types.cc gcc-15-20260508/gcc/d/types.cc
*** gcc-15-20260501/gcc/d/types.cc	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/d/types.cc	Fri May  8 22:32:07 2026
*************** finish_aggregate_mode (tree type)
*** 593,599 ****
  	return;
      }
  
!   compute_record_mode (type);
  
    /* Propagate computed mode to all variants of this aggregate type.  */
    for (tree t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
--- 593,604 ----
  	return;
      }
  
!   /* Force mode of non-trivially copyable structs to be BLKmode, preventing it
!      from being returned in a register.  */
!   if (TREE_ADDRESSABLE (type))
!     SET_TYPE_MODE (type, BLKmode);
!   else
!     compute_record_mode (type);
  
    /* Propagate computed mode to all variants of this aggregate type.  */
    for (tree t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
*************** finish_aggregate_type (unsigned structsi
*** 715,720 ****
--- 720,726 ----
        TYPE_PACKED (t) = TYPE_PACKED (type);
        SET_TYPE_ALIGN (t, TYPE_ALIGN (type));
        TYPE_USER_ALIGN (t) = TYPE_USER_ALIGN (type);
+       TREE_ADDRESSABLE (t) = TREE_ADDRESSABLE (type);
      }
  
    /* Complete any other forward-referenced fields of this aggregate type.  */
*************** public:
*** 1234,1239 ****
--- 1240,1251 ----
      TYPE_LANG_SPECIFIC (t->ctype) = build_lang_type (t);
      TYPE_CXX_ODR_P (t->ctype) = 1;
  
+     /* For structs with a user defined postblit, copy constructor, or a
+        destructor, also set TREE_ADDRESSABLE on the type and all variants.
+        This will make the struct be passed around by reference.  */
+     if (!t->sym->isPOD ())
+       TREE_ADDRESSABLE (t->ctype) = 1;
+ 
      if (t->sym->members)
        {
  	/* Must set up the overall size and alignment before determining
*************** public:
*** 1255,1272 ****
  	build_type_decl (t->ctype, t->sym);
  	apply_user_attributes (t->sym, t->ctype);
        }
- 
-     /* For structs with a user defined postblit, copy constructor, or a
-        destructor, also set TREE_ADDRESSABLE on the type and all variants.
-        This will make the struct be passed around by reference.  */
-     if (!t->sym->isPOD ())
-       {
- 	for (tree tv = t->ctype; tv != NULL_TREE; tv = TYPE_NEXT_VARIANT (tv))
- 	  {
- 	    TREE_ADDRESSABLE (tv) = 1;
- 	    SET_TYPE_MODE (tv, BLKmode);
- 	  }
-       }
    }
  
    /* Build a class type.  Whereas structs are value types, classes are
--- 1267,1272 ----
diff -Nrcpad gcc-15-20260501/gcc/fortran/ChangeLog gcc-15-20260508/gcc/fortran/ChangeLog
*** gcc-15-20260501/gcc/fortran/ChangeLog	Fri May  1 22:32:06 2026
--- gcc-15-20260508/gcc/fortran/ChangeLog	Fri May  8 22:32:07 2026
***************
*** 1,3 ****
--- 1,22 ----
+ 2026-05-06  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-05  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/109788
+ 	* iresolve.cc (copy_intrinsic_sym): New helper.
+ 	(gfc_resolve_spread): Copy the intrinsic descriptor before
+ 	specializing the character formal argument type.
+ 
+ 2026-05-06  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-07  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102430
+ 	* openmp.cc (resolve_omp_clauses): Reject array/allocatable LINEAR on
+ 	worksharing-loop constructs.
+ 
  2026-04-17  Paul Thomas  <pault@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/gcc/fortran/decl.cc gcc-15-20260508/gcc/fortran/decl.cc
*** gcc-15-20260501/gcc/fortran/decl.cc	Fri May  1 22:32:07 2026
--- gcc-15-20260508/gcc/fortran/decl.cc	Fri May  8 22:32:07 2026
*************** discard_pending_charlen (gfc_charlen *cl
*** 130,135 ****
--- 130,156 ----
    free (cl);
  }
  
+ /* Drop the charlen nodes created while matching a declaration that is about
+    to be rejected.  Callers must clear any surviving owners before using this
+    helper, so only the statement-local nodes remain on the namespace list.  */
+ 
+ static void
+ discard_pending_charlens (gfc_charlen *saved_cl)
+ {
+   if (!gfc_current_ns)
+     return;
+ 
+   while (gfc_current_ns->cl_list != saved_cl)
+     {
+       gfc_charlen *cl = gfc_current_ns->cl_list;
+ 
+       gcc_assert (cl);
+       gfc_current_ns->cl_list = cl->next;
+       gfc_free_expr (cl->length);
+       free (cl);
+     }
+ }
+ 
  /********************* DATA statement subroutines *********************/
  
  static bool in_match_data = false;
*************** fix_initializer_charlen (gfc_typespec *t
*** 2046,2052 ****
     expression to a symbol.  */
  
  static bool
! add_init_expr_to_sym (const char *name, gfc_expr **initp, locus *var_locus)
  {
    symbol_attribute attr;
    gfc_symbol *sym;
--- 2067,2074 ----
     expression to a symbol.  */
  
  static bool
! add_init_expr_to_sym (const char *name, gfc_expr **initp, locus *var_locus,
! 		      gfc_charlen *saved_cl_list)
  {
    symbol_attribute attr;
    gfc_symbol *sym;
*************** add_init_expr_to_sym (const char *name,
*** 2134,2139 ****
--- 2156,2171 ----
  					 "at %L "
  					 "with variable length elements",
  					 &sym->declared_at);
+ 
+ 			      /* This rejection path can leave several
+ 				 declaration-local charlens on cl_list,
+ 				 including the replacement symbol charlen and
+ 				 the array-constructor typespec charlen.
+ 				 Clear the surviving owners first, then drop
+ 				 only the nodes created by this declaration.  */
+ 			      sym->ts.u.cl = NULL;
+ 			      init->ts.u.cl = NULL;
+ 			      discard_pending_charlens (saved_cl_list);
  			      return false;
  			    }
  			  clen = mpz_get_si (length->value.integer);
*************** variable_decl (int elem)
*** 2664,2669 ****
--- 2696,2702 ----
    gfc_array_spec *as;
    gfc_array_spec *cp_as; /* Extra copy for Cray Pointees.  */
    gfc_charlen *cl;
+   gfc_charlen *saved_cl_list;
    bool cl_deferred;
    locus var_locus;
    match m;
*************** variable_decl (int elem)
*** 2674,2679 ****
--- 2707,2713 ----
    initializer = NULL;
    as = NULL;
    cp_as = NULL;
+   saved_cl_list = gfc_current_ns->cl_list;
  
    /* When we get here, we've just matched a list of attributes and
       maybe a type and a double colon.  The next thing we expect to see
*************** variable_decl (int elem)
*** 3214,3220 ****
       NULL here, because we sometimes also need to check if a
       declaration *must* have an initialization expression.  */
    if (!gfc_comp_struct (gfc_current_state ()))
!     t = add_init_expr_to_sym (name, &initializer, &var_locus);
    else
      {
        if (current_ts.type == BT_DERIVED
--- 3248,3255 ----
       NULL here, because we sometimes also need to check if a
       declaration *must* have an initialization expression.  */
    if (!gfc_comp_struct (gfc_current_state ()))
!     t = add_init_expr_to_sym (name, &initializer, &var_locus,
! 			      saved_cl_list);
    else
      {
        if (current_ts.type == BT_DERIVED
*************** match_procedure_decl (void)
*** 7394,7400 ****
  	  if (m != MATCH_YES)
  	    goto cleanup;
  
! 	  if (!add_init_expr_to_sym (sym->name, &initializer, &gfc_current_locus))
  	    goto cleanup;
  
  	}
--- 7429,7437 ----
  	  if (m != MATCH_YES)
  	    goto cleanup;
  
! 	  if (!add_init_expr_to_sym (sym->name, &initializer,
! 				     &gfc_current_locus,
! 				     gfc_current_ns->cl_list))
  	    goto cleanup;
  
  	}
*************** do_parm (void)
*** 9655,9663 ****
--- 9692,9703 ----
  {
    gfc_symbol *sym;
    gfc_expr *init;
+   gfc_charlen *saved_cl_list;
    match m;
    bool t;
  
+   saved_cl_list = gfc_current_ns->cl_list;
+ 
    m = gfc_match_symbol (&sym, 0);
    if (m == MATCH_NO)
      gfc_error ("Expected variable name at %C in PARAMETER statement");
*************** do_parm (void)
*** 9698,9704 ****
        goto cleanup;
      }
  
!   t = add_init_expr_to_sym (sym->name, &init, &gfc_current_locus);
    return (t) ? MATCH_YES : MATCH_ERROR;
  
  cleanup:
--- 9738,9745 ----
        goto cleanup;
      }
  
!   t = add_init_expr_to_sym (sym->name, &init, &gfc_current_locus,
! 			    saved_cl_list);
    return (t) ? MATCH_YES : MATCH_ERROR;
  
  cleanup:
*************** enumerator_decl (void)
*** 11118,11123 ****
--- 11159,11165 ----
    char name[GFC_MAX_SYMBOL_LEN + 1];
    gfc_expr *initializer;
    gfc_array_spec *as = NULL;
+   gfc_charlen *saved_cl_list;
    gfc_symbol *sym;
    locus var_locus;
    match m;
*************** enumerator_decl (void)
*** 11125,11130 ****
--- 11167,11173 ----
    locus old_locus;
  
    initializer = NULL;
+   saved_cl_list = gfc_current_ns->cl_list;
    old_locus = gfc_current_locus;
  
    /* When we get here, we've just matched a list of attributes and
*************** enumerator_decl (void)
*** 11181,11187 ****
       to be parsed.  add_init_expr_to_sym() zeros initializer, so we
       use last_initializer below.  */
    last_initializer = initializer;
!   t = add_init_expr_to_sym (name, &initializer, &var_locus);
  
    /* Maintain enumerator history.  */
    gfc_find_symbol (name, NULL, 0, &sym);
--- 11224,11231 ----
       to be parsed.  add_init_expr_to_sym() zeros initializer, so we
       use last_initializer below.  */
    last_initializer = initializer;
!   t = add_init_expr_to_sym (name, &initializer, &var_locus,
! 			    saved_cl_list);
  
    /* Maintain enumerator history.  */
    gfc_find_symbol (name, NULL, 0, &sym);
diff -Nrcpad gcc-15-20260501/gcc/fortran/iresolve.cc gcc-15-20260508/gcc/fortran/iresolve.cc
*** gcc-15-20260501/gcc/fortran/iresolve.cc	Fri May  1 22:32:07 2026
--- gcc-15-20260508/gcc/fortran/iresolve.cc	Fri May  8 22:32:07 2026
*************** check_charlen_present (gfc_expr *source)
*** 103,108 ****
--- 103,127 ----
      }
  }
  
+ static gfc_intrinsic_sym *
+ copy_intrinsic_sym (const gfc_intrinsic_sym *src)
+ {
+   gfc_intrinsic_sym *copy = XCNEW (gfc_intrinsic_sym);
+   gfc_intrinsic_arg *head = NULL;
+   gfc_intrinsic_arg **tail = &head;
+ 
+   *copy = *src;
+   for (const gfc_intrinsic_arg *arg = src->formal; arg; arg = arg->next)
+     {
+       *tail = XCNEW (gfc_intrinsic_arg);
+       **tail = *arg;
+       (*tail)->next = NULL;
+       tail = &(*tail)->next;
+     }
+   copy->formal = head;
+   return copy;
+ }
+ 
  /* Helper function for resolving the "mask" argument.  */
  
  static void
*************** gfc_resolve_spread (gfc_expr *f, gfc_exp
*** 2939,2945 ****
      gfc_resolve_substring_charlen (source);
  
    if (source->ts.type == BT_CHARACTER)
!     check_charlen_present (source);
  
    f->ts = source->ts;
    f->rank = source->rank + 1;
--- 2958,2968 ----
      gfc_resolve_substring_charlen (source);
  
    if (source->ts.type == BT_CHARACTER)
!     {
!       check_charlen_present (source);
!       f->value.function.isym = copy_intrinsic_sym (f->value.function.isym);
!       f->value.function.isym->formal->ts = source->ts;
!     }
  
    f->ts = source->ts;
    f->rank = source->rank + 1;
diff -Nrcpad gcc-15-20260501/gcc/fortran/openmp.cc gcc-15-20260508/gcc/fortran/openmp.cc
*** gcc-15-20260501/gcc/fortran/openmp.cc	Fri May  1 22:32:07 2026
--- gcc-15-20260508/gcc/fortran/openmp.cc	Fri May  8 22:32:07 2026
*************** resolve_omp_clauses (gfc_code *code, gfc
*** 10166,10171 ****
--- 10166,10206 ----
  		      }
  		    break;
  		  case OMP_LIST_LINEAR:
+ 		    if (code)
+ 		      {
+ 			bool is_worksharing_for = false;
+ 			switch (code->op)
+ 			  {
+ 			  case EXEC_OMP_DO:
+ 			  case EXEC_OMP_PARALLEL_DO:
+ 			  case EXEC_OMP_DISTRIBUTE_PARALLEL_DO:
+ 			  case EXEC_OMP_TARGET_PARALLEL_DO:
+ 			  case EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO:
+ 			  case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO:
+ 			    is_worksharing_for = true;
+ 			    break;
+ 			  default:
+ 			    break;
+ 			  }
+ 
+ 			if (is_worksharing_for
+ 			    && (n->sym->attr.dimension
+ 				|| n->sym->attr.allocatable))
+ 			  {
+ 			    if (n->sym->attr.allocatable)
+ 			      gfc_error ("Sorry, ALLOCATABLE object %qs in "
+ 					 "LINEAR clause on worksharing-loop "
+ 					 "construct at %L is not yet supported",
+ 					 n->sym->name, &n->where);
+ 			    else
+ 			      gfc_error ("Sorry, array %qs in LINEAR clause "
+ 					 "on worksharing-loop construct at %L "
+ 					 "is not yet supported",
+ 					 n->sym->name, &n->where);
+ 			    break;
+ 			  }
+ 		      }
+ 
  		    if (code
  			&& n->u.linear.op != OMP_LINEAR_DEFAULT
  			&& n->u.linear.op != linear_op)
diff -Nrcpad gcc-15-20260501/gcc/glimits.h gcc-15-20260508/gcc/glimits.h
*** gcc-15-20260501/gcc/glimits.h	Fri May  1 22:32:07 2026
--- gcc-15-20260508/gcc/glimits.h	Fri May  8 22:32:07 2026
*************** see the files COPYING3 and COPYING.RUNTI
*** 162,168 ****
  #  define BITINT_MAXWIDTH __BITINT_MAXWIDTH__
  # endif
  
! # define __STDC_VERSION_LIMITS_H__	202311L
  #endif
  
  #endif /* _LIMITS_H___ */
--- 162,170 ----
  #  define BITINT_MAXWIDTH __BITINT_MAXWIDTH__
  # endif
  
! # ifndef __STDC_VERSION_LIMITS_H__
! #  define __STDC_VERSION_LIMITS_H__	202311L
! # endif
  #endif
  
  #endif /* _LIMITS_H___ */
diff -Nrcpad gcc-15-20260501/gcc/testsuite/ChangeLog gcc-15-20260508/gcc/testsuite/ChangeLog
*** gcc-15-20260501/gcc/testsuite/ChangeLog	Fri May  1 22:32:07 2026
--- gcc-15-20260508/gcc/testsuite/ChangeLog	Fri May  8 22:32:08 2026
***************
*** 1,3 ****
--- 1,43 ----
+ 2026-05-06  Martin Uecker  <uecker@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-03-07  Martin Uecker  <uecker@tugraz.at>
+ 
+ 	PR c/123856
+ 	* gcc.dg/pr123856.c: New test.
+ 
+ 2026-05-06  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-05  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/109788
+ 	* gfortran.dg/pr109788.f90: New test.
+ 
+ 2026-05-06  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-07  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102430
+ 	* gfortran.dg/gomp/pr102430.f90: New test.
+ 
+ 2026-05-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-05-05  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/125089
+ 	* gdc.dg/pr125089.d: New test.
+ 
+ 2026-05-01  Marek Polacek  <polacek@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-01  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/123143
+ 	* g++.dg/cpp1y/var-templ88.C: New test.
+ 
  2026-04-30  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* gnat.dg/task6.ads, gnat.dg/task6.adb: New test.
diff -Nrcpad gcc-15-20260501/gcc/testsuite/gcc.dg/pr123856.c gcc-15-20260508/gcc/testsuite/gcc.dg/pr123856.c
*** gcc-15-20260501/gcc/testsuite/gcc.dg/pr123856.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/gcc/testsuite/gcc.dg/pr123856.c	Fri May  8 22:32:10 2026
***************
*** 0 ****
--- 1,19 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Wenum-conversion" } */
+ 
+ typedef __attribute__((__hardbool__)) int A, B;
+ 
+ B b;
+ void bar(A) { }
+ void foo() { bar(b); }		/* { dg-warning "implicit conversion" } */
+ 
+ void bar2(__attribute__((__hardbool__)) int)  { }
+ void foo2() { bar2(b); }	/* { dg-warning "implicit conversion" } */
+ 
+ __attribute__((__hardbool__)) int c;
+ void bar3(__attribute__((__hardbool__)) int)  { }
+ void foo3() { bar2(c); }	/* { dg-warning "implicit conversion" } */
+ 
+ void bar4(int)  { }
+ void foo4() { bar2(c); }	/* { dg-warning "implicit conversion" } */
+ 
diff -Nrcpad gcc-15-20260501/gcc/testsuite/gdc.dg/pr125089.d gcc-15-20260508/gcc/testsuite/gdc.dg/pr125089.d
*** gcc-15-20260501/gcc/testsuite/gdc.dg/pr125089.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/gcc/testsuite/gdc.dg/pr125089.d	Fri May  8 22:32:12 2026
***************
*** 0 ****
--- 1,20 ----
+ // { dg-do compile }
+ struct R125089
+ {
+     S125089.T st;
+ }
+ 
+ struct S125089
+ {
+     struct T
+     {
+         void* v;
+         ~this() {}
+     }
+ 
+     T t;
+     this(R125089 r)
+     {
+         this.t = r.st;
+     }
+ }
diff -Nrcpad gcc-15-20260501/gcc/testsuite/gfortran.dg/gomp/pr102430.f90 gcc-15-20260508/gcc/testsuite/gfortran.dg/gomp/pr102430.f90
*** gcc-15-20260501/gcc/testsuite/gfortran.dg/gomp/pr102430.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/gcc/testsuite/gfortran.dg/gomp/pr102430.f90	Fri May  8 22:32:13 2026
***************
*** 0 ****
--- 1,11 ----
+ ! { dg-do compile }
+ ! { dg-options "-fopenmp" }
+ ! PR fortran/102430
+ 
+ program p
+   integer :: a(2)
+   !$omp parallel do linear(a)  ! { dg-error "Sorry, array" }
+   do i = 1, 8
+     a = a + 1
+   end do
+ end program p
diff -Nrcpad gcc-15-20260501/gcc/testsuite/gfortran.dg/pr109788.f90 gcc-15-20260508/gcc/testsuite/gfortran.dg/pr109788.f90
*** gcc-15-20260501/gcc/testsuite/gfortran.dg/pr109788.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/gcc/testsuite/gfortran.dg/pr109788.f90	Fri May  8 22:32:13 2026
***************
*** 0 ****
--- 1,10 ----
+ ! { dg-do compile }
+ ! { dg-options "-Os -fdump-tree-original-raw" }
+ ! { dg-final { scan-tree-dump {(?s)identifier_node  strg: _gfortran_spread_char_scalar.*?function_type.*?prms: @[0-9]+.*?tree_list[^\n]*chan: @[0-9]+.*?tree_list[^\n]*chan: @[0-9]+.*?tree_list[^\n]*chan: @[0-9]+.*?tree_list[^\n]*chan: @[0-9]+.*?tree_list[^\n]*chan: @[0-9]+.*?tree_list[^\n]*chan: @8} "original" } }
+ 
+ character(3) :: a = 'abc'
+ 
+ associate (y => spread(trim(a), 1, 2) // 'd')
+   if (size(y) /= 2) stop 1
+ end associate
+ end
diff -Nrcpad gcc-15-20260501/gcc/testsuite/gfortran.dg/pr79524.f90 gcc-15-20260508/gcc/testsuite/gfortran.dg/pr79524.f90
*** gcc-15-20260501/gcc/testsuite/gfortran.dg/pr79524.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/gcc/testsuite/gfortran.dg/pr79524.f90	Fri May  8 22:32:13 2026
***************
*** 0 ****
--- 1,9 ----
+ ! { dg-do compile }
+ ! { dg-set-target-env-var MALLOC_PERTURB_ "165" }
+ ! PR fortran/79524
+ ! Reject parameter arrays with variable-length CHARACTER elements without
+ ! leaving the temporary charlen from the failed declaration on cl_list.
+ program p
+   character(*), parameter :: z(2) = [character(n) :: 'x', 'y'] ! { dg-error "Cannot initialize parameter array" }
+   character(*), parameter :: w(2) = [character(n+1) :: 'a', 'b'] ! { dg-error "Cannot initialize parameter array" }
+ end
diff -Nrcpad gcc-15-20260501/libsanitizer/ChangeLog gcc-15-20260508/libsanitizer/ChangeLog
*** gcc-15-20260501/libsanitizer/ChangeLog	Fri May  1 22:32:18 2026
--- gcc-15-20260508/libsanitizer/ChangeLog	Fri May  8 22:32:15 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-05-03  Marian Buschsieweke  <maribu@users.noreply.github.com>
+ 
+ 	Backported from master:
+ 	2026-04-21  Marian Buschsieweke  <maribu@users.noreply.github.com>
+ 
+ 	PR sanitizer/124248
+ 	* sanitizer_common/sanitizer_platform_limits_posix.cpp (struct_sock_fprog_sz):
+ 	Make available on non-glibc Linux systems.
+ 
  2026-04-30  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp gcc-15-20260508/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
*** gcc-15-20260501/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp	Fri May  1 22:32:18 2026
--- gcc-15-20260508/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp	Fri May  8 22:32:15 2026
***************
*** 74,79 ****
--- 74,80 ----
  #include <sys/vt.h>
  #include <linux/cdrom.h>
  #include <linux/fd.h>
+ #include <linux/filter.h>
  #if SANITIZER_ANDROID
  #include <linux/fs.h>
  #endif
*************** unsigned struct_ElfW_Phdr_sz = sizeof(El
*** 506,511 ****
--- 507,513 ----
    unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
    unsigned struct_synth_info_sz = sizeof(struct synth_info);
    unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+   unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
  #endif // SANITIZER_LINUX
  
  #if SANITIZER_GLIBC
*************** unsigned struct_ElfW_Phdr_sz = sizeof(El
*** 531,537 ****
  
    unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
    unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
-   unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
  #  endif  // SANITIZER_GLIBC
  
  #  if !SANITIZER_ANDROID && !SANITIZER_APPLE
--- 533,538 ----
diff -Nrcpad gcc-15-20260501/libstdc++-v3/ChangeLog gcc-15-20260508/libstdc++-v3/ChangeLog
*** gcc-15-20260501/libstdc++-v3/ChangeLog	Fri May  1 22:32:18 2026
--- gcc-15-20260508/libstdc++-v3/ChangeLog	Fri May  8 22:32:15 2026
***************
*** 1,3 ****
--- 1,27 ----
+ 2026-05-05  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-05  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-05  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/unique_ptr.h (unique_ptr::_Nothrow_deref): New
+ 	helper for pre-C++20.
+ 	(unique_ptr::operator*): Either constrain or use _Nothrow_deref.
+ 	* testsuite/20_util/unique_ptr/lwg4324.cc: New test.
+ 
+ 2026-05-05  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/xml/manual/status_cxx2023.xml: Update status table.
+ 	* doc/html/manual/status.html: Regenerate.
+ 
  2026-04-16  Tomasz Kamiński  <tkaminsk@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260501/libstdc++-v3/doc/doxygen/mainpage.html gcc-15-20260508/libstdc++-v3/doc/doxygen/mainpage.html
*** gcc-15-20260501/libstdc++-v3/doc/doxygen/mainpage.html	Fri May  1 22:32:19 2026
--- gcc-15-20260508/libstdc++-v3/doc/doxygen/mainpage.html	Fri May  8 22:32:15 2026
***************
*** 38,44 ****
  
  <p>Here are entry points to all the pages generated by Doxygen:
     <ul>
!     <li><a href="modules.html">Modules</a></li>
  
      <li>Namespaces
      <ul>
--- 38,44 ----
  
  <p>Here are entry points to all the pages generated by Doxygen:
     <ul>
!     <li><a href="topics.html">Topics</a></li>
  
      <li>Namespaces
      <ul>
diff -Nrcpad gcc-15-20260501/libstdc++-v3/doc/html/manual/status.html gcc-15-20260508/libstdc++-v3/doc/html/manual/status.html
*** gcc-15-20260501/libstdc++-v3/doc/html/manual/status.html	Fri May  1 22:32:19 2026
--- gcc-15-20260508/libstdc++-v3/doc/html/manual/status.html	Fri May  8 22:32:15 2026
*************** or any notes about the implementation.
*** 1974,1987 ****
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf" target="_top">
          P2674R1
          </a>
!       </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left">
  	<code class="code">common_reference_t</code> of <code class="code">reference_wrapper</code>
  	Should Be a Reference Type
        </td><td align="left">
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2655r3.html" target="_top">
          P2655R3
          </a>
!       </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_common_reference &gt;= 202302L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Deprecate <code class="code">numeric_limits::has_denorm</code> </td><td align="left">
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf" target="_top">
          P2614R2
          </a>
--- 1974,1987 ----
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf" target="_top">
          P2674R1
          </a>
!       </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </td></tr><tr><td align="left">
  	<code class="code">common_reference_t</code> of <code class="code">reference_wrapper</code>
  	Should Be a Reference Type
        </td><td align="left">
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2655r3.html" target="_top">
          P2655R3
          </a>
!       </td><td align="center"> 15.3 </td><td align="left"> <code class="code">__cpp_lib_common_reference &gt;= 202302L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Deprecate <code class="code">numeric_limits::has_denorm</code> </td><td align="left">
          <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf" target="_top">
          P2614R2
          </a>
diff -Nrcpad gcc-15-20260501/libstdc++-v3/doc/xml/manual/status_cxx2023.xml gcc-15-20260508/libstdc++-v3/doc/xml/manual/status_cxx2023.xml
*** gcc-15-20260501/libstdc++-v3/doc/xml/manual/status_cxx2023.xml	Fri May  1 22:32:19 2026
--- gcc-15-20260508/libstdc++-v3/doc/xml/manual/status_cxx2023.xml	Fri May  8 22:32:15 2026
*************** or any notes about the implementation.
*** 570,576 ****
      </row>
  
      <row>
-       <?dbhtml bgcolor="#C8B0B0" ?>
        <entry>
  	<code>common_reference_t</code> of <code>reference_wrapper</code>
  	Should Be a Reference Type
--- 570,575 ----
*************** or any notes about the implementation.
*** 580,586 ****
          P2655R3
          </link>
        </entry>
!       <entry align="center"> </entry>
        <entry> <code>__cpp_lib_common_reference &gt;= 202302L</code> </entry>
      </row>
  
--- 579,585 ----
          P2655R3
          </link>
        </entry>
!       <entry align="center"> 15.3 </entry>
        <entry> <code>__cpp_lib_common_reference &gt;= 202302L</code> </entry>
      </row>
  
diff -Nrcpad gcc-15-20260501/libstdc++-v3/include/bits/unique_ptr.h gcc-15-20260508/libstdc++-v3/include/bits/unique_ptr.h
*** gcc-15-20260501/libstdc++-v3/include/bits/unique_ptr.h	Fri May  1 22:32:19 2026
--- gcc-15-20260508/libstdc++-v3/include/bits/unique_ptr.h	Fri May  8 22:32:15 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 289,294 ****
--- 289,304 ----
  	  __not_<is_array<_Up>>
          >;
  
+ #if ! __cpp_concepts
+       template<typename _Ptr, typename = void>
+ 	struct _Nothrow_deref
+ 	: false_type { };
+ 
+       template<typename _Ptr>
+ 	struct _Nothrow_deref<_Ptr, __void_t<decltype(*std::declval<_Ptr>())>>
+ 	: __bool_constant<noexcept(*std::declval<_Ptr>())> { };
+ #endif
+ 
      public:
        // Constructors.
  
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 442,448 ****
        /// Dereference the stored pointer.
        _GLIBCXX23_CONSTEXPR
        typename add_lvalue_reference<element_type>::type
!       operator*() const noexcept(noexcept(*std::declval<pointer>()))
        {
  #if _GLIBCXX_USE_BUILTIN_TRAIT(__reference_converts_from_temporary)
  	// _GLIBCXX_RESOLVE_LIB_DEFECTS
--- 452,467 ----
        /// Dereference the stored pointer.
        _GLIBCXX23_CONSTEXPR
        typename add_lvalue_reference<element_type>::type
!       operator*() const
!       // _GLIBCXX_RESOLVE_LIB_DEFECTS
!       // 2762. unique_ptr operator*() should be noexcept
!       // 4324. unique_ptr<void>::operator* is not SFINAE-friendly
! #if __cpp_concepts
!       noexcept(noexcept(*std::declval<pointer>()))
!       requires requires { *std::declval<pointer>(); }
! #else
!       noexcept(_Nothrow_deref<pointer>::value)
! #endif
        {
  #if _GLIBCXX_USE_BUILTIN_TRAIT(__reference_converts_from_temporary)
  	// _GLIBCXX_RESOLVE_LIB_DEFECTS
diff -Nrcpad gcc-15-20260501/libstdc++-v3/testsuite/20_util/unique_ptr/lwg4324.cc gcc-15-20260508/libstdc++-v3/testsuite/20_util/unique_ptr/lwg4324.cc
*** gcc-15-20260501/libstdc++-v3/testsuite/20_util/unique_ptr/lwg4324.cc	Thu Jan  1 00:00:00 1970
--- gcc-15-20260508/libstdc++-v3/testsuite/20_util/unique_ptr/lwg4324.cc	Fri May  8 22:32:16 2026
***************
*** 0 ****
--- 1,22 ----
+ // { dg-do compile { target c++11 } }
+ 
+ // LWG 4324. unique_ptr<void>::operator* is not SFINAE-friendly
+ 
+ #include <memory>
+ 
+ template<class T, bool = true>
+ struct nothrow_dereference
+ : std::false_type { };
+ 
+ template<class T>
+ struct nothrow_dereference<T, noexcept(*std::declval<T>())>
+ : std::true_type { };
+ 
+ static_assert( nothrow_dereference<std::unique_ptr<int>>::value, "");
+ static_assert( ! nothrow_dereference<std::unique_ptr<void>>::value, "");
+ 
+ #if __cplusplus >= 202002L // C++20
+ template<class T> concept dereferenceable = requires(T& t) { *t; };
+ static_assert( dereferenceable<std::unique_ptr<int>>);
+ static_assert(!dereferenceable<std::unique_ptr<void>>);
+ #endif
