diff -Nrcpad gcc-14-20250627/LAST_UPDATED gcc-14-20250704/LAST_UPDATED
*** gcc-14-20250627/LAST_UPDATED	Fri Jun 27 22:34:55 2025
--- gcc-14-20250704/LAST_UPDATED	Fri Jul  4 22:32:28 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision 570b63276f6434df59c52da36b1581eb8b516762
--- 1 ----
! Obtained from git: releases/gcc-14 revision e086e745a245e482d3c330c9b1d4ca929e01a220
diff -Nrcpad gcc-14-20250627/MD5SUMS gcc-14-20250704/MD5SUMS
*** gcc-14-20250627/MD5SUMS	Fri Jun 27 22:35:03 2025
--- gcc-14-20250704/MD5SUMS	Fri Jul  4 22:32:32 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20250627.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-20250704.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
! df00f21b8d67c8453fecb1856e47eeb9  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 0c68b9a69b459fb96562f93383531284  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
! de2c9fd84800e6415ed7c8cc68b2e7c0  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
! b53113dc270252b1ad77803f30a4fc9c  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
! 01a102f10676af11b934be4b4814dd46  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
! 7257a1e8dde6460b6f972e587613c6e5  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
! 32b626b14f731548c503f6e57ca669c3  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
! 5fcc45eb0d27a67d3f7b1e7f086a4d2a  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
*************** f1bfa2648500a71b4c4c0d24081c9662  gcc/ad
*** 743,749 ****
  12ef8e19cc84af2f3c87be58df3f410e  gcc/ada/exp_ch2.ads
  b4b613cbffeeb865a152328485047a0d  gcc/ada/exp_ch3.adb
  ecce68e20f7bfd0dacc18bbc60e5fd89  gcc/ada/exp_ch3.ads
! a99675e2905f1fcc975075e8d4d99655  gcc/ada/exp_ch4.adb
  bd7720c5f01afd52050aaa1379d7c41e  gcc/ada/exp_ch4.ads
  07415781357054497531ab80a03e3e2e  gcc/ada/exp_ch5.adb
  12989fbdd0324ccca43790feab509aca  gcc/ada/exp_ch5.ads
--- 743,749 ----
  12ef8e19cc84af2f3c87be58df3f410e  gcc/ada/exp_ch2.ads
  b4b613cbffeeb865a152328485047a0d  gcc/ada/exp_ch3.adb
  ecce68e20f7bfd0dacc18bbc60e5fd89  gcc/ada/exp_ch3.ads
! a11415c08743579770ffcc6a2a101958  gcc/ada/exp_ch4.adb
  bd7720c5f01afd52050aaa1379d7c41e  gcc/ada/exp_ch4.ads
  07415781357054497531ab80a03e3e2e  gcc/ada/exp_ch5.adb
  12989fbdd0324ccca43790feab509aca  gcc/ada/exp_ch5.ads
*************** c3f0e2c172bb60f503a35585c1009a94  gcc/ad
*** 807,813 ****
  17437eda84b99bfdd095c5860feeedcb  gcc/ada/frontend.adb
  6e0674dd153e4a2f5f47855c9c4db95c  gcc/ada/frontend.ads
  65e08c7882cf1efd1525ad29e13c0580  gcc/ada/gcc-interface/Make-lang.in
! e6dedec5b5403c4846bd368c54124a85  gcc/ada/gcc-interface/Makefile.in
  31af75105a7e50a05c0dd45b031da217  gcc/ada/gcc-interface/ada-builtin-types.def
  eece73bb8df5d8e966ff30b18bc77b4f  gcc/ada/gcc-interface/ada-builtins.def
  669f7df0837a527e705df1b02478cc32  gcc/ada/gcc-interface/ada-tree.def
--- 807,813 ----
  17437eda84b99bfdd095c5860feeedcb  gcc/ada/frontend.adb
  6e0674dd153e4a2f5f47855c9c4db95c  gcc/ada/frontend.ads
  65e08c7882cf1efd1525ad29e13c0580  gcc/ada/gcc-interface/Make-lang.in
! 69426ebe57dc4a83cb8d8f882a4707af  gcc/ada/gcc-interface/Makefile.in
  31af75105a7e50a05c0dd45b031da217  gcc/ada/gcc-interface/ada-builtin-types.def
  eece73bb8df5d8e966ff30b18bc77b4f  gcc/ada/gcc-interface/ada-builtins.def
  669f7df0837a527e705df1b02478cc32  gcc/ada/gcc-interface/ada-tree.def
*************** e76788ae5fdae399904afcee294d994e  gcc/ad
*** 815,821 ****
  2d59d22647c9cc2b47b4898c4dd4cb21  gcc/ada/gcc-interface/ada.h
  ace55b710e2eba0e33421198b158de00  gcc/ada/gcc-interface/config-lang.in
  52ac0b9aec1b1a53cb183788c4a36595  gcc/ada/gcc-interface/cuintp.cc
! 42f91c41ceffd7fae6d925206d53de0f  gcc/ada/gcc-interface/decl.cc
  e95c0feeaced6a36656b245efe836c63  gcc/ada/gcc-interface/gadaint.h
  f61a98e52a715a073f777f982f1394b7  gcc/ada/gcc-interface/gigi.h
  0609d8dffb6cdfbd0d07912a8da3038d  gcc/ada/gcc-interface/lang-specs.h
--- 815,821 ----
  2d59d22647c9cc2b47b4898c4dd4cb21  gcc/ada/gcc-interface/ada.h
  ace55b710e2eba0e33421198b158de00  gcc/ada/gcc-interface/config-lang.in
  52ac0b9aec1b1a53cb183788c4a36595  gcc/ada/gcc-interface/cuintp.cc
! ecd379264ada8e784f8a27c58922673f  gcc/ada/gcc-interface/decl.cc
  e95c0feeaced6a36656b245efe836c63  gcc/ada/gcc-interface/gadaint.h
  f61a98e52a715a073f777f982f1394b7  gcc/ada/gcc-interface/gigi.h
  0609d8dffb6cdfbd0d07912a8da3038d  gcc/ada/gcc-interface/lang-specs.h
*************** c3e105b8e4ef476f9504c4bd95b16fc4  gcc/ad
*** 2721,2727 ****
  61438b257972c479df398813ba92da55  gcc/ada/libgnat/system-linux-arm.ads
  1992f7b8b5a3020137d048d227d492a7  gcc/ada/libgnat/system-linux-hppa.ads
  452b711e5e523a65b5d694b48cf8de4a  gcc/ada/libgnat/system-linux-ia64.ads
! 7bd9df64099aebfcaba4cc40c9c0ff66  gcc/ada/libgnat/system-linux-loongarch.ads
  480a61d83eed366cd531010ef5577d62  gcc/ada/libgnat/system-linux-m68k.ads
  61156ab81207df6fb164a6015040b983  gcc/ada/libgnat/system-linux-mips.ads
  0654f6fcc824e196149d3a4024203b15  gcc/ada/libgnat/system-linux-ppc.ads
--- 2721,2727 ----
  61438b257972c479df398813ba92da55  gcc/ada/libgnat/system-linux-arm.ads
  1992f7b8b5a3020137d048d227d492a7  gcc/ada/libgnat/system-linux-hppa.ads
  452b711e5e523a65b5d694b48cf8de4a  gcc/ada/libgnat/system-linux-ia64.ads
! a1612362970a7cadb3e63d149a188313  gcc/ada/libgnat/system-linux-loongarch.ads
  480a61d83eed366cd531010ef5577d62  gcc/ada/libgnat/system-linux-m68k.ads
  61156ab81207df6fb164a6015040b983  gcc/ada/libgnat/system-linux-mips.ads
  0654f6fcc824e196149d3a4024203b15  gcc/ada/libgnat/system-linux-ppc.ads
*************** d9397260c45e57a1d9da554ae2e2a646  gcc/co
*** 3347,3353 ****
  7c179f0d23167a6411dadbbe19b1adcf  gcc/config/aarch64/aarch64-simd-builtin-types.def
  7235658ecb695c8e01083f68a4dd0b61  gcc/config/aarch64/aarch64-simd-builtins.def
  716da804270a736dde5e6b0b00965830  gcc/config/aarch64/aarch64-simd.md
! 54435c62211d08bd572b8a19fc35dcfc  gcc/config/aarch64/aarch64-sme.md
  35478e154309fb549cd6bae4d905e2e9  gcc/config/aarch64/aarch64-speculation.cc
  09cfcb842c6494b3ccff63b9dc54982b  gcc/config/aarch64/aarch64-sve-builtins-base.cc
  3bc81aa2e94c0407eaf9de127a9e6d3a  gcc/config/aarch64/aarch64-sve-builtins-base.def
--- 3347,3353 ----
  7c179f0d23167a6411dadbbe19b1adcf  gcc/config/aarch64/aarch64-simd-builtin-types.def
  7235658ecb695c8e01083f68a4dd0b61  gcc/config/aarch64/aarch64-simd-builtins.def
  716da804270a736dde5e6b0b00965830  gcc/config/aarch64/aarch64-simd.md
! 18c777069be2e8afb0cba4085e03be5a  gcc/config/aarch64/aarch64-sme.md
  35478e154309fb549cd6bae4d905e2e9  gcc/config/aarch64/aarch64-speculation.cc
  09cfcb842c6494b3ccff63b9dc54982b  gcc/config/aarch64/aarch64-sve-builtins-base.cc
  3bc81aa2e94c0407eaf9de127a9e6d3a  gcc/config/aarch64/aarch64-sve-builtins-base.def
*************** e74b8aa51ed0a0fd74ec97bb4009c55f  gcc/co
*** 3372,3378 ****
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
  880e7b0625115361a29305a84304ccdf  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
! 356f40f57c28daebc2895871909cc2f6  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
  1277617373f7bad91a5af74470db72b3  gcc/config/aarch64/aarch64.opt.urls
  50444b4cc17d01769c6e4fe9b5ba9a04  gcc/config/aarch64/arm_acle.h
--- 3372,3378 ----
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
  880e7b0625115361a29305a84304ccdf  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
! 09c9812391ad6546a9cbdeb47adf3f40  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
  1277617373f7bad91a5af74470db72b3  gcc/config/aarch64/aarch64.opt.urls
  50444b4cc17d01769c6e4fe9b5ba9a04  gcc/config/aarch64/arm_acle.h
*************** d36a2aabdf8da39363d9be0efef739b0  gcc/co
*** 5361,5367 ****
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 4aaa59c9bb066a895a47e6fde4199d25  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5361,5367 ----
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! d532d460e1e4bb1ee9cc835d9148e5da  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** ca8df8ebc275aae3373b59e34155cc57  gcc/cp
*** 5455,5461 ****
  94fae0d321122a3989a40631ba86d13b  gcc/cp/std-name-hint.h
  41e87ed4f19ff0138f84bf27e143fc65  gcc/cp/tree.cc
  ade60cf10e86c87a2d3960a453e78059  gcc/cp/type-utils.h
! 4ebb55c4c22d34bf9c9d1bc43b29b288  gcc/cp/typeck.cc
  e8b7fc59f86c5a7c4e08ae88222ebbeb  gcc/cp/typeck2.cc
  b04e03a3822d8b9ab15575d78d4309f1  gcc/cp/vtable-class-hierarchy.cc
  d9039dac3f86bf082870bf78b964568b  gcc/cppbuiltin.cc
--- 5455,5461 ----
  94fae0d321122a3989a40631ba86d13b  gcc/cp/std-name-hint.h
  41e87ed4f19ff0138f84bf27e143fc65  gcc/cp/tree.cc
  ade60cf10e86c87a2d3960a453e78059  gcc/cp/type-utils.h
! 5b9cd8b298a8b719f405639a27ac4cf1  gcc/cp/typeck.cc
  e8b7fc59f86c5a7c4e08ae88222ebbeb  gcc/cp/typeck2.cc
  b04e03a3822d8b9ab15575d78d4309f1  gcc/cp/vtable-class-hierarchy.cc
  d9039dac3f86bf082870bf78b964568b  gcc/cppbuiltin.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8060,8066 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! b9f96527f945a713efcb2fa3094c56b4  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8060,8066 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! f41030d49126cf9b10ad615a66cef7d7  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** a0fee4f3ee4678b54afd993b619baa05  gcc/te
*** 27164,27169 ****
--- 27164,27171 ----
  45c8a98fb67b502b90968b85f37350fd  gcc/testsuite/g++.dg/parse/pr113788.C
  4f1090730a2c9b918d79fed001575a31  gcc/testsuite/g++.dg/parse/pr113929.C
  dfa745316c10162491bb418266c2b932  gcc/testsuite/g++.dg/parse/pr116071.C
+ 732ccde523003692267913067f6a0ccd  gcc/testsuite/g++.dg/parse/pr120471.C
+ 225e1d7f8cf80186eac35ff37acc9379  gcc/testsuite/g++.dg/parse/pr120940.C
  2dde7d845edb3fc1b6b06c1f7c1d71f6  gcc/testsuite/g++.dg/parse/pr16696-permissive.C
  f8326578679fecd658e1bec2d3ed7654  gcc/testsuite/g++.dg/parse/pr16696.C
  29f6ba15da1283765b5179abe6707d09  gcc/testsuite/g++.dg/parse/pr18770.C
*************** ad6c0b4132032f21f64bfdd4836d3313  gcc/te
*** 30392,30397 ****
--- 30394,30400 ----
  59f2687e6719ef7d3d19b4de0e99a075  gcc/testsuite/g++.dg/ubsan/pr105729.C
  06fb5e3c91f4d1b4f58ee978dd2b4b30  gcc/testsuite/g++.dg/ubsan/pr116449.C
  a9c7210a5fb28a26cd54ad5ce0872a53  gcc/testsuite/g++.dg/ubsan/pr117259.C
+ a4c08c025f777efea858788766890b26  gcc/testsuite/g++.dg/ubsan/pr120471.C
  a654df71119821a4303cc9fe0501191b  gcc/testsuite/g++.dg/ubsan/pr59250.C
  420a6623146bb014dc1310134356d81f  gcc/testsuite/g++.dg/ubsan/pr59306.C
  79755a51c3cbb97ff48bd411272f6b08  gcc/testsuite/g++.dg/ubsan/pr59331.C
*************** c32e2d9c26f73ceab75448129f154a62  gcc/te
*** 30774,30779 ****
--- 30777,30783 ----
  c1c94fbed68712c556c47675075fab08  gcc/testsuite/g++.dg/warn/Wduplicated-branches6.C
  df34a3119747a72018c056305c89abd6  gcc/testsuite/g++.dg/warn/Wduplicated-branches7.C
  b9cda5e4dff795d15eaf9fe9108df523  gcc/testsuite/g++.dg/warn/Wduplicated-branches8.C
+ b78135999b9fbdc92326bfae8b355202  gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C
  53e8ba692e810326b135e28115da516a  gcc/testsuite/g++.dg/warn/Wduplicated-cond1.C
  aee46bcb7031162dcee9c8ebe1228c6f  gcc/testsuite/g++.dg/warn/Wduplicated-cond2.C
  3fd71ef4467ff2d96bedfb8624c9f6c9  gcc/testsuite/g++.dg/warn/Wduplicated-cond3.C
*************** a5610f22b8f865667ffebce563c88521  gcc/te
*** 59217,59222 ****
--- 59221,59227 ----
  ff37df956d90b080a15eee27baf83cf8  gcc/testsuite/gcc.target/aarch64/sme/za_state_5.c
  a9421cc74fddeb0b2e03c60e20410ede  gcc/testsuite/gcc.target/aarch64/sme/za_state_5_scp.c
  031a04851bc92dab81da666022b43d00  gcc/testsuite/gcc.target/aarch64/sme/za_state_6.c
+ d002a1f4df9b5c96addef824d09dfbd1  gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c
  bc8fa843cae0050c83a00ac2cd807a98  gcc/testsuite/gcc.target/aarch64/sme/zt0_state_1.c
  f5392df0161b11a2eb084fecc3cb5f73  gcc/testsuite/gcc.target/aarch64/sme/zt0_state_2.c
  3ff747add1e9dfb996292dd5bf39ad0e  gcc/testsuite/gcc.target/aarch64/sme/zt0_state_3.c
diff -Nrcpad gcc-14-20250627/gcc/ChangeLog gcc-14-20250704/gcc/ChangeLog
*** gcc-14-20250627/gcc/ChangeLog	Fri Jun 27 22:32:21 2025
--- gcc-14-20250704/gcc/ChangeLog	Fri Jul  4 22:32:06 2025
***************
*** 1,3 ****
--- 1,19 ----
+ 2025-07-03  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-06-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/120624
+ 	* config/aarch64/aarch64.md (SME_STATE_REGNUM): Expand on comments.
+ 	* config/aarch64/aarch64-sme.md (aarch64_restore_za): Also set
+ 	SME_STATE_REGNUM
+ 
+ 2025-06-27  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gimple-fold.cc (fold_const_aggregate_ref_1) <COMPONENT_REF>:
+ 	Bail out immediately if the reference has reverse storage order.
+ 	* tree-ssa-sccvn.cc (fully_constant_vn_reference_p): Likewise.
+ 
  2025-06-25  Haochen Jiang  <haochen.jiang@intel.com>
  
  	* config/i386/i386.h (PTA_ALDERLAKE): Use PTA_GOLDMONT_PLUS
diff -Nrcpad gcc-14-20250627/gcc/DATESTAMP gcc-14-20250704/gcc/DATESTAMP
*** gcc-14-20250627/gcc/DATESTAMP	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/DATESTAMP	Fri Jul  4 22:32:06 2025
***************
*** 1 ****
! 20250627
--- 1 ----
! 20250704
diff -Nrcpad gcc-14-20250627/gcc/ada/ChangeLog gcc-14-20250704/gcc/ada/ChangeLog
*** gcc-14-20250627/gcc/ada/ChangeLog	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/ada/ChangeLog	Fri Jul  4 22:32:06 2025
***************
*** 1,3 ****
--- 1,20 ----
+ 2025-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc-interface/Makefile.in (gnatlib-sjlj): Delete.
+ 	(gnatlib-zcx): Do not modify Frontend_Exceptions constant.
+ 	* libgnat/system-linux-loongarch.ads (Frontend_Exceptions): Delete.
+ 
+ 2025-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gcc-interface/decl.cc (gnat_to_gnu_component_type): Validate the
+ 	Component_Size like the size of a type only if the component type
+ 	is actually packed.
+ 
+ 2025-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* exp_ch4.adb (Handle_Changed_Representation): Alphabetize local
+ 	variables.  Set the No_Finalize_Actions flag on the assignment.
+ 
  2025-05-23  Release Manager
  
  	* GCC 14.3.0 released.
diff -Nrcpad gcc-14-20250627/gcc/ada/exp_ch4.adb gcc-14-20250704/gcc/ada/exp_ch4.adb
*** gcc-14-20250627/gcc/ada/exp_ch4.adb	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/ada/exp_ch4.adb	Fri Jul  4 22:32:06 2025
*************** package body Exp_Ch4 is
*** 11438,11448 ****
        -----------------------------------
  
        procedure Handle_Changed_Representation is
!          Temp : Entity_Id;
           Decl : Node_Id;
-          Odef : Node_Id;
           N_Ix : Node_Id;
!          Cons : List_Id;
  
        begin
           --  Nothing else to do if no change of representation
--- 11438,11449 ----
        -----------------------------------
  
        procedure Handle_Changed_Representation is
!          Cons : List_Id;
           Decl : Node_Id;
           N_Ix : Node_Id;
!          Odef : Node_Id;
!          Stmt : Node_Id;
!          Temp : Entity_Id;
  
        begin
           --  Nothing else to do if no change of representation
*************** package body Exp_Ch4 is
*** 11585,11603 ****
                  Defining_Identifier => Temp,
                  Object_Definition   => Odef);
  
!             Set_No_Initialization (Decl, True);
  
              --  Insert required actions. It is essential to suppress checks
              --  since we have suppressed default initialization, which means
              --  that the variable we create may have no discriminants.
  
!             Insert_Actions (N,
!               New_List (
!                 Decl,
!                 Make_Assignment_Statement (Loc,
!                   Name       => New_Occurrence_Of (Temp, Loc),
!                   Expression => Relocate_Node (N))),
!                 Suppress => All_Checks);
  
              Rewrite (N, New_Occurrence_Of (Temp, Loc));
              return;
--- 11586,11609 ----
                  Defining_Identifier => Temp,
                  Object_Definition   => Odef);
  
!             --  The temporary need not be initialized
! 
!             Set_No_Initialization (Decl);
! 
!             Stmt :=
!               Make_Assignment_Statement (Loc,
!                 Name       => New_Occurrence_Of (Temp, Loc),
!                 Expression => Relocate_Node (N));
! 
!             --  And, therefore, cannot be finalized
! 
!             Set_No_Finalize_Actions (Stmt);
  
              --  Insert required actions. It is essential to suppress checks
              --  since we have suppressed default initialization, which means
              --  that the variable we create may have no discriminants.
  
!             Insert_Actions (N, New_List (Decl, Stmt), Suppress => All_Checks);
  
              Rewrite (N, New_Occurrence_Of (Temp, Loc));
              return;
diff -Nrcpad gcc-14-20250627/gcc/ada/gcc-interface/Makefile.in gcc-14-20250704/gcc/ada/gcc-interface/Makefile.in
*** gcc-14-20250627/gcc/ada/gcc-interface/Makefile.in	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/ada/gcc-interface/Makefile.in	Fri Jul  4 22:32:06 2025
*************** gnatlib-shared:
*** 822,856 ****
  	     PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \
  	     $(GNATLIB_SHARED)
  
- # When building a SJLJ runtime for VxWorks, we need to ensure that the extra
- # linker options needed for ZCX are not passed to prevent the inclusion of
- # useless objects and potential troubles from the presence of extra symbols
- # and references in some configurations.  The inhibition is performed by
- # commenting the pragma instead of deleting the line, as the latter might
- # result in getting multiple blank lines, hence possible style check errors.
- gnatlib-sjlj:
- 	$(MAKE) $(FLAGS_TO_PASS) \
- 	     EH_MECHANISM="" \
- 	     MULTISUBDIR="$(MULTISUBDIR)" \
- 	     THREAD_KIND="$(THREAD_KIND)" \
- 	     LN_S="$(LN_S)" \
- 	     ../stamp-gnatlib1-$(RTSDIR)
- 	sed \
- 	  -e 's/Frontend_Exceptions.*/Frontend_Exceptions       : constant Boolean := True;/' \
- 	  -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := False;/' \
- 	  $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
- 	$(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
- 	$(MAKE) $(FLAGS_TO_PASS) \
- 	     EH_MECHANISM="" \
- 	     GNATLIBFLAGS="$(GNATLIBFLAGS)" \
- 	     GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
- 	     GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
- 	     FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
- 	     MULTISUBDIR="$(MULTISUBDIR)" \
- 	     THREAD_KIND="$(THREAD_KIND)" \
- 	     LN_S="$(LN_S)" \
- 	     gnatlib
- 
  gnatlib-zcx:
  	$(MAKE) $(FLAGS_TO_PASS) \
  	     EH_MECHANISM="-gcc" \
--- 822,827 ----
*************** gnatlib-zcx:
*** 859,865 ****
  	     LN_S="$(LN_S)" \
  	     ../stamp-gnatlib1-$(RTSDIR)
  	sed \
- 	  -e 's/Frontend_Exceptions.*/Frontend_Exceptions       : constant Boolean := False;/' \
  	  -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := True;/' \
  	  $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
  	$(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
--- 830,835 ----
diff -Nrcpad gcc-14-20250627/gcc/ada/gcc-interface/decl.cc gcc-14-20250704/gcc/ada/gcc-interface/decl.cc
*** gcc-14-20250627/gcc/ada/gcc-interface/decl.cc	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/ada/gcc-interface/decl.cc	Fri Jul  4 22:32:06 2025
*************** gnat_to_gnu_component_type (Entity_Id gn
*** 5328,5334 ****
    const bool is_bit_packed = Is_Bit_Packed_Array (gnat_array);
    tree gnu_type = gnat_to_gnu_type (gnat_type);
    tree gnu_comp_size;
!   bool has_packed_components;
    unsigned int max_align;
  
    /* If an alignment is specified, use it as a cap on the component type
--- 5328,5334 ----
    const bool is_bit_packed = Is_Bit_Packed_Array (gnat_array);
    tree gnu_type = gnat_to_gnu_type (gnat_type);
    tree gnu_comp_size;
!   bool has_packed_component;
    unsigned int max_align;
  
    /* If an alignment is specified, use it as a cap on the component type
*************** gnat_to_gnu_component_type (Entity_Id gn
*** 5349,5364 ****
        && !TYPE_FAT_POINTER_P (gnu_type)
        && tree_fits_uhwi_p (TYPE_SIZE (gnu_type)))
      {
!       gnu_type = make_packable_type (gnu_type, false, max_align);
!       has_packed_components = true;
      }
    else
!     has_packed_components = is_bit_packed;
  
    /* Get and validate any specified Component_Size.  */
    gnu_comp_size
      = validate_size (Component_Size (gnat_array), gnu_type, gnat_array,
! 		     has_packed_components ? TYPE_DECL : VAR_DECL, true,
  		     Has_Component_Size_Clause (gnat_array), NULL, NULL);
  
    /* If the component type is a RECORD_TYPE that has a self-referential size,
--- 5349,5370 ----
        && !TYPE_FAT_POINTER_P (gnu_type)
        && tree_fits_uhwi_p (TYPE_SIZE (gnu_type)))
      {
!       tree gnu_packable_type = make_packable_type (gnu_type, false, max_align);
!       if (gnu_packable_type != gnu_type)
! 	{
! 	  gnu_type = gnu_packable_type;
! 	  has_packed_component = true;
! 	}
!       else
! 	has_packed_component = false;
      }
    else
!     has_packed_component = is_bit_packed;
  
    /* Get and validate any specified Component_Size.  */
    gnu_comp_size
      = validate_size (Component_Size (gnat_array), gnu_type, gnat_array,
! 		     has_packed_component ? TYPE_DECL : VAR_DECL, true,
  		     Has_Component_Size_Clause (gnat_array), NULL, NULL);
  
    /* If the component type is a RECORD_TYPE that has a self-referential size,
diff -Nrcpad gcc-14-20250627/gcc/ada/libgnat/system-linux-loongarch.ads gcc-14-20250704/gcc/ada/libgnat/system-linux-loongarch.ads
*** gcc-14-20250627/gcc/ada/libgnat/system-linux-loongarch.ads	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/ada/libgnat/system-linux-loongarch.ads	Fri Jul  4 22:32:06 2025
*************** private
*** 139,145 ****
     Always_Compatible_Rep     : constant Boolean := False;
     Suppress_Standard_Library : constant Boolean := False;
     Use_Ada_Main_Program_Name : constant Boolean := False;
-    Frontend_Exceptions       : constant Boolean := False;
     ZCX_By_Default            : constant Boolean := True;
  
  end System;
--- 139,144 ----
diff -Nrcpad gcc-14-20250627/gcc/config/aarch64/aarch64-sme.md gcc-14-20250704/gcc/config/aarch64/aarch64-sme.md
*** gcc-14-20250627/gcc/config/aarch64/aarch64-sme.md	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/config/aarch64/aarch64-sme.md	Fri Jul  4 22:32:07 2025
***************
*** 373,378 ****
--- 373,380 ----
  		    (reg:DI SME_STATE_REGNUM)
  		    (reg:DI TPIDR2_SETUP_REGNUM)
  		    (reg:DI ZA_SAVED_REGNUM)] UNSPEC_RESTORE_ZA))
+    (set (reg:DI SME_STATE_REGNUM)
+ 	(unspec:DI [(reg:DI SME_STATE_REGNUM)] UNSPEC_TPIDR2_RESTORE))
     (clobber (reg:DI R0_REGNUM))
     (clobber (reg:DI R14_REGNUM))
     (clobber (reg:DI R15_REGNUM))
diff -Nrcpad gcc-14-20250627/gcc/config/aarch64/aarch64.md gcc-14-20250704/gcc/config/aarch64/aarch64.md
*** gcc-14-20250627/gcc/config/aarch64/aarch64.md	Fri Jun 27 22:32:22 2025
--- gcc-14-20250704/gcc/config/aarch64/aarch64.md	Fri Jul  4 22:32:07 2025
***************
*** 132,137 ****
--- 132,145 ----
      ;; The actual value can sometimes vary, because it does not track
      ;; changes to PSTATE.ZA that happen during a lazy save and restore.
      ;; Those effects are instead tracked by ZA_SAVED_REGNUM.
+     ;;
+     ;; Sequences also write to this register if they synchronize the
+     ;; actual contents of ZA and PSTATE.ZA with the current function's
+     ;; ZA_REGNUM and SME_STATE_REGNUM.  Conceptually, these extra writes
+     ;; do not change the value of SME_STATE_REGNUM.  They simply act as
+     ;; sequencing points.  They means that all direct accesses to ZA can
+     ;; depend only on ZA_REGNUM and SME_STATE_REGNUM, rather than also
+     ;; depending on ZA_SAVED_REGNUM etc.
      (SME_STATE_REGNUM 88)
  
      ;; Instructions write to this register if they set TPIDR2_EL0 to a
diff -Nrcpad gcc-14-20250627/gcc/cp/ChangeLog gcc-14-20250704/gcc/cp/ChangeLog
*** gcc-14-20250627/gcc/cp/ChangeLog	Fri Jun 27 22:32:23 2025
--- gcc-14-20250704/gcc/cp/ChangeLog	Fri Jul  4 22:32:07 2025
***************
*** 1,3 ****
--- 1,24 ----
+ 2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120940
+ 	* typeck.cc (cp_build_array_ref): Fix a pasto.
+ 
+ 2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120471
+ 	* typeck.cc (cp_build_array_ref) <case COND_EXPR>: If idx is not
+ 	INTEGER_CST, don't optimize the case (but cp_default_conversion on
+ 	array early if it has ARRAY_TYPE) or use
+ 	SAVE_EXPR <op0>, SAVE_EXPR <idx>, SAVE_EXPR <op0> as new op0 depending
+ 	on flag_strong_eval_order and whether op1 and op2 are arrays with
+ 	invariant address or tree invariant pointers.  Formatting fixes.
+ 
  2025-06-02  Jason Merrill  <jason@redhat.com>
  
  	PR c++/120123
diff -Nrcpad gcc-14-20250627/gcc/cp/typeck.cc gcc-14-20250704/gcc/cp/typeck.cc
*** gcc-14-20250627/gcc/cp/typeck.cc	Fri Jun 27 22:32:23 2025
--- gcc-14-20250704/gcc/cp/typeck.cc	Fri Jul  4 22:32:07 2025
*************** cp_build_array_ref (location_t loc, tree
*** 3967,3979 ****
        }
  
      case COND_EXPR:
!       ret = build_conditional_expr
! 	       (loc, TREE_OPERAND (array, 0),
! 	       cp_build_array_ref (loc, TREE_OPERAND (array, 1), idx,
! 				   complain),
! 	       cp_build_array_ref (loc, TREE_OPERAND (array, 2), idx,
! 				   complain),
! 	       complain);
        protected_set_expr_location (ret, loc);
        return ret;
  
--- 3967,4095 ----
        }
  
      case COND_EXPR:
!       tree op0, op1, op2;
!       op0 = TREE_OPERAND (array, 0);
!       op1 = TREE_OPERAND (array, 1);
!       op2 = TREE_OPERAND (array, 2);
!       if (TREE_SIDE_EFFECTS (idx) || !tree_invariant_p (idx))
! 	{
! 	  /* If idx could possibly have some SAVE_EXPRs, turning
! 	     (op0 ? op1 : op2)[idx] into
! 	     op0 ? op1[idx] : op2[idx] can lead into temporaries
! 	     initialized in one conditional path and uninitialized
! 	     uses of them in the other path.
! 	     And if idx is a really large expression, evaluating it
! 	     twice is also not optimal.
! 	     On the other side, op0 must be sequenced before evaluation
! 	     of op1 and op2 and for C++17 op0, op1 and op2 must be
! 	     sequenced before idx.
! 	     If idx is INTEGER_CST, we can just do the optimization
! 	     without any SAVE_EXPRs, if op1 and op2 are both ARRAY_TYPE
! 	     VAR_DECLs or COMPONENT_REFs thereof (so their address
! 	     is constant or relative to frame), optimize into
! 	     (SAVE_EXPR <op0>, SAVE_EXPR <idx>, SAVE_EXPR <op0>)
! 	     ? op1[SAVE_EXPR <idx>] : op2[SAVE_EXPR <idx>]
! 	     Otherwise avoid this optimization.  */
! 	  if (flag_strong_eval_order == 2)
! 	    {
! 	      if (TREE_CODE (TREE_TYPE (array)) == ARRAY_TYPE)
! 		{
! 		  tree xop1 = op1;
! 		  tree xop2 = op2;
! 		  while (xop1 && handled_component_p (xop1))
! 		    {
! 		      switch (TREE_CODE (xop1))
! 			{
! 			case ARRAY_REF:
! 			case ARRAY_RANGE_REF:
! 			  if (!tree_invariant_p (TREE_OPERAND (xop1, 1))
! 			      || TREE_OPERAND (xop1, 2) != NULL_TREE
! 			      || TREE_OPERAND (xop1, 3) != NULL_TREE)
! 			    {
! 			      xop1 = NULL_TREE;
! 			      continue;
! 			    }
! 			  break;
! 
! 			case COMPONENT_REF:
! 			  if (TREE_OPERAND (xop1, 2) != NULL_TREE)
! 			    {
! 			      xop1 = NULL_TREE;
! 			      continue;
! 			    }
! 			  break;
! 
! 			default:
! 			  break;
! 			}
! 		      xop1 = TREE_OPERAND (xop1, 0);
! 		    }
! 		  if (xop1)
! 		    STRIP_ANY_LOCATION_WRAPPER (xop1);
! 		  while (xop2 && handled_component_p (xop2))
! 		    {
! 		      switch (TREE_CODE (xop2))
! 			{
! 			case ARRAY_REF:
! 			case ARRAY_RANGE_REF:
! 			  if (!tree_invariant_p (TREE_OPERAND (xop2, 1))
! 			      || TREE_OPERAND (xop2, 2) != NULL_TREE
! 			      || TREE_OPERAND (xop2, 3) != NULL_TREE)
! 			    {
! 			      xop2 = NULL_TREE;
! 			      continue;
! 			    }
! 			  break;
! 
! 			case COMPONENT_REF:
! 			  if (TREE_OPERAND (xop2, 2) != NULL_TREE)
! 			    {
! 			      xop2 = NULL_TREE;
! 			      continue;
! 			    }
! 			  break;
! 
! 			default:
! 			  break;
! 			}
! 		      xop2 = TREE_OPERAND (xop2, 0);
! 		    }
! 		  if (xop2)
! 		    STRIP_ANY_LOCATION_WRAPPER (xop2);
! 
! 		  if (!xop1
! 		      || !xop2
! 		      || !(CONSTANT_CLASS_P (xop1)
! 			   || decl_address_invariant_p (xop1))
! 		      || !(CONSTANT_CLASS_P (xop2)
! 			   || decl_address_invariant_p (xop2)))
! 		    {
! 		      /* Force default conversion on array if
! 			 we can't optimize this and array is ARRAY_TYPE
! 			 COND_EXPR, we can't leave COND_EXPRs with
! 			 ARRAY_TYPE in the IL.  */
! 		      array = cp_default_conversion (array, complain);
! 		      if (error_operand_p (array))
! 			return error_mark_node;
! 		      break;
! 		    }
! 		}
! 	      else if (!POINTER_TYPE_P (TREE_TYPE (array))
! 		       || !tree_invariant_p (op1)
! 		       || !tree_invariant_p (op2))
! 		break;
! 	    }
! 	  if (TREE_SIDE_EFFECTS (idx))
! 	    {
! 	      idx = save_expr (idx);
! 	      op0 = save_expr (op0);
! 	      tree tem = build_compound_expr (loc, op0, idx);
! 	      op0 = build_compound_expr (loc, tem, op0);
! 	    }
! 	}
!       op1 = cp_build_array_ref (loc, op1, idx, complain);
!       op2 = cp_build_array_ref (loc, op2, idx, complain);
!       ret = build_conditional_expr (loc, op0, op1, op2, complain);
        protected_set_expr_location (ret, loc);
        return ret;
  
diff -Nrcpad gcc-14-20250627/gcc/testsuite/ChangeLog gcc-14-20250704/gcc/testsuite/ChangeLog
*** gcc-14-20250627/gcc/testsuite/ChangeLog	Fri Jun 27 22:32:24 2025
--- gcc-14-20250704/gcc/testsuite/ChangeLog	Fri Jul  4 22:32:08 2025
***************
*** 1,3 ****
--- 1,33 ----
+ 2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120940
+ 	* g++.dg/parse/pr120940.C: New test.
+ 	* g++.dg/warn/Wduplicated-branches9.C: New test.
+ 
+ 2025-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120471
+ 	* g++.dg/ubsan/pr120471.C: New test.
+ 	* g++.dg/parse/pr120471.C: New test.
+ 
+ 2025-07-03  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-06-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/120624
+ 	* gcc.target/aarch64/sme/za_state_7.c: New test.
+ 
+ 2025-06-27  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/sso20.adb: New test.
+ 
  2025-06-20  Richard Biener  <rguenther@suse.de>
  
  	Backported from master:
diff -Nrcpad gcc-14-20250627/gcc/testsuite/g++.dg/parse/pr120471.C gcc-14-20250704/gcc/testsuite/g++.dg/parse/pr120471.C
*** gcc-14-20250627/gcc/testsuite/g++.dg/parse/pr120471.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20250704/gcc/testsuite/g++.dg/parse/pr120471.C	Fri Jul  4 22:32:10 2025
***************
*** 0 ****
--- 1,42 ----
+ // PR c++/120471
+ // { dg-do compile }
+ 
+ extern int a1[], a2[], a3[], a4[];
+ 
+ int corge (int);
+ 
+ int
+ foo (int p)
+ {
+   return (p ? a1 : a2)[1];
+ }
+ 
+ int
+ bar (int p, int q)
+ {
+   return (p ? a1 : a2)[q];
+ }
+ 
+ int
+ garply (int p, int q)
+ {
+   return (p ? a1 : a2)[corge (q)];
+ }
+ 
+ int
+ baz (int p, int q)
+ {
+   return (p ? q ? a1 : a2 : q ? a3 : a4)[1];
+ }
+ 
+ int
+ qux (int p, int q, int r)
+ {
+   return (p ? q ? a1 : a2 : q ? a3 : a4)[r];
+ }
+ 
+ int
+ fred (int p, int q, int r)
+ {
+   return (p ? q ? a1 : a2 : q ? a3 : a4)[corge (r)];
+ }
diff -Nrcpad gcc-14-20250627/gcc/testsuite/g++.dg/parse/pr120940.C gcc-14-20250704/gcc/testsuite/g++.dg/parse/pr120940.C
*** gcc-14-20250627/gcc/testsuite/g++.dg/parse/pr120940.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20250704/gcc/testsuite/g++.dg/parse/pr120940.C	Fri Jul  4 22:32:10 2025
***************
*** 0 ****
--- 1,18 ----
+ // PR c++/120940
+ // { dg-do run }
+ 
+ int a[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
+ int b[8] = { 9, 10, 11, 12, 13, 14, 15, 16 };
+ 
+ __attribute__((noipa)) int
+ foo (int x, int y)
+ {
+   return (x ? a : b)[y];
+ }
+ 
+ int
+ main ()
+ {
+   if (foo (1, 4) != 5 || foo (0, 6) != 15)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-14-20250627/gcc/testsuite/g++.dg/ubsan/pr120471.C gcc-14-20250704/gcc/testsuite/g++.dg/ubsan/pr120471.C
*** gcc-14-20250627/gcc/testsuite/g++.dg/ubsan/pr120471.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20250704/gcc/testsuite/g++.dg/ubsan/pr120471.C	Fri Jul  4 22:32:10 2025
***************
*** 0 ****
--- 1,21 ----
+ // PR c++/120471
+ // { dg-do run }
+ // { dg-options "-fsanitize=undefined" }
+ 
+ volatile int b[1], a[1];
+ 
+ void
+ foo (int x)
+ {
+   volatile int c = 21;
+   volatile int v = (x % 2 ? b : a)[c % 3];
+   if (v != 0)
+     __builtin_abort ();
+ }
+ 
+ int
+ main ()
+ {
+   foo (1);
+   foo (2);
+ }
diff -Nrcpad gcc-14-20250627/gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C gcc-14-20250704/gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C
*** gcc-14-20250627/gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20250704/gcc/testsuite/g++.dg/warn/Wduplicated-branches9.C	Fri Jul  4 22:32:10 2025
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/120940
+ // { dg-do compile }
+ // { dg-options "-Wduplicated-branches" }
+ 
+ static char a[16][8], b[16][8];
+ 
+ char *
+ foo (int x, int y)
+ {
+   return (x ? a : b)[y];
+ }
diff -Nrcpad gcc-14-20250627/gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c gcc-14-20250704/gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c
*** gcc-14-20250627/gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20250704/gcc/testsuite/gcc.target/aarch64/sme/za_state_7.c	Fri Jul  4 22:32:12 2025
***************
*** 0 ****
--- 1,21 ----
+ // { dg-options "-O -fno-optimize-sibling-calls -fomit-frame-pointer" }
+ 
+ #include <arm_sme.h>
+ 
+ void callee();
+ 
+ __arm_new("za") __arm_locally_streaming int test()
+ {
+   svbool_t all = svptrue_b8();
+   svint8_t expected = svindex_s8(1, 1);
+   svwrite_hor_za8_m(0, 0, all, expected);
+ 
+   callee();
+ 
+   svint8_t actual = svread_hor_za8_m(svdup_s8(0), all, 0, 0);
+   return svptest_any(all, svcmpne(all, expected, actual));
+ }
+ 
+ // { dg-final { scan-assembler {\tbl\t__arm_tpidr2_save\n} } }
+ // { dg-final { scan-assembler {\tbl\t__arm_tpidr2_restore\n} } }
+ // { dg-final { scan-assembler-times {\tsmstart\tza\n} 2 } }
