diff -Nrcpad gcc-15-20260731/LAST_UPDATED gcc-15-20260807/LAST_UPDATED
*** gcc-15-20260731/LAST_UPDATED	Fri Jul 31 22:32:23 2026
--- gcc-15-20260807/LAST_UPDATED	Fri Aug  7 22:32:22 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision a3b110420ad422270974f2d42a019c88d389669e
--- 1 ----
! Obtained from git: releases/gcc-15 revision 9abbb1c1c98ce2d4655a150f174ad5eaf1012bf8
diff -Nrcpad gcc-15-20260731/MD5SUMS gcc-15-20260807/MD5SUMS
*** gcc-15-20260731/MD5SUMS	Fri Jul 31 22:32:27 2026
--- gcc-15-20260807/MD5SUMS	Fri Aug  7 22:32:27 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260731.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260807.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! f014f595ae2f50988f7051009c63e6cc  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! e106fd6126ba20c5d424819a00aea8ab  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** c5258891437b4abaf168ed1b1a5b2189  gcc/BA
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 7fa2a8329720030ca7e50d3798945eb7  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 6970ee32b076b7ae9536a6f67e8ac843  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 34917b2ffa2eb4bab696d4db8d8ef0a4  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! f72fbd2d97c057a299cb32511646db15  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! f95746daf62089f47f291ea24cf3ec26  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 3e00041e46d090197965b7a01cad6bd8  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** b270d994d3afc78b194d5ab9ddd800c0  gcc/ad
*** 759,765 ****
  cc3a6ec62bea106872aef6143609f920  gcc/ada/exp_aggr.ads
  f5cfbe3c80cc2c7ded2440a52b2b9cf0  gcc/ada/exp_atag.adb
  17872534d797a09463e33092ff3c4b9c  gcc/ada/exp_atag.ads
! 75f9d4cd8780ae213f93e8b450c7c397  gcc/ada/exp_attr.adb
  16622dd90fd58bfbfa68224d0bfaf8b2  gcc/ada/exp_attr.ads
  4cb08de59df5f8d0a124038dcbb392f0  gcc/ada/exp_cg.adb
  b18d9873e8e43583acd0e69ba6635023  gcc/ada/exp_cg.ads
--- 759,765 ----
  cc3a6ec62bea106872aef6143609f920  gcc/ada/exp_aggr.ads
  f5cfbe3c80cc2c7ded2440a52b2b9cf0  gcc/ada/exp_atag.adb
  17872534d797a09463e33092ff3c4b9c  gcc/ada/exp_atag.ads
! 9d7af87015db54252bc409a0fc237509  gcc/ada/exp_attr.adb
  16622dd90fd58bfbfa68224d0bfaf8b2  gcc/ada/exp_attr.ads
  4cb08de59df5f8d0a124038dcbb392f0  gcc/ada/exp_cg.adb
  b18d9873e8e43583acd0e69ba6635023  gcc/ada/exp_cg.ads
*************** c32b79cba61a5b6f930702390ccb4a7e  gcc/ad
*** 778,784 ****
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
  9dda196327513bf2ff43b720e183d830  gcc/ada/exp_ch5.adb
  3564a044f1e9954ffdd8d3a48643fff9  gcc/ada/exp_ch5.ads
! 70cbc7566dc023482c5cd134af1130f5  gcc/ada/exp_ch6.adb
  569663f94da41d023cc2d7056ce13439  gcc/ada/exp_ch6.ads
  356896e905fa10471e94e6ed528670a1  gcc/ada/exp_ch7.adb
  31ee5e50c565d4788d9b794acb5bfebb  gcc/ada/exp_ch7.ads
--- 778,784 ----
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
  9dda196327513bf2ff43b720e183d830  gcc/ada/exp_ch5.adb
  3564a044f1e9954ffdd8d3a48643fff9  gcc/ada/exp_ch5.ads
! da5aa3d9d84dcc707e385186a7bfe715  gcc/ada/exp_ch6.adb
  569663f94da41d023cc2d7056ce13439  gcc/ada/exp_ch6.ads
  356896e905fa10471e94e6ed528670a1  gcc/ada/exp_ch7.adb
  31ee5e50c565d4788d9b794acb5bfebb  gcc/ada/exp_ch7.ads
*************** b0607745e568ea27d4cb1091a13ee2ce  gcc/ad
*** 2912,2918 ****
  afaa0a52de285d1aad9c58b79b424a1f  gcc/ada/sem.ads
  baccd15153822f6fbc278d313cf492fd  gcc/ada/sem_aggr.adb
  d9e9e67a1e6554ab3bc7e11269dd3763  gcc/ada/sem_aggr.ads
! fd9b5fc36ee037edcbc5d5bb784d5d45  gcc/ada/sem_attr.adb
  bfe4748123d415f6eb13d89a585468f1  gcc/ada/sem_attr.ads
  4a02c8331cea42852aa409345905ab04  gcc/ada/sem_aux.adb
  3f6d12eb2d9c7a6a829eaf2bda0535a5  gcc/ada/sem_aux.ads
--- 2912,2918 ----
  afaa0a52de285d1aad9c58b79b424a1f  gcc/ada/sem.ads
  baccd15153822f6fbc278d313cf492fd  gcc/ada/sem_aggr.adb
  d9e9e67a1e6554ab3bc7e11269dd3763  gcc/ada/sem_aggr.ads
! 23cfd2c10f58785c0f4d0da35ef083fe  gcc/ada/sem_attr.adb
  bfe4748123d415f6eb13d89a585468f1  gcc/ada/sem_attr.ads
  4a02c8331cea42852aa409345905ab04  gcc/ada/sem_aux.adb
  3f6d12eb2d9c7a6a829eaf2bda0535a5  gcc/ada/sem_aux.ads
*************** e93e11f042811778d4ae3733222ab45e  gcc/an
*** 3181,3187 ****
  5a17e0622971cd36551275c0f7ce640c  gcc/analyzer/varargs.cc
  cc81acb908eb9d6b13038a95c3a10a9c  gcc/analyzer/varargs.dot
  eeb42b412edc2884a4c60d6f38f7473b  gcc/array-traits.h
! b0309ffd83085ca70cb76a26701feacb  gcc/asan.cc
  3b696031376017661bf8d237ffc7c068  gcc/asan.h
  c77616ec7ed7ec81357de9544f955910  gcc/attr-fnspec.h
  3d7a71537ed817b2c8f0c30cd04c9201  gcc/attr-urls.def
--- 3181,3187 ----
  5a17e0622971cd36551275c0f7ce640c  gcc/analyzer/varargs.cc
  cc81acb908eb9d6b13038a95c3a10a9c  gcc/analyzer/varargs.dot
  eeb42b412edc2884a4c60d6f38f7473b  gcc/array-traits.h
! 6f22dd13bbb1652840095c773222c2b1  gcc/asan.cc
  3b696031376017661bf8d237ffc7c068  gcc/asan.h
  c77616ec7ed7ec81357de9544f955910  gcc/attr-fnspec.h
  3d7a71537ed817b2c8f0c30cd04c9201  gcc/attr-urls.def
*************** c2a3fe52895b1689c1c46af985a10daa  gcc/co
*** 4079,4085 ****
  284b65d9f14985fcf610d8d1a59a3b88  gcc/config/i386/avx10_2copyintrin.h
  e982b5c4c994f88d7dbf190bc95d301a  gcc/config/i386/avx10_2mediaintrin.h
  93ae3650d874a59c2d485f29e70de7c3  gcc/config/i386/avx10_2minmaxintrin.h
! f3d89584d95e1fe832356ad6812020c4  gcc/config/i386/avx10_2satcvtintrin.h
  3f8272d8581e1bde11dd3f83be612b91  gcc/config/i386/avx2intrin.h
  fe68438cc28695e7cdc08fb1954473a6  gcc/config/i386/avx5124fmapsintrin.h
  269bc88329fe3299cb64cf24f0f85b4a  gcc/config/i386/avx5124vnniwintrin.h
--- 4079,4085 ----
  284b65d9f14985fcf610d8d1a59a3b88  gcc/config/i386/avx10_2copyintrin.h
  e982b5c4c994f88d7dbf190bc95d301a  gcc/config/i386/avx10_2mediaintrin.h
  93ae3650d874a59c2d485f29e70de7c3  gcc/config/i386/avx10_2minmaxintrin.h
! 7005d15811f09cb8a71156ddc1c9d38d  gcc/config/i386/avx10_2satcvtintrin.h
  3f8272d8581e1bde11dd3f83be612b91  gcc/config/i386/avx2intrin.h
  fe68438cc28695e7cdc08fb1954473a6  gcc/config/i386/avx5124fmapsintrin.h
  269bc88329fe3299cb64cf24f0f85b4a  gcc/config/i386/avx5124vnniwintrin.h
*************** d3fb594d11281112ff8d8f304a000c4e  gcc/co
*** 4190,4196 ****
  c9b93fa3cbcff84e37b470c61a4c7f65  gcc/config/i386/i386-c.cc
  54909bb70e074c14dcf4499a5baedc54  gcc/config/i386/i386-d.cc
  172dcd61afc5800b61ebb688838d9adc  gcc/config/i386/i386-d.h
! b168b5f210f9503533227bd72c729e45  gcc/config/i386/i386-expand.cc
  c9c3969c00808c9b6809fbeab3e4a1d2  gcc/config/i386/i386-expand.h
  ba79dc9cffbca47e10d361aeb3d716f3  gcc/config/i386/i386-features.cc
  94adc181549d171cf2618530e3b49ff7  gcc/config/i386/i386-features.h
--- 4190,4196 ----
  c9b93fa3cbcff84e37b470c61a4c7f65  gcc/config/i386/i386-c.cc
  54909bb70e074c14dcf4499a5baedc54  gcc/config/i386/i386-d.cc
  172dcd61afc5800b61ebb688838d9adc  gcc/config/i386/i386-d.h
! 11dc2e4e7e5360e65866acaa0cae7dc9  gcc/config/i386/i386-expand.cc
  c9c3969c00808c9b6809fbeab3e4a1d2  gcc/config/i386/i386-expand.h
  ba79dc9cffbca47e10d361aeb3d716f3  gcc/config/i386/i386-features.cc
  94adc181549d171cf2618530e3b49ff7  gcc/config/i386/i386-features.h
*************** f51037a9e437f8e9ce7215b2da5ad4e2  gcc/co
*** 4958,4965 ****
  e67a32ac377a0e247ed24db0833b46e6  gcc/config/riscv/riscv-vsetvl.cc
  16b7359c0b12895c0d7452fc89879a1a  gcc/config/riscv/riscv-vsetvl.def
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
! 5a510cd5c5ea3f3d498a83a7840e2abf  gcc/config/riscv/riscv.cc
! ca16cdb10e634d6cfa172d8a447f3053  gcc/config/riscv/riscv.h
  e0f559ad59aa7daada8d2a405d8ea9d8  gcc/config/riscv/riscv.md
  c799356a57b52ab91ff324ab22516fba  gcc/config/riscv/riscv.opt
  d1d34490d8b53ec20d70ed9e2e56e3ab  gcc/config/riscv/riscv.opt.urls
--- 4958,4965 ----
  e67a32ac377a0e247ed24db0833b46e6  gcc/config/riscv/riscv-vsetvl.cc
  16b7359c0b12895c0d7452fc89879a1a  gcc/config/riscv/riscv-vsetvl.def
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
! a796a66b1895d3f0a8a5938c6f38a63f  gcc/config/riscv/riscv.cc
! 37791aa05688a228a7cf6fe2f8dcf39e  gcc/config/riscv/riscv.h
  e0f559ad59aa7daada8d2a405d8ea9d8  gcc/config/riscv/riscv.md
  c799356a57b52ab91ff324ab22516fba  gcc/config/riscv/riscv.opt
  d1d34490d8b53ec20d70ed9e2e56e3ab  gcc/config/riscv/riscv.opt.urls
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6063,6069 ****
  c93bd28b3de1f9c783e16fc6ec4aab32  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 34bd854a10241ffd10cfda3502b01eb9  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6063,6069 ----
  c93bd28b3de1f9c783e16fc6ec4aab32  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 07cf9854e1cd64133e021abbdbd5b77c  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** d85e2f2fc3ee4721563bd47719063fb6  gcc/fo
*** 6109,6117 ****
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! 67ace3d58d1c7d3baa7f7110ad229995  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
! 397985434fbfa5a1c5e71111f8253557  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
  bd08c55098f00394b9922e6163c27b92  gcc/fortran/gfc-internals.texi
  594106f4945aba24162f5490e0fec580  gcc/fortran/gfortran.h
--- 6109,6117 ----
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! 7a2d1b4456217ebb3ffe22f4cf30ac27  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
! f41bacfe873430a022f3931f19d80529  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
  bd08c55098f00394b9922e6163c27b92  gcc/fortran/gfc-internals.texi
  594106f4945aba24162f5490e0fec580  gcc/fortran/gfortran.h
*************** da09d1e31d3994eb3d6958074d7b7ce5  gcc/gi
*** 6257,6263 ****
  98652c967ce7f8dda9a1c398caa0996a  gcc/gimple-harden-conditionals.cc
  34959112cc04df5744be2b160e2f9d80  gcc/gimple-harden-control-flow.cc
  46c40ebab120d543476a2e46ac063bba  gcc/gimple-if-to-switch.cc
! 65c7f0cbe140eb21ef44d13d4d22a125  gcc/gimple-isel.cc
  319a859d4c4eb6948afa93d70a5c97ec  gcc/gimple-iterator.cc
  a0c225f8a1deb41873e5984a058b0f45  gcc/gimple-iterator.h
  4ab554af77b78b1a5d2948c9f0632680  gcc/gimple-laddress.cc
--- 6257,6263 ----
  98652c967ce7f8dda9a1c398caa0996a  gcc/gimple-harden-conditionals.cc
  34959112cc04df5744be2b160e2f9d80  gcc/gimple-harden-control-flow.cc
  46c40ebab120d543476a2e46ac063bba  gcc/gimple-if-to-switch.cc
! d49ac488cc6aeb9420749ddd8bd933f3  gcc/gimple-isel.cc
  319a859d4c4eb6948afa93d70a5c97ec  gcc/gimple-iterator.cc
  a0c225f8a1deb41873e5984a058b0f45  gcc/gimple-iterator.h
  4ab554af77b78b1a5d2948c9f0632680  gcc/gimple-laddress.cc
*************** a0c225f8a1deb41873e5984a058b0f45  gcc/gi
*** 6266,6272 ****
  9d283d6d05cc10c386454e9c6a25e22a  gcc/gimple-loop-versioning.cc
  de516dc4a59882c258bf01584c25b2de  gcc/gimple-low.cc
  a507a70e7f4b0dd99e594d15a5a9a89b  gcc/gimple-low.h
! a46e1b3da35c17ccdd78770993412b74  gcc/gimple-lower-bitint.cc
  bb02db160d1eb3a985d3b5dfa8e0566c  gcc/gimple-lower-bitint.h
  da1cba564288415af1f675747c508315  gcc/gimple-match-exports.cc
  144911a83796283e587e0c84378e118d  gcc/gimple-match-head.cc
--- 6266,6272 ----
  9d283d6d05cc10c386454e9c6a25e22a  gcc/gimple-loop-versioning.cc
  de516dc4a59882c258bf01584c25b2de  gcc/gimple-low.cc
  a507a70e7f4b0dd99e594d15a5a9a89b  gcc/gimple-low.h
! 801cd1e552e73e7f77a7ebaa143f9556  gcc/gimple-lower-bitint.cc
  bb02db160d1eb3a985d3b5dfa8e0566c  gcc/gimple-lower-bitint.h
  da1cba564288415af1f675747c508315  gcc/gimple-match-exports.cc
  144911a83796283e587e0c84378e118d  gcc/gimple-match-head.cc
*************** fc5706ae421aa8f2f9bba7fe2c637237  gcc/gi
*** 6322,6328 ****
  de3c6e76ea556b82fe244a285b883d51  gcc/gimple.h
  3a9aada7fb0c64db811ae3c7818bda68  gcc/gimplify-me.cc
  84814cb09300f3db388dd0d22133ccb4  gcc/gimplify-me.h
! ede245e91d746af0bdf2172f436e31f1  gcc/gimplify.cc
  06f2b5470f6bc6f77e9b7966e34e5785  gcc/gimplify.h
  7df17d7c2bcdff0a474d633a02195544  gcc/ginclude/float.h
  d22f0a286107015428c4b28c0d17abda  gcc/ginclude/iso646.h
--- 6322,6328 ----
  de3c6e76ea556b82fe244a285b883d51  gcc/gimple.h
  3a9aada7fb0c64db811ae3c7818bda68  gcc/gimplify-me.cc
  84814cb09300f3db388dd0d22133ccb4  gcc/gimplify-me.h
! 07012ccaf45eab141bf81fc67d4bb86c  gcc/gimplify.cc
  06f2b5470f6bc6f77e9b7966e34e5785  gcc/gimplify.h
  7df17d7c2bcdff0a474d633a02195544  gcc/ginclude/float.h
  d22f0a286107015428c4b28c0d17abda  gcc/ginclude/iso646.h
*************** f9608e9005487c369e6c38949ab36fa1  gcc/m2
*** 7642,7648 ****
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! 352e67347361f1860c50c063e6765c32  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
--- 7642,7648 ----
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! 3c51d2da8017918167f795659ba13c13  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
*************** a5461dd81ec55dc6f56817a1f356f345  gcc/pr
*** 7793,7799 ****
  abcd9fde490dc73b97b051f02682a850  gcc/profile-count.h
  be294583d74c167da1819e51e9001b52  gcc/profile.cc
  d30f617ac9705fc7dc5d14e744fe4ff0  gcc/profile.h
! fcd441ab2809b6470a3eaa51e39ba6da  gcc/range-op-float.cc
  5ee20dec11c42aba14ee0af712f68d8c  gcc/range-op-mixed.h
  01058387fc46315c1e48161b3df36a09  gcc/range-op-ptr.cc
  2149fd213ecd177c818b26a1185bf222  gcc/range-op.cc
--- 7793,7799 ----
  abcd9fde490dc73b97b051f02682a850  gcc/profile-count.h
  be294583d74c167da1819e51e9001b52  gcc/profile.cc
  d30f617ac9705fc7dc5d14e744fe4ff0  gcc/profile.h
! 727c2563db6ea76c586f18eb1269af74  gcc/range-op-float.cc
  5ee20dec11c42aba14ee0af712f68d8c  gcc/range-op-mixed.h
  01058387fc46315c1e48161b3df36a09  gcc/range-op-ptr.cc
  2149fd213ecd177c818b26a1185bf222  gcc/range-op.cc
*************** af420d569eb72f885f4375e275545070  gcc/ta
*** 8450,8456 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 869af013541d5a2516e1909e398891d3  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8450,8456 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! d0a6c24ed283fb298e2a0e373cf58254  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** e24f0e502cef393d2dbeeea684980651  gcc/te
*** 37833,37839 ****
  a8a857220d4221ed70fa20fdbdf0cfca  gcc/testsuite/g++.target/riscv/pr122692-run-1.C
  605f86e49704fde491263d58c2ccade7  gcc/testsuite/g++.target/riscv/pr122692-run-2.C
  4c45e102d6dd19ee08a476904b64542d  gcc/testsuite/g++.target/riscv/pr96759.C
! ac37e529bda1269045c3681cc4b425dd  gcc/testsuite/g++.target/riscv/pr97682.C
  6e6f612caa7b4f4e5eea9cd6bba4227b  gcc/testsuite/g++.target/riscv/redundant-bitmap-1.C
  7079827a2e9106d7dd26baf0312903e6  gcc/testsuite/g++.target/riscv/redundant-bitmap-2.C
  5e656f7ba916750fdf3fd708236e7e9a  gcc/testsuite/g++.target/riscv/redundant-bitmap-3.C
--- 37833,37839 ----
  a8a857220d4221ed70fa20fdbdf0cfca  gcc/testsuite/g++.target/riscv/pr122692-run-1.C
  605f86e49704fde491263d58c2ccade7  gcc/testsuite/g++.target/riscv/pr122692-run-2.C
  4c45e102d6dd19ee08a476904b64542d  gcc/testsuite/g++.target/riscv/pr96759.C
! 57dba22fc1d3b47e176ef98447c8f243  gcc/testsuite/g++.target/riscv/pr97682.C
  6e6f612caa7b4f4e5eea9cd6bba4227b  gcc/testsuite/g++.target/riscv/redundant-bitmap-1.C
  7079827a2e9106d7dd26baf0312903e6  gcc/testsuite/g++.target/riscv/redundant-bitmap-2.C
  5e656f7ba916750fdf3fd708236e7e9a  gcc/testsuite/g++.target/riscv/redundant-bitmap-3.C
*************** c446cf331d60d19eea3950d7f444f8b3  gcc/te
*** 43769,43775 ****
--- 43769,43777 ----
  3fa6e340272f61c5b425b6a54732c94f  gcc/testsuite/gcc.dg/bitint-127.c
  a7f36d213cef759e44b1ea369391b70d  gcc/testsuite/gcc.dg/bitint-128.c
  aa6e262f1d508ec048e76ac4af6675a4  gcc/testsuite/gcc.dg/bitint-13.c
+ 1ed8e005daa6b40a0c9b7b239c98c8be  gcc/testsuite/gcc.dg/bitint-139.c
  e6db29256563268a3c327706e78c79a4  gcc/testsuite/gcc.dg/bitint-14.c
+ b76f22f76bafd555d897bb0b2bd338fa  gcc/testsuite/gcc.dg/bitint-141.c
  c748706240385773f27caba61cbbcbd8  gcc/testsuite/gcc.dg/bitint-15.c
  acfbe287f11e3faf0020cde57be42822  gcc/testsuite/gcc.dg/bitint-16.c
  5fe723ea15779d8c01ab2c2fd255acaf  gcc/testsuite/gcc.dg/bitint-17.c
*************** c24af1592de8918050b279c29b0300ce  gcc/te
*** 50052,50057 ****
--- 50054,50060 ----
  ab60b475998ea1ed92a9002d6336bfd6  gcc/testsuite/gcc.dg/pr125501.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
+ f3ad76ba5080e5c627e1d54c8e3fc967  gcc/testsuite/gcc.dg/pr126464.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
  86dc5cfaafafc79e11d0559d71baea6b  gcc/testsuite/gcc.dg/pr13804-1.c
  2a52cc05fb1415e0eafbc468a7ccc138  gcc/testsuite/gcc.dg/pr14092-1.c
*************** b17b4527a47b2b6306755793803b481f  gcc/te
*** 53027,53032 ****
--- 53030,53039 ----
  8e57ed5237e8f0f6918760eea643be09  gcc/testsuite/gcc.dg/torture/bitint-10.c
  91e3ecf6956920cfc43a0be09d9adff4  gcc/testsuite/gcc.dg/torture/bitint-101.c
  d21799d1355d134c49fbb279e9061c5d  gcc/testsuite/gcc.dg/torture/bitint-102.c
+ 4cd35e190f8a05b09f5f598b569b1b60  gcc/testsuite/gcc.dg/torture/bitint-103.c
+ 6ba65cff2455ee6dc281876d27829fa1  gcc/testsuite/gcc.dg/torture/bitint-104.c
+ ff8cf5c09693d848fab5f482d5bb2be3  gcc/testsuite/gcc.dg/torture/bitint-105.c
+ 8dbb47772e9818aa86f1d571c4503063  gcc/testsuite/gcc.dg/torture/bitint-106.c
  6e0edfd615730c144c767fcf9cebc844  gcc/testsuite/gcc.dg/torture/bitint-11.c
  70badd65fbc9d51f24c59244ff200b8c  gcc/testsuite/gcc.dg/torture/bitint-12.c
  d43d461c9733529f16abae58889c550b  gcc/testsuite/gcc.dg/torture/bitint-13.c
*************** f4849047990250a3f9ee017d25b29b9a  gcc/te
*** 53824,53829 ****
--- 53831,53837 ----
  459e4addcc4688257422fed8391988cd  gcc/testsuite/gcc.dg/torture/pr125776-1.c
  9b58e29ad15155e6fc7bf7dbad6bc468  gcc/testsuite/gcc.dg/torture/pr125776-2.c
  d37f980a2ba8a3f7fef2d2c9a4f2a81d  gcc/testsuite/gcc.dg/torture/pr125953.c
+ 41ed1d0a724d4e7e08239b14b14a1043  gcc/testsuite/gcc.dg/torture/pr126464.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** a6cf066e6e502eee358c3db0aee78926  gcc/te
*** 57558,57563 ****
--- 57566,57572 ----
  3bb3d7147b5445fd4f17d2be28e5a317  gcc/testsuite/gcc.dg/ubsan/bitint-2.c
  199adf7daa04d85435a3c1a0995f955f  gcc/testsuite/gcc.dg/ubsan/bitint-3.c
  209487ed7251c08b5d467814d7e24249  gcc/testsuite/gcc.dg/ubsan/bitint-4.c
+ c66016f07e4c6af135d26f68b6ee23fb  gcc/testsuite/gcc.dg/ubsan/bitint-5.c
  b9d67dbc50419a82b76d70029936f329  gcc/testsuite/gcc.dg/ubsan/bounds-1.c
  8ef707e5f4c734c1b8be85269cd93d06  gcc/testsuite/gcc.dg/ubsan/bounds-2.c
  49c14bdc09fb274e14fd4f886b5e6fb9  gcc/testsuite/gcc.dg/ubsan/bounds-3.c
*************** b2a5408a9b77cab42d5d95146250a38f  gcc/te
*** 75480,75485 ****
--- 75489,75495 ----
  f6a4ee4d223cdf4463f296171468844c  gcc/testsuite/gcc.target/i386/avx2-pr114157.c
  1e455b321989ce8198e2a5cd0ab772ff  gcc/testsuite/gcc.target/i386/avx2-pr114783.c
  6fa4b94fa60e1eec4b7906f5939c053f  gcc/testsuite/gcc.target/i386/avx2-pr115517.c
+ a1410da90f646f82394ac1561d97a301  gcc/testsuite/gcc.target/i386/avx2-pr126446.c
  a544282846ec57648b2f38abf14119f0  gcc/testsuite/gcc.target/i386/avx2-pr51581-1.c
  46ffedd4e5e66cd46ad561ee8562eb7b  gcc/testsuite/gcc.target/i386/avx2-pr51581-2.c
  adf63582badc02467af57f768108628f  gcc/testsuite/gcc.target/i386/avx2-pr57233.c
*************** d9ed650f309dc0e24daeb25d90c34fa0  gcc/te
*** 80545,80550 ****
--- 80555,80561 ----
  dc1ca8471081be67fdad4d340997d425  gcc/testsuite/gcc.target/i386/pr125351.c
  f91ae39059fe7fb51f459d3446010197  gcc/testsuite/gcc.target/i386/pr126148.c
  daa1cb0a89547fecac9f64b4325b1f0c  gcc/testsuite/gcc.target/i386/pr126429-1.c
+ 9f7ebb52583e7997f49bc9e24a5f230a  gcc/testsuite/gcc.target/i386/pr126581-1.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
  31ead0ee84b382ba03e3561931bc6e40  gcc/testsuite/gcc.target/i386/pr14289-1.c
*************** f317ba2660d97eb065ac06ba5e3d9c80  gcc/te
*** 92247,92252 ****
--- 92258,92265 ----
  c7b8c050c02b19e79d1fc07b2cbd9798  gcc/testsuite/gcc.target/riscv/rvv/base/setmem-2.c
  364ca0ddd4b74247076ccd4f9e232248  gcc/testsuite/gcc.target/riscv/rvv/base/setmem-3.c
  9d20ec19a81591b4273ec5dc6d68c4ce  gcc/testsuite/gcc.target/riscv/rvv/base/shift_vx_constraint-1.c
+ 9e3443a9cd27e10605492bfd7a6ab740  gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c
+ f183f0b083d468bc13c2d979632e5d57  gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c
  3803a1288f8c5b977c84cca2c1bfd391  gcc/testsuite/gcc.target/riscv/rvv/base/simplify-vdiv.c
  0beee1dd080ce6562b9f1784fcdddecd  gcc/testsuite/gcc.target/riscv/rvv/base/simplify-vrsub.c
  5573d15ac1e45d7182e2c94949f03b0b  gcc/testsuite/gcc.target/riscv/rvv/base/spill-1.c
*************** b9c77c8cd78fcd9e57fbfafe732a8c95  gcc/te
*** 106189,106195 ****
--- 106202,106210 ----
  9aa1b21c93a3838e52245be748b9b301  gcc/testsuite/gfortran.dg/pr124161.f90
  5bfaeea8d13a5035cf46aaab485c2803  gcc/testsuite/gfortran.dg/pr124450.f90
  864111c6768fee3f647605c5cf8db475  gcc/testsuite/gfortran.dg/pr124567.f90
+ d2d5151630bb11e6342143dc4afe5e96  gcc/testsuite/gfortran.dg/pr125866.f90
  7e2e05a5f046a763356f94130e52c9a6  gcc/testsuite/gfortran.dg/pr126116.f90
+ 79f761eaecad212ada45e8ca1650129e  gcc/testsuite/gfortran.dg/pr126303.f
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  e9cbd51db4e16292fc5dd1fead2e5a49  gcc/testsuite/gfortran.dg/pr15140.f90
*************** bb65c4fde027a30c686dc94b413d88df  gcc/te
*** 113517,113522 ****
--- 113532,113538 ----
  1394b7d36fa61e7f3417caa6cf755de5  gcc/testsuite/gnat.dg/unchecked_union2.adb
  22691e0b30f29e2232672977844f75c1  gcc/testsuite/gnat.dg/unchecked_union3.adb
  a5d89ecafbb5dd31c1a79cf5513d61ed  gcc/testsuite/gnat.dg/unchecked_union4.adb
+ a8e411bf96534371c9135ba8380bcdaf  gcc/testsuite/gnat.dg/unchecked_union5.adb
  9bcc7fe177662a52afe92c8e863cb022  gcc/testsuite/gnat.dg/uninit_array.adb
  8e53621d67942b5d53e2c54dd1648dd7  gcc/testsuite/gnat.dg/uninit_array.ads
  be51b72e76043adb990a3e95f4c40554  gcc/testsuite/gnat.dg/uninit_array_pkg.ads
*************** b9b78fbd058ac9dfd657617df5ab8b4c  gcc/te
*** 113537,113548 ****
  978b7483f1bef09979e22217b25587be  gcc/testsuite/gnat.dg/valid4_pkg.adb
  e8baf7bc26d6a00eef69afb3d876aa15  gcc/testsuite/gnat.dg/valid4_pkg.ads
  a1e7aae249b825b8a94c3beef553b6fa  gcc/testsuite/gnat.dg/valid_scalars1.adb
! a6a0b52bb22a43eb3f3d70acea1b4b3d  gcc/testsuite/gnat.dg/valid_scalars2.adb
  54c3a51bfffb1449ddb2f96d64bc4ed6  gcc/testsuite/gnat.dg/validity_check.adb
  dd9e1c79a365f3c5572752bd8ddcfe84  gcc/testsuite/gnat.dg/validity_check2.adb
  da0ce573bcb3ddebededa8ee3a72be25  gcc/testsuite/gnat.dg/validity_check2_pkg.ads
! 839c51cf31eaf06e2759901e5d359f6f  gcc/testsuite/gnat.dg/validity_check3.adb
! df5da3db048b24a0f477d7c82b842c01  gcc/testsuite/gnat.dg/validity_check3.ads
  be705ea9eb2b2a25acd0c7f8bce18372  gcc/testsuite/gnat.dg/valued_proc.adb
  4513681c73046063b5b42df22c9ffc1e  gcc/testsuite/gnat.dg/valued_proc_pkg.ads
  b98dad271fa48ba2b9248ffeb13133e0  gcc/testsuite/gnat.dg/varsize1.adb
--- 113553,113565 ----
  978b7483f1bef09979e22217b25587be  gcc/testsuite/gnat.dg/valid4_pkg.adb
  e8baf7bc26d6a00eef69afb3d876aa15  gcc/testsuite/gnat.dg/valid4_pkg.ads
  a1e7aae249b825b8a94c3beef553b6fa  gcc/testsuite/gnat.dg/valid_scalars1.adb
! d4d8653ed063d1885a86cb91bae6753d  gcc/testsuite/gnat.dg/valid_scalars2.adb
! 0536c171788c3105f040007d2658c095  gcc/testsuite/gnat.dg/valid_scalars3.adb
! feb95263871116fed73934dd0bb3fbf9  gcc/testsuite/gnat.dg/valid_scalars3.ads
  54c3a51bfffb1449ddb2f96d64bc4ed6  gcc/testsuite/gnat.dg/validity_check.adb
  dd9e1c79a365f3c5572752bd8ddcfe84  gcc/testsuite/gnat.dg/validity_check2.adb
  da0ce573bcb3ddebededa8ee3a72be25  gcc/testsuite/gnat.dg/validity_check2_pkg.ads
! 5d4d4719b450b3694bf6cdebf343b3f7  gcc/testsuite/gnat.dg/validity_check3.adb
  be705ea9eb2b2a25acd0c7f8bce18372  gcc/testsuite/gnat.dg/valued_proc.adb
  4513681c73046063b5b42df22c9ffc1e  gcc/testsuite/gnat.dg/valued_proc_pkg.ads
  b98dad271fa48ba2b9248ffeb13133e0  gcc/testsuite/gnat.dg/varsize1.adb
*************** a73fdec6746eaad8ccdc8e8403aac562  libqua
*** 132045,132051 ****
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! 9f1cca725a01bd0bc3e2f023e2d22d39  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  1a2ca7cd408b1705dc84c19070a7049b  libsanitizer/LOCAL_PATCHES
--- 132062,132068 ----
  af84fa5118f4adec8393614994e1c4d6  libquadmath/strtod/strtoflt128.c
  d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
  12c73a846f7668d29de720bd79502bef  libquadmath/update-quadmath.py
! a0457eb850ec855e22351273cd38cde2  libsanitizer/ChangeLog
  63916ba64a3cfa7ce2809fb46ab38597  libsanitizer/HOWTO_MERGE
  0249c37748936faf5b1efd5789587909  libsanitizer/LICENSE.TXT
  1a2ca7cd408b1705dc84c19070a7049b  libsanitizer/LOCAL_PATCHES
*************** fcdf88c4922b4bf531859f5e19f37f19  libsan
*** 132507,132513 ****
  339793c91cce47c39da05aab388a1d91  libsanitizer/tsan/tsan_symbolize.h
  ac99e2a1604f10691ceb3d4a4600d0ed  libsanitizer/tsan/tsan_sync.cpp
  6f7b135e2c27d09f0db426a5f7427966  libsanitizer/tsan/tsan_sync.h
! 8ca6a9e7f5c97b2069ca2eb034d7b61f  libsanitizer/tsan/tsan_trace.h
  7043f9d2d6d55a4a9dad3179e81ac578  libsanitizer/tsan/tsan_vector_clock.cpp
  d08cd7318d9fa76e2ca9b3ee6008735f  libsanitizer/tsan/tsan_vector_clock.h
  abd71f0fd55b25d20057f5dfe13144b1  libsanitizer/ubsan/Makefile.am
--- 132524,132530 ----
  339793c91cce47c39da05aab388a1d91  libsanitizer/tsan/tsan_symbolize.h
  ac99e2a1604f10691ceb3d4a4600d0ed  libsanitizer/tsan/tsan_sync.cpp
  6f7b135e2c27d09f0db426a5f7427966  libsanitizer/tsan/tsan_sync.h
! f1ca5453760bb7bd86e35914eb6a4cc2  libsanitizer/tsan/tsan_trace.h
  7043f9d2d6d55a4a9dad3179e81ac578  libsanitizer/tsan/tsan_vector_clock.cpp
  d08cd7318d9fa76e2ca9b3ee6008735f  libsanitizer/tsan/tsan_vector_clock.h
  abd71f0fd55b25d20057f5dfe13144b1  libsanitizer/ubsan/Makefile.am
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 132571,132577 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 90b61cf589e8dbf567be4939ae91b826  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 132588,132594 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 866c7c3fd9335fd8d3369728cb03e560  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** a155d2afa910d24be0955f42c4585228  libstd
*** 133266,133272 ****
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e8e2df39ad9386a7f40ad4e7c3ae4658  libstdc++-v3/include/bits/cow_string.h
  3096fc9df7ce27113a7adfd3be390678  libstdc++-v3/include/bits/cpp_type_traits.h
! 0c714f37c68f18b6938f3dafdb2bb8cc  libstdc++-v3/include/bits/deque.tcc
  be08582d1795753f6e8fb613a7ec9fe0  libstdc++-v3/include/bits/elements_of.h
  397af990234a7f718cce0f629f7d8b13  libstdc++-v3/include/bits/enable_special_members.h
  b194eb42ed4e3bc3a3f65805561d45c8  libstdc++-v3/include/bits/erase_if.h
--- 133283,133289 ----
  23fc42ee8644308c793f44d20f00420e  libstdc++-v3/include/bits/concept_check.h
  e8e2df39ad9386a7f40ad4e7c3ae4658  libstdc++-v3/include/bits/cow_string.h
  3096fc9df7ce27113a7adfd3be390678  libstdc++-v3/include/bits/cpp_type_traits.h
! ae491be461bc66bc00a9d46c67a85fec  libstdc++-v3/include/bits/deque.tcc
  be08582d1795753f6e8fb613a7ec9fe0  libstdc++-v3/include/bits/elements_of.h
  397af990234a7f718cce0f629f7d8b13  libstdc++-v3/include/bits/enable_special_members.h
  b194eb42ed4e3bc3a3f65805561d45c8  libstdc++-v3/include/bits/erase_if.h
diff -Nrcpad gcc-15-20260731/gcc/ChangeLog gcc-15-20260807/gcc/ChangeLog
*** gcc-15-20260731/gcc/ChangeLog	Fri Jul 31 22:32:05 2026
--- gcc-15-20260807/gcc/ChangeLog	Fri Aug  7 22:32:05 2026
***************
*** 1,3 ****
--- 1,160 ----
+ 2026-08-04  Jin Ma  <jinma@linux.alibaba.com>
+ 
+ 	Backported from master:
+ 	2026-07-16  Jin Ma  <jinma@linux.alibaba.com>
+ 
+ 	* config/riscv/riscv.cc (riscv_regno_to_class): Map t1 to
+ 	JALR_REGS.
+ 	* config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Document
+ 	the SIBCALL_REGS restriction.
+ 	(REG_CLASS_CONTENTS): Remove t1 from SIBCALL_REGS.
+ 
+ 2026-08-03  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	PR target/126581
+ 	* config/i386/avx10_2satcvtintrin.h
+ 	(_mm_cvtts_sd_epi32): New alias of _mm_cvtts_sd_i32.
+ 	(_mm_cvtts_sd_epu32): New alias of _mm_cvtts_sd_u32.
+ 	(_mm_cvtts_ss_epi32): New alias of _mm_cvtts_ss_i32.
+ 	(_mm_cvtts_ss_epu32): New alias of _mm_cvtts_ss_u32.
+ 	(_mm_cvtts_roundsd_epi32): New alias of _mm_cvtts_roundsd_i32.
+ 	(_mm_cvtts_roundsd_epu32): New alias of _mm_cvtts_roundsd_u32.
+ 	(_mm_cvtts_roundss_epi32): New alias of _mm_cvtts_roundss_i32.
+ 	(_mm_cvtts_roundss_epu32): New alias of _mm_cvtts_roundss_u32.
+ 	(_mm_cvtts_sd_epi64): New alias of _mm_cvtts_sd_i64.
+ 	(_mm_cvtts_sd_epu64): New alias of _mm_cvtts_sd_u64.
+ 	(_mm_cvtts_ss_epi64): New alias of _mm_cvtts_ss_i64.
+ 	(_mm_cvtts_ss_epu64): New alias of _mm_cvtts_ss_u64.
+ 	(_mm_cvtts_roundsd_epi64): New alias of _mm_cvtts_roundsd_i64.
+ 	(_mm_cvtts_roundsd_epu64): New alias of _mm_cvtts_roundsd_u64.
+ 	(_mm_cvtts_roundss_epi64): New alias of _mm_cvtts_roundss_i64.
+ 	(_mm_cvtts_roundss_epu64): New alias of _mm_cvtts_roundss_u64.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126504
+ 	* match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)):
+ 	If cand isn't representable in TREE_TYPE (@1), simplify to
+ 	cmp == NE_EXPR.
+ 	(((1 << n) & M) != 0 -> n == log2 (M)): Don't simplify if
+ 	log2 doesn't fit into TREE_TYPE (@0).
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126503
+ 	* gimple-lower-bitint.cc (bitint_large_huge::handle_plus_minus): If
+ 	IFN_ADDC/IFN_SUBC can't be used and rhs1_type is not the limb type
+ 	and is signed, perform both additions or both subtractions in
+ 	unsigned type for the rhs1_type and cast to rhs1_type at the end.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/126497
+ 	* gimplify.cc (recalculate_side_effects): Return for
+ 	tcc_declaration.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126490
+ 	* match.pd ((a & b) == (a ^ b) -> !(a | b)): If @0 has
+ 	integral one bit precision type, use (convert:type ...) around the
+ 	bit_not just in case the comparison has a different result type
+ 	from the type of its operands.  Otherwise do that too but with
+ 	bit_not replaced with bit_xor with one of the appropriate type.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126464
+ 	* range-op-float.cc (float_widen_lhs_range): Remove also_inf
+ 	argument, replace its uses as if it was always true.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126476
+ 	* match.pd (((C << A) & D) != 0 -> A == 0,
+ 	((C << A) & D) == 0 -> A != 0): Fold to false/true if
+ 	c1 - c2 resp. c2 - c1 doesn't fit into TREE_TYPE (@0).
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126464
+ 	* range-op-float.cc (float_widen_lhs_range): Add also_inf argument
+ 	defaulted to false, if true, extend even lb of +inf and ub of -inf.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/126084
+ 	* asan.cc (maybe_instrument_call): Don't instrument
+ 	BUILT_IN_ASAN_REPORT_{LOAD,STORE}{1,2,4,8,16,_N} builtins.
+ 	(initialize_sanitizer_builtins): Use
+ 	(*lang_hooks.types.type_for_mode) (ptr_mode, 0) instead of
+ 	pointer_sized_int_mode for PTRMODE arguments.
+ 	(asan_expand_poison_ifn): Likewise.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126471
+ 	* match.pd (parity(~X) is parity(X)): Only optimize this way
+ 	if element_precision is even, otherwise optimize into parity(X) ^ 1.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/126446
+ 	* gimple-isel.cc (gimple_expand_vec_set_extract_expr): Punt if
+ 	idx doesn't fit into poly_uint64 but is poly_int_tree_p.  Use
+ 	known_ge rather than known_gt for out of bounds check.  Formatting
+ 	fixes.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/126446
+ 	* config/i386/i386-expand.cc (ix86_expand_vector_set): If elt is
+ 	out of bounds, emit a no-op move.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/126447
+ 	* gimple-lower-bitint.cc (gimple_lower_bitint): For
+ 	ifn calls with large/huge _BitInt (ab) SSA_NAME lhs if they
+ 	have such (ab) argument too, force it into temporary SSA_NAME
+ 	for IFN_UBSAN_CHECK_MUL.
+ 
  2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260731/gcc/DATESTAMP gcc-15-20260807/gcc/DATESTAMP
*** gcc-15-20260731/gcc/DATESTAMP	Fri Jul 31 22:32:05 2026
--- gcc-15-20260807/gcc/DATESTAMP	Fri Aug  7 22:32:05 2026
***************
*** 1 ****
! 20260731
--- 1 ----
! 20260807
diff -Nrcpad gcc-15-20260731/gcc/ada/ChangeLog gcc-15-20260807/gcc/ada/ChangeLog
*** gcc-15-20260731/gcc/ada/ChangeLog	Fri Jul 31 22:32:05 2026
--- gcc-15-20260807/gcc/ada/ChangeLog	Fri Aug  7 22:32:05 2026
***************
*** 1,3 ****
--- 1,21 ----
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/126553
+ 	* exp_attr.adb (Build_Record_VS_Func.Validate_Field): Do nothing
+ 	if the field is of an Unchecked_Union type.
+ 
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/126379
+ 	* exp_ch6.adb (Insert_Post_Call_Actions): Also deal with attribute
+ 	references as parent node.
+ 
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/126482
+ 	* sem_attr.adb (Analyze_Attribute): Treat Unrestricted_Access like
+ 	[Unchecked_]Access when it comes to the overloading of the prefix.
+ 
  2026-06-29  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* exp_util.ads (Find_Optional_Prim_Op): Add Controlled_Op parameter
diff -Nrcpad gcc-15-20260731/gcc/ada/exp_attr.adb gcc-15-20260807/gcc/ada/exp_attr.adb
*** gcc-15-20260731/gcc/ada/exp_attr.adb	Fri Jul 31 22:32:06 2026
--- gcc-15-20260807/gcc/ada/exp_attr.adb	Fri Aug  7 22:32:05 2026
*************** package body Exp_Attr is
*** 656,664 ****
           if Field_Nam in Name_uObject | Name_uParent | Name_uTag then
              null;
  
!          --  Do not process fields without any scalar components
  
!          elsif not Scalar_Part_Present (Field_Typ) then
              null;
  
           --  Otherwise the field needs to be validated. Use Make_Identifier
--- 656,667 ----
           if Field_Nam in Name_uObject | Name_uParent | Name_uTag then
              null;
  
!          --  Do not process fields without any scalar components, or whose type
!          --  is an unchecked union since we cannot know where they are.
  
!          elsif not Scalar_Part_Present (Field_Typ)
!            or else Is_Unchecked_Union (Field_Typ)
!          then
              null;
  
           --  Otherwise the field needs to be validated. Use Make_Identifier
diff -Nrcpad gcc-15-20260731/gcc/ada/exp_ch6.adb gcc-15-20260807/gcc/ada/exp_ch6.adb
*** gcc-15-20260731/gcc/ada/exp_ch6.adb	Fri Jul 31 22:32:06 2026
--- gcc-15-20260807/gcc/ada/exp_ch6.adb	Fri Aug  7 22:32:05 2026
*************** package body Exp_Ch6 is
*** 7389,7401 ****
           return;
        end if;
  
!       --  Cases where the call is not a member of a statement list. This also
!       --  includes the cases where the call is an actual in another function
!       --  call, or is an index, or is an operand of an if-expression, i.e. is
!       --  in an expression context.
  
        if not Is_List_Member (N)
!         or else Nkind (Context) in N_Function_Call
                                   | N_If_Expression
                                   | N_Indexed_Component
        then
--- 7389,7402 ----
           return;
        end if;
  
!       --  Cases where the call is not a member of a statement list, or cases
!       --  where the call is an actual in an attribute reference, or in another
!       --  function call, or is an index, or is an operand of an if-expression,
!       --  i.e. is in an expression context.
  
        if not Is_List_Member (N)
!         or else Nkind (Context) in N_Attribute_Reference
!                                  | N_Function_Call
                                   | N_If_Expression
                                   | N_Indexed_Component
        then
diff -Nrcpad gcc-15-20260731/gcc/ada/sem_attr.adb gcc-15-20260807/gcc/ada/sem_attr.adb
*** gcc-15-20260731/gcc/ada/sem_attr.adb	Fri Jul 31 22:32:06 2026
--- gcc-15-20260807/gcc/ada/sem_attr.adb	Fri Aug  7 22:32:06 2026
*************** package body Sem_Attr is
*** 3359,3364 ****
--- 3359,3365 ----
          and then Aname /= Name_Code_Address
          and then Aname /= Name_Result
          and then Aname /= Name_Unchecked_Access
+         and then Aname /= Name_Unrestricted_Access
        then
           --  The prefix must be resolvable by itself, without reference to the
           --  attribute. One case that requires special handling is a prefix
diff -Nrcpad gcc-15-20260731/gcc/asan.cc gcc-15-20260807/gcc/asan.cc
*** gcc-15-20260731/gcc/asan.cc	Fri Jul 31 22:32:06 2026
--- gcc-15-20260807/gcc/asan.cc	Fri Aug  7 22:32:06 2026
*************** maybe_instrument_call (gimple_stmt_itera
*** 3094,3099 ****
--- 3094,3111 ----
  	    case BUILT_IN_UNREACHABLE:
  	    case BUILT_IN_UNREACHABLE_TRAP:
  	    case BUILT_IN_TRAP:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD1:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD2:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD4:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD8:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD16:
+ 	    case BUILT_IN_ASAN_REPORT_LOAD_N:
+ 	    case BUILT_IN_ASAN_REPORT_STORE1:
+ 	    case BUILT_IN_ASAN_REPORT_STORE2:
+ 	    case BUILT_IN_ASAN_REPORT_STORE4:
+ 	    case BUILT_IN_ASAN_REPORT_STORE8:
+ 	    case BUILT_IN_ASAN_REPORT_STORE16:
+ 	    case BUILT_IN_ASAN_REPORT_STORE_N:
  	      /* Don't instrument these.  */
  	      return false;
  	    default:
*************** initialize_sanitizer_builtins (void)
*** 3494,3499 ****
--- 3506,3512 ----
    if (builtin_decl_implicit_p (BUILT_IN_ASAN_INIT))
      return;
  
+   tree ptrmode_type = (*lang_hooks.types.type_for_mode) (ptr_mode, 0);
    tree BT_FN_VOID = build_function_type_list (void_type_node, NULL_TREE);
    tree BT_FN_VOID_PTR
      = build_function_type_list (void_type_node, ptr_type_node, NULL_TREE);
*************** initialize_sanitizer_builtins (void)
*** 3507,3513 ****
  				ptr_type_node, ptr_type_node, NULL_TREE);
    tree BT_FN_VOID_PTR_PTRMODE
      = build_function_type_list (void_type_node, ptr_type_node,
! 				pointer_sized_int_node, NULL_TREE);
    tree BT_FN_VOID_INT
      = build_function_type_list (void_type_node, integer_type_node, NULL_TREE);
    tree BT_FN_SIZE_CONST_PTR_INT
--- 3520,3526 ----
  				ptr_type_node, ptr_type_node, NULL_TREE);
    tree BT_FN_VOID_PTR_PTRMODE
      = build_function_type_list (void_type_node, ptr_type_node,
! 				ptrmode_type, NULL_TREE);
    tree BT_FN_VOID_INT
      = build_function_type_list (void_type_node, integer_type_node, NULL_TREE);
    tree BT_FN_SIZE_CONST_PTR_INT
*************** initialize_sanitizer_builtins (void)
*** 3542,3548 ****
    tree BT_FN_VOID_PTR_UINT8_PTRMODE
      = build_function_type_list (void_type_node, ptr_type_node,
  				unsigned_char_type_node,
! 				pointer_sized_int_node, NULL_TREE);
  
    tree BT_FN_BOOL_VPTR_PTR_IX_INT_INT[5];
    tree BT_FN_IX_CONST_VPTR_INT[5];
--- 3555,3561 ----
    tree BT_FN_VOID_PTR_UINT8_PTRMODE
      = build_function_type_list (void_type_node, ptr_type_node,
  				unsigned_char_type_node,
! 				ptrmode_type, NULL_TREE);
  
    tree BT_FN_BOOL_VPTR_PTR_IX_INT_INT[5];
    tree BT_FN_IX_CONST_VPTR_INT[5];
*************** asan_expand_poison_ifn (gimple_stmt_iter
*** 4294,4304 ****
  	{
  	  tree fun = report_error_func (store_p, recover_p, tree_to_uhwi (size),
  					&nargs);
  	  call = gimple_build_call (fun, nargs,
  				    build_fold_addr_expr (shadow_var),
  				    nargs == 2
! 				    ? fold_convert (pointer_sized_int_node,
! 						    size)
  				    : NULL_TREE);
  	}
        gimple_set_location (call, gimple_location (use));
--- 4307,4319 ----
  	{
  	  tree fun = report_error_func (store_p, recover_p, tree_to_uhwi (size),
  					&nargs);
+ 	  tree ptrmode_type
+ 	    = (nargs == 2 ? (*lang_hooks.types.type_for_mode) (ptr_mode, 0)
+ 	       : NULL_TREE);
  	  call = gimple_build_call (fun, nargs,
  				    build_fold_addr_expr (shadow_var),
  				    nargs == 2
! 				    ? fold_convert (ptrmode_type, size)
  				    : NULL_TREE);
  	}
        gimple_set_location (call, gimple_location (use));
diff -Nrcpad gcc-15-20260731/gcc/config/i386/avx10_2satcvtintrin.h gcc-15-20260807/gcc/config/i386/avx10_2satcvtintrin.h
*** gcc-15-20260731/gcc/config/i386/avx10_2satcvtintrin.h	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/config/i386/avx10_2satcvtintrin.h	Fri Aug  7 22:32:06 2026
*************** _mm_cvtts_roundss_u64 (__m128 __A, const
*** 1480,1485 ****
--- 1480,1616 ----
  #endif
  #endif /* __x86_64__ */
  
+ /* The scalar SAT CVT intrinsics were originally named with an _ep[i|u]{32,64}
+    suffix, which is reserved for packed elements.  Keep the original names as
+    aliases.  */
+ extern __inline int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_sd_epi32 (__m128d __A)
+ {
+   return _mm_cvtts_sd_i32 (__A);
+ }
+ 
+ extern __inline unsigned int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_sd_epu32 (__m128d __A)
+ {
+   return _mm_cvtts_sd_u32 (__A);
+ }
+ 
+ extern __inline int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_ss_epi32 (__m128 __A)
+ {
+   return _mm_cvtts_ss_i32 (__A);
+ }
+ 
+ extern __inline unsigned int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_ss_epu32 (__m128 __A)
+ {
+   return _mm_cvtts_ss_u32 (__A);
+ }
+ 
+ #ifdef __OPTIMIZE__
+ extern __inline int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundsd_epi32 (__m128d __A, const int __R)
+ {
+   return _mm_cvtts_roundsd_i32 (__A, __R);
+ }
+ 
+ extern __inline unsigned int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundsd_epu32 (__m128d __A, const int __R)
+ {
+   return _mm_cvtts_roundsd_u32 (__A, __R);
+ }
+ 
+ extern __inline int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundss_epi32 (__m128 __A, const int __R)
+ {
+   return _mm_cvtts_roundss_i32 (__A, __R);
+ }
+ 
+ extern __inline unsigned int
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundss_epu32 (__m128 __A, const int __R)
+ {
+   return _mm_cvtts_roundss_u32 (__A, __R);
+ }
+ #else
+ #define _mm_cvtts_roundsd_epi32(A, R) _mm_cvtts_roundsd_i32 ((A), (R))
+ #define _mm_cvtts_roundsd_epu32(A, R) _mm_cvtts_roundsd_u32 ((A), (R))
+ #define _mm_cvtts_roundss_epi32(A, R) _mm_cvtts_roundss_i32 ((A), (R))
+ #define _mm_cvtts_roundss_epu32(A, R) _mm_cvtts_roundss_u32 ((A), (R))
+ #endif
+ 
+ #ifdef __x86_64__
+ extern __inline long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_sd_epi64 (__m128d __A)
+ {
+   return _mm_cvtts_sd_i64 (__A);
+ }
+ 
+ extern __inline unsigned long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_sd_epu64 (__m128d __A)
+ {
+   return _mm_cvtts_sd_u64 (__A);
+ }
+ 
+ extern __inline long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_ss_epi64 (__m128 __A)
+ {
+   return _mm_cvtts_ss_i64 (__A);
+ }
+ 
+ extern __inline unsigned long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_ss_epu64 (__m128 __A)
+ {
+   return _mm_cvtts_ss_u64 (__A);
+ }
+ 
+ #ifdef __OPTIMIZE__
+ extern __inline long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundsd_epi64 (__m128d __A, const int __R)
+ {
+   return _mm_cvtts_roundsd_i64 (__A, __R);
+ }
+ 
+ extern __inline unsigned long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundsd_epu64 (__m128d __A, const int __R)
+ {
+   return _mm_cvtts_roundsd_u64 (__A, __R);
+ }
+ 
+ extern __inline long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundss_epi64 (__m128 __A, const int __R)
+ {
+   return _mm_cvtts_roundss_i64 (__A, __R);
+ }
+ 
+ extern __inline unsigned long long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtts_roundss_epu64 (__m128 __A, const int __R)
+ {
+   return _mm_cvtts_roundss_u64 (__A, __R);
+ }
+ #else
+ #define _mm_cvtts_roundsd_epi64(A, R) _mm_cvtts_roundsd_i64 ((A), (R))
+ #define _mm_cvtts_roundsd_epu64(A, R) _mm_cvtts_roundsd_u64 ((A), (R))
+ #define _mm_cvtts_roundss_epi64(A, R) _mm_cvtts_roundss_i64 ((A), (R))
+ #define _mm_cvtts_roundss_epu64(A, R) _mm_cvtts_roundss_u64 ((A), (R))
+ #endif
+ #endif /* __x86_64__ */
+ 
  #ifdef __DISABLE_AVX10_2__
  #undef __DISABLE_AVX10_2__
  #pragma GCC pop_options
diff -Nrcpad gcc-15-20260731/gcc/config/i386/i386-expand.cc gcc-15-20260807/gcc/config/i386/i386-expand.cc
*** gcc-15-20260731/gcc/config/i386/i386-expand.cc	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/config/i386/i386-expand.cc	Fri Aug  7 22:32:07 2026
*************** ix86_expand_vector_set (bool mmx_ok, rtx
*** 17891,17896 ****
--- 17891,17901 ----
    machine_mode mmode = VOIDmode;
    rtx (*gen_blendm) (rtx, rtx, rtx, rtx);
  
+   if (!IN_RANGE (elt, 0, GET_MODE_NUNITS (mode)))
+     {
+       emit_move_insn (target, target);
+       return;
+     }
    switch (mode)
      {
      case E_V2SImode:
diff -Nrcpad gcc-15-20260731/gcc/config/riscv/riscv.cc gcc-15-20260807/gcc/config/riscv/riscv.cc
*** gcc-15-20260731/gcc/config/riscv/riscv.cc	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/config/riscv/riscv.cc	Fri Aug  7 22:32:07 2026
*************** bool riscv_registering_builtins;
*** 346,352 ****
  /* Index R is the smallest register class that contains register R.  */
  const enum reg_class riscv_regno_to_class[FIRST_PSEUDO_REGISTER] = {
    GR_REGS,	GR_REGS,	GR_REGS,	GR_REGS,
!   GR_REGS,	GR_REGS,	SIBCALL_REGS,	SIBCALL_REGS,
    JALR_REGS,	JALR_REGS,	SIBCALL_REGS,	SIBCALL_REGS,
    SIBCALL_REGS,	SIBCALL_REGS,	SIBCALL_REGS,	SIBCALL_REGS,
    SIBCALL_REGS,	SIBCALL_REGS,	JALR_REGS,	JALR_REGS,
--- 346,352 ----
  /* Index R is the smallest register class that contains register R.  */
  const enum reg_class riscv_regno_to_class[FIRST_PSEUDO_REGISTER] = {
    GR_REGS,	GR_REGS,	GR_REGS,	GR_REGS,
!   GR_REGS,	GR_REGS,	JALR_REGS,	SIBCALL_REGS,
    JALR_REGS,	JALR_REGS,	SIBCALL_REGS,	SIBCALL_REGS,
    SIBCALL_REGS,	SIBCALL_REGS,	SIBCALL_REGS,	SIBCALL_REGS,
    SIBCALL_REGS,	SIBCALL_REGS,	JALR_REGS,	JALR_REGS,
diff -Nrcpad gcc-15-20260731/gcc/config/riscv/riscv.h gcc-15-20260807/gcc/config/riscv/riscv.h
*** gcc-15-20260731/gcc/config/riscv/riscv.h	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/config/riscv/riscv.h	Fri Aug  7 22:32:07 2026
*************** ASM_MISA_SPEC
*** 419,428 ****
  
  /* Registers used as temporaries in prologue/epilogue code.
  
!    The prologue registers mustn't conflict with any
!    incoming arguments, the static chain pointer, or the frame pointer.
!    The epilogue temporary mustn't conflict with the return registers,
!    the frame pointer, the EH stack adjustment, or the EH data registers. */
  
  #define RISCV_PROLOGUE_TEMP_REGNUM (GP_TEMP_FIRST)
  #define RISCV_PROLOGUE_TEMP(MODE) gen_rtx_REG (MODE, RISCV_PROLOGUE_TEMP_REGNUM)
--- 419,429 ----
  
  /* Registers used as temporaries in prologue/epilogue code.
  
!    The prologue temporaries mustn't conflict with any incoming arguments,
!    the static chain pointer, or the frame pointer.
!    The epilogue temporaries mustn't conflict with the return registers,
!    the frame pointer, the EH stack adjustment, the EH data registers, or
!    any register in SIBCALL_REGS.  */
  
  #define RISCV_PROLOGUE_TEMP_REGNUM (GP_TEMP_FIRST)
  #define RISCV_PROLOGUE_TEMP(MODE) gen_rtx_REG (MODE, RISCV_PROLOGUE_TEMP_REGNUM)
*************** enum reg_class
*** 561,567 ****
  #define REG_CLASS_CONTENTS						\
  {									\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },	/* NO_REGS */		\
!   { 0xf003fcc0, 0x00000000, 0x00000000, 0x00000000 },	/* SIBCALL_REGS */	\
    { 0x0000ff00, 0x00000000, 0x00000000, 0x00000000 },	/* RVC_GR_REGS */	\
    { 0xffffffc0, 0x00000000, 0x00000000, 0x00000000 },	/* JALR_REGS */		\
    { 0xffffffff, 0x00000000, 0x00000000, 0x00000000 },	/* GR_REGS */		\
--- 562,568 ----
  #define REG_CLASS_CONTENTS						\
  {									\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },	/* NO_REGS */		\
!   { 0xf003fc80, 0x00000000, 0x00000000, 0x00000000 },	/* SIBCALL_REGS */	\
    { 0x0000ff00, 0x00000000, 0x00000000, 0x00000000 },	/* RVC_GR_REGS */	\
    { 0xffffffc0, 0x00000000, 0x00000000, 0x00000000 },	/* JALR_REGS */		\
    { 0xffffffff, 0x00000000, 0x00000000, 0x00000000 },	/* GR_REGS */		\
diff -Nrcpad gcc-15-20260731/gcc/fortran/ChangeLog gcc-15-20260807/gcc/fortran/ChangeLog
*** gcc-15-20260731/gcc/fortran/ChangeLog	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/fortran/ChangeLog	Fri Aug  7 22:32:07 2026
***************
*** 1,3 ****
--- 1,20 ----
+ 2026-08-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/125866
+ 	* expr.cc (is_CFI_desc): Add check for proc_name.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/126303
+ 	* frontend-passes.cc (inner_loop_may_be_skipped): If inner loop iterator
+ 	is not integral, return true.
+ 
  2026-07-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260731/gcc/fortran/expr.cc gcc-15-20260807/gcc/fortran/expr.cc
*** gcc-15-20260731/gcc/fortran/expr.cc	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/fortran/expr.cc	Fri Aug  7 22:32:07 2026
*************** is_CFI_desc (gfc_symbol *sym, gfc_expr *
*** 1154,1160 ****
        && e && e->expr_type == EXPR_VARIABLE)
      sym = e->symtree->n.sym;
  
!   if (sym && sym->attr.dummy
        && sym->ns->proc_name->attr.is_bind_c
        && (sym->attr.pointer
  	  || sym->attr.allocatable
--- 1154,1160 ----
        && e && e->expr_type == EXPR_VARIABLE)
      sym = e->symtree->n.sym;
  
!   if (sym && sym->attr.dummy && sym->ns && sym->ns->proc_name
        && sym->ns->proc_name->attr.is_bind_c
        && (sym->attr.pointer
  	  || sym->attr.allocatable
diff -Nrcpad gcc-15-20260731/gcc/fortran/frontend-passes.cc gcc-15-20260807/gcc/fortran/frontend-passes.cc
*** gcc-15-20260731/gcc/fortran/frontend-passes.cc	Fri Jul 31 22:32:07 2026
--- gcc-15-20260807/gcc/fortran/frontend-passes.cc	Fri Aug  7 22:32:07 2026
*************** inner_loop_may_be_skipped (int loop_inde
*** 2777,2782 ****
--- 2777,2785 ----
        if (loop == NULL || loop->ext.iterator == NULL || loop->ext.iterator->var == NULL)
  	return true;
  
+       if (loop->ext.iterator->var->symtree->n.sym->ts.type != BT_INTEGER)
+ 	return true;
+ 
        if (!evaluate_loop_bound (loop->ext.iterator->step, outer_sym, outer_val, do_step))
  	return true;
  
diff -Nrcpad gcc-15-20260731/gcc/gimple-isel.cc gcc-15-20260807/gcc/gimple-isel.cc
*** gcc-15-20260731/gcc/gimple-isel.cc	Fri Jul 31 22:32:08 2026
--- gcc-15-20260807/gcc/gimple-isel.cc	Fri Aug  7 22:32:07 2026
*************** gimple_expand_vec_set_extract_expr (stru
*** 93,102 ****
      return false;
  
    tree op0 = TREE_OPERAND (ref, 0);
!   if (TREE_CODE (op0) == VIEW_CONVERT_EXPR && DECL_P (TREE_OPERAND (op0, 0))
        && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (op0, 0)))
!       && TYPE_MODE (TREE_TYPE (ref))
! 	   == TYPE_MODE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (op0, 0)))))
      {
        tree pos = TREE_OPERAND (ref, 1);
  
--- 93,103 ----
      return false;
  
    tree op0 = TREE_OPERAND (ref, 0);
!   if (TREE_CODE (op0) == VIEW_CONVERT_EXPR
!       && DECL_P (TREE_OPERAND (op0, 0))
        && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (op0, 0)))
!       && (TYPE_MODE (TREE_TYPE (ref))
! 	  == TYPE_MODE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (op0, 0))))))
      {
        tree pos = TREE_OPERAND (ref, 1);
  
*************** gimple_expand_vec_set_extract_expr (stru
*** 108,116 ****
        if (poly_int_tree_p (idx, &idx_poly))
  	{
  	  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (TREE_TYPE (view_op0));
! 	  if (known_gt (idx_poly, nelts))
  	    return false;
  	}
        machine_mode outermode = TYPE_MODE (TREE_TYPE (view_op0));
        machine_mode extract_mode = TYPE_MODE (TREE_TYPE (ref));
  
--- 109,121 ----
        if (poly_int_tree_p (idx, &idx_poly))
  	{
  	  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (TREE_TYPE (view_op0));
! 	  if (known_ge (idx_poly, nelts))
  	    return false;
  	}
+       else if (poly_int_tree_p (idx))
+ 	// if idx doesn't fit into poly_uint64, but is constant, it
+ 	// must be out of bounds
+ 	return false;
        machine_mode outermode = TYPE_MODE (TREE_TYPE (view_op0));
        machine_mode extract_mode = TYPE_MODE (TREE_TYPE (ref));
  
diff -Nrcpad gcc-15-20260731/gcc/gimple-lower-bitint.cc gcc-15-20260807/gcc/gimple-lower-bitint.cc
*** gcc-15-20260731/gcc/gimple-lower-bitint.cc	Fri Jul 31 22:32:08 2026
--- gcc-15-20260807/gcc/gimple-lower-bitint.cc	Fri Aug  7 22:32:07 2026
*************** bitint_large_huge::handle_plus_minus (tr
*** 1209,1224 ****
      }
    else
      {
!       tree in = add_cast (rhs1_type, data_in);
!       lhs = make_ssa_name (rhs1_type);
        g = gimple_build_assign (lhs, code, rhs1, rhs2);
        insert_before (g);
!       rhs1 = make_ssa_name (rhs1_type);
        g = gimple_build_assign (rhs1, code, lhs, in);
        insert_before (g);
        m_data[m_data_cnt] = NULL_TREE;
        m_data_cnt += 2;
!       return rhs1;
      }
    rhs1 = make_ssa_name (m_limb_type);
    g = gimple_build_assign (rhs1, REALPART_EXPR,
--- 1209,1235 ----
      }
    else
      {
!       /* Always perform the two additions or subtractions in
! 	 unsigned type, avoid introducing a temporary UB.  While
! 	 the end result of the 2 additions or 2 subtractions in
! 	 a valid program should not overflow, temporarily it can.
! 	 See PR126503.  */
!       tree utype = unsigned_type_for (rhs1_type);
!       tree in = add_cast (utype, data_in);
!       lhs = make_ssa_name (utype);
!       if (utype != rhs1_type)
! 	{
! 	  rhs1 = add_cast (utype, rhs1);
! 	  rhs2 = add_cast (utype, rhs2);
! 	}
        g = gimple_build_assign (lhs, code, rhs1, rhs2);
        insert_before (g);
!       rhs1 = make_ssa_name (utype);
        g = gimple_build_assign (rhs1, code, lhs, in);
        insert_before (g);
        m_data[m_data_cnt] = NULL_TREE;
        m_data_cnt += 2;
!       return utype != rhs1_type ? add_cast (rhs1_type, rhs1) : rhs1;
      }
    rhs1 = make_ssa_name (m_limb_type);
    g = gimple_build_assign (rhs1, REALPART_EXPR,
*************** gimple_lower_bitint (void)
*** 6446,6451 ****
--- 6457,6495 ----
  		add_phi_arg (phi, rhs2, e3, UNKNOWN_LOCATION);
  		break;
  	      }
+ 	  else if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (s)
+ 		   && is_gimple_call (stmt)
+ 		   && gimple_call_internal_p (stmt))
+ 	    switch (gimple_call_internal_fn (stmt))
+ 	      {
+ 	      case IFN_UBSAN_CHECK_MUL:
+ 		for (unsigned i = 0; i < gimple_call_num_args (stmt); ++i)
+ 		  {
+ 		    location_t loc = gimple_location (stmt);
+ 		    gsi = gsi_for_stmt (stmt);
+ 		    /* Similar case to multiplication/division with (ab)
+ 		       above for internal functions which set muldiv_p.  */
+ 		    tree arg = gimple_call_arg (stmt, i);
+ 		    if (TREE_CODE (arg) == SSA_NAME
+ 			&& SSA_NAME_OCCURS_IN_ABNORMAL_PHI (arg))
+ 		      {
+ 			first_large_huge = 0;
+ 			tree t = make_ssa_name (TREE_TYPE (arg));
+ 			g = gimple_build_assign (t, SSA_NAME, arg);
+ 			gsi_insert_before (&gsi, g, GSI_SAME_STMT);
+ 			gimple_set_location (g, loc);
+ 			gimple_call_set_arg (stmt, i, t);
+ 			if (i == 0
+ 			    && gimple_call_num_args (stmt) >= 2
+ 			    && gimple_call_arg (stmt, 1) == arg)
+ 			  gimple_call_set_arg (stmt, 1, t);
+ 			update_stmt (stmt);
+ 		      }
+ 		  }
+ 		break;
+ 	      default:
+ 		break;
+ 	      }
  	}
        /* We need to also rewrite stores of large/huge _BitInt INTEGER_CSTs
  	 into memory.  Such functions could have no large/huge SSA_NAMEs.  */
diff -Nrcpad gcc-15-20260731/gcc/gimplify.cc gcc-15-20260807/gcc/gimplify.cc
*** gcc-15-20260731/gcc/gimplify.cc	Fri Jul 31 22:32:08 2026
--- gcc-15-20260807/gcc/gimplify.cc	Fri Aug  7 22:32:07 2026
*************** recalculate_side_effects (tree t)
*** 3409,3414 ****
--- 3409,3421 ----
        /* No side-effects.  */
        return;
  
+     case tcc_declaration:
+       /* These can have side-effects if TREE_THIS_VOLATILE,
+ 	 but those should be set elsewhere, not in
+ 	 recalculate_side_effects.  Can be triggered e.g. if
+ 	 a comparison is folded into one of its operands.  */
+       return;
+ 
      default:
        if (code == SSA_NAME)
  	/* No side-effects.  */
diff -Nrcpad gcc-15-20260731/gcc/match.pd gcc-15-20260807/gcc/match.pd
*** gcc-15-20260731/gcc/match.pd	Fri Jul 31 22:32:08 2026
--- gcc-15-20260807/gcc/match.pd	Fri Aug  7 22:32:08 2026
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 2528,2534 ****
       second_op (eq bit_xor)
   (simplify
    (first_op:c (bit_and:c truth_valued_p@0 truth_valued_p@1) (second_op @0 @1))
!     (bit_not (bit_ior @0 @1))))
  
  /* Convert ~ (A - 1) or ~ (A + -1) to -A.  */
  (simplify
--- 2528,2537 ----
       second_op (eq bit_xor)
   (simplify
    (first_op:c (bit_and:c truth_valued_p@0 truth_valued_p@1) (second_op @0 @1))
!    (if (INTEGRAL_TYPE_P (TREE_TYPE (@0))
! 	&& TYPE_PRECISION (TREE_TYPE (@0)) == 1)
!     (convert:type (bit_not (bit_ior @0 @1)))
!     (convert:type (bit_xor (bit_ior @0 @1) { build_one_cst (TREE_TYPE (@0)); })))))
  
  /* Convert ~ (A - 1) or ~ (A + -1) to -A.  */
  (simplify
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 5081,5087 ****
    (cmp (bit_and (lshift integer_pow2p@1 @0) integer_pow2p@2) integer_zerop)
     (with { int c1 = wi::clz (wi::to_wide (@1));
  	   int c2 = wi::clz (wi::to_wide (@2)); }
!     (if (c1 < c2)
       { constant_boolean_node (cmp == NE_EXPR ? false : true, type); }
       (icmp @0 { build_int_cst (TREE_TYPE (@0), c1 - c2); }))))
   (simplify
--- 5084,5095 ----
    (cmp (bit_and (lshift integer_pow2p@1 @0) integer_pow2p@2) integer_zerop)
     (with { int c1 = wi::clz (wi::to_wide (@1));
  	   int c2 = wi::clz (wi::to_wide (@2)); }
!     (if (c1 < c2
! 	 /* If c1 - c2 isn't representable in TREE_TYPE (@0), it is also
! 	    never true, because for any valid x C << x will be smaller
! 	    than D.  See PR126476.  */
! 	 || !wi::fits_to_tree_p (wi::shwi (c1 - c2, HOST_BITS_PER_INT),
! 				 TREE_TYPE (@0)))
       { constant_boolean_node (cmp == NE_EXPR ? false : true, type); }
       (icmp @0 { build_int_cst (TREE_TYPE (@0), c1 - c2); }))))
   (simplify
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 5089,5095 ****
     (if (tree_int_cst_sgn (@1) > 0)
      (with { int c1 = wi::clz (wi::to_wide (@1));
  	    int c2 = wi::clz (wi::to_wide (@2)); }
!      (if (c1 > c2)
        { constant_boolean_node (cmp == NE_EXPR ? false : true, type); }
        (icmp @0 { build_int_cst (TREE_TYPE (@0), c2 - c1); }))))))
  
--- 5097,5105 ----
     (if (tree_int_cst_sgn (@1) > 0)
      (with { int c1 = wi::clz (wi::to_wide (@1));
  	    int c2 = wi::clz (wi::to_wide (@2)); }
!      (if (c1 > c2
! 	  || !wi::fits_to_tree_p (wi::shwi (c2 - c1, HOST_BITS_PER_INT),
! 				  TREE_TYPE (@0)))
        { constant_boolean_node (cmp == NE_EXPR ? false : true, type); }
        (icmp @0 { build_int_cst (TREE_TYPE (@0), c2 - c1); }))))))
  
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 5102,5108 ****
    (with { int cand = wi::ctz (wi::to_wide (@2)) - wi::ctz (wi::to_wide (@0)); }
     (if (cand < 0
  	|| (!integer_zerop (@2)
! 	    && wi::lshift (wi::to_wide (@0), cand) != wi::to_wide (@2)))
      { constant_boolean_node (cmp == NE_EXPR, type); }
      (if (!integer_zerop (@2)
  	 && wi::lshift (wi::to_wide (@0), cand) == wi::to_wide (@2))
--- 5112,5120 ----
    (with { int cand = wi::ctz (wi::to_wide (@2)) - wi::ctz (wi::to_wide (@0)); }
     (if (cand < 0
  	|| (!integer_zerop (@2)
! 	    && wi::lshift (wi::to_wide (@0), cand) != wi::to_wide (@2))
! 	|| !wi::fits_to_tree_p (wi::shwi (cand, HOST_BITS_PER_INT),
! 				TREE_TYPE (@1)))
      { constant_boolean_node (cmp == NE_EXPR, type); }
      (if (!integer_zerop (@2)
  	 && wi::lshift (wi::to_wide (@0), cand) == wi::to_wide (@2))
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 5250,5257 ****
     (bit_and
      (nop_convert? (lshift integer_onep @0)) integer_pow2p@1) integer_zerop)
    (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)))
!    (icmp @0 { wide_int_to_tree (TREE_TYPE (@0),
! 				wi::exact_log2 (wi::to_wide (@1))); }))))
  
  /* Fold (X {&,^,|} C2) << C1 into (X << C1) {&,^,|} (C2 << C1)
     (X {&,^,|} C2) >> C1 into (X >> C1) & (C2 >> C1).  */
--- 5262,5270 ----
     (bit_and
      (nop_convert? (lshift integer_onep @0)) integer_pow2p@1) integer_zerop)
    (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)))
!    (with { int c = wi::exact_log2 (wi::to_wide (@1)); }
!     (if (wi::fits_to_tree_p (wi::shwi (c, HOST_BITS_PER_INT), TREE_TYPE (@0)))
!      (icmp @0 { wide_int_to_tree (TREE_TYPE (@0), c); }))))))
  
  /* Fold (X {&,^,|} C2) << C1 into (X << C1) {&,^,|} (C2 << C1)
     (X {&,^,|} C2) >> C1 into (X >> C1) & (C2 >> C1).  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 10137,10146 ****
  #endif
  
  /* PARITY simplifications.  */
! /* parity(~X) is parity(X).  */
  (simplify
    (PARITY (bit_not @0))
!   (PARITY @0))
  
  /* parity(bswap(x)) is parity(x).  */
  (for parity (PARITY)
--- 10150,10161 ----
  #endif
  
  /* PARITY simplifications.  */
! /* parity(~X) is parity(X) for even precision and parity(X) ^ 1 otherwise.  */
  (simplify
    (PARITY (bit_not @0))
!   (if ((element_precision (TREE_TYPE (@0)) & 1) == 0)
!    (PARITY @0)
!    (bit_xor (PARITY:type @0) { build_one_cst (type); })))
  
  /* parity(bswap(x)) is parity(x).  */
  (for parity (PARITY)
diff -Nrcpad gcc-15-20260731/gcc/range-op-float.cc gcc-15-20260807/gcc/range-op-float.cc
*** gcc-15-20260731/gcc/range-op-float.cc	Fri Jul 31 22:32:10 2026
--- gcc-15-20260807/gcc/range-op-float.cc	Fri Aug  7 22:32:10 2026
*************** float_widen_lhs_range (tree type, const
*** 2373,2379 ****
      return ret;
    REAL_VALUE_TYPE lb = lhs.lower_bound ();
    REAL_VALUE_TYPE ub = lhs.upper_bound ();
!   if (real_isfinite (&lb))
      {
        frange_nextafter (TYPE_MODE (type), lb, dconstninf);
        if (real_isinf (&lb))
--- 2373,2379 ----
      return ret;
    REAL_VALUE_TYPE lb = lhs.lower_bound ();
    REAL_VALUE_TYPE ub = lhs.upper_bound ();
!   if (real_isfinite (&lb) || !real_isneg (&lb))
      {
        frange_nextafter (TYPE_MODE (type), lb, dconstninf);
        if (real_isinf (&lb))
*************** float_widen_lhs_range (tree type, const
*** 2387,2393 ****
  	  lb = dconstm1;
  	  SET_REAL_EXP (&lb, FLOAT_MODE_FORMAT (TYPE_MODE (type))->emax + 1);
  	}
!       if (!flag_rounding_math && !MODE_COMPOSITE_P (TYPE_MODE (type)))
  	{
  	  /* If not -frounding-math nor IBM double double, actually widen
  	     just by 0.5ulp rather than 1ulp.  */
--- 2387,2395 ----
  	  lb = dconstm1;
  	  SET_REAL_EXP (&lb, FLOAT_MODE_FORMAT (TYPE_MODE (type))->emax + 1);
  	}
!       if (!flag_rounding_math
! 	  && !MODE_COMPOSITE_P (TYPE_MODE (type))
! 	  && real_isfinite (&lhs.lower_bound ()))
  	{
  	  /* If not -frounding-math nor IBM double double, actually widen
  	     just by 0.5ulp rather than 1ulp.  */
*************** float_widen_lhs_range (tree type, const
*** 2396,2402 ****
  	  real_arithmetic (&lb, RDIV_EXPR, &tem, &dconst2);
  	}
      }
!   if (real_isfinite (&ub))
      {
        frange_nextafter (TYPE_MODE (type), ub, dconstinf);
        if (real_isinf (&ub))
--- 2398,2404 ----
  	  real_arithmetic (&lb, RDIV_EXPR, &tem, &dconst2);
  	}
      }
!   if (real_isfinite (&ub) || real_isneg (&ub))
      {
        frange_nextafter (TYPE_MODE (type), ub, dconstinf);
        if (real_isinf (&ub))
*************** float_widen_lhs_range (tree type, const
*** 2405,2411 ****
  	  ub = dconst1;
  	  SET_REAL_EXP (&ub, FLOAT_MODE_FORMAT (TYPE_MODE (type))->emax + 1);
  	}
!       if (!flag_rounding_math && !MODE_COMPOSITE_P (TYPE_MODE (type)))
  	{
  	  /* If not -frounding-math nor IBM double double, actually widen
  	     just by 0.5ulp rather than 1ulp.  */
--- 2407,2415 ----
  	  ub = dconst1;
  	  SET_REAL_EXP (&ub, FLOAT_MODE_FORMAT (TYPE_MODE (type))->emax + 1);
  	}
!       if (!flag_rounding_math
! 	  && !MODE_COMPOSITE_P (TYPE_MODE (type))
! 	  && real_isfinite (&lhs.upper_bound ()))
  	{
  	  /* If not -frounding-math nor IBM double double, actually widen
  	     just by 0.5ulp rather than 1ulp.  */
diff -Nrcpad gcc-15-20260731/gcc/testsuite/ChangeLog gcc-15-20260807/gcc/testsuite/ChangeLog
*** gcc-15-20260731/gcc/testsuite/ChangeLog	Fri Jul 31 22:32:10 2026
--- gcc-15-20260807/gcc/testsuite/ChangeLog	Fri Aug  7 22:32:10 2026
***************
*** 1,3 ****
--- 1,138 ----
+ 2026-08-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 
+ 	PR fortran/125866
+ 	* gfortran.dg/pr125866.f90: New test.
+ 
+ 2026-08-04  Jin Ma  <jinma@linux.alibaba.com>
+ 
+ 	Backported from master:
+ 	2026-07-16  Jin Ma  <jinma@linux.alibaba.com>
+ 
+ 	* g++.target/riscv/pr97682.C: Accept registers in SIBCALL_REGS.
+ 	* gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c:
+ 	New test.
+ 	* gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c: New test.
+ 
+ 2026-08-03  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	PR target/126581
+ 	* gcc.target/i386/pr126581-1.c: New test.
+ 
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/unchecked_union5.adb: New test.
+ 
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/validity_check3.adb: New test.
+ 
+ 2026-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/valid_scalars2.adb: Remove -O0 option.
+ 	* gnat.dg/validity_check3.ads: Rename to...
+ 	* gnat.dg/valid_scalars3.ads: ...this.
+ 	* gnat.dg/validity_check3.adb: Rename to...
+ 	* gnat.dg/valid_scalars3.adb: ...this.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126504
+ 	* gcc.dg/torture/bitint-105.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126503
+ 	* gcc.dg/torture/bitint-106.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/126497
+ 	* gcc.dg/bitint-141.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126490
+ 	* gcc.dg/torture/bitint-104.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126464
+ 	* gcc.dg/torture/pr126464.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126476
+ 	* gcc.dg/torture/bitint-103.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126464
+ 	* gcc.dg/pr126464.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/126471
+ 	* gcc.dg/bitint-139.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/126446
+ 	* gcc.target/i386/avx2-pr126446.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/126447
+ 	* gcc.dg/ubsan/bitint-5.c: New test.
+ 
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/126303
+ 	* gfortran.dg/pr126303.f: New test.
+ 
+ 2026-07-31  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	Backported from master:
+ 	2026-07-30  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR tree-optimization/126194
+ 	* g++.dg/lto/pr126194_2.C (main): Tolerate argc == 0.
+ 
  2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260731/gcc/testsuite/g++.target/riscv/pr97682.C gcc-15-20260807/gcc/testsuite/g++.target/riscv/pr97682.C
*** gcc-15-20260731/gcc/testsuite/g++.target/riscv/pr97682.C	Fri Jul 31 22:32:11 2026
--- gcc-15-20260807/gcc/testsuite/g++.target/riscv/pr97682.C	Fri Aug  7 22:32:11 2026
*************** namespace llvm
*** 156,160 ****
    void bm::bl() { bk->bl(); }
  }
  
! /* The t1 register is to initial symbol reference for call instruction.  */
! /* { dg-final { scan-assembler "la\tt1,.*FrequencyData.*_M_default_append.*" } } */
--- 156,160 ----
    void bm::bl() { bk->bl(); }
  }
  
! /* A register in SIBCALL_REGS is used for the call address.  */
! /* { dg-final { scan-assembler {la\t(t[2-6]|a[0-7]),.*FrequencyData.*_M_default_append.*} } } */
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/bitint-139.c gcc-15-20260807/gcc/testsuite/gcc.dg/bitint-139.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/bitint-139.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/bitint-139.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,36 ----
+ /* PR tree-optimization/126471 */
+ /* { dg-do run { target bitint575 } } */
+ /* { dg-options "-O2" } */
+ 
+ [[gnu::noipa]] int
+ foo (unsigned _BitInt(129) x)
+ {
+   return __builtin_parityg (~x);
+ }
+ 
+ [[gnu::noipa]] int
+ bar (unsigned _BitInt(7) x)
+ {
+   return __builtin_parityg (~x);
+ }
+ 
+ [[gnu::noipa]] int
+ baz (unsigned _BitInt(256) x)
+ {
+   return __builtin_parityg (~x);
+ }
+ 
+ int
+ main ()
+ {
+   if (foo (0) != 1
+       || foo (~(unsigned _BitInt(129)) 0) != 0
+       || foo (1) != 0
+       || bar (0) != 1
+       || bar (~(unsigned _BitInt(7)) 0) != 0
+       || bar (1) != 0
+       || baz (0) != 0
+       || baz (~(unsigned _BitInt(256)) 0) != 0
+       || baz (1) != 1)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/bitint-141.c gcc-15-20260807/gcc/testsuite/gcc.dg/bitint-141.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/bitint-141.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/bitint-141.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,19 ----
+ /* PR middle-end/126497 */
+ /* { dg-do compile { target bitint } } */
+ /* { dg-options "-std=c23" } */
+ 
+ typedef unsigned _BitInt (1) U;
+ 
+ U
+ foo (U a)
+ {
+   U t = a >= 1uwb;
+   return t;
+ }
+ 
+ U
+ bar (U a)
+ {
+   U t = a == 1uwb;
+   return t;
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/pr126464.c gcc-15-20260807/gcc/testsuite/gcc.dg/pr126464.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/pr126464.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/pr126464.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,61 ----
+ /* PR tree-optimization/126464 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ /* { dg-add-options ieee } */
+ /* { dg-skip-if "not IEEE float" { "pdp11-*-*" } } */
+ 
+ [[gnu::noipa]] double
+ foo (double x)
+ {
+   float y = (float) x;
+ 
+   if (y == -__builtin_inff ())
+     return x * 0.5;
+   return y;
+ }
+ 
+ [[gnu::noipa]] long double
+ bar (long double x)
+ {
+   double y = (double) x;
+ 
+   if (y == __builtin_inf ())
+     return x * 0.5L;
+   return y;
+ }
+ 
+ [[gnu::noipa]] double
+ baz (double x)
+ {
+   float y = (float) x;
+ 
+   if (y == __builtin_inff ())
+     return x * 0.5;
+   return y;
+ }
+ 
+ [[gnu::noipa]] long double
+ qux (long double x)
+ {
+   double y = (double) x;
+ 
+   if (y == -__builtin_inf ())
+     return x * 0.5L;
+   return y;
+ }
+ 
+ int
+ main ()
+ {
+   if (!__builtin_isinf ((double) 1e300)
+       && __builtin_isinf ((float) 1e300)
+       && (foo (-1e300) != -5e299
+ 	  || baz (1e300) != 5e299))
+     __builtin_abort ();
+ 
+   if (!__builtin_isinf ((long double) 1e4000L)
+       && __builtin_isinf ((double) 1e4000L)
+       && (bar (1e4000L) != 5e3999L
+ 	  || qux (-1e4000L) != -5e3999L))
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-103.c gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-103.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-103.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-103.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,22 ----
+ /* PR tree-optimization/126476 */
+ /* { dg-do run { target bitint } } */
+ 
+ [[gnu::noipa]] int
+ foo (unsigned _BitInt(4) n)
+ {
+   return ((1ULL << n) & (1ULL << 20)) != 0;
+ }
+ 
+ [[gnu::noipa]] int
+ bar (unsigned _BitInt(4) n)
+ {
+   return (((1ULL << 40) >> n) & (1ULL << 20)) != 0;
+ }
+ 
+ int
+ main ()
+ {
+   for (unsigned i = 0; i < 16; i++)
+     if (foo (i) != 0 || bar (i) != 0)
+         __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-104.c gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-104.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-104.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-104.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,78 ----
+ /* PR tree-optimization/126490 */
+ /* { dg-do run { target bitint } } */
+ 
+ typedef unsigned _BitInt(1) T;
+ 
+ [[gnu::noipa]] int
+ foo (T a, T b)
+ {
+   return ((a & b) == (a ^ b)) + 1;
+ }
+ 
+ [[gnu::noipa]] int
+ bar (T a, T b)
+ {
+   return ((a & b) == (a ^ b)) != 0;
+ }
+ 
+ [[gnu::noipa]] int
+ baz (T a, T b)
+ {
+   return ((a & b) == (a ^ b)) == 0;
+ }
+ 
+ [[gnu::noipa]] int
+ qux (T a, T b)
+ {
+   return ((a & b) == (a ^ b)) < 1;
+ }
+ 
+ [[gnu::noipa]] int
+ corge (int a, int b)
+ {
+   return (a & b) == (a ^ b);
+ }
+ 
+ [[gnu::noipa]] int
+ garply (T a, T b)
+ {
+   return ((a & b) ^ (a == b)) + 1;
+ }
+ 
+ [[gnu::noipa]] int
+ fred (T a, T b)
+ {
+   return ((a & b) ^ (a == b)) != 0;
+ }
+ 
+ [[gnu::noipa]] int
+ xyzzy (T a, T b)
+ {
+   return ((a & b) ^ (a == b)) == 0;
+ }
+ 
+ [[gnu::noipa]] int
+ waldo (T a, T b)
+ {
+   return ((a & b) ^ (a == b)) < 1;
+ }
+ 
+ int
+ main ()
+ {
+   for (int i = 0; i < 4; ++i)
+     {
+       int a = i & 1;
+       int b = i >> 1;
+       int c = corge (a, b);
+       if (foo (a, b) != c + 1
+           || bar (a, b) != (c != 0)
+           || baz (a, b) != (c == 0)
+           || qux (a, b) != (c < 1)
+ 	  || garply (a, b) != c + 1
+           || fred (a, b) != (c != 0)
+           || xyzzy (a, b) != (c == 0)
+           || waldo (a, b) != (c < 1))
+ 	__builtin_abort ();
+     }
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-105.c gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-105.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-105.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-105.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,24 ----
+ /* PR tree-optimization/126504 */
+ /* { dg-do run { target bitint } } */
+ 
+ typedef unsigned _BitInt(4) U;
+ 
+ [[gnu::noipa]] int
+ foo (U n)
+ {
+   return ((1 << n) & (1 << 20)) != 0;
+ }
+ 
+ [[gnu::noipa]] int
+ bar (U n)
+ {
+   return ((unsigned) (1 << n) & (1u << 20)) != 0;
+ }
+ 
+ int
+ main ()
+ {
+   for (unsigned i = 0; i < 16; i++)
+     if (foo (i) || bar (i))
+       __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-106.c gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-106.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/torture/bitint-106.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/torture/bitint-106.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,38 ----
+ /* PR tree-optimization/126503 */
+ /* { dg-do run { target bitint575 } } */
+ 
+ [[gnu::noipa]] unsigned _BitInt(400)
+ foo (_BitInt(257) a)
+ {
+   return (unsigned _BitInt(400)) (-a);
+ }
+ 
+ [[gnu::noipa]] unsigned _BitInt(300)
+ bar (_BitInt(7) a, unsigned _BitInt(17) b)
+ {
+   _BitInt(257) x = (_BitInt(257)) a + -1;
+   return ~((unsigned _BitInt(300)) x ^ (unsigned _BitInt(300)) b);
+ }
+ 
+ [[gnu::noipa]] _BitInt(129)
+ baz (_BitInt(129) x)
+ {
+   return x - 24;
+ }
+ 
+ [[gnu::noipa]] int
+ qux (_BitInt(129) x, _BitInt(129) y)
+ {
+   return x == y;
+ }
+ 
+ int
+ main ()
+ {
+   if (foo (-1wb) != 1uwb)
+     __builtin_abort ();
+   if (bar (1wb, 3uwb) != (unsigned _BitInt(300)) -4wb)
+     __builtin_abort ();
+   if (!qux (baz (100), 76))
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/torture/pr126464.c gcc-15-20260807/gcc/testsuite/gcc.dg/torture/pr126464.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/torture/pr126464.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/torture/pr126464.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,28 ----
+ /* PR tree-optimization/126464 */
+ /* { dg-do run } */
+ 
+ #if __DBL_MANT_DIG__ == 53 && __DBL_MAX_10_EXP__ == 308 \
+     && __DBL_HAS_INFINITY__ && __FLT_EVAL_METHOD__ == 0
+ [[gnu::noipa]] double
+ foo (double x, double y)
+ {
+   if (y >= -1e304 && y <= -1e300)
+     {
+       if (x + y == -__builtin_inf ())
+ 	return x * 0.5;
+     }
+   return x;
+ }
+ #endif
+ 
+ int
+ main ()
+ {
+ #if __DBL_MANT_DIG__ == 53 && __DBL_MAX_10_EXP__ == 308 \
+     && __DBL_HAS_INFINITY__ && __FLT_EVAL_METHOD__ == 0
+   if (foo (-__builtin_inf (), -1e303) != -__builtin_inf ())
+     __builtin_abort ();
+   if (foo (-1.797693134862e308, -1e303) != -1.797693134862e308 / 2.0)
+     __builtin_abort ();
+ #endif
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.dg/ubsan/bitint-5.c gcc-15-20260807/gcc/testsuite/gcc.dg/ubsan/bitint-5.c
*** gcc-15-20260731/gcc/testsuite/gcc.dg/ubsan/bitint-5.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.dg/ubsan/bitint-5.c	Fri Aug  7 22:32:12 2026
***************
*** 0 ****
--- 1,36 ----
+ /* PR middle-end/126447 */
+ /* { dg-do compile { target bitint575 } } */
+ /* { dg-options "-fsanitize=signed-integer-overflow" } */
+ 
+ void foo (int);
+ [[gnu::returns_twice]] void bar ();
+ 
+ _BitInt(575)
+ baz ()
+ {
+   _BitInt(575) w = 1;
+   bar ();
+   w *= 3;
+   foo (3);
+   return w;
+ }
+ 
+ _BitInt(575)
+ qux ()
+ {
+   _BitInt(575) w = 1;
+   bar ();
+   w += 3;
+   foo (3);
+   return w;
+ }
+ 
+ _BitInt(575)
+ fred (_BitInt(575) x)
+ {
+   _BitInt(575) w = 1;
+   bar ();
+   w -= x;
+   foo (3);
+   return w;
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.target/i386/avx2-pr126446.c gcc-15-20260807/gcc/testsuite/gcc.target/i386/avx2-pr126446.c
*** gcc-15-20260731/gcc/testsuite/gcc.target/i386/avx2-pr126446.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.target/i386/avx2-pr126446.c	Fri Aug  7 22:32:13 2026
***************
*** 0 ****
--- 1,14 ----
+ /* PR target/126446 */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -mavx2" } */
+ 
+ typedef signed char V __attribute__((vector_size (16)));
+ 
+ signed char
+ foo ()
+ {
+   V b = {};
+   long long c = ~2878966870562407444LL;
+   b[c] = 1;
+   return b[0];
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.target/i386/pr126581-1.c gcc-15-20260807/gcc/testsuite/gcc.target/i386/pr126581-1.c
*** gcc-15-20260731/gcc/testsuite/gcc.target/i386/pr126581-1.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.target/i386/pr126581-1.c	Fri Aug  7 22:32:14 2026
***************
*** 0 ****
--- 1,65 ----
+ /* PR target/126581  */
+ /* { dg-do compile { target { *-*-linux* && lp64 } } } */
+ /* { dg-options "-O2 -march=x86-64-v4 -mavx10.2 -Wno-deprecated-declarations" } */
+ /* { dg-final { scan-assembler-times "vcvttss2usis\[ \t]*%xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttss2usis\[ \t]*\{sae\}, %xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttss2sis\[ \t]*%xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttss2sis\[ \t]*\{sae\}, %xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttsd2usis\[ \t]*%xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttsd2usis\[ \t]*\{sae\}, %xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttsd2sis\[ \t]*%xmm0, %eax" 1 } } */
+ /* { dg-final { scan-assembler-times "vcvttsd2sis\[ \t]*\{sae\}, %xmm0, %eax" 1 } } */
+ 
+ #include <x86intrin.h>
+ 
+ unsigned long long
+ func1 (__m128 x)
+ {
+   return _mm_cvtts_ss_epu32 (x);
+ }
+ 
+ unsigned long long
+ func2 (__m128 x)
+ {
+   return _mm_cvtts_roundss_epu32
+     (x, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC);
+ }
+ 
+ unsigned long long
+ func3 (__m128 x)
+ {
+   return (unsigned int) _mm_cvtts_ss_epi32 (x);
+ }
+ 
+ unsigned long long
+ func4 (__m128 x)
+ {
+   return (unsigned int) _mm_cvtts_roundss_epi32
+     (x, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC);
+ }
+ 
+ unsigned long long
+ func5 (__m128d x)
+ {
+   return _mm_cvtts_sd_epu32 (x);
+ }
+ 
+ unsigned long long
+ func6 (__m128d x)
+ {
+   return _mm_cvtts_roundsd_epu32
+     (x, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC);
+ }
+ 
+ unsigned long long
+ func7 (__m128d x)
+ {
+   return (unsigned int) _mm_cvtts_sd_epi32 (x);
+ }
+ 
+ unsigned long long
+ func8 (__m128d x)
+ {
+   return (unsigned int) _mm_cvtts_roundsd_epi32
+     (x, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC);
+ }
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c gcc-15-20260807/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c
*** gcc-15-20260731/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-indirect.c	Fri Aug  7 22:32:14 2026
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -march=rv64gcv -mabi=lp64d" } */
+ 
+ #include <riscv_vector.h>
+ 
+ typedef int (*fn_t) (int);
+ 
+ int __attribute__ ((noinline))
+ victim (float *p, int n, fn_t fn)
+ {
+   register fn_t target asm ("t1") = fn;
+ 
+   size_t vl = __riscv_vsetvl_e32m4 (n);
+   volatile vfloat32m4_t v0 = __riscv_vle32_v_f32m4 (p, vl);
+   volatile vfloat32m4_t v1 = __riscv_vle32_v_f32m4 (p + vl, vl);
+   vfloat32m4_t x0 = v0;
+   vfloat32m4_t x1 = v1;
+ 
+   x0 = __riscv_vfadd_vv_f32m4 (x0, x1, vl);
+   __riscv_vse32_v_f32m4 (p, x0, vl);
+   asm volatile ("" : "+r" (target));
+ 
+   return target (n);
+ }
+ 
+ /* { dg-final { scan-assembler {csrr\t[^,]+,vlenb} } } */
+ /* { dg-final { scan-assembler {\tjr\t(t[2-6]|a[0-7])\n} } } */
+ /* { dg-final { scan-assembler-not {\tjr\tt[01]\n} } } */
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c gcc-15-20260807/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c
*** gcc-15-20260731/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gcc.target/riscv/rvv/base/sibcall-scalable-frame-weak.c	Fri Aug  7 22:32:14 2026
***************
*** 0 ****
--- 1,32 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fPIC -march=rv64gcv -mabi=lp64d" } */
+ 
+ #include <riscv_vector.h>
+ 
+ extern int wrap (int (*)(int), int) __attribute__ ((weak));
+ 
+ static int __attribute__ ((noinline))
+ kernel (int x)
+ {
+   return x + 1;
+ }
+ 
+ int __attribute__ ((noinline))
+ victim (float *p, int n)
+ {
+   size_t vl = __riscv_vsetvl_e32m4 (n);
+   volatile vfloat32m4_t v0 = __riscv_vle32_v_f32m4 (p, vl);
+   volatile vfloat32m4_t v1 = __riscv_vle32_v_f32m4 (p + vl, vl);
+   vfloat32m4_t x0 = v0;
+   vfloat32m4_t x1 = v1;
+ 
+   x0 = __riscv_vfadd_vv_f32m4 (x0, x1, vl);
+   __riscv_vse32_v_f32m4 (p, x0, vl);
+ 
+   return wrap (kernel, n);
+ }
+ 
+ /* { dg-final { scan-assembler "wrap" } } */
+ /* { dg-final { scan-assembler {csrr\t[^,]+,vlenb} } } */
+ /* { dg-final { scan-assembler {\tjr\t(t[2-6]|a[0-7])\n} } } */
+ /* { dg-final { scan-assembler-not {\tjr\tt[01]\n} } } */
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gfortran.dg/pr125866.f90 gcc-15-20260807/gcc/testsuite/gfortran.dg/pr125866.f90
*** gcc-15-20260731/gcc/testsuite/gfortran.dg/pr125866.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gfortran.dg/pr125866.f90	Fri Aug  7 22:32:15 2026
***************
*** 0 ****
--- 1,28 ----
+ ! { dg-do compile }
+ !  ICE: a module procedure with an allocatable, intent(out)
+ !  derived-type array dummy. Reduced from the original in the PR
+ 
+ module m
+   interface
+     module subroutine s (a)
+       integer, allocatable, intent(out) :: a
+     end subroutine
+   end interface
+ end module
+ 
+ submodule (m) sm1
+ contains
+   module subroutine s (a)
+     integer, allocatable, intent(out) :: a
+     allocate (a, source = 7)
+   end subroutine
+ end submodule
+ 
+ submodule (m:sm1) sm2
+ contains
+   subroutine caller
+     integer, allocatable :: b
+     call s (b)
+     if (b /= 7) stop 1
+   end subroutine
+ end submodule
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gfortran.dg/pr126303.f gcc-15-20260807/gcc/testsuite/gfortran.dg/pr126303.f
*** gcc-15-20260731/gcc/testsuite/gfortran.dg/pr126303.f	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gfortran.dg/pr126303.f	Fri Aug  7 22:32:15 2026
***************
*** 0 ****
--- 1,9 ----
+ ! PR fortran/126303
+ ! { dg-do compile }
+ ! { dg-options "-std=legacy" }
+       COMMON FOO(8)
+       DO 10 M=1,8
+         DO 10 T=0D0,1D0
+           FOO(M)=1
+    10 CONTINUE
+       END
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/unchecked_union5.adb gcc-15-20260807/gcc/testsuite/gnat.dg/unchecked_union5.adb
*** gcc-15-20260731/gcc/testsuite/gnat.dg/unchecked_union5.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gnat.dg/unchecked_union5.adb	Fri Aug  7 22:32:16 2026
***************
*** 0 ****
--- 1,23 ----
+ --  { dg-do compile }
+ --  { dg-options "-gnateV" }
+ 
+ procedure Unchecked_Union5 is
+ 
+    type R (Bytes_Mode : Boolean := False) is record
+       case Bytes_Mode is
+          when True =>
+             A : Boolean;
+          when False =>
+             B : Boolean;
+       end case;
+    end record with Unchecked_Union;
+ 
+    type T is record
+       Data : R;
+    end record;
+ 
+    function F (Message : T) return Integer is (0);
+ 
+ begin
+    null;
+ end;
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars2.adb gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars2.adb
*** gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars2.adb	Fri Jul 31 22:32:16 2026
--- gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars2.adb	Fri Aug  7 22:32:16 2026
***************
*** 1,5 ****
  --  { dg-do run }
! --  { dg-options "-O0 -gnata -gnateV" }
  
  with Ada.Exceptions; use Ada.Exceptions;
  
--- 1,5 ----
  --  { dg-do run }
! --  { dg-options "-gnata -gnateV" }
  
  with Ada.Exceptions; use Ada.Exceptions;
  
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars3.adb gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars3.adb
*** gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars3.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars3.adb	Fri Aug  7 22:32:16 2026
***************
*** 0 ****
--- 1,96 ----
+ --  { dg-do compile }
+ --  { dg-options "-gnata -gnateV" }
+ 
+ package body Valid_Scalars3 is
+    procedure Proc_Priv_CW_1 (Param : Tag_1'Class) is begin null; end;
+    procedure Proc_Priv_CW_2 (Param : Tag_2'Class) is begin null; end;
+    procedure Proc_Priv_CW_3 (Param : Tag_3'Class) is begin null; end;
+    procedure Proc_Priv_CW_4 (Param : Tag_4'Class) is begin null; end;
+    procedure Proc_Priv_CW_5 (Param : Tag_5'Class) is begin null; end;
+    procedure Proc_Priv_CW_6 (Param : Tag_6'Class) is begin null; end;
+ 
+    procedure Proc_Priv_Rec_1 (Param : Rec_1) is begin null; end;
+    procedure Proc_Priv_Rec_2 (Param : Rec_2) is begin null; end;
+    procedure Proc_Priv_Rec_3 (Param : Rec_3) is begin null; end;
+    procedure Proc_Priv_Rec_4 (Param : Rec_4) is begin null; end;
+ 
+    procedure Proc_Priv_Tag_1 (Param : Tag_1) is begin null; end;
+    procedure Proc_Priv_Tag_2 (Param : Tag_2) is begin null; end;
+    procedure Proc_Priv_Tag_3 (Param : Tag_3) is begin null; end;
+    procedure Proc_Priv_Tag_4 (Param : Tag_4) is begin null; end;
+    procedure Proc_Priv_Tag_5 (Param : Tag_5) is begin null; end;
+    procedure Proc_Priv_Tag_6 (Param : Tag_6) is begin null; end;
+ 
+    procedure Proc_Vis_CW_1 (Param : Tag_1'Class) is begin null; end;
+    procedure Proc_Vis_CW_2 (Param : Tag_2'Class) is begin null; end;
+    procedure Proc_Vis_CW_3 (Param : Tag_3'Class) is begin null; end;
+    procedure Proc_Vis_CW_4 (Param : Tag_4'Class) is begin null; end;
+    procedure Proc_Vis_CW_5 (Param : Tag_5'Class) is begin null; end;
+    procedure Proc_Vis_CW_6 (Param : Tag_6'Class) is begin null; end;
+ 
+    procedure Proc_Vis_Rec_1 (Param : Rec_1) is begin null; end;
+    procedure Proc_Vis_Rec_2 (Param : Rec_2) is begin null; end;
+    procedure Proc_Vis_Rec_3 (Param : Rec_3) is begin null; end;
+    procedure Proc_Vis_Rec_4 (Param : Rec_4) is begin null; end;
+ 
+    procedure Proc_Vis_Tag_1 (Param : Tag_1) is begin null; end;
+    procedure Proc_Vis_Tag_2 (Param : Tag_2) is begin null; end;
+    procedure Proc_Vis_Tag_3 (Param : Tag_3) is begin null; end;
+    procedure Proc_Vis_Tag_4 (Param : Tag_4) is begin null; end;
+    procedure Proc_Vis_Tag_5 (Param : Tag_5) is begin null; end;
+    procedure Proc_Vis_Tag_6 (Param : Tag_6) is begin null; end;
+ 
+    procedure Call_All is
+       pragma Warnings (Off);
+       Obj_Rec_1 : Rec_1;
+       Obj_Rec_2 : Rec_2;
+       Obj_Rec_3 : Rec_3 (3);
+       Obj_Rec_4 : Rec_4 (4);
+       Obj_Tag_1 : Tag_1;
+       Obj_Tag_2 : Tag_2;
+       Obj_Tag_3 : Tag_3 (3);
+       Obj_Tag_4 : Tag_4 (4);
+       Obj_Tag_5 : Tag_5;
+       Obj_Tag_6 : Tag_6 (6);
+       pragma Warnings (On);
+ 
+    begin
+       Proc_Priv_CW_1 (Obj_Tag_1);
+       Proc_Priv_CW_2 (Obj_Tag_2);
+       Proc_Priv_CW_3 (Obj_Tag_3);
+       Proc_Priv_CW_4 (Obj_Tag_4);
+       Proc_Priv_CW_5 (Obj_Tag_5);
+       Proc_Priv_CW_6 (Obj_Tag_6);
+ 
+       Proc_Priv_Rec_1 (Obj_Rec_1);
+       Proc_Priv_Rec_2 (Obj_Rec_2);
+       Proc_Priv_Rec_3 (Obj_Rec_3);
+       Proc_Priv_Rec_4 (Obj_Rec_4);
+ 
+       Proc_Priv_Tag_1 (Obj_Tag_1);
+       Proc_Priv_Tag_2 (Obj_Tag_2);
+       Proc_Priv_Tag_3 (Obj_Tag_3);
+       Proc_Priv_Tag_4 (Obj_Tag_4);
+       Proc_Priv_Tag_5 (Obj_Tag_5);
+       Proc_Priv_Tag_6 (Obj_Tag_6);
+ 
+       Proc_Vis_CW_1 (Obj_Tag_1);
+       Proc_Vis_CW_2 (Obj_Tag_2);
+       Proc_Vis_CW_3 (Obj_Tag_3);
+       Proc_Vis_CW_4 (Obj_Tag_4);
+       Proc_Vis_CW_5 (Obj_Tag_5);
+       Proc_Vis_CW_6 (Obj_Tag_6);
+ 
+       Proc_Vis_Rec_1 (Obj_Rec_1);
+       Proc_Vis_Rec_2 (Obj_Rec_2);
+       Proc_Vis_Rec_3 (Obj_Rec_3);
+       Proc_Vis_Rec_4 (Obj_Rec_4);
+ 
+       Proc_Vis_Tag_1 (Obj_Tag_1);
+       Proc_Vis_Tag_2 (Obj_Tag_2);
+       Proc_Vis_Tag_3 (Obj_Tag_3);
+       Proc_Vis_Tag_4 (Obj_Tag_4);
+       Proc_Vis_Tag_5 (Obj_Tag_5);
+       Proc_Vis_Tag_6 (Obj_Tag_6);
+    end Call_All;
+ end Valid_Scalars3;
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars3.ads gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars3.ads
*** gcc-15-20260731/gcc/testsuite/gnat.dg/valid_scalars3.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260807/gcc/testsuite/gnat.dg/valid_scalars3.ads	Fri Aug  7 22:32:16 2026
***************
*** 0 ****
--- 1,116 ----
+ package Valid_Scalars3 is
+    procedure Call_All;
+ 
+    type Rec_1 is private;
+    procedure Proc_Vis_Rec_1 (Param : Rec_1);
+ 
+    type Rec_2 (<>) is private;
+    procedure Proc_Vis_Rec_2 (Param : Rec_2);
+ 
+    type Rec_3 (<>) is private;
+    procedure Proc_Vis_Rec_3 (Param : Rec_3);
+ 
+    type Rec_4 (Discr : Integer) is private;
+    procedure Proc_Vis_Rec_4 (Param : Rec_4);
+ 
+    type Tag_1 is tagged private;
+    procedure Proc_Vis_Tag_1 (Param : Tag_1);
+    procedure Proc_Vis_CW_1  (Param : Tag_1'Class);
+ 
+    type Tag_2 (<>) is tagged private;
+    procedure Proc_Vis_Tag_2 (Param : Tag_2);
+    procedure Proc_Vis_CW_2  (Param : Tag_2'Class);
+ 
+    type Tag_3 (<>) is tagged private;
+    procedure Proc_Vis_Tag_3 (Param : Tag_3);
+    procedure Proc_Vis_CW_3  (Param : Tag_3'Class);
+ 
+    type Tag_4 (Discr : Integer) is tagged private;
+    procedure Proc_Vis_Tag_4 (Param : Tag_4);
+    procedure Proc_Vis_CW_4  (Param : Tag_4'Class);
+ 
+    type Tag_5 is new Tag_1 with private;
+    procedure Proc_Vis_Tag_5 (Param : Tag_5);
+    procedure Proc_Vis_CW_5  (Param : Tag_5'Class);
+ 
+    type Tag_6 is new Tag_4 with private;
+    procedure Proc_Vis_Tag_6 (Param : Tag_6);
+    procedure Proc_Vis_CW_6  (Param : Tag_6'Class);
+ 
+ private
+    type Rec_1 is record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Rec_1 (Param : Rec_1);
+ 
+    type Rec_2 is record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Rec_2 (Param : Rec_2);
+ 
+    type Rec_3 (Discr : Integer) is record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Rec_3 (Param : Rec_3);
+ 
+    type Rec_4 (Discr : Integer) is record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Rec_4 (Param : Rec_4);
+ 
+    type Tag_1 is tagged record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_1 (Param : Tag_1);
+    procedure Proc_Priv_CW_1  (Param : Tag_1'Class);
+ 
+    type Tag_2 is tagged record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_2 (Param : Tag_2);
+    procedure Proc_Priv_CW_2  (Param : Tag_2'Class);
+ 
+    type Tag_3 (Discr : Integer) is tagged record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_3 (Param : Tag_3);
+    procedure Proc_Priv_CW_3  (Param : Tag_3'Class);
+ 
+    type Tag_4 (Discr : Integer) is tagged record
+       Comp_1 : Integer;
+       Comp_2 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_4 (Param : Tag_4);
+    procedure Proc_Priv_CW_4  (Param : Tag_4'Class);
+ 
+    type Tag_5 is new Tag_1 with record
+       Comp_3 : Integer;
+       Comp_4 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_5 (Param : Tag_5);
+    procedure Proc_Priv_CW_5  (Param : Tag_5'Class);
+ 
+    type Tag_6 is new Tag_4 with record
+       Comp_3 : Integer;
+       Comp_4 : Boolean;
+    end record;
+ 
+    procedure Proc_Priv_Tag_6 (Param : Tag_6);
+    procedure Proc_Priv_CW_6  (Param : Tag_6'Class);
+ end Valid_Scalars3;
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/validity_check3.adb gcc-15-20260807/gcc/testsuite/gnat.dg/validity_check3.adb
*** gcc-15-20260731/gcc/testsuite/gnat.dg/validity_check3.adb	Fri Jul 31 22:32:16 2026
--- gcc-15-20260807/gcc/testsuite/gnat.dg/validity_check3.adb	Fri Aug  7 22:32:16 2026
***************
*** 1,96 ****
  --  { dg-do compile }
! --  { dg-options "-gnata -gnateV" }
! 
! package body Validity_Check3 is
!    procedure Proc_Priv_CW_1 (Param : Tag_1'Class) is begin null; end;
!    procedure Proc_Priv_CW_2 (Param : Tag_2'Class) is begin null; end;
!    procedure Proc_Priv_CW_3 (Param : Tag_3'Class) is begin null; end;
!    procedure Proc_Priv_CW_4 (Param : Tag_4'Class) is begin null; end;
!    procedure Proc_Priv_CW_5 (Param : Tag_5'Class) is begin null; end;
!    procedure Proc_Priv_CW_6 (Param : Tag_6'Class) is begin null; end;
! 
!    procedure Proc_Priv_Rec_1 (Param : Rec_1) is begin null; end;
!    procedure Proc_Priv_Rec_2 (Param : Rec_2) is begin null; end;
!    procedure Proc_Priv_Rec_3 (Param : Rec_3) is begin null; end;
!    procedure Proc_Priv_Rec_4 (Param : Rec_4) is begin null; end;
! 
!    procedure Proc_Priv_Tag_1 (Param : Tag_1) is begin null; end;
!    procedure Proc_Priv_Tag_2 (Param : Tag_2) is begin null; end;
!    procedure Proc_Priv_Tag_3 (Param : Tag_3) is begin null; end;
!    procedure Proc_Priv_Tag_4 (Param : Tag_4) is begin null; end;
!    procedure Proc_Priv_Tag_5 (Param : Tag_5) is begin null; end;
!    procedure Proc_Priv_Tag_6 (Param : Tag_6) is begin null; end;
! 
!    procedure Proc_Vis_CW_1 (Param : Tag_1'Class) is begin null; end;
!    procedure Proc_Vis_CW_2 (Param : Tag_2'Class) is begin null; end;
!    procedure Proc_Vis_CW_3 (Param : Tag_3'Class) is begin null; end;
!    procedure Proc_Vis_CW_4 (Param : Tag_4'Class) is begin null; end;
!    procedure Proc_Vis_CW_5 (Param : Tag_5'Class) is begin null; end;
!    procedure Proc_Vis_CW_6 (Param : Tag_6'Class) is begin null; end;
! 
!    procedure Proc_Vis_Rec_1 (Param : Rec_1) is begin null; end;
!    procedure Proc_Vis_Rec_2 (Param : Rec_2) is begin null; end;
!    procedure Proc_Vis_Rec_3 (Param : Rec_3) is begin null; end;
!    procedure Proc_Vis_Rec_4 (Param : Rec_4) is begin null; end;
  
!    procedure Proc_Vis_Tag_1 (Param : Tag_1) is begin null; end;
!    procedure Proc_Vis_Tag_2 (Param : Tag_2) is begin null; end;
!    procedure Proc_Vis_Tag_3 (Param : Tag_3) is begin null; end;
!    procedure Proc_Vis_Tag_4 (Param : Tag_4) is begin null; end;
!    procedure Proc_Vis_Tag_5 (Param : Tag_5) is begin null; end;
!    procedure Proc_Vis_Tag_6 (Param : Tag_6) is begin null; end;
  
!    procedure Call_All is
!       pragma Warnings (Off);
!       Obj_Rec_1 : Rec_1;
!       Obj_Rec_2 : Rec_2;
!       Obj_Rec_3 : Rec_3 (3);
!       Obj_Rec_4 : Rec_4 (4);
!       Obj_Tag_1 : Tag_1;
!       Obj_Tag_2 : Tag_2;
!       Obj_Tag_3 : Tag_3 (3);
!       Obj_Tag_4 : Tag_4 (4);
!       Obj_Tag_5 : Tag_5;
!       Obj_Tag_6 : Tag_6 (6);
!       pragma Warnings (On);
  
     begin
!       Proc_Priv_CW_1 (Obj_Tag_1);
!       Proc_Priv_CW_2 (Obj_Tag_2);
!       Proc_Priv_CW_3 (Obj_Tag_3);
!       Proc_Priv_CW_4 (Obj_Tag_4);
!       Proc_Priv_CW_5 (Obj_Tag_5);
!       Proc_Priv_CW_6 (Obj_Tag_6);
! 
!       Proc_Priv_Rec_1 (Obj_Rec_1);
!       Proc_Priv_Rec_2 (Obj_Rec_2);
!       Proc_Priv_Rec_3 (Obj_Rec_3);
!       Proc_Priv_Rec_4 (Obj_Rec_4);
! 
!       Proc_Priv_Tag_1 (Obj_Tag_1);
!       Proc_Priv_Tag_2 (Obj_Tag_2);
!       Proc_Priv_Tag_3 (Obj_Tag_3);
!       Proc_Priv_Tag_4 (Obj_Tag_4);
!       Proc_Priv_Tag_5 (Obj_Tag_5);
!       Proc_Priv_Tag_6 (Obj_Tag_6);
! 
!       Proc_Vis_CW_1 (Obj_Tag_1);
!       Proc_Vis_CW_2 (Obj_Tag_2);
!       Proc_Vis_CW_3 (Obj_Tag_3);
!       Proc_Vis_CW_4 (Obj_Tag_4);
!       Proc_Vis_CW_5 (Obj_Tag_5);
!       Proc_Vis_CW_6 (Obj_Tag_6);
  
!       Proc_Vis_Rec_1 (Obj_Rec_1);
!       Proc_Vis_Rec_2 (Obj_Rec_2);
!       Proc_Vis_Rec_3 (Obj_Rec_3);
!       Proc_Vis_Rec_4 (Obj_Rec_4);
  
!       Proc_Vis_Tag_1 (Obj_Tag_1);
!       Proc_Vis_Tag_2 (Obj_Tag_2);
!       Proc_Vis_Tag_3 (Obj_Tag_3);
!       Proc_Vis_Tag_4 (Obj_Tag_4);
!       Proc_Vis_Tag_5 (Obj_Tag_5);
!       Proc_Vis_Tag_6 (Obj_Tag_6);
!    end Call_All;
! end Validity_Check3;
--- 1,23 ----
  --  { dg-do compile }
! --  { dg-options "-gnatVa" }
  
! procedure Validity_Check3 is
  
!    type Selection is (First, Second);
  
+    function Next_Value (Text     : String;
+                         Position : in out Positive) return String is
     begin
!       Position := Position + 1;
!       return Text;
!    end Next_Value;
  
!    Position : Positive := 1;
!    Value    : constant Selection :=
!      Selection'Value (Next_Value ("First", Position));
  
! begin
!    if Value /= First then
!       raise Program_Error;
!    end if;
! end;
diff -Nrcpad gcc-15-20260731/gcc/testsuite/gnat.dg/validity_check3.ads gcc-15-20260807/gcc/testsuite/gnat.dg/validity_check3.ads
*** gcc-15-20260731/gcc/testsuite/gnat.dg/validity_check3.ads	Fri Jul 31 22:32:16 2026
--- gcc-15-20260807/gcc/testsuite/gnat.dg/validity_check3.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,116 ****
- package Validity_Check3 is
-    procedure Call_All;
- 
-    type Rec_1 is private;
-    procedure Proc_Vis_Rec_1 (Param : Rec_1);
- 
-    type Rec_2 (<>) is private;
-    procedure Proc_Vis_Rec_2 (Param : Rec_2);
- 
-    type Rec_3 (<>) is private;
-    procedure Proc_Vis_Rec_3 (Param : Rec_3);
- 
-    type Rec_4 (Discr : Integer) is private;
-    procedure Proc_Vis_Rec_4 (Param : Rec_4);
- 
-    type Tag_1 is tagged private;
-    procedure Proc_Vis_Tag_1 (Param : Tag_1);
-    procedure Proc_Vis_CW_1  (Param : Tag_1'Class);
- 
-    type Tag_2 (<>) is tagged private;
-    procedure Proc_Vis_Tag_2 (Param : Tag_2);
-    procedure Proc_Vis_CW_2  (Param : Tag_2'Class);
- 
-    type Tag_3 (<>) is tagged private;
-    procedure Proc_Vis_Tag_3 (Param : Tag_3);
-    procedure Proc_Vis_CW_3  (Param : Tag_3'Class);
- 
-    type Tag_4 (Discr : Integer) is tagged private;
-    procedure Proc_Vis_Tag_4 (Param : Tag_4);
-    procedure Proc_Vis_CW_4  (Param : Tag_4'Class);
- 
-    type Tag_5 is new Tag_1 with private;
-    procedure Proc_Vis_Tag_5 (Param : Tag_5);
-    procedure Proc_Vis_CW_5  (Param : Tag_5'Class);
- 
-    type Tag_6 is new Tag_4 with private;
-    procedure Proc_Vis_Tag_6 (Param : Tag_6);
-    procedure Proc_Vis_CW_6  (Param : Tag_6'Class);
- 
- private
-    type Rec_1 is record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Rec_1 (Param : Rec_1);
- 
-    type Rec_2 is record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Rec_2 (Param : Rec_2);
- 
-    type Rec_3 (Discr : Integer) is record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Rec_3 (Param : Rec_3);
- 
-    type Rec_4 (Discr : Integer) is record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Rec_4 (Param : Rec_4);
- 
-    type Tag_1 is tagged record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_1 (Param : Tag_1);
-    procedure Proc_Priv_CW_1  (Param : Tag_1'Class);
- 
-    type Tag_2 is tagged record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_2 (Param : Tag_2);
-    procedure Proc_Priv_CW_2  (Param : Tag_2'Class);
- 
-    type Tag_3 (Discr : Integer) is tagged record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_3 (Param : Tag_3);
-    procedure Proc_Priv_CW_3  (Param : Tag_3'Class);
- 
-    type Tag_4 (Discr : Integer) is tagged record
-       Comp_1 : Integer;
-       Comp_2 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_4 (Param : Tag_4);
-    procedure Proc_Priv_CW_4  (Param : Tag_4'Class);
- 
-    type Tag_5 is new Tag_1 with record
-       Comp_3 : Integer;
-       Comp_4 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_5 (Param : Tag_5);
-    procedure Proc_Priv_CW_5  (Param : Tag_5'Class);
- 
-    type Tag_6 is new Tag_4 with record
-       Comp_3 : Integer;
-       Comp_4 : Boolean;
-    end record;
- 
-    procedure Proc_Priv_Tag_6 (Param : Tag_6);
-    procedure Proc_Priv_CW_6  (Param : Tag_6'Class);
- end Validity_Check3;
--- 0 ----
diff -Nrcpad gcc-15-20260731/libsanitizer/ChangeLog gcc-15-20260807/libsanitizer/ChangeLog
*** gcc-15-20260731/libsanitizer/ChangeLog	Fri Jul 31 22:32:18 2026
--- gcc-15-20260807/libsanitizer/ChangeLog	Fri Aug  7 22:32:18 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR sanitizer/126307
+ 	* tsan/tsan_trace.h: Cherry-pick llvm-project revision
+ 	cdfdb06c9155080ec97d6e4f4dd90b6e7cefb0ca.
+ 
  2026-06-12  Release Manager
  
  	* GCC 15.3.0 released.
diff -Nrcpad gcc-15-20260731/libsanitizer/tsan/tsan_trace.h gcc-15-20260807/libsanitizer/tsan/tsan_trace.h
*** gcc-15-20260731/libsanitizer/tsan/tsan_trace.h	Fri Jul 31 22:32:19 2026
--- gcc-15-20260807/libsanitizer/tsan/tsan_trace.h	Fri Aug  7 22:32:18 2026
*************** struct Trace {
*** 190,196 ****
    Mutex mtx;
    IList<TraceHeader, &TraceHeader::trace_parts, TracePart> parts;
    // First node non-queued into ctx->trace_part_recycle.
!   TracePart* local_head;
    // Final position in the last part for finished threads.
    Event* final_pos = nullptr;
    // Number of trace parts allocated on behalf of this trace specifically.
--- 190,196 ----
    Mutex mtx;
    IList<TraceHeader, &TraceHeader::trace_parts, TracePart> parts;
    // First node non-queued into ctx->trace_part_recycle.
!   TracePart* local_head = nullptr;
    // Final position in the last part for finished threads.
    Event* final_pos = nullptr;
    // Number of trace parts allocated on behalf of this trace specifically.
diff -Nrcpad gcc-15-20260731/libstdc++-v3/ChangeLog gcc-15-20260807/libstdc++-v3/ChangeLog
*** gcc-15-20260731/libstdc++-v3/ChangeLog	Fri Jul 31 22:32:19 2026
--- gcc-15-20260807/libstdc++-v3/ChangeLog	Fri Aug  7 22:32:18 2026
***************
*** 1,3 ****
--- 1,52 ----
+ 2026-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* include/bits/deque.tcc (std::__uninitialized_copy_a): Remove unused
+ 	variable __sres.
+ 
+ 2026-07-31  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-07-20  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/116110
+ 	* src/c++20/tzdb.cc (time_zone::_M_get_sys_info): Correct
+ 	condition for stopping zone expansion before STD zone.
+ 	* testsuite/std/time/time_zone/116110.cc (test_dawson):
+ 	Add test for America/Dawson August 1945 transition.
+ 
+ 2026-07-31  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-05-18  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/124852
+ 	* src/c++20/tzdb.cc (on_month_day::on_day_t, on_month_day::on_day):
+ 	Remove.
+ 	(operator>>(istream&, on_month_day::day_t&)): Inlined into...
+ 	(operator>>(istream&, on_month_day)): Inlined on_month_day::on_day.
+ 	Avoid modifying on.month if MONTH is not present. Report failure
+ 	on failure to parse day for LessEq / GreaterEq.
+ 
+ 2026-07-31  Álvaro Begué  <alvaro.begue@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-05-13  Álvaro Begué  <alvaro.begue@gmail.com>
+ 		    Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/124852
+ 	* src/c++20/tzdb.cc (on_day): Rename to...
+ 	(on_day_month): Rename from on_day.
+ 	(on_day_month::on_day_t, on_day_month::on_day): Define.
+ 	(operator>>(istream&, on_day_t&&)): Factored out of
+ 	operator>>(istream&, on_day&).
+ 	(operator>>(istream&, on_day&)): Use on_day_t parser.
+ 	(operator>>(istream&, ZoneInfo&)): Replace the integer DAY
+ 	parser with on_day_t for the UNTIL field.
+ 	* testsuite/std/time/time_zone/until_day_on.cc: New test.
+ 
  2026-07-29  Álvaro Begué  <alvaro.begue@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260731/libstdc++-v3/include/bits/deque.tcc gcc-15-20260807/libstdc++-v3/include/bits/deque.tcc
*** gcc-15-20260731/libstdc++-v3/include/bits/deque.tcc	Fri Jul 31 22:32:19 2026
--- gcc-15-20260807/libstdc++-v3/include/bits/deque.tcc	Fri Aug  7 22:32:18 2026
*************** _GLIBCXX_END_NAMESPACE_CONTAINER
*** 1567,1573 ****
  	      __n = __last._M_cur - __from;
  	    else
  	      __n = __first._M_last - __from;
- 	    _OTp* __sres = __result._M_cur;
  	    __n = std::min<ptrdiff_t>(__n, __result._M_last - __result._M_cur);
  	    std::uninitialized_copy(__from, __from + __n, __result._M_cur);
  	    __first += __n;
--- 1567,1572 ----
