diff -Nrcpad gcc-14-20260604/LAST_UPDATED gcc-14-20260611/LAST_UPDATED
*** gcc-14-20260604/LAST_UPDATED	Thu Jun  4 22:32:21 2026
--- gcc-14-20260611/LAST_UPDATED	Thu Jun 11 22:32:18 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision 850cef3261fd6cf9b76250338d1e123ef7b3d0cb
--- 1 ----
! Obtained from git: releases/gcc-14 revision f6db0bbd1566c3e0c8d7c2c758d5221f7246708f
diff -Nrcpad gcc-14-20260604/MD5SUMS gcc-14-20260611/MD5SUMS
*** gcc-14-20260604/MD5SUMS	Thu Jun  4 22:32:25 2026
--- gcc-14-20260611/MD5SUMS	Thu Jun 11 22:32:23 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260604.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260611.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 74494b2ba05a22397ac999a7ef822af9  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! e62aa540de93fcc21538b3b4a79e47c9  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! eb92160f3579cd09a89b70c10506647e  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 775c2dfd4218704ad71c695523163df0  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 35e5b002c0f21c6f27678761beac11b5  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 230dd2150536b87bb2ef2404aa7ee685  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 553,559 ****
  4ff8b6b00464fd6c37969f80145dca46  gcc/acinclude.m4
  496cb89e62ed3dbfd1af1db0975a4c04  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 1199e254e1202a334dceabe191564858  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
--- 553,559 ----
  4ff8b6b00464fd6c37969f80145dca46  gcc/acinclude.m4
  496cb89e62ed3dbfd1af1db0975a4c04  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! aaf72e77bf4616393553dfbec0996623  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
*************** e3278151cbffbda15622ee6e514feb12  gcc/ad
*** 2160,2166 ****
  b657b4be2fa53ecca6ecf74fb822c581  gcc/ada/libgnat/s-forrea.ads
  e202b72f4e41473077da605938fb7d8c  gcc/ada/libgnat/s-gearop.adb
  955feca07ad547b58b5ea56690826684  gcc/ada/libgnat/s-gearop.ads
! 1a35da100fe688a08f9ed6fff19613be  gcc/ada/libgnat/s-genbig.adb
  c90046860d2f4f880a33b25e10f79245  gcc/ada/libgnat/s-genbig.ads
  daf36f04dced8b04cfe641e1ebfd7fb0  gcc/ada/libgnat/s-geveop.adb
  c9f67439e38700a3542acfbbf92e5cee  gcc/ada/libgnat/s-geveop.ads
--- 2160,2166 ----
  b657b4be2fa53ecca6ecf74fb822c581  gcc/ada/libgnat/s-forrea.ads
  e202b72f4e41473077da605938fb7d8c  gcc/ada/libgnat/s-gearop.adb
  955feca07ad547b58b5ea56690826684  gcc/ada/libgnat/s-gearop.ads
! eb8ad38c60bc35772d8b868fd98357a7  gcc/ada/libgnat/s-genbig.adb
  c90046860d2f4f880a33b25e10f79245  gcc/ada/libgnat/s-genbig.ads
  daf36f04dced8b04cfe641e1ebfd7fb0  gcc/ada/libgnat/s-geveop.adb
  c9f67439e38700a3542acfbbf92e5cee  gcc/ada/libgnat/s-geveop.ads
*************** c57f11c8377690ba9023949f07b9355d  gcc/co
*** 3656,3662 ****
  e463aeaf15d36b313935a1486e19fe50  gcc/config/avr/avr-passes.def
  b812676480e10c55ca64c09cae522a6a  gcc/config/avr/avr-protos.h
  f6bd61a4d455db58f9425812a337b890  gcc/config/avr/avr-stdint.h
! 9e7ce7238378c831c3f5f3897c925f2c  gcc/config/avr/avr.cc
  7cc3c5e2451b04c38f10f0bd06790ba0  gcc/config/avr/avr.h
  90199e05652dd3c55b8064a234c53d28  gcc/config/avr/avr.md
  d966b0c41bfba722c0e38c55d7256e8b  gcc/config/avr/avr.opt
--- 3656,3662 ----
  e463aeaf15d36b313935a1486e19fe50  gcc/config/avr/avr-passes.def
  b812676480e10c55ca64c09cae522a6a  gcc/config/avr/avr-protos.h
  f6bd61a4d455db58f9425812a337b890  gcc/config/avr/avr-stdint.h
! 0ab50ed668fee6448148b83f963f7ca8  gcc/config/avr/avr.cc
  7cc3c5e2451b04c38f10f0bd06790ba0  gcc/config/avr/avr.h
  90199e05652dd3c55b8064a234c53d28  gcc/config/avr/avr.md
  d966b0c41bfba722c0e38c55d7256e8b  gcc/config/avr/avr.opt
*************** ddc27d9ceea8191a7cbfb42159a56be4  gcc/co
*** 4965,4971 ****
  200b6eccb63040bee4a9133bab14bb26  gcc/config/rs6000/rbtree.h
  599c30bc22167b0f0831b1b7af7cf9d4  gcc/config/rs6000/rs6000-builtin.cc
  029e127e75ac9b0a5947828b933ae6ef  gcc/config/rs6000/rs6000-builtins.def
! 7cd856e83c8494270a47ca01622fc669  gcc/config/rs6000/rs6000-c.cc
  8119e87823cbb6f1761f91aeb4d3c6ea  gcc/config/rs6000/rs6000-call.cc
  187d4407a0b49c77c35fa116a0157373  gcc/config/rs6000/rs6000-cpus.def
  814d95cd094abacbcf3e466bfdc3646f  gcc/config/rs6000/rs6000-d.cc
--- 4965,4971 ----
  200b6eccb63040bee4a9133bab14bb26  gcc/config/rs6000/rbtree.h
  599c30bc22167b0f0831b1b7af7cf9d4  gcc/config/rs6000/rs6000-builtin.cc
  029e127e75ac9b0a5947828b933ae6ef  gcc/config/rs6000/rs6000-builtins.def
! 102fb0ee0ead962fe8a6a5f9d8617c01  gcc/config/rs6000/rs6000-c.cc
  8119e87823cbb6f1761f91aeb4d3c6ea  gcc/config/rs6000/rs6000-call.cc
  187d4407a0b49c77c35fa116a0157373  gcc/config/rs6000/rs6000-cpus.def
  814d95cd094abacbcf3e466bfdc3646f  gcc/config/rs6000/rs6000-d.cc
*************** d36a2aabdf8da39363d9be0efef739b0  gcc/co
*** 5363,5369 ****
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 3b34b605850af90af35dd7262c7a0566  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5363,5369 ----
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 477105d2f49229959a60adde249ddc16  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** eb0e2e62caf98260cc2641216d140ae9  gcc/cp
*** 5403,5413 ****
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 402994986093e6eacea48e3e8e28305d  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
! dc474088c982391206e9d6a529937f19  gcc/cp/coroutines.cc
  fbb64a63ff9ac5740b8339f18f4d0644  gcc/cp/cp-gimplify.cc
  d3243151c2dc95476f1ffe37daeac128  gcc/cp/cp-lang.cc
  7c2a3efea776c90aa874253dbc0d63d5  gcc/cp/cp-name-hint.h
--- 5403,5413 ----
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 7d146092407a3c00d989a558a3424cd3  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
! 2dbdcea3676fe880db2ae645fa5819cc  gcc/cp/coroutines.cc
  fbb64a63ff9ac5740b8339f18f4d0644  gcc/cp/cp-gimplify.cc
  d3243151c2dc95476f1ffe37daeac128  gcc/cp/cp-lang.cc
  7c2a3efea776c90aa874253dbc0d63d5  gcc/cp/cp-name-hint.h
*************** e5de0a6c0e25db99122b38cfbd158f92  gcc/cp
*** 5446,5452 ****
  4c2302075ee88f154fe1d9d5bc880b38  gcc/cp/name-lookup.h
  9071e61b746a07f7ae419836317ea8d4  gcc/cp/operators.def
  b4ea7976f776ee37fce22b16756ad0e0  gcc/cp/optimize.cc
! 9425e1dd76dabb195576507c7bc7a94a  gcc/cp/parser.cc
  64953966b085a9e770be93c5d1bdca4e  gcc/cp/parser.h
  448339060118bbddc256f35c182e5f15  gcc/cp/pt.cc
  c59b967f38f4705696e11724814e2a06  gcc/cp/ptree.cc
--- 5446,5452 ----
  4c2302075ee88f154fe1d9d5bc880b38  gcc/cp/name-lookup.h
  9071e61b746a07f7ae419836317ea8d4  gcc/cp/operators.def
  b4ea7976f776ee37fce22b16756ad0e0  gcc/cp/optimize.cc
! 4bc52c47d4aa96b189358fee46c747b2  gcc/cp/parser.cc
  64953966b085a9e770be93c5d1bdca4e  gcc/cp/parser.h
  448339060118bbddc256f35c182e5f15  gcc/cp/pt.cc
  c59b967f38f4705696e11724814e2a06  gcc/cp/ptree.cc
*************** ca8df8ebc275aae3373b59e34155cc57  gcc/cp
*** 5457,5463 ****
  94fae0d321122a3989a40631ba86d13b  gcc/cp/std-name-hint.h
  9b0c363a7a66e224140a1bbeb683c19d  gcc/cp/tree.cc
  ade60cf10e86c87a2d3960a453e78059  gcc/cp/type-utils.h
! f83b42693552dcab6fd5a1d345342576  gcc/cp/typeck.cc
  26beb8b24c68c6e55a89ba1d61b97b17  gcc/cp/typeck2.cc
  b04e03a3822d8b9ab15575d78d4309f1  gcc/cp/vtable-class-hierarchy.cc
  d9039dac3f86bf082870bf78b964568b  gcc/cppbuiltin.cc
--- 5457,5463 ----
  94fae0d321122a3989a40631ba86d13b  gcc/cp/std-name-hint.h
  9b0c363a7a66e224140a1bbeb683c19d  gcc/cp/tree.cc
  ade60cf10e86c87a2d3960a453e78059  gcc/cp/type-utils.h
! f8b30eee4b81b9f72028f73719e52c8c  gcc/cp/typeck.cc
  26beb8b24c68c6e55a89ba1d61b97b17  gcc/cp/typeck2.cc
  b04e03a3822d8b9ab15575d78d4309f1  gcc/cp/vtable-class-hierarchy.cc
  d9039dac3f86bf082870bf78b964568b  gcc/cppbuiltin.cc
*************** f3cd4a37afdd5c50fd88f8bea73656f2  gcc/gi
*** 6073,6079 ****
  9061d044f3fa87c56e4207cfed15dbd4  gcc/gimple-loop-versioning.cc
  5aa7e08e0bae2dfcbc188dcbbf48e035  gcc/gimple-low.cc
  1011dfdbac8762024379fe999e10572d  gcc/gimple-low.h
! a195e0d355105544df8de7aa0f4a380b  gcc/gimple-lower-bitint.cc
  0da9234d337390e5ca66679b3e055deb  gcc/gimple-lower-bitint.h
  77bf05ef21f77c3ea4b0b145cd57240b  gcc/gimple-match-exports.cc
  9abca7865ad0fa60c0d19e6acebba08e  gcc/gimple-match-head.cc
--- 6073,6079 ----
  9061d044f3fa87c56e4207cfed15dbd4  gcc/gimple-loop-versioning.cc
  5aa7e08e0bae2dfcbc188dcbbf48e035  gcc/gimple-low.cc
  1011dfdbac8762024379fe999e10572d  gcc/gimple-low.h
! 16c200797cbd92b1d34d61defafd4855  gcc/gimple-lower-bitint.cc
  0da9234d337390e5ca66679b3e055deb  gcc/gimple-lower-bitint.h
  77bf05ef21f77c3ea4b0b145cd57240b  gcc/gimple-match-exports.cc
  9abca7865ad0fa60c0d19e6acebba08e  gcc/gimple-match-head.cc
*************** f6a5b259097198d66b14186f87695b46  gcc/pr
*** 7563,7569 ****
  15c1fef5c89feec6af5f61c909e35410  gcc/profile-count.h
  c65c577b485a33a088eeda9f4269a0de  gcc/profile.cc
  d9deb5fb04bc9bc87a486a5ccfbba806  gcc/profile.h
! f29e4c9efdf2dc0f1c85d48990e74081  gcc/range-op-float.cc
  997ac266d2595ff4eebf8329161f81d8  gcc/range-op-mixed.h
  8ba824feefe86c2918eab3ecee628a5d  gcc/range-op-ptr.cc
  67ce46df5da5afd1294d814e8330c2e2  gcc/range-op.cc
--- 7563,7569 ----
  15c1fef5c89feec6af5f61c909e35410  gcc/profile-count.h
  c65c577b485a33a088eeda9f4269a0de  gcc/profile.cc
  d9deb5fb04bc9bc87a486a5ccfbba806  gcc/profile.h
! d7e60ea24629e0e9a2be715e1da6d224  gcc/range-op-float.cc
  997ac266d2595ff4eebf8329161f81d8  gcc/range-op-mixed.h
  8ba824feefe86c2918eab3ecee628a5d  gcc/range-op-ptr.cc
  67ce46df5da5afd1294d814e8330c2e2  gcc/range-op.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8062,8068 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 52ec024c73c0f2d47d8403f7f0adce16  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8062,8068 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! ab4ab2882828e0601fb2857b5761f099  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** b75b654187426934820f1e2a8a63aaad  gcc/te
*** 14863,14868 ****
--- 14863,14869 ----
  99fb6f2e5c0e7bc8a3c78cbf8090a91f  gcc/testsuite/g++.dg/coroutines/pr116506.C
  59d8e6cfa9a450642b4a378751f44e8a  gcc/testsuite/g++.dg/coroutines/pr116793-1.C
  16df01e113e50e8969f23cb32c1ab8fd  gcc/testsuite/g++.dg/coroutines/pr116880.C
+ 0ca0846ef4e8c067a077207372df0fa3  gcc/testsuite/g++.dg/coroutines/pr125376.C
  cbb42d13b1660a8eb1d40a3d88308140  gcc/testsuite/g++.dg/coroutines/pr93458-1-missing-traits.C
  d9151fc224e4913ed7ffacd748769917  gcc/testsuite/g++.dg/coroutines/pr93458-2-bad-traits.C
  e9b715cb41c54f5b179b4725b788e338  gcc/testsuite/g++.dg/coroutines/pr93458-3-missing-handle.C
*************** e9ee7a058b99aafd367d4607dea8fd61  gcc/te
*** 20286,20292 ****
  f078be8dacba182f7d71dbd5dc780d67  gcc/testsuite/g++.dg/cpp2a/constexpr-typeid3.C
  d5cf00e36fa4ba1a100d8370416e1bc2  gcc/testsuite/g++.dg/cpp2a/constexpr-typeid4.C
  a9a14bb307d24157192c2d361ae5fcbe  gcc/testsuite/g++.dg/cpp2a/constexpr-union1.C
- 7c347df7a530f4b435982cde93fd790e  gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C
  4fd1e359f10f22a9e4ac5656c39367e2  gcc/testsuite/g++.dg/cpp2a/constexpr-union2.C
  64db89fe8184ef8910fbbef6f4db6984  gcc/testsuite/g++.dg/cpp2a/constexpr-union3.C
  c0b015cd02e07242444c2700f64e070a  gcc/testsuite/g++.dg/cpp2a/constexpr-union4.C
--- 20287,20292 ----
*************** e95698a38fe4cc0a60b4857fa65742ca  gcc/te
*** 20566,20572 ****
  dd49d8873bb047040bf7f60deb8f644f  gcc/testsuite/g++.dg/cpp2a/no_unique_address13.C
  10563ae733ee31b86846cfb852d66d9d  gcc/testsuite/g++.dg/cpp2a/no_unique_address14.C
  9c8ff2d9f37699b8813711a0c20c7e07  gcc/testsuite/g++.dg/cpp2a/no_unique_address15.C
- 46008c21cb7f7725a5bfe2a87f3b255d  gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
  c94ac6fb1a99bf541b66d604620fa09b  gcc/testsuite/g++.dg/cpp2a/no_unique_address2.C
  67a61649264fea12fb7cc5c31bc5313e  gcc/testsuite/g++.dg/cpp2a/no_unique_address3.C
  ca2c81baf4111b5e8e15980b5237a344  gcc/testsuite/g++.dg/cpp2a/no_unique_address4.C
--- 20566,20571 ----
*************** a0196ebfddfdcb265613530b34c75302  gcc/te
*** 26319,26324 ****
--- 26318,26324 ----
  d0b5965b4982fc2453056380914a719f  gcc/testsuite/g++.dg/other/anon-union5.C
  498c728995604cce6cd6fb0603cfbad8  gcc/testsuite/g++.dg/other/anon-union6.C
  4f90ececca3ff47581ca71749fda9c86  gcc/testsuite/g++.dg/other/anon-union7.C
+ fe4ccc701c313926fdf04eb36eca6435  gcc/testsuite/g++.dg/other/anon-union8.C
  25bec11b40119085408d52eaa5b86f6e  gcc/testsuite/g++.dg/other/anon2.C
  ac03cab67f2c4f5731d36b19f2ee4f42  gcc/testsuite/g++.dg/other/anon3.C
  735bc52cab8eca56a711c2c10845c981  gcc/testsuite/g++.dg/other/anon4.C
*************** ea50428d09d0e781698b21023398bfee  gcc/te
*** 35383,35388 ****
--- 35383,35390 ----
  92cbd869a66e265db57a505d568038a0  gcc/testsuite/g++.target/powerpc/pr111367.C
  d2c732bc509e2385a06f111c954c2700  gcc/testsuite/g++.target/powerpc/pr111828-1.C
  d573b767c2de9d8c280bc5d867cf8c50  gcc/testsuite/g++.target/powerpc/pr111828-2.C
+ 30ee59b9e5c6ade87b3a5e9da350db58  gcc/testsuite/g++.target/powerpc/pr124133-1.C
+ 4a6ef2f6eb32a0a571721b0181a6bd02  gcc/testsuite/g++.target/powerpc/pr124133-2.C
  9c74007c234a12d4c947bb4d6e55c63b  gcc/testsuite/g++.target/powerpc/pr65240-1.C
  436918461ef83adf9e3f0a761f3eab86  gcc/testsuite/g++.target/powerpc/pr65240-2.C
  1e1aa0282e8b112947082f2503881b91  gcc/testsuite/g++.target/powerpc/pr65240-3.C
*************** ab667119ae39828bcd103bb5c5434cdc  gcc/te
*** 36597,36602 ****
--- 36599,36605 ----
  8c484e5df297a43329f4182432f35fda  gcc/testsuite/gcc.c-torture/compile/pr123386.c
  ffc2d0352a16ed7c76c12152bde69753  gcc/testsuite/gcc.c-torture/compile/pr123703.c
  b8b52e8f02c4a8a36a13b5243b69bbe6  gcc/testsuite/gcc.c-torture/compile/pr124250.c
+ 5ac4ade7a6a5945ebcf534694df7f5fc  gcc/testsuite/gcc.c-torture/compile/pr125039.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
  86f3d5cf87d24e97aa663b79f2d0ac5d  gcc/testsuite/gcc.c-torture/compile/pr12899.c
*************** d217543f954eb3f31e246355824f653a  gcc/te
*** 41270,41275 ****
--- 41273,41279 ----
  c446cf331d60d19eea3950d7f444f8b3  gcc/testsuite/gcc.dg/bitint-125.c
  240ade406c4daf5c641e5c4f0bdd5ef5  gcc/testsuite/gcc.dg/bitint-126.c
  3fa6e340272f61c5b425b6a54732c94f  gcc/testsuite/gcc.dg/bitint-127.c
+ a7f36d213cef759e44b1ea369391b70d  gcc/testsuite/gcc.dg/bitint-128.c
  aa6e262f1d508ec048e76ac4af6675a4  gcc/testsuite/gcc.dg/bitint-13.c
  e6db29256563268a3c327706e78c79a4  gcc/testsuite/gcc.dg/bitint-14.c
  c748706240385773f27caba61cbbcbd8  gcc/testsuite/gcc.dg/bitint-15.c
*************** b36a66c501ef03ad7cedb1c40484affd  gcc/te
*** 49709,49714 ****
--- 49713,49719 ----
  359473db5cdd37f1bf6095e84675f821  gcc/testsuite/gcc.dg/strlenopt-93.c
  088575aea180cd1ef854fcc43bef2769  gcc/testsuite/gcc.dg/strlenopt-94.c
  92d0e4eba5d71d4f20fc6e1a8575d10f  gcc/testsuite/gcc.dg/strlenopt-95.c
+ 7acdb4df3aa6d4d3b2a024a99bbaa231  gcc/testsuite/gcc.dg/strlenopt-97.c
  b5f70e58553a0938c1120805bb7995ab  gcc/testsuite/gcc.dg/strlenopt.h
  984ef97553c0d059b2563ed51439cb62  gcc/testsuite/gcc.dg/strncmp-1.c
  f58f592113e43197dadf58bbb685b20d  gcc/testsuite/gcc.dg/strncmp-2.c
*************** b04080329963def55af4aa7a95268fbe  gcc/te
*** 50097,50103 ****
  fa7bdb79eb170773050b26a5ed2ae1ec  gcc/testsuite/gcc.dg/torture/builtin-math-3.c
  86c9312908e71a32a216fd720343d58f  gcc/testsuite/gcc.dg/torture/builtin-math-4.c
  091ba46b9b5948f7b1173f21c6c558b6  gcc/testsuite/gcc.dg/torture/builtin-math-5.c
! 35aafd27620207da2f66dd0e44ff780f  gcc/testsuite/gcc.dg/torture/builtin-math-6.c
  6f699b99531328babffd4ec110ba2fd7  gcc/testsuite/gcc.dg/torture/builtin-math-7.c
  c77f4d57bad6850b166ed11f47ce8a4e  gcc/testsuite/gcc.dg/torture/builtin-math-8.c
  d7925eb09751128af786d99274bd0ab7  gcc/testsuite/gcc.dg/torture/builtin-minmax-1.c
--- 50102,50108 ----
  fa7bdb79eb170773050b26a5ed2ae1ec  gcc/testsuite/gcc.dg/torture/builtin-math-3.c
  86c9312908e71a32a216fd720343d58f  gcc/testsuite/gcc.dg/torture/builtin-math-4.c
  091ba46b9b5948f7b1173f21c6c558b6  gcc/testsuite/gcc.dg/torture/builtin-math-5.c
! 2a86d2b8d17f5c82a3b1eac7e071ce50  gcc/testsuite/gcc.dg/torture/builtin-math-6.c
  6f699b99531328babffd4ec110ba2fd7  gcc/testsuite/gcc.dg/torture/builtin-math-7.c
  c77f4d57bad6850b166ed11f47ce8a4e  gcc/testsuite/gcc.dg/torture/builtin-math-8.c
  d7925eb09751128af786d99274bd0ab7  gcc/testsuite/gcc.dg/torture/builtin-minmax-1.c
*************** c89f320f0f14a7fa8638f6b38a20ed26  gcc/te
*** 54544,54550 ****
  69a1c3531ab884c6c7e1fbc875e956bc  gcc/testsuite/gcc.dg/variable-sized-type-flex-array.c
  7f29aa4616378fb72f7fab614907128d  gcc/testsuite/gcc.dg/varpool-1.c
  d8ef65c736eef2f4a9994c6a87ebda95  gcc/testsuite/gcc.dg/vec-andxor1.c
! 11a469ba8b98572d9d2160543b95ce39  gcc/testsuite/gcc.dg/vec-perm-lower.c
  f15a087d2d1b7f1cc41a5b0473154ebc  gcc/testsuite/gcc.dg/vect/O-pr46167.c
  6830ebc59ec37676c0ffa608cbbf0dbf  gcc/testsuite/gcc.dg/vect/O1-pr33854.c
  7f512dc347a6a290aad93ca27e40d3cf  gcc/testsuite/gcc.dg/vect/O1-pr41008.c
--- 54549,54555 ----
  69a1c3531ab884c6c7e1fbc875e956bc  gcc/testsuite/gcc.dg/variable-sized-type-flex-array.c
  7f29aa4616378fb72f7fab614907128d  gcc/testsuite/gcc.dg/varpool-1.c
  d8ef65c736eef2f4a9994c6a87ebda95  gcc/testsuite/gcc.dg/vec-andxor1.c
! 676e89c6b3d0e18d0a9ec4b5f95072e9  gcc/testsuite/gcc.dg/vec-perm-lower.c
  f15a087d2d1b7f1cc41a5b0473154ebc  gcc/testsuite/gcc.dg/vect/O-pr46167.c
  6830ebc59ec37676c0ffa608cbbf0dbf  gcc/testsuite/gcc.dg/vect/O1-pr33854.c
  7f512dc347a6a290aad93ca27e40d3cf  gcc/testsuite/gcc.dg/vect/O1-pr41008.c
*************** e1b2eb478168430cebc92bdd9d62b8c1  gcc/te
*** 68742,68747 ****
--- 68747,68753 ----
  0d57054a27e8f45b06571358f92c481b  gcc/testsuite/gcc.target/avr/torture/builtins-5-countlsfx.c
  0628f66d299ecca3619e823e3cc62896  gcc/testsuite/gcc.target/avr/torture/builtins-error.c
  c458c2462e23a4c58a7e4d05b6200907  gcc/testsuite/gcc.target/avr/torture/fix-types.h
+ d6efd3669f0c09d708be294666e58d98  gcc/testsuite/gcc.target/avr/torture/fx-to-double.c
  7859ec67a3dd2a6736649029fb384a2b  gcc/testsuite/gcc.target/avr/torture/get-mem.c
  80f19a686eb7d8fa81e0ee3daf68fc5c  gcc/testsuite/gcc.target/avr/torture/insv-anyshift-hi.c
  ae0e4639aab784faf6d9790cd216e5af  gcc/testsuite/gcc.target/avr/torture/insv-anyshift-si.c
*************** dc0d018c7ef4988da05274a87a491db9  gcc/te
*** 103965,103970 ****
--- 103971,103977 ----
  f1da017e79e481af350005333250268b  gcc/testsuite/gnat.dg/bias2.adb
  aae39b549f5bb7a2b837495c637aaa94  gcc/testsuite/gnat.dg/biased_subtype.adb
  9bbc182ee19d36c4abbd7d6046ac5664  gcc/testsuite/gnat.dg/biased_uc.adb
+ e075dee38216366d67c6249860794304  gcc/testsuite/gnat.dg/bigint1.adb
  faf4a0c852ea85d2eab4ec4413be5fba  gcc/testsuite/gnat.dg/bip_aggregate_bug.adb
  8207ec6dfb08b203e67809b4591cc486  gcc/testsuite/gnat.dg/bip_case_expr.adb
  0dd427e9ad2957343c4c86027593a8a0  gcc/testsuite/gnat.dg/bip_case_expr_pkg.ads
*************** f37d4791cfa22e9a20848922ea5de498  gcc/te
*** 106317,106323 ****
  b760f8c4f0593565426879b84ab6787b  gcc/testsuite/go.go-torture/execute/var-1.go
  55c3fdb5eab9130c79b8548c994aa8d9  gcc/testsuite/go.go-torture/execute/var-2.go
  ac0017eb534302ec5987291f615d13ca  gcc/testsuite/go.go-torture/execute/var-3.go
! e3794309b5080518186c09c15068e470  gcc/testsuite/go.test/go-test.exp
  88c59e0bc9f2a79ed3a3e8f1409ed1d8  gcc/testsuite/go.test/test/235.go
  1a94dd86d2262280f883261800a13104  gcc/testsuite/go.test/test/64bit.go
  43e15a8d565d16ab908b7cf6db8e0bf9  gcc/testsuite/go.test/test/README.gcc
--- 106324,106330 ----
  b760f8c4f0593565426879b84ab6787b  gcc/testsuite/go.go-torture/execute/var-1.go
  55c3fdb5eab9130c79b8548c994aa8d9  gcc/testsuite/go.go-torture/execute/var-2.go
  ac0017eb534302ec5987291f615d13ca  gcc/testsuite/go.go-torture/execute/var-3.go
! 14430fc68a3e1dcc77761b38e45a50e3  gcc/testsuite/go.test/go-test.exp
  88c59e0bc9f2a79ed3a3e8f1409ed1d8  gcc/testsuite/go.test/test/235.go
  1a94dd86d2262280f883261800a13104  gcc/testsuite/go.test/test/64bit.go
  43e15a8d565d16ab908b7cf6db8e0bf9  gcc/testsuite/go.test/test/README.gcc
*************** c4d8ec89484f8330ae0008d131fedf28  gcc/te
*** 108476,108483 ****
  192f15a6eb39416f8b8e16eb34ed9a7e  gcc/testsuite/lib/go.exp
  4818c4d4e4a63feda289f71aa5a2d3db  gcc/testsuite/lib/hwasan-dg.exp
  9475e0aa30a10d97a49791330297036d  gcc/testsuite/lib/lto.exp
! d5c788891580183c0162d61bee2606c9  gcc/testsuite/lib/mike-g++.exp
! 7b1a3e5d995ace232fab35f5c2bc144d  gcc/testsuite/lib/mike-gcc.exp
  8d644e83696b168db4e275e7aae92821  gcc/testsuite/lib/modules.exp
  92df4f87906c4d71538784825bd16300  gcc/testsuite/lib/multiline.exp
  e7dfc093129242634d55f5be6acfaf2f  gcc/testsuite/lib/obj-c++-dg.exp
--- 108483,108490 ----
  192f15a6eb39416f8b8e16eb34ed9a7e  gcc/testsuite/lib/go.exp
  4818c4d4e4a63feda289f71aa5a2d3db  gcc/testsuite/lib/hwasan-dg.exp
  9475e0aa30a10d97a49791330297036d  gcc/testsuite/lib/lto.exp
! a4a6992257395e3afa42884111a95f18  gcc/testsuite/lib/mike-g++.exp
! fe1a6ab4bb07f8c408ef8ab7e4884300  gcc/testsuite/lib/mike-gcc.exp
  8d644e83696b168db4e275e7aae92821  gcc/testsuite/lib/modules.exp
  92df4f87906c4d71538784825bd16300  gcc/testsuite/lib/multiline.exp
  e7dfc093129242634d55f5be6acfaf2f  gcc/testsuite/lib/obj-c++-dg.exp
*************** bc9dfcfd3ace745977bff39c9f652d8b  gcc/tr
*** 110727,110733 ****
  46d17810ce8ff6e8a1eebf89645eb941  gcc/tree-ssa-scopedtables.cc
  1da39bc41633a7721b894ea76af3f6ca  gcc/tree-ssa-scopedtables.h
  5fd4dbd0469a4e81b1036fc3449f791d  gcc/tree-ssa-sink.cc
! 384c25a58f1e0b2a569e8a934e2236a5  gcc/tree-ssa-strlen.cc
  99d54f633ea0ea6b7eb29b8647a88ae6  gcc/tree-ssa-strlen.h
  6246519dfe31c0aa958072ba15762528  gcc/tree-ssa-structalias.cc
  1a410ed280c0cf57c44dd25b73c91998  gcc/tree-ssa-tail-merge.cc
--- 110734,110740 ----
  46d17810ce8ff6e8a1eebf89645eb941  gcc/tree-ssa-scopedtables.cc
  1da39bc41633a7721b894ea76af3f6ca  gcc/tree-ssa-scopedtables.h
  5fd4dbd0469a4e81b1036fc3449f791d  gcc/tree-ssa-sink.cc
! 160e95c3020657872540ea37e9ec2733  gcc/tree-ssa-strlen.cc
  99d54f633ea0ea6b7eb29b8647a88ae6  gcc/tree-ssa-strlen.h
  6246519dfe31c0aa958072ba15762528  gcc/tree-ssa-structalias.cc
  1a410ed280c0cf57c44dd25b73c91998  gcc/tree-ssa-tail-merge.cc
*************** c7b2e09c1a819d37ab91db3294159732  libgcc
*** 111766,111785 ****
  b7792b93ec270f682ce38eb52297254e  libgcc/config/avr/lib2funcs.c
  ab2ffec49fef3d39e9c6f1ae99636541  libgcc/config/avr/libf7/ChangeLog
  159c564e8ed539925b0a82879e077648  libgcc/config/avr/libf7/asm-defs.h
! 7a562dc89f8d63e5a7d235666268e2b4  libgcc/config/avr/libf7/f7-renames.h
  242b56b2def38ab8671130aa24953e46  libgcc/config/avr/libf7/f7-wraps.h
  b9901623ec29c1c4dd98d6fae040518c  libgcc/config/avr/libf7/f7renames.sh
  4026813a3a56ecdf28b1fe38fc63cdec  libgcc/config/avr/libf7/f7wraps.sh
  b6e24d20e3f00cbfe5078999558011c5  libgcc/config/avr/libf7/libf7-array.def
  5d9def53110ec07e8f29e66d593d758f  libgcc/config/avr/libf7/libf7-asm-object.mk
! 865c42d81ebcb9d3b4bdd6760fad0117  libgcc/config/avr/libf7/libf7-asm.sx
  6b4886ae302fca1fa733831066c5c830  libgcc/config/avr/libf7/libf7-c-object.mk
! 021ea561bcc2bc07286c89e312af685b  libgcc/config/avr/libf7/libf7-common.mk
  c29107694f22e1434011033331235b51  libgcc/config/avr/libf7/libf7-const.def
  e55ce8934ace33b814bf03fbbfd9ba5f  libgcc/config/avr/libf7/libf7-constdef.h
! 31a638f6449e0aae209af7e0fc5c964c  libgcc/config/avr/libf7/libf7.c
  ed6f3fd8579fc38947541f372f4f21b4  libgcc/config/avr/libf7/libf7.h
! 606c568e8f2d692bc5762eaba8d8e7b0  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
  761826027ebb1cfbb089d23904494606  libgcc/config/avr/libf7/t-libf7-math-symbols
  80fc1df82f5ed30353db097c723cccd7  libgcc/config/avr/t-avr
--- 111773,111792 ----
  b7792b93ec270f682ce38eb52297254e  libgcc/config/avr/lib2funcs.c
  ab2ffec49fef3d39e9c6f1ae99636541  libgcc/config/avr/libf7/ChangeLog
  159c564e8ed539925b0a82879e077648  libgcc/config/avr/libf7/asm-defs.h
! 17424a1d9a928496654a70920fd02bc1  libgcc/config/avr/libf7/f7-renames.h
  242b56b2def38ab8671130aa24953e46  libgcc/config/avr/libf7/f7-wraps.h
  b9901623ec29c1c4dd98d6fae040518c  libgcc/config/avr/libf7/f7renames.sh
  4026813a3a56ecdf28b1fe38fc63cdec  libgcc/config/avr/libf7/f7wraps.sh
  b6e24d20e3f00cbfe5078999558011c5  libgcc/config/avr/libf7/libf7-array.def
  5d9def53110ec07e8f29e66d593d758f  libgcc/config/avr/libf7/libf7-asm-object.mk
! 6efa2c3b6b255fc1f0371e5e9efc172f  libgcc/config/avr/libf7/libf7-asm.sx
  6b4886ae302fca1fa733831066c5c830  libgcc/config/avr/libf7/libf7-c-object.mk
! 7b524c1023cb08a1135fc21df268afcc  libgcc/config/avr/libf7/libf7-common.mk
  c29107694f22e1434011033331235b51  libgcc/config/avr/libf7/libf7-const.def
  e55ce8934ace33b814bf03fbbfd9ba5f  libgcc/config/avr/libf7/libf7-constdef.h
! 64a8893c324757d90dc66b40b42ce596  libgcc/config/avr/libf7/libf7.c
  ed6f3fd8579fc38947541f372f4f21b4  libgcc/config/avr/libf7/libf7.h
! a60f4b9ec013d4cb81e74678015675e2  libgcc/config/avr/libf7/t-libf7
  bf9360cfc14e0b0129af5560893f374e  libgcc/config/avr/libf7/t-libf7-math
  761826027ebb1cfbb089d23904494606  libgcc/config/avr/libf7/t-libf7-math-symbols
  80fc1df82f5ed30353db097c723cccd7  libgcc/config/avr/t-avr
*************** d828e38384c506bf5e7d5a3c02725a37  libssp
*** 124007,124013 ****
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 55a05cdbf9f0224ac4d1d03d2b11554b  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 124014,124020 ----
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 824ecf2c35bb36b3b456b5b0af0cbfbe  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** a7e081671330fd3d6d40ef990c3a9db5  libstd
*** 124768,124774 ****
  033b17331af0c0e562ea71bc3e994022  libstdc++-v3/include/bits/regex.tcc
  c65f82851918475e6746a168a05feebc  libstdc++-v3/include/bits/regex_automaton.h
  9cee0eb35fa466590222459a3d2f6822  libstdc++-v3/include/bits/regex_automaton.tcc
! 9482c7d6ba7ea71c2b873bf8a81b7e9a  libstdc++-v3/include/bits/regex_compiler.h
  f64f26ffe7d3c4e14c3fc9498ff3ac07  libstdc++-v3/include/bits/regex_compiler.tcc
  9f5e9a67270f2372eb2a6c027d50d2c3  libstdc++-v3/include/bits/regex_constants.h
  ae4e407ef9be06b744708e5b1513d43f  libstdc++-v3/include/bits/regex_error.h
--- 124775,124781 ----
  033b17331af0c0e562ea71bc3e994022  libstdc++-v3/include/bits/regex.tcc
  c65f82851918475e6746a168a05feebc  libstdc++-v3/include/bits/regex_automaton.h
  9cee0eb35fa466590222459a3d2f6822  libstdc++-v3/include/bits/regex_automaton.tcc
! 0aef1b434b146f4615b143df20bb7da0  libstdc++-v3/include/bits/regex_compiler.h
  f64f26ffe7d3c4e14c3fc9498ff3ac07  libstdc++-v3/include/bits/regex_compiler.tcc
  9f5e9a67270f2372eb2a6c027d50d2c3  libstdc++-v3/include/bits/regex_constants.h
  ae4e407ef9be06b744708e5b1513d43f  libstdc++-v3/include/bits/regex_error.h
diff -Nrcpad gcc-14-20260604/gcc/ChangeLog gcc-14-20260611/gcc/ChangeLog
*** gcc-14-20260604/gcc/ChangeLog	Thu Jun  4 22:32:05 2026
--- gcc-14-20260611/gcc/ChangeLog	Thu Jun 11 22:32:05 2026
***************
*** 1,3 ****
--- 1,52 ----
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/125079
+ 	* tree-ssa-strlen.cc (get_string_length): Transform
+ 	__strcat_chk (x, y, z) when we need strlen (x) afterwards into
+ 	l1 = strlen (x); l = __stpcpy_chk (x + l1, y, z - l1) - x;
+ 	where l is the strlen (x), instead of using z as last __stpcpy_chk
+ 	argument.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/125039
+ 	* range-op-float.cc (operator_not_equal::fold_range): Call
+ 	empty_range_varying when not calling frelop_early_resolve.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/124133
+ 	* config/rs6000/rs6000-c.cc (c_fold_convert): New function.
+ 	(c_fold_build2_loc): Likewise.
+ 	(fully_fold_convert): Use c_fold_convert instead of fold_convert.
+ 	(altivec_build_resolved_builtin): Likewise.  Use c_fold_build2_loc
+ 	instead of fold_build2.
+ 	(resolve_vec_mul, resolve_vec_adde_sube, resolve_vec_addec_subec):
+ 	Use c_fold_build2_loc instead of fold_build2_loc.
+ 	(resolve_vec_splats, resolve_vec_extract): Use c_fold_convert instead
+ 	of fold_convert.
+ 	(resolve_vec_insert): Use c_fold_build2_loc instead of fold_build2.
+ 	(altivec_resolve_overloaded_builtin): Use c_fold_convert instead
+ 	of fold_convert.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/124826
+ 	* gimple-lower-bitint.cc (bitint_large_huge::handle_load): Look through
+ 	BIT_FIELD_REF with zero bit offset.
+ 
  2026-06-03  Xi Ruoyao  <xry111@xry111.site>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260604/gcc/DATESTAMP gcc-14-20260611/gcc/DATESTAMP
*** gcc-14-20260604/gcc/DATESTAMP	Thu Jun  4 22:32:05 2026
--- gcc-14-20260611/gcc/DATESTAMP	Thu Jun 11 22:32:05 2026
***************
*** 1 ****
! 20260604
--- 1 ----
! 20260611
diff -Nrcpad gcc-14-20260604/gcc/ada/ChangeLog gcc-14-20260611/gcc/ada/ChangeLog
*** gcc-14-20260604/gcc/ada/ChangeLog	Thu Jun  4 22:32:05 2026
--- gcc-14-20260611/gcc/ada/ChangeLog	Thu Jun 11 22:32:05 2026
***************
*** 1,3 ****
--- 1,9 ----
+ 2026-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/125695
+ 	* libgnat/s-genbig.adb ("**"): Do not drop the sign on the floor.
+ 	(Big_Exp): Take into account the parity of the exponent for -2.
+ 
  2026-04-30  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/125044
diff -Nrcpad gcc-14-20260604/gcc/ada/libgnat/s-genbig.adb gcc-14-20260611/gcc/ada/libgnat/s-genbig.adb
*** gcc-14-20260604/gcc/ada/libgnat/s-genbig.adb	Thu Jun  4 22:32:05 2026
--- gcc-14-20260611/gcc/ada/libgnat/s-genbig.adb	Thu Jun 11 22:32:05 2026
*************** package body System.Generic_Bignums is
*** 262,268 ****
           --  X ** 1 is X
  
           when 1 =>
!             return Normalize (X.D);
  
           --  X ** 2 is X * X
  
--- 262,268 ----
           --  X ** 1 is X
  
           when 1 =>
!             return Normalize (X.D, X.Neg);
  
           --  X ** 2 is X * X
  
*************** package body System.Generic_Bignums is
*** 331,344 ****
        elsif Y.Len > 1 then
           raise Storage_Error with "exponentiation result is too large";
  
!       --  Special case (+/-)2 ** K, where K is 1 .. 31 using a shift
  
        elsif X.Len = 1 and then X.D (1) = 2 and then Y.D (1) < 32 then
           declare
              D : constant Digit_Vector (1 .. 1) :=
                    [Shift_Left (SD'(1), Natural (Y.D (1)))];
           begin
!             return Normalize (D, X.Neg);
           end;
  
        --  Remaining cases have right operand of one word
--- 331,344 ----
        elsif Y.Len > 1 then
           raise Storage_Error with "exponentiation result is too large";
  
!       --  Special case (+/-)2 ** K, where K is in 1 .. 31, using a left shift
  
        elsif X.Len = 1 and then X.D (1) = 2 and then Y.D (1) < 32 then
           declare
              D : constant Digit_Vector (1 .. 1) :=
                    [Shift_Left (SD'(1), Natural (Y.D (1)))];
           begin
!             return Normalize (D, X.Neg and then (Y.D (1) and 1) = 1);
           end;
  
        --  Remaining cases have right operand of one word
diff -Nrcpad gcc-14-20260604/gcc/config/avr/avr.cc gcc-14-20260611/gcc/config/avr/avr.cc
*** gcc-14-20260604/gcc/config/avr/avr.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/config/avr/avr.cc	Thu Jun 11 22:32:06 2026
*************** avr_out_fract (rtx_insn *insn, rtx opera
*** 10420,10426 ****
  	{
  	  avr_asm_len ("clr __tmp_reg__" CR_TAB
  		       "sbrc %1,0"       CR_TAB
! 		       "dec __tmp_reg__", xop, plen, 1);
  	  sn = src.regno;
  	  if (sn < s0)
  	    {
--- 10420,10426 ----
  	{
  	  avr_asm_len ("clr __tmp_reg__" CR_TAB
  		       "sbrc %1,0"       CR_TAB
! 		       "dec __tmp_reg__", xop, plen, 3);
  	  sn = src.regno;
  	  if (sn < s0)
  	    {
*************** avr_out_fract (rtx_insn *insn, rtx opera
*** 10435,10441 ****
  	    avr_asm_len ("clt"                CR_TAB
  			 "bld __tmp_reg__,7"  CR_TAB
  			 "adc %0,__tmp_reg__",
! 			 &all_regs_rtx[s0], plen, 1);
  	  else
  	    avr_asm_len ("lsr __tmp_reg" CR_TAB
  			 "add %0,__tmp_reg__",
--- 10435,10441 ----
  	    avr_asm_len ("clt"                CR_TAB
  			 "bld __tmp_reg__,7"  CR_TAB
  			 "adc %0,__tmp_reg__",
! 			 &all_regs_rtx[s0], plen, 3);
  	  else
  	    avr_asm_len ("lsr __tmp_reg" CR_TAB
  			 "add %0,__tmp_reg__",
*************** avr_out_fract (rtx_insn *insn, rtx opera
*** 10634,10641 ****
  	  xop[2] = all_regs_rtx[s0];
  	  if (!lsb_in_tmp_reg && !MAY_CLOBBER (s0))
  	    avr_asm_len ("mov __tmp_reg__,%2", xop, plen, 1);
! 	  avr_asm_len ("tst %0" CR_TAB "brpl 0f",
! 		       &all_regs_rtx[src.regno_msb], plen, 2);
  	  if (!lsb_in_tmp_reg)
  	    {
  	      unsigned sn = src.regno;
--- 10634,10641 ----
  	  xop[2] = all_regs_rtx[s0];
  	  if (!lsb_in_tmp_reg && !MAY_CLOBBER (s0))
  	    avr_asm_len ("mov __tmp_reg__,%2", xop, plen, 1);
! 	  avr_asm_len ("tst %0" CR_TAB
! 		       "brpl 0f", &all_regs_rtx[src.regno_msb], plen, 2);
  	  if (!lsb_in_tmp_reg)
  	    {
  	      unsigned sn = src.regno;
diff -Nrcpad gcc-14-20260604/gcc/config/rs6000/rs6000-c.cc gcc-14-20260611/gcc/config/rs6000/rs6000-c.cc
*** gcc-14-20260604/gcc/config/rs6000/rs6000-c.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/config/rs6000/rs6000-c.cc	Thu Jun 11 22:32:06 2026
*************** rs6000_builtin_type_compatible (tree par
*** 835,848 ****
    return lang_hooks.types_compatible_p (parmtype, argtype);
  }
  
! /* In addition to calling fold_convert for EXPR of type TYPE, also
     call c_fully_fold to remove any C_MAYBE_CONST_EXPRs that could be
     hiding there (PR47197).  */
  
  static tree
  fully_fold_convert (tree type, tree expr)
  {
!   tree result = fold_convert (type, expr);
    bool maybe_const = true;
  
    if (!c_dialect_cxx ())
--- 835,874 ----
    return lang_hooks.types_compatible_p (parmtype, argtype);
  }
  
! /* Return fold_convert (TYPE, EXPR) for C and convert (TYPE, EXPR)
!    for C++.  The latter is needed because resolve_overloaded_builtin
!    can be called when parsing templates too if they don't have type
!    dependent operands, but the nested trees might not be usable in
!    GENERIC folding.  */
! 
! static tree
! c_fold_convert (tree type, tree expr)
! {
!   return c_dialect_cxx () ? convert (type, expr) : fold_convert (type, expr);
! }
! 
! /* Similar wrapper for fold_build2_loc.  For C++ just call build2_loc.  */
! 
! static tree
! c_fold_build2_loc (location_t loc, enum tree_code code, tree type, tree arg0,
! 		   tree arg1)
! {
!   if (!c_dialect_cxx ())
!     return fold_build2_loc (loc, code, type, arg0, arg1);
!   else if (loc != UNKNOWN_LOCATION)
!     return build2_loc (loc, code, type, arg0, arg1);
!   else
!     return build2 (code, type, arg0, arg1);
! }
! 
! /* In addition to calling c_fold_convert for EXPR of type TYPE, also
     call c_fully_fold to remove any C_MAYBE_CONST_EXPRs that could be
     hiding there (PR47197).  */
  
  static tree
  fully_fold_convert (tree type, tree expr)
  {
!   tree result = c_fold_convert (type, expr);
    bool maybe_const = true;
  
    if (!c_dialect_cxx ())
*************** fully_fold_convert (tree type, tree expr
*** 855,861 ****
     The overloaded builtin that matched the types and args is described
     by DESC.  The N arguments are given in ARGS, respectively.
  
!    Actually the only thing it does is calling fold_convert on ARGS, with
     a small exception for vec_{all,any}_{ge,le} predicates. */
  
  static tree
--- 881,887 ----
     The overloaded builtin that matched the types and args is described
     by DESC.  The N arguments are given in ARGS, respectively.
  
!    Actually the only thing it does is calling c_fold_convert on ARGS, with
     a small exception for vec_{all,any}_{ge,le} predicates. */
  
  static tree
*************** altivec_build_resolved_builtin (tree *ar
*** 891,898 ****
        std::swap (args[1], args[2]);
        std::swap (arg_type[1], arg_type[2]);
  
!       args[0] = fold_build2 (BIT_XOR_EXPR, TREE_TYPE (args[0]), args[0],
! 			     build_int_cst (NULL_TREE, 2));
      }
  
    for (int j = 0; j < n; j++)
--- 917,925 ----
        std::swap (args[1], args[2]);
        std::swap (arg_type[1], arg_type[2]);
  
!       args[0] = c_fold_build2_loc (UNKNOWN_LOCATION, BIT_XOR_EXPR,
! 				   TREE_TYPE (args[0]), args[0],
! 				   build_int_cst (NULL_TREE, 2));
      }
  
    for (int j = 0; j < n; j++)
*************** altivec_build_resolved_builtin (tree *ar
*** 923,929 ****
      default:
        gcc_unreachable ();
      }
!   return fold_convert (ret_type, call);
  }
  
  /* Enumeration of possible results from attempted overload resolution.
--- 950,956 ----
      default:
        gcc_unreachable ();
      }
!   return c_fold_convert (ret_type, call);
  }
  
  /* Enumeration of possible results from attempted overload resolution.
*************** resolve_vec_mul (resolution *res, tree *
*** 964,971 ****
      case E_TImode:
        /* For scalar types just use a multiply expression.  */
        *res = resolved;
!       return fold_build2_loc (loc, MULT_EXPR, types[0], args[0],
! 			      fold_convert (types[0], args[1]));
      case E_SFmode:
        {
  	/* For floats use the xvmulsp instruction directly.  */
--- 991,998 ----
      case E_TImode:
        /* For scalar types just use a multiply expression.  */
        *res = resolved;
!       return c_fold_build2_loc (loc, MULT_EXPR, types[0], args[0],
! 				c_fold_convert (types[0], args[1]));
      case E_SFmode:
        {
  	/* For floats use the xvmulsp instruction directly.  */
*************** resolve_vec_adde_sube (resolution *res,
*** 1108,1115 ****
  							params);
  	tree const1 = build_int_cstu (TREE_TYPE (types[0]), 1);
  	tree ones_vector = build_vector_from_val (types[0], const1);
! 	tree and_expr = fold_build2_loc (loc, BIT_AND_EXPR, types[0],
! 					 args[2], ones_vector);
  	params = make_tree_vector ();
  	vec_safe_push (params, call);
  	vec_safe_push (params, and_expr);
--- 1135,1142 ----
  							params);
  	tree const1 = build_int_cstu (TREE_TYPE (types[0]), 1);
  	tree ones_vector = build_vector_from_val (types[0], const1);
! 	tree and_expr = c_fold_build2_loc (loc, BIT_AND_EXPR, types[0],
! 					   args[2], ones_vector);
  	params = make_tree_vector ();
  	vec_safe_push (params, call);
  	vec_safe_push (params, and_expr);
*************** resolve_vec_addec_subec (resolution *res
*** 1194,1201 ****
  							 params);
  	tree const1 = build_int_cstu (TREE_TYPE (types[0]), 1);
  	tree ones_vector = build_vector_from_val (types[0], const1);
! 	tree and_expr = fold_build2_loc (loc, BIT_AND_EXPR, types[0],
! 					 args[2], ones_vector);
  	params = make_tree_vector ();
  	vec_safe_push (params, call2);
  	vec_safe_push (params, and_expr);
--- 1221,1228 ----
  							 params);
  	tree const1 = build_int_cstu (TREE_TYPE (types[0]), 1);
  	tree ones_vector = build_vector_from_val (types[0], const1);
! 	tree and_expr = c_fold_build2_loc (loc, BIT_AND_EXPR, types[0],
! 					   args[2], ones_vector);
  	params = make_tree_vector ();
  	vec_safe_push (params, call2);
  	vec_safe_push (params, and_expr);
*************** resolve_vec_splats (resolution *res, rs6
*** 1303,1309 ****
        return error_mark_node;
      }
  
!   arg = save_expr (fold_convert (TREE_TYPE (type), arg));
    vec<constructor_elt, va_gc> *vec;
    vec_alloc (vec, size);
  
--- 1330,1336 ----
        return error_mark_node;
      }
  
!   arg = save_expr (c_fold_convert (TREE_TYPE (type), arg));
    vec<constructor_elt, va_gc> *vec;
    vec_alloc (vec, size);
  
*************** resolve_vec_extract (resolution *res, ve
*** 1442,1448 ****
  	  tree result = build_call_expr (call, 2, arg1, arg2);
  	  /* Coerce the result to vector element type.  May be no-op.  */
  	  arg1_inner_type = TREE_TYPE (arg1_type);
! 	  result = fold_convert (arg1_inner_type, result);
  	  *res = resolved;
  	  return result;
  	}
--- 1469,1475 ----
  	  tree result = build_call_expr (call, 2, arg1, arg2);
  	  /* Coerce the result to vector element type.  May be no-op.  */
  	  arg1_inner_type = TREE_TYPE (arg1_type);
! 	  result = c_fold_convert (arg1_inner_type, result);
  	  *res = resolved;
  	  return result;
  	}
*************** resolve_vec_insert (resolution *res, vec
*** 1606,1613 ****
    if (TARGET_VSX)
      {
        stmt = build_array_ref (loc, stmt, arg2);
!       stmt = fold_build2 (MODIFY_EXPR, TREE_TYPE (arg0), stmt,
! 			  convert (TREE_TYPE (stmt), arg0));
        stmt = build2 (COMPOUND_EXPR, arg1_type, stmt, decl);
      }
    else
--- 1633,1641 ----
    if (TARGET_VSX)
      {
        stmt = build_array_ref (loc, stmt, arg2);
!       stmt = c_fold_build2_loc (UNKNOWN_LOCATION, MODIFY_EXPR,
! 				TREE_TYPE (arg0), stmt,
! 				convert (TREE_TYPE (stmt), arg0));
        stmt = build2 (COMPOUND_EXPR, arg1_type, stmt, decl);
      }
    else
*************** altivec_resolve_overloaded_builtin (loca
*** 1831,1837 ****
  		     "const");
  	  type = build_qualified_type (TREE_TYPE (type), 0);
  	  type = build_pointer_type (type);
! 	  arg = fold_convert (type, arg);
  	}
  
        /* For RS6000_OVLD_VEC_LXVL, convert any const * to its non constant
--- 1859,1865 ----
  		     "const");
  	  type = build_qualified_type (TREE_TYPE (type), 0);
  	  type = build_pointer_type (type);
! 	  arg = c_fold_convert (type, arg);
  	}
  
        /* For RS6000_OVLD_VEC_LXVL, convert any const * to its non constant
*************** altivec_resolve_overloaded_builtin (loca
*** 1842,1848 ****
  	{
  	  type = build_qualified_type (TREE_TYPE (type), 0);
  	  type = build_pointer_type (type);
! 	  arg = fold_convert (type, arg);
  	}
  
        args[n] = arg;
--- 1870,1876 ----
  	{
  	  type = build_qualified_type (TREE_TYPE (type), 0);
  	  type = build_pointer_type (type);
! 	  arg = c_fold_convert (type, arg);
  	}
  
        args[n] = arg;
diff -Nrcpad gcc-14-20260604/gcc/cp/ChangeLog gcc-14-20260611/gcc/cp/ChangeLog
*** gcc-14-20260604/gcc/cp/ChangeLog	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/cp/ChangeLog	Thu Jun 11 22:32:06 2026
***************
*** 1,3 ****
--- 1,48 ----
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/125376
+ 	* coroutines.cc (register_local_var_uses): Ignore DECL_NAME for
+ 	name independent decls.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124850
+ 	* typeck.cc (cxx_mark_addressable): For DECL_ANON_UNION_VAR_P vars
+ 	also mark their DECL_VALUE_EXPR.
+ 
+ 2026-06-10  Yang Kun  <yangkun@disroot.org>
+ 
+ 	Backported from master:
+ 	2026-04-08  Yang Kun  <yangkun@disroot.org>
+ 
+ 	* parser.cc (cp_parser_omp_clause_proc_bind): Fix error message
+ 	(cp_parser_omp_clause_device_type): Likewise.
+ 
+ 2026-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	Revert:
+ 	2026-05-14  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 		    Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/123346
+ 	* constexpr.cc (init_subob_ctx): Do initialize new_ctx.ctor
+ 	for an empty union member.
+ 
+ 2026-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	Revert:
+ 	2026-05-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/125315
+ 	* constexpr.cc (init_subob_ctx): Allow both ctor and object
+ 	to be null for an empty subobject.
+ 
  2026-05-15  Jason Merrill  <jason@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260604/gcc/cp/constexpr.cc gcc-14-20260611/gcc/cp/constexpr.cc
*** gcc-14-20260604/gcc/cp/constexpr.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/cp/constexpr.cc	Thu Jun 11 22:32:06 2026
*************** init_subob_ctx (const constexpr_ctx *ctx
*** 5285,5306 ****
    if (!AGGREGATE_TYPE_P (type) && !VECTOR_TYPE_P (type))
      /* A non-aggregate member doesn't get its own CONSTRUCTOR.  */
      return;
- 
-   tree ctxtype = NULL_TREE;
-   if (ctx->ctor)
-     ctxtype = TREE_TYPE (ctx->ctor);
-   else if (ctx->object)
-     ctxtype = TREE_TYPE (ctx->object);
-   else
-     {
-       /* This can happen if the enclosing object is also an empty subobject
- 	 (c++/125315).  */
-       gcc_checking_assert (is_empty_class (type));
-       return;
-     }
- 
    if (VECTOR_TYPE_P (type)
!       && VECTOR_TYPE_P (ctxtype)
        && index == NULL_TREE)
      /* A vector inside of a vector CONSTRUCTOR, e.g. when a larger
         vector is constructed from smaller vectors, doesn't get its own
--- 5285,5292 ----
    if (!AGGREGATE_TYPE_P (type) && !VECTOR_TYPE_P (type))
      /* A non-aggregate member doesn't get its own CONSTRUCTOR.  */
      return;
    if (VECTOR_TYPE_P (type)
!       && VECTOR_TYPE_P (TREE_TYPE (ctx->ctor))
        && index == NULL_TREE)
      /* A vector inside of a vector CONSTRUCTOR, e.g. when a larger
         vector is constructed from smaller vectors, doesn't get its own
*************** init_subob_ctx (const constexpr_ctx *ctx
*** 5319,5328 ****
  	new_ctx.object = build_ctor_subob_ref (index, type, ctx->object);
      }
  
!   if (is_empty_class (type)
!       && TREE_CODE (ctxtype) != UNION_TYPE)
!     /* Leave ctor null for an empty subobject of a non-union class, they aren't
!        represented in the result of evaluation.  */
      new_ctx.ctor = NULL_TREE;
    else
      {
--- 5305,5313 ----
  	new_ctx.object = build_ctor_subob_ref (index, type, ctx->object);
      }
  
!   if (is_empty_class (type))
!     /* Leave ctor null for an empty subobject, they aren't represented in the
!        result of evaluation.  */
      new_ctx.ctor = NULL_TREE;
    else
      {
diff -Nrcpad gcc-14-20260604/gcc/cp/coroutines.cc gcc-14-20260611/gcc/cp/coroutines.cc
*** gcc-14-20260604/gcc/cp/coroutines.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/cp/coroutines.cc	Thu Jun 11 22:32:06 2026
*************** register_local_var_uses (tree *stmt, int
*** 4199,4204 ****
--- 4199,4206 ----
  	 identify them in the coroutine frame.  */
        tree lvname = DECL_NAME (lvar);
        char *buf = NULL;
+       if (name_independent_decl_p (lvar))
+ 	lvname = NULL_TREE;
  
        /* The outermost bind scope contains the artificial variables that
  	 we inject to implement the coro state machine.  We want to be able
diff -Nrcpad gcc-14-20260604/gcc/cp/parser.cc gcc-14-20260611/gcc/cp/parser.cc
*** gcc-14-20260604/gcc/cp/parser.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/cp/parser.cc	Thu Jun 11 22:32:06 2026
*************** cp_parser_omp_clause_proc_bind (cp_parse
*** 41827,41833 ****
    return c;
  
   invalid_kind:
!   cp_parser_error (parser, "invalid depend kind");
   resync_fail:
    cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
  					 /*or_comma=*/false,
--- 41827,41833 ----
    return c;
  
   invalid_kind:
!   cp_parser_error (parser, "invalid proc_bind kind");
   resync_fail:
    cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
  					 /*or_comma=*/false,
*************** cp_parser_omp_clause_device_type (cp_par
*** 41877,41883 ****
    return c;
  
   invalid_kind:
!   cp_parser_error (parser, "invalid depend kind");
   resync_fail:
    cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
  					 /*or_comma=*/false,
--- 41877,41883 ----
    return c;
  
   invalid_kind:
!   cp_parser_error (parser, "expected %<host%>, %<nohost%> or %<any%>");
   resync_fail:
    cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
  					 /*or_comma=*/false,
diff -Nrcpad gcc-14-20260604/gcc/cp/typeck.cc gcc-14-20260611/gcc/cp/typeck.cc
*** gcc-14-20260604/gcc/cp/typeck.cc	Thu Jun  4 22:32:06 2026
--- gcc-14-20260611/gcc/cp/typeck.cc	Thu Jun 11 22:32:06 2026
*************** cxx_mark_addressable (tree exp, bool arr
*** 8076,8081 ****
--- 8076,8085 ----
  		    || DECL_IN_AGGR_P (x) == 0
  		    || TREE_STATIC (x)
  		    || DECL_EXTERNAL (x));
+ 	if (VAR_P (x)
+ 	    && DECL_ANON_UNION_VAR_P (x)
+ 	    && !TREE_ADDRESSABLE (x))
+ 	  cxx_mark_addressable (DECL_VALUE_EXPR (x));
  	/* Fall through.  */
  
        case RESULT_DECL:
diff -Nrcpad gcc-14-20260604/gcc/gimple-lower-bitint.cc gcc-14-20260611/gcc/gimple-lower-bitint.cc
*** gcc-14-20260604/gcc/gimple-lower-bitint.cc	Thu Jun  4 22:32:07 2026
--- gcc-14-20260611/gcc/gimple-lower-bitint.cc	Thu Jun 11 22:32:06 2026
*************** bitint_large_huge::handle_load (gimple *
*** 1854,1859 ****
--- 1854,1863 ----
    edge eh_edge = NULL;
    gimple *g;
  
+   if (TREE_CODE (rhs1) == BIT_FIELD_REF
+       && integer_zerop (TREE_OPERAND (rhs1, 2)))
+     rhs1 = TREE_OPERAND (rhs1, 0);
+ 
    if (eh)
      {
        edge_iterator ei;
diff -Nrcpad gcc-14-20260604/gcc/range-op-float.cc gcc-14-20260611/gcc/range-op-float.cc
*** gcc-14-20260604/gcc/range-op-float.cc	Thu Jun  4 22:32:07 2026
--- gcc-14-20260611/gcc/range-op-float.cc	Thu Jun 11 22:32:07 2026
*************** operator_not_equal::fold_range (irange &
*** 759,764 ****
--- 759,767 ----
        // Avoid frelop_early_resolve() below as it could fold to FALSE
        // without regards to NANs.  This would be incorrect if trying
        // to fold x_5 != x_5 without prior knowledge of NANs.
+       // Still, if either operand is undefined, return VARYING.
+       if (empty_range_varying (r, type, op1, op2))
+ 	return true;
      }
    else if (frelop_early_resolve (r, type, op1, op2, trio, VREL_NE))
      return true;
diff -Nrcpad gcc-14-20260604/gcc/testsuite/ChangeLog gcc-14-20260611/gcc/testsuite/ChangeLog
*** gcc-14-20260604/gcc/testsuite/ChangeLog	Thu Jun  4 22:32:08 2026
--- gcc-14-20260611/gcc/testsuite/ChangeLog	Thu Jun 11 22:32:07 2026
***************
*** 1,3 ****
--- 1,107 ----
+ 2026-06-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-10-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.dg/vec-perm-lower.c: Add -Wno-psabi to dg-options.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/125376
+ 	* g++.dg/coroutines/pr125376.C: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/125079
+ 	* gcc.dg/strlenopt-97.c: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/125039
+ 	* gcc.c-torture/compile/pr125039.c: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/124133
+ 	* g++.target/powerpc/pr124133-1.C: New test.
+ 	* g++.target/powerpc/pr124133-2.C: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR testsuite/124682
+ 	* gcc.dg/torture/builtin-math-6.c (TESTIT_COMPLEX_R2_ISZ): Define.
+ 	(TESTIT_COMPLEX_R2_ALLNEG): Use TESTIT_COMPLEX_R2_ISZ instead of
+ 	TESTIT_COMPLEX_R2.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* go.test/go-test.exp (errchk): Use -translation binary instead of
+ 	-encoding binary for TCL 9 compatibility.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124850
+ 	* g++.dg/other/anon-union8.C: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-04-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/124826
+ 	* gcc.dg/bitint-128.c: New test.
+ 
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* lib/mike-gcc.exp (postbase): Use switch instead of case for
+ 	TCL 9 compatibility.
+ 	* lib/mike-g++.exp (postbase): Likewise.
+ 
+ 2026-06-10  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/bigint1.adb: New  test.
+ 
+ 2026-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	Revert:
+ 	2026-06-08  Egas Ribeiro  <egas.g.ribeiro@gmail.com>
+ 		    Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/123346
+ 	* g++.dg/cpp2a/constexpr-union10.C: New test.
+ 
+ 2026-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	Revert:
+ 	2026-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/125315
+ 	* g++.dg/cpp2a/no_unique_address16.C: New test.
+ 
  2026-06-03  Xi Ruoyao  <xry111@xry111.site>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.dg/coroutines/pr125376.C gcc-14-20260611/gcc/testsuite/g++.dg/coroutines/pr125376.C
*** gcc-14-20260604/gcc/testsuite/g++.dg/coroutines/pr125376.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/g++.dg/coroutines/pr125376.C	Thu Jun 11 22:32:08 2026
***************
*** 0 ****
--- 1,40 ----
+ // PR c++/125376
+ // { dg-do run { target c++26 } }
+ 
+ #include <coroutine>
+ 
+ struct task {
+   struct promise_type {
+     task get_return_object () noexcept { return {}; }
+     std::suspend_never initial_suspend () noexcept { return {}; }
+     std::suspend_never final_suspend ()   noexcept { return {}; }
+     void return_void () noexcept {}
+     void unhandled_exception () {}
+   };
+ };
+ 
+ struct A {
+   unsigned value = 42;
+   A () {}
+   ~A () { if (value != 42) __builtin_abort (); }
+ };
+ 
+ struct B {
+   unsigned value = 43;
+   B () {}
+   ~B () { if (value != 43) __builtin_abort (); }
+ };
+ 
+ task
+ foo ()
+ {
+   auto _ = A {};
+   auto _ = B {};
+   co_return;
+ }
+ 
+ int
+ main ()
+ {
+   foo ();
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C gcc-14-20260611/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C
*** gcc-14-20260604/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C	Thu Jun  4 22:32:10 2026
--- gcc-14-20260611/gcc/testsuite/g++.dg/cpp2a/constexpr-union10.C	Thu Jan  1 00:00:00 1970
***************
*** 1,8 ****
- // PR c++/123346
- // { dg-do compile { target c++20 } }
- struct Unit {};
- union Union { Unit unit; };
- constexpr Union make(Union&& other) {
-     return Union {.unit = other.unit };
- }
- constexpr Union u = make(Union { .unit = Unit{} });
--- 0 ----
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C gcc-14-20260611/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C
*** gcc-14-20260604/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C	Thu Jun  4 22:32:10 2026
--- gcc-14-20260611/gcc/testsuite/g++.dg/cpp2a/no_unique_address16.C	Thu Jan  1 00:00:00 1970
***************
*** 1,10 ****
- // PR c++/125315
- // { dg-do compile { target c++20 } }
- // { dg-prune-output "used but never defined" }
- 
- struct S{~S(){}};
- constexpr S& f(S& t);
- struct W{[[no_unique_address]]S v;};
- struct R:W{};
- S s;
- auto x=R{{f(s)}};
--- 0 ----
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.dg/other/anon-union8.C gcc-14-20260611/gcc/testsuite/g++.dg/other/anon-union8.C
*** gcc-14-20260604/gcc/testsuite/g++.dg/other/anon-union8.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/g++.dg/other/anon-union8.C	Thu Jun 11 22:32:08 2026
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/124850
+ // { dg-do compile }
+ 
+ static union { int i; };
+ int &r = i;
+ 
+ int
+ foo ()
+ {
+   return r;
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.target/powerpc/pr124133-1.C gcc-14-20260611/gcc/testsuite/g++.target/powerpc/pr124133-1.C
*** gcc-14-20260604/gcc/testsuite/g++.target/powerpc/pr124133-1.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/g++.target/powerpc/pr124133-1.C	Thu Jun 11 22:32:08 2026
***************
*** 0 ****
--- 1,12 ----
+ // PR target/124133
+ // { dg-options "-mdejagnu-cpu=power8 -mvsx" }
+ // { dg-require-effective-target powerpc_vsx }
+ 
+ typedef __INTPTR_TYPE__ intptr_t;
+ 
+ template <int>
+ void
+ foo (int x, short *y, intptr_t z)
+ {
+   __builtin_vec_vsx_ld ((x + z) * 2, y);
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/g++.target/powerpc/pr124133-2.C gcc-14-20260611/gcc/testsuite/g++.target/powerpc/pr124133-2.C
*** gcc-14-20260604/gcc/testsuite/g++.target/powerpc/pr124133-2.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/g++.target/powerpc/pr124133-2.C	Thu Jun 11 22:32:08 2026
***************
*** 0 ****
--- 1,14 ----
+ // PR target/124133
+ // { dg-options "-mdejagnu-cpu=power8 -mvsx -O2" }
+ // { dg-require-effective-target powerpc_vsx }
+ 
+ #include <altivec.h>
+ 
+ struct S { float d; unsigned char e[16]; };
+ 
+ template <typename T>
+ void
+ foo (const S *s)
+ {
+   vector signed char a = (vector signed char) vec_xl (0, s->e);
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.c-torture/compile/pr125039.c gcc-14-20260611/gcc/testsuite/gcc.c-torture/compile/pr125039.c
*** gcc-14-20260604/gcc/testsuite/gcc.c-torture/compile/pr125039.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/gcc.c-torture/compile/pr125039.c	Thu Jun 11 22:32:09 2026
***************
*** 0 ****
--- 1,12 ----
+ /* PR tree-optimization/125039 */
+ 
+ void
+ foo ()
+ {
+   double b = b, c = c;
+   if (c)
+     c = -c;
+   double d = b == c ? b : c;
+   if (c != d)
+     foo ();
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.dg/bitint-128.c gcc-14-20260611/gcc/testsuite/gcc.dg/bitint-128.c
*** gcc-14-20260604/gcc/testsuite/gcc.dg/bitint-128.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/gcc.dg/bitint-128.c	Thu Jun 11 22:32:09 2026
***************
*** 0 ****
--- 1,27 ----
+ /* PR tree-optimization/124826 */
+ /* { dg-do compile { target bitint } } */
+ /* { dg-options "-O2" } */
+ 
+ typedef float V __attribute__((vector_size (16 * sizeof (float))));
+ 
+ union {
+ #if __BITINT_MAXWIDTH__ >= 256
+   _BitInt(256) b;
+ #endif
+   V v;
+ } u;
+ 
+ void
+ foo (int c)
+ {
+   u.v -= c ? 0.f : 1.f;
+ #if __BITINT_MAXWIDTH__ >= 256
+   u.b *= c;
+ #endif
+ }
+ 
+ int
+ main ()
+ {
+   foo (2);
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.dg/strlenopt-97.c gcc-14-20260611/gcc/testsuite/gcc.dg/strlenopt-97.c
*** gcc-14-20260604/gcc/testsuite/gcc.dg/strlenopt-97.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/gcc.dg/strlenopt-97.c	Thu Jun 11 22:32:09 2026
***************
*** 0 ****
--- 1,33 ----
+ /* PR tree-optimization/125079 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fdump-tree-strlen1" } */
+ /* { dg-final { scan-tree-dump-times "__builtin___strcpy_chk \\\(" 1 "strlen1" } } */
+ /* { dg-final { scan-tree-dump-not "__builtin___strcpy_chk \\\(\[^\n\r]*, 64\\\)" "strlen1" } } */
+ /* { dg-final { scan-tree-dump-times "__builtin___stpcpy_chk \\\(" 1 "strlen1" } } */
+ /* { dg-final { scan-tree-dump-not "__builtin___stpcpy_chk \\\(\[^\n\r]*, 128\\\)" "strlen1" } } */
+ 
+ typedef __SIZE_TYPE__ size_t;
+ void foo (char *, int);
+ char *stpcpy (char *, const char *);
+ 
+ size_t
+ bar (char *r)
+ {
+   char buf[64];
+   foo (buf, 0);
+   size_t ret = __builtin_strlen (buf);
+   __builtin___strcat_chk (buf, r, 64);
+   foo (buf, 1);
+   return ret;
+ }
+ 
+ size_t
+ baz (char *r)
+ {
+   char buf[128];
+   foo (buf, 2);
+   __builtin___strcat_chk (buf, r, 128);
+   size_t ret = __builtin_strlen (buf);
+   foo (buf, 3);
+   return ret;
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.dg/torture/builtin-math-6.c gcc-14-20260611/gcc/testsuite/gcc.dg/torture/builtin-math-6.c
*** gcc-14-20260604/gcc/testsuite/gcc.dg/torture/builtin-math-6.c	Thu Jun  4 22:32:12 2026
--- gcc-14-20260611/gcc/testsuite/gcc.dg/torture/builtin-math-6.c	Thu Jun 11 22:32:09 2026
*************** extern void link_error(int, int);
*** 155,180 ****
      link_error(__LINE__, VAL_NUM); \
    } while (0)
  
! /* For complex numbers, call the TESTIT_COMPLEX_R2 macro for all
     combinations of neg and conj.  */
  #define TESTIT_COMPLEX_R2_ALLNEG(FUNC, ARG0, ARG1, RES1, RES2, RES3, RES4, RES5,\
   RES6, RES7, RES8, RES9, RES10, RES11, RES12, RES13, RES14, RES15, RES16) do{ \
!   TESTIT_COMPLEX_R2(1, FUNC, (_Complex float)(ARG0),(_Complex float)(ARG1), RES1);\
!   TESTIT_COMPLEX_R2(2, FUNC, (_Complex float)(ARG0),CONJ(ARG1), RES2); \
!   TESTIT_COMPLEX_R2(3, FUNC, (_Complex float)(ARG0),-(_Complex float)(ARG1), RES3); \
!   TESTIT_COMPLEX_R2(4, FUNC, (_Complex float)(ARG0),-CONJ(ARG1), RES4); \
!   TESTIT_COMPLEX_R2(5, FUNC, -(_Complex float)(ARG0),(_Complex float)(ARG1), RES5); \
!   TESTIT_COMPLEX_R2(6, FUNC, -(_Complex float)(ARG0),CONJ(ARG1), RES6); \
!   TESTIT_COMPLEX_R2(7, FUNC, -(_Complex float)(ARG0),-(_Complex float)(ARG1), RES7); \
!   TESTIT_COMPLEX_R2(8, FUNC, -(_Complex float)(ARG0),-CONJ(ARG1), RES8); \
!   TESTIT_COMPLEX_R2(9, FUNC, CONJ(ARG0),(_Complex float)(ARG1), RES9); \
!   TESTIT_COMPLEX_R2(10, FUNC, CONJ(ARG0),CONJ(ARG1), RES10); \
!   TESTIT_COMPLEX_R2(11, FUNC, CONJ(ARG0),-(_Complex float)(ARG1), RES11); \
!   TESTIT_COMPLEX_R2(12, FUNC, CONJ(ARG0),-CONJ(ARG1), RES12); \
!   TESTIT_COMPLEX_R2(13, FUNC, -CONJ(ARG0),(_Complex float)(ARG1), RES13); \
!   TESTIT_COMPLEX_R2(14, FUNC, -CONJ(ARG0),CONJ(ARG1), RES14); \
!   TESTIT_COMPLEX_R2(15, FUNC, -CONJ(ARG0),-(_Complex float)(ARG1), RES15); \
!   TESTIT_COMPLEX_R2(16, FUNC, -CONJ(ARG0),-CONJ(ARG1), RES16); \
  } while (0)
  
  int main (void)
--- 155,201 ----
      link_error(__LINE__, VAL_NUM); \
    } while (0)
  
! /* Similar to TESTIT_COMPLEX_R2, but doesn't check sign of imag part
!    if imag part is zero.  MPC between 1.3.1 and 1.4.0 changed the
!    handling of it.  */
! #define TESTIT_COMPLEX_R2_ISZ(VAL_NUM, FUNC, ARG0, ARG1, RES) do { \
!   if (COMPLEX_DIFF1PCT_F (__builtin_##FUNC##f(ARG0, ARG1), (RES)) \
!       || CKSGN_F (__real__ (__builtin_##FUNC##f(ARG0, ARG1)), __real__ (RES)) \
!       || (__imag__ (RES) != 0 \
! 	  && CKSGN_F (__imag__ (__builtin_##FUNC##f(ARG0, ARG1)), __imag__ (RES)))) \
!     link_error(__LINE__, VAL_NUM); \
!   if (COMPLEX_DIFF1PCT (__builtin_##FUNC(ARG0, ARG1), (RES)) \
!       || CKSGN (__real__ (__builtin_##FUNC(ARG0, ARG1)), __real__ (RES)) \
!       || (__imag__ (RES) != 0 \
! 	  && CKSGN (__imag__ (__builtin_##FUNC(ARG0, ARG1)), __imag__ (RES)))) \
!     link_error(__LINE__, VAL_NUM); \
!   if (COMPLEX_DIFF1PCT_L (__builtin_##FUNC##l(ARG0, ARG1), (RES)) \
!       || CKSGN_L (__real__ (__builtin_##FUNC##l(ARG0, ARG1)), __real__ (RES)) \
!       || (__imag__ (RES) != 0 \
! 	  && CKSGN_L (__imag__ (__builtin_##FUNC##l(ARG0, ARG1)), __imag__ (RES)))) \
!     link_error(__LINE__, VAL_NUM); \
!   } while (0)
! 
! /* For complex numbers, call the TESTIT_COMPLEX_R2_ISZ macro for all
     combinations of neg and conj.  */
  #define TESTIT_COMPLEX_R2_ALLNEG(FUNC, ARG0, ARG1, RES1, RES2, RES3, RES4, RES5,\
   RES6, RES7, RES8, RES9, RES10, RES11, RES12, RES13, RES14, RES15, RES16) do{ \
!   TESTIT_COMPLEX_R2_ISZ(1, FUNC, (_Complex float)(ARG0),(_Complex float)(ARG1), RES1);\
!   TESTIT_COMPLEX_R2_ISZ(2, FUNC, (_Complex float)(ARG0),CONJ(ARG1), RES2); \
!   TESTIT_COMPLEX_R2_ISZ(3, FUNC, (_Complex float)(ARG0),-(_Complex float)(ARG1), RES3); \
!   TESTIT_COMPLEX_R2_ISZ(4, FUNC, (_Complex float)(ARG0),-CONJ(ARG1), RES4); \
!   TESTIT_COMPLEX_R2_ISZ(5, FUNC, -(_Complex float)(ARG0),(_Complex float)(ARG1), RES5); \
!   TESTIT_COMPLEX_R2_ISZ(6, FUNC, -(_Complex float)(ARG0),CONJ(ARG1), RES6); \
!   TESTIT_COMPLEX_R2_ISZ(7, FUNC, -(_Complex float)(ARG0),-(_Complex float)(ARG1), RES7); \
!   TESTIT_COMPLEX_R2_ISZ(8, FUNC, -(_Complex float)(ARG0),-CONJ(ARG1), RES8); \
!   TESTIT_COMPLEX_R2_ISZ(9, FUNC, CONJ(ARG0),(_Complex float)(ARG1), RES9); \
!   TESTIT_COMPLEX_R2_ISZ(10, FUNC, CONJ(ARG0),CONJ(ARG1), RES10); \
!   TESTIT_COMPLEX_R2_ISZ(11, FUNC, CONJ(ARG0),-(_Complex float)(ARG1), RES11); \
!   TESTIT_COMPLEX_R2_ISZ(12, FUNC, CONJ(ARG0),-CONJ(ARG1), RES12); \
!   TESTIT_COMPLEX_R2_ISZ(13, FUNC, -CONJ(ARG0),(_Complex float)(ARG1), RES13); \
!   TESTIT_COMPLEX_R2_ISZ(14, FUNC, -CONJ(ARG0),CONJ(ARG1), RES14); \
!   TESTIT_COMPLEX_R2_ISZ(15, FUNC, -CONJ(ARG0),-(_Complex float)(ARG1), RES15); \
!   TESTIT_COMPLEX_R2_ISZ(16, FUNC, -CONJ(ARG0),-CONJ(ARG1), RES16); \
  } while (0)
  
  int main (void)
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.dg/vec-perm-lower.c gcc-14-20260611/gcc/testsuite/gcc.dg/vec-perm-lower.c
*** gcc-14-20260604/gcc/testsuite/gcc.dg/vec-perm-lower.c	Thu Jun  4 22:32:12 2026
--- gcc-14-20260611/gcc/testsuite/gcc.dg/vec-perm-lower.c	Thu Jun 11 22:32:09 2026
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fgimple -O2" } */
  
  typedef char v8qi __attribute__ ((vector_size (8)));
  typedef char v16qi __attribute__ ((vector_size (16)));
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fgimple -O2 -Wno-psabi" } */
  
  typedef char v8qi __attribute__ ((vector_size (8)));
  typedef char v16qi __attribute__ ((vector_size (16)));
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gcc.target/avr/torture/fx-to-double.c gcc-14-20260611/gcc/testsuite/gcc.target/avr/torture/fx-to-double.c
*** gcc-14-20260604/gcc/testsuite/gcc.target/avr/torture/fx-to-double.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/gcc.target/avr/torture/fx-to-double.c	Thu Jun 11 22:32:10 2026
***************
*** 0 ****
--- 1,88 ----
+ /* { dg-do run { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ typedef long double DD;
+ 
+ typedef long long _Fract dq_t;
+ typedef long long _Accum ta_t;
+ typedef long _Accum da_t;
+ typedef unsigned long long _Fract udq_t;
+ typedef unsigned long long _Accum uta_t;
+ typedef unsigned long _Accum uda_t;
+ 
+ #define NI __attribute__((noipa))
+ 
+ #define MK_CONV(T)				\
+   NI DD T##2d (T##_t x)				\
+   {						\
+     __asm ("" : "+r" (x));			\
+     return (DD) x;				\
+   }						\
+ 						\
+   NI T##_t d2##T (DD x)				\
+   {						\
+     __asm ("" : "+r" (x));			\
+     return (T##_t) x;				\
+   }
+ 
+ 
+ MK_CONV (da)
+ MK_CONV (ta)
+ MK_CONV (dq)
+ 
+ MK_CONV (uda)
+ MK_CONV (uta)
+ MK_CONV (udq)
+ 
+ #define TEST(T)					\
+   do {						\
+     T##_t fx = d2##T (x);			\
+     DD y = T##2d (fx);				\
+     if (y != x)					\
+       __builtin_exit (__LINE__);		\
+   } while (0)
+ 
+ 
+ NI void test_s (DD x)
+ {
+   TEST (da);
+   TEST (ta);
+ 
+   if (x < 1.0L && x >= -1.0L)
+     TEST (dq);
+ }
+ 
+ 
+ NI void test_u (long double x)
+ {
+   TEST (uda);
+   TEST (uta);
+ 
+   if (x < 1.0L)
+     TEST (udq);
+ }
+ 
+ void test (DD x)
+ {
+   if (x >= 0)
+     test_u (x);
+ 
+   test_s (x);
+ }
+ 
+ int main (void)
+ {
+   test (+0.0L);
+   test (-0.0L);
+ 
+   test (+1.0L);
+   test (-1.0L);
+ 
+   test (-0x0.cafe123p0);
+   test (+0x0.cafe123p0);
+ 
+   test (+0x1234.cafe123p0);
+   test (-0x1234.cafe123p0);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-14-20260604/gcc/testsuite/gnat.dg/bigint1.adb gcc-14-20260611/gcc/testsuite/gnat.dg/bigint1.adb
*** gcc-14-20260604/gcc/testsuite/gnat.dg/bigint1.adb	Thu Jan  1 00:00:00 1970
--- gcc-14-20260611/gcc/testsuite/gnat.dg/bigint1.adb	Thu Jun 11 22:32:12 2026
***************
*** 0 ****
--- 1,27 ----
+ -- { dg-do run }
+ -- { dg-options "-gnat2022 -gnata" }
+ 
+ with Ada.Numerics.Big_Numbers.Big_Integers;
+ use Ada.Numerics.Big_Numbers.Big_Integers;
+ 
+ procedure Bigint1 is
+ 
+   Minus_One   : constant Big_Integer := To_Big_Integer (-1);
+   Minus_Two   : constant Big_Integer := To_Big_Integer (-2);
+   Minus_Three : constant Big_Integer := To_Big_Integer (-3);
+ 
+ begin
+ 
+   pragma Assert (Minus_One ** 1 = Minus_One);
+   pragma Assert (Minus_One ** 2 = To_Big_Integer (1));
+   pragma Assert (Minus_One ** 3 = Minus_One);
+ 
+   pragma Assert (Minus_Two ** 1 = Minus_Two);
+   pragma Assert (Minus_Two ** 2 = To_Big_Integer (4));
+   pragma Assert (Minus_Two ** 3 = To_Big_Integer (-8));
+ 
+   pragma Assert (Minus_Three ** 1 = Minus_Three);
+   pragma Assert (Minus_Three ** 2 = To_Big_Integer (9));
+   pragma Assert (Minus_Three ** 3 = To_Big_Integer (-27));
+ 
+ end;
diff -Nrcpad gcc-14-20260604/gcc/testsuite/go.test/go-test.exp gcc-14-20260611/gcc/testsuite/go.test/go-test.exp
*** gcc-14-20260604/gcc/testsuite/go.test/go-test.exp	Thu Jun  4 22:32:15 2026
--- gcc-14-20260611/gcc/testsuite/go.test/go-test.exp	Thu Jun 11 22:32:12 2026
*************** proc errchk { test opts } {
*** 82,90 ****
  	set filename "errchk-$filename"
      }
      set fdin [open $test r]
!     fconfigure $fdin -encoding binary
      set fdout [open $filename w]
!     fconfigure $fdout -encoding binary
      while { [gets $fdin copy_line] >= 0 } {
  	if [string match "*////*" $copy_line] {
  	    puts $fdout $copy_line
--- 82,90 ----
  	set filename "errchk-$filename"
      }
      set fdin [open $test r]
!     fconfigure $fdin -translation binary
      set fdout [open $filename w]
!     fconfigure $fdout -translation binary
      while { [gets $fdin copy_line] >= 0 } {
  	if [string match "*////*" $copy_line] {
  	    puts $fdout $copy_line
diff -Nrcpad gcc-14-20260604/gcc/testsuite/lib/mike-g++.exp gcc-14-20260611/gcc/testsuite/lib/mike-g++.exp
*** gcc-14-20260604/gcc/testsuite/lib/mike-g++.exp	Thu Jun  4 22:32:15 2026
--- gcc-14-20260611/gcc/testsuite/lib/mike-g++.exp	Thu Jun 11 22:32:12 2026
*************** proc postbase  { src_code run groups arg
*** 101,107 ****
  
      set compile_type "none"
  
!     case $actions {
  	compile
  	{
  	    set compile_type "assembly"
--- 101,107 ----
  
      set compile_type "none"
  
!     switch $actions {
  	compile
  	{
  	    set compile_type "assembly"
diff -Nrcpad gcc-14-20260604/gcc/testsuite/lib/mike-gcc.exp gcc-14-20260611/gcc/testsuite/lib/mike-gcc.exp
*** gcc-14-20260604/gcc/testsuite/lib/mike-gcc.exp	Thu Jun  4 22:32:15 2026
--- gcc-14-20260611/gcc/testsuite/lib/mike-gcc.exp	Thu Jun 11 22:32:12 2026
*************** proc postbase  { src_code run groups arg
*** 105,111 ****
  
      set compile_type "none"
  
!     case $actions {
  	compile
  	{
  	    set compile_type "assembly"
--- 105,111 ----
  
      set compile_type "none"
  
!     switch $actions {
  	compile
  	{
  	    set compile_type "assembly"
diff -Nrcpad gcc-14-20260604/gcc/tree-ssa-strlen.cc gcc-14-20260611/gcc/tree-ssa-strlen.cc
*** gcc-14-20260604/gcc/tree-ssa-strlen.cc	Thu Jun  4 22:32:15 2026
--- gcc-14-20260611/gcc/tree-ssa-strlen.cc	Thu Jun 11 22:32:12 2026
*************** get_string_length (strinfo *si)
*** 850,856 ****
       attempt to compute the length from the call statement.  */
    if (si->stmt)
      {
!       gimple *stmt = si->stmt, *lenstmt;
        tree callee, lhs, fn, tem;
        location_t loc;
        gimple_stmt_iterator gsi;
--- 850,856 ----
       attempt to compute the length from the call statement.  */
    if (si->stmt)
      {
!       gimple *stmt = si->stmt, *lenstmt = NULL, *g;
        tree callee, lhs, fn, tem;
        location_t loc;
        gimple_stmt_iterator gsi;
*************** get_string_length (strinfo *si)
*** 885,895 ****
                lhs = force_gimple_operand_gsi (&gsi, lhs, true, NULL_TREE,
                                                true, GSI_SAME_STMT);
              }
! 	  lenstmt = gimple_build_assign
  			(make_ssa_name (TREE_TYPE (gimple_call_arg (stmt, 0))),
  			 POINTER_PLUS_EXPR,tem, lhs);
! 	  gsi_insert_before (&gsi, lenstmt, GSI_SAME_STMT);
! 	  gimple_call_set_arg (stmt, 0, gimple_assign_lhs (lenstmt));
  	  lhs = NULL_TREE;
  	  /* FALLTHRU */
  	case BUILT_IN_STRCPY:
--- 885,895 ----
                lhs = force_gimple_operand_gsi (&gsi, lhs, true, NULL_TREE,
                                                true, GSI_SAME_STMT);
              }
! 	  g = gimple_build_assign
  			(make_ssa_name (TREE_TYPE (gimple_call_arg (stmt, 0))),
  			 POINTER_PLUS_EXPR,tem, lhs);
! 	  gsi_insert_before (&gsi, g, GSI_SAME_STMT);
! 	  gimple_call_set_arg (stmt, 0, gimple_assign_lhs (g));
  	  lhs = NULL_TREE;
  	  /* FALLTHRU */
  	case BUILT_IN_STRCPY:
*************** get_string_length (strinfo *si)
*** 908,913 ****
--- 908,924 ----
  	  gimple_call_set_fndecl (stmt, fn);
  	  lhs = make_ssa_name (TREE_TYPE (TREE_TYPE (fn)), stmt);
  	  gimple_call_set_lhs (stmt, lhs);
+ 	  if (DECL_FUNCTION_CODE (callee) == BUILT_IN_STRCAT_CHK)
+ 	    {
+ 	      tree objsz = gimple_call_lhs (lenstmt);
+ 	      gimple *g
+ 		= gimple_build_assign (make_ssa_name (TREE_TYPE (objsz)),
+ 				       MINUS_EXPR, gimple_call_arg (stmt, 2),
+ 				       objsz);
+ 	      gimple_set_location (g, gimple_location (stmt));
+ 	      gsi_insert_before (&gsi, g, GSI_SAME_STMT);
+ 	      gimple_call_set_arg (stmt, 2, gimple_assign_lhs (g));
+ 	    }
  	  update_stmt (stmt);
  	  if (dump_file && (dump_flags & TDF_DETAILS) != 0)
  	    {
diff -Nrcpad gcc-14-20260604/libgcc/config/avr/libf7/f7-renames.h gcc-14-20260611/libgcc/config/avr/libf7/f7-renames.h
*** gcc-14-20260604/libgcc/config/avr/libf7/f7-renames.h	Thu Jun  4 22:32:16 2026
--- gcc-14-20260611/libgcc/config/avr/libf7/f7-renames.h	Thu Jun 11 22:32:13 2026
***************
*** 222,227 ****
--- 222,230 ----
  #define f7_sqrt16_floor_asm __f7_sqrt16_floor_asm
  #define f7_lshrdi3_asm __f7_lshrdi3_asm
  #define f7_ashldi3_asm __f7_ashldi3_asm
+ #define f7_d_to_fx64_asm __f7_d_to_fx64_asm
+ #define f7_ufx64_to_d_asm __f7_ufx64_to_d_asm
+ #define f7_sfx64_to_d_asm __f7_sfx64_to_d_asm
  #define f7_class_D_asm __f7_class_D_asm
  #define f7_call_ddd_asm __f7_call_ddd_asm
  #define f7_call_xdd_asm __f7_call_xdd_asm
diff -Nrcpad gcc-14-20260604/libgcc/config/avr/libf7/libf7-asm.sx gcc-14-20260611/libgcc/config/avr/libf7/libf7-asm.sx
*** gcc-14-20260604/libgcc/config/avr/libf7/libf7-asm.sx	Thu Jun  4 22:32:16 2026
--- gcc-14-20260611/libgcc/config/avr/libf7/libf7-asm.sx	Thu Jun 11 22:32:13 2026
*************** _ENDF __fractqqdf
*** 2308,2315 ****
  #endif /* F7MOD_qq2D_ */
  
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! ;;; Fixed-point -> double conversions.
  
  #ifdef F7MOD_D2qq_
  _DEFUN __fractdfqq
--- 2308,2392 ----
  #endif /* F7MOD_qq2D_ */
  
  
+ #ifdef F7MOD_fx2D_
+ ;;; Convert an [un]signed 64-bit fixed point value R18[] to double.
+ ;;;    double ufx64_to_d (ufx64_t R18, uint8_t fbit R30);
+ ;;;    double sfx64_to_d (sfx64_t R18, uint8_t fbit R30);
+ ;;; FBIT accounts for the fractional bits of the fixed point type,
+ ;;; e.g. pass __DA_FBIT__ for long accum etc.
+ DEFUN ufx64_to_d
+     push    r30
+     XCALL __floatundidf
+     rjmp  1f
+ 
+ LABEL sfx64_to_d
+     push    r30
+     XCALL __floatdidf
+ 1:  pop     r30
+ 
+     ;; The MSB indicates a value of 0.  Notice that at this point,
+     ;; we have a normal floating point number with a biased exponent
+     ;; that won't underflow below.
+     tst     r25
+     breq 0f
+ 
+     ;; Subtract fbit from the double exponent.  R30[] = fbit << 4.
+     swap    r30
+     mov     r31, r30
+     andi    r30, lo8 (0x0ff0)
+     andi    r31, hi8 (0x0ff0)
+     sub     r24, r30
+     sbc     r25, r31
+ 
+ 0:  ret
+ ENDF ufx64_to_d
+ #endif /* F7MOD_fx2D_ */
+ 
+ #ifdef F7MOD_da2D_
+ _DEFUN __fractdadf
+     ldi     r30, __DA_FBIT__
+     F7jmp   sfx64_to_d
+ _ENDF __fractdadf
+ #endif /* F7MOD_da2D_ */
+ 
+ #ifdef F7MOD_uda2D_
+ _DEFUN __fractudadf
+     ldi     r30, __UDA_FBIT__
+     F7jmp   ufx64_to_d
+ _ENDF __fractudadf
+ #endif /* F7MOD_uda2D_ */
+ 
+ #ifdef F7MOD_ta2D_
+ _DEFUN __fracttadf
+     ldi     r30, __TA_FBIT__
+     F7jmp   sfx64_to_d
+ _ENDF __fracttadf
+ #endif /* F7MOD_ta2D_ */
+ 
+ #ifdef F7MOD_uta2D_
+ _DEFUN __fractutadf
+     ldi     r30, __UTA_FBIT__
+     F7jmp   ufx64_to_d
+ _ENDF __fractutadf
+ #endif /* F7MOD_uta2D_ */
+ 
+ #ifdef F7MOD_dq2D_
+ _DEFUN __fractdqdf
+     ldi     r30, __DQ_FBIT__
+     F7jmp   sfx64_to_d
+ _ENDF __fractdqdf
+ #endif /* F7MOD_dq2D_ */
+ 
+ #ifdef F7MOD_udq2D_
+ _DEFUN __fractudqdf
+     ldi     r30, __UDQ_FBIT__
+     F7jmp   ufx64_to_d
+ _ENDF __fractudqdf
+ #endif /* F7MOD_udq2D_ */
+ 
+ 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! ;;; Double -> fixed-point conversions.
  
  #ifdef F7MOD_D2qq_
  _DEFUN __fractdfqq
*************** _ENDF __fractdfusa
*** 2389,2394 ****
--- 2466,2514 ----
  #endif /* F7MOD_D2usa_ */
  
  
+ #ifdef F7MOD_D2fx_
+ ;;; Convert double R18 to a 64-bit fixed point value.
+ ;;; R18 d_to_fx64 (double R18, int8_t fbit R16);
+ ;;; |FBIT| accounts for the extra fbits compared to [u]int64_t.
+ ;;; FBIT < 0 indicates a signed conversion.
+ ;;; FBIT > 0 indicates an unsigned conversion.
+ DEFUN d_to_fx64
+     do_prologue_saves  4, F7_SIZEOF
+ 
+     ;; Y = FramePointer + 1
+     adiw    Y,      1
+ 
+     ;; FP + 1 = (f7_t) arg
+     wmov    r16,    Y
+ 
+     ;; Convert double R18 to f7_t *R16.
+     XCALL   F7_NAME (set_double_impl)
+ 
+     ;; Prepare for *R24 = ldexp (*R24, R22).  ldexp() accounts for the
+     ;; fractional bits of the fixed point value, i.e. we have to <<= FBIT.
+     wmov    r24,    r16
+     ;; Zero-extend FBIT.
+     clr     r23
+     ;; R16 has been clobbered.  Fetch it from where prologue_saves put it.
+     ldd     r22,    Y + F7_SIZEOF + 3       ; Saved R16
+     tst     r22
+     brmi 1f
+ 
+     ;; Positive FBIT indicates an unsigned conversion.
+     XCALL   F7_NAME (Ildexp)
+     XCALL   F7_NAME (get_u64)
+     rjmp 9f
+ 
+ 1:  ;; Negative FBIT indicates a signed conversion.
+     neg     r22                 ; FBIT := |FBIT|
+     XCALL   F7_NAME (Ildexp)
+     XCALL   F7_NAME (get_s64)
+ 
+ 9:  do_epilogue_restores  4, F7_SIZEOF
+ ENDF d_to_fx64
+ #endif /* F7MOD_D2fx_ */
+ 
+ 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; [u]int32_t -> double conversions.
  
diff -Nrcpad gcc-14-20260604/libgcc/config/avr/libf7/libf7-common.mk gcc-14-20260611/libgcc/config/avr/libf7/libf7-common.mk
*** gcc-14-20260604/libgcc/config/avr/libf7/libf7-common.mk	Thu Jun  4 22:32:16 2026
--- gcc-14-20260611/libgcc/config/avr/libf7/libf7-common.mk	Thu Jun 11 22:32:13 2026
*************** F7_ASM_PARTS += D_cmp D_eq D_ne D_ge D_g
*** 29,40 ****
  F7_ASM_PARTS += call_dd call_ddd
  
  # Fixed-point -> double conversions
! F7_ASM_PARTS += qq2D uqq2D            sq2D usq2D
! F7_ASM_PARTS +=            ha2D uha2D sa2D usa2D
  
  # Double -> fixed-point conversions
  F7_ASM_PARTS += D2qq D2uqq D2hq D2uhq
  F7_ASM_PARTS +=            D2ha D2uha D2sa D2usa
  
  # Integer -> double conversions
  F7_ASM_PARTS += D_floatsidf D_floatunsidf
--- 29,42 ----
  F7_ASM_PARTS += call_dd call_ddd
  
  # Fixed-point -> double conversions
! F7_ASM_PARTS += qq2D uqq2D            sq2D usq2D dq2D udq2D
! F7_ASM_PARTS +=            ha2D uha2D sa2D usa2D da2D uda2D ta2D uta2D
! F7_ASM_PARTS += fx2D
  
  # Double -> fixed-point conversions
  F7_ASM_PARTS += D2qq D2uqq D2hq D2uhq
  F7_ASM_PARTS +=            D2ha D2uha D2sa D2usa
+ F7_ASM_PARTS += D2fx
  
  # Integer -> double conversions
  F7_ASM_PARTS += D_floatsidf D_floatunsidf
*************** F7F_asm += set_u64 set_s64 addsub_mant_s
*** 107,113 ****
  F7F_asm += to_integer to_unsigned clr_mant_lsbs
  F7F_asm += div sqrt_approx sqrt16_round sqrt16_floor
  F7F_asm += lshrdi3 ashldi3
! 
  F7F_asm += class_D
  
  F7F_asm += call_ddd call_xdd call_ddx
--- 109,115 ----
  F7F_asm += to_integer to_unsigned clr_mant_lsbs
  F7F_asm += div sqrt_approx sqrt16_round sqrt16_floor
  F7F_asm += lshrdi3 ashldi3
! F7F_asm += d_to_fx64 ufx64_to_d sfx64_to_d
  F7F_asm += class_D
  
  F7F_asm += call_ddd call_xdd call_ddx
diff -Nrcpad gcc-14-20260604/libgcc/config/avr/libf7/libf7.c gcc-14-20260611/libgcc/config/avr/libf7/libf7.c
*** gcc-14-20260604/libgcc/config/avr/libf7/libf7.c	Thu Jun  4 22:32:16 2026
--- gcc-14-20260611/libgcc/config/avr/libf7/libf7.c	Thu Jun 11 22:32:13 2026
*************** f7_double_t __floatdidf (int64_t x)
*** 140,145 ****
--- 140,197 ----
  #endif // F7MOD_floatdidf_
  
  
+ extern uint64_t d_to_ufx (f7_double_t, int8_t) F7ASM(f7_d_to_fx64_asm);
+ extern int64_t  d_to_sfx (f7_double_t, int8_t) F7ASM(f7_d_to_fx64_asm);
+ 
+ #ifdef F7MOD_fractdfda_
+ F7_WEAK
+ int64_t __fractdfda (f7_double_t d)
+ {
+   return d_to_sfx (d, -__DA_FBIT__);
+ }
+ #endif // F7MOD_fractdfda_
+ 
+ #ifdef F7MOD_fractdfuda_
+ F7_WEAK
+ uint64_t __fractdfuda (f7_double_t d)
+ {
+   return d_to_ufx (d, __UDA_FBIT__);
+ }
+ #endif // F7MOD_fractdfuda_
+ 
+ #ifdef F7MOD_fractdfta_
+ F7_WEAK
+ int64_t __fractdfta (f7_double_t d)
+ {
+   return d_to_sfx (d, -__TA_FBIT__);
+ }
+ #endif // F7MOD_fractdfta_
+ 
+ #ifdef F7MOD_fractdfuta_
+ F7_WEAK
+ uint64_t __fractdfuta (f7_double_t d)
+ {
+   return d_to_ufx (d, __UTA_FBIT__);
+ }
+ #endif // F7MOD_fractdfuta_
+ 
+ #ifdef F7MOD_fractdfdq_
+ F7_WEAK
+ int64_t __fractdfdq (f7_double_t d)
+ {
+   return d_to_sfx (d, -__DQ_FBIT__);
+ }
+ #endif // F7MOD_fractdfdq_
+ 
+ #ifdef F7MOD_fractdfudq_
+ F7_WEAK
+ uint64_t __fractdfudq (f7_double_t d)
+ {
+   return d_to_ufx (d, __UDQ_FBIT__);
+ }
+ #endif // F7MOD_fractdfudq_
+ 
+ 
  #ifdef F7MOD_init_
  f7_t* f7_init_impl (uint64_t mant, uint8_t flags, f7_t *cc, int16_t expo)
  {
diff -Nrcpad gcc-14-20260604/libgcc/config/avr/libf7/t-libf7 gcc-14-20260611/libgcc/config/avr/libf7/t-libf7
*** gcc-14-20260604/libgcc/config/avr/libf7/t-libf7	Thu Jun  4 22:32:16 2026
--- gcc-14-20260611/libgcc/config/avr/libf7/t-libf7	Thu Jun 11 22:32:13 2026
*************** F7_PREFIX = __f7_
*** 9,14 ****
--- 9,16 ----
  include $(libf7)/libf7-common.mk
  
  LIBF7_DF_CONV +=  floatundidf floatdidf # floatunsidf floatsidf
+ LIBF7_DF_CONV +=  fractdfda fractdfta fractdfdq
+ LIBF7_DF_CONV +=  fractdfuda fractdfuta fractdfudq
  
  # Wrappers like f7_lt_impl for f7_lt etc. because the latter is inline.
  LIBF7_DF_CMP  += lt le gt ge ne eq unord
diff -Nrcpad gcc-14-20260604/libstdc++-v3/ChangeLog gcc-14-20260611/libstdc++-v3/ChangeLog
*** gcc-14-20260604/libstdc++-v3/ChangeLog	Thu Jun  4 22:32:17 2026
--- gcc-14-20260611/libstdc++-v3/ChangeLog	Thu Jun 11 22:32:14 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 2026-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-03-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* include/bits/regex_compiler.h (_Compiler::_M_pop): Uglify ret
+ 	variable name.
+ 
  2026-05-21  Jonathan Wakely  <jwakely@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260604/libstdc++-v3/include/bits/regex_compiler.h gcc-14-20260611/libstdc++-v3/include/bits/regex_compiler.h
*** gcc-14-20260604/libstdc++-v3/include/bits/regex_compiler.h	Thu Jun  4 22:32:17 2026
--- gcc-14-20260611/libstdc++-v3/include/bits/regex_compiler.h	Thu Jun 11 22:32:14 2026
*************** namespace __detail
*** 170,178 ****
        _StateSeqT
        _M_pop()
        {
! 	auto ret = _M_stack.top();
  	_M_stack.pop();
! 	return ret;
        }
  
        static _FlagT
--- 170,178 ----
        _StateSeqT
        _M_pop()
        {
! 	auto __ret = _M_stack.top();
  	_M_stack.pop();
! 	return __ret;
        }
  
        static _FlagT
