diff -Nrcpad gcc-15-20250524/LAST_UPDATED gcc-15-20250531/LAST_UPDATED
*** gcc-15-20250524/LAST_UPDATED	Sat May 24 22:32:33 2025
--- gcc-15-20250531/LAST_UPDATED	Sat May 31 22:34:38 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 18f937f013b79f4280c66b05fa793a0780955081
--- 1 ----
! Obtained from git: releases/gcc-15 revision 41dee7da08873721a719849d19ef07c027e76dfb
diff -Nrcpad gcc-15-20250524/MD5SUMS gcc-15-20250531/MD5SUMS
*** gcc-15-20250524/MD5SUMS	Sat May 24 22:32:37 2025
--- gcc-15-20250531/MD5SUMS	Sat May 31 22:34:42 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250524.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-20250531.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
! e86f63fcdbc4db519fc1e22f6bcb7e2b  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 9fc7f8a9f6138bc245edf96b4b596750  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
! dba6cc374f48c240ffab015b6af903e7  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
! 1d4c9ffa82935479449ee19e56d15a85  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
! 8b2ef79f123216449b51e8adc4ba68da  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
! 6b316976cef38afe99ca797ccbbd070d  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** aaf683e3b02704cfbfab0627d82edf85  gcc/c-
*** 3247,3253 ****
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! cddb0e35627152b34f49f20194b6fd64  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
--- 3247,3253 ----
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! 0f12263de1c204c8fdb7743b06770940  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
*************** d9c0725d061adffdf400457d91be3aed  gcc/c/
*** 3258,3264 ****
  5466f6371f54fce4ae89206f7792bd01  gcc/c/c-lang.h
  dec36cf5c6a91b9509a566b6c8625548  gcc/c/c-objc-common.cc
  f9dc3d10fbfaa2d38905bc4e2579ba2b  gcc/c/c-objc-common.h
! a3ff21959d97a5300f5e1ca75766e6f5  gcc/c/c-parser.cc
  9c122bd6feb8ae4a94420c890e654801  gcc/c/c-parser.h
  9179f46b6a06c7d734278f5ce2c55883  gcc/c/c-tree.def
  f7331ce09e3bb7374f8cebf0a2195d47  gcc/c/c-tree.h
--- 3258,3264 ----
  5466f6371f54fce4ae89206f7792bd01  gcc/c/c-lang.h
  dec36cf5c6a91b9509a566b6c8625548  gcc/c/c-objc-common.cc
  f9dc3d10fbfaa2d38905bc4e2579ba2b  gcc/c/c-objc-common.h
! 8deedc954a73dc5f92b48f4cf8de9955  gcc/c/c-parser.cc
  9c122bd6feb8ae4a94420c890e654801  gcc/c/c-parser.h
  9179f46b6a06c7d734278f5ce2c55883  gcc/c/c-tree.def
  f7331ce09e3bb7374f8cebf0a2195d47  gcc/c/c-tree.h
*************** ddbb7a934f8b8aa068e7b765c4375fbe  gcc/co
*** 3429,3435 ****
  d1e3bcda28d89d23e45fed74c629752a  gcc/config/aarch64/aarch64-c.cc
  ba4e797220b33827e769b09447623896  gcc/config/aarch64/aarch64-cc-fusion.cc
  133f61af7e288fe91ca31c659939c551  gcc/config/aarch64/aarch64-coff.h
! 307dc3ae557921b9ae7ec79c503e3493  gcc/config/aarch64/aarch64-cores.def
  f0a8397b1e293e23f65674cd004845ae  gcc/config/aarch64/aarch64-cost-tables.h
  bef2a61270424fd606c71d78d20ad675  gcc/config/aarch64/aarch64-d.cc
  36405b6300d5ec6ca8faf17212ad1bc9  gcc/config/aarch64/aarch64-d.h
--- 3429,3435 ----
  d1e3bcda28d89d23e45fed74c629752a  gcc/config/aarch64/aarch64-c.cc
  ba4e797220b33827e769b09447623896  gcc/config/aarch64/aarch64-cc-fusion.cc
  133f61af7e288fe91ca31c659939c551  gcc/config/aarch64/aarch64-coff.h
! 7dda5796a58478b5dadaba93a4cca59a  gcc/config/aarch64/aarch64-cores.def
  f0a8397b1e293e23f65674cd004845ae  gcc/config/aarch64/aarch64-cost-tables.h
  bef2a61270424fd606c71d78d20ad675  gcc/config/aarch64/aarch64-d.cc
  36405b6300d5ec6ca8faf17212ad1bc9  gcc/config/aarch64/aarch64-d.h
*************** d2676839c4d7a7bcd706a386c029aea2  gcc/co
*** 4540,4546 ****
  cd06662d679aac52aa61b8507723384a  gcc/config/microblaze/linux.h
  9bc1818e3b430b758bafdf04bac27f5b  gcc/config/microblaze/microblaze-c.cc
  c1cdfa70252d5e45a9df69ddc7a1ddcb  gcc/config/microblaze/microblaze-protos.h
! c10b23d21e0ba84769dd455a1393a6d7  gcc/config/microblaze/microblaze.cc
  0a4fb603eb9a1c6e31bb8fa7e38b16d1  gcc/config/microblaze/microblaze.h
  b3a2d37f3594f70e239fba70728cc641  gcc/config/microblaze/microblaze.md
  3da1e85fbc11c0a5b746cb77b96a06f3  gcc/config/microblaze/microblaze.opt
--- 4540,4546 ----
  cd06662d679aac52aa61b8507723384a  gcc/config/microblaze/linux.h
  9bc1818e3b430b758bafdf04bac27f5b  gcc/config/microblaze/microblaze-c.cc
  c1cdfa70252d5e45a9df69ddc7a1ddcb  gcc/config/microblaze/microblaze-protos.h
! b6ebd6ba65f7755a82057ecdf931d5aa  gcc/config/microblaze/microblaze.cc
  0a4fb603eb9a1c6e31bb8fa7e38b16d1  gcc/config/microblaze/microblaze.h
  b3a2d37f3594f70e239fba70728cc641  gcc/config/microblaze/microblaze.md
  3da1e85fbc11c0a5b746cb77b96a06f3  gcc/config/microblaze/microblaze.opt
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5496,5502 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 83ece82f68910190b9f8f4ea84a67e57  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5496,5502 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 3e83ea06d7ef5d2c1595ae80f4a85cce  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** aaf76a9b03fd0532d2904aef004fd66a  gcc/cp
*** 5581,5593 ****
  9644410086c3beb90033e77613e9d1a7  gcc/cp/name-lookup.h
  e7fe06956aada61bcaae5168ad47a9c1  gcc/cp/operators.def
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
! 7d0eb319afee7250dc9dac31e77e428e  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
  27a10d7b6902641140f84afb4830228b  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
! 5f55e38a4d7eb82749ebcc23ad8f79d9  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
  e3798db73e0b3e892e772acbe569a5b8  gcc/cp/tree.cc
--- 5581,5593 ----
  9644410086c3beb90033e77613e9d1a7  gcc/cp/name-lookup.h
  e7fe06956aada61bcaae5168ad47a9c1  gcc/cp/operators.def
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
! ddfdd9a2ec312004387f88308d0d1208  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
  27a10d7b6902641140f84afb4830228b  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
! 48ed0bb4fa778a3b5f67ba653a2c2e72  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
  e3798db73e0b3e892e772acbe569a5b8  gcc/cp/tree.cc
*************** acdfc663791e4321372e79932070d05d  gcc/do
*** 5924,5930 ****
  81ae745aed5479afae430c578fa29055  gcc/doc/cppinternals.texi
  1a2d44757bb0f40b09493ac3863eba93  gcc/doc/cppopts.texi
  14b0532614eb25d7d84e7efd6664ecf3  gcc/doc/cppwarnopts.texi
! 886e92d86132b8ff4335d6f1b8b8050d  gcc/doc/extend.texi
  ddcdbcb699f5252a1c1219d92d87ed8b  gcc/doc/fragments.texi
  cd346f0c279f68138ef08c7addc796de  gcc/doc/frontends.texi
  a28615d9873d98f0d5f4ef8dd3e4c39d  gcc/doc/gcc.texi
--- 5924,5930 ----
  81ae745aed5479afae430c578fa29055  gcc/doc/cppinternals.texi
  1a2d44757bb0f40b09493ac3863eba93  gcc/doc/cppopts.texi
  14b0532614eb25d7d84e7efd6664ecf3  gcc/doc/cppwarnopts.texi
! b7485d30ec0ae81de9b80e6c54b78686  gcc/doc/extend.texi
  ddcdbcb699f5252a1c1219d92d87ed8b  gcc/doc/fragments.texi
  cd346f0c279f68138ef08c7addc796de  gcc/doc/frontends.texi
  a28615d9873d98f0d5f4ef8dd3e4c39d  gcc/doc/gcc.texi
*************** db21881c77a22fd3dbfe253c364af5ee  gcc/fo
*** 6086,6092 ****
  6b01ec523f3bee8e2469370d106896e3  gcc/fortran/arith.h
  1f47886d616538f880e240f661990624  gcc/fortran/array.cc
  59221f5e105887dce9d0c1b7694aa86f  gcc/fortran/bbt.cc
! ef8d562ab60ee5fadab6e8603341a93b  gcc/fortran/check.cc
  ec152c8d16c33705590d8b2ddbcad0b7  gcc/fortran/class.cc
  fa8537a408aae39a816c27e78317e1dd  gcc/fortran/coarray.cc
  6047324cb87b56ae23d2293c5ef13ddb  gcc/fortran/config-lang.in
--- 6086,6092 ----
  6b01ec523f3bee8e2469370d106896e3  gcc/fortran/arith.h
  1f47886d616538f880e240f661990624  gcc/fortran/array.cc
  59221f5e105887dce9d0c1b7694aa86f  gcc/fortran/bbt.cc
! 3a560d16f485ed40604aa07a7acf15ad  gcc/fortran/check.cc
  ec152c8d16c33705590d8b2ddbcad0b7  gcc/fortran/class.cc
  fa8537a408aae39a816c27e78317e1dd  gcc/fortran/coarray.cc
  6047324cb87b56ae23d2293c5ef13ddb  gcc/fortran/config-lang.in
*************** bd08c55098f00394b9922e6163c27b92  gcc/fo
*** 6110,6116 ****
  557c4faded3d865f6f6304bf63f9bb85  gcc/fortran/gfortran.h
  7ec4df43fc3e2bbc14dd583bdd6483a5  gcc/fortran/gfortran.texi
  af66ab40a5434219772b76ad10035e45  gcc/fortran/gfortranspec.cc
! 5b932ef150fbb2f40ad9da6a623f8cfe  gcc/fortran/interface.cc
  e80f8d5e01bd73d525ea93cef3a40a2d  gcc/fortran/intrinsic.cc
  cf346cfc6814f9a773f9f0ee705ab3aa  gcc/fortran/intrinsic.h
  5a25603bd6939073616d56ff5c8de9cc  gcc/fortran/intrinsic.texi
--- 6110,6116 ----
  557c4faded3d865f6f6304bf63f9bb85  gcc/fortran/gfortran.h
  7ec4df43fc3e2bbc14dd583bdd6483a5  gcc/fortran/gfortran.texi
  af66ab40a5434219772b76ad10035e45  gcc/fortran/gfortranspec.cc
! aea31b73f1b7395d6302c57cbbf4bacf  gcc/fortran/interface.cc
  e80f8d5e01bd73d525ea93cef3a40a2d  gcc/fortran/intrinsic.cc
  cf346cfc6814f9a773f9f0ee705ab3aa  gcc/fortran/intrinsic.h
  5a25603bd6939073616d56ff5c8de9cc  gcc/fortran/intrinsic.texi
*************** e350765243fa7b881ed82507561870ff  gcc/fo
*** 6128,6134 ****
  047778859aa899389e3b7e65c1439faa  gcc/fortran/match.h
  8181d5e935b96288d9a51fb8138faefb  gcc/fortran/matchexp.cc
  297213add624aabc75e1e83d2e504eef  gcc/fortran/mathbuiltins.def
! 70230d28b44bb64fc1df9ae9f4c3282c  gcc/fortran/misc.cc
  3b3c13f513e2236a6456d1d3b112404c  gcc/fortran/module.cc
  50632a137a18f04dcc1b089dbb5f27e3  gcc/fortran/openmp.cc
  8376eba2060129f13c5146a7773b2af7  gcc/fortran/options.cc
--- 6128,6134 ----
  047778859aa899389e3b7e65c1439faa  gcc/fortran/match.h
  8181d5e935b96288d9a51fb8138faefb  gcc/fortran/matchexp.cc
  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
*************** ee6c4ff9a86c5d0a68fa41c8da2b5c6f  gcc/ip
*** 6489,6495 ****
  0562ce724bce5cf2fea47f2f0c2e0007  gcc/ipa-reference.cc
  d4930f12a999a28238b013539b631f2f  gcc/ipa-reference.h
  db3094a0c46c1db21262added5d20318  gcc/ipa-split.cc
! 259429efa536a126922a043252fe06dd  gcc/ipa-sra.cc
  59810ca6d9f512fe2332a63f844610db  gcc/ipa-strub.cc
  7441ae66ef417a1eed323b8c98c8e589  gcc/ipa-strub.h
  15fb2e7205c9068dc163478055d814aa  gcc/ipa-utils.cc
--- 6489,6495 ----
  0562ce724bce5cf2fea47f2f0c2e0007  gcc/ipa-reference.cc
  d4930f12a999a28238b013539b631f2f  gcc/ipa-reference.h
  db3094a0c46c1db21262added5d20318  gcc/ipa-split.cc
! 128fc9f66e07a64e6ebecfe0e1f78765  gcc/ipa-sra.cc
  59810ca6d9f512fe2332a63f844610db  gcc/ipa-strub.cc
  7441ae66ef417a1eed323b8c98c8e589  gcc/ipa-strub.h
  15fb2e7205c9068dc163478055d814aa  gcc/ipa-utils.cc
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8430,8436 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! c24ce121d9962a55c9ea3ebbd1296fbc  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8430,8436 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! f5cb3cd6a25475877cac311fa9bcc019  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** dcd88cf4442d15fe1ee6cf0c65bec7ba  gcc/te
*** 12851,12857 ****
  b18e853bf462cafe38d3448d58a4e05c  gcc/testsuite/c-c++-common/gomp/attrs-3.c
  5f55dd34d269d2c286bae5200e580724  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-1.c
  e7654509a8694bbd30fb1699591c8a0a  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-2.c
! 06796489f85a7823fc889bcf3314163b  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c
  585d8f7a0b28941f42372f69b9fe2c54  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-4.c
  08ed3f839b805c729a22134e3facfc56  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-5.c
  a7fd5b945698db9b1babd132533f2610  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-6.c
--- 12851,12857 ----
  b18e853bf462cafe38d3448d58a4e05c  gcc/testsuite/c-c++-common/gomp/attrs-3.c
  5f55dd34d269d2c286bae5200e580724  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-1.c
  e7654509a8694bbd30fb1699591c8a0a  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-2.c
! be58805a59309ad5d71c49c48877eb34  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c
  585d8f7a0b28941f42372f69b9fe2c54  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-4.c
  08ed3f839b805c729a22134e3facfc56  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-5.c
  a7fd5b945698db9b1babd132533f2610  gcc/testsuite/c-c++-common/gomp/attrs-metadirective-6.c
*************** cb1823c24b3132640f493855244a27f1  gcc/te
*** 12908,12914 ****
  088dc5cb2525b333a6e4b9edd63428ed  gcc/testsuite/c-c++-common/gomp/declare-variant-12.c
  3426413eb6163ee2d46f83ece16a0bc4  gcc/testsuite/c-c++-common/gomp/declare-variant-13.c
  8201a9ce72c161a5bd2784541f8201fa  gcc/testsuite/c-c++-common/gomp/declare-variant-14.c
! be3f4339fea492cffacf01dd16b4b719  gcc/testsuite/c-c++-common/gomp/declare-variant-2.c
  5783ceed28bdb2e1617af49be1fe4d1d  gcc/testsuite/c-c++-common/gomp/declare-variant-3.c
  65b510d9e426dc2a3b6896eb93dd8335  gcc/testsuite/c-c++-common/gomp/declare-variant-4.c
  ee52d5fc3f8423c9720ccca8a58180a2  gcc/testsuite/c-c++-common/gomp/declare-variant-5.c
--- 12908,12914 ----
  088dc5cb2525b333a6e4b9edd63428ed  gcc/testsuite/c-c++-common/gomp/declare-variant-12.c
  3426413eb6163ee2d46f83ece16a0bc4  gcc/testsuite/c-c++-common/gomp/declare-variant-13.c
  8201a9ce72c161a5bd2784541f8201fa  gcc/testsuite/c-c++-common/gomp/declare-variant-14.c
! 2f33249e4eedd90971280884a3c04cab  gcc/testsuite/c-c++-common/gomp/declare-variant-2.c
  5783ceed28bdb2e1617af49be1fe4d1d  gcc/testsuite/c-c++-common/gomp/declare-variant-3.c
  65b510d9e426dc2a3b6896eb93dd8335  gcc/testsuite/c-c++-common/gomp/declare-variant-4.c
  ee52d5fc3f8423c9720ccca8a58180a2  gcc/testsuite/c-c++-common/gomp/declare-variant-5.c
*************** cfaa12085558b78e5edbdb4a338479d2  gcc/te
*** 13041,13047 ****
  8fdb590ce90d1a3c558de7dc81a38d89  gcc/testsuite/c-c++-common/gomp/master-combined-2.c
  12e47fbbab05145794b374e5016428d4  gcc/testsuite/c-c++-common/gomp/metadirective-1.c
  c45748d5db81ae8afdbd43b3671480a6  gcc/testsuite/c-c++-common/gomp/metadirective-2.c
! ab7f63684f93bf69666a570da6e4bc5e  gcc/testsuite/c-c++-common/gomp/metadirective-3.c
  c4c693d3bd497dda156e8c80f281ec9f  gcc/testsuite/c-c++-common/gomp/metadirective-4.c
  41fd3da8d6c55ec28cc82c985ac26db9  gcc/testsuite/c-c++-common/gomp/metadirective-5.c
  73bada7c7787403df92d2dfc87280580  gcc/testsuite/c-c++-common/gomp/metadirective-6.c
--- 13041,13047 ----
  8fdb590ce90d1a3c558de7dc81a38d89  gcc/testsuite/c-c++-common/gomp/master-combined-2.c
  12e47fbbab05145794b374e5016428d4  gcc/testsuite/c-c++-common/gomp/metadirective-1.c
  c45748d5db81ae8afdbd43b3671480a6  gcc/testsuite/c-c++-common/gomp/metadirective-2.c
! 4064a5f9f31ac05197a3719255169379  gcc/testsuite/c-c++-common/gomp/metadirective-3.c
  c4c693d3bd497dda156e8c80f281ec9f  gcc/testsuite/c-c++-common/gomp/metadirective-4.c
  41fd3da8d6c55ec28cc82c985ac26db9  gcc/testsuite/c-c++-common/gomp/metadirective-5.c
  73bada7c7787403df92d2dfc87280580  gcc/testsuite/c-c++-common/gomp/metadirective-6.c
*************** c4c693d3bd497dda156e8c80f281ec9f  gcc/te
*** 13049,13054 ****
--- 13049,13055 ----
  c567b86bb1126d3b39271713b71a2141  gcc/testsuite/c-c++-common/gomp/metadirective-8.c
  cc1a17af4b834e9dce3121d7b1504e85  gcc/testsuite/c-c++-common/gomp/metadirective-construct.c
  bfe7bd722a9814c4e3724c6c94b3bdc4  gcc/testsuite/c-c++-common/gomp/metadirective-device.c
+ 76caa2cd758ae2f6b329164c66f75a05  gcc/testsuite/c-c++-common/gomp/metadirective-error-recovery.c
  6b4e94542efc1bd9b8aeafa5fe783d4d  gcc/testsuite/c-c++-common/gomp/metadirective-no-score.c
  69c97abaf5f460360c59b85da779c004  gcc/testsuite/c-c++-common/gomp/metadirective-target-device-1.c
  19d35171b50642272e61c9f69291eca9  gcc/testsuite/c-c++-common/gomp/metadirective-target-device-2.c
*************** e8f7b694ebd3603789b6992bc816222d  gcc/te
*** 13093,13098 ****
--- 13094,13100 ----
  d29126c43ce63e6c41ed6130742b15e2  gcc/testsuite/c-c++-common/gomp/pr118965-1.c
  424bcc14d1a0bf87f576aafc485996e9  gcc/testsuite/c-c++-common/gomp/pr118965-2.c
  c83ce004951a9a0719e190f7457302c7  gcc/testsuite/c-c++-common/gomp/pr119000.c
+ dfca692e0ac01a45a3200798a153ebf1  gcc/testsuite/c-c++-common/gomp/pr120180.c
  e16ef156ad193ef1f3cba60ad16e57ab  gcc/testsuite/c-c++-common/gomp/pr51360.c
  84c977571aeb43c0224137efe7f5b213  gcc/testsuite/c-c++-common/gomp/pr53580.c
  28bfd873981083756a16f70fdb0b86db  gcc/testsuite/c-c++-common/gomp/pr54017.c
*************** ace106d74abcf8296a991293066c7c51  gcc/te
*** 24341,24346 ****
--- 24343,24349 ----
  d5056d7847f2753ff16e19275fe96735  gcc/testsuite/g++.dg/gomp/target-1.C
  8c284b2db0213aba2b9a945275ec6d74  gcc/testsuite/g++.dg/gomp/target-2.C
  e9b0e4dd4a2b6b1859c38faf273fc7ed  gcc/testsuite/g++.dg/gomp/target-3.C
+ 74316308fd39fecd67837ae2b456f6ce  gcc/testsuite/g++.dg/gomp/target-4.C
  1b305722cc5c4a70d422333277766f99  gcc/testsuite/g++.dg/gomp/target-lambda-2.C
  cb5219ee6745fc371bfbb0e484f3205e  gcc/testsuite/g++.dg/gomp/target-simd-clone-1.C
  e033ffcb572e3c374bf58a0eebd43584  gcc/testsuite/g++.dg/gomp/target-simd-clone-2.C
*************** e33af444b933ae4b76c6fd6ea535e112  gcc/te
*** 49423,49428 ****
--- 49426,49432 ----
  2518844f3bab4851f61e1608c80ae741  gcc/testsuite/gcc.dg/pr120057-1.c
  cb7b5505103ef079e746dd619a21ee86  gcc/testsuite/gcc.dg/pr120057-2.c
  5db833c38de3e5ade44290c729fb748c  gcc/testsuite/gcc.dg/pr120074.c
+ 9444444b4f048eadd4b6a2d7592f5fca  gcc/testsuite/gcc.dg/pr120480.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** bcf9cbe8f6dcade38e751db85acbf9b4  gcc/te
*** 100333,100339 ****
  3fe88d45ed4469bd39dc91bac863922d  gcc/testsuite/gfortran.dg/c_f_pointer_tests_3.f90
  e981ae3c610dd9839cfb023166f7eff9  gcc/testsuite/gfortran.dg/c_f_pointer_tests_4.f90
  c346b2fefbaf50e43e1029f18ab9a9ef  gcc/testsuite/gfortran.dg/c_f_pointer_tests_5.f90
! 198e45e07722d7e2520bc4b280a49219  gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90
  0b80eb392f4e3e83bc15612cb9208b4d  gcc/testsuite/gfortran.dg/c_f_pointer_tests_7.f90
  3ebb7270a1c7e8ff9b05aa304958ca0b  gcc/testsuite/gfortran.dg/c_f_pointer_tests_8.f90
  f82e9b9c0fd2496c70490c91bc661d8b  gcc/testsuite/gfortran.dg/c_f_pointer_tests_9.f90
--- 100337,100343 ----
  3fe88d45ed4469bd39dc91bac863922d  gcc/testsuite/gfortran.dg/c_f_pointer_tests_3.f90
  e981ae3c610dd9839cfb023166f7eff9  gcc/testsuite/gfortran.dg/c_f_pointer_tests_4.f90
  c346b2fefbaf50e43e1029f18ab9a9ef  gcc/testsuite/gfortran.dg/c_f_pointer_tests_5.f90
! b09906ea02ce8406cdd3e27bb94de042  gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90
  0b80eb392f4e3e83bc15612cb9208b4d  gcc/testsuite/gfortran.dg/c_f_pointer_tests_7.f90
  3ebb7270a1c7e8ff9b05aa304958ca0b  gcc/testsuite/gfortran.dg/c_f_pointer_tests_8.f90
  f82e9b9c0fd2496c70490c91bc661d8b  gcc/testsuite/gfortran.dg/c_f_pointer_tests_9.f90
*************** acaf66d3dc5deb01e00f08388b6101b3  gcc/te
*** 103839,103844 ****
--- 103843,103849 ----
  a63ff5460cdc25350f43a09d899581db  gcc/testsuite/gfortran.dg/interface_6.f90
  bf9bf5f797c809b218621993da43cbb7  gcc/testsuite/gfortran.dg/interface_60.f90
  85a77119c68cac58df232d99d18cd405  gcc/testsuite/gfortran.dg/interface_61.f90
+ bd1bbf51e59c4440656fb9a45b99f6e0  gcc/testsuite/gfortran.dg/interface_62.f90
  b4d472d28fc0ac004218dc87eb241306  gcc/testsuite/gfortran.dg/interface_7.f90
  9b6e2c6769e8d31142faefbb1e2b8fa0  gcc/testsuite/gfortran.dg/interface_8.f90
  741aacf0bd439f6874a87ea56712aadc  gcc/testsuite/gfortran.dg/interface_9.f90
*************** bfe9a93946cdb6a9b66dd7249e65330d  gcc/te
*** 105108,105115 ****
  1c099fc2477935ea4f6d6e213b94eb2f  gcc/testsuite/gfortran.dg/pr119836_2.f90
  f4f853788012858a0134517250a7832c  gcc/testsuite/gfortran.dg/pr119836_3.f90
  a961dfda22a9cdab00655e080457bd32  gcc/testsuite/gfortran.dg/pr119836_4.f90
! 0aa06bb713ed3dd03bc512a34518210f  gcc/testsuite/gfortran.dg/pr120049_a.f90
! 38ba5cfd4681c69d997eef7b122252a0  gcc/testsuite/gfortran.dg/pr120049_b.f90
  9cab825b7d82f17e4206621b6f50a699  gcc/testsuite/gfortran.dg/pr120152_1.f90
  e79a5fff5c4841ba8e2da41f54be1c1c  gcc/testsuite/gfortran.dg/pr120152_2.f90
  5b917458eb8d86935d5781cfdfe8f5e7  gcc/testsuite/gfortran.dg/pr120153.f90
--- 105113,105121 ----
  1c099fc2477935ea4f6d6e213b94eb2f  gcc/testsuite/gfortran.dg/pr119836_2.f90
  f4f853788012858a0134517250a7832c  gcc/testsuite/gfortran.dg/pr119836_3.f90
  a961dfda22a9cdab00655e080457bd32  gcc/testsuite/gfortran.dg/pr119836_4.f90
! b077fcbfe9cec19c19f0cd33e978b948  gcc/testsuite/gfortran.dg/pr120049_2.f90
! 590ff128e6eb7429ddd91a02e4b826c5  gcc/testsuite/gfortran.dg/pr120049_a.f90
! 2b24b9137232d611e7c0b6a8ecf96b4d  gcc/testsuite/gfortran.dg/pr120049_b.f90
  9cab825b7d82f17e4206621b6f50a699  gcc/testsuite/gfortran.dg/pr120152_1.f90
  e79a5fff5c4841ba8e2da41f54be1c1c  gcc/testsuite/gfortran.dg/pr120152_2.f90
  5b917458eb8d86935d5781cfdfe8f5e7  gcc/testsuite/gfortran.dg/pr120153.f90
*************** d0480aca937a9fe678328be80c523277  gcc/te
*** 112091,112096 ****
--- 112097,112105 ----
  9a8b9c8338f7df1d565755ffc671257e  gcc/testsuite/gnat.dg/sso16.adb
  fd304d08c4ca43544588bd14358a9c0a  gcc/testsuite/gnat.dg/sso17.adb
  6c87692ce5565e68f354b3b1cb842c39  gcc/testsuite/gnat.dg/sso18.adb
+ cdfa97b1a7bac5b60e459fbf3ee9756c  gcc/testsuite/gnat.dg/sso19.adb
+ 6367b98ba2d81621222585f72f1e5945  gcc/testsuite/gnat.dg/sso19_pkg.adb
+ 7f8cba13ebb19736c7d5565686e47063  gcc/testsuite/gnat.dg/sso19_pkg.ads
  ff784f7bca69d0717e740273960b0387  gcc/testsuite/gnat.dg/sso2.adb
  ccf43eb5df39869bb23ff9110d3b93cb  gcc/testsuite/gnat.dg/sso2.ads
  6fe64945c0d0238672cdece04341c316  gcc/testsuite/gnat.dg/sso3.adb
*************** cb2defb55935eac3f24944ba204230f0  gcc/tr
*** 117337,117343 ****
  a19edad681d27130bd2a0d83768ac946  gcc/tree-vrp.h
  d5ca524138d04514e07eeb06df2087cd  gcc/tree.cc
  db4e97cc6f33c2fe3aafe8676fb649a0  gcc/tree.def
! 271bf6d3776051f12b554ddf50123eda  gcc/tree.h
  b642c83968cda285afc700da2fb276d5  gcc/treestruct.def
  84205f5a5b424f30ce8c527b234e3f94  gcc/tristate.cc
  ea37ace5dddab6f4b2b9608516bebc35  gcc/tristate.h
--- 117346,117352 ----
  a19edad681d27130bd2a0d83768ac946  gcc/tree-vrp.h
  d5ca524138d04514e07eeb06df2087cd  gcc/tree.cc
  db4e97cc6f33c2fe3aafe8676fb649a0  gcc/tree.def
! 6a9ff2eecdb45074d05c5f46862dca43  gcc/tree.h
  b642c83968cda285afc700da2fb276d5  gcc/treestruct.def
  84205f5a5b424f30ce8c527b234e3f94  gcc/tristate.cc
  ea37ace5dddab6f4b2b9608516bebc35  gcc/tristate.h
*************** b38cbc5c54988720ae33d36a2ff78fd3  libgcc
*** 118335,118355 ****
  5ab16e6eec7523296afc7c8bfee38565  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  e6604d88f15777c25f5d887ca1f9148c  libgcc/config/avr/lib2funcs.c
! a6e8630f814aa890e374a7e908a29825  libgcc/config/avr/libf7/ChangeLog
  dd74908d3b47db38a7aaa2e9f130f20f  libgcc/config/avr/libf7/asm-defs.h
! 3103440dc20d49809c04a54b365507d7  libgcc/config/avr/libf7/f7-renames.h
! bbf6f4b2dc04ce0f729b2cde8dd85995  libgcc/config/avr/libf7/f7-wraps.h
! c0d4a5a9b2844505ec941ff60cae008f  libgcc/config/avr/libf7/f7renames.sh
  76d89fdf12c2153d7cf3d12c025a8713  libgcc/config/avr/libf7/f7wraps.sh
  b77774db3e278767f77ced55b8e1fe89  libgcc/config/avr/libf7/libf7-array.def
  5d9def53110ec07e8f29e66d593d758f  libgcc/config/avr/libf7/libf7-asm-object.mk
  ec9b30a882ac6a7401555a33253eb439  libgcc/config/avr/libf7/libf7-asm.sx
  6b4886ae302fca1fa733831066c5c830  libgcc/config/avr/libf7/libf7-c-object.mk
! 47dccabf16372b55fb7154bd70ce141f  libgcc/config/avr/libf7/libf7-common.mk
  29f415bcdf1f8cf82363009ed90158a0  libgcc/config/avr/libf7/libf7-const.def
  4be27333f32f04990c0af746c07ffd5d  libgcc/config/avr/libf7/libf7-constdef.h
! 8624b35b63a7f1a504184c87a54d1d6a  libgcc/config/avr/libf7/libf7.c
! 8e9057f6203221845c4aec6f2c3826df  libgcc/config/avr/libf7/libf7.h
  2921a86fef727ada45668b8c0f091e33  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
  761826027ebb1cfbb089d23904494606  libgcc/config/avr/libf7/t-libf7-math-symbols
--- 118344,118364 ----
  5ab16e6eec7523296afc7c8bfee38565  libgcc/config/avr/lib1funcs.S
  622f81485f02d0eac2caaafa7d3a2fd1  libgcc/config/avr/lib2-object.mk
  e6604d88f15777c25f5d887ca1f9148c  libgcc/config/avr/lib2funcs.c
! a480977bbb99df88b3ab12ed9ea6a4b8  libgcc/config/avr/libf7/ChangeLog
  dd74908d3b47db38a7aaa2e9f130f20f  libgcc/config/avr/libf7/asm-defs.h
! a5efc328f8686b92830ca73ea0b4d047  libgcc/config/avr/libf7/f7-renames.h
! 9bc93ce2b7213ad3cabff898a2d31774  libgcc/config/avr/libf7/f7-wraps.h
! b9901623ec29c1c4dd98d6fae040518c  libgcc/config/avr/libf7/f7renames.sh
  76d89fdf12c2153d7cf3d12c025a8713  libgcc/config/avr/libf7/f7wraps.sh
  b77774db3e278767f77ced55b8e1fe89  libgcc/config/avr/libf7/libf7-array.def
  5d9def53110ec07e8f29e66d593d758f  libgcc/config/avr/libf7/libf7-asm-object.mk
  ec9b30a882ac6a7401555a33253eb439  libgcc/config/avr/libf7/libf7-asm.sx
  6b4886ae302fca1fa733831066c5c830  libgcc/config/avr/libf7/libf7-c-object.mk
! 8c31d45420a77d0121484bfbb4e9304c  libgcc/config/avr/libf7/libf7-common.mk
  29f415bcdf1f8cf82363009ed90158a0  libgcc/config/avr/libf7/libf7-const.def
  4be27333f32f04990c0af746c07ffd5d  libgcc/config/avr/libf7/libf7-constdef.h
! ec9773d81bd91f723677eed83c9e9e33  libgcc/config/avr/libf7/libf7.c
! 96bca6a7335f821140d30c203401c36e  libgcc/config/avr/libf7/libf7.h
  2921a86fef727ada45668b8c0f091e33  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
  761826027ebb1cfbb089d23904494606  libgcc/config/avr/libf7/t-libf7-math-symbols
*************** a3a7e9ca6057da9ca42e03e41e1c73f7  libgo/
*** 126338,126344 ****
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 65127adae065bc4117b48c01d1fa885a  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  a732cc940d0d19d8091745ee2a77daee  libgomp/Makefile.am
  a1cd9225f663ff9380c1e51eee8c4b14  libgomp/Makefile.in
--- 126347,126353 ----
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! 84815e5e5f352b9a4ca2ec1599dcc403  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  a732cc940d0d19d8091745ee2a77daee  libgomp/Makefile.am
  a1cd9225f663ff9380c1e51eee8c4b14  libgomp/Makefile.in
*************** e42f1e345c7fcd9893f399df22eaed2f  libgom
*** 127021,127027 ****
  cfa794b61d7b642929f4141128dac867  libgomp/testsuite/libgomp.c-c++-common/matrix-simd-1.c
  50746be62833efa7f254f6d21e6a7d34  libgomp/testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h
  6641003248aa3d1115dde398cabf5d6d  libgomp/testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c
! f10b3a5a5035a7c657d48900ff8144a0  libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c
  1d83edce1d354aa18fd8d8acf0e56192  libgomp/testsuite/libgomp.c-c++-common/metadirective-2.c
  619fdbed63b97f6d4a1e0a1cabf0ebd9  libgomp/testsuite/libgomp.c-c++-common/metadirective-3.c
  29710e6fe72aca1f1ab459086956363b  libgomp/testsuite/libgomp.c-c++-common/metadirective-4.c
--- 127030,127036 ----
  cfa794b61d7b642929f4141128dac867  libgomp/testsuite/libgomp.c-c++-common/matrix-simd-1.c
  50746be62833efa7f254f6d21e6a7d34  libgomp/testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h
  6641003248aa3d1115dde398cabf5d6d  libgomp/testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c
! 87cada43a2557a6c8c7b870bd75cab00  libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c
  1d83edce1d354aa18fd8d8acf0e56192  libgomp/testsuite/libgomp.c-c++-common/metadirective-2.c
  619fdbed63b97f6d4a1e0a1cabf0ebd9  libgomp/testsuite/libgomp.c-c++-common/metadirective-3.c
  29710e6fe72aca1f1ab459086956363b  libgomp/testsuite/libgomp.c-c++-common/metadirective-4.c
*************** b916bf010c1060aa6d0c7f50cf781f71  libgom
*** 127992,127998 ****
  a4b7a9ace17dd9b075800abbfd0733ce  libgomp/testsuite/libgomp.fortran/map-subarray.f90
  eaa2fd770a7d57561f30521ae9f2fc9f  libgomp/testsuite/libgomp.fortran/map-subcomponents.f90
  235b8f3fb869589084e0e80ba5622db7  libgomp/testsuite/libgomp.fortran/masked-1.f90
! 7baca0f45786073c31a549db83ba6091  libgomp/testsuite/libgomp.fortran/metadirective-1.f90
  e9a079a2d85004b1722782adaa37de8a  libgomp/testsuite/libgomp.fortran/metadirective-2.f90
  6aff6b0d1880a8753ea2d552f0048670  libgomp/testsuite/libgomp.fortran/metadirective-3.f90
  5ae2ae972961030d963d73631aecabe3  libgomp/testsuite/libgomp.fortran/metadirective-4.f90
--- 128001,128007 ----
  a4b7a9ace17dd9b075800abbfd0733ce  libgomp/testsuite/libgomp.fortran/map-subarray.f90
  eaa2fd770a7d57561f30521ae9f2fc9f  libgomp/testsuite/libgomp.fortran/map-subcomponents.f90
  235b8f3fb869589084e0e80ba5622db7  libgomp/testsuite/libgomp.fortran/masked-1.f90
! ec20980a81092ce674f723fa288b8c79  libgomp/testsuite/libgomp.fortran/metadirective-1.f90
  e9a079a2d85004b1722782adaa37de8a  libgomp/testsuite/libgomp.fortran/metadirective-2.f90
  6aff6b0d1880a8753ea2d552f0048670  libgomp/testsuite/libgomp.fortran/metadirective-3.f90
  5ae2ae972961030d963d73631aecabe3  libgomp/testsuite/libgomp.fortran/metadirective-4.f90
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 131298,131304 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 931a0ef7e2fb68f8369dfb02aeb04020  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 131307,131313 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 942d81c7a34d8b2d4926b2430b35762f  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** c48928d63732da42056105c33cf860ff  libstd
*** 132103,132109 ****
  e090d043a8cdc4479dde4340af533938  libstdc++-v3/include/bits/stl_tempbuf.h
  c0874190fac1e81e66ba299a8440f4e4  libstdc++-v3/include/bits/stl_tree.h
  875a120da5d87944fd151bca22a7703c  libstdc++-v3/include/bits/stl_uninitialized.h
! 61322e1e144e2a52f22fc08cc6ed88e5  libstdc++-v3/include/bits/stl_vector.h
  c021eea8ffb782c5cae76e39deaa7369  libstdc++-v3/include/bits/stream_iterator.h
  69fecd7181ec71c850dba6e19cf9a58c  libstdc++-v3/include/bits/streambuf.tcc
  512415517592a497decfef44b9a855e2  libstdc++-v3/include/bits/streambuf_iterator.h
--- 132112,132118 ----
  e090d043a8cdc4479dde4340af533938  libstdc++-v3/include/bits/stl_tempbuf.h
  c0874190fac1e81e66ba299a8440f4e4  libstdc++-v3/include/bits/stl_tree.h
  875a120da5d87944fd151bca22a7703c  libstdc++-v3/include/bits/stl_uninitialized.h
! 396190da81f504591c361c73a800287e  libstdc++-v3/include/bits/stl_vector.h
  c021eea8ffb782c5cae76e39deaa7369  libstdc++-v3/include/bits/stream_iterator.h
  69fecd7181ec71c850dba6e19cf9a58c  libstdc++-v3/include/bits/streambuf.tcc
  512415517592a497decfef44b9a855e2  libstdc++-v3/include/bits/streambuf_iterator.h
*************** e3eb212137f2101dd4ceb83392d4f604  libstd
*** 137470,137476 ****
  7a66bf7f5aca27ddc8ca203f2f55a9b6  libstdc++-v3/testsuite/23_containers/vector/cons/destroy-adl.cc
  03d4bbea96b2b7d622e0f0d4ed285e82  libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
  c321498bb25d81efcdb153b4281a5653  libstdc++-v3/testsuite/23_containers/vector/cons/destructible_neg.cc
! e3eb5ec108c278899d4e5ba74e9a28f9  libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc
  95343136dbd192e25dfe16b3a4eda01d  libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc
  f1d10ca32c2d09fd89ac466ce1077fce  libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc
  7e7b7e0e0333f9178ee8f602413f5ce6  libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc
--- 137479,137485 ----
  7a66bf7f5aca27ddc8ca203f2f55a9b6  libstdc++-v3/testsuite/23_containers/vector/cons/destroy-adl.cc
  03d4bbea96b2b7d622e0f0d4ed285e82  libstdc++-v3/testsuite/23_containers/vector/cons/destructible_debug_neg.cc
  c321498bb25d81efcdb153b4281a5653  libstdc++-v3/testsuite/23_containers/vector/cons/destructible_neg.cc
! 833017a30b2de971981f574bdc3fd989  libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc
  95343136dbd192e25dfe16b3a4eda01d  libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc
  f1d10ca32c2d09fd89ac466ce1077fce  libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc
  7e7b7e0e0333f9178ee8f602413f5ce6  libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc
*************** c3f6449e12f804b01646cd21242151c3  libstd
*** 143029,143035 ****
  19c2fa8ba9e2522c878cabf63c5d9665  libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp
  c0f380760212f23bd9a8e7a78a05ff79  libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp
  f229f005fb6b0edfab2a25224f4aa670  libstdc++-v3/testsuite/util/pstl/pstl_test_config.h
! c9e37353b8b63e5ef350dccbc4776562  libstdc++-v3/testsuite/util/pstl/test_utils.h
  4cf92cc043ea255a4575695899068aa8  libstdc++-v3/testsuite/util/regression/basic_type.hpp
  28c3a04a29ae10b23f618124e0c23fab  libstdc++-v3/testsuite/util/regression/common_type.hpp
  1920340387faacc66cc1e6d9fff1c203  libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
--- 143038,143044 ----
  19c2fa8ba9e2522c878cabf63c5d9665  libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp
  c0f380760212f23bd9a8e7a78a05ff79  libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp
  f229f005fb6b0edfab2a25224f4aa670  libstdc++-v3/testsuite/util/pstl/pstl_test_config.h
! 55baea8c9c13ca011d239763ff0df1a9  libstdc++-v3/testsuite/util/pstl/test_utils.h
  4cf92cc043ea255a4575695899068aa8  libstdc++-v3/testsuite/util/regression/basic_type.hpp
  28c3a04a29ae10b23f618124e0c23fab  libstdc++-v3/testsuite/util/regression/common_type.hpp
  1920340387faacc66cc1e6d9fff1c203  libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
diff -Nrcpad gcc-15-20250524/gcc/ChangeLog gcc-15-20250531/gcc/ChangeLog
*** gcc-15-20250524/gcc/ChangeLog	Sat May 24 22:32:05 2025
--- gcc-15-20250531/gcc/ChangeLog	Sat May 31 22:32:16 2025
***************
*** 1,3 ****
--- 1,33 ----
+ 2025-05-29  Yuta Mukai  <mukai.yuta@fujitsu.com>
+ 
+ 	Backported from master:
+ 	2025-05-28  Yuta Mukai  <mukai.yuta@fujitsu.com>
+ 
+ 	* config/aarch64/aarch64-cores.def (fujitsu-monaka): Update ISA
+ 	features.
+ 
+ 2025-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* ipa-sra.cc (scan_expr_access): Also disqualify storage order
+ 	barriers from splitting.
+ 	* tree.h (storage_order_barrier_p): Also return false if the
+ 	operand of the VIEW_CONVERT_EXPR has reverse storage order.
+ 
+ 2025-05-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* doc/extend.texi (Common Variable Attributes): Fix typo in
+ 	description of nonstring.
+ 
+ 2025-05-25  Michael J. Eager  <eager@eagercon.com>
+ 
+ 	PR target/86772
+ 	Tracking CVE-2017-5753
+ 	* config/microblaze/microblaze.cc (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+ 	Define to speculation_save_value_not_needed
+ 
  2025-05-20  Martin Jambor  <mjambor@suse.cz>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/gcc/DATESTAMP gcc-15-20250531/gcc/DATESTAMP
*** gcc-15-20250524/gcc/DATESTAMP	Sat May 24 22:32:05 2025
--- gcc-15-20250531/gcc/DATESTAMP	Sat May 31 22:32:16 2025
***************
*** 1 ****
! 20250524
--- 1 ----
! 20250531
diff -Nrcpad gcc-15-20250524/gcc/c/ChangeLog gcc-15-20250531/gcc/c/ChangeLog
*** gcc-15-20250524/gcc/c/ChangeLog	Sat May 24 22:32:06 2025
--- gcc-15-20250531/gcc/c/ChangeLog	Sat May 31 22:32:17 2025
***************
*** 1,3 ****
--- 1,29 ----
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	* c-parser.cc (c_parser_skip_to_closing_brace): New, copied from
+ 	the equivalent function in the C++ front end.
+ 	(c_parser_skip_to_end_of_block_or_statement): Pass false to
+ 	the error flag.
+ 	(c_parser_omp_context_selector): Immediately return error_mark_node
+ 	after giving an error that the integer trait property is invalid,
+ 	similarly to C++ front end.
+ 	(c_parser_omp_context_selector_specification): Likewise handle
+ 	error return from c_parser_omp_context_selector similarly to C++.
+ 	(c_parser_omp_metadirective): Do not call
+ 	c_parser_skip_to_end_of_block_or_statement after an error.
+ 
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	PR c/120180
+ 	* c-parser.cc (c_parser_omp_metadirective): Only consume the
+ 	token if it is the expected close paren.
+ 
  2025-05-02  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/gcc/c/c-parser.cc gcc-15-20250531/gcc/c/c-parser.cc
*** gcc-15-20250524/gcc/c/c-parser.cc	Sat May 24 22:32:06 2025
--- gcc-15-20250531/gcc/c/c-parser.cc	Sat May 31 22:32:17 2025
*************** c_parser_skip_to_end_of_parameter (c_par
*** 1418,1423 ****
--- 1418,1468 ----
    parser->error = false;
  }
  
+ /* Skip tokens until a non-nested closing curly brace is the next
+    token, or there are no more tokens. Return true in the first case,
+    false otherwise.  */
+ 
+ static bool
+ c_parser_skip_to_closing_brace (c_parser *parser)
+ {
+   unsigned nesting_depth = 0;
+ 
+   while (true)
+     {
+       c_token *token = c_parser_peek_token (parser);
+ 
+       switch (token->type)
+ 	{
+ 	case CPP_PRAGMA_EOL:
+ 	  if (!parser->in_pragma)
+ 	    break;
+ 	  /* FALLTHRU */
+ 	case CPP_EOF:
+ 	  /* If we've run out of tokens, stop.  */
+ 	  return false;
+ 
+ 	case CPP_CLOSE_BRACE:
+ 	  /* If the next token is a non-nested `}', then we have reached
+ 	     the end of the current block.  */
+ 	  if (nesting_depth-- == 0)
+ 	    return true;
+ 	  break;
+ 
+ 	case CPP_OPEN_BRACE:
+ 	  /* If it the next token is a `{', then we are entering a new
+ 	     block.  Consume the entire block.  */
+ 	  ++nesting_depth;
+ 	  break;
+ 
+ 	default:
+ 	  break;
+ 	}
+ 
+       /* Consume the token.  */
+       c_parser_consume_token (parser);
+     }
+ }
+ 
  /* Expect to be at the end of the pragma directive and consume an
     end of line marker.  */
  
*************** c_parser_skip_to_end_of_block_or_stateme
*** 1533,1539 ****
  	     here for secondary error recovery, after parser->error has
  	     been cleared.  */
  	  c_parser_consume_pragma (parser);
! 	  c_parser_skip_to_pragma_eol (parser);
  	  parser->error = save_error;
  	  continue;
  
--- 1578,1584 ----
  	     here for secondary error recovery, after parser->error has
  	     been cleared.  */
  	  c_parser_consume_pragma (parser);
! 	  c_parser_skip_to_pragma_eol (parser, false);
  	  parser->error = save_error;
  	  continue;
  
*************** c_parser_omp_context_selector (c_parser
*** 26772,26790 ****
  	    case OMP_TRAIT_PROPERTY_DEV_NUM_EXPR:
  	    case OMP_TRAIT_PROPERTY_BOOL_EXPR:
  	      t = c_parser_expr_no_commas (parser, NULL).value;
! 	      if (t != error_mark_node)
  		{
! 		  mark_exp_read (t);
! 		  t = c_fully_fold (t, false, NULL);
! 		  if (!INTEGRAL_TYPE_P (TREE_TYPE (t)))
! 		    error_at (token->location,
! 			      "property must be integer expression");
! 		  else
! 		    properties = make_trait_property (NULL_TREE, t,
! 						      properties);
  		}
! 	      else
! 		return error_mark_node;
  	      break;
  	    case OMP_TRAIT_PROPERTY_CLAUSE_LIST:
  	      if (sel == OMP_TRAIT_CONSTRUCT_SIMD)
--- 26817,26833 ----
  	    case OMP_TRAIT_PROPERTY_DEV_NUM_EXPR:
  	    case OMP_TRAIT_PROPERTY_BOOL_EXPR:
  	      t = c_parser_expr_no_commas (parser, NULL).value;
! 	      if (t == error_mark_node)
! 		return error_mark_node;
! 	      mark_exp_read (t);
! 	      t = c_fully_fold (t, false, NULL);
! 	      if (!INTEGRAL_TYPE_P (TREE_TYPE (t)))
  		{
! 		  error_at (token->location,
! 			    "property must be integer expression");
! 		  return error_mark_node;
  		}
! 	      properties = make_trait_property (NULL_TREE, t, properties);
  	      break;
  	    case OMP_TRAIT_PROPERTY_CLAUSE_LIST:
  	      if (sel == OMP_TRAIT_CONSTRUCT_SIMD)
*************** c_parser_omp_context_selector_specificat
*** 26886,26896 ****
  
        tree selectors = c_parser_omp_context_selector (parser, set, parms);
        if (selectors == error_mark_node)
! 	ret = error_mark_node;
        else if (ret != error_mark_node)
  	ret = make_trait_set_selector (set, selectors, ret);
  
!       braces.skip_until_found_close (parser);
  
        if (c_parser_next_token_is (parser, CPP_COMMA))
  	c_parser_consume_token (parser);
--- 26929,26942 ----
  
        tree selectors = c_parser_omp_context_selector (parser, set, parms);
        if (selectors == error_mark_node)
! 	{
! 	  c_parser_skip_to_closing_brace (parser);
! 	  ret = error_mark_node;
! 	}
        else if (ret != error_mark_node)
  	ret = make_trait_set_selector (set, selectors, ret);
  
!       braces.require_close (parser);
  
        if (c_parser_next_token_is (parser, CPP_COMMA))
  	c_parser_consume_token (parser);
*************** c_parser_omp_metadirective (c_parser *pa
*** 29095,29101 ****
  	    {
  	      error_at (match_loc, "too many %<otherwise%> or %<default%> "
  			"clauses in %<metadirective%>");
- 	      c_parser_skip_to_end_of_block_or_statement (parser, true);
  	      goto error;
  	    }
  	  default_seen = true;
--- 29141,29146 ----
*************** c_parser_omp_metadirective (c_parser *pa
*** 29104,29117 ****
  	{
  	  error_at (match_loc, "%<otherwise%> or %<default%> clause "
  		    "must appear last in %<metadirective%>");
- 	  c_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto error;
  	}
        if (!default_p && strcmp (p, "when") != 0)
  	{
  	  error_at (match_loc, "%qs is not valid for %qs",
  		    p, "metadirective");
- 	  c_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto error;
  	}
  
--- 29149,29160 ----
*************** c_parser_omp_metadirective (c_parser *pa
*** 29179,29185 ****
        if (i == 0)
  	{
  	  error_at (loc, "expected directive name");
- 	  c_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto error;
  	}
  
--- 29222,29227 ----
*************** c_parser_omp_metadirective (c_parser *pa
*** 29247,29253 ****
  	      goto add;
  	    case CPP_CLOSE_PAREN:
  	      if (nesting_depth-- == 0)
! 		break;
  	      goto add;
  	    default:
  	    add:
--- 29289,29298 ----
  	      goto add;
  	    case CPP_CLOSE_PAREN:
  	      if (nesting_depth-- == 0)
! 		{
! 		  c_parser_consume_token (parser);
! 		  break;
! 		}
  	      goto add;
  	    default:
  	    add:
*************** c_parser_omp_metadirective (c_parser *pa
*** 29259,29266 ****
  	  break;
  	}
  
-       c_parser_consume_token (parser);
- 
        if (!skip)
  	{
  	  c_token eol_token;
--- 29304,29309 ----
*************** c_parser_omp_metadirective (c_parser *pa
*** 29387,29395 ****
    return;
  
  error:
    if (parser->in_pragma)
!     c_parser_skip_to_pragma_eol (parser);
!   c_parser_skip_to_end_of_block_or_statement (parser, true);
  }
  
  /* Main entry point to parsing most OpenMP pragmas.  */
--- 29430,29438 ----
    return;
  
  error:
+   /* Skip the metadirective pragma.  Do not skip the metadirective body.  */
    if (parser->in_pragma)
!     c_parser_skip_to_pragma_eol (parser, false);
  }
  
  /* Main entry point to parsing most OpenMP pragmas.  */
diff -Nrcpad gcc-15-20250524/gcc/config/aarch64/aarch64-cores.def gcc-15-20250531/gcc/config/aarch64/aarch64-cores.def
*** gcc-15-20250524/gcc/config/aarch64/aarch64-cores.def	Sat May 24 22:32:06 2025
--- gcc-15-20250531/gcc/config/aarch64/aarch64-cores.def	Sat May 31 22:32:17 2025
*************** AARCH64_CORE("octeontx2f95mm", octeontx2
*** 132,138 ****
  
  /* Fujitsu ('F') cores. */
  AARCH64_CORE("a64fx", a64fx, a64fx, V8_2A,  (F16, SVE), a64fx, 0x46, 0x001, -1)
! AARCH64_CORE("fujitsu-monaka", fujitsu_monaka, cortexa57, V9_3A, (F16, FP8, LS64, RNG, CRYPTO, SVE2_AES, SVE2_BITPERM, SVE2_SHA3, SVE2_SM4), fujitsu_monaka, 0x46, 0x003, -1)
  
  /* HiSilicon ('H') cores. */
  AARCH64_CORE("tsv110",  tsv110, tsv110, V8_2A,  (CRYPTO, F16), tsv110,   0x48, 0xd01, -1)
--- 132,138 ----
  
  /* Fujitsu ('F') cores. */
  AARCH64_CORE("a64fx", a64fx, a64fx, V8_2A,  (F16, SVE), a64fx, 0x46, 0x001, -1)
! AARCH64_CORE("fujitsu-monaka", fujitsu_monaka, cortexa57, V9_3A, (F16, FAMINMAX, FP8FMA, FP8DOT2, FP8DOT4, LS64, LUT, RNG, CRYPTO, SVE2_AES, SVE2_BITPERM, SVE2_SHA3, SVE2_SM4), fujitsu_monaka, 0x46, 0x003, -1)
  
  /* HiSilicon ('H') cores. */
  AARCH64_CORE("tsv110",  tsv110, tsv110, V8_2A,  (CRYPTO, F16), tsv110,   0x48, 0xd01, -1)
diff -Nrcpad gcc-15-20250524/gcc/config/microblaze/microblaze.cc gcc-15-20250531/gcc/config/microblaze/microblaze.cc
*** gcc-15-20250524/gcc/config/microblaze/microblaze.cc	Sat May 24 22:32:06 2025
--- gcc-15-20250531/gcc/config/microblaze/microblaze.cc	Sat May 31 22:32:18 2025
*************** section *sdata2_section;
*** 239,244 ****
--- 239,248 ----
  #define TARGET_HAVE_TLS true
  #endif
  
+ /* MicroBlaze does not do speculative execution.  */
+ #undef  TARGET_HAVE_SPECULATION_SAFE_VALUE
+ #define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
+ 
  /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant.  */
  static bool
  microblaze_const_double_ok (rtx op, machine_mode mode)
diff -Nrcpad gcc-15-20250524/gcc/cp/ChangeLog gcc-15-20250531/gcc/cp/ChangeLog
*** gcc-15-20250524/gcc/cp/ChangeLog	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/cp/ChangeLog	Sat May 31 22:32:18 2025
***************
*** 1,3 ****
--- 1,29 ----
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	* parser.cc (cp_parser_omp_metadirective): Do not call
+ 	cp_parser_skip_to_end_of_block_or_statement after an error.
+ 
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	PR c/120180
+ 	* parser.cc (cp_parser_omp_metadirective): Only consume the
+ 	token if it is the expected close paren.
+ 
+ 2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR c++/120413
+ 	* semantics.cc (finish_omp_target_clauses_r): Handle
+ 	BIND_EXPR with empty BIND_EXPR_BLOCK.
+ 
  2025-05-23  Nathaniel Shead  <nathanieloshead@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/gcc/cp/parser.cc gcc-15-20250531/gcc/cp/parser.cc
*** gcc-15-20250524/gcc/cp/parser.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/cp/parser.cc	Sat May 31 22:32:18 2025
*************** cp_parser_omp_metadirective (cp_parser *
*** 51409,51415 ****
  	    {
  	      error_at (match_loc, "too many %<otherwise%> or %<default%> "
  			"clauses in %<metadirective%>");
- 	      cp_parser_skip_to_end_of_block_or_statement (parser, true);
  	      goto fail;
  	    }
  	  else
--- 51409,51414 ----
*************** cp_parser_omp_metadirective (cp_parser *
*** 51419,51432 ****
  	{
  	  error_at (match_loc, "%<otherwise%> or %<default%> clause "
  		    "must appear last in %<metadirective%>");
- 	  cp_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto fail;
  	}
        if (!default_p && strcmp (p, "when") != 0)
  	{
  	  error_at (match_loc, "%qs is not valid for %qs",
  		    p, "metadirective");
- 	  cp_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto fail;
  	}
  
--- 51418,51429 ----
*************** cp_parser_omp_metadirective (cp_parser *
*** 51495,51501 ****
        if (i == 0)
  	{
  	  error_at (loc, "expected directive name");
- 	  cp_parser_skip_to_end_of_block_or_statement (parser, true);
  	  goto fail;
  	}
  
--- 51492,51497 ----
*************** cp_parser_omp_metadirective (cp_parser *
*** 51568,51574 ****
  	      goto add;
  	    case CPP_CLOSE_PAREN:
  	      if (nesting_depth-- == 0)
! 		break;
  	      goto add;
  	    default:
  	    add:
--- 51564,51573 ----
  	      goto add;
  	    case CPP_CLOSE_PAREN:
  	      if (nesting_depth-- == 0)
! 		{
! 		  cp_lexer_consume_token (parser->lexer);
! 		  break;
! 		}
  	      goto add;
  	    default:
  	    add:
*************** cp_parser_omp_metadirective (cp_parser *
*** 51580,51587 ****
  	  break;
  	}
  
-       cp_lexer_consume_token (parser->lexer);
- 
        if (!skip)
  	{
  	  cp_token eol_token = {};
--- 51579,51584 ----
*************** cp_parser_omp_metadirective (cp_parser *
*** 51713,51723 ****
    return;
  
  fail:
!   /* Skip the metadirective pragma.  */
    cp_parser_skip_to_pragma_eol (parser, pragma_tok);
- 
-   /* Skip the metadirective body.  */
-   cp_parser_skip_to_end_of_block_or_statement (parser, true);
  }
  
  
--- 51710,51717 ----
    return;
  
  fail:
!   /* Skip the metadirective pragma.  Do not skip the metadirective body.  */
    cp_parser_skip_to_pragma_eol (parser, pragma_tok);
  }
  
  
diff -Nrcpad gcc-15-20250524/gcc/cp/semantics.cc gcc-15-20250531/gcc/cp/semantics.cc
*** gcc-15-20250524/gcc/cp/semantics.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/cp/semantics.cc	Sat May 31 22:32:18 2025
*************** finish_omp_target_clauses_r (tree *tp, i
*** 10543,10552 ****
  
    if (TREE_CODE (t) == BIND_EXPR)
      {
!       tree block = BIND_EXPR_BLOCK (t);
!       for (tree var = BLOCK_VARS (block); var; var = DECL_CHAIN (var))
! 	if (!data->local_decls.contains (var))
! 	  data->local_decls.add (var);
        return NULL_TREE;
      }
  
--- 10543,10552 ----
  
    if (TREE_CODE (t) == BIND_EXPR)
      {
!       if (tree block = BIND_EXPR_BLOCK (t))
! 	for (tree var = BLOCK_VARS (block); var; var = DECL_CHAIN (var))
! 	  if (!data->local_decls.contains (var))
! 	    data->local_decls.add (var);
        return NULL_TREE;
      }
  
diff -Nrcpad gcc-15-20250524/gcc/doc/extend.texi gcc-15-20250531/gcc/doc/extend.texi
*** gcc-15-20250524/gcc/doc/extend.texi	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/doc/extend.texi	Sat May 31 22:32:18 2025
*************** truncate the copy without appending the
*** 7336,7342 ****
  Using the attribute makes it possible to suppress the warning.  However,
  when the array is declared with the attribute the call to @code{strlen} is
  diagnosed because when the array doesn't contain a @code{NUL}-terminated
! string the call is undefined.  To copy, compare, of search non-string
  character arrays use the @code{memcpy}, @code{memcmp}, @code{memchr},
  and other functions that operate on arrays of bytes.  In addition,
  calling @code{strnlen} and @code{strndup} with such arrays is safe
--- 7336,7342 ----
  Using the attribute makes it possible to suppress the warning.  However,
  when the array is declared with the attribute the call to @code{strlen} is
  diagnosed because when the array doesn't contain a @code{NUL}-terminated
! string the call is undefined.  To copy, compare, or search non-string
  character arrays use the @code{memcpy}, @code{memcmp}, @code{memchr},
  and other functions that operate on arrays of bytes.  In addition,
  calling @code{strnlen} and @code{strndup} with such arrays is safe
diff -Nrcpad gcc-15-20250524/gcc/fortran/check.cc gcc-15-20250531/gcc/fortran/check.cc
*** gcc-15-20250524/gcc/fortran/check.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/fortran/check.cc	Sat May 31 22:32:18 2025
*************** gfc_check_c_sizeof (gfc_expr *arg)
*** 5916,5964 ****
  }
  
  
! bool
! gfc_check_c_associated (gfc_expr *c_ptr_1, gfc_expr *c_ptr_2)
  {
!   if (c_ptr_1)
!     {
!       if (c_ptr_1->expr_type == EXPR_FUNCTION && c_ptr_1->ts.type == BT_VOID)
! 	return true;
  
!       if (c_ptr_1->ts.type != BT_DERIVED
! 	  || c_ptr_1->ts.u.derived->from_intmod != INTMOD_ISO_C_BINDING
! 	  || (c_ptr_1->ts.u.derived->intmod_sym_id != ISOCBINDING_PTR
! 	      && c_ptr_1->ts.u.derived->intmod_sym_id != ISOCBINDING_FUNPTR))
! 	{
! 	  gfc_error ("Argument C_PTR_1 at %L to C_ASSOCIATED shall have the "
! 		     "type TYPE(C_PTR) or TYPE(C_FUNPTR)", &c_ptr_1->where);
! 	  return false;
! 	}
!     }
  
!   if (!scalar_check (c_ptr_1, 0))
      return false;
  
!   if (c_ptr_2)
!     {
!       if (c_ptr_2->expr_type == EXPR_FUNCTION && c_ptr_2->ts.type == BT_VOID)
! 	return true;
  
!       if (c_ptr_2->ts.type != BT_DERIVED
! 	  || c_ptr_2->ts.u.derived->from_intmod != INTMOD_ISO_C_BINDING
! 	  || (c_ptr_1->ts.u.derived->intmod_sym_id
! 	      != c_ptr_2->ts.u.derived->intmod_sym_id))
  	{
! 	  gfc_error ("Argument C_PTR_2 at %L to C_ASSOCIATED shall have the "
! 		   "same type as C_PTR_1: %s instead of %s", &c_ptr_1->where,
! 		   gfc_typename (&c_ptr_1->ts), gfc_typename (&c_ptr_2->ts));
! 	  return false;
  	}
!     }
  
!   if (c_ptr_2 && !scalar_check (c_ptr_2, 1))
      return false;
  
!   return true;
  }
  
  
--- 5916,6025 ----
  }
  
  
! /* Helper functions check_c_ptr_1 and check_c_ptr_2
!    used in gfc_check_c_associated.  */
! 
! static inline
! bool check_c_ptr_1 (gfc_expr *c_ptr_1)
  {
!   if ((c_ptr_1->ts.type == BT_VOID)
!       && (c_ptr_1->expr_type == EXPR_FUNCTION))
!     return true;
  
!   if (c_ptr_1->ts.type != BT_DERIVED
!       || c_ptr_1->ts.u.derived->from_intmod != INTMOD_ISO_C_BINDING
!       || (c_ptr_1->ts.u.derived->intmod_sym_id != ISOCBINDING_PTR
! 	  && c_ptr_1->ts.u.derived->intmod_sym_id != ISOCBINDING_FUNPTR))
! 	goto check_1_error;
  
!   if ((c_ptr_1->ts.type == BT_DERIVED)
!        && (c_ptr_1->expr_type == EXPR_STRUCTURE)
!        && (c_ptr_1->ts.u.derived->intmod_sym_id
! 	   == ISOCBINDING_NULL_FUNPTR))
!     goto check_1_error;
! 
!   if (scalar_check (c_ptr_1, 0))
!     return true;
!   else
!     /*  Return since the check_1_error message may not apply here. */
      return false;
  
! check_1_error:
  
!   gfc_error ("Argument C_PTR_1 at %L to C_ASSOCIATED shall have the "
! 	     "type TYPE(C_PTR) or TYPE(C_FUNPTR)", &c_ptr_1->where);
!   return false;
! }
! 
! static inline
! bool check_c_ptr_2 (gfc_expr *c_ptr_1, gfc_expr *c_ptr_2)
! {
!   switch (c_ptr_2->ts.type)
!   {
!     case BT_VOID:
!       if (c_ptr_2->expr_type == EXPR_FUNCTION)
  	{
! 	  if ((c_ptr_1->ts.type == BT_DERIVED)
! 	       && c_ptr_1->expr_type == EXPR_STRUCTURE
! 	       && (c_ptr_1->ts.u.derived->intmod_sym_id
! 		  == ISOCBINDING_FUNPTR))
! 	    goto check_2_error;
  	}
!       break;
  
!     case BT_DERIVED:
!       if ((c_ptr_2->expr_type == EXPR_STRUCTURE)
! 	   && (c_ptr_2->ts.u.derived->intmod_sym_id == ISOCBINDING_PTR)
! 	   && (c_ptr_1->ts.type == BT_VOID)
! 	   && (c_ptr_1->expr_type == EXPR_FUNCTION))
! 	return scalar_check (c_ptr_2, 1);
! 
!       if ((c_ptr_2->expr_type == EXPR_STRUCTURE)
! 	   && (c_ptr_1->ts.type == BT_VOID)
! 	   && (c_ptr_1->expr_type == EXPR_FUNCTION))
! 	goto check_2_error;
! 
!       if (c_ptr_2->ts.u.derived->from_intmod != INTMOD_ISO_C_BINDING)
! 	goto check_2_error;
! 
!       if (c_ptr_1->ts.type == BT_DERIVED
! 	  && (c_ptr_1->ts.u.derived->intmod_sym_id
! 	      != c_ptr_2->ts.u.derived->intmod_sym_id))
! 	goto check_2_error;
!       break;
! 
!     default:
!       goto check_2_error;
!   }
! 
!   if (scalar_check (c_ptr_2, 1))
!     return true;
!   else
!     /*  Return since the check_2_error message may not apply here. */
      return false;
  
! check_2_error:
! 
!   gfc_error ("Argument C_PTR_2 at %L to C_ASSOCIATED shall have the "
! 	     "same type as C_PTR_1, found %s instead of %s", &c_ptr_2->where,
! 	     gfc_typename (&c_ptr_2->ts), gfc_typename (&c_ptr_1->ts));
! 
!   return false;
!  }
! 
! 
! bool
! gfc_check_c_associated (gfc_expr *c_ptr_1, gfc_expr *c_ptr_2)
! {
!   if (c_ptr_2)
!     {
!       if (check_c_ptr_2 (c_ptr_1, c_ptr_2))
! 	return check_c_ptr_1 (c_ptr_1);
!       else
! 	return false;
!     }
!   else
!     return check_c_ptr_1 (c_ptr_1);
  }
  
  
diff -Nrcpad gcc-15-20250524/gcc/fortran/interface.cc gcc-15-20250531/gcc/fortran/interface.cc
*** gcc-15-20250524/gcc/fortran/interface.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/fortran/interface.cc	Sat May 31 22:32:18 2025
*************** compare_parameter (gfc_symbol *formal, g
*** 2547,2553 ****
  			}
  		      else if (formal->attr.function)
  			{
! 			  if (!gfc_compare_types (&global_asym->ts,
  						  &formal->ts))
  			    {
  			      gfc_error ("Type mismatch at %L passing global "
--- 2547,2560 ----
  			}
  		      else if (formal->attr.function)
  			{
! 			  gfc_typespec ts;
! 
! 			  if (global_asym->result)
! 			    ts = global_asym->result->ts;
! 			  else
! 			    ts = global_asym->ts;
! 
! 			  if (!gfc_compare_types (&ts,
  						  &formal->ts))
  			    {
  			      gfc_error ("Type mismatch at %L passing global "
diff -Nrcpad gcc-15-20250524/gcc/fortran/misc.cc gcc-15-20250531/gcc/fortran/misc.cc
*** gcc-15-20250524/gcc/fortran/misc.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/fortran/misc.cc	Sat May 31 22:32:18 2025
*************** gfc_typename (gfc_typespec *ts, bool for
*** 214,219 ****
--- 214,222 ----
      case BT_UNKNOWN:
        strcpy (buffer, "UNKNOWN");
        break;
+     case BT_VOID:
+       strcpy (buffer, "VOID");
+       break;
      default:
        gfc_internal_error ("gfc_typename(): Undefined type");
      }
diff -Nrcpad gcc-15-20250524/gcc/ipa-sra.cc gcc-15-20250531/gcc/ipa-sra.cc
*** gcc-15-20250524/gcc/ipa-sra.cc	Sat May 24 22:32:07 2025
--- gcc-15-20250531/gcc/ipa-sra.cc	Sat May 31 22:32:19 2025
*************** scan_expr_access (tree expr, gimple *stm
*** 1848,1853 ****
--- 1848,1859 ----
    if (!desc || !desc->split_candidate)
      return;
  
+   if (storage_order_barrier_p (expr))
+     {
+       disqualify_split_candidate (desc, "Encountered a storage order barrier.");
+       return;
+     }
+ 
    if (!poffset.is_constant (&offset)
        || !psize.is_constant (&size)
        || !pmax_size.is_constant (&max_size))
diff -Nrcpad gcc-15-20250524/gcc/testsuite/ChangeLog gcc-15-20250531/gcc/testsuite/ChangeLog
*** gcc-15-20250524/gcc/testsuite/ChangeLog	Sat May 24 22:32:08 2025
--- gcc-15-20250531/gcc/testsuite/ChangeLog	Sat May 31 22:32:20 2025
***************
*** 1,3 ****
--- 1,54 ----
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	* c-c++-common/gomp/declare-variant-2.c: Adjust patterns now that
+ 	C and C++ now behave similarly.
+ 	* c-c++-common/gomp/metadirective-error-recovery.c: New.
+ 
+ 2025-05-30  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
+ 
+ 	PR c/120180
+ 	* c-c++-common/gomp/pr120180.c: New.
+ 
+ 2025-05-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/120480
+ 	* gcc.dg/pr120480.c: New test.
+ 
+ 2025-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/sso19.adb: New test.
+ 	* gnat.dg/sso19_pkg.ads, gnat.dg/sso19_pkg.adb: New helper.
+ 
+ 2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR middle-end/118694
+ 	* c-c++-common/gomp/attrs-metadirective-3.c: Change to never
+ 	expect 'omp metadirective' in the dump. If !offload_nvptx, check
+ 	that no 'teams' shows up in the dump; for offload_nvptx, expect
+ 	OMP_NEXT_VARIANT and an error about directive between 'target'
+ 	and 'teams'.
+ 	* c-c++-common/gomp/metadirective-3.c: Likewise.
+ 
+ 2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR c++/120413
+ 	* g++.dg/gomp/target-4.C: New test.
+ 
  2025-05-23  Nathaniel Shead  <nathanieloshead@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c
*** gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c	Sat May 24 22:32:08 2025
--- gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/attrs-metadirective-3.c	Sat May 31 22:32:21 2025
*************** f (int x[], int y[], int z[])
*** 9,15 ****
  {
    int i;
  
!   [[omp::sequence (directive (target map(to: x, y) map(from: z)),
  		   directive (metadirective
  			      when (device={arch("nvptx")}: teams loop)
  			      default (parallel loop)))]]
--- 9,15 ----
  {
    int i;
  
!   [[omp::sequence (directive (target map(to: x, y) map(from: z)),  /* { dg-bogus "'target' construct with nested 'teams' construct contains directives outside of the 'teams' construct" "PR118694" { xfail offload_nvptx } }  */ 
  		   directive (metadirective
  			      when (device={arch("nvptx")}: teams loop)
  			      default (parallel loop)))]]
*************** f (int x[], int y[], int z[])
*** 20,24 ****
  /* If offload device "nvptx" isn't supported, the front end can eliminate
     that alternative and not produce a metadirective at all.  Otherwise this
     won't be resolved until late.  */
! /* { dg-final { scan-tree-dump-not "#pragma omp metadirective" "gimple" { target { ! offload_nvptx } } } } */
! /* { dg-final { scan-tree-dump "#pragma omp metadirective" "gimple" { target { offload_nvptx } } } } */
--- 20,25 ----
  /* If offload device "nvptx" isn't supported, the front end can eliminate
     that alternative and not produce a metadirective at all.  Otherwise this
     won't be resolved until late.  */
! /* { dg-final { scan-tree-dump-not "#pragma omp metadirective" "gimple" } } */
! /* { dg-final { scan-tree-dump-not " teams" "gimple" { target { ! offload_nvptx } } } } */
! /* { dg-final { scan-tree-dump "variant.\[0-9\]+ = \\\[omp_next_variant\\\] OMP_NEXT_VARIANT <0,\[\r\n \]+construct context = 14\[\r\n \]+1: device = \\{arch \\(.nvptx.\\)\\}\[\r\n \]+2: >;" "gimple" { target { offload_nvptx } } } } */
diff -Nrcpad gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/declare-variant-2.c gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/declare-variant-2.c
*** gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/declare-variant-2.c	Sat May 24 22:32:08 2025
--- gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/declare-variant-2.c	Sat May 31 22:32:21 2025
*************** void f23 (void);
*** 47,56 ****
  #pragma omp declare variant (f1) match(construct={teams,parallel,master,for})	/* { dg-warning "unknown selector 'master' for context selector set 'construct'" } */
  void f24 (void);
  #pragma omp declare variant (f1) match(construct={parallel(1	/* { dg-error "selector 'parallel' does not accept any properties" } */
! void f25 (void);						/* { dg-error "expected '\\\}' before end of line" "" { target c++ } .-1 } */
! 								/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-2 } */
  #pragma omp declare variant (f1) match(construct={parallel(1)})	/* { dg-error "selector 'parallel' does not accept any properties" } */
! void f26 (void);							/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-1 } */
  #pragma omp declare variant (f0) match(construct={simd(12)})	/* { dg-error "expected \[^\n\r]* clause before" } */
  void f27 (void);						/* { dg-error "'\\)' before numeric constant" "" { target c++ } .-1 } */
  #pragma omp declare variant (f1) match(construct={parallel},construct={for})	/* { dg-error "selector set 'construct' specified more than once" } */
--- 47,55 ----
  #pragma omp declare variant (f1) match(construct={teams,parallel,master,for})	/* { dg-warning "unknown selector 'master' for context selector set 'construct'" } */
  void f24 (void);
  #pragma omp declare variant (f1) match(construct={parallel(1	/* { dg-error "selector 'parallel' does not accept any properties" } */
! void f25 (void);						/* { dg-error "expected '\\\}' before end of line" "" { target *-*-* } .-1 } */
  #pragma omp declare variant (f1) match(construct={parallel(1)})	/* { dg-error "selector 'parallel' does not accept any properties" } */
! void f26 (void);
  #pragma omp declare variant (f0) match(construct={simd(12)})	/* { dg-error "expected \[^\n\r]* clause before" } */
  void f27 (void);						/* { dg-error "'\\)' before numeric constant" "" { target c++ } .-1 } */
  #pragma omp declare variant (f1) match(construct={parallel},construct={for})	/* { dg-error "selector set 'construct' specified more than once" } */
*************** void f46 (void);
*** 96,108 ****
  #pragma omp declare variant (f1) match(implementation={vendor("foobar")})	/* { dg-warning "unknown property '.foobar.' of 'vendor' selector" } */
  void f47 (void);
  #pragma omp declare variant (f1) match(implementation={unified_address(yes)})	/* { dg-error "selector 'unified_address' does not accept any properties" } */
! void f48 (void);								/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-1 } */
  #pragma omp declare variant (f1) match(implementation={unified_shared_memory(no)})	/* { dg-error "selector 'unified_shared_memory' does not accept any properties" } */
! void f49 (void);									/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-1 } */
  #pragma omp declare variant (f1) match(implementation={dynamic_allocators(42)})	/* { dg-error "selector 'dynamic_allocators' does not accept any properties" } */
! void f50 (void);								/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-1 } */
  #pragma omp declare variant (f1) match(implementation={reverse_offload()})	/* { dg-error "selector 'reverse_offload' does not accept any properties" } */
! void f51 (void);								/* { dg-error "expected '\\\}' before '\\(' token" "" { target c } .-1 } */
  #pragma omp declare variant (f1) match(implementation={atomic_default_mem_order})	/* { dg-error "expected '\\(' before '\\\}' token" } */
  void f52 (void);
  #pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(acquire)})
--- 95,107 ----
  #pragma omp declare variant (f1) match(implementation={vendor("foobar")})	/* { dg-warning "unknown property '.foobar.' of 'vendor' selector" } */
  void f47 (void);
  #pragma omp declare variant (f1) match(implementation={unified_address(yes)})	/* { dg-error "selector 'unified_address' does not accept any properties" } */
! void f48 (void);
  #pragma omp declare variant (f1) match(implementation={unified_shared_memory(no)})	/* { dg-error "selector 'unified_shared_memory' does not accept any properties" } */
! void f49 (void);
  #pragma omp declare variant (f1) match(implementation={dynamic_allocators(42)})	/* { dg-error "selector 'dynamic_allocators' does not accept any properties" } */
! void f50 (void);
  #pragma omp declare variant (f1) match(implementation={reverse_offload()})	/* { dg-error "selector 'reverse_offload' does not accept any properties" } */
! void f51 (void);
  #pragma omp declare variant (f1) match(implementation={atomic_default_mem_order})	/* { dg-error "expected '\\(' before '\\\}' token" } */
  void f52 (void);
  #pragma omp declare variant (f1) match(implementation={atomic_default_mem_order(acquire)})
diff -Nrcpad gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/metadirective-3.c gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/metadirective-3.c
*** gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/metadirective-3.c	Sat May 24 22:32:08 2025
--- gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/metadirective-3.c	Sat May 31 22:32:21 2025
*************** f (int x[], int y[], int z[])
*** 8,14 ****
  {
    int i;
  
!   #pragma omp target map(to: x, y) map(from: z)
      #pragma omp metadirective \
  	when (device={arch("nvptx")}: teams loop) \
  	default (parallel loop)
--- 8,14 ----
  {
    int i;
  
!   #pragma omp target map(to: x, y) map(from: z)  /* { dg-bogus "'target' construct with nested 'teams' construct contains directives outside of the 'teams' construct" "PR118694" { xfail offload_nvptx } }  */ 
      #pragma omp metadirective \
  	when (device={arch("nvptx")}: teams loop) \
  	default (parallel loop)
*************** f (int x[], int y[], int z[])
*** 19,23 ****
  /* If offload device "nvptx" isn't supported, the front end can eliminate
     that alternative and not produce a metadirective at all.  Otherwise this
     won't be resolved until late.  */
! /* { dg-final { scan-tree-dump-not "#pragma omp metadirective" "gimple" { target { ! offload_nvptx } } } } */
! /* { dg-final { scan-tree-dump "#pragma omp metadirective" "gimple" { target { offload_nvptx } } } } */
--- 19,24 ----
  /* If offload device "nvptx" isn't supported, the front end can eliminate
     that alternative and not produce a metadirective at all.  Otherwise this
     won't be resolved until late.  */
! /* { dg-final { scan-tree-dump-not "#pragma omp metadirective" "gimple" } } */
! /* { dg-final { scan-tree-dump-not " teams" "gimple" { target { ! offload_nvptx } } } } */
! /* { dg-final { scan-tree-dump "variant.\[0-9\]+ = \\\[omp_next_variant\\\] OMP_NEXT_VARIANT <0,\[\r\n \]+construct context = 14\[\r\n \]+1: device = \\{arch \\(.nvptx.\\)\\}\[\r\n \]+2: >;" "gimple" { target { offload_nvptx } } } } */
diff -Nrcpad gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/metadirective-error-recovery.c gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/metadirective-error-recovery.c
*** gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/metadirective-error-recovery.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/metadirective-error-recovery.c	Sat May 31 22:32:21 2025
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ 
+ /* This test used to ICE in C and only diagnose the first error in C++.  */
+ 
+ struct s {
+   int a, b;
+ };
+ 
+ void f (int aa, int bb)
+ {
+   struct s s1, s2;
+   s1.a = aa;
+   s1.b = bb;
+   s2.a = aa + 1;
+   s2.b = bb + 1;
+ 
+   /* A struct is not a valid argument for the condition selector.  */
+   #pragma omp metadirective when(user={condition(s1)} : nothing) otherwise(nothing)  /* { dg-error "property must be integer expression" } */
+   #pragma omp metadirective when(user={condition(s2)} : nothing) otherwise(nothing)  /* { dg-error "property must be integer expression" } */
+ }
diff -Nrcpad gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/pr120180.c gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/pr120180.c
*** gcc-15-20250524/gcc/testsuite/c-c++-common/gomp/pr120180.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/c-c++-common/gomp/pr120180.c	Sat May 31 22:32:21 2025
***************
*** 0 ****
--- 1,22 ----
+ /* { dg-do compile } */
+ 
+ /* This test used to ICE after erroring on the metadirective in the
+    loop nest.  */
+ 
+ int main()
+ {
+   int blksize = 15000;
+   double *qq;
+   int i, k, nq;
+ 
+   #pragma omp metadirective when(user={condition(0)}: target teams distribute parallel for collapse(2) map(qq[:0]) private(i)) \
+                             when(user={condition(0)}: target teams distribute parallel for map(qq[:0]) private(i)) \
+                             when(user={condition(1)}: target teams loop collapse(2) map(qq[:0]) private(i))
+   for(k=0; k<blksize; k++)
+     {
+ #pragma omp metadirective when(user={condition(0)}: simd) default() // { dg-error "intervening code must not contain OpenMP directives" }
+       for (i=0; i<nq; i++)
+         qq[k*nq + i] = 0.0;
+     }
+   return 0;
+ }
diff -Nrcpad gcc-15-20250524/gcc/testsuite/g++.dg/gomp/target-4.C gcc-15-20250531/gcc/testsuite/g++.dg/gomp/target-4.C
*** gcc-15-20250524/gcc/testsuite/g++.dg/gomp/target-4.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/g++.dg/gomp/target-4.C	Sat May 31 22:32:33 2025
***************
*** 0 ****
--- 1,22 ----
+ // { dg-do compile { target c++11 } }
+ // PR c++/120413
+ 
+ struct S
+ {
+   S() {}
+   ~S() {}
+ };
+ 
+ struct array
+ {
+   S _arr[1];
+ };
+ 
+ int main()
+ {
+ #pragma omp target
+   {
+     array arr{};
+   }
+   return 0;
+ }
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gcc.dg/pr120480.c gcc-15-20250531/gcc/testsuite/gcc.dg/pr120480.c
*** gcc-15-20250524/gcc/testsuite/gcc.dg/pr120480.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gcc.dg/pr120480.c	Sat May 31 22:32:58 2025
***************
*** 0 ****
--- 1,11 ----
+ /* PR target/120480 */
+ /* { dg-do compile } */
+ /* { dg-options "-O0" } */
+ 
+ struct S { int a, b, c; } s;
+ 
+ void
+ foo (void)
+ {
+   struct S t = s;
+ }
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90 gcc-15-20250531/gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90
*** gcc-15-20250524/gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90	Sat May 24 22:32:22 2025
--- gcc-15-20250531/gcc/testsuite/gfortran.dg/c_f_pointer_tests_6.f90	Sat May 31 22:33:43 2025
*************** contains
*** 38,43 ****
      type(my_c_ptr_0) :: my_ptr2
      type(c_funptr) :: myfun
      print *,c_associated(my_ptr,my_ptr2)
!     print *,c_associated(my_ptr,myfun) ! { dg-error "Argument C_PTR_2 at .1. to C_ASSOCIATED shall have the same type as C_PTR_1: TYPE.c_ptr. instead of TYPE.c_funptr." }
    end subroutine
  end
--- 38,43 ----
      type(my_c_ptr_0) :: my_ptr2
      type(c_funptr) :: myfun
      print *,c_associated(my_ptr,my_ptr2)
!     print *,c_associated(my_ptr,myfun) ! { dg-error "Argument C_PTR_2 at .1. to C_ASSOCIATED shall have the same type as C_PTR_1, found TYPE.c_funptr. instead of TYPE.c_ptr." }
    end subroutine
  end
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gfortran.dg/interface_62.f90 gcc-15-20250531/gcc/testsuite/gfortran.dg/interface_62.f90
*** gcc-15-20250524/gcc/testsuite/gfortran.dg/interface_62.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gfortran.dg/interface_62.f90	Sat May 31 22:33:47 2025
***************
*** 0 ****
--- 1,39 ----
+ ! { dg-do compile }
+ ! PR fortran/120355 - this was rejected because the typespec from
+ ! the RESULT clause was not picked up.
+ ! Test case jsberg@bnl.gov.
+ 
+ program p
+   implicit none
+   integer :: i,j
+   interface
+      function s(x) result(y)
+        implicit none
+        integer, intent(in) :: x
+        integer :: y
+      end function s
+   end interface
+   i = 0
+   call t(s,i,j)
+ contains
+   subroutine t(f,x,y)
+     implicit none
+     integer, intent(in) :: x
+     integer, intent(out) :: y
+     interface
+        function f(x) result(y)
+          implicit none
+          integer, intent(in) :: x
+          integer :: y
+        end function f
+     end interface
+     y = f(x)
+   end subroutine t
+ end program p
+ 
+ function s(x) result(y)
+   implicit none
+   integer, intent(in) :: x
+   integer :: y
+   y = 1 - x
+ end function s
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_2.f90 gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_2.f90
*** gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_2.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_2.f90	Sat May 31 22:33:48 2025
***************
*** 0 ****
--- 1,62 ----
+ ! Compiled with pr120049_b.f90
+ ! { dg-options -O0 }
+ ! { dg-do compile }
+ ! { dg-compile-aux-modules "pr120049_b.f90" }
+ !
+ ! Test the fix for PR120049
+ program tests_gtk_sup
+   use gtk_sup
+   implicit none
+   
+   type mytype
+     integer :: myint
+   end type mytype
+   type(mytype) :: ijkl = mytype(42)
+   logical :: truth
+   real :: var1
+   type(c_ptr), target :: val
+   type(c_funptr), target :: fptr
+   character(15) :: stringy
+   complex :: certainly
+   truth = .true.
+   var1 = 86.
+   stringy = "what the hay!"
+   certainly = (3.14,-4.13)
+   if (c_associated(val, c_loc(val))) then
+     stop 1
+   endif
+   if (c_associated(c_loc(val), val)) then
+     stop 2
+   endif
+   print *, c_associated(fptr, C_NULL_FUNPTR)
+   print *, c_associated(c_loc(val), C_NULL_PTR)
+   print *, c_associated(C_NULL_PTR, c_loc(val)) 
+   print *, c_associated(c_loc(val), 42) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), .42) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), truth) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), .false.) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), var1) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), stringy) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), certainly) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(42) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(.42) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(truth) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(.false.) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(var1) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(stringy) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(certainly) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(.42) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(val, testit(val)) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(testit(val), val) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(testit(val)) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(c_loc(val), C_NULL_FUNPTR) ! { dg-error "C_ASSOCIATED shall have the" }
+   print *, c_associated(C_NULL_FUNPTR, c_loc(val)) ! { dg-error "C_ASSOCIATED shall have the" }
+ contains
+ 
+   function testit (avalue) result(res)
+     type(c_ptr) :: avalue
+     type(mytype) :: res
+     res%myint = 42
+   end function
+ 
+ end program tests_gtk_sup
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_a.f90 gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_a.f90
*** gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_a.f90	Sat May 24 22:32:22 2025
--- gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_a.f90	Sat May 31 22:33:48 2025
***************
*** 1,5 ****
! ! { dg-do preprocess }
! ! { dg-additional-options "-cpp" }
  !
  ! Test the fix for PR86248
  program tests_gtk_sup
--- 1,8 ----
! ! Compiled with pr120049_b.f90
! ! { dg-options -O0 }
! ! { dg-do run }
! ! { dg-compile-aux-modules "pr120049_b.f90" }
! ! { dg-additional-sources pr120049_b.f90 }
  !
  ! Test the fix for PR86248
  program tests_gtk_sup
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_b.f90 gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_b.f90
*** gcc-15-20250524/gcc/testsuite/gfortran.dg/pr120049_b.f90	Sat May 24 22:32:22 2025
--- gcc-15-20250531/gcc/testsuite/gfortran.dg/pr120049_b.f90	Sat May 31 22:33:48 2025
***************
*** 1,5 ****
- ! { dg-do  run }
- ! { dg-additional-sources pr120049_a.f90 }
  !
  ! Module for pr120049.f90
  !
--- 1,3 ----
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gnat.dg/sso19.adb gcc-15-20250531/gcc/testsuite/gnat.dg/sso19.adb
*** gcc-15-20250524/gcc/testsuite/gnat.dg/sso19.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gnat.dg/sso19.adb	Sat May 31 22:33:54 2025
***************
*** 0 ****
--- 1,13 ----
+ --  { dg-do run }
+ --  { dg-options "-O2" }
+ 
+ with SSO19_Pkg; use SSO19_Pkg;
+ 
+ procedure SSO19 is
+   R : constant Rec := (D => (I => 8, F => 4.6095713E-41));
+ 
+ begin
+   if not Is_Valid (R) then
+     raise Program_Error;
+   end if;
+ end;
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gnat.dg/sso19_pkg.adb gcc-15-20250531/gcc/testsuite/gnat.dg/sso19_pkg.adb
*** gcc-15-20250524/gcc/testsuite/gnat.dg/sso19_pkg.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gnat.dg/sso19_pkg.adb	Sat May 31 22:33:54 2025
***************
*** 0 ****
--- 1,13 ----
+ package body SSO19_Pkg is
+ 
+   function Is_Valid_Private (Item : Data) return Boolean is
+   begin
+     return Item.I'Valid and Item.F'Valid;
+   end Is_Valid_Private;
+ 
+   function Is_Valid (Item : Rec) return Boolean is
+   begin
+     return Is_Valid_Private (Item.D);
+   end Is_Valid;
+ 
+ end SSO19_Pkg;
diff -Nrcpad gcc-15-20250524/gcc/testsuite/gnat.dg/sso19_pkg.ads gcc-15-20250531/gcc/testsuite/gnat.dg/sso19_pkg.ads
*** gcc-15-20250524/gcc/testsuite/gnat.dg/sso19_pkg.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20250531/gcc/testsuite/gnat.dg/sso19_pkg.ads	Sat May 31 22:33:54 2025
***************
*** 0 ****
--- 1,24 ----
+ with System;
+ 
+ package SSO19_Pkg is
+ 
+   subtype Small_Int is Short_Integer range -1000 .. 1000;
+ 
+   type Data is record
+     I : Small_Int;
+     F : Float;
+   end record;
+   for Data use record
+     I at 0 range 0 .. 15;
+     F at 4 range 0 .. 31;
+   end record;
+   for Data'Bit_Order use System.High_Order_First;
+   for Data'Scalar_Storage_Order use System.High_Order_First;
+ 
+   type Rec is record
+     D : Data;
+   end record;
+ 
+   function Is_Valid (Item : Rec) return Boolean;
+ 
+ end SSO19_Pkg;
diff -Nrcpad gcc-15-20250524/gcc/tree.h gcc-15-20250531/gcc/tree.h
*** gcc-15-20250524/gcc/tree.h	Sat May 24 22:32:24 2025
--- gcc-15-20250531/gcc/tree.h	Sat May 31 22:33:58 2025
*************** storage_order_barrier_p (const_tree t)
*** 5499,5505 ****
        && TYPE_REVERSE_STORAGE_ORDER (TREE_TYPE (op)))
      return true;
  
!   return false;
  }
  
  /* Given a DECL or TYPE, return the scope in which it was declared, or
--- 5499,5505 ----
        && TYPE_REVERSE_STORAGE_ORDER (TREE_TYPE (op)))
      return true;
  
!   return reverse_storage_order_for_component_p (op);
  }
  
  /* Given a DECL or TYPE, return the scope in which it was declared, or
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/ChangeLog gcc-15-20250531/libgcc/config/avr/libf7/ChangeLog
*** gcc-15-20250524/libgcc/config/avr/libf7/ChangeLog	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/ChangeLog	Sat May 31 22:34:00 2025
***************
*** 1,3 ****
--- 1,24 ----
+ 2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/120442
+ 	* libf7-common.mk (LIBF_C_PARTS, m_ddd): Add fdim.
+ 	* libf7.h (f7_fdim): New proto.
+ 	* libf7.c (f7_fdim): New function.
+ 	* f7renames.sh (f7_fdim): Add rename.
+ 	* f7-wraps.h: Rebuild
+ 	* f7-renames.h: Rebuild
+ 
+ 2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2025-05-27  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/120441
+ 	* libf7.c (f7_exp): Limit aa->expo to 10 (not to 9).
+ 
  2025-04-25  Release Manager
  
  	* GCC 15.1.0 released.
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/f7-renames.h gcc-15-20250531/libgcc/config/avr/libf7/f7-renames.h
*** gcc-15-20250524/libgcc/config/avr/libf7/f7-renames.h	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/f7-renames.h	Sat May 31 22:34:00 2025
***************
*** 97,102 ****
--- 97,103 ----
  #define f7_acos __f7_acos
  #define f7_atan __f7_atan
  #define f7_atan2 __f7_atan2
+ #define f7_fdim __f7_fdim
  #define f7_mul_noround __f7_mul_noround
  #define f7_sqrt16_round __f7_sqrt16_round
  #define f7_sqrt16_floor __f7_sqrt16_floor
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/f7-wraps.h gcc-15-20250531/libgcc/config/avr/libf7/f7-wraps.h
*** gcc-15-20250524/libgcc/config/avr/libf7/f7-wraps.h	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/f7-wraps.h	Sat May 31 22:34:00 2025
*************** _ENDF __extendsfdf2
*** 239,245 ****
  
  ;; Functions that usually live in libm:  Depending on [long] double layout,
  ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
! ;; pow fmin fmax fmod hypot atan2
  
  ;; double __pow (double, double)
  #ifdef F7MOD_D_pow_
--- 239,245 ----
  
  ;; Functions that usually live in libm:  Depending on [long] double layout,
  ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
! ;; pow fmin fmax fmod hypot atan2 fdim
  
  ;; double __pow (double, double)
  #ifdef F7MOD_D_pow_
*************** _DEFUN __atan2
*** 313,318 ****
--- 313,330 ----
  _ENDF __atan2
  #endif /* F7MOD_D_atan2_ */
  
+ ;; double __fdim (double, double)
+ #ifdef F7MOD_D_fdim_
+ _DEFUN __fdim
+     DALIAS fdim
+     LALIAS fdiml
+     .global F7_NAME(fdim)
+     ldi     ZH,     hi8(gs(F7_NAME(fdim)))
+     ldi     ZL,     lo8(gs(F7_NAME(fdim)))
+     F7jmp   call_ddd
+ _ENDF __fdim
+ #endif /* F7MOD_D_fdim_ */
+ 
  ;; Functions that usually live in libm:  Depending on [long] double layout,
  ;; define <name> and <name>l as weak alias(es) of __<name> for <name> in:
  ;; ldexp frexp
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/f7renames.sh gcc-15-20250531/libgcc/config/avr/libf7/f7renames.sh
*** gcc-15-20250524/libgcc/config/avr/libf7/f7renames.sh	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/f7renames.sh	Sat May 31 22:34:00 2025
*************** EOF
*** 35,43 ****
  
      c)
          if [ x${PRE} != xf7_ ]; then
!             echo " "
              echo "/* Renames for libf7.c, libf7.h.  */"
!             echo " "
              for x in $*; do
                  echo "#define f7_$x ${PRE}$x"
              done
--- 35,43 ----
  
      c)
          if [ x${PRE} != xf7_ ]; then
!             echo ""
              echo "/* Renames for libf7.c, libf7.h.  */"
!             echo ""
              for x in $*; do
                  echo "#define f7_$x ${PRE}$x"
              done
*************** EOF
*** 46,54 ****
  
      cst)
          if [ x${PRE} != xf7_ ]; then
!             echo " "
              echo "/* Renames for libf7.c, libf7.h.  */"
!             echo " "
              for x in $*; do
                  echo "#define f7_const_${x}   ${PRE}const_${x}"
                  echo "#define f7_const_${x}_P ${PRE}const_${x}_P"
--- 46,54 ----
  
      cst)
          if [ x${PRE} != xf7_ ]; then
!             echo ""
              echo "/* Renames for libf7.c, libf7.h.  */"
!             echo ""
              for x in $*; do
                  echo "#define f7_const_${x}   ${PRE}const_${x}"
                  echo "#define f7_const_${x}_P ${PRE}const_${x}_P"
*************** EOF
*** 58,66 ****
  
      asm)
          if [ x${PRE} != xf7_ ]; then
!             echo " "
              echo "/* Renames for libf7-asm.sx, f7-wraps.h.  */"
!             echo " "
              for x in $*; do
                  echo "#define f7_${x}_asm ${PRE}${x}_asm"
              done
--- 58,66 ----
  
      asm)
          if [ x${PRE} != xf7_ ]; then
!             echo ""
              echo "/* Renames for libf7-asm.sx, f7-wraps.h.  */"
!             echo ""
              for x in $*; do
                  echo "#define f7_${x}_asm ${PRE}${x}_asm"
              done
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/libf7-common.mk gcc-15-20250531/libgcc/config/avr/libf7/libf7-common.mk
*** gcc-15-20250524/libgcc/config/avr/libf7/libf7-common.mk	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/libf7-common.mk	Sat May 31 22:34:00 2025
*************** F7_C_PARTS += set_float get_float get_do
*** 8,14 ****
  F7_C_PARTS += fabs neg fmin fmax minmax truncx trunc floor ceil round lround
  F7_C_PARTS += horner logx log log10 log2 exp pow10 pow powi
  F7_C_PARTS += sin cos tan cotan sincos sinh cosh tanh sinhcosh
! F7_C_PARTS += asinacos asin acos atan atan2
  F7_C_PARTS += abscmp_msb_ge cmp cmp_abs cmp_unordered
  
  F7_C_PARTS += const_1 const_1_2 const_1_3
--- 8,14 ----
  F7_C_PARTS += fabs neg fmin fmax minmax truncx trunc floor ceil round lround
  F7_C_PARTS += horner logx log log10 log2 exp pow10 pow powi
  F7_C_PARTS += sin cos tan cotan sincos sinh cosh tanh sinhcosh
! F7_C_PARTS += asinacos asin acos atan atan2 fdim
  F7_C_PARTS += abscmp_msb_ge cmp cmp_abs cmp_unordered
  
  F7_C_PARTS += const_1 const_1_2 const_1_3
*************** g_xdd_cmp += le lt ge gt ne eq unord
*** 34,40 ****
  g_dx += floatunsidf floatsidf extendsfdf2
  g_xd += fixdfsi fixdfdi fixunsdfdi fixunsdfsi truncdfsf2
  
! m_ddd += pow fmin fmax fmod hypot atan2
  m_ddx += ldexp frexp
  m_dd += sqrt cbrt exp exp10 pow10 log log10 log2 sin cos tan cotan asin acos atan
  m_dd += ceil floor trunc round sinh cosh tanh
--- 34,40 ----
  g_dx += floatunsidf floatsidf extendsfdf2
  g_xd += fixdfsi fixdfdi fixunsdfdi fixunsdfsi truncdfsf2
  
! m_ddd += pow fmin fmax fmod hypot atan2 fdim
  m_ddx += ldexp frexp
  m_dd += sqrt cbrt exp exp10 pow10 log log10 log2 sin cos tan cotan asin acos atan
  m_dd += ceil floor trunc round sinh cosh tanh
*************** F7F += lrint ldexp frexp exp logx log lo
*** 59,65 ****
  F7F += minmax fmax fmin floor ceil round lround trunc truncx
  F7F += horner pow10 exp10 pow powi
  F7F += sin cos tan cotan sincos sinh cosh tanh sinhcosh
! F7F += asinacos asin acos atan atan2
  F7F += mul_noround sqrt16_round sqrt16_floor
  F7F += clr_mant_lsbs abscmp_msb_ge lshrdi3 ashldi3
  F7F += assert
--- 59,65 ----
  F7F += minmax fmax fmin floor ceil round lround trunc truncx
  F7F += horner pow10 exp10 pow powi
  F7F += sin cos tan cotan sincos sinh cosh tanh sinhcosh
! F7F += asinacos asin acos atan atan2 fdim
  F7F += mul_noround sqrt16_round sqrt16_floor
  F7F += clr_mant_lsbs abscmp_msb_ge lshrdi3 ashldi3
  F7F += assert
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/libf7.c gcc-15-20250531/libgcc/config/avr/libf7/libf7.c
*** gcc-15-20250524/libgcc/config/avr/libf7/libf7.c	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/libf7.c	Sat May 31 22:34:00 2025
*************** void f7_sub (f7_t *cc, const f7_t *aa, c
*** 928,933 ****
--- 928,948 ----
  #endif // F7MOD_sub_
  
  
+ #ifdef F7MOD_fdim_
+ F7_WEAK
+ void f7_fdim (f7_t *cc, const f7_t *aa, const f7_t *bb)
+ {
+   int8_t cmp = f7_cmp_unordered (aa, bb, true /*with_sign*/);
+   if (cmp == INT8_MIN)
+     return f7_set_nan (cc);
+   if (cmp < 0)
+     return f7_clr (cc);
+ 
+   f7_sub (cc, aa, bb);
+ }
+ #endif // F7MOD_fdim_
+ 
+ 
  #ifdef F7MOD_addsub_
  static void return_with_sign (f7_t *cc, const f7_t *aa, int8_t c_sign)
  {
*************** void f7_exp (f7_t *cc, const f7_t *aa)
*** 1649,1658 ****
      return f7_set_nan (cc);
  
    /* The maximal exponent of 2 for a double is 1023, hence we may limit
!      to  |A| < 1023 * ln2 ~ 709.  We limit to  1024 ~ 1.99 * 2^9  */
  
    if (f7_class_inf (a_class)
!       || (f7_class_nonzero (a_class) && aa->expo >= 9))
      {
        if (f7_class_sign (a_class))
  	return f7_clr (cc);
--- 1664,1673 ----
      return f7_set_nan (cc);
  
    /* The maximal exponent of 2 for a double is 1023, hence we may limit
!      to  |A| < 1023 * ln2 ~ 709.  We limit to  1024 = 2^10  */
  
    if (f7_class_inf (a_class)
!       || (f7_class_nonzero (a_class) && aa->expo >= 10))
      {
        if (f7_class_sign (a_class))
  	return f7_clr (cc);
diff -Nrcpad gcc-15-20250524/libgcc/config/avr/libf7/libf7.h gcc-15-20250531/libgcc/config/avr/libf7/libf7.h
*** gcc-15-20250524/libgcc/config/avr/libf7/libf7.h	Sat May 24 22:32:24 2025
--- gcc-15-20250531/libgcc/config/avr/libf7/libf7.h	Sat May 31 22:34:00 2025
*************** extern void f7_cos (f7_t*, const f7_t*);
*** 612,617 ****
--- 612,618 ----
  extern void f7_tan (f7_t*, const f7_t*);
  extern void f7_atan (f7_t*, const f7_t*);
  extern void f7_atan2 (f7_t*, const f7_t*, const f7_t*);
+ extern void f7_fdim (f7_t*, const f7_t*, const f7_t*);
  extern void f7_asin (f7_t*, const f7_t*);
  extern void f7_acos (f7_t*, const f7_t*);
  extern void f7_tanh (f7_t*, const f7_t*);
diff -Nrcpad gcc-15-20250524/libgomp/ChangeLog gcc-15-20250531/libgomp/ChangeLog
*** gcc-15-20250524/libgomp/ChangeLog	Sat May 24 22:32:26 2025
--- gcc-15-20250531/libgomp/ChangeLog	Sat May 31 22:34:15 2025
***************
*** 1,3 ****
--- 1,21 ----
+ 2025-05-28  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-28  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR middle-end/118694
+ 	* testsuite/libgomp.fortran/metadirective-1.f90: xfail when
+ 	compiling (also) for nvptx offloading as an error is then expected.
+ 
+ 2025-05-26  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	Backported from master:
+ 	2025-05-23  Tobias Burnus  <tburnus@baylibre.com>
+ 
+ 	PR middle-end/118694
+ 	* testsuite/libgomp.c-c++-common/metadirective-1.c: xfail when
+ 	compiling (also) for nvptx offloading as an error is then expected.
+ 
  2025-05-19  Tobias Burnus  <tburnus@baylibre.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c gcc-15-20250531/libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c
*** gcc-15-20250524/libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c	Sat May 24 22:32:26 2025
--- gcc-15-20250531/libgomp/testsuite/libgomp.c-c++-common/metadirective-1.c	Sat May 31 22:34:15 2025
***************
*** 1,4 ****
! /* { dg-do run } */
  
  #define N 100
  
--- 1,5 ----
! /* { dg-do run { target { ! offload_target_nvptx } } } */
! /* { dg-do compile { target offload_target_nvptx } } */
  
  #define N 100
  
*************** f (int x[], int y[], int z[])
*** 7,18 ****
--- 8,24 ----
  {
    int i;
  
+   // The following fails as on the host the target side cannot be
+   // resolved - and the 'teams' or not status affects how 'target'
+   // is called.
+   // Note also the dg-do compile above for offload_target_nvptx
    #pragma omp target map(to: x[0:N], y[0:N]) map(from: z[0:N])
      #pragma omp metadirective \
  	when (device={arch("nvptx")}: teams loop) \
  	default (parallel loop)
        for (i = 0; i < N; i++)
  	z[i] = x[i] * y[i];
+   /* { dg-bogus "'target' construct with nested 'teams' construct contains directives outside of the 'teams' construct" "PR118694" { xfail offload_target_nvptx } .-6 }  */
  }
  
  int
diff -Nrcpad gcc-15-20250524/libgomp/testsuite/libgomp.fortran/metadirective-1.f90 gcc-15-20250531/libgomp/testsuite/libgomp.fortran/metadirective-1.f90
*** gcc-15-20250524/libgomp/testsuite/libgomp.fortran/metadirective-1.f90	Sat May 24 22:32:26 2025
--- gcc-15-20250531/libgomp/testsuite/libgomp.fortran/metadirective-1.f90	Sat May 31 22:34:15 2025
***************
*** 1,4 ****
! ! { dg-do run }
  
  program test
    implicit none
--- 1,5 ----
! ! { dg-do run { target { ! offload_target_nvptx } } }
! ! { dg-do compile { target offload_target_nvptx } }
  
  program test
    implicit none
*************** program test
*** 33,38 ****
--- 34,43 ----
  contains
    subroutine f (x, y, z)
      integer :: x(N), y(N), z(N)
+     ! The following fails as on the host the target side cannot be
+     ! resolved - and the 'teams' or not status affects how 'target'
+     ! is called. -> See PR118694, esp. comment 9.
+     ! Note also the dg-do compile above for offload_target_nvptx
  
      !$omp target map (to: x, y) map(from: z)
        block
*************** contains
*** 43,48 ****
--- 48,54 ----
  	  z(i) = x(i) * y(i)
  	enddo
        end block
+     ! { dg-bogus "'target' construct with nested 'teams' construct contains directives outside of the 'teams' construct" "PR118694" { xfail offload_target_nvptx } .-9 }  */
    end subroutine
    subroutine g (x, y, z)
      integer :: x(N), y(N), z(N)
*************** contains
*** 56,61 ****
--- 62,68 ----
  	  z(i) = x(i) * y(i)
  	enddo
      end block
+     ! { dg-bogus "'target' construct with nested 'teams' construct contains directives outside of the 'teams' construct" "PR118694" { xfail offload_target_nvptx } .-9 }  */
      !$omp end target
    end subroutine
  end program
diff -Nrcpad gcc-15-20250524/libstdc++-v3/ChangeLog gcc-15-20250531/libstdc++-v3/ChangeLog
*** gcc-15-20250524/libstdc++-v3/ChangeLog	Sat May 24 22:32:27 2025
--- gcc-15-20250531/libstdc++-v3/ChangeLog	Sat May 31 22:34:19 2025
***************
*** 1,3 ****
--- 1,25 ----
+ 2025-05-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* testsuite/util/pstl/test_utils.h (ForwardIterator::operator++):
+ 	Fix return type.
+ 	(BidirectionalIterator::operator++): Likewise.
+ 	(BidirectionalIterator::operator--): Likewise.
+ 
+ 2025-05-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-05-22  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120367
+ 	* include/bits/stl_vector.h (_M_range_initialize): Initialize
+ 	_M_impl._M_finish.
+ 	* testsuite/23_containers/vector/cons/from_range.cc: Check with
+ 	a type that throws on construction.
+ 	exceptions during construction.
+ 
  2025-05-20  Jonathan Wakely  <jwakely@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250524/libstdc++-v3/include/bits/stl_vector.h gcc-15-20250531/libstdc++-v3/include/bits/stl_vector.h
*** gcc-15-20250524/libstdc++-v3/include/bits/stl_vector.h	Sat May 24 22:32:28 2025
--- gcc-15-20250531/libstdc++-v3/include/bits/stl_vector.h	Sat May 31 22:34:20 2025
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 1981,1988 ****
  	_M_range_initialize_n(_Iterator __first, _Sentinel __last,
  			      size_type __n)
  	{
! 	  pointer __start = this->_M_impl._M_start =
  	    this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
  	  this->_M_impl._M_end_of_storage = __start + __n;
  	  this->_M_impl._M_finish
  	      = std::__uninitialized_copy_a(_GLIBCXX_MOVE(__first), __last,
--- 1981,1989 ----
  	_M_range_initialize_n(_Iterator __first, _Sentinel __last,
  			      size_type __n)
  	{
! 	  pointer __start =
  	    this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
+ 	  this->_M_impl._M_start = this->_M_impl._M_finish = __start;
  	  this->_M_impl._M_end_of_storage = __start + __n;
  	  this->_M_impl._M_finish
  	      = std::__uninitialized_copy_a(_GLIBCXX_MOVE(__first), __last,
diff -Nrcpad gcc-15-20250524/libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc gcc-15-20250531/libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc
*** gcc-15-20250524/libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc	Sat May 24 22:32:29 2025
--- gcc-15-20250531/libstdc++-v3/testsuite/23_containers/vector/cons/from_range.cc	Sat May 31 22:34:26 2025
*************** test_constexpr()
*** 106,113 ****
--- 106,135 ----
    return true;
  }
  
+ void
+ test_pr120367()
+ {
+ #ifdef __cpp_exceptions
+   struct X
+   {
+     X(int) { throw 1; }     // Cannot successfully construct an X.
+     ~X() { VERIFY(false); } // So should never need to destroy one.
+   };
+ 
+   try
+   {
+     int i[1]{};
+     std::vector<X> v(std::from_range, i);
+   }
+   catch (int)
+   {
+   }
+ #endif
+ }
+ 
  int main()
  {
    test_ranges();
    static_assert( test_constexpr() );
+   test_pr120367();
  }
diff -Nrcpad gcc-15-20250524/libstdc++-v3/testsuite/util/pstl/test_utils.h gcc-15-20250531/libstdc++-v3/testsuite/util/pstl/test_utils.h
*** gcc-15-20250524/libstdc++-v3/testsuite/util/pstl/test_utils.h	Sat May 24 22:32:31 2025
--- gcc-15-20250531/libstdc++-v3/testsuite/util/pstl/test_utils.h	Sat May 31 22:34:35 2025
*************** class ForwardIterator
*** 154,160 ****
      explicit ForwardIterator(Iterator i) : my_iterator(i) {}
      reference operator*() const { return *my_iterator; }
      Iterator operator->() const { return my_iterator; }
!     ForwardIterator
      operator++()
      {
          ++my_iterator;
--- 154,160 ----
      explicit ForwardIterator(Iterator i) : my_iterator(i) {}
      reference operator*() const { return *my_iterator; }
      Iterator operator->() const { return my_iterator; }
!     ForwardIterator&
      operator++()
      {
          ++my_iterator;
*************** class BidirectionalIterator : public For
*** 194,206 ****
      explicit BidirectionalIterator(Iterator i) : base_type(i) {}
      BidirectionalIterator(const base_type& i) : base_type(i.iterator()) {}
  
!     BidirectionalIterator
      operator++()
      {
          ++base_type::my_iterator;
          return *this;
      }
!     BidirectionalIterator
      operator--()
      {
          --base_type::my_iterator;
--- 194,206 ----
      explicit BidirectionalIterator(Iterator i) : base_type(i) {}
      BidirectionalIterator(const base_type& i) : base_type(i.iterator()) {}
  
!     BidirectionalIterator&
      operator++()
      {
          ++base_type::my_iterator;
          return *this;
      }
!     BidirectionalIterator&
      operator--()
      {
          --base_type::my_iterator;
